:root{--ink:#1f1b18;--muted:#6c625a;--paper:#fffdf8;--cream:#f5eddf;--orange:#e55f20;--orange-dark:#b64016;--jade:#0f6b61;--line:#ded4c7;--white:#fff;--shadow:0 24px 70px rgba(43,28,18,.13);--radius:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:17px;line-height:1.8;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation}
.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.utility{background:var(--ink);color:#fff;font-size:14px}
.utility .wrap{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.utility-info{display:flex;gap:20px;align-items:center}.utility strong{color:#ffb487}.languages{display:flex;gap:12px;flex-wrap:wrap}.languages a{color:#ddd1c6}.languages a[aria-current="page"]{color:#fff;text-decoration:underline;text-underline-offset:4px}
.header{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header .wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:235px;max-width:34vw}.logo img{width:100%;max-height:62px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:24px;font-size:15px;font-weight:700}.nav a:hover{color:var(--orange)}
.phone-pill{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff!important;padding:11px 18px;border-radius:999px;min-height:46px}
.hero{position:relative;overflow:hidden;padding:56px 0 44px;background:linear-gradient(135deg,#fffaf2 0%,#fffdf8 56%,#f4eadc 100%)}
.hero:before{content:"";position:absolute;inset:auto -110px -140px auto;width:360px;height:360px;border:62px solid rgba(229,95,32,.09);border-radius:50%}
.hero-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:58px;align-items:center}.hero-copy{position:relative;z-index:1}.hero-logo{width:min(520px,92%);margin-bottom:30px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--orange-dark);font-size:14px;font-weight:800;letter-spacing:.12em;margin:0 0 16px}.eyebrow:before{content:"";width:34px;height:3px;background:var(--orange);border-radius:3px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;font-size:clamp(2.45rem,5vw,4.7rem);line-height:1.28;letter-spacing:.04em;margin:0 0 22px}.hero h1 em{font-style:normal;color:var(--orange-dark)}.lead{font-size:1.08rem;color:#4c443e;max-width:39em}.hero-actions,.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border:2px solid var(--ink);border-radius:999px;font-weight:800;font-size:16px;transition:.2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(25,17,12,.14)}.btn-primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn-light{background:#fff}.btn-jade{background:var(--jade);border-color:var(--jade);color:#fff}.btn-sm{min-height:46px;padding:0 18px;font-size:14px}
.hero-visual{position:relative;padding:0 0 50px 44px}.hero-visual .main-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:130px 22px 22px 22px;box-shadow:var(--shadow)}.hero-fact{position:absolute;left:0;bottom:10px;background:var(--jade);color:#fff;padding:22px 24px;border-radius:18px;box-shadow:0 16px 40px rgba(15,107,97,.28);min-width:235px}.hero-fact strong{display:block;font-family:Georgia,serif;font-size:2rem;line-height:1}.hero-fact span{font-size:14px}.hero-shisa{position:absolute;right:-14px;top:32px;background:#fff;border-radius:50%;width:110px;height:110px;display:grid;place-items:center;box-shadow:var(--shadow);font-family:"Yu Mincho",serif;font-size:46px;color:var(--orange);border:8px solid #fff2e7}
.quick{margin-top:26px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 35px rgba(43,28,18,.08)}.quick-item{padding:22px 24px;border-right:1px solid var(--line)}.quick-item:last-child{border:0}.quick-item small{display:block;color:var(--muted);font-weight:700}.quick-item strong{display:block;font-size:1.05rem;margin-top:4px}.quick-item a{color:var(--orange-dark);text-decoration:underline;text-underline-offset:4px}
section{padding:100px 0}.section-head{max-width:760px;margin-bottom:42px}.section-head.center{margin-inline:auto;text-align:center}.kicker{color:var(--orange-dark);font-size:14px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}.title{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2rem,4.6vw,3.75rem);line-height:1.35;margin:0 0 20px;font-weight:600}.desc{color:var(--muted);margin:0}.anchor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.anchor-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff;min-height:205px;display:flex;flex-direction:column;transition:.2s}.anchor-card:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:var(--shadow)}.anchor-icon{font-size:28px}.anchor-card h3{margin:15px 0 8px;font-size:1.18rem}.anchor-card p{margin:0;color:var(--muted);font-size:15px}.anchor-card strong{color:var(--orange-dark);margin-top:auto;padding-top:16px}
.story{background:var(--cream)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.story-photos{display:grid;grid-template-columns:1fr .78fr;gap:14px;align-items:end}.story-photos img{width:100%;object-fit:cover;border-radius:18px}.story-photos img:first-child{height:540px}.story-photos img:last-child{height:360px}.definition{border-left:5px solid var(--orange);padding:18px 0 18px 24px;margin:28px 0;background:rgba(255,255,255,.5)}.definition strong{display:block;font-family:"Yu Mincho",serif;font-size:1.25rem}.proof-row{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}.proof-row strong{display:block;font-family:Georgia,serif;font-size:2rem;color:var(--jade);line-height:1}.proof-row span{font-size:13px;color:var(--muted);font-weight:700}
.menu-block+.menu-block{margin-top:54px}.menu-label{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:20px}.menu-label h3{font-family:"Yu Mincho",serif;font-size:2rem;margin:0}.menu-label p{margin:0;color:var(--muted);font-size:14px}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.price-card{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:25px 28px;background:#fff}.price-card.featured{border-color:var(--orange);background:#fff8f1}.price-card h4{font-size:1.16rem;margin:0 0 5px}.price-card p{margin:0;color:var(--muted);font-size:14px}.price{font-family:Georgia,"Times New Roman",serif;font-size:2.05rem;line-height:1;color:var(--orange-dark);white-space:nowrap}.price small{font-family:inherit;font-size:.55em}.price-note{margin:18px 0 0;color:var(--muted);font-size:14px}.dinner-callout{margin-top:18px;background:var(--jade);color:#fff;padding:24px 28px;border-radius:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.dinner-callout strong{font-size:1.2rem}.dinner-callout p{margin:4px 0 0;color:#dcece8;font-size:15px}
.occasion{background:var(--ink);color:#fff}.occasion .desc{color:#d9cec5}.occasion-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.occasion-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.occasion-item{border:1px solid rgba(255,255,255,.19);border-radius:16px;padding:18px}.occasion-item strong{display:block;color:#ffb487}.occasion-item span{font-size:14px;color:#d9cec5}.occasion img{width:100%;height:570px;object-fit:cover;border-radius:28px 110px 28px 28px}
.takeout-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}.takeout-photo{position:relative}.takeout-photo img{width:100%;aspect-ratio:1.15/1;object-fit:cover;border-radius:26px}.season-tag{position:absolute;left:20px;bottom:20px;background:#fff;padding:13px 16px;border-radius:12px;font-size:14px;font-weight:800}.takeout-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}.takeout-card{border:1px solid var(--line);padding:20px;border-radius:16px}.takeout-card span{display:block;color:var(--muted);font-size:14px}.takeout-card strong{font-family:Georgia,serif;color:var(--orange-dark);font-size:1.8rem}
.chef{background:var(--cream)}.chef-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.chef-portrait{background:#fff;border:1px solid var(--line);border-radius:32px;padding:34px;min-height:430px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.chef-portrait:before{content:"金城";position:absolute;right:-18px;bottom:-48px;font-family:"Yu Mincho",serif;font-size:9rem;color:rgba(229,95,32,.08)}.chef-portrait .seal{width:92px;height:92px;background:var(--orange);color:#fff;border-radius:50%;display:grid;place-items:center;font-family:"Yu Mincho",serif;font-size:31px;margin-bottom:28px}.chef-portrait strong{font-family:"Yu Mincho",serif;font-size:1.7rem}.chef-portrait span{color:var(--muted)}
.voices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.voice{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}.voice .stars{color:var(--orange);letter-spacing:.12em}.voice p{font-family:"Yu Mincho",serif;font-size:1.12rem;line-height:1.75}.voice small{color:var(--muted)}.media-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.media-item{border-top:3px solid var(--jade);background:#fff;padding:22px;border-radius:0 0 14px 14px}.media-item small{color:var(--muted)}.media-item strong{display:block;margin:5px 0}.media-item a{color:var(--orange-dark);font-weight:800;font-size:14px}
.visitor{background:var(--jade);color:#fff}.visitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.visitor .desc{color:#d9efeb}.visitor-panel{background:#fff;color:var(--ink);border-radius:24px;padding:30px}.visitor-panel h3{margin-top:0}.lang-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lang-links a{border:1px solid var(--line);border-radius:12px;padding:14px;font-weight:800}.lang-links a:hover{border-color:var(--orange);color:var(--orange-dark)}
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.map{border:0;width:100%;min-height:510px;border-radius:24px}.info-table{border-top:2px solid var(--ink)}.info-row{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.info-row dt{font-weight:900}.info-row dd{margin:0}.phone-large{display:block;font-family:Georgia,serif;font-size:clamp(2rem,4.5vw,3.7rem);color:var(--orange-dark);line-height:1.1;margin:18px 0}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:22px}.day{text-align:center;padding:10px 2px;border:1px solid var(--line);border-radius:10px;font-size:13px}.day b{display:block}.day.closed{background:#ede8e3;color:#877b72}.day.open{background:#e7f2ef;color:#0c6258}
.faq{background:var(--cream)}.faq-list{max-width:900px;margin:auto}.faq-list details{border-bottom:1px solid #cfc2b1;padding:20px 0}.faq-list summary{cursor:pointer;font-weight:900;font-size:1.06rem;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"＋";float:right;color:var(--orange)}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:var(--muted);margin:12px 0 0;padding-right:40px}
.press{padding:70px 0;background:#fff}.press-box{border:2px solid var(--ink);border-radius:24px;padding:34px;display:flex;justify-content:space-between;gap:40px;align-items:center}.press-box h2{font-family:"Yu Mincho",serif;margin:0 0 8px}.press-box p{margin:0;color:var(--muted)}
footer{background:#15110f;color:#cfc4bc;padding:54px 0 100px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer-logo{width:260px;background:#fff;padding:10px;border-radius:12px}.footer h3{font-size:15px;color:#fff;margin-top:0}.footer-links{display:grid;gap:8px;font-size:14px}.copyright{border-top:1px solid #3c332e;margin-top:35px;padding-top:20px;font-size:12px;color:#8f8178}
.mobile-call{display:none;position:fixed;z-index:40;left:12px;right:12px;bottom:12px;min-height:60px;background:var(--orange);color:#fff;border-radius:14px;align-items:center;justify-content:center;font-weight:900;box-shadow:0 12px 28px rgba(74,25,9,.35)}
.mini-hero{padding:58px 0 38px;background:var(--cream)}.mini-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.mini-hero img{height:420px;object-fit:cover;border-radius:22px 92px 22px 22px}.travel-card{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.travel-card h3{margin-top:0}.note{font-size:14px;color:var(--muted)}
@media(max-width:980px){.nav a:not(.phone-pill){display:none}.hero-grid,.story-grid,.occasion-grid,.takeout-grid,.chef-grid,.visitor-grid,.access-grid,.mini-hero-grid{grid-template-columns:1fr}.hero-copy{order:1}.hero-visual{order:2;max-width:720px}.quick-grid{grid-template-columns:1fr 1fr}.quick-item:nth-child(2){border-right:0}.quick-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.anchor-grid{grid-template-columns:1fr 1fr}.occasion img{height:440px}.voices-grid,.media-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.travel-grid{grid-template-columns:1fr}.mobile-call{display:flex}footer{padding-bottom:105px}}
@media(max-width:620px){body{font-size:16px}.wrap{width:min(100% - 28px,1180px)}.utility .wrap{padding-block:8px;display:block}.utility-info{justify-content:space-between}.languages{margin-top:5px;gap:10px}.header .wrap{height:70px}.logo{max-width:58vw}.phone-pill{padding:8px 12px;font-size:13px}.hero{padding-top:32px}.hero-grid{gap:34px}.hero-logo{display:none}.hero h1{font-size:2.45rem}.hero-visual{padding:0 0 38px 20px}.hero-visual .main-photo{border-radius:78px 18px 18px 18px}.hero-fact{padding:16px 18px;min-width:190px}.hero-shisa{width:78px;height:78px;font-size:34px}.quick-grid,.anchor-grid,.price-grid,.takeout-cards,.lang-links{grid-template-columns:1fr}.quick-item{border-right:0;border-bottom:1px solid var(--line)!important}.quick-item:last-child{border-bottom:0!important}section{padding:74px 0}.story-photos img:first-child{height:400px}.story-photos img:last-child{height:280px}.price-card{padding:21px;grid-template-columns:1fr}.price{font-size:1.9rem}.dinner-callout{display:block}.dinner-callout .btn{margin-top:16px}.occasion-list{grid-template-columns:1fr}.occasion img{height:360px}.proof-row{gap:18px}.footer-grid{grid-template-columns:1fr}.press-box{display:block}.press-box .btn{margin-top:18px;width:100%}.info-row{grid-template-columns:1fr;gap:2px}.week{gap:3px}.day{font-size:11px}.mobile-call{display:flex}.mini-hero img{height:320px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.anchor-card,.btn{transition:none}}
