/* 共通ヘッダー/フッターは main.css。ここはお問い合わせページ固有 */
  main .wrap { max-width:720px; }
  main { padding:40px 0 80px; }
  h1 { font-family:var(--font-display); font-size:28px; color:var(--rose-ink); margin-bottom:12px; }
  .lead { color:var(--ink-soft); font-size:15px; margin-bottom:28px; }
  .lead a { color:var(--blush-deep); font-weight:500; }

  .contact-box { background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px 30px; box-shadow:var(--shadow-card); }
  .contact-note { margin-top:22px; font-size:13px; color:var(--ink-soft); line-height:1.9; }
  .contact-note a { color:var(--blush-deep); }

  /* ===== Contact Form 7 をサイトのトーンに合わせる ===== */
  .wpcf7 .cf7-row { margin-bottom:20px; }
  .wpcf7 label { display:block; font-family:var(--font-display); font-weight:700; font-size:14px; color:var(--rose-ink); margin-bottom:8px; }
  .wpcf7 .req { display:inline-block; margin-left:6px; font-family:var(--font-body); font-weight:700; font-size:10px; color:#fff; background:var(--blush-deep); padding:2px 7px; border-radius:999px; vertical-align:1px; }
  .wpcf7 .opt { display:inline-block; margin-left:6px; font-family:var(--font-body); font-weight:500; font-size:10px; color:var(--ink-soft); background:var(--milk-deep); padding:2px 7px; border-radius:999px; vertical-align:1px; }

  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 select,
  .wpcf7 textarea {
    width:100%; box-sizing:border-box; font-family:var(--font-body); font-size:15px; color:var(--ink);
    background:var(--milk); border:1px solid var(--line); border-radius:14px; padding:13px 16px; transition:border-color .2s, box-shadow .2s;
  }
  .wpcf7 textarea { min-height:180px; resize:vertical; line-height:1.8; }
  .wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus {
    outline:none; background:#fff; border-color:var(--blush-deep); box-shadow:0 0 0 3px rgba(233,137,157,.16);
  }
  .wpcf7 .wpcf7-list-item { margin:0; }
  .wpcf7 .wpcf7-acceptance label { display:flex; align-items:flex-start; gap:8px; font-family:var(--font-body); font-weight:400; font-size:13px; color:var(--ink-soft); }
  .wpcf7 .wpcf7-acceptance input[type="checkbox"] { width:auto; margin-top:3px; accent-color:var(--blush-deep); }
  .wpcf7 .wpcf7-acceptance a { color:var(--blush-deep); }

  .wpcf7 .cf7-submit { text-align:center; margin-top:26px; }
  .wpcf7 input[type="submit"] {
    background:var(--rose-ink); color:#fff; font-family:var(--font-display); font-weight:700; font-size:16px;
    padding:15px 48px; border:0; border-radius:14px; cursor:pointer; box-shadow:var(--shadow-pop);
    transition:transform .15s, background .2s;
  }
  .wpcf7 input[type="submit"]:hover { transform:translateY(-2px); background:#743C4A; }
  .wpcf7 input[type="submit"]:disabled { opacity:.6; cursor:not-allowed; transform:none; }
  .wpcf7-spinner { margin:0 0 0 10px; }

  /* バリデーション・送信結果のメッセージ */
  .wpcf7 .wpcf7-not-valid-tip { margin-top:6px; font-size:12px; color:#C0392B; }
  .wpcf7 .wpcf7-not-valid { border-color:#E9A2A2; background:#FDF3F3; }
  .wpcf7 form .wpcf7-response-output {
    margin:22px 0 0; padding:13px 18px; border-radius:14px; font-size:14px; border-width:1px;
  }
  .wpcf7 form.sent .wpcf7-response-output { background:#EDF5EA; border-color:#CFE3C8; color:var(--sage-deep); }
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.failed .wpcf7-response-output,
  .wpcf7 form.spam .wpcf7-response-output { background:#FCE4EA; border-color:#F3C6D0; color:var(--rose-ink); }

  @media (max-width: 640px) {
    .contact-box { padding:22px 18px; border-radius:16px; }
    .wpcf7 input[type="submit"] { width:100%; }
  }
