@charset "UTF-8";
/* PC*/
/* TABLET*/
/* SP*/
.form .screen-reader-response > p {
  margin-bottom: max(6.4vw, 24px);
  font-weight: bold;
  color: #ff0000;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .form .screen-reader-response > p {
    margin-bottom: min(1.875vw, 24px);
  }
}
.form .screen-reader-response ul {
  display: none !important;
}
@media screen and (min-width: 769px) {
  .form .form__wrap {
    width: min(60vw, 768px);
    margin: 0 auto;
  }
}
.form .form__wrap .form__contents {
  margin-bottom: max(10.6666666667vw, 40px);
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__contents {
    margin-bottom: min(3.125vw, 40px);
  }
}
.form .form__wrap .form__head {
  margin-bottom: max(2.6666666667vw, 10px);
  font-weight: bold;
  font-size: max(3.7333333333vw, 14px);
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__head {
    margin-bottom: min(0.78125vw, 10px);
    font-size: min(1.09375vw, 14px);
  }
}
.form .form__wrap .form__head.-require span::after {
  content: "必須";
  display: inline-flex;
  width: max(8.5333333333vw, 32px);
  height: max(5.3333333333vw, 20px);
  margin: auto 0 auto max(2.1333333333vw, 8px);
  font-size: max(3.2vw, 12px);
  font-weight: 400;
  color: #fff;
  align-items: center;
  justify-content: center;
  background-color: #FF275B;
  border-radius: max(0.5333333333vw, 2px);
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__head.-require span::after {
    width: min(2.5vw, 32px);
    height: min(1.5625vw, 20px);
    margin: auto 0 auto min(0.625vw, 8px);
    font-size: min(0.9375vw, 12px);
    border-radius: min(0.15625vw, 2px);
  }
}
.form .form__wrap .form__head .form__text {
  margin-top: max(2.6666666667vw, 10px);
  font-size: max(3.2vw, 12px);
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__head .form__text {
    margin-top: min(0.78125vw, 10px);
    font-size: min(0.9375vw, 12px);
  }
}
.form .form__wrap .form__input {
  margin-bottom: max(10.6666666667vw, 40px);
  position: relative;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__input {
    margin-bottom: min(3.125vw, 40px);
  }
}
.form .form__wrap .form__input.-half {
  display: flex;
  gap: max(2.1333333333vw, 8px);
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__input.-half {
    gap: min(0.625vw, 8px);
  }
}
.form .form__wrap .form__input.-half .wpcf7-form-control-wrap {
  width: max(44vw, 165px);
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__input.-half .wpcf7-form-control-wrap {
    width: calc(50% - min(0.3125vw, 4px));
  }
}
.form .form__wrap .form__input .screen-reader-response ul {
  display: none !important;
}
.form .form__wrap .form__input .wpcf7-not-valid-tip {
  display: none;
  font-size: max(3.2vw, 12px);
  color: #ff0000;
  position: absolute;
  left: 0;
  bottom: -1.8em;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__input .wpcf7-not-valid-tip {
    font-size: min(0.9375vw, 12px);
  }
}
.form .form__wrap .form__input .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  height: max(14.6666666667vw, 55px);
  font-size: max(3.7333333333vw, 14px);
  line-height: 1;
  border: 1px solid #BDD3E0;
  border-radius: max(1.0666666667vw, 4px);
  background-color: #fff !important;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__input .wpcf7-form-control-wrap {
    height: min(4.296875vw, 55px);
    font-size: min(1.09375vw, 14px);
    border-radius: min(0.3125vw, 4px);
  }
}
.form .form__wrap .form__input .wpcf7-form-control-wrap input, .form .form__wrap .form__input .wpcf7-form-control-wrap select, .form .form__wrap .form__input .wpcf7-form-control-wrap textarea {
  width: 100%;
  height: 100%;
  padding: max(4.2666666667vw, 16px) max(3.2vw, 12px);
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__input .wpcf7-form-control-wrap input, .form .form__wrap .form__input .wpcf7-form-control-wrap select, .form .form__wrap .form__input .wpcf7-form-control-wrap textarea {
    padding: min(1.25vw, 16px) min(0.9375vw, 12px);
  }
}
.form .form__wrap .form__input.-select {
  line-height: 1;
}
.form .form__wrap .form__input.-select select {
  cursor: pointer;
}
.form .form__wrap .form__input.-select select option:first-of-type {
  color: #73828B;
}
.form .form__wrap .form__input.-textarea .wpcf7-form-control-wrap {
  height: max(43.2vw, 162px);
  min-height: max(43.2vw, 162px);
  line-height: 1.8;
  resize: vertical;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__input.-textarea .wpcf7-form-control-wrap {
    height: min(12.65625vw, 162px);
    min-height: min(12.65625vw, 162px);
  }
}
.form .form__wrap .form__input.-select {
  display: flex;
  align-items: center;
  position: relative;
}
.form .form__wrap .form__input.-select::after {
  content: "";
  width: max(5.3333333333vw, 20px);
  height: max(5.3333333333vw, 20px);
  background-image: url("../img/arrow-select.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: max(4.2666666667vw, 16px);
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__input.-select::after {
    width: min(1.875vw, 24px);
    height: min(1.875vw, 24px);
    right: min(1.25vw, 16px);
  }
}
.form .form__wrap .form__input.-privacy {
  width: 100%;
  height: max(45.3333333333vw, 170px);
  margin: 0;
  padding: max(4.2666666667vw, 16px) max(5.3333333333vw, 20px) max(4.2666666667vw, 16px) max(3.2vw, 12px);
  border: 1px solid #BDD3E0;
  font-size: max(3.7333333333vw, 14px);
  white-space: pre-wrap;
  text-align: justify;
  border-radius: max(1.0666666667vw, 4px);
  background-color: #fff !important;
  overflow-y: scroll;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .form__input.-privacy {
    height: min(9.6875vw, 124px);
    padding: min(1.25vw, 16px) min(1.5625vw, 20px) min(1.25vw, 16px) min(0.9375vw, 12px);
    font-size: min(1.09375vw, 14px);
    border-radius: min(0.3125vw, 4px);
  }
}
.form .form__wrap .agree__wrap {
  margin: 0 0 max(10.6666666667vw, 40px);
  text-align: center;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .agree__wrap {
    margin: 0 0 min(3.125vw, 40px);
  }
}
.form .form__wrap .agree__wrap .agree__text {
  margin-bottom: max(3.2vw, 12px);
  font-size: max(3.2vw, 12px);
  font-weight: 500;
  text-align: center;
}
.form .form__wrap .agree__wrap .agree__text a {
  text-decoration: underline;
}
.form .form__wrap .agree__wrap .agree__text a:hover {
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  .form .form__wrap .agree__wrap .agree__text {
    margin-bottom: min(0.9375vw, 12px);
    font-size: min(0.9375vw, 12px);
  }
}
.form .form__wrap .agree__wrap label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  cursor: pointer;
}
.form .form__wrap .agree__wrap input[type=checkbox] {
  width: max(6.4vw, 24px);
  height: max(6.4vw, 24px);
  margin-right: max(2.1333333333vw, 8px);
}
@media screen and (min-width: 769px) {
  .form .form__wrap .agree__wrap input[type=checkbox] {
    width: min(1.875vw, 24px);
    height: min(1.875vw, 24px);
    margin-right: min(0.625vw, 8px);
  }
}
.form .form__wrap .wpcf7-submit {
  display: flex;
  width: max(83.2vw, 312px);
  height: max(13.8666666667vw, 52px);
  margin: 0 auto;
  color: #263FDB;
  font-weight: bold;
  line-height: 1;
  align-items: center;
  justify-content: center;
  background-color: #FFF500;
  border-radius: max(6.9333333333vw, 26px);
}
@media screen and (min-width: 769px) {
  .form .form__wrap .wpcf7-submit {
    width: min(24.375vw, 312px);
    height: min(4.0625vw, 52px);
    border-radius: min(2.03125vw, 26px);
  }
}
.form .form__wrap .wpcf7-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.form .form__wrap .wpcf7-submit + .wpcf7-spinner {
  display: none !important;
}
.form .form__wrap.-has-error .form__input .wpcf7-not-valid-tip {
  display: block !important;
}
.form .form__wrap.-has-error + .wpcf7-response-output {
  display: none !important;
}

.thanks {
  margin-top: 80px;
  padding-top: max(10.6666666667vw, 40px);
  padding-bottom: max(10.6666666667vw, 40px);
}
@media screen and (min-width: 769px) {
  .thanks {
    padding-top: min(6.25vw, 80px);
    padding-bottom: min(6.25vw, 80px);
  }
}
.thanks .sec__title {
  padding: 0;
  color: #242424;
  border: 0;
}
.thanks .thanks__text {
  margin: 0 auto;
  line-height: 1.8;
}
@media screen and (min-width: 769px) {
  .thanks .thanks__text {
    padding-top: min(3.125vw, 40px);
  }
}
@media screen and (min-width: 769px) {
  .thanks .thanks__text {
    width: min(60vw, 768px);
  }
}
.thanks .thanks__text em {
  font-weight: inherit;
}
.thanks .to-calendar {
  display: flex;
  width: max(83.2vw, 312px);
  height: max(13.8666666667vw, 52px);
  margin: max(10.6666666667vw, 40px) auto max(8.5333333333vw, 32px);
  color: #263FDB;
  font-weight: bold;
  line-height: 1;
  align-items: center;
  justify-content: center;
  background-color: #FFF500;
  border-radius: max(6.9333333333vw, 26px);
  filter: drop-shadow(0 0 max(1.0666666667vw, 4px) rgba(0, 0, 0, 0.2));
}
@media screen and (min-width: 769px) {
  .thanks .to-calendar {
    width: min(24.375vw, 312px);
    height: min(4.0625vw, 52px);
    margin: min(3.125vw, 40px) auto min(2.5vw, 32px);
    border-radius: min(3.125vw, 40px);
    filter: drop-shadow(0 0 min(0.3125vw, 4px) rgba(0, 0, 0, 0.2));
  }
}
.thanks .to-top {
  display: flex;
  width: max(83.2vw, 312px);
  height: max(13.8666666667vw, 52px);
  margin: 0 auto;
  color: #263FDB;
  font-weight: bold;
  line-height: 1;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: max(6.9333333333vw, 26px);
  filter: drop-shadow(0 0 max(1.0666666667vw, 4px) rgba(0, 0, 0, 0.2));
}
@media screen and (min-width: 769px) {
  .thanks .to-top {
    width: min(24.375vw, 312px);
    height: min(4.0625vw, 52px);
    border-radius: min(3.125vw, 40px);
    filter: drop-shadow(0 0 min(0.3125vw, 4px) rgba(0, 0, 0, 0.2));
  }
}

#contact .contact {
  padding-top: max(10.6666666667vw, 40px);
}
@media screen and (min-width: 769px) {
  #contact .contact {
    padding-top: min(3.125vw, 40px);
  }
}
@media screen and (min-width: 769px) {
  #contact .contact .contact__wrap {
    display: flex;
    margin: 0 auto;
    flex-direction: row;
  }
}
@media screen and (min-width: 769px) {
  #contact .contact .contact__head, #contact .contact .form {
    width: min(37.8125vw, 484px);
  }
}
#contact .contact .contact__head {
  margin-bottom: max(16vw, 60px);
  padding: 0;
}
@media screen and (min-width: 769px) {
  #contact .contact .contact__head {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  #contact .contact .contact__head .inner {
    align-items: center;
  }
}
#contact .contact .check__wrap {
  padding: 0;
  color: #242424;
}
@media screen and (min-width: 769px) {
  #contact .contact .check__wrap {
    width: min(26.25vw, 336px);
  }
}
#contact .contact .check__wrap:not(:last-of-type) {
  margin-bottom: max(10.6666666667vw, 40px);
}
@media screen and (min-width: 769px) {
  #contact .contact .check__wrap:not(:last-of-type) {
    margin-bottom: min(3.125vw, 40px);
  }
}
#contact .contact .check__wrap .check__head {
  margin-bottom: max(5.3333333333vw, 20px);
  padding-bottom: max(2.1333333333vw, 8px);
  font-size: max(4.8vw, 18px);
  border-bottom: max(0.5333333333vw, 2px) solid #E2ECFF;
}
@media screen and (min-width: 769px) {
  #contact .contact .check__wrap .check__head {
    margin-bottom: min(1.5625vw, 20px);
    padding-bottom: min(0.625vw, 8px);
    font-size: min(1.40625vw, 18px);
    border-bottom: min(0.15625vw, 2px) solid #E2ECFF;
  }
}
#contact .contact .check__wrap .check__item::before {
  filter: invert(19%) sepia(44%) saturate(3620%) hue-rotate(224deg) brightness(115%) contrast(114%);
}
#contact .contact .check__wrap.-document .check__head {
  padding: 0;
  font-size: max(4.2666666667vw, 16px);
  text-align: center;
  line-height: 1.7;
  border: 0;
}
@media screen and (min-width: 769px) {
  #contact .contact .check__wrap.-document .check__head {
    font-size: min(1.25vw, 16px);
  }
}
#contact .contact .form {
  padding-bottom: max(5.3333333333vw, 20px);
  margin-bottom: max(16vw, 60px);
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  #contact .contact .form {
    margin-bottom: 0;
    padding-bottom: min(1.5625vw, 20px);
  }
}
@media screen and (min-width: 769px) {
  #contact .contact .form .inner {
    padding: 0 min(5.625vw, 72px);
  }
}
#contact .contact .form .form__wrap {
  width: 100%;
}
#contact .contact .form .form__caption {
  margin-bottom: max(10.6666666667vw, 40px);
  font-size: max(3.4666666667vw, 13px);
  text-align: center;
}
@media screen and (min-width: 769px) {
  #contact .contact .form .form__caption {
    margin-bottom: min(3.125vw, 40px);
    font-size: min(1.015625vw, 13px);
  }
}


/* ===================================
   カレンダーモーダル
   =================================== */
   .br__sp-only {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .br__sp-only {
      display: inline;
    }
  }

  .cal-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9000;
  }
  
  .cal-modal.is-open {
    display: block;
  }
  
  .cal-modal__overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
    cursor: pointer;
  }
  
  .cal-modal__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: min(62.5rem, calc(100vw - 2rem));
    height: 80vh;
    max-height: 80vh;
    background-color: #fff;
    border-radius: 0.5rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  
  .cal-modal__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 2.25rem;
    height: 2.25rem;
    background-color: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.2);
    transition: opacity 0.2s ease;
  }
  
  .cal-modal__close span {
    position: absolute;
    width: 1rem;
    height: 0.125rem;
    background-color: #333;
    border-radius: 0.0625rem;
  }
  
  .cal-modal__close span:first-child {
    rotate: 45deg;
  }
  
  .cal-modal__close span:last-child {
    rotate: -45deg;
  }
  
  /* ホバー処理 (PCなどポインティングデバイスのみ適用) */
  @media (any-hover: hover) {
    .cal-modal__close:hover {
      opacity: 0.7;
    }
  }
  
  .cal-modal__header {
    flex-shrink: 0;
    padding: 1.25rem 3.5rem 1.875rem 1.5rem;
    border-bottom: 0.0625rem solid #e0e0e0;
    background-color: #fff;
  }
  
  .cal-modal__header-text {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
  }
  
  /* レスポンシブ処理 (SPブレイクポイント: 768px以下の想定) */
  @media screen and (max-width: 768px) {
    .cal-modal__header-text {
      /* v.rm(14) -> 0.875rem */
      font-size: 0.875rem;
    }
  }
  
  .cal-modal__iframe {
    width: 100%;
    flex: 1;
    border: none;
    display: block;
    min-height: 0;
  }

  .inner {
  display: flex;
  width: 100%;
  padding: 0 max(4.8vw, 18px);
  margin: 0 auto;
  max-width: 1080px;
  flex-direction: column;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .inner {
    padding: 0 min(1.25vw, 16px);
  }
}

.sec__title {
  display: inline-block;
  margin: 0 auto max(10.6666666667vw, 40px);
  padding-bottom: max(2.1333333333vw, 8px);
  border-bottom: max(0.2666666667vw, 1px) dashed #263FDB;
  font-size: max(5.3333333333vw, 20px);
  font-weight: bold;
  text-align: center;
  color: #263FDB;
}
@media screen and (min-width: 769px) {
  .sec__title {
    margin: 0 auto min(3.125vw, 40px);
    padding-bottom: min(0.625vw, 8px);
    font-size: min(1.5625vw, 20px);
    line-height: 1;
    border-bottom: 1px dashed #263FDB;
  }
}

@media screen and (min-width: 769px) {
  .-sp {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .-pc {
    display: none !important;
  }
}