/* E-STYLE お問い合わせフォーム（項目は今のまま・見た目を新しく）
   テーマの #PageContents の指定より強くするため、:is(#PageContents, body) を前に付けています */
:is(#PageContents, body) .wpcf7 .hidden-fields-container { display: none; border: 0; margin: 0; padding: 0; }
:is(#PageContents, body) .wpcf7 .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
:is(#PageContents, body) .ec-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
:is(#PageContents, body) .wpcf7 { margin: 32px 0 56px; }
:is(#PageContents, body) .wpcf7-form { --ec-c: #d6338f; --ec-cd: #b5226f; --ec-tint: #fdeef6; --ec-line: #e2e2e2; --ec-bg: #f7f7f7;
  box-sizing: border-box; max-width: 820px; margin: 0 auto; padding: 40px 48px; background: #fff; border: 1px solid var(--ec-line); border-radius: 16px; box-shadow: 0 6px 24px rgba(0, 0, 0, .06);
  color: #333; font-size: 16px; line-height: 1.7; text-align: left; }
:is(#PageContents, body) .wpcf7-form :where(span, div, dt, dd, label, small) { font-size: inherit; line-height: inherit; margin: 0; padding: 0; }
:is(#PageContents, body) .wpcf7-form *, :is(#PageContents, body) .wpcf7-form *::before, :is(#PageContents, body) .wpcf7-form *::after { box-sizing: border-box; }
:is(#PageContents, body) .wpcf7-form p { width: auto; margin: 0; padding: 0; line-height: 1.7; }
:is(#PageContents, body) .wpcf7-form .ec-f { margin: 0 0 26px; }
:is(#PageContents, body) .wpcf7-form .ec-f__label { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-weight: 700; font-size: 16px; color: #333; }
:is(#PageContents, body) .wpcf7-form .ec-f__field { display: block; }
:is(#PageContents, body) .wpcf7-form .ec-f__note { display: block; margin-top: 6px; color: #777; font-size: 13px; }
:is(#PageContents, body) .ec-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; line-height: 1.6; letter-spacing: .05em; color: #fff; }
:is(#PageContents, body) .ec-badge--req { background: #d93f3f; }
:is(#PageContents, body) .ec-badge--opt { background: #a3a3a3; }
:is(#PageContents, body) .wpcf7-form input[type=text], :is(#PageContents, body) .wpcf7-form input[type=tel], :is(#PageContents, body) .wpcf7-form input[type=email], :is(#PageContents, body) .wpcf7-form textarea {
  display: block; width: 100%; max-width: none; height: auto; margin: 0; padding: 13px 16px; font: inherit; font-size: 16px; line-height: 1.6; color: #333;
  background: var(--ec-bg); border: 1px solid #d5d5d5; border-radius: 10px; box-shadow: none; transition: border-color .2s, box-shadow .2s, background-color .2s; }
:is(#PageContents, body) .wpcf7-form textarea { min-height: 200px; resize: vertical; }
:is(#PageContents, body) .wpcf7-form input::placeholder, :is(#PageContents, body) .wpcf7-form textarea::placeholder { color: #aaa; }
:is(#PageContents, body) .wpcf7-form input[type=text]:focus, :is(#PageContents, body) .wpcf7-form input[type=tel]:focus, :is(#PageContents, body) .wpcf7-form input[type=email]:focus, :is(#PageContents, body) .wpcf7-form textarea:focus {
  outline: none; background: #fff; border-color: var(--ec-c); box-shadow: 0 0 0 4px rgba(214, 51, 143, .15); }
:is(#PageContents, body) .wpcf7-form [aria-invalid=true] { border-color: #d93f3f !important; background: #fff7f7 !important; }/* 選ぶ項目は押しやすいボタンの形に */
:is(#PageContents, body) .wpcf7-form .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 10px; }
:is(#PageContents, body) .wpcf7-form .wpcf7-radio .wpcf7-list-item { margin: 0; }
:is(#PageContents, body) .wpcf7-form .wpcf7-radio label { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 10px 18px; border: 1px solid #d5d5d5; border-radius: 999px; background: var(--ec-bg); cursor: pointer; font-weight: 400; transition: border-color .2s, background-color .2s; }
:is(#PageContents, body) .wpcf7-form .wpcf7-radio label:hover { border-color: var(--ec-c); }
:is(#PageContents, body) .wpcf7-form .wpcf7-radio input { margin: 0; accent-color: var(--ec-c); width: 16px; height: 16px; }
:is(#PageContents, body) .wpcf7-form .wpcf7-radio label:has(input:checked) { border-color: var(--ec-c); background: var(--ec-tint); color: var(--ec-cd); font-weight: 700; }
:is(#PageContents, body) .wpcf7-form .wpcf7-radio label:has(input:focus-visible) { box-shadow: 0 0 0 4px rgba(214, 51, 143, .2); }
:is(#PageContents, body) .wpcf7-form .wpcf7-not-valid-tip, :is(#PageContents, body) .ec-err { display: block; margin-top: 6px; color: #d93f3f; font-size: 14px; font-weight: 700; }/* ボタン */
:is(#PageContents, body) .wpcf7-form p.ec-note { margin: 8px 0 20px !important; padding: 14px 18px; background: var(--ec-bg); border-radius: 10px; font-size: 14px; color: #555; }
:is(#PageContents, body) .ec-actions { display: flex; flex-direction: column; align-items: center; gap: 12px; }
:is(#PageContents, body) .ec-actions [hidden] { display: none !important; }
:is(#PageContents, body) .ec-actions .ec-confirm, :is(#PageContents, body) .ec-actions .ec-back, :is(#PageContents, body) .ec-actions .ec-send { display: block; width: 100%; max-width: 400px; height: auto; margin: 0; padding: 16px 24px; font-family: inherit; font-size: 17px; font-weight: 700; line-height: 1.5; letter-spacing: .08em; border-radius: 999px; cursor: pointer; -webkit-appearance: none; appearance: none; transition: background-color .2s, transform .2s, box-shadow .2s; }
:is(#PageContents, body) .ec-actions .ec-confirm, :is(#PageContents, body) .ec-actions .ec-send { color: #fff; background: var(--ec-c); border: 2px solid var(--ec-c); box-shadow: 0 6px 16px rgba(214, 51, 143, .28); }
:is(#PageContents, body) .ec-actions .ec-confirm:hover, :is(#PageContents, body) .ec-actions .ec-send:hover { background: var(--ec-cd); border-color: var(--ec-cd); transform: translateY(-1px); }
:is(#PageContents, body) .ec-actions .ec-back { color: var(--ec-c); background: #fff; border: 2px solid var(--ec-c); }
:is(#PageContents, body) .ec-actions .ec-back:hover { background: var(--ec-tint); }
:is(#PageContents, body) .ec-actions .wpcf7-spinner { margin: 0; }
:is(#PageContents, body) .wpcf7-spinner { visibility: hidden; display: inline-block; width: 24px; height: 24px; border-radius: 100%; background: #23282d; opacity: .75; position: relative; }
:is(#PageContents, body) .wpcf7-form.submitting .wpcf7-spinner { visibility: visible; }
:is(#PageContents, body) .wpcf7-form:not(.is-review) .ec-send { display: none; }/* 確認画面 */
:is(#PageContents, body) .ec-review { margin: 0 0 28px; }
:is(#PageContents, body) .wpcf7-form p.ec-review__lead { margin: 0 0 16px !important; padding: 14px 18px; background: var(--ec-tint); border-radius: 10px; color: var(--ec-cd); font-weight: 700; }
:is(#PageContents, body) .ec-review__list { display: grid; grid-template-columns: 200px 1fr; margin: 0; border-top: 1px solid var(--ec-line); }
:is(#PageContents, body) .ec-review__list dt, :is(#PageContents, body) .ec-review__list dd { margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--ec-line); }
:is(#PageContents, body) .ec-review__list dt { background: var(--ec-bg); font-weight: 700; font-size: 14px; color: #555; }
:is(#PageContents, body) .ec-review__list dd { white-space: pre-wrap; overflow-wrap: anywhere; }
:is(#PageContents, body) .wpcf7-form.is-review > p:not(.ec-actions):not(.ec-recaptcha-note) { display: none; }/* 送信のあと */
:is(#PageContents, body) .wpcf7-form.is-sent > p, :is(#PageContents, body) .wpcf7-form.is-sent .ec-review { display: none; }
:is(#PageContents, body) .wpcf7-form .wpcf7-response-output { margin: 20px 0 0; padding: 14px 18px; border-radius: 10px; }
:is(#PageContents, body) .wpcf7-form.init .wpcf7-response-output, :is(#PageContents, body) .wpcf7-form .wpcf7-response-output:empty { display: none; }
:is(#PageContents, body) .wpcf7-form.is-sent .wpcf7-response-output, :is(#PageContents, body) .wpcf7-form.sent .wpcf7-response-output { display: block; border: 1px solid var(--ec-c); background: var(--ec-tint); color: var(--ec-cd); font-weight: 700; }
:is(#PageContents, body) .wpcf7-form.invalid .wpcf7-response-output, :is(#PageContents, body) .wpcf7-form.spam .wpcf7-response-output, :is(#PageContents, body) .wpcf7-form.failed .wpcf7-response-output, :is(#PageContents, body) .wpcf7-form.aborted .wpcf7-response-output { border: 1px solid #d93f3f; background: #fff7f7; color: #b52b2b; }
:is(#PageContents, body) .ec-recaptcha-note { margin: 20px 0 0 !important; font-size: 12px; line-height: 1.7; color: #777; text-align: center; }
:is(#PageContents, body) .ec-recaptcha-note a { color: inherit; text-decoration: underline; }
@media (max-width: 767px) {
:is(#PageContents, body) .wpcf7-form { padding: 24px 18px; border-radius: 12px; }
:is(#PageContents, body) .wpcf7-form .wpcf7-radio label { padding: 9px 14px; }
:is(#PageContents, body) .ec-review__list { grid-template-columns: 1fr; }
:is(#PageContents, body) .ec-review__list dt { border-bottom: 0; padding-bottom: 4px; }
:is(#PageContents, body) .ec-review__list dd { padding-top: 4px; }
}


