body:has(.about-container) {
  background: transparent linear-gradient(180deg, #F2F2F2 0%, #F2F2F2FD 38%, #F2F2F2F6 51%, #F2F2F2E9 61%, #F2F2F2D8 69%, #F2F2F2C0 75%, #F2F2F2A4 81%, #F2F2F282 87%, #F2F2F25A 92%, #F2F2F22E 96%, #F2F2F200 100%) 0% 0% no-repeat padding-box;
}

.about-container-wrapper {
  hgroup {
    margin-bottom: 20px;
  }
}

.title-h1 .title-main {
  font-size: clamp(20px, 1.5vw, 45px);
}

.about-container {
  position: relative;

  .about-content-image {
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    max-width: 300px;
  }
}

.about-content {
  width: 40%;
  margin-left: auto;
  margin-top: -50px;

  h2 {
    margin-bottom: 32px;
    font-weight: 500;
    word-break: auto-phrase;
    font-family: "Zen Kaku Gothic Antique";
    letter-spacing: 1.8px;
    line-height: 1.6;
    font-size: clamp(20px, 1.8vw, 32px);
    font-weight: 600;
  }

  p {
    font-size: clamp(14px, 1vw, 16px);
  }

  .button-group {
    margin-top: 24px;
  }
}

.about-images-container-wrapper {
  margin: 64px calc(50% - 50vw) 0;
  overflow: hidden;

  .about-images-container-sp {
    display: none;
  }

  .images-loop-item {
    padding: 8px;
    background-color: rgba(0, 0, 0, 0.8);
  }
}

.about-message-container {
  border: 1px solid #000;
  background-color: #F2F2F2;
  padding: 24px;
  display: flex;
  gap: 36px;
  position: relative;
  margin-top: 64px;
  min-width: 800px;

  .about-message-image {
    min-width: 200px;
    max-width: 200px;
    text-align: center;
    margin-top: -48px;

    p {
      margin-top: 8px;
      font-weight: 600;
    }
  }

  .about-message-container-inner {
    &.display-pc-only {
      display: flex;
    }

    &.display-sp-only {
      display: none;
    }
  }

  .about-message-content {
    flex-grow: 1;
    padding-inline: 48px;

    h3 {
      display: flex;
      align-items: flex-end;
      gap: 24px;
      color: #00A73C;
      /* font-size: 38px; */
      font-size: clamp(28px, 5vw, 42px);
      font-weight: 400;
      font-family: 'BookAntiqua', serif;
      margin-bottom: 16px;
      letter-spacing: 1.5px;

      span {
        color: #000;
        font-size: clamp(16px, 3vw, 26px);
        font-weight: 600;
        font-family: 'Zen Kaku Gothic Antique', sans-serif;
        margin-bottom: 6px;
        letter-spacing: 1.5px;
        text-align: left;
      }
    }
  }

  .about-message-link {
    position: absolute;
    right: -40px;
    bottom: -16px;

    .button-group {
      margin: 0;
    }
  }
}

.about-department-container-wrapper {
  margin-top: 64px;
  display: grid;
  gap: 32px;
}
.about-department-container {
  position: relative;
  z-index: 1;
  padding-block: 10px;

  .about-department-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 72vw;
    height: 100%;
    z-index: 0;
    margin: 0 calc(50% - 50vw) 0;
    background: linear-gradient(180deg,rgba(0, 167, 60, 1) 0%, rgba(33, 167, 141, 1) 100%);
  }

  .about-department-item {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-start;
    gap: 6%;
    border-bottom: 1px solid #fff;
    padding-top: 64px;
    padding-bottom: 64px;

    &:first-child {
    }

    &:last-child {
      border-bottom: none;
    }

    .about-department-content {
      width: 46%;

      h2 {
        margin-bottom: 4vw;

        p {
          font-size: clamp(32px, 5vw, 52px);
          font-weight: 400;
          font-family: 'BookAntiqua', serif;
          position: relative;
          letter-spacing: 2px;
          margin-bottom: 0.5vw;

          img {
            margin-left: 20px;
          }

          .about-department-icon-dm,
          .about-department-icon-af {
            width: 60px;
          }
          .about-department-icon-bi {
            width: 48px;
            position: absolute;
            top: 0;
            left: 250px;
          }
        }

        span {
          font-size: 20px;
          font-weight: 400;
          font-family: 'Zen Kaku Gothic Antique', sans-serif;
        }
      }
      .about-department-link {
        a {
          text-decoration: none;
        }

        .arrow-right {
          filter: invert(100%);
        }
      }

      .button-group {
        margin-top: 32px;
        margin-bottom: 0;

        .action-button {
          background-color: transparent;
          color: #fff;
          border: 1px solid #fff;
          text-decoration: none;
        }
      }

      .about-department-text {
        color: #fff;
      }
    }
    .about-department-image {
      width: 50%;
      position: absolute;
      top: 6vw;
      right: -3vw;
    }
  }
}

.about-curriculum-container {
  margin-block: 64px;
  display: grid;
  gap: 32px;

  .about-curriculum-content {
    display: flex;
    gap: 4%;
    align-items: flex-start;

    .about-curriculum-image {
      width: 48%;
    }
    .about-curriculum-text {
      width: 48%;
      display: grid;
      gap: 16px;
    }
  }
}

.about-history-container {
  margin-top: 64px;
  box-shadow: 7px 7px 5px #00000033;
  padding: 60px 90px;
  background-color: #fff;
  margin-bottom: 3vw;

  hgroup {
    margin-top: -86px;
    margin-bottom: 40px;
  }

  dl {

    div {
      display: flex;

      &:first-child {
        dt {
          border-top: 2px solid #00A73C;
          margin-top: -0.5px;
        }
        dd {
          border-top: 1px solid #808080;
        }
      }
    }

    dt {
      width: 120px;
      min-width: 120px;
      font-weight: 600;
      color: #00A73C;
      border-bottom: 2px solid #00A73C;
      padding-block: 12px;
      text-align: center;
      display: grid;
      place-items: center;
      letter-spacing: 1.5px;
      font-size: clamp(14px, 1.0vw, 18px);
    }

    dd {
      flex-grow: 1;
      font-weight: 400;
      color: #000;
      border-bottom: 1px solid #808080;
      padding-block: 12px;
      padding-left: 3vw;
      padding-right: 2vw;
      margin-bottom: 0.5px;
      font-size: clamp(14px, 1.0vw, 18px);
      line-height: 1.4;
      letter-spacing: 0;
    }
  }
}

/* 1400px以下のメディアクエリ */
@media screen and (max-width: 1400px) {


  .about-content {
    width: 400px;
  }
}

/* 1200px以下のメディアクエリ */
@media screen and (max-width: 1200px) {
  .about-content {
    width: 300px;
  }

  .about-department-container .about-department-item .about-department-content h2 span {
    font-size: 16px;
  }
}

/* 1024px以下のメディアクエリ */
@media screen and (max-width: 1024px) {
  .about-content {
    width: 380px;
  }

  .about-message-container {
    padding-bottom: 48px;
    min-width: 90%;
    margin-inline: auto;

    .about-message-content {
      padding-inline: 12px;

      h3 {
        height: 140px;
        align-items: flex-start;
        align-content: flex-start;
        flex-wrap: wrap;
        gap: 0;

        span {
          width: 100%;
        }
      }
    }
  }

  .about-message-container .about-message-link {
    right: auto;
    left: 0;
    bottom: -34px;
  }

  .about-department-container {
    padding-block: 24px;

    .about-department-bg {
      width: 82vw;
    }

    .about-department-item .about-department-content {
      width: 100%;
      min-width: 100%;

      .about-department-text {
        padding-right: 40vw;
      }
    }
  }

  .about-curriculum-container .about-curriculum-content {
    flex-wrap: wrap;
    gap: 24px;

    .about-curriculum-image {
      width: 100%;
    }
    .about-curriculum-text {
      width: 100%;
    }
  }

  .about-history-container dl dt {
    width: 60px;
    min-width: 60px;
  }

  .about-history-container dl dd {
    font-size: 12px;
  }
}

/* 820px以下のメディアクエリ */
@media screen and (max-width: 820px) {
  .about-department-container .about-department-item .about-department-content {
    width: 100%;
    min-width: 100%;

    .about-department-text {
      padding-right: 18vw;
    }
  }
}

/* 768px以下のメディアクエリ */
@media screen and (max-width: 768px) {
  .about-container {
    .about-content-image {
      max-width: 140px;
      left: auto;
      top: -100px;
      right: 0;
    }
  }

  .about-message-container{
    .about-message-container-inner {
      &.display-pc-only {
        display: none;
      }
  
      &.display-sp-only {
        display: flex;
        flex-direction: column;

        .about-message-image {
          display: flex;
          min-width: 100%;
          max-width: 100%;
    
          .about-message-content {
            display: flex;
            align-items: center;
          }

          p {
            text-align: center;
            font-size: clamp(13px, 1.0vw, 18px);
          }
        }
      }
    }
  }

  .about-message-container-text {
    margin-top: 6vw;
    padding: 0 3vw;
  }

  .about-content {
    width: 100%;
    margin-left: 0;
    margin-top: 20px;
  }

  .about-images-container-wrapper {
    max-width: 100vw;
    display: grid;
    align-items: flex-start;
    gap: 12px;

    .about-images-container-sp {
      display: block;
    }
  }

  .about-department-container .about-department-item {
    padding-bottom: 64px;

    &:first-child {
      padding-top: 10px;
    }

    .about-department-content h2 p {
      .about-department-icon-dm,
      .about-department-icon-af {
        position: absolute;
        top: 20px;
        left: 45vw;
      }
      .about-department-icon-bi {
        left: 120px;
      }
    }

    .about-department-content h2 span {
      font-size: 14px;
    }
  }

  .about-department-container {
    .about-department-bg {
      width: 88vw;
    }
  }

  .about-curriculum-container {
    .about-curriculum-content {
      .about-curriculum-text  {
        gap: 8vw;
      }
    }
  }

  .about-history-container {
    padding: 40px;
    margin-top: 40px;
  }

  .container-margin-md {
    margin: 0;
  }
}

/* 520px以下のメディアクエリ */
@media screen and (max-width: 520px) {
  .about-container {
    .about-content-image {
      max-width: 120px;
      top: -80px;
    }
  }
}

/* 480px以下のメディアクエリ */
@media screen and (max-width: 480px) {
  .about-message-container {
    padding: 16px;
    padding-bottom: 32px;

    .about-message-image {
      min-width: 120px;
      max-width: 120px;
      right: 16px;
    }

    .about-message-content {

      h3 {
        height: 80px;
        gap: 3px;
        padding-left: 8px;
      }
    }
  }

  .about-department-container .about-department-item .about-department-content h2 p {
    .about-department-icon-dm,
    .about-department-icon-af {
      width: 48px;
      left: 58vw;
    }
    .about-department-icon-bi {
      width: 36px;
      left: 130px;
    }
  }

  .about-history-container {
    padding: 28px 20px 36px;

    hgroup {
      margin-top: -54px;
      margin-bottom: 20px;
    }
  }
}

