.contact {
  position: relative;
  width: 100%;
  padding-top: min(61.9px, 5.1583333333vw);
  padding-bottom: min(43.5px, 3.625vw);
  background-size: cover;
  background-position: center;
  background-image: url("../images/contact/contact-bg.png");
}
@media screen and (max-width: 767px) {
  .contact {
    padding-top: min(9.4933333333vw, 35.6px);
    padding-bottom: min(10.4vw, 39px);
  }
}

.contact-inner {
  width: min(1000px, 83.3333333333vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .contact-inner {
    width: calc(100% - min(8vw, 30px));
  }
}

.contact-titleBlock {
  position: relative;
  width: min(672.39px, 56.0325vw);
  max-width: 100%;
  height: min(133.31px, 11.1091666667vw);
  margin: 0 auto;
  padding-top: min(28px, 2.3333333333vw);
  border-radius: 12px;
  background-color: #2E5291;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-titleBlock {
    width: 100%;
    height: min(29.8373333333vw, 111.89px);
    padding-top: min(4.24vw, 15.9px);
  }
}

.contact-titleBlockMark {
  width: min(27.3px, 2.275vw);
  height: min(21px, 1.75vw);
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  margin: max(-1px, -0.0833333333vw) auto 0;
  background-color: #2E5291;
}
@media screen and (max-width: 767px) {
  .contact-titleBlockMark {
    width: min(10.92vw, 40.95px);
    height: min(5.6vw, 21px);
    margin: max(-0.2666666667vw, -1px) auto 0;
  }
}

.contact-title {
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(24px, 2vw);
  line-height: min(24px, 2vw);
}
@media screen and (max-width: 767px) {
  .contact-title {
    font-size: min(4.2666666667vw, 16px);
    line-height: min(5.8666666667vw, 22px);
    letter-spacing: 0.05em;
  }
}

.contact-title--yellow {
  margin-top: min(12px, 1vw);
  color: #F2EA82;
  font-weight: 800;
  font-size: min(40px, 3.3333333333vw);
  line-height: min(40px, 3.3333333333vw);
}
@media screen and (max-width: 767px) {
  .contact-title--yellow {
    margin-top: min(2.4vw, 9px);
    font-size: min(6.4vw, 24px);
    line-height: min(6.4vw, 24px);
  }
}

.contact-infoBlock {
  padding-top: min(7px, 0.5833333333vw);
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: min(16px, 1.3333333333vw);
  line-height: min(16px, 1.3333333333vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-infoBlock {
    padding-top: min(5.6533333333vw, 21.2px);
    font-size: min(3.7333333333vw, 14px);
    line-height: min(3.7333333333vw, 14px);
  }
}

.contact-noteBlock {
  padding-top: min(20.4px, 1.7vw);
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: min(14px, 1.1666666667vw);
  line-height: min(28px, 2.3333333333vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-noteBlock {
    padding-top: min(6.3733333333vw, 23.9px);
    font-size: min(3.4666666667vw, 13px);
    line-height: min(5.8666666667vw, 22px);
  }
}

.request_panel {
  width: min(800px, 66.6666666667vw);
  max-width: 100%;
  padding: min(38.8px, 3.2333333333vw) min(87.9px, 7.325vw) min(49.8px, 4.15vw);
  margin: min(31.8px, 2.65vw) auto 0;
  border-radius: 15px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  background-color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .request_panel {
    width: 100%;
    padding: min(7.4666666667vw, 28px) min(2.6666666667vw, 10px) min(4.4533333333vw, 16.7px);
    margin-top: min(7.2533333333vw, 27.2px);
    border-radius: 5px;
  }
}

.request_appeal {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(212px, 17.6666666667vw);
  height: min(33px, 2.75vw);
  margin: 0 auto;
  background-color: #F2EA82;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: min(16px, 1.3333333333vw);
  line-height: min(33px, 2.75vw);
}
@media screen and (max-width: 767px) {
  .request_appeal {
    width: min(56.5333333333vw, 212px);
    height: min(8.8vw, 33px);
    font-size: min(4.2666666667vw, 16px);
    line-height: min(8.8vw, 33px);
  }
}

.request_appeal .red {
  color: #A33735;
}

.request_appeal .request_appeal-em {
  margin: max(-3px, -0.25vw) min(3px, 0.25vw) 0;
  color: #A33735;
  font-weight: 700;
  font-size: min(39px, 3.25vw);
  line-height: min(33px, 2.75vw);
  letter-spacing: -0.03em;
}
@media screen and (max-width: 767px) {
  .request_appeal .request_appeal-em {
    margin: max(-0.4vw, -1.5px) min(0.5333333333vw, 2px) 0;
    font-size: min(9.6vw, 36px);
    line-height: min(8.8vw, 33px);
  }
}

.request_require-note {
  text-align: right;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .request_require-note {
    margin-top: 16px;
    font-size: 1.2rem;
  }
}
.request_form {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .request_form {
    margin-top: 4px;
  }
}
.form .form-text {
  height: min(50px, 4.1666666667vw);
  padding: min(9px, 0.75vw) min(14px, 1.1666666667vw);
  background-color: #F6F6F6;
  border: none;
  appearance: none;
  border-radius: 5px;
  box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.1);
  color: #393939;
  font-size: min(16px, 1.3333333333vw);
  line-height: min(32px, 2.6666666667vw);
}
@media screen and (max-width: 767px) {
  .form .form-text {
    height: min(12.8vw, 48px);
    padding: min(2.4vw, 9px) min(3.7333333333vw, 14px);
    font-size: min(4vw, 15px);
    line-height: min(8vw, 30px);
  }
}

.form .form-text::-webkit-input-placeholder {
  color: #A6A6A6;
}

.form .form-text::-moz-placeholder {
  color: #A6A6A6;
}

.form .form-text:-ms-input-placeholder {
  color: #A6A6A6;
}

.form .form-text::-ms-input-placeholder {
  color: #A6A6A6;
}

.form .form-text::placeholder {
  color: #A6A6A6;
}

.form .form-text:not(:-moz-placeholder-shown) {
  background-color: #fff;
  border: 1px solid #232323;
}

.form .form-text:not(:-ms-input-placeholder) {
  background-color: #fff;
  border: 1px solid #232323;
}

.form .form-text:not(:placeholder-shown) {
  background-color: #fff;
  border: 1px solid #232323;
}

.form .form-textarea {
  height: min(162.72px, 13.56vw);
  resize: none;
}
@media screen and (max-width: 767px) {
  .form .form-textarea {
    height: min(53.5546666667vw, 200.83px);
  }
}

.form .form-select {
  width: 100%;
  height: min(50px, 4.1666666667vw);
  padding: min(9px, 0.75vw) min(14px, 1.1666666667vw);
  background-color: #F6F6F6;
  border: none;
  border-radius: 5px;
  box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.1);
  color: #393939;
  font-size: min(16px, 1.3333333333vw);
  line-height: min(32px, 2.6666666667vw);
  appearance: none;
}
@media screen and (max-width: 767px) {
  .form .form-select {
    height: min(12.8vw, 48px);
    padding: min(2.4vw, 9px) min(3.7333333333vw, 14px);
    font-size: min(4vw, 15px);
    line-height: min(8vw, 30px);
  }
}

.form .form-select--initial {
  background-color: #fff;
  color: #393939;
}

.form .form-zip-btn {
  padding: min(18px, 1.5vw) min(19.5px, 1.625vw);
  background: none;
  border: 2px solid #000000;
  border-radius: 5px;
  color: #000000;
  font-size: min(15px, 1.25vw);
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .form .form-zip-btn {
    padding: min(5.0666666667vw, 19px) min(5.3333333333vw, 20px);
    font-size: min(3.2vw, 12px);
  }
}

.form .wpcf7-form-control-wrap {
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (max-width: 767px) {
  .form .wpcf7-form-control-wrap {
    margin-top: 7px;
  }
}
.form_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
}

@media screen and (max-width: 767px) {
  .form_item {
    display: block;
  }
}
.form_item:not(:first-child) {
  margin-top: 20px;
}

.form_item--short .wpcf7-form-control-wrap {
  max-width: 240px;
}

@media screen and (max-width: 767px) {
  .form_item--short .wpcf7-form-control-wrap {
    max-width: 145px;
  }
}
@media screen and (max-width: 767px) {
  .form_item--has-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
  }
}
@media screen and (max-width: 767px) {
  .form_item--has-btn .form_title {
    width: 100%;
  }
}
.form_item--has-btn .wpcf7-form-control-wrap {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .form_item--has-btn .form-zip-btn {
    margin-top: 10px;
    margin-left: 0;
  }
}
.form_item--left {
  float: left;
  width: 50%;
}

@media screen and (max-width: 767px) {
  .form_item--left {
    float: none;
    width: auto;
  }
}
.form_item--right {
  float: right;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 50%;
}

@media screen and (max-width: 767px) {
  .form_item--right {
    float: none;
    width: auto;
  }
}
.form_title {
  display: block;
  width: 110px;
  text-align: right;
  font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
  .form_title {
    width: auto;
    text-align: left;
    font-size: 1.4rem;
  }
}
.form_title--long {
  letter-spacing: -0.1em;
}

.form_required {
  color: #E42D2D;
}

.form_control {
  display: block;
  width: 100%;
}

.form .form_item--select .wpcf7-form-control-wrap {
  position: relative;
}

.form .form_item--select .wpcf7-form-control-wrap::before {
  content: "";
  display: block;
  position: absolute;
  top: 24px;
  right: 12px;
  width: 15px;
  height: 7.5px;
  background-color: #000000;
  clip-path: polygon(0 0, 13.3% 0, 50% 73.3%, 86.7% 0, 100% 0, 50% 100%);
}

.form .form_item--select .wpcf7-form-control-wrap:has(.form-select--initial)::after {
  background-color: #FFFFFF;
}

.form .form_item--radio > p {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.form .form_item--radio .wpcf7-radio {
  margin-top: -12px;
  margin-left: -20px;
  width: auto;
}

@media screen and (max-width: 767px) {
  .form .form_item--radio .wpcf7-radio {
    margin-top: 0;
    margin-left: 0;
  }
}
.form .form_item--radio .wpcf7-radio input {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}

.form .form_item--radio .wpcf7-radio input:checked + .wpcf7-list-item-label {
  cursor: auto;
}

.form .form_item--radio .wpcf7-radio input:checked + .wpcf7-list-item-label::before {
  cursor: auto;
}

.form .form_item--radio .wpcf7-radio input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  cursor: auto;
}

.form .form_item--radio .wpcf7-list-item {
  display: inline-block;
  margin-top: 12px;
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .form .form_item--radio .wpcf7-list-item {
    display: block;
    margin-left: 0;
  }
}
.form .form_item--radio .wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  padding-left: 31px;
  font-size: 1.6rem;
  line-height: 1.25;
  cursor: pointer;
}

.form .form_item--radio .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  background-color: #fff;
  border: 2px solid #009533;
  border-radius: 50%;
  cursor: pointer;
}

.form .form_item--radio .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 6px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-color: #009533;
  border-radius: 50%;
  opacity: 0;
  cursor: pointer;
}

.form .form_item--checkbox .wpcf7-checkbox {
  margin-top: -12px;
  margin-left: -36px;
}

@media screen and (max-width: 767px) {
  .form .form_item--checkbox .wpcf7-checkbox {
    margin-top: 0;
    margin-left: 0;
  }
}
.form .form_item--checkbox .wpcf7-checkbox input {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}

.form .form_item--checkbox .wpcf7-checkbox input:checked + .wpcf7-list-item-label::before {
  background-color: #000000;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.form .form_item--checkbox .wpcf7-checkbox input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.form .form_item--checkbox .wpcf7-list-item {
  display: inline-block;
  margin-top: 12px;
  margin-left: 70px;
}

@media screen and (max-width: 767px) {
  .form .form_item--checkbox .wpcf7-list-item {
    display: block;
    margin-top: 12px;
    margin-left: 0;
  }
}
.form .form_item--checkbox .wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  padding-left: 36px;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .form .form_item--checkbox .wpcf7-list-item-label {
    padding-left: 27px;
    font-size: 1.2em;
  }
}
.form .form_item--checkbox .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 25px;
  height: 25px;
  background-color: #fff;
  border: 1px solid #000000;
  border-radius: 4px;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .form .form_item--checkbox .wpcf7-list-item-label::before {
    width: 20px;
    height: 20px;
  }
}
.form .form_item--checkbox .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 6px;
  -webkit-transform: translateY(-60%) rotate(-45deg);
  transform: translateY(-60%) rotate(-45deg);
  width: 12px;
  height: 6px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  opacity: 0;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .form .form_item--checkbox .wpcf7-list-item-label::after {
    left: 4px;
  }
}
.form .form_item--optional:not(._) {
  margin-top: 34px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .form .form_item--optional:not(._) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .form .form_item--optional:not(._) .wpcf7-list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.form .form_item--optional:not(._) .wpcf7-list-item-label {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: min(3.2vw, 12px);
  line-height: min(8vw, 30px);
}
@media screen and (max-width: 767px) {
  .form .form_item--optional:not(._) .wpcf7-list-item-label {
    text-align: left;
    font-size: min(2.9333333333vw, 11px);
    line-height: min(7.4666666667vw, 28px);
  }
}

.form .invalid {
  background-color: #FFA4A4;
  color: #fff;
}

.form .invalid::-webkit-input-placeholder {
  color: #fff;
}

.form .invalid::-moz-placeholder {
  color: #fff;
}

.form .invalid:-ms-input-placeholder {
  color: #fff;
}

.form .invalid::-ms-input-placeholder {
  color: #fff;
}

.form .invalid::placeholder {
  color: #fff;
}

.form .wpcf7-not-valid-tip {
  margin-top: 4px;
}

.form_note {
  margin-top: 8px;
  margin-left: 126px;
  color: #5E544E;
  font-size: 1.3rem;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .form_note {
    margin-left: 0;
  }
}
.form_privacy-policy-wrap {
  margin-top: min(43.3px, 3.6083333333vw);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .form_privacy-policy-wrap {
    margin-top: min(7.0666666667vw, 26.5px);
  }
}

.form_privacy-policy {
  display: inline-block;
  font-weight: 500;
  font-size: min(12px, 1vw);
  line-height: min(12px, 1vw);
}
@media screen and (max-width: 767px) {
  .form_privacy-policy {
    font-size: min(3.2vw, 12px);
    line-height: min(6.9333333333vw, 26px);
  }
}

.form_privacy-policy a {
  color: #2E5291;
}

.form_submit-wrap {
  margin-top: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .form_submit-wrap {
    margin-top: 12px;
  }
}
.form_submit {
  position: relative;
  width: min(230px, 19.1666666667vw);
  padding: min(17px, 1.4166666667vw) 0;
  outline: none;
  border: none;
  border-radius: 25px;
  background-color: #B81C22;
  color: #fff;
  font-size: min(16px, 1.3333333333vw);
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.05em;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .form_submit {
    width: 222px;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 1.6rem;
  }
}