/* JMI 中小M&A資格試験（仮称）演習 Widget v2.0
   インサイトページ（.jmi-insight）の設計言語に準拠。
   規約: 装飾英語=Cormorant Garamond / 数値=Roboto Mono(tabular-nums) / 和文=Noto Serif JP
   スコープ: #jmi-exam 配下のみ */

#jmi-exam{
  --jmi-navy:#0B3D62; --jmi-navy-dark:#062744; --jmi-gold:#B8924A;
  --jmi-text:#1A1A1A; --jmi-sub:#6B6B6B; --jmi-border:#E5E5E5;
  --jmi-bg:#FAFAF7; --jmi-surface:#FFFFFF; --jmi-cream:#D8D3C4; --jmi-kinki:#7A2E2E;
  font-family:"Noto Serif JP","Noto Serif CJK JP",serif;
  color:var(--jmi-text); line-height:1.85; background:var(--jmi-bg); margin:0;
}
#jmi-exam *{box-sizing:border-box;margin:0;padding:0;}
#jmi-exam button{font-family:inherit;cursor:pointer;}
#jmi-exam .jx-inner{max-width:980px;margin:0 auto;padding:0 40px;}
#jmi-exam .jx-mono{font-family:"Roboto Mono",monospace;font-variant-numeric:tabular-nums;}

/* 装飾英語（eyebrow/ラベル）— Cormorant Garamond 共通形 */
#jmi-exam .jx-hero-eyebrow,#jmi-exam .jx-eyebrow,
#jmi-exam .jx-expl h4,#jmi-exam .jx-src .jx-doc span,#jmi-exam .jx-subj h4,
#jmi-exam .jx-next h4,#jmi-exam .jx-relcards-label,#jmi-exam .jx-eyebrow2,
#jmi-exam .jx-head .jx-mode span{
  font-family:"Cormorant Garamond",serif;font-weight:400;text-transform:uppercase;
}

/* ========== HERO（インサイト同型・左寄せ・フルブリード濃紺） ========== */
#jmi-exam .jx-hero{background:var(--jmi-navy);color:var(--jmi-cream);padding:64px 0 56px;text-align:left;}
#jmi-exam .jx-hero-eyebrow{font-size:12px;letter-spacing:.3em;color:var(--jmi-gold);margin:0 0 18px;}
#jmi-exam .jx-hero-title{font-family:"Noto Serif JP","Noto Serif CJK JP",serif;font-weight:500;
  font-size:34px;line-height:1.5;color:#FFFFFF;margin:0 0 24px;letter-spacing:.02em;}
#jmi-exam .jx-hero-lead{font-size:15px;line-height:1.95;color:var(--jmi-cream);margin:0;max-width:860px;}

/* ========== START（明転・カードグリッド） ========== */
#jmi-exam .jx-start{background:var(--jmi-bg);padding:48px 0 56px;border-top:1px solid var(--jmi-border);}
#jmi-exam .jx-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
#jmi-exam .jx-card{background:var(--jmi-surface);border:1px solid var(--jmi-border);
  padding:28px 28px 24px;transition:border-color .2s ease,transform .2s ease;}
#jmi-exam .jx-card:hover{border-color:var(--jmi-gold);transform:translateY(-2px);}
#jmi-exam .jx-card .jx-eyebrow{display:block;font-size:13px;letter-spacing:.3em;color:var(--jmi-gold);margin:0 0 10px;}
#jmi-exam .jx-card h3{font-family:"Noto Serif JP","Noto Serif CJK JP",serif;font-weight:500;
  font-size:18px;line-height:1.6;color:var(--jmi-navy);margin:0 0 12px;letter-spacing:.02em;}
#jmi-exam .jx-card p{font-size:13.5px;line-height:1.85;color:var(--jmi-sub);margin:0 0 16px;}
#jmi-exam .jx-card .jx-card-note{display:block;font-size:12px;line-height:1.8;color:var(--jmi-sub);margin:-6px 0 14px;}
#jmi-exam .jx-selects{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
#jmi-exam select{font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--jmi-border);
  background:var(--jmi-bg);color:var(--jmi-text);min-width:160px;max-width:100%;}
#jmi-exam .jx-btn{background:var(--jmi-navy);color:#fff;border:1px solid var(--jmi-navy);
  padding:11px 28px;font-size:14px;letter-spacing:.12em;transition:background .2s ease;}
#jmi-exam .jx-btn:hover{background:var(--jmi-navy-dark);}
#jmi-exam .jx-btn--ghost{background:transparent;color:var(--jmi-navy);border:1px solid var(--jmi-border);}
#jmi-exam .jx-btn--ghost:hover{background:transparent;border-color:var(--jmi-gold);}
#jmi-exam .jx-btn:disabled{opacity:.45;cursor:default;}
#jmi-exam .jx-btn:focus-visible,#jmi-exam .jx-choice:focus-visible{outline:2px solid var(--jmi-gold);outline-offset:2px;}

/* ========== 設問・解説共通（コンパクト濃紺バー + 840px読み幅） ========== */
#jmi-exam .jx-head{background:var(--jmi-navy);color:#fff;padding:18px 0;}
#jmi-exam .jx-head .jx-inner{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
#jmi-exam .jx-head .jx-mode{font-size:14px;letter-spacing:.06em;}
#jmi-exam .jx-head .jx-mode span{display:block;font-size:12px;letter-spacing:.3em;color:var(--jmi-gold);margin-bottom:4px;}
#jmi-exam .jx-head .jx-meta{font-family:"Roboto Mono",monospace;font-size:13px;font-variant-numeric:tabular-nums;
  color:rgba(255,255,255,.85);text-align:right;white-space:nowrap;}
#jmi-exam .jx-head .jx-timer{display:block;color:var(--jmi-gold);}

#jmi-exam .jx-body{padding:36px 0 40px;}
#jmi-exam .jx-body > .jx-inner{max-width:840px;}
#jmi-exam .jx-q-eyebrow{font-family:"Roboto Mono",monospace;font-size:11px;letter-spacing:.22em;
  color:var(--jmi-gold);margin-bottom:16px;}
#jmi-exam .jx-case{border:1px solid var(--jmi-border);background:var(--jmi-surface);
  padding:16px 18px;font-size:14px;line-height:1.9;color:var(--jmi-sub);margin-bottom:20px;}
#jmi-exam .jx-stem{font-size:16px;line-height:1.95;margin-bottom:28px;white-space:pre-line;}
#jmi-exam .jx-choice{display:flex;gap:14px;width:100%;text-align:left;align-items:flex-start;
  border:1px solid var(--jmi-border);background:var(--jmi-surface);padding:16px 18px;margin-bottom:10px;
  font-size:15px;line-height:1.85;color:var(--jmi-text);transition:border-color .2s ease,background .2s ease;}
#jmi-exam button.jx-choice:hover{border-color:var(--jmi-gold);}
#jmi-exam .jx-choice .jx-key{font-family:"Roboto Mono",monospace;color:var(--jmi-sub);flex:none;min-width:18px;text-align:center;padding-top:1px;}
#jmi-exam .jx-choice.is-selected{border-color:var(--jmi-navy);box-shadow:inset 3px 0 0 var(--jmi-navy);}
#jmi-exam .jx-choice.is-correct{border-color:var(--jmi-navy);background:#F3F7FA;}
#jmi-exam .jx-choice.is-kinki{border-color:var(--jmi-kinki);background:#FAF3F3;}
#jmi-exam .jx-cbody{flex:1;}
#jmi-exam .jx-cstate{font-family:"Roboto Mono",monospace;font-size:11px;letter-spacing:.2em;flex:none;
  align-self:flex-start;margin-top:4px;color:var(--jmi-sub);}
#jmi-exam .is-correct .jx-cstate{color:var(--jmi-navy);}
#jmi-exam .is-kinki .jx-cstate{color:var(--jmi-kinki);}
#jmi-exam .jx-rationale{display:block;font-size:13px;line-height:1.85;color:var(--jmi-sub);
  margin-top:8px;padding-top:8px;border-top:1px solid var(--jmi-border);}
#jmi-exam .jx-rationale strong{color:var(--jmi-kinki);font-weight:500;}

#jmi-exam .jx-expl{background:var(--jmi-surface);border:1px solid var(--jmi-border);padding:24px 24px 20px;margin-top:26px;}
#jmi-exam .jx-expl h4{font-size:13px;letter-spacing:.3em;color:var(--jmi-sub);margin-bottom:12px;}
#jmi-exam .jx-expl p{font-size:14px;line-height:1.95;}
#jmi-exam .jx-src{margin-top:22px;padding-top:14px;border-top:1px solid var(--jmi-gold);
  display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;}
#jmi-exam .jx-src .jx-doc{font-size:13px;letter-spacing:.02em;}
#jmi-exam .jx-src .jx-doc span{letter-spacing:.26em;color:var(--jmi-gold);margin-right:12px;font-size:12px;}
#jmi-exam .jx-src a{font-size:13px;color:var(--jmi-navy);text-decoration:none;border-bottom:1px solid var(--jmi-border);transition:border-color .2s ease;}
#jmi-exam .jx-src a:hover{border-color:var(--jmi-gold);}

#jmi-exam .jx-foot{padding-bottom:36px;}
#jmi-exam .jx-foot .jx-inner{max-width:840px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
#jmi-exam .jx-foot .jx-spacer{flex:1;}

/* ========== 模試パレット ========== */
#jmi-exam .jx-palette{padding:16px 0 0;}
#jmi-exam .jx-palette .jx-inner{max-width:840px;display:flex;flex-wrap:wrap;gap:6px;}
#jmi-exam .jx-pal{font-family:"Roboto Mono",monospace;font-size:11px;width:30px;height:26px;
  border:1px solid var(--jmi-border);background:var(--jmi-surface);color:var(--jmi-sub);transition:border-color .2s ease;}
#jmi-exam .jx-pal:hover{border-color:var(--jmi-gold);}
#jmi-exam .jx-pal.is-done{background:var(--jmi-navy);color:#fff;border-color:var(--jmi-navy);}
#jmi-exam .jx-pal.is-now{outline:2px solid var(--jmi-gold);}

/* ========== 時間切れ通知 ========== */
#jmi-exam .jx-timeout{background:#F3F7FA;border-bottom:1px solid var(--jmi-navy);color:var(--jmi-navy);
  padding:14px 0;font-size:13px;line-height:1.8;}

/* ========== 結果 ========== */
#jmi-exam .jx-res-hero{background:var(--jmi-navy-dark);color:#fff;text-align:center;padding:46px 0 42px;}
#jmi-exam .jx-eyebrow2{font-size:13px;letter-spacing:.34em;color:var(--jmi-gold);margin-bottom:18px;}
#jmi-exam .jx-score{font-family:"Roboto Mono",monospace;font-size:54px;font-variant-numeric:tabular-nums;
  font-weight:300;line-height:1;}
#jmi-exam .jx-score small{font-size:20px;color:rgba(255,255,255,.6);}
#jmi-exam .jx-verdict{margin-top:16px;font-size:15px;letter-spacing:.12em;font-weight:500;}
#jmi-exam .jx-res-note{font-size:12px;color:rgba(255,255,255,.55);margin-top:14px;line-height:1.8;}
#jmi-exam .jx-res-body{padding:36px 0 44px;}
#jmi-exam .jx-res-body > .jx-inner{max-width:840px;}
#jmi-exam .jx-crit{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:13px 2px;border-bottom:1px solid var(--jmi-border);font-size:14px;}
#jmi-exam .jx-crit .jx-val{font-family:"Roboto Mono",monospace;font-variant-numeric:tabular-nums;font-size:13px;text-align:right;}
#jmi-exam .jx-ok{color:var(--jmi-navy);}
#jmi-exam .jx-ng{color:var(--jmi-kinki);}
#jmi-exam .jx-subj{margin-top:30px;}
#jmi-exam .jx-subj h4{font-size:13px;letter-spacing:.3em;font-weight:400;margin-bottom:16px;color:var(--jmi-sub);}
#jmi-exam .jx-bar-row{display:grid;grid-template-columns:140px 1fr 64px;gap:14px;align-items:center;margin-bottom:13px;font-size:13px;}
#jmi-exam .jx-bar{height:7px;background:#ECECE8;position:relative;}
#jmi-exam .jx-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--jmi-navy);}
#jmi-exam .jx-bar i.is-low{background:var(--jmi-kinki);}
#jmi-exam .jx-pct{font-family:"Roboto Mono",monospace;font-variant-numeric:tabular-nums;text-align:right;}

/* NEXT STEP */
#jmi-exam .jx-next{margin-top:32px;border:1px solid var(--jmi-border);background:var(--jmi-surface);padding:26px 26px 22px;}
#jmi-exam .jx-next h4{font-size:13px;letter-spacing:.3em;color:var(--jmi-gold);font-weight:400;margin-bottom:14px;}
#jmi-exam .jx-next-lead{font-size:13px;line-height:1.85;color:var(--jmi-sub);margin-bottom:18px;}
#jmi-exam .jx-weak-list{list-style:none;margin:0 0 4px;padding:0;}
#jmi-exam .jx-weak-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:11px 0;border-bottom:1px solid var(--jmi-border);font-size:14px;}
#jmi-exam .jx-weak-item:last-child{border-bottom:none;}
#jmi-exam .jx-weak-rate{font-family:"Roboto Mono",monospace;font-variant-numeric:tabular-nums;font-size:12px;color:var(--jmi-kinki);white-space:nowrap;}
#jmi-exam .jx-relcards{margin-top:18px;padding-top:18px;border-top:1px solid var(--jmi-gold);}
#jmi-exam .jx-relcards-label{display:block;font-size:12px;letter-spacing:.3em;color:var(--jmi-sub);margin-bottom:10px;}
#jmi-exam .jx-relcard{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 14px;margin-bottom:8px;border:1px solid var(--jmi-border);background:var(--jmi-bg);
  font-size:13px;color:var(--jmi-navy);text-decoration:none;line-height:1.6;transition:border-color .2s ease;}
#jmi-exam .jx-relcard:last-child{margin-bottom:0;}
#jmi-exam .jx-relcard:hover{border-color:var(--jmi-gold);}
#jmi-exam .jx-relcard-arrow{flex:none;color:var(--jmi-gold);}

/* ========== 免責（常設） ========== */
#jmi-exam .jx-disclaimer{padding:18px 0 22px;border-top:1px solid var(--jmi-border);
  font-size:11px;line-height:1.8;color:var(--jmi-sub);}
#jmi-exam .jx-disclaimer .jx-inner{max-width:840px;}

/* ========== レスポンシブ（インサイトと同ブレークポイント） ========== */
@media (max-width:820px){
  #jmi-exam .jx-inner{padding:0 28px;}
  #jmi-exam .jx-hero-title{font-size:28px;}
  #jmi-exam .jx-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  #jmi-exam .jx-inner{padding:0 22px;}
  #jmi-exam .jx-hero{padding:48px 0 40px;}
  #jmi-exam .jx-hero-title{font-size:24px;}
  #jmi-exam .jx-hero-lead{font-size:14px;}
  #jmi-exam .jx-start{padding:40px 0 48px;}
  #jmi-exam .jx-card{padding:24px 22px 22px;}
  #jmi-exam .jx-stem{font-size:15px;}
  #jmi-exam .jx-choice{font-size:14px;padding:13px 14px;}
  #jmi-exam .jx-bar-row{grid-template-columns:96px 1fr 56px;}
  #jmi-exam .jx-score{font-size:42px;}
  #jmi-exam .jx-weak-item{flex-direction:column;gap:2px;}
}

/* ============ v2.1: 出題範囲マップ・学習継続導線 ============ */

/* 出題範囲マップ */
#jmi-exam .jx-map-note{font-size:13px;line-height:1.9;color:var(--jmi-sub);margin-bottom:8px;}
#jmi-exam .jx-map-subj{margin:36px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--jmi-gold);}
#jmi-exam .jx-map-label{font-family:"Cormorant Garamond",serif;font-weight:400;text-transform:uppercase;
  font-size:13px;letter-spacing:.3em;color:var(--jmi-gold);margin:0 0 6px;}
#jmi-exam .jx-map-title{font-family:"Noto Serif JP","Noto Serif CJK JP",serif;font-weight:500;
  font-size:20px;line-height:1.5;color:var(--jmi-navy);margin:0 0 4px;letter-spacing:.02em;}
#jmi-exam .jx-map-sub{font-size:12px;color:var(--jmi-sub);margin:0;}
#jmi-exam .jx-map-row{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:11px 2px;border-bottom:1px solid var(--jmi-border);font-size:14px;}
#jmi-exam .jx-map-cat{flex:1;line-height:1.7;}
#jmi-exam .jx-map-code{font-size:12px;color:var(--jmi-sub);margin-right:10px;}
#jmi-exam .jx-map-pri{color:var(--jmi-gold);margin-left:8px;font-size:11px;}
#jmi-exam .jx-map-go{padding:6px 14px;font-size:12px;letter-spacing:.06em;white-space:nowrap;}
#jmi-exam .jx-map-soon{font-size:12px;color:var(--jmi-sub);white-space:nowrap;opacity:.7;}

/* 弱点中項目: タップで集中演習 */
#jmi-exam .jx-weak-right{display:flex;align-items:center;gap:12px;flex:none;}
#jmi-exam .jx-weak-go{padding:6px 12px;font-size:12px;letter-spacing:.04em;white-space:nowrap;}

/* 結果画面: 続けて学ぶ */
#jmi-exam .jx-continue{margin-top:26px;display:flex;flex-direction:column;gap:16px;}
#jmi-exam .jx-continue-subj{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
#jmi-exam .jx-continue-label{font-size:12px;letter-spacing:.14em;color:var(--jmi-sub);margin-right:6px;}

@media (max-width:600px){
  #jmi-exam .jx-map-row{flex-direction:column;align-items:flex-start;gap:8px;}
  #jmi-exam .jx-weak-item{flex-direction:column;align-items:flex-start;}
  #jmi-exam .jx-weak-right{width:100%;justify-content:space-between;}
}

#jmi-exam .jx-pg-note{font-size:12px;color:var(--jmi-sub,#6B6B6B);margin:4px 0 12px;}
