@charset "UTF-8";
/* CSS Document */
.contact-form {
  width: 75%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .contact-form {
    width: 95%;
  }
}
@media screen and (max-width: 575px) {
  .contact-form {
    width: 100%;
  }
}
.contact-form .form-item {
  margin-bottom: 24px;
}
@media screen and (max-width: 575px) {
  .contact-form .form-item {
    margin-bottom: 17px;
  }
}
.contact-form .form-item label,
.contact-form .form-item .required,
.contact-form .form-item .optional {
  display: block;
}
.contact-form .wpcf7-form label {
  display: block;
  font-weight: normal;
}
.contact-form .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0;
}
.contact-form .wpcf7-form-control {
  width: 100%;
  box-sizing: border-box;
}
.contact-form .wpcf7-form-control.wpcf7-text,
.contact-form .wpcf7-form-control.wpcf7-email,
.contact-form .wpcf7-form-control.wpcf7-tel,
.contact-form .wpcf7-form-control.wpcf7-textarea {
  background: #f4f4f4;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 5px 10px;
  transition: 0.2s;
}
.contact-form .wpcf7-form-control:focus {
  border-color: #7aa37a;
  outline: none;
  box-shadow: 0 0 0 2px rgba(122, 163, 122, 0.2);
}
.contact-form .wpcf7-textarea {
  min-height: 160px;
  resize: vertical;
}
.contact-form .required {
  display: block;
}
.contact-form .required::before {
  content: "必須";
  display: inline-block;
  background: #e60023;
  color: #fff;
  border: 1px solid #e60023;
  font-size: 14px;
  padding: 5px 7px;
  margin-right: 10px;
  margin-bottom: 6px;
  border-radius: 5px;
  line-height: 1;
}
.contact-form .optional::before {
  content: "任意";
  display: inline-block;
  background: #fff;
  color: #666;
  border: 1px solid #666;
  font-size: 14px;
  padding: 5px 7px;
  margin-right: 10px;
  margin-bottom: 6px;
  border-radius: 5px;
  line-height: 1;
}
.contact-form {
  /* 郵便番号エリア */
}
.contact-form .zip-flex-container {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin-top: 0;
  margin-bottom: 24px;
}
.contact-form .zip-flex-container .wpcf7-form-control {
  flex: 0 1 280px;
  margin-bottom: 0 !important;
}
.contact-form .zip-flex-container .zip-search-button {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 15px;
  border: 1px solid #b22222;
  background-color: #fff5f5;
  color: #b22222;
  text-decoration: none;
  font-size: 14px;
  border-radius: 4px;
  white-space: nowrap;
  transition: 0.2s;
  box-sizing: border-box;
}
.contact-form .zip-flex-container .zip-search-button:hover {
  background-color: #b22222;
  color: #fff;
  border: 1px solid #b22222;
}
.contact-form .privacy-box {
  border: 1px solid #666;
  padding: 2.5rem;
  margin-top: 2rem;
  background-color: #fff;
}
.contact-form .privacy-box span {
  display: block;
  font-size: 2rem;
  margin-bottom: 1rem;
}
.contact-form .link-box {
  margin-top: 3rem;
}
.contact-form .h-adr label {
  display: block;
}
.contact-form .h-adr label:not(:last-of-type) {
  margin-bottom: 24px;
}
.contact-form .h-adr .optional {
  margin-bottom: 0;
}
.contact-form input[type="radio"] {
  accent-color: #666;
}
.contact-form input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset;
  -webkit-text-fill-color: #333;
  background: #fff;
}
.contact-form .wpcf7 form.invalid .wpcf7-response-output,
.contact-form .wpcf7 form.unaccepted .wpcf7-response-output,
.contact-form .wpcf7 form.payment-required .wpcf7-response-output {
  border: 1px solid #e60023;
  margin: 3em 0;
  background: #fff;
  color: #e60023;
}
.contact-form .wpcf7 form .wpcf7-response-output {
  border: 1px solid #46b450;
  margin: 3em 0;
  background: #fff;
} /*# sourceMappingURL=contact-form7.css.map */
