/* =========================
   ファーストビュー
========================= */
@media (max-width: 1000px) {
  @keyframes slide-up {
    to {
      transform: translateY(60%);
      opacity: 1;
    }
  }
  .mv__bg .bg__pc {
    display: none;
  }
  .mv__bg .bg__sp {
    display: block;
  }

  .mv__inner {
    padding: 70px 20px 100px;
  }

  .mv__copy {
    font-size: 2.2rem;
    width: fit-content;
  }
  .mv__copy span {
    font-size: 2.5rem;
    display: block;
    width: fit-content;
    margin-left: 130px;
  }
  .mv__copy::after {
    height: 40px;
    margin-top: 5px;
  }

  .mv__buttons {
    flex-direction: column;
    gap: 30px;
    margin-top: 180px;
    padding-left: 0;
  }

  .mv__button {
    padding: 15px 30px;
    font-size: 1.6rem;
    width: fit-content;
    min-width: 150px;
  }

  .mv__message-box {
    right: 15px;
    bottom: 0;
    left: 15px;
    padding: 20px;
    border-radius: 20px;
    transform: translateY(65%);
  }

  .mv__message {
    font-size: 1.6rem;
    line-height: 1.7;
    text-align: left;
  }
}

/* =========================
   カレンダー
========================= */
.calender {
  padding: 0 15px;
  margin-bottom: 40px;
}

.calender__inner {
  padding: 20px 30px;
}

.calender__title {
  font-size: 2rem;
}

.calender__status-item {
  padding-left: 30px;
}

.calender__box {
  margin: 20px auto 0;
}

.calender__box iframe {
  height: 500px;
}

/* =========================
   Next-selfとは？
========================= */
/* sp */
@media (max-width: 1000px) {
  .about-message {
    padding: 50px 10px;
  }

  .about-message::before {
    background-image: url("../../images/about_back_sp.png");
    background-position: inherit;
    width: 200%;
    transform: translateY(-45%);
    top: 50%;
    bottom: inherit;
    left: -42%;
    right: inherit;
  }

  .about-message__lead {
    font-size: 1.8rem;
    padding: 0 20px 5px;
  }

  .about-message__title {
    margin-top: 0;
    padding: 10px 0;
    font-size: 1.8rem;
  }

  .about-message__heading.is-visible .about-message__title::after {
    right: -25px;
    width: 30px;
    height: 30px;
  }

  .about-message__intro {
    margin: 30px auto 100px;
    font-size: 1.6rem;
  }

  .about-message__intro::before {
    width: 100px;
    height: 120px;
    top: inherit;
    bottom: -85px;
    left: 30px;
  }
  .about-message__intro::after {
    width: 110px;
    height: 120px;
    top: inherit;
    bottom: -85px;
    right: 30px;
  }

  .about-message__conclusion {
    margin-top: 30px;
  }

  .about-message__conclusion-lead {
    font-size: 1.8rem;
  }

  .about-message__conclusion-text {
    margin-top: 10px;
    font-size: 1.9rem;
  }

  .about-message__conclusion-text span {
    display: inline-block;
  }
}

/* =========================
   ポイント！
========================= */
/* sp */
@media (max-width: 1000px) {
  .points {
    padding: 50px 20px;
  }

  .points__inner {
    max-width: 100%;
  }

  .points__title {
    font-size: 2rem;
    margin-bottom: 85px;
  }

  .points__title span {
    padding-right: 30px;
  }

  .points__title span::after {
    top: -10px;
    right: 0;
    width: 25px;
    height: 40px;
  }

  .points__item {
    margin-top: 80px;
  }

  .points__deco--right-top {
    top: -45px;
    right: 10px;
    width: 94px;
  }

  .points__deco--left-middle {
    top: -30px;
    left: 20px;
    width: 85px;
  }

  .points__deco--right-bottom {
    top: -40px;
    right: 15px;
    width: 85px;
  }

  .point-card {
    padding: 65px 20px 25px;
    border-radius: 20px;
  }

  .point-card__number {
    font-size: 2rem;
  }

  .point-card__title {
    font-size: 1.8rem;
    margin-bottom: 45px;
  }

  .point-card__title span {
    padding: 0 15px;
  }

  .point-card__title span::before {
    width: 100%;
  }

  .point-card__title span::after {
    width: 25px;
    height: 45px;
    right: -25px;
    top: 5px;
  }

  .point-card__content {
    display: block;
    margin-top: 20px;
  }

  .point-card__image {
    margin-bottom: 20px;
  }

  .point-card__image img {
    aspect-ratio: 3 / 2;
  }
}

/* =========================
   代表メッセージ
========================= */
/* sp */
@media (max-width: 1000px) {
  .message-section {
    padding: 50px 20px;
  }

  .message-card {
    padding: 40px 20px;
    border-radius: 20px;
  }

  .message-card__title {
    font-size: 2rem;
    margin-bottom: 50px;
  }

  .message-card__signature {
    margin: 35px auto 0;
    text-align: center;
  }

  .message-card__signature-ja {
    font-size: 1.6rem;
  }

  .message-card__signature-en {
    margin-top: 5px;
    font-size: 1.4rem;
  }
}

/* =========================
   お問い合わせ
========================= */
@media (max-width: 1000px) {
  .contact-section {
    padding: 50px 20px;
  }

  .contact-section__title {
    font-size: 2rem;
  }

  .contact-section__title br {
    display: block;
  }

  .contact-section__lead {
    margin: 50px 0 0;
  }

  .contact-section__lead br {
    display: none;
  }

  .contact-section__deco {
    display: none;
  }

  .contact-section__form {
    padding: 0 20px 40px;
  }

  .contact-section__form input {
    box-sizing: border-box;
  }

  .form__title {
    margin: 0;
    padding: 20px 0 10px;
  }

  .form__text-supplement {
    font-size: 1.4rem;
  }

  .contact-section .wpcf7 textarea {
    box-sizing: border-box;
  }

  .form__privacypolicy {
    margin-top: 30px;
    text-align: left;
  }

  /* ======確認画面========= */
  .contact-modal__content {
    max-width: 90%;
  }
  .contact-modal__title {
    font-size: 2rem;
  }
  .contact-modal__message {
    text-align: left;
    width: fit-content;
  }
  .contact-modal__content {
    padding: 50px 15px;
  }
  .confirm-list {
    padding: 20px;
  }
  .contact-modal__actions {
    flex-flow: column;
    gap: 30px;
  }
  .contact-section button,
  .contact-section input[type="submit"] {
    font-size: 1.6rem;
  }
}

@media (max-width: 600px) {
  .contact-section__lead {
    text-align: left;
  }
}

/* =========================
   よくある質問
========================= */
@media (max-width: 1000px) {
  .faq-section {
    padding: 45px 20px;
  }

  .faq-section__title {
    padding: 0 25px;
    font-size: 2rem;
  }

  .faq-section__title::before,
  .faq-section__title::after {
    width: 20px;
  }

  .faq-section__lead {
    margin-top: 30px;
    font-size: 1.6rem;
  }

  .faq-section__lead br {
    display: block;
  }

  .faq-list {
    margin-top: 20px;
  }

  .faq-card {
    margin-top: 18px;
    padding: 15px;
    border-width: 2px;
    border-radius: 10px;
  }

  .faq-card__row {
    gap: 7px;
  }

  .faq-card__row + .faq-card__row {
    margin-top: 20px;
  }

  .faq-card__icon {
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    font-size: 1.8rem;
  }

  .faq-card__text {
    font-size: 1.6rem;
  }
}

/* =========================
   お問い合わせへ
========================= */
/* SP */
@media (max-width: 1000px) {
  .contact-cta {
    padding: 0;
  }

  .contact-cta__inner {
    padding: 80px 20px 30px;
    background:
      url("../../images/pencil.png") left 30% top 10%,
      url("../../images/book2.png") left 40% top 15%,
      url("../../images/triangle.png") left 55% top 10%,
      url("../../images/book3.png") left 70% top 15%;
    background-size:
      30px auto,
      50px auto,
      50px auto,
      50px auto;
    background-repeat: no-repeat;
  }

  .contact-cta__title {
    font-size: 2rem;
  }

  .contact-cta__title span::before {
    left: -40px;
  }
  .contact-cta__title span::after {
    right: -40px;
  }

  .contact-cta__button-wrap {
    margin-top: 10px;
  }

  .contact-cta__button {
    padding: 20px 70px;
    font-size: 1.6rem;
  }
}
@media (max-width: 460px) {
  .contact-cta__inner {
    background:
      url("../../images/pencil.png") left 45px top 10%,
      url("../../images/book2.png") left 115px top 15%,
      url("../../images/triangle.png") left 210px top 10%,
      url("../../images/book3.png") left 290px top 15%;
    background-size:
      30px auto,
      50px auto,
      50px auto,
      50px auto;
    background-repeat: no-repeat;
  }
}
