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

html { width: 100%;height: 100%;margin: 0;	padding: 0;} 
body{width:100%;height: 100%;margin:0;padding:0; -webkit-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho","toppan-bunkyu-mincho-pr6n",serif;font-family: big-caslon-fb, serif;
font-style: normal;
font-weight: 400;}
body.open_navigation{	position: fixed;height: 100vh;}

:hover{-webkit-transition: all 0.3s ease;-moz-transition: all 0.3s ease;-o-transition: all 0.3s ease;transition: all  0.3s ease;}

.zen-old-mincho-regular {font-family: "Zen Old Mincho", serif;font-weight: 400;font-style: normal;}

.cormorant-garamond-light {font-family: "Cormorant Garamond", serif;font-weight: 300;font-style: normal;}
.cormorant-garamond-regular {font-family: "Cormorant Garamond", serif;font-weight: 400;font-style: normal;}
.cormorant-garamond-medium {font-family: "Cormorant Garamond", serif;font-weight: 500;font-style: normal;}
.cormorant-garamond-semibold {font-family: "Cormorant Garamond", serif;font-weight: 600;font-style: normal;}
.cormorant-garamond-bold {font-family: "Cormorant Garamond", serif;font-weight: 700;font-style: normal;}
.cormorant-garamond-light-italic {font-family: "Cormorant Garamond", serif;font-weight: 300;font-style: italic;}
.cormorant-garamond-regular-italic {font-family: "Cormorant Garamond", serif;font-weight: 400;font-style: italic;}
.cormorant-garamond-medium-italic {font-family: "Cormorant Garamond", serif;font-weight: 500;font-style: italic;}
.cormorant-garamond-semibold-italic {font-family: "Cormorant Garamond", serif;font-weight: 600;font-style: italic;}
.cormorant-garamond-bold-italic {font-family: "Cormorant Garamond", serif;font-weight: 700;font-style: italic;}

// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 400 to 900
.alegreya-<uniquifier> {font-family: "Alegreya", serif;font-optical-sizing: auto;font-weight: <weight>;font-style: normal;}

.crimson-text-regular {font-family: "Crimson Text", serif;font-weight: 400;font-style: normal;}
.crimson-text-semibold {font-family: "Crimson Text", serif;font-weight: 600;font-style: normal;}
.crimson-text-bold {font-family: "Crimson Text", serif;font-weight: 700;font-style: normal;}
.crimson-text-regular-italic {font-family: "Crimson Text", serif;font-weight: 400;font-style: italic;}
.crimson-text-semibold-italic {font-family: "Crimson Text", serif;font-weight: 600;font-style: italic;}
.crimson-text-bold-italic {font-family: "Crimson Text", serif;font-weight: 700;font-style: italic;}

// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 400 to 900

.playfair-display-<uniquifier> {font-family: "Playfair Display", serif;font-optical-sizing: auto;font-weight: <weight>;font-style: normal;}

.libre-baskerville-regular {font-family: "Libre Baskerville", serif;font-weight: 400;font-style: normal;}
.libre-baskerville-bold {font-family: "Libre Baskerville", serif;font-weight: 700;font-style: normal;}
.libre-baskerville-regular-italic {font-family: "Libre Baskerville", serif;font-weight: 400;font-style: italic;}


@media (min-width:1051px) {
	header{background-color: #fefcfb;}	
	header #header_wrapper{position: relative;height: 148px;z-index: 9999;width: 100%;}	
	header #header_wrapper #logo_scroll{  position: fixed;top:24px;left:4%;   width:300px;  transition: .5s;opacity: 1;z-index: 99999}
	header #header_wrapper #logo_scroll img{width: 100%;}
	header #header_wrapper nav{width: 100%;position:fixed;	top:4%;left: 0;text-align: right;transition: 0.1s;}	
	.button{display:none}		
	header #header_wrapper nav #nav_menu .inner{display: flex;align-items: center;justify-content: flex-end;gap: 48px;margin-right: 2%;}
	header #header_wrapper nav #nav_menu .inner a{display:  inline-block;text-decoration:none;color: #000000;font-size: 16px;letter-spacing:3px;font-family: "PT Sans Narrow", sans-serif;}
	header #header_wrapper nav #nav_menu .inner a:hover{color:#726458}	
	header #header_wrapper nav #nav_menu .inner #nav_menu_logo{display:none;}
	
	/*スクロール時のヘッダー*/
	/*スクロール時のヘッダー非表示*/
    header.scroll-nav {opacity: 0;visibility: hidden;transition: opacity 0.3s ease, visibility 0.3s ease;}

	header.scroll-nav #header_wrapper nav {background:none;  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);}		
	header.scroll-nav #header_wrapper #logo_scroll{z-index: 99999; top:18px;opacity: 1}
	header.scroll-nav #header_wrapper #logo_scroll a:hover{opacity:0.5;}
	
	header #header_wrapper nav #nav_menu .inner .contact-button {background-color: #3d302e;color: #fff;border-radius: 30px;padding: 20px 56px;
  	transition: background-color 0.3s;display: inline-block;}
	header #header_wrapper nav #nav_menu .inner .contact-button:hover {background-color: #906d65;color:#fff}
	
	/* Footer Styles */
	footer {background-color: #3d3837;color: #fff;padding: 56px 20px 32px;text-align: left;}
    
    footer .footer-inner {display: flex;justify-content: space-between;align-items: flex-start;width: 90%;max-width: 1200px;
    margin: 0 auto;flex-wrap: wrap;gap: 8%;}
    footer .footer-left {display: flex;flex-direction: column;width: 52%;}
    footer .footer-left .footer-logo {width: 325px;}
    footer .footer-left .footer-logo img {width: 100%;height: auto;}
    footer .footer-left .footer-info p {line-height: 1.6;margin: 0;margin-top: 40px;font-size: 15px;letter-spacing: 2px;font-weight: 100;}
    footer .footer-left .footer-info a {text-decoration: none;color: #fff;}
    
    footer .footer-nav {width: 40%;}
    footer .footer-nav ul {list-style: none;padding: 0;display: flex;
    gap: 48px;font-family: "PT Sans Narrow", sans-serif;letter-spacing: 3px;}
    footer .footer-nav ul li {margin-bottom: 10px;}
    footer .footer-nav ul li a {text-decoration: none;color: #fff;font-size: 16px;transition: color 0.3s;letter-spacing: 2px;}
    
    footer .footer-nav ul li a:hover {color: #bbb;}
    footer .footer-nav .line {margin-top: 40px;text-align: center;}
    footer .footer-nav .line img {width: 150px;height: auto;display: block;}
    footer .footer-nav .line .line-btn {display: none;}
    
    footer .secondary{margin-top: 48px; position:relative;padding: 32px 0 0 0}
	footer .secondary::before{content:'';position: absolute;top:0%;left: 0%;width: 100%;height: 1px;background: #443c31}	
	footer .secondary .inner{width:90%;max-width: 1000px;margin: 0 auto;text-align: right;}	
	footer .secondary .inner a{padding: 0;color: #fff;font-size: 13px;letter-spacing: 1px;text-decoration: none;font-weight: 400;font-family: "PT Sans Narrow", sans-serif;}
	footer .secondary .inner a:hover{color:#bbb;}

	footer small{display:block;text-align: center;font-size: 10px;letter-spacing: 2px;color: #fff;margin-top: 24px;}

	/* page-top */
	#page-top{display:none;position:fixed;right:0px;bottom:0px;z-index:9999;bottom:0;width:80px;height:60px;padding:20px 0px 0px 0px;color:#d09d93;font-size:28px;letter-spacing:0;text-transform:uppercase;text-decoration: none;text-align: center;transition:all 0.3s ease;}
	#page-top:hover{color:white;background:#d09d93;}	
}

@media screen and (min-width:701px) and ( max-width:1050px)  {
    
	header{background-color: #fefcfb;}	
	header #header_wrapper{position: relative;height: 115px;z-index: 9999;width: 100%;display: flex;align-items: center;justify-content: center;}	
	header #header_wrapper #logo_scroll {position: fixed;top:13px;left:4%;   width:250px;  transition: .5s;opacity: 1;z-index: 99999;height: auto;align-self: center;}
	header #header_wrapper #logo_scroll img{width: 100%;}
	
	/*navメニュー*/
	nav{width: 100%;position:fixed;	top:0px;left: 0;}	
	.button{display:block;position: absolute;right:0;top:30px;width: 140px;height:48px;text-align: center;letter-spacing: 1px;cursor:pointer;}
	.button span {display: block;position: absolute;height:1px;border-radius: 2px;background: #3d3837;right:25%;transition: .35s ease-in-out;}
    .button span:nth-child(1) {	top:40%;width:50%;}
    .button span:nth-child(2) {	top:50%;width:50%;}
    .button span:nth-child(3) {	top:60%;width:50%;}
	
	/* ボタン開閉時のエフェクト */
	.button.open_navigation{z-index:9999;}
    .button.open_navigation span:nth-child(1) {width: 40%;height:1px;top: 50%;left: 35%;transform: rotate(16deg);background: #fbf3ec;}
    .button.open_navigation span:nth-child(2) {width: 0;left: 50%;opacity: 0;}
    .button.open_navigation span:nth-child(3) {	width:40%;height:1px;top:50%;left: 35%;transform: rotate(-16deg);background: #fbf3ec;}
	
    /* ナビゲーションメニューのデフォルト状態 */
	#nav_menu {visibility: hidden;opacity: 0;width: 100%;height: 100vh;position: fixed;
    top: 0;left: 0;background-color:rgba(254, 252, 251, 0.6);transition: none;}
	
	/* ナビゲーションメニューが開いたときのスタイル */
    #nav_menu.open_navigation {visibility: visible;opacity: 1;z-index: 999;animation-duration: 0.6s;
    animation-name: button_open;background-color:#906d65;}
	@keyframes button_open {from { opacity: 0.1; }to { opacity: 1; }}
	#nav_menu .inner{position: fixed;top:80px;left:0;width:100%;height:100vh;margin:0 auto;padding:0;list-style: none;background-color:#fbf3ec;overflow-y: scroll;-webkit-overflow-scrolling: touch;}	
	#nav_menu .inner > a{position: relative;display: block;padding:56px 0 0;text-decoration: none;color:#3d3837; font-size: 18px;letter-spacing: 3px;text-align: center;font-family: 'Cormorant Garamond';font-weight:500;}
	#nav_menu .inner > .home-link {padding: 16px 0;}
	/* Homeのリンクの下にのみ線を表示 */
	#nav_menu .inner > .home-link::after {content: "";display: inline-block;width: 300px;height: 1px;background: #d0ba9d;position: absolute;
    bottom: 0;left: 50%;transform: translateX(-50%);}
	#nav_menu .inner > a:hover{color:#666666;} 	
	#nav_menu .inner #nav_menu_logo{width: 300px;margin:40px auto;}
	#nav_menu .inner #nav_menu_logo img{width: 100%}
	#nav_menu .inner #nav_menu_logo a:hover{opacity:0.5;}
	
	/* ナビメニューが開いた時にデフォルトロゴを非表示 */
    header.nav-open #logo_default {display: none;}
	
	
    /* ナビメニューが開いた時にメニュー内のロゴを表示 */
    header.nav-open #nav_menu_logo {display: block;}
	
	/* ナビメニューが開いたときに #logo_scroll を非表示 */
	header.nav-open #logo_scroll {display: none;}
	
	
	
    /* Footer Styles */
	footer {background-color: #3d3837;color: #fff;padding: 56px 20px 24px;text-align: left;}
	footer .footer-inner {display: flex;align-items: flex-start;width:90%;margin: 0 auto;flex-wrap: wrap;gap: 4%;}
	footer .footer-inner .footer-left {display: flex;flex-direction: column;width: 46%;}
	footer .footer-inner .footer-left .footer-logo {width: 90%;max-width: 290px;}
	footer .footer-inner .footer-left .footer-logo img {width: 100%;height: auto;}
	footer .footer-inner .footer-left .footer-info {max-width: 233px;}
    footer .footer-inner .footer-left .footer-info p {line-height: 1.6;margin: 0;margin-top: 40px;
	font-size: 13px;letter-spacing: 2px;font-weight: 100;}
	footer .footer-inner .footer-left .footer-info a{text-decoration: none;color: #fff;}
	footer .footer-inner .footer-nav {width: 50%;}
	footer .footer-inner .footer-nav ul {list-style: none;padding: 0;display: flex;
	gap: 10%;font-family: "PT Sans Narrow", sans-serif;justify-content: center;}
    footer .footer-inner .footer-nav ul li {margin-bottom: 10px;}
    footer .footer-inner .footer-nav ul li a {text-decoration: none;color: #fff;font-size: 14px;transition: color 0.3s;letter-spacing: 2px;}
    footer .footer-inner .footer-nav ul li a:hover {color: #bbb; /* ホバー時のリンク色 */}
	
	footer .footer-nav ul {
    display: none; /* ナビゲーションリストを非表示 */
  }
  footer .footer-nav .line {
    display: block; /* ラインQRコードボタンを表示 */
    text-align: center; /* 中央揃え */
    margin-top: 10px;
  }
  footer .footer-nav .line img {
    display: none; /* QRコード画像を非表示 */
  }
  footer .footer-nav .line .line-btn {
    display: inline-block; /* ボタンを表示 */
    text-decoration: none;
    background-color: #ea9e6c; /* ボタン色 */
    color: white;
    border-radius: 10px;
    font-size: 14px;
    text-align: center;
    font-family: Arial, sans-serif;
    transition: background-color 0.3s ease;
	width: 100%;
	padding: 10px 0px;
  }
  footer .footer-nav .line .line-btn:hover {
    background-color: #b07751; /* ホバー時の色 */
  }
    footer .secondary{margin-top: 32px; position:relative;padding: 16px 0 0 0}
	footer .secondary::before{content:'';position: absolute;top:0%;left: 0%;width: 100%;height: 1px;background: #443c31}	
	footer .secondary .inner{width:86%;margin: 0 auto;text-align: right;}	
	footer .secondary .inner a{padding: 0;color: #fff;font-size: 12px;letter-spacing: 1px;text-decoration: none;font-weight: 400;font-family: "PT Sans Narrow", sans-serif;}
	footer .secondary .inner a:hover{color:#bbb;}

	footer small{display:block;text-align: center;font-size: 10px;letter-spacing: 2px;color: #fff;margin-top: 16px;}

	/* page-top */
	#page-top{display:none;position:fixed;right:0px;bottom:0px;z-index:9999;bottom:0;width:80px;height:60px;padding:20px 0px 0px 0px;color:#d09d93;font-size:28px;letter-spacing:0;text-transform:uppercase;text-decoration: none;text-align: center;transition:all 0.3s ease;}
	#page-top:hover{color:white;background:#d09d93;}
}

@media (max-width: 700px) {
	
	header{background-color: #fefcfb;}	
	header #header_wrapper{position: relative;z-index: 9999;width: 100%;padding: 40px 0;display: flex;align-items: center;justify-content: center;}	
	header #header_wrapper #logo_scroll {position: fixed;left:4%;width:52%;transition: .5s;opacity: 1;z-index: 99999;height: auto; max-width:185px;align-self: center;top: 8px;}
	header #header_wrapper #logo_scroll img{width: 100%;}
	
	/*navメニュー*/
	nav{width: 100%;position:fixed;	top:0px;left: 0;}	
	.button{display:block;position: absolute;right:0;top:12px;width: 90px;height:48px;text-align: center;letter-spacing: 1px;cursor:pointer;}
	.button span {display: block;position: absolute;height:1px;border-radius: 2px;background: #3d3837;right:25%;transition: .35s ease-in-out;}
    .button span:nth-child(1) {	top:40%;width:50%;}
    .button span:nth-child(2) {	top:50%;width:50%;}
    .button span:nth-child(3) {	top:60%;width:50%;}
	
	/* ボタン開閉時のエフェクト */
	.button.open_navigation{z-index:9999;}
    .button.open_navigation span:nth-child(1) {width: 40%;height:1px;top: 50%;left: 35%;transform: rotate(16deg);background: #fbf3ec;}
    .button.open_navigation span:nth-child(2) {width: 0;left: 50%;opacity: 0;}
    .button.open_navigation span:nth-child(3) {	width:40%;height:1px;top:50%;left: 35%;transform: rotate(-16deg);background: #fbf3ec;}
	
    /* ナビゲーションメニューのデフォルト状態 */
	#nav_menu {visibility: hidden;opacity: 0;width: 100%;height: 100vh;position: fixed;
    top: 0;left: 0;background-color:rgba(254, 252, 251, 0.6);transition: none;}
	
	/* ナビゲーションメニューが開いたときのスタイル */
    #nav_menu.open_navigation {visibility: visible;opacity: 1;z-index: 999;animation-duration: 0.6s;
    animation-name: button_open;background-color:#906d65}
	@keyframes button_open {from { opacity: 0.1; }to { opacity: 1; }}
	#nav_menu .inner{position: fixed;top:72px;left:0;width:100%;height:100vh;margin:0 auto;padding:0;list-style: none;background-color:#fbf3ec;overflow-y: scroll;-webkit-overflow-scrolling: touch;}	
	#nav_menu .inner > a{position: relative;display: block;padding:42px 0 0;text-decoration: none;color:#3d3837; font-size: 17px;letter-spacing: 2px;text-align: center;font-family: 'Cormorant Garamond';font-weight:500;}
	#nav_menu .inner > .home-link {padding: 16px 0;}
	/* Homeのリンクの下にのみ線を表示 */
	#nav_menu .inner > .home-link::after {content: "";display: inline-block;width: 225px;height: 1px;background: #d0ba9d;position: absolute;
    bottom: 0;left: 50%;transform: translateX(-50%);}
	#nav_menu .inner > a:hover{color:#666666;} 	
	#nav_menu .inner #nav_menu_logo{width: 275px;margin:24px auto;}
	#nav_menu .inner #nav_menu_logo img{width: 100%}
	#nav_menu .inner #nav_menu_logo a:hover{opacity:0.5;}
	
	/* ナビメニューが開いた時にデフォルトロゴを非表示 */
    header.nav-open #logo_default {display: none;}
	
	
    /* ナビメニューが開いた時にメニュー内のロゴを表示 */
    header.nav-open #nav_menu_logo {display: block;}
	
	/* ナビメニューが開いたときに #logo_scroll を非表示 */
	header.nav-open #logo_scroll {display: none;}
	
	
	/* Footer Styles */
	footer {background-color: #3d3837;color: #fff;padding: 48px 8px 32px;text-align: left;}
	footer .footer-inner {display: flex;align-items: flex-start;width:100%;margin: 0 auto;flex-wrap: wrap;justify-content: center;text-align: center;}
	footer .footer-inner .footer-left {display: flex;flex-direction: column;width: 100%;}
	footer .footer-inner .footer-left .footer-logo {width: 78%;margin: 0 auto;text-align: center;max-width: 350px;}
	footer .footer-inner .footer-left .footer-logo img {width: 100%;height: auto;}
	footer .footer-inner .footer-left .footer-info {max-width: 225px;margin: 0 auto;text-align: center;}
    footer .footer-inner .footer-left .footer-info p {line-height: 1.8;margin: 0;margin-top: 40px;
	font-size: 12px;letter-spacing: 2px;font-weight: 100;}
	footer .footer-inner .footer-left .footer-info a{text-decoration: none;color: #fff;}
	
	
	footer .footer-nav ul {
    display: none; /* ナビゲーションリストを非表示 */
  }
  footer .footer-nav .line {
    display: block; /* ラインボタンを表示 */
    text-align: center; /* 中央揃え */
    margin-top: 10px;
  }

  footer .footer-nav .line img {
    display: none; /* QRコード画像を非表示 */
  }

  footer .footer-nav .line .line-btn {
    display: inline-block; /* ボタンを表示 */
    text-decoration: none;
    background-color: #ea9e6c; /* ボタン色 */
    color: white;
    border-radius: 10px;
    font-size: 14px;
    text-align: center; /* ボタン内の文字を中央揃え */
    font-family: Arial, sans-serif;
    transition: background-color 0.3s ease;
    width: auto; /* ボタン幅をコンテンツに合わせる */
    padding: 10px 80px; /* 縦横の余白を調整 */
    white-space: nowrap; /* 改行を禁止 */
    box-sizing: border-box; /* パディングを含めた幅を調整 */
    margin-top: 8px;
}


  footer .footer-nav .line .line-btn:hover {
    background-color: #b07751; /* ホバー時の色 */
  }
    
    footer .secondary{margin-top: 24px; position:relative;padding: 24px 0 0 0}
	footer .secondary::before{content:'';position: absolute;top:0%;left: 0%;width: 100%;height: 1px;background: #443c31}	
	footer .secondary .inner{width:86%;margin: 0 auto;text-align: center;}	
	footer .secondary .inner a{padding: 0;color: #fff;font-size: 12px;letter-spacing: 1px;text-decoration: none;font-weight: 400;font-family: "PT Sans Narrow", sans-serif;}
	footer .secondary .inner a:hover{color:#bbb;}

	footer small{display:block;text-align: center;font-size: 10px;letter-spacing: 2px;color: #fff;margin-top: 16px;}
    
	

	/* page-top */
	#page-top{display:none;position:fixed;right:0px;bottom:0px;z-index:9999;bottom:0;width:64px;height:40px;padding:12px 0px 0px 0px;color:#d09d93;font-size:22px;letter-spacing:0;text-transform:uppercase;text-decoration: none;text-align: center;transition:all 0.3s ease;}
	#page-top:hover{color:white;background:#d09d93;}
}