:root{--ink:#2d2a24;--deep:#334237;--matcha:#75846a;--brown:#76503a;--paper:#f5f1e8;--cream:#ebe4d6;--white:#fffdf8;--line:#d8d0c1;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;line-height:1.9;letter-spacing:.04em}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sample-note{margin:0;padding:6px 20px;text-align:center;background:var(--deep);color:#fff;font:11px/1.4 "Yu Gothic",sans-serif;letter-spacing:.08em}.site-header{height:92px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(245,241,232,.96);position:relative;z-index:30;border-bottom:1px solid rgba(45,42,36,.08)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid var(--deep);border-radius:50%;display:grid;place-items:center;font-size:22px;color:var(--deep)}.brand b{display:block;font-size:18px;letter-spacing:.16em}.brand small{display:block;font:9px/1.3 Georgia,serif;letter-spacing:.22em;color:#777}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:13px}.desktop-nav a:not(.nav-cta){padding:6px 0;border-bottom:1px solid transparent}.desktop-nav a:hover,.desktop-nav .is-current{border-color:var(--deep)!important}.nav-cta{padding:12px 22px;background:var(--deep);color:#fff}.menu-button,.mobile-nav{display:none}.hero{min-height:740px;display:grid;grid-template-columns:46% 54%;position:relative;overflow:hidden}.hero-copy{padding:120px 7vw 100px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{margin:0 0 20px;font:11px/1.4 Georgia,serif;letter-spacing:.26em;color:var(--brown)}.hero h1{font-size:clamp(42px,4.2vw,72px);font-weight:400;line-height:1.45;letter-spacing:.08em;margin:0}.hero h1 span{margin-left:1.1em}.hero-text{margin:35px 0 30px;font-size:15px}.text-link{display:inline-flex;align-items:center;gap:22px;padding-bottom:7px;border-bottom:1px solid var(--ink);font-size:13px}.text-link span{font:18px/1 Georgia}.hero-image{position:relative;min-height:740px}.hero-image img{object-position:center 58%}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,42,36,.1),transparent 45%)}.vertical-copy{position:absolute;right:32px;top:60px;margin:0;z-index:2;color:white;writing-mode:vertical-rl;font-size:17px;letter-spacing:.28em;text-shadow:0 1px 8px #333}.season-stamp{position:absolute;z-index:3;bottom:46px;left:-36px;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:#fff;text-align:center;font-size:13px;line-height:1.5;letter-spacing:.2em}.hero-scroll{position:absolute;bottom:32px;left:7vw;font:9px Georgia;letter-spacing:.25em;transform:rotate(-90deg);transform-origin:left bottom}.hero-scroll span{display:inline-block;width:65px;height:1px;background:var(--ink);vertical-align:middle;margin-left:12px}.intro{max-width:var(--max);margin:auto;padding:150px 30px;display:grid;grid-template-columns:70px 1fr 1fr;gap:60px;align-items:start}.section-number{font:13px Georgia;color:var(--matcha);border-top:1px solid var(--matcha);padding-top:12px}.intro h2,.section-heading h2,.space-card h2,.craft h2,.visit h2,.menu-list h2{font-size:clamp(30px,3.1vw,48px);font-weight:400;line-height:1.6;letter-spacing:.09em;margin:0}.intro-body{padding-top:45px;font-size:15px}.intro-body p{margin:0 0 22px}.space-section{display:grid;grid-template-columns:58% 42%;min-height:700px;background:var(--deep)}.space-photo{min-height:700px}.space-photo img{object-position:center 55%}.space-card{position:relative;padding:100px 8vw 80px 7vw;color:#fff;display:flex;flex-direction:column;justify-content:center}.space-card h2{margin-bottom:28px}.space-card>p:not(.vertical-label){font-size:14px;margin:0 0 30px}.space-card .text-link{align-self:flex-start;border-color:#fff}.vertical-label{position:absolute;right:35px;top:80px;writing-mode:vertical-rl;font-size:12px;letter-spacing:.32em;color:#cbd2c5}.menu-preview{padding:140px 6vw}.section-heading{max-width:var(--max);margin:0 auto 60px;display:flex;justify-content:space-between;align-items:end}.section-heading>p{font-size:14px;margin:0 0 10px}.menu-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:22px}.menu-feature{grid-row:1/3;position:relative;min-height:580px;overflow:hidden}.menu-feature:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(20,18,14,.82))}.menu-feature>div{position:absolute;z-index:2;left:45px;right:45px;bottom:38px;color:#fff}.menu-tag{font:10px Georgia;letter-spacing:.25em;margin:0 0 10px}.menu-feature h3,.menu-card h3{font-size:25px;font-weight:400;margin:0 0 8px}.menu-feature p,.menu-card p{font-size:13px;margin:0 0 10px}.menu-feature span,.menu-card span{font:14px Georgia}.menu-card{padding:48px;min-height:275px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.menu-card:before{content:"";width:140px;height:140px;position:absolute;right:-35px;top:-35px;border-radius:50%;border:1px solid rgba(255,255,255,.4)}.matcha-card{background:var(--matcha);color:#fff}.sweet-card{background:var(--cream)}.center{text-align:center;margin-top:50px}.outline-button{display:inline-flex;justify-content:center;min-width:240px;padding:14px 28px;border:1px solid var(--ink);font-size:13px;transition:.2s}.outline-button:hover{background:var(--ink);color:#fff}.craft{background:var(--cream);padding:140px max(6vw,calc((100vw - 1180px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.craft-copy>p:last-child{font-size:14px;margin-top:30px}.craft-points{border-top:1px solid #c9c0b1}.craft-points>div{display:grid;grid-template-columns:55px 1fr;column-gap:20px;padding:28px 0;border-bottom:1px solid #c9c0b1}.craft-points span{grid-row:1/3;width:42px;height:42px;border:1px solid var(--deep);border-radius:50%;display:grid;place-items:center;color:var(--deep)}.craft-points h3{margin:2px 0 4px;font-size:17px;font-weight:400}.craft-points p{margin:0;font-size:12px}.visit{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--white)}.visit-image img{object-position:center 58%}.visit-info{padding:95px 9vw 80px 7vw}.visit-info dl{margin:30px 0}.visit-info dl>div{display:grid;grid-template-columns:80px 1fr;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.visit-info dt{font-weight:bold}.visit-info dd{margin:0}.placeholder{font:11px/1.6 "Yu Gothic",sans-serif;color:#7a746b}.fill-button{display:inline-block;margin-top:20px;padding:15px 45px;background:var(--deep);color:#fff;font-size:13px}.site-footer{padding:65px 6vw 30px;background:#252a25;color:#fff;display:grid;grid-template-columns:1fr auto;gap:45px}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand .brand-mark{color:#fff;border-color:#fff}.footer-brand p{margin:0}.footer-brand b,.footer-brand small{display:block}.footer-brand small{font:9px Georgia;letter-spacing:.2em;color:#aeb8ad}.footer-links{display:flex;gap:25px;font-size:12px}.copyright{grid-column:1/-1;margin:20px 0 0;padding-top:20px;border-top:1px solid #485048;font:9px Georgia;letter-spacing:.18em;color:#98a097}.inner-header{position:relative}.inner-hero{min-height:440px;padding:110px 6vw;text-align:center;display:flex;flex-direction:column;justify-content:center;background:var(--cream);position:relative}.inner-hero:before,.inner-hero:after{content:"";position:absolute;border:1px solid #c7bdae;border-radius:50%;width:160px;height:160px}.inner-hero:before{left:8%;bottom:-45px}.inner-hero:after{right:12%;top:-55px}.inner-hero h1{font-size:56px;font-weight:400;letter-spacing:.18em;margin:0}.inner-hero>p:last-child{font-size:14px}.menu-detail{max-width:var(--max);margin:140px auto;padding:0 30px;display:grid;grid-template-columns:44% 56%;gap:80px;align-items:center}.menu-detail.reverse{grid-template-columns:56% 44%}.menu-detail.reverse .menu-detail-photo{order:2}.menu-detail-photo{height:620px}.menu-list-heading{display:flex;align-items:flex-start;gap:25px;margin-bottom:35px}.menu-list-heading>span{writing-mode:vertical-rl;border:1px solid var(--deep);padding:14px 8px;letter-spacing:.2em;color:var(--deep)}.menu-list article{display:flex;justify-content:space-between;align-items:flex-end;padding:23px 0;border-bottom:1px solid var(--line)}.menu-list article h3{font-size:17px;font-weight:400;margin:0 0 4px}.menu-list article p{font-size:12px;margin:0;color:#746e65}.menu-list article strong{font:14px Georgia;font-weight:400}.menu-notice{text-align:center;padding:90px 30px 120px;background:var(--cream)}.menu-notice p{max-width:680px;margin:0 auto 35px;font-size:13px}
@media(max-width:900px){body{line-height:1.8}.sample-note{font-size:9px;padding:5px 12px}.site-header{height:72px;padding:0 20px;position:relative;background:var(--paper)}.brand{gap:9px}.brand-mark{width:36px;height:36px;font-size:18px}.brand b{font-size:15px}.brand small{font-size:7px}.desktop-nav{display:none}.menu-button{display:flex;width:42px;height:42px;border:0;background:transparent;position:relative;flex-direction:column;justify-content:center;gap:5px;z-index:42}.menu-button span:not(.sr-only){width:24px;height:1px;background:var(--ink);transition:.25s}.menu-button[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-nav{display:flex;position:fixed;z-index:40;inset:0;background:var(--paper);padding:120px 35px 50px;flex-direction:column;gap:0;transform:translateY(-105%);transition:transform .3s ease}.mobile-nav.is-open{transform:translateY(0)}.mobile-nav a{padding:18px 4px;border-bottom:1px solid var(--line);font-size:18px}.menu-open{overflow:hidden}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:70px 24px 55px;min-height:500px;order:2}.hero h1{font-size:38px}.hero h1 span{margin-left:.6em}.hero-text{font-size:13px;margin:25px 0}.hero-image{order:1;min-height:480px;height:62vh}.hero-image img{object-position:center 64%}.vertical-copy{right:18px;top:28px;font-size:14px}.season-stamp{left:22px;bottom:-34px;width:72px;height:72px;font-size:11px}.hero-scroll{display:none}.intro{padding:95px 24px;display:grid;grid-template-columns:45px 1fr;gap:20px}.intro-title{grid-column:2}.intro-body{grid-column:2;padding-top:12px;font-size:14px}.intro h2,.section-heading h2,.space-card h2,.craft h2,.visit h2,.menu-list h2{font-size:29px}.space-section{display:flex;flex-direction:column;min-height:0}.space-photo{min-height:470px}.space-card{padding:80px 34px}.vertical-label{right:22px;top:48px}.menu-preview{padding:95px 20px}.section-heading{display:block;margin-bottom:40px}.section-heading>p{margin-top:22px;font-size:13px}.menu-grid{display:block}.menu-feature{min-height:500px;margin-bottom:16px}.menu-feature>div{left:25px;right:25px;bottom:25px}.menu-card{min-height:230px;margin-bottom:16px;padding:34px}.craft{padding:95px 24px;display:block}.craft-copy{margin-bottom:50px}.craft-points>div{grid-template-columns:50px 1fr}.visit{display:flex;flex-direction:column;min-height:0}.visit-image{height:430px}.visit-info{padding:75px 25px}.visit-info dl>div{grid-template-columns:68px 1fr}.site-footer{display:block;padding:55px 24px 25px}.footer-links{display:grid;grid-template-columns:1fr 1fr;margin:35px 0}.copyright{margin-top:35px}.inner-hero{min-height:340px;padding:80px 22px}.inner-hero h1{font-size:38px}.inner-hero:before,.inner-hero:after{width:90px;height:90px}.menu-detail,.menu-detail.reverse{margin:85px auto;padding:0 22px;display:flex;flex-direction:column;gap:50px}.menu-detail.reverse .menu-detail-photo{order:0}.menu-detail-photo{width:100%;height:480px}.menu-list{width:100%}.menu-list-heading{gap:15px}.menu-list article{gap:15px}.menu-list article p{font-size:11px}.menu-notice{padding:70px 24px 90px}}
@media(max-width:390px){.hero-image{height:455px;min-height:455px}.hero-copy{min-height:470px}.hero h1{font-size:35px}.intro{padding-top:80px}.menu-feature{min-height:455px}.space-photo{min-height:420px}}

h1,h2{word-break:auto-phrase;text-wrap:balance}
@media(max-width:900px){.menu-open .site-header{z-index:70}}
