/* MW WP Form 出力クラスに新デザインを適用 */

.form-box .mw_wp_form { max-width: 100%; }

.form-box .form__item {
  margin-bottom: 1.5rem;
}

.form-box .form__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.form-box .form__label {
  font-size: 1.125rem;
  font-weight: 700;
  color: #333;
  margin: 0;
}

.form-box .form__must {
  background: #e74c3c;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.1rem 0.5rem;
  border-radius: 0.25rem;
}

.form-box .form__content {
  margin-top: 0.25rem;
}

.form-box .form__content .input,
.form-box .form__content input[type="text"],
.form-box .form__content input[type="email"],
.form-box .form__content input[type="tel"] {
  width: 100%;
  border: none;
  background: #f2f2f2;
  border-radius: 0.375rem;
  padding: 0.875rem 1rem;
  font-size: 1.125rem;
  color: #333;
  box-sizing: border-box;
}

.form-box .form__content .input::placeholder,
.form-box .form__content input::placeholder {
  color: #bbb;
}

.form-box .form__content .input:focus,
.form-box .form__content input:focus {
  outline: 2px solid #29abe2;
  background: #fff;
}

.form-box .form__content .input--xs {
  width: 4rem;
  display: inline-block;
}

.form-box .form__content .select-mw,
.form-box .form__content select {
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 0.375rem;
  padding: 0.875rem 1rem;
  font-size: 1.125rem;
  color: #333;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
}

.form-box .form__content textarea {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 0.375rem;
  padding: 0.875rem 1rem;
  font-size: 1.125rem;
  color: #333;
  min-height: 8rem;
  resize: vertical;
  box-sizing: border-box;
}

.form-box .form__content textarea::placeholder {
  color: #bbb;
}

.form-box .mwform-radio-field,
.form-box .mwform-checkbox-field {
  display: block;
  margin-bottom: 0.5rem;
}

.form-box .mwform-radio-field label,
.form-box .mwform-checkbox-field label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.125rem;
  cursor: pointer;
}

.form-box .mwform-tel-field input {
  width: 5rem;
  display: inline-block;
}

.form-box .mwform-zip-field input {
  width: 5rem;
  display: inline-block;
}

/* 送信・確認ボタン */
.form-box input[type="submit"],
.form-box .button-1--form {
  display: block;
  width: 100%;
  max-width: 20rem;
  margin: 2rem auto 0;
  padding: 1rem;
  background: #00A0E9;
  color: #fff;
  border: none;
  border-radius: 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
}

.form-box input[type="submit"]:hover,
.form-box .button-1--form:hover {
  background: #0088cc;
}

/* 確認画面 */
.form-box .mw_wp_form_confirm .form__content {
  font-size: 1.125rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #eee;
}

/* エラーメッセージ */
.form-box .error {
  color: #e74c3c;
  font-size: 0.875rem;
  margin-top: 0.25rem;
}

@media screen and (max-width: 767px) {
  .form-box .form__content .input,
  .form-box .form__content input[type="text"],
  .form-box .form__content input[type="email"],
  .form-box .form__content input[type="tel"] {
    font-size: 1rem;
    padding: 0.75rem;
  }
  .form-box .form__content select,
  .form-box .form__content .select-mw {
    font-size: 1rem;
    padding: 0.75rem;
  }
}
