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

	html, body { width: 100%;height: 100%;margin: 0;padding: 0;} 
	body{-webkit-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;  font-family: "Noto Serif JP", serif;

		font-weight: 300;font-style: normal;}
	body.open_navigation{	position: fixed;height: 100vh;}
	
 	
	/* font */

.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
	
.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.shippori-mincho-medium {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
}

.shippori-mincho-semibold {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  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;
}






@media (min-width:1051px) {
	
	/* ==================================================
  	Header Styles (PC - min-width: 1051px)
	================================================== */
	
	/* ========== Header Layout ========== */
	
	header {position: fixed;top: 0;width: 100%;height:100px;z-index: 10000;background-color: #fff;}
	header #header_wrapper {display: flex;justify-content: space-between;align-items: center;width: 98%;height:100%;margin: 0 auto;}
	
	/* Logo */
	header #header_wrapper #logo_scroll {position: absolute;top: 50%;transform: translateY(-50%);
    width: 175px;height: auto;transition: 0.5s;opacity: 1;z-index: 99999;}
	header #header_wrapper #logo_scroll img {width: 100%;height: auto;}
	
	#logo_scroll a {display: block;width: 100%;height: 100%;}
	
	/* 2nd専用のロゴ */
	#header_wrapper {width:96%;}
	#header_wrapper #logo_scroll {position: absolute;top: 50%;transform: translateY(-50%);
    width: 175px;height: auto;transition: 0.5s;opacity: 1;z-index: 99999;}
	#logo_scroll img {content: url("../images/logo-2nd.png");}
	

	/* ========== Navigation ========== */
	
	nav {width: 100%;position: fixed;top: 40px;left: 0;text-align: right;transition: 0.1s;z-index: 10}
	nav .button { display: none;}
	#nav_menu .inner {display: flex;align-items: center;justify-content: flex-end;gap: 3%;margin-right: 256px;}
	#nav_menu .inner a {display: flex;text-decoration: none;color: #000;font-size: 14px;letter-spacing: 2px;}
	#nav_menu .inner a:hover {color: #726458;}
	#nav_menu_logo {display: none;}
	

	/* ========== Header Scroll Style ========== */
	
	header.scroll-nav {opacity: 1;visibility: visible;transition: opacity 0.3s ease, visibility 0.3s ease;}
	header.scroll-nav::before {content: "";position: fixed;top: 0;left: 0;width: 100%;height: 100px;background: #fff;z-index: 1;pointer-events: none;}
	.top-page header.scroll-nav::before {content: "";position: fixed;top: 0;right: 0;left: auto;width: 100%;
	height: 100px;background: #fff;z-index: 1;pointer-events: none;}
	header.scroll-nav #header_wrapper #logo_scroll {
  opacity: 1; /* ← ここを1に戻す */
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.1s ease;
}

	header.scroll-nav #header_wrapper #logo_scroll a {display: block;}
	header.scroll-nav #header_wrapper #logo_scroll a:hover {opacity: 0.5;}
	
	/* ==================================================
		Scroll時のHeader
	================================================== */					  

  	header.scroll-nav {opacity: 1;visibility: visible;transition: opacity 0.3s ease, visibility 0.3s ease;}
  	header.scroll-nav #logo_scroll {display: block;opacity: 1;visibility: visible;transition: opacity 0.3s ease, visibility 0.1s ease;}
	header.scroll-nav .button {display: block !important;opacity: 1;visibility: visible;z-index: 10002;}
	
	/* メニューが開いているとき、#logo_scroll（通常ロゴ）を表示 */
	header.nav-open #logo_scroll {display: block;opacity: 1;visibility: visible;}

	/* メニューが開いているとき、メニュー内ロゴは非表示にする */
	header.nav-open #nav_menu_logo {display: none;}
	
	header #header_wrapper nav #nav_menu .inner a.info-link {
    display: none !important;
  }
	
	
	
	/* ========== Language Switcher ========== */
	
	#lang-switcher {width: 170px;height: auto;display: flex;align-items: center;position: fixed;display: flex;align-items: center;border-radius: 999px;cursor: pointer;z-index: 10001;right: 32px;}
	#lang-switcher .lang-label {background-color: #111;color: #fff;padding: 4px 26px;border-radius: 100px;font-size: 14px;position: relative;z-index: 10; font-family: "Crimson Text", serif;}
	#lang-switcher .lang-selected {background-color: #c08b52;padding: 6px 46px;border-radius: 100px;margin-left: -12px;position: absolute;right: 0;}
	#lang-switcher .lang-selected img {width: 28px;height: auto;aspect-ratio: 500 / 333;position: relative;left: 24px;bottom: -3px;}
	
	
	/* ドロップダウン */
	#lang-switcher .lang-dropdown {position: absolute;top: 60%;right: 0;background: #c08b52;border: none;border-radius: 0 0 24px 24px;display: none;flex-direction: column;z-index: -1;padding: 24px 14px 10px;}
	#lang-switcher .lang-dropdown a {display: flex;align-items: center;gap: 14px;padding: 6px 8px;color: #000;text-decoration: none;font-size: 13px;transition: opacity 0.2s ease;}
	#lang-switcher .lang-dropdown a img {width: 32px;height: auto;}
	#lang-switcher .lang-dropdown a:hover {opacity: 0.8;background: none;}
	#lang-switcher:hover .lang-dropdown {display: flex;}
	
	
	/* ========== Dropdown Menus (Under メニュー / 店舗案内) ========== */
	
  	.menu-container {position: relative;display: inline-block;}
	.menu-link {position: relative;z-index: 2;}
	.dropdown-menu {display: none;position: absolute;background: rgba(15, 20, 30, 0.8);backdrop-filter: blur(8px); /* 背景ぼかしでガラス風！ */box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);z-index: 1;top: 100%;left: 0;transform: none;
    padding: 10px 0;width: 225px;border-radius: 10px;transition: opacity 0.3s ease, transform 0.3s ease;}
    .menu-container:hover .dropdown-menu {display: block;}
    header #header_wrapper nav #nav_menu .inner .dropdown-menu a  {color: #fff;padding: 8px 16px;
    text-decoration: none;display: block;text-align: left;font-size: 14px;}
    .dropdown-menu a:hover {background: linear-gradient(90deg, rgba(40, 45, 60, 0.35) 0%, rgba(15, 20, 30, 0) 100%);}
	
	/* ==================================================
  	Footer Styles (PC - min-width: 1051px)
	================================================== */
	
	footer {background: #17140d;padding: 32px 0 32px;}
	
	/* Sitemap Wrapper */
	footer #sitemap_wrapper {text-align: right;width:100%;margin:0 auto;}
	
	/* Primary Footer Content */
	footer #sitemap_wrapper .primary{width:95%;margin:0 auto;}
	footer #sitemap_wrapper .primary .inner {display: flex;align-items: flex-start;width: 100%;margin: 0 auto 20px;flex-wrap: wrap;gap: 72px;justify-content: flex-end;}
	footer .footer-nav {display: flex;gap: 48px;flex-wrap: wrap;}
	footer .footer-col {display: flex;flex-direction: column;min-width: 140px;}
	
	/* Main (Parent) Links */
	footer .footer-col > a:nth-of-type(1),
	footer .footer-col > a[href="index.html"],
	footer .footer-col > a[href="concept.html"],
	footer .footer-col > a[href="news.html"],
	footer .footer-col > a[href="#"],
	footer .footer-col > a[href="index.html#food_menu"],
	footer .footer-col > a[href="index.html#shop"] {
  	font-size: 17px;letter-spacing: 2px;font-weight: 500;color: #a49381;margin-bottom: 8px;display: block;text-decoration: none;}
	
	footer .footer-col > a.footer-parent-link{
  	font-size: 17px;letter-spacing: 2px;font-weight: 500;color: #a49381;margin-bottom: 8px;display: block;text-decoration: none;}
	
	/* Sub (Child) Links */
	footer .footer-col > a:not(:first-of-type):not([href="concept.html"]):not(.footer-parent-link):not([href="news.html"]):not([href="#"]) {
  	font-size: 13px;font-weight: 400;color: #a49381;margin-left: 12px;display: block;margin-bottom: 8px;letter-spacing: 1px;text-decoration: none;}
	
	
	/* Hover States */
	footer .footer-col > a:nth-of-type(1):hover,
	footer .footer-col > a[href="index.html"]:hover,
	footer .footer-col > a[href="concept.html"]:hover,
	footer .footer-col > a[href="news.html"]:hover,
	footer .footer-col > a[href="#"]:hover,
	footer .footer-col > a[href="index.html#food_menu"]:hover,
	footer .footer-col > a[href="index.html#shop"]:hover {color: #c08b52;}
	
	footer .footer-col > a.footer-parent-link:hover {color: #c08b52;}

	footer .footer-col > a:not(:first-of-type):not([href="concept.html"]):not(.footer-parent-link):not([href="news.html"]):not([href="#"]):hover {color: #c08b52;}

	/* Footer Logo */
	footer .footer-logo {width: 125px;}
	footer .footer-logo img {width: 100%;height: auto;}
	
	/* Secondary Footer Content */
	footer #sitemap_wrapper .secondary {position: relative;padding-top: 24px;}
	footer #sitemap_wrapper .secondary::before {content: "";position: absolute;top: 0;left: 0;width: 100%;
    height: 1px;background: #443c31;}
	footer #sitemap_wrapper .secondary .inner {display: flex;justify-content: space-between;
    align-items: center;width: 93%;margin: 0 auto 12px;}
	
	/* Privacy Policy & Company Info */
	footer #sitemap_wrapper .secondary .inner .pp_term {text-align: right;width: 100%;}
	footer #sitemap_wrapper .secondary .inner .pp_term a {padding: 0 10px;color: #a49381;font-size: 14px;
    letter-spacing: 2px;text-decoration: none;}
	footer #sitemap_wrapper .secondary .inner .pp_term a:first-of-type {position: relative;}
	footer #sitemap_wrapper .secondary .inner .pp_term a:first-of-type::before {content: "";position: absolute;
    top: 50%;left: 100%;transform: translateY(-50%);width: 1px;height: 15px;background: #a49381;}
	footer #sitemap_wrapper .secondary .inner .pp_term a:hover {color: #c08b52;}
	
	/* Copyright */
	footer #sitemap_wrapper small {display: block;text-align: right;font-size: 13px;letter-spacing: 2px;
    color: #a49381;width: 96%;}
	
		
	/* ==================================================
  	固定バナー ご予約ボタン (PC - min-width: 1051px)
	================================================== */
	#banner_button{position: fixed;top: 153px;right: 0px;display: flex;
    transition: all .2s ease;z-index: 9999;display:flex;flex-direction: column;}
	#banner_button .book_now {display:  inline-block;padding: 40px 25px 40px 25px; text-decoration:none;color:#f7f3ea;font-size: 15px;letter-spacing:3px;writing-mode:vertical-lr;font-family: "Noto Sans", sans-serif;background-color: #970b07;font-weight:600;text-align: center;}
	#banner_button .book_now img.reserve-icon {width: 24px;height: auto;margin-bottom: 4px;margin-left: auto;margin-right: auto;}
	#banner_button a:hover{background: #712422;}

}



@media screen and (min-width:701px) and ( max-width:1050px)  {
	
	/* ==================================================
  	Header Styles (min:701px) and ( max:1050px))
	================================================== */
	
	header {position: fixed;top: 0;width: 100%;height:80px;z-index: 10000;background-color: #fff;}
	header #header_wrapper {display: flex;justify-content: space-between;align-items: center;width: 100%;height:100%;margin: 0 auto;}
	
	#logo_scroll {position: absolute;top: 50%;transform: translateY(-20%);
    width: 125px;height: auto;transition: 0.5s;opacity: 1;z-index: 99999;left: 2%;}
	#logo_scroll a {display: block;width: 100%;height: 100%;}
	#logo_scroll img {width: 100%;height: auto;}
	
	/* 2nd専用のロゴ */
	#logo_scroll {transform: translateY(-45%);width: 165px;}
	#logo_scroll img {content: url("../images/logo-2nd.png");}
	
	/* ==================================================
    Navigation Menu (min:701px) and ( max:1050px))
  	================================================== */
	
	nav {width: 100%;position: fixed;top: 34px;left: 0;text-align: right;z-index: 10}
	nav .button {display: block;position: fixed;right: 4px;top: 20px;width: 85px;height: 48px;z-index: 10002;}
	.button span {display: block;position: absolute;height:1px;border-radius: 2px;background: #000;right:25%;transition: .35s ease-in-out;}
	
    .button span:nth-child(1) {	top:40%;width:62%;}
    .button span:nth-child(2) {	top:50%;width:50%;}
    .button span:nth-child(3) {	top:60%;width:50%;}
	
	/* 開いた時の状態 */
	.button.open_navigation span:nth-child(1) {width: 40%;top: 50%;left: 35%;transform: rotate(16deg);background: #9a8980;}
	.button.open_navigation span:nth-child(2) {width: 0;left: 50%;opacity: 0;}
	.button.open_navigation span:nth-child(3) {width: 40%;top: 50%;left: 35%;transform: rotate(-16deg);background: #9a8980;}
	
	/* メニュー開閉アニメーション */
  	#nav_menu {visibility: hidden;opacity: 0;width: 100%;height: 100vh;position: fixed;top: 0;
    left: 0;background-color: #fff;overflow-y: auto; -webkit-overflow-scrolling: touch;}
  	#nav_menu.open_navigation {visibility: visible;opacity: 1;z-index: 999;animation: button_open 0.6s forwards;background-color: #f2f2f2;overflow-y: auto;}

  	@keyframes button_open {from { opacity: 0.1; }to { opacity: 1; }}

  	#nav_menu .inner {position: relative;margin: 88px 32px;padding: 24px 40px 32px;background: #fff;border-radius: 48px 0 0 0;}

  	#nav_menu .inner > a,
	#nav_menu .inner .menu-container > a {display: block;padding: 12px 0 12px 4px;text-decoration: none;font-size: 18px;letter-spacing: 2px;color: #44443C;font-weight: 500;text-align: left;border-bottom: 1.5px solid #a49381;transition: color 0.3s ease, border-color 0.3s ease;}

	#nav_menu .inner > a:hover,
	.menu-container .menu-link:hover {color: #c59246;}
	
	#nav_menu .inner > a:hover,
	#nav_menu .inner .menu-container > a:hover {color: #c59246;}

  	.menu-container {position: relative;text-align: center;}

  	/* ドロップダウン */
	.dropdown-menu {display: grid;grid-template-columns: repeat(2, 1fr); /* 2列に分割 */gap: 8px 16px; /* 行・列の隙間 */padding: 16px;background-color: #fff;}
	.dropdown-menu a {display: block;padding: 12px 16px;font-size: 15px;letter-spacing: 1px;font-weight: 400;color: #44443C;text-decoration: none;background-color: #f2f2f2;border-radius: 6px;transition: background-color 0.3s ease, color 0.3s ease;}
	.dropdown-menu a:hover {background-color: #f1e8de;color: #c59246;}

  	/* ナビメニュー内のロゴ */
  	#nav_menu_logo {width: 20%;margin-left: 6%;margin-bottom: -10%;}
  	#nav_menu_logo img {width: 100%;}
  	#nav_menu_logo a:hover {opacity: 0.5;}

	
	/* ==================================================
		Scroll時のHeader
	================================================== */					  

  	header.scroll-nav {opacity: 1;visibility: visible;transition: opacity 0.3s ease, visibility 0.3s ease;}
  	.top-page header.scroll-nav::before {height: 80px;}
  	header.scroll-nav #logo_scroll {display: block;opacity: 1;visibility: visible;transition: opacity 0.3s ease, visibility 0.1s ease;}
	header.scroll-nav .button {display: block !important;opacity: 1;visibility: visible;z-index: 10002;}
	
	/* メニューが開いているとき、#logo_scroll（通常ロゴ）を表示 */
	header.nav-open #logo_scroll {display: block;opacity: 1;visibility: visible;}

	/* メニューが開いているとき、メニュー内ロゴは非表示にする */
	header.nav-open #nav_menu_logo {display: none;}
	
	


  /* ========== Language Switcher ========== */
	
	#lang-switcher {width: 170px;height: auto;display: flex;align-items: center;position: fixed;display: flex;align-items: center;border-radius: 999px;cursor: pointer;z-index: 10001;right: 100px;}
	#lang-switcher .lang-label {background-color: #111;color: #fff;padding: 4px 26px;border-radius: 100px;font-size: 14px;position: relative;z-index: 10;font-family: "Crimson Text", serif;}
	#lang-switcher .lang-selected {background-color: #c08b52;padding: 6px 46px;border-radius: 100px;margin-left: -12px;position: absolute;right: 0;}
	#lang-switcher .lang-selected img {width: 28px;height: auto;aspect-ratio: 500 / 333;position: relative;left: 24px;bottom: -3px;}
	
	/* ドロップダウン */
	#lang-switcher .lang-dropdown {position: absolute;top: 60%;right: 0;background: #c08b52;border: none;border-radius: 0 0 24px 24px;display: none;flex-direction: column;z-index: -1;padding: 20px 16px 10px;}
	#lang-switcher .lang-dropdown a {display: flex;align-items: center;gap: 12px;padding: 4px 8px;color: #000;text-decoration: none;font-size: 13px;transition: opacity 0.2s ease;}
	#lang-switcher .lang-dropdown a img {width: 32px;height: auto;}
	#lang-switcher .lang-dropdown a:hover {opacity: 0.8;background: none;}
	#lang-switcher:hover .lang-dropdown {display: flex;}
	
	
	
	
	/* ==================================================
  	Footer Styles (min:701px) and ( max:1050px))
	================================================== */
	
	footer {background: #17140d;padding: 32px 0 32px;}
	
	/* Sitemap Wrapper */
	footer #sitemap_wrapper {text-align: right;width:100%;margin:0 auto;}
	
	/* Primary Footer Content */
	footer #sitemap_wrapper .primary{width:95%;margin:0 auto;}
	footer #sitemap_wrapper .primary .inner {display: flex;align-items: flex-end;width: 100%;margin: 0 auto 20px;gap: 32px;justify-content: flex-end;}
	footer .footer-nav {display: flex;gap: 24px;flex-wrap: wrap;}
	footer .footer-col {display: flex;flex-direction: column;min-width: 140px;}
	
	/* Main (Parent) Links */
	footer .footer-col > a:nth-of-type(1),
	footer .footer-col > a[href="index.html"],
	footer .footer-col > a[href="concept.html"],
	footer .footer-col > a[href="news.html"],
	footer .footer-col > a[href="#"],
	footer .footer-col > a[href="index.html#food_menu"],
	footer .footer-col > a[href="index.html#shop"] {
  	font-size: 16px;font-weight: 500;color: #a49381;margin-bottom: 8px;display: block;text-decoration: none;}
	
	footer .footer-col > a.footer-parent-link{
  	font-size: 16px;font-weight: 500;color: #a49381;margin-bottom: 8px;display: block;text-decoration: none;}
	
	/* Sub (Child) Links */
	footer .footer-col > a:not(:first-of-type):not([href="concept.html"]):not(.footer-parent-link):not([href="news.html"]):not([href="#"]) {
  	font-size: 12px;font-weight: 400;color: #a49381;margin-left: 12px;display: block;margin-bottom: 6px;letter-spacing: 1px;text-decoration: none;}
	
	
	/* Hover States */
	footer .footer-col > a:nth-of-type(1):hover,
	footer .footer-col > a[href="index.html"]:hover,
	footer .footer-col > a[href="concept.html"]:hover,
	footer .footer-col > a[href="news.html"]:hover,
	footer .footer-col > a[href="#"]:hover,
	footer .footer-col > a[href="index.html#food_menu"]:hover,
	footer .footer-col > a[href="index.html#shop"]:hover {color: #c08b52;}
	
	ooter .footer-col > a.footer-parent-link:hover {color: #c08b52;}

	footer .footer-col > a:not(:first-of-type):not([href="concept.html"]):not(.footer-parent-link):not([href="news.html"]):not([href="#"]):hover {color: #c08b52;}

	/* Footer Logo */
	footer .footer-logo {width: 150px;}
	footer .footer-logo img {width: 100%;height: auto;}
	
	/* Secondary Footer Content */
	footer #sitemap_wrapper .secondary {position: relative;padding-top: 24px;}
	footer #sitemap_wrapper .secondary::before {content: "";position: absolute;top: 0;left: 0;width: 100%;
    height: 1px;background: #443c31;}
	footer #sitemap_wrapper .secondary .inner {display: flex;justify-content: space-between;
    align-items: center;width: 93%;margin: 0 auto 12px;}
	
	/* Privacy Policy & Company Info */
	footer #sitemap_wrapper .secondary .inner .pp_term {text-align: right;width: 100%;}
	footer #sitemap_wrapper .secondary .inner .pp_term a {padding: 0 10px;color: #a49381;font-size: 14px;
    letter-spacing: 2px;text-decoration: none;}
	footer #sitemap_wrapper .secondary .inner .pp_term a:first-of-type {position: relative;}
	footer #sitemap_wrapper .secondary .inner .pp_term a:first-of-type::before {content: "";position: absolute;
    top: 50%;left: 100%;transform: translateY(-50%);width: 1px;height: 15px;background: #a49381;}
	footer #sitemap_wrapper .secondary .inner .pp_term a:hover {color: #c08b52;}
	
	/* Copyright */
	footer #sitemap_wrapper small {display: block;text-align: right;font-size: 13px;letter-spacing: 2px;
    color: #a49381;width: 96%;}
	
	
	/* ==================================================
  	固定バナー ご予約ボタン (min:701px) and ( max:1050px))
	================================================== */
	#banner_button{position: fixed;top: 225px;right: 0px;display: flex;
    transition: all .2s ease;z-index: 9999;display:flex;flex-direction: column;}
	#banner_button .book_now {display:  inline-block;padding: 45px 20px 45px 20px; text-decoration:none;color:#f7f3ea;font-size: 14px;letter-spacing:4px;writing-mode:vertical-lr;background-color: #970b07;font-weight:400;text-align: center;font-family: "Noto Sans", sans-serif;}
	#banner_button .book_now img.reserve-icon {width: 24px;height: auto;margin-bottom: 4px;margin-left: auto;margin-right: auto;}
	#banner_button a:hover{background: #712422;}

	
}

@media (max-width: 700px) {
	
	/* ==================================================
  	Header Styles (max-width: 700px)
	================================================== */
	
	header {position: fixed;top: 0;width: 100%;height:80px;z-index: 10000;background-color: #fff;}
	header #header_wrapper {display: flex;justify-content: space-between;align-items: center;width: 100%;height:100%;margin: 0 auto;}
	
	#logo_scroll {position: absolute;top: 50%;transform: translateY(-20%);
    width: 30%;height: auto;transition: 0.5s;opacity: 1;z-index: 99999;left: 2%;max-width: 125px;}
	#logo_scroll a {display: block;width: 100%;height: 100%;}
	#logo_scroll img {width: 100%;height: auto;}
	
	/* 2nd専用のロゴ */
	#header_wrapper {width:96%;}
	#logo_scroll {transform: translateY(-50%);width: 150px;max-width: 150px;}
	#logo_scroll img {content: url("../images/logo-2nd.png");}
	
	/* ==================================================
    Navigation Menu (max-width: 700px)
  	================================================== */
	
	nav {width: 100%;position: fixed;top: 34px;left: 0;text-align: right;z-index: 10}
	nav .button {display: block;position: fixed;right: 15%;top: 20px;width: 72px;height: 48px;z-index: 10002;}
	.button span {display: block;position: absolute;height:1px;border-radius: 2px;background: #000;right:25%;transition: .35s ease-in-out;}
	
    .button span:nth-child(1) {	top:40%;width:62%;}
    .button span:nth-child(2) {	top:50%;width:50%;}
    .button span:nth-child(3) {	top:60%;width:50%;}
	
	/* 開いた時の状態 */
	.button.open_navigation span:nth-child(1) {width: 40%;top: 50%;left: 35%;transform: rotate(16deg);background: #9a8980;}
	.button.open_navigation span:nth-child(2) {width: 0;left: 50%;opacity: 0;}
	.button.open_navigation span:nth-child(3) {width: 40%;top: 50%;left: 35%;transform: rotate(-16deg);background: #9a8980;}
	
	/* メニュー開閉アニメーション */
  	#nav_menu {visibility: hidden;opacity: 0;width: 100%;height: 100vh;position: fixed;top: 0;
    left: 0;background-color: #fff;overflow-y: auto;-webkit-overflow-scrolling: touch;}
  	#nav_menu.open_navigation {visibility: visible;opacity: 1;z-index: 999;animation: button_open 0.6s forwards;background-color: #f2f2f2;overflow-y: auto;}

  	@keyframes button_open {from { opacity: 0.1; }to { opacity: 1; }}

  	#nav_menu .inner {position: relative;top: 72px;left: 50%;transform: translateX(-50%);width: 72%;height: auto;overflow-y: auto;padding: 12px 32px 20px;background: #fff;border-radius: 56px 2px 2px 2px;}

  	#nav_menu .inner > a,
	#nav_menu .inner .menu-container > a {display: block;padding: 8px 0 8px 6px;text-decoration: none;font-size: 14px;letter-spacing: 2px;color: #44443C;font-weight: 500;text-align: left;border-bottom: 1.5px solid #a49381;transition: color 0.3s ease, border-color 0.3s ease;}

	#nav_menu .inner > a:hover,
	.menu-container .menu-link:hover {color: #c59246;}
	
	#nav_menu .inner > a:hover,
	#nav_menu .inner .menu-container > a:hover {color: #c59246;}

  	.menu-container {position: relative;text-align: center;}

  	/* ドロップダウン */
	.dropdown-menu {display: grid;grid-template-columns: repeat(1, 1fr);gap: 8px;padding: 8px;background-color: #fff;}
	.dropdown-menu a {display: block;padding: 8px 0;font-size: 13px;letter-spacing: 1px;font-weight: 500;color: #44443C;text-decoration: none;background-color: #f2f2f2;border-radius: 6px;transition: background-color 0.3s ease, color 0.3s ease;}
	.dropdown-menu a:hover {background-color: #f1e8de;color: #c59246;}

  	/* ナビメニュー内のロゴ */
  	#nav_menu_logo {width: 20%;margin-left: 6%;margin-bottom: -10%;}
  	#nav_menu_logo img {width: 100%;}
  	#nav_menu_logo a:hover {opacity: 0.5;}

	
	/* ==================================================
		Scroll時のHeader
	================================================== */					  

  	header.scroll-nav {opacity: 1;visibility: visible;transition: opacity 0.3s ease, visibility 0.3s ease;}
  	.top-page header.scroll-nav::before {height: 80px;}
  	header.scroll-nav #logo_scroll {display: block;opacity: 1;visibility: visible;transition: opacity 0.3s ease, visibility 0.1s ease;}
	header.scroll-nav .button {display: block !important;opacity: 1;visibility: visible;z-index: 10002;}
	
	/* メニューが開いているとき、#logo_scroll（通常ロゴ）を表示 */
	header.nav-open #logo_scroll {display: block;opacity: 1;visibility: visible;}
	

	/* メニューが開いているとき、メニュー内ロゴは非表示にする */
	header.nav-open #nav_menu_logo {display: none;}
	
	


  /* ========== Language Switcher ========== */
	
	#lang-switcher {width: 46px;height: 42px;position: fixed !important;top: 20px;right: 4%;
    background-color: #c08b52;border-radius: 50%;padding: 0;z-index: 10001;display: flex;
    align-items: center;justify-content: center;}
  	#lang-switcher .lang-label {display: none;}
	#lang-switcher .lang-selected {padding: 0;margin: 0;background: none;position: static;}
  	#lang-switcher .lang-selected img {width: 22px;height: auto;aspect-ratio: 500 / 333;position: static;}
	
	/* ドロップダウン */
  	#lang-switcher .lang-dropdown {position: absolute;top: 43px;right: 0;background-color: #c08b52;
    border-radius: 8px;display: none;flex-direction: column;padding: 10px;z-index: 10002;}
  	#lang-switcher .lang-dropdown a {display: flex;align-items: center;gap: 6px;
    padding: 4px 8px;font-size: 13px;color: #333;text-decoration: none;transition: opacity 0.2s ease;}
  	#lang-switcher .lang-dropdown a img {width: 32px;}
  	#lang-switcher:hover .lang-dropdown {display: flex;}
	#lang-switcher .lang-dropdown a:hover {opacity: 0.8;background: none;}
	#lang-switcher:hover .lang-dropdown {display: flex;}
	
	
	
	
	
	/* ==================================================
  	Footer Styles ( max:700px))
	================================================== */
	
	footer {background: #17140d;padding: 32px 0 32px;}
	
	/* Sitemap Wrapper */
	footer #sitemap_wrapper {width:100%;margin:0 auto;}
	
	/* Primary Footer Content */
	footer #sitemap_wrapper .primary{width:90%;margin:0 auto;}
	footer #sitemap_wrapper .primary .inner {display: flex;flex-direction: column-reverse;}
	footer .footer-nav {display: grid;grid-template-columns: repeat(2, auto);gap: 10%;justify-content: start;margin: 32px 0 64px;}

	footer .footer-col {display: flex;flex-direction: column;width: auto;line-height: 1.1;}
	
	/* Main (Parent) Links */
	footer .footer-col > a:nth-of-type(1),
	footer .footer-col > a[href="index.html"],
	footer .footer-col > a[href="concept.html"],
	footer .footer-col > a[href="news.html"],
	footer .footer-col > a[href="#"],
	footer .footer-col > a[href="index.html#food_menu"],
	footer .footer-col > a[href="index.html#shop"] {
  	font-size: 15px;letter-spacing: 1px;font-weight: 500;color: #a49381;margin-bottom: 12px;display: block;text-decoration: none;}
	
	footer .footer-col > a.footer-parent-link{
  	font-size: 15px;letter-spacing: 1px;font-weight: 500;color: #a49381;margin-bottom: 12px;display: block;text-decoration: none;}
	
	/* Sub (Child) Links */
	footer .footer-col > a:not(:first-of-type):not([href="concept.html"]):not(.footer-parent-link):not([href="news.html"]):not([href="#"]) {
  	font-size: 14px;font-weight: 400;color: #a49381;margin-left: 12px;display: block;margin-bottom: 12px;letter-spacing: 1px;text-decoration: none;}
	
	
	/* Hover States */
	footer .footer-col > a:nth-of-type(1):hover,
	footer .footer-col > a[href="index.html"]:hover,
	footer .footer-col > a[href="concept.html"]:hover,
	footer .footer-col > a[href="news.html"]:hover,
	footer .footer-col > a[href="#"]:hover,
	footer .footer-col > a[href="index.html#food_menu"]:hover,
	footer .footer-col > a[href="index.html#shop"]:hover {color: #c08b52;}
	
	footer .footer-col > a.footer-parent-link:hover {color: #c08b52;}

	footer .footer-col > a:not(:first-of-type):not([href="concept.html"]):not(.footer-parent-link):not([href="news.html"]):not([href="#"]):hover {color: #c08b52;}

	/* Footer Logo */
	footer .footer-logo {width: 100px;margin: 0 auto;}
	footer .footer-logo img {width: 100%;height: auto;}
	
	/* Secondary Footer Content */
	footer #sitemap_wrapper .secondary {position: relative;}
	footer #sitemap_wrapper .secondary::before {content: "";position: absolute;top: 0;left: 0;width: 100%;
    height: 1px;background: #443c31;}
	footer #sitemap_wrapper .secondary .inner {display: flex;justify-content: space-between;
    align-items: center;width: 93%;margin: 0 auto 8px;padding-top: 16px;}
	
	/* Privacy Policy & Company Info */
	footer #sitemap_wrapper .secondary .inner .pp_term {text-align: right;width: 100%;}
	footer #sitemap_wrapper .secondary .inner .pp_term a {padding: 0 10px;color: #a49381;font-size: 13px;
    letter-spacing: 1px;text-decoration: none;}
	footer #sitemap_wrapper .secondary .inner .pp_term a:first-of-type {position: relative;}
	footer #sitemap_wrapper .secondary .inner .pp_term a:first-of-type::before {content: "";position: absolute;
    top: 50%;left: 100%;transform: translateY(-50%);width: 1px;height: 15px;background: #a49381;}
	footer #sitemap_wrapper .secondary .inner .pp_term a:hover {color: #c08b52;}
	
	
	/* Copyright */
	footer #sitemap_wrapper small {display: block;text-align: right;font-size: 10px;letter-spacing: 1px;
    color: #a49381;width: 96%;padding-bottom: 56px;}
	
	
	/* ==================================================
  	固定バナー ご予約ボタン ( max:700px))
	================================================== */
	#banner_button{position: fixed;bottom: 0px;right: 0px ;width: 100%;transition: all .2s ease;z-index: 1000;}
	
	#banner_button .book_now {position: relative;width: 100%;display: flex;padding:16px 0px; text-decoration:none;color:#f7f3ea;font-size: 15px;letter-spacing:2px;font-family: "Noto Sans", sans-serif;background-color: #333;font-weight:500;margin: 0;text-align: center;gap: 8px;justify-content: center;align-items: center;}
	#banner_button .book_now img.reserve-icon {width: 24px;height: auto;margin: 0;}
	#banner_button a:hover{background: #712422;}
}