:root{--ink:#46483f;--deep:#3f615b;--mint:#f4d94e;--mint2:#fff8c9;--coral:#e99055;--peach:#fff1dd;--cream:#fffdf3;--white:#fff;--line:#e7e2c8;--muted:#73756c;--sage:#a9c9a7;--sky:#b9d9dc;--lemon:#f5df63;--shadow:0 18px 46px rgba(82,83,58,.12)}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.85}button,a{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:10px max(20px,5vw);background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:9px;color:var(--deep);text-decoration:none}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--mint2)}.top-actions{display:flex;align-items:center;gap:10px}.top-actions a,.quiet{padding:9px 14px;border:0;border-radius:99px;background:var(--mint2);color:var(--deep);font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;min-height:680px;padding:80px max(24px,calc((100vw - 1120px)/2));background:linear-gradient(140deg,#dff7f0,#fff4ea 70%);overflow:hidden}.eyebrow{margin:0 0 9px;color:#3a9d88;font-size:11px;font-weight:900;letter-spacing:.17em}.hero h1{margin:0 0 24px;color:var(--deep);font-size:clamp(48px,6vw,82px);line-height:1.12;letter-spacing:-.045em}.hero h1 em{color:var(--coral);font-style:normal}.lead{font-size:19px}.hero-copy>p:not(.eyebrow){max-width:650px}.primary{display:inline-flex;margin-top:24px;padding:14px 22px;border-radius:99px;background:var(--coral);color:#fff;font-weight:900;text-decoration:none;box-shadow:0 10px 24px rgba(220,106,81,.22)}.hero-visual{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;aspect-ratio:1;max-width:480px;margin:auto}.hero-visual span{display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:var(--shadow);color:var(--deep);font-size:20px;font-weight:900}.hero-visual span:nth-child(2),.hero-visual span:nth-child(3){background:#fff5ef}.hero-visual div{position:absolute;inset:32%;display:grid;place-items:center;border:8px solid rgba(255,255,255,.8);border-radius:50%;background:var(--mint);color:#245c52;font-size:16px;font-weight:900;text-align:center}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;padding:90px 0}.intro h2,.chapters h2,.rights h2{margin:0;color:var(--deep);font-size:clamp(30px,4vw,46px);line-height:1.35}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none}.flow li{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;font-size:12px;font-weight:800}.flow b{display:block;color:var(--coral);font-size:18px}.chapters{padding:40px 0 100px}.section-copy{color:var(--muted)}.chapter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}.chapter-card{overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 10px 32px rgba(50,91,83,.07)}.chapter-card header{display:flex;gap:16px;align-items:center;padding:25px 27px;background:linear-gradient(135deg,var(--chapter-bg),#fff)}.chapter-number{display:grid;place-items:center;min-width:58px;height:58px;border-radius:18px;background:var(--chapter-color);color:#fff;font-size:18px;font-weight:900}.chapter-card h3{margin:0;color:var(--deep);font-size:23px}.chapter-card header p{margin:3px 0 0;color:var(--muted);font-size:12px}.scene-list{display:grid;padding:12px}.scene-link{display:flex;align-items:center;gap:13px;width:100%;padding:13px;border:0;border-bottom:1px solid #edf2f0;background:none;color:var(--ink);text-align:left;cursor:pointer}.scene-link:last-child{border-bottom:0}.scene-link:hover{border-radius:12px;background:var(--mint2)}.scene-link b{color:var(--chapter-color);font-size:11px}.rights{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center;margin-bottom:100px;padding:42px;border-radius:32px;background:var(--deep);color:#fff}.rights h2{color:#fff}.rights p{margin-bottom:0;color:#d8ece7}.rights-mark{display:grid;place-items:center;aspect-ratio:1;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.08);font-size:28px;font-weight:900}.scene-view{display:grid;grid-template-columns:260px minmax(0,1fr);width:min(1320px,100%);margin:auto}.scene-nav{position:sticky;top:68px;align-self:start;height:calc(100vh - 68px);overflow:auto;padding:28px 20px;border-right:1px solid var(--line);background:#fff}.scene-nav>button{width:100%;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--deep);font-weight:800;cursor:pointer}.scene-nav>p{margin:28px 6px 10px;color:var(--coral);font-size:12px;font-weight:900}.scene-nav nav{display:grid;gap:6px}.nav-scene{padding:11px;border:0;border-radius:12px;background:none;color:var(--muted);font-size:12px;text-align:left;cursor:pointer}.nav-scene.active{background:var(--mint2);color:var(--deep);font-weight:900}.lesson{width:min(900px,calc(100% - 50px));margin:0 auto;padding:70px 0}.lesson-head{padding-bottom:50px}.lesson-head h1{margin:8px 0 12px;color:var(--deep);font-size:clamp(38px,5vw,66px);line-height:1.25}.lesson-head>p:last-child{color:var(--muted);font-size:17px}.step{position:relative;display:grid;grid-template-columns:64px 1fr;gap:24px;margin-bottom:25px;padding:34px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 8px 26px rgba(52,89,82,.05)}.step-no{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--mint2);color:var(--deep);font-weight:900}.step-label{margin:0;color:var(--coral);font-size:10px;font-weight:900;letter-spacing:.16em}.step h2{margin:3px 0 16px;color:var(--deep);font-size:26px}.story{background:linear-gradient(135deg,#fff,#fff4ee)}.story-text{font-size:17px;white-space:pre-line}.question{font-size:18px;font-weight:800}.choices{display:grid;gap:10px}.choice{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:750;text-align:left;cursor:pointer}.choice:hover,.choice.selected{border-color:#73cdb7;background:var(--mint2)}.feedback{margin-top:15px;padding:15px;border-radius:14px;background:#f5f8f7;color:#5d716c;font-size:13px}.topic-list{display:flex;flex-wrap:wrap;gap:8px}.topic-list span{padding:7px 12px;border-radius:99px;background:var(--mint2);color:var(--deep);font-size:12px;font-weight:850}.learn-text{margin-top:18px;white-space:pre-line}.point{background:var(--deep);color:#fff}.point h2,.point .step-label{color:#fff}.point .step-no{background:rgba(255,255,255,.14);color:#fff}.point blockquote{margin:0;font-size:21px;font-weight:850;line-height:1.8}.link-list,.help-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.link-list a,.help-links a{padding:14px;border:1px solid var(--line);border-radius:14px;color:var(--deep);font-size:12px;font-weight:850;text-decoration:none}.link-list a:hover,.help-links a:hover{background:var(--mint2)}.help{background:#fff8f7}.lesson-footer{display:flex;justify-content:space-between;gap:14px;padding:20px 0}.lesson-footer button{padding:13px 18px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--deep);font-weight:900;cursor:pointer}.lesson-footer button:last-child{background:var(--deep);color:#fff}.lesson-footer button:disabled{visibility:hidden}.footer{padding:55px 20px;background:#244f49;color:#fff;text-align:center}.footer strong{font-size:22px}.footer p{color:#cfe4df;font-size:12px}
@media(max-width:850px){.hero{grid-template-columns:1fr;padding-top:60px}.hero-visual{width:min(430px,100%)}.intro,.chapter-grid{grid-template-columns:1fr}.scene-view{display:block}.scene-nav{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line)}.scene-nav nav{display:flex;overflow:auto}.nav-scene{min-width:150px}.lesson{width:min(100% - 30px,900px);padding-top:45px}}
@media(max-width:570px){.top-actions .quiet{display:none}.hero{gap:35px;padding:50px 22px}.hero h1{font-size:43px}.flow{grid-template-columns:repeat(2,1fr)}.rights{grid-template-columns:1fr;padding:28px}.rights-mark{width:120px}.step{grid-template-columns:1fr;padding:24px}.step-no{width:44px;height:44px}.link-list,.help-links{grid-template-columns:1fr}.chapter-card h3{font-size:20px}}

/* SRHR専用テーマ：レモンイエローを中心にした中性的な配色 */
.topbar{background:rgba(255,255,248,.94)}
.hero{position:relative;grid-template-columns:.94fr 1.06fr;grid-template-areas:"copy visual";gap:58px;min-height:680px;padding:72px max(24px,calc((100vw - 1180px)/2));background:radial-gradient(circle at 16% 15%,rgba(255,255,255,.92),transparent 28%),linear-gradient(140deg,#fff7ae 0%,#fffdf2 53%,#edf5e8 100%)}
.hero:after{content:"";position:absolute;right:-110px;top:-150px;width:420px;height:420px;border-radius:50%;background:rgba(185,217,220,.22)}
.hero-copy,.hero-image{position:relative;z-index:1}.hero-copy{grid-area:copy}.hero-image{grid-area:visual}.hero h1 em{color:#d9824f}.eyebrow{color:#688d76}.primary{background:#df914b;box-shadow:0 10px 24px rgba(196,145,61,.24)}
.hero-image{margin:0}.hero-image img{display:block;width:100%;height:auto;max-height:610px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(72,83,65,.12))}
.flow li,.chapter-card,.step,.site-card{border-color:#ebe4bc}.flow b,.step-label,.scene-nav>p{color:#d78348}.scene-link:hover,.nav-scene.active,.step-no,.topic-list span,.link-list a:hover,.help-links a:hover{background:#fff7bf}.choice:hover,.choice.selected{border-color:#d8bd3d;background:#fff7bf}.story{background:linear-gradient(135deg,#fff,#fff9d9)}.help{background:#fffaf0}.rights,.point{background:#42645e}.footer{background:#3c5d58}
@media(max-width:850px){.hero{grid-template-columns:1fr;grid-template-areas:"copy" "visual";gap:38px;padding-bottom:48px}.hero-copy{grid-area:copy}.hero-image{grid-area:visual;width:min(580px,100%);margin:0 auto}.hero-image img{max-height:none}}

/* 考えて終わらず、次の小さな行動と相談先へつなぐ表示 */
.point{background:#fff9dd;color:var(--ink);border-color:#eadb8f}
.point h2{color:var(--deep)}
.point .step-label{color:#b66d35}
.point .step-no{background:#fff1ad;color:var(--deep)}
.learn-links{margin-top:22px}
.try-card{padding:19px 21px;border-radius:18px;background:#edf6f1;color:var(--deep);font-size:17px;line-height:1.9;white-space:pre-line}
.try-support{margin:18px 4px 0;color:#606d68;font-size:15px;line-height:1.9;white-space:pre-line}
.help-trigger{padding:9px 14px;border:0;border-radius:99px;background:#edf6f1;color:var(--deep);font-size:12px;font-weight:800;cursor:pointer}
.help-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:rgba(45,65,61,.35);backdrop-filter:blur(5px)}
.help-modal{position:relative;width:min(680px,100%);max-height:calc(100vh - 44px);overflow:auto;padding:42px;border:1px solid #dce9df;border-radius:30px;background:linear-gradient(145deg,#fffef7,#eef8f3);box-shadow:0 24px 70px rgba(45,65,61,.2)}
.help-modal-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--deep);font-size:25px;cursor:pointer}
.help-modal-eyebrow{margin:0;color:#5c907f;font-size:11px;font-weight:900;letter-spacing:.17em}.help-modal h2{margin:5px 50px 14px 0;color:var(--deep);font-size:clamp(28px,5vw,42px);line-height:1.35}.help-modal-lead{font-size:17px}.help-modal-links{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:25px 0}.help-modal-links a{display:grid;gap:4px;padding:17px;border:1px solid #dbe8df;border-radius:17px;background:rgba(255,255,255,.8);color:var(--deep);text-decoration:none}.help-modal-links a:hover{background:#fff7bf}.help-modal-links span{color:#65736e;font-size:12px}.help-modal-urgent{display:grid;gap:4px;padding:16px 18px;border-left:4px solid #e7b76a;border-radius:12px;background:#fff8e8}.help-modal-urgent span,.help-modal-note{color:#606d68;font-size:13px}.help-modal-note{margin:18px 2px 0}
@media(max-width:650px){.help-modal{padding:32px 22px}.help-modal-links{grid-template-columns:1fr}.top-actions{gap:6px}.top-actions a,.quiet,.help-trigger{padding:8px 10px;font-size:11px}}

/* SRHRの4つの意味 */
.rights{align-items:start;grid-template-columns:150px 1fr}
.rights-eyebrow{margin:0 0 5px!important;color:#bfe2d8!important;font-size:10px;font-weight:900;letter-spacing:.13em}
.rights-lead{font-size:16px}
.rights-definitions{margin-top:28px;border-top:1px solid rgba(255,255,255,.2)}
.rights-definitions section{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.rights-definitions h3{margin:0 0 7px;color:#fff;font-size:19px}
.rights-definitions p{margin:6px 0;color:#d8ece7;font-size:14px}
.rights-summary{margin-top:26px!important;padding-left:16px;border-left:4px solid #f5df63;color:#fff!important}
.rights-link{color:#fff;font-weight:900}
@media(max-width:570px){.rights{grid-template-columns:1fr}.rights-mark{width:110px}}

/* SRHR Q&A finder */
.qa-page{background:#fffdf5}.qa-hero{padding:78px 0 66px;background:linear-gradient(140deg,#fff5ad,#f4fbf7)}.qa-hero h1{margin:5px 0 15px;color:var(--deep);font-size:clamp(44px,7vw,76px);line-height:1.15}.qa-hero p:last-child{font-size:17px}.qa-main{padding:54px 0 100px}.qa-notice{padding:22px 25px;border-left:5px solid #d8bd3d;border-radius:16px;background:#fff9dc}.qa-notice p{margin:5px 0 0;color:#68716d;font-size:14px}.qa-search-panel{margin:34px 0;padding:28px;border:1px solid #e7e2c8;border-radius:24px;background:#fff}.qa-search-panel label{display:block;margin-bottom:10px;color:var(--deep);font-weight:900}.qa-search-box{position:relative}.qa-search-box input{width:100%;padding:17px 50px 17px 17px;border:2px solid #c5d8d0;border-radius:15px;background:#fff;font-size:16px}.qa-search-box span{position:absolute;right:19px;top:9px;color:#d78348;font-size:27px}.qa-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.qa-filters button{padding:9px 14px;border:1px solid #dce4df;border-radius:99px;background:#fff;color:var(--deep);font-size:12px;font-weight:850;cursor:pointer}.qa-filters button.active{border-color:#42645e;background:#42645e;color:#fff}.qa-count{display:flex;align-items:baseline;gap:10px;margin-bottom:20px}.qa-count strong{color:var(--deep);font-size:27px}.qa-count span{color:#73756c;font-size:13px}.qa-count button{margin-left:auto;border:0;background:none;color:#b66d35;font-weight:800;cursor:pointer}.qa-results{display:grid;gap:20px}.qa-card{overflow:hidden;border:1px solid #e7e2c8;border-radius:22px;background:#fff;box-shadow:0 9px 26px rgba(52,89,82,.06)}.qa-card header{display:grid;grid-template-columns:auto 1fr;gap:5px 13px;padding:23px 25px;border-top:5px solid #dfa45b}.qa-card header span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#42645e;color:#fff;font-weight:900}.qa-card header small{color:#d78348;font-weight:900}.qa-card h2{margin:0;color:var(--deep);font-size:20px;line-height:1.6}.qa-answer{padding:20px 25px;background:#f3f8f5}.qa-answer strong{color:#3f8172;font-size:13px}.qa-answer p{margin:7px 0 0;white-space:pre-line}.qa-card footer{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:20px 25px;background:#fff}.qa-card footer div{display:grid}.qa-card footer small{color:#73756c}.qa-card footer strong{font-size:13px}.qa-card footer a{flex:none;padding:11px 15px;border-radius:99px;background:#42645e;color:#fff;font-size:12px;font-weight:900;text-decoration:none}.qa-empty{padding:35px;border-radius:18px;background:#fff;color:#68716d;text-align:center}
@media(max-width:650px){.qa-main{width:min(100% - 24px,1120px)}.qa-search-panel{padding:20px}.qa-card header{padding:20px}.qa-card footer{align-items:stretch;flex-direction:column}.qa-card footer a{text-align:center}.qa-hero{padding:55px 0}.qa-hero .wrap{width:min(100% - 32px,1120px)}}
.qa-notice p{margin-bottom:10px}.qa-notice a{color:var(--deep);font-size:13px;font-weight:900}
