/* フォーム画面（お問い合わせ・資料請求・口コミ・掲載申込）— site.css の apf / iq / lgx を補う */

/* 入力エラー（サーバー側の検証結果）: プレビューの .apf.bad / .ape と同じ見た目 */
.jk-errors{border:1px solid #E8A39B;border-left:4px solid #C0392B;background:#FDF1EF;border-radius:8px;padding:14px 18px;display:flex;flex-direction:column;gap:6px}
.jk-errors:focus{outline:none}
.jk-errors__t{margin:0;font-weight:700;font-size:15px;color:#B3261E}
.jk-errors ul{margin:0;padding-left:1.2em;font-size:13.5px;line-height:1.8}
.jk-errors a{color:#B3261E;font-weight:700}
:root[data-theme="dark"] .jk-errors{background:#2A1715;border-color:#6B2E28;border-left-color:#E06B5F}
:root[data-theme="dark"] .jk-errors__t,:root[data-theme="dark"] .jk-errors a{color:#F2B8B5}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .jk-errors{background:#2A1715;border-color:#6B2E28;border-left-color:#E06B5F}:root:not([data-theme="light"]) .jk-errors__t,:root:not([data-theme="light"]) .jk-errors a{color:#F2B8B5}}
.apsec>.jk-errors,.apform>.jk-errors{margin:0}
.jk-saved{border:1px solid var(--link);background:var(--toggle-on);color:var(--link-hover);padding:12px 16px;font-size:14px;border-radius:8px}
.jk-invalid,.jkf select.jk-invalid,.jkf textarea.jk-invalid{border-color:#C0392B !important;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.jkf .ape{margin:0}
.apf.bad textarea,.iq-f.bad textarea{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.ct-k input:checked+span{color:var(--ink)}
.apf.bad .ct-k span,.iq-f.bad .iq-kd span{border-color:#E8A39B}
.iq-agree.bad .apagree span{color:#B3261E}

/* 資料請求: 送り先の追加・削除（リンク） */
a.iq-rm{display:flex;align-items:center;justify-content:center;flex:0 0 32px;text-decoration:none;font-size:15px}
a.iq-rm:hover{background:var(--toggle-on);color:var(--link)}
.iq-add .jkf-add{display:flex;align-items:center;min-height:40px;padding:0 12px;border:1px dashed var(--link);border-radius:6px;color:var(--link);font-size:13px;font-weight:700;text-decoration:none}
.iq-add .jkf-add:hover{background:var(--toggle-on)}

/* 資料請求: 学年（学校区分 → 学年） */
.iq-gv:empty{display:none}
.iq-gg label{position:relative;display:block;cursor:pointer}
.iq-gg input{position:absolute;opacity:0;width:1px;height:1px}
.iq-gg label span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:52px;padding:0 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font-size:14px;font-weight:700}
.iq-gg label:hover span{border-color:var(--link)}
.iq-gg input:checked+span{background:var(--link);border-color:var(--link);color:var(--bg)}
.iq-gg input:focus-visible+span{outline:3px solid #F2B705;outline-offset:2px}
.iq-gg::before{content:attr(data-jkgg);flex:0 0 100%;font-size:12px;font-weight:700;color:var(--sub)}
.jkf-js .iq-gg::before{display:none}
.jkf-js .iq-gg:not(.on),.jkf-js .iq-gg.one{display:none}
.iq-f.bad .iq-gg label span{border-color:#E8A39B}

/* 掲載申込 */
.apdrop{position:relative}
.apdrop.jkf-drop-s{min-height:50px;flex-direction:row;gap:10px;border-width:1.5px;border-radius:6px;padding:0 14px}
.apdrop.jkf-drop-s b{font-size:14px}
.jkf-lbl{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700}
.apdrop .jkf-fn{overflow-wrap:anywhere}
.jkf-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.jkf-plans .ct-k span{min-height:96px;justify-content:flex-start;padding:14px}
.jkf-plans .ct-k b{font-size:16px}
.jkf-plans .ct-k em{font-style:normal;font-size:13px;font-weight:700;color:var(--star)}
.jkf-plans .ct-k small{font-size:12px;line-height:1.6}
.jkf-pts{margin:0;padding-left:1.4em}
.apbtns button[disabled]{opacity:.5;cursor:default}
@media (max-width:760px){.jkf-plans{grid-template-columns:1fr}.jkf-plans .ct-k span{min-height:0}}

/* 口コミの確認 */
.jkf-rv{border-bottom:1px solid var(--line);padding:20px 0;display:flex;flex-direction:column;gap:12px}
.jkf-rv-who{margin:0;font-size:13.5px;color:var(--sub);display:flex;flex-wrap:wrap;gap:4px 14px}
.jkf-rv-who b{color:var(--star)}
.jkf-rv-sc{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:4px 16px;font-size:14px}
.jkf-rv-sc div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}
.jkf-rv-sc dd{margin:0;font-weight:700}
.jkf-rv-body p{margin:0 0 10px;font-size:15px;line-height:1.95}
form.ct-act,form.iq-act{margin-bottom:0}
button.abtn{font-family:inherit;cursor:pointer}
/* 口コミを書く（インライン style のフォーム）のエラー表示 */
[data-apf].bad>select,[data-apf].bad>input,[data-apf].bad>textarea{border-color:#C0392B !important;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.jk-rate .ape{flex:1 1 100%}
.jk-rate.bad label{border-color:#E8A39B !important}
.jkf-plans .ct-k small{font-weight:400}

/* 掲載申込：パスワード・Google（2.3.0） */
.apshow { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; min-height: 40px; }
.apshow input { width: 18px; height: 18px; accent-color: var(--link); }
.apgbtn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border: 1px solid var(--btn-line); border-radius: 4px; background: #FFFFFF; color: #1F1F1F !important; font-weight: 700; text-decoration: none; font-size: 15px; }
.apgbtn:hover { background: #F6F8F9; }
.apgbtn svg { width: 20px; height: 20px; }
.apor { display: flex; align-items: center; gap: 12px; color: var(--sub); font-size: 13px; margin-top: 8px; }
.apor::before, .apor::after { content: ""; flex: 1; border-top: 1px solid var(--line); }
.appwh { margin: -6px 0 0; }
.apslug { display: flex; align-items: stretch; }
.apslug .appre, .apslug .apsuf { display: inline-flex; align-items: center; padding: 0 10px; background: var(--pale); color: var(--sub); font-size: 13px; white-space: nowrap; border: 1.5px solid var(--btn-line); }
.apslug .appre { border-right: 0; border-radius: 6px 0 0 6px; }
.apslug .apsuf { border-left: 0; border-radius: 0 6px 6px 0; }
.apslug input { flex: 1 1 auto; min-width: 0; border-radius: 0 !important; }
@media (max-width: 640px) { .apslug .appre { font-size: 11px; padding: 0 6px; } }
