:root{--p:#dc2677;--deep:#70223f;--border:#f3bad2;--ink:#412536;--milk:#fff8fb;--yellow:#fff4a7}
*{box-sizing:border-box}html{scroll-behavior:smooth}

body{margin:0;background:#fae9f1;color:var(--ink);font-family:'Noto Sans JP','Noto Sans CJK JP','Yu Gothic','Meiryo',sans-serif;line-height:1.7}
.shell{max-width:1160px;margin:auto;background:#fff;box-shadow:0 20px 100px #94305b1a}.prototype{background:#67314c;color:white;text-align:center;padding:10px;font-size:12px}
.retained{padding:36px 25px;background:white;text-align:center;border-bottom:3px dashed #f2c0d5}.retained b{display:block;font-size:21px}.retained p{font-size:14px;color:#8c6579}.retained .chips{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.retained .chips span{background:#fff0f5;border-radius:99px;padding:8px 16px;color:#bf4277;font-weight:800}
.nav.recruit{position:sticky;top:0;z-index:9;display:flex;gap:6px;overflow:auto;padding:10px 14px;background:#fffafd;box-shadow:0 4px 20px #9d4d7e20}
.nav.recruit a{white-space:nowrap;font-size:12px;text-decoration:none;font-weight:800;color:#a32364;border:1px solid #f5c5da;padding:6px 10px;border-radius:24px}
.wrap{padding:32px 38px 16px}.section{margin:0 0 42px}
/* Text-free source artwork + CSS overlay. Keep actual headings in the DOM, never rasterize type. */
.visual{position:relative;isolation:isolate;min-height:442px;border:5px solid #f8c3d8;border-radius:27px;background-color:#fff2f8;background-position:center;background-size:cover;overflow:hidden;box-shadow:0 15px 32px #dc438621}
.visual::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(255,250,253,.82) 0%,rgba(255,244,251,.53) 40%,rgba(255,245,251,.12) 62%,transparent 80%)}
.visual.layout-right::before{background:linear-gradient(270deg,rgba(255,250,253,.9) 0%,rgba(255,243,250,.69) 36%,rgba(255,245,251,.12) 62%,transparent 82%)}
.visual.layout-center::before{background:linear-gradient(90deg,transparent 0%,rgba(255,249,253,.70) 27%,rgba(255,249,253,.82) 72%,transparent 100%)}
.visual.layout-bottom::before{background:linear-gradient(0deg,rgba(255,250,253,.94) 0%,rgba(255,243,250,.32) 34%,transparent 67%)}
.hero-copy{position:relative;min-height:442px;display:flex;align-items:center;justify-content:flex-start;padding:31px 35px;z-index:1}
.copy-panel{width:min(58%,590px);padding:25px 27px;border-radius:19px;border:1px solid rgba(255,255,255,.9);background:rgba(255,249,253,.84);box-shadow:0 7px 31px rgba(123,35,82,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.layout-right .hero-copy{justify-content:flex-end}.layout-right .copy-panel{width:min(53%,535px)}
.layout-center .hero-copy{justify-content:center}.layout-center .copy-panel{width:min(53%,530px);text-align:center}
.layout-bottom .hero-copy{align-items:flex-end}.layout-bottom .copy-panel{width:min(88%,850px);padding:14px 21px;margin:0 auto;text-align:center}
.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:900;color:#b63c78}.section-num{font-size:12px;color:#a94475;font-weight:900;margin-top:4px}.copy-panel h2{margin:5px 0 10px;line-height:1.32;color:#a41459;font-size:clamp(27px,3.25vw,40px);font-weight:900;letter-spacing:-.025em}.copy-panel p{font-size:15px;font-weight:700;line-height:1.65;color:#543045;margin:0}
.layout-bottom .copy-panel h2{font-size:clamp(24px,3vw,35px);margin:2px 0 5px}.layout-bottom .copy-panel p{font-size:13px}
.body-card{padding:24px 34px 27px;background:#fffbfd;border:1px solid #f3cfe1;border-radius:20px;margin:15px 0 0}.body-card p{margin:0 0 12px}.body-card h3{font-size:21px;color:#a31860;margin:0 0 8px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:13px 0}.tiles.two{grid-template-columns:repeat(2,1fr)}.tile{background:white;border:1px solid #f1c7d9;border-radius:15px;padding:17px}.tile strong{color:#b31b62}.tile small{display:block;color:#806577;font-size:12px}.price{font-size:27px;color:#d11e75;font-weight:900}.caution{font-size:12px;color:#775b67;background:#fff5e9;padding:10px 14px;border-radius:9px}.highlight{background:#fff2ad;border-radius:12px;padding:14px 18px;font-weight:800;color:#9b245f;margin:10px 0}

.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px ; padding-bottom: 15px;}

.faq details{background:#fff;border:1px solid #f0c9d8;padding:12px 16px;border-radius:12px;margin-bottom:8px}

.faq summary{cursor:pointer;color:#a82b66;font-weight:800}.bottom{text-align:center;padding:24px;background:linear-gradient(130deg,#fff0f7,#fffadf);border:2px solid #f6bfd6;border-radius:22px}.bottom a{background:linear-gradient(135deg,#f3429b,#d92174);color:#fff;text-decoration:none;font-weight:900;border-radius:99px;padding:13px 24px;display:inline-block;margin-top:12px}.meta{text-align:center;font-size:12px;padding:16px;color:#94798b}
@media(max-width:720px){.wrap{padding:15px}.section{margin-bottom:27px}.visual{min-height:405px;border-width:3px;background-position:var(--mobile-pos,70%) center}.visual::before,.visual.layout-right::before,.visual.layout-center::before,.visual.layout-bottom::before{background:linear-gradient(0deg,rgba(255,250,253,.96) 0%,rgba(255,250,253,.7) 24%,rgba(255,248,253,.06) 67%,transparent 100%)}.hero-copy{min-height:405px;padding:15px;align-items:flex-end!important;justify-content:center!important}.copy-panel,.layout-right .copy-panel,.layout-center .copy-panel,.layout-bottom .copy-panel{width:100%;text-align:left;padding:15px 16px;background:rgba(255,249,253,.88);border-radius:16px}.copy-panel h2{font-size:clamp(24px,6.3vw,33px);line-height:1.32}.copy-panel p{font-size:13px}.eyebrow{font-size:10px}.section-num{font-size:10px}.visual.layout-bottom{background-size:100% auto;background-repeat:no-repeat;background-position:center top;min-height:360px}.visual.layout-center{background-size:100% auto;background-repeat:no-repeat;background-position:center top;min-height:360px}.visual.layout-bottom .hero-copy,.visual.layout-center .hero-copy{min-height:360px}.layout-bottom .copy-panel h2{font-size:24px}.body-card{padding:19px 17px}.body-card h3{font-size:17px}.tiles,.tiles.two,.frow{grid-template-columns:1fr 1fr;gap:8px}.tile{padding:12px;font-size:13px}.price{font-size:22px}.retained{padding:22px 10px}.retained b{font-size:16px}.nav a{font-size:11px}}
@media(max-width:420px){.tiles,.tiles.two,.frow{grid-template-columns:1fr}.visual{min-height:390px}.hero-copy{min-height:390px}.visual.layout-center,.visual.layout-bottom{min-height:350px}.visual.layout-center .hero-copy,.visual.layout-bottom .hero-copy{min-height:350px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V4 waiting-room image: restore two original women + 3 booths, keep furniture unobstructed. */
#sec3 .visual{min-height:580px;background-size:100% auto;background-repeat:no-repeat;background-position:center top;}
#sec3 .hero-copy{min-height:580px;}
#sec3 .copy-panel{width:min(82%,850px);}
@media(max-width:720px){#sec3 .visual,#sec3 .hero-copy{min-height:360px;}#sec3 .copy-panel{width:100%;}

#sec3 .visual{min-height:280px;background-size:100% auto;background-repeat:no-repeat;background-position:center top;}
#sec3 .hero-copy{min-height:280px;}
}