:root{--red:#b31f24;--deep:#4a251d;--cream:#fbf5eb;--paper:#fffaf3;--gold:#b98946;--ink:#2c201a;--muted:#77685f;--line:#eadcc8;--shadow:0 22px 60px rgba(63,35,23,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.75}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.shell{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,243,.96);backdrop-filter:blur(15px);border-bottom:1px solid rgba(185,137,70,.22)}.header-inner{height:82px;display:flex;align-items:center;gap:28px}.brand img{width:158px;height:64px;object-fit:contain;object-position:left}.main-nav{display:flex;gap:26px;margin-left:auto;font-size:13px;font-weight:800}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--red);transition:.25s}.main-nav a:hover:after{right:0}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:900;transition:.25s}.header-cta{background:var(--red);color:#fff;padding:13px 20px}.menu-button{display:none;margin-left:auto;border:0;background:var(--deep);color:#fff;padding:10px 14px;border-radius:6px;font-weight:900}.hero{min-height:620px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('assets/pork.jpg') 72% center/cover no-repeat;filter:saturate(.95)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,247,235,.97) 0%,rgba(255,247,235,.9) 39%,rgba(255,247,235,.14) 72%,rgba(255,247,235,0) 100%)}.hero-copy{position:relative;z-index:2;padding:90px 0}.eyebrow{font:700 11px Poppins,sans-serif;letter-spacing:.2em;color:#d6a052;margin:0 0 12px}.eyebrow.red{color:var(--red)}.hero h1,.section-title h2,.reservation-card h2,.support-card h2,.shop-copy h2{font-family:"Shippori Mincho",serif}.hero h1{font-size:clamp(48px,6vw,78px);line-height:1.18;margin:0 0 20px}.hero h1 span{color:var(--red)}.hero-copy>p:not(.eyebrow){max-width:510px;font-size:17px;color:#594a42}.hero-actions{display:flex;gap:14px;margin-top:32px}.btn{min-height:52px;padding:0 26px}.primary{background:var(--red);color:#fff}.ghost{border:1px solid #8f7766;background:rgba(255,255,255,.65)}.full{width:100%}.section{padding:100px 0}
.brand-story{background:linear-gradient(180deg,#fffaf3 0%,#f7ecdd 100%);position:relative;overflow:hidden}.brand-story:before{content:"福";position:absolute;right:-70px;top:-170px;font-family:"Shippori Mincho",serif;font-size:520px;font-weight:800;color:rgba(179,31,36,.035);line-height:1}.story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.story-visual{position:relative;min-height:620px}.story-photo{position:absolute;left:0;top:0;width:82%;height:520px;border-radius:180px 180px 24px 24px;overflow:hidden;box-shadow:var(--shadow)}.story-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(48,24,16,.28))}.story-photo img{width:100%;height:100%;object-fit:cover}.story-logo{position:absolute;right:0;bottom:22px;width:250px;height:210px;background:#fff;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;padding:22px;box-shadow:0 18px 48px rgba(65,35,23,.18)}.story-logo img{width:100%;height:100%;object-fit:contain}.story-caption{position:absolute;left:28px;bottom:18px;margin:0;color:var(--gold);font:700 11px/1.8 Poppins,sans-serif;letter-spacing:.18em}.story-copy h2{font-family:"Shippori Mincho",serif;font-size:clamp(42px,5vw,64px);line-height:1.28;margin:0 0 12px}.story-lead{font-family:"Shippori Mincho",serif;color:var(--red);font-size:25px;font-weight:800;margin:0 0 26px}.story-copy>p:not(.eyebrow):not(.story-lead){color:#63534a;margin:0 0 18px}.story-copy strong{color:var(--red)}.story-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.story-points article{background:rgba(255,255,255,.78);border:1px solid var(--line);padding:18px;border-radius:10px}.story-points span{font:700 11px Poppins,sans-serif;color:var(--gold)}.story-points h3{font-family:"Shippori Mincho",serif;font-size:18px;margin:4px 0 6px}.story-points p{font-size:12px;color:var(--muted);margin:0;line-height:1.65}
.section-title{text-align:center;max-width:700px;margin:0 auto 44px}.section-title h2{font-size:44px;margin:0 0 12px}.section-title>p:last-child{color:var(--muted)}.menu-section{background:var(--paper)}.menu-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.menu-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 12px 30px rgba(55,31,19,.07);transition:.25s}.menu-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.menu-card img{width:100%;aspect-ratio:1.25/1;object-fit:cover}.menu-card>div{padding:19px 16px 22px}.menu-card h3{font-family:"Shippori Mincho";font-size:22px;margin:0 0 8px}.menu-card p{font-size:13px;color:var(--muted);min-height:72px}.menu-card strong{font-size:23px;color:var(--red)}.menu-card strong span{font-size:11px;margin-left:3px}.badge{position:absolute;left:12px;top:12px;background:var(--red);color:#fff;padding:7px 11px;border-radius:4px;font-weight:900;font-size:12px;z-index:2}.values{background:linear-gradient(180deg,#41251e,#2d1915);color:#fff}.section-title.light .eyebrow{color:#e3b36e}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12)}.values-grid article{background:#34201b;padding:36px 28px}.values-grid span{font:700 12px Poppins;color:#ddb073}.values-grid h3{font-family:"Shippori Mincho";font-size:24px}.values-grid p{color:#d9cbc5;font-size:14px}.contact{background:#f5ebde}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.reservation-card,.support-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:42px;box-shadow:0 12px 34px rgba(64,35,23,.08)}.reservation-card h2,.support-card h2{font-size:38px;margin:0 0 22px}.warning{padding:20px;background:#fff0eb;border-left:5px solid var(--red);display:grid;gap:6px}.warning b{color:var(--red);font-size:20px}.warning span{color:var(--muted)}.deadline{background:var(--red);color:#fff;border-radius:6px;padding:13px 15px;text-align:center;font-weight:900}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;list-style:none;padding:0;margin:28px 0}.flow li{font-size:12px;text-align:center;color:var(--muted)}.flow span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f3e7d8;color:var(--red);font-weight:900;margin:0 auto 8px}.qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:center}.qr-grid h3{font-size:16px}.qr-grid img{width:220px;aspect-ratio:1;object-fit:contain;margin:10px auto;border:1px solid var(--line);border-radius:10px;background:#fff}.qr-grid p{font-size:12px;color:var(--muted)}.hours{text-align:center;border-top:1px solid var(--line);padding-top:16px;font-weight:700}.shop{background:var(--paper)}.shop-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:stretch}.shop-copy{background:#fff;border:1px solid var(--line);border-radius:14px;padding:44px}.shop-copy h2{font-size:42px;line-height:1.35;margin:0 0 24px}.shop-copy dl div{padding:15px 0;border-bottom:1px solid var(--line)}.shop-copy dt{font-weight:900}.shop-copy dd{margin:5px 0 0;color:var(--muted)}.map{overflow:hidden;border-radius:14px;box-shadow:var(--shadow);min-height:480px}.map iframe{border:0;width:100%;height:100%;min-height:480px}.footer{background:var(--red);color:#fff;padding:40px 0}.footer-inner{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:30px}.footer img{width:170px;background:#fff;border-radius:10px;padding:6px}.footer nav{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}.footer p{font-size:12px}.mobile-cta{display:none;position:fixed;left:12px;right:12px;bottom:12px;background:var(--red);color:#fff;border-radius:999px;padding:14px;text-align:center;font-weight:900;z-index:60;box-shadow:0 14px 36px rgba(179,31,36,.35)}
@media(max-width:980px){.story-grid{grid-template-columns:1fr;gap:38px}.story-visual{min-height:500px;max-width:680px;width:100%;margin:auto}.story-photo{height:420px;width:86%}.story-logo{width:205px;height:172px}.brand-story:before{font-size:360px;top:-80px}.story-copy{text-align:left}.main-nav,.header-cta{display:none}.menu-button{display:block}.main-nav{position:absolute;top:82px;left:24px;right:24px;background:#fff;padding:20px;border-radius:12px;box-shadow:var(--shadow);flex-direction:column}.main-nav.open{display:flex}.hero-media{background-position:65% center}.menu-grid{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:repeat(2,1fr)}.contact-grid,.shop-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;text-align:center}.footer img{margin:auto}.footer nav{justify-content:center}.mobile-cta{display:block}.footer{padding-bottom:92px}}
@media(max-width:620px){.story-grid{gap:26px}.story-visual{min-height:390px}.story-photo{width:92%;height:325px;border-radius:100px 100px 18px 18px}.story-logo{width:145px;height:122px;padding:14px;bottom:16px}.story-caption{font-size:9px;left:10px;bottom:4px}.story-copy h2{font-size:36px}.story-lead{font-size:21px}.story-points{grid-template-columns:1fr}.brand-story:before{display:none}.shell{width:min(100% - 24px,1180px)}.header-inner{height:70px}.brand img{width:125px;height:52px}.main-nav{top:70px;left:12px;right:12px}.hero{min-height:620px;align-items:flex-end}.hero-media{background-position:62% center}.hero-shade{background:linear-gradient(0deg,rgba(255,247,235,.98) 0%,rgba(255,247,235,.9) 46%,rgba(255,247,235,.18) 88%)}.hero-copy{padding:260px 0 52px}.hero h1{font-size:42px}.hero-actions{flex-direction:column}.section{padding:72px 0}.section-title h2{font-size:34px}.menu-grid{grid-template-columns:1fr}.menu-card{display:grid;grid-template-columns:42% 58%}.menu-card img{height:100%;aspect-ratio:auto}.menu-card p{min-height:0}.values-grid{grid-template-columns:1fr}.contact-grid{gap:16px}.reservation-card,.support-card,.shop-copy{padding:28px 20px}.reservation-card h2,.support-card h2,.shop-copy h2{font-size:31px}.flow{grid-template-columns:repeat(2,1fr)}.qr-grid{grid-template-columns:1fr}.qr-grid img{width:230px}.map,.map iframe{min-height:360px}}
