@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: #ffffff; }
#container p,#container div{ color:#666666; font-family: 'YakuHanJP', Lato, "メイリオ", "游ゴシック", YuGothic, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; font-feature-settings: "pkna"; font-weight: normal; }
a{ color: #0086c5; transition: all 0.25s linear; }
#footerNavArea #slideWrap .slideNav a{ line-height: 0; }
#container a:hover{ opacity: 0.7; }
#allWrapper{ z-index: 10; min-width: 1112px; width: 100%; }
#container{ min-height: 0!important; width: 100%; margin: 0; padding: 0!important; }
#container p,#container div{ font-size: 14px; line-height: 1.5; }
#main-content p{ line-height: 2; }
#container .ns{ font-size: 12px; line-height: 1.5; }
.default-width{ max-width: 1112px; margin-left: auto; margin-right: auto; padding: 0 10px; }
#container .mincho,#container .mincho{ font-family: 'YakuHanMP', 'Lora', 'Noto Serif JP', serif; }
.sw-elm .pc,.sw-elm .tb-h,.sw-elm .tb-v,.sw-elm .sp{ display: none; }
.sw-elm .pc{ display: block; }
.sw-elm img.pc{ display: inline; }
.js-inview{ opacity: 0; transition: opacity 1s ease-in; }
.show{ opacity: 1!important; }
.js-inview2{ opacity: 0; transform: translateY(50px); transition: opacity 1s ease-in, transform 1s ease-out; }
.js-inview2.show{ opacity: 1!important; transform: translateY(0); }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#allWrapper{ min-width: 940px; }
	.sw-elm .pc,.sw-elm img.pc{ display: none; }
	.sw-elm .tb-h{ display: block; }
	.sw-elm img.tb-h{ display: inline; }
}



/*ヘッダーのcss*/
/*-------------------------------------------------------*/
#header-content{ margin: auto; width: 100%; min-width: 1112px; background-color: #ffffff; position: relative; z-index: 7000; line-height: 1.5; padding-top: 110px; }
#header-content{ position: fixed; left: 0; top: 0; }
#header-content::before{ content: ""; position: absolute; left: 0; top: 100%; width: 100%; height: 32px; background-color: rgba(255,255,255,0.7); }
#header-content .name-body{ position: absolute; left: 50%; top: 0; margin: 39px 0 0 -556px; display: -ms-flex; display: flex; justify-content: flex-start; align-items: center; }
#header-content .logo{ width: 352px; }
#header-content .logo a{ display: block; }
#header-content .name{ font-size: 14px; line-height: 1.2; color: #666666; font-weight: normal; margin-left: 20px; }
#header-content .primary-navi{ position: absolute; right: 50%; top: 0; margin: 23px -556px 0 0; display: flex; display: -ms-flex; }
#header-content .primary-navi .navi{ border: solid #cccccc; border-width: 0 1px; display: flex; display: -ms-flex; align-items: center; }
#header-content .primary-navi .navi:nth-child(n+2){ margin-left: -1px; }
#header-content .primary-navi .navi a{ color: #606060; text-decoration: none; display: block; text-align: center; padding: 5px 10px; font-size: 12px; }
#header-content .primary-navi .navi a .icon{ display: block; width: 30px; vertical-align: middle; line-height: 0; margin: 0 auto; }
#header-content .primary-navi .navi a .icon svg{ fill: #606060; }
#header-content .primary-navi .navi-entry a{ background: linear-gradient(to right, #a69076 0%, #796444 100%); color: #ffffff; }
#header-content .primary-navi .navi-entry a .icon svg{ fill: #ffffff; }
#header-content .primary-navi .navi-reservation a{ background: linear-gradient(to right, #a67f76 0%, #794e44 100%); color: #ffffff; }
#header-content .primary-navi .navi-reservation a .icon svg{ fill: #ffffff; }
#header-content .primary-navi .navi-brand a{ background-color: #333333; color: #ffffff; line-height: 1.25; font-size: 12px; padding: 6px 10px; }
#header-content .primary-navi .navi-brand a .icon{ width: 18px; }
#header-content .primary-navi .navi-brand a .icon svg{ fill: #ffffff; }
#header-content .primary-navi .navi-contract_login a{ background: linear-gradient(to right, rgb(42, 53, 124) 0%, #0d0b4d 100%); color: #ffffff; line-height: 1.25; font-size: 12px; padding: 6px 10px; }
#header-content .primary-navi .navi-contract_login a .icon{ width: 16px; }
#header-content .primary-navi .navi-contract_login a .icon svg{ fill: #ffffff; }
#header-content .primary-navi .navi-login a{ background: linear-gradient(to right, #b1913e 0%, #90710c 100%); color: #ffffff; line-height: 1.25; font-size: 12px; padding: 6px 10px; }
#header-content .primary-navi .navi-login a .icon{ width: 16px; }
#header-content .primary-navi .navi-login a .icon svg{ fill: #ffffff; }
#header-content .primary-navi .navi-logout{ display: none; }
#header-content .primary-navi .navi-logout a{ background-color: #9e9082; color: #ffffff; }
#header-content .primary-navi .navi-logout a .icon svg{ fill: #ffffff; }

#header-content .name-body{ margin-top: 30px; display: block; }
#header-content .name{ margin: 10px 0 0; }
#header-content .name br{ display: none; }


/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#header-content{ min-width: 940px; }
	#header-content .name-body{ margin-left: -470px; display: block; }
	#header-content .name{ margin: 10px 0 0; }
	#header-content .name br{ display: none; }
	#header-content .primary-navi{ margin-right: -470px; }
	#header-content .primary-navi .navi a{ padding: 5px; }
}

/*--高解像度向けに画像置き換え--------------------------------------*/
@media screen and (-webkit-min-device-pixel-ratio: 1.5),screen and (min-resolution: 1.5dppx){
}



/*グローバルナビのcss*/
/*-------------------------------------------------------*/
#header-content .global-navi-wrapper{ display: block; }
#header-content .global-navi-wrapper .global-navi-menu{ display: none; }
#header-content .global-navi-wrapper .global-navi{ width: 1112px; margin: -15px auto 0; display: flex; display: -ms-flex; justify-content: center; }
#header-content .global-navi-wrapper .global-navi .navi{ width: 16.6666%; /*width: 20%;*/ text-align: center; position: relative; }
#header-content .global-navi-wrapper .global-navi .navi:nth-child(n+1){ margin-left: -1px; }
#header-content .global-navi-wrapper .global-navi .navi-map,
#header-content .global-navi-wrapper .global-navi .navi-overview,
#header-content .global-navi-wrapper .global-navi .navi-entry,
#header-content .global-navi-wrapper .global-navi .navi-reservation,
#header-content .global-navi-wrapper .global-navi .navi-brand{ display: none; }
#header-content .global-navi-wrapper .global-navi .navi a{ display: flex; display: -ms-flex; justify-content: center; align-items: center; text-align: center; color: #414141; text-decoration: none; font-size: 14px; line-height: 1.5; position: relative; height: 50px; z-index: 10; }
#header-content .global-navi-wrapper .global-navi .navi::before{ content: ""; position: absolute; left: 0; top: 50%; height: 20px; width: 100%; border: solid #d2cfcc; border-width: 0 1px; transform: translateY(-50%); box-sizing: border-box; }
#header-content .global-navi-wrapper .global-navi .navi.current::after{ content: ""; position: absolute; left: 50%; bottom: 0; width: 45%; height: 2px; background-color: #998273; transform: translateX(-50%); z-index: 15; }
#header-content .global-navi-wrapper .global-navi .navi-luxary a{ background: linear-gradient(to right, #6e5c2c 0%, #372f1d 100%); color: #d0c99c; }
#header-content .global-navi-wrapper .global-navi .navi-luxary.current::after{ background-color: #d0c99c; }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#header-content .global-navi-wrapper .global-navi{ width: 940px; }
}

/*--高解像度向けに画像置き換え--------------------------------------*/
@media screen and (-webkit-min-device-pixel-ratio: 1.5),screen and (min-resolution: 1.5dppx){
}



/*パンくずのcss*/
/*-------------------------------------------------------*/
#container .breadcrumb{ padding: 8px 0; width: 1112px; margin: 0 auto; overflow: hidden; position: absolute; right: 50%; top: 100%; transform: translateX(50%); }
#container .breadcrumb .item{ float: left; color: #666666; font-size: 12px; line-height: 1.3; position: relative; }
#container .breadcrumb .item+.item{ padding-left: 18px; }
#container .breadcrumb .item+.item::before{ content: '〉'; position: absolute; left: 6px; top: 50%; transform: translateY(-50%) scaleY(0.5); }
#container .breadcrumb .item a{ color: #666666; text-decoration: none; }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#container .breadcrumb{ width: 940px; }
}




/*メインのcss*/
/*-------------------------------------------------------*/
#header-content.fixed-navi~#main-content{ margin-top: 0!important; }
#main-content{ /*padding-top: 162px;*/ line-height: 1.5; padding-top: 146px; }
#main-content.hide{ visibility: hidden; }
#container .content-end-space{ padding-bottom: 80px; }
#main-content .base-wrapper{ max-width: 1112px; padding-left: 5%; padding-right: 5%; margin-left: auto; margin-right: auto; }
#main-content .page-ttl{ color: #606060; font-size: 30px; line-height: 1.5; font-family: 'YakuHanMP', 'Lora', 'Noto Serif JP', serif; font-weight: normal; padding-top: 80px; text-align: center; }
#main-content .ttl01{ font-size: 32px; line-height: 1.79; font-weight: normal; text-align: center; color: #231815; }
#main-content .ttl01 .s-size{ font-size: 18px; }
#main-content .content-body{ padding: 100px 0; }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#main-content .base-wrapper{ max-width: 940px; }
}


/*フッターのcss*/
/*-------------------------------------------------------*/
#container{ padding-bottom: 136px!important; }
#footerArea,
#footerNavArea{ z-index: 6500; }
#footer-content{ background: url(../images/img_parts/footer/bg01.jpg?20250513) center center no-repeat; background-size: cover; position: relative; z-index: 6000; }
#footer-content .footer-split{ padding: 94px 0 77px; max-width: 790px; margin: 0 auto; /*display: -ms-flex; display: flex; align-items: center;*/ }
#footer-content .footer-split .request{ flex: 1; text-align: center; }
#footer-content .footer-split .request .en{ font-size: 18px; line-height: 1.5; letter-spacing: 0.5em; color: #372f1d; }
#footer-content .footer-split .request .copy{ font-size: 24px; line-height: 1.5; letter-spacing: 0.3em; color: #372f1d; margin-top: 10px; }
#footer-content .footer-split .request .txt{ font-size: 16px; line-height: 1.75; color: #7b6746; margin-top: 20px; }
#footer-content .footer-split .request .navi-list{ margin: 20px auto 0; display: flex; display: -ms-flex; justify-content: space-between; flex-wrap: wrap; }
#footer-content .footer-split .request .navi-list .navi{ max-width: 380px; width: 100%; }
#footer-content .footer-split .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; }
#footer-content .footer-split .request .navi-list .navi-entry a{ background: linear-gradient(to right, #a69076 0%, #796444 100%); }
#footer-content .footer-split .request .navi-list .navi-reservation a{ background: linear-gradient(to right, #a67f76 0%, #794e44 100%); }
#footer-content .footer-split .request .navi-list .navi-login{ max-width: none; margin-top: 20px; }
#footer-content .footer-split .request .navi-list .navi-login a{ background: linear-gradient(to right, #b1913e 0%, #90710c 100%); }
#footer-content .footer-split .info{ flex: 1; text-align: center; border-top: 1px solid #b7b3b0; margin-top: 40px; padding-top: 40px; }
#footer-content .footer-split .info .name{ font-size: 18px; line-height: 1.56; color: #2e2e2e; }
#footer-content .footer-split .info .tel{ width: 386px; margin: 10px auto; }
#footer-content .footer-split .info .txt{ margin-top: 10px; color: #2e2e2e; }
#container .footer-caption{ margin: 0 auto; max-width: 1112px; padding: 10px 0; }
#container .footer-credit{ padding: 50px 0; background-color: #ffffff; }
/*#container .footer-credit{ position: relative; }
#container .footer-credit::before{ content: ""; position: absolute; left: 0; top: 118px; width: 100%; height: 1px; background-color: #000000; }*/
#container .footer-credit .credit-list{ max-width: 1112px; margin: 0 auto; display: flex; display: -ms-flex; justify-content: center; }
#container .footer-credit .credit-list .item:nth-child(n+2){ margin-left: 40px; }
#container .footer-credit .credit-list .item .head{ font-size: 12px; line-height: 1.5; text-align: center; }
#container .footer-credit .credit-list .item01{ flex: 1.2822; max-width: 209px; }
#container .footer-credit .credit-list .item02{ flex: 1.3435; max-width: 219px; }
#container .footer-credit .credit-list .item03{ flex: 1.0000; max-width: 163px; }
#container .footer-credit .credit-list .item04{ flex: 1.2085; max-width: 197px; }
#container .footer-credit .credit-list .item .logo{ margin-top: 10px; }
#container .footer-credit .credit-list .item01 .logo{ padding-top: 5px; }
#container .footer-credit .credit-list .item02 .logo{ padding-top: 5px; }
#container .footer-credit .credit-list .item03 .logo{ padding-top: 8px; }
#container .footer-credit .credit-list .item04 .logo{ padding-top: 0%; }
#container .footer-credit .credit-list .item .logo a{ display: block; }
#container .footer-credit .credit-list .item .logo img{ width: 100%; height: auto; }
#sp-util{ display: none; }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
}


/*相互リンクのcss*/
/*-------------------------------------------------------*/
#link-exchange{ background-color: #f9f9f9; border-top: 1px solid #e5e5e5; padding-top: 50px; text-align: center; position: relative; z-index: 1000; }
#link-exchange .ttl{ font-size: 24px; line-height: 24px; color: #000000; font-weight: bold;}
#link-exchange .link-exchange-navi{ /*width: 840px;*/ width: 400px; margin: 50px auto 0; }
#link-exchange .link-exchange-navi .navi{ /*width: 400px;*/ width: 100%; display: inline-block; vertical-align: top; position: relative; }
#link-exchange .link-exchange-navi .navi:nth-child(n+2){ margin-left: 2.72%; }
/*#link-exchange .link-exchange-navi .navi:nth-child(2n+2){ margin-left: 30px; }
#link-exchange .link-exchange-navi .navi:nth-child(n+3){ margin-top: 40px; }*/
#link-exchange .link-exchange-navi .photo{ position: relative; }
#link-exchange .link-exchange-navi .photo img{ width: 100%; height: auto; }
#link-exchange .link-exchange-navi .photo .caption{ position: absolute; left: 0; bottom: 0; background-color: #000000; background-color: rgba(0,0,0,0.8); color: #ffffff; padding: 3px 7px; font-size: 12px; line-height: 1.5; }
#link-exchange .link-exchange-navi .name{ font-size: 18px; line-height: 24px; color: #000000; padding: 20px 0 15px; }
#link-exchange .link-exchange-navi .txt{ text-align: left; text-decoration: underline; font-size: 14px; line-height: 24px; }
#link-exchange .link-exchange-navi a{ position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 10; background: rgba(255,255,255,0); }
#link-exchange .link-exchange-navi a:hover~.txt{ text-decoration: none; }
#link-exchange .link-exchange-navi a~*{ transition: opacity 0.25s linear; }
#link-exchange .link-exchange-navi a:hover~*{ opacity: 0.7; }
#link-exchange > .caption{ margin: 100px auto 0; padding: 10px; max-width: 1112px; text-align: left; }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	/*#link-exchange .link-exchange-navi{ width: 940px; }*/
	/*#link-exchange .link-exchange-navi > .navi{ width: 293px; }*/
}
