@charset "utf-8";

/*
* デザイン
* --------------------------------------------------
*/
::placeholder,
select:invalid {
    color: #cccccc !important;
}

.v3-form-title h2:before {
    color: #50c8c8;
    content: "●";
    font-size: 1.2cqi;
    margin-right: 1cqi;
}

.v3-form-title h2:after {
    color: #dc508c;
    content: "●";
    font-size: 1.2cqi;
    margin-left: 1cqi;
}

.v3-form-table .th {
    border-top: 1px dotted #cccccc;
    background: #efefef;
}

.v3-form-table .th span {
    /* border-radius: 0.5cqi; */
    border-radius: 0px;
}

.v3-form-table .th span.required {
    color: #ffffff;
    background: #f05a28;
}

.v3-form-table .th span.optional {
    color: #ffffff;
    background: rgba(50, 50, 50, 1);
}

.v3-form-table .th span.question {
    color: #666666;
    background: #cccccc;
}

.v3-form-table .td {
    border-top: 1px dotted #cccccc;
}

.v3-form-table .th:nth-of-type(1),
.v3-form-table .td:nth-of-type(2) {
    border: none;
}

.v3-form-table_caution {
    background: #fafafa;
    border: 1px solid #cccccc;
}

.v3-form-table_caution a {
    color: #133967;
    text-decoration: underline;
}

.v3-form-table a {
    color: #00396b;
}

.red {
    color: #ff505a;
}

@media (max-width: 767px) {
    .v3-form-title h2:before {
        font-size: 1.5cqi;
        margin-right: 1cqi;
    }

    .v3-form-title h2:after {
        font-size: 1.5cqi;
        margin-left: 1cqi;
    }

    .v3-form-table .th {
        border-radius: 1cqi;
        background: #efefef;
    }
}

/*
* フォーム入力エリア設定
* --------------------------------------------------
*/
.v3-form-table .form-group .pristine-error {
    color: #ff505a;
}

.v3-form-table input[type="text"],
.v3-form-table input[type="email"],
.v3-form-table input[type="tel"],
.v3-form-table input[type="number"],
.v3-form-table input[type="date"],
.v3-form-table select {
    /* border-radius: 0.5cqi; */
    border-radius: 0px;
    border: 1px solid #cccccc;
    background: #ffffff;
}

.v3-form-table textarea {
    border-radius: 0.5cqi;
    border: 1px solid #cccccc;
    background: #ffffff;
}

.v3-form-table input:required,
.v3-form-table select:required,
.v3-form-table textarea:required {
    background: #fff6f6;
    border: 1px solid #ccbbbb;
}

.v3-form-table input:not(:placeholder-shown),
.v3-form-table select:valid {
    background: rgba(245, 250, 255, 1);
    border: 1px solid #cccccc;
}

/* オートコンプリート対策 */
.v3-form-table input:-internal-autofill-selected {
    box-shadow: 0px 0px 100px 100px rgba(245, 250, 255, 1) inset;
    border: 1px solid #cccccc !important;
}

.v3-form-table select:has(option:checked[value=""]) {
    color: #cccccc;
    background: #ffffff;
}

.v3-form-table select:has(option:checked[value=""]):required {
    background: #fff6f6;
}

.v3-form-table input:disabled,
.v3-form-table select option:disabled {
    color: #dddddd !important;
    border: 1px solid #dddddd !important;
    background: #f5f5f5 !important;
}

@media (max-width: 767px) {

    .v3-form-table input[type="text"],
    .v3-form-table input[type="email"],
    .v3-form-table input[type="tel"],
    .v3-form-table input[type="number"],
    .v3-form-table input[type="date"],
    .v3-form-table select {
        border-radius: 1cqi;
    }

    .v3-form-table textarea {
        border-radius: 1cqi;
    }
}

/*
* 時間
* --------------------------------------------------
*/

.form-time-select {
    background: #eceef1;
}

.form-time-select li {
    background: #ffffff;
    color: rgba(50, 50, 50, 1);
}

.form-time-select li:hover {
    background: #e6f2ff;
}

/*
* 送信
* --------------------------------------------------
*/

.v3-form-submit p {
    background: #efefef;
    border: 1px solid #cccccc;
}

.v3-form-submit p span {
    color: #ff0000;
}

.btnForm {
    background: #c00800;
    border-radius: 1000px;
}

.cmnBtn {
    background: #333333;
}