:root{--paper:#f3efe6;--ink:#25231f;--wood:#6b5140;--red:#8b352b;--line:#cfc7b9;--serif:'Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:2;letter-spacing:.045em}a{color:inherit;text-decoration:none}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}img{display:block;width:100%;height:auto;object-fit:cover}figure,p,h1,h2,h3,h4{margin:0}figure{min-width:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:500}h2{font-size:clamp(29px,3vw,44px);line-height:1.8;letter-spacing:.11em}h3{font-size:32px;line-height:1.8;letter-spacing:.08em}p+p{margin-top:22px}header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;line-height:1}.brand span{font-size:10px;writing-mode:vertical-rl;letter-spacing:.15em}.brand b{font:44px var(--serif)}.brand small{font:11px Georgia,serif;letter-spacing:.22em;margin-left:6px}nav{display:flex;gap:35px;align-items:center;font-size:12px}nav a{padding:12px 0}.nav-cta{border-bottom:1px solid var(--red)}.nav-cta span{margin-left:25px;color:var(--red)}.hero{display:grid;grid-template-columns:36% 64%;padding-top:32px;padding-left:4.5%;align-items:center}.hero-copy{padding:24px 28px 30px 0}.eyebrow{font-size:10px;letter-spacing:.17em;line-height:1.8;color:var(--wood);margin-bottom:27px}h1{font-size:clamp(34px,3.4vw,54px);line-height:1.65;letter-spacing:.08em;margin-bottom:30px}.hero-body{font-size:13px;line-height:2.1}.button{background:var(--red);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;min-height:62px;font:12px var(--sans);letter-spacing:.045em;border:1px solid var(--red);cursor:pointer;transition:background .2s}.button:hover{background:#6d2922}.button span{font-size:20px}.hero .button{margin-top:30px;max-width:340px}.micro{font-size:8px;letter-spacing:.03em;margin-top:16px}.hero-photo img{height:clamp(520px,47vw,760px);object-position:40% 50%;animation:photo-enter .9s ease-out}.hero-photo figcaption{display:flex;justify-content:space-between;padding:15px 30px 0 0;font-size:9px;letter-spacing:.12em}.hero-photo figcaption span{font-size:11px}figcaption{font-size:11px;line-height:1.8;color:var(--wood);padding-top:13px}.wrap{width:86%;max-width:1240px;margin-inline:auto}.section{padding-block:140px}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%}.indent{display:inline-block;margin-top:12px}.prose{padding-top:50px;line-height:2.35}.concept-photo{width:80%;margin:90px 0 0 auto}.concept-photo img{aspect-ratio:1.75;object-position:center 60%}.season{padding-top:80px}.season-heading{display:grid;grid-template-columns:1.2fr 1fr;column-gap:10%;align-items:end;margin-bottom:55px}.season-heading .eyebrow{grid-column:1/-1}.season-heading p:last-child{line-height:2.2}.season-photo{width:93%;margin-left:0}.season-photo img{height:520px;object-position:center 60%}.season-photo figcaption{padding-left:7.5%}.story{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:35px;margin-top:55px}.story li{border-top:1px solid var(--line);padding-top:24px;font-family:var(--serif);font-size:18px}.story small{display:block;font:10px var(--sans);letter-spacing:.13em;color:var(--wood);margin-bottom:18px}.gallery{padding-top:40px}.editorial{display:grid;grid-template-columns:repeat(12,1fr);gap:60px 35px;margin-top:65px;align-items:start}.g1{grid-column:1/9}.g1 img{aspect-ratio:1.5}.g2{grid-column:9/13;margin-top:150px}.g2 img{aspect-ratio:.78;object-position:32%}.g3{grid-column:3/12}.g3 img{aspect-ratio:2.2;object-position:50% 70%}.spaces{background:#eae4d9}.space{display:grid;align-items:center;gap:11%;margin-top:95px}.private{grid-template-columns:42% 47%}.private figure{width:83%;margin-left:12%}.private img{aspect-ratio:.97}.space .eyebrow{margin-bottom:14px}.space-name{font-weight:600;margin-block:25px 17px}.space p:not(.eyebrow){line-height:2.2}.full{grid-template-columns:36% 53%;margin-top:110px}.full img{aspect-ratio:1.1;object-position:45%}.text-link{display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid var(--wood);padding:12px 0;margin-top:24px;font-size:12px}.price-intro{gap:7%;margin-bottom:65px;grid-template-columns:1fr 1.1fr}.note{font-size:12px;line-height:1.9}.season-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:20px}.season-title h3{font-size:30px}.season-title p{font-size:14px}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-block:35px}.price-grid article+article{border-left:1px solid var(--line);padding-left:16%}.price-grid .eyebrow{margin-bottom:5px}.price-grid h4{font-size:21px}.price-grid h4 small{font:12px var(--sans);margin-left:10px}dl{margin-top:25px;margin-bottom:0}dl div{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);padding-block:13px}dt{font-size:13px}dd{margin:0;font:31px Georgia,serif;letter-spacing:0}.minimum{padding:25px 30px;background:#e9e3d8}.minimum .eyebrow{margin-bottom:8px}.minimum p+p{margin-top:8px}.minimum strong{font-size:22px;font-weight:500}.peak{margin-top:70px;padding:45px;background:#ebe1d5;border-top:2px solid var(--red)}.peak .season-title h3{color:var(--red);font-family:Georgia,serif}.peak .large-price{font-size:42px;color:var(--red)}.peak-why{display:grid;grid-template-columns:1fr 1.15fr;gap:12%;padding-top:70px}.peak-why h3{font-size:30px}.autumn-note{border-left:2px solid var(--red);padding-left:20px}.autumn-note .eyebrow{color:var(--red)}.dining{display:grid;grid-template-columns:56% 34%;gap:6%;align-items:center;padding-top:40px}.dining img{aspect-ratio:1.12;object-position:50%}.dining figcaption{padding-left:30px}.dining h2{margin-bottom:35px}.conditions{display:grid;grid-template-columns:40% 55%;gap:5%;padding-top:60px}.conditions ol{list-style:none;padding:0;margin:0}.conditions li{display:flex;gap:20px;border-top:1px solid var(--line);padding:18px 0}.conditions li span{font:12px Georgia,serif;color:var(--wood);padding-top:6px}.day{padding-bottom:30px}.day .story{margin-top:20px}.faq{max-width:1000px}.faq h2{margin-bottom:45px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;position:relative;padding:23px 45px 23px 0;font-size:15px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:8px;font:24px Georgia}details[open] summary:after{content:'−'}summary span{color:var(--red);font:20px Georgia;margin-right:20px}details p{padding:0 45px 28px 38px;line-height:2.1}.inquiry{background:#e4ddd0}.form-wrap{width:86%;max-width:800px;margin:auto}.inquiry h2{margin-bottom:30px}.inquiry .preview-note{font-size:12px;background:#f3efe6;padding:15px 20px;border-left:2px solid var(--wood);margin-top:32px}form{margin-top:40px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field.wide{grid-column:1/-1}label{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px}label span{font-size:10px;color:var(--wood)}input,select,textarea{width:100%;min-width:0;border:1px solid #b6ab99;border-radius:0;background:#faf7f0;padding:13px 12px;color:var(--ink);font:16px var(--sans);min-height:49px}textarea{resize:vertical}form>.note{margin-top:30px}form .button{width:100%;margin-top:24px}#form-status{color:#772c24}footer{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:30px;padding-block:60px;align-items:center}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand span{writing-mode:vertical-rl;font-size:11px}.footer-brand strong{font:46px var(--serif)}.footer-brand small{font:11px Georgia;letter-spacing:.15em}footer p{font-size:12px}footer .text-link{margin:0;justify-self:end}.copyright{grid-column:1/-1;font-size:9px;color:var(--wood);padding-top:20px}.mobile-cta{display:none}.skip{position:fixed;top:-100px;left:10px;background:white;z-index:5;padding:10px}.skip:focus{top:10px}@keyframes photo-enter{from{clip-path:inset(0 0 0 9%)}to{clip-path:inset(0)}}@keyframes photo-rise{from{transform:translateY(10px)}to{transform:translateY(0)}}.photo-seen{animation:photo-rise .5s ease-out}
@media(max-width:1050px){nav{gap:20px}.hero{grid-template-columns:42% 58%}.hero h1{font-size:38px}.hero .eyebrow{font-size:8px}.hero .button{padding:18px 12px;font-size:11px}.micro{font-size:7px}.hero-photo figcaption span{display:none}.section{padding-block:100px}.split{gap:6%}.prose br{display:none}.price-grid{gap:5%}.price-grid article+article{padding-left:10%}.peak{padding:30px}.dining{grid-template-columns:51% 39%}.peak .large-price{font-size:35px}}
@media(max-width:700px){body{font-size:14px;line-height:2}header{height:78px;padding:0 6%}.brand b{font-size:35px}.brand small{font-size:9px}.brand{gap:9px}nav a:not(.nav-cta){display:none}.nav-cta{font-size:11px}.nav-cta span{margin-left:12px}.hero{display:flex;flex-direction:column;padding:0;align-items:stretch}.hero-copy{padding:39px 7% 30px}.hero .eyebrow{font-size:9px;margin-bottom:24px}.hero h1{font-size:clamp(32px,8.5vw,48px);line-height:1.65;margin-bottom:22px;letter-spacing:.07em}.hero h1 span{white-space:nowrap}.hero-body{font-size:12px;line-height:2}.hero .button{max-width:100%;margin-top:23px;font-size:12px;padding:16px 19px;min-height:56px}.micro{font-size:8px;margin-top:12px;letter-spacing:0}.hero-photo{margin-left:7%}.hero-photo img{height:360px;object-position:35% center}.hero-photo figcaption{padding-top:12px;font-size:8px}.wrap{width:86%}.section{padding-block:85px}h2{font-size:28px;line-height:1.85;letter-spacing:.07em}h3{font-size:28px}.eyebrow{font-size:9px;margin-bottom:22px}.split{display:block}.prose{padding-top:32px}.prose br{display:initial}.concept-photo{width:100%;margin-top:45px}.concept-photo img{aspect-ratio:1.25}.season{padding-top:25px}.season-heading{display:block;margin-bottom:30px}.season-heading p:last-child{margin-top:26px}.season-photo{width:93%}.season-photo img{height:330px;object-position:33% center}.season-photo figcaption{padding-left:7.5%;font-size:11px}.story{grid-template-columns:1fr;gap:0;margin-top:34px}.story li{display:grid;grid-template-columns:43% 57%;padding-block:18px;font-size:15px;align-items:center}.story small{font-size:8px;margin-bottom:0;line-height:1.7}.gallery{padding-top:10px}.editorial{display:block;margin-top:35px}.g1{width:94%}.g2{width:65%;margin:35px 0 40px auto}.g2 img{aspect-ratio:.95}.g3{width:100%}.g3 img{aspect-ratio:1.4}.space{display:flex;flex-direction:column;gap:30px;margin-top:45px;align-items:stretch}.private figure{width:80%;margin:0}.private img{aspect-ratio:1}.space p br{display:none}.space h3 br{display:initial}.space .space-name{margin-top:18px}.full{margin-top:70px}.full figure{order:-1;width:100%}.full img{aspect-ratio:1.3}.text-link{margin-top:12px}.price-intro h2{margin-bottom:22px}.price-intro{margin-bottom:38px}.price-intro br{display:none}.season-title{align-items:baseline;padding-bottom:15px;gap:10px}.season-title h3{font-size:25px}.season-title p{font-size:12px}.price-grid{display:block;margin-top:28px}.price-grid article+article{border:0;padding:25px 0 0;margin-top:15px}.price-grid h4{font-size:20px}dd{font-size:31px}.minimum{padding:22px 19px}.minimum strong{display:block;font-size:24px}.minimum>p:nth-child(2){font-size:13px}.minimum .eyebrow{font-size:9px}.peak{margin-top:45px;padding:27px 20px;margin-inline:-10px}.peak .season-title h3{font-size:25px}.peak .season-title p{font-size:11px}.peak .large-price{font-size:39px}.peak-why{display:block;padding-top:45px}.peak-why h3{font-size:27px;margin-bottom:25px}.dining{display:flex;flex-direction:column;padding-top:20px;gap:35px;align-items:stretch}.dining figure{width:93%}.dining img{aspect-ratio:1.1}.dining figcaption{padding-left:7.5%}.dining>div{width:86%;margin:auto}.dining h2{margin-bottom:26px}.conditions{display:block;padding-top:10px}.conditions ol{margin-top:30px}.conditions li{gap:15px}.day{padding-bottom:0}.day .story{margin-top:0}.faq h2{margin-bottom:27px}summary{font-size:13px;padding:22px 25px 22px 0}summary span{margin-right:12px;font-size:18px}details p{padding-left:27px;padding-right:10px;font-size:13px}.inquiry h2{font-size:25px}.inquiry br{display:none}.inquiry p{font-size:13px}.form-grid{grid-template-columns:1fr;gap:23px}.field.wide{grid-column:auto}.form-wrap{width:86%}footer{grid-template-columns:1fr;padding:45px 0 100px;gap:20px}footer .text-link{justify-self:start}.copyright{padding:0}.mobile-cta{position:fixed;display:flex;justify-content:space-between;align-items:center;bottom:0;left:0;width:100%;z-index:4;background:var(--red);color:white;padding:13px 7% calc(13px + env(safe-area-inset-bottom));font-size:12px;box-shadow:0 -1px 0 #ffffff30}.mobile-cta[hidden]{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Shared store footer — aligned with kanade-kawaguchiko.com */
.site-footer{width:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr 1fr .85fr;gap:0;align-items:stretch;min-height:230px;padding:0;margin:0;border-top:1px solid rgba(39,35,29,.1);border-bottom:1px solid rgba(39,35,29,.06);background:rgba(255,253,247,.92);color:#27231d;letter-spacing:normal;text-align:left;font-size:16px;line-height:1.8}
.site-footer .footer-brand,.site-footer .footer-column{min-width:0;padding:clamp(28px,3.6vw,52px) clamp(22px,3.5vw,42px);border-left:1px solid rgba(39,35,29,.08)}
.site-footer .footer-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border-left:0;text-align:center}
.site-footer .footer-logo{width:min(138px,48%);height:auto;margin:0;padding:0;background:transparent;object-fit:contain}
.site-footer .footer-brand small{color:rgba(39,35,29,.48);font:700 10.56px/1.45 var(--sans);letter-spacing:.08em}
.site-footer .footer-column h2{margin:0 0 20px;font:900 13.12px/1.38 var(--sans);letter-spacing:.06em;color:#27231d}
.site-footer .footer-column p{margin:0 0 10px;color:#50483e;font-family:var(--serif);font-size:clamp(13.12px,.98vw,15.68px);letter-spacing:.08em;line-height:1.65}
.site-footer .footer-text-link{display:inline-flex;margin-bottom:28px;font-size:12.48px;font-weight:900;text-decoration:underline;text-underline-offset:4px;min-height:28px;align-items:center}
.site-footer .footer-menu{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.site-footer .footer-menu h2,.site-footer .footer-links h2{margin-bottom:16px}
.site-footer .footer-menu a{display:block!important;padding:0;color:#50483e;font-family:var(--serif);font-size:clamp(13.12px,.98vw,15.68px);letter-spacing:.08em;line-height:1.8}
.site-footer .footer-menu a::before{content:'・';margin-right:.25em;color:#27231d}
.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.site-footer .footer-pill{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border:1px solid #27231d;border-radius:999px;color:#27231d;font-family:var(--serif);font-size:clamp(12.16px,.9vw,14.4px);letter-spacing:.08em;transition:background .25s,color .25s}
.site-footer .footer-pill::before{content:'・';margin-right:.3em}
.site-footer .footer-pill:hover,.site-footer .footer-pill:focus-visible{background:#27231d;color:#f3efe6}
@media(max-width:1000px){.site-footer{grid-template-columns:1fr 1fr}.site-footer .footer-column:nth-child(2n + 1){border-left:0}.site-footer .footer-brand,.site-footer .footer-column{border-top:1px solid rgba(39,35,29,.08)}}
@media(max-width:620px){.site-footer{grid-template-columns:1fr;min-height:0}.site-footer .footer-brand,.site-footer .footer-column,.site-footer .footer-column:nth-child(2n + 1){padding:28px 20px;border-left:0;border-top:1px solid rgba(39,35,29,.08)}.site-footer .footer-logo{width:min(126px,46%)}.site-footer .footer-menu a{min-height:32px;display:flex!important;align-items:center}.site-footer .footer-pill{min-height:44px}}
/* October 2026 pricing revision: existing palette and section rhythm retained. */
.comparison{border-collapse:collapse;width:100%;table-layout:fixed;text-align:left}.comparison caption{text-align:left;font-size:13px;color:var(--wood);padding-bottom:18px}.comparison th,.comparison td{padding:27px 24px;border-bottom:1px solid var(--line);vertical-align:middle}.comparison thead th{font-size:15px;font-weight:500;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.comparison th:first-child{width:38%}.comparison th:nth-child(3),.comparison td:nth-child(3){background:#ebe1d5}.comparison tbody th{font:500 20px/1.7 var(--serif)}.comparison th small{display:block;font:12px/1.8 var(--sans);color:var(--wood);margin-top:6px}.fee{font:clamp(25px,2.6vw,36px)/1.4 Georgia,serif;white-space:nowrap;letter-spacing:0}.consult{font:20px var(--serif)}.mobile-season{display:none}.fee-notes{list-style:none;padding:0;margin:25px 0 0;font-size:13px;line-height:2}.fee-notes li{padding-left:1em;text-indent:-1em}.meal-requirement{margin-top:35px;background:#e9e3d8;padding:28px 30px}.meal-requirement h3,.outside-hours h3{font-size:24px;margin-bottom:15px}.meal-requirement p{line-height:2}.meal-requirement p+p{margin-top:12px}.outside-hours{border-top:1px solid var(--line);margin-top:50px;padding-top:35px;max-width:800px}.conditions li h3{font-size:20px;margin-bottom:12px}.conditions li p+p{margin-top:12px}.field>.note{margin-bottom:10px}
@media(max-width:700px){.comparison,.comparison tbody{display:block}.comparison caption{display:block}.comparison thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.comparison tr{display:block;border:1px solid var(--line);margin-bottom:23px}.comparison th,.comparison td{width:100%!important;display:block;border:0;padding:18px 20px}.comparison tbody th{background:#e9e3d8;font-size:20px}.comparison td{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line)}.comparison td:nth-child(3){background:#ebe1d5}.mobile-season{display:block;font-size:12px;line-height:1.7;max-width:100px}.fee{font-size:28px}.consult{font-size:20px}.fee-notes{font-size:12px}.meal-requirement{padding:23px 20px}.meal-requirement h3,.outside-hours h3{font-size:22px}.outside-hours{margin-top:35px}.conditions li h3{font-size:19px}}

header nav .store-return{font-size:11px;color:var(--wood);white-space:nowrap}header nav .store-return span{margin-left:6px}@media(max-width:1050px){header nav{gap:14px}}@media(max-width:700px){header nav .store-return{display:inline-flex!important;align-items:center;font-size:10px}header nav{gap:12px}header .brand small{display:none}}
