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


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

body{ font-size: 1.6rem; }

.sp{ display:none; }

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


/* = 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
-----------------------------------------------------------------------------------------------*/

/*PCとTB（1081以上）*/
@media print, screen and (min-width: 1081px) {

.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; }
}
/*SPとTB（1081以下）*/
@media print, screen and (max-width: 1080px) {
.btn--detail a{ /*min-width:230px;*/ width:100%; padding:0.5em 25px; margin-top:20px; font-size:1.6rem; line-height:1.4em;  }

/*20240106*/
.btn--dinner a{ width:100%; height:46px; line-height:46px; }
.btn--dinner a:after{ border-width:0 0 10px 10px;  }
.btn--dinner a span{ line-height:1.4; }
	
.btn--room a{ width:100%; height:46px; line-height:46px; }
.btn--room a:after{ border-width:0 0 10px 10px;  }

.btn--plan a{ width:100%; height:46px; line-height:46px; }
.btn--plan a:after{ border-width:0 0 10px 10px; }

.btn--en a{ height:46px; line-height:46px; }
/*.btn--en a:after{ border-width:0 0 10px 10px; }*/

.btn--bus a{ height:46px; line-height:46px; }

.btn--gmap{ display:block; }

}


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

/*PCとTB（1081以上）*/
@media print, screen and (min-width: 1081px) {
.tbl th{ padding:0.8em; }

.tbl--info tbody th{ font-size:1.8rem; }
}
/*SPとTB（1081以下）*/
@media print, screen and (max-width: 1080px) {

.tbl th{ display:block; width:100%; box-sizing:border-box; padding:0.8em 0.8em 0 0.8em; }
.tbl td{ display:block; width:100%; box-sizing:border-box; }

.tbl--border{ width:100%; margin:30px 0 30px 0; border-collapse:collapse; }
.tbl--border caption{ text-align:left; font-weight:bold; }

.tbl--info{ width:100%; margin:30px 0 30px 0; border-collapse:collapse; }
.tbl--info tbody th{ font-size:1.7rem; }
}

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


/* = Blc


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

/*

.mainVisualBlc

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

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


/* = pagenavBlc
-----------------------------------------------------------------------------------------------*/

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

/*PCとTB（1081以上）*/
@media print, screen and (min-width: 1081px) {
.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; line-height:1.2em; }
.pagenavBlc__list li a::after{ bottom:10px; width:13px; height:13px; }
}

/*SPとTB（1081以下）*/
@media print, screen and (max-width: 1080px) {

.pagenavBlc{ padding:40px 10px; }
.pagenavBlc__list{ flex-wrap:wrap; justify-content:space-between;  }
.pagenavBlc__list li{ flex-basis:49%; margin-bottom:10px; }
.pagenavBlc__list li a{ padding:10px 15px 30px 15px; min-height:80px; font-size:1.6rem; line-height:1.2em; }
.pagenavBlc__list li a::after{ bottom:5px; width:10px; height:10px; }
}

/* = indexBlc
-----------------------------------------------------------------------------------------------*/
/*PCとTB（1081以上）*/
@media print, screen and (min-width: 1081px) {
.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; }
}
/*SPとTB（1081以下）*/
@media print, screen and (max-width: 1080px) {
.indexBlc{}
.indexBlc .mainInner{}
.indexBlc__mainFig{ margin-bottom:20px; }
.indexBlc__txt{}
.indexBlc__txt .indexBlc__des small{ display:block; }
.indexBlc__subFig{ margin-top:20px; display:flex; justify-content:space-between; }
.indexBlc__subFig li { flex-basis:calc( 50% - 0.5px );}
}

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

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

/* bottom */
.bnrBlc__bottom{ justify-content:center; width:calc(100% - 40px); margin:0 auto 0 auto; padding-bottom:100px; }
.bnrBlc__bottom--item01 { order: 1; flex-basis:48%; max-width:170px; margin-bottom:10px; margin-right:10px; }
.bnrBlc__bottom--item02 { order: 2; flex-basis:48%; max-width:170px; margin-bottom:10px; }
.bnrBlc__bottom--item03 { order: 3; flex-basis:100%;  max-width:530px;  }
.bnrBlc__bottom--item03 p{ flex-basis:calc((100% - 10px) / 3); max-width:170px; margin-bottom:10px; }


@media screen and (min-width: 1080px) {
.bnrBlc__bottom--item02 { margin-right:10px; }
}

/*20230613add*/
.bnrBlc__bottom--item03 > div{ flex-basis:calc((100% - 10px) / 3); max-width:170px; }
.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:column; height:160px; }
.searchForm{ height:80px; font-size:1.5rem; background-color:#cccccc; }
.searchBtn{}

.searchForm{ justify-content:flex-end; }
.searchForm .searchForm__ttl{ width:10%; max-width:140px; min-width:80px; }
.searchForm form{}
.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 a{ font-size:1.2rem; line-height:1.6em; }
.searchBtn__btn--489 big{ display:block; font-size:1.7rem; }

@media screen and (min-width: 768px) and (max-width: 840px) {
.searchForm form button{ padding:0 5px 0 5px; background-image:none; }
}
@media screen and (min-width: 768px) and (max-width: 800px) {
.searchForm .searchForm__ttl{ display:none; }
}


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


/* = mainContensOuter


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

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

.mainInner { width:calc(100% - 40px); }
.mainInner + .mainInner{ margin-top:80px; }


/*PCとTB（1081以上）*/
@media print, screen and (min-width: 1081px) {
.mainOuter .sp{ display:none !important; }
}
/*SPとTB（1081以下）*/
@media print, screen and (max-width: 1080px) {
.mainOuter .pc{ display:none !important; }
.mainOuter .sp{ display:block !important; }
}

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


/* = footerOuter


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

.footerOuter{ width:calc(100% - 160px); padding:30px 0 55px 0; padding:50px 0 40px 0; margin-left:160px; text-align:center; }


.footerInner{}
.footerInner__logo{ width:20%; margin:30px auto 0 auto; }

.footerInner__tel{ border-left:none; }
.footerInner__tel--time{ display:inline-block !important; margin-top:0.5em; padding:0 2em; border:1px solid #ffffff; }

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

.footerOuter__copy{ margin-top:10px; }

/**/

.footerFixNav{ display:none; }
.disappear .footerFixNav{ bottom:0; }
.footerFixNav a{ display:block; height:50px; line-height:50px; font-size:1.2rem; text-align:center; color:#ffffff; }
.footerFixNav a::before{ display:inline-block; margin-right:0.3em; font-family:"Font Awesome 5 Free"; }
.footerFixNav__btn{}
.footerFixNav__btn.btn--access{ width:calc((100% - 50px) / 3); }
.footerFixNav__btn.btn--tel{ width:calc((100% - 50px) / 3); }
.footerFixNav__btn.btn--reserve{ width:calc((100% - 50px) / 3); }
.footerFixNav__btn.btn--pagetop{ width:50px; }
.footerFixNav__btn.btn--access a{ background-color:#184566; }
.footerFixNav__btn.btn--access a::before{ content:"\f3c5"; font-weight:900;}
.footerFixNav__btn.btn--tel a{ background-color:#324774; }
.footerFixNav__btn.btn--tel a::before{ content:"\f095"; font-weight:900; }
.footerFixNav__btn.btn--reserve a{ background-color:#17294f; }
.footerFixNav__btn.btn--reserve a::before{ content:"\f274"; }
.footerFixNav__btn.btn--pagetop a{ background-color:#efefef; color:#17294f; }
.footerFixNav__btn.btn--pagetop a::before{ content:"\f077"; font-weight:900; }

