/* 中学校別ページ（/chobensai/<学校>/）だけの調整。1画面目は学校名を一番大きく */
.sfv-h1 { margin: 0; font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif; font-weight: 900; }
.sfv-school {
  display: block; margin: 64px 0 0; padding: 0 var(--pad);
  font-size: min(calc((100vw - 2 * var(--pad) - 24px) / var(--m)), 120px);
  line-height: 1.02; letter-spacing: -0.02em; color: var(--green); white-space: nowrap;
  transform: skewX(-10deg); transform-origin: left bottom;
  text-shadow: 4px 4px 0 #fff, 8px 8px 0 var(--black);
}
.sfv-band {
  display: block; margin-top: 22px; padding: 30px var(--pad) 36px; background: var(--red);
  clip-path: polygon(0 10%, 100% 0, 100% 90%, 0 100%);
}
.sfv-for { display: block; font-size: 22px; line-height: 1.2; color: #fff; transform: skewX(-10deg); transform-origin: left; }
.sfv-juku {
  display: block; margin-top: 4px; font-size: 60px; line-height: 1.05; color: var(--accent); letter-spacing: -0.03em;
  transform: skewX(-10deg); transform-origin: left; text-shadow: 4px 4px 0 var(--black);
}
.sfv .fv-bottom { padding-top: 14px; }
.sfv .fv-copy { font-size: 30px; }
.sfv-51 { display: inline-block; background: var(--black); color: var(--accent); padding: 0 8px; margin-top: 4px; }

/* 通っている教室 */
.rooms { margin-top: 20px; max-width: 820px; }
.rooms th { width: 38%; white-space: nowrap; font-size: 14px; font-family: "Hiragino Sans", sans-serif; font-weight: 900; }
.room-access { font-size: 13px; color: var(--ink-mute); }

/* 二学期制のテスト時期 */
.terms { margin-top: 36px; max-width: 620px; }
.terms-ttl { font-family: "Hiragino Sans", sans-serif; font-weight: 900; font-size: 18px; color: var(--accent); transform: skewX(-8deg); transform-origin: left; margin-bottom: 8px; }
.terms-table th, .terms-table td { border-color: rgba(255,255,255,0.18); color: #fff; }
.terms-table th { background: rgba(255,255,255,0.08); color: var(--accent); width: 40%; }

/* 最後 */
.final-school { font-family: "Hiragino Sans", sans-serif; font-weight: 900; font-size: 30px; color: var(--accent); transform: skewX(-8deg); text-shadow: 3px 3px 0 var(--black); margin-bottom: 8px; }

@media (min-width: 768px) {
  .sfv-school { margin-top: 110px; padding: 0 max(var(--pad), calc((100vw - var(--maxw)) / 2 + var(--pad))); font-size: min(calc((min(100vw, var(--maxw)) - 2 * var(--pad) - 24px) / var(--n)), 150px); text-shadow: 6px 6px 0 #fff, 12px 12px 0 var(--black); }
  .sfv-band { margin-top: 30px; padding: 44px max(var(--pad), calc((100vw - var(--maxw)) / 2 + var(--pad))) 52px; }
  .sfv-for { font-size: 38px; }
  .sfv-juku { font-size: 96px; text-shadow: 7px 7px 0 var(--black); }
  .sfv .fv-copy { font-size: 52px; }
  .terms-ttl { font-size: 22px; }
  .final-school { font-size: 48px; }
}

@media (max-width: 767px) {
  .sfv-school { margin-top: 64px; }
  .nm-base, .nm-suf { display: block; }
  .sfv-juku { font-size: 48px; }
}

/* パンくず・中学校別リンク（検索エンジン向けの内部リンクも兼ねる） */
.crumbs { font-size: 12px; padding: 8px 0; background: var(--bg, #fff); color: var(--ink-mute); }
.crumbs a { color: inherit; }
.school-list { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-top: 16px; }
.school-list a, .school-list span { display: inline-block; padding: 8px 14px; border: 2px solid var(--green); color: var(--green); font-weight: 700; text-decoration: none; transform: skewX(-8deg); }
.school-list span { background: var(--green); color: #fff; }
.to-main { margin-top: 20px; font-weight: 700; }
.to-main a { color: var(--green); }

/* 塾生の成績アップ */
.results { background: var(--accent); }
.results .sec-label { color: var(--black); }
.r-list { margin: 20px 0 16px; border-top: 3px solid var(--black); }
.r-list li { display: grid; grid-template-columns: 112px 1fr; gap: 0 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(11,31,23,0.25); }
.r-inc { font-family: "Hiragino Sans", sans-serif; font-weight: 900; font-size: 44px; line-height: 1; color: var(--red); transform: skewX(-10deg); text-shadow: 3px 3px 0 #fff; letter-spacing: -0.03em; }
.r-what { font-weight: 700; font-size: 15px; }
.r-what b { font-family: "Hiragino Sans", sans-serif; font-weight: 900; font-size: 20px; white-space: nowrap; }
.r-when { font-size: 13px; color: var(--black); opacity: 0.75; }
.results .note { color: var(--black); opacity: 0.8; }
.results + .cta-strip { background: var(--green); color: #fff; }
.to-main { padding: 28px var(--pad) 40px; text-align: center; }
@media (min-width: 768px) {
  .r-list { columns: 2; column-gap: 48px; border-top: 0; }
  .r-list li { break-inside: avoid; grid-template-columns: 150px 1fr; border-top: 0; }
  .r-inc { font-size: 64px; }
  .r-what b { font-size: 24px; }
}

/* 高得点（100点・5教科450点以上） */
.t-ttl { display: inline-block; margin-top: 24px; background: var(--black); color: var(--accent); font-family: "Hiragino Sans", sans-serif; font-weight: 900; font-size: 15px; padding: 2px 12px; transform: skewX(-10deg); }
.t-list { display: flex; flex-wrap: wrap; gap: 0 28px; margin: 12px 0 8px; }
.t-list li { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.t-score { font-family: "Hiragino Sans", sans-serif; font-weight: 900; font-size: 48px; line-height: 1; color: var(--green); transform: skewX(-10deg); text-shadow: 3px 3px 0 #fff; letter-spacing: -0.03em; }
.t-score small { font-size: 18px; }
.t-list p { font-weight: 700; line-height: 1.4; }
.t-ttl + .r-list { margin-top: 12px; }
@media (min-width: 768px) { .t-score { font-size: 64px; } }
