@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; }
.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: 4000; line-height: 1.5; /*background-color: rgba(255,255,255,0.5);*/ }
#header-content{ position: fixed; left: 0; top: 0; }
#header-content::before{ content: ""; position: absolute; left: 0; top: 100%; width: 100%; height: 32px; background: linear-gradient(to right, rgba(156,166,185,0.7) 50%, rgba(156,166,185,0) 70%); }
#header-content .name-body{ position: absolute; left: 50%; top: 30px; margin-left: -556px; display: -ms-flex; display: flex; justify-content: flex-start; align-items: center; }
#header-content .logo{ width: 297px; }
#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: 10px; margin-right: -556px; display: flex; display: -ms-flex; }
#header-content .primary-navi .navi{ border: solid #cccccc; 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: #606060; text-decoration: none; display: flex; display: -ms-flex; justify-content: center; align-items: center; text-align: center; padding: 5px 15px; max-width: 130px; height: 100%; box-sizing: border-box; }
#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; }
#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-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.2; font-size: 12px; }
#header-content .primary-navi .navi.navi-entry a{ background-color: #ba9b6c; color: #ffffff; }
#header-content .primary-navi .navi.navi-entry 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; }


/*--レスポンシブ追加プロパティ--------------------------------------*/
@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 10px; max-width: 120px; }
}

/*--高解像度向けに画像置き換え--------------------------------------*/
@media screen and (-webkit-min-device-pixel-ratio: 1.5),screen and (min-resolution: 1.5dppx){
}



/*グローバルナビのcss*/
/*-------------------------------------------------------*/
#header-content .global-navi-wrapper{ margin-top: 96px; }
#header-content .global-navi-menu{ display: none; }
#header-content .global-navi{ width: 1110px; margin: 0 auto; display: flex; display: -ms-flex; padding-left: 1px; }
#header-content .global-navi .navi{ width: 16.666%; margin-left: -1px; position: relative; display: none; }
#header-content .global-navi .navi::before{ content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 100%; height: 20px; border: solid #d2cfcc; border-width: 0 1px; box-sizing: border-box; }
#header-content .global-navi .navi-home{ display: block; }
#header-content .global-navi .navi a{ height: 40px; text-align: center; display: flex; display: -ms-flex; justify-content: center; align-items: center; font-size: 14px; line-height: 1.5; color: #414141; position: relative; }
#header-content .global-navi .navi a::before{ content: ""; position: absolute; left: 50%; bottom: 0; width: 74px; height: 2px; background-color: #848b9f; transform: translateX(-50%) scaleX(0); transition: transform 0.5s; opacity: 0; }
#header-content .global-navi .navi.current a::before{ transform: translateX(-50%) scaleX(1); opacity: 1; }
#header-content .global-navi .navi a .word{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); white-space: nowrap; }


/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#header-content .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: 136px; }
#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; margin-bottom: 100px; }
#main-content .hero .photo 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 .page-ttl{ color: #ffffff; font-size: 32px; line-height: 1.5; font-family: 'YakuHanMP', 'EB Garamond', 'Cormorant Garamond', 'Lora', 'Noto Serif JP', serif; font-weight: normal; padding-left: 0.2em; text-align: center; letter-spacing: 0.2em; position: relative; position: absolute; right: 10%; top: 50%; transform: translateY(-50%); }
#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; }

/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
	#main-content .base-wrapper{ max-width: 940px; }
}


/*フッターのcss*/
/*-------------------------------------------------------*/
#container{ padding-bottom: 136px!important; }
#footer-content{  }
#footer-content .footer-info .entry-body{ padding: 80px 0; background-color: #f3f2f0; text-align: center; }
#footer-content .footer-info .entry-body .en{ font-size: 22px; line-height: 1.5; color: #4c4c4c; }
#footer-content .footer-info .entry-body .copy{ font-size: 24px; line-height: 1.2; color: #372f1d; letter-spacing: 0.5em; padding-left: 0.5em; /*margin-top: 20px;*/ }
#footer-content .footer-info .entry-body .txt{ font-size: 14px; line-height: 1.5; color: #4c4c4c; margin-top: 20px; }
#footer-content .footer-info .entry-body .navi{ margin: 50px auto 0; max-width: 380px; width: 100%; }
#footer-content .footer-info .entry-body .navi a{ display: block; background: linear-gradient(to right, #372f1d 0%, #796444 100%); font-size: 15px; line-height: 1.5; color: #ffffff; text-decoration: none; padding: 20px 0; }
#footer-content .footer-info .inner-body{ text-align: center; padding: 60px 0; position: relative; }
#footer-content .footer-info .inner-body .tel-body{ box-sizing: border-box; margin: 0 auto; }
#footer-content .footer-info .inner-body .tel-body .txt{ color: #333333; font-size: 14px; line-height: 1.5; }
#footer-content .footer-info .inner-body .tel-body .tel{ margin: 10px auto 0; max-width: 556px; }
#footer-content .footer-info .inner-body .tel-body .tel+.txt{ margin-top: 10px; }
#footer-content .footer-info .inner-body .footer-split{ display: flex; display: -ms-flex; justify-content: space-between; max-width: 660px; margin: 50px auto 0; }
#footer-content .footer-info .inner-body .footer-split .bels{ width: 48.4848%; }
#footer-content .footer-info .inner-body .footer-split .casbee{ width: 48.4848%; }
#footer-content .footer-info .inner-body .caption{ max-width: 660px; margin-left: auto; margin-right: auto; text-align: left; }
#container .footer-caption{ margin: 0 auto; max-width: 1112px; padding: 10px 0; }
#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: 840px; margin: 50px auto 0; }
#link-exchange .link-exchange-navi .navi{ /*width: 400px;*/ width: 48%; 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; }*/
}
