
:root{--pink:#ff78aa;--pink2:#ffe1ec;--purple:#9b7af7;--purple2:#f3efff;--ivory:#fffaf4;--ink:#362642;--muted:#7d6b88;--line:#f0ddea;--bg:#fff8fc;--card:#fff;--green:#06c755;--shadow:0 14px 36px rgba(130,83,145,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.75;padding-bottom:70px;letter-spacing:0;overflow-x:hidden}a{color:inherit;text-decoration:none}.wrap{max-width:1040px;margin:0 auto;padding:0 18px}.topbar{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:50}.topbar-inner{height:58px;display:flex;align-items:center;gap:14px}.logo{font-weight:900;font-size:1.22rem;color:var(--pink)}.logo span{color:var(--purple)}.nav-links{display:none;gap:12px;font-size:.82rem;color:var(--muted);font-weight:800}.topbar-cta{margin-left:auto;background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:900}@media(min-width:760px){.nav-links{display:flex}.topbar-cta{padding:9px 18px}}
.hero{background:linear-gradient(180deg,#fff 0%,#fff2f8 62%,#f7f0ff 100%);padding:26px 0 34px}.hero-grid{display:grid;gap:22px;align-items:center}.hero-copy{order:2}.hero-media{order:1;display:flex;justify-content:center;align-items:center}.hero-media img{width:min(330px,86vw);aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:28px;background:#fff0f7;box-shadow:0 18px 44px rgba(155,122,247,.16)}.hero h1{font-size:clamp(1.85rem,7vw,3.45rem);line-height:1.22;margin:8px 0 12px}.lead{color:var(--muted);font-size:1rem;margin:0}.eyebrow{color:var(--pink);font-size:.75rem;letter-spacing:.09em;font-weight:900;text-transform:uppercase;margin:0 0 6px}@media(min-width:820px){.hero{padding:54px 0 46px}.hero-grid{grid-template-columns:1fr .85fr}.hero-copy{order:1}.hero-media{order:2}.hero-media img{width:min(390px,100%)}}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 18px;font-weight:900;text-align:center;min-height:48px;border:0}.primary{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;box-shadow:0 10px 24px rgba(255,120,170,.22)}.secondary{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff}.ghost{background:#fff;color:var(--purple);border:1px solid var(--line)}.btn-row{display:flex;flex-direction:column;gap:10px;margin-top:18px}.is-disabled{cursor:default;pointer-events:none;opacity:.76}@media(min-width:560px){.btn-row{flex-direction:row;flex-wrap:wrap}}
.section{padding:34px 0}.section-head{margin-bottom:16px;text-align:left}.section h2,.cta-band h2{font-size:1.42rem;line-height:1.38;margin:4px 0 8px}.soft-panel,.notice,.faq details,.article-body,.prelist{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.prelist{background:linear-gradient(135deg,#fff,#fff0f7)}.prep-section{padding-top:26px}.empathy .comfort-grid{display:grid;gap:10px}.comfort-grid div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 14px;color:var(--muted);font-weight:800}.comfort-grid div:before{content:"";display:inline-block;width:8px;height:8px;background:var(--pink);border-radius:50%;margin-right:8px;vertical-align:middle}
.mini-grid,.article-grid,.store-grid,.detail-grid,.faq-grid,.partner-grid{display:grid;grid-template-columns:1fr;gap:14px}.mini-card,.article-card,.store-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow)}.mini-card span,.article-card span{display:inline-flex;background:var(--purple2);color:var(--purple);border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:900;margin-bottom:8px}.mini-card strong,.article-card strong{display:block;font-size:1rem;line-height:1.45}.mini-card small,.article-card small{display:block;color:var(--muted);margin-top:8px}@media(min-width:720px){.mini-grid{grid-template-columns:repeat(3,1fr)}.article-grid{grid-template-columns:repeat(3,1fr)}.store-grid{grid-template-columns:repeat(3,1fr)}.faq-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr 1fr}.partner-grid{grid-template-columns:1fr 1fr}.comfort-grid{grid-template-columns:repeat(2,1fr)}}
.store-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:360px}.sc-thumb{width:100%;aspect-ratio:16/10;height:auto;display:block;object-fit:cover;background:var(--purple2)}.sc-body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}.sc-body h3{margin:2px 0;font-size:1rem;line-height:1.45}.meta{color:var(--muted);font-size:.84rem;margin:0}.status-pill{display:inline-flex;align-self:flex-start;background:var(--purple2);color:var(--purple);border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:900;margin:0}.status-pill.muted{background:#f8eef5;color:var(--muted)}.tag-row{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.tag-row span{font-size:.68rem;background:var(--pink2);color:#8b3c60;border-radius:999px;padding:3px 8px}.text-link{font-weight:900;color:var(--pink);margin-top:auto}.soon-visual{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff0f7,#f2edff);color:var(--purple);font-weight:900}
.cta-band{padding:30px 0}.cta-inner{background:linear-gradient(135deg,#fff0f7,#f3efff);border:1px solid var(--line);color:var(--ink);border-radius:26px;padding:22px;display:grid;gap:16px;box-shadow:var(--shadow)}.cta-inner p{margin:0;color:var(--muted)}.cta-actions{display:flex;flex-direction:column;gap:10px}@media(min-width:760px){.cta-inner{grid-template-columns:1fr auto;align-items:center}.cta-actions{min-width:270px}}
.page-hero{background:linear-gradient(160deg,#fff,#fff0f7 60%,#efe7ff);padding:34px 0 24px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(1.75rem,6vw,2.7rem);line-height:1.22;margin:8px 0}.breadcrumb{font-size:.78rem;color:var(--muted);margin-bottom:10px}.breadcrumb a{color:var(--pink);font-weight:800}.info-table{width:100%;border-collapse:separate;border-spacing:0;margin:14px 0;overflow:hidden;border-radius:14px}.info-table th,.info-table td{border:1px solid var(--line);padding:10px;text-align:left;font-size:.9rem}.info-table th{background:#fff0f7;color:var(--muted);width:36%}.flow-list{counter-reset:step;display:grid;gap:10px}.flow-list li{list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.flow-list li:before{counter-increment:step;content:counter(step);display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;background:var(--pink);color:#fff;border-radius:50%;font-weight:900;margin-right:8px}.faq details{box-shadow:none}.faq summary{cursor:pointer;font-weight:900}.faq .answer{color:var(--muted);margin-top:8px}.partner-cta{padding:24px 0;background:#fff;border-top:1px solid var(--line)}.partner-card{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#fff7fb,#f1eaff);border:1px solid var(--line);border-radius:20px;padding:16px;min-height:92px}.partner-card .pc-icon{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--purple);font-weight:900;box-shadow:var(--shadow);flex:0 0 auto}.partner-card strong{display:block;font-size:1rem;line-height:1.35}.partner-card small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}.site-footer{background:#fff;border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:.86rem}.footer-logo{font-weight:900;color:var(--pink);font-size:1.1rem}.footer-links a{color:var(--purple);font-weight:800}.notice{margin-top:14px;background:#fffafc}.sticky-cta{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--pink),var(--purple));z-index:60;text-align:center}.sticky-cta a{display:block;color:#fff;font-weight:900;padding:13px 12px}.age-gate{position:fixed;inset:0;z-index:999;background:rgba(54,38,66,.72);display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(8px)}.age-gate.is-visible{display:flex}.age-box{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(54,38,66,.28);text-align:center}.age-box h2{font-size:1.45rem;margin:6px 0 10px}.age-box p{color:var(--muted);font-size:.92rem;margin:0 0 14px}.age-actions{display:grid;gap:10px;margin-top:16px}.age-note{font-size:.76rem;color:var(--muted);margin-top:12px}.category-anchor{scroll-margin-top:76px}


/* Hero fear panel */
.soft-hero{padding-top:16px;padding-bottom:22px}.soft-hero .hero-grid{gap:18px}.soft-hero .hero-copy{margin-top:0}.soft-hero .lead{font-size:.95rem;color:var(--muted)}.soft-hero .btn-row{margin-top:14px}
.hero-fear-panel{display:flex;align-items:flex-start;gap:10px;width:100%;order:1}
.soft-hero .hero-copy{order:2}
.girl-strip{flex:0 0 23%;max-width:23%}
.girl-strip img{width:100%;aspect-ratio:2/5;object-fit:cover;object-position:center top;border-radius:14px;display:block;box-shadow:0 8px 24px rgba(155,122,247,.18)}
.fear-bubbles{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.fbub{background:#fff;border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:9px 12px;box-shadow:0 3px 10px rgba(130,83,145,.08);position:relative}
.fbub::before{content:"";position:absolute;left:-7px;top:14px;border-width:6px 8px 6px 0;border-style:solid;border-color:transparent #fff transparent transparent}
.fbub-q{font-weight:900;font-size:.82rem;color:var(--ink);margin:0 0 5px;line-height:1.45;overflow-wrap:break-word}
.fbub-a{font-size:.75rem;font-weight:700;margin:0;padding:3px 7px;background:linear-gradient(135deg,var(--pink2),var(--purple2));color:var(--purple);border-radius:6px;line-height:1.45;display:inline-block;overflow-wrap:break-word}
@media(min-width:820px){.soft-hero{padding-top:40px;padding-bottom:34px}.soft-hero .hero-grid{grid-template-columns:.9fr 1.1fr;gap:28px}.hero-fear-panel{align-items:flex-start}.girl-strip{flex:0 0 28%;max-width:28%}.girl-strip img{border-radius:18px}.fear-bubbles{gap:10px}.fbub{padding:12px 15px}.fbub-q{font-size:.9rem}.fbub-a{font-size:.8rem}.soft-hero .lead{font-size:1rem}}
