@charset "UTF-8";
/************************************************************************************************
*************************************************************************************************


 = Common Style
 
 
*************************************************************************************************/

body{ font-size: 1.6rem; }

.sp{ display:none !important; }


/************************************************************************************************


/* = Prats


************************************************************************************************/


/* = link
-----------------------------------------------------------------------------------------------*/
a[href^="tel:"] { pointer-events: none; }


/* = Ttl
-----------------------------------------------------------------------------------------------*/
.ttl--bg-w span{ padding:40px 50px 30px 50px; font-size:2.7rem;  }
.ttl--bg-w span small{ font-size:1.5rem; }

.ttl--line-bg { background-position:center 50px; }

.ttl--line{ margin-bottom:50px; font-size:3.0rem; }
.ttl--line br{ display:none; }
.ttl--line small{ font-size:1.4rem; }
.ttl--line small::before{ width:20px; transform: translateX(-10.5px); }
.ttl--line small::after{ width:20px; transform: translateX(10.5px);  }

.ttl--vline{ font-size:2.0rem; }
.ttl--vline span{ padding:0 0.5em 0 0; }
.ttl--vline span::before{ display:none; }
.ttl--vline span::after{ right:-37px; }
.ttl--vline br{ display:none; }
.ttl--vline small{ display:inline-block; margin-left:1em; }

.ttl--vline2{ font-size:4.0rem; }
.ttl--vline2 br{ display:none; }
 
.ttl--bline{ margin-bottom:50px; font-size:2.4rem;  }

.ttl--bline-s{ font-size:1.8rem;  }

.ttl--center{ margin-bottom:40px; font-size:2.4rem;  }
.ttl--center br{ display:none; }


.ttl--fl{ font-size:2.0rem; }
.ttl--fs{ font-size:1.8rem; }

.ttl--bg{ font-size:2.2rem;  }

.ttl--ltline{ font-size:2.2rem; }
.ttl--ltline small{ display:inline-block; margin-left:1em; }
.ttl--ltline br{ display:none; }


/* = btn
-----------------------------------------------------------------------------------------------*/

.btn--detail a{ min-width:280px; height:40px; line-height:40px; padding:0 25px; margin-top:25px; font-size:1.7rem; }
.btn--detail a br{ display:none; }

/*20240106*/
.btn--dinner a:after{ border-width:0 0 20px 20px;  }

.btn--room a:after{ border-width:0 0 20px 20px;  }

.btn--plan a:after{ border-width:0 0 20px 20px; }

/*.btn--en a:after{ border-width:0 0 20px 20px; }*/

.btn--gmap{ display:inline-block; margin-left:1em; }



/* = Tbl
-----------------------------------------------------------------------------------------------*/

.tbl th{ padding:0.8em; }

.tbl--info tbody th{ font-size:1.8rem; }


/************************************************************************************************


/* = Blc


************************************************************************************************/

/*

.mainVisualBlc

-----------------------------------------------------------------------------------------------*/
.innerWrapper .mainVisualBlc{ height:280px; }

/* ttl--main */
.ttl--main{ font-size:4.0rem;  }
.ttl--main small{ font-size:1.5rem; }


/* = pagenavBlc
-----------------------------------------------------------------------------------------------*/
.pagenavBlc{ padding:60px 90px; }
.pagenavBlc__list{ justify-content:center; flex-wrap:nowrap;  }
.pagenavBlc__list li:first-child{ margin-left:0; }
.pagenavBlc__list li:last-child{ margin-right:0; }
.pagenavBlc__list li a{ padding:20px 15px 40px 15px; min-height:110px; font-size:1.8rem; line-height:1.2em; }
.pagenavBlc__list li a::after{ bottom:10px; width:13px; height:13px; }

@media screen and (max-width: 1600px) {
.pagenavBlc{ padding:60px 30px; }
.pagenavBlc__list li a{ padding:20px 10px 40px 10px; font-size:1.4rem; }
}



/* = indexBlc
-----------------------------------------------------------------------------------------------*/
.indexBlc{}
.indexBlc .mainInner{ display:flex; justify-content:space-between; align-items:stretch; }
.indexBlc:nth-of-type(odd) .mainInner{ flex-direction:row;  }
.indexBlc:nth-of-type(even) .mainInner{ flex-direction:row-reverse; }
.indexBlc__mainFig{ width:calc(51.85% - 1px); }
.indexBlc__txt{ width:48.15%; display:flex; flex-wrap:wrap; }
.indexBlc__txt .indexBlc__des small{ display:block; }
.indexBlc:nth-of-type(odd) .indexBlc__txt .indexBlc__des{ order: 1;  }
.indexBlc:nth-of-type(odd) .indexBlc__txt .indexBlc__btn{ order: 2;  }
.indexBlc:nth-of-type(odd) .indexBlc__txt .indexBlc__subFig{ order: 3;  }
.indexBlc:nth-of-type(even) .indexBlc__txt .indexBlc__des{ order: 2;  }
.indexBlc:nth-of-type(even) .indexBlc__txt .indexBlc__btn{ order: 3;  }
.indexBlc:nth-of-type(even) .indexBlc__txt .indexBlc__subFig{ order: 1;  }
.indexBlc:nth-of-type(odd) .indexBlc__txt .indexBlc__des,.indexBlc:nth-of-type(odd) .indexBlc__txt .indexBlc__btn{ padding-left:50px; }
.indexBlc:nth-of-type(even)  .indexBlc__txt .indexBlc__des,.indexBlc:nth-of-type(even) .indexBlc__txt .indexBlc__btn{ padding-right:50px; }
.indexBlc__subFig{ display:flex; justify-content:flex-start; }
.indexBlc:nth-of-type(odd) .indexBlc__subFig{ margin-top:50px; }
.indexBlc:nth-of-type(even) .indexBlc__subFig{ margin-bottom:50px; }

.indexBlc__subFig li:nth-child(1) { flex-basis:50%; padding-right:0.5px; }
.indexBlc__subFig li:nth-child(2) { flex-basis:50%; padding-left:0.5px; }



/* = bnrBlc
-----------------------------------------------------------------------------------------------*/
.bnrBlc__one p img{ width:auto !important; }

/* top */
.bnrBlc__top{ padding:60px 60px 60px 60px; }
.bnrBlc__top p img{ max-width:1040px; }

/* bottom */
.bnrBlc__bottom{ width:1024px; margin:0 auto 0 auto; padding-bottom:100px; }
.bnrBlc__bottom--item01 { order: 1; flex-basis:170px; }
.bnrBlc__bottom--item02 { order: 3; flex-basis:170px; }
.bnrBlc__bottom--item03 { order: 2; flex-basis:640px; }
.bnrBlc__bottom--item03::after { order: 1; content:""; flex-basis:200px; }
.bnrBlc__bottom--item03 p{ flex-basis:200px; margin-bottom:10px; }

/*20230613add*/
.bnrBlc__bottom--item03 > div{ flex-basis:200px; }
.bnrBlc__bottom--item03 > div p{ width: 100%;}
.bnrBlc__bottom--item03 > div p + p{ margin-top: 10px;}




/* = galleryBlc
-----------------------------------------------------------------------------------------------*/
.galleryBlc__list li{ width:18%; margin:10px 1%; }


/************************************************************************************************
*************************************************************************************************


 = Layout Style
 
 
*************************************************************************************************
************************************************************************************************/


/************************************************************************************************


/* = header


************************************************************************************************/

.headerOuter{ width:160px; height:100%; }

.headerInner{ position:relative; margin-bottom:30px; }
.headerInner__description{ text-align:center; }
.headerInner__logo { position:absolute; top:30px; left:0; right:0; margin:0 auto 0 auto; text-align:center; }

.headerOuter .gnavInner ul.depth1 > li div.menu-items { position: absolute; top: 0; bottom: 0; left: 160px; z-index: 10; width: 0; height: 100vh; overflow-y:auto; -ms-overflow-style:none; scrollbar-width: none; }
.headerOuter .gnavInner ul.depth1 > li div.menu-items::-webkit-scrollbar { display: none; }
.headerOuter .gnavInner ul.depth1 > li div.menu-items.open { left:160px; width:320px; padding:20px 20px; }

.headerOuter .langnav { height:30px; }
.headerOuter .langnav__selected { height:30px; line-height:30px;  }
.headerOuter .langnav__selectlist { top:29px;  }

.headerOuter .headerOuter__btn--bus a{ position:relative; height:60px; margin:30px 0 0 0; }
.headerOuter .headerOuter__btn--bus a span{ position: absolute; top: 50%; left:56px; transform: translateY(-50%); display:inline-block; width:100%; line-height:1.2em; }
.headerOuter .headerOuter__btn--bus a::before{ position:absolute; left:8px; top:0; bottom:0; display:block; padding:10px 0 0 0; margin:auto 0; background:url(../media/images/co19/common/ico--bus.svg) no-repeat center center /100% auto; }

.headerOuter .headerOuter__btn--contact a{ height:60px; line-height:60px; font-size:1.6rem; }

@media screen and (min-height: 768px) {
.headerInner{ height:180px; margin-bottom:30px;  }
.headerInner__logo { height:150px; }
.headerOuter .langnav { margin:20px 15px 0 15px; }
.headerOuter .headerOuter__btn--bus a{ margin:30px 0 0 0; }
.headerOuter .headerOuter__btn--contact a{ margin:10px 0 0 0;  }
}
@media screen and (max-height: 767px) {
.headerInner{ height:130px;  margin-bottom:10px; }
.headerInner__logo { height:100px; }
.headerOuter .langnav { margin:15px 15px 0 15px; }
.headerOuter .gnavInner ul.depth1 > li > a{ height:30px; line-height:30px; }
.headerOuter .headerOuter__btn--bus a{ margin:15px 0 0 0; }
.headerOuter .headerOuter__btn--contact a{ margin:5px 0 0 0;  }
}

/************************************************************************************************


/* = searchOuter


************************************************************************************************/

.searchOuter{ position:fixed; left:160px; top:0; z-index:9; width:calc(100% - 160px); }
.searchInner{ display:flex;  }

/*searchForm*/
.searchForm{ display:flex; }
.searchForm .searchForm__ttl{ position:relative; height:80px; }
.searchForm .searchForm__ttl span{ position: absolute; top: 50%; left:0; transform: translateY(-50%); display:inline-block; width:100%; }
.searchForm form{ padding:10px 0 10px 0; display:flex; justify-content:flex-start; }
.searchForm form dl{ margin-right:14px; }
.searchForm form button{ height:55px; line-height:55px; }

/*searchBtn*/
.searchBtn{ display:flex; }
.searchBtn__tel{ padding:5px 10px 5px 0; }
.searchBtn__tel span{ text-align:right; }
.searchBtn__btn a{ height:80px; }



.searchInner{ flex-direction:row; height:80px; }
.searchForm{ width:60%; font-size:1.5rem; }
.searchBtn{ width:calc(100% - 60%); }

.searchForm{ justify-content:flex-start; }
.searchForm .searchForm__ttl{ width:10%; max-width:140px; min-width:80px; }
.searchForm form{ width:calc(100% - 10%); }
.searchForm form select{ padding:0 7px 0 0 !important;}

.searchForm form button{ padding:0 10px 0 40px; font-size:1.6rem; background-position:10px center; background-size:auto 24px; }

.searchBtn{ justify-content: flex-end; }
.searchBtn__tel{ width:calc(100% - 45%); }
.searchBtn__btn{ width:15%; max-width:100px; min-width:65px; }
.searchBtn__btn--489 a{ font-size:1.2rem; }
.searchBtn__btn--489 big{ display:block; font-size:1.7rem; }

@media screen and (min-width: 1240px) and (max-width: 1339px) {
.searchForm form button{ padding:0 5px 0 5px; background-image:none; }

}

/************************************************************************************************


/* = mainContensOuter


************************************************************************************************/

.mainOuter{ width:calc(100% - 160px); min-width:1080px; min-height:600px; margin-left:160px; padding-top:80px; }

.mainInner { width:1080px; }
.mainInner + .mainInner{ margin-top:80px; }


/************************************************************************************************


/* = footerOuter


************************************************************************************************/

.footerOuter{ width:calc(100% - 160px); min-width:1080px; padding:50px 0 40px 0; margin-left:160px; }

.fnavInner{ max-width:calc(1020px + 80px); padding:0 40px; margin-left:auto; margin-right:auto; }

.footerInner{ display:flex; justify-content:space-between; max-width:calc(1020px + 80px); padding:0 40px;  margin:50px auto 60px auto; }
.footerInner__logo{ width:16.81%; padding:20px 0 0 0; }
.footerInner__address{  padding:20px 0 0 0; }
.footerInner__tel--time{ height:20px; line-height:20px; }

.footerInner__btn--contact{ width:21.63%; max-width:200px;  }
.footerInner__btn--contact a{ display:block; }

