:root{--jade:#062d24;--jade2:#0b4637;--gold:#dcc28b;--paper:#eee7d7;--ivory:#f5f0e6;--ink:#243e33;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans-serif;--number:'Cormorant Garamond',serif;--ease:cubic-bezier(.19,1,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.95;-webkit-font-smoothing:antialiased;overflow-x:clip}body.locked{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}svg{width:22px;height:22px;flex-shrink:0}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #bf913b;outline-offset:5px}::selection{background:var(--gold);color:var(--jade)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(30px,3.7vw,52px);line-height:1.65;letter-spacing:.04em}h2 em,h1 em{font-style:normal;color:#8b7148}p{letter-spacing:.035em}em,i{font-style:normal}.shell{width:min(1240px,calc(100% - 100px));margin-inline:auto}.section-pad{padding:110px 0}.eyebrow{display:flex;align-items:center;gap:19px;color:var(--gold);font-family:var(--number);font-size:12px;letter-spacing:.2em;line-height:1.5;margin-bottom:25px;font-weight:600}.eyebrow>span:last-child{font-family:var(--number);font-size:14px}.eyebrow.green{color:#746743}.text-link{display:inline-flex;align-items:center;gap:15px;position:relative;font-size:12px;font-weight:500;letter-spacing:.06em;padding:10px 0;border-bottom:1px solid #dcc28b77;color:var(--gold);transition:transform .25s,opacity .25s}.text-link svg{width:19px;transition:transform .3s}.text-link:hover svg{transform:translateX(4px)}.dark-link{color:var(--jade);border-color:#062d2440}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:57px;padding:14px 25px;font-weight:600;font-size:13px;letter-spacing:.03em;position:relative;isolation:isolate;overflow:hidden;border:1px solid transparent;transition:transform .25s var(--ease),box-shadow .25s,background .25s}.button svg{width:20px;height:20px}.button svg:last-child{margin-left:8px}.button::after{content:'';position:absolute;inset:-90% auto -90% -50%;width:35%;background:linear-gradient(90deg,transparent,#fff5,transparent);transform:rotate(25deg);transition:left .75s;pointer-events:none}.button:hover::after{left:130%}.button-gold{background:linear-gradient(120deg,#ead5a7,#dcc28b 42%,#d4b67e);color:var(--jade);border-color:#ead8b4;box-shadow:0 5px 0 #947c4f,0 12px 25px #0002}.button-gold:hover{transform:translateY(-2px);box-shadow:0 7px 0 #947c4f,0 14px 30px #0002}.button-outline{border-color:#062d2455;background:linear-gradient(140deg,#f9f5eb,#e9e0ce);color:var(--jade);box-shadow:0 4px 0 #c9c0ab}.button:active,.button.is-pressed{box-shadow:0 1px 0 #947c4f!important}.skip-link{position:fixed;top:-100px;left:20px;background:var(--paper);padding:14px;z-index:1000}.skip-link:focus{top:10px}
.site-header{position:absolute;inset:0 0 auto;height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;z-index:100;color:white;border-bottom:1px solid #ffffff20;gap:24px;transition:background .3s}.site-header.is-fixed{position:fixed;background:#062d24f5;height:78px;box-shadow:0 4px 20px #0001;animation:header-in .4s var(--ease)}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand-seal{display:grid;place-items:center;width:36px;height:42px;border:1px solid #dcc28bb0;font-family:var(--serif);font-size:24px;color:var(--gold);box-shadow:inset 0 0 0 3px #062d24}.brand b{font-family:var(--serif);display:block;font-size:25px;letter-spacing:.22em;font-weight:500;line-height:1.4}.brand small{display:block;font-size:8px;letter-spacing:.09em;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:11px;letter-spacing:.045em}.desktop-nav a{padding:12px 0;position:relative}.desktop-nav a::after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover::after{transform:scaleX(1)}.header-controls{display:flex;align-items:center;gap:17px}.header-book{min-height:43px;padding:9px 17px;font-size:11px;box-shadow:0 3px 0 #947c4f;gap:8px}.header-book svg{width:17px}.sound-control,.menu-control{display:flex;align-items:center;justify-content:center;gap:5px;background:transparent;color:inherit;padding:9px 3px;min-height:44px;min-width:44px;font-size:9px}.sound-control svg{width:18px}.sound-control[aria-pressed=false] svg{opacity:.4}.menu-control{display:none}.mobile-nav{position:fixed;z-index:95;inset:72px 0 auto;background:#062d24fa;padding:16px 25px 28px;border-bottom:1px solid #dcc28b55;color:var(--paper);backdrop-filter:blur(20px)}.mobile-nav[hidden]{display:none}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #fff2;font-family:var(--serif);font-size:20px}.mobile-nav a span{font-family:var(--number);color:var(--gold)}
.hero{height:min(960px,100svh);min-height:740px;position:relative;overflow:hidden;background:var(--jade);color:white}.hero-photo{position:absolute;inset:0;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% 48%;animation:hero-image 2.4s var(--ease) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#062d24 0%,#062d24fa 18%,#062d24c4 36%,#062d2466 51%,#062d2408 77%),linear-gradient(0deg,#062d24b0,transparent 25%),linear-gradient(180deg,#062d2475,transparent 21%)}.hero-light{position:absolute;inset:-50% 10% -50% 5%;width:8%;background:linear-gradient(90deg,transparent,#dcc28b15,transparent);transform:rotate(26deg);animation:hero-light 3s 1s var(--ease) both;pointer-events:none}.hero-content{position:relative;z-index:2;padding-top:clamp(170px,24vh,250px);pointer-events:none}.hero-content a{pointer-events:auto}.hero .eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.16em}.hero .eyebrow>span{height:1px;width:35px;background:var(--gold)}.hero h1{font-size:clamp(48px,6.1vw,86px);line-height:1.52;letter-spacing:.025em;font-weight:400;text-shadow:0 2px 25px #062d2433}.hero-line{display:block;overflow:hidden;line-height:1.56}.hero-line>span{display:block;animation:title-in 1.7s .12s var(--ease) both}.hero-line:nth-child(2)>span{animation-delay:.28s}.gold-text{color:var(--gold)}.hero-description{margin-top:23px;line-height:2.15;font-family:var(--serif);font-size:16px;letter-spacing:.1em;color:#f5f0e6e6}.hero-action{display:flex;align-items:center;gap:27px;margin-top:30px}.hero-enter{animation:fade-up 1.4s .5s var(--ease) both}.hero-caption{position:absolute;right:24px;top:47%;display:flex;align-items:center;gap:20px;writing-mode:vertical-rl;font-family:var(--number);letter-spacing:.19em;font-size:11px}.hero-caption span:first-child{font-size:17px;color:var(--gold)}.hero-bottom{position:absolute;bottom:31px;left:0;right:0;display:flex;align-items:end;gap:30px;z-index:2}.scroll-link{display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:.2em}.scroll-track{height:50px;width:1px;background:#ffffff38;position:relative;overflow:hidden}.scroll-track::after{content:'';width:1px;height:24px;background:var(--gold);position:absolute;animation:scroll-down 2.4s infinite}.first-price{margin-left:auto;text-align:right}.first-price>span{font-size:10px;letter-spacing:.1em}.first-price strong{display:block;font-weight:400;font-size:14px;line-height:1.3}.first-price em{font-size:36px;font-family:var(--number);font-weight:500}.first-price i{padding:0 8px;opacity:.55}.first-price strong>span{font-size:12px}.hero-access{font-size:11px;border-left:1px solid #fff6;padding-left:25px;margin-bottom:7px}.welcome-strip{background:var(--paper);border-bottom:1px solid #062d241c}.welcome-strip .shell{display:flex;align-items:center;justify-content:space-between;padding:23px 0}.welcome-strip span{font-family:var(--serif);font-size:14px;letter-spacing:.06em;display:flex;gap:15px;align-items:center}.welcome-strip i{color:#977849;font-family:var(--number);font-size:15px}
.experience{position:relative;background:radial-gradient(ellipse at 88% 40%,#e4dcc650,transparent 65%),var(--ivory)}.experience-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.experience-heading .lead{font-family:var(--serif);font-size:20px;margin:24px 0 15px;line-height:1.9}.experience-heading>p:not(.eyebrow):not(.lead){font-size:13px;line-height:2.15;color:#526055}.experience-heading .text-link{margin-top:20px}.bed-scene{position:relative;padding-top:30px}.equipment-index{position:absolute;right:0;top:-40px;font-family:var(--number);font-size:160px;line-height:1;color:#b3a48626;pointer-events:none}.bed-photo{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.65;display:flex;align-items:center;border-radius:50% 50% 4px 4px;background:radial-gradient(ellipse at 50% 85%,#d1bf9866,transparent 68%);padding:30px 0 0}.bed-photo img{width:100%;mix-blend-mode:multiply;position:relative;z-index:1}.bed-caption{border-top:1px solid #062d242b;margin-top:22px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.bed-caption span{font-size:10px;letter-spacing:.13em;color:#84734e}.bed-caption h3{font-size:23px;margin-top:5px}.warm-button{position:relative;width:83px;height:83px;background:radial-gradient(circle at 35% 20%,#1b6650,var(--jade));border:1px solid #dcc28b80;border-radius:50%;color:var(--gold);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;box-shadow:0 4px 0 #03251d;transition:transform .2s,box-shadow .2s;flex-shrink:0}.warm-button span{font-size:8px;letter-spacing:.01em;color:var(--gold)}.warm-button svg{height:26px;width:26px}.warm-button:active{box-shadow:0 1px 0 #03251d}.small-note{font-size:10px;line-height:2;color:#6c7569;margin-top:16px}.scan-line{position:absolute;inset:15% auto 15% 0;width:3px;background:#dfc891;box-shadow:0 0 24px 8px #dfc89166;z-index:2;opacity:0}.bed-scene.warming .scan-line{animation:scan 2.8s var(--ease)}.warm-rings{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0}.warm-rings i{position:absolute;width:100px;height:100px;border:1px solid #b59658;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.bed-scene.warming .warm-rings{opacity:1}.bed-scene.warming .warm-rings i{animation:warm-ring 2.6s var(--ease) both}.bed-scene.warming .warm-rings i:nth-child(2){animation-delay:.35s}.bed-scene.warming .warm-rings i:nth-child(3){animation-delay:.7s}.steps-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;padding-top:35px;border-top:1px solid #062d2425}.steps-strip>div{display:grid;grid-template-columns:35px 1fr;padding:0 30px;border-right:1px solid #062d2425;gap:4px 12px}.steps-strip>div:first-child{padding-left:0}.steps-strip>div:last-child{border:0}.steps-strip>div>span{font-family:var(--number);font-size:30px;color:#9d8256;line-height:1.5;grid-row:1/3}.steps-strip h3{font-size:20px}.steps-strip p{font-size:11px;color:#677468;line-height:1.95;margin-top:7px}
.check-section{background:radial-gradient(ellipse at 20% 55%,#0e4938,transparent 47%),var(--jade);position:relative;color:var(--paper);overflow:hidden}.check-section h2 em,.care-message h2 em,.final-cta h2 em{color:var(--gold)}.check-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:90px;position:relative;z-index:2}.check-intro>p:not(.eyebrow){font-size:12px;color:#d8dfcf;line-height:2.1;margin-top:20px}.ambient-lines{position:absolute;width:1000px;height:1000px;border:1px solid #dcc28b0d;border-radius:50%;left:-400px;top:50px;box-shadow:0 0 0 120px #dcc28b03,0 0 0 240px #dcc28b03;pointer-events:none}.check-orb{height:230px;position:relative;width:260px;max-width:100%;margin:25px 0 0}.orb-core{position:absolute;inset:34px 42px 20px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--serif);font-size:60px;color:#dcc28b99;border:1px solid #dcc28b33;border-radius:50%;background:radial-gradient(circle at 40% 30%,#54836a22,transparent 70%);box-shadow:inset 0 0 30px #dcc28b08;transition:color .7s,box-shadow .7s,background .7s}.orb-core span{font-family:var(--sans);font-size:7px;letter-spacing:.13em}.orb-halo{position:absolute;inset:10px 18px 0;border:1px solid #dcc28b18;border-radius:50%;animation:orb-breathe 6s ease-in-out infinite}.orb-dots{position:absolute;inset:0;transform:rotate(-14deg)}.orb-dots i{position:absolute;border:1px solid #dcc28b66;background:#062d24;left:48%;top:50%;width:8px;height:8px;border-radius:50%;transition:background .4s,box-shadow .4s}.orb-dots i:nth-child(1){transform:rotate(0deg) translateY(-110px)}.orb-dots i:nth-child(2){transform:rotate(72deg) translateY(-110px)}.orb-dots i:nth-child(3){transform:rotate(144deg) translateY(-110px)}.orb-dots i:nth-child(4){transform:rotate(216deg) translateY(-110px)}.orb-dots i:nth-child(5){transform:rotate(288deg) translateY(-110px)}.orb-dots i.active{background:#e9cf8e;box-shadow:0 0 16px 4px #e9cf8e66}.check-orb.has-selection .orb-core{color:var(--gold);box-shadow:inset 0 0 60px #e3be5e15,0 0 60px #d8c58a12}.check-orb.complete .orb-core{box-shadow:inset 0 0 60px #e3be5e30,0 0 80px #d8c58a33;color:#fff2cc}.check-progress{display:flex;align-items:center;gap:9px;width:260px;justify-content:center;margin-top:8px;font-size:10px;color:#c6d1bf}.check-progress b{font-family:var(--number);font-size:30px;font-weight:500;color:var(--gold);line-height:1}.check-intro .check-note{font-size:9px!important;color:#9bb2a5!important;margin-top:14px!important}.check-choice{width:100%;display:flex;align-items:center;text-align:left;gap:18px;padding:21px 19px;background:linear-gradient(110deg,#ffffff08,#ffffff02);color:var(--paper);border:1px solid #dcc28b35;margin-bottom:12px;position:relative;box-shadow:0 4px 0 #031f18;transition:transform .2s,border-color .3s,background .4s,box-shadow .2s}.check-choice:hover{border-color:#dcc28b88;background:#ffffff08}.check-choice:active{box-shadow:0 1px 0 #031f18}.choice-no{font-family:var(--number);font-size:24px;color:#dcc28b8a;line-height:1}.choice-text{flex:1}.choice-text b{display:block;font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:.025em}.choice-text small{font-size:9px;color:#aec1b5;display:block;margin-top:5px}.choice-mark{width:28px;height:28px;border:1px solid #dcc28b77;border-radius:50%;display:grid;place-items:center;transition:all .4s;flex-shrink:0}.choice-mark svg{width:17px;opacity:0;transform:scale(.5);transition:all .45s var(--ease)}.check-choice[aria-pressed=true]{background:linear-gradient(110deg,#dcc28b20,#365d3e44);border-color:var(--gold)}.check-choice[aria-pressed=true] .choice-mark{background:var(--gold);color:var(--jade);box-shadow:0 0 20px #dcc28b33}.check-choice[aria-pressed=true] .choice-mark svg{opacity:1;transform:scale(1)}.check-choice[aria-pressed=true] .choice-no{color:var(--gold)}.check-result{padding:25px 5px 0;position:relative}.result-kicker{font-family:var(--number);color:var(--gold);letter-spacing:.15em;font-size:10px}.check-result h3{font-size:19px;line-height:1.7;margin:7px 0 8px}.check-result>p:not(.result-kicker){color:#bbcdbf;font-size:11px;max-width:440px;line-height:2}.check-result .text-link{font-size:11px;margin-top:6px}.reset-check{background:none;color:#a9beaf;text-decoration:underline;font-size:9px;padding:15px 8px;margin-left:10px;min-height:44px}.check-celebration{position:fixed;inset:0;z-index:230;pointer-events:none;background:radial-gradient(circle,#dcc28b22,transparent 70%);display:grid;place-items:center}.check-celebration[hidden]{display:none}.check-celebration span{max-width:calc(100% - 40px);padding:24px 40px;font-family:var(--serif);font-size:22px;background:linear-gradient(120deg,#0b4637f5,#062d24f5);border:1px solid var(--gold);color:var(--gold);box-shadow:0 0 100px #dcc28b44;text-align:center;animation:celebration-in .8s var(--ease)}
.warmth{background:linear-gradient(120deg,#eee7d7,#f8f4eb);position:relative}.warmth-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.warmth-heading>p{font-size:13px;color:#657367;line-height:2.3;padding-right:7%}.warmth-gallery{display:grid;grid-template-columns:1.1fr .88fr .18fr;align-items:start;gap:45px;margin-top:55px}.warmth-main .photo-button{aspect-ratio:1.1}.warmth-second{padding-top:85px}.warmth-second .photo-button{aspect-ratio:.94}.photo-button{position:relative;display:block;padding:0;background:#c9c2b0;width:100%;overflow:hidden}.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.warmth-main img{object-position:center 42%}.photo-button:hover img{transform:scale(1.035)}.photo-expand{position:absolute;right:15px;bottom:15px;border:1px solid #dcc28b99;width:36px;height:36px;background:#062d24b0;color:var(--gold);display:grid;place-items:center}.photo-expand svg{width:18px}.warmth-gallery figcaption{font-family:var(--serif);font-size:13px;padding-top:14px;display:flex;gap:20px}.warmth-gallery figcaption span{font-family:var(--number);color:#997d4d}.warmth-vertical{writing-mode:vertical-rl;align-self:center;font-family:var(--serif);font-size:20px;letter-spacing:.24em;line-height:2.2;color:#7f896f;justify-self:end}.section-top{display:flex;align-items:end;justify-content:space-between;gap:35px}.section-top>p{color:#677468;font-size:12px;line-height:2.2}.menu-section{background:var(--ivory);padding-top:100px}.menu-feature{margin-top:40px;border:1px solid #b9a778;display:grid;grid-template-columns:110px 1fr auto;background:linear-gradient(115deg,#fffaf0,#ede3ce);box-shadow:0 15px 35px #062d2408;position:relative}.menu-feature::after{content:'';position:absolute;inset:6px;border:1px solid #b9a7783d;pointer-events:none}.menu-feature-label{background:linear-gradient(145deg,#134a38,#062d24);color:var(--gold);padding:30px 0;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:17px}.menu-feature-label span{writing-mode:vertical-rl;font-family:var(--serif);letter-spacing:.25em;font-size:23px}.menu-feature-label b{font-size:8px;font-weight:400;letter-spacing:.05em}.menu-feature-content{padding:35px 40px}.menu-feature-content>p:first-child{font-size:13px;font-family:var(--serif)}.menu-price{display:flex;gap:25px;align-items:baseline;line-height:1.2;margin-top:10px;color:var(--jade);white-space:nowrap}.menu-price b{font-family:var(--number);font-weight:500}.menu-duration b{font-size:38px;margin-right:5px}.menu-yen b{font-size:70px;letter-spacing:-.03em;margin-right:5px}.menu-yen{font-size:17px;border-left:1px solid #b9a77888;padding-left:24px}.menu-detail{font-size:11px;margin-top:12px;line-height:2;color:#61705d}.menu-feature-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:25px 35px 25px 0}.menu-feature-action>span{font-size:9px;color:#69745c}.menu-row{display:flex;align-items:center;gap:28px;padding:27px 15px;border-bottom:1px solid #062d242a;transition:background .3s,padding .3s}.menu-row:hover{background:#ddd2b533;padding-left:25px}.menu-no{font-family:var(--number);font-size:26px;color:#a68c5b}.menu-row h3{font-size:22px}.menu-row p{font-size:11px;color:#677468;margin-top:5px}.row-action{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:11px;white-space:nowrap}.row-action svg{width:19px}.menu-note{font-size:10px;color:#778070;margin-top:20px}.archive-details{margin-top:38px;border-top:1px solid #b7b9a6;border-bottom:1px solid #b7b9a6}.archive-details>summary{padding:20px 5px;display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font-size:12px;min-height:60px}.archive-details>summary::-webkit-details-marker{display:none}.archive-details[open]>summary svg{transform:rotate(45deg)}.archive-details>p{font-size:10px;color:#6b735f;max-width:720px;padding-bottom:20px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:25px}.archive-photo{background:#e6dfce;padding:12px;display:flex;flex-direction:column;align-items:center;text-align:left}.archive-photo img{height:240px;width:100%;object-fit:contain}.archive-photo>span{padding:12px 0 0;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:11px}.archive-photo svg{width:16px}
.care-message{background:radial-gradient(ellipse at 85% 0,#1b4935,transparent 80%),var(--jade);color:var(--paper);position:relative;overflow:hidden}.care-grid{display:grid;grid-template-columns:.4fr 1fr .7fr;gap:60px;align-items:center}.care-kanji{font-family:var(--serif);font-size:180px;color:transparent;-webkit-text-stroke:1px #dcc28b45;line-height:1;align-self:start;padding-top:60px}.care-grid>div>p:not(.eyebrow){font-size:12px;line-height:2.3;color:#c5d3c5;margin-top:22px}.care-grid .text-link{margin-top:20px}.care-detail{padding:20px 0 20px 40px;border-left:1px solid #dcc28b44}.care-detail>span{font-family:var(--number);font-size:10px;letter-spacing:.15em;color:var(--gold)}.care-detail h3{font-size:24px;margin:10px 0 15px;line-height:1.7}.care-detail p{font-size:11px;line-height:2.2;color:#bbcebc}.care-voice{border-top:1px solid #dcc28b33;margin-top:30px;padding-top:20px}.care-voice h3{font-size:18px}.care-voice .text-link{font-size:10px;margin-top:8px}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.faq-grid>div:first-child .text-link{margin-top:23px}.faq-item{border-bottom:1px solid #062d242b}.faq-item:first-child{border-top:1px solid #062d242b}.faq-item summary{list-style:none;display:flex;gap:18px;align-items:center;cursor:pointer;min-height:86px;padding:20px 0;font-family:var(--serif);font-size:14px;line-height:1.9}.faq-item summary::-webkit-details-marker{display:none}.faq-no{font-family:var(--number);color:#988150;font-size:22px;line-height:1;flex-shrink:0}.faq-symbol{width:25px;height:25px;margin-left:auto;display:grid;place-items:center;flex-shrink:0;transition:transform .35s}.faq-symbol svg{width:18px}.faq-item[open] .faq-symbol{transform:rotate(45deg)}.faq-answer{display:flex;gap:20px;padding:0 35px 25px 2px;font-size:12px;color:#667364;line-height:2.2;animation:answer-in .4s var(--ease)}.faq-answer>span{font-family:var(--number);color:#957b4d;font-size:22px;line-height:1.5}.access-section{background:linear-gradient(125deg,#e9e2d1,#f0ebdf);padding-top:90px}.access-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.access-art{background:radial-gradient(circle at 30% 20%,#174a39,#062d24 75%);color:var(--paper);padding:50px 25px 35px;position:relative;text-align:center;border:1px solid #dcc28b99;outline:1px solid #dcc28b33;outline-offset:-8px}.access-circle{width:210px;height:210px;margin:0 auto;border:1px solid #dcc28b66;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;box-shadow:0 0 0 13px #dcc28b07}.access-circle>span{font-family:var(--number);font-size:10px;letter-spacing:.16em;color:var(--gold)}.access-circle>strong{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:.18em;line-height:1.8}.access-circle>small{font-size:10px;color:#cbcfb7}.access-circle>b{font-family:var(--number);font-size:64px;font-weight:400;line-height:1.1;color:var(--gold)}.access-circle em{font-family:var(--serif);font-size:16px}.access-line{height:40px;width:1px;background:var(--gold);display:block;margin:auto}.access-destination{display:flex;align-items:center;justify-content:center;gap:15px;font-size:11px;line-height:1.8;letter-spacing:.06em}.access-destination b{font-family:var(--serif);font-size:20px;font-weight:400}.mini-seal{border:1px solid #dcc28b77;padding:0 7px;font-family:var(--serif);font-size:28px;color:var(--gold)}.access-art>p{font-size:10px;margin:30px 0 10px;color:#bccdbb}.access-art>a{display:inline-flex;align-items:center;gap:10px;font-family:var(--number);font-size:26px;color:var(--gold);min-height:44px}.access-art>a svg{width:17px}.access-list{margin:28px 0 25px}.access-list>div{display:flex;gap:25px;border-bottom:1px solid #062d2420;padding:13px 0;font-size:12px}.access-list dt{width:60px;flex-shrink:0;color:#7f846f;font-size:10px;padding-top:3px}.access-list dd{margin:0;line-height:2}.access-copy .button{font-size:11px;padding:13px 20px}.final-cta{position:relative;overflow:hidden;text-align:center;padding:100px 0 110px;background:radial-gradient(ellipse at 50% 100%,#24543d,var(--jade) 65%);color:var(--paper)}.final-cta .shell{position:relative;z-index:2}.final-cta .eyebrow{justify-content:center;margin-bottom:18px}.final-cta h2{font-size:clamp(34px,4.1vw,56px)}.final-cta p:not(.eyebrow){font-size:12px;color:#c6d2c2;margin-top:20px;line-height:2.1}.final-price{font-size:14px;display:flex;align-items:baseline;justify-content:center;gap:5px;margin:24px 0 26px}.final-price>span{font-size:10px;margin-right:15px;color:var(--gold)}.final-price b{font-family:var(--number);font-size:40px;font-weight:500}.final-price i{font-size:15px;margin:0 10px;opacity:.4}.final-actions{display:flex;flex-direction:column;align-items:center;gap:17px}.final-actions .text-link{font-size:10px;color:#d1dccb}.final-actions .text-link svg{width:14px}.final-rings{position:absolute;inset:0;pointer-events:none}.final-rings i{position:absolute;border:1px solid #dcc28b19;width:650px;height:650px;border-radius:50%;left:50%;top:60%;transform:translate(-50%,-50%)}.final-rings i:nth-child(2){width:900px;height:900px;border-color:#dcc28b10}.final-rings i:nth-child(3){width:1150px;height:1150px;border-color:#dcc28b0b}
.site-footer{background:#04261e;color:#c5d3c4;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1fr 1.2fr .7fr;gap:45px;align-items:start}.footer-grid>p{font-size:10px;line-height:2.3;color:#91aa9a}.footer-brand b{font-size:24px}.footer-links{display:flex;flex-direction:column;align-items:start;gap:4px;font-size:10px}.footer-links a{padding:5px 0;min-height:30px}.footer-bottom{border-top:1px solid #dcc28b20;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;font-size:8px;color:#7c9786;letter-spacing:.08em}.mobile-bookbar{display:none}.mobile-only{display:none}.photo-dialog{padding:50px 30px 25px;border:1px solid #dcc28b88;background:#062d24;color:var(--paper);width:min(900px,94vw);max-height:94svh;overflow:auto}.photo-dialog::backdrop{background:#021710de;backdrop-filter:blur(7px)}.photo-dialog img{max-height:76svh;width:auto;max-width:100%;object-fit:contain;margin:auto}.photo-dialog figcaption{font-size:11px;text-align:center;margin-top:17px}.dialog-close{position:absolute;top:8px;right:8px;background:transparent;color:var(--gold);width:40px;height:40px;display:grid;place-items:center}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:var(--jade);border:1px solid var(--gold);padding:13px 24px;color:var(--paper);font-size:12px;z-index:250;opacity:0;pointer-events:none;transition:.35s;max-width:calc(100% - 40px);text-align:center;box-shadow:0 5px 30px #0002}.toast.visible{opacity:1;transform:translate(-50%,0)}#feedback-effects{position:fixed;inset:0;z-index:220;pointer-events:none;overflow:hidden}.tap-ring{position:absolute;width:12px;height:12px;border:1px solid #dfbd6d;border-radius:50%;box-shadow:0 0 16px #e2c27d66;animation:tap-ring .65s var(--ease) forwards}.gold-particle{position:absolute;width:5px;height:8px;background:#e7cb8f;border-radius:40%;animation:particle 1.3s var(--ease) forwards}.gold-particle.festival{width:6px;height:11px;animation:festival 2.5s ease-out forwards}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(27px);transition:opacity .9s var(--ease),transform 1.15s var(--ease)}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}.js-motion .steps-strip .reveal:nth-child(2){transition-delay:.1s}.js-motion .steps-strip .reveal:nth-child(3){transition-delay:.2s}
.sub-header{background:var(--jade);position:relative}.sub-main{padding:35px 0 85px;background:radial-gradient(ellipse at 100% 0,#dcc28b26,transparent 60%),var(--ivory);min-height:70vh}.breadcrumb{display:flex;gap:12px;font-size:10px;color:#7c806d;margin-bottom:40px}.breadcrumb a{min-height:30px}.sub-hero{position:relative;padding:10px 0 50px;border-bottom:1px solid #062d2425}.sub-hero h1{font-size:clamp(38px,4.5vw,64px);line-height:1.65;letter-spacing:.05em;position:relative;z-index:1}.sub-hero>p:not(.eyebrow){font-size:13px;line-height:2.2;margin-top:20px;color:#687363;position:relative;z-index:1}.sub-number{position:absolute;right:5%;top:-35px;font-family:var(--number);font-size:230px;color:#a08b5c13;line-height:1.3;pointer-events:none}.full-faq{max-width:950px;margin:45px auto 0}.full-faq .faq-item summary{font-size:17px;padding:27px 10px}.full-faq .faq-answer{padding-left:12px;max-width:850px;font-size:13px}.sub-contact{text-align:center;padding-top:65px}.sub-contact h2{font-size:28px;margin-bottom:25px}.sub-contact .text-link{display:flex;width:max-content;margin:25px auto 0}.narrow{max-width:900px}.review-form{padding:45px 0 0}.review-form h2{font-size:22px}.review-form>p{font-size:12px;color:#75816e;margin-top:10px}.review-tags{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.review-tags button{background:linear-gradient(140deg,#f8f1e3,#e5dac1);padding:12px 17px;border:1px solid #bdae86;box-shadow:0 3px 0 #c6baa0;font-size:12px;transition:.25s}.review-tags button[aria-pressed=true]{background:var(--jade);border-color:var(--jade);color:var(--gold);box-shadow:0 3px 0 #01271d}.review-tags button:active{box-shadow:none}.review-form label{display:block;font-size:13px;margin-top:32px;margin-bottom:12px}.review-form textarea{width:100%;resize:vertical;padding:20px;background:#fffcf5;border:1px solid #b0b69c;color:var(--jade);line-height:2;font-size:15px;border-radius:0}.review-form textarea::placeholder{color:#939a86;font-size:12px}.review-count{text-align:right;font-size:10px;color:#7a866e;margin-top:8px}.review-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px}.review-form .review-help{font-size:10px;line-height:2.1;margin-top:25px}.review-form>.text-link{margin-top:35px}
@keyframes title-in{from{transform:translateY(110%);opacity:0;filter:blur(8px)}to{transform:none;opacity:1;filter:blur(0)}}@keyframes hero-image{from{transform:scale(1.09);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes hero-light{from{left:-20%;opacity:0}45%{opacity:1}to{left:110%;opacity:0}}@keyframes fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes scroll-down{from{top:-24px}to{top:65px}}@keyframes header-in{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes scan{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}@keyframes warm-ring{0%{transform:translate(-50%,-50%) scale(.1);opacity:0}25%{opacity:.6}100%{transform:translate(-50%,-50%) scale(6);opacity:0}}@keyframes orb-breathe{50%{transform:scale(1.045);border-color:#dcc28b38;box-shadow:0 0 45px #dcc28b08}}@keyframes celebration-in{from{transform:scale(.8);opacity:0;filter:blur(8px)}to{transform:scale(1);opacity:1;filter:blur(0)}}@keyframes answer-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes tap-ring{to{transform:translate(-50%,-50%) scale(8);opacity:0}}@keyframes particle{to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}}@keyframes festival{0%{opacity:0;transform:translate(0,30px) scale(0)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(1)}}
@media(min-width:1600px){.hero-photo{left:0}.hero-content{padding-top:250px}.hero h1{font-size:90px}}@media(max-width:1180px){.site-header{padding-inline:28px;gap:15px}.desktop-nav{gap:16px}.header-book{display:none}.experience-grid{gap:40px}.shell{width:calc(100% - 70px)}.check-grid{gap:55px}.menu-feature{grid-template-columns:90px 1fr}.menu-feature-action{grid-column:2;padding:0 35px 30px;align-items:start;gap:13px}.menu-feature-label{grid-row:1/3}.menu-feature-content{padding:30px 35px 20px}.care-grid{grid-template-columns:.2fr 1fr .8fr;gap:35px}.care-kanji{font-size:120px}.access-grid{gap:65px}.hero-flow{font-size:10px}.hero-action{gap:22px}}
@media(max-width:820px){html{scroll-padding-top:86px}.shell{width:calc(100% - 42px)}.section-pad{padding:72px 0}h2{font-size:33px;letter-spacing:.015em}.eyebrow{font-size:10px;margin-bottom:18px;gap:13px}.site-header,.site-header.is-fixed{height:72px;padding:0 20px;gap:10px}.desktop-nav{display:none}.brand{gap:9px}.brand-seal{width:29px;height:36px;font-size:22px}.brand b{font-size:22px}.brand small{font-size:7px;letter-spacing:0;margin-top:3px}.header-controls{gap:9px}.sound-control{flex-direction:column;gap:0;min-width:38px;font-size:7px;line-height:1.5}.sound-control svg{width:17px;height:19px}.menu-control{display:flex;padding:8px;width:36px;min-width:36px}.menu-control svg{width:23px}.hero{height:min(880px,100svh);min-height:730px}.hero-photo{inset:0}.hero-photo img{object-position:62% 46%}.hero-shade{background:linear-gradient(90deg,#062d24f0 0%,#062d24b0 28%,#062d2430 66%),linear-gradient(0deg,#062d24ef 0%,#062d2477 35%,transparent 68%),linear-gradient(180deg,#062d247a,transparent 23%)}.hero-content{padding-top:245px}.hero h1{font-size:clamp(43px,7.4vw,65px)}.hero .eyebrow{font-size:10px}.hero-description{font-size:14px;margin-top:17px;line-height:2.1}.hero-action{flex-direction:column;align-items:start;gap:13px;margin-top:23px}.hero-action .button{min-height:54px;font-size:12px;padding:12px 20px}.hero-flow{font-size:10px;padding:8px 0}.hero-caption{right:10px;top:20%;font-size:8px;gap:15px}.hero-caption span:first-child{font-size:12px}.hero-bottom{bottom:23px;gap:17px}.hero-access{font-size:9px;padding-left:15px}.first-price em{font-size:30px}.first-price>span{font-size:8px}.first-price strong{font-size:11px}.scroll-link{font-size:8px;gap:8px}.scroll-track{height:32px}.welcome-strip .shell{padding:20px 0;gap:15px}.welcome-strip span{font-size:11px;gap:10px;line-height:1.8}.welcome-strip i{font-size:13px}.experience-grid{grid-template-columns:1fr 1.1fr;gap:25px}.experience-heading>p:not(.eyebrow):not(.lead){font-size:12px}.experience-heading .lead{font-size:18px}.bed-caption h3{font-size:19px}.warm-button{width:69px;height:69px}.bed-caption>div>span{font-size:8px}.steps-strip{margin-top:45px}.steps-strip>div{padding:0 16px;grid-template-columns:24px 1fr;gap:5px 9px}.steps-strip h3{font-size:16px}.steps-strip p{font-size:10px}.steps-strip>div>span{font-size:26px}.check-grid{grid-template-columns:1fr 1.1fr;gap:30px}.choice-text b{font-size:14px}.choice-text small{font-size:8px}.check-choice{padding:18px 13px;gap:12px}.choice-no{font-size:21px}.choice-mark{width:25px;height:25px}.check-result h3{font-size:17px}.check-result p{font-size:10px!important}.reset-check{margin-left:0}.warmth-gallery{gap:25px;grid-template-columns:1.05fr .95fr}.warmth-vertical{display:none}.warmth-heading>p{padding-right:0;font-size:12px}.warmth-gallery figcaption{font-size:11px;gap:10px}.warmth-second{padding-top:65px}.care-grid{grid-template-columns:1.1fr .9fr;gap:35px}.care-kanji{display:none}.care-detail{padding-left:25px}.care-detail h3{font-size:21px}.care-detail p{font-size:10px}.faq-grid{gap:35px}.faq-item summary{font-size:12px;gap:13px}.faq-no{font-size:20px}.faq-answer{font-size:11px;gap:14px;padding-right:20px}.access-grid{gap:40px}.access-art{padding:40px 15px 28px}.access-circle{width:180px;height:180px}.access-copy .button{font-size:10px;gap:8px;padding:12px}.access-list>div{gap:12px;font-size:11px}.access-list dt{width:50px}.footer-grid{gap:30px;grid-template-columns:1fr 1.3fr}.footer-links{grid-column:1/3;flex-direction:row;gap:25px}.footer-grid>p{font-size:9px}.site-footer{padding-bottom:100px}.mobile-bookbar{display:flex;position:fixed;z-index:120;bottom:0;left:0;right:0;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:#062d24f5;border-top:1px solid #dcc28b55;gap:9px;box-shadow:0 -5px 25px #0002;backdrop-filter:blur(10px)}.bookbar-tel{width:57px;min-height:48px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--gold);border:1px solid #dcc28b66;gap:3px;box-shadow:0 3px 0 #021c14}.bookbar-tel svg{width:17px;height:17px}.bookbar-tel span{font-size:8px;line-height:1.3}.bookbar-main{display:flex;align-items:center;justify-content:center;gap:25px;flex:1;color:var(--jade);background:linear-gradient(110deg,#ead5a7,#dcc28b,#d4b67e);border:1px solid #f1e2c1;box-shadow:0 3px 0 #998054;min-height:48px}.bookbar-main span{line-height:1.5}.bookbar-main small{display:block;font-size:8px;letter-spacing:.04em}.bookbar-main b{font-size:12px;letter-spacing:.04em}.bookbar-main svg{width:20px}.bookbar-main:active,.bookbar-tel:active{box-shadow:none}.toast{bottom:95px}.sub-main{padding-top:25px}.sub-hero{padding-bottom:40px}.sub-hero h1{font-size:43px}.sub-number{font-size:170px;right:0;top:0}.full-faq .faq-item summary{font-size:14px}.full-faq .faq-answer{font-size:12px}.review-form h2{font-size:19px}}
@media(max-width:600px){.hero{height:calc(100svh - 66px);min-height:685px;max-height:810px}.hero-photo img{object-position:56% 45%}.hero-shade{background:linear-gradient(180deg,#062d2466 0%,#062d240a 17%,#062d2466 40%,#062d24f5 76%,#062d24 100%),linear-gradient(90deg,#062d24a8,transparent 80%)}.hero-content{padding-top:245px}.hero h1{font-size:clamp(40px,10.45vw,58px);line-height:1.5}.hero-line{line-height:1.53}.hero .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:13px;gap:12px}.hero .eyebrow>span{width:22px}.hero-description{font-size:12px;line-height:2;margin-top:14px}.hero-action{margin-top:20px;gap:12px}.hero-action .button{min-height:50px;font-size:12px;gap:12px;padding:12px 20px}.hero-action .text-link{display:none}.hero-bottom{bottom:22px}.hero-access{display:none}.hero-caption{top:20%;right:10px;font-size:7px}.hero-caption span:first-child{font-size:11px}.first-price strong{font-size:11px}.first-price em{font-size:30px}.scroll-link{font-size:7px}.welcome-strip .shell{padding:18px 0;gap:0;align-items:start}.welcome-strip span{flex:1;display:block;text-align:center;font-size:10px;border-right:1px solid #062d2426;padding:0 6px}.welcome-strip span:first-child{padding-left:0}.welcome-strip span:last-child{border:0;padding-right:0}.welcome-strip i{display:block;line-height:1.5;font-size:12px;margin-bottom:4px}.section-pad{padding:64px 0}.experience-grid{grid-template-columns:1fr;gap:45px}.experience-heading .lead{font-size:18px;margin:18px 0 12px}.experience-heading>p:not(.eyebrow):not(.lead){font-size:12px;line-height:2.25}.experience-heading .text-link{margin-top:15px;font-size:11px}.bed-scene{padding-top:0}.equipment-index{font-size:130px;top:-25px}.bed-photo{aspect-ratio:1.65;padding:15px 0 0}.bed-caption{margin-top:13px;padding-top:18px}.bed-caption h3{font-size:22px}.bed-caption>div>span{font-size:8px}.small-note{font-size:9px;margin-top:14px}.steps-strip{grid-template-columns:1fr;gap:0;margin-top:34px;padding-top:0;border-top:0}.steps-strip>div,.steps-strip>div:first-child{border-right:0;border-top:1px solid #062d2422;padding:20px 0;grid-template-columns:34px 1fr 1.1fr;gap:0 10px;align-items:center}.steps-strip>div:last-child{border-top:1px solid #062d2422;border-bottom:1px solid #062d2422}.steps-strip>div>span{grid-row:auto;font-size:28px}.steps-strip h3{font-size:16px;line-height:1.8}.steps-strip p{font-size:9px;margin:0;line-height:1.9}.check-grid{grid-template-columns:1fr;gap:28px}.check-intro{position:relative;padding-right:0}.check-intro h2{font-size:32px}.check-intro>p:not(.eyebrow){font-size:11px;max-width:240px;margin-top:15px}.check-orb{position:absolute;right:-6px;top:45px;width:116px;height:145px;margin:0;opacity:.9}.orb-core{inset:26px 10px 20px;font-size:36px}.orb-core span{display:none}.orb-halo{inset:16px 0 10px}.orb-dots i{width:6px;height:6px}.orb-dots i:nth-child(1){transform:rotate(0deg) translateY(-59px)}.orb-dots i:nth-child(2){transform:rotate(72deg) translateY(-59px)}.orb-dots i:nth-child(3){transform:rotate(144deg) translateY(-59px)}.orb-dots i:nth-child(4){transform:rotate(216deg) translateY(-59px)}.orb-dots i:nth-child(5){transform:rotate(288deg) translateY(-59px)}.check-progress{width:auto;justify-content:start;margin-top:23px;font-size:10px;gap:10px}.check-progress b{font-size:26px}.check-intro .check-note{font-size:8px!important;margin-top:10px!important;max-width:none!important}.check-intro .check-note br{display:none}.check-choice{padding:19px 13px;gap:13px;margin-bottom:12px}.choice-text b{font-size:14px;letter-spacing:0}.choice-text small{font-size:8px;letter-spacing:0;margin-top:6px}.choice-no{font-size:21px}.choice-mark{width:25px;height:25px}.check-result{padding-top:20px}.check-result h3{font-size:18px}.check-result>p:not(.result-kicker){font-size:11px!important}.check-result .text-link{font-size:10px}.check-celebration span{font-size:17px;padding:25px 20px}.warmth-heading{display:block}.warmth-heading>p{margin-top:20px;font-size:12px;line-height:2.2}.warmth-gallery{margin-top:30px;gap:18px;grid-template-columns:1fr .85fr}.warmth-main .photo-button{aspect-ratio:.68}.warmth-second{padding-top:55px}.warmth-second .photo-button{aspect-ratio:.78}.warmth-gallery figcaption{font-size:10px;display:block;line-height:1.9;padding-top:10px}.warmth-gallery figcaption span{display:block;font-size:11px;margin-bottom:2px}.photo-expand{width:29px;height:29px;right:8px;bottom:8px}.photo-expand svg{width:15px}.section-top{display:block}.section-top>p{font-size:11px;margin-top:15px}.menu-feature{grid-template-columns:53px 1fr;margin-top:30px}.menu-feature-label{padding:25px 0;gap:20px}.menu-feature-label span{font-size:20px;letter-spacing:.3em}.menu-feature-label b{writing-mode:vertical-rl;font-size:8px;letter-spacing:.15em}.menu-feature-content{padding:25px 22px 20px}.menu-feature-content>p:first-child{font-size:11px}.menu-price{gap:16px;margin-top:15px}.menu-duration{font-size:12px}.menu-duration b{font-size:29px;margin-right:2px}.menu-yen{padding-left:16px;font-size:14px}.menu-yen b{font-size:52px;margin-right:3px}.menu-detail{font-size:10px;margin-top:12px;line-height:2}.menu-feature-action{padding:0 20px 25px;gap:13px}.menu-feature-action .button{width:100%;font-size:10px;padding:12px 10px;gap:7px;min-height:49px}.menu-feature-action .button svg{width:17px}.menu-feature-action .button svg:last-child{margin-left:2px}.menu-feature-action>span{font-size:8px;line-height:1.7}.menu-row{gap:17px;padding:24px 5px;align-items:start;flex-wrap:wrap}.menu-row h3{font-size:18px}.menu-row p{font-size:10px;line-height:2}.menu-no{font-size:24px;line-height:1.55}.row-action{margin-left:43px;font-size:10px;gap:20px}.row-action svg{width:17px}.menu-note{font-size:9px;line-height:2}.archive-details{margin-top:28px}.archive-details>summary{font-size:11px;padding:17px 2px}.archive-details>p{font-size:9px;line-height:2}.archive-grid{gap:10px}.archive-photo{padding:7px}.archive-photo img{height:120px}.archive-photo>span{font-size:8px;gap:4px;line-height:1.6}.archive-photo svg{width:12px;min-width:12px}.care-grid{grid-template-columns:1fr;gap:35px}.care-grid>div>p:not(.eyebrow){font-size:12px;line-height:2.3;margin-top:20px}.care-grid .text-link{font-size:11px;margin-top:17px}.care-detail{border-left:0;border-top:1px solid #dcc28b44;padding:27px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.care-detail>span{grid-column:1;font-size:8px}.care-detail>h3{grid-column:1;font-size:20px;margin:8px 0 15px}.care-detail>p{grid-column:1;font-size:10px!important;margin:0!important}.care-voice{grid-column:2;grid-row:1/4;border-top:0;border-left:1px solid #dcc28b33;margin:0;padding:0 0 0 22px}.care-voice h3{font-size:16px;margin:0 0 12px}.care-voice p{font-size:9px;line-height:2.15}.care-voice .text-link{font-size:9px;gap:8px;margin-top:12px}.care-voice .text-link svg{width:15px}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-grid>div:first-child .text-link{margin-top:20px;font-size:11px}.faq-item summary{font-size:13px;padding:20px 2px;min-height:80px;gap:14px}.faq-answer{font-size:11px;line-height:2.2;padding:0 12px 23px 4px}.faq-no{font-size:22px}.access-grid{grid-template-columns:1fr;gap:35px}.access-copy{grid-row:1}.access-art{max-width:100%;padding:34px 20px 27px}.access-circle{width:170px;height:170px}.access-circle>strong{font-size:26px}.access-circle>b{font-size:52px}.access-destination{font-size:10px}.access-art>p{margin-top:20px}.access-art>a{font-size:27px}.access-list>div{font-size:12px;gap:20px}.access-list dt{font-size:10px;width:57px}.access-copy .button{font-size:11px;gap:12px;padding:13px 20px}.access-line{height:28px}.final-cta{padding:70px 0 75px}.final-cta h2{font-size:33px}.final-cta .eyebrow{font-size:9px}.final-cta p:not(.eyebrow){font-size:11px}.final-price{gap:4px;font-size:12px}.final-price b{font-size:34px}.final-price>span{font-size:9px;margin-right:10px}.final-price i{margin:0 7px}.final-actions .button{font-size:12px;padding:13px 19px}.site-footer{padding:40px 0 100px}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-grid>p{font-size:10px;line-height:2.2}.footer-links{grid-column:auto;gap:19px;flex-wrap:wrap;font-size:9px}.footer-links a{padding:8px 0}.footer-bottom{margin-top:25px;font-size:7px;gap:20px}.footer-brand .brand-seal{width:30px;height:36px}.footer-brand b{font-size:25px}.desktop-only{display:none}.mobile-only{display:inline}.sub-main{padding-top:23px;padding-bottom:65px}.breadcrumb{margin-bottom:25px;font-size:9px}.sub-hero{padding-bottom:30px}.sub-hero h1{font-size:34px}.sub-hero>p:not(.eyebrow){font-size:11px;line-height:2.2;margin-top:20px}.sub-number{font-size:140px;top:15px;right:0}.full-faq{margin-top:30px}.full-faq .faq-item summary{font-size:13px;padding:22px 0}.full-faq .faq-answer{font-size:11px;padding-left:1px;padding-right:5px}.sub-contact{padding-top:45px}.sub-contact h2{font-size:23px}.sub-contact .button{font-size:12px;padding:13px 19px}.sub-contact .text-link{font-size:10px}.review-form{padding-top:30px}.review-form h2{font-size:19px;line-height:1.9}.review-form>p{font-size:11px}.review-tags{gap:10px}.review-tags button{font-size:11px;padding:11px 13px}.review-form label{font-size:12px}.review-form textarea{font-size:16px;padding:15px}.review-form textarea::placeholder{font-size:11px}.review-actions{flex-direction:column;gap:19px}.review-actions .button{font-size:12px;min-height:52px}.review-form .review-help{font-size:9px}.photo-dialog{padding:45px 15px 20px}.photo-dialog figcaption{font-size:10px}.photo-dialog img{max-height:72svh}}
@media(max-width:370px){.shell{width:calc(100% - 34px)}.site-header{padding-inline:17px}.brand b{font-size:20px}.brand small{font-size:6px}.hero-content{padding-top:235px}.hero{min-height:665px}.hero h1{font-size:39px}.hero .eyebrow{font-size:7px}.hero-description{font-size:11px}.hero-caption{display:none}.first-price em{font-size:26px}.check-intro h2{font-size:29px}.check-orb{right:-13px;transform:scale(.85)}.choice-text b{font-size:12px}.choice-text small{font-size:7px}.check-choice{gap:10px;padding:17px 10px}.menu-feature-content{padding-inline:17px}.menu-price{gap:10px}.menu-yen{padding-left:11px}.menu-yen b{font-size:46px}.menu-feature-action{padding-inline:17px}.menu-feature-action .button{font-size:9px;gap:5px}.menu-feature-action .button svg{width:15px}.care-detail{gap:0 15px}.care-voice{padding-left:15px}.care-voice h3{font-size:15px}.care-detail>h3{font-size:18px}.access-copy h2{font-size:30px}.steps-strip>div{gap:0 7px;grid-template-columns:29px 1fr 1.1fr}.steps-strip h3{font-size:14px}.steps-strip p{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-motion .reveal{opacity:1;transform:none}.hero-line>span{transform:none;opacity:1;filter:none}.hero-enter{opacity:1;transform:none}.hero-photo img{opacity:1;transform:none}.tap-ring,.gold-particle{display:none}}

/* Shared tactile state for every actionable element. */
:where(a,button,summary):active,:where(a,button,summary).is-pressed{translate:0 3px!important;scale:.986;filter:brightness(.94);box-shadow:inset 0 3px 9px #0004}
.mobile-nav{max-height:calc(100dvh - 152px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.js-motion .control-reveal{opacity:0;transition:opacity .55s var(--ease)}
.js-motion .control-reveal.visible{opacity:1;animation:control-in .55s var(--ease)}
@keyframes control-in{from{translate:0 7px}to{translate:0 0}}
@media(prefers-reduced-motion:reduce){.js-motion .control-reveal{opacity:1}}

/* Revision 2 — tactile photography and an accessible salon gallery. */
.hero-photo{padding:0;border:0;width:100%;height:100%;background:var(--jade);cursor:zoom-in}
.hero-shade,.hero-caption,.hero-bottom{pointer-events:none}
.hero-content a,.hero-bottom a{pointer-events:auto}
.hero-photo:focus-visible{outline:2px solid var(--gold);outline-offset:-9px}
.hero-photo-label{position:absolute;right:4%;top:120px;z-index:4;display:flex;gap:12px;align-items:center;color:#f6ecd8;background:#062d2455;border:1px solid #dcc28b88;padding:10px 14px;font-size:11px;letter-spacing:.07em;backdrop-filter:blur(9px);transition:background .3s,box-shadow .3s}
.hero-photo-label svg{width:18px;height:18px}
.hero-photo:hover .hero-photo-label,.hero-photo:focus-visible .hero-photo-label{background:#062d24d6;box-shadow:0 0 24px #dcc28b33}
.bed-photo{width:100%;cursor:zoom-in;color:var(--jade);text-align:inherit}
.bed-photo .photo-expand{border-radius:50%;z-index:5}
.image-reveal{position:relative;overflow:hidden}
.js-motion .image-reveal img{opacity:0;transform:scale(1.09);transition:opacity .8s var(--ease),transform 1.5s var(--ease)}
.js-motion .image-reveal.visible img{opacity:1;transform:scale(1)}
.image-reveal::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(105deg,transparent 25%,#f4ddb040 50%,transparent 70%);pointer-events:none;transform:translateX(-120%)}
.js-motion .image-reveal.visible::after{animation:photo-light 1.3s .1s var(--ease) both}
.photo-expand{z-index:5;transition:background .25s,transform .25s}
@media(hover:hover){.js-motion .image-reveal.visible:hover img{transform:scale(1.035)}[data-photo]:hover .photo-expand{background:var(--jade);transform:rotate(90deg)}}
@keyframes photo-light{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
.selected-concerns{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 16px}
.selected-concerns[hidden]{display:none}
.selected-concerns span{border:1px solid #dcc28b55;background:linear-gradient(130deg,#dcc28b18,#dcc28b04);padding:5px 10px;color:#eddbb7;font-size:11px;line-height:1.7;animation:concern-in .35s var(--ease)}
@keyframes concern-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.check-choice[aria-pressed=true] .choice-mark{animation:choice-stamp .38s var(--ease)}
@keyframes choice-stamp{0%{transform:scale(.6) rotate(-20deg)}60%{transform:scale(1.2) rotate(4deg)}100%{transform:scale(1) rotate(0)}}
.photo-dialog{width:min(1040px,94vw);max-width:1040px;max-height:calc(100svh - 28px);padding:0;overflow:auto;border:1px solid #dcc28b88;background:radial-gradient(ellipse at 50% 0,#174d3c,var(--jade) 60%);color:var(--paper);box-shadow:0 35px 100px #0008;overscroll-behavior:contain}
.photo-dialog[open]{animation:gallery-in .45s var(--ease) both}
.photo-dialog::backdrop{background:#021710e8;backdrop-filter:blur(9px)}
.photo-dialog[open]::backdrop{animation:gallery-backdrop .35s ease-out both}
.photo-dialog.is-closing{animation:gallery-out .18s ease-in both}
.photo-dialog.is-closing::backdrop{animation:gallery-backdrop .18s ease-in reverse both}
.gallery-topline{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:12px 22px 10px;background:linear-gradient(180deg,#083427,#083427ec);border-bottom:1px solid #dcc28b25}
.gallery-topline p{font-family:var(--number);font-size:20px;letter-spacing:.17em;color:var(--gold)}
.gallery-topline p span{font-family:var(--sans);font-size:9px;letter-spacing:.16em;margin-left:18px}
.photo-dialog .dialog-close{position:static;min-width:44px;min-height:44px;border:1px solid #dcc28b55;background:linear-gradient(135deg,#dcc28b12,transparent);box-shadow:0 3px 0 #021e16}
.photo-dialog figure{margin:0;padding:20px 22px 0}
.gallery-stage{display:flex;align-items:center;justify-content:center;position:relative;height:min(57svh,560px);width:100%;padding:0;border:0;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#24533c88,#03291f88);cursor:zoom-in}
.photo-dialog .gallery-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;flex-shrink:0;margin:auto;opacity:1}
.photo-dialog.is-loading .gallery-stage img{opacity:0}
.gallery-stage.is-zoomed{display:block;overflow:auto;cursor:zoom-out;overscroll-behavior:contain}
.photo-dialog .gallery-stage.is-zoomed img{width:1100px;min-width:100%;max-width:none;max-height:none;height:auto;margin:0}
.photo-dialog figcaption{font-family:var(--serif);font-size:15px;line-height:1.8;margin-top:17px;text-align:center}
.gallery-note{max-width:760px;margin:10px auto 0;padding:10px 14px;border:1px solid #dcc28b45;color:#e8d8b8;font-size:11px;line-height:1.9;background:#dcc28b09;text-align:left}
.gallery-controls{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:24px;padding:17px 22px;background:linear-gradient(0deg,#062d24 85%,#062d24ee);text-align:center}
.gallery-controls>button{height:44px;width:56px;color:var(--gold);background:linear-gradient(135deg,#dcc28b1f,#dcc28b04);border:1px solid #dcc28b66;display:grid;place-items:center;box-shadow:0 3px 0 #021e16}
.gallery-controls svg{width:22px;height:22px}
#gallery-prev svg{rotate:180deg}
.gallery-controls>div{min-width:220px}
#gallery-count{font-family:var(--number);font-size:22px;letter-spacing:.17em;color:var(--gold);line-height:1.2;display:block}
#gallery-zoom-label{display:block;font-size:10px;line-height:1.7;margin-top:5px;color:#c7d1bd}
#gallery-effects{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:10}
@keyframes gallery-in{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes gallery-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(10px) scale(.98)}}
@keyframes gallery-backdrop{from{opacity:0}to{opacity:1}}
@media(max-width:820px){.hero-photo-label{top:96px;right:22px;font-size:10px;padding:8px 11px;gap:8px}}
@media(max-width:600px){.hero-photo-label{top:92px;right:21px;font-size:10px}.hero-photo-label svg{width:16px;height:16px}.photo-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.gallery-topline{padding:7px 13px}.gallery-topline p{font-size:17px}.gallery-topline p span{font-size:8px;margin-left:10px;letter-spacing:.06em}.photo-dialog figure{padding:12px 12px 0}.gallery-stage{height:min(50svh,470px)}.photo-dialog figcaption{font-size:13px;margin-top:12px}.gallery-note{font-size:11px;padding:9px 11px}.gallery-controls{gap:12px;padding:13px 12px}.gallery-controls>div{min-width:0;flex:1}.gallery-controls>button{width:44px;min-width:44px}.gallery-controls small{max-width:220px;margin-inline:auto}#gallery-zoom-label{font-size:10px}.selected-concerns{gap:6px}.selected-concerns span{font-size:11px;padding:4px 8px}}
@media(prefers-reduced-motion:reduce){.js-motion .image-reveal img{opacity:1;transform:none}.image-reveal::after{display:none}.photo-dialog[open],.photo-dialog.is-closing{transform:none}.selected-concerns span{animation:none}}

/* Revision 2: append after the existing stylesheet.
   Mobile flow and readable copy only; original typefaces, palette and imagery stay intact. */
@media (max-width: 820px) {
  :root { --mobile-bookbar-space: calc(76px + env(safe-area-inset-bottom, 0px)); }
  html { scroll-padding-bottom: calc(var(--mobile-bookbar-space) + 20px); }

  /* Keep the brand subtitle and sound label readable without widening the header. */
  .site-header .brand { flex-shrink: 1; min-width: 0; }
  .site-header .brand > span:last-child { min-width: 0; }
  .brand-seal { flex-shrink: 0; }
  .brand small { font-size: 11px; line-height: 1.35; letter-spacing: 0; }
  .header-controls { flex-shrink: 0; gap: 6px; }
  .sound-control { font-size: 11px; line-height: 1.3; min-width: 44px; padding: 7px 2px; }
  .menu-control { width: 44px; min-width: 44px; }

  /* Content and price share normal flow, so short screens can scroll safely. */
  .hero {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: auto;
    min-height: calc(100svh - var(--mobile-bookbar-space));
    max-height: none;
  }
  .hero-content {
    flex: 0 0 auto;
    padding-top: clamp(170px, 30svh, 275px);
    padding-bottom: 0;
  }
  .hero .eyebrow { font-size: 11px; line-height: 1.7; letter-spacing: .08em; }
  .hero-description { font-size: 13px; line-height: 1.9; letter-spacing: .06em; }
  .hero-flow { font-size: 12px; }
  .hero-bottom {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin: 24px auto 0;
    padding: 0 0 28px;
  }
  .first-price > span { font-size: 11px; line-height: 1.7; letter-spacing: .04em; }
  .first-price strong { font-size: 12px; }
  .first-price strong > span { font-size: 12px; }
  .hero-access { font-size: 11px; }
  .scroll-link { font-size: 11px; letter-spacing: .12em; }

  .welcome-strip span { font-size: 12px; }
  .eyebrow { font-size: 11px; }
  .small-note,
  .experience-heading > p:not(.eyebrow):not(.lead),
  .check-intro > p:not(.eyebrow),
  .choice-text small,
  .warmth-heading > p,
  .section-top > p,
  .menu-detail,
  .menu-feature-action > span,
  .menu-row p,
  .menu-note,
  .archive-details > p,
  .care-grid > div > p:not(.eyebrow),
  .care-detail p,
  .care-voice p,
  .faq-answer,
  .full-faq .faq-answer,
  .sub-hero > p:not(.eyebrow),
  .review-form > p,
  .review-form .review-help,
  .footer-grid > p {
    font-size: 12px;
    line-height: 1.95;
  }
  /* These three rules override small-font !important declarations in v1. */
  .check-intro .check-note { font-size: 12px !important; line-height: 1.95; }
  .check-result > p { font-size: 12px !important; line-height: 1.95; }
  .care-detail > p { font-size: 12px !important; line-height: 1.95; }

  .check-choice { min-height: 88px; align-items: center; }
  .choice-text { min-width: 0; }
  .choice-text b { font-size: 14px; line-height: 1.8; }
  .choice-text small { margin-top: 5px; }
  .choice-no { flex: 0 0 auto; }
  .check-progress,
  .reset-check { font-size: 12px; }
  .check-result .text-link { font-size: 12px; line-height: 1.8; }

  .steps-strip > div { min-width: 0; grid-template-columns: 28px minmax(0, 1fr); }
  .steps-strip h3 { grid-column: 2; }
  .steps-strip p { grid-column: 2; font-size: 12px; line-height: 1.9; }
  .bed-caption > div > span { font-size: 11px; letter-spacing: .07em; }
  .warm-button { width: 88px; height: 88px; }
  .warm-button span { font-size: 11px; letter-spacing: 0; }
  .warmth-gallery figcaption { font-size: 12px; line-height: 1.9; }

  .menu-feature-label b { font-size: 11px; }
  .menu-feature-content > p:first-child { font-size: 12px; line-height: 1.9; }
  .menu-feature-action .button { font-size: 12px; min-height: 52px; }
  .row-action { font-size: 12px; }
  .archive-details > summary { font-size: 12px; }
  .archive-photo > span { font-size: 12px; line-height: 1.8; }
  .care-detail > span { font-size: 11px; }
  .care-grid .text-link,
  .care-voice .text-link,
  .faq-grid > div:first-child .text-link,
  .final-actions .text-link,
  .sub-contact .text-link { font-size: 12px; }
  .access-list > div { font-size: 12px; }
  .access-list dt { font-size: 11px; }
  .access-circle > small,
  .access-destination,
  .access-art > p { font-size: 12px; }
  .access-copy .button { font-size: 12px; }
  .final-cta p:not(.eyebrow) { font-size: 12px; line-height: 1.95; }
  .final-price > span { font-size: 11px; }
  .footer-links { font-size: 12px; }
  .footer-bottom { font-size: 11px; line-height: 1.8; }
  .footer-links a { min-height: 44px; display: inline-flex; align-items: center; }
  .breadcrumb { font-size: 11px; }
  .review-count { font-size: 11px; }
  .review-tags button { font-size: 12px; min-height: 44px; }
  .review-form textarea::placeholder { font-size: 12px; }
  .photo-dialog figcaption { font-size: 12px; line-height: 1.8; }

  /* The fixed reservation controls remain above the device's safe area. */
  .mobile-bookbar { padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); gap: 9px; }
  .bookbar-tel { width: 56px; min-height: 56px; flex-shrink: 0; }
  .bookbar-tel span { font-size: 11px; }
  .bookbar-main { min-width: 0; min-height: 56px; gap: 14px; padding: 5px 10px; }
  .bookbar-main span { min-width: 0; line-height: 1.5; }
  .bookbar-main small { font-size: 11px; letter-spacing: .01em; }
  .bookbar-main b { font-size: 13px; letter-spacing: .01em; }
  .bookbar-main svg { flex-shrink: 0; width: 18px; }
  .site-footer { padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
  .toast { bottom: calc(94px + env(safe-area-inset-bottom, 0px)); }
  .mobile-nav { max-height: calc(100dvh - 160px - env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 600px) {
  .hero-content { padding-top: clamp(170px, 30svh, 245px); }
  .hero .eyebrow { margin-bottom: 13px; }
  .hero-action { margin-top: 20px; }
  .hero-bottom { margin-top: 22px; padding-bottom: 24px; }
  .hero-action .button { max-width: 100%; }
  .welcome-strip span { font-size: 11px; line-height: 1.9; }

  /* Each step has a readable title and explanation beside its number. */
  .steps-strip > div,
  .steps-strip > div:first-child {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 5px 12px;
    align-items: start;
    padding: 20px 0;
  }
  .steps-strip > div > span { grid-column: 1; grid-row: 1 / 3; align-self: start; }
  .steps-strip h3 { grid-column: 2; grid-row: 1; font-size: 16px; line-height: 1.8; }
  .steps-strip p { grid-column: 2; grid-row: 2; margin: 0; }

  /* Reserve a real cell for the orb instead of laying it over explanatory copy. */
  .check-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 104px;
    column-gap: 12px;
    align-items: center;
  }
  .check-intro > .eyebrow,
  .check-intro > h2,
  .check-intro > p:not(.check-note) { grid-column: 1 / -1; max-width: none; }
  .check-orb {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 4 / 6;
    width: 104px;
    height: 130px;
    margin: 12px 0 0;
    justify-self: end;
    transform: none;
  }
  .orb-dots i:nth-child(1) { transform: rotate(0deg) translateY(-48px); }
  .orb-dots i:nth-child(2) { transform: rotate(72deg) translateY(-48px); }
  .orb-dots i:nth-child(3) { transform: rotate(144deg) translateY(-48px); }
  .orb-dots i:nth-child(4) { transform: rotate(216deg) translateY(-48px); }
  .orb-dots i:nth-child(5) { transform: rotate(288deg) translateY(-48px); }
  .check-progress { grid-column: 1; grid-row: 4; align-self: end; margin-top: 20px; gap: 8px; }
  .check-intro .check-note { grid-column: 1; grid-row: 5; align-self: start; margin-top: 10px !important; }
  .check-choice { padding: 17px 12px; gap: 11px; }
  .check-result .text-link { max-width: 100%; }

  /* The initial-visit card gets a horizontal label and full-width booking area. */
  .menu-feature { grid-template-columns: minmax(0, 1fr); }
  .menu-feature-label {
    grid-column: auto;
    grid-row: auto;
    flex-direction: row;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 20px;
  }
  .menu-feature-label span,
  .menu-feature-label b { writing-mode: horizontal-tb; letter-spacing: .08em; }
  .menu-feature-label span { font-size: 22px; }
  .menu-feature-content { padding: 24px 20px 18px; }
  .menu-feature-action { grid-column: auto; align-items: stretch; padding: 0 20px 24px; gap: 12px; }
  .menu-feature-action > span { line-height: 1.8; }
  .menu-feature-action .button { gap: 9px; padding: 12px 10px; }
  .menu-row { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 5px 14px; }
  .menu-row > div { min-width: 0; }
  .menu-row .row-action { grid-column: 2; margin: 6px 0 0; }
  .menu-row h3 { font-size: 18px; line-height: 1.8; }

  /* Three archived photographs stay visible at useful sizes when expanded. */
  .archive-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .archive-photo {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    padding: 12px;
  }
  .archive-photo img { width: 100%; height: clamp(160px, 40vw, 220px); object-fit: contain; }
  .archive-photo > span { padding: 0; gap: 10px; align-items: center; }
  .archive-photo svg { width: 16px; min-width: 16px; }

  /* Clothing guidance and the feedback invitation each receive their own row. */
  .care-detail { display: block; padding: 26px 0 0; }
  .care-detail > h3 { font-size: 21px; margin: 10px 0 14px; }
  .care-voice {
    border-left: 0;
    border-top: 1px solid #dcc28b33;
    margin: 24px 0 0;
    padding: 24px 0 0;
  }
  .care-voice h3 { font-size: 18px; }
  .care-voice .text-link { gap: 10px; }
  .faq-answer,
  .full-faq .faq-answer { font-size: 12px; line-height: 1.95; }
  .footer-bottom { flex-wrap: wrap; gap: 8px 20px; }
}

@media (max-width: 370px) {
  .hero-content { padding-top: clamp(162px, 30svh, 220px); }
  .hero-description { font-size: 13px; }
  .hero-bottom { gap: 12px; }
  .hero-bottom .first-price { margin-left: auto; }
  .check-intro { grid-template-columns: minmax(0, 1fr) 94px; column-gap: 10px; }
  .check-orb { width: 94px; height: 130px; }
  .check-choice { gap: 9px; padding: 16px 10px; }
  .choice-text b { font-size: 14px; }
  .choice-text small { font-size: 12px; }
  .choice-mark { width: 24px; height: 24px; }
  .check-progress { gap: 6px; }
  .menu-feature-label,
  .menu-feature-content { padding-inline: 17px; }
  .menu-feature-action { padding-inline: 17px; }
  .menu-feature-action .button { font-size: 12px; gap: 8px; }
  .menu-feature-action .button svg { width: 17px; }
  .archive-photo { gap: 12px; padding: 10px; }
  .bookbar-main { gap: 8px; padding-inline: 8px; }
  .bookbar-main b { font-size: 12px; }
  .bookbar-main small { font-size: 11px; }
}

.brand-place{white-space:nowrap}.brand-place::before{content:"｜"}.review-copy-fallback{margin-top:25px;padding:0 18px 18px;border:1px solid #a69b7c;background:#dcc28b12}.review-copy-fallback[hidden]{display:none}
@media(max-width:370px){.site-header .brand-place{display:block}.site-header .brand-place::before{content:""}.site-header .brand small{font-size:10px;line-height:1.3}}
