/* お問い合わせフォーム用(既存の .tb_style に追加する分だけ) */
.req { color: #c00; margin-left: 2px; }
.field_note { display: block; font-size: 12px; color: #666; margin-bottom: 4px; }
.tb_style input[type="text"], .tb_style input[type="email"], .tb_style input[type="tel"],
.tb_style select, .tb_style textarea { width: 95%; padding: 4px; font-size: 14px; box-sizing: border-box; }
.tb_style select { width: auto; }
.has_error input, .has_error select, .has_error textarea { border: 1px solid #c00; background: #fff5f5; }
.field_error { color: #c00; font-size: 13px; margin: 4px 0 0; }
.form_error_box { color: #c00; border: 1px solid #c00; background: #fff5f5; padding: 10px; margin: 10px 0; }
.form_privacy { font-size: 12px; color: #666; margin: 10px 0; }
.form_buttons { display: flex; justify-content: center; gap: 16px; }
.btn_primary, .btn_secondary { padding: 10px 32px; font-size: 15px; cursor: pointer; border-radius: 3px; }
.btn_primary { background: #0a4a8c; color: #fff; border: 1px solid #0a4a8c; }
.btn_primary:disabled { opacity: .6; cursor: default; }
.btn_secondary { background: #fff; color: #333; border: 1px solid #999; }
.form_thanks { padding: 20px 0; line-height: 1.9; }
.thanks_lead { font-size: 18px; font-weight: bold; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
