.vcom_error_message{color:mediumvioletred; font-size: 14px; line-height: 1.5}
.error-field {border-color: #d93025 !important; }
.error {color: #d93025;font-size: 14px;margin-top: 5px; display: flex; flex-direction: column;}
.error span { display: block; }


#vcom-form input[type="text"],#vcom-form input[type="tel"],#vcom-form input[type="email"],#vcom-form input[type="date"],#vcom-form textarea,#vcom-form select {width: 100%;  padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; box-sizing: border-box; transition: border-color 0.3s; background-color: #fff}

#vcom-form input[type="text"]:focus,#vcom-form input[type="tel"]:focus,#vcom-form input[type="email"]:focus,#vcom-form input[type="date"]:focus,#vcom-form textarea:focus,#vcom-form select:focus { border-color: #4a90e2; outline: none; box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2);}

/* エラー状態の入力フィールド */
#vcom-form input.error-field,#vcom-form select.error-field,#vcom-form textarea.error-field { border-color: #e74c3c;}

#vcom-form input.error-field:focus,#vcom-form select.error-field:focus,#vcom-form textarea.error-field:focus { box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.2);}

#vcom-form .check_radio_wrap { display: flex; }

.check_radio_wrap label { display: flex;  align-items: center; cursor: pointer; margin-left:20px}
.check_radio_wrap label:first-child{margin-left: 0}
.check_radio_wrap input[type="checkbox"],.check_radio_wrap input[type="radio"] { width: auto; margin-right: 8px;}

