@charset "utf-8";
/* ============================================================
   hikaku2026.css
   2026年9月 改訂分の追加スタイル。
   既存の common.css / sp.css / pc.css は変更していません。
   pc.css の後に読み込んでください。
   ブレークポイントは既存CSSと同じ 912px / 913px。
   ============================================================ */

/* ---- 料金テキスト表 ---- */
.d-tbl{overflow-x:auto;margin-top:10px}
table.d-price{border-collapse:collapse;width:100%;font-size:14px;min-width:300px;background:#fff;
  font-family:"Noto Sans JP",sans-serif}
table.d-price th,table.d-price td{border:1px solid #D7DEE8;padding:9px 12px;line-height:1.7;text-align:left}
table.d-price thead th{background:#EEF3F9;font-weight:700;font-size:12.5px;letter-spacing:.03em}
table.d-price thead th:not(:first-child){text-align:right}
table.d-price tbody th{background:#F8FAFC;font-weight:500;white-space:nowrap}
table.d-price td.y{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;
  text-align:right;white-space:nowrap;font-weight:600}

/* ---- 定義リスト ---- */
dl.d-kv{display:grid;grid-template-columns:auto 1fr;gap:1px;background:#D7DEE8;border:1px solid #D7DEE8;
  margin:10px 0 0;font-family:"Noto Sans JP",sans-serif}
dl.d-kv dt{background:#F8FAFC;padding:9px 13px;font-size:12.5px;font-weight:700;white-space:nowrap;line-height:1.6}
dl.d-kv dd{background:#fff;padding:9px 13px;margin:0;font-size:13.5px;line-height:1.8}
dl.d-kv dd b{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
@media screen and (max-width:640px){
  dl.d-kv{grid-template-columns:1fr}
  dl.d-kv dt{white-space:normal}
}

/* ---- 注記 ---- */
.d-note{margin-top:8px;font-size:12px;color:#555;line-height:1.9;text-align:left;
  font-family:"Noto Sans JP",sans-serif;font-weight:400}
.d-imgnote{margin-top:10px;padding:10px 13px;background:#FFF6E3;border-left:3px solid #E0A32B;
  font-size:12.5px;line-height:1.85;color:#4A3A12;text-align:left;font-weight:400}
.d-imgnote.d-bad{background:#FDECEA;border-left-color:#C2410C;color:#7A2410}
.d-h3{margin-top:22px !important}

/* ---- 新設セクション ---- */
.d-sec{background:#F4F7FB;padding:44px 0 46px;position:relative}
.d-sech2{font-size:clamp(19px,2.6vw,27px);font-weight:700;line-height:1.55;text-align:center;
  letter-spacing:.04em;margin:0 0 18px;color:#050D3C}
.d-sech2.d-mt{margin-top:44px}
.d-lead{font-size:14.5px;line-height:2;text-align:center;margin:0 auto 18px;max-width:720px;font-weight:500}
.d-lead.d-sm{font-size:13px;color:#41505F;margin-top:14px;font-weight:400}
.d-crit{display:grid;gap:1px;background:#C9D4E2;border:1px solid #C9D4E2;border-radius:10px;overflow:hidden}
.d-crit>div{background:#fff;padding:17px 22px;display:grid;grid-template-columns:44px 1fr;gap:0 12px;align-items:start}
.d-crit .cn{font-family:"IBM Plex Mono",monospace;font-size:19px;font-weight:600;color:#2980B9;line-height:1.4}
.d-crit b{display:block;font-size:15px;line-height:1.6;margin-bottom:4px}
/* 説明文中の <b> は行内のまま。見出しの <b> だけ block にする */
.d-crit span:not(.cn) b{display:inline;font-size:inherit;line-height:inherit;margin:0;font-weight:700;color:#0D3252}
.d-crit span:not(.cn){display:block;font-size:13px;color:#55616F;line-height:1.85}

/* ---- 一覧表 ---- */
.d-ovwrap{overflow-x:auto;border:1px solid #C9D4E2;border-radius:10px;background:#fff}
table.d-ov{border-collapse:collapse;width:100%;font-size:12.5px;min-width:900px;font-family:"Noto Sans JP",sans-serif}
table.d-ov th,table.d-ov td{border-bottom:1px solid #E2E8F0;border-right:1px solid #E2E8F0;
  padding:11px 13px;vertical-align:top;line-height:1.7;text-align:left}
table.d-ov thead th{background:#050D3C;color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.04em;
  white-space:nowrap;border-bottom:none;text-align:center}
table.d-ov thead th:nth-child(-n+5){text-align:left}
table.d-ov tbody th{font-weight:700;white-space:nowrap;background:#F6F9FC}
table.d-ov tbody td:nth-child(n+6){text-align:center;vertical-align:middle}
table.d-ov tr:last-child th,table.d-ov tr:last-child td{border-bottom:none}
table.d-ov th:last-child,table.d-ov td:last-child{border-right:none}
table.d-ov tr.us th,table.d-ov tr.us td{background:#EAF2FD}
table.d-ov .y{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;white-space:nowrap}
table.d-ov i{font-style:normal;font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:15px}
table.d-ov i.o{color:#0E7C5A}
table.d-ov i.t{color:#9AA5B4}
table.d-ov i.x{color:#C2410C}

/* ---- 新規カード ---- */
.d-newbadge{background:#0E7C5A !important;color:#fff !important;font-size:12px !important;
  font-weight:700;padding:4px 10px !important;border-radius:3px;margin-left:14px;letter-spacing:.06em;
  width:auto !important;vertical-align:middle;line-height:1 !important;display:inline-block}
.ranking .d-newcard{margin-top:26px}
.ranking .d-newcard h2.d-rk2{padding-left:35px}
.ranking .d-newcard h2.d-rk2::before{display:none}
.ranking .under.d-newrow{margin-top:26px}
.ranking .under .box.d-nobadge h2{padding-left:20px}
.ranking .under .box.d-nobadge h2::before{display:none !important}
.ranking .d-newcard .text{margin-top:18px}

@media screen and (max-width:912px){
  
  
  
  .d-sec{padding:32px 0 34px}
  .d-crit>div{grid-template-columns:1fr;gap:5px}
  
  
}

/* ---- 追記：累計 vs 単年度 / なぜ差がつくか ---- */
.d-xs{display:block;font-size:10.5px;color:#6B7889;line-height:1.6;font-family:"Noto Sans JP",sans-serif;
  font-weight:400;margin-top:3px}
/* ---- 受講料比較セクション（C-13） ---- */
.d-fee{margin:34px auto 0;max-width:1000px;background:#fff;border:1px solid #C9D4E2;
  border-radius:12px;padding:26px 24px 22px}
.d-feeh{font-size:20px;font-weight:700;line-height:1.5;color:#0D3252;text-align:center;margin-bottom:12px}
.d-feelead{font-size:13.5px;line-height:1.85;color:#33414F;margin-bottom:16px}
.d-feepoint{margin-top:14px;padding:12px 16px;background:#EAF2FD;border-radius:8px;
  font-size:14.5px;line-height:1.75;color:#0D3252;font-weight:500}
.d-persona{background:#0D3252;color:#fff;border-radius:9px;padding:16px 20px;margin-bottom:16px}
.d-plabel{display:inline-block;background:#fff;color:#0D3252;font-size:11px;font-weight:700;
  letter-spacing:.08em;padding:3px 10px;border-radius:3px;margin-bottom:10px}
.d-persona dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13.5px;line-height:1.6}
.d-persona dt{font-weight:700;white-space:nowrap;color:#9FC6EA}
.d-persona dd{margin:0}
table.d-ov3 td.d-brk{text-align:left;font-family:"Noto Sans JP",sans-serif;
  font-size:12px;line-height:1.75;white-space:normal}
table.d-ov3 td.d-brk small{margin-top:5px;color:#75828F}
.d-res{display:block;margin-top:7px;padding-top:7px;border-top:1px dotted #C9D4E2;
  font-size:11px;font-weight:500;color:#5A6875;font-family:"Noto Sans JP",sans-serif}
.d-res b{font-family:"IBM Plex Mono",monospace;font-size:13px}
.d-rhit{color:#0E7C5A}
.d-rmiss{color:#C2410C;font-family:"Noto Sans JP",sans-serif !important;font-size:12px !important}
table.d-ov3{min-width:720px}
table.d-ov3 thead th{text-align:left}
table.d-ov3 thead th:nth-child(n+2){text-align:right}
table.d-ov3 tbody th{white-space:normal;line-height:1.5}
table.d-ov3 tbody th small,table.d-ov3 tbody td small{display:block;font-size:10.5px;
  font-weight:500;color:#75828F;margin-top:2px;font-family:"Noto Sans JP",sans-serif}
table.d-ov3 tbody td{text-align:right;vertical-align:middle;line-height:1.5}
@media screen and (max-width:912px){
  .d-fee{margin-top:26px;padding:18px 14px 16px;border-radius:9px}
  .d-feeh{font-size:16.5px}
  .d-feelead{font-size:12.5px}
  .d-feepoint{font-size:13px;padding:10px 12px}
  .d-persona{padding:13px 14px}
  .d-persona dl{grid-template-columns:1fr;gap:2px;font-size:12.5px}
  .d-persona dt{margin-top:6px}
}
.d-ovwrap.d-ovnarrow{max-width:560px;margin-left:auto;margin-right:auto}
table.d-ov.d-ov2.d-ov2b{min-width:0;width:100%}
table.d-ov.d-ov2b tbody td:nth-child(2){width:45%}
table.d-ov.d-ov2b tbody th{vertical-align:middle;padding-left:22px}
table.d-ov.d-ov2b thead th:last-child{text-align:center}
table.d-ov2b tbody td:nth-child(2){text-align:center;vertical-align:middle;width:180px}
table.d-ov.d-ov2b tbody td:nth-child(3){text-align:left;font-family:"Noto Sans JP",sans-serif;
  font-size:12.5px;line-height:1.7;white-space:normal}
table.d-ov.d-ov2b tbody td small{text-align:left}
table.d-ov2b tbody td small{display:block;font-size:10.5px;font-weight:500;color:#75828F;margin-top:3px}
.d-hit{font-size:19px;color:#0E7C5A;font-family:"IBM Plex Mono",monospace}
.d-miss{font-size:17px;color:#C2410C}
@media screen and (max-width:912px){
  table.d-ov2b tbody td:nth-child(2){width:120px}
  .d-hit{font-size:16px}.d-miss{font-size:14.5px}
}
table.d-ov2{min-width:660px}
table.d-ov2 thead th{text-align:left}
table.d-ov2 tbody td:nth-child(n+2){text-align:left}
table.d-ov2 tbody td:last-child{text-align:center;vertical-align:middle;white-space:nowrap}
table.d-ov2 tbody td:nth-child(4){font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;
  font-weight:600;white-space:nowrap}
.d-crit.d-why .cn{color:#0E7C5A;font-size:17px}
.d-crit.d-why>div{grid-template-columns:34px 1fr}

/* ---- 追記：具体例ブロック ---- */
.d-case{margin-top:18px;border:1px solid #C9D4E2;border-radius:10px;overflow:hidden;background:#fff}
.d-case-h{background:#0E7C5A;color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.06em;
  padding:9px 20px;font-family:"Noto Sans JP",sans-serif}
.d-case-b{padding:20px 24px}
.d-case-b p{font-size:14px;line-height:2;margin:0;text-align:left;font-weight:500}
.d-case-b p.d-case-p{font-size:13px;color:#41505F;font-weight:400;margin-top:14px}
ul.d-case-ul{margin:14px 0 0;padding:0 0 0 1.3em;list-style:disc}
ul.d-case-ul li{font-size:13px;line-height:1.95;margin-bottom:6px;color:#33404E}
ul.d-case-ul li::marker{color:#0E7C5A}

/* =========================================================
   C-3　ファーストビュー直下のアイコン 5box → 4box
   「各大学の情報」を削除し「合格実績」を先頭へ。
   4つになるぶん1つあたりを大きくし、余白を広げて可読性を上げる。
   ========================================================= */

.kv_bottom .box{z-index:3}

@media screen and (min-width:913px){
  /* .branch_point は margin-top:-138px で食い込む設計。
     ボックスを大きくしたぶん帯を伸ばし、現行と同じ45px前後の余白を確保する。 */
  .kv_bottom{height:292px}
  .kv_bottom .box{top:-86px}
  .kv_bottom .item{
    width:186px;height:186px;margin:0 22px;padding:14px;border-radius:6px;
  }
  .kv_bottom .icon{width:94px;padding-top:20px}
  .kv_bottom .text{height:58px;font-size:20px;letter-spacing:.08em}
}

@media screen and (max-width:912px){
  .kv_bottom{height:96vw}
  .kv_bottom .box{top:-24vw}
  .kv_bottom .item{
    width:36vw;height:36vw;margin:4vw 3vw 0;padding:2.5vw;border-radius:1.2vw;
  }
  .kv_bottom .icon{width:17vw;padding-top:3vw}
  .kv_bottom .text{height:13vw;font-size:4.3vw;letter-spacing:.06em}
}

/* =========================================================
   C-4　「こんなお悩みありませんか？」の文言差し替え
   幅は広げられない（.acc イラストが right:50px / 幅366px にいて、
   元の 460px でもう接している）。そこで長い項目だけ組みを詰め、
   1行ものと高さが揃うよう min-height で受ける。
   ========================================================= */

@media screen and (min-width:913px){
  /* display:flex は使わない。インライン内容が行ごとに
     別々のフレックスアイテムへ分解され、余計な改行が入るため。 */
  .trouble .item.d-long{
    font-size:20px;letter-spacing:.02em;line-height:1.5;
    padding-top:17px;padding-bottom:17px;
  }
}
@media screen and (max-width:912px){
  .trouble .item.d-long{
    font-size:3.4vw;letter-spacing:.01em;line-height:1.55;
    padding-top:3.1vw;padding-bottom:3.1vw;
  }
}

/* =========================================================
   C-5　チャンス02「試験科目が少なく学習しやすい！」
   カードは 396px 幅・内容領域 316px。実例4件を収める。
   ========================================================= */
.d-hook{
  margin:0 0 14px;font-size:14.5px;line-height:1.75;font-weight:700;color:#0D3252;text-align:center;
  font-family:"Noto Sans JP",sans-serif;letter-spacing:.01em;
}
.d-hook b{color:#D90000}
.d-hook .d-big{font-size:22px;letter-spacing:.02em}

.d-ex{display:grid;gap:7px;text-align:left}
.d-ex-g{
  font-size:11.5px;font-weight:900;letter-spacing:.14em;color:#fff;
  padding:3px 12px;border-radius:3px;justify-self:start;line-height:1.5;
}
.d-ex-b{background:#295498}
.d-ex-r2{background:#2980B9;margin-top:5px}
.d-ex-r{border-left:3px solid #C8D6E8;padding-left:10px}
.d-ex-u{
  margin:0;font-size:13px;font-weight:700;color:#0D3252;line-height:1.55;letter-spacing:0;
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.d-ex-n{
  font-size:12px;font-weight:900;color:#D90000;white-space:nowrap;
  border:1.5px solid #D90000;border-radius:3px;padding:0 6px;line-height:1.6;
}
.d-ex-s{margin:2px 0 0;font-size:12.5px;line-height:1.7;color:#334A60;letter-spacing:0}
.d-ex-s sup{font-size:9px;vertical-align:super;color:#D90000}
.d-ex-note{
  margin:12px 0 0;font-size:10.5px;line-height:1.7;color:#7A8794;text-align:left;letter-spacing:0;
  font-family:"Noto Sans JP",sans-serif;font-weight:400;
}
/* 実例が増えるぶんアイコンを少し小さくして間延びを防ぐ */
.chance .item:nth-child(2) .icon{width:96px}

@media screen and (max-width:912px){
  .d-hook{font-size:3.7vw;margin-bottom:3vw}
  .d-hook .d-big{font-size:5.6vw}
  .d-ex{gap:1.8vw}
  .d-ex-g{font-size:3vw;padding:.6vw 3vw}
  .d-ex-r{border-left-width:.8vw;padding-left:2.6vw}
  .d-ex-u{font-size:3.4vw;gap:2vw}
  .d-ex-n{font-size:3.1vw;padding:0 1.5vw}
  .d-ex-s{font-size:3.3vw}
  .d-ex-note{font-size:2.8vw;margin-top:3vw}
  .chance .item:nth-child(2) .icon{width:24vw}
}

/* カードが増えた分 flex の stretch で隣のカードが間延びするため、
   改訂案では各カードを内容の高さに合わせる。 */
.chance .wrap{align-items:flex-start}

/* =========================================================
   C-7　チャンス一覧をPCで縦並びに
   396px の2カラムカードだと内容量の差でレイアウトが崩れるため、
   1項目1行のフル幅に変更。アイコンは左、本文は右に置いて幅を活かす。
   ========================================================= */
@media screen and (min-width:913px){
  .chance .wrap{display:block;padding:110px 70px 0}
  .chance .item{width:100%;margin-top:28px}
  .chance .wrap .item:nth-child(even){padding-top:0}
  .chance .wrap .item:first-child{margin-top:0}
  .chance .num{font-size:60px;line-height:1}
  .chance .box{margin-top:-30px;padding-top:30px}
  .chance .title{font-size:26px;padding:9px 5px}
  .chance .inner{
    display:flex;align-items:flex-start;gap:34px;padding:24px 44px 28px;
  }
  .chance .icon{width:104px;margin:0;flex:0 0 auto;padding-top:2px}
  .chance .text_box{flex:1 1 auto;min-width:0;padding-top:0;font-size:19px;line-height:1.85}

  /* 02 の実例は横幅が使えるので 文系｜理系 の2列に */
  .d-hook{font-size:18px;margin-bottom:20px}
  .d-hook .d-big{font-size:30px}
  .d-ex{grid-template-columns:1fr 1fr;gap:26px;align-items:start}
  .d-ex-u{font-size:15px}
  .d-ex-s{font-size:14px}
  .d-ex-n{font-size:13px}
  .d-ex-g{font-size:12.5px}
  .d-ex-note{font-size:11.5px;margin-top:16px}
  /* 縦並びでは 01 の間延び対策は不要 */
  .chance .item:nth-child(2) .icon{width:104px}
}
.d-ex-col{display:grid;gap:7px;align-content:start}

/* =========================================================
   C-9　POINT 02 に「個別計画」カードを追加
   PCは 283px×3 の横並びだったので、4枚に合わせて幅を詰める。
   タイトルが1行のカードでもアイコン位置が揃うよう min-height を持たせる。
   ========================================================= */

@media screen and (min-width:913px){
  .point_2 .item{width:207px;padding:18px 14px 22px}
  .point_2 .symbol{width:76px}
  .point_2 .title{margin-top:18px;font-size:21px;min-height:2.4em;line-height:1.2}
  .point_2 .title small{font-size:17px}
  .point_2 .icon{width:104px;margin-top:6px}
  .point_2 .text{margin-top:14px;font-size:14px;line-height:1.55}
}

/* =========================================================
   C-10　比較一覧を実サイトのマトリクス形式（rank_table）で再現し6校に拡張
   元は1枚画像（rank_table/pc.webp）。HTML化して列を追加できるようにする。
   ========================================================= */
.d-mtx-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #C9D4E2;border-radius:10px;background:#fff}
table.d-mtx{border-collapse:separate;border-spacing:0;min-width:1080px;width:100%;
  font-family:"Noto Sans JP",sans-serif;background:#fff;table-layout:fixed}
table.d-mtx col.d-mtx-c0{width:120px}
table.d-mtx col:not(.d-mtx-c0){width:160px}

table.d-mtx th,table.d-mtx td{border-right:1px solid #DCE3EC;border-bottom:1px solid #DCE3EC;
  padding:11px 9px;text-align:center;vertical-align:middle;line-height:1.5}
table.d-mtx th:last-child,table.d-mtx td:last-child{border-right:none}
table.d-mtx tbody tr:last-child th,table.d-mtx tbody tr:last-child td{border-bottom:none}

/* 左端の見出し列を固定 */
table.d-mtx tbody th[scope="row"],table.d-mtx .d-mtx-name th[scope="row"],table.d-mtx .d-mtx-corner{
  position:sticky;left:0;z-index:2;background:#F2F6FA;
  font-size:12.5px;font-weight:700;color:#0D3252;letter-spacing:0;
  box-shadow:1px 0 0 #DCE3EC;
}
table.d-mtx th[scope="row"] small{display:block;font-size:10.5px;font-weight:500;color:#6B7889;margin-top:2px}
table.d-mtx .d-mtx-corner{background:#fff;border-bottom:none;border-right:none;box-shadow:1px 0 0 #fff}

/* バッジ行 */
table.d-mtx .d-mtx-badge th{border-bottom:none;padding:10px 6px 0;vertical-align:bottom}
.d-bd{display:block;color:#fff;font-size:11px;font-weight:700;line-height:1.4;
  padding:6px 6px;border-radius:4px 4px 0 0;letter-spacing:0}

/* 校名行 */
table.d-mtx .d-mtx-name th{padding:10px 8px 12px;background:#FBFCFD;border-bottom:2px solid #C9D4E2}
table.d-mtx .d-mtx-name th.us{background:#EAF2FD}
.d-nm{display:block;font-size:14px;font-weight:900;color:#0D3252;line-height:1.35;letter-spacing:0}
.d-cs{display:block;font-size:11px;font-weight:500;color:#5A6675;margin-top:3px;line-height:1.4}

/* セル */
table.d-mtx td.d-mc{background:#fff}
table.d-mtx td.d-mc.us{background:#F4F9FF}
table.d-mtx i.m-o,table.d-mtx i.m-t,table.d-mtx i.m-d{
  display:block;font-style:normal;font-size:27px;line-height:1.05;font-weight:400}
table.d-mtx i.m-o{color:#2B8FD4}
table.d-mtx i.m-t{color:#EFA22E}
table.d-mtx i.m-d{color:#9AA5B4;font-size:22px}
.d-mnote{display:block;font-size:11px;color:#41505F;line-height:1.55;margin-top:4px;letter-spacing:0}
.d-mnote b{color:#0D3252}
.d-mnote sup{font-size:8.5px;color:#B0302A}
.d-mnote small{display:block;font-size:10px;color:#75828F;margin-top:2px}
.d-mtxt{display:block;font-size:12.5px;font-weight:700;color:#0D3252;line-height:1.6;letter-spacing:0}
.d-mtxt small{display:block;font-size:10px;font-weight:500;color:#75828F;margin-top:2px}
.m-n{display:block;font-size:11px;color:#9AA5B4;font-weight:500}

@media screen and (max-width:912px){
  table.d-mtx{min-width:920px}
  table.d-mtx col.d-mtx-c0{width:92px}
  table.d-mtx col:not(.d-mtx-c0){width:138px}
  table.d-mtx th,table.d-mtx td{padding:9px 6px}
  table.d-mtx tbody th[scope="row"],table.d-mtx .d-mtx-name th[scope="row"]{font-size:11px}
  .d-nm{font-size:12.5px}
  .d-cs{font-size:10px}
  table.d-mtx i.m-o,table.d-mtx i.m-t{font-size:23px}
  .d-mnote{font-size:10px}
  .d-mtxt{font-size:11.5px}
}

/* C-10：元の画像表の位置（.rank_table）に置いたときの収まり */
.rank_table .d-mtx-wrap{margin-top:4px}
.rank_table .d-note{max-width:none}
@media screen and (min-width:913px){
  .rank_table .d-mtx-wrap{max-width:100%}
}

/* A-3：リード文の強調（既存 .ranking .text のトーンに合わせる） */
.ranking .text strong{color:#D90000}
.ranking .text sup{font-size:.55em;vertical-align:super;color:#D90000;margin-left:1px}

/* =========================================================
   C-11　チャンス03「同時に複数大学の編入試験が受けられる！」
   A大学/B大学 → 実在の国公立4校に。国公立を併願できる点を前に出す。
   ========================================================= */
.d-hook2{margin:0 0 10px;font-size:15px;font-weight:700;color:#0D3252;line-height:1.7;
  text-align:left;letter-spacing:.01em;font-family:"Noto Sans JP",sans-serif}
.d-hook2 b{color:#D90000}
.d-univ{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.d-uv{background:#EEF3F9;border:1px solid #C9D4E2;border-top:3px solid #295498;border-radius:4px;
  padding:8px 6px;text-align:center;line-height:1.4}
.d-uv .u{display:block;font-size:12.5px;font-weight:900;color:#0D3252;letter-spacing:0}
.d-uv .f{display:block;font-size:10.5px;font-weight:500;color:#5A6675;margin-top:2px;letter-spacing:0}

@media screen and (max-width:912px){
  .d-hook2{font-size:3.6vw;margin-bottom:2.4vw}
  .d-univ{grid-template-columns:repeat(2,1fr);gap:1.8vw}
  .d-uv{padding:1.8vw 1vw;border-top-width:.7vw;border-radius:1vw}
  .d-uv .u{font-size:3.2vw}
  .d-uv .f{font-size:2.8vw}
}

/* =========================================================
   C-12　チャンス05「2・3年生からリスタート！」
   条件の説明 → 学年が途切れない図に。浪人との差を1行で示す。
   ========================================================= */
.d-step{display:grid;gap:8px}
.d-strow{display:flex;align-items:center;gap:8px}
.d-stl{flex:0 0 auto;background:#295498;color:#fff;font-size:11.5px;font-weight:900;
  letter-spacing:.04em;padding:6px 10px;border-radius:4px;white-space:nowrap;line-height:1.3}
.d-stb{flex:1 1 0;min-width:0;background:#F2F6FA;border:1px solid #C9D4E2;border-radius:4px;
  padding:7px 8px;font-size:13px;font-weight:500;color:#33404E;text-align:center;line-height:1.45;letter-spacing:0}
.d-stb b{font-size:15px;font-weight:900;color:#0D3252}
.d-stb.to{background:#EAF2FD;border-color:#4B95EB;color:#0D3252;font-weight:700}
.d-stb.to b{color:#D90000}
.d-sta{flex:0 0 auto;color:#4B95EB;font-size:13px;line-height:1}

@media screen and (max-width:912px){
  .d-step{gap:1.8vw}
  .d-strow{flex-wrap:wrap;gap:1.4vw}
  .d-stl{flex:0 0 100%;text-align:center;font-size:3vw;padding:1.2vw 2vw}
  .d-stb{font-size:3vw;padding:1.4vw 1vw;border-radius:1vw}
  .d-stb b{font-size:3.5vw}
  .d-sta{font-size:3vw}
}

/* =========================================================
   A-7　運営者の明示をアイコンパネルの下（青帯の中）へ
   .kv_bottom .box が position:absolute なので、こちらも絶対配置で
   パネル直下に置く。青地に白文字・小さめで、地の情報として読ませる。
   ========================================================= */
.kv_bottom .d-disc{position:absolute;left:0;right:0;z-index:3}
.d-disc-in{max-width:1000px;margin:0 auto;padding:0 20px;font-size:12px;line-height:1.7;
  color:rgba(255,255,255,.82);font-family:"Noto Sans JP",sans-serif;letter-spacing:0;text-align:center}
.d-disc-in b{font-weight:700;color:rgba(255,255,255,.95)}

@media screen and (min-width:913px){
  .kv_bottom .d-disc{top:118px}
}
@media screen and (max-width:912px){
  .kv_bottom .d-disc{top:59vw}
  .d-disc-in{padding:0 5vw;font-size:2.8vw;line-height:1.7;text-align:left}
}

/* ×（該当なし）。△より強い否定なので、事実が確認できている行にだけ使う */

/* 途中で改行させない：「記載なし」などの短い語／学年の図は空白の位置で折り返す */
.d-rhit,.d-rmiss{white-space:nowrap}
.d-stb{word-break:keep-all;overflow-wrap:anywhere}
table.d-mtx i.m-x{display:block;font-style:normal;font-size:27px;line-height:1.05;
  font-weight:400;color:#D90000}

/* =========================================================
   各校カード 4〜6 の行（新設）
   カードの高さは中身に合わせる（隣のカードに引き伸ばさない）
   ========================================================= */
@media screen and (min-width:913px){
  .ranking .under.d-newrow{align-items:flex-start}
}
