*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#edf7ff 0,#f9fcff 50%,#eef5ff 100%);color:#12315f}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:12px 22px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #dbe9f7}.brand{display:flex;align-items:center;gap:10px;color:#0f489b;text-decoration:none;font-weight:800}.brand img{width:44px;height:44px;object-fit:contain}.back-home{color:#0f489b;text-decoration:none;font-weight:700}.shell{max-width:1120px;margin:0 auto;padding:34px 18px 72px}.hero-panel{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center;padding:38px 44px;border-radius:30px;background:linear-gradient(135deg,#fff 0,#f1f9ff 60%,#dff0ff 100%);box-shadow:0 18px 60px rgba(38,94,151,.13);border:1px solid #d9ebfb;overflow:hidden}.eyebrow{display:inline-block;font-size:12px;letter-spacing:.16em;font-weight:900;color:#1466bd}.hero-panel h1{font-size:clamp(34px,5vw,58px);margin:8px 0 10px;line-height:1.08;color:#0b3f87}.catch{font-size:clamp(22px,3vw,32px);font-weight:900;margin:0 0 14px;color:#f08722}.lead{font-size:17px;line-height:1.8;margin:0;max-width:680px}.hero-character{text-align:center;position:relative}.hero-character:before{content:"";position:absolute;inset:12% 4%;border-radius:50%;background:radial-gradient(circle,#fff 0,#d9efff 58%,transparent 72%)}.hero-character img{position:relative;z-index:1;width:min(100%,240px);filter:drop-shadow(0 18px 26px rgba(24,74,130,.2))}.maker-card{margin-top:28px;background:#fff;border:1px solid #d8e9f7;border-radius:30px;padding:28px;box-shadow:0 18px 56px rgba(41,88,143,.11)}.progress-wrap{margin-bottom:26px}.progress-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;color:#56718f}.progress-meta strong{color:#0f489b}.progress{height:10px;background:#e7f0f8;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;width:16.666%;border-radius:999px;background:linear-gradient(90deg,#1475d4,#62b7ff);transition:width .25s ease}.step{display:none}.step.active{display:block}.guide{display:flex;align-items:center;gap:16px;padding:14px 18px;margin-bottom:20px;background:#edf7ff;border:1px solid #d5eafb;border-radius:20px}.guide img{width:62px;height:62px;object-fit:contain;flex:0 0 auto}.guide p{margin:0;font-size:16px;font-weight:700;line-height:1.65}.step h2{font-size:clamp(26px,4vw,38px);margin:0 0 22px;color:#123f7c}.field{margin:18px 0}.field label,legend{display:block;font-weight:900;margin-bottom:8px}.field small,legend small{font-weight:600;color:#70879e}.field input,.field select{width:100%;padding:15px 16px;border:2px solid #d8e7f4;border-radius:14px;background:#fff;font-size:16px;color:#17385f;outline:none}.field input:focus,.field select:focus{border-color:#61aef1;box-shadow:0 0 0 4px rgba(89,165,230,.13)}fieldset{border:0;padding:0;margin:24px 0}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}.choice-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.choice{border:2px solid #dbe8f4;background:#fff;border-radius:16px;padding:16px 12px;min-height:76px;font:inherit;font-weight:800;color:#23466d;cursor:pointer;transition:.18s ease}.choice:hover{transform:translateY(-2px);border-color:#9bcdf6}.choice.selected{border-color:#1876d1;background:#eef7ff;box-shadow:0 8px 20px rgba(27,112,191,.14);color:#0f489b}.choice img{width:96px;height:96px;object-fit:contain;display:block;margin:0 auto 8px}.hint{margin-top:-12px;color:#70879e}.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.job-card{border:2px solid #dbe8f4;border-radius:20px;padding:20px;background:linear-gradient(180deg,#fff,#f7fbff);cursor:pointer;text-align:left}.job-card:hover{border-color:#8fc6f2}.job-card.selected{border-color:#f2a248;background:#fff8ee;box-shadow:0 8px 24px rgba(240,135,34,.16)}.job-card strong{display:block;font-size:22px;color:#0f489b;margin-bottom:8px}.job-card span{color:#607c99;line-height:1.55}.other-jobs{margin-top:20px;border:1px solid #dfeaf4;border-radius:16px;padding:14px 16px}.other-jobs summary{cursor:pointer;font-weight:900;color:#0f489b}.hidden{display:none!important}.dual-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nav-actions,.result-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;flex-wrap:wrap}.btn{appearance:none;border:0;border-radius:999px;padding:13px 22px;font:inherit;font-weight:900;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:#f28a21;color:#fff;box-shadow:0 8px 20px rgba(242,138,33,.22)}.btn.secondary{background:#edf4fb;color:#184b84}.error{min-height:24px;color:#c73e2f;font-weight:800;margin-top:14px}.result-header{text-align:center}.profile-card{margin:26px auto 0;max-width:900px;display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;padding:30px;border-radius:28px;background:linear-gradient(135deg,#0e4c94,#1478c8 58%,#5ab0e6);color:#fff;box-shadow:0 24px 60px rgba(15,72,144,.25);overflow:hidden}.profile-visual{position:relative;min-height:350px;display:flex;align-items:center;justify-content:center}.profile-visual .glow{position:absolute;width:300px;height:300px;background:rgba(255,255,255,.18);border-radius:50%;filter:blur(2px)}.profile-visual img{position:relative;z-index:1;width:min(100%,300px);max-height:370px;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.22))}.profile-copy{display:flex;flex-direction:column;justify-content:center}.badge{font-size:11px;font-weight:900;letter-spacing:.15em;background:rgba(255,255,255,.16);padding:8px 12px;border-radius:999px;align-self:flex-start}.profile-copy h3{font-size:42px;margin:14px 0 4px}.profile-copy .job{font-size:25px;font-weight:900;margin:0 0 18px;color:#fff5dc}.profile-copy dl{margin:0}.profile-copy dl div{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.22)}dt{font-size:12px;font-weight:900;opacity:.78}dd{margin:4px 0 0;font-size:17px;font-weight:800}.profile-copy blockquote{margin:20px 0 0;padding:15px 18px;border-left:4px solid #ffd07c;background:rgba(255,255,255,.12);border-radius:0 14px 14px 0;font-weight:800;line-height:1.6}.prototype-note{text-align:center;color:#6e8498;font-size:13px;margin-top:18px}footer{text-align:center;padding:28px;color:#6f8397}.result-step .result-actions{justify-content:center}@media(max-width:760px){.topbar{padding:10px 14px}.brand span{font-size:13px}.back-home{font-size:12px}.shell{padding:18px 12px 54px}.hero-panel{grid-template-columns:1fr;padding:28px 22px;text-align:center}.hero-character img{width:170px}.maker-card{padding:20px 15px;border-radius:22px}.choice-grid,.choice-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid.two{grid-template-columns:1fr 1fr}.job-grid{grid-template-columns:1fr}.dual-fields{grid-template-columns:1fr}.guide{align-items:flex-start}.guide img{width:52px;height:52px}.profile-card{grid-template-columns:1fr;padding:22px}.profile-visual{min-height:260px}.profile-visual img{max-height:280px}.profile-copy h3{font-size:34px}.nav-actions{justify-content:stretch}.nav-actions .btn{flex:1}}@media print{body{background:#fff}.topbar,.hero-panel,.progress-wrap,.result-header,.result-actions,.prototype-note,footer,.error,.nav-actions{display:none!important}.shell,.maker-card{padding:0;margin:0;max-width:none;box-shadow:none;border:0}.step{display:none!important}.result-step{display:block!important}.profile-card{page-break-inside:avoid;box-shadow:none;margin:0;min-height:260mm;border-radius:0}}
