@charset "UTF-8";
@media screen and (min-width: 768px) {
  main {
    margin-bottom: 0;
  }

  /* ---------- Hero ---------- */
  .campusHero {
    padding-top: 8.33vw;
  }
  .campusLogo {
    top: 3.125vw;
    left: 4.17vw;
  }
  .campusLogo img {
    width: 7.66vw;
  }
  .campusHeroVisual {
    margin-left: 8.39vw;
    height: 47.92vw;
  }
  /* タイトル類はページ中央（ヒーロー中央ではない）に揃える */
  .campusHeroInner {
    top: 26.67vw;
    left: 0;
    right: 0;
    width: 27.07vw;
    margin: 0 auto;
    align-items: flex-start;
  }
  .campusHeroTitle img {
    width: 27.07vw;
  }
  .campusHeroCatch {
    margin-top: 1.44vw;
    margin-left: .1vw;
    white-space: nowrap;
    font-size: 1.875vw;
    line-height: 4.01vw;
    font-weight: 400;
  }

  /* ---------- Intro ---------- */
  .campusIntro {
    width: 31.25vw;
    padding: 0;
    margin: 7.19vw auto 0;
    color: #000;
  }
  .campusIntro h2 {
    font-size: 2.08vw;
    font-weight: 400;
    line-height: 3.54vw;
    /* 68px */
    text-align: center;
  }
  .campusIntro p {
    margin-top: 2.6vw;
    font-size: .99vw;
    line-height: 2.08vw;
  }

  /* ---------- REAL / VIRTUAL ---------- */
  .campusMain {
    margin-top: 7.24vw;
  }
  ul.campusTabs {
    gap: 1.04vw;
  }
  ul.campusTabs li {
    width: 15.1vw;
    height: 5.57vw;
    padding-top: 1.35vw;
    border-radius: .26vw .26vw 0 0;
    font-size: 1.72vw;
    line-height: 1.72vw;
  }
  ul.campusTabs li small {
    margin-top: .05vw;
    font-size: 1.25vw;
    line-height: 1.35vw;
  }

  .campusBody {
    padding: 5.21vw 0 10.16vw;
    color: #000;
  }
  .campusBody::before {
    left: 8.39vw;
  }

  .campusLead {
    width: 31.25vw;
    padding: 0;
    margin: 0 auto;
  }
  .campusLeadPhoto {
    height: 20.83vw;
    aspect-ratio: auto;
  }
  .campusLead h3 {
    margin-top: 3.44vw;
    color: #333;
    font-size: 1.46vw;
    line-height: 2.34vw;
  }
  .campusLead h3.center {
    text-align: center;
  }
  .campusLead p {
    margin-top: 2.6vw;
    font-size: .99vw;
    line-height: 2.08vw;
  }
  #virtual .campusLead h3 {
    margin-top: 4.43vw;
    text-align: center;
  }
  #virtual .campusLead p {
    margin-top: 2.45vw;
  }

  /* ---------- 施設タブ / サブタブ ---------- */
  ul.campusSubTabs {
    flex-wrap: nowrap;
    justify-content: center;
    margin-top: 11.46vw;
  }
  ul.virtualTabs {
    margin-top: 14.06vw;
  }
  ul.campusSubTabs::after {
    content: none;
  }
  ul.campusSubTabs li,
  ul.facilityTabs li:nth-child(-n+3) {
    flex: 0 0 11.42vw;
    height: 5.27vw;
    font-size: 1.5625vw;
    line-height: 1.5625vw;
  }
  ul.virtualTabs li {
    flex-basis: 15.625vw;
  }
  ul.campusSubTabs li small {
    font-size: 1.15vw;
    line-height: 1.51vw;
  }
  ul.campusSubTabs li + li::before,
  ul.facilityTabs li:nth-child(4)::before {
    content: "";
    height: 1.49vw;
  }

  /* ---------- タブの中身 ---------- */
  .campusContent {
    width: 31.25vw;
    padding: 0;
    margin: 6.17vw auto 0;
  }
  .campusContentTitle {
    display: block;
    font-size: 3.8vw;
    line-height: 4.06vw;
    text-align: center;
  }
  .campusContentSub {
    display: block;
    margin-top: .73vw;
    margin-left: 0;
    font-size: 1.3vw;
    line-height: 2.6vw;
    text-align: center;
  }

  .campusBlock {
    margin-top: 7.29vw;
  }
  /* Global：本文から次の見出しまで */
  #global .campusBlock + .campusBlock {
    margin-top: 7.14vw;
  }
  .campusContentSub + .campusBlock {
    margin-top: 2.86vw;
  }
  .campusContentSub + .campusBlock.noTitle {
    margin-top: 3.33vw;
  }
  .campusBlock h4 {
    font-size: 1.82vw;
    line-height: 2.71vw;
    text-align: center;
  }
  .campusBlock h4 small {
    font-size: 1.46vw;
  }
  .campusBlock h4 + * {
    margin-top: 3.08vw;
  }
  .campusBlock h4 + .campusBlockText {
    margin-top: 2.66vw;
  }

  .campusBlockImg {
    width: 31.25vw;
    margin-left: 0;
  }
  main .campusBlockImg {
    height: 20.83vw;
    aspect-ratio: auto;
  }
  main .campusBlockImg.wide {
    height: 11.3vw;
  }
  main .campusBlockImg.library {
    height: 15.32vw;
  }
  .campusBlockImg.after {
    margin-top: 2.6vw;
  }
  .campusBlockImg.inset {
    width: 31.25vw;
  }

  .campusBlockText {
    font-size: .9375vw;
    line-height: 1.98vw;
  }
  .campusBlockImg + .campusBlockText {
    margin-top: 2.62vw;
  }
  .campusBlockText p.gap {
    margin-top: 1.98vw;
  }
}
