:root{--night:#1c2b3a;--paper:#f5f0e8;--light:#c9a36a;--oak:#8a6440;--ink:#2e2a26;--green:#2d5a3d}
body.legal-page main{max-width:850px;margin:auto}
.legal-page dl>div{padding:20px 0;border-bottom:1px solid #d3c6b3}
.legal-page dt{font-weight:600;margin-bottom:10px}
.legal-page dd{margin:0;line-height:1.95}
.legal-page h2{margin-top:40px}
.legal-page .pending{padding:18px;border-left:3px solid #8a6440;background:#eee3d2}
.legal-page .small{font-size:16px}
.legal-page .legal-note{margin:30px 0;font-size:16px}
body>header{position:sticky;top:0;z-index:100;border-bottom:1px solid #53616d}
body>header .links{justify-content:flex-end;align-items:center;gap:16px 22px}
body>header .links a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
body>header .links a:hover{color:#e3bf88}
body>header .links .header-line{background:#06c755;color:#10301b;padding:10px 16px;border-radius:5px;font-weight:600;text-align:center;justify-content:center}
body>header .links .header-line:hover{background:#20d56b;color:#10301b}
@media(min-width:701px) and (max-width:1050px){body>header nav{flex-wrap:wrap;gap:8px}body>header .links{width:100%;gap:8px 16px}}
@media(max-width:700px){body>header .links .header-line{margin-left:auto;padding:8px 12px;min-height:44px}}
html{scroll-padding-top:120px}
@media(max-width:700px){body>header nav{gap:4px}body>header .links{width:100%;justify-content:flex-start;gap:0 16px}body>header .links a{font-size:16px;min-height:44px}html{scroll-padding-top:180px}}
section[id]{scroll-margin-top:120px}
.subpage .subnav{position:sticky;top:0;z-index:100;background:var(--paper);margin:0 -10px;padding:16px 10px}
body.profile-page .subnav{background:var(--night)}
.area-map{margin:22px 0 12px;overflow:hidden;border:1px solid #74808a;border-radius:5px}
.area-map iframe{display:block;width:100%;height:320px;border:0;background:#f5f0e8}
@media(max-width:700px){body>header nav{flex-wrap:wrap;gap:10px;padding:14px 0}body>header .links{gap:12px}.area-map iframe{height:280px}}
/* ネイビー主体の比較試作。料金と利用条件は明るい面を維持。 */
body:not(.subpage){background:#1c2b3a;color:#f5f0e8}
body:not(.subpage) .section{background:#1c2b3a;color:#f5f0e8}
body:not(.subpage) .section.tint{background:#243747;color:#f5f0e8}
body:not(.subpage) h2,body:not(.subpage) h3{color:#ead6b6}
body:not(.subpage) .card{border-color:#63717b}
body:not(.subpage) #courses .recommended{background:#2c4050;border-color:#c9a36a}
body:not(.subpage) .recommend-label,body:not(.subpage) .step-number{color:#e3bf88}
body:not(.subpage) .night-steps li{border-color:#63717b}
body:not(.subpage) #faq{background:#f5f0e8;color:#2e2a26}
body:not(.subpage) #faq h2{color:#1c2b3a}
body:not(.subpage) #service-info{background:#243747}
body:not(.subpage) footer{color:#e5dfd5}
body.profile-page{background:#1c2b3a;color:#f5f0e8}
body.profile-page h2,body.profile-page a{color:#ead6b6}
.profile-page a.button[href*="lin.ee"]{color:#10301b}
.profile-page section,.profile-page .subnav{border-color:#63717b}
.profile-page .intro{background:#243747}
.profile-page .story{border-color:#c9a36a}
body{background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN",sans-serif;line-height:1.95}
h1,h2,h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;letter-spacing:.04em}
.review{background:#e9dfce;color:#5c5143}
.section{padding:88px 0}.section.tint{background:#eee7dc}
.button{background:var(--night);color:var(--paper);border:1px solid var(--light);border-radius:3px;letter-spacing:.04em}
.hero,.end{background:linear-gradient(135deg,#1c2b3a,#293c4d)}
.hero-art{background:linear-gradient(145deg,#304354,#223240);border-color:#74808a}
#therapist .intro{max-width:850px}
#therapist .therapist-card{display:grid;grid-template-columns:156px 1fr;gap:32px;align-items:center}
#therapist .therapist-portrait{display:block;width:156px;height:156px;object-fit:cover;object-position:50% 40%;border-radius:8px}
#therapist h2{font-size:clamp(25px,3vw,33px)}
#therapist p{margin:12px 0}
.subpage main{max-width:1000px;padding:40px 28px 70px}
.subpage h1{font-size:clamp(30px,4vw,44px);color:var(--night)}
.subpage h2{font-size:26px;color:var(--night)}
.subpage section{padding:38px 0;border-bottom:1px solid #d3c6b3}
.subpage a{color:var(--night);text-underline-offset:5px}
.subpage .button{color:var(--paper)}
.subnav{display:flex;flex-wrap:wrap;gap:16px 26px;padding:20px 0;border-bottom:1px solid #d3c6b3}
.subpage .intro{background:var(--night);color:var(--paper);padding:36px;border-bottom:2px solid var(--light);margin-top:28px;max-width:none}
.subpage .intro h1{color:var(--paper)}
.subpage .qualification{color:var(--light)}
.subpage .intro img{max-width:480px;border-radius:5px}
.subpage .detail{gap:40px}
.subpage .detail img{border-radius:5px}
.subpage .price{color:var(--oak)}
.service-info{display:grid;grid-template-columns:1fr 1fr;gap:48px}
a.button[href*="lin.ee"]{background:#06c755;color:#10301b;border-color:#06c755;font-weight:600}
a.button[href*="lin.ee"]:hover{background:#20d466}
.hero-art.hero-photo{position:relative;display:block;margin:0;padding:0;overflow:hidden;border:0;background:var(--night)}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:75% 50%}
.hero-photo figcaption{position:absolute;inset:auto 0 0;padding:64px 28px 24px;background:linear-gradient(transparent,rgba(15,29,42,.94));color:var(--paper);font-family:"Yu Mincho",serif;font-size:25px;line-height:1.8}
.hero-photo figcaption .small{display:block;margin-top:12px;font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:11px}
.night-steps{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.night-steps li{display:flex;gap:20px;padding:24px 0;border-top:1px solid #ccbeaa}
.step-number{font-family:serif;font-size:29px;color:var(--oak);min-width:40px}
.night-steps h3{font-size:21px;margin:0 0 10px}.night-steps p{margin:0;font-size:14px}
.recommended{border-top:1px solid var(--light);border-bottom:1px solid var(--light);background:#e8decf}
.recommended .course-copy{padding-left:24px}
.recommend-label{display:inline-block;color:#69502d;border-bottom:1px solid var(--light);padding-bottom:6px;font-size:14px;letter-spacing:.04em}
@media(max-width:700px){.night-steps{grid-template-columns:1fr}.hero-photo figcaption{font-size:20px;padding:40px 22px 18px}.hero-art.hero-photo{aspect-ratio:4/3}.recommended .course-copy{padding:22px}.subpage .recommended{padding:26px 20px}}
@media(max-width:700px){.section{padding:56px 0}#therapist .therapist-card{grid-template-columns:100px 1fr;gap:18px}#therapist .therapist-portrait{width:100px;height:100px}#therapist h2{font-size:25px}.subpage main{padding:26px 22px 50px}.subpage .intro{padding:26px 22px}.service-info{grid-template-columns:1fr;gap:16px}}

.related-service{max-width:760px;margin:28px auto;padding:0 24px;font-size:16px;line-height:1.85}.related-service p{margin:0 0 4px}.related-service a,.related-footer a{text-underline-offset:4px}.related-footer{font-size:16px;line-height:1.85;margin:24px 0 0;padding-top:16px;border-top:1px solid #63717b}.related-service a{display:inline-block;padding:8px 0;min-height:44px}

/* 全ページのネイビー統一。旧アイボリー比較版は別CSSを使用。 */
body,body.subpage{background:#1c2b3a;color:#f5f0e8}
body:not(.subpage) #faq{background:#243747;color:#f5f0e8}
body:not(.subpage) #faq h2{color:#ead6b6}
body.subpage h1,body.subpage h2,body.subpage h3{color:#ead6b6}
body.subpage a{color:#ead6b6}
body.subpage .subnav{background:#1c2b3a;border-color:#63717b}
body.subpage section,body.legal-page dl>div{border-color:#63717b}
body.subpage .intro{background:#243747;color:#f5f0e8}
body.subpage .price{color:#e3bf88}
body.subpage .recommended{background:#2c4050;border-color:#c9a36a}
body.subpage .recommend-label{color:#e3bf88}
body .pending,body.legal-page .pending{background:#304354;color:#f5f0e8;border-color:#c9a36a}
body .legal-page,body.subpage .legal-note{color:#f5f0e8}
body.subpage [style*="color:var(--ink-3)"]{color:#ded7cc!important}
body.legal-page [style*="font-size:12px"]{font-size:16px!important}
body.subpage a.button[href*="lin.ee"]{color:#10301b}
body details{border-color:#63717b}
.review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}
.review-card{margin:0;padding:26px;background:#243747;border:1px solid #63717b;border-radius:5px}
.review-card blockquote{margin:0 0 22px;line-height:2;font-size:15px}
.review-card figcaption{color:#e3bf88;font-size:13px}
.service-hours{font-family:"Yu Mincho",serif;font-size:clamp(32px,4vw,44px);line-height:1.5;color:#ead6b6;font-variant-numeric:tabular-nums}
.service-hours>span:first-child{font-size:16px}
.hours-separator{font-family:"Hiragino Kaku Gothic ProN",sans-serif;font-size:16px;margin:0 10px}
.hero-signature{display:block;margin-top:18px;padding-top:14px;border-top:1px solid #c9a36a;font-size:22px;color:#ead6b6}
.hero-signature>span{font-size:20px;letter-spacing:.12em}
.night-steps li{display:grid;grid-template-columns:34px 54px minmax(0,1fr);gap:14px}
.flow-illustration{width:54px;height:54px;color:#e3bf88}
@media(max-width:700px){.night-steps li{grid-template-columns:28px 42px minmax(0,1fr);gap:10px}.flow-illustration{width:42px;height:42px}.service-hours{font-size:36px}}
@media(max-width:800px){.review-cards{grid-template-columns:1fr}}

/* 夜の生活場面と具体的な利用シーン。画像原本を保持し表示側で縁をぼかす。 */
.hero-art.hero-photo{background:transparent}
.hero-photo img{-webkit-mask-image:radial-gradient(ellipse at center,#000 68%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 68%,transparent 100%)}
.hero-photo figcaption{background:linear-gradient(transparent,rgba(28,43,58,.88));padding-bottom:28px}
.life-scenes{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:740px;margin:24px auto 32px}
.life-scenes figure{margin:0}
.life-scenes img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:0;-webkit-mask-image:radial-gradient(ellipse at center,#000 54%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 54%,transparent 100%)}
.life-scenes figcaption{padding-top:14px;color:#ead6b6;font-family:"Yu Mincho",serif;font-size:20px}
#night-scenes .intro{margin:0 auto}
#therapist .intro{max-width:1000px}
#therapist .therapist-card{grid-template-columns:210px minmax(0,1fr);gap:38px}
#therapist .therapist-portrait{width:210px;height:210px}
#therapist h2{font-size:clamp(30px,3.5vw,40px)}
#therapist .therapist-card p{font-size:18px;line-height:2}
.night-steps{gap:30px}
.night-steps li{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 20px;padding:20px 0;border-top:0;border-bottom:1px solid #63717b;align-content:start}
.night-steps .flow-scene{grid-column:1;grid-row:1 / 3;display:block;width:120px;height:90px;object-fit:cover;border-radius:5px;align-self:center}
.night-steps .step-number{grid-column:2;grid-row:1;line-height:1;font-size:23px}
.night-steps li>div{grid-column:2;grid-row:2}
.night-steps p{font-size:15px}
.preparation-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.preparation-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.course-heading-sub{font-size:.65em;letter-spacing:.1em}
@media(max-width:700px){.life-scenes{grid-template-columns:1fr;max-width:320px;gap:24px}.preparation-grid{grid-template-columns:1fr;gap:26px}.life-scenes figcaption{font-size:17px;text-align:center}#therapist .therapist-card{grid-template-columns:1fr;gap:20px}#therapist .therapist-portrait{width:160px;height:160px}#therapist .therapist-card p{font-size:16px}.night-steps{gap:8px}.night-steps li{grid-template-columns:96px minmax(0,1fr);gap:8px 16px}.night-steps .flow-scene{width:96px;height:76px}.night-steps h3{font-size:18px}.preparation-grid h2{margin-top:0}}
