/**
 * 高等学校TOP専用スタイル（seniors/index.php / koka-senior.js）。
 * 共通フォント・イベント丸・見出しは koka-home.css、共通ヘッダー等は koka-chrome.css。
 * 基本設定 → メイン → コース紹介 → スクロール演出 → 画面幅別の調整の順。
 * メインの寸法と動きは中学校TOPに合わせ、色・写真・本文はFigma「PC_高等学校TOP」に対応。
 */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/google-sans-flex-numerals.woff2') format('woff2');
  unicode-range: U+0025, U+0030-0039;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/inter-latin-400-700.woff2') format('woff2');
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.koka-senior-page {
  --koka-header-height: 130px;
  --senior-bottom-menu-height: 0px;
  min-width: 0;
  margin: 0;
  background: #fff;
}
.koka-senior {
  --senior-blue: #004094;
  font-family: 'Google Sans Flex', 'Barlow Numerals', 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400;
}
.koka-senior .koka-event__date {
  font-family: 'Google Sans Flex', 'Barlow Numerals', 'Zen Kaku Gothic New', sans-serif;
}
.koka-senior figure,
.koka-senior ol {
  margin: 0;
  padding: 0;
}
.koka-senior ol {
  list-style: none;
}
/* メインビジュアル：ヘッダーを除くブラウザ高に合わせ、文字・9枚の写真も高さに追従。 */
.koka-senior-hero {
  position: relative;
  height: calc(100vh - var(--koka-header-height) - var(--senior-bottom-menu-height));
  height: calc(100svh - var(--koka-header-height) - var(--senior-bottom-menu-height));
  min-height: 0;
  container-type: size;
  background: var(--senior-blue);
  isolation: isolate;
}

.koka-senior-hero__copy {
  position: absolute;
  z-index: 1;
  top: 18.5145%;
  left: 3.5%;
  color: #fff;
}

.koka-senior-hero__copy h1 {
  font-size: clamp(64px, min(14.8cqw, 25.5cqh), 300px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 0.92155;
}

/* 行ごとに動かしても、文字サイズ・2行の高さ・写真との重なりは維持する。 */
.koka-senior-hero__title,
.koka-senior-hero__title-line {
  display: block;
}

.koka-senior-hero__copy > p {
  margin-top: min(2.071429cqw, 3.121636cqh);
  padding-left: min(0.571429cqw, 0.861141cqh);
  font-size: clamp(20px, min(7cqw, 10cqh), 128px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 0.98266;
  white-space: nowrap;
}

/* 写真全体の高さはPC・スマートフォンともにメインビジュアルの92％。 */
.koka-senior-hero__photos {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  width: 57.428571%;
  height: 92%;
}

.koka-senior-hero__tile {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.koka-senior-hero__tile > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 丸いイベントは写真の下端に重ね、画面下の固定メニューから離す。 */
.koka-senior-hero__event {
  position: absolute;
  z-index: 2;
  right: 11.142857%;
  bottom: 3%;
}

/* イベント丸の学校色：高等学校は総合TOPと同じオレンジ。 */
.koka-senior .koka-senior-event {
  background-image:
    url('/img/index/event-senior.svg?ver=20261030-white-room'),
    url('/img/index/event-senior-base.svg?ver=20261013-colors');
}

.koka-senior-event .koka-event__title {
  font-size: 15px;
}

.koka-senior-event__guide {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #003b93;
  font-size: 13px;
  font-weight: 700;
}

.koka-senior-event__guide > span {
  display: inline-block;
  transition: transform 0.25s ease;
}

.koka-senior-event--guide:is(:hover, :focus-visible) .koka-senior-event__guide > span {
  transform: translateX(3px);
}

/* 高校の英語表記はFigmaと同じHIGH / SCHOOLの2行。 */
.koka-senior-hero__school {
  display: block;
}
/* Figmaで指定されたトリミング。枠は画面の縦横比に追従し、画像は枠の外を切り取る。 */
.koka-senior-hero__tile--hero-01 > img {
  position: absolute;
  top: -1.86%;
  left: -17.72%;
  width: 155.62%;
  max-width: none;
  height: 103.72%;
}
.koka-senior-hero__tile--hero-05 > img {
  position: absolute;
  top: 0;
  left: -2.2%;
  width: 150.18%;
  max-width: none;
  height: 100%;
}

/* コース紹介：本文幅1200px。色と写真はFigma、文字はサイト共通のZen Kaku Gothic New。 */
.koka-senior-courses {
  padding: 104px 0 250px;
}
.koka-senior-intro .koka-home-heading > p {
  font-size: 18px;
  line-height: 27px;
}
.koka-senior-intro h2 {
  margin-top: 24px;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 70px;
}
.koka-senior-intro__lead {
  min-height: 98px;
  margin-top: 24px !important;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 30px;
}

/* 5つのコースへ直接移動するナビゲーション。線と文字はホバーでも不透明。 */
.koka-senior-course-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 36px;
  overflow: hidden;
  border: 1px solid #e3e3e3;
  border-radius: 20px;
  background: #fafafa;
}
.koka-senior-course-nav > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 76px;
  padding: 10px 5px;
  border-right: 1px solid #e3e3e3;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.koka-senior-course-nav > a:last-child {
  border-right: 0;
}
.koka-senior-course-nav__number {
  color: var(--course-color);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.koka-senior-course-nav > a:is(:hover, :focus-visible) {
  color: var(--course-color);
  opacity: 1;
}
.koka-senior .koka-senior-course-nav > a:focus-visible {
  outline-offset: -4px;
}
.koka-senior-course-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 56px;
  margin-top: 80px;
}
.koka-senior-course {
  scroll-margin-top: 90px;
}
.koka-senior-course--premium,
.koka-senior-course-nav__premium {
  --course-color: #ee87b4;
  --course-accent: #ee87b4;
}
.koka-senior-course--advanced,
.koka-senior-course-nav__advanced {
  --course-color: #f49325;
  --course-accent: #ee7f00;
}
.koka-senior-course--future,
.koka-senior-course-nav__future {
  --course-color: #5392c3;
  --course-accent: #5392c3;
}
.koka-senior-course--medical,
.koka-senior-course-nav__medical {
  --course-color: #00a6b0;
  --course-accent: #00a6b0;
}
.koka-senior-course--international,
.koka-senior-course-nav__international {
  --course-color: #a66cab;
  --course-accent: #a66cab;
}

/* 写真の上にコース名を重ね、奇数と偶数でカードを左右に振り分ける。 */
.koka-senior-course__banner {
  position: relative;
  height: 400px;
}
.koka-senior-course--future .koka-senior-course__banner,
.koka-senior-course--international .koka-senior-course__banner {
  height: 438px;
}
.koka-senior-course__photo {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.koka-senior-course__photo picture {
  display: block;
  width: 100%;
  height: 100%;
}
.koka-senior-course__photo > img,
.koka-senior-course__photo > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.koka-senior-course--advanced .koka-senior-course__photo > img {
  position: absolute;
  top: -46.29%;
  left: -0.56%;
  width: 101.19%;
  max-width: none;
  height: 198.4%;
}
.koka-senior-course--future .koka-senior-course__photo img {
  position: absolute;
  top: -30.24%;
  left: 0;
  width: 100%;
  height: 182.6%;
}
.koka-senior-course--medical .koka-senior-course__photo > img,
.koka-senior-course--medical .koka-senior-course__photo > picture > img {
  object-position: center;
}
.koka-senior-course--international .koka-senior-course__photo img {
  position: absolute;
  top: -18.81%;
  left: 0.01%;
  width: 100%;
  height: 182.6%;
}
/* PC用の専用写真は未来創造・国際挑戦科だけで使用する。 */
@media (min-width: 1024px) {
  .koka-senior-course--future .koka-senior-course__photo img,
  .koka-senior-course--international .koka-senior-course__photo img {
    position: static;
    inset: auto;
    width: 100%;
    height: 100%;
    object-position: center;
  }
  .koka-senior-course--future .koka-senior-course__summary {
    width: min(340px, 28%);
  }
  .koka-senior-course--future .koka-senior-course__photo img {
    object-position: right center;
  }
}
.koka-senior-course__summary {
  position: absolute;
  top: 50%;
  left: 36px;
  width: 370px;
  min-height: 305px;
  padding: 28px 34px 30px;
  transform: translateY(-50%);
  background: var(--course-color);
  color: #fff;
}
.koka-senior-course:nth-child(even) .koka-senior-course__summary {
  right: 43px;
  left: auto;
}
.koka-senior-course__number {
  display: block;
  color: rgb(255 255 255 / 30%);
  font-size: 28.575px;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 44px;
}
.koka-senior-course__english {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.8px;
  line-height: 20px;
}
.koka-senior-course__summary h3 {
  margin-top: 3px;
  font-size: 30px;
  font-weight: 400;
  line-height: 35px;
}
.koka-senior-course__type {
  display: table;
  min-height: 27px;
  margin-top: 10px;
  padding: 1px 10px;
  border-radius: 20px;
  background: #fff;
  color: var(--course-accent);
  font-size: 14px;
  font-weight: 700;
  line-height: 25px;
}
/* SVGの元の大きさは変えず、狭い画面では区切り線の外側だけを隠す。 */
.koka-senior-course__divider {
  display: block;
  height: 1px;
  margin-top: 20px;
  overflow: hidden;
}
.koka-senior-course__divider img {
  max-width: none;
}
.koka-senior-course__catch {
  margin-top: 12px !important;
  font-size: 15px;
  letter-spacing: 2.25px;
  line-height: 29.181px;
}

/* 写真下の情報：特色、進路、卒業生TOPICの3列。長い文章は自然に折り返す。 */
.koka-senior-course__info {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 0.98fr);
  gap: 34px;
  min-height: 262px;
  padding: 40px 38px;
  background: #f3f3f3;
  font-family: 'Google Sans Flex', 'Inter', 'Zen Kaku Gothic New', sans-serif;
  font-size: 14px;
}
.koka-senior-course--premium .koka-senior-course__info {
  min-height: 289px;
}
.koka-senior-course__info > div {
  min-width: 0;
}
.koka-senior-course__info h4 {
  margin: 0;
  color: var(--course-accent);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 29px;
}
.koka-senior-course__features {
  border-right: 1px solid #c0c0c0;
  padding-right: 34px;
}
.koka-senior-course__features ul {
  margin-top: 12px;
}
.koka-senior-course__features li {
  position: relative;
  padding-left: 22px;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 26px;
}
.koka-senior-course__features li + li {
  margin-top: 4px;
}
.koka-senior-course__features img {
  position: absolute;
  top: 8px;
  left: 0;
}
.koka-senior-course__path-text {
  margin-top: 12px !important;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.05em;
}
/* 共通のpリセットより詳細な指定にして、白い注記内の余白を確実に適用する。 */
.koka-senior .koka-senior-course__change {
  width: 388px;
  min-height: 64px;
  margin-top: 30px !important;
  padding: 12px 16px;
  border-radius: 5px;
  background: rgb(255 255 255 / 90%);
  font-size: 13px;
  line-height: 23px;
}
.koka-senior-course__topic {
  display: flex;
  flex-direction: column;
}
.koka-senior-course__stat {
  margin-top: 12px !important;
  font-size: 14px;
  line-height: 24px;
}
/* 大きい数字で行の高さが広がらないようにし、左の進路本文と基準線をそろえる。 */
.koka-senior-course__stat strong {
  color: var(--course-accent);
  font-size: 28px;
  font-weight: 600;
  line-height: 0;
  vertical-align: baseline;
  white-space: nowrap;
}
.koka-senior-course__stat strong small {
  font-size: 14px;
}
.koka-senior-course__stat strong small:is([data-unit='％'], [data-unit='%']) {
  font-size: 18px;
  font-weight: 600;
}
.koka-senior-course__topic-note {
  margin-top: 3px !important;
  font-size: 13px;
  line-height: 1.8;
}
.koka-senior-course__more {
  position: relative;
  display: grid;
  place-items: center;
  align-self: flex-end;
  width: 220px;
  min-height: 55px;
  margin-top: auto;
  border-radius: 50px;
  background: var(--course-color);
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.koka-senior-course__more > span {
  position: absolute;
  top: 50%;
  right: 25px;
  width: 18px;
  height: 12px;
  transform: translateY(-50%);
  transition: transform 0.25s ease;
}
/* 矢印は1つのアイコンで描画。文字と画像の重複やフォントによるずれを防ぐ。 */
.koka-senior-course__more > span::before,
.koka-senior-course__more > span::after {
  content: '';
  position: absolute;
  top: 50%;
}
.koka-senior-course__more > span::before {
  left: 0;
  width: 18px;
  height: 1.5px;
  background: currentColor;
  transform: translateY(-50%);
}
.koka-senior-course__more > span::after {
  right: 1px;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.koka-senior-course__more:is(:hover, :focus-visible) > span {
  transform: translate(4px, -50%);
}
.koka-senior-course__more:is(:hover, :focus-visible) {
  opacity: 1;
}

/* 海外留学プログラム：PCはFigma同様に紫の見出し＋国別の2列。 */
.koka-senior-course__program {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  width: 400px;
  min-height: 60px;
  margin-top: 22px;
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
  font-size: 13px;
  line-height: 18px;
}
.koka-senior-course__program > p {
  display: grid;
  align-content: center;
  padding: 10px 12px;
  background: var(--course-color);
  color: #fff;
  text-align: left;
  font-weight: 700;
  line-height: 18px;
}
.koka-senior-course__program dl {
  display: grid;
  grid-template-columns: minmax(0, 1.53fr) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 10px 14px 10px 17px;
}
.koka-senior-course__program dl > div {
  min-width: 0;
}
.koka-senior-course__program dt {
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
}
.koka-senior-course__program dd {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 7px;
  margin: 2px 0 0;
}
.koka-senior-course__program dd span {
  min-height: 18px;
  padding: 0 2px;
  border: 1px solid #999;
  color: #000;
  font-size: 13px;
  font-weight: 500;
  line-height: 16px;
  text-align: center;
  white-space: nowrap;
}
/* PCの注記・留学プログラムとボタンは同じグリッド行に配置し、上下端をそろえる。
 * 内容が増えた場合は行全体が広がるため、固定座標や文字数に依存しない。
 */
@media (min-width: 1024px) {
  .koka-senior-course__info {
    --course-button-width: 220px;
    --course-bottom-gap: 32px;
    grid-template-rows: minmax(0, 1fr) auto;
    column-gap: 40px;
    row-gap: 28px;
    align-content: space-between;
  }
  .koka-senior-course__summary h3 {
    white-space: nowrap;
  }
  .koka-senior-course--advanced .koka-senior-course__summary h3 {
    font-size: 26px;
  }
  .koka-senior-course__features {
    grid-area: 1 / 1 / 3 / 2;
  }
  .koka-senior-course__path,
  .koka-senior-course__topic {
    display: contents;
  }
  .koka-senior-course__path-intro {
    grid-area: 1 / 2;
    min-width: 0;
  }
  .koka-senior-course__topic > div {
    grid-area: 1 / 3;
    min-width: 0;
  }
  .koka-senior .koka-senior-course__change,
  .koka-senior-course__program {
    /* 左のボックス幅は右側全体からボタン幅と間隔を引き、常に余白を確保する。 */
    grid-area: 2 / 2 / 3 / 4;
    width: calc(100% - var(--course-button-width) - var(--course-bottom-gap));
    align-self: stretch;
    margin-top: 0 !important;
  }
  .koka-senior .koka-senior-course__change {
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 20px;
  }
  .koka-senior-course__more {
    grid-area: 2 / 3;
    width: var(--course-button-width);
    align-self: stretch;
    justify-self: end;
    margin-top: 0;
  }
}

/* スクロール演出：JSの準備完了時のみ適用し、各部を一度だけ表示する。 */
.koka-senior-page.is-senior-motion [data-senior-reveal] {
  opacity: 1;
  transform: none;
  transition:
    opacity 700ms ease var(--senior-reveal-delay, 0ms),
    transform 850ms cubic-bezier(0.22, 1, 0.36, 1) var(--senior-reveal-delay, 0ms);
}

.koka-senior-page.is-senior-motion [data-senior-reveal]:focus-within {
  transition: none;
}

.koka-senior-page.is-senior-motion [data-senior-reveal]:not(.is-senior-visible) {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
}

/* 小さいPCではサイドバーと本文の距離を確保し、本文だけを縮める。 */
@media (max-width: 1399px) {
  .koka-senior .koka-home-container {
    width: calc(100% - 160px);
  }
  .koka-senior-course__info {
    gap: 26px;
    padding: 35px 32px;
  }
  .koka-senior-course__features {
    padding-right: 26px;
  }
  .koka-senior-course__summary {
    width: 370px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .koka-senior-course--future .koka-senior-course__banner {
    height: 400px;
  }
  .koka-senior-course--future .koka-senior-course__summary {
    width: 28%;
    padding-right: 24px;
    padding-left: 24px;
  }
  .koka-senior-course--future .koka-senior-course__summary h3 {
    font-size: 26px;
  }
}
/* 共通ヘッダーがモバイル用に切り替わる幅。下部の固定メニュー高も差し引く。 */
@media (min-width: 768px) and (max-width: 1199px) {
  .koka-senior .koka-senior-course__change,
  .koka-senior-course__program {
    width: 100%;
  }
  .koka-senior-course__program {
    grid-template-columns: 1fr;
  }
  .koka-senior-course__program > p {
    padding: 8px 12px;
  }
  .koka-senior-course__program > p br {
    display: none;
  }
  .koka-senior-course__program dl {
    padding: 10px;
    gap: 10px;
  }
  .koka-senior-course__program dd {
    gap: 4px;
  }
  .koka-senior-course__program dd span {
    font-size: 11px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .koka-senior-course__info {
    --course-bottom-gap: 24px;
  }
  .koka-senior .koka-senior-course__change,
  .koka-senior-course__program {
    width: calc(100% - var(--course-button-width) - var(--course-bottom-gap));
  }
  .koka-senior .koka-senior-course__change {
    padding: 10px 12px;
    font-size: 11px;
    line-height: 18px;
  }
}
@media (max-width: 1023px) {
  .koka-senior-page {
    --koka-header-height: 65px;
    --senior-bottom-menu-height: calc(60px + env(safe-area-inset-bottom, 0px));
  }
  .koka-senior .koka-home-container {
    width: calc(100% - 64px);
  }
  .koka-senior-hero__event {
    right: 8%;
  }
  .koka-senior-courses {
    padding-top: 72px;
    padding-bottom: 120px;
  }
  .koka-senior-intro h2 {
    font-size: 38px;
  }
  .koka-senior-course-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .koka-senior-course-nav > a {
    border-bottom: 1px solid #e3e3e3;
  }
  .koka-senior-course-nav > a:nth-child(3) {
    border-right: 0;
  }
  .koka-senior-course-nav > a:nth-child(n + 4) {
    border-bottom: 0;
  }
  .koka-senior .koka-senior-course__banner {
    height: 360px;
  }
  .koka-senior-course__summary {
    width: 340px;
    left: 24px;
    right: auto;
    padding: 30px;
  }
  .koka-senior-course:nth-child(even) .koka-senior-course__summary {
    left: auto;
    right: 24px;
  }
  .koka-senior-course__summary h3 {
    font-size: 27px;
  }
  .koka-senior-course__info {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 26px;
  }
  .koka-senior-course__topic {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 220px;
    align-items: end;
    gap: 24px;
  }
  .koka-senior-course__more {
    margin-top: 0;
  }
  .koka-senior-course__program,
  .koka-senior .koka-senior-course__change {
    width: 100%;
  }
}
/* スマートフォン：メインは2列×4段。コースは写真→説明の順に縦並び。 */
@media (max-width: 767px) {
  .koka-senior .koka-home-container {
    width: calc(100% - 40px);
  }
  .koka-senior-hero__copy {
    top: 20%;
  }

  .koka-senior-hero__copy h1 {
    font-size: clamp(44px, min(20.5cqw, 29cqh), 128px);
    line-height: 0.98;
  }

  .koka-senior-hero__copy > p {
    margin-top: min(4.1cqw, 4cqh);
    padding: 0 0 0 3px;
    font-size: clamp(22px, min(8.2cqw, 8cqh), 52px);
    line-height: 1.1;
  }

  /* 高校の英語表記はスマートフォンでもHIGH・SCHOOLの2行を維持する。 */
  .koka-senior-hero__school {
    display: block;
  }

  .koka-senior-hero__photos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(0, 1fr));
    width: 52%;
  }

  /* 白いメイン文字が重なるSP写真だけ、色味を保って少し暗くする。 */
  .koka-senior-hero__tile > img {
    filter: brightness(0.88);
  }

  /* PCの3列目にある2枚はSPの最下段へ。元の6枚の並びを維持する。 */
  .koka-senior-hero__tile--sp-last-row {
    order: 1;
  }

  .koka-senior-hero__tile--pc-only {
    display: none;
  }

  .koka-senior-hero__event {
    right: 20px;
  }

  .koka-senior .koka-senior-event {
    width: 144px;
    height: 144px;
    padding: 15px 12px 11px;
  }

  .koka-senior-event .koka-event__title {
    height: 34px;
    min-height: 34px;
    font-size: 13px;
    line-height: 16px;
  }

  .koka-senior-event .koka-event__date {
    gap: 5px;
    margin-top: 4px;
    font-size: 29px;
  }

  .koka-senior-event .koka-event__weekday {
    width: 23px;
    height: 23px;
    font-size: 12px;
  }

  .koka-senior-event .koka-event__school {
    margin-top: auto;
    font-size: 16px;
    line-height: 20px;
  }

  .koka-senior-event__guide {
    font-size: 11px;
  }

  .koka-senior-courses {
    padding-top: 44px;
    padding-bottom: 72px;
  }
  .koka-senior-intro .koka-home-heading > p {
    gap: 10px;
    font-size: 13px;
    letter-spacing: 0.07em;
  }
  .koka-senior-intro h2 {
    margin-top: 12px;
    font-size: clamp(23px, 6.3vw, 32px);
    line-height: 1.45;
    letter-spacing: 0.03em;
  }
  .koka-senior-intro__lead {
    min-height: 0;
    margin-top: 20px !important;
    font-size: 14px;
    line-height: 2;
  }
  .koka-senior-course-nav {
    margin-top: 28px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 12px;
  }
  .koka-senior-course-nav > a {
    min-height: 72px;
    padding: 12px 7px;
    gap: 2px;
    font-size: 13px;
  }
  .koka-senior-course-nav > a:nth-child(n) {
    border-right: 0;
    border-bottom: 1px solid #e3e3e3;
  }
  .koka-senior-course-nav > a:nth-child(odd) {
    border-right: 1px solid #e3e3e3;
  }
  .koka-senior-course-nav > a:last-child {
    grid-column: 1 / -1;
    min-height: 64px;
    border: 0;
  }
  .koka-senior-course-nav__number {
    font-size: 19px;
  }
  .koka-senior-course-list {
    gap: 32px;
    margin-top: 40px;
  }
  .koka-senior .koka-senior-course__banner {
    height: auto;
    display: flex;
    flex-direction: column;
  }
  .koka-senior-course__photo {
    position: relative;
    inset: auto;
    height: auto;
    aspect-ratio: 1.55;
  }
  .koka-senior .koka-senior-course__photo img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .koka-senior-course__summary,
  .koka-senior-course:nth-child(even) .koka-senior-course__summary {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    width: 100%;
    min-height: 0;
    padding: 20px 20px 22px;
  }
  .koka-senior-course__number {
    font-size: 26px;
    line-height: 1;
  }
  .koka-senior-course__english {
    margin-top: 7px;
    font-size: 11px;
  }
  /* 科名はコース名と同じ行を優先し、狭い画面では文字を切らずに折り返す。 */
  .koka-senior-course__heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    margin-top: 4px;
  }
  .koka-senior-course__summary h3 {
    margin-top: 0;
    font-size: clamp(20px, 5.6vw, 26px);
    line-height: 1.4;
  }
  .koka-senior-course__type {
    flex: none;
    margin-top: 0;
    padding: 1px 8px;
    font-size: 11px;
    line-height: 20px;
    min-height: 22px;
  }
  .koka-senior-course__divider {
    margin-top: 14px;
  }
  .koka-senior-course__catch {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.08em;
  }
  .koka-senior-course__info {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 22px 20px 24px;
  }
  .koka-senior-course__features {
    padding: 0 0 18px;
    border-right: 0;
    border-bottom: 1px solid #d3d3d3;
  }
  .koka-senior-course__info h4 {
    font-size: 15px;
    letter-spacing: 0.08em;
  }
  .koka-senior-course__features li {
    margin-top: 9px;
    font-size: 14px;
    line-height: 1.8;
  }
  .koka-senior-course__path-text {
    margin-top: 6px !important;
    font-size: 14px;
    line-height: 1.8;
  }
  .koka-senior .koka-senior-course__change {
    margin-top: 16px;
    padding: 12px;
    font-size: 12px;
    line-height: 1.8;
  }
  .koka-senior-course__program {
    margin-top: 16px;
    grid-template-columns: 74px minmax(0, 1fr);
    font-size: 11px;
  }
  .koka-senior-course__program dl {
    grid-template-columns: 1fr;
    padding: 10px;
    gap: 12px;
  }
  .koka-senior-course__program > p {
    padding: 10px 7px;
    font-size: 12px;
  }
  .koka-senior-course__program dt {
    font-size: 12px;
  }
  .koka-senior-course__program dd {
    gap: 5px;
  }
  .koka-senior-course__program dd span {
    font-size: 12px;
  }
  .koka-senior-course__topic {
    display: contents;
  }
  /* SPは特色→進路→卒業生TOPIC→注記（留学案内）→ボタンの順に並べる。 */
  .koka-senior-course__path {
    display: contents;
  }
  .koka-senior-course__features {
    order: 0;
  }
  .koka-senior-course__features ul {
    margin-top: 8px;
  }
  .koka-senior-course__path-intro {
    order: 1;
    min-width: 0;
  }
  .koka-senior-course__topic > div {
    order: 2;
    min-width: 0;
  }
  .koka-senior .koka-senior-course__change,
  .koka-senior-course__program {
    order: 3;
    margin-top: 0 !important;
  }
  .koka-senior-course__stat {
    margin-top: 6px !important;
    font-size: 14px;
    line-height: 1.9;
  }
  .koka-senior-course__stat strong {
    font-size: 29px;
  }
  .koka-senior-course__topic-note {
    font-size: 12px;
  }
  .koka-senior-course__more {
    order: 4;
    width: 100%;
    min-height: 52px;
    margin-top: 0;
    font-size: 15px;
  }
}
/* 横向きなど高さの小さいスマートフォンでも、見出しがイベント丸に重ならないサイズにする。 */
@media (max-width: 767px) and (max-height: 500px) {
  .koka-senior-hero__copy {
    top: 12%;
  }
  .koka-senior-hero__copy h1 {
    font-size: clamp(44px, min(20.5cqw, 25cqh), 128px);
  }
  .koka-senior-hero__copy > p {
    font-size: clamp(18px, min(8.2cqw, 8cqh), 36px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .koka-senior-page.is-senior-motion [data-senior-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .koka-senior-course__more > span,
  .koka-senior-event__guide > span {
    transition: none;
  }
}


/* 看護医療も共通の枠の高さを使い、赤線の目安（上約6%・下約84%）で表示する。 */
@media (min-width: 768px) {
  .koka-senior-course--medical .koka-senior-course__photo > picture {
    position: relative;
    overflow: hidden;
  }
  .koka-senior-course--medical .koka-senior-course__photo > picture > img {
    position: absolute;
    top: -7.692308%;
    left: 0;
    height: 128.205128%;
    object-position: center top;
  }
}

/* 説明の中央配置も他コースと共通。人物は写真の左側に収める。 */
@media (min-width: 1280px) {
  .koka-senior-course--medical .koka-senior-course__photo > picture > img {
    object-position: right top;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .koka-senior-course--medical .koka-senior-course__summary {
    width: 28%;
    min-height: 0;
    padding: 16px;
  }
  .koka-senior-course--medical .koka-senior-course__number {
    font-size: 24px;
    line-height: 28px;
  }
  .koka-senior-course--medical .koka-senior-course__english {
    font-size: 10px;
    letter-spacing: 0.07em;
    line-height: 14px;
  }
  .koka-senior-course--medical .koka-senior-course__summary h3 {
    font-size: clamp(18px, 2.1vw, 24px);
    line-height: 1.4;
  }
  .koka-senior-course--medical .koka-senior-course__type {
    min-height: 22px;
    margin-top: 8px;
    padding: 1px 8px;
    font-size: 11px;
    line-height: 20px;
  }
  .koka-senior-course--medical .koka-senior-course__divider {
    margin-top: 12px;
  }
  .koka-senior-course--medical .koka-senior-course__catch {
    margin-top: 10px !important;
    font-size: 13px;
    letter-spacing: 0;
    line-height: 22px;
  }
}
