:root{--ink:#191916;--gold:#98732e;--red:#842b24;--line:#dcd8ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{height:88px;display:flex;align-items:center;gap:35px;padding:0 5%;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}.brand{font-family:"Yu Mincho",serif;font-size:25px;letter-spacing:.12em;white-space:nowrap}.brand small{font-size:14px;color:var(--gold);margin-left:12px}nav{display:flex;gap:30px;margin-left:auto;font-size:14px}.reserve,.button{background:var(--ink);color:#fff;padding:12px 25px;display:inline-block;font-size:15px}.reserve:hover,.button:hover{background:var(--red)}.hero{position:relative;min-height:690px;display:grid;grid-template-columns:1fr 1.12fr;align-items:center;padding:65px 6% 90px;gap:50px}.eyebrow{font-size:14px;color:var(--gold);letter-spacing:.16em;margin:0 0 24px}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(32px,3.5vw,55px);line-height:1.65;letter-spacing:.07em;margin:0 0 24px}.intro{color:#5a5953;margin:0 0 32px}.phone{font-size:14px;letter-spacing:.12em;margin:12px 0}.hero-art img{width:100%;height:auto;display:block}.opening{margin:25px auto 0;text-align:center;border-top:1px solid var(--line);padding-top:18px;width:80%;color:var(--red)}.opening>span{font-size:14px;letter-spacing:.15em}.opening strong{font-family:"Yu Mincho",serif;font-size:25px;font-weight:500;display:block}.opening strong span{font-size:14px;margin-left:15px}.scroll{position:absolute;bottom:25px;left:6%;font-size:14px;border-bottom:1px solid var(--gold)}.section{padding:90px 8%;scroll-margin-top:0}h2{font-size:clamp(29px,3vw,42px);line-height:1.75;margin:0 0 28px;letter-spacing:.06em}h3{font-size:25px;line-height:1.5}.about{background:#191916;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:80px}.about .eyebrow{color:#c4a665}.prose{padding-top:30px}.prose p{margin:0 0 25px;color:#dedbd4}.features{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.features span{font-size:14px;padding:4px 15px;border:1px solid #777368}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:center}.section-head p{color:#65635c}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.menu-grid article{border-top:1px solid var(--gold);padding-top:25px}.number{font-family:serif;color:var(--gold);font-size:30px}.menu-grid p{color:#65635c;line-height:2;font-size:16px}.price{background:#f4f1e9;display:grid;grid-template-columns:1fr 1fr;gap:80px}.price-detail{border-top:1px solid var(--gold);padding-top:22px}.price-main{display:flex;flex-direction:column}.price-main strong{font-family:Georgia,serif;font-size:65px;font-weight:400;line-height:1.5}.price-main small{font-family:serif;font-size:23px;margin-left:10px}dl{margin:28px 0}dl div{display:flex;border-top:1px solid var(--line);padding:13px 0;gap:25px}dt{min-width:100px}dd{margin:0}.note{font-size:14px;color:#646055}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:40px}.outline{display:inline-block;border:1px solid var(--ink);padding:10px 25px;margin-top:15px;font-size:15px}.outline:hover{background:var(--ink);color:white}.contact{border-left:1px solid var(--line);padding-left:50px}.contact-phone{font-family:Georgia,serif;font-size:clamp(27px,3vw,42px);letter-spacing:.03em}.faq{padding-top:25px;max-width:1200px;margin:auto}details{border-top:1px solid var(--line);padding:23px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'＋';color:var(--gold)}details[open] summary:after{content:'−'}details p{color:#646055;margin-bottom:0}footer{background:var(--ink);color:#fff;padding:45px 8%;display:flex;justify-content:space-between;align-items:center}footer strong{font-family:serif;font-size:30px;font-weight:400}footer span{display:block;font-size:14px;color:#cbc6ba}footer p{font-size:14px;color:#cbc6ba}.mobile-reserve{display:none}@media(max-width:850px){header{height:72px;padding:0 6%;gap:10px}.brand{font-size:22px}nav{display:none}.reserve{margin-left:auto;font-size:14px;padding:9px 15px}.hero{padding:40px 7% 70px;gap:30px;min-height:0;grid-template-columns:1fr}.hero-art{grid-row:1;max-width:440px;margin:auto}.hero-art img{max-height:240px;object-fit:contain}.opening{margin-top:12px;padding-top:12px}.opening strong{font-size:22px}.hero-copy{padding-top:10px}h1{font-size:35px}.intro{font-size:16px}.hero-copy .eyebrow{margin-bottom:14px}.hero-copy .button{width:100%;text-align:center}.hero-copy .phone{text-align:center}.section{padding:60px 7%}.about,.price,.access-grid{grid-template-columns:1fr;gap:22px}.prose{padding-top:0}.section-head{display:block}.menu-grid{grid-template-columns:1fr;gap:20px;margin-top:25px}.menu-grid article{display:grid;grid-template-columns:45px 1fr;column-gap:18px;padding-top:20px}.menu-grid h3{margin:0}.menu-grid p{grid-column:2;margin-top:12px}.contact{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.faq{padding-top:20px}footer{padding:35px 7% 100px;align-items:start;gap:15px}.mobile-reserve{display:flex;position:fixed;bottom:0;width:100%;z-index:6;justify-content:center;flex-direction:column;text-align:center;background:var(--red);color:white;padding:8px 12px max(8px,env(safe-area-inset-bottom));font-size:15px;line-height:1.5}.mobile-reserve span{font-size:14px}.price-main strong{font-size:56px}dl div{flex-wrap:wrap;gap:4px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.course{border-top:1px solid var(--gold);padding:28px 0}.course h3{margin:0 0 20px}.course-price{font-family:Georgia,serif;font-size:38px;font-weight:400}.course-price small{font-family:sans-serif;font-size:14px;margin-left:10px;display:inline-block}.course-notes{background:#f4f1e9;padding:25px 30px;margin-top:30px}.course-notes p{font-size:15px}@media(max-width:850px){.course-grid{grid-template-columns:1fr;gap:12px}.course-price small{display:block;margin-left:0}.course-notes{padding:20px}}

.welcome{padding:28px 5% 0}.welcome>img{display:block;width:100%;height:auto}.welcome>p{font-size:13px;color:#676158;margin:8px 0;text-align:right}.hero{min-height:540px;padding-top:48px;gap:55px}.hero-art .hero-food{width:100%;max-height:none;aspect-ratio:660/370;object-fit:cover}.photo-caption{font-size:14px;color:#65635c;margin:8px 0}.photos{background:#f4f1e9}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:35px}.photo-grid figure{margin:0}.photo-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.photo-grid figcaption{font-size:14px;margin-top:12px}.footer-logo{width:170px;height:auto;display:block;background:#fff;margin-bottom:12px}@media(max-width:850px){.welcome{padding:18px 0 0}.welcome>p{padding:0 6%;font-size:12px;text-align:left}.hero{padding-top:28px;gap:22px;min-height:0}.hero-art{grid-row:auto;max-width:100%;width:100%}.hero-art .hero-food{max-height:none}.hero-copy h1{font-size:31px}.photo-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.photo-grid figcaption{font-size:14px}.footer-logo{width:135px}}
