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


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

body{ font-size: 1.4rem; }

.pc{ display:none !important; }


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


/* = Prats


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

/* = Ttl
-----------------------------------------------------------------------------------------------*/
.ttl--bg-w span{ padding:20px 25px 15px 25px; font-size:2.5rem;  }
.ttl--bg-w span small{ font-size:1.3rem; }

.ttl--line-bg { background-position:center 25px; background-size:160px auto; }

.ttl--line{ margin-bottom:25px; font-size:2.5rem; }
.ttl--line small{ font-size:1.3rem; }
.ttl--line small::before{ width:16px; transform: translateX(-8.5px); }
.ttl--line small::after{ width:16px; transform: translateX(8.5px);  }

.ttl--vline{ font-size:1.8rem; text-align:center; }
.ttl--vline span{ position:relative; display:inline-block; padding:0 0.5em; }
.ttl--vline span::before{ left:-37px; }
.ttl--vline span::after{ right:-37px;  }
.ttl--vline small{ display:block; text-align:center; }

.ttl--vline2{ font-size:3.0rem; line-height:1.2em; }

.ttl--bline{ margin-bottom:25px; font-size:2.2rem;  }

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

.ttl--center{ margin-bottom:20px; font-size:2.2rem;  }
.ttl--center small{ display:block; text-align:center; }

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

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

.ttl--ltline{ font-size:1.8rem; }
.ttl--ltline small{ display:block; }


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

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

.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.6rem; }


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


/* = Blc


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

/*

.mainVisualBlc

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

/* ttl--main */
.ttl--main{ font-size:3.6rem;  }
.ttl--main small{ font-size:1.4rem; }

/* topicPath */
.topicPath{ overflow-x: auto; }
.topicPath::-webkit-scrollbar { height: 2px;}
.topicPath::-webkit-scrollbar-track {}
.topicPath::-webkit-scrollbar-thumb { background: #8D7D60; }


/* = pagenavBlc
-----------------------------------------------------------------------------------------------*/
.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
-----------------------------------------------------------------------------------------------*/
.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{ /*maxの値を直書き*/ }

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

/* bottom */
.bnrBlc__bottom{ width:90%; margin:0 auto 50px auto; }
.bnrBlc__bottom--item01 { order: 1; flex-basis:48%; margin-bottom:10px; }
.bnrBlc__bottom--item02 { order: 2; flex-basis:48%; margin-bottom:10px; }
.bnrBlc__bottom--item03 { order: 3; flex-basis:100%; }
.bnrBlc__bottom--item03 p{ flex-basis:48%; margin-bottom:10px; }

/*20230613add*/
.bnrBlc__bottom--item03 > div{}
.bnrBlc__bottom--item03 > div:nth-of-type(1){ order: 3; flex-basis:100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch;}
.bnrBlc__bottom--item03 > div:nth-of-type(2){ order: 1; flex-basis:48%; }
.bnrBlc__bottom--item03 > div:nth-of-type(3){ order: 2; flex-basis:48%; }
.bnrBlc__bottom--item03 > div:nth-of-type(1) p{ flex-basis:48%; margin-bottom:10px;}
.bnrBlc__bottom--item03 > div:nth-of-type(2) p,
.bnrBlc__bottom--item03 > div:nth-of-type(2) p{ flex-basis:100%; margin-bottom:10px;}



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



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


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


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


/* = header


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

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

.headerInner{}
.headerInner__description{ background-color:#334875; text-align:left; }
.headerInner__logo { max-width:110px; height:40px; margin:10px auto 10px 5px; text-align:left; }
.headerInner__spNav { position:fixed; top: 20px; right: 0px; display:flex; flex-direction:row; }
.headerInner__spNav p,.headerInner__spNav p a{ display:block; width:60px; height:60px; }
.headerInner__spNav p{ position:relative; }
.headerInner__spNav p span{ position:absolute; left:0; bottom:5px; display:block; width:100%; font-size:0.9rem; line-height:1em; text-align:center; }
/*20231101*/
.headerInner__spNav .instagramBtn{}
.headerInner__spNav .instagramBtn a::before{ position:absolute; left:0; top:12px; right:0; margin:0 auto; content:"";  }
/*20231101*/
.headerInner__spNav .busBtn{}
.headerInner__spNav .busBtn a::before{ position:absolute; left:0; top:15px; right:0; margin:0 auto; }
.headerInner__spNav .enBtn{}
.headerInner__spNav .enBtn a::before{ position:absolute; left:0; top:15px; right:0; margin:0 auto; }
/*.headerInner__spNav .btn--en a:after{ display:none !important; }*/


.headerInner__spNav .gnavBtn{ position:relative; background-color:#17294F; cursor: pointer; transition: all .5s; }
.headerInner__spNav .gnavBtn small { display: inline-block; box-sizing: border-box; position: absolute; left: 21px; width: 18px; height: 2px; background-color: #FFFFFF; transition: all .5s; }
.headerInner__spNav .gnavBtn small:nth-of-type(1) { top: 17px; }
.headerInner__spNav .gnavBtn.active small:nth-of-type(1) { transform: translateY(5px) rotate(-45deg); }
.headerInner__spNav .gnavBtn small:nth-of-type(2) { top: 22px; }
.headerInner__spNav .gnavBtn.active small:nth-of-type(2) { opacity: 0; }
.headerInner__spNav .gnavBtn small:nth-of-type(3) { top: 27px; }
.headerInner__spNav .gnavBtn.active small:nth-of-type(3) { transform: translateY(-5px) rotate(45deg); }

.headerOuter .gnavOuter{ position: fixed; top: 0; left: 0; z-index: 3; overflow-y:scroll; width:100%; height: 100%; padding:20px 0 200px 0 ; background-color:#17294F; transform: translateY(-100%);  transition: all .5s; }
.headerOuter .gnavInner{ margin:0 20px 0 20px; background-color:#334875; }
.headerOuter .gnavInner ul.depth1 > li:not(:last-of-type) > a{ border-bottom:solid 1px #516591; }
.headerOuter .gnavOuter.open { transform: translateY(80px); }
.headerOuter .gnavOuter ul.depth1 > li div.menu-items { height:0; }
.headerOuter .gnavOuter ul.depth1 > li div.menu-items.open { transition:0.5s linear 0s , height 0.8s linear 0s; height:auto; padding:0 20px 20px 20px;  }

.headerOuter .langnav { height:36px; margin:20px 20px 0 20px; }
.headerOuter .langnav__selected { height:36px; line-height:36px;  }
.headerOuter .langnav__selectlist { top:35px;  }

.headerOuter .headerOuter__btn--bus a{ margin:20px 20px 0 20px; text-align:center; }
.headerOuter .headerOuter__btn--bus a br{ display:none; }
.headerOuter .headerOuter__btn--contact a{ height:46px; line-height:46px; margin:20px 20px 0 20px; }

.headerOuter .gnavOuter .searchOuter{ margin:20px 20px 0 20px; color:#000000; }

/*20231019*/
.headerOuter .sns { margin-left: 20px; margin-right: 20px;}
.headerOuter .sns__list li a{ background-color:#334875; }

/*20241105*/
.headerOuter .langBtn{ margin:0 20px 20px 20px; display: flex; flex-direction: row; justify-content: space-between; align-items: stretch; gap: 0 5px;}
.headerOuter .langBtn__btn{ width: calc((100% - (5px * 2)) / 3);}
.headerOuter .langBtn__btn a{ display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; text-align: center; padding:10px 5px; line-height: 1.4; }
.headerOuter .langBtn__btn a::before{ display: none; }
.headerOuter .langBtn__btn a span{ display: block; font-size: 1.0rem; }
.headerOuter .langBtn__btn a span big{ display: block; font-size: 1.4rem; }
/************************************************************************************************


/* = searchOuter


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

.searchOuter{}
.searchInner{ padding:20px; }
.searchForm .searchForm__ttl{ font-size:1.6rem;  }
.searchForm form{ justify-content:space-around; flex-wrap:wrap; }
.searchForm form .date_489ban{ width:100%; }
.searchForm form .inbox_489ban{ width:49%; justify-content:space-between; }
.searchForm form .inbox_489ban dl{ width:49%; }
.searchForm form .inbox_489ban dl dd{ width:100%; }
.searchForm form dl{ margin-bottom:10px; }
.searchForm form button{ width:60%; margin:0 20% 0 20%; padding-left:10px; height:46px; line-height:46px; font-size:1.4rem;  background-position:28px center; background-size:auto 18px; }

.searchBtn{ justify-content:space-around; flex-wrap:wrap; text-align:center; }
.searchBtn__tel{ width:100%; padding:10px 10px 10px 10px; }
.searchBtn__tel a{ color:#000000; }

.searchBtn__btn a{ font-size:1.6rem; }
.searchBtn__btn a  br{ display:none; }
/*20240106*/
/*.searchBtn__btn--489{ width:49%; }*/
.searchBtn__btn--489{ width:100%; margin-bottom: 5px; }
.searchBtn .btn--en{ display:none; }

/*20241105*/
.searchBtn .btn--ch1{ display:none; }
.searchBtn .btn--ch2{ display:none; }
  
/************************************************************************************************


/* = mainContensOuter


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

.mainOuter{ width:100%; padding-top:80px; }

 
.mainInner { width:100%; padding: 0 20px; }
.mainInner + .mainInner{ margin-top:50px; }


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


/* = footerOuter


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

.footerOuter{ width:100%; padding:30px 0 55px 0; 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{ position:fixed; bottom:-50px; left:0; width:100%; display:flex; flex-direction:row; justify-content:center; flex-wrap:wrap; }
.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; }



