
.cf7-form-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1em;
}
.cf7-form-row .cf7-label {
  width: 200px;
  min-width: 200px;
  padding-top: 0.5em;
  font-weight: bold;
}
.cf7-form-row .cf7-field {
  flex: 1;
}
.cf7-form-row .cf7-field input[type="text"],
.cf7-form-row .cf7-field input[type="email"],
.cf7-form-row .cf7-field input[type="tel"],
.cf7-form-row .cf7-field select,
.cf7-form-row .cf7-field textarea {
  width: 100%;
}
.cf7-required {
  color: #fff;
  margin-left: 0.3em;
}
.cf7-field-note {
  display: block;
  font-size: 0.85em;
  color: #666;
  margin-top: 0.3em;
}
.cf7-notice-box {
  margin-bottom: 1.5em;
}
.cf7-zipcode {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.cf7-zipcode .wpcf7-form-control-wrap {
  display: inline-block;
  vertical-align: middle;
}

.contact-form-container .cf7-zipcode input {
  margin-bottom: 0;
  width: auto;
  vertical-align: middle;
}
.cf7-fieldset {
  border: 1px solid #ccc;
  padding: 1em;
  margin-bottom: 1em;
}
.cf7-fieldset legend {
  font-weight: bold;
}
@media (max-width: 600px) {
  .cf7-form-row {
    flex-direction: column;
  }
  .cf7-form-row .cf7-label {
    width: 100%;
    min-width: auto;
    margin-bottom: 0.3em;
  }
}

.wpcf7-submit:disabled {
  background-color: #ccc;
  color: #666;
  border-color: #ccc;
  cursor: not-allowed;
  opacity: 1;
}