@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
/* ---------------------------------------
  font
-----------------------------------------*/
.font_notoserif {
  font-family: "Noto Serif JP", serif;
}

/* ---------------------------------------
  main.head_image
-----------------------------------------*/
main.head_image::before {
  background: url(../img/contact/img_header_contact.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  main.head_image::before {
    background-image: url(../img/contact/img_header_contact_sp.png);
  }
}

/* ---------------------------------------
  .lead
-----------------------------------------*/
.lead {
  font-size: 1.8rem;
  text-align: center;
  margin-top: 8.3rem;
}
@media screen and (max-width: 767px) {
  .lead {
    font-size: 2.8rem;
    line-height: 2;
  }
}
.lead a {
  color: #33a2d9;
}

/* ---------------------------------------
  .contact_input
-----------------------------------------*/
.contact_input {
  margin-top: 9.5rem;
}
@media screen and (max-width: 767px) {
  .contact_input {
    margin-top: 12.6rem;
  }
}
.contact_input .list {
  width: 90.4rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5rem 0;
}
@media screen and (max-width: 767px) {
  .contact_input .list {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.contact_input .list dt {
  width: 22rem;
}
@media screen and (max-width: 767px) {
  .contact_input .list dt {
    width: 100%;
  }
}
.contact_input .list dt .list_ttl {
  width: 100%;
  height: 5rem;
  border-radius: 2.5rem;
  background-color: #000;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  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;
  gap: 0 0.5em;
}
@media screen and (max-width: 767px) {
  .contact_input .list dt .list_ttl {
    width: 32.6rem;
    font-size: 2.8rem;
    margin: 0 auto;
  }
}
.contact_input .list dt .list_ttl .req {
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .contact_input .list dt:nth-of-type(n+2) {
    margin-top: 10.5rem;
  }
}
.contact_input .list dd {
  width: 65rem;
}
@media screen and (max-width: 767px) {
  .contact_input .list dd {
    width: 100%;
    margin-top: 3.2rem;
  }
}
.contact_input .list dd:nth-of-type(1) .wpcf7-form-control-wrap {
  margin-top: 1.8rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .contact_input .list dd:nth-of-type(1) .wpcf7-form-control-wrap {
    margin-top: 0;
  }
}
.contact_input .wpcf7-radio {
  margin-top: 1.6rem;
}
.contact_input .wpcf7-radio .wpcf7-list-item {
  position: relative;
  margin-left: 0;
  display: block;
}
.contact_input .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
  padding-left: 4.6rem;
  cursor: pointer;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contact_input .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
    font-size: 2.5rem;
  }
}
.contact_input .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before, .contact_input .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.contact_input .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 1.3rem;
  left: 0;
  border: solid 1px #000;
}
.contact_input .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::after {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 1.4rem;
  left: 0.4rem;
  background-color: #33a2d9;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .contact_input .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::after {
    width: 1.5rem;
    height: 1.5rem;
    left: 0.5rem;
  }
}
.contact_input .wpcf7-radio .wpcf7-list-item input {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.contact_input .wpcf7-radio .wpcf7-list-item + .wpcf7-list-item {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .contact_input .wpcf7-radio .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 3.6rem;
  }
}
.contact_input .wpcf7-radio .wpcf7-list-item input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.contact_input input[type=text],
.contact_input input[type=email],
.contact_input input[type=tel],
.contact_input textarea {
  width: 100%;
  font-size: 1.8rem;
  padding: 1.2rem;
  border: solid 1px #b9b9b9;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .contact_input input[type=text],
  .contact_input input[type=email],
  .contact_input input[type=tel],
  .contact_input textarea {
    font-size: 2.8rem;
    padding: 2.2rem;
    text-align: center;
  }
}
.contact_input input[type=text]::-webkit-input-placeholder, .contact_input input[type=email]::-webkit-input-placeholder, .contact_input input[type=tel]::-webkit-input-placeholder, .contact_input textarea::-webkit-input-placeholder {
  color: #b3b3b3;
}
.contact_input input[type=text]::-moz-placeholder, .contact_input input[type=email]::-moz-placeholder, .contact_input input[type=tel]::-moz-placeholder, .contact_input textarea::-moz-placeholder {
  color: #b3b3b3;
}
.contact_input input[type=text]:-ms-input-placeholder, .contact_input input[type=email]:-ms-input-placeholder, .contact_input input[type=tel]:-ms-input-placeholder, .contact_input textarea:-ms-input-placeholder {
  color: #b3b3b3;
}
.contact_input input[type=text]::-ms-input-placeholder, .contact_input input[type=email]::-ms-input-placeholder, .contact_input input[type=tel]::-ms-input-placeholder, .contact_input textarea::-ms-input-placeholder {
  color: #b3b3b3;
}
.contact_input input[type=text]::placeholder,
.contact_input input[type=email]::placeholder,
.contact_input input[type=tel]::placeholder,
.contact_input textarea::placeholder {
  color: #b3b3b3;
}
.contact_input textarea {
  height: 27rem;
}
@media screen and (max-width: 767px) {
  .contact_input textarea {
    height: 34.3rem;
  }
}
.contact_input .file_input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .contact_input .file_input {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.contact_input .file_label {
  width: 19rem;
  height: 5rem;
  background-color: #999999;
  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;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .contact_input .file_label {
    width: 30.6rem;
    height: 7rem;
    font-size: 2.8rem;
    margin: 0 auto;
  }
}
@media (any-hover: hover) {
  .contact_input .file_label:hover {
    opacity: 0.7;
  }
}
.contact_input .file_label > .wpcf7-form-control-wrap {
  display: none;
}
.contact_input input[type=submit] {
  width: 35rem;
  height: 5rem;
  background-color: #33a2d9;
  border-radius: 0.7rem;
  margin: 11.9rem auto 0;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  cursor: pointer;
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .contact_input input[type=submit] {
    width: 47.3rem;
    height: 6.7rem;
    margin-top: 14.1rem;
    font-size: 2.8rem;
  }
}
@media (any-hover: hover) {
  .contact_input input[type=submit]:hover {
    opacity: 0.7;
  }
}

.wpcf7-spinner {
  margin: 2rem auto 0;
  display: block;
  background-color: #33a2d9;
}

.wpcf7 form .wpcf7-response-output:empty {
  display: none;
}

.wpcf7-not-valid-tip {
  margin-top: 1rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .wpcf7-not-valid-tip {
    margin-top: 3rem;
    font-size: 2.4rem;
  }
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    font-size: 2.4rem;
  }
}

/* ---------------------------------------
  .contact_thanks
-----------------------------------------*/
.contact_thanks {
  margin-top: 19.5rem;
}
@media screen and (max-width: 767px) {
  .contact_thanks {
    margin-top: 17.2rem;
  }
}
.contact_thanks .logo_box {
  width: 16.8rem;
  margin: 0 auto;
}
.contact_thanks .ttl_thanks {
  margin-top: 7.4rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact_thanks .ttl_thanks {
    font-size: 3.2rem;
    margin-top: 6rem;
  }
}
.contact_thanks .txt_thanks {
  margin: 6rem auto 0;
  padding-top: 6rem;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact_thanks .txt_thanks {
    font-size: 2.8rem;
    line-height: 2;
    text-align: left;
  }
}
.contact_thanks .txt_thanks::before {
  content: "";
  width: 55.9rem;
  height: 4px;
  background-color: #33a2d9;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .contact_thanks .txt_thanks::before {
    height: 2px;
  }
}
.contact_thanks .btn_back {
  margin-top: 8.4rem;
}
.contact_thanks .btn_back a {
  width: 35rem;
  height: 5rem;
  background-color: #33a2d9;
  border-radius: 0.7rem;
  margin: 0 auto;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  cursor: pointer;
  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;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact_thanks .btn_back a {
    width: 47.3rem;
    height: 6.7rem;
    font-size: 2.8rem;
  }
}
.contact_thanks .btn_back a::after {
  content: ">";
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
  position: absolute;
  right: 1.3rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .contact_thanks .btn_back a::after {
    font-size: 4rem;
    right: 4rem;
  }
}