@charset "UTF-8";
:root{--ivory:#f8f6ef;--paper:#fffdf8;--ink:#203844;--muted:#536d72;--aqua:#dcefeb;--blue:#3a7078;--coral:#d48d78;--line:#c8d6d2}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;font-size:16px;line-height:1.85}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration-color:currentColor}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}::selection{background:#cce7e5}*:focus-visible{outline:3px solid #b05b43;outline-offset:4px}.skip{position:absolute;left:1rem;top:-5rem;z-index:100;background:white;padding:.5rem 1rem}.skip:focus{top:1rem}.site-header{height:86px;padding:0 clamp(22px,4.5vw,76px);display:flex;align-items:center;gap:clamp(24px,3vw,56px);background:var(--ivory);position:relative;z-index:20}.brand{min-width:223px;display:flex;align-items:center;gap:13px;line-height:1.25}.brand-mark{font-family:"Yu Mincho",serif;font-size:18px;letter-spacing:.12em}.brand-en{font:10px Georgia,serif;letter-spacing:.18em;border-left:1px solid var(--line);padding-left:12px;color:var(--blue)}.site-header nav{display:flex;align-items:center;gap:clamp(16px,2vw,32px);margin-left:auto;font-size:12px;letter-spacing:.09em}.site-header nav a{border-bottom:1px solid transparent;padding:7px 0}.site-header nav a:hover{border-color:var(--blue)}.book-link,.closing-button,.mobile-book button{border:0;background:var(--ink);color:white;padding:12px 20px;letter-spacing:.08em;font-size:13px;min-height:46px}.book-link:hover,.closing-button:hover,.mobile-book button:hover{background:#315968}.book-link span,.closing-button span{margin-left:18px}.menu-toggle{display:none}.hero{height:min(770px,calc(100svh - 86px));min-height:640px;position:relative;overflow:hidden;background:#dcefed}.hero-image{position:absolute;inset:0;background:url("assets/hero.jpg") center center/cover}.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,246,239,.94) 0%,rgba(248,246,239,.81) 20%,rgba(248,246,239,.32) 43%,transparent 70%)}.hero-copy{position:absolute;left:clamp(28px,8vw,140px);top:50%;transform:translateY(-42%);z-index:1;max-width:590px}.eyebrow{font:11px Georgia,serif;letter-spacing:.25em;color:var(--blue)}.hero h1{font-size:clamp(42px,5.6vw,82px);line-height:1.32;letter-spacing:.12em;margin:29px 0 25px;text-shadow:0 1px 18px rgba(255,255,255,.6)}.hero-lead{font-size:clamp(16px,1.4vw,20px);line-height:2.1;letter-spacing:.08em}.text-link{display:inline-flex;gap:23px;align-items:center;border-bottom:1px solid var(--ink);padding:4px 0;margin-top:42px;font-size:13px;letter-spacing:.12em}.text-link:hover{color:var(--blue)}.hero-side{position:absolute;right:22px;top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right center;color:#264850;font:11px Georgia,serif;letter-spacing:.26em}.scroll-note{position:absolute;bottom:35px;left:clamp(28px,8vw,140px);font:11px Georgia,serif;letter-spacing:.21em}.scroll-note span{margin-left:19px}.demo-ribbon{text-align:center;padding:11px 15px;background:#e8f3ef;color:#335962;font-size:11px;letter-spacing:.08em}.section{padding:clamp(90px,10vw,160px) clamp(24px,7vw,120px)}.intro{display:grid;grid-template-columns:1fr 2fr .55fr;gap:6vw;max-width:1500px;margin:auto}.intro-kicker{font:11px Georgia,serif;letter-spacing:.19em;color:var(--blue);display:flex;align-items:flex-start;gap:12px;padding-top:24px}.intro-kicker .line{width:34px;height:1px;background:var(--blue);margin-top:10px}.section-english{font:clamp(22px,2.5vw,35px) Georgia,serif;color:#9b5947;margin-bottom:22px}.intro h2,.section-heading h2,.seats h2,.info h2{font-size:clamp(31px,3.2vw,48px);line-height:1.45;letter-spacing:.08em}.intro-main>p:not(.section-english){max-width:660px;line-height:2.35;color:#435c63;margin-top:24px}.intro-aside{display:flex;align-items:center;flex-direction:column;gap:24px;color:var(--blue)}.intro-aside span{font-family:"Yu Mincho",serif;font-size:80px;line-height:1;opacity:.26}.intro-aside small{writing-mode:vertical-rl;line-height:2.1;letter-spacing:.2em}.menu-section{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;max-width:1300px;margin:0 auto 60px}.section-heading h2,.seats h2,.info h2{margin-top:18px}.section-heading>p{color:var(--muted);font-size:14px}.food-layout{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(45px,8vw,145px)}.food-photo{position:relative}.food-photo img{aspect-ratio:1/1;object-fit:cover}.food-photo figcaption{font:11px Georgia,serif;letter-spacing:.24em;margin-top:18px;color:var(--muted)}.food-copy{max-width:480px}.coral-dot{width:14px;height:14px;background:var(--coral);border-radius:50%;display:block;margin-bottom:36px}.food-copy h3{font-size:clamp(26px,2.6vw,40px);line-height:1.6;letter-spacing:.05em;margin:18px 0 28px}.food-copy>p:not(.eyebrow,.menu-note){line-height:2.2;color:var(--muted)}.course-list{border-top:1px solid var(--line);margin-top:48px}.course-list div{padding:19px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:baseline}.course-list span{font-family:"Yu Mincho",serif;font-size:18px}.course-list strong{font-size:12px;font-weight:400;color:var(--muted)}.menu-note{font-size:11px;color:var(--muted);margin-top:20px}.quote-section{min-height:350px;display:grid;place-items:center;text-align:center;background:linear-gradient(120deg,#e5f3ee,#f8f6ef 65%)}.quote-section p{font-family:"Yu Mincho",serif;color:#386c74;font-size:clamp(27px,3.4vw,49px);line-height:1.9;letter-spacing:.12em}.seats{max-width:1500px;margin:auto}.seats-head{text-align:center}.seat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:70px}.seat-grid article{border-top:1px solid var(--blue);padding-top:24px}.seat-no{font:11px Georgia,serif;letter-spacing:.2em;color:var(--blue)}.seat-grid h3{font-size:26px;margin:25px 0 15px}.seat-grid p{font-size:14px;color:var(--muted);max-width:330px;line-height:2}.info{background:#eaf2ef;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.info-intro{margin-top:25px;max-width:300px;color:var(--muted);font-size:14px}.info dl{margin:0}.info dl div{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:27px 0;border-bottom:1px solid #bdd0c9}.info dt{font-family:"Yu Mincho",serif;font-size:18px}.info dd{margin:0;font-size:14px;color:#425e63}.closing{text-align:center;padding:120px 24px;background:#cbded9}.closing h2{font-size:clamp(31px,3.4vw,50px);line-height:1.6;letter-spacing:.08em;margin:20px 0 38px}.closing-button{min-width:240px;padding:18px 25px}.closing>p:last-child{font-size:11px;color:var(--muted);margin-top:16px}footer{background:var(--ink);color:#e8f2ed;padding:56px clamp(24px,7vw,120px);display:flex;align-items:center;gap:30px;flex-wrap:wrap;font-size:12px}.footer-brand{font-family:"Yu Mincho",serif;font-size:20px;letter-spacing:.12em}footer small{margin-left:auto;font:10px Georgia,serif;letter-spacing:.13em}.mobile-book{display:none}dialog{border:0;width:min(92vw,510px);max-height:min(90vh,760px);padding:32px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #112d3b66}dialog::backdrop{background:#102d3ac9}.dialog-head{display:flex;justify-content:space-between;align-items:center}.close-dialog{width:38px;height:38px;border:1px solid var(--line);background:transparent;font-size:25px;line-height:1}dialog h2{font-size:30px;margin:12px 0}dialog p{font-size:13px;color:var(--muted)}#booking-form{display:grid;gap:14px;margin-top:28px}#booking-form label{display:grid;gap:5px;font-size:14px}#booking-form label span{display:inline;color:var(--muted);font-size:12px}#booking-form input,#booking-form select{width:100%;min-height:44px;border:1px solid #9bb8b4;background:white;padding:8px 10px;color:var(--ink);border-radius:0}.dialog-submit{background:var(--ink);border:0;color:white;min-height:48px;margin-top:10px}.dialog-submit:hover{background:#315968}#booking-result{margin-top:18px;padding:12px;background:#e5f3ee;color:var(--ink)}
@media(max-width:1000px){.site-header{gap:12px}.brand{min-width:auto}.brand-en{display:none}.site-header nav{gap:13px}.book-link{padding:10px 12px}.intro{grid-template-columns:1fr 2fr}.intro-aside{display:none}.course-list div{display:block}.course-list strong{display:block;margin-top:4px}}
@media(max-width:700px){html{scroll-padding-top:66px}.site-header{height:66px;padding:0 20px}.brand-mark{font-size:16px}.menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;background:none;border:0;color:var(--ink);font-size:12px}.menu-toggle span{font-size:20px}.site-header nav{display:none;position:absolute;top:66px;left:0;right:0;margin:0;padding:17px 25px 25px;background:var(--ivory);box-shadow:0 12px 20px #20384420;flex-direction:column;align-items:stretch;font-size:15px;gap:0}.site-header nav.is-open{display:flex}.site-header nav a{padding:11px 0;border-bottom:1px solid var(--line)}.book-link{display:none}.hero{height:calc(100svh - 66px);min-height:590px;max-height:780px}.hero-image{background-position:54% center}.hero-image::after{background:linear-gradient(90deg,rgba(248,246,239,.95),rgba(248,246,239,.60) 52%,transparent),linear-gradient(0deg,rgba(248,246,239,.45),transparent 45%)}.hero-copy{left:26px;right:20px;top:46%;transform:translateY(-50%)}.hero h1{font-size:clamp(41px,11.5vw,58px);letter-spacing:.08em;margin:22px 0}.hero-lead{font-size:16px}.text-link{margin-top:26px}.hero-side{display:none}.scroll-note{left:26px;bottom:25px}.demo-ribbon{font-size:10px}.section{padding:80px 25px}.intro{display:block}.intro-kicker{padding:0;margin-bottom:30px}.intro h2{font-size:34px}.intro-main>p:not(.section-english){font-size:14px;margin-top:20px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:18px}.food-layout{display:block}.food-photo figcaption{margin-top:10px}.food-copy{margin-top:52px}.coral-dot{margin-bottom:20px}.food-copy h3{font-size:29px}.course-list{margin-top:32px}.quote-section{min-height:270px}.seat-grid{grid-template-columns:1fr;gap:32px;margin-top:45px}.seat-grid article{padding-top:17px}.seat-grid h3{margin:14px 0 8px}.info{display:block}.info dl{margin-top:35px}.info dl div{grid-template-columns:1fr;gap:8px;padding:19px 0}.closing{padding:86px 20px 100px}footer{display:block;padding:50px 25px 100px}footer p{margin:12px 0}footer small{display:block}.mobile-book{display:block;position:fixed;z-index:15;left:0;right:0;bottom:0;padding:10px 14px max(10px,env(safe-area-inset-bottom));background:#f8f6efed;border-top:1px solid var(--line)}.mobile-book button{width:100%;min-height:48px}dialog{padding:25px 20px}}
@media(max-width:350px){.hero h1{font-size:39px}.hero-copy{left:18px}.section{padding-left:18px;padding-right:18px}.course-list span{font-size:16px}.closing h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.mobile-break,.narrow-break{display:none}
@media(max-width:700px){.mobile-break{display:initial}#closing-title{font-size:26px;letter-spacing:.02em}}
@media(max-width:350px){.narrow-break{display:initial}#story-title{font-size:29px;letter-spacing:.04em}#menu-title{font-size:27px;letter-spacing:.03em}#seats-title{font-size:28px;letter-spacing:.03em}#closing-title{font-size:22px;letter-spacing:.02em}}
