/* YOMOSORA / Botanical meets celestial / 2026.09 */
:root{--night:#081813;--forest:#10271f;--ink:#223b30;--cream:#f2f0e8;--sage:#d3dfc9;--muted:#afbcb1;--line:#c9d7c640;--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP","Yu Gothic",sans-serif;--roman:"Cormorant Garamond",Georgia,serif;--number:Arial,"Helvetica Neue","Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--night);color:var(--cream);font:400 16px/1.9 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border-radius:0}button,summary,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3,h4{margin:0}h1,h2,h3,h4{font-weight:400}ul,ol{padding:0;margin:0}::selection{background:#b8cbae;color:#10271f}:focus-visible{outline:2px solid #91b88a;outline-offset:6px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:calc(100% - 128px);max-width:1280px;margin-inline:auto}.skip-link{position:fixed;left:20px;top:-80px;padding:10px 20px;background:var(--cream);color:var(--night);z-index:100}.skip-link:focus{top:12px}.section-light{background:var(--cream);color:var(--ink)}.eyebrow,.section-label,.hero-bottom,.menu-overline{font-size:12px;letter-spacing:.15em;line-height:1.7}.section-label{display:flex;align-items:center;gap:17px;margin-bottom:30px}.section-label>span{font:17px var(--number);letter-spacing:.04em}.section-label:after{content:"";width:44px;height:1px;background:currentColor;opacity:.3}.body-copy{font-size:16px;line-height:2.15}.note,.visual-note,.gallery-note{font-size:14px;line-height:1.9}.note{color:var(--muted)}h2{font:400 clamp(34px,3.3vw,48px)/1.75 var(--serif);letter-spacing:.04em}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:64px}.section-heading>p{font-size:16px;line-height:2.1;padding-bottom:8px}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:15px;min-height:48px}.circle-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;transition:transform .25s}.text-link:hover .circle-arrow{transform:rotate(45deg)}.button{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:18px 26px;font-size:16px;font-weight:500;line-height:1.6;border:1px solid transparent;transition:background-color .25s,color .25s,box-shadow .25s}.button>span:last-child{font-size:24px;font-weight:300}.button-sage{background:var(--sage);color:#183627}.button-sage:hover{background:#e6efdf;box-shadow:0 5px 25px #0002}.button-outline{border-color:#b9c9ba;background:transparent;color:var(--cream)}.button-outline:hover{background:var(--cream);color:var(--night)}
.site-header{position:absolute;top:0;left:0;width:100%;height:112px;display:flex;align-items:center;gap:36px;padding:0 4.4%;z-index:20;border-bottom:1px solid #e4ebe029;transition:background .25s}.site-header.is-scrolled{position:fixed;height:86px;background:#081813f5;box-shadow:0 4px 24px #0002}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-icon{width:48px;height:48px;color:#d1ddc9}.brand-type{font:30px/1.2 var(--roman);letter-spacing:.13em}.brand-type small{display:block;margin-top:6px;font:11px var(--sans);letter-spacing:.16em}.desktop-nav{display:flex;gap:32px;margin-left:auto;align-items:center;white-space:nowrap}.desktop-nav a{font-size:14px;position:relative;padding:14px 0}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:5px;width:100%;height:1px;background:var(--sage);transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-cta{display:flex;align-items:center;gap:22px;border:1px solid #c8d5c45e;padding:12px 18px;font-size:14px;white-space:nowrap}.header-cta:hover{background:#c8d5c420}.mobile-menu{display:none}
.hero-stage{position:relative;isolation:isolate;height:min(100svh,1020px);min-height:780px;overflow:hidden;background:#071310}.hero-picture{position:absolute;inset:0;z-index:-2}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#03100c33,transparent 62%),linear-gradient(0deg,#05130eb3,transparent 22%)}.hero-content{position:relative;z-index:3;padding-top:clamp(215px,27vh,330px);pointer-events:none}.hero-content a{pointer-events:auto}.hero-kicker{display:flex;align-items:center;gap:12px;font-size:15px;letter-spacing:.14em;margin-bottom:26px}.kicker-dot,.status-dot{display:inline-block;width:5px;height:5px;flex-shrink:0;border-radius:50%;background:currentColor}.hero h1{font:400 clamp(56px,5.1vw,82px)/1.6 var(--serif);letter-spacing:.055em;text-shadow:0 2px 22px #06120ba6}.hero h1 span{display:block}.hero-subline{font:20px/1.9 var(--serif);letter-spacing:.12em;margin-top:22px;text-shadow:0 1px 10px #07130f}.hero-discover{display:inline-flex;align-items:center;gap:55px;margin-top:42px;padding:10px 0;border-bottom:1px solid #d2dfce9c;min-height:48px;font-size:15px;letter-spacing:.08em}.hero-discover span{font-size:22px}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.17em}.hero-bottom p span{padding:0 15px;color:#acbba9}.hero-bottom a{display:flex;align-items:center;gap:24px;padding:12px 0}.hero-bottom a span{font-size:22px}.arrival{background:var(--forest);border-bottom:1px solid var(--line);scroll-margin-top:90px}.arrival-inner{display:grid;grid-template-columns:1.2fr .8fr 1.15fr;align-items:center;gap:42px;padding-block:36px}.arrival-intro .eyebrow{display:flex;align-items:center;gap:9px;color:#c5d7bc;letter-spacing:.1em;font-size:11px}.arrival-intro h2{font-size:24px;line-height:1.5;margin:9px 0}.arrival-intro>p:last-child{font-size:14px;color:#becbbf}.arrival-offer{position:relative;display:grid;grid-template-columns:auto auto;column-gap:13px;align-items:baseline;border-inline:1px solid var(--line);padding:2px 30px}.arrival-offer>span:first-child{grid-column:1/-1;font-size:14px}.arrival-offer b{font-weight:400;padding-left:12px}.arrival-offer strong{font:400 46px/1.15 var(--number);letter-spacing:-.025em;white-space:nowrap}.arrival-offer strong small{font-size:30px;margin-right:4px}.tax{font-size:14px}.arrival-offer .offer-arrow{position:absolute;right:16px;top:6px;font-size:19px}.arrival-action .button{font-size:15px;padding-inline:20px}.arrival-action .note{font-size:14px;margin-top:9px}.visual-note{padding-block:18px;color:#b6c4b9}
.concept{padding:132px 0 72px}.concept-layout{display:grid;grid-template-columns:1.12fr 1fr;column-gap:9%;align-items:center}.concept-copy h2{font-size:clamp(34px,3.3vw,47px);margin-bottom:35px}.concept-copy .lead{font:21px/2.05 var(--serif);letter-spacing:.06em;margin-bottom:29px}.concept-copy .body-copy{font-size:15px;color:#506256}.concept-copy .text-link{margin-top:28px}.botanical-photo{position:relative;margin-top:50px;align-self:start}.botanical-photo:before{content:"";position:absolute;inset:-30px -24px 54px 35px;border:1px solid #b2bba9;pointer-events:none}.botanical-photo>img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover}.photo-word{position:absolute;left:28px;bottom:87px;color:#f4f3df;font:50px/1.1 var(--roman);letter-spacing:.01em}.photo-word i{font-size:.8em}.botanical-photo figcaption{position:relative;font-size:14px;line-height:1.8;padding:13px 0;color:#576557}.comfort-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;padding-top:36px;border-top:1px solid #bfcbba}.comfort-strip>div{display:flex;gap:18px;align-items:flex-start;padding-right:22px}.comfort-strip>div+div{padding-left:30px;border-left:1px solid #bfcbba}.feature-symbol{font:25px/1.3 var(--number);color:#6c8269}.comfort-strip strong{font:400 20px/1.7 var(--serif)}.comfort-strip p>span{display:block;font-size:14px;color:#5b6a5d;margin-top:8px;line-height:1.8}
.menu-section{padding:118px 0 86px;background:var(--forest)}.menu-section .section-heading>p{color:#c3cdbf}.signature-menu{display:grid;grid-template-columns:1.08fr 1fr;gap:8%;align-items:center}.menu-photo{position:relative;height:690px;overflow:hidden}.menu-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 74%}.time-sign{position:absolute;top:35px;left:35px;font:20px/.9 var(--roman);letter-spacing:.01em;color:#f3f4e8}.time-sign b{font-family:var(--number);font-size:104px;font-weight:400;display:inline-block;line-height:1.05}.time-sign i{display:block;font-size:30px;margin-top:8px}.menu-photo figcaption{position:absolute;left:22px;bottom:18px;font-size:14px;color:white;text-shadow:0 1px 5px black;background:#10271f99;padding:3px 9px}.signature-details>.eyebrow{color:#c5d7bc;margin-bottom:18px;font-size:11px}.signature-details h3{font:34px/1.6 var(--serif);letter-spacing:.06em;margin-bottom:17px}.menu-description{font-size:15px;color:#bccbbc;line-height:2}.signature-offer{margin-top:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}.first-label{display:inline-block;padding:4px 13px;font-size:14px;border:1px solid #a0b59a;color:#d9e5d4;margin-bottom:12px}.price-top{display:flex;justify-content:space-between;align-items:center;font-size:15px}.price-top span:last-child{font:19px/1.6 var(--sans)}.main-price{font:400 80px/1.25 var(--number);letter-spacing:-.035em;display:flex;align-items:baseline;gap:7px}.main-price>span{font-size:42px}.main-price>small{font:14px var(--sans);margin-left:9px}.regular-price{display:flex;justify-content:space-between;align-items:baseline;padding:21px 0;border-bottom:1px solid var(--line);gap:20px}.regular-price>span{font-size:15px}.regular-price small{font:14px var(--sans);margin-left:9px}.regular-price strong{font:400 30px/1.4 var(--number);letter-spacing:-.015em;white-space:nowrap}.regular-price strong small{margin-left:3px}.included-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px;margin:24px 0;font-size:14px;color:#c3d2bc}.included-list li:before{content:"✓";padding-right:7px;font-size:13px}.headspa-menu{margin-top:84px;padding-top:58px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:7%}.headspa-menu figure>img{width:100%;aspect-ratio:1.4;object-fit:cover}.headspa-menu figcaption{font-size:14px;color:#b8c6b9;margin-top:12px}.headspa-copy .eyebrow{font-size:11px;color:#c5d7bc}.headspa-copy h3{font:30px/1.7 var(--serif);margin:9px 0 16px}.headspa-copy>p:not(.eyebrow):not(.note){font-size:15px;color:#c1cdbd;line-height:2}.set-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.set-row:first-of-type{margin-top:13px;border-top:1px solid var(--line)}.set-row h4{font-size:14px;line-height:1.8}.set-row>div>span{font-size:14px;color:#becbbf}.set-row>p{font:30px/1.4 var(--number);letter-spacing:-.015em;white-space:nowrap}.set-row small{font:14px var(--sans)}.headspa-copy>.note{margin-top:16px}.menu-notes{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:34px}.menu-notes>.text-link{white-space:nowrap;font-size:14px;gap:15px;border-bottom:1px solid var(--line)}
.salon-section{padding:128px 0 100px}.space-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:34px 40px}.space-grid>figure{min-width:0}.space-main{grid-row:span 2}.space-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:630px}.space-pair img{width:100%;height:100%;object-fit:cover}.space-welcome>img{height:235px;width:100%;object-fit:cover}.space-dresser>img{height:235px;width:100%;object-fit:cover;object-position:50% 38%}.space-grid figcaption{padding-top:19px;line-height:1.5}.space-grid figcaption>span{display:block;font-size:11px;letter-spacing:.13em;color:#667765;margin-bottom:9px}.space-grid figcaption>strong{font:400 22px var(--serif)}.space-grid figcaption>small{display:block;font-size:14px;color:#536451;margin-top:10px;line-height:1.8}.gallery-note{border-top:1px solid #c4cdbd;margin-top:35px;padding-top:23px;color:#52644f}.ritual-section{padding:10px 0 104px}.ritual-layout{border-top:1px solid #c3cdbc;padding-top:85px;display:grid;grid-template-columns:1fr 1.07fr;gap:9%}.ritual-layout .body-copy{font-size:15px;margin-top:26px;color:#52644f}.ritual-flourish{display:flex;align-items:center;gap:16px;margin-top:46px;color:#6b8067;font:italic 33px var(--roman)}.ritual-flourish svg{width:59px;height:59px}.ritual-steps{list-style:none}.ritual-steps li{display:flex;gap:27px;padding:23px 0;border-bottom:1px solid #c4cdbd}.ritual-steps li:first-child{padding-top:0}.ritual-steps li>span{font:35px/1.5 var(--number);color:#708669}.ritual-steps h3{font:23px/1.7 var(--serif)}.ritual-steps p{font-size:15px;color:#52644f;line-height:1.9;margin-top:8px}
.care-section{background:#e7eade;padding:104px 0 70px}.faq-grid{display:grid;grid-template-columns:.92fr 1.3fr;gap:8%;scroll-margin-top:115px}.faq-heading h2{font-size:37px}.faq-heading .body-copy{font-size:15px;color:#53674f;margin-top:25px}.faq-heading .text-link{margin-top:30px}.faq-list details{border-bottom:1px solid #bfccb6}.faq-list details:first-child{border-top:1px solid #bfccb6}.faq-list summary,.safety-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;cursor:pointer;font-size:15px;line-height:1.8}.faq-list summary::-webkit-details-marker,.safety-details summary::-webkit-details-marker{display:none}.plus{position:relative;display:block;width:17px;height:17px;flex-shrink:0}.plus:before,.plus:after{content:"";position:absolute;width:14px;height:1px;left:1px;top:8px;background:currentColor}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open]>summary .plus:after{transform:rotate(0deg)}.faq-list details>div{font-size:15px;line-height:2;padding:0 25px 25px 0;color:#495e45}.faq-list details a{border-bottom:1px solid currentColor}.faq-more{display:none;background:transparent;border:0;border-bottom:1px solid #657e5b;padding:16px 0 9px;margin:20px auto 0;min-height:48px;gap:36px;font-size:14px}.js-enabled .faq-more{display:flex;align-items:center}.faq-more-icon{font-size:22px}.care-bottom{margin-top:75px;border-top:1px solid #bdcbb3;padding-top:36px;display:grid;grid-template-columns:.92fr 1.3fr;gap:8%;align-items:start}.care-bottom .eyebrow{font-size:11px;color:#5e7457}.care-bottom h3{font:24px/1.7 var(--serif);margin:10px 0}.care-bottom>div>p:last-child{font-size:14px;color:#52694a;line-height:1.9}.safety-details{border:1px solid #9eb290;padding:0 21px}.safety-details summary{font-size:14px;min-height:76px;padding:17px 0}.safety-details>div{font-size:14px;line-height:2;padding:0 0 22px;color:#3a5132}.safety-details ul{padding-left:20px;margin:13px 0}.safety-details p+p{margin-top:14px}
.access-section{background:#243d30;padding:114px 0 108px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:start}.access-heading>.body-copy{font-size:15px;color:#c5d1bf;margin-top:28px}.access-info{border-top:1px solid #9cae9459;padding-top:21px}.access-info>.eyebrow{font-size:11px;color:#c0cfb8}.access-info h3{font:25px/1.7 var(--serif);margin:14px 0}.access-status{font-size:14px;display:flex;align-items:center;gap:9px;color:#cfdfc5}.access-info dl{margin:25px 0 32px}.access-info dl>div{display:grid;grid-template-columns:90px 1fr;gap:20px;border-bottom:1px solid #b7c6ad4d;padding:21px 0;line-height:1.9}.access-info dt{font-size:14px;color:#d0ddc7}.access-info dd{margin:0;font-size:17px}.access-info dd small{display:block;font-size:14px;color:#c4d1bb}.access-info dd>a{font:25px/1.5 var(--number);letter-spacing:.015em;white-space:nowrap}.route-card{margin-top:39px;max-width:390px;color:#d7e2d0}.route-card>p{font-size:12px;letter-spacing:.05em}.route-station{border:1px solid #bacbb378;padding:12px 20px;font:24px/1.7 var(--serif);display:flex;flex-wrap:wrap;align-items:center;gap:5px 20px;margin-top:8px}.route-station>span{font:10px var(--sans);letter-spacing:.13em}.route-line{margin-left:33px;height:70px;border-left:1px dashed #afc3a7;display:flex;align-items:center}.route-line>span{margin-left:24px;font-size:14px}.route-line b{font:400 30px var(--number);padding:0 4px}.route-destination{display:flex;align-items:center;gap:20px}.route-destination>svg{width:60px;height:60px}.route-destination>div{font:28px var(--roman);letter-spacing:.12em}.route-destination small{display:block;font:14px var(--sans);letter-spacing:.03em;margin-top:8px}.invitation{position:relative;isolation:isolate;text-align:center;padding:96px 0 88px;background:#071511;overflow:hidden}.invitation:before{content:"";position:absolute;inset:0;z-index:-2;background:url('yomosora-night-desktop.webp') left top /200% auto;opacity:.28}.invitation:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#081813 0%,#08181300 45%,#08181350)}.invitation-mark{width:76px;height:76px;color:#c9d8c0;margin-bottom:28px}.invitation .eyebrow{font-size:11px;color:#c5d5bc}.invitation h2{font-size:49px;line-height:1.75;letter-spacing:.08em;margin:21px 0 24px}.invitation-inner>p:not(.eyebrow):not(.note){font-size:16px;line-height:2.1}.invitation .button{max-width:380px;margin:34px auto 16px;text-align:left}.invitation-tel{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:12px;font-size:14px;line-height:1.8;padding:16px 0;margin-top:10px;color:#c2cfba}.invitation-tel span{font:18px/1.5 var(--number);letter-spacing:.015em}.site-footer{background:var(--night);padding:28px 0 36px}.footer-wordmark{display:block;width:max-content;max-width:100%;margin:0 auto 30px;font:300 clamp(60px,13.2vw,190px)/1.25 var(--roman);letter-spacing:.05em;color:#cfdbbf}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:25px;font-size:12px;color:#b3c2ad}.footer-bottom a{padding-block:9px}.mobile-cta{display:none}
@media(max-width:1200px){.wrap{width:calc(100% - 88px)}.site-header{gap:24px}.desktop-nav{gap:20px}.brand-type{font-size:26px}.brand-icon{width:43px;height:43px}.arrival-inner{gap:24px}.arrival-offer{padding-inline:22px}.arrival-offer strong{font-size:44px}.arrival-intro h2{font-size:22px}.concept-layout{column-gap:7%}.desktop-only{display:none}.menu-photo{height:650px}.signature-menu{gap:6%}.set-row{display:block}.set-row>p{margin-top:4px}.comfort-strip>div{gap:12px}.comfort-strip>div+div{padding-left:20px}.comfort-strip strong{font-size:18px}}
@media(max-width:1100px){.desktop-nav{display:none}.header-cta{margin-left:auto}.mobile-menu{display:block;position:relative}.mobile-menu>summary{list-style:none;cursor:pointer;width:44px;height:44px;padding:10px 6px;position:relative;display:flex;flex-direction:column;justify-content:center;gap:8px}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>summary>span:not(.sr-only){width:28px;height:1px;background:currentColor;transition:transform .2s}.mobile-menu[open]>summary>span:first-child{transform:translateY(4.5px) rotate(45deg)}.mobile-menu[open]>summary>span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}.mobile-menu nav{position:fixed;top:86px;right:0;width:420px;max-width:100vw;max-height:calc(100dvh - 86px);overflow:auto;background:#10271f;padding:34px 36px;box-shadow:0 20px 35px #0004;border:1px solid var(--line);overscroll-behavior:contain}.site-header:not(.is-scrolled) .mobile-menu nav{top:112px;max-height:calc(100dvh - 112px)}.mobile-menu nav>a{display:flex;justify-content:space-between;font:20px/1.9 var(--serif);padding:13px 0;border-bottom:1px solid var(--line)}.mobile-menu nav>a>span{font:15px var(--number);color:#a9bda0}.menu-overline{display:block;color:#c8d9bd;margin-bottom:15px;font-size:10px}.mobile-menu nav>a.menu-line{font:14px/1.8 var(--sans);margin-top:20px;padding:17px 14px;display:block;background:var(--sage);color:var(--night)}.mobile-menu nav>p{font-size:14px;color:#becbb6;margin-top:22px}.arrival-inner{grid-template-columns:1fr 1fr;gap:20px 35px}.arrival-intro{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.arrival-intro h2{order:-1;margin:0}.arrival-offer{border-left:0;padding-left:0;display:flex;align-items:baseline;gap:13px}.arrival-offer b{padding-left:6px}.arrival-offer .offer-arrow{display:none}.concept{padding-top:95px}.signature-details h3{font-size:30px}.main-price{font-size:66px}.headspa-menu{gap:5%}.space-grid{gap:30px}.care-bottom,.faq-grid{gap:6%}.access-grid{gap:7%}}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}h2{font-size:35px}.hero-stage{min-height:760px}.hero-content{padding-top:225px}.hero h1{font-size:52px}.hero-subline{font-size:17px}.hero-kicker{font-size:13px}.hero-image{object-position:67% center}.hero-shade{background:linear-gradient(90deg,#06170b4f,transparent 80%),linear-gradient(0deg,#06140c9c,transparent 25%)}.concept-layout{gap:5%}.concept-copy h2{font-size:33px}.concept-copy .lead{font-size:19px}.photo-word{font-size:40px;left:20px}.botanical-photo:before{inset:-20px -16px 50px 23px}.comfort-strip{gap:20px;margin-top:65px}.comfort-strip>div,.comfort-strip>div+div{padding:0;border:0;display:block}.feature-symbol{display:block;margin-bottom:10px}.comfort-strip strong{font-size:17px}.section-heading{gap:35px;margin-bottom:48px}.section-heading>p{font-size:14px}.signature-menu{grid-template-columns:1fr 1fr;gap:5%}.menu-photo{height:620px}.signature-details h3{font-size:27px}.signature-details>.eyebrow{font-size:10px}.menu-description{font-size:14px}.main-price{font-size:74px}.main-price>span{font-size:34px}.regular-price{flex-wrap:wrap;gap:5px}.signature-details .button{font-size:14px;padding-inline:15px}.included-list{gap:7px 12px}.headspa-copy h3{font-size:28px}.menu-notes{display:block}.menu-notes .text-link{margin-top:17px}.space-pair{height:560px;gap:7px}.space-welcome>img,.space-dresser>img{height:205px}.space-grid figcaption>strong{font-size:18px}.ritual-layout{gap:6%}.ritual-steps h3{font-size:21px}.ritual-steps li{gap:20px}.ritual-flourish{font-size:27px}.faq-grid{grid-template-columns:1fr;gap:40px}.faq-heading .body-copy,.faq-heading .text-link{margin-top:15px}.care-bottom{grid-template-columns:1fr;gap:24px}.access-grid{gap:6%}.access-heading h2{font-size:31px}.access-info h3{font-size:22px}.access-info dl>div{grid-template-columns:68px 1fr;gap:15px}.access-info dd{font-size:15px}.access-info .button{font-size:14px;padding-inline:17px}.route-station{font-size:22px}}
@media(max-width:700px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 44px)}.site-header,.site-header.is-scrolled{height:84px;padding:0 20px;gap:12px}.brand{gap:8px}.brand-icon{width:36px;height:36px}.brand-type{font-size:25px;letter-spacing:.08em}.brand-type small{font-size:9px;letter-spacing:.09em;margin-top:4px}.header-cta{display:none}.mobile-menu{margin-left:auto}.mobile-menu nav,.site-header:not(.is-scrolled) .mobile-menu nav{top:84px;max-height:calc(100dvh - 84px);width:100%;padding:27px 25px}.mobile-menu nav>a{font-size:18px;padding:10px 0}.mobile-menu nav>p{margin-top:16px}.hero-stage{height:100svh;min-height:780px;max-height:1040px}.hero-image{object-position:60% 50%}.hero-shade{background:linear-gradient(180deg,#07140f16 0%,#07140f00 45%,#07140f00 76%,#07140f88 100%)}.hero-content{padding-top:139px}.hero-kicker{font-size:12px;letter-spacing:.09em;gap:8px;margin-bottom:22px}.hero h1{font-size:clamp(42px,11.9vw,60px);line-height:1.57;letter-spacing:.04em}.hero-subline{font-size:15px;letter-spacing:.08em;margin-top:17px}.hero-discover{font-size:13px;gap:34px;margin-top:18px;min-height:43px;padding:5px 0}.hero-bottom{bottom:15px;font-size:8px;letter-spacing:.14em;justify-content:flex-start}.hero-bottom p span{padding:0 9px}.hero-bottom a{display:none}.arrival-inner{padding-block:25px 27px;grid-template-columns:1fr;gap:24px}.arrival-intro{display:block}.arrival-intro h2{font-size:23px;margin:8px 0}.arrival-intro .eyebrow{font-size:10px}.arrival-intro>p:last-child{font-size:14px}.arrival-offer{border:0;border-block:1px solid var(--line);padding:19px 0;gap:8px;justify-content:flex-start}.arrival-offer>span:first-child{font-size:14px;margin-right:auto}.arrival-offer>span:first-child b{display:block;padding:0;font:20px/1.6 var(--sans)}.arrival-offer strong{font-size:48px}.arrival-action .button{font-size:15px;min-height:66px}.arrival-action .note{font-size:14px;text-align:center}.visual-note{font-size:14px;line-height:1.85;padding-block:18px 22px}h2{font-size:32px;line-height:1.8;letter-spacing:.035em}.section-label{font-size:10px;letter-spacing:.11em;gap:12px;margin-bottom:23px}.section-label>span{font-size:16px}.section-label:after{width:27px}.concept{padding:76px 0 45px}.concept-layout{display:flex;flex-direction:column;gap:0;align-items:stretch}.concept-copy h2{font-size:34px;margin-bottom:24px}.concept-copy .lead{font-size:21px;margin-bottom:22px}.concept-copy .body-copy{font-size:16px;line-height:2.1}.concept-copy .text-link{margin-top:25px;font-size:14px}.botanical-photo{margin:63px 14px 0 0}.botanical-photo:before{inset:-20px -14px 47px 25px}.botanical-photo>img{aspect-ratio:1.02;object-position:50% 70%}.photo-word{font-size:43px;bottom:73px;left:25px}.botanical-photo figcaption{font-size:14px;padding-top:13px}.comfort-strip{display:block;margin-top:33px;padding-top:0;border:0}.comfort-strip>div,.comfort-strip>div+div{display:flex;gap:19px;border-top:1px solid #c2ccb9;padding:21px 0}.feature-symbol{font-size:25px;margin:0}.comfort-strip strong{font-size:19px}.comfort-strip p>span{font-size:14px;margin-top:5px}.menu-section{padding:71px 0 61px}.section-heading{display:block;margin-bottom:33px}.section-heading>p{font-size:15px;margin-top:23px;line-height:2}.signature-menu{display:flex;flex-direction:column;gap:0}.menu-photo{width:100%;height:440px}.menu-photo>img{object-position:50% 71%}.time-sign{top:22px;left:26px;font-size:17px}.time-sign b{font-size:94px}.time-sign i{font-size:26px}.menu-photo figcaption{left:13px;bottom:14px;font-size:14px}.signature-details{width:100%;padding:32px 0 0}.signature-details>.eyebrow{font-size:10px;margin-bottom:12px}.signature-details h3{font-size:29px;margin-bottom:15px}.menu-description{font-size:15px;line-height:2}.signature-offer{margin-top:26px}.main-price{font-size:72px}.main-price>span{font-size:38px}.regular-price{flex-wrap:nowrap;padding:20px 0}.regular-price>span{font-size:15px}.regular-price strong{font-size:31px}.regular-price small{font-size:14px}.included-list{gap:8px 17px;margin:22px 0}.signature-details .button{font-size:15px;padding-inline:23px}.headspa-menu{display:block;margin-top:49px;padding-top:42px}.headspa-menu figure>img{aspect-ratio:1.6}.headspa-copy{padding-top:28px}.headspa-copy h3{font-size:clamp(23px,7.2vw,28px);margin-top:10px}.headspa-copy>p:not(.eyebrow):not(.note){font-size:15px}.set-row{display:flex;padding:20px 0;gap:13px}.set-row h4{font-size:14px;max-width:190px}.set-row>p{font-size:30px;margin:0}.set-row small{font-size:14px;display:block;text-align:right;line-height:1.3}.menu-notes{margin-top:25px}.menu-notes .note{font-size:14px;line-height:1.95}.salon-section{padding:75px 0 63px}.space-grid{grid-template-columns:1fr;gap:36px}.space-main{grid-row:auto}.space-pair{height:420px;gap:8px}.space-grid figcaption{padding-top:17px}.space-grid figcaption>span{font-size:10px;margin-bottom:8px}.space-grid figcaption>strong{font-size:21px}.space-welcome>img{height:auto;aspect-ratio:1.5}.space-dresser>img{height:270px;object-position:50% 32%}.gallery-note{font-size:14px;margin-top:30px;padding-top:21px}.ritual-section{padding:0 0 67px}.ritual-layout{display:block;padding-top:57px}.ritual-layout h2{font-size:32px}.ritual-layout .body-copy{font-size:15px;margin-top:21px}.ritual-flourish{display:none}.ritual-steps{margin-top:36px}.ritual-steps li{padding:24px 0;gap:22px}.ritual-steps li:first-child{padding-top:21px;border-top:1px solid #c4cdbd}.ritual-steps h3{font-size:21px}.ritual-steps p{font-size:15px}.care-section{padding:70px 0 50px}.faq-grid{gap:31px;scroll-margin-top:100px}.faq-heading h2{font-size:32px}.faq-heading .body-copy{font-size:15px}.faq-heading .text-link{font-size:14px}.faq-list summary{font-size:15px;padding:22px 0;gap:15px}.faq-list details>div{font-size:15px;padding-right:8px;line-height:2}.care-bottom{margin-top:50px;padding-top:29px;gap:23px}.care-bottom h3{font-size:23px}.safety-details{padding-inline:16px}.safety-details summary{font-size:14px}.access-section{padding:70px 0}.access-grid{grid-template-columns:1fr;gap:47px}.access-heading h2{font-size:32px}.access-heading>.body-copy{font-size:15px;margin-top:20px}.route-card{margin-top:27px;max-width:none}.route-station{font-size:24px;gap:10px 20px}.route-destination small{font-size:14px}.access-info{padding-top:25px}.access-info h3{font-size:24px}.access-info dl>div{grid-template-columns:68px 1fr;gap:16px;padding:20px 0}.access-info dd{font-size:16px}.access-info .button{font-size:14px;min-height:63px;padding-inline:19px}.invitation{padding:70px 0 55px}.invitation:before{background-size:auto 100%;opacity:.22}.invitation-mark{width:64px;height:64px;margin-bottom:22px}.invitation h2{font-size:37px;margin:19px 0 23px}.invitation .eyebrow{font-size:10px}.invitation-inner>p:not(.eyebrow):not(.note){font-size:15px;line-height:2}.invitation .button{margin-top:29px;font-size:15px;padding-inline:23px}.invitation-tel{display:flex;gap:3px;flex-direction:column;font-size:14px}.invitation-tel span{font-size:20px}.site-footer{padding:16px 0 115px}.footer-wordmark{font-size:15.4vw;margin-bottom:28px;letter-spacing:.035em;line-height:1.2}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:11px;padding-top:22px}.footer-bottom p:first-child{grid-column:1/-1;font-size:12px}.footer-bottom a{justify-self:end}.mobile-cta{position:fixed;z-index:18;bottom:0;left:0;right:0;display:grid;grid-template-columns:40% 60%;border-top:1px solid #a1b692;background:#10271f;padding-bottom:env(safe-area-inset-bottom);transform:translateY(110%);opacity:0;visibility:hidden;transition:transform .25s,opacity .25s,visibility .25s;box-shadow:0 -5px 20px #0002}.mobile-cta.is-visible{transform:translateY(0);opacity:1;visibility:visible}.mobile-cta>a{min-height:73px;display:flex;align-items:center;justify-content:center;gap:5px 16px;line-height:1.4}.mobile-cta>a:first-child{flex-direction:column;font-size:11px;color:var(--cream);gap:0}.mobile-cta strong{font:400 26px/1.2 var(--number);letter-spacing:-.015em}.mobile-cta strong small{font:11px var(--sans);margin-left:4px}.mobile-cta>a:last-child{background:#d3dfc9;color:#193528;font-size:16px;font-weight:500}.mobile-cta>a:last-child small{display:block;font-size:11px;font-weight:400;margin-top:3px}.mobile-cta>a:last-child>span:last-child{font-size:24px}}
@media(max-width:370px){.wrap{width:calc(100% - 36px)}.site-header,.site-header.is-scrolled{padding-inline:16px}.brand-type{font-size:22px}.brand-icon{width:32px;height:32px}.brand-type small{font-size:8px}.hero-stage{min-height:745px}.hero-content{padding-top:135px}.hero h1{font-size:39px;letter-spacing:.015em}.hero-kicker{font-size:11px;letter-spacing:.025em}.hero-subline{font-size:13px;letter-spacing:.025em}.hero-discover{font-size:12px;margin-top:17px}.hero-bottom{font-size:7px}.arrival-action .button{font-size:14px;padding-inline:16px}.concept-copy h2{font-size:29px}.concept-copy .lead{font-size:20px}.section-label{font-size:9px}.section-label:after{width:19px}.menu-photo{height:405px}.main-price{font-size:82px}.set-row>p{font-size:27px}.set-row h4{max-width:170px}.regular-price>span{font-size:14px}.regular-price strong{font-size:28px}.included-list{gap:7px 12px}.space-pair{height:355px}.access-heading h2{font-size:30px}.access-info h3{font-size:22px}.access-info dd{font-size:15px}.access-info .button{font-size:14px;padding-inline:13px}.invitation .button{font-size:14px;padding-inline:18px}.invitation h2{font-size:34px}}
/* 数字は字高が揃う標準書体。和文見出し・ブランドの書体は維持する。 */
.numeral{font-family:var(--number);font-style:normal;font-variant-numeric:lining-nums tabular-nums}
/* 縦構図では補助リンクを顔に重ねず、画像直下の案内へつなぐ。 */
@media(max-width:700px){.hero-discover{display:none}.mobile-cta>a{min-height:82px}.mobile-cta>a:first-child,.mobile-cta strong small,.mobile-cta>a:last-child small{font-size:14px}.mobile-cta>a:last-child{font-size:15px}.site-footer{padding-bottom:125px}.footer-wordmark{font-size:14.2vw}}
/* 体験写真と、初めての来店を案内する4つの場面。 */
.botanical-treatment:before{inset:-22px -20px 140px 28px}.botanical-treatment>img{aspect-ratio:4/5;object-position:center}.botanical-treatment figcaption{padding-top:19px}.botanical-treatment figcaption strong{display:block;font:400 21px/1.8 var(--serif);color:var(--forest)}.botanical-treatment figcaption>span{display:block;margin-top:7px;font-size:15px;line-height:1.9}.botanical-treatment figcaption small{display:block;font-size:14px;line-height:1.85;margin-top:12px;color:#5d6b5a}
.visit-layout{border-top:1px solid #c3cdbc;padding-top:76px}.visit-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.visit-heading h2{font-size:clamp(32px,3.3vw,47px)}.visit-intro{padding-bottom:6px;min-width:300px}.visit-intro>p{font-size:16px;line-height:2.15;color:#52644f}.visit-duration{display:flex;gap:22px;align-items:baseline;border-top:1px solid #c3cdbc;padding-top:16px;margin-top:24px;font-size:14px;color:#52644f}.visit-duration strong{font:400 22px/1.5 var(--sans);color:#223b30}.visit-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.visit-steps>li{min-width:0}.visit-art{background:#e8e9df;aspect-ratio:4/3;overflow:hidden;border-radius:48% 48% 0 0}.visit-art img{width:100%;height:100%;object-fit:contain}.visit-copy{padding:24px 0 0}.visit-number{display:flex;align-items:center;gap:12px;font:400 25px/1.2 var(--number);color:#61765c}.visit-number>span{font:10px/1.5 var(--sans);letter-spacing:.09em}.visit-copy h3{font:400 clamp(18px,1.6vw,23px)/1.8 var(--serif);color:#223b30;margin-top:15px;letter-spacing:0}.visit-copy p{font-size:15px;line-height:1.9;color:#52644f;margin-top:10px}.visit-note{font-size:14px;line-height:1.9;color:#5d6b5a;border-top:1px solid #c3cdbc;padding-top:22px;margin-top:36px}
@media(max-width:1000px) and (min-width:561px){.visit-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}.visit-art{max-width:320px;margin:auto}.visit-copy h3{font-size:23px}.visit-heading{align-items:center;gap:32px}.visit-intro{min-width:0;max-width:300px}.visit-duration{gap:10px;flex-wrap:wrap}.visit-copy{padding-top:20px}}
@media(max-width:700px){.botanical-treatment{margin-top:49px;margin-right:12px}.botanical-treatment:before{inset:-16px -12px 155px 24px}.botanical-treatment>img{aspect-ratio:4/5;object-position:center}.botanical-treatment figcaption strong{font-size:20px}.botanical-treatment figcaption>span{font-size:15px}.visit-layout{padding-top:53px}.visit-heading{display:block;margin-bottom:31px}.visit-heading h2{font-size:32px}.visit-intro{margin-top:22px;min-width:0;max-width:none}.visit-intro>p{font-size:15px;line-height:2}.visit-duration{justify-content:space-between;margin-top:21px;padding-top:16px}.visit-duration strong{font-size:23px}.visit-note{margin-top:24px;padding-top:19px}.visit-steps{gap:30px 22px}}
@media(max-width:560px){.visit-steps{display:block}.visit-steps>li{display:grid;grid-template-columns:42% minmax(0,1fr);gap:17px;align-items:center;padding:26px 0;border-top:1px solid #c3cdbc}.visit-steps>li:first-child{padding-top:0;border:0}.visit-art{aspect-ratio:1/1.12;border-radius:48% 48% 2px 2px}.visit-art img{height:auto;min-height:100%;object-fit:contain;transform:scale(1.1)}.visit-copy{padding:0}.visit-number{font-size:25px;gap:8px}.visit-number>span{font-size:9px;letter-spacing:.025em}.visit-copy h3{font-size:19px;line-height:1.65;margin-top:11px}.visit-copy p{font-size:15px;line-height:1.9;margin-top:9px}.visit-note{margin-top:4px}}
@media(max-width:370px){.visit-steps>li{grid-template-columns:40% minmax(0,1fr);gap:12px}.visit-copy h3{font-size:18px}.visit-copy p{font-size:14px}.visit-number>span{font-size:8px}.botanical-treatment figcaption strong{font-size:18px}}
/* 枠は写真と同じ比率に固定し、長くなる注釈へ線を重ねない。 */
.botanical-treatment:before{inset:-22px auto auto 20px;width:100%;height:auto;aspect-ratio:4/5}
@media(max-width:700px){.botanical-treatment:before{inset:-16px auto auto 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* 写真・人物・木々は固定。透明PNGの湯気だけを合成し、JSなしでも自動再生する。 */
.hero-stage .hero-steam {
  position: absolute;
  inset: 42% 0 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  contain: paint;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 30%), linear-gradient(to right, transparent 20%, #000 53%, #000 90%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 30%), linear-gradient(to right, transparent 20%, #000 53%, #000 90%, transparent);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
.hero-stage .steam-wisp {
  --steam-duration: 4.2s;
  --steam-delay: -1.5s;
  position: absolute;
  left: 16%;
  bottom: -23%;
  width: 44%;
  height: 108%;
  /* 2026-09-24 表示速度対応: 同じ湯気のPNG（78KB）を透明を保ったWebP（30KB・表示は画素単位で同一）に置き換え。 */
  background: url('steam-wisp-soft-20260924.webp') center / 100% 100% no-repeat;
  opacity: .8;
  transform-origin: 50% 88%;
  animation: yomosora-steam-rise var(--steam-duration) linear var(--steam-delay) infinite;
  animation-play-state: running;
  will-change: transform, opacity;
}
.hero-stage .steam-wisp:nth-child(2) {
  --steam-duration: 4.8s;
  --steam-delay: -3.1s;
  left: 43%;
  bottom: -30%;
  width: 42%;
  height: 118%;
}
.hero-stage .steam-wisp:nth-child(3) {
  --steam-duration: 3.6s;
  --steam-delay: -.8s;
  left: 3%;
  bottom: -17%;
  width: 37%;
  height: 100%;
}
@keyframes yomosora-steam-rise {
  0% { transform: translate3d(-3%, 19%, 0) scale(.86, .94); opacity: 0; }
  12% { opacity: .65; }
  38% { opacity: .8; }
  66% { opacity: .64; }
  100% { transform: translate3d(7%, -71%, 0) scale(1.12, 1.09); opacity: 0; }
}
/* ごく少数の星の明暗だけを変え、背景自体は動かさない。 */
.hero-stage .sky-spark {
  position: absolute;
  z-index: 1;
  top: 19%;
  left: 38%;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #f6f8f0;
  box-shadow: 0 0 5px 1px #d6e5de66;
  opacity: .5;
  pointer-events: none;
  animation: yomosora-star-breathe 4.8s ease-in-out -1.4s infinite;
  animation-play-state: running;
}
.hero-stage .sky-spark:nth-of-type(2) { top: 12%; left: 56%; animation-delay: -3.6s; }
.hero-stage .sky-spark:nth-of-type(3) { top: 31%; left: 64%; animation-delay: -2.2s; }
.hero-stage .sky-spark:nth-of-type(4) { top: 25%; left: 24%; animation-delay: -.5s; }
.hero-stage .sky-spark:nth-of-type(5) { top: 8%; left: 76%; animation-delay: -4.1s; }
.hero-stage .sky-spark:nth-of-type(6) { top: 38%; left: 47%; animation-delay: -2.8s; }
@keyframes yomosora-star-breathe {
  0%, 100% { opacity: .18; }
  50% { opacity: .83; }
}
@media (max-width: 760px) {
  .hero-stage .hero-steam {
    /* 780px等の最小高さに引きずられず、最初の画面内に湯気を収める。 */
    top: 50%;
    top: min(50%, 50vh);
    top: max(370px, min(50%, 50svh));
    bottom: auto;
    height: 50%;
    height: min(50%, 50vh);
    height: max(180px, min(50%, calc(100svh - 370px)));
    /* 顔の横方向保護と上端のフェードを交差。短い画面でもコピー直下は透明に。 */
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 39%, transparent 72%), linear-gradient(to bottom, transparent 0%, transparent 6%, #000 25%);
    mask-image: linear-gradient(to right, #000 0%, #000 39%, transparent 72%), linear-gradient(to bottom, transparent 0%, transparent 6%, #000 25%);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
  }
  .hero-stage .steam-wisp {
    --steam-duration: 3.8s;
    --steam-delay: -1.4s;
    left: -26%;
    bottom: -22%;
    width: 80%;
    height: 113%;
  }
  .hero-stage .steam-wisp:nth-child(2) {
    --steam-duration: 4.6s;
    --steam-delay: -3.2s;
    left: 0%;
    bottom: -29%;
    width: 81%;
    height: 126%;
  }
  .hero-stage .steam-wisp:nth-child(3) {
    --steam-duration: 3.3s;
    --steam-delay: -.6s;
    left: -9%;
    bottom: -16%;
    width: 65%;
    height: 105%;
  }
  .hero-stage .sky-spark { width: 1.5px; height: 1.5px; }
}
/* 横幅の広い縦型表示では、見出しの行高に合わせて保護範囲を広げる。 */
@media (min-width: 501px) and (max-width: 760px) {
  .hero-stage .hero-steam {
    top: max(420px, min(50%, 50svh));
    height: max(180px, min(50%, calc(100svh - 420px)));
  }
}
/* 自動再生のご要望を保ち、省動作設定では移動量・速度・濃淡差を抑える。 */
@media (prefers-reduced-motion: reduce) {
  .hero-stage .steam-wisp {
    animation-name: yomosora-steam-gentle;
    animation-duration: 6.4s;
  }
  .hero-stage .steam-wisp:nth-child(2) { animation-duration: 7.2s; }
  .hero-stage .steam-wisp:nth-child(3) { animation-duration: 5.8s; }
  .hero-stage .sky-spark { animation: none; opacity: .4; }
}
@keyframes yomosora-steam-gentle {
  0% { transform: translate3d(-1%, -7%, 0) scale(.98); opacity: 0; }
  20% { opacity: .38; }
  45% { opacity: .6; }
  75% { opacity: .4; }
  100% { transform: translate3d(2%, -38%, 0) scale(1.04); opacity: 0; }
}
/* 明示的な画面外・非表示状態だけ休止する。JS初期化の完了を再生条件にしない。 */
.hero-stage[data-motion-state="paused"] .steam-wisp,
.hero-stage .hero-steam[data-motion-state="paused"] .steam-wisp,
.hero-stage[data-motion-state="paused"] .sky-spark {
  animation-play-state: paused;
  will-change: auto;
}

/* 写真を先に表示し、実フレームが進んだ映像へ静かに切り替える。 */
.hero-film{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;pointer-events:none;transition:opacity .8s ease;background:transparent}
.hero-stage[data-film-state="playing"] .hero-film{opacity:1}
.hero-stage .hero-steam{transition:opacity .65s ease}
.hero-stage[data-film-state="playing"] .hero-steam{opacity:0}
.hero-stage[data-film-state="playing"] .steam-wisp{animation-play-state:paused;will-change:auto}
.hero-content{animation:yomosora-cinema-title 1.2s ease-out both}
@keyframes yomosora-cinema-title{from{opacity:.78;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.hero-film{object-position:67% center}}
@media(max-width:700px){.hero-film{object-position:60% 50%}}
@media(prefers-reduced-motion:reduce){.hero-film{display:none}.hero-content{animation:none}.hero-stage .hero-steam{transition:none}}

/* ブランドの文字は専用アウトライン。小さな画面でも字形が変わらない。 */
.brand{gap:13px}
.site-header:not(.is-scrolled){border-bottom-color:transparent}
.brand-icon{width:40px;height:40px;flex-shrink:0}
.brand-type{display:flex;flex-direction:column;gap:7px;line-height:1}
.brand-wordmark{display:block;width:208px;height:auto;overflow:visible}
.brand-type small{margin:0;font-size:10px;letter-spacing:.17em}
.footer-wordmark{display:block;line-height:1}
.footer-wordmark svg{display:block;width:100%;height:auto}
.route-destination .route-wordmark{display:block;width:188px;height:auto;margin:0 0 10px}
.invitation-mark{width:60px;height:60px}
/* 星は映像に焼き込み済み。通信・自動再生が制限された場合にだけ軽量な光を重ねる。 */
.hero-stage[data-film-state="playing"] .hero-stars{opacity:0}
.hero-stars{transition:opacity .8s ease}
/* 通常の過ごし方と任意オプションを分けて、誤解なく選べる順路に。 */
.visit-benefit{display:inline-flex;align-items:center;min-height:32px;padding:5px 11px;margin:1px 0 12px;border:1px solid #bcc9b8;border-radius:3px;color:#304e3c;background:#e7ece2;font-family:var(--sans);font-size:14px;line-height:1.5;font-weight:500;letter-spacing:.04em}
.visit-steps>.visit-optional{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);align-items:center;gap:38px;margin-top:20px;padding:22px 40px;border:1px solid #cad3c3;background:#e9ede3}
.visit-optional .visit-art{max-width:320px;width:100%;margin:0 auto;aspect-ratio:4/3;background:transparent}
.visit-optional .visit-copy{padding:0}
.visit-optional .visit-copy h3{font-size:clamp(23px,2.1vw,29px);margin-bottom:15px}
.visit-benefit-optional{background:transparent;border-color:#b2c1ad;color:#355440}
.visit-option-link{margin-top:16px;font-size:14px;gap:18px}
.visit-copy .visit-option-note{font-size:14px;line-height:1.8;color:#5b6b5a;margin-top:12px}
.visit-copy p{text-wrap:pretty}
@media(max-width:1000px){.visit-steps>.visit-optional{padding:24px;gap:24px;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr)}}
@media(max-width:700px){.brand{gap:9px}.brand-icon{width:32px;height:32px}.brand-wordmark{width:166px}.brand-type{gap:5px}.brand-type small{font-size:9px;letter-spacing:.13em}.hero-shade{background:linear-gradient(180deg,rgba(3,16,13,.16) 0%,rgba(3,16,13,.08) 16%,rgba(3,16,13,.26) 35%,transparent 56%,rgba(3,16,13,.1) 78%,rgba(3,16,13,.44) 100%)}.visit-optional .visit-copy h3{font-size:23px}}
@media(max-width:560px){.visit-benefit{font-size:13px;min-height:29px;padding:4px 8px;margin-bottom:10px;letter-spacing:0}.visit-steps>.visit-optional{grid-template-columns:1fr;gap:14px;margin-top:10px;padding:22px 22px 25px}.visit-optional .visit-art{max-width:280px;aspect-ratio:4/3;border-radius:0}.visit-optional .visit-copy{padding:0}.visit-optional .visit-copy h3{font-size:21px;line-height:1.65;margin-bottom:12px}.visit-option-link{font-size:14px;line-height:1.8;gap:12px}.visit-copy .visit-option-note{font-size:14px}}
@media(max-width:370px){.brand-wordmark{width:149px}.brand-icon{width:29px;height:29px}.brand-type small{font-size:8.5px}}
/* 横向きスマホで地球を上端の外へ切らない。ポスターと映像を同じ構図に揃える。 */
@media(min-width:500px) and (max-width:700px){.hero-image,.hero-film{object-position:60% 0%}}

/* 葉脈の負形を小さな画面でも読める大きさに。文字ロゴとの余白は維持。 */
.brand-icon{width:44px;height:44px}
.invitation-mark{width:76px;height:76px}
/* 05は2つの施術を独立した絵で伝える。基本コースとの区別は継続。 */
.visit-steps>.visit-optional{display:block;padding:38px;margin-top:24px;background:#e9ede3}
.option-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px}
.option-intro>div:last-child{max-width:430px}
.visit-optional .option-intro h3{font-size:clamp(24px,2.2vw,31px);margin:14px 0 0}
.option-intro .visit-benefit{margin:0 0 8px}
.option-intro p{margin:0;line-height:1.9}
.option-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.option-scenes figure{min-width:0;background:#f5f3ed;border:1px solid #c5cfbf}
.option-scenes img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.option-scenes figcaption{padding:22px 26px 20px}
.treatment-type{display:block;font:11px/1.5 var(--sans);letter-spacing:.14em;color:#62785d;margin-bottom:8px}
.option-scenes h4{font:400 25px/1.6 var(--serif);color:#223b30}
.option-scenes figcaption p{font-size:15px;line-height:1.9;color:#52644f;margin-top:10px;text-wrap:pretty}
.option-scenes .visit-option-link{margin-top:12px;font-size:14px;min-height:48px;border-bottom:1px solid #b1bfaa;gap:24px;color:#284a34}
.visit-optional>.visit-option-note{font-size:14px;line-height:1.9;color:#52644f;margin-top:22px;text-wrap:pretty}
@media(max-width:1000px){.visit-steps>.visit-optional{padding:28px}.option-intro{display:block}.option-intro>div:last-child{max-width:none;margin-top:20px}.option-scenes{gap:20px}.option-scenes figcaption{padding:20px}.option-scenes h4{font-size:23px}}
@media(max-width:700px){.brand-icon{width:38px;height:38px}.option-scenes{gap:17px}.option-scenes figcaption{padding:18px}.option-scenes .visit-option-link{gap:10px}.option-scenes h4{font-size:22px}}
@media(max-width:560px){.visit-steps>.visit-optional{padding:24px 18px;margin-top:12px}.option-intro{margin-bottom:24px}.visit-optional .option-intro h3{font-size:23px;line-height:1.7;margin-top:12px}.option-intro>div:last-child{margin-top:18px}.option-intro p{font-size:15px}.option-scenes{grid-template-columns:1fr;gap:24px}.option-scenes figcaption{padding:21px 20px 20px}.option-scenes h4{font-size:24px}.option-scenes .visit-option-link{font-size:14px;gap:18px;justify-content:space-between;display:flex}.visit-optional>.visit-option-note{font-size:14px;margin-top:20px}}
@media(max-width:370px){.brand-icon{width:33px;height:33px}.visit-steps>.visit-optional{padding:22px 14px}.option-scenes figcaption{padding:17px 16px}.option-scenes .visit-option-link{font-size:13px}.visit-optional .option-intro h3{font-size:21px}}
/* 動画が拒否された場合も、画面を動かさず光点だけに小さな独立運動を残す。 */
@media(prefers-reduced-motion:no-preference){
  .hero-stage .sky-spark{--star-x:12px;--star-y:-5px;--star-duration:7.2s;animation-name:yomosora-star-depth-fallback;animation-duration:var(--star-duration);animation-timing-function:ease-in-out;box-shadow:0 0 5px 2px #dbeaff80,0 0 12px #9fbbd36b}
  .hero-stage .sky-spark:nth-of-type(2){--star-x:-7px;--star-y:10px;--star-duration:9.1s;top:34%;left:36%}
  .hero-stage .sky-spark:nth-of-type(3){--star-x:9px;--star-y:7px;--star-duration:6.4s;top:10%;left:40%}
  .hero-stage .sky-spark:nth-of-type(4){--star-x:-11px;--star-y:-6px;--star-duration:8.3s}
  .hero-stage .sky-spark:nth-of-type(5){--star-x:5px;--star-y:9px;--star-duration:10.2s}
  .hero-stage .sky-spark:nth-of-type(6){--star-x:-8px;--star-y:4px;--star-duration:7.8s}
  .hero-stage[data-film-state="playing"] .sky-spark{animation-play-state:paused}
}
@keyframes yomosora-star-depth-fallback{0%,100%{transform:translate3d(0,0,0);opacity:.2}30%{opacity:.9}50%{transform:translate3d(var(--star-x),var(--star-y),0);opacity:.55}75%{opacity:.8}}

/* 動画の再生可否と星空の描画を分離。iPhoneでも操作なしで空が動き出す。 */
.hero-celestial{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;pointer-events:none}
.hero-stage[data-celestial-state="running"] .hero-stars,
.hero-stage[data-celestial-state="reduced"] .hero-stars{opacity:0}
/* MP4が再生中でも、湯気は独立して動かす。人物・見出しの保護マスクは維持。 */
.hero-stage[data-film-state="playing"] .hero-steam{opacity:.72}
.hero-stage[data-film-state="playing"] .steam-wisp{animation-play-state:running;will-change:transform,opacity}
.hero-stage[data-motion-state="paused"] .steam-wisp,
.hero-stage .hero-steam[data-motion-state="paused"] .steam-wisp{animation-play-state:paused;will-change:auto}
@media(prefers-reduced-motion:no-preference){
 .hero-stage .steam-wisp{--steam-duration:3.2s}
 .hero-stage .steam-wisp:nth-child(2){--steam-duration:3.8s}
 .hero-stage .steam-wisp:nth-child(3){--steam-duration:2.8s}
}
/* 01〜04と同じイラストのサイズ感・紙色に。05だけが大きな別媒体に見えない構成。 */
.option-scenes{gap:24px}
.option-scenes figure{background:#f4f3eb;border-color:#cad3c3;padding-top:10px}
.option-scenes img{max-width:340px;margin:0 auto;object-fit:contain}
.option-scenes figcaption{padding:12px 26px 22px}
.option-scenes h4{font-size:24px}
.option-scenes figcaption p{margin-top:7px}
@media(max-width:700px){
 .hero-stage[data-film-state="playing"] .hero-steam{opacity:.85}
 .option-scenes img{max-width:300px}
 .option-scenes figcaption{padding:9px 20px 20px}
 .option-scenes h4{font-size:23px}
}
@media(max-width:370px){.option-scenes figcaption{padding:8px 15px 18px}}

/* スマホは描画面が小さくても湯気の上昇が分かる速度に調整。 */
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .hero-stage .steam-wisp{--steam-duration:2.5s}
 .hero-stage .steam-wisp:nth-child(2){--steam-duration:3s}
 .hero-stage .steam-wisp:nth-child(3){--steam-duration:2.3s}
}
/* 動きを減らす設定では広い移動を抑えたまま、静かな濃淡変化を読み取れる速度へ。 */
@media(prefers-reduced-motion:reduce){
 .hero-stage .steam-wisp{animation-duration:4s}
 .hero-stage .steam-wisp:nth-child(2){animation-duration:4.6s}
 .hero-stage .steam-wisp:nth-child(3){animation-duration:3.8s}
}

/* 初期HTMLで自動再生する星。動画/Canvasの成功・失敗とは連動させない。 */
.hero-starlight{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.starlight-plane{position:absolute;inset:0;--sky-scale:.4;pointer-events:none;overflow:hidden}
.starlight-plane--landscape{clip-path:polygon(0 0,100% 0,100% 12%,89.7% 13.2%,83.1% 7.8%,68.4% 7.3%,62.7% 27%,55% 29.3%,44.6% 36%,36.2% 58.3%,34.3% 69.8%,23.5% 71%,14.3% 65.4%,0 62.3%)}
.starlight-plane--portrait{display:none;--sky-scale:.3;clip-path:polygon(0 0,100% 0,100% 27.5%,87.5% 31.5%,82.7% 41.4%,77% 44.3%,66% 44%,56.8% 44.9%,51.6% 51.2%,40.7% 54.8%,24.5% 56.7%,0 54%)}
.starlight-star{--star-motion-scale:1;--orbit-scale:calc(var(--sky-scale)*var(--star-motion-scale));position:absolute;left:var(--star-x);top:var(--star-y);display:block;width:var(--star-size,1px);height:var(--star-size,1px);border-radius:50%;background:#eff7ff;box-shadow:none;opacity:.8;animation:ym-starlight-orbit calc(var(--star-duration,18s)*var(--sky-scale)) linear var(--star-delay,-1s) infinite both}
.starlight-star--far{background:#cbddef}
.starlight-star--middle{box-shadow:0 0 2px #b6d6f242}
.starlight-star--bright{width:2.5px;height:2.5px;background:#fffdf1;box-shadow:0 0 3px 1px #eff7ff73,0 0 6px #a6caf85c}
/* 小さな光芒は設定にかかわらず表示。画面全体の明滅・移動にはしない。 */
.starlight-star--bright::before,.starlight-star--bright::after{content:"";position:absolute;left:50%;top:50%;pointer-events:none;background:linear-gradient(90deg,transparent,#eef8ff,transparent);animation:ym-starlight-glint calc(var(--star-gentle,6.3s)*.507143) ease-in-out var(--star-delay,-1s) infinite both;transform-origin:center}
.starlight-star--bright::before{width:12px;height:1px;margin-left:-6px;margin-top:-.5px}
.starlight-star--bright::after{width:1px;height:12px;margin-left:-.5px;margin-top:-6px;background:linear-gradient(0deg,transparent,#eef8ff,transparent)}
/* 32 点の楕円軌道。位置・位相は個別で、画面全体は揺らさない。 */
@keyframes ym-starlight-orbit{
  0%,100%{transform:translate3d(calc((var(--orbit-ax) * 1 + var(--orbit-bx) * 0) * var(--orbit-scale)),calc((var(--orbit-ay) * 1 + var(--orbit-by) * 0) * var(--orbit-scale)),0);opacity:var(--star-high,.9)}
  3.125%{transform:translate3d(calc((var(--orbit-ax) * 0.980785 + var(--orbit-bx) * 0.19509) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.980785 + var(--orbit-by) * 0.19509) * var(--orbit-scale)),0)}
  6.25%{transform:translate3d(calc((var(--orbit-ax) * 0.92388 + var(--orbit-bx) * 0.382683) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.92388 + var(--orbit-by) * 0.382683) * var(--orbit-scale)),0)}
  9.375%{transform:translate3d(calc((var(--orbit-ax) * 0.83147 + var(--orbit-bx) * 0.55557) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.83147 + var(--orbit-by) * 0.55557) * var(--orbit-scale)),0)}
  12.5%{transform:translate3d(calc((var(--orbit-ax) * 0.707107 + var(--orbit-bx) * 0.707107) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.707107 + var(--orbit-by) * 0.707107) * var(--orbit-scale)),0);opacity:var(--star-mid,.7)}
  15.625%{transform:translate3d(calc((var(--orbit-ax) * 0.55557 + var(--orbit-bx) * 0.83147) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.55557 + var(--orbit-by) * 0.83147) * var(--orbit-scale)),0)}
  18.75%{transform:translate3d(calc((var(--orbit-ax) * 0.382683 + var(--orbit-bx) * 0.92388) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.382683 + var(--orbit-by) * 0.92388) * var(--orbit-scale)),0)}
  21.875%{transform:translate3d(calc((var(--orbit-ax) * 0.19509 + var(--orbit-bx) * 0.980785) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.19509 + var(--orbit-by) * 0.980785) * var(--orbit-scale)),0)}
  25%{transform:translate3d(calc((var(--orbit-ax) * 0 + var(--orbit-bx) * 1) * var(--orbit-scale)),calc((var(--orbit-ay) * 0 + var(--orbit-by) * 1) * var(--orbit-scale)),0);opacity:var(--star-low,.4)}
  28.125%{transform:translate3d(calc((var(--orbit-ax) * -0.19509 + var(--orbit-bx) * 0.980785) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.19509 + var(--orbit-by) * 0.980785) * var(--orbit-scale)),0)}
  31.25%{transform:translate3d(calc((var(--orbit-ax) * -0.382683 + var(--orbit-bx) * 0.92388) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.382683 + var(--orbit-by) * 0.92388) * var(--orbit-scale)),0)}
  34.375%{transform:translate3d(calc((var(--orbit-ax) * -0.55557 + var(--orbit-bx) * 0.83147) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.55557 + var(--orbit-by) * 0.83147) * var(--orbit-scale)),0)}
  37.5%{transform:translate3d(calc((var(--orbit-ax) * -0.707107 + var(--orbit-bx) * 0.707107) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.707107 + var(--orbit-by) * 0.707107) * var(--orbit-scale)),0);opacity:var(--star-mid,.7)}
  40.625%{transform:translate3d(calc((var(--orbit-ax) * -0.83147 + var(--orbit-bx) * 0.55557) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.83147 + var(--orbit-by) * 0.55557) * var(--orbit-scale)),0)}
  43.75%{transform:translate3d(calc((var(--orbit-ax) * -0.92388 + var(--orbit-bx) * 0.382683) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.92388 + var(--orbit-by) * 0.382683) * var(--orbit-scale)),0)}
  46.875%{transform:translate3d(calc((var(--orbit-ax) * -0.980785 + var(--orbit-bx) * 0.19509) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.980785 + var(--orbit-by) * 0.19509) * var(--orbit-scale)),0)}
  50%{transform:translate3d(calc((var(--orbit-ax) * -1 + var(--orbit-bx) * 0) * var(--orbit-scale)),calc((var(--orbit-ay) * -1 + var(--orbit-by) * 0) * var(--orbit-scale)),0);opacity:var(--star-high,.9)}
  53.125%{transform:translate3d(calc((var(--orbit-ax) * -0.980785 + var(--orbit-bx) * -0.19509) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.980785 + var(--orbit-by) * -0.19509) * var(--orbit-scale)),0)}
  56.25%{transform:translate3d(calc((var(--orbit-ax) * -0.92388 + var(--orbit-bx) * -0.382683) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.92388 + var(--orbit-by) * -0.382683) * var(--orbit-scale)),0)}
  59.375%{transform:translate3d(calc((var(--orbit-ax) * -0.83147 + var(--orbit-bx) * -0.55557) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.83147 + var(--orbit-by) * -0.55557) * var(--orbit-scale)),0)}
  62.5%{transform:translate3d(calc((var(--orbit-ax) * -0.707107 + var(--orbit-bx) * -0.707107) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.707107 + var(--orbit-by) * -0.707107) * var(--orbit-scale)),0);opacity:var(--star-mid,.7)}
  65.625%{transform:translate3d(calc((var(--orbit-ax) * -0.55557 + var(--orbit-bx) * -0.83147) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.55557 + var(--orbit-by) * -0.83147) * var(--orbit-scale)),0)}
  68.75%{transform:translate3d(calc((var(--orbit-ax) * -0.382683 + var(--orbit-bx) * -0.92388) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.382683 + var(--orbit-by) * -0.92388) * var(--orbit-scale)),0)}
  71.875%{transform:translate3d(calc((var(--orbit-ax) * -0.19509 + var(--orbit-bx) * -0.980785) * var(--orbit-scale)),calc((var(--orbit-ay) * -0.19509 + var(--orbit-by) * -0.980785) * var(--orbit-scale)),0)}
  75%{transform:translate3d(calc((var(--orbit-ax) * 0 + var(--orbit-bx) * -1) * var(--orbit-scale)),calc((var(--orbit-ay) * 0 + var(--orbit-by) * -1) * var(--orbit-scale)),0);opacity:var(--star-low,.4)}
  78.125%{transform:translate3d(calc((var(--orbit-ax) * 0.19509 + var(--orbit-bx) * -0.980785) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.19509 + var(--orbit-by) * -0.980785) * var(--orbit-scale)),0)}
  81.25%{transform:translate3d(calc((var(--orbit-ax) * 0.382683 + var(--orbit-bx) * -0.92388) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.382683 + var(--orbit-by) * -0.92388) * var(--orbit-scale)),0)}
  84.375%{transform:translate3d(calc((var(--orbit-ax) * 0.55557 + var(--orbit-bx) * -0.83147) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.55557 + var(--orbit-by) * -0.83147) * var(--orbit-scale)),0)}
  87.5%{transform:translate3d(calc((var(--orbit-ax) * 0.707107 + var(--orbit-bx) * -0.707107) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.707107 + var(--orbit-by) * -0.707107) * var(--orbit-scale)),0);opacity:var(--star-mid,.7)}
  90.625%{transform:translate3d(calc((var(--orbit-ax) * 0.83147 + var(--orbit-bx) * -0.55557) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.83147 + var(--orbit-by) * -0.55557) * var(--orbit-scale)),0)}
  93.75%{transform:translate3d(calc((var(--orbit-ax) * 0.92388 + var(--orbit-bx) * -0.382683) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.92388 + var(--orbit-by) * -0.382683) * var(--orbit-scale)),0)}
  96.875%{transform:translate3d(calc((var(--orbit-ax) * 0.980785 + var(--orbit-bx) * -0.19509) * var(--orbit-scale)),calc((var(--orbit-ay) * 0.980785 + var(--orbit-by) * -0.19509) * var(--orbit-scale)),0)}
}
.hero-stage[data-motion-state="paused"] .starlight-star{animation-play-state:paused}
@media(max-width:700px){.starlight-plane--portrait{display:block}.starlight-plane--landscape{display:none}}
@media(prefers-reduced-motion:reduce){
 /* 個々の星だけ通常軌道の40%で動かす。背景・人物・地球は固定、設定変更は不要。 */
 .starlight-star{--star-motion-scale:.4;animation-duration:calc(var(--star-gentle,6.3s)*.507143);animation-timing-function:linear}
}
@keyframes ym-starlight-glint{0%,100%{transform:scale(.6);opacity:.14}50%{transform:scale(1);opacity:.86}}
.hero-stage[data-motion-state="paused"] .starlight-star--bright::before,
.hero-stage[data-motion-state="paused"] .starlight-star--bright::after{animation-play-state:paused}

/* 2026-09-24 専用ブログ（/yomosora/blog/）への導線。最新記事の一覧は site.js が取得できた時だけ作る（失敗・0件なら説明とボタンのみ）。 */
.blog-section{background:#f2f0e8;padding:76px 0 80px;border-top:1px solid #d5dccd}
.blog-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:start}
.blog-inner.has-posts{grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr);gap:8%}
.blog-intro .eyebrow{font-size:11px;color:#587052}
.blog-intro h2{font-size:30px;line-height:1.7;margin:10px 0 12px}
.blog-intro>p:not(.eyebrow){font-size:15px;color:#52694a;line-height:1.9}
.blog-nb{white-space:nowrap}
.button-ink{border-color:#223b30;background:transparent;color:#223b30}
.button-ink:hover{background:#223b30;color:var(--cream)}
.blog-intro .button{max-width:360px;margin-top:28px}
.blog-latest{list-style:none;margin:0;padding:0;border-top:1px solid #bdcbb3}
.blog-latest li{border-bottom:1px solid #bdcbb3}
.blog-latest a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 24px;align-items:baseline;padding:20px 0;min-height:48px;color:var(--ink)}
.blog-latest time{font:15px/1.6 var(--number);letter-spacing:.04em;color:#587052;white-space:nowrap}
.blog-latest span{font:16px/1.8 var(--serif);overflow-wrap:anywhere}
.blog-latest a:hover span{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.blog-inner.has-posts{grid-template-columns:minmax(0,1fr);gap:32px}}
@media(max-width:700px){.blog-section{padding:60px 0 64px}.blog-intro h2{font-size:26px}.blog-intro .button{max-width:none}.blog-latest a{grid-template-columns:minmax(0,1fr);gap:2px;padding:16px 0}.blog-latest time{font-size:14px}.blog-latest span{font-size:15px}}

/* 2026-09-24 SEO対応（調査 F3/F4/CR-03）
   1) 小見出し（.hero-kicker）を h1 の中の <small> に移した。見た目は移す前の <p class="hero-kicker"> と同じにする。
      h1 から受け継ぐ明朝体・行送り1.6・文字の影を打ち消し、移す前と同じ本文の書体（--sans・行送り1.9・影なし）に戻す。
      文字の大きさ・字間・余白・点（.kicker-dot）は rebuild-core.css の .hero-kicker の指定（画面幅ごと）をそのまま使う。
   2) .hero h1 span{display:block} が小見出しの中の点（span.kicker-dot）にも当たるため、点だけ元の inline-block に戻す
      （小見出しは flex なので表示上は同じだが、指定の意図をはっきりさせる）。
   3) アクセス欄に足した場所の説明の段落（.access-place）の余白。 */
.hero h1 .hero-kicker{font-family:var(--sans);font-weight:400;font-style:normal;line-height:1.9;text-shadow:none}
.hero h1 .hero-kicker .kicker-dot{display:inline-block}
.access-heading>.body-copy.access-place{margin-top:14px}
@media(max-width:700px){.access-heading>.body-copy.access-place{margin-top:12px}}

/* 2026-09-24 表示速度対応（PSI モバイル実測）
   ページ最下部の .invitation の背景（yomosora-night-desktop.webp 約278KB、不透明度0.22〜0.28）は、
   CSSの背景画像のため画面外でも最初に読み込まれていた。JS有効時は site.js が近づいた時に .is-bg-ready を付けてから読み込む。
   読み込み後の見た目は従来と同じ（画像・位置・大きさ・不透明度は rebuild-core.css の指定のまま）。
   JS無効時は <noscript> の style（同じセレクタで style.css より後ろ）で従来どおり背景を出す（sync-site.mjs）。
   html.js-enabled 等の JS で付けるクラスでは条件にしない（付く前の最初の描画で読み込みが始まってしまうため）。 */
.invitation:not(.is-bg-ready):before{background-image:none}

/* 2026-09-24 坂井さん承認: LP→アリエス南流山トップ（/）へのリンクを2か所だけ置く（/blog/ など他のアリエスのページへは置かない）。
   1) メニュー欄のセット説明「ヘッドスパは併設のアリエス南流山でご提供します。」の店名。
      文中のリンクは FAQ の電話番号（.faq-list details a）と同じ下線（border-bottom: currentColor）で示す。
   2) フッターの「併設：アリエス南流山（ドライヘッドスパ）」（.footer-sister）。
      .footer-bottom a の上下の余白（padding-block:9px）で border-bottom が文字から離れるため、ここだけ text-decoration の下線にする。
      スマホ（700px以下）のフッターは2列グリッドなので、店名の行（1行目）と同じく横いっぱいの1行にする。 */
.headspa-copy .note a{border-bottom:1px solid currentColor}
.footer-sister a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
@media(max-width:700px){.footer-bottom .footer-sister{grid-column:1/-1}}
