:root{--waka:#8fbf35;--waka2:#a8cf57;--waka3:#eef5df;--paper:#fffdf8;--ink:#1f211c;--muted:#73756e;--line:#e8eadf;--shadow:0 14px 36px rgba(35,41,27,.12);--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.7;letter-spacing:.035em}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:1000}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{max-width:1180px;margin:auto;min-height:74px;padding:0 24px;display:flex;align-items:center;gap:28px}.brand{display:flex;flex-direction:column;line-height:1;text-align:center}.brand-main{font:700 27px/1.05 var(--serif);letter-spacing:.12em}.brand-sub{font-size:8px;letter-spacing:.36em;margin-top:6px}.desktop-nav{display:flex;gap:28px;margin-left:auto;font:500 13px/1 var(--serif)}.desktop-nav a:hover{color:var(--waka)}.header-reserve{background:var(--waka);color:white;border-radius:4px;padding:12px 20px;font:700 13px/1 var(--serif);letter-spacing:.12em}.header-reserve span{margin-left:10px}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;font-size:24px}.mobile-nav{padding:8px 20px 16px;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:11px 4px;border-bottom:1px solid var(--line);font-family:var(--serif)}.hero-image{position:relative;height:min(66vw,620px);min-height:430px;background:url('assets/hero.jpg') center 48%/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,14,8,.62) 0%,rgba(7,14,8,.28) 38%,rgba(7,14,8,.03) 70%)}.hero-copy{position:absolute;left:max(6vw,42px);top:50%;transform:translateY(-50%);color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.28)}.eyebrow{font:600 15px/1.4 var(--serif);letter-spacing:.14em;margin:0 0 12px}.hero h1{font:700 clamp(42px,7vw,76px)/1.1 var(--serif);letter-spacing:.12em;margin:0}.furigana{font-size:11px;letter-spacing:.55em;margin:9px 0 23px}.hero-tagline{font:600 clamp(20px,3vw,34px)/1.55 var(--serif);letter-spacing:.12em;margin:0}.hero-actions{max-width:1120px;margin:-22px auto 0;position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 20px}.hero-actions a{min-height:70px;background:#fff;border:1px solid var(--waka);display:flex;align-items:center;justify-content:center;gap:15px;font:700 18px/1 var(--serif);box-shadow:0 8px 20px rgba(52,74,19,.06)}.hero-actions .action-filled{background:var(--waka);color:#fff}.action-icon{color:var(--waka);font-size:22px}.action-filled .action-icon{color:#fff}.story{max-width:1180px;margin:44px auto 0;display:grid;grid-template-columns:1.05fr 1fr;min-height:320px}.story-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#cfe4ee 0%,#8fb8c1 32%,#8aaa67 58%,#496b3e 100%)}.story-water{position:absolute;inset:0;background:radial-gradient(circle at 72% 28%,rgba(255,245,199,.8),transparent 23%),linear-gradient(165deg,transparent 0 46%,rgba(255,255,255,.28) 47% 51%,transparent 52%);opacity:.9}.story-visual:after{content:"";position:absolute;left:-8%;right:-6%;bottom:-15%;height:62%;background:radial-gradient(ellipse at 15% 100%,#3f6540 0 31%,transparent 32%),radial-gradient(ellipse at 48% 100%,#5b7c48 0 28%,transparent 29%),radial-gradient(ellipse at 80% 100%,#385b3f 0 30%,transparent 31%)}.story-label{position:absolute;left:26px;bottom:20px;color:#fff;font:600 12px/1 var(--serif);letter-spacing:.25em;z-index:2}.story-copy{padding:55px 64px;background:#fff;display:flex;flex-direction:column;justify-content:center;position:relative}.story-copy:after{content:"";position:absolute;right:24px;bottom:18px;width:90px;height:130px;opacity:.25;background:linear-gradient(45deg,transparent 47%,var(--waka) 48% 51%,transparent 52%) 0 0/28px 28px}.short-rule{width:34px;height:3px;background:var(--waka);display:block;margin-bottom:16px}.story-copy h2,.family-copy h2,.delivery-copy h2{font:700 clamp(26px,3vw,40px)/1.45 var(--serif);letter-spacing:.09em;margin:0 0 16px}.story-copy p{max-width:520px;margin:0;color:#51534d}.menu-section{max-width:1180px;margin:0 auto;padding:54px 24px 56px}.section-title{text-align:center;margin-bottom:28px}.section-title p{margin:0 0 3px;color:var(--waka);font-size:9px;letter-spacing:.28em}.section-title h2{font:700 30px/1.4 var(--serif);letter-spacing:.12em;margin:0}.section-title span{display:block;width:30px;height:2px;background:var(--waka);margin:12px auto}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.menu-card{background:#fff}.menu-card img{aspect-ratio:1.58/1;object-fit:cover}.menu-card div{padding:12px 4px 5px;text-align:center}.menu-card h3{font:700 18px/1.4 var(--serif);margin:0}.menu-card p{font:600 16px/1.4 var(--serif);margin:5px 0;color:#32342e}.quiet-link{display:flex;width:max-content;margin:25px auto 0;align-items:center;gap:13px;border-bottom:1px solid var(--waka);padding:7px 2px;font:600 13px/1 var(--serif)}.family-section{display:grid;grid-template-columns:1.25fr .9fr;max-width:1180px;margin:0 auto 56px;background:#fff}.family-section>img{height:100%;min-height:390px;object-fit:cover}.family-copy{padding:50px 45px;display:flex;flex-direction:column;justify-content:center}.family-copy p{color:#5d6058;margin:0 0 24px}.family-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.family-icons div{background:#f7faef;border:1px solid #eff3e7;text-align:center;padding:14px 6px 10px;min-height:88px}.family-icons b{display:block;color:var(--waka);font-size:25px;line-height:1.1;margin-bottom:7px}.family-icons span{font-size:10px;line-height:1.35}.delivery-section{max-width:1180px;margin:0 auto 56px;display:grid;grid-template-columns:.72fr 1.6fr;gap:34px;padding:0 24px}.delivery-copy{align-self:center}.delivery-copy p{color:#5c5e58;margin:0 0 22px}.delivery-copy a{display:inline-flex;border:1px solid var(--waka);color:#556b20;padding:10px 18px;font:600 12px/1 var(--serif)}.delivery-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.delivery-gallery figure{margin:0}.delivery-gallery img{aspect-ratio:1.35/1;object-fit:cover}.delivery-gallery figcaption{text-align:center;font:600 12px/1.5 var(--serif);padding-top:7px}.shop-info{max-width:1180px;margin:0 auto;padding:12px 24px 44px}.info-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.info-card{background:#f6f8ef;border:1px solid #eef2e4;min-height:86px;padding:10px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.info-card b{font-size:18px;color:var(--waka);line-height:1;margin-bottom:5px}.info-card strong{font-size:10px;line-height:1.2;margin-bottom:3px}.info-card span{font-size:9px;line-height:1.4}.address{text-align:center;font-size:11px;color:#666a61;margin:14px 0 0}.address a{text-decoration:underline}.reservation{max-width:1180px;margin:0 auto;padding:28px 24px 115px;border-top:1px solid #cbd8ad;display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:10px}.reserve-button{min-height:72px;border:1px solid var(--waka);background:#fff;color:#20231c;display:flex;align-items:center;justify-content:center;gap:14px;font:700 17px/1 var(--serif);letter-spacing:.06em;cursor:pointer}.reserve-button span{font-size:23px;color:var(--waka)}.reserve-button b{margin-left:auto;margin-right:16px;font-size:18px;color:var(--waka)}.web-reserve{background:var(--waka);color:#fff}.web-reserve span,.web-reserve b{color:#fff}.instagram span{font-family:var(--sans);font-weight:800}.reserve-note{grid-column:1/-1;text-align:center;margin:4px 0 0;color:#777;font-size:11px}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;background:#fff;border-top:1px solid var(--line);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:8px}.mobile-cta a{flex:1;background:var(--waka);color:#fff;text-align:center;padding:11px;border-radius:4px;font-weight:700;font-size:13px}.install-button{position:fixed;right:16px;bottom:84px;z-index:70;background:var(--waka);color:#fff;border:0;border-radius:999px;padding:10px 16px;box-shadow:var(--shadow)}.update-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;z-index:80;background:#222;color:#fff;border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:12px}.update-toast[hidden]{display:none}.update-toast button{border:0;border-radius:7px;background:var(--waka);color:#fff;padding:8px 12px;font-weight:700}
@media(max-width:820px){.header-inner{min-height:62px;padding:0 16px}.brand-main{font-size:23px}.desktop-nav,.header-reserve{display:none}.menu-toggle{display:block}.hero-image{height:490px;min-height:0}.hero-copy{left:24px}.hero h1{font-size:48px}.hero-actions{margin:-14px 12px 0;padding:0;gap:6px}.hero-actions a{min-height:65px;font-size:13px;gap:7px}.action-icon{font-size:17px}.story{grid-template-columns:1fr;margin-top:30px}.story-visual{min-height:220px}.story-copy{padding:35px 26px}.menu-section{padding:40px 15px}.menu-grid{grid-template-columns:repeat(3,1fr);gap:8px}.menu-card h3{font-size:13px}.menu-card p{font-size:12px}.family-section{grid-template-columns:1fr;margin:0 15px 40px}.family-section>img{min-height:260px}.family-copy{padding:34px 22px}.delivery-section{grid-template-columns:1fr;padding:0 15px;gap:24px}.info-grid{grid-template-columns:repeat(3,1fr)}.reservation{grid-template-columns:1fr;padding:22px 15px 105px}.reserve-button{min-height:64px}.mobile-cta{display:flex}}
@media(max-width:500px){.hero-image{height:405px;background-position:center 50%}.hero-copy{left:18px;top:54%}.eyebrow{font-size:11px}.hero h1{font-size:38px}.furigana{font-size:9px}.hero-tagline{font-size:21px}.hero-actions a{min-height:60px;font-size:11px;flex-direction:column;gap:4px}.action-icon{font-size:16px}.story-copy h2,.family-copy h2,.delivery-copy h2{font-size:28px}.section-title h2{font-size:24px}.menu-grid{grid-template-columns:1fr}.menu-card{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}.menu-card img{height:120px;aspect-ratio:auto}.menu-card div{text-align:left;padding-left:14px}.family-icons div{padding:11px 4px}.family-icons span{font-size:9px}.delivery-gallery{gap:6px}.info-card{min-height:76px}.reserve-button{font-size:15px}}
