:root{--ink: #2f2a24;--ink-soft: #4c453b;--paper: #fbf7f0;--paper-2: #f2ebe0;--line: #e2d8c8;--accent: #7a5c3e;--accent-soft: #8a6a45;--leaf: #55684f;--shadow: rgba(80, 62, 40, .12);--radius: 14px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;background:var(--paper);color:var(--ink);line-height:1.85;-webkit-text-size-adjust:100%;display:flex;flex-direction:column;min-height:100vh}img{max-width:100%;display:block}a{color:var(--accent)}.wrap{width:min(1040px,92vw);margin-inline:auto}.sample-bar{background:var(--ink);color:#f7f1e7;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif;font-size:.78rem;line-height:1.6;padding:.55rem 0;text-align:center}.sample-bar a{color:#f0d9b5;text-underline-offset:3px}.site-header{position:sticky;top:0;z-index:20;background:#fbf7f0f0;backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}.brand{font-size:1.15rem;letter-spacing:.16em;text-decoration:none;color:var(--ink);white-space:nowrap}.brand small{display:block;font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:.62rem;letter-spacing:.28em;color:var(--accent-soft)}.nav{display:flex;gap:1.15rem;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif;font-size:.9rem}.nav a{color:var(--ink-soft);text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent-soft)}.hero{background:linear-gradient(180deg,rgba(251,247,240,0) 55%,var(--paper) 100%),linear-gradient(135deg,#efe3d0,#e6d5bb 45%,#d9c4a4);padding:3.2rem 0 2.4rem}.hero h1{font-size:clamp(1.6rem,5.2vw,2.5rem);line-height:1.5;letter-spacing:.05em;margin-bottom:.7rem}.hero p.lead{font-family:Hiragino Sans,Yu Gothic,sans-serif;color:var(--ink-soft);max-width:34em;margin-bottom:1.5rem}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem;background:#fffdf9;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:0 6px 20px var(--shadow)}.fact{font-family:Hiragino Sans,Yu Gothic,sans-serif}.fact dt{font-size:.74rem;letter-spacing:.14em;color:var(--accent-soft);margin-bottom:.2rem}.fact dd{font-size:.97rem;line-height:1.6}.fact strong{font-size:1.06rem}.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}.btn{display:inline-block;font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:.95rem;text-decoration:none;padding:.75rem 1.5rem;border-radius:999px;border:1px solid var(--accent);transition:transform .15s ease,box-shadow .15s ease}.btn--primary{background:var(--accent);color:#fff8ee;box-shadow:0 6px 16px #7a5c3e47}.btn--ghost{background:transparent;color:var(--accent)}.btn:hover{transform:translateY(-2px)}section.block{padding:3rem 0}section.block:nth-of-type(2n){background:var(--paper-2)}.section-head{margin-bottom:1.6rem}.section-head h2{font-size:clamp(1.25rem,3.6vw,1.65rem);letter-spacing:.08em}.section-head p{font-family:Hiragino Sans,Yu Gothic,sans-serif;color:var(--ink-soft);font-size:.94rem;margin-top:.35rem}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.menu-card{background:#fffdf9;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem}.menu-card h3{font-size:1.05rem;margin-bottom:.5rem;letter-spacing:.05em}.menu-list{list-style:none;font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:.92rem}.menu-list li{display:flex;justify-content:space-between;gap:.8rem;padding:.42rem 0;border-bottom:1px dashed var(--line)}.menu-list li:last-child{border-bottom:0}.menu-list .price{color:var(--accent);white-space:nowrap}.badge-takeout{display:inline-block;font-size:.68rem;font-family:Hiragino Sans,sans-serif;color:#fff;background:var(--leaf);border-radius:4px;padding:.05rem .4rem;margin-left:.35rem;vertical-align:middle}.steps{counter-reset:step;display:grid;gap:.8rem;font-family:Hiragino Sans,Yu Gothic,sans-serif}.steps li{list-style:none;position:relative;background:#fffdf9;border:1px solid var(--line);border-radius:var(--radius);padding:.95rem 1.1rem .95rem 3.1rem;font-size:.94rem}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:1rem;top:.95rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--accent);color:#fff8ee;display:grid;place-items:center;font-size:.85rem}.info-table{width:100%;border-collapse:collapse;font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:.94rem;background:#fffdf9;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.info-table th,.info-table td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:0}.info-table th{width:9em;background:var(--paper-2);font-weight:600;color:var(--ink-soft);white-space:nowrap}.map-figure{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#eef1e9}.map-figure figcaption{font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:.85rem;color:var(--ink-soft);padding:.6rem .9rem;background:#fffdf9;border-top:1px solid var(--line)}.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;gap:.5rem;padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom));background:#fbf7f0f5;border-top:1px solid var(--line)}.sticky-cta .btn--ghost{background:#fffdf9}.sticky-cta .btn{flex:1;text-align:center;padding:.7rem .5rem;font-size:.9rem}.site-footer{margin-top:auto;background:var(--ink);color:#e9e0d2;font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:.86rem;padding:1.8rem 0 2.4rem}.site-footer a{color:#f0d9b5}.footer-note{margin-top:.8rem;color:#cfc4b4;font-size:.8rem;line-height:1.7}@media(max-width:720px){.header-inner{flex-wrap:wrap;row-gap:.3rem;padding-bottom:.45rem}.brand{font-size:1rem}.nav{width:100%;gap:1.1rem;font-size:.86rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap}.hero{padding:2.2rem 0 1.8rem}.sticky-cta{display:flex}body{padding-bottom:3.6rem}.info-table th{width:7em}}@media(max-width:420px){.nav{gap:.9rem;font-size:.82rem}}a:focus-visible,button:focus-visible{outline:3px solid #8a5a1e;outline-offset:2px;border-radius:3px}
