/* チェックボックスグリッド */
.input-row.row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px;margin-top:6px}
.input-row.two-column.row{grid-template-columns:repeat(2,1fr)}
.input-checkbox{
  display:flex;align-items:center;gap:10px;
  background:#fff;border:1.5px solid rgba(42,46,53,.18);border-radius:10px;
  padding:12px 14px;font-size:14px;font-weight:500;line-height:1.6;cursor:pointer;
  transition:border-color .2s,background-color .2s;
}
.input-checkbox:hover{border-color:var(--orange)}
.input-checkbox input[type="checkbox"]{width:18px;height:18px;accent-color:var(--orange);flex:none;margin:0;cursor:pointer}
.input-checkbox:has(input:checked){border-color:var(--orange);background:#FFF6EE}

/* セクション見出し */
.contact .title-2{font-size:18px;font-weight:700;margin:32px 0 16px;padding-left:14px;border-left:4px solid var(--orange)}
.contact .title-3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin:20px 0 8px;color:var(--ink)}
.label-note{font-size:13px;font-weight:400;color:var(--ink-2)}

/* 必須・任意バッジ */
.badge-required,.badge-optional{
  display:inline-block;font-size:11px;font-weight:700;
  padding:2px 8px;border-radius:4px;flex:none;
}
.badge-required{background:var(--orange);color:#fff}
.badge-optional{background:#e8e9eb;color:var(--ink-2)}
.input-category{margin-top:24px}

/* テキスト入力 */
.contact input[type="text"],
.contact input[type="email"],
.contact input[type="tel"],
.contact textarea{
  display:block;width:100%;padding:12px 16px;
  border:1.5px solid rgba(42,46,53,.18);border-radius:10px;
  font-size:15px;font-family:inherit;background:#fff;
  transition:border-color .2s;margin-top:6px;
}
.contact input[type="text"]:focus,
.contact input[type="email"]:focus,
.contact input[type="tel"]:focus,
.contact textarea:focus{outline:none;border-color:var(--orange)}
.contact textarea{min-height:180px;resize:vertical;display:block;width:100%;margin-top:6px}

/* フォームセクション間余白 */
.contact{margin-bottom:8px}
.contact .container{padding:0}
.contact.form-text{margin-top:52px;padding-top:0}
.contact.form-text .title-2{margin-top:0}

/* 同意・送信エリア */
.contact-footer .container{text-align:center;padding:0;margin-top:32px}
.contact-footer .note{font-size:13px;color:var(--ink-2);margin-bottom:20px;line-height:1.8}
.contact-footer .note a{color:var(--orange);text-decoration:underline}
.contact-footer input[type="submit"]{min-width:280px;font-size:15px}

/* レスポンシブ */
@media(max-width:900px){.input-row.row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.input-row.row,.input-row.two-column.row{grid-template-columns:1fr}}

/* CTAバンド制御（contact/系3ページ共通） */
.cta-band-actions{display:none!important}
.cta-band h2{margin-bottom:0}
@media(max-width:767px){.cta-sp-br{display:inline}}
