@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;600;700&family=DM+Sans:wght@400;500&display=swap');
:root{--ink:#12202b;--blue:#0d1b2a;--cel:#cad8c0;--clay:#d47b4f;--paper:#f4f1e9;--line:#cbd1c6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans JP',sans-serif;line-height:1.8}h1,h2,p{margin-top:0}h1,h2,.brand b{font-family:'Shippori Mincho','Yu Mincho',serif;font-weight:600;line-height:1.25}.site-header{height:88px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,241,233,.94);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand b{font-size:20px;display:block}.brand small{font:10px 'DM Sans',sans-serif;letter-spacing:.16em}.mark{display:grid;place-items:center;background:var(--blue);color:var(--cel);width:38px;height:38px;border-radius:50%;font-family:'Shippori Mincho',serif}nav{display:flex;gap:28px}nav a,.text-link{color:var(--ink);text-decoration:none;font-size:14px}nav a.active,nav a:hover{color:var(--clay)}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1fr 1.08fr;align-items:stretch;background:var(--blue);color:var(--paper)}.hero-copy{padding:clamp(56px,10vw,150px) clamp(28px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);margin-bottom:18px;font-weight:500}.hero h1{font-size:clamp(42px,5vw,76px);margin-bottom:24px}.hero h1 em{color:var(--cel);font-style:normal}.lead{font-size:17px;color:#dbe2d6}.hero-image img,.feature-image img,.menu-image img,.visit-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-image{min-height:620px}.actions{display:flex;align-items:center;gap:24px;margin-top:26px}.button{display:inline-block;padding:11px 20px;background:var(--clay);color:#fff;text-decoration:none;font-size:14px}.button.dark{background:var(--blue)}.hero .text-link{color:var(--cel)}.intro,.feature,.visit-card{max-width:1180px;margin:auto;padding:clamp(72px,10vw,130px) clamp(22px,4vw,48px)}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.intro h2,.feature h2,.visit-card h2{font-size:clamp(32px,4vw,56px)}.intro p{max-width:460px}.note{font-size:12px;color:#68736c}.feature{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,7vw,90px);align-items:center}.feature-image{height:520px}.feature-copy p:not(.eyebrow){max-width:390px}.visit-card{margin-top:20px;background:var(--cel);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.visit-card .button{margin-top:20px}footer{padding:26px clamp(22px,5vw,72px);display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:12px;color:#68736c}.page-head{max-width:1180px;margin:auto;padding:90px clamp(22px,4vw,48px) 54px}.page-head h1{font-size:clamp(44px,6vw,78px);margin-bottom:16px}.page-head p:last-child{font-size:18px}.menu-layout,.visit-layout{max-width:1180px;margin:auto;padding:0 clamp(22px,4vw,48px) 110px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,8vw,100px);align-items:start}.menu-image{height:570px}.menu-list{padding-top:20px}.menu-group{border-top:1px solid var(--line);padding:20px 0}.menu-group h2{font-size:24px;color:var(--clay);margin-bottom:12px}.menu-group p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dotted #c4c8bd;padding:7px 0;margin:0;font-size:15px}.menu-group b{font-weight:500;white-space:nowrap}.visit-image{height:680px}.visit-details{padding-top:14px}.detail{border-top:1px solid var(--line);padding:20px 0}.detail h2{font-size:21px;margin-bottom:8px;color:var(--clay)}.detail p{margin:0}.visit-details .note{margin-top:28px}@media(max-width:760px){.site-header{height:auto;min-height:80px;padding:16px 20px;align-items:flex-start}.site-header nav{gap:13px;padding-top:8px}nav a{font-size:12px}.brand b{font-size:17px}.brand small{font-size:8px}.hero,.feature,.grid-two,.visit-card,.menu-layout,.visit-layout{grid-template-columns:1fr}.hero-image{min-height:56vw;max-height:430px;order:-1}.hero-copy{padding:58px 24px 72px}.hero h1{font-size:48px}.intro,.feature,.visit-card{padding:74px 24px}.feature-image,.menu-image{height:auto;aspect-ratio:1/1}.visit-image{height:auto;aspect-ratio:2/3}.page-head{padding:70px 24px 42px}.page-head h1{font-size:48px}.menu-layout,.visit-layout{padding:0 24px 80px;gap:44px}.menu-list{padding-top:0}.visit-card{margin:0}.visit-card h2{font-size:42px}footer{padding:22px 24px}}
