.exam-tabs-wrapper{margin:1rem 0 2rem}
.exam-tabs-nav{display:flex;gap:0;border-bottom:2px solid #e0e0e0;margin-bottom:0}
.exam-tab-btn{padding:12px 28px;border:1px solid #d0d0d0;border-bottom:none;background:#f5f5f5;color:#555;font-size:1rem;font-weight:600;cursor:pointer;border-radius:8px 8px 0 0;margin-right:2px;transition:all .2s;outline:none}
.exam-tab-btn:hover{background:#e0e8f0;color:#1a3a5c}
.exam-tab-btn.active{background:#1a3a5c;color:#fff;border-color:#1a3a5c}
.exam-tab-panel{display:none;padding:1.5rem;border:1px solid #d0d0d0;border-top:none;border-radius:0 0 8px 8px;background:#fff}
.exam-tab-panel.active{display:block}
.exam-sub-header{font-size:1.15rem;font-weight:700;color:#2c5282;margin:1.2rem 0 .6rem;padding-bottom:.4rem;border-bottom:2px solid #bee3f8}
.exam-sub-header:first-child{margin-top:.2rem}
.exam-tab-panel .school-exam-item{margin-bottom:1rem;padding:.8rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}
.exam-no-data{color:#718096;font-style:italic;padding:1.5rem 0;text-align:center;font-size:1rem}
@media(max-width:600px){.exam-tab-btn{padding:8px 14px;font-size:.85rem}}

.exam-returnee-overview{background:#f0f7ff;border-left:4px solid #3182ce;padding:12px 16px;margin:8px 0 16px 0;font-size:0.95em;line-height:1.7;color:#2d3748;border-radius:0 4px 4px 0}

/* 大学合格実績テーブル */
.school-goukaku-section { margin-top: 24px; }
.goukaku-table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 0.92em; }
.goukaku-table th { background: #2d5a87; color: #fff; padding: 10px 8px; text-align: center; font-weight: 600; font-size: 0.85em; white-space: nowrap; border: 1px solid #1e4060; }
.goukaku-table td { padding: 10px 8px; text-align: center; border: 1px solid #e2e8f0; }
.goukaku-table tbody tr:nth-child(even) { background: #f7fafc; }
.goukaku-table tbody tr:hover { background: #edf2f7; }
.goukaku-table td:first-child { font-weight: 600; color: #2d5a87; white-space: nowrap; }
.goukaku-table td:last-child { text-align: left; font-size: 0.88em; color: #4a5568; max-width: 220px; }



/* -- Overseas Top50 University Section -- */
.school-overseas-top50 { margin-top: 16px; }
.overseas-table th { background: #1a5276 !important; }
.overseas-table td:first-child { text-align: left !important; }
.overseas-table td:nth-child(2) { font-size: 0.82em; color: #2d5a87; font-weight: 600; }

.exam-year-tag { display:inline-block; padding:2px 8px; margin-right:8px; background:#2b6cb0; color:#fff; font-size:0.78em; font-weight:600; border-radius:3px; vertical-align:middle; }

.exam-no-result { color:#888; font-style:italic; font-size:0.85em; }
/* === Exam Redesign: Compact Tables === */
.exam-year-block { margin-bottom: 1.5rem; }
.exam-year-title {
  font-size: 1rem; font-weight: 700; color: #1a365d;
  border-bottom: 2px solid #2b6cb0; padding-bottom: 0.3rem; margin-bottom: 0.6rem;
}
.exam-new-tag {
  display: inline-block; padding: 1px 8px; background: #e53e3e; color: #fff;
  font-size: 0.72em; font-weight: 700; border-radius: 3px; vertical-align: middle; margin-right: 6px;
  letter-spacing: 0.5px;
}
table.exam-compact-table {
  width: 100%; border-collapse: collapse; font-size: 0.88rem; margin-bottom: 0.5rem;
}
table.exam-compact-table thead th {
  background: #edf2f7; color: #2d3748; padding: 0.5rem 0.7rem;
  font-size: 0.82rem; font-weight: 600; text-align: left; border-bottom: 2px solid #cbd5e0;
  white-space: nowrap;
}
table.exam-compact-table tbody td {
  padding: 0.45rem 0.7rem; border-bottom: 1px solid #e2e8f0; vertical-align: top;
}
table.exam-compact-table tbody tr:hover td { background: #ebf8ff; }
td.exam-subjects-cell { font-size: 0.82rem; color: #4a5568; max-width: 320px; }
.exam-result-link { text-align: right; margin: 0.3rem 0 0.8rem; }
.exam-result-link a {
  color: #2b6cb0; font-size: 0.85rem; font-weight: 600; text-decoration: none;
}
.exam-result-link a:hover { color: #c6972b; text-decoration: underline; }
table.exam-results-table thead th { background: #2b6cb0; color: #fff; }
table.exam-results-table tbody td { text-align: center; }
table.exam-results-table tbody td:first-child { text-align: left; }
.exam-info-section { margin-bottom: 2rem; }
.exam-results-section { border-top: 3px solid #e2e8f0; padding-top: 1rem; }
.exam-returnee-overview {
  background: #ebf8ff; border-left: 4px solid #2b6cb0; padding: 0.8rem 1rem;
  margin-bottom: 1.2rem; font-size: 0.9rem; line-height: 1.5;
}
@media (max-width: 768px) {
  .exam-info-section, .exam-results-section { overflow-x: auto; }
  table.exam-compact-table { min-width: 480px; }
  table.exam-compact-table thead th, table.exam-compact-table tbody td {
    padding: 0.35rem 0.5rem; font-size: 0.8rem;
  }
}

.exam-year-new .exam-year-title::before {
  content: "New";
  display: inline-block; padding: 1px 8px; background: #e53e3e; color: #fff;
  font-size: 0.72em; font-weight: 700; border-radius: 3px; vertical-align: middle;
  margin-right: 8px; letter-spacing: 0.5px;
}

.exam-year-block[data-new="1"] .exam-year-title::before {
  content: "New";
  display: inline-block; padding: 1px 8px; background: #e53e3e; color: #fff;
  font-size: 0.72em; font-weight: 700; border-radius: 3px; vertical-align: middle;
  margin-right: 8px; letter-spacing: 0.5px;
}
