@charset "UTF-8";

/*reset*/
/*-------------------------------------------------------*/
article,aside,figure,figcaption,footer,header,nav,section,main{ display: block; }
small{ font-size: inherit; line-height: inherit; }
body,p,h1,h2,h3,h4,h5,h6,dl,dt,dd,div{ margin: 0; padding: 0; }
ul,li,ol{ list-style: none; margin: 0; padding: 0; }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
a img{ border: none; }




/*initialize*/
/*-------------------------------------------------------*/
body{ background-color: #fff; }
body,p,div{ color:#000; letter-spacing: 0; }
a{ color: #000; text-decoration: none; transition: all 0.25s linear; }
#allWrapper{ overflow: hidden; }
#container{ width: 100%; min-height: 0!important; margin: 0 auto; padding: 0!important; font-family: 'YakuHanMP', "ヒラギノ明朝 ProN W3","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-size: 16px; line-height: 1.5; }
#container img{ width: 100%; }
#container a:hover{ opacity: .7; }
.clearfix{ display:block; }
.clearfix:after{ content:"."; display:block; height:0; clear:both; visibility:hidden; }
.pc{ display: none; }
.tb{ display: none; }
.sp{ display: block; }



/*ヘッダーのcss*/
/*-------------------------------------------------------*/
#header-content{ position: relative; border-bottom: 1px solid #e0e0e0; z-index: 5000; background-color: #ffffff; width: 100%; }
#header-content.fixed-navi{ position: fixed; top: 0; }
#header-content .logo{ width: 64.66vw; position: absolute; left: 3.56vw; top: 3.05vw; }
#header-content .logo a{ line-height: 1; display: block; }
#header-content .logo img{ width: 100%; height: auto; }
#header-content .name{ font-size: 2.54vw; position: absolute; left: 3.56vw; top: 8.05vw; white-space: nowrap; transform: scaleX(0.9); transform-origin: 0 0; display: block; }
#header-content .name .word+.word{ margin-left: 0.3em; }
#header-content .primary-navi01{ display: none; }
#header-content .primary-navi02{ position: absolute; right: 14.26vw; width: 10.72vw; height: 14.26vw; }
#header-content .primary-navi02 .navi{ display: none; }
#header-content .primary-navi02 .navi-limited{ display: block; text-align: center; width: 100%; height: 100%; position: relative; }
#header-content .primary-navi02 .navi-limited a{ display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
#header-content .primary-navi02 .navi-limited img{ width: 6.1vw; }
#header-content .primary-navi02 .navi-limited .word{ display: block; font-size: 2.03vw; line-height: 1.1; color: #c0a457; }



/*グローバルナビのcss*/
/*-------------------------------------------------------*/
#header-content .global-navi-menu{ width: 14.26vw; height: 14.26vw; background: url(../images/common/icon_menu.png) 0 0 no-repeat; background-size: 100% auto; position: relative; cursor: pointer; color: transparent; margin-left: auto; /*background-color: #000;*/ }
#header-content .global-navi-menu.status-open{ background-position: 0 bottom; position: fixed; z-index: 5001; top: 0; right: 0; transform: none; }
#header-content .global-navi{ position: fixed; top: 0; width: 100%; overflow-y: scroll; -webkit-overflow-scrolling: touch; opacity: 0; z-index: 1000; pointer-events: none; z-index: -1; background-color: #f9f7ee; }
#header-content .global-navi-menu.status-open+.global-navi{ opacity: 1; height: calc(100vh - 50px); height: calc(calc(var(--vh, 1vh) * 100) - 50px); pointer-events: auto; z-index: 5000; transition: opacity 0.25s; padding: 60px 5% 30px; box-sizing: border-box; }
#header-content .global-navi .navi{ border: solid #cccccc; border-width: 1px 0; }
#header-content .global-navi .navi+.navi{ margin-top: -1px; }
#header-content .global-navi .navi a{ text-decoration: none; padding: 2.06vw 0; display: block; color: #ab8d2a; }
#header-content .global-navi .navi-login a{ color: #777777; }
#header-content .global-navi .navi.current a{ background: linear-gradient(6deg ,#d0c195 50%, #dccda1 50%) ; color: #ffffff; }
#header-content .global-navi .navi a .word-wrap{ text-align: center; }
#header-content .global-navi .navi a .word-wrap .word{ font-size: 2.19vw; line-height: 1.5;  display: block; }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 480px){ /*480px以下のcss*/
#header-content .global-navi .navi a{ padding: 3.12vw 0; }
#header-content .global-navi .navi a .word-wrap .word{ font-size: 2.91vw; }
}



/*パンくずのcss*/
/*-------------------------------------------------------*/
.breadcrumb{ display: none; }




/*メインのcss*/
/*-------------------------------------------------------*/
.mainContent{ position: relative; }
.anim { opacity: 0; -webkit-transform: translate(0, 50px); transform: translate(0, 50px); -webkit-transition: all 1.5s; transition: all 1.5s; }
.anim.active { opacity: 1; -webkit-transform: translate(0, 0); transform: translate(0, 0); }
.pageCaption { width: 89.844%; padding: 7.161% 0; margin: 0 auto; font-size: 2.604vw; }


/*フッターのcss*/
/*-------------------------------------------------------*/
#footer-content{ background-color: #ffffff; line-height: 1.5; position: relative; overflow: hidden; }
/*#footer-content::before{ content: ''; position: absolute; right: 50%; top: 0; width: 1400px; height: 1px; background: linear-gradient(to right, #ffffff 0%,#bed2c1 50%,#ffffff 100%); transform: translateX(50%); z-index: 10; }*/
#footer-content .footer-info{ padding: 10% 0; position: relative; text-align: center; border: solid #dddddd; border-width: 1px 0; }
/*#footer-content .footer-info::before{ content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url(../images/img_parts/contents/bg01.jpg) center center repeat; background-size: 118px 115px; opacity: 0.5; }*/
#footer-content .footer-info > *{ position: relative; z-index: 10; }
#footer-content .footer-info > *+*{ margin-top: 10px; }
#footer-content .footer-info .name{ font-size: 3.2vw; line-height: 1.56; }
#footer-content .footer-info .name .s-size{ font-size: 85%; }
#footer-content .footer-info .txt{ font-size: 2.8vw; }
#footer-content .footer-info .tel.have-link{ height: auto; background: none; width: auto; }
#footer-content .footer-info .tel.have-link a{ display: block; border: 1px solid #c6c6c6; border-radius: 32px; padding: 12px 25px; background: #ffffff; }
#footer-content .footer-info .tel.have-link a:active{ background: #fafafa; }
#footer-content .footer-info .contact-navi{ margin: 30px auto 0; padding: 0 5%; }
#footer-content .footer-info .contact-navi .navi{ max-width: 360px; display: block; background-color: #ffffff;  overflow: hidden; margin: 0 auto; }
#footer-content .footer-info .contact-navi .navi+.navi{ margin-top: 10px; }
#footer-content .footer-info .contact-navi .navi a{ display: block; color: #ffffff; text-decoration: none; font-size: 20px; padding: 15px 0; position: relative; border-radius: 30px; border: 1px solid #cccccc; }
#footer-content .footer-info .contact-navi .navi-request a{ background: #ffffff; color: #606060; }
#footer-content .footer-info .contact-navi .navi-reservation a{ background: #c02940; color: #ffffff; }
#footer-content .footer-info .contact-navi .navi a img{ margin-right: 0.5em; }
#footer-content .footer-info .contact-navi .navi a .inner{ display: inline-block; vertical-align: top; }
#footer-content .credit{ width: 90%; text-align: left; display: -ms-flex; display: flex; flex-wrap: wrap; margin: 0 auto; margin-top: 10%; }
#footer-content .credit .item{ width: 50%; margin-right: 0;  }
#footer-content .credit .item:nth-child(n+3){ margin-top: 6.510%; }
#footer-content .credit .item .name{ margin-bottom: 2%; font-size: 2.344vw; }
#footer-content .credit .item01 .logo{ width: 86.842%; }
#footer-content .credit .item02 .logo{ width: 70.724%; }
#footer-content .credit .item03 .logo{ width: 69.408%; }
#footer-content .credit .item04 .logo{ width: 100%; }
#footer-content .credit .item05 .logo{ width: 95.066%; }
#footer-content .credit .item a{ display: block; }
#footer-content .global-navi-menu{ display: none; }
#footer-content .global-navi{ text-align: center; padding: 20px 0; background-color: #ffffff; border-top: 1px solid #dddddd; display: none; }
#footer-content .global-navi .navi{ display: inline-block; padding: 0 10px; border: solid #999999; border-width: 0 1px; line-height: 1; margin: 5px 0; }
#footer-content .global-navi .navi~.navi{ margin-left: -1px; }
#footer-content .global-navi .navi a{ color: #666666; font-size: 12px; text-decoration: none; }
#sp-util{ display: -ms-flex; display: flex; border-top: 1px solid #ffffff; position: fixed; z-index: 5000; bottom: 0; width: 100%; background-color: #ffffff; }
#sp-util .navi{ width: 25%; text-align: center; position: relative; }
#sp-util .navi+.navi::before{ content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 100%; background-color: #ffffff; z-index: 5; }
#sp-util .navi a{ display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 100%; height: 50px; font-size: 12px; line-height: 1.5; text-decoration: none; color: #ffffff; }
#sp-util .navi a img{ width: 22px; }
#sp-util .navi01 a{ background-color: #86c7bb; }
#sp-util .navi02 a{ background-color: #bf2940; }
#sp-util .navi03 a{ background-color: #8a8077; }
#sp-util .navi04 a{ background-color: #8a8077; }
#sp-util .navi05 a{ background-color: #8a8077; }
#sp-util .navi a img{ display: block; margin: 0 auto; }


