@charset "UTF-8";


html,body { height: auto; }
#main-content{ overflow: hidden; }
#main-content sup{ font-size: 50%; vertical-align: top; }
#main-content .announce{ width: 100%; background-color: rgba(255,255,255,0.7); position: absolute; left: 0; top: 178px; z-index: 1000; }
#main-content .announce .item{ display: table; padding: 10px 5px; clear: left; /*max-width: 1112px;*/ width: 1112px; margin: 0 auto; box-sizing: border-box; margin: 0 auto; }
#main-content .announce .icon{ display: table-cell; vertical-align: middle; width: 160px; border: 1px solid #666666; text-align: center; vertical-align: middle; box-sizing: border-box; font-size: 20px; color: #666666; }
#main-content .announce .txt{ display: table-cell; vertical-align: middle; padding-left: 7px; font-size: 14px; line-height: 1.33; color: #666666; }
#main-content .main-bubble{ max-width: 280px; position: absolute; z-index: 5000; margin: 104px 0 0 10px; }
#main-content .main-bubble img{ width: 100%; height: auto; }
#main-content .main-movie{ position: relative; width: 100%; padding-top: max(56.25%,calc(100vh - 146px)); padding-top: max(calc(calc(var(--vh, 1vh) * 100) - 146px),56.25%); z-index: 500; background-color: #ffffff; pointer-events: none; overflow: hidden; }
#main-content .main-movie .base{ width: 100%; padding-top: 56.25%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
#main-content .main-movie .base video{ width: 100%; height: 100%; }
#main-content .main-movie .fill{ width: 100%; height: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); opacity: 0.2; }
#main-content .main-movie video{ position: absolute; left: 50%; top: 50%; min-width: 100%; min-height: 100%; transform: translate(-50%,-50%); }
#main-content .price-wrap{ position: relative; z-index: 500; background-color: #ffffff; padding: 30px 0; }
#main-content .price-wrap .head{ text-align: center; font-size: 20px; line-height: 1.5; }
#main-content .price-wrap .split-view{ max-width: 1112px; border-top: 1px solid #cccccc; margin: 10px auto 0; padding-top: 10px; display: flex; display: -ms-flex; justify-content: center; }
#main-content .price-wrap .split-view .item{ position: relative; }
#main-content .price-wrap .split-view .item:nth-child(n+2){ margin-left: 20px; }
#main-content .price-wrap .split-view .item .sub{ font-size: 18px; line-height: 1.5; border: 1px solid #999999; padding: 5px 10px; display: inline-block; vertical-align: middle; }
#main-content .price-wrap .split-view .item .sub .inner{ display: inline-block; vertical-align: middle; }
#main-content .price-wrap .split-view .item .sub .inner .word{ display: block; line-height: 1.3; }
#main-content .price-wrap .split-view .item .sub .inner .ruby{ font-size: 70%; text-align: center; line-height: 1.3; }
#main-content .price-wrap .split-view .item .sub .sec{ display: inline-block; vertical-align: middle; }
#main-content .price-wrap .split-view .item .sub .marker{ font-size: 150%; line-height: 0; }
#main-content .price-wrap .split-view .item .price{ font-size: 30px; line-height: 1.5; display: inline-block; vertical-align: middle; margin-left: 0.2em; }
#main-content .price-wrap .split-view .item .price .num{ font-size: 180%; line-height: 0.8; }
#main-content .price-wrap .split-view .item .price .caption{ font-size: 40%; position: absolute; white-space: nowrap; transform: translate(-110%,0); }
#main-content .opening .dummy-layer{ position: relative; padding: 100vh 0 150vh; padding: calc(var(--vh, 1vh) * 100) 0 calc(var(--vh, 1vh) * 150); }
#main-content .opening .dummy-layer .act{ width: 100%; }
#main-content .opening .dummy-layer .act01,
#main-content .opening .dummy-layer .act02,
#main-content .opening .dummy-layer .act03{ height: 150vh; height: calc(var(--vh, 1vh) * 150); }
#main-content .opening .dummy-layer .act02{ margin-top: 50vh; margin-top: calc(var(--vh, 1vh) * 50); }
#main-content .opening .dummy-layer .act03{ margin-top: 50vh; position: absolute; }
#main-content .opening .dummy-layer .act04{ margin-top: 70vh; height: 1200vh; height: calc(var(--vh, 1vh) * 1200); }
#main-content .opening .dummy-layer .act05{ margin-top: 30vh; height: 100vh; height: calc(var(--vh, 1vh) * 100); }
#main-content .opening .fixed-layer{ position: fixed; left: 0; top: 0; width: 100%; z-index: 200; overflow: hidden; pointer-events: none; }
#main-content .opening .fixed-layer .clip-area{ position: absolute; left: 0; bottom: 0; top: auto; width: 100%; height: 100%; clip: rect(auto, auto, auto, auto); }
#main-content .opening .fixed-layer .clip-area.reverse{ position: absolute; left: 0; top: 0; bottom: auto; }
#main-content .opening .fixed-layer .photo01{ position: absolute; left: 50%; top: 0; /*width: 237.14%; padding-top: 334.28%;*/ width: 100%; padding-top: 140.9638%; background: center center no-repeat; background-size: cover; transform: translateX(-50%); }
#main-content .opening .fixed-layer .copy{ position: fixed; left: 0; top: 50%; transform: translateY(-50%); width: 100%; text-align: center; font-size: 24px; color: #ffffff; margin-top: 73px; letter-spacing: 0.2em; }
#main-content .opening .fixed-layer .copy01{ line-height: 2.66; }
#main-content .opening .fixed-layer .copy02{ line-height: 1.66; }
#main-content .opening .fixed-layer .logo{ position: fixed; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 40%; max-width: 195px; margin-top: 73px; }
#main-content .opening .fixed-layer .photo02{ position: fixed; left: 0; top: 50%; width: 100%; height: calc(100vh - 146px); height: calc(calc(var(--vh, 1vh) * 100) - 146px); background: center center no-repeat; background-size: cover; transform: translateY(-50%); margin-top: 73px; }
#main-content .opening .fixed-layer .photo02 img{ object-fit: cover; width: 100%; height: 100%; }
#main-content .opening .fixed-layer .copy03{ position: fixed; left: 50%; margin-left: 3.5714%; top: 50%; transform: translateY(-50%); margin-top: 73px; }
#main-content .opening .fixed-layer .caption{ position: fixed; right: 0; bottom: 40px; padding: 2px 7px; color: #ffffff; z-index: 10; background-color: rgba(0,0,0,0.8); }
#main-content .middle-area{ position: relative; z-index: 500; background-color: #ffffff; }
#main-content .middle-area .feature-list{ display: flex; display: -ms-flex; justify-content: center; align-items: center; padding: 20px 0; }
#main-content .middle-area .feature-list .item{ padding: 5px 40px; text-align: center; color: #7b6746; font-size: 20px; line-height: 1.4; position: relative; }
#main-content .middle-area .feature-list .item::before{ content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%) skewX(-16deg); width: 100%; height: 100%; border: solid #7b6746; border-width: 0 1px; box-sizing: border-box; opacity: 0.5; }
#main-content .middle-area .feature-list .item:nth-child(n+2)::before{ border-left: none; }
#main-content .middle-area .request{ text-align: center; padding: 100px 5%; background-color: #f4f2ef; }
#main-content .middle-area .request .en{ font-size: 18px; line-height: 1.5; letter-spacing: 0.5em; color: #372f1d; }
#main-content .middle-area .request .copy{ font-size: 24px; line-height: 1.5; letter-spacing: 0.3em; color: #372f1d; margin-top: 10px; }
#main-content .middle-area .request .txt{ font-size: 16px; line-height: 1.75; color: #7b6746; margin-top: 20px; }
#main-content .middle-area .request .navi-list{ margin: 20px auto 0; max-width: 790px; display: flex; display: -ms-flex; justify-content: space-between; flex-wrap: wrap; }
#main-content .middle-area .request .navi-list .navi{ max-width: 380px; width: 100%; }
#main-content .middle-area .request .navi-list .navi a{ display: block; font-size: 16px; line-height: 1.5; color: #ffffff; text-decoration: none; padding: 22px 0; border-radius: 34px; }
#main-content .middle-area .request .navi-list .navi-entry a{ background: linear-gradient(to right, #a69076 0%, #796444 100%); }
#main-content .middle-area .request .navi-list .navi-reservation a{ background: linear-gradient(to right, #a67f76 0%, #794e44 100%); }
#main-content .middle-area .request .navi-list .navi-login{ max-width: none; margin-top: 20px; }
#main-content .middle-area .request .navi-list .navi-login a{ background: linear-gradient(to right, #b1913e 0%, #90710c 100%); }
#main-content .home-navi .list-item{ position: relative; z-index: 300; background-color: #f4f2ef; }
#main-content .home-navi .list-item .item .dummy-layer{ position: relative; width: 100%; height: calc(100vh); height: calc(calc(var(--vh, 1vh) * 100)); min-height: 720px; position: relative; z-index: 300; }
/*#main-content .home-navi .list-item .item .dummy-layer::before{ content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #fff; }*/
#main-content .home-navi .list-item .item .dummy-layer .txt-body{ width: 50%; text-align: center; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
#main-content .home-navi .list-item .item:nth-child(even) .dummy-layer .txt-body{ left: auto; right: 0; }
#main-content .home-navi .list-item .item .dummy-layer .txt-body .ttl-body{ display: inline-block; position: relative; }
#main-content .home-navi .list-item .item .dummy-layer .txt-body .ttl-body::before{ content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 44px; transform: rotate(25deg); margin: -30px 0 0 -20px; background-color: #ffffff; }
#main-content .home-navi .list-item .item .dummy-layer .txt-body .ttl-body .en{ font-size: 20px; line-height: 1.5; font-weight: bold; letter-spacing: 0.5em; padding-left: 0.5em; color: #ffffff; }
#main-content .home-navi .list-item .item .dummy-layer .txt-body .ttl-body .ttl{ font-size: 14px; line-height: 1.5; margin-top: 10px; font-weight: normal; letter-spacing: 0.2em; padding-left: 0.2em; color: #ffffff; }
#main-content .home-navi .list-item .item .dummy-layer .txt-body .txt{ font-size: 18px; line-height: 2.22; color: #ffffff; margin-top: 30px; }
#main-content .home-navi .list-item .item .dummy-layer .txt-body .navi{ max-width: 240px; margin: 30px auto 0; }
#main-content .home-navi .list-item .item .dummy-layer .txt-body .navi a{ display: block; font-size: 14px; line-height: 1.5; color: #666666; background: rgba(255,255,255,0.9); text-decoration: none; padding: 14px 0; border-radius: 25px; }
#main-content .home-navi .list-item .item .fixed-layer{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh; z-index: 200; overflow: hidden; }
#main-content .home-navi .list-item .item .fixed-layer .clip-area{ position: absolute; left: 0; bottom: 0; top: auto; width: 100%; height: 100%; clip: rect(auto, auto, auto, auto); }
#main-content .home-navi .list-item .item .fixed-layer .clip-area.reverse{ position: absolute; left: 0; top: 0; bottom: auto; }
#main-content .home-navi .list-item .item .fixed-layer .clip-area::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(55,47,29,0.6) 25%, rgba(55,47,29,0) 75%); }
#main-content .home-navi .list-item .item:nth-child(even) .fixed-layer .clip-area::before{ background: linear-gradient(to left, rgba(55,47,29,0.6) 25%, rgba(55,47,29,0) 75%); }
#main-content .home-navi .list-item .item .fixed-layer .clip-area .photo{ position: fixed; top: 146px; left: 0; z-index: -1; display: block; width: 100%; height: calc(100vh - 146px); height: calc(calc(var(--vh, 1vh) * 100) - 146px); background: center center no-repeat; background-size: cover; }
#main-content .home-navi .list-item .item .fixed-layer .clip-area .caption{ position: fixed; right: 0; bottom: 40px; padding: 2px 7px; color: #ffffff; z-index: 10; background-color: rgba(0,0,0,0.8); }
#main-content .home-navi .list-item .item03 .fixed-layer .clip-area .photo01{ width: 50%; background-position: center 0; }
#main-content .home-navi .list-item .item03 .fixed-layer .clip-area .photo02{ width: 50%; left: auto; right: 0; }
#main-content .home-navi .list-item .item03 .fixed-layer .clip-area .caption02{ right: 50%; }
#main-content .section-notice{ padding: 100px 0; background-color: #ffffff; position: relative; z-index: 500; }
#main-content .section-notice .notice-body{ max-width: 1112px; width: 100%; margin-left: auto; margin-right: auto; overflow: hidden; position: relative; padding: 0 106px; box-sizing: border-box; }
#main-content .section-notice .notice-body .notice-ttl{ font-size: 18px; font-family: 'EB Garamond', 'Cormorant Garamond', serif; color: #a89132; font-weight: normal; letter-spacing: 0.1em; float: left; padding-right: 20px; margin-right: 40px; margin-top: 5px; }
#main-content .section-notice .notice-body .notice-ttl::after{ content: ''; position: absolute; width: 1px; height: 100%; background-color: #cccccc; top: 50%;  margin-left: 20px; transform: translateY(-50%); }
#main-content .section-notice .notice-body .list-item{ overflow: hidden; }
#main-content .section-notice .notice-body .list-item .item+.item{ margin-top: 20px; }
#main-content .section-notice .notice-body .request-txt{ font-size: 24px; line-height: 1.5; color: #333333; letter-spacing: 0.1em; }
#main-content .section-notice .notice-body .txt{ line-height: 1.7; }






/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#main-content .announce .item{ width: 940px; }
	#main-content .section-notice .notice-body{ padding: 0 56px; }
	#main-content .price-wrap .split-view .item .sub{ font-size: 16px; }
	#main-content .price-wrap .split-view .item .price{ font-size: 26px; }
}
@media screen and (max-width: 768px){ /*768px以下のcss*/
	#main-content{ padding-top: 0; }
	#main-content .announce{ padding-top: 0; top: 0; position: relative; background-color: #ffffff; }
	#main-content .announce .item{ display: block; overflow: hidden; padding: 7px 10px; width: auto; }
	#main-content .announce .icon{ display: block; float: left; }
	#main-content .announce .txt{ font-size: 12px; display: block; overflow: hidden; }
	#main-content .announce .txt .inline-block{ display: inline; }
	/*#main-content .main-movie{ padding-top: max(56.25%,calc(100vh - 268px)); padding-top: max(calc(calc(var(--vh, 1vh) * 100) - 268px),56.25%); }*/
	#main-content .main-bubble{ margin: 3% 0 0 3%; width: 35%; }
	#main-content .main-movie{ padding-top: max(56.25%,calc(100vh - 190px)); padding-top: max(calc(calc(var(--vh, 1vh) * 100) - 190px),56.25%); }
	#main-content .price-wrap{ padding: 10% 5%; }
	#main-content .price-wrap .head{ font-size: 18px; }
	#main-content .price-wrap .split-view{ display: block; padding-top: 15px; }
	#main-content .price-wrap .split-view .item{ position: relative; text-align: center; }
	#main-content .price-wrap .split-view .item:nth-child(n+2){ margin: 15px 0 0; }
	#main-content .price-wrap .split-view .item .sub{ display: block; }
	#main-content .price-wrap .split-view .item .price{ margin-top: 10px; }
	#main-content .opening .fixed-layer .copy{ font-size: 20px; margin-top: 10px; letter-spacing: 0; }
	#main-content .opening .fixed-layer .logo{ margin-top: 10px; }
	#main-content .opening .fixed-layer .photo02{ top: 0; width: 100%; height: calc(100vh - 112px); height: calc(calc(var(--vh, 1vh) * 100) - 112px); margin-top: 61px; transform: translateY(0); }
	#main-content .opening .fixed-layer .copy03{ margin-top: 0; max-width: 180px; width: 40%; }
	#main-content .opening .fixed-layer .caption{ bottom: 51px; }
	#main-content .middle-area .feature-list{ padding: 5%; }
	#main-content .middle-area .feature-list .item{ padding: 5px 2%; font-size: 16px; width: 100%; box-sizing: border-box; }
	#main-content .middle-area .feature-list .item01{ flex: 1; }
	#main-content .middle-area .feature-list .item02{ flex: 1.25; }
	#main-content .middle-area .feature-list .item03{ flex: 1.39; }
	#main-content .middle-area .feature-list .item::before{ transform: translateY(-50%) skewX(-10deg); height: 30px; }
	#main-content .middle-area .request{ padding: 15% 5%; }
	#main-content .middle-area .request .txt{ font-size: 14px; }
	#main-content .middle-area .request .navi-list{ max-width: 380px; display: block; }
	#main-content .middle-area .request .navi-list .navi:nth-child(n+2){ margin-top: 10px; }
	#main-content .home-navi .list-item .item .dummy-layer{ height: 100vh; height: calc(var(--vh, 1vh) * 100); min-height: 600px; }
	#main-content .home-navi .list-item .item .dummy-layer .txt-body{ width: 100%; }
	#main-content .home-navi .list-item .item .dummy-layer .txt-body .ttl-body .en{ letter-spacing: 0.3em; padding-left: 0.3em; }
	#main-content .home-navi .list-item .item .dummy-layer .txt-body .ttl-body .ttl{ font-size: 14px; }
	#main-content .home-navi .list-item .item .dummy-layer .txt-body .txt{ font-size: 16px; }
	#main-content .home-navi .list-item .item:nth-child(n) .fixed-layer .clip-area::before{ background: rgba(55,47,29,0.6); }
	#main-content .home-navi .list-item .item .fixed-layer .clip-area .photo{ top: 0; height: 100vh; height: calc(var(--vh, 1vh) * 100); }
	#main-content .home-navi .list-item .item .fixed-layer .clip-area .caption{ bottom: 51px; }
	#main-content .home-navi .list-item .item03 .fixed-layer .clip-area .photo01{ width: 100%; height: calc(50% + 1px); background-position: center 60px; }
	#main-content .home-navi .list-item .item03 .fixed-layer .clip-area .photo02{ width: 100%; height: 50%; left: 0; right: auto; top: 50%; }
	#main-content .home-navi .list-item .item03 .fixed-layer .clip-area .caption01{ bottom: 50%; }
	#main-content .home-navi .list-item .item03 .fixed-layer .clip-area .caption02{ right: 0; }
	#main-content .section-notice{ padding: 15% 5%; }
	#main-content .section-notice .notice-body{ padding: 0; }
	#main-content .section-notice .notice-body .notice-ttl{ float: none; padding: 0 0 20px; margin: 0 0 20px; position: relative; }
	#main-content .section-notice .notice-body .notice-ttl::after{ width: 100%; height: 1px; top: auto; bottom: 0; left: 0; margin: 0; transform: none; }
	#main-content .section-notice .notice-body .list-item{ overflow: hidden; }
	#main-content .section-notice .notice-body .list-item .item+.item{ margin-top: 20px; }
	#main-content .section-notice .notice-body .request-txt{ font-size: 20px; }
}
@media screen and (max-width: 480px){ /*480px以下のcss*/
	#main-content .announce{ margin-top: 0; }
	#main-content .announce .icon{ float: none; line-height: 1.5; width: 100%; }
	#main-content .announce .txt{ margin-top: 5px; padding: 0; }
	/*#main-content .main-movie{ padding-top: max(56.25%,calc(100vh - 288px)); padding-top: max(calc(calc(var(--vh, 1vh) * 100) - 288px),56.25%); }*/
	/*#main-content .main-movie{ padding-top: max(56.25%,calc(100vh - 190px)); padding-top: max(calc(calc(var(--vh, 1vh) * 100) - 190px),56.25%); }*/
	#main-content .middle-area .feature-list .item{ font-size: 3vw; }
}





/*animation*/
#main-content .opening .fixed-layer .copy{ opacity: 0; transition: 1s ease; }
#main-content .opening .fixed-layer .copy.show{ opacity: 1; }
#main-content .opening .fixed-layer .logo{ opacity: 0; transition: 1s ease; }
#main-content .opening .fixed-layer .logo.show{ opacity: 1; }
#main-content .opening .fixed-layer .photo02{ opacity: 0; transition: 1s ease; }
#main-content .opening .fixed-layer .photo02.show{ opacity: 1; }
#main-content .opening .fixed-layer .copy03{ opacity: 0; transition: 1s ease; }
#main-content .opening .fixed-layer .copy03.show{ opacity: 1; transition-delay: 0.5s;}






/*z-index*/
#headerAreaN,
#categoryBack,
#container .footer-credit,
#footerAreaN{ position: relative; z-index: 500; }
@media screen and (max-width: 768px){ /*768px以下のcss*/
	#footerArea,
	#footerNavArea{ position: relative!important; bottom: auto!important; z-index: 500; }
}