:root{--ink:#142033;--muted:#687587;--line:#dce4ec;--bg:#f5f8fb;--white:#fff;--blue:#2b6df3;--cyan:#00a7c7;--dark:#101a29}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,YakuHanJP, "Noto Sans JP","Yu Gothic",sans-serif;color:var(--ink);background:var(--bg);line-height:1.8}
a{text-decoration:none;color:inherit}.wrap{width:min(1120px,92%);margin:auto}
header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav{height:64px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:14px;font-weight:900;letter-spacing:.08em}.logo small{display:block;color:var(--blue);font-size:9px;letter-spacing:.16em}
.links{display:flex;gap:20px;font-size:12px;font-weight:800;color:#536174}.links a:hover{color:var(--blue)}
.btn{display:inline-flex;padding:13px 22px;border-radius:999px;font-size:14px;font-weight:900;border:1px solid var(--line);background:#fff}.btn.blue{background:var(--blue);color:#fff;border-color:var(--blue)}
.oc .btn:not(.blue){color:var(--ink);background:#fff;border-color:#fff}
.hero{min-height:690px;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 80% 25%,rgba(43,109,243,.18),transparent 28%),radial-gradient(circle at 20% 80%,rgba(0,167,199,.12),transparent 28%),linear-gradient(135deg,#edf5ff,#fff 55%,#edfafd)}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:900;color:var(--blue)}h1{font-size:clamp(44px,6vw,76px);line-height:1.1;letter-spacing:-.04em;margin:18px 0}h1 span{color:var(--blue)}
.hero p{max-width:650px;color:#536174;font-size:17px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.visual{position:absolute;right:4%;top:13%;width:480px;height:480px}.orbit{position:absolute;border:1px solid rgba(43,109,243,.22);border-radius:50%}.o1{inset:5%;transform:rotate(-12deg)}.o2{inset:20%;transform:rotate(18deg)}.o3{inset:35%;transform:rotate(-20deg)}
.node{position:absolute;background:#fff;padding:12px 17px;border-radius:17px;box-shadow:0 15px 35px rgba(20,40,70,.12);font-size:12px;font-weight:900}.n1{right:2%;top:9%}.n2{left:0;top:43%}.n3{right:9%;bottom:10%}.n4{left:30%;bottom:26%}
.center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:145px;height:145px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;text-align:center;font-weight:900;box-shadow:0 25px 55px rgba(16,26,41,.28)}.center small{display:block;color:#9fc2ff;font-size:9px;letter-spacing:.16em}
section{padding:96px 0}.head{max-width:760px;margin-bottom:45px}.head h2{font-size:clamp(30px,4vw,48px);line-height:1.25;margin:8px 0 15px;letter-spacing:-.03em}.head p{color:var(--muted)}
.industry{background:#fff}.keywords{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.keyword{padding:26px 12px;text-align:center;border:1px solid var(--line);border-radius:20px;background:#f8fafc}.keyword strong{display:block;font-size:20px}.keyword small{color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.step{padding:24px;border-left:3px solid var(--blue);background:#f7f9fc}.step b{color:var(--blue);font-size:12px}
.special{background:var(--dark);color:#fff}.special .head p{color:#b9c4d2}.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.q{border:1px solid #2d3b50;border-radius:24px;overflow:hidden;background:#192538}.qtitle{padding:17px 20px;border-bottom:1px solid #2d3b50;font-weight:900}.answers{display:grid;grid-template-columns:1fr 1fr}.ans{padding:22px}.ans:first-child{border-right:1px solid #2d3b50}.tag{display:inline-block;padding:3px 8px;border-radius:999px;background:#26374e;color:#9ec1ff;font-size:10px;font-weight:900}.ans h4{margin:10px 0 6px}.ans p{margin:0;color:#c4cfdd;font-size:13px}.note{text-align:center;color:#96a5b7;font-size:12px;margin-top:22px}
.reform{background:#f1f5fa}.reformbox{background:#fff;border:1px solid var(--line);border-radius:30px;padding:46px;display:flex;justify-content:space-between;align-items:center;gap:30px}.reformbox h3{font-size:32px;line-height:1.3;margin:8px 0}.reformbox p{color:var(--muted);margin:0}
.majors{background:#fff}.majorgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.major{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:26px;padding:30px;background:linear-gradient(145deg,#fff,#f7faff);min-height:245px}.major:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-55px;top:-55px;background:rgba(43,109,243,.07)}.major .num{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.15em}.major h3{font-size:25px;margin:9px 0}.major b{font-size:15px}.major p{color:var(--muted);font-size:13px}
.diag{background:linear-gradient(135deg,#edf5ff,#f7fcff)}.diaggrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.diagintro{background:var(--dark);color:#fff;border-radius:28px;padding:34px}.diagintro h2{font-size:35px;line-height:1.3;margin:8px 0}.diagintro p{color:#b8c4d2}.diagbox{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px}.progress{font-size:10px;color:var(--blue);font-weight:900;letter-spacing:.12em}.question{font-size:21px;font-weight:900;margin:8px 0 20px;line-height:1.5}.options{display:grid;gap:10px}.option{border:1px solid var(--line);border-radius:14px;padding:15px 16px;background:#fff;text-align:left;font-weight:800;cursor:pointer;line-height:1.6;transition:.15s}.option:hover{border-color:var(--blue);background:#e9e5ff}.option.selected{border-color:var(--blue);background:#e9e5ff;color:var(--blue)}.diag-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.diag-actions .btn{cursor:pointer}.diag-actions .btn:disabled{opacity:.4;cursor:default}.result{display:none;margin-top:18px;padding:22px;border-radius:20px;background:#e9e5ff;border:1px solid #d9e6ff}.result.show{display:block}.result-label{font-size:11px;color:var(--blue);font-weight:900;letter-spacing:.1em}.result h3{font-size:27px;margin:5px 0 8px}.result p{font-size:13px;color:var(--muted);margin:6px 0}.result ul{margin:12px 0 16px;padding-left:20px;color:var(--ink);font-size:13px}.result .result-note{font-size:11px;color:var(--muted)}
.detail-section{background:#fff}.details{display:grid;gap:16px}.detail-card{border:1px solid var(--line);border-radius:22px;padding:25px;display:grid;grid-template-columns:250px 1fr;gap:25px}.detail-card h3{margin:0 0 4px;font-size:23px}.detail-card .old{font-size:10px;color:var(--muted)}.detail-card p{margin:0;color:var(--muted);font-size:13px}

/* 4専攻詳細：タブ切り替え */
.major-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.major-tab{appearance:none;border:1px solid var(--line);background:#f7f9fc;border-radius:16px;padding:16px 14px;text-align:left;cursor:pointer;color:var(--ink);font:inherit;font-weight:900;line-height:1.45;min-height:72px;transition:.18s}
.major-tab:hover{border-color:#a9c3f5;background:#e9e5ff}
.major-tab.active{background:var(--dark);color:#fff;border-color:var(--dark);box-shadow:0 10px 25px rgba(16,26,41,.12)}
.major-tab .tab-num{display:block;font-size:10px;letter-spacing:.12em;color:var(--blue);margin-bottom:4px}
.major-tab.active .tab-num{color:#9fc2ff}
.major-panels{position:relative}
.major-panel{border:1px solid var(--line);border-radius:26px;padding:32px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:0 12px 30px rgba(20,40,70,.05)}
.major-panel[hidden]{display:none}
.panel-top{display:grid;grid-template-columns:1.15fr .85fr;gap:25px;align-items:end;padding-bottom:25px;border-bottom:1px solid var(--line)}
.panel-num{font-size:10px;color:var(--blue);font-weight:900;letter-spacing:.14em}.panel-top h3{font-size:30px;line-height:1.25;margin:7px 0 2px}.panel-top .old{font-size:10px;color:var(--muted)}
.panel-catch{font-size:18px;font-weight:800;line-height:1.5;padding:17px 20px;border-left:4px solid var(--blue);background:#eef5ff;border-radius:0 14px 14px 0}.panel-catch strong{display:block;color:var(--blue);font-size:22px}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.panel-block{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}.panel-block>span{display:block;font-size:10px;letter-spacing:.08em;color:var(--blue);font-weight:900;margin-bottom:9px}.panel-block p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.panel-block ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px}.panel-block li+li{margin-top:4px}
.panel-block.career{grid-column:span 2;background:#f7f9fc}.career-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--ink);font-size:12px}.career-flow b{padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:9px}.career-flow i{font-style:normal;color:var(--blue);font-weight:900}.career-flow strong{padding:9px 12px;background:#eef5ff;border-radius:9px;color:var(--ink);font-size:12px}
.panel-block.interview{grid-column:span 2;background:var(--dark);border-color:var(--dark);color:#fff}.interview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.interview-grid>div{padding:18px;border:1px solid #34475f;border-radius:14px;background:#192538}.interview-grid small{font-size:9px;letter-spacing:.14em;color:#9fc2ff;font-weight:900}.interview-grid h4{font-size:16px;line-height:1.45;margin:7px 0}.interview-grid p{color:#b9c4d2;margin:0;font-size:12px}
@media(max-width:850px){.major-tabs{grid-template-columns:1fr 1fr}.panel-top{grid-template-columns:1fr}.panel-grid{grid-template-columns:1fr}.panel-block.career,.panel-block.interview{grid-column:auto}.interview-grid{grid-template-columns:1fr}}
@media(max-width:560px){.major-tabs{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:thin}.major-tab{flex:0 0 220px;min-height:66px}.major-panel{padding:22px 16px;border-radius:20px}.panel-top h3{font-size:25px}.panel-catch{font-size:15px}.panel-catch strong{font-size:19px}.career-flow{display:block}.career-flow>*{display:block;margin-bottom:7px}.career-flow i{text-align:center}}

.voice{background:#f2f5f8}.voicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.voicecard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px}.company{font-size:11px;color:var(--blue);font-weight:900}.voicecard h3{margin:7px 0 12px;font-size:18px}.voicecard p{font-size:13px;color:var(--muted)}
.learning{background:#fff}.learngrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.learn{border:1px solid var(--line);border-radius:20px;padding:23px}.learn b{font-size:10px;color:var(--blue)}.learn h3{margin:7px 0;font-size:17px}.learn p{font-size:12px;color:var(--muted)}
.oc{background:linear-gradient(135deg,#0f1a29,#1b2c45);color:#fff}.oc .head p{color:#bac6d5}.ocbox{border:1px solid #34475f;border-radius:28px;padding:35px;background:rgba(255,255,255,.04)}.ocgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.occard{background:#fff;color:var(--ink);border-radius:18px;padding:20px}.occard b{color:var(--blue);font-size:10px}.occard h3{margin:5px 0;font-size:17px}
footer{background:#0b121d;color:#9eabba;padding:45px 0;font-size:11px}
@media(max-width:850px){.links{display:none}.visual{opacity:.22;right:-20%;width:70vw}.keywords,.steps,.voicegrid,.learngrid{grid-template-columns:1fr 1fr}.compare,.diaggrid,.majorgrid,.reformbox,.ocgrid{grid-template-columns:1fr;display:grid}.detail{grid-template-columns:1fr}.answers{grid-template-columns:1fr}.ans:first-child{border-right:0;border-bottom:1px solid #2d3b50}}
@media(max-width:560px){section{padding:68px 0}.keywords,.steps,.voicegrid,.learngrid{grid-template-columns:1fr}.hero{min-height:700px}h1{font-size:44px}}


section{
    padding: 0;
}
body{
    font-family: YakuHanJP, "Noto Sans JP", sans-serif !important;
}
footer{
    padding: 0;
}