@charset "UTF-8";
/*reset*/
*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert}*,*::before,*::after{box-sizing:border-box}a,button{cursor:revert}ol,ul,menu{list-style:none}img{display: block;}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}:where(pre){all:revert}::placeholder{color:unset}::marker{content:initial}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable="true"]){-webkit-user-drag:element}:where(dialog:modal){all:revert}
/*reset end*/
:root {
  --request-01: linear-gradient(-20deg,#79705b,#79705b);--reserve-01: linear-gradient(-20deg,#79705b,#79705b);
  --color-01: #231815;--color-02: #242424;--color-03: #00693e;--color-04: #00693e;--color-05: #01a05e;--color-06: #008f54;
  --fontsize-01: 87.5%;
}
body,html {font-family: "EB Garamond", "Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho","YuMincho","MS Mincho",serif;overflow-x: hidden;}
body {font-size: 100%;font-weight: 300;line-height: 1.5;overflow-x: hidden;position: relative;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;font-feature-settings: "palt";}
img {width: 100%;height: auto;display: block;}
body,a {color: var(--color-01);}
a {display: block; text-decoration: none; }
span {font-family: inherit;}
ul {list-style: none; }
h1,h2,h3,h4,div,p,ul,li,a,span,p,th,td {font-weight: normal;box-sizing: border-box;}
input:focus {outline: none;}
iframe {border: none;}
select {outline: none;}
figure {position: relative;}
.btn {transition: 0.4s; }
.pc {display: block !important;}
.sp {display: none !important;}
.gothic {font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;}
.mincho {font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";}
.garamond {font-family: "EB Garamond", serif;}
.play {font-family: 'Play', sans-serif;}
.cinzel {font-family: 'Cinzel', serif;}
.oswald {font-family: 'Oswald', sans-serif;}
.barlow {color: var(--color-04) !important;font-family: "Barlow", sans-serif;font-weight: 600 !important;}
.object-fit {object-fit: cover;font-family: 'object-fit: cover;'}
/*.observe {opacity: 0;}
.observe.staging {opacity: 1;transition-delay: 0.2s;transition-duration: 0.7s;}*/
.texteffect01 {overflow: hidden;}
.texteffect01 > span {display: block;-webkit-transition: 0.8s cubic-bezier(0.65, 0.05, 0.36, 1);transition: 0.8s cubic-bezier(0.65, 0.05, 0.36, 1); -webkit-transform: translate3d(0, 100%, 0) skewY(7deg);transform: translate3d(0, 100%, 0) skewY(7deg);opacity: 0;}
.texteffect01.staging > span {-webkit-transform: translate3d(0, 0, 0) skewY(0);transform: translate3d(0, 0, 0) skewY(0);opacity: 1;}
.imgeffect01 {position: relative;z-index: 100;}
.imgeffect01 > div {opacity: 0;}
.imgeffect01::after {display: block;content: '';width: 0;height: 100%;position: absolute;top: 0;bottom: 0;z-index: -1;pointer-events: none;}
.imgeffect01.staging > div {opacity: 1;transition: 0.4s linear 0.4s;}
.imgeffect01.staging::after {width: 100%;transition: 1.0s;}
.imgeffect02 {opacity: 0;}
.imgeffect02.staging {opacity: 1;transition: 0.4s linear 0.4s;}
.caption01 {font-size: 10px;line-height: 1.15;text-align: center;padding: 0.3em 0.5em;background: rgba(0,0,0,0.5);position: absolute;left: 0;bottom: 0;z-index: 1000;}
.caption01-Right {text-align: right;left: auto;right: 0;}
.caption01.fix01 {color: #333;background: rgba(255,255,255,0.75);}
.caption01.fix02 {text-align: right;background: transparent;opacity: 0.9;}
.caption01.fix03 {color: #333;background: transparent;}
.caption01.fix04 {color: #333;padding: 0;background: transparent;top: calc(100% + 1em);bottom: auto;}
.caption01.fix05 {color: #fff;font-size: 87.5%;padding: 0;background: transparent;opacity: 1;}
.caption01.fix06 {color: #fff;}
.caption01.fix07 {color: #fff;opacity: 0.7;background: transparent;}
.mw1700 {width: 90%; max-width: 1700px; margin: auto;}
.mw1600 {width: 90%; max-width: 1600px; margin: auto;}
.mw1550 {width: 90%; max-width: 1550px; margin: auto;}
.mw1500 {width: 90%; max-width: 1500px; margin: auto;}
.mw1400 {width: 90%; max-width: 1400px; margin: auto;}
.mw1300 {width: 90%; max-width: 1300px; margin: auto;}
.mw1200 {width: 90%; max-width: 1200px; margin: auto;}
.mw1100 {width: 90%; max-width: 1100px; margin: auto;}
.mw1000 {width: 90%; max-width: 1000px; margin: auto;}
.mw900 {width: 90%; max-width:  900px; margin: auto;}
.mw800 {width: 90%; max-width:  800px; margin: auto;}
.mw700 {width: 90%; max-width:  700px; margin: auto;}
.mw600 {width: 90%; max-width:  600px; margin: auto;}
.mw500 {width: 90%; max-width:  500px; margin: auto;}
.loader-wrap {position: fixed;display: flex;align-items: center;justify-content: center;width: 100%;height: 100%;background: #fff;z-index: 10001;}
.loader,.loader:after {border-radius: 50%;width: 10em;height: 10em;}
.loader {margin: 60px auto;font-size: 10px;position: relative;text-indent: -9999em;border-top: 1.1em solid rgba(224,224,224, 0.2);border-right: 1.1em solid rgba(224,224,224, 0.2);border-bottom: 1.1em solid rgba(224,224,224, 0.2);border-left: 1.1em solid #e0e0e0;-webkit-transform: translateZ(0);-ms-transform: translateZ(0);transform: translateZ(0);-webkit-animation: load8 1.1s infinite linear;animation: load8 1.1s infinite linear;}
@-webkit-keyframes load8 {0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}
@keyframes load8 {0% {-webkit-transform: rotate(0deg);transform: rotate(0deg);}100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}
.invert {filter: brightness(0) invert(1);}
.anchor {margin-top: -5em;padding-top: 5em;}
/* ------------------------------------------------------------------- */
body {overflow-x: hidden;}
#topBtn{display: block;width: 3.5em;height: 3.5em;border-radius: 50%;background: #a49d97;position: fixed;right: 1.5em;bottom: 1.5em;z-index: 1000;opacity: 0;transition: 0.4s;cursor: pointer;}
#topBtn::after {display: block;content: '';width: 1em;height: 1em;border-right: 1px solid #fff;border-bottom: 1px solid #fff;position: absolute;top: 50%;left: 50%;pointer-events: none;transform: translate(-50%,-25%)rotate(-135deg);}
body.scrolled #topBtn {opacity: 1;}
#globalHeader {display: flex;flex-wrap: wrap;justify-content: space-between;background: #fff;padding: 25px 30px 15px;position: fixed;top: 0;left: 0;right: 0;z-index: 9999;}
#globalHeader > a {width: auto;height: 40px;}
#globalHeader > a figure {width: auto;height: 100%;}
#globalHeader > a figure img {width: auto;height: 100%;}
#globalMenu-01 {position: absolute;top: 0;right: 90px;bottom: 0;}
#globalMenu-01 div {display: flex;flex-wrap: wrap;height: 100%;}
#globalMenu-01 div a {color: #fff;text-align: center;width: 130px;position: relative;}
#globalMenu-01 div a.request {background: var(--request-01);}
#globalMenu-01 div a.reserve {background: var(--reserve-01);border-left: 1px solid #fff;}
#globalMenu-01 div a span {position: absolute;top: 50%;left: 0;right: 0;z-index: 1;transform: translateY(-50%);}
#menuBtn {width: 90px;height: 100%;box-sizing: border-box;position: absolute;top: 0;right: 0;z-index: 10000;cursor: pointer;}
#menuBtn span:nth-child(1) {display: block;width: 30px;height: 2px;background: #79705b;position: absolute;top: 35px;left: 30px;z-index: 1;}
#menuBtn span:nth-child(1)::before,
#menuBtn span:nth-child(1)::after {display: block;content: '';width: 100%;height: 2px;background: #79705b;position: absolute;z-index: 1;transition: 0.4s;}
#menuBtn span:nth-child(1)::before {top: -9px;}
#menuBtn span:nth-child(1)::after {top: 9px;}
#menuBtn span.txt {color: var(--blue-01);font-size: 11px;font-weight: 600;font-family: "Barlow", sans-serif;letter-spacing: 0.03em;line-height: 1;text-align: center;width: 100%;position: absolute;top: 52px;left: 50%;right: 0;z-index: 1;transform: translateX(-50%);}
#globalMenu-02 {width: 100%;max-width: 550px;background: rgba(163,157,152,1);position: fixed;top: 0;right: 0;bottom: 0;z-index: 1;opacity: 0;pointer-events: none;transition: 0.8s;transform: translateX(100%);}
#globalMenu-02::after {display: block;content: '';width: 100vh;height: 10%;background: url("../img/common/logo02_pc.svg") no-repeat left bottom/contain;position: absolute;top: 0;left: 16.7%;z-index: -1;opacity: 0.3;transform: rotate(90deg);transform-origin: top left;}
#globalMenu-02 .container > a {width: 70%;max-width: 500px;margin: 0 auto 5em;}
#globalMenu-02 .container {width: 90%;position: absolute;top: 50%;left: 50%;z-index: 1;transform: translate(-50%,-50%);}
#globalMenu-02 .container ul li a {color: #fff;font-family: "Barlow", sans-serif;text-align: center;line-height: 1;padding: 1em 0;position: relative;}
#globalMenu-02 .container ul li a span {transition: 0.4s;}
#globalMenu-02 .container ul.nav03 {max-width: 170px;margin: 3em auto 0;}
#globalMenu-02 .container ul.nav03 li {text-align: center;}
#globalMenu-02 .container ul.nav03 li + li {margin-top: 1em;}
#globalMenu-02 .container ul.nav03 li a {color: #fff;height: 35px;transition: 0.4s;position: relative;}
#globalMenu-02 .container ul.nav03 li:nth-child(1) a {background: var(--request-01);}
#globalMenu-02 .container ul.nav03 li:nth-child(2) a {background: var(--reserve-01);}
#globalMenu-02 .container ul.nav03 li a span {display: block;position: absolute;top: 50%;left: 0;right: 0;transform: translateY(-50%);}
#globalMenu-02 .container > img {max-width: 197px;margin: 4em auto 0;filter: brightness(0) invert(1);}
#globalHeader.open #menuBtn span:nth-child(1) {background: transparent;}
#globalHeader.open #menuBtn span:nth-child(1)::before {top: 10px;}
#globalHeader.open #menuBtn span:nth-child(1)::after {top: 10px;}
#globalHeader.open #menuBtn span:nth-child(1)::before {transform: rotate(30deg);}
#globalHeader.open #menuBtn span:nth-child(1)::after {transform: rotate(-30deg);}
#globalHeader.open #menuBtn span:nth-child(1)::before,
#globalHeader.open #menuBtn span:nth-child(1)::after {background: #fff;}
#globalHeader.open #menuBtn span.txt {opacity: 0;}
#globalHeader.open #globalMenu-02 {opacity: 1;pointer-events: auto;transform: translateX(0);}
#billboard {position: relative;}
#contentsWrap {}
.billboard-style-01 {padding: 6em 0;background: #eee;}
.billboard-style-01 h2 {color: var(--color-02);font-size: 300%;text-align: center;letter-spacing: 0.05em;}
.billboard-style-01 h2 span {}
.billboard-style-02 {text-align: center;padding: 3em 0;background: #000;}
.billboard-style-02 h2 {color: var(--color-05);font-size: 87.5%;font-weight: 600;}
.billboard-style-02 h2::before {display: block;content: attr(data-title);color: #fff;font-size: 200%;letter-spacing: 0.1em;}
.ttl-style-01 {font-size: 137.5%;}
.ttl-style-01 span::before {display: inline-block;content: '';width: 1.75em;height: 1px;margin-right: 0.5em;background: var(--color-02);vertical-align: super;}
.ttl-style-02 {font-weight: 600;line-height: 1.5;padding-left: 0.75em;margin-bottom: 0.5em;border-left: 4px solid var(--color-01);}
.block-note {padding: 3em 0;}
.block-note ul {}
.block-note ul li {font-size: 10px;text-indent: -1em;padding-left: 1em;}
.block-note ul li + li {margin-top: 0.5em;}
footer {}
footer .inner01 {}
footer .inner01 iframe {display: block;}
footer .slider {background: #fff;}
footer .banner {padding: 4em 5vw;background: #ebebeb;}
footer .banner a {max-width: 344px;margin: 0 auto;}
footer .contact {text-align: center;padding: 6em 0;position: relative;}
footer .contact::after {display: block;content: '';width: 94.8%;height: 1px;background: #c9ced1;position: absolute;left: 2.6%;bottom: 0;z-index: 1;}
footer .contact h3 {font-size: 87.5%;line-height: 1.85;letter-spacing: 0.05em;}
footer .contact address a {display: inline-block;font-size: 275%;line-height: 1;margin: 0.3em 0 0.6em;position: relative;}
/*footer .contact address a::before {display: inline-block;content: '';width: 1em;height: 0.6em;margin-right: 0.1em;background: url("../img/common/common_free.svg") no-repeat center/contain;} */
footer .contact address p {font-size: 87.5%;letter-spacing: 0.05em;}
footer .contact address p + p {margin-top: 0.5em;}
footer .links {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: baseline;width: 94.8%;padding: 2em 0 3em;margin: 0 auto;}
footer .links div {display: flex;flex-wrap: wrap;justify-content: flex-start;width: 100%;}
footer .links div a {padding-top: 1.5em;position: relative;}
footer .links div a:nth-child(1) {width: 30%;max-width: 300px;}
footer .links div a:nth-child(2) {width: 30%;max-width: 300px;margin-left: 2em;}
footer .links div a::before {display: block;content: attr(data-title);font-size: 12px;position: absolute;top: 0;left: 0;}
footer .links .copy {color: var(--black-01);text-align: center;font-size: 12px;padding: 0.5em 0;}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
}
@media only screen and (max-width: 1400px) {
}
@media only screen and (max-width: 1200px) {
}
@media only screen and (max-width: 1100px) {
  footer .contact {padding: 3em 0;}
  footer .contact::after {width: 90%;left: 5%;}
  footer .links {justify-content: center;width: 100%;padding: 2em 5vw 3em;}
  footer .links div {justify-content: center;}
  footer .links div a:nth-child(2) {margin-left: 5%;}
  footer .links .copy {margin-top: 3em;}  
}
@media only screen and (max-width: 960px) {
}
@media only screen and (min-width: 768px) {
  a[href*="tel:"] {pointer-events: none;cursor: default;text-decoration: none;}
  .btn:hover {opacity: 0.7;transition: 0.4s;}
  #menuBtn::before {display: block;content: '';width: 13em;height: 1.5em;background: url("../img/common/common_txt1.svg") no-repeat center/contain;position: absolute;right: 100%;bottom: 15px;}
  #globalHeader.open #menuBtn::before {opacity: 0;}
}
@media only screen and (max-width: 767px) {
  /*.anchor {margin-top: -3em;padding-top: 3em;}*/
  .pc {display: none !important;}
  .sp {display: block !important;}
  br.sp {line-height: 0;}
  .scroller {overflow-x: scroll;position: relative;}
  .scroller:before {content: "";display: block;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 500ms;position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: url("../img/common/common_swipe.png")no-repeat 50% 50%;background-size: 35% auto;z-index: 2;}
  .scroller:after {content: "";display: block;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 500ms;position: absolute;top: 0;left: 0;bottom: 0;background-color: rgba(0, 0, 0, 0.65);width: 210%;padding: 3%;z-index: 1;}
  .scroller.on:before,
  .scroller.on:after {opacity: 0;}
  .scroller img {width: 200%;opacity: 0.5;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 100ms;}
  .scroller.on img {opacity: 1;}
  body {font-size: 4vw;width: 100%;overflow-x: hidden;}
  #topBtn {right: 0.75em;bottom: 5em;}
  #globalMenu-01 {height: 4.5em;background: #222;position: fixed;top: auto;left: 0;right: 0;bottom: 0;}
  #globalMenu-01 div a {width: 20% !important;position: relative;}
  #globalMenu-01 div a.map::before,
  #globalMenu-01 div a.map::after {display: block;content: '';width: 1px;height: 100%;background: #fff;opacity: 0.5;position: absolute;top: 0;}
  #globalMenu-01 div a.map::before {right: 0;}  
  #globalMenu-01 div a.map::after {left: 0;}  
  #globalMenu-01 div a span {display: block;font-size: 75%;position: relative;}
  #globalMenu-01 div a span::before {display: block;content: '';width: 3em;height: 3em;margin: 0 auto 0.25em;background-position: center;background-repeat: no-repeat;filter: brightness(0) invert(1);}
  #globalMenu-01 div a.tel span::before {background-image: url("../img/common/common_tel.svg");background-size: auto 80%;}
  #globalMenu-01 div a.map span::before {background-image: url("../img/common/common_map.svg");background-size: auto 80%;}
  #globalMenu-01 div a.outline span::before {background-image: url("../img/common/common_outline.svg");background-size: auto 74%;}
  #globalMenu-01 div a.request span::before {background-image: url("../img/common/common_request.svg");background-size: auto 66%;}
  #globalMenu-01 div a.reserve span::before {background-image: url("../img/common/common_reserve.svg");background-size: auto 92%;}
  #globalHeader {padding: 15px 15px 10px;}
  #globalHeader > a {height: 50px;}
  #globalHeader > a img {width: auto;height: 100%;}
  #globalHeader.open #globalMenu-02 {padding: 2em 0;overflow: scroll;}
  #menuBtn {width: 75px;height: 75px;}
  #menuBtn span:nth-child(1) {top: 30px;left: 23px;}
  #menuBtn span.txt {top: 50px;}
  #billboard {}
  #contentsWrap {}
  .billboard-style-01 {padding: 3em 0;}
  .billboard-style-01 h2 {font-size: 200%;}
  .billboard-style-02 {padding: 1.5em 0;}
  .ttl-style-01 {font-size: 125%;}
  .block-note {padding: 2em 0 !important;}
  footer {padding-bottom: 5em;}
  footer .inner01 {}
  footer .slider {}
  footer .banner {padding: 3em 5vw;}
  footer .contact {padding: 3em 0 2em;}
  footer .links {padding: 2em 0 1em;}
  footer .links div {width: 90%;}
  footer .links div a:nth-child(1) {width: 100%;}
  footer .links div a:nth-child(2) {width: 100%;margin: 1.5em 0 0;}
}
@media (orientation: landscape) and (max-width: 767px){}