/* お問い合わせフォーム（トップの黒背景 .contact-strip と contact.html の白背景 .kzf の共通部品） */
.ct-form label{display:block}
.ct-form .ct-label{display:block;font-size:12px;letter-spacing:.08em;margin-bottom:2px;opacity:.7}
.ct-form .ct-label em{font-style:normal;font-size:10px;margin-left:6px;padding:1px 6px;border:1px solid currentColor;border-radius:2px}
.ct-form textarea{resize:vertical;min-height:120px}
.ct-form input::placeholder,.ct-form textarea::placeholder{opacity:.55}
.ct-form .ct-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ct-form .ct-note{font-size:12px;line-height:1.8;opacity:.7}
.ct-form .ct-note a{text-decoration:underline}
.ct-submit:disabled{opacity:.6;cursor:wait}
.ct-status{padding:16px 18px;font-size:14px;line-height:1.9;outline:none}
.ct-status strong{display:block;font-size:16px;margin-bottom:4px}
.ct-status a{text-decoration:underline}
.ct-form.is-sent label,.ct-form.is-sent .ct-submit,.ct-form.is-sent .ct-note{display:none}
.ct-cats button[aria-pressed]{cursor:pointer}

/* トップ（黒背景） */
.contact-strip .ct-lead{font-size:14px;line-height:1.9;color:rgba(255,255,255,.75);margin:0 0 18px}
.contact-strip .ct-status.is-ok{background:#fff;color:#0b0b0b}
.contact-strip .ct-status.is-error{border:1px solid #ff9a7a;color:#ffd2c4}
.contact-strip .ct-form input:focus,.contact-strip .ct-form textarea:focus{outline:none;border-bottom-color:#fff}

/* contact.html（白背景） */
.kzf{background:#fff;border:1px solid var(--line,#d5d6d4);padding:32px;margin:0 0 56px;scroll-margin-top:24px}
.kzf h2{font-size:24px;line-height:1.5;margin:0 0 8px}
.kzf .kzf-lead{margin:0 0 20px;font-size:15px}
.kzf .ct-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px}
.kzf .ct-cats button{border:1px solid var(--line,#d5d6d4);background:#f7f7f5;color:inherit;padding:12px;text-align:left;font:inherit;font-size:14px;font-weight:700;line-height:1.5;cursor:pointer}
.kzf .ct-cats button small{display:block;font-weight:400;font-size:11px;color:#59636b}
.kzf .ct-cats button.is-on{background:var(--ink,#11151b);color:#fff;border-color:var(--ink,#11151b)}
.kzf .ct-cats button.is-on small{color:#cad4dc}
.kzf .ct-form{display:grid;gap:14px}
.kzf .ct-form .ct-label{opacity:1;font-weight:700;color:#33404a}
.kzf .ct-form input,.kzf .ct-form textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #c3c8cc;background:#fff;color:inherit;border-radius:0}
.kzf .ct-form input:focus,.kzf .ct-form textarea:focus{outline:3px solid #9fcbe6;outline-offset:0;border-color:var(--blue,#1b5073)}
.kzf .ct-submit{min-height:56px;border:0;background:var(--blue,#1b5073);color:#fff;font:inherit;font-size:16px;font-weight:700;letter-spacing:.08em;cursor:pointer}
.kzf .ct-submit:hover{background:#0c1822}
.kzf .ct-status.is-ok{background:#e8f3ea;border:1px solid #9cc8a5}
.kzf .ct-status.is-error{background:#fdf0ec;border:1px solid #e3a896}
.kzf-alt{display:flex;flex-wrap:wrap;gap:8px 24px;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line,#d5d6d4);font-size:14px}
.kzf-alt a{font-weight:700}
@media(max-width:800px){.kzf{padding:22px 18px}.kzf .ct-cats{grid-template-columns:1fr}}
