/* お問い合わせフォーム (テーマの .wpcf7 スタイルに追加する分のみ) */
.wl-contact {
  margin-top: 40px;
}

.wl-contact__field {
  margin: 0 0 28px;
}

.wl-contact__field label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.wl-contact__req,
.wl-contact__opt {
  display: inline-block;
  margin-left: 10px;
  padding: 0 8px;
  font-size: 11px;
  line-height: 1.8;
  vertical-align: middle;
  border-radius: 3px;
}

.wl-contact__req {
  color: #fff;
  background-color: #c0392b;
}

.wl-contact__opt {
  color: inherit;
  border: 1px solid currentColor;
  opacity: 0.6;
}

.wl-contact textarea {
  resize: vertical;
  min-height: 180px;
}

/* ボット対策の隠し項目 */
.wl-contact__hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* 同意欄 (3項目): 全体は中央、各項目は左揃え */
.wl-contact__agree {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 32px;
}

.wpcf7 .wl-contact__agree .wl-contact__agree-note {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.8;
  opacity: 0.85;
}

.wl-contact__agree label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.7;
  cursor: pointer;
}

.wl-contact__agree label input[type=checkbox] {
  flex-shrink: 0;
  margin-top: 2px;
}

.wl-contact__submit {
  text-align: center;
}

.wl-contact input[type=submit] {
  display: inline-block;
  cursor: pointer;
}

.wl-contact input[type=submit]:disabled {
  opacity: 0.5;
  cursor: wait;
}

.wl-contact__status {
  min-height: 1.5em;
  margin-top: 20px;
  text-align: center;
}

.wl-contact__status.is-error {
  color: #c0392b;
}

.wl-contact__done {
  padding: 40px 0;
  line-height: 2.2;
  text-align: center;
}
