:root{
  --spm-paper:#f5efe9;
  --spm-ivory:#fbf9f6;
  --spm-ink:#171310;
  --spm-brown:#211713;
  --spm-muted:#675e57;
  --spm-line:#d7ccc2;
  --spm-copper:#a46d43;
  --spm-font:メイリオ,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Noto Sans",sans-serif;
}

body.spa-maison{background:#ddd6cf!important;color:var(--spm-ink)!important;font-family:var(--spm-font)!important;font-weight:400!important}
body.spa-maison :where(h1,h2,h3,p,a,span,button,summary,small,li){font-family:inherit}
body.spa-maison>section,body.spa-maison>footer{max-width:1440px;margin-inline:auto}
body.spa-maison h1,body.spa-maison h2,.spm-desktop-title{font-weight:400!important;font-style:oblique 4deg;letter-spacing:0!important}
body.spa-maison a,body.spa-maison button{touch-action:manipulation}

/* Hero — experience first, menu second */
.spm-hero{position:relative!important;height:calc(100svh - 56px - 58px);min-height:620px;max-height:790px;overflow:hidden;background:#160f0d!important;color:#fff;isolation:isolate}
.spm-hero>.sm\:hidden{display:block!important;height:100%}
.spm-hero>.sm\:hidden>div:first-child{position:absolute!important;inset:0;width:100%;height:100%;aspect-ratio:auto!important;background:#160f0d!important}
.spm-hero video{height:100%!important;object-fit:cover!important;object-position:center 47%!important;filter:saturate(.78) contrast(1.04) brightness(.82)}
.spm-hero>.sm\:hidden>div:first-child>div{display:none!important}
.spm-hero>.sm\:hidden>div:nth-child(2){position:absolute!important;z-index:3;left:0;right:0;bottom:0;margin:0!important;padding:150px 25px 29px!important;background:linear-gradient(180deg,transparent 0%,rgba(12,7,5,.22) 20%,rgba(12,7,5,.92) 72%,rgba(12,7,5,.98) 100%)}
.spm-hero:after{content:"";position:absolute;z-index:4;inset:12px;border:1px solid rgba(255,255,255,.25);pointer-events:none}
.spm-hero .hero-animate-d1{display:block!important}
.spm-hero .hero-animate-d1>span{display:none!important}
.spm-hero .hero-animate-d1 p{font-size:11.5px!important;letter-spacing:.22em!important;color:rgba(255,255,255,.76)!important}
.spm-hero h1{margin-top:14px!important;font-size:35px!important;line-height:1.46!important;color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.28)}
.spm-hero h1+ p{margin-top:12px!important;font-size:14px!important;line-height:1.9!important;color:rgba(255,255,255,.86)!important}
.spm-hero a[href="#booking"]{width:235px;min-height:48px;margin-top:17px!important;padding:0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.82)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important}
.spm-hero a[href="#booking"]>span:first-child{font-size:12px!important;letter-spacing:.04em}
.spm-hero a[href="#booking"]>span:last-child{width:auto!important;height:auto!important;background:transparent!important;color:#fff!important}
.spm-hero a[href="#menus"]{display:none!important}
.spm-hero .hero-animate-d4:last-child{margin-top:13px!important;justify-content:flex-start!important;font-size:11.5px!important;letter-spacing:.04em!important;color:rgba(255,255,255,.6)!important}
.spm-hero>.hidden{display:none!important}

/* Editorial rhythm */
.spm-concept{padding:84px 25px 34px!important;background:var(--spm-ivory)!important;text-align:left!important}
.spm-concept>div{padding:0!important;text-align:left!important}
.spm-concept p:first-child,.spm-hands .font-mono,.spm-menus .font-mono,.spm-people .font-mono,.spm-room .font-mono,.spm-after .font-mono,.spm-flow .font-mono,.spm-faq .font-mono,.spm-booking .font-mono{font-size:11.5px!important;letter-spacing:.2em!important;color:var(--spm-copper)!important}
.spm-concept h2,.spm-hands h2,.spm-people h2,.spm-room h2,.spm-after h2,.spm-flow h2,.spm-inbound h2,.spm-faq h2,.spm-booking h2{font-size:30px!important;line-height:1.52!important}
.spm-concept h2{margin-top:13px!important}
.spm-concept h2+p{margin-top:22px!important;font-size:14px!important;line-height:2!important;color:var(--spm-muted)!important;text-align:left!important}

.spm-fit{padding:24px 25px 82px!important;background:var(--spm-ivory)!important}
.spm-fit>div{padding:0!important}
.spm-fit>div>p{margin:0 0 17px!important;text-align:left!important;font-size:11.5px!important;letter-spacing:.18em!important;color:var(--spm-copper)!important}
.spm-fit .grid{display:block!important}
.spm-fit .grid>div{min-height:53px;padding:15px 0!important;border:0!important;border-top:1px solid var(--spm-line)!important;border-radius:0!important;background:transparent!important}
.spm-fit .grid>div:last-child{border-bottom:1px solid var(--spm-line)!important}
.spm-fit .grid span{width:auto!important;height:auto!important;margin-top:0!important;background:transparent!important;color:var(--spm-copper)!important}
.spm-fit .grid p{font-size:13px!important;line-height:1.75!important;color:var(--spm-ink)!important}

.spm-notes{padding:0 25px 82px!important;background:var(--spm-ivory)!important}
.spm-notes>div{padding:0!important}
.spm-notes>div>div,.spm-notes>a{padding:24px 0!important;border:0!important;border-top:1px solid var(--spm-line)!important;border-radius:0!important;background:transparent!important}
.spm-notes>a{border-bottom:1px solid var(--spm-line)!important}
.spm-notes [class*="rounded-full"]{border-radius:0!important;border:0!important;padding:0!important;color:var(--spm-copper)!important}

.spm-hands{padding:82px 0 90px!important;background:var(--spm-paper)!important}
.spm-hands>div{padding:0!important}
.spm-hands>div>div:first-child{padding:0 25px;text-align:left!important}
.spm-hands h2{margin-top:12px!important}
.spm-hands h2+p{text-align:left!important;font-size:14px!important;line-height:2!important;color:var(--spm-muted)!important}
.spm-hands .hscroll{gap:10px!important;padding:32px 25px 8px!important;scroll-snap-type:x mandatory}
.spm-hands figure{width:72%!important;max-width:none!important}
.spm-hands figure>div{height:430px;aspect-ratio:auto!important;border-radius:0!important}
.spm-hands figure>p{font-size:12px!important;line-height:1.8!important}
.spm-hands>div>.sm\:hidden{display:none!important}

.spm-change{background:#171210!important}
.spm-change h2{font-size:30px!important;line-height:1.5!important;color:#fff!important}

.spm-menus,.spm-after{padding:82px 0 90px!important;background:var(--spm-paper)!important}
.spm-people,.spm-room,.spm-faq{padding:82px 0 90px!important;background:var(--spm-ivory)!important}
.spm-flow,.spm-inbound{padding:82px 25px 90px!important;background:#e9dcd1!important}
.spm-menus>div,.spm-people>div,.spm-room>div,.spm-after>div,.spm-faq>div{padding-left:25px!important;padding-right:25px!important}
.spm-menus [class*="rounded"],.spm-people [class*="rounded"],.spm-room [class*="rounded"],.spm-after [class*="rounded"],.spm-flow [class*="rounded"],.spm-inbound [class*="rounded"],.spm-faq [class*="rounded"]{border-radius:0!important}
.spm-menus [class*="shadow"],.spm-people [class*="shadow"],.spm-room [class*="shadow"],.spm-after [class*="shadow"]{box-shadow:none!important}
.spm-room img,.spm-after img{filter:saturate(.8) contrast(1.02)}

.spm-faq details{border-left:0!important;border-right:0!important;background:transparent!important}
.spm-faq summary{min-height:68px;font-size:14px!important}
.spm-booking{padding:84px 25px 94px!important;background:#171210!important;color:#fff!important}
.spm-booking>div{padding:0!important}
.spm-booking h2{color:#fff!important}
.spm-booking h2+p{color:rgba(255,255,255,.68)!important}
.spm-booking a{border-radius:0!important}
.spm-area{margin:0 auto!important;padding:62px 25px 96px!important;background:var(--spm-ivory)!important}

@media(min-width:640px){
  .spm-hero{height:calc(100svh - 76px);max-height:900px}
  .spm-hero>.sm\:hidden{display:none!important}
  .spm-hero>.hidden{display:block!important;height:100%}
  .spm-hero>.hidden>div{height:100%!important;max-height:none!important}
  .spm-concept,.spm-fit,.spm-notes{padding-left:max(8vw,80px)!important;padding-right:max(8vw,80px)!important}
  .spm-hands>div>div:first-child,.spm-hands .hscroll{padding-left:max(7vw,70px)!important;padding-right:max(7vw,70px)!important}
}

@media(prefers-reduced-motion:reduce){.spm-hero *{animation:none!important}.spm-hands video{display:none!important}}

/* Final mobile-first maison composition */
body.spa-maison>section,body.spa-maison>/* 独自の .sn-footer が法務リンクを持つので 標準フッタは隠す（二重を避ける）。 隠すのは標準フッタだけで .sn-footer は残す */footer:not(.sn-footer){display:none!important}
body.spa-maison .sn-page{display:block;max-width:1440px;margin:0 auto;background:var(--spm-paper);overflow:hidden}
.sn-page *{box-sizing:border-box}.sn-page a{color:inherit;text-decoration:none}.sn-page img{display:block;width:100%}.sn-kicker{margin:0;font-size:11.5px!important;line-height:1.4!important;letter-spacing:.21em!important;color:var(--spm-copper);text-transform:uppercase}
.sn-page h1,.sn-page h2{margin:0;font-weight:400;font-style:oblique 4deg;letter-spacing:0}
.sn-hero{position:relative;height:calc(100svh - 56px - 58px);min-height:610px;max-height:790px;overflow:hidden;background:#17100d;color:#fff;isolation:isolate}
.sn-hero:after{content:"";position:absolute;z-index:4;inset:12px;border:1px solid rgba(255,255,255,.27);pointer-events:none}.sn-hero-media{position:relative;display:block;width:100%;height:100%}.sn-hero-media picture{display:block;width:100%;height:100%}.sn-hero-media img,.sn-hero-media video{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.8) contrast(1.03) brightness(.86)}.sn-hero-media img{animation:sn-arrive 1.4s cubic-bezier(.16,1,.3,1) both}.sn-hero-media video{position:absolute;inset:0;z-index:1}.sn-hero-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(9,5,3,.02) 27%,rgba(9,5,3,.12) 47%,rgba(9,5,3,.94) 100%)}
.sn-hero-copy{position:absolute;z-index:3;left:24px;right:24px;bottom:29px;text-shadow:0 2px 14px rgba(0,0,0,.26)}.sn-hero-copy .sn-kicker{color:rgba(255,255,255,.76)}.sn-hero h1{margin-top:14px;font-size:35px;line-height:1.5}.sn-hero-copy>p:nth-of-type(2){margin:12px 0 0;font-size:14px;line-height:1.9;color:rgba(255,255,255,.88)}.sn-hero-copy>a,.sn-footer>a{display:flex;width:235px;min-height:48px;margin-top:18px;border-bottom:1px solid currentColor;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.04em}.sn-scroll{position:absolute;z-index:5;right:19px;bottom:30px;padding-left:31px;font-size:11.5px;letter-spacing:.2em;transform:rotate(90deg);transform-origin:right bottom;color:rgba(255,255,255,.62)}.sn-scroll:before{content:"";position:absolute;left:0;top:50%;width:23px;height:1px;background:currentColor}
@keyframes sn-arrive{from{opacity:.7;transform:scale(1.055)}to{opacity:1;transform:scale(1.01)}}
.sn-proof{display:grid;grid-template-columns:repeat(3,1fr);min-height:106px;background:#171210;color:#fff}.sn-proof p{display:flex;margin:0;padding:19px 8px;align-items:center;justify-content:center;gap:7px;border-right:1px solid rgba(255,255,255,.14)}.sn-proof p:last-child{border:0}.sn-proof b{font-family:"Instrument Serif",Georgia,serif;font-size:27px;font-weight:400;color:#cf9f74}.sn-proof span{font-size:11.5px;line-height:1.55;letter-spacing:.13em;color:rgba(255,255,255,.6)}
.sn-intro{padding:82px 25px 88px;background:var(--spm-ivory)}.sn-intro h2,.sn-hands h2,.sn-after h2,.sn-rituals h2,.sn-booking h2,.sn-faq h2,.sn-footer h2{margin-top:13px;font-size:30px;line-height:1.55}.sn-intro>p:last-child,.sn-after-copy>p:last-child,.sn-rituals header>p:last-child,.sn-booking>p:nth-of-type(2){margin:23px 0 0;font-size:14px;line-height:2;color:var(--spm-muted)}
.sn-hands{padding:82px 0 88px;background:var(--spm-paper)}.sn-hands>header,.sn-rituals>header{padding:0 25px}.sn-slider{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:25px;padding:34px 25px 8px;scrollbar-width:none}.sn-slider::-webkit-scrollbar{display:none}.sn-slider figure{position:relative;flex:0 0 74%;height:430px;margin:0;overflow:hidden;scroll-snap-align:start;background:#211713}.sn-slider img{height:100%;object-fit:cover;filter:saturate(.78)}.sn-slider figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,6,4,.78),transparent 56%)}.sn-slider figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;color:#fff}.sn-slider small,.sn-slider b{display:block;font-weight:400}.sn-slider small{font-size:11.5px;letter-spacing:.18em;color:rgba(255,255,255,.66)}.sn-slider b{margin-top:7px;font-size:17px}
.sn-after{background:#211713;color:#fff}.sn-after>picture{display:block;height:58svh;min-height:430px;overflow:hidden}.sn-after>picture img{height:100%;object-fit:cover;filter:saturate(.72);transform:scale(1.01)}.sn-after-copy{padding:48px 25px 82px}.sn-after-copy .sn-kicker{color:#c99a70}.sn-after-copy>p:last-child{color:rgba(255,255,255,.72)}
.sn-rituals{padding:82px 0 90px;background:var(--spm-ivory)}.sn-rituals header>p:last-child{font-size:13px}.sn-ritual-list{margin:36px 25px 0;border-top:1px solid var(--spm-line)}.sn-ritual-list a{display:flex;min-height:112px;padding:21px 0;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--spm-line)}.sn-ritual-list span{min-width:0}.sn-ritual-list small,.sn-ritual-list b{display:block;font-weight:400}.sn-ritual-list small{font-size:11.5px;letter-spacing:.16em;color:var(--spm-copper)}.sn-ritual-list b{margin-top:8px;font-size:14px;line-height:1.7}.sn-ritual-list em{font-family:"Instrument Serif",Georgia,serif;font-size:14px;font-style:normal;white-space:nowrap;color:#776b62}
.sn-booking{padding:84px 25px 92px;background:#171210;color:#fff}.sn-booking .sn-kicker{color:#c99a70}.sn-booking>p:nth-of-type(2){color:rgba(255,255,255,.68)}.sn-booking nav{margin-top:37px;border-top:1px solid rgba(255,255,255,.28)}.sn-booking nav a{display:flex;min-height:79px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.28)}.sn-booking nav span{font-size:15px;letter-spacing:.04em}.sn-booking nav small{display:block;margin-bottom:5px;font-size:11.5px;letter-spacing:.2em;color:#c99a70}.sn-booking nav i{font-style:normal}
.sn-faq{padding:82px 25px 90px;background:#fff}.sn-faq h2{margin-bottom:34px}.sn-faq details{border-top:1px solid var(--spm-line)}.sn-faq details:last-of-type{border-bottom:1px solid var(--spm-line)}.sn-faq summary{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:15px;list-style:none;font-size:14px;line-height:1.6;cursor:pointer}.sn-faq summary::-webkit-details-marker{display:none}.sn-faq details p{margin:0;padding:0 22px 23px 0;font-size:13px;line-height:1.9;color:var(--spm-muted)}.sn-faq summary span{transition:transform .2s ease}.sn-faq details[open] summary span{transform:rotate(45deg)}
.sn-footer{padding:84px 25px 100px;background:#e8d7ca}.sn-footer h2{font-size:34px}.sn-footer>a{width:100%;max-width:310px;margin-top:28px}
@media(min-width:700px){.sn-hero{height:calc(100svh - 76px);max-height:920px}.sn-hero-copy{left:max(6vw,72px);right:auto;bottom:70px;width:560px}.sn-hero h1{font-size:56px}.sn-proof{min-height:140px}.sn-proof b{font-size:42px}.sn-proof span{font-size:11.5px}.sn-intro{padding:130px max(8vw,80px);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.sn-intro h2{font-size:46px}.sn-intro>p:last-child{grid-column:2;grid-row:1/3;margin:0}.sn-after{display:grid;grid-template-columns:1.2fr .8fr}.sn-after>picture{height:760px}.sn-after-copy{display:flex;padding:70px;flex-direction:column;justify-content:center}.sn-hands h2,.sn-after h2,.sn-rituals h2,.sn-booking h2,.sn-faq h2{font-size:43px}.sn-hands,.sn-rituals{padding:120px 0 130px}.sn-hands>header,.sn-rituals>header{padding:0 max(7vw,70px)}.sn-slider{padding-left:max(7vw,70px);scroll-padding-left:max(7vw,70px)}.sn-slider figure{flex-basis:31%}.sn-booking,.sn-faq{padding:120px max(10vw,100px)}}
@media(prefers-reduced-motion:reduce){.sn-hero-media img{animation:none!important;transform:none!important}.sn-hero-media video{display:none!important}}

/* 100-point editorial finish: trust, local discovery and mobile polish */
.sn-proof p:last-child b{font-size:19px;letter-spacing:.03em}
.sn-after>picture{position:relative}
.sn-image-note{position:absolute;left:18px;bottom:17px;padding:8px 10px;border:1px solid rgba(255,255,255,.42);background:rgba(22,15,12,.24);backdrop-filter:blur(8px);font-size:11.5px;letter-spacing:.18em;color:#fff}
.sn-professionals{padding:82px 0 90px;background:#fff}
.sn-professionals>header{padding:0 25px}
.sn-professionals h2{margin:13px 0 0;font-size:30px;font-weight:400;font-style:oblique 4deg;line-height:1.55}
.sn-professionals header>p:last-child{margin:23px 0 0;font-size:14px;line-height:2;color:var(--spm-muted)}
.sn-pro-list{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:25px;padding:35px 25px 8px;scrollbar-width:none}
.sn-pro-list::-webkit-scrollbar{display:none}
.sn-pro-list>a{position:relative;flex:0 0 69%;height:390px;overflow:hidden;scroll-snap-align:start;background:#211713;color:#fff}
.sn-pro-list img{height:100%;object-fit:cover;filter:saturate(.72) contrast(1.02)}
.sn-pro-list>a:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,6,4,.76),transparent 53%)}
.sn-pro-list>a>span{position:absolute;z-index:2;left:17px;right:17px;bottom:17px}
.sn-pro-list small,.sn-pro-list b{display:block;font-weight:400}
.sn-pro-list small{font-size:11.5px;letter-spacing:.15em;color:rgba(255,255,255,.68)}
.sn-pro-list b{margin-top:7px;font-family:"Instrument Serif",Georgia,serif;font-size:25px;letter-spacing:.06em}
.sn-pro-list .sn-pro-more{background:#e8d7ca;color:var(--spm-ink)}
.sn-pro-list .sn-pro-more:after{display:none}
.sn-pro-more>span{top:25px;bottom:25px;display:flex;flex-direction:column}
.sn-pro-more small{color:var(--spm-copper)}
.sn-pro-more b{margin-top:24px;font-family:inherit;font-size:23px;line-height:1.65;letter-spacing:0;font-style:oblique 4deg}
.sn-pro-more i{margin-top:auto;font-size:18px;font-style:normal}
.sn-area-links{margin-top:47px;border-top:1px solid var(--spm-line)}
.sn-area-links a{display:flex;min-height:58px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--spm-line);font-size:12px}
.sn-page a:active{transform:translateY(1px)}
body.spa-maison #stickyBook{display:none!important}
@media(min-width:700px){.sn-proof p:last-child b{font-size:30px}.sn-professionals{padding:120px 0 130px}.sn-professionals>header{padding:0 max(7vw,70px)}.sn-professionals h2{font-size:43px}.sn-pro-list{padding-left:max(7vw,70px);scroll-padding-left:max(7vw,70px)}.sn-pro-list>a{flex-basis:31%}}
@media(prefers-reduced-motion:reduce){.sn-page *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.sn-slider video{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78)}

/* Final art direction — readable restraint, no decorative blur or layout-jitter */
.sn-skip{position:fixed;z-index:1000;top:8px;left:8px;padding:11px 16px;background:#171210;color:#fff;font-size:13px;transform:translateY(-160%);transition:transform .2s ease}
.sn-skip:focus{transform:translateY(0)}
.sn-kicker{font-size:11.5px!important;line-height:1.5!important;letter-spacing:.19em!important}
.sn-hero-copy>p:nth-of-type(2){font-size:15px;line-height:1.85}
.sn-proof span{font-size:11.5px;line-height:1.45;letter-spacing:.11em}
.sn-slider small,.sn-ritual-list small,.sn-booking nav small{font-size:11.5px}
.sn-pro-list small{font-size:11.5px}
.sn-intro>p:last-child,.sn-after-copy>p:last-child,.sn-professionals header>p:last-child,.sn-rituals header>p:last-child,.sn-booking>p:nth-of-type(2){font-size:15px;line-height:2}
.sn-faq summary{font-size:15px}.sn-faq details p{font-size:14px}
.sn-area-links a{font-size:13px}
.sn-page a{touch-action:manipulation;transition:opacity .2s ease,color .2s ease,background-color .2s ease}
.sn-page a:active{transform:none;opacity:.66}
.sn-page [data-reveal]{filter:none;transform:translateY(10px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
.sn-page [data-reveal].is-revealed{filter:none;transform:none}
.sn-legal{display:flex;max-width:330px;margin-top:68px;padding-top:22px;flex-wrap:wrap;gap:15px 19px;border-top:1px solid rgba(28,22,18,.2)}
.sn-legal a{display:inline-flex;min-height:44px;padding:13px 0;align-items:center;font-size:11.5px;line-height:1.6;color:rgba(28,22,18,.7)}
.sn-page a:focus-visible,.sn-page summary:focus-visible{outline:2px solid #9b623d;outline-offset:4px}
.sn-copyright{display:block;margin-top:25px;font-family:"Inter",sans-serif;font-size:11.5px;font-weight:400;letter-spacing:.17em;color:rgba(28,22,18,.55)}
@media(min-width:700px){.sn-legal{margin-top:86px}}
@media(prefers-reduced-motion:reduce){.sn-skip{transition:none}.sn-page [data-reveal]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
