:root{--paper:#faf8f5;--cream:#eee7de;--ink:#493b32;--muted:#74675c;--line:#d6ccbf;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/2 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(26px,2.6vw,38px);line-height:1.7;letter-spacing:.08em;margin-bottom:25px}h3{font-size:21px}p{margin-bottom:22px}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #8a6744;outline-offset:5px}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.demo-bar{text-align:center;background:var(--ink);color:#fff;font-size:10px;letter-spacing:.12em;padding:6px 15px}.header{height:102px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #e9e3da}.brand{font:30px/1.3 Georgia,serif;letter-spacing:-.04em;white-space:nowrap}.brand span{display:block;font:9px/2 var(--sans);letter-spacing:.32em;margin-top:4px;text-align:center}.header nav{display:flex;gap:28px;align-items:center;font:14px Georgia,serif}.header nav a:not(.nav-cta):hover{color:#987c64}.nav-cta{font:12px var(--sans);border:1px solid var(--ink);padding:15px 22px}.nav-cta span{margin-left:22px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:43% 57%;min-height:660px}.hero-copy{padding:72px 14% 24px}.eyebrow{font:10px/1.8 var(--sans);letter-spacing:.2em;margin-bottom:25px}.hero h1{font-size:clamp(32px,3.3vw,52px);line-height:1.7;letter-spacing:.1em;margin:32px 0 25px;white-space:nowrap}.hero-description{font-size:13px;line-height:2.4}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--ink);color:white;border:1px solid var(--ink);padding:16px 26px;font-size:12px;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:#675346;transform:translateY(-2px)}.text-link{display:block;width:fit-content;font-size:12px;border-bottom:1px solid var(--line);padding:8px 0;margin-top:18px}.text-link span{margin-left:26px}.hero-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:58px;font:9px Georgia,serif;letter-spacing:.08em}.hero-bottom>span{font-style:italic;font-size:14px}.hero-image{position:relative;min-height:660px;overflow:hidden}.hero-image img{position:absolute;inset:0;object-position:58% center;filter:saturate(.65)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#34281e50,transparent 50%)}.hero-image figcaption{position:absolute;bottom:20px;right:25px;color:white;z-index:2;font-size:9px;text-shadow:0 1px 4px #000}.image-word{position:absolute;bottom:58px;left:35px;color:#fff9;font:italic clamp(70px,8.5vw,130px) Georgia,serif;z-index:2;letter-spacing:-.06em}.mobile-break{display:none}.section{padding:110px max(7%,calc((100% - 1180px)/2));scroll-margin-top:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding-top:130px;padding-bottom:130px}.arch-photo{height:480px;border-radius:220px 220px 0 0;overflow:hidden;max-width:410px}.arch-photo img{object-position:65%;filter:saturate(.6)}.photo-note{display:block;font:italic 17px Georgia,serif;margin-top:18px}.about-copy p:not(.eyebrow){font-size:13px;line-height:2.5}.note{font-size:11px!important;line-height:2!important;color:var(--muted)}.concept{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:50px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:12px;margin-bottom:8px}.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.concept-grid article{border-top:1px solid #b9aa99;padding-top:30px}.number{font:italic 40px Georgia,serif;color:#8c7662;display:block;margin-bottom:28px}.concept-grid p{font-size:13px}.mini-label{font:9px var(--sans);letter-spacing:.17em}.menu{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;align-items:start}.menu-intro>p:not(.eyebrow){font-size:13px}.menu-intro figure{margin-top:35px;height:220px;position:relative;overflow:hidden}.menu-intro img{object-position:center 42%;filter:saturate(.5)}.menu-intro figcaption{position:absolute;bottom:10px;right:12px;font-size:9px;color:#fff;text-shadow:0 1px 4px #000}.price-note{font-size:10px;letter-spacing:.12em;border-bottom:1px solid var(--ink);padding-bottom:22px}.price-note span{display:block;color:var(--muted);letter-spacing:.02em;margin-top:6px}.price-list dl{margin:0 0 25px}.price-list dl>div{display:flex;justify-content:space-between;gap:16px;padding:21px 0;border-bottom:1px solid var(--line)}.price-list dt{font-family:var(--serif);font-size:18px}.price-list dt span{display:block;font:10px/2 var(--sans);color:var(--muted);margin-top:4px}.price-list dd{font:23px/1.5 Georgia,serif;margin:0;white-space:nowrap}.staff{background:#f1ede6}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.staff-art{height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:25px;background:#d9cdbd}.staff-art:before{content:'';width:165px;height:205px;border:1px solid #fff8;border-radius:100px 100px 0 0;position:absolute}.staff-art>span{font:italic 90px Georgia,serif;color:#685445;z-index:1}.staff-art small{font-size:8px;letter-spacing:.12em;position:absolute;bottom:18px;color:#685445}.tone-two{background:#e0d9cc}.tone-three{background:#d5c8bd}.staff .eyebrow{margin-bottom:10px}.staff h3{font-size:20px;margin-bottom:13px}.staff h3 span{font:italic 12px Georgia,serif;display:inline-block;margin-left:12px}.staff article>p:last-child{font-size:12px}.access{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.access-details{margin:30px 0 0}.access-details>div{display:grid;grid-template-columns:85px 1fr;border-bottom:1px solid var(--line);padding:17px 0;gap:12px}.access-details dt{font-size:9px;letter-spacing:.1em}.access-details dd{font-size:12px;margin:0}.map{height:400px;background:#eae5da;position:relative;overflow:hidden;border:1px solid #d6cdbc}.map-top,.map-bottom{position:absolute;font-size:9px;letter-spacing:.08em;z-index:3}.map-top{top:18px;left:20px}.map-bottom{bottom:15px;left:20px;right:15px;font-size:10px;letter-spacing:0}.map-road{position:absolute;background:#faf8f5}.road-one{width:100%;height:48px;top:55%;transform:rotate(-17deg) scale(1.2)}.road-two{height:100%;width:40px;left:58%;transform:rotate(17deg) scale(1.2)}.map-park{position:absolute;left:15%;top:20%;background:#c6ccb8;color:#5d6753;padding:28px 20px;font:10px Georgia,serif;border-radius:40% 50% 30% 30%}.map-station{position:absolute;left:14%;bottom:22%;font-size:12px;padding:8px 18px;background:#cdbfb0}.map-station small{display:block;font-size:9px}.map-pin{position:absolute;right:13%;top:28%;font:18px Georgia,serif;text-align:center}.map-pin span{display:block;font-size:37px}.reservation{text-align:center;padding:95px 20px;background:#e6dacb;background-image:radial-gradient(ellipse at 10% 40%,#f8f4ee80,transparent 60%)}.reservation h2{font-size:clamp(28px,3vw,42px)}.reservation>div>p:not(.eyebrow){font-size:12px}.reservation .button{min-width:240px;margin:12px 0 25px}.reservation-note{font-size:10px!important;color:#67594b}.reservation .eyebrow{margin-bottom:20px}footer{padding:55px 7% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}footer>p{font-size:10px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px}.footer-bottom small{font-size:9px}.mobile-reservation{display:none}dialog{border:1px solid var(--line);padding:0;max-width:500px;width:calc(100% - 36px);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#30251ccc;backdrop-filter:blur(3px)}.dialog-content{padding:45px}.dialog-content h2{font-size:26px}.dialog-content>p{font-size:13px}.dialog-content .button{width:100%}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.js-motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1600px){.hero{min-height:740px}.hero-image{min-height:740px}.hero-copy{padding-top:100px}}
@media(max-width:1000px){.header{padding:0 5%;height:88px}.header nav{gap:18px}.brand{font-size:26px}.hero-copy{padding:55px 10% 24px}.hero,.hero-image{min-height:600px}.hero h1{font-size:34px}.section{padding:85px 7%}.about,.menu,.access{gap:8%}.concept-grid{gap:25px}.staff-art{height:220px}.arch-photo{height:420px}.staff h3 span{display:block;margin-left:0;margin-top:5px}}
@media(max-width:900px){html{scroll-padding-top:78px}.demo-bar{font-size:8px;letter-spacing:.03em;padding:6px 8px}.header{height:76px;padding:0 6%}.brand{font-size:25px}.brand span{font-size:8px}.menu-toggle{display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:center;width:44px;height:44px;background:none;border:1px solid var(--line)}.menu-toggle span{display:block;width:20px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:22px 6% 30px;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav a{padding:12px 5px;min-height:44px}.header nav .nav-cta{margin-top:12px;padding:15px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:38px 7% 25px}.hero .eyebrow{font-size:9px;margin-bottom:14px}.hero h1{font-size:34px;margin:20px 0;line-height:1.7}.hero-description{font-size:12px}.hero .button{padding:14px 22px;min-height:48px}.hero .text-link{display:inline-block;margin-left:15px;font-size:10px}.hero .text-link span{margin-left:8px}.hero-bottom{margin-top:28px}.hero-image{min-height:0;height:340px}.hero-image img{object-position:60% center}.image-word{font-size:74px;left:22px;bottom:40px}.hero-image figcaption{font-size:8px;bottom:15px;right:15px}.section{padding:70px 7%}.about{grid-template-columns:1fr;gap:40px}.about-visual{max-width:360px;width:100%;margin:auto}.arch-photo{height:360px}.photo-note{font-size:15px}.about-copy h2{font-size:28px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:18px}.section-heading h2{font-size:26px}.concept-grid{grid-template-columns:1fr;gap:35px}.concept-grid article{padding-top:22px;position:relative;padding-left:64px}.number{position:absolute;left:0;top:24px;font-size:30px}.concept-grid h3{font-size:20px;margin-bottom:12px}.concept-grid p{font-size:12px;margin-bottom:15px}.menu{grid-template-columns:1fr;gap:35px}.menu-intro figure{height:230px}.price-list dd{font-size:22px}.price-list dt{font-size:17px}.staff-grid{grid-template-columns:1fr;gap:34px}.staff-art{height:260px}.staff h3 span{display:inline-block;margin-left:12px}.staff-grid article>p:last-child{margin-bottom:0}.access{grid-template-columns:1fr;gap:35px}.map{height:340px}.map-pin{font-size:16px;right:10%}.reservation{padding:65px 7%}.reservation h2{font-size:29px}footer{padding:40px 7% 85px}.footer-top{gap:15px}.footer-top .brand{font-size:23px}.footer-top .text-link{font-size:10px;margin:0}.footer-bottom{flex-direction:column;gap:5px}.mobile-reservation{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;min-height:52px;justify-content:center;align-items:center;gap:50px;background:var(--ink);color:#fff;font-size:12px;padding-bottom:env(safe-area-inset-bottom)}.dialog-content{padding:30px 22px}.dialog-content h2{font-size:24px}}
@media(max-width:350px){.hero h1{font-size:30px}.hero .text-link{display:block;margin-left:0}.hero-image{height:285px}.demo-bar{font-size:7px}.mobile-break{display:block}.staff h3 span{font-size:11px}.footer-top .brand{font-size:20px}.footer-top .text-link{font-size:9px}.price-list dt{font-size:15px}.price-list dd{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* 公開前の最小調整：重要な注記・タップ領域・スマホの読みやすさ */
.demo-bar{font-size:12px;letter-spacing:.03em}
.text-link{min-height:44px;display:flex;align-items:center}
.hero-image figcaption{font-size:10px}
@media(max-width:900px){
 .demo-bar{font-size:12px;line-height:1.7;padding:7px 12px}
 .hero-description,.about-copy p:not(.eyebrow),.concept-grid p,.menu-intro>p:not(.eyebrow),.staff article>p:last-child,.access-details dd,.reservation>div>p:not(.eyebrow),.dialog-content>p{font-size:14px}
 .note,.reservation-note{font-size:12px!important}
 .price-list dt span,.price-note,.price-note span,footer>p,.map-bottom{font-size:12px}
 .hero .text-link{font-size:12px;display:flex;margin-left:0}
 .hero-bottom a{display:flex;align-items:center;min-height:44px}
 .footer-top .text-link{font-size:11px;white-space:nowrap}
 .hero-image figcaption{font-size:10px;left:15px;right:15px;text-align:right}
 .access-details>div{grid-template-columns:70px 1fr}
 .map-pin{right:8%}
}
