:root{--ink:#17120d;--paper:#f6f1e7;--paper2:#eee4d3;--gold:#b68a2f;--gold2:#d2ad5d;--red:#7e261f;--line:rgba(48,34,20,.18);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;line-height:1.85}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(22,17,12,.96);color:white;border-bottom:1px solid rgba(255,255,255,.1)}.header-inner{max-width:1440px;margin:auto;min-height:84px;display:flex;align-items:center;padding:0 28px;gap:32px}.brand{display:flex;flex-direction:column;line-height:1}.brand-kicker{font-size:10px;letter-spacing:.18em;color:#ddd}.brand strong{font-size:31px;letter-spacing:.12em;margin-top:8px}.custom-logo{max-height:58px;width:auto}.main-nav{margin-left:auto}.main-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}.main-nav a{font-size:14px;letter-spacing:.08em}.header-actions{display:flex;align-self:stretch}.tel{display:flex;flex-direction:column;justify-content:center;padding:0 22px;border-left:1px solid rgba(255,255,255,.12)}.tel small{font-size:10px;color:#bbb}.tel b{font-family:serif;font-size:18px}.reserve{display:flex;align-items:center;padding:0 26px;background:var(--gold);font-weight:700}.nav-toggle{display:none;background:none;border:0;color:white;font-size:26px}.hero{min-height:680px;position:relative;display:flex;align-items:center;background:linear-gradient(120deg,#1b130b 0%,#4a2f17 42%,#a27125 100%);overflow:hidden}.hero:before,.photo-card:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,213,116,.16),transparent 25%),linear-gradient(130deg,transparent 40%,rgba(255,255,255,.08));mix-blend-mode:screen}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,5,.9),rgba(10,8,5,.25) 65%,rgba(10,8,5,.5))}.hero-content{position:relative;z-index:2;max-width:var(--max);width:100%;margin:auto;padding:80px 40px;color:white}.eyebrow,.section-head span,.reservation-box>div>span,.page-hero span{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.28em;color:var(--gold2);font-weight:700}.hero h1{font-size:clamp(38px,5vw,68px);line-height:1.45;letter-spacing:.08em;margin:20px 0}.hero-content>p{max-width:620px;color:#e8e0d4}.hero-buttons{display:flex;gap:14px;margin-top:34px}.btn{display:inline-block;padding:15px 28px;border:1px solid transparent;letter-spacing:.08em;text-align:center}.btn-gold{background:var(--gold);color:#fff}.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}.btn-large{padding:19px 42px;font-size:17px}.hero-badge{position:absolute;right:5%;bottom:45px;z-index:2;width:150px;height:150px;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.18)}.hero-badge span,.hero-badge small{font-size:13px}.hero-badge b{font-size:25px}.section{max-width:var(--max);margin:auto;padding:92px 34px}.section-head{text-align:center;margin-bottom:46px}.section-head h2,.page-hero h1{font-size:clamp(30px,4vw,46px);letter-spacing:.1em;margin:8px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.features{list-style:none;padding:0;margin:36px 0 0;border-top:1px solid var(--line)}.features li{display:grid;grid-template-columns:58px 1fr;padding:16px 0;border-bottom:1px solid var(--line)}.features b{color:var(--gold);font-family:Arial}.photo-card{position:relative;min-height:440px;background:linear-gradient(135deg,#6b3f18,#d3a654);display:flex;align-items:flex-end;overflow:hidden}.photo-card span{position:relative;z-index:2;margin:25px;color:#fff;letter-spacing:.12em}.dark{max-width:none;background:#1b1713;color:white}.dark>.section-head,.dark>.menu-grid,.dark>.center{max-width:var(--max);margin-left:auto;margin-right:auto}.section-head.light h2{color:white}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.menu-card{background:#fff;color:var(--ink);box-shadow:0 10px 35px rgba(0,0,0,.08);transition:.2s}.menu-card:hover{transform:translateY(-4px)}.menu-thumb{aspect-ratio:4/3;position:relative;overflow:hidden;background:#d9c49c}.menu-thumb img{width:100%;height:100%;object-fit:cover}.menu-thumb em{position:absolute;left:10px;top:10px;background:var(--red);color:white;font-size:12px;padding:5px 10px;font-style:normal}.menu-placeholder{width:100%;height:100%;min-height:220px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#291c11,#9a682a);color:#e8c779;text-align:center;letter-spacing:.2em}.menu-info{padding:22px}.menu-info h3{font-size:18px;margin:0 0 10px;line-height:1.5}.price{color:var(--red);font-weight:700}.excerpt{font-size:13px;color:#6e655b}.center{text-align:center;margin-top:40px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.room-a{background:linear-gradient(135deg,#25170f,#82501f)}.room-b{background:linear-gradient(135deg,#67431f,#1b1713)}.center-copy{text-align:center;margin-top:28px}.reservation{max-width:none;background:var(--paper2)}.reservation-box{max-width:var(--max);margin:auto;background:#211a14;color:white;padding:56px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}.reservation-box.single{display:block;text-align:center}.reservation-box h2{font-size:38px;margin:5px 0}.reservation-box iframe{width:100%;min-height:320px;border:0}.reservation-note{font-size:12px;color:#aaa}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.shop-table dl{display:grid;grid-template-columns:120px 1fr;margin:0;border-top:1px solid var(--line)}.shop-table dt,.shop-table dd{padding:14px 8px;border-bottom:1px solid var(--line);margin:0}.shop-table dt{font-weight:700}.map-wrap iframe{width:100%;height:100%;min-height:430px;border:0}.page-hero{background:#211a14;color:#fff;text-align:center;padding:85px 20px 55px}.page-content{max-width:980px}.yz-contact{max-width:760px;margin:auto}.yz-contact label{display:block;margin:0 0 22px;font-weight:700}.yz-contact label span{color:var(--red)}.yz-contact input,.yz-contact textarea{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid #c9bdab;background:#fff;font:inherit}.yz-hp{position:absolute;left:-9999px}.form-note{font-size:12px;color:#777}.form-error{background:#f8e1df;padding:12px}.form-success{background:#e2f1e1;padding:12px}.single-menu{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.single-price{font-size:24px;color:var(--red);font-weight:700;margin:15px 0}.site-footer{background:#16120f;color:#d8cfc4;padding:60px 30px 90px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-logo{font-size:36px;color:white;letter-spacing:.16em}.copyright{max-width:var(--max);margin:45px auto 0;padding-top:25px;border-top:1px solid rgba(255,255,255,.12);font-size:11px}.mobile-cta{display:none}.posts article{padding:22px 0;border-bottom:1px solid var(--line)}
@media(max-width:980px){.header-actions .tel{display:none}.main-nav{position:absolute;top:84px;left:0;right:0;background:#17120d;display:none;padding:22px}.main-nav.open{display:block}.main-nav ul{flex-direction:column}.nav-toggle{display:block;margin-left:auto}.header-actions{height:84px}.intro-grid,.access-grid,.reservation-box,.single-menu{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:600px}.hero-badge{display:none}}
@media(max-width:640px){body{padding-bottom:58px}.header-inner{min-height:70px;padding:0 15px}.header-actions{display:none}.main-nav{top:70px}.brand strong{font-size:25px}.hero{min-height:560px}.hero-content{padding:65px 22px}.hero h1{font-size:38px}.hero-buttons{flex-direction:column;align-items:stretch}.section{padding:65px 20px}.menu-grid,.room-grid{grid-template-columns:1fr}.intro-grid{gap:35px}.photo-card{min-height:320px}.reservation-box{padding:34px 22px}.shop-table dl{grid-template-columns:90px 1fr}.footer-grid{grid-template-columns:1fr}.mobile-cta{position:fixed;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;z-index:100;height:58px}.mobile-cta a{display:flex;align-items:center;justify-content:center;color:white;background:#2d241c}.mobile-cta a:last-child{background:var(--gold)}}
.operator-info{margin-top:28px;padding-top:24px;border-top:1px solid rgba(0,0,0,.12)}
.operator-info h3{margin:0 0 14px;font-size:1.05rem;letter-spacing:.08em}
.footer-operator{max-width:1200px;margin:18px auto 0;padding:12px 20px 0;border-top:1px solid rgba(255,255,255,.12);opacity:.8}
/* Reservation page v2.3 */
.yz-reservation-page{max-width:900px;margin:0 auto}.yz-reservation-intro{text-align:center;padding:44px 36px;margin-bottom:28px;background:#211a14;color:#fff}.yz-reservation-intro.has-bg{background-size:cover;background-position:center;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center}.yz-reservation-intro span{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.28em;color:var(--gold2);font-weight:700}.yz-reservation-intro h2{font-size:clamp(32px,5vw,50px);margin:8px 0 2px}.yz-reservation-intro h3{font-size:17px;font-weight:400;letter-spacing:.08em;margin:4px 0 18px}.yz-reservation-intro p{max-width:650px;margin:0 auto;color:#eee}.yz-reservation-note{padding:18px 22px;margin:20px 0;background:#efe6d7;border-left:4px solid var(--gold);font-size:14px}.yz-hotpepper-gadget{max-width:720px;margin:30px auto;padding:24px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px rgba(37,27,17,.08);overflow:hidden}.yz-hotpepper-gadget>div,.yz-hotpepper-gadget iframe{max-width:100%!important}.yz-reservation-phone{text-align:center;margin-top:38px;padding:35px 25px;border-top:1px solid var(--line)}.yz-reservation-phone h3{font-size:25px;margin:0 0 8px}.yz-reservation-phone p{margin:0 0 20px;color:#665b50}@media(max-width:640px){.yz-reservation-intro{padding:34px 20px}.yz-hotpepper-gadget{padding:10px;margin:20px -6px}.yz-reservation-phone .btn{width:100%;padding-left:10px;padding-right:10px}}

/* Store information page: operator/company details */
.operator-info-page{margin-top:48px;padding:32px;background:#f7f3eb;border:1px solid rgba(90,70,45,.16)}
.operator-info-page h2{margin:0 0 22px;font-size:1.5rem}
.operator-info-page dl{display:grid;grid-template-columns:180px 1fr;margin:0}
.operator-info-page dt,.operator-info-page dd{margin:0;padding:13px 0;border-bottom:1px solid rgba(90,70,45,.14)}
.operator-info-page dt{font-weight:700;padding-right:20px}
.operator-info-page a{color:inherit;text-decoration:underline}
@media(max-width:700px){.operator-info-page{padding:22px 18px}.operator-info-page dl{grid-template-columns:1fr}.operator-info-page dt{padding-bottom:4px;border-bottom:0}.operator-info-page dd{padding-top:0}}
/* v2.4: image crops and About page */
.hero,.photo-card,.about-lead-photo,.about-feature-photo{background-size:cover;background-repeat:no-repeat}
.about-page{margin-top:15px}.about-lead,.about-feature{display:grid;grid-template-columns:1.08fr .92fr;min-height:440px;margin:0 0 54px;background:#fff}.about-lead-photo,.about-feature-photo{min-height:420px;background-color:#d7c29d;background-image:linear-gradient(135deg,#2d1c11,#a66f2d)}.about-lead-copy,.about-feature-copy{padding:58px;display:flex;flex-direction:column;justify-content:center}.about-lead-copy span,.about-feature-copy span{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.25em;color:var(--gold);font-weight:700}.about-lead-copy h2,.about-feature-copy h2{font-size:32px;line-height:1.55;margin:10px 0 22px}.about-feature.reverse .about-feature-photo{order:2}.about-feature.reverse .about-feature-copy{order:1}.about-cta{display:flex;gap:15px;justify-content:center;margin-top:40px}.about-cta .btn:not(.btn-gold){border-color:var(--ink)}
@media(max-width:760px){.about-lead,.about-feature{grid-template-columns:1fr;min-height:0}.about-lead-photo,.about-feature-photo{min-height:300px}.about-lead-copy,.about-feature-copy{padding:34px 24px}.about-feature.reverse .about-feature-photo,.about-feature.reverse .about-feature-copy{order:initial}.about-cta{flex-direction:column}}

/* v2.5 category-based menu page */
.menu-page-wrap{max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}
.menu-category-section{margin:0 0 72px}
.menu-category-heading{text-align:center;margin:0 0 28px;padding-bottom:14px;border-bottom:1px solid rgba(0,0,0,.12)}
.menu-category-heading span{display:block;font-size:11px;letter-spacing:.22em;opacity:.55;margin-bottom:5px}
.menu-category-heading h2{margin:0;font-size:30px;letter-spacing:.08em}
.menu-category-section .menu-grid{margin-top:0}
@media(max-width:700px){.menu-category-section{margin-bottom:52px}.menu-category-heading h2{font-size:25px}.menu-page-wrap{padding-left:16px;padding-right:16px}}
.menu-category-description{margin:.55rem auto 0;max-width:680px;font-size:.95rem;line-height:1.8;opacity:.78}.menu-thumb img{width:100%;height:100%;object-fit:cover;display:block}


/* v2.6.5 お品書き：コース / お料理の2階層表示 */
.menu-group-nav{display:flex;justify-content:center;gap:12px;margin:0 auto 58px;max-width:560px}.menu-group-nav a{min-width:180px;padding:13px 24px;text-align:center;border:1px solid var(--gold);background:#fff;color:var(--ink);letter-spacing:.12em;font-weight:700}.menu-group-nav a:hover{background:var(--gold);color:#fff}.menu-major-group{scroll-margin-top:110px;margin:0 0 100px}.menu-major-heading{text-align:center;margin:0 0 46px;padding:28px 20px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}.menu-major-heading span{display:block;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.28em;color:var(--gold);font-weight:700;margin-bottom:7px}.menu-major-heading h2{font-size:clamp(32px,4vw,44px);letter-spacing:.14em;margin:0}.menu-category-section{scroll-margin-top:110px;margin-bottom:70px}.menu-category-heading h3{margin:0;font-size:30px;letter-spacing:.08em}.menu-category-description{margin:8px auto 0;max-width:720px;font-size:13px;color:#766b60}.menu-major-group:last-child{margin-bottom:0}
@media(max-width:700px){.menu-group-nav{gap:8px;margin-bottom:42px}.menu-group-nav a{min-width:0;flex:1;padding:11px 8px}.menu-major-group{margin-bottom:72px}.menu-major-heading{margin-bottom:34px;padding:22px 12px}.menu-category-heading h3{font-size:25px}.menu-category-description{font-size:12px}}
