/* ==================================================================
   お問い合わせフォーム（Contact Form 7）
   ------------------------------------------------------------------
   ★ 出どころ（2026-09-07）
     移行元では、子テーマの指定の一部が親テーマの !important に負けていた。
     移行の約束は「見た目を変えない」なので、**実際に画面に出ていた値**に
     合わせてある。ここも実測で当たるルールだけを抜き出し、
     miki-* 名で書き直した自分のファイルである。
   ================================================================== */

.wpcf7 { max-width: 840px; margin: 0px auto; padding: 0px 16px; }
.wpcf7-form { font-family: "Noto Sans JP", sans-serif; color: rgb(20, 20, 20); line-height: 1.85; letter-spacing: 0.02em; }
.wpcf7-form p br { display: none; }
.wpcf7-form p { margin: 0px 0px 24px; line-height: 1.75; }
.wpcf7-form p { font-size: 14px; font-weight: 500; color: rgb(20, 20, 20); letter-spacing: 0.06em; }
.wpcf7-form .wpcf7-form-control-wrap { display: block; margin-top: 10px; font-weight: 400; }
.wpcf7-form .req { display: inline-block; background: rgb(165, 52, 31); color: rgb(246, 244, 239); font-family: "Noto Sans JP", sans-serif; font-size: 10px; font-weight: 600; padding: 3px 10px; border-radius: 2px; margin-left: 10px; letter-spacing: 0.24em; text-transform: uppercase; vertical-align: 2px; line-height: 1.5; }
.wpcf7-form .opt { display: inline-block; background: rgb(237, 233, 223); color: rgb(92, 90, 85); font-family: "Noto Sans JP", sans-serif; font-size: 10px; font-weight: 500; padding: 3px 10px; border-radius: 2px; margin-left: 10px; letter-spacing: 0.24em; text-transform: uppercase; vertical-align: 2px; line-height: 1.5; }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="url"], .wpcf7-form input[type="number"], .wpcf7-form textarea { width: 100%; padding: 14px 16px; border-width: medium medium 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(200, 194, 179); border-image: none; background: rgb(246, 244, 239); font-family: "Noto Sans JP", sans-serif; font-size: 15px; color: rgb(20, 20, 20); border-radius: 0px; box-shadow: none; letter-spacing: 0.03em; transition: border-color 0.2s, background 0.2s; appearance: none; }
.wpcf7-form input::placeholder, .wpcf7-form textarea::placeholder { color: rgb(165, 162, 154); font-weight: 400; font-family: "Noto Sans JP", sans-serif; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus { outline: none; border-bottom-color: rgb(165, 52, 31); background: rgb(255, 255, 255); }
.wpcf7-form textarea { min-height: 160px; resize: vertical; line-height: 1.9; }
.wpcf7-form input[type="tel"], .wpcf7-form input[name="your-zip"] { font-family: "JetBrains Mono", "SF Mono", Menlo, monospace; font-size: 14px; letter-spacing: 0.08em; }
.wpcf7-form p.privacy-consent-wrap { padding: 18px 20px; background: rgb(237, 233, 223); border-left: 2px solid rgb(165, 52, 31); font-size: 14px; line-height: 1.8; margin: 32px 0px 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-weight: 400; letter-spacing: 0.04em; }
.wpcf7-form .privacy-consent-wrap br { display: none; }
.wpcf7-form .privacy-consent-wrap .wpcf7-form-control-wrap { display: inline-flex; align-items: center; margin: 0px; width: auto; }
.wpcf7-form .privacy-consent-wrap .wpcf7-list-item { margin: 0px; display: inline-flex; align-items: center; }
.wpcf7-form .privacy-consent-wrap input[type="checkbox"] { width: 18px; height: 18px; accent-color: rgb(165, 52, 31); margin: 0px 6px 0px 0px; vertical-align: middle; cursor: pointer; }
.wpcf7-form .privacy-consent-wrap a { color: rgb(123, 38, 18); text-decoration: underline; text-underline-offset: 2px; font-weight: 500; }
.wpcf7-form .privacy-consent-wrap a:hover { color: rgb(165, 52, 31); }
.wpcf7-form .privacy-consent-wrap .req { margin-left: auto; }
.wpcf7-form p:has(input[type="submit"]) { text-align: center; margin-top: 40px; margin-bottom: 0px; }
.wpcf7-form input[type="submit"] { display: block; width: 100%; max-width: 420px; margin: 0px auto; padding: 22px 40px; background: rgb(20, 20, 20); color: rgb(246, 244, 239); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 0px; font-family: "Noto Sans JP", sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; cursor: pointer; transition: background 0.3s, color 0.3s, letter-spacing 0.3s; appearance: none; }
.wpcf7-form input[type="submit"]:hover { background: rgb(165, 52, 31); color: rgb(246, 244, 239); letter-spacing: 0.36em; }
.wpcf7-form .wpcf7-spinner { background-color: rgb(165, 52, 31); }
.wpcf7-form .wpcf7-response-output { margin: 24px 0px 0px; padding: 16px 20px; font-size: 14px; font-family: "Noto Sans JP", sans-serif; border-radius: 2px; border: 1px solid rgb(200, 194, 179); background: rgb(246, 244, 239); letter-spacing: 0.04em; }
@media (max-width: 840px) {
  .wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form textarea { font-size: 16px; }
  .wpcf7-form input[type="submit"] { letter-spacing: 0.24em; padding: 20px 32px; }
  .wpcf7-form input[type="submit"]:hover { letter-spacing: 0.28em; }
  .wpcf7-form p.privacy-consent-wrap { padding: 16px 18px; font-size: 13px; }
}
@media (max-width: 960px) {
  .wpcf7 { padding-left: 0px; padding-right: 0px; }
  .wpcf7-form p { margin: 0px 0px 40px; }
  .wpcf7-form .wpcf7-form-control-wrap { margin-top: 6px; }
  .wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="url"], .wpcf7-form input[type="number"], .wpcf7-form input[name="your-zip"] { width: 100%; font-size: 16px; min-height: 48px; padding: 14px 16px; }
  .wpcf7-form textarea { width: 100%; font-size: 16px; padding: 14px 16px; }
  .wpcf7-form .privacy-consent-wrap input[type="checkbox"] { width: 22px; height: 22px; }
  .wpcf7-form input[type="submit"] { width: 100%; min-height: 56px; }
}
.wpcf7 { --miki-half-read: calc((1em - 1lh) / 2); }
.wpcf7 p { margin-top: var(--miki-half-read) !important; margin-bottom: 30px !important; }
.wpcf7 input { height: 50px !important; padding-inline: 20px !important; }
.wpcf7 textarea { display: block; padding: 20px !important; }
.wpcf7-form-control-wrap + br { display: none !important; }
.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item { display: grid !important; grid-template-columns: auto 1fr !important; align-items: start !important; gap: 5px !important; margin: 15px 0px 0px !important; }
.wpcf7 .wpcf7-form-control-wrap input[type="checkbox"] { height: auto !important; }
.wpcf7 .wpcf7-submit { font-size: 16px !important; width: 280px !important; height: 60px !important; }
.wpcf7 p:has(.wpcf7-submit) { margin-top: 0px !important; margin-bottom: 0px !important; }
.wpcf7 form { margin: 50px 50px 20px !important; }
@media (max-width: 767px) {
  .wpcf7 p { margin-bottom: 25px !important; font-size: 14px !important; }
  .wpcf7 .wpcf7-submit { width: 240px !important; height: 50px !important; }
  .wpcf7 form { margin: 30px !important; }
}
