:root{--ink:#101826;--muted:#607086;--line:#dce4ed;--bg:#f4f7fa;--paper:#fff;--blue:#1155cc;--cyan:#1eb5a6;--navy:#09233f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.75}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.7rem;z-index:9}a{color:inherit}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.logo{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:800}.logo i{font-style:normal;color:white;background:var(--navy);border-radius:10px;padding:8px}.logo span{display:grid}.logo small{font-weight:500;color:var(--muted);font-size:11px}.logo+nav{display:flex;gap:22px}.logo+nav a{text-decoration:none;font-size:14px}.hero{background:linear-gradient(135deg,#071e37,#123d66);color:#fff;padding:72px max(24px,7vw)}.hero .eyebrow,.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#72dbc9;font-size:12px}.hero h1{font-size:clamp(38px,6vw,76px);line-height:1.06;margin:14px 0 22px;max-width:900px}.hero p{max-width:710px;color:#dce9f5}.stats{display:flex;gap:30px;margin-top:36px}.stats b{font-size:30px}.stats span{display:block;font-size:12px;color:#b8cce0}.wrap{max-width:1180px;margin:auto;padding:64px 24px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-head h2{font-size:clamp(28px,4vw,46px);margin:4px 0}.section-head p{max-width:570px;color:var(--muted)}.route-grid,.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.route,.guide-card,.job-card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.route{text-decoration:none}.route b{color:var(--blue)}.route small{display:block;color:var(--muted)}.route:hover,.job-card:hover{border-color:#6c95db;transform:translateY(-2px);transition:.2s}.filterbar{background:#fff;border:1px solid var(--line);padding:18px;border-radius:18px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:22px}.filterbar input,.filterbar select{width:100%;padding:13px;border:1px solid #cbd6e2;border-radius:10px;background:#fff;font-size:15px}.results{color:var(--muted);margin:8px 0 18px}.job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.job-card{text-decoration:none;display:flex;flex-direction:column;gap:8px}.job-card h3{margin:0;font-size:19px}.tagline{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;background:#edf3fb;border-radius:99px;padding:4px 9px;color:#365879}.job-card p{margin:0;color:var(--muted);font-size:14px}.job-card b{margin-top:auto;color:var(--blue)}.notice{background:#eaf7f4;border-left:4px solid var(--cyan);padding:16px 18px;border-radius:8px}.detail-hero{padding:56px max(24px,7vw);background:#fff;border-bottom:1px solid var(--line)}.crumb{font-size:13px;color:var(--muted)}.detail-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.15;margin:20px 0 12px}.detail-layout{display:grid;grid-template-columns:1.6fr .8fr;gap:28px}.article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,4vw,48px)}.article h2{border-top:1px solid var(--line);padding-top:28px;margin-top:34px}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.fact{background:#f4f7fa;padding:14px;border-radius:10px}.fact small{display:block;color:var(--muted)}.check li{margin:.7rem 0}.side{display:grid;gap:14px;align-content:start}.cta{background:var(--navy);color:#fff;border-radius:18px;padding:24px}.cta a{display:block;background:#fff;color:var(--navy);text-decoration:none;font-weight:800;text-align:center;padding:12px;border-radius:9px;margin-top:14px}.cta p{color:#ccdaea;font-size:14px}.related a{display:block;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none}footer{background:#081a2c;color:#d5e0ea;padding:42px max(24px,7vw);display:grid;grid-template-columns:1fr auto;gap:24px}footer nav{display:flex;gap:18px}footer small{grid-column:1/-1;color:#8ea3b7}.page{max-width:900px;margin:auto;padding:60px 24px}.page h1{font-size:clamp(34px,5vw,54px)}.page section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin:18px 0}@media(max-width:800px){header nav{display:none}.route-grid,.guide-grid,.job-grid{grid-template-columns:1fr}.filterbar{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr}.stats{flex-wrap:wrap}.section-head{display:block}footer{grid-template-columns:1fr}footer nav{flex-wrap:wrap}}
.diag-teaser{background:#071e37;color:#fff;padding:64px max(24px,7vw);display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.diag-teaser h2{font-size:clamp(30px,4.5vw,54px);line-height:1.15;margin:.4rem 0}.diag-teaser p{color:#d6e5f2}.diag-cta,.primary-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:12px;background:#72dbc9;color:#06233b;padding:14px 22px;font-weight:900;font-size:15px;cursor:pointer}.diag-orbit{min-height:260px;position:relative;display:grid;place-items:center}.diag-orbit:before,.diag-orbit:after{content:"";position:absolute;border:1px solid #4b6e8f;border-radius:50%;inset:10%;animation:spin 18s linear infinite}.diag-orbit:after{inset:26%;animation-direction:reverse;animation-duration:12s}.diag-core{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 35% 30%,#72dbc9,#1155cc 72%);box-shadow:0 0 60px #1eb5a655;font-weight:900}.diag-core b{font-size:42px;display:block}@keyframes spin{to{transform:rotate(360deg)}}
.diagnosis-shell{max-width:1060px;margin:0 auto;padding:48px 24px 80px}.diagnosis-hero{text-align:center;padding:30px 0}.diagnosis-hero h1{font-size:clamp(34px,6vw,68px);line-height:1.08;margin:12px auto;max-width:850px}.diagnosis-hero>p{max-width:720px;margin:0 auto;color:var(--muted)}.level-track{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:34px 0}.level{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;text-align:center;color:var(--muted);font-size:12px}.level b{display:block;color:var(--ink)}.level.active{background:#0c3155;color:#bfeee5;border-color:#0c3155}.level.active b{color:#fff}.diagnosis-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,5vw,54px);box-shadow:0 20px 70px #19344c16;min-height:440px}.diag-start{text-align:center;display:grid;gap:18px;justify-items:center}.diag-start .mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:12px 0 18px}.mini-grid div{background:#f1f6fa;border-radius:12px;padding:16px}.progress{height:8px;background:#e8eef4;border-radius:99px;overflow:hidden;margin-bottom:34px}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1eb5a6,#1155cc);transition:.35s}.question-no{font-size:12px;letter-spacing:.16em;color:var(--blue);font-weight:900}.question-title{font-size:clamp(24px,4vw,38px);line-height:1.35;margin:12px 0 28px}.answer-grid{display:grid;gap:12px}.answer{border:1px solid #cdd9e5;background:#fff;border-radius:14px;padding:18px;text-align:left;font-size:16px;font-weight:700;cursor:pointer;transition:.2s}.answer:hover,.answer:focus{border-color:var(--blue);background:#edf4ff;transform:translateY(-2px)}.base-reveal,.final-reveal{display:grid;grid-template-columns:minmax(220px,.75fr) 1.25fr;gap:34px;align-items:center}.character-frame{position:relative;border-radius:24px;overflow:hidden;background:#071e37;aspect-ratio:1}.character-frame img{display:block;width:100%;height:100%;object-fit:cover}.evolve-flash{animation:evolve .9s ease both}@keyframes evolve{0%{filter:brightness(3) saturate(0);transform:scale(.86)}55%{filter:brightness(1.8);transform:scale(1.06)}100%{filter:none;transform:scale(1)}}.type-code{display:inline-block;background:#eaf2fb;color:#244f78;border-radius:99px;padding:5px 11px;font-size:12px;font-weight:900;letter-spacing:.1em}.reveal-copy h2{font-size:clamp(30px,5vw,54px);line-height:1.1;margin:12px 0}.reveal-copy h3{color:var(--blue)}.sleeping{margin:22px 0;padding:16px;border-left:4px solid var(--cyan);background:#eaf7f4}.ability-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.ability-badges span{border:1px solid var(--line);border-radius:10px;padding:9px;text-align:center;font-size:12px}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.result-cell{border:1px solid var(--line);border-radius:14px;padding:16px}.result-cell small{display:block;color:var(--muted)}.result-cell b{display:block;margin-top:4px}.job-recommend{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}.job-recommend a{background:#eff5fb;border-radius:12px;padding:13px;text-decoration:none;font-weight:800;font-size:13px}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.secondary-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b9c9d9;border-radius:12px;background:#fff;color:var(--ink);padding:13px 18px;font-weight:800;cursor:pointer;text-decoration:none}.type-catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.type-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none}.type-card img{width:100%;aspect-ratio:1;object-fit:cover;background:#071e37}.type-card div{padding:14px}.type-card small{color:var(--muted)}.type-card h2,.type-card h3{margin:4px 0}.type-detail-hero{background:#071e37;color:#fff;padding:56px max(24px,7vw)}.type-detail-hero .inner{max-width:1050px;margin:auto;display:grid;grid-template-columns:360px 1fr;gap:40px;align-items:center}.type-detail-hero img{width:100%;border-radius:24px}.type-detail-hero p{color:#cfdeec}.type-detail-body{max-width:1050px;margin:auto;padding:48px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.type-detail-body section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.type-detail-body .wide{grid-column:1/-1}@media(max-width:800px){.diag-teaser,.base-reveal,.final-reveal,.type-detail-hero .inner{grid-template-columns:1fr}.diag-orbit{min-height:210px}.level-track{grid-template-columns:repeat(5,130px);overflow:auto}.diag-start .mini-grid,.ability-badges,.result-grid,.type-detail-body{grid-template-columns:1fr}.job-recommend{grid-template-columns:repeat(2,1fr)}.type-catalog{grid-template-columns:repeat(2,1fr)}}