@charset "UTF-8";

.wrapper .contact .content_area > p {
  font-size: min(14 / 1366 * 100vw, 14px);
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
}
.wrapper .contactForm {
  margin-top: min(60 / 1366 * 100vw ,60px);
}
.wrapper .contactForm_group:not(:last-of-type) {
  margin-bottom: min(30 / 1366 * 100vw ,30px);
}
.wrapper .contactForm_heading {
  margin-bottom: min(10 / 1366 * 100vw ,10px);
}
.wrapper .contactForm_label,
.wrapper .wpcf7-list-item-label {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
}
.wrapper .contactForm_label::before {
  content: "必須";
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 1.666;
  letter-spacing: 0;
  font-weight: 400;
  color: #fff;
  border-radius: 5px;
  padding: 0 min(12 / 1366 * 100vw ,12px);
  text-align: center;
  background-color: #970000;
  display: inline-block;
  margin-right: min(20 / 1366 * 100vw ,20px);
}
.wrapper .contactForm_select {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 2;
  letter-spacing: 0;
  font-weight: 400;
  color: #222;
  width: 100%;
  padding: min(7 / 1366 * 100vw ,7px) min(20 / 1366 * 100vw ,20px);
  border: none;
  border-radius: 5px;
  height: min(50 / 1366 * 100vw ,50px);
}
.wrapper .contactForm_input,
.wrapper .contactForm_textarea {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 2;
  letter-spacing: 0;
  font-weight: 400;
  width: 100%;
  padding: min(17 / 1366 * 100vw ,17px) min(20 / 1366 * 100vw ,20px);
  appearance: none;
  border: none;
  border-radius: 5px;
  height: min(50 / 1366 * 100vw ,50px);
}
.wrapper .contactForm_textarea {
  height: auto;
}
.wrapper .contactForm_caution {
  font-size: min(14 / 1366 * 100vw, 14px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #fff;
  margin-top: min(10 / 1366 * 100vw ,10px);
}
.wrapper .contactForm_caution a {
  color: inherit;
  border-bottom: 1px solid currentColor;
}
.wrapper .contactForm_link {
  text-align: center;
  margin-top: min(100 / 1366 * 100vw ,100px);
}
.wrapper .contactForm_link a {
  font-size: min(18 / 1366 * 100vw ,18px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  border-bottom: 1px solid currentColor;
  color: #fff;
  position: relative;
}
.wrapper .contactForm_link a::before {
  content: "";
  width: min(18 / 1366 * 100vw, 18px);
  height: min(18 / 1366 * 100vw, 18px);
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: max(-20 / 1366 * 100vw, -20px);
  translate: -100% -50%;
  border-radius: 50%;
}
.wrapper .contactForm_link a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -14.5%;
  translate: -50% -50%;
  width: min(6 / 1366 * 100vw, 6px);
  height: min(10 / 1366 * 100vw, 10px);
  background-color: #222;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.wrapper .contactForm_checkbox {
  margin-top: min(50 / 1366 * 100vw ,50px);
}
.wrapper .contactForm_label__checkbox {
  display: flex;
  justify-content: center;
  align-items: center;
}
.wrapper .contactForm_label__checkbox:has(.wpcf7-not-valid-tip) {
  align-items: flex-start;
}
.wrapper .contactForm_label__checkbox label {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(22 / 1366 * 100vw ,22px);
  cursor: pointer;
}
.wrapper .contactForm_checkboxInput input {
  margin: 0;
  width: min(24 / 1366 * 100vw ,24px);
  height: min(24 / 1366 * 100vw ,24px);
}
.wrapper .wpcf7-list-item-label {
  line-height: 1.5;
}
.wrapper .contactForm_button {
  width: fit-content;
  margin: min(110 / 1366 * 100vw, 110px) auto 0;
  position: relative;
  transition: all 300ms 0s ease;
}
.wrapper .contactForm_button::before {
  content: "";
  width: min(18 / 1366 * 100vw, 18px);
  height: min(18 / 1366 * 100vw, 18px);
  background-color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: 65%;
  translate: 0 -50%;
  border-radius: 50%;
}
.wrapper .contactForm_button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32.25%;
  translate: -50% -50%;
  width: min(6 / 1366 * 100vw, 6px);
  height: min(10 / 1366 * 100vw, 10px);
  background-color: #970000;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.wrapper .contactForm_button:hover {
  opacity: 0.6;
  transition: all 300ms 0s ease;
}
.wrapper .contactForm_button input {
  font-family: inherit;
  font-size: min(20 / 1366 * 100vw, 20px);
  line-height: 2.8;
  letter-spacing: 0.04em;
  font-weight: 400;
  color: #fff;
  background-color: #970000;
  border: none;
  cursor: pointer;
  width: min(580 / 1366 * 100vw, 580px);
  padding: 0;
  border-radius: 0;
}
.wrapper .wpcf7-not-valid-tip {
  font-size: min(16 / 1366 * 100vw, 16px);
  line-height: 1;
  margin-top: min(10 / 1366 * 100vw, 10px);
}
.wrapper .wpcf7-response-output {
  font-size: min(16 / 1366 * 100vw, 16px);
  line-height: 1.5;
  color: #fff;
}
.wrapper .wpcf7-spinner {
  display: none;
}
@media (max-width: 750px) {
  .wrapper .contact .content_area > p {
    font-size: min(24 / 750 * 100vw, 24px);
    line-height: 2;
  }
  .wrapper .contact_form {
    margin-top: min(94 / 750 * 100vw ,94px);
  }
  .wrapper .contactForm_group:not(:last-of-type) {
    margin-bottom: min(45 / 750 * 100vw ,45px);
  }
  .wrapper .contactForm_heading {
    margin-bottom: min(10 / 750 * 100vw ,10px);
  }
  .wrapper .contactForm_label,
  .wrapper .wpcf7-list-item-label {
    font-size: min(24 / 750 * 100vw ,24px);
  }
  .wrapper .contactForm_label::before {
    font-size: min(24 / 750 * 100vw ,24px);
    padding: 0 min(11 / 750 * 100vw ,11px);
    margin-right: min(10 / 750 * 100vw ,10px);
  }
  .wrapper .contactForm_select {
    font-size: min(24 / 750 * 100vw ,24px);
    padding: min(23 / 750 * 100vw ,23px) min(20 / 750 * 100vw ,20px);
    height: min(70 / 750 * 100vw ,70px);
  }
  .wrapper .contactForm_input,
  .wrapper .contactForm_textarea {
    font-size: min(24 / 750 * 100vw ,24px);
    padding: min(23 / 750 * 100vw ,23px) min(20 / 750 * 100vw ,20px);
    height: min(70 / 750 * 100vw ,70px);
  }
  .wrapper .contactForm_textarea {
    height: auto;
  }
  .wrapper .contactForm_caution {
    font-size: min(18 / 750 * 100vw, 18px);
    margin-top: min(10 / 750 * 100vw ,10px);
  }
  .wrapper .contactForm_link {
    margin-top: min(100 / 750 * 100vw ,100px);
  }
  .wrapper .contactForm_link a {
    font-size: min(24 / 750 * 100vw ,24px);
  }
  .wrapper .contactForm_link a::before {
    width: min(32 / 750 * 100vw, 32px);
    height: min(32 / 750 * 100vw, 32px);
    left: max(-20 / 750 * 100vw, -20px);
  }
  .wrapper .contactForm_link a::after {
    width: min(12 / 750 * 100vw, 12px);
    height: min(16 / 750 * 100vw, 16px);
    left: -12.5%;
  }
  .wrapper .contactForm_checkbox {
    margin-top: min(50 / 750 * 100vw ,50px);
  }
  .wrapper .contactForm_label__checkbox label {
    gap: min(22 / 750 * 100vw ,22px);
  }
  .wrapper .contactForm_checkboxInput input {
    width: min(30 / 750 * 100vw ,30px);
    height: min(30 / 750 * 100vw ,30px);
  }
  .wrapper .contactForm_button {
    margin: min(100 / 750 * 100vw, 100px) auto 0;
    width: 100%;
  }
  .wrapper .contactForm_button::before {
    width: min(30 / 750 * 100vw, 30px);
    height: min(30 / 750 * 100vw, 30px);
    left: auto;
    right: min(38 / 750 * 100vw, 38px);
  }
  .wrapper .contactForm_button::after {
    width: min(12 / 750 * 100vw, 12px);
    height: min(16 / 750 * 100vw, 16px);
    right: 6%;
  }
  .wrapper .contactForm_button input {
    font-size: min(35 / 750 * 100vw, 35px);
    line-height: 2.8;
    width: 100%;
  }
  .wrapper .wpcf7-not-valid-tip {
    font-size: min(24 / 750 * 100vw, 24px);
    line-height: 1;
    margin-top: min(10 / 750 * 100vw, 10px);
  }
  .wrapper .wpcf7-response-output {
    font-size: min(24 / 750 * 100vw, 24px);
  }
}