/* 学習塾Nii Schoolの基本データ（/about/facts/）2026-11-01 Claude。デザイン基準：output/llmo-20261101/codex-design/（相棒） */
.nf{--nf-navy:#0b2a6f;--nf-blue:#0057c0;--nf-text:#26344a;--nf-sub:#56677c;--nf-line:#d8e1ec;--nf-head:#e9f1f9;--nf-cond:#edf5ff;
  color:var(--nf-text);font-size:16px;line-height:1.85;
  background-color:#f4f6f8;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27%3E%3Cpath d=%27M24 0H0V24%27 fill=%27none%27 stroke=%27%23e6ebf1%27 stroke-width=%271%27/%3E%3C/svg%3E");background-size:24px 24px}
.nf-shell *,.nf-shell *::before,.nf-shell *::after{box-sizing:border-box}
.nf-shell{max-width:1180px;margin:0 auto;padding:24px 0 80px}
.nf-shell a{color:var(--nf-blue)}
.nf-crumb{font-size:12px;color:#617188;margin:0 0 48px;display:flex;flex-wrap:wrap;gap:8px}
.nf-crumb a{color:#617188;text-decoration:none}
.nf-eyebrow{font-size:13px;color:var(--nf-blue);font-weight:700;letter-spacing:2px;margin:0 0 12px}
.nf-h1{font-size:40px;line-height:1.5;color:var(--nf-navy);margin:0 0 20px;font-weight:700}
.nf-h1 span{display:inline-block}
.nf-shell p{margin:0 0 12px}
.nf-lead{max-width:900px;font-size:17px}
.nf-updated{font-size:13px;color:#617188;margin-top:20px}
.nf-sec{margin-top:64px}
.nf-h2{font-size:28px;line-height:1.5;color:var(--nf-navy);margin:0 0 24px;display:flex;align-items:center;gap:16px;font-weight:700}
.nf-num{font-size:13px;color:var(--nf-blue);border-top:2px solid var(--nf-blue);padding-top:5px;letter-spacing:1px;line-height:1.2}
.nf-h3{font-size:22px;color:var(--nf-navy);margin:40px 0 18px;font-weight:700}
.nf-shell h4{font-size:16px;color:var(--nf-navy);margin:0 0 12px;font-weight:700}
.nf-shell ul{margin:0;padding-left:22px;list-style:disc}
.nf-shell li{margin:5px 0}
/* 数字カード */
.nf .nf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;padding:0}
.nf .nf-stat{margin:0;background:#fff;border:1px solid var(--nf-line);border-radius:6px;padding:26px 20px;text-align:center}
.nf-stat b{display:block;color:var(--nf-blue);font-size:44px;line-height:1.3;margin-bottom:12px;letter-spacing:-1px;font-weight:700}
.nf-stat strong{display:block;font-size:16px;color:var(--nf-navy);line-height:1.6}
.nf-stat small{display:block;font-size:13px;color:var(--nf-sub);margin-top:8px;line-height:1.7}
/* 定義リスト */
.nf-dl{margin:0;background:#fff;border-top:1px solid var(--nf-line)}
.nf-dl>div{display:flex;border-bottom:1px solid var(--nf-line);border-left:1px solid var(--nf-line);border-right:1px solid var(--nf-line)}
.nf-dl dt{width:190px;flex-shrink:0;background:#f0f5fa;font-weight:700;color:var(--nf-navy);padding:17px 20px}
.nf-dl dd{margin:0;padding:17px 24px;flex:1}
/* 表 */
.nf-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff;font-size:15px;line-height:1.8}
.nf-table th,.nf-table td{border:1px solid var(--nf-line);text-align:left;vertical-align:top;padding:18px 16px;overflow-wrap:anywhere}
.nf-table thead th{background:var(--nf-head);color:var(--nf-navy);font-size:14px;font-weight:700}
.nf-table tbody th{color:var(--nf-navy);font-weight:700}
.nf-table tbody th a{color:var(--nf-navy);text-decoration:underline;text-underline-offset:3px}
.nf-table td{font-variant-numeric:tabular-nums}
.nf-table--campus th:nth-child(1){width:18%}.nf-table--campus th:nth-child(2){width:24%}.nf-table--campus th:nth-child(3){width:17%}.nf-table--campus th:nth-child(4){width:23%}.nf-table--campus th:nth-child(5){width:18%}
.nf-table--course th:nth-child(1){width:22%}.nf-table--course th:nth-child(2){width:12%}.nf-table--course th:nth-child(3){width:28%}.nf-table--course th:nth-child(4){width:38%}
.nf-table--mock th:nth-child(1){width:26%}.nf-table--mock th:nth-child(2){width:26%}.nf-table--mock th:nth-child(3){width:48%}
.nf-lbl{display:none}
.nf-note{font-size:14px;color:var(--nf-sub);margin-top:16px}
.nf-link{margin-top:20px}
.nf-link a{font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* 料金の条件・集計の条件 */
.nf-box{margin-top:24px;padding:24px 28px;background:var(--nf-cond);border:1px solid #b9d0eb;border-radius:6px}
.nf-box__title{font-size:16px;color:var(--nf-navy);margin:0 0 10px;font-weight:700}
.nf-cond{background:var(--nf-cond);border:2px solid var(--nf-blue);border-left:6px solid var(--nf-blue);border-radius:6px;padding:24px 28px;margin:0 0 24px}
.nf .nf-cond h4{color:var(--nf-blue);font-size:18px}
/* 大学 */
.nf-uni{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.nf-uni>section{background:#fff;border:1px solid var(--nf-line)}
.nf .nf-uni h4{padding:16px 24px;background:var(--nf-head);margin:0}
.nf .nf-uni ul{padding:0 24px;list-style:none;margin:0}
.nf .nf-uni li{border-bottom:1px solid #e8edf3;padding:9px 0;margin:0}
.nf .nf-uni li:last-child{border-bottom:0}
.nf-about{background:#fff;padding:28px;border:1px solid var(--nf-line)}
.nf-about p:last-child{margin:0}
.nf-pages a{text-decoration:none}
.nf-pages a:hover{text-decoration:underline}

@media (max-width:1240px){.nf-shell{padding-left:30px;padding-right:30px}}
@media (max-width:767px){
  .nf-shell{padding:16px 16px 56px}
  .nf-crumb{margin-bottom:32px}
  .nf-h1{font-size:28px}
  .nf-lead{font-size:16px}
  .nf-sec{margin-top:48px}
  .nf-h2{font-size:23px;margin-bottom:20px;gap:12px}
  .nf-h3{font-size:20px;margin-top:32px}
  .nf .nf-stats{grid-template-columns:1fr 1fr;gap:10px}
  .nf .nf-stat{padding:18px 10px}
  .nf-stat b{font-size:30px;margin-bottom:8px}
  .nf-stat strong{font-size:14px}
  .nf-dl>div{display:block}
  .nf-dl dt{width:auto;padding:12px 16px}
  .nf-dl dd{padding:12px 16px 16px}
  /* 表をカードに組み替え */
  .nf-table,.nf-table tbody,.nf-table tr,.nf-table th,.nf-table td{display:block;width:auto!important}
  .nf-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nf-table{background:none;font-size:16px;line-height:1.85}
  .nf-table tr{background:#fff;border:1px solid var(--nf-line);border-radius:6px;margin-bottom:12px;overflow:hidden}
  .nf-table th,.nf-table td{border:0}
  .nf-table tbody th{background:var(--nf-head);padding:12px 16px;font-size:17px}
  .nf-table td{padding:10px 16px;border-top:1px solid #e8edf3}
  .nf-lbl{display:block;font-size:13px;color:var(--nf-sub);font-weight:700;line-height:1.6}
  .nf-box,.nf-cond{padding:18px}
  .nf-uni{grid-template-columns:1fr;gap:16px}
  .nf .nf-uni h4,.nf .nf-uni ul{padding-left:16px;padding-right:16px}
  .nf-about{padding:18px}
}
@media (max-width:359px){.nf .nf-stats{grid-template-columns:1fr}}
