:root{color:#19342f;font-synthesis:none;--ink:#19342f;--muted:#506963;--teal:#0f766e;--teal-dark:#095c57;--mint:#e7f5f1;--line:#d4e4df;--white:#fff;--soft:#f0f7f5;--amber:#f4b942;--shadow:0 12px 35px #10433a14;background:#f8fbfa;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}*{box-sizing:border-box}html{font-size:17px}body{min-width:320px;margin:0;line-height:1.75}a{color:inherit}button,input{font:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--ink);color:#fff;z-index:99;padding:10px 16px;position:fixed;top:-80px;left:12px}.skip:focus{top:12px}.page{width:min(1120px,100% - 40px);margin-inline:auto}.narrow{max-width:760px}.section{padding-block:72px}.soft-section{background:var(--soft);width:100%}.soft-section.page,section.soft-section{padding-inline:max(20px,50% - 560px)}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.03em;font-size:clamp(2rem,5vw,3.6rem);line-height:1.2}h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.35}h3{line-height:1.45}.lead{color:var(--muted);max-width:760px;font-size:1.12rem}.hero-tagline{color:var(--teal);margin:0 0 14px;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:800;line-height:1.4}.eyebrow{color:var(--teal);letter-spacing:.12em;margin-bottom:12px;font-size:.78rem;font-weight:800;display:block}.muted{color:var(--muted)}.series-label{color:var(--teal);margin:0 0 6px;font-size:.85rem;font-weight:800}.back{color:var(--teal);margin-bottom:20px;font-weight:800;display:inline-block}.site-header{border-bottom:1px solid var(--line);z-index:20;background:#fffffff5;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 32px);min-height:76px;margin:auto;display:flex;position:relative}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:var(--teal);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-size:.85rem;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.72rem}.header-inner nav{align-items:center;gap:18px;display:flex}.header-inner nav a{color:var(--muted);font-size:.88rem;font-weight:700;text-decoration:none}.header-inner nav a.router-link-active{color:var(--teal)}.menu{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:44px;padding:8px 14px;display:none}.hero{background:radial-gradient(circle at 80% 15%,#c9eee4 0,#0000 28%),linear-gradient(150deg,#f9fcfb,#edf8f5);padding:88px 0 72px}.hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);align-items:center;gap:56px;display:grid}.actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.button{cursor:pointer;min-height:48px;color:inherit;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:10px 20px;font-weight:800;text-decoration:none;display:inline-flex}.button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--teal);color:#fff}.primary:hover{background:var(--teal-dark)}.secondary{border-color:var(--line);color:var(--ink);background:#fff}.loop-card{color:#fff;box-shadow:var(--shadow);background:#123f39;border-radius:28px;padding:32px}.loop-card>span{color:#aee8dc;font-size:.78rem;font-weight:800}.loop-card ol{counter-reset:n;margin:16px 0 0;padding:0;list-style:none}.loop-card li{counter-increment:n;border-bottom:1px solid #ffffff26;padding:10px 0}.loop-card li:before{content:counter(n);background:#2c756c;border-radius:50%;place-items:center;width:24px;height:24px;margin-right:12px;font-size:.75rem;display:inline-grid}.goal-section{padding-top:80px}.goal-hint{color:var(--teal);margin:0 0 16px;font-weight:800}.goal-contrast{background:var(--mint);color:var(--teal-dark);border-radius:10px;margin:0;padding:8px 12px;font-weight:800}.principle-list{counter-reset:principle;gap:12px;padding:0;list-style:none;display:grid}.principle-list li{counter-increment:principle;border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px 18px 16px 56px;font-weight:800;position:relative}.principle-list li:before{content:counter(principle);background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.85rem;display:grid;position:absolute;top:16px;left:16px}.principle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 36px;display:grid}.principle-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:22px}.principle-num{color:var(--teal);letter-spacing:.08em;margin:0 0 8px;font-size:.82rem;font-weight:900}.principle-card h3{margin:0 0 8px;font-size:1.08rem}.principle-card p{color:var(--muted);margin:0}.outcome-box{background:var(--mint);border:1px solid #b7d8d1;border-radius:12px;margin:0 0 14px;padding:14px 16px}.outcome-box span{color:var(--teal);letter-spacing:.06em;margin-bottom:4px;font-size:.78rem;font-weight:800;display:block}.outcome-box strong{font-size:1.08rem;line-height:1.5;display:block}.step-books{color:var(--teal-dark);margin:0 0 14px;font-weight:800}.compact-step p{margin-bottom:12px}.goal-grid,.step-grid,.textbook-grid,.level-grid{gap:16px;display:grid}.goal-grid,.textbook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-grid,.five-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.step-grid>*,.five-grid>*{grid-column:span 2}.step-grid>:nth-child(n+4),.five-grid>:nth-child(n+4){grid-column:span 3}.level-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.goal-card,.step-card,.textbook-card,.plain-card,.lesson-card,.result-card,.highlight-box{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:22px}.goal-card{gap:8px;text-decoration:none;display:grid}.goal-card:hover,.textbook-card:hover{border-color:#81bdb4}.coming-soon-card{background:var(--soft)}.card-meta,.badges{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.badge,.status{border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:800}.badge{background:var(--teal);color:#fff}.badge.soft{background:var(--mint);color:var(--teal-dark)}.badge.outline{color:var(--muted);border:1px solid var(--line);background:#fff}.status{border:1px dashed var(--line);color:var(--muted)}.skill-list{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.skill-list li{background:var(--mint);color:var(--teal-dark);border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:700}.card-actions,.mini-list{flex-wrap:wrap;gap:10px;display:flex}.mini-list{margin:0 0 12px;padding:0;list-style:none}.example,.next-hint{background:var(--soft);border-left:4px solid var(--teal);border-radius:8px;padding:12px 14px}.example-label{color:var(--teal);letter-spacing:.06em;margin:12px 0 6px;font-size:.78rem;font-weight:800}.example-list{color:var(--muted);margin:0;padding-left:1.2em}.example.example-list{padding-left:2em}.lesson-points{padding-left:1.2em}.lesson-link{margin:12px 0 0}.lesson-link a{color:var(--teal);font-weight:800}.cycle-list{gap:0;max-width:360px;margin:0 0 16px;padding:0;list-style:none;display:grid}.cycle-list li{background:var(--mint);text-align:center;border:1px solid #b7d8d1;border-radius:10px;padding:10px 14px;font-weight:800}.cycle-list li+li{margin-top:22px;position:relative}.cycle-list li+li:before{content:"↓";color:var(--teal);font-weight:900;line-height:22px;position:absolute;top:-22px;left:0;right:0}.coming-note{background:#fff7df;border-radius:12px;padding:16px;font-weight:700}.progress-indicator{flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none;display:flex}.progress-indicator a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-block}.progress-indicator .current a{background:var(--teal);color:#fff;border-color:var(--teal)}.progress-indicator span{letter-spacing:.06em;font-size:.68rem;display:block}.learning-map{gap:10px;margin:0;padding:0;list-style:none;display:grid}.map-start,.map-step-card{border-radius:16px;gap:4px;padding:18px 20px;display:grid}.map-start{color:#fff;text-align:center;background:#123f39;font-weight:900}.map-step-card{border:1px solid var(--line);background:#fff;text-decoration:none}.map-step-card span{color:var(--teal);font-size:.78rem;font-weight:800}.map-books{flex-wrap:wrap;gap:8px;padding:0 0 8px 18px;list-style:none;display:flex}.map-books a,.map-books span{background:var(--mint);border-radius:999px;padding:6px 12px;font-weight:700;text-decoration:none}.branch-box{margin-top:36px}.compare-wrap{margin-top:48px}.table-scroll{overflow-x:auto}.compare-table{border-collapse:collapse;background:#fff;width:100%;min-width:480px}.compare-table caption{text-align:left;margin-bottom:10px;font-weight:800}.compare-table th,.compare-table td{border:1px solid var(--line);text-align:left;padding:12px 14px}.compare-table a{color:var(--teal);font-weight:800}.diagnosis-question{border:0;margin:28px 0;padding:0}.diagnosis-question legend{margin-bottom:10px;font-size:1.2rem;font-weight:800}.choice-list{gap:8px;display:grid}.choice{background:var(--soft);cursor:pointer;border:2px solid #0000;border-radius:10px;align-items:center;gap:12px;min-height:52px;padding:12px 16px;display:flex}.choice.selected{border-color:var(--teal);background:var(--mint)}.choice:has(input:checked){border-color:var(--teal);background:var(--mint)}.choice input{width:20px;height:20px}.diagnosis-progress{margin:24px 0}.progress-track{background:var(--line);border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.progress-track span{background:var(--teal);height:100%;display:block}.result-step{color:var(--teal);font-weight:800}.result-block{margin:24px 0}.result-books{gap:16px;padding:0;list-style:none;display:grid}.highlight{background:var(--mint);border-radius:12px;padding:16px}.safety-notice{border-left:5px solid var(--amber);background:#fff7df;border-radius:10px;margin:28px 0;padding:16px 18px}.safety-notice a{color:var(--teal);font-weight:800}.safety-level{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}.safety-level-id{color:var(--teal);margin:0 0 6px;font-weight:900}.level-spectrum{background:var(--soft);border:1px solid var(--line);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 16px;margin:28px 0 32px;padding:16px 18px;display:grid}.level-spectrum p{color:var(--muted);margin:0;font-size:.88rem;font-weight:800}.level-spectrum ol{justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.level-spectrum li{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.level-spectrum li:first-child{background:#4aa89d}.level-spectrum li:nth-child(2){background:#2d8f84}.level-spectrum li:nth-child(3){background:#0f766e}.level-spectrum li:nth-child(4){background:#0b5f59}.level-spectrum li:nth-child(5){background:#094743}.part-list,.glossary{gap:14px;display:grid}.glossary div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.glossary dt{font-weight:800}.glossary dd{color:var(--muted);margin:6px 0 0}.case-stages{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.check-list,.flow-list,.process-list{padding-left:1.2em}.process-list{gap:8px;display:grid}.compare-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.highlight-card{border-color:var(--teal);background:var(--mint)}.system-block{margin-top:48px}.system-domain{scroll-margin-top:96px}.domain-nav{flex-wrap:wrap;gap:10px;margin:16px 0 8px;display:flex}.check-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.check-cards>:last-child{grid-column:1/-1}.wide-cycle{max-width:520px}.safety-callout{border:2px solid var(--teal);margin-top:36px}.bridge-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}blockquote{background:var(--soft);border-left:5px solid var(--teal);margin:16px 0 28px;padding:16px 18px}footer{color:#fff;background:#0d2f2a;padding:42px 0}.footer-inner{gap:18px;display:grid}.footer-inner p{color:#c8e1dc;margin:0}.footer-navs{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.footer-inner nav{gap:8px;display:grid}.footer-inner nav strong{color:#aee8dc;font-size:.82rem}.footer-inner nav a{color:#fff;font-weight:700}.footer-note{font-size:.82rem;line-height:1.7}.footer-copyright{color:#d7ebe7;border-top:1px solid #ffffff26;padding-top:12px;font-size:.82rem}@media (width<=1100px){.principle-grid,.step-grid,.five-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-grid>*,.step-grid>:nth-child(n+4),.five-grid>*,.five-grid>:nth-child(n+4){grid-column:auto}.step-grid>:last-child,.five-grid>:last-child{grid-column:1/-1}}@media (width<=900px){.header-inner nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:flex-start;padding:16px 24px;display:none;position:absolute;top:76px;left:0;right:0}.header-inner nav.open{display:flex}.menu{display:block}.hero-grid,.goal-grid,.step-grid,.five-grid,.textbook-grid,.compare-grid,.case-stages,.footer-navs,.principle-grid,.check-cards,.bridge-grid{grid-template-columns:1fr}.step-grid>:last-child,.five-grid>:last-child,.check-cards>:last-child{grid-column:auto}}@media (width<=600px){.page{width:min(100% - 28px,1120px)}.section{padding-block:48px}.hero{padding:56px 0}.actions .button,.card-actions .button{width:100%}.brand small{display:none}.compare-table{min-width:100%}.level-spectrum{text-align:center;grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
