.invalid-feedback { display: none; margin-top: .25rem; font-size: .875rem; color: #e53935; }

.invalid-tooltip { position: absolute; top: 100%; z-index: 5; display: none; width: 250px; padding: .5rem; margin-top: .1rem; font-size: .875rem; line-height: 1; color: #fff; background-color: rgba(229, 57, 53, 0.8); border-radius: .2rem; }

.was-validated .form-control:valid, .form-control.is-valid, .was-validated .custom-select:valid, .custom-select.is-valid { border-color: #43a047; }

.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { box-shadow: 0 0 0 0.2rem rgba(67, 160, 71, 0.25); }

.was-validated .form-control:valid ~ .invalid-feedback, .was-validated .form-control:valid ~ .invalid-tooltip, .form-control.is-valid ~ .invalid-feedback, .form-control.is-valid ~ .invalid-tooltip, .was-validated .custom-select:valid ~ .invalid-feedback, .was-validated .custom-select:valid ~ .invalid-tooltip, .custom-select.is-valid ~ .invalid-feedback, .custom-select.is-valid ~ .invalid-tooltip { display: block; }

.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label { color: #43a047; }

.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator { background-color: rgba(67, 160, 71, 0.25); }

.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description { color: #43a047; }

.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control { border-color: #43a047; }

.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before { border-color: inherit; }

.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus { box-shadow: 0 0 0 0.2rem rgba(67, 160, 71, 0.25); }

.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, .custom-select.is-invalid { border-color: #e53935; }

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { box-shadow: 0 0 0 0.2rem rgba(229, 57, 53, 0.25); }

.was-validated .form-control:invalid ~ .invalid-feedback, .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, .form-control.is-invalid ~ .invalid-tooltip, .was-validated .custom-select:invalid ~ .invalid-feedback, .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, .custom-select.is-invalid ~ .invalid-tooltip { display: block; }

.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label { color: #e53935; }

.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator { background-color: rgba(229, 57, 53, 0.25); }

.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description { color: #e53935; }

.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control { border-color: #e53935; }

.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before { border-color: inherit; }

.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus { box-shadow: 0 0 0 0.2rem rgba(229, 57, 53, 0.25); }

.invalid-feedback { display: block; }

.alert-error-message { color: #e53935; font-weight: bold; text-align: center; }

.was-validated input.form-control[type=text].valid, .was-validated input.form-control[type=email].valid, .was-validated input.form-control[type=tel].valid, .was-validated .form-label-radio-checkbox:not(.form-matrix-option).valid { background-color: #ffffff !important; border-color: #43a047 !important; box-shadow: 0 0 0 0 #43a047 !important; color: #616161 !important; }

.was-validated input.form-control[type=text].invalid, .was-validated input.form-control[type=email].invalid, .was-validated input.form-control[type=tel].invalid, .was-validated .form-label-radio-checkbox:not(.form-matrix-option).invalid { background-color: #ffffff !important; border-color: #e53935 !important; box-shadow: 0 0 0 0 #e53935 !important; color: #616161 !important; }

.was-validated input.form-control[type=text]:invalid, .was-validated input.form-control[type=email]:invalid, .was-validated input.form-control[type=tel]:invalid, .was-validated textarea.form-control:invalid, .was-validated select:invalid, .was-validated .form-label-radio-checkbox.invalid, .was-validated .form-control-file:invalid { background-color: #ffffff !important; border-color: #e53935 !important; box-shadow: 0 0 0 0 #e53935 !important; color: #616161 !important; }

.was-validated input.form-control[type=text]:valid, .was-validated input.form-control[type=email]:valid, .was-validated input.form-control[type=tel]:valid, .was-validated textarea.form-control:valid, .was-validated select:valid, .was-validated .form-label-radio-checkbox.valid:not(.form-matrix-option), .was-validated .form-control-file:valid { background-color: #ffffff !important; border-color: #43a047 !important; box-shadow: 0 0 0 0 #43a047 !important; color: #616161 !important; }

.was-validated .form-label-radio-checkbox.invalid, .was-validated .form-control-file:invalid, .was-validated .form-label-radio-checkbox.valid:not(.form-matrix-option), .was-validated .form-control-file:valid { background: #ffffff; color: #616161; }

.was-validated input.form-control[type=text]:valid::-ms-input-placeholder, .was-validated input.form-control[type=email]:valid::-ms-input-placeholder, .was-validated input.form-control[type=tel]:valid::-ms-input-placeholder, .was-validated input.form-control[type=text]:invalid::-ms-input-placeholder, .was-validated input.form-control[type=email]:invalid::-ms-input-placeholder, .was-validated input.form-control[type=tel]:invalid::-ms-input-placeholder { color: #bdbdbd !important; opacity: 1; }

.was-validated input.form-control[type=text]:valid:-ms-input-placeholder, .was-validated input.form-control[type=email]:valid:-ms-input-placeholder, .was-validated input.form-control[type=tel]:valid:-ms-input-placeholder, .was-validated input.form-control[type=text]:invalid:-ms-input-placeholder, .was-validated input.form-control[type=email]:invalid:-ms-input-placeholder, .was-validated input.form-control[type=tel]:invalid:-ms-input-placeholder { color: #bdbdbd !important; opacity: 1; }

.was-validated .form-label-radio-checkbox.form-matrix-option.valid { border-color: #43a047 !important; }

.was-validated .form-label-radio-checkbox.form-matrix-option.valid:hover { background: #43a047 !important; color: #ffffff; }

.was-validated .form-label-radio-checkbox.form-matrix-option.valid:focus { box-shadow: 0 0 0 0.2rem rgba(67, 160, 71, 0.5) !important; }

.was-validated .form-label-radio-checkbox.form-matrix-option.valid.focus { box-shadow: 0 0 0 0.2rem rgba(67, 160, 71, 0.5) !important; }

.was-validated .form-label-radio-checkbox.form-matrix-option.valid.active { background: #43a047 !important; color: #ffffff !important; }

.was-validated .form-label-radio-checkbox.form-matrix-option.invalid { border-color: #e53935 !important; }

.was-validated .form-label-radio-checkbox.form-matrix-option.invalid:hover { background: #e53935 !important; color: #ffffff !important; }

.was-validated .form-label-radio-checkbox.form-matrix-option.invalid:focus { box-shadow: 0 0 0 0.2rem rgba(229, 57, 53, 0.5) !important; }

.was-validated .form-label-radio-checkbox.form-matrix-option.invalid.focus { box-shadow: 0 0 0 0.2rem rgba(229, 57, 53, 0.5) !important; }

.was-validated .form-label-radio-checkbox.form-matrix-option.invalid.active { background: #e53935 !important; color: #ffffff !important; }

.message-error { color: #e53935; font-size: .875rem; margin-top: .25rem; }

.form-order { padding: 1.5rem; background-color: #ffffff; border: #cfcfcf solid 1px; border-radius: 0.35rem; }

.form-order-title { font-size: 1.5rem; margin-bottom: 1rem; }

.form-order-description-top { margin-bottom: 3rem; }

.form-order-description-bottom { margin-top: 3rem; }

@media (max-width: 768px) { .form-order { padding: .7rem; }
  .form-privacy, .form-contract { padding: .7rem; } }

.form-tokusho .row { margin-bottom: 1rem; }

.form-tokusho .col-md-1, .form-tokusho .col-md-2, .form-tokusho .col-md-3, .form-tokusho .col-md-4, .form-tokusho .col-md-5, .form-tokusho .col-md-6, .form-tokusho .col-md-7, .form-tokusho .col-md-8, .form-tokusho .col-md-9, .form-tokusho .col-md-10, .form-tokusho .col-md-11, .form-tokusho .col-md-12 { margin-bottom: 0; }

.form-tokusho-heading { font-weight: bold; padding: .25rem .5rem; }

.form-tokusho-data { padding: .25rem .5rem; }

.table-order-cart { border-bottom: #cfcfcf solid 1px; margin-bottom: 2rem; }

.table-order-cart thead th { border-color: #cfcfcf; }

.table-order-cart th, .table-order-cart td { padding: .5rem 0; }

.table-order-cart tr td:first-child { padding-left: 0; }

.table-order-cart tr td:last-child { padding-right: 0; }

.table-order-item-price { text-align: right; }

.table-order-item-count { text-align: right; }

.table-order-item-subtotal { text-align: right; }

.table-order-payment { width: 100%; margin-bottom: 0; }

.table-order-payment th, .table-order-payment td { vertical-align: middle; border: none; border-bottom: #cfcfcf solid 1px; }

.table-order-payment td { text-align: right; }

.table-order-payment tr th:first-child { padding-left: 0; }

.table-order-payment tr td:last-child { padding-right: 0; }

.order-item-name { font-weight: bold; margin-right: .5rem; }

.order-item-img { -webkit-appearance: none; border: none; cursor: pointer; max-width: 140px; margin-right: 1rem; padding: 0; }

.order-item-variation { width: 100% !important; }

.order-item-price { text-align: right; white-space: nowrap; margin-bottom: .5rem; }

.order-item-count { text-align: right; white-space: nowrap; }

.order-item-subtotal { text-align: right; }

@media (max-width: 768px) { .order-item-img { margin-bottom: .5rem; } }

.order-payment-total { font-size: 1.2rem; }

.order-payment-total th, .order-payment-total td { border-top: #cfcfcf solid 3px; border-bottom: none; }

.order-payment-total td { font-weight: bold; }

.alert-paypal { text-align: center; margin-bottom: 2rem; }

.confirm .form-order { margin-bottom: 3rem; }

.table-confirm { margin-bottom: 2rem; }

.table-confirm th { /* color: %%template_color_text%%; */ border-top: 1px solid #e0e0e0; word-break: break-word; }

.table-confirm td { border-top: 1px solid #e0e0e0; word-break: break-word; }

@media (max-width: 576px) { .table-confirm th { border-top: none; color: #757575; display: block; font-size: .8rem; padding-top: .75rem; padding-bottom: 0; width: 100%; }
  .table-confirm td { border-top: none; border-bottom: 1px solid #e0e0e0; display: block; padding-top: 0; padding-bottom: .75rem; width: 100%; } }

#element_recaptcha { margin-bottom: 2rem; }

#element_recaptcha > div { margin: 0 auto; }

#recaptcha_msg { margin-bottom: .5rem; }

#recaptcha_msg .recaptcha_error { text-align: center; }

.message-thanks { margin-bottom: 2rem; word-break: break-word; }

.vote-title { font-size: 1.3rem; margin-bottom: 1rem; text-align: center; }

.vote-message { font-size: .9rem; margin-bottom: 1rem; text-align: center; word-break: break-word; }

.vote-list { margin-bottom: 2rem; }

.vote-item { margin-bottom: .75rem; }

.vote-item-label { font-size: .9rem; margin-bottom: .25rem; }

.chart-area { margin-top: 2rem; text-align: center; color: #424242; }

.powered { background-color: #ffffff; margin-top: auto; padding: 1rem; text-align: center; }

.powered .logo-powered { display: block; margin-bottom: .25rem; }

.powered .description-powered { color: #9e9e9e; font-size: .75rem; }

hr { border-top-color: #cfcfcf; }

.error {
    background-color: #ffffff !important; 
    border-color: #e53935 !important; 
    box-shadow: 0 0 0 0 #e53935 !important; 
    color: #616161 !important;
}

#errormsg {
    color: #FF0000;
}
