/* =====================================================================
   nm-cf7.css — Contact Form 7（資料請求 224／お問い合わせ 211／相談 216）
   CF7 が出力する標準マークアップ（.wpcf7 > form.wpcf7-form）に適用
   ===================================================================== */
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal!important}
.wpcf7 .hidden-fields-container{display:none;border:0;margin:0;padding:0}
.wpcf7 form.wpcf7-form{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;margin:0}
.wpcf7 form.wpcf7-form > *{grid-column:1 / -1}
/* 資料請求（224）のみ 会社名・お名前を横並び */
.wpcf7[data-wpcf7-id="224"] .form-row:has([data-name="company"]),
.wpcf7[data-wpcf7-id="224"] .form-row:has([data-name="name"]){grid-column:auto}
.wpcf7 .wpcf7-turnstile{margin-bottom:16px}
.wpcf7 .wpcf7-turnstile:empty{display:none}
.wpcf7 .form-row p{margin:0 0 18px}
.wpcf7 .form-row > p:has(+ .radio-group),.wpcf7 .form-row > p:has(+ .check-group){margin-bottom:8px}
.wpcf7 .form-row label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:8px;color:var(--nm-ink)}
.wpcf7 .req,.wpcf7 .opt{font-size:11px;padding:1px 7px;border-radius:4px;font-weight:700;line-height:1.6}
.wpcf7 .req{background:var(--nm-orange);color:#fff}
.wpcf7 .opt{background:var(--nm-line);color:var(--nm-ink-2)}
.wpcf7 .wpcf7-form-control-wrap{display:block;position:relative}
.wpcf7 input.wpcf7-text,.wpcf7 input.wpcf7-email,.wpcf7 input.wpcf7-tel,.wpcf7 input.wpcf7-url,.wpcf7 input.wpcf7-number,.wpcf7 input.wpcf7-date,.wpcf7 select.wpcf7-select,.wpcf7 textarea.wpcf7-textarea{width:100%;font:inherit;font-size:15px;padding:14px 16px;border:1.5px solid var(--nm-line);border-radius:10px;background:var(--nm-bg-soft);color:var(--nm-ink);transition:border-color .15s,background .15s;box-shadow:none;height:auto;margin:0}
.wpcf7 textarea.wpcf7-textarea{min-height:180px;resize:vertical;line-height:1.7}
.wpcf7 input.wpcf7-text:focus,.wpcf7 input.wpcf7-email:focus,.wpcf7 input.wpcf7-tel:focus,.wpcf7 select.wpcf7-select:focus,.wpcf7 textarea.wpcf7-textarea:focus{outline:0;border-color:var(--nm-blue);background:#fff}
.wpcf7 ::placeholder{color:var(--nm-ink-3);opacity:1}
.wpcf7 .hint{font-size:12px;color:var(--nm-ink-3);margin:-10px 0 18px !important}

/* radio / checkbox → チップ */
.wpcf7 .radio-group p,.wpcf7 .check-group p{margin:0 0 18px}
.wpcf7 .wpcf7-radio,.wpcf7 .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px}
.wpcf7 .wpcf7-list-item{margin:0;display:block}
.wpcf7 .wpcf7-list-item label{margin:0;cursor:pointer;font-weight:500;display:block}
.wpcf7 .wpcf7-list-item input{position:absolute;opacity:0;pointer-events:none}
.wpcf7 .wpcf7-list-item-label{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1.5px solid var(--nm-line);background:#fff;font-size:14px;transition:all .15s}
.wpcf7 .wpcf7-list-item-label::before{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid var(--nm-ink-3);background:#fff;flex:none;transition:all .15s}
.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label::before{border-radius:4px}
.wpcf7 .wpcf7-list-item input:checked + .wpcf7-list-item-label{border-color:var(--nm-blue);background:var(--nm-bg-sky);color:var(--nm-blue-deep);font-weight:700}
.wpcf7 .wpcf7-list-item input:checked + .wpcf7-list-item-label::before{border-color:var(--nm-blue);background:var(--nm-blue) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/10px no-repeat}
.wpcf7 .wpcf7-list-item input:focus-visible + .wpcf7-list-item-label{outline:2px solid var(--nm-blue);outline-offset:2px}

/* validation */
.wpcf7 .wpcf7-not-valid{border-color:var(--nm-orange) !important;background:#fff8f4 !important}
.wpcf7 .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:12px;font-weight:700;color:var(--nm-orange-deep)}

/* privacy */
.wpcf7 .privacy-check p{font-size:13px;color:var(--nm-ink-2);margin:4px 0 20px}
.wpcf7 .privacy-check a{color:var(--nm-blue-deep);text-decoration:underline}

/* submit */
.wpcf7 form.wpcf7-form > p{margin:0;position:relative}
.wpcf7 form.wpcf7-form > p:has(> script:only-child),.wpcf7 form.wpcf7-form > p:empty{display:none}
.wpcf7 input.wpcf7-submit{-webkit-appearance:none;appearance:none;width:100%;border:0;cursor:pointer;font-family:var(--nm-head);font-weight:700;font-size:18px;color:#fff;padding:20px 64px;border-radius:999px;background:var(--nm-orange) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><circle cx='13' cy='13' r='13' fill='white'/><path d='M8 13h9m-3.5-4 4 4-4 4' fill='none' stroke='%23d9622b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>") right 22px center/26px no-repeat;box-shadow:0 6px 0 var(--nm-orange-deep),0 14px 30px -10px oklch(0.70 0.17 45 / .55);transition:transform .15s,box-shadow .15s;line-height:1.3;height:auto}
.wpcf7 input.wpcf7-submit:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--nm-orange-deep),0 18px 34px -10px oklch(0.70 0.17 45 / .6)}
.wpcf7 input.wpcf7-submit:active{transform:translateY(4px);box-shadow:0 2px 0 var(--nm-orange-deep)}
.wpcf7 input.wpcf7-submit:disabled{opacity:.6;cursor:default}
.wpcf7 .wpcf7-spinner{visibility:hidden;position:absolute;left:24px;top:50%;margin:-12px 0 0;width:24px;height:24px;border-radius:50%;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;background:none;animation:nm-spin 1s linear infinite;opacity:1}
.wpcf7 .wpcf7-spinner::before{content:none}
.wpcf7 form.submitting .wpcf7-spinner{visibility:visible}
@keyframes nm-spin{to{transform:rotate(360deg)}}

/* response */
.wpcf7 form .wpcf7-response-output{margin:16px 0 0;padding:12px 16px;border-radius:10px;font-size:13px;font-weight:700;border:1.5px solid var(--nm-blue);background:var(--nm-bg-sky);color:var(--nm-blue-deep)}
.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output{border-color:var(--nm-orange);background:#fff8f4;color:var(--nm-orange-deep)}

@media (max-width:960px){
  .wpcf7 form.wpcf7-form{grid-template-columns:1fr}
  .wpcf7 input.wpcf7-submit{font-size:16px;padding:18px 56px}
}
