@charset "UTF-8";
/*! --------------------------------------------------------------------
------------------------------------------------------------------------
contact-form
------------------------------------------------------------------------
--------------------------------------------------------------------- */
/* ========================================================
.sec-contact
======================================================== */
.sec-contact .txt-box {
  background-color: #fff;
  padding: 72px 56px;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box {
    padding: 40px 4vw;
  }
}

.sec-contact .txt-box .txt-block {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box .txt-block {
    text-align: left;
  }
}
.sec-contact .txt-box .txt-block__txt {
  font-size: 1.8rem;
  line-height: 1.7;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box .txt-block__txt {
    font-size: 1.6rem;
  }
}

/* .tel-block
=========================================== */
.sec-contact .txt-box .tel-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 28px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box .tel-block {
    display: block;
    margin-top: 20px;
  }
}

.sec-contact .txt-box .tel-block .tel {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box .tel-block .tel {
    width: 100%;
  }
}
.sec-contact .txt-box .tel-block .tel a {
  color: #0a2766;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Oswald", "Noto Sans JP", "游ゴシック", "Hiragino Kaku Gothic ProN", sans-serif;
}
.sec-contact .txt-box .tel-block .tel__txt {
  padding-bottom: 3px;
  font-size: 2.4rem;
  font-weight: 500;
  font-family: "Oswald", "Noto Sans JP", "游ゴシック", "Hiragino Kaku Gothic ProN", sans-serif;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box .tel-block .tel__txt {
    font-size: 1.8rem;
  }
}
.sec-contact .txt-box .tel-block .tel__num {
  letter-spacing: 0.05em;
  margin-left: 2px;
  font-size: 5.2rem;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box .tel-block .tel__num {
    font-size: 4rem;
  }
}

.sec-contact .txt-box .tel-block .opening-hours {
  margin-top: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box .tel-block .opening-hours {
    margin-top: 16px;
  }
}

.sec-contact .txt-box .tel-block .opening-hours__txt {
  display: inline-block;
  font-weight: 700;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box .tel-block .opening-hours__txt {
    font-size: 1.3rem;
    padding: 5px;
  }
}

.sec-contact .txt-box .tel-block .opening-hours__tel {
  margin-left: 8px;
  font-family: "Nunito Sans", "Noto Sans JP", "游ゴシック", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .sec-contact .txt-box .tel-block .opening-hours__tel {
    letter-spacing: 0.05em;
    font-size: 1.4rem;
  }
}

/* .form-box
=========================================== */
.sec-contact .form-box {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-box {
    padding-bottom: 56px;
  }
}

@media screen and (max-width: 1020px) {
  .sec-contact .form-box .cmn-inner-m {
    padding: 0;
  }
}

.sec-contact .contact-form {
  padding: 52px 20px;
  background-color: #f0f0f6;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form {
    padding: 24px 4vw 36px;
  }
}

.sec-contact .contact-form__in {
  margin: 0 auto;
  max-width: 836px;
}

/* .cmn-academy-ttl
=========================================== */
.cmn-academy-ttl-wrap {
  text-align: center;
  margin-bottom: 52px;
}
@media screen and (max-width: 767px) {
  .cmn-academy-ttl-wrap {
    margin-bottom: 26px;
  }
}

.cmn-academy-ttl {
  position: relative;
  display: inline-block;
  padding-left: 32px;
  color: #080809;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1020px) {
  .cmn-academy-ttl {
    padding-left: 28px;
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 767px) {
  .cmn-academy-ttl {
    padding-left: 24px;
    font-size: 1.9rem;
    line-height: 1.3;
  }
}
.cmn-academy-ttl:before {
  content: "";
  position: absolute;
  top: calc(50% - 8px);
  left: 4px;
  display: inline-block;
  width: 16px;
  height: 16px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  background-image: -webkit-gradient(linear, left top, right bottom, from(#080809), color-stop(30%, #080809), color-stop(70%, #3f3f44), to(#3f3f44));
  background-image: linear-gradient(to bottom right, #080809 0%, #080809 30%, #3f3f44 70%, #3f3f44 100%);
}
@media screen and (max-width: 1020px) {
  .cmn-academy-ttl:before {
    top: calc(50% - 7px);
    width: 14px;
    height: 14px;
  }
}

.sec-contact .contact-form .form-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .form-list__item {
    display: block;
  }
}
.sec-contact .contact-form .form-list__item + .form-list__item {
  margin-top: 32px;
}

.sec-contact .contact-form .form-list__ttl {
  position: relative;
  margin-left: 2px;
  width: 208px;
  color: #111;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .form-list__ttl {
    width: 100%;
  }
}
.sec-contact .contact-form .form-list__ttl.require:after {
  margin-left: 8px;
  content: "必須";
  position: absolute;
  top: -3px;
  right: 0;
  font-size: 1.4rem;
  display: inline-block;
  border-radius: 4px;
  padding: 5px 9px;
  vertical-align: 14%;
  background-color: #dcc98e;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .form-list__ttl.require:after {
    position: inherit;
    top: 2px;
  }
}

.sec-contact .contact-form .form-list__item:has(input[type=text]) .form-list__ttl,
.sec-contact .contact-form .form-list__item:has(input[type=tel]) .form-list__ttl,
.sec-contact .contact-form .form-list__item:has(input[type=email]) .form-list__ttl,
.sec-contact .contact-form .form-list__item:has(textarea) .form-list__ttl {
  padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .form-list__item:has(input[type=text]) .form-list__ttl,
  .sec-contact .contact-form .form-list__item:has(input[type=tel]) .form-list__ttl,
  .sec-contact .contact-form .form-list__item:has(input[type=email]) .form-list__ttl,
  .sec-contact .contact-form .form-list__item:has(textarea) .form-list__ttl {
    padding-top: 0;
  }
}
.sec-contact .contact-form .form-list__item:has(input[type=text]) .form-list__ttl.require:after,
.sec-contact .contact-form .form-list__item:has(input[type=tel]) .form-list__ttl.require:after,
.sec-contact .contact-form .form-list__item:has(input[type=email]) .form-list__ttl.require:after,
.sec-contact .contact-form .form-list__item:has(textarea) .form-list__ttl.require:after {
  top: 27px;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .form-list__item:has(input[type=text]) .form-list__ttl.require:after,
  .sec-contact .contact-form .form-list__item:has(input[type=tel]) .form-list__ttl.require:after,
  .sec-contact .contact-form .form-list__item:has(input[type=email]) .form-list__ttl.require:after,
  .sec-contact .contact-form .form-list__item:has(textarea) .form-list__ttl.require:after {
    top: 1px;
  }
}

.sec-contact .contact-form .form-list__item:has(input[type=radio]) .form-list__ttl {
  padding-top: 10px;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .form-list__item:has(input[type=radio]) .form-list__ttl {
    padding-top: 0;
  }
}
.sec-contact .contact-form .form-list__item:has(input[type=radio]) .form-list__ttl.require:after {
  top: 7px;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .form-list__item:has(input[type=radio]) .form-list__ttl.require:after {
    top: 1px;
  }
}

.sec-contact .contact-form .form-list__main {
  width: calc(100% - 208px - 28px);
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .form-list__main {
    width: 100%;
  }
}
.sec-contact .contact-form .form-list__main input[type=text],
.sec-contact .contact-form .form-list__main input[type=tel],
.sec-contact .contact-form .form-list__main input[type=email],
.sec-contact .contact-form .form-list__main textarea {
  margin-top: 12px;
  width: 100%;
  line-height: 1.5;
  padding: 12px 20px;
  border: 2px solid #c7c7d5;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .form-list__main input[type=text],
  .sec-contact .contact-form .form-list__main input[type=tel],
  .sec-contact .contact-form .form-list__main input[type=email],
  .sec-contact .contact-form .form-list__main textarea {
    margin-top: 10px;
    padding: 12px 16px;
  }
}

.sec-contact .contact-form .form-list__main .attention-box {
  margin-top: 8px;
  padding: 7px 12px 8px;
  border: 2px solid #ff4545;
  background-color: #ffe7e7;
  color: #c44747;
  font-size: 1.4rem;
  line-height: 1.4;
}

.sec-contact .contact-form .form-list__main input[type=text]#datepickr {
  background-image: url("../img/common/base/icon_calendar01.svg");
  background-repeat: no-repeat;
  background-size: 18px 20px;
  background-position: right 16px center;
}

.wpcf7 .wpcf7-list-item input[type=radio] {
  position: relative;
  border-radius: 50%;
  border: 2px solid #c7c7d5;
  background: #fff;
  height: 24px;
  width: 24px;
  vertical-align: -6px;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
.wpcf7 .wpcf7-list-item input[type=radio]:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #0a2766;
  margin: 5px;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all ease-out 250ms;
  transition: all ease-out 250ms;
}

.wpcf7 .wpcf7-list-item-label {
  cursor: pointer;
  font-size: 1.6rem;
  margin-left: 2px;
}

.wpcf7 .wpcf7-list-item input[type=radio]:checked:before {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.wpcf7-form-control-wrap[data-name=your-type] .wpcf7-list-item {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .wpcf7-form-control-wrap[data-name=your-type] .wpcf7-list-item {
    margin-top: 16px;
  }
}

.wpcf7-form-control-wrap[data-name=your-type] .wpcf7-list-item.first {
  margin-left: 0;
}
.wpcf7-form-control-wrap[data-name=your-type] .wpcf7-list-item.first + .wpcf7-list-item {
  margin-left: 24px;
}

.wpcf7-form-control-wrap[data-name=your-course] .wpcf7-list-item {
  position: relative;
  margin-left: 0;
  width: 100%;
}
.wpcf7-form-control-wrap[data-name=your-course] .wpcf7-list-item + .wpcf7-list-item {
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .wpcf7-form-control-wrap[data-name=your-course] .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 16px;
  }
}
.wpcf7-form-control-wrap[data-name=your-course] .wpcf7-list-item .wpcf7-list-item-label {
  position: relative;
  display: inline-block;
  padding-left: 4px;
}
@media screen and (max-width: 1020px) {
  .wpcf7-form-control-wrap[data-name=your-course] .wpcf7-list-item .wpcf7-list-item-label {
    padding-left: 28px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 1020px) {
  .wpcf7-form-control-wrap[data-name=your-course] .wpcf7-list-item input[type=radio] {
    position: absolute;
    top: calc(50% - 12px);
    left: 0;
  }
}

.wpcf7-list-item:has(input[value=選択なし]) {
  display: none;
}

/* .contact-form  .cmn-btn01
=========================================== */
.contact-form .cmn-btn01 {
  position: relative;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .contact-form .cmn-btn01 {
    margin-top: 32px;
  }
}

.contact-form div.wpcf7 .wpcf7-spinner {
  position: absolute;
  display: inline-block;
  left: calc(50% - 32px);
  bottom: -30px;
}

/* エラー・完了
=========================================== */
.sec-contact .contact-form .wpcf7 span.wpcf7-not-valid-tip {
  margin-top: 8px;
  padding: 8px;
  color: #ff0000;
  font-weight: 700;
  background-color: #ffe7e7;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .wpcf7 span.wpcf7-not-valid-tip {
    font-size: 1.3rem;
  }
}
.sec-contact .contact-form .wpcf7 span.wpcf7-not-valid-tip:before {
  content: "※";
}
.sec-contact .contact-form .wpcf7 .wpcf7-validation-errors,
.sec-contact .contact-form .wpcf7 .wpcf7-acceptance-missing,
.sec-contact .contact-form .wpcf7 .wpcf7-mail-sent-ng,
.sec-contact .contact-form .wpcf7 .wpcf7-response-output,
.sec-contact .contact-form .wpcf7 .wpcf7-mail-sent-ok {
  margin: 40px 0 0;
  padding: 24px 0;
  border: 2px solid #ff0000;
  border-color: #ff0000;
  color: #ff0000;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-contact .contact-form .wpcf7 .wpcf7-validation-errors,
  .sec-contact .contact-form .wpcf7 .wpcf7-acceptance-missing,
  .sec-contact .contact-form .wpcf7 .wpcf7-mail-sent-ng,
  .sec-contact .contact-form .wpcf7 .wpcf7-response-output,
  .sec-contact .contact-form .wpcf7 .wpcf7-mail-sent-ok {
    padding: 8px;
    line-height: 1.5;
  }
}
.sec-contact .contact-form .wpcf7 .wpcf7-mail-sent-ok,
.sec-contact .contact-form .wpcf7 .wpcf7-form.sent .wpcf7-response-output {
  margin: 40px 0 0;
  padding: 24px 0;
  border: 2px solid #05ad05;
  border-color: #05ad05;
  color: #05ad05;
  text-align: center;
  font-weight: 700;
}

/* .attention-list
=========================================== */
.sec-contact .attention-list {
  margin-top: 32px;
}

.sec-contact .attention-list__item {
  line-height: 1.3;
  text-align: center;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .sec-contact .attention-list__item {
    text-align: left;
  }
}

.sec-contact .attention-list__item + .attention-list__item {
  margin-top: 8px;
}/*# sourceMappingURL=contact-form.min.css.map */