/* CF7採用フォーム補助。選択したフォームの .crf-designed 配下だけに適用。 */
.wpcf7 form.crf-enhanced .crf-is-hidden,
.wpcf7 form.crf-enhanced .crf-confirm[hidden] { display:none !important; }
.wpcf7 .crf-confirm { margin-block:1.5em; }
.wpcf7 .crf-summary dd { white-space:pre-wrap; overflow-wrap:anywhere; }
.wpcf7 .crf-status:empty { display:none; }
.wpcf7 form.crf-designed {
 --crf-ink:#203039; --crf-muted:#5f7079; --crf-accent:#166653; --crf-line:#d8e1e5;
 box-sizing:border-box; max-width:900px; margin:24px auto; padding:clamp(18px,4vw,42px);
 background:#f4f7f8; border:1px solid #e1e8eb; border-radius:20px; color:var(--crf-ink);
 font-family:inherit; font-size:16px; line-height:1.75;
}
.wpcf7 form.crf-designed *, .wpcf7 form.crf-designed *::before, .wpcf7 form.crf-designed *::after { box-sizing:border-box; }
.wpcf7 form.crf-designed .crf-intro { margin-bottom:28px; }
.wpcf7 form.crf-designed .crf-eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.14em; color:var(--crf-accent); margin:0 0 8px; }
.wpcf7 form.crf-designed .crf-page-title { font-size:clamp(1.5rem,4vw,2rem); font-weight:700; letter-spacing:.025em; line-height:1.4; margin:0 0 12px; }
.wpcf7 form.crf-designed .crf-intro > p:last-child { color:var(--crf-muted); font-size:.925rem; margin:0; }
.wpcf7 form.crf-designed .crf-card { background:#fff; border:1px solid var(--crf-line); border-radius:12px; padding:clamp(18px,3vw,28px); margin-bottom:22px; }
.wpcf7 form.crf-designed .crf-section-title { display:flex; align-items:center; gap:10px; font-size:1.15rem; font-weight:700; margin:0 0 24px; padding-bottom:16px; border-bottom:1px solid #e6ecef; }
.wpcf7 form.crf-designed .crf-step { color:var(--crf-accent); font-size:.8rem; font-weight:700; letter-spacing:.05em; background:#edf6f2; border-radius:6px; padding:3px 8px; }
.wpcf7 form.crf-designed .crf-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.wpcf7 form.crf-designed .crf-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 12px; }
.wpcf7 form.crf-designed .crf-field { min-width:0; margin:0 0 22px; }
.wpcf7 form.crf-designed label { font-weight:inherit; }
.wpcf7 form.crf-designed .crf-field label { display:block; }
.wpcf7 form.crf-designed .crf-label, .wpcf7 form.crf-designed .crf-group-label { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.925rem; font-weight:600; margin:0 0 8px; }
.wpcf7 form.crf-designed .crf-required, .wpcf7 form.crf-designed .crf-optional { display:inline-block; font-size:.7rem; line-height:1.6; border-radius:4px; padding:1px 6px; font-weight:500; }
.wpcf7 form.crf-designed .crf-required { color:#9c3828; background:#fff0ea; }
.wpcf7 form.crf-designed .crf-optional { color:#61717a; background:#f0f3f5; }
.wpcf7 form.crf-designed input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),
.wpcf7 form.crf-designed select, .wpcf7 form.crf-designed textarea {
 display:block; width:100%; max-width:100%; min-width:0; min-height:48px; margin:0; border:1px solid #b8c7cf; border-radius:7px;
 background:#fff; color:var(--crf-ink); padding:11px 13px; box-shadow:none; font:inherit; line-height:1.5;
}
.wpcf7 form.crf-designed input[type=date] { min-width:0; }
.wpcf7 form.crf-designed textarea { min-height:112px; resize:vertical; }
.wpcf7 form.crf-designed input::placeholder, .wpcf7 form.crf-designed textarea::placeholder { color:#82919a; opacity:1; }
.wpcf7 form.crf-designed input:focus-visible, .wpcf7 form.crf-designed select:focus-visible,
.wpcf7 form.crf-designed textarea:focus-visible, .wpcf7 form.crf-designed button:focus-visible,
.wpcf7 form.crf-designed summary:focus-visible, .wpcf7 form.crf-designed a:focus-visible { outline:3px solid #86bdad; outline-offset:3px; }
.wpcf7 form.crf-designed .crf-help { color:var(--crf-muted); font-size:.8rem; margin:-8px 0 22px; line-height:1.75; }
.wpcf7 form.crf-designed .crf-history { border:1px solid var(--crf-line); border-radius:9px; margin:0 0 18px; overflow:hidden; }
.wpcf7 form.crf-designed .crf-history > summary { cursor:pointer; padding:16px 18px; font-weight:600; background:#f8fafb; }
.wpcf7 form.crf-designed .crf-history[open] > summary { border-bottom:1px solid var(--crf-line); }
.wpcf7 form.crf-designed .crf-history-note { font-size:.75rem; font-weight:400; color:var(--crf-muted); margin-left:12px; }
.wpcf7 form.crf-designed .crf-history-body { padding:22px 18px 0; }
.wpcf7 form.crf-designed .crf-footer { text-align:center; padding:10px 0 0; }
.wpcf7 form.crf-designed .wpcf7-list-item { margin:0 14px 8px 0; }
.wpcf7 form.crf-designed input[type=checkbox], .wpcf7 form.crf-designed input[type=radio] { width:20px; height:20px; margin-right:7px; accent-color:var(--crf-accent); vertical-align:middle; }
.wpcf7 form.crf-designed a { color:var(--crf-accent); text-decoration:underline; text-underline-offset:3px; }
.wpcf7 form.crf-designed button, .wpcf7 form.crf-designed input[type=submit] {
 min-height:50px; padding:13px 30px; border:1px solid var(--crf-accent); border-radius:8px; background:var(--crf-accent); color:#fff;
 font:inherit; font-weight:600; line-height:1.5; cursor:pointer; box-shadow:none; text-decoration:none; width:auto;
}
.wpcf7 form.crf-designed button:hover, .wpcf7 form.crf-designed input[type=submit]:hover { filter:brightness(.95); }
.wpcf7 form.crf-designed .crf-back { background:#fff; color:var(--crf-accent); }
.wpcf7 form.crf-designed button:disabled, .wpcf7 form.crf-designed input:disabled { opacity:.55; cursor:wait; }
.wpcf7 form.crf-designed .crf-submit-row { position:relative; margin:24px 0 18px; }
.wpcf7 form.crf-designed .crf-submit-row .wpcf7-spinner { position:absolute; top:50%; transform:translateY(-50%); }
.wpcf7 form.crf-designed .crf-confirm { background:#fff; border:1px solid var(--crf-line); border-radius:12px; padding:clamp(18px,3vw,28px); margin:0; }
.wpcf7 form.crf-designed .crf-confirm-title { font-size:1.4rem; font-weight:700; margin:0 0 10px; }
.wpcf7 form.crf-designed .crf-summary { margin:24px 0 30px; }
.wpcf7 form.crf-designed .crf-summary dt { font-size:.8rem; color:var(--crf-muted); font-weight:600; padding-top:16px; border-top:1px solid #e6ecef; }
.wpcf7 form.crf-designed .crf-summary dd { margin:4px 0 16px; }
.wpcf7 form.crf-designed .crf-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.wpcf7 form.crf-designed .crf-status { margin:18px 0 0; padding:14px 16px; border-radius:8px; background:#fff; border:1px solid var(--crf-line); }
@media (max-width:600px) {
 .wpcf7 form.crf-designed { margin:12px auto; padding:14px; border-radius:12px; }
 .wpcf7 form.crf-designed .crf-grid { grid-template-columns:1fr; }
 .wpcf7 form.crf-designed .crf-grid-three, .wpcf7 form.crf-designed .crf-grid-name { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
 .wpcf7 form.crf-designed .crf-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .wpcf7 form.crf-designed .crf-card { padding:18px 14px; }
 .wpcf7 form.crf-designed .crf-history-body { padding:18px 12px 0; }
 .wpcf7 form.crf-designed .crf-actions button, .wpcf7 form.crf-designed input[type=submit] { width:100%; }
 .wpcf7 form.crf-designed .crf-submit-row .wpcf7-spinner { position:static; transform:none; }
}
