@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: 16px; 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: rgba(0,0,0,0.6); position: relative; z-index: 4000; line-height: 1.5; height: 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(0,0,0,0.4); }
#header-content .name-body{ position: absolute; left: 50%; top: 50%; margin-left: -556px; transform: translateY(-50%); display: -ms-flex; display: flex; justify-content: flex-start; align-items: center; }
#header-content .logo{ width: 290px; }
#header-content .logo a{ display: block; }
#header-content .name{ font-size: 14px; line-height: 1.2; color: #ffffff; font-weight: normal; margin-left: 20px; }
#header-content .primary-navi{ position: absolute; right: 50%; top: 50%; margin-right: -556px; transform: translateY(-50%); display: flex; display: -ms-flex; }
#header-content .primary-navi .navi{ border: solid #666666; border-width: 0 1px; /*min-width: 78px;*/ }
#header-content .primary-navi .navi:nth-child(n+2){ margin-left: -1px; }
#header-content .primary-navi .navi a{ color: #ffffff; text-decoration: none; display: flex; display: -ms-flex; align-items: center; justify-content: center; text-align: center; padding: 5px 15px; max-width: 150px; height: 100%; box-sizing: border-box; font-size: 12px; }
#header-content .primary-navi .navi a:hover{ background-color: #b5a04a; opacity: 1; color: #ffffff; }
#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 a:hover .icon svg{ fill: #ffffff; }
#container .primary-navi .navi-limited,
#container .primary-navi .navi-logout{ display: none; }
#container.status-login .primary-navi .navi-entry,
#container.status-login .primary-navi .navi-login{ display: none; }
#container.status-login .primary-navi .navi-limited,
#container.status-login .primary-navi .navi-logout{ display: block; }
#container .primary-navi .navi-entry .word{ width: 111.11%; transform: scaleX(0.9); transform-origin: 0 0; display: block; }
#container .primary-navi .navi-contract_login .word{ display: inline-block; line-height: 1.5; font-size: 12px; }
#container .primary-navi .navi-login .word{ width: 125%; transform: scaleX(0.8); transform-origin: 0 0; display: inline-block; line-height: 1.5; font-size: 12px; }
#container .primary-navi .navi-brand .word{ display: inline-block; line-height: 1.5; font-size: 12px; }
#header-content .primary-navi .navi.navi-reservation a{ background-color: #a20000; color: #ffffff; }
#header-content .primary-navi .navi.navi-reservation a .icon svg{ fill: #ffffff; }
#header-content .primary-navi .navi.navi-brand a{ background-color: #333333; color: #ffffff; }
#header-content .primary-navi .navi.navi-brand a .icon svg{ fill: #ffffff; }
#header-content .primary-navi .navi.navi-contract_login a{ background-color: #151e6b; color: #ffffff; }
#header-content .primary-navi .navi.navi-contract_login a .icon svg{ fill: #ffffff; }
#header-content .primary-navi .navi.navi-login a{ background-color: #d0bf80; color: #ffffff; padding-left: 0; padding-right: 0; }
#header-content .primary-navi .navi.navi-login a .icon svg{ fill: #ffffff; }
#header-content .primary-navi .navi.navi-logout a{ background-color: #d0bf80; color: #ffffff; }
#header-content .primary-navi .navi.navi-logout a .icon svg{ fill: #ffffff; }
#header-content .name-body{ display: block; }
#header-content .name{ margin: 5px 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: 5px 0 0; }
	#header-content .name br{ display: block; }
	#header-content .primary-navi{ margin-right: -470px; }
	#header-content .primary-navi .navi a{ padding: 5px 10px; max-width: 150px; }
}

/*--高解像度向けに画像置き換え--------------------------------------*/
@media screen and (-webkit-min-device-pixel-ratio: 1.5),screen and (min-resolution: 1.5dppx){
}



/*グローバルナビのcss*/
/*-------------------------------------------------------*/
#header-content .global-navi-wrapper{ display: none; }
#header-content .global-navi-menu{ display: none; }
#container/*.status-login*/ #header-content{ padding-top: 80px; height: auto; }
#container/*.status-login*/ #header-content .name-body,
#container/*.status-login*/ #header-content .primary-navi{ top: 40px; }
#container/*.status-login*/ .global-navi-wrapper{ display: block; /*background-color: #e4decf;*/ overflow: hidden; border-top: 1px solid #666666; }
#container/*.status-login*/ #main-content{ /*padding-top: 170px;*/ }
#container/*.status-login*/ .global-navi{ width: 1110px; margin: 0 auto; display: flex; display: -ms-flex; flex-wrap: wrap; }
#container/*.status-login*/ .global-navi .navi{ width: 16.6666%; margin-left: -1px; position: relative; }
/*#container.status-login .global-navi{ flex-wrap: wrap; }
#container.status-login .global-navi .navi{ width: 20%; }
#container.status-login #main-content{ padding-top: 232px; }
#container.status-login #main-content .announce{ top: 263px; }*/
#container/*.status-login*/ .global-navi .navi::before{ content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 50%; transform: translateY(-50%); box-sizing: border-box; border: solid #666666; border-width: 0 1px; }
#container/*.status-login*/ .global-navi .navi a{ font-size: 14px; line-height: 1.5; height: 40px; display: flex; display: -ms-flex; justify-content: center; align-items: center; text-align: center; color: #ffffff; text-decoration: none; font-family: 'YakuHanMP', 'Lora', 'Noto Serif JP', serif; position: relative; z-index: 10; }
#container/*.status-login*/ .global-navi .navi a .word .en{ display: block; font-size: 10px; display: none; }
#container/*.status-login*/ .global-navi .navi.current a .word::before{ content: ""; width: 90%; height: 1px; background-color: #918056; position: absolute; left: 50%; bottom: 4px; transform: translateX(-50%); }
#container/*.status-login*/ .global-navi .navi.current a .word::after{ content: ""; position: absolute; left: 50%; bottom: 5px; transform: translateX(-50%); border: solid transparent; border-bottom-color: #918056; border-width: 5px; }
#container/*.status-login*/ .global-navi .navi-contractor{ display: block; margin-left: auto; }
#container/*.status-login*/ .global-navi .navi-contractor::before{ display: none; }
#container/*.status-login*/ .global-navi .navi-contractor a{ background-color: #957f37; }
#container/*.status-login*/ .global-navi .navi-brand,
#container/*.status-login*/ .global-navi .navi-overview{ display: none; }
#container/*.status-login*/ .global-navi .navi-limited{  }
#container/*.status-login*/ .global-navi .navi-limited a{ background-color: #908352; margin-left: 1px; width: calc(100% - 2px); }
#container/*.status-login*/ .global-navi .navi-limited.current a .word::before{ background-color: rgba(255,255,255,0.5); }
#container/*.status-login*/ .global-navi .navi-limited.current a .word::after{ border-bottom-color: rgba(255,255,255,0.5); }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#container/*.status-login*/ .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: #ffffff; 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: #ffffff; 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: 110px;*/ }
#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 .hero{ position: relative; }
#main-content .hero img{ width: 100%; height: auto; }
#main-content .hero .caption{ position: absolute; right: 0; bottom: 0; padding: 2px 7px; background-color: rgba(0,0,0,0.8); color: #ffffff; }
#main-content .hero .page-ttl{ position: absolute; left: 0; top: 50%; transform: translateY(-50%); min-width: 364px; background: linear-gradient(to right, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0) 100%); font-family: 'YakuHanMP', 'EB Garamond', 'Cormorant Garamond', 'Lora', 'Noto Serif JP', serif; color: #ffffff; font-size: 20px; line-height: 1.5; letter-spacing: 0.5em; padding: 10px 60px; box-sizing: border-box; margin-top: 85px; }
#main-content .ttl01{ font-size: 30px; line-height: 1.7; font-weight: normal; text-align: center; color: #606060; }
#main-content .ttl01 .s-size{ font-size: 18px; }
#main-content .ttl02{ color: #000000; font-size: 36px; line-height: 1.5; font-family: 'YakuHanMP', 'EB Garamond', 'Cormorant Garamond', 'Lora', 'Noto Serif JP', serif; font-weight: normal; padding: 112px 0 15px 0.2em; margin-bottom: 80px; text-align: center; letter-spacing: 0.2em; position: relative; }
#main-content .ttl02::before{ content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 100px; height: 1px; background-color: #cccccc; }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#main-content .base-wrapper{ max-width: 940px; }
}


/*フッターのcss*/
/*-------------------------------------------------------*/
#container{ padding-bottom: 136px!important; }
#footer-content{ margin-top: 110px; }
#footer-content .tel-body{ text-align: center; padding: 70px 0; background: url(../images/img_parts/content/bg01.jpg) center center repeat; background-size: 200px 200px; }
#footer-content .tel-body .txt{ color: #666666; }
#footer-content .tel-body .tel{ margin: 10px auto 0; max-width: 521px; }
#footer-content .tel-body .tel+.txt{ margin-top: 10px; }
#footer-content .tel-body .txt-split{ display: flex; display: -ms-flex; justify-content: center; }
#footer-content .tel-body .txt-split .txt+.txt{ margin-left: 1em; }
#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.32089; max-width: 177px; }
#container .footer-credit .credit-list .item02{ flex: 2.08955; max-width: 280px; }
#container .footer-credit .credit-list .item03{ flex: 1.00746; max-width: 135px; }
#container .footer-credit .credit-list .item04{ flex: 1.06716; max-width: 143px; }
#container .footer-credit .credit-list .item05{ flex: 1; max-width: 134px; }
#container .footer-credit .credit-list .item a{ display: block; }
#container .footer-credit .credit-list .item01 a{ margin-top: 12%; }
#container .footer-credit .credit-list .item03 a{ margin-top: 15%; }
#container .footer-credit .credit-list .item04 a{ margin-top: 19%; }
#container .footer-credit .credit-list .item05 a{ margin-top: 21%; }
#container .footer-credit .credit-list .item .logo{ margin-top: 10px; }
#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: 3000; }
#link-exchange .ttl{ font-size: 24px; line-height: 24px; color: #000000; font-weight: bold;}
#link-exchange .link-exchange-navi{ /*width: 840px;*/ width: 840px; margin: 50px auto 0; text-align: left; }
#link-exchange .link-exchange-navi .navi{ /*width: 400px;*/ width: 48%; display: inline-block; vertical-align: top; position: relative; text-align: center; }
/*#link-exchange .link-exchange-navi .navi:nth-child(n+2){ margin-left: 4%%; }*/
#link-exchange .link-exchange-navi .navi:nth-child(2n+2){ margin-left: 4%; }
#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; }*/
}
