:root{--cream:#f3ecdf;--cream-2:#ece3d2;--ivory:#faf6ec;--paper:#fbf8f0;--sage:#9ea88f;--sage-deep:#6f7b65;--sage-soft:#c4ccba;--sage-block:#97a08a;--ink:#3a3329;--ink-2:#5b5347;--muted:#8a8275;--rule:rgba(58,51,41,.16);--rule-soft:rgba(58,51,41,.08);--serif:"Cormorant Garamond","Noto Serif JP",serif;--sc:"Cormorant SC",serif;--jp:"Noto Serif JP",serif;--script:"Italianno",cursive}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--ivory);color:var(--ink)}body{font-family:var(--jp);font-weight:400;line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;font-feature-settings:"palt"}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.wrap-wide{max-width:1500px;margin:0 auto;padding:0 40px}.wrap{max-width:1040px;margin:0 auto;padding:0 40px}.hero{position:relative;height:78vh;min-height:560px;overflow:hidden;background:#1f1812}.hero img.bg{width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.92);object-position:60% 40%}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#140f0a9e,#140f0a4d 38%,#0000 60%,#0003);z-index:1}.hero-copy{position:absolute;left:0;top:0;bottom:0;z-index:2;padding:0 64px;display:flex;flex-direction:column;justify-content:center;color:#fff;max-width:640px}.hero-copy .eyebrow{font-family:var(--serif);font-style:italic;font-weight:300;font-size:34px;letter-spacing:.02em;color:#fff;margin-bottom:6px;opacity:.95}.hero-copy h1{font-family:var(--jp);font-weight:500;font-style:normal;font-size:clamp(46px,5.4vw,82px);line-height:1.1;letter-spacing:.04em;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.4)}.hero-copy .sub{margin-top:32px;font-family:var(--jp);font-size:14px;letter-spacing:.14em;color:#fff;line-height:2;text-shadow:0 1px 8px rgba(0,0,0,.4);max-width:30em}.s-intro{padding:130px 0 184px;background:var(--ivory);text-align:center}.s-intro .label{font-family:var(--sc);font-size:11px;letter-spacing:.5em;color:var(--sage-deep);margin-bottom:18px}.s-intro h2{font-family:var(--jp);font-weight:400;font-style:normal;font-size:clamp(30px,3.3vw,46px);color:var(--ink);letter-spacing:.06em;line-height:1.5}.s-intro p{margin:26px auto 0;font-family:var(--jp);font-size:15px;color:var(--ink-2);line-height:2.1;letter-spacing:.06em;max-width:none;text-align:center}.s-intro p+p{margin-top:18px}.s-gallery{padding:20px 0 120px;background:var(--ivory)}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;aspect-ratio:3/2;max-width:1040px;margin:0 auto}.gallery-grid .g{position:relative;overflow:hidden;background:var(--cream-2)}.gallery-grid .g img{width:100%;height:100%;object-fit:cover}.gallery-grid .g.big{grid-row:1 / span 2}.s-features{padding:130px 0 100px;background:var(--cream)}.feat-head{text-align:center;margin-bottom:64px}.feat-head .label{font-family:var(--sc);font-size:11px;letter-spacing:.5em;color:var(--sage-deep);margin-bottom:14px}.feat-head h2{font-family:var(--jp);font-weight:400;font-style:normal;font-size:clamp(26px,2.6vw,36px);color:var(--ink);letter-spacing:.06em;line-height:1.5}.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feat{background:var(--paper);padding:48px 36px;border:1px solid var(--rule-soft);display:flex;flex-direction:column;gap:14px;text-align:center}.feat .icon{width:48px;height:48px;margin:0 auto 8px;color:var(--sage-deep)}.feat .icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.feat h3{font-family:var(--jp);font-weight:500;font-size:18px;color:var(--ink);letter-spacing:.06em;line-height:1.5}.feat p{font-size:13.5px;color:var(--ink-2);line-height:1.95;letter-spacing:.04em}.s-access{padding:130px 0;background:var(--ivory)}.access-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:flex-start;max-width:1040px;margin:0 auto}.access-left .label{font-family:var(--sc);font-size:11px;letter-spacing:.5em;color:var(--sage-deep);margin-bottom:14px}.access-left h2{font-family:var(--jp);font-weight:400;font-style:normal;font-size:clamp(26px,2.6vw,36px);color:var(--ink);letter-spacing:.06em;line-height:1.5}.access-left .map{margin-top:36px;aspect-ratio:16/10;overflow:hidden;background:var(--cream-2);position:relative}.access-left .map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.92)}.access-right{padding-top:8px}.info-list{display:flex;flex-direction:column}.info-list .row{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--rule-soft)}.info-list .row:last-child{border-bottom:1px solid var(--rule-soft)}.info-list dt{font-family:var(--sc);font-size:11px;letter-spacing:.32em;color:var(--sage-deep);padding-top:3px}.info-list dd{font-size:14px;color:var(--ink-2);line-height:1.85}.info-list dd .small{font-family:var(--sc);font-size:10px;letter-spacing:.32em;color:var(--muted);margin-left:8px}.access-right .resv-btn{margin-top:32px;display:inline-flex;align-items:center;gap:14px;background:var(--sage);color:#fff;padding:16px 28px;font-family:var(--sc);font-size:11px;letter-spacing:.4em;transition:.25s}.access-right .resv-btn:hover{background:var(--sage-deep)}.s-cta{padding:80px 0 130px;background:var(--ivory)}.cta-card{background:var(--cream);color:var(--ink);padding:80px 48px;text-align:center;border:1px solid var(--rule-soft)}.cta-card .label{font-family:var(--sc);font-size:11px;letter-spacing:.5em;color:var(--sage-deep)}.cta-card h2{margin-top:14px;font-family:var(--jp);font-weight:400;font-style:normal;font-size:clamp(26px,2.6vw,36px);color:var(--ink);letter-spacing:.06em;line-height:1.5}.cta-card p{margin-top:18px;font-family:var(--jp);font-size:14px;color:var(--ink-2);letter-spacing:.06em}.cta-card .btn{margin-top:34px;display:inline-flex;align-items:center;gap:14px;padding:16px 40px;background:var(--sage);color:#fff;border:1px solid var(--sage);font-family:var(--sc);font-size:11px;letter-spacing:.4em;transition:.25s}.cta-card .btn:hover{background:var(--sage-deep);border-color:var(--sage-deep)}footer{background:var(--cream);padding:96px 0 32px;color:var(--ink-2);border-top:1px solid var(--rule-soft)}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr 1fr auto;gap:32px;align-items:flex-start}.foot-brand{display:flex;flex-direction:column;gap:10px}.foot-brand img{height:30px;width:auto;mix-blend-mode:multiply}.foot-brand .tagline{margin-top:14px;font-family:var(--sc);font-size:10px;letter-spacing:.36em;color:var(--muted)}footer h5{font-family:var(--sc);font-size:11px;letter-spacing:.32em;color:var(--ink);font-weight:500;margin-bottom:16px}footer ul{list-style:none}footer ul li{padding:5px 0;font-size:12.5px;color:var(--ink-2)}footer ul li:hover{color:var(--sage-deep)}.foot-follow .sns-icons{display:flex;gap:12px;align-items:center}.foot-follow .sns{width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:.2s}.foot-follow .sns.ig{border:1px solid var(--rule)}.foot-follow .sns.ig:hover{background:var(--sage);border-color:var(--sage);color:#fff}.foot-follow .sns.ig svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}.foot-follow .sns.line svg{width:25px;height:25px;display:block}.foot-follow .sns.line:hover{opacity:.78}.foot-bottom{margin-top:64px;padding-top:24px;border-top:1px solid var(--rule-soft);display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between;align-items:center;font-family:var(--sc);font-size:10px;letter-spacing:.32em;color:var(--muted)}.foot-bottom .links{display:flex;gap:36px}@media(max-width:1100px){.wrap-wide,.wrap{padding:0 20px}header.top,header.top.scrolled{padding:14px 20px;grid-template-columns:auto 1fr}nav.menu,.head-icons{display:none}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,200px);aspect-ratio:auto}.gallery-grid .g.big{grid-row:1 / span 2;grid-column:1 / span 2}.feats{grid-template-columns:1fr;gap:14px}.access-grid{grid-template-columns:1fr;gap:32px}.hero-copy{padding:0 28px}.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}@media(max-width:700px){.foot-bottom{flex-direction:column;gap:16px;align-items:flex-start}.foot-bottom .links{flex-direction:column;gap:10px}}
