.curriculum .heading-component {
  @media (min-width: 769px) {
    padding-top: 0;
  }
  .english {
    font-size: min(calc(100vw * (180 / 1280)), 180px);
    letter-spacing: -0.03em;
    @media (max-width: 768px) {
      font-size: calc(100vw * (56 / 375));
    }
  }
}

.curriculum .section-sub-title,
.curriculum .section-description {
  padding-inline: calc(100vw * (16 / 375));
}

#curriculum {
  background: #f2f4f7;
  width: 100%;
  padding-block: 100px;

  @media (max-width: 768px) {
    padding-block: calc(100vw * (50 / 375)) calc(100vw * (56 / 375));
  }

  .curriculum-container {
    display: grid;
    gap: 16px;

    .time-container {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 16px;

      @media (max-width: 768px) {
        gap: 12.5px;
      }

      .separator {
        width: 1px;
        height: 24px;
        background-color: #000000;
      }

      & > div {
        display: flex;
        align-items: center;
        gap: 5px;
      }

      .left {
        border-radius: 9999px;
        border: 1px solid #000000;
        font-size: 12px;
        font-weight: 500;
        line-height: 34px;
        padding-inline: 10px;
        background-color: #fff;
        width: 140px;
        text-align: center;
        @media (max-width: 768px) {
          font-size: 10px;
          width: auto;
          line-height: 26px;
          transform: translateY(2px);
        }
      }

      .right {
        font-size: 16px;
        font-weight: 500;
        line-height: 1.6em;

        .bold {
          font-size: 22px;
          font-weight: bold;
          line-height: 1.6em;
        }
      }
    }

    .accordion-wrapper {
      background: #fff;
      padding: 32px;

      @media (max-width: 768px) {
        background: none;
        border: none;
        padding: 0;
        width: 100vw;
        margin-inline: calc(50% - 50vw);
      }
    }
  }
}
#curriculum .inner .curriculum-container .accordion-wrapper .accordion-container .accordion:not(:last-child) {
  border-bottom: 1px solid #fff;
}
#curriculum .inner .curriculum-container .accordion-wrapper .accordion-container .accordion:nth-child(odd) {
  background-color: #f7f9ff;
}
#curriculum .inner .curriculum-container .accordion-wrapper .accordion-container .accordion:nth-child(odd) .box {
  background-color: #ffffff;
}
@media (width < 769px) {
  #curriculum .inner .curriculum-container .accordion-wrapper .accordion-container .accordion:nth-child(odd) .box {
    background: none;
  }
}
#curriculum .inner .curriculum-container .accordion-wrapper .accordion-container .accordion:nth-child(even) {
  background-color: #ffffff;
}
#curriculum .inner .curriculum-container .accordion-wrapper .accordion-container .accordion:nth-child(even) .box {
  background-color: #f7f9ff;
}
@media (width < 769px) {
  #curriculum .inner .curriculum-container .accordion-wrapper .accordion-container .accordion:nth-child(even) .box {
    background: none;
  }
}
#curriculum .inner .curriculum-container .accordion-wrapper .accordion-container .accordion details .details-text {
  color: #333;
  font-size: 14px;
  line-height: 1.6;
  padding: 10px 14px;
  overflow: hidden;
  @media (max-width: 768px) {
    font-size: calc(100vw * (14 / 375));
    padding: calc(100vw * (10 / 375)) calc(100vw * (14 / 375));
  }
}
#curriculum .inner .curriculum-container .accordion-wrapper .accordion-container .accordion details summary {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: 28px auto;
  list-style: none;
  cursor: pointer;
  @media (max-width: 768px) {
    grid-template-columns: calc(100vw * (28 / 375)) auto;
  }
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary::-webkit-details-marker {
  display: none;
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary
  .accordion-number {
  background-color: #4675d4;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  padding: 22px 0;
  @media (max-width: 768px) {
    font-size: calc(100vw * (14 / 375));
    display: grid;
    place-items: center;
  }
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary
  .accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 10px;
}
@media (width < 769px) {
  #curriculum
    .inner
    .curriculum-container
    .accordion-wrapper
    .accordion-container
    .accordion
    details
    summary
    .accordion-title {
    display: grid;
    gap: 0 15px;
    padding: calc(100vw * (18 / 375)) calc(100vw * (10 / 375));
  }
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary
  .accordion-title
  .title {
  color: #4675d4;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}

@media (width < 769px) {
  #curriculum
    .inner
    .curriculum-container
    .accordion-wrapper
    .accordion-container
    .accordion
    details
    summary
    .accordion-title
    .title {
    grid-area: 1/1/2/2;
    align-self: flex-end;
    font-size: calc(100vw * (14 / 375));
  }
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary
  .accordion-title
  .box-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (width < 769px) {
  #curriculum
    .inner
    .curriculum-container
    .accordion-wrapper
    .accordion-container
    .accordion
    details
    summary
    .accordion-title
    .box-wrapper {
    display: contents;
  }
  #curriculum
    .inner
    .curriculum-container
    .accordion-wrapper
    .accordion-container
    .accordion
    details
    summary
    .accordion-title
    .box-wrapper::after {
    grid-area: 1/2/3/3; /* safari対策 */
  }
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary
  .accordion-title
  .box-wrapper::after {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  background: url('../../img/curriculum/plus.svg') no-repeat center center/cover;
}
@media (width < 769px) {
  #curriculum
    .inner
    .curriculum-container
    .accordion-wrapper
    .accordion-container
    .accordion
    details
    summary
    .accordion-title
    .box-wrapper::after {
    grid-area: 1/2/3/3;
    width: calc(100vw * (16 / 375));
    height: calc(100vw * (16 / 375));
  }
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary
  .accordion-title
  .box-wrapper
  .box {
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2px;
  min-width: 108px;
  padding: 8px 16px;

  &:last-child {
    margin-right: 10px;
  }
}
@media (width < 769px) {
  #curriculum
    .inner
    .curriculum-container
    .accordion-wrapper
    .accordion-container
    .accordion
    details
    summary
    .accordion-title
    .box-wrapper
    .box {
    grid-area: 2/1/3/2;
    align-self: flex-start;
    justify-content: left;
    border-radius: 0;
    width: auto;
    padding: 0;
  }
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary
  .accordion-title
  .box-wrapper
  .box
  img {
  width: 15px;
}
@media (width < 769px) {
  #curriculum
    .inner
    .curriculum-container
    .accordion-wrapper
    .accordion-container
    .accordion
    details
    summary
    .accordion-title
    .box-wrapper
    .box
    img {
    width: 10px;
  }
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary
  .accordion-title
  .box-wrapper
  .box
  .text {
  color: #4675d4;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.6;
}
@media (width < 769px) {
  #curriculum
    .inner
    .curriculum-container
    .accordion-wrapper
    .accordion-container
    .accordion
    details
    summary
    .accordion-title
    .box-wrapper
    .box
    .text {
    color: #1a1a1a;
    font-weight: 500;
    font-size: calc(100vw * (12 / 375));
  }
}
#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details[open]
  summary
  .accordion-title
  .box-wrapper::after {
  background: url('../../img/curriculum/minus.svg') no-repeat center center/cover;
}

#curriculum
  .inner
  .curriculum-container
  .accordion-wrapper
  .accordion-container
  .accordion
  details
  summary
  .accordion-title
  .box-wrapper
  .sp-box-wrapper {
  display: contents;

  @media (max-width: 768px) {
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .box {
    @media (max-width: 768px) {
      min-width: initial;
    }

    img {
      @media (max-width: 768px) {
        margin-bottom: -2px;
        width: calc(100vw * (10 / 375));
      }
    }
  }
}

.free-counseling {
  padding-block: 6.4rem;
  background-image: url(../../img/free-counseling-bg.webp);
  background-size: cover;
  background-position: center;
  width: 100%;
}

@media (max-width: 768px) {
  .free-counseling {
    padding: 5rem 1.6rem;
    background-image: url(../../img/free-counseling-bg-sp.webp);
  }
}

.free-counseling img {
  max-width: 1440px;
  margin-inline: auto;
}

.free-counseling .quick-booking-button__caption {
  color: #fff;
}

.free-counseling .quick-booking-button__label {
  padding: 0.6rem;
  margin-right: 0.6rem;
  color: #f47806;
  background: #fff;
  border-radius: 2px;
  font-size: 1.6rem;
}

@media (max-width: 768px) {
  .free-counseling .quick-booking-button__label {
    margin-right: 0.8rem;
    font-size: 1.4rem;
  }
}

.free-counseling .quick-booking-button:hover .quick-booking-button__label {
  color: #fff;
  background: #f47806;
}

.free-counseling .quick-booking-button__caption:before,
.free-counseling .quick-booking-button__caption:after {
  background: url('../../../../img/point-white.svg') top left no-repeat;
  background-size: cover;
}
