/* ============================================
   Classes Detail Page
   ============================================ */

.classes-detail {

  /* --- MV --- */
  .mv {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    &.mv--cfc { background-color: var(--color-cfc); }
    &.mv--iep { background-color: var(--color-iep); }
    &.mv--pppa { background-color: var(--color-pppa); }
    &.mv--pppb { background-color: var(--color-pppb); }
    &.mv--idw { background-color: var(--color-idw); }
  }

  .mv-shape {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
  }

  .mv-abbr-wrap {
    position: absolute;
    top: 50%;
    left: 30rem;
    right: 30rem;
    transform: translateY(-50%);
  }

  .mv-bottom {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0 30rem 30rem;
    z-index: 1;
  }

  .mv-titles {
    display: flex;
    flex-direction: column;
    gap: 8rem;
  }

  .mv-title {
    font-family: var(--font-ja);
    font-size: 43rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.6;
  }

  .mv-subtitle {
    font-family: var(--font-en);
    font-size: 29rem;
    font-weight: normal;
    line-height: normal;
  }

  .slide-text {
    flex-shrink: 0;
  }

  /* --- Body --- */
  .body {
    padding: 140rem var(--padding-x) 120rem;
    max-width: calc(720rem + var(--padding-x) * 2);
    margin: 0 auto;
    font-family: var(--font-ja);
    font-size: 24rem;
    letter-spacing: 1.2rem;
    line-height: 1.81;

    h2 {
      font-weight: normal;
    }
  }

  /* --- Sections (Events / Activity / News) --- */
  .classes-section {
    padding: 0 var(--padding-x) 120rem;

    > .section-heading {
      margin-bottom: 60rem;
    }
  }

  .classes-events,
  .classes-news {
    padding-left: 0;
    padding-right: 0;

    > .section-heading {
      padding: 0 var(--padding-x);
    }
  }

}

html[lang="en"] .classes-detail .mv-title {
  font-weight: normal;
}

html[lang="en"] .classes-detail .body {
  letter-spacing: 0;
  line-height: 1.8;
}

/* ============================================
   Responsive - SP
   ============================================ */
@media (max-width: 700px) {
  .classes-detail {
    .mv {
      height: 560rem;
    }

    .mv-abbr-wrap {
      left: 20rem;
      right: 20rem;
    }

    .mv-bottom {
      flex-direction: column;
      align-items: flex-start;
      gap: 12rem;
      padding: 0 20rem 20rem;
    }

    .mv-title {
      font-size: 25rem;
    }

    .mv-subtitle {
      font-size: 18rem;
    }

    .slide-text {
      display: none;
    }

    .body {
      padding: 80rem var(--padding-x) 100rem;
      font-size: 14rem;
      letter-spacing: 0.7rem;
      line-height: 1.9;
    }

    .classes-section {
      padding-bottom: 60rem;

      > .section-heading {
        margin-bottom: 30rem;
      }
    }

  }
}
