/* =========================================================
   TOP リニューアル 追加スタイル（新デザインCSSチャンクの後に読み込む）
   - 静的スナップショットで opacity:1 に固定されていたフェードインを
     スクロール表示に戻す
   - モーション抑制の環境では最初から表示（アニメなし）
   ========================================================= */
@media (prefers-reduced-motion: no-preference) {
  [class*="FadeIn-module"][class*="__base"] {
    opacity: 0;
    transition: opacity .65s ease, transform .65s ease;
  }

  [class*="FadeIn-module"][class*="__base"][class*="__up"] {
    transform: translateY(28px);
  }

  [class*="FadeIn-module"][class*="__base"][class*="__down"] {
    transform: translateY(-28px);
  }

  [class*="FadeIn-module"][class*="__base"][class*="__left"] {
    transform: translateX(28px);
  }

  [class*="FadeIn-module"][class*="__base"][class*="__right"] {
    transform: translateX(-28px);
  }

  [class*="FadeIn-module"][class*="__base"][class*="__fade"] {
    transform: none;
  }

  [class*="FadeIn-module"][class*="__base"].tr-visible {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* モバイルメニュー展開中は背面スクロールを止める（保険） */
body.tr-nav-open {
  overflow: hidden;
}

/* =========================================================
   校長メッセージ（TOP #message）: 抜粋版デザイン
   正本の PrincipalMessage（抜粋・全文へのリンク付き）に合わせる。
   Fixed: 取り込み時点のCSSチャンクに .messageSectionTop / .messageAction
   が含まれていなかったため追記（理由: 正本側で後から追加された抜粋レイアウト用クラスのため）
   ========================================================= */
.sections-module__vAd12a__messageSectionTop {
  padding-bottom: clamp(3.5rem, 8vw, 6rem);
}

.sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messageWhite {
  margin-bottom: 0;
}

.sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messageTop {
  align-items: stretch;
}

.sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messageBody {
  flex-direction: column;
  display: flex;
}

.sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messagePhotoWrap {
  width: 82%;
  margin-inline: auto;
}

.sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messageAction {
  text-align: right;
  margin-top: auto;
  padding-top: 1.75rem;
}

.sections-module__vAd12a__messageAction {
  text-align: right;
  margin-top: 1.75rem;
}

@media (max-width: 767px) {
  .sections-module__vAd12a__messageAction {
    text-align: center;
  }

  .sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messageAction {
    text-align: center;
    margin-top: 1.75rem;
  }
}

.sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messageLead {
  margin-bottom: .75rem;
}

@media (max-width: 900px) {
  .sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messageProfile {
    text-align: left;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: clamp(.9rem, 3vw, 1.5rem);
  }

  .sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messagePhotoWrap {
    flex-shrink: 0;
    width: 160px;
    margin-inline: 0;
  }

  .sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messageName,
  .sections-module__vAd12a__messageSectionTop .sections-module__vAd12a__messageBody {
    text-align: left;
  }
}

/* 261019 採用*/
#recruit {
  background: rgba(207, 240, 251, 0.45);
  padding-top: 100px;
  padding-bottom: 100px;
}

.mt-30 {
  margin-top: 30px;
}

.top_recruit_contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

@media (min-width: 768px) {
  .top_recruit_contents {
    flex-direction: row;
    justify-content: center;
    gap: 80px;
  }
  #recruit .sections-module__vAd12a__admissionActionsRow{
    justify-content: flex-start;
  }
}

/* フッター: 各キャンパスへのお問い合わせ */
.footer-campus-tel {
  margin-top: 1.5rem;
  padding-block: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.footer-campus-tel__title {
  margin: 0 0 1rem;
  font-size: .85rem;
  opacity: .85;
}

/* 名前列は最長のキャンパス名に合わせ、番号の位置を揃える */
.footer-campus-tel__list {
  display: grid;
  grid-template-columns: max-content auto;
  align-items: center;
  gap: .75rem 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .85rem;
}

.footer-campus-tel__list li {
  display: contents;
}

.footer-campus-tel__name {
  white-space: nowrap;
}

.footer-campus-tel__number {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
}

.footer-campus-tel__number a {
  color: inherit;
}
