:root{--ink:#183d49;--navy:#17365f;--mint:#dff5ee;--mint2:#f3fbf8;--coral:#ec765f;--red:#c9585e;--pale-red:#fff0ef;--ivory:#fffaf2;--white:#fff;--line:#d8e8e3;--muted:#617579;--shadow:0 18px 48px rgba(23,54,95,.1)}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.85}a{color:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;min-height:70px;padding:0 max(22px,5vw);background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;color:#285c55;text-decoration:none}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:var(--mint)}.topbar nav{display:flex;gap:20px}.topbar nav a{color:#526c70;font-size:12px;font-weight:800;text-decoration:none}.hero{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:56px;width:min(1200px,calc(100% - 40px));min-height:720px;margin:auto;padding:70px 0}.hero h1{margin:14px 0 20px;color:var(--navy);font-size:clamp(44px,5.2vw,72px);line-height:1.23;letter-spacing:-.04em}.hero h1 em{color:var(--red);font-style:normal}.hero .lead{color:#365a62;font-size:19px;font-weight:850}.hero-copy>p:not(.eyebrow):not(.lead){max-width:590px}.hero figure{margin:0}.hero img{display:block;width:100%;border-radius:34px;box-shadow:var(--shadow)}.eyebrow{margin:0;color:#2d8877;font-size:11px;font-weight:900;letter-spacing:.17em}.primary,.contact a{display:inline-flex;margin-top:25px;padding:14px 23px;border-radius:99px;background:var(--coral);color:#fff;font-weight:900;text-decoration:none;box-shadow:0 10px 24px rgba(201,88,94,.2)}.principle{padding:40px 20px;background:#eaf8f4}.principle div{width:min(920px,100%);margin:auto;text-align:center}.principle span{color:#2d8877;font-size:12px;font-weight:900}.principle p{margin:8px 0;font-size:20px}.wrap{width:min(1100px,calc(100% - 40px));margin:auto}.story,.scenarios,.official{padding:100px 0}.story-grid{display:grid;grid-template-columns:1fr .85fr;gap:36px}.story h2,.scenarios h2,.official h2,.mission h2,.contact h2{margin:8px 0 24px;color:var(--navy);font-size:clamp(30px,4vw,48px);line-height:1.35}.scene-question{color:var(--red);font-size:23px;font-weight:900}.story blockquote{margin:12px 0;padding:13px 18px;border-left:4px solid #81cbb8;border-radius:0 16px 16px 0;background:#fff}.story blockquote b{display:block;color:#2d8877;font-size:12px}.decide{padding:28px;border-radius:28px;background:var(--pale-red)}.decide h3{margin:0;color:var(--red);font-size:25px}.jump-list{display:grid;gap:9px}.jump-list a{padding:12px 15px;border:1px solid #f0d4d0;border-radius:14px;background:#fff;color:var(--navy);font-weight:800;text-decoration:none}.chapters{background:#fff}.chapter{display:grid;grid-template-columns:150px 1fr;gap:36px;padding:90px 0;border-bottom:1px solid var(--line)}.chapter-no{color:var(--coral);font-size:12px;font-weight:900;letter-spacing:.12em}.chapter-body h2{margin:0 0 25px;color:var(--navy);font-size:clamp(30px,4vw,46px);line-height:1.35}.chapter.alt{position:relative}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fact-grid>div{padding:24px;border-radius:22px;background:var(--mint2)}.fact-grid span{font-size:30px}.fact-grid h3{margin:8px 0;color:var(--navy)}.note,.myth{margin-top:24px;padding:18px 20px;border-radius:17px;background:#fff6df;border-left:5px solid #e5b548}.blood-flow{display:grid;justify-items:center;gap:10px;padding:28px;border-radius:28px;background:var(--mint2);text-align:center}.blood-flow>div{min-width:250px;padding:13px 22px;border-radius:99px;background:#fff;font-weight:900}.blood-flow i{color:var(--coral);font-style:normal;font-size:20px}.blood-flow section{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.blood-flow section span{padding:10px 15px;border-radius:14px;background:var(--pale-red);font-weight:800}.uses,.check-list{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;padding:0}.uses span,.check-list li{list-style:none;padding:9px 14px;border-radius:99px;background:#eef5ff;color:var(--navy);font-size:13px;font-weight:800}.eligibility-card{padding:26px;border-radius:24px;background:var(--mint)}.eligibility-card>*{display:block}.eligibility-card>b{margin:8px 0;color:var(--navy);font-size:28px}.eligibility-card a{display:inline-flex;width:max-content;max-width:100%;padding:11px 16px;border-radius:99px;background:var(--navy);color:#fff;font-size:13px;font-weight:900;text-decoration:none}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0}.steps li{position:relative;list-style:none;padding:22px;border-radius:20px;background:#fff5f3}.steps li>b{display:block;color:var(--coral);font-size:12px}.steps li>span{display:block;color:var(--navy);font-size:18px;font-weight:900}.steps li p{margin:5px 0 0;color:var(--muted);font-size:13px}.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}.faq-list summary{cursor:pointer;padding:18px 22px;color:var(--navy);font-weight:900}.faq-list details p{margin:0;padding:0 22px 20px;color:var(--muted)}.after-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.after-grid div{display:flex;align-items:center;gap:10px;padding:18px;border-radius:17px;background:var(--mint2);font-size:23px}.after-grid b{color:var(--navy);font-size:14px}.choice{background:linear-gradient(135deg,#eaf8f4,#fff0ef)}.choice-message{font-size:21px}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.scenario-grid article{display:flex;flex-direction:column;padding:25px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 10px 30px rgba(23,54,95,.06)}.scenario-grid small{color:var(--coral);font-weight:900}.scenario-grid h3{margin:7px 0;color:var(--navy)}.scenario-grid ol{padding-left:20px;color:var(--muted);font-size:13px}.scenario-grid a{margin-top:auto;color:#277c6c;font-size:12px;font-weight:900}.mission{padding:90px 0;background:var(--mint)}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mission-grid label{padding:16px;border-radius:16px;background:#fff;font-weight:800}.mission-grid input{margin-right:10px;accent-color:#2d8877}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.source-card{display:flex;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.source-card small{color:#2d8877;font-weight:900}.source-card h3{margin:7px 0;color:var(--navy);font-size:17px}.source-card p{color:var(--muted);font-size:12px}.source-card a{margin-top:auto;color:var(--red);font-size:12px;font-weight:900}.source-card time{margin-top:10px;color:#77878a;font-size:10px}.checked{color:var(--muted);font-size:12px}.contact{padding:70px 0;background:#fff1ef}.contact .wrap{max-width:820px;text-align:center}.contact h2{font-size:34px}.contact a{background:var(--navy)}footer{padding:55px 20px;background:var(--navy);color:#fff;text-align:center}footer strong{font-size:clamp(22px,3vw,34px)}footer p{margin:5px;color:#cbd9e8}
@media(max-width:820px){.topbar nav a:not(:last-child){display:none}.hero{grid-template-columns:1fr;min-height:0;padding:55px 0}.hero-copy{text-align:center}.hero .lead{font-size:17px}.hero figure{order:-1}.story-grid,.chapter,.scenario-grid,.source-grid{grid-template-columns:1fr}.chapter{gap:12px;padding:68px 0}.chapter-no{padding-top:0}.fact-grid,.steps,.after-grid,.mission-grid{grid-template-columns:1fr}.principle p{font-size:17px}.story,.scenarios,.official{padding:72px 0}.scenario-grid{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.qa-entry{padding:64px 20px;background:linear-gradient(135deg,#fff,#eaf8f4 62%,#fff0ef)}
.qa-entry>div{display:grid;grid-template-columns:.45fr 1fr auto;align-items:center;gap:24px;width:min(1100px,100%);margin:auto;padding:30px 34px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.88);box-shadow:0 12px 34px rgba(23,54,95,.07)}
.qa-entry span{color:#2d8877;font-size:11px;font-weight:900;letter-spacing:.14em}
.qa-entry h2{margin:0;color:var(--navy);font-size:clamp(24px,3vw,34px);line-height:1.4}
.qa-entry p{margin:0;color:var(--muted);font-size:14px}
.qa-entry a{display:inline-flex;justify-content:center;padding:13px 20px;border-radius:99px;background:var(--navy);color:#fff;font-size:14px;font-weight:900;text-decoration:none;white-space:nowrap}
@media(max-width:820px){.qa-entry{padding:44px 20px}.qa-entry>div{grid-template-columns:1fr;padding:25px}.qa-entry a{width:100%;white-space:normal}}
.scenario-lead{max-width:820px;margin:-10px 0 34px;padding:18px 22px;border-left:5px solid #81cbb8;border-radius:0 18px 18px 0;background:var(--mint2);font-size:17px}
.scenario-grid article blockquote{margin:8px 0;padding:10px 14px;border-left:4px solid #f0aaa0;border-radius:0 12px 12px 0;background:#fff5f3}
.scenario-grid article blockquote b{display:block;color:#2d8877;font-size:12px}
.scenario-grid dl{margin:14px 0 20px}
.scenario-grid dt{margin-top:12px;color:#2d8877;font-size:12px;font-weight:900}
.scenario-grid dd{margin:2px 0;color:var(--muted);font-size:13px}
.scenario-grid dd strong{color:var(--navy)}
.scenario-conclusion{margin:30px 0 0;padding:26px;border-radius:22px;background:linear-gradient(135deg,#eaf8f4,#fff0ef);color:var(--navy);font-size:19px;text-align:center}
.scenario-explorer{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}
.scenario-menu{display:grid;gap:9px;position:sticky;top:90px;padding:18px;border-radius:24px;background:#edf8f5}
.scenario-menu>p{margin:0 0 4px;color:var(--navy);font-size:14px;font-weight:900}
.scenario-menu button{display:grid;gap:2px;width:100%;padding:14px 16px;border:1px solid #d5e5df;border-radius:16px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.scenario-menu button small{color:var(--coral);font-size:10px;font-weight:900}.scenario-menu button span{font-size:14px;font-weight:900}.scenario-menu button em{color:var(--muted);font-size:11px;font-style:normal}
.scenario-menu button.is-active{border-color:#2d8877;border-left:6px solid #2d8877;background:#fff;color:var(--navy);box-shadow:0 8px 20px rgba(23,54,95,.08)}
.scenario-menu button:focus-visible{outline:3px solid #f0a597;outline-offset:3px}
.scenario-panels{min-width:0}.scenario-panel{padding:34px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 12px 34px rgba(23,54,95,.07)}.scenario-panel+.scenario-panel{margin-top:18px}.is-enhanced .scenario-panel+.scenario-panel{margin-top:0}
.scenario-panel>small{color:var(--coral);font-weight:900}.scenario-panel h3{margin:5px 0 15px;color:var(--navy);font-size:clamp(24px,3vw,34px)}.scenario-panel blockquote{margin:10px 0;padding:12px 16px;border-left:4px solid #f0aaa0;background:#fff5f3}.scenario-panel blockquote b{display:block;color:#2d8877;font-size:12px}
.scenario-panel details{margin-top:24px;border-top:1px solid var(--line)}.scenario-panel summary{display:block;margin-top:22px;padding:14px 20px;border-radius:99px;background:var(--coral);color:#fff;font-weight:900;text-align:center;cursor:pointer;list-style:none}.scenario-panel summary::-webkit-details-marker{display:none}.scenario-panel summary::after{content:'＋';margin-left:10px}.scenario-panel details[open] summary::after{content:'−'}
.scenario-panel details>div{display:grid;grid-template-columns:150px 1fr;gap:0 18px;margin-top:20px;padding:6px 20px 22px;border-radius:18px;background:var(--mint2)}.scenario-panel h4{margin:15px 0 0;color:#2d8877;font-size:13px}.scenario-panel details p,.scenario-panel details a{margin:12px 0 0}.scenario-panel details a{color:var(--red);font-weight:900}
@media(max-width:820px){.scenario-explorer{grid-template-columns:1fr}.scenario-menu{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-menu>p{grid-column:1/-1}.scenario-menu button:last-child{grid-column:1/-1}.scenario-panel{padding:24px}.scenario-panel details>div{grid-template-columns:1fr;gap:0}.scenario-panel details p,.scenario-panel details a{margin-top:2px}}
.course-enabled body{overflow-x:hidden}.course-enabled main{min-height:calc(100vh - 70px)}.course-enabled .course-current{animation:course-in .28s ease-out}.course-enabled .chapter{border-bottom:0}.course-enabled .course-intro>.principle,.course-enabled .course-intro>.qa-entry{display:none}.course-enabled .story,.course-enabled .scenarios,.course-enabled .official,.course-enabled .mission,.course-enabled .contact{min-height:calc(100vh - 70px)}
.course-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(1100px,calc(100% - 40px));margin:42px auto 20px;padding:18px 0;border-top:1px solid var(--line)}.chapter>.course-controls{grid-column:1/-1;width:100%;margin-bottom:0}.course-controls button{min-width:130px;padding:13px 20px;border:0;border-radius:99px;background:var(--navy);color:#fff;font:inherit;font-weight:900;cursor:pointer}.course-controls .course-next{justify-self:end;background:var(--coral)}.course-controls button:disabled{visibility:hidden}.course-controls button:focus-visible{outline:3px solid #f0a597;outline-offset:3px}.course-controls>span{display:grid;justify-items:center;color:var(--muted);font-size:12px}.course-controls>span b{color:var(--navy);font-size:17px}.course-controls>span small{max-width:210px;text-align:center}
@keyframes course-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@media(max-width:820px){.course-enabled .hero{padding-top:35px}.course-controls{grid-template-columns:1fr 1fr;gap:10px}.course-controls>span{grid-column:1/-1;grid-row:1}.course-controls button{min-width:0;width:100%}.course-controls .course-prev{grid-column:1}.course-controls .course-next{grid-column:2}.course-enabled .story,.course-enabled .scenarios,.course-enabled .official,.course-enabled .mission,.course-enabled .contact{min-height:auto}}
.course-three-pages #chapters{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:start;gap:28px;width:min(1100px,calc(100% - 40px));margin:0 auto;padding:90px 0;background:#fff}.course-three-pages #chapters>.chapter{grid-template-columns:1fr;width:auto;margin:0;padding:28px;border:1px solid var(--line);border-radius:26px}.course-three-pages #chapters>.course-controls{grid-column:1/-1}.chapter-menu{display:grid;gap:8px;position:sticky;top:90px;padding:18px;border-radius:24px;background:var(--mint2)}.chapter-menu>p{margin:0 0 5px;color:var(--navy);font-size:14px;font-weight:900}.chapter-menu button{display:grid;gap:2px;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.chapter-menu button small{color:var(--coral);font-size:10px;font-weight:900}.chapter-menu button span{font-size:13px;font-weight:900}.chapter-menu button.is-active{border-color:#2d8877;border-left:6px solid #2d8877;color:var(--navy);box-shadow:0 7px 18px rgba(23,54,95,.07)}.chapter-menu button:focus-visible{outline:3px solid #f0a597;outline-offset:3px}
.scenario-panel summary small{display:block;margin-top:3px;font-size:11px;font-weight:700;opacity:.9}.course-three-pages .mission,.course-three-pages .official,.course-three-pages .contact{min-height:auto}.course-three-pages .official{padding-bottom:60px}.course-three-pages .contact{padding-top:60px}.course-three-pages .contact>.course-controls{max-width:1100px;text-align:initial}
@media(max-width:820px){.course-three-pages #chapters{grid-template-columns:1fr;padding:60px 0}.chapter-menu{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-menu>p{grid-column:1/-1}.chapter-menu button:last-child{grid-column:1/-1}.course-three-pages #chapters>.chapter{padding:22px}}
.course-three-pages [hidden]{display:none!important}
@media(min-width:821px){.course-controls .course-prev{justify-self:start;width:auto}.course-controls .course-next{width:auto}}
#scene1 details{border-top:0}#scene1 summary{display:grid;justify-items:center;gap:8px;padding:24px;border:1px solid #f1c7bd;border-radius:22px;background:#fff7f4;color:var(--navy)}#scene1 summary small{max-width:420px;color:var(--muted);font-size:14px;opacity:1}#scene1 summary span{color:var(--coral);font-size:18px}#scene1 summary b{padding:10px 22px;border-radius:99px;background:var(--coral);color:#fff}#scene1 summary::after{display:none}#scene1 .hint-flow{display:block;margin-top:18px;padding:0;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}#scene1 .hint-flow section{padding:20px 24px}#scene1 .hint-flow section+section{border-top:1px solid var(--line)}#scene1 .hint-flow h4{margin:0 0 8px;color:var(--navy);font-size:16px}#scene1 .hint-flow p{margin:0;font-size:15px}#scene1 .hint-flow a{display:inline-flex;margin:4px 0;color:var(--red);font-weight:900}
.guided-hint{border-top:0!important}.guided-hint summary{display:grid!important;justify-items:center;gap:8px;padding:24px!important;border:1px solid #f1c7bd;border-radius:22px!important;background:#fff7f4!important;color:var(--navy)!important}.guided-hint summary small{max-width:440px;color:var(--muted)!important;font-size:14px!important;opacity:1!important}.guided-hint summary span{color:var(--coral);font-size:18px}.guided-hint summary b{padding:10px 22px;border-radius:99px;background:var(--coral);color:#fff}.guided-hint summary::after{display:none}.guided-hint .hint-flow{display:block!important;margin-top:18px!important;padding:0!important;border:1px solid var(--line);border-radius:20px!important;background:#fff!important;overflow:hidden}.guided-hint .hint-flow section{padding:20px 24px}.guided-hint .hint-flow section+section{border-top:1px solid var(--line)}.guided-hint .hint-flow h4{margin:0 0 8px;color:var(--navy);font-size:16px}.guided-hint .hint-flow p{margin:0;font-size:15px}.guided-hint .hint-flow a{display:inline-flex;margin:4px 0;color:var(--red);font-weight:900}
.scenarios .scenario-lead{font-size:19px}.scenario-menu>p{font-size:17px}.scenario-menu button{padding:17px 18px}.scenario-menu button small{font-size:12px}.scenario-menu button span{font-size:16px;line-height:1.55}.scenario-menu button em{font-size:13px}.scenario-panel>small{font-size:13px}.scenario-panel h3{font-size:clamp(30px,3.5vw,40px)}.scenario-panel>p,.scenario-panel>blockquote{font-size:17px}.guided-hint summary{font-size:19px}.guided-hint summary small{font-size:16px!important}.guided-hint summary b{font-size:16px}.guided-hint .hint-flow h4{font-size:19px}.guided-hint .hint-flow p{font-size:17px;line-height:1.9}.guided-hint .hint-flow a{font-size:16px}
.about-cards{display:grid;gap:12px}.about-cards section{padding:20px 22px;border-radius:18px;background:var(--mint2)}.about-cards h3{margin:0 0 7px;color:var(--navy)}.about-cards p{margin:0}.about-cards .official-mini{background:#fff3df}.official-mini a{color:var(--red);font-weight:900}.chapter-lead{padding:20px 22px;border-left:5px solid var(--coral);border-radius:0 18px 18px 0;background:#fff3ef;font-size:17px}.process-visual{margin:0}.process-visual img{display:block;width:100%;height:auto;border-radius:22px}.process-visual figcaption{margin-top:10px;color:var(--muted);font-size:12px;text-align:center}
.original-about{margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}.original-about>h3{margin:0 0 18px;color:var(--navy);font-size:22px}
