@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
:root{--ink:#26251f;--paper:#f4f0e6;--red:#8b2f26;--line:#c9c1af;--dark:#20221e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Zen Kaku Gothic New",sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}.header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:fixed;inset:0 0 auto;z-index:20;background:rgba(244,240,230,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(38,37,31,.1)}.logo,.footer-logo{font-family:"Noto Serif JP",serif;font-size:24px;font-weight:700;letter-spacing:.18em}.logo span,.footer-logo span{display:inline-grid;place-items:center;background:var(--red);color:#fff;width:38px;height:38px;margin-right:8px}.nav{display:flex;gap:30px;font-size:13px}.nav a:hover{color:var(--red)}.menu-btn{display:none;border:0;background:none;font-size:24px}.hero{min-height:100vh;display:grid;grid-template-columns:58% 42%;padding-top:78px}.hero-photo{min-height:calc(100vh - 78px)}.placeholder{background:linear-gradient(135deg,#d9d2c3,#bdb4a1);display:grid;place-items:center;text-align:center;color:#686153;letter-spacing:.15em;font-size:13px;overflow:hidden}.placeholder small{letter-spacing:.04em}.hero-copy{padding:9vw 6vw;display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-title>p,.feature-copy>p{font-size:11px;letter-spacing:.3em;color:var(--red);font-weight:700}.hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(38px,4.2vw,72px);line-height:1.45;letter-spacing:.08em;margin:20px 0}.button{margin-top:28px;border-bottom:1px solid var(--ink);width:max-content;padding:8px 2px}.section{padding:120px 8vw}.section-title{margin-bottom:60px}.section-title h2{font-family:"Noto Serif JP",serif;font-size:clamp(30px,4vw,52px);margin:4px 0}.section-title span{font-size:12px;color:#777}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.photo-tall{aspect-ratio:4/5}.about-text h3{font-family:"Noto Serif JP",serif;font-size:clamp(26px,3vw,44px);line-height:1.6}.menu-section{background:#e8e2d5}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.card-photo{aspect-ratio:4/3}.card h3{font-family:"Noto Serif JP",serif;font-size:23px;margin:4px 0}.card p{margin:0}.number{color:var(--red);font-size:11px;letter-spacing:.2em;margin-top:18px!important}.note{text-align:right;font-size:11px;margin-top:40px}.feature{background:var(--dark);color:#f5f1e7;display:grid;grid-template-columns:60% 40%;min-height:650px}.feature-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-family:"Noto Serif JP",serif;font-size:clamp(34px,4vw,58px);line-height:1.5}.info{max-width:850px;margin:auto}.info dl{border-top:1px solid var(--line)}.info dl div{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--line);padding:22px 0}.info dt{font-size:12px;font-weight:700}.info dd{margin:0}.access{background:#d8d0bf}.access-links{border-top:1px solid #aaa18f}.big-link{display:flex;justify-content:space-between;align-items:center;padding:28px 4px;border-bottom:1px solid #aaa18f;font-family:"Noto Serif JP",serif;font-size:22px}.disabled{opacity:.55;pointer-events:none}footer{background:#171814;color:#e9e4d9;padding:70px 8vw 35px}.footer-logo{font-size:30px;margin-bottom:30px}.copyright{margin-top:60px;font-size:10px;opacity:.6}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){.header{height:64px}.nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);padding:25px 7vw;flex-direction:column}.nav.open{display:flex}.menu-btn{display:block}.hero{grid-template-columns:1fr;padding-top:64px}.hero-photo{min-height:55vh}.hero-copy{padding:60px 7vw 85px}.hero h1{font-size:38px}.section{padding:85px 7vw}.section-title{margin-bottom:38px}.about-grid,.cards,.feature{grid-template-columns:1fr}.about-grid{gap:40px}.cards{gap:45px}.feature{min-height:0}.feature-photo{aspect-ratio:4/3}.feature-copy{padding:70px 7vw}.info dl div{grid-template-columns:1fr;gap:4px}.info dd{font-size:14px}.big-link{font-size:18px}footer{padding:60px 7vw 30px}}