#form-contents table {
    width: 100%;
    border-collapse: collapse;
}

#form-contents table td,
#form-contents table th {
    border: 1px #555 solid;
}

#form-contents>table>tbody>tr>td:nth-child(1) {
    background-color: #ddd;
    /* text-align: center; */
    width: 30%;
    padding-left: 0.5em;
    vertical-align: middle;
}

@media(min-width:300px) and (max-width:780px) {

    #form-contents table {
        /* width: auto; */
        width: 90vw;
    }

    #form-contents>table>tbody>tr>td:nth-child(1) {
        display: block;
        width: auto;
        padding: 5px;
    }

    #form-contents>table>tbody>tr>td:nth-child(2) {
        display: block;
        width: auto;
    }
}

td.pre_answer {
    background-color: #fff !important;
    padding: 10px;
}

td.pre_answer>span {
    float: right;
}

@media(min-width:300px) and (max-width:780px) {

    td.pre_answer>span {
        float: none;
        display: block;
    }
}

#form-contents>table>tbody>tr>td:nth-child(2) {
    padding: 15px;
}

/* table.confirm {
    width: 80vw;
} */

table.confirm>tbody>tr>td:nth-child(1) {
    padding: 20px 5px;
}

table.confirm>tbody>tr>td:nth-child(2) {
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.th_title {
    background-color: #666daa;
    color: #fff;
    padding: 3px 10px;
}

span.require_label {
    color: #fff;
    background-color: #f43224;
    padding: 0.2em 0.6em 0.3em;
    border-radius: 0.25em;
    font-weight: 700;
    font-size: 75%;
    margin-right: 0.5em;
}

span.require_label::after {
    content: '必須';
}

span.unrequired_label {
    margin-right: 2.7em;
}

button.confirm_btn {
    width: 12vw;
    padding: 10px 0px;
    color: #fff;
    border-radius: 0.25em;
    background-color: #4492e5;
    border-color: #1d80e2;
    font-weight: 700;
    font-size: 15px;
}

@media(min-width:300px) and (max-width:780px) {

    button.confirm_btn {
        width: auto;
        min-width: 150px;
        margin: 0 10px;
        padding: 10px 20px;
    }
}

button.confirm_btn:active {
    background-color: #2483e2;
}

button.confirm_btn:disabled {
    background-color: #aaa;
    border-color: #999;
}

.csr-pointer {
    font-size: 1em;
}

@media(min-width:300px) and (max-width:780px) {

    .csr-pointer {
        font-size: 0.8em;
    }
}

textarea {
    resize: vertical;
}

.ml-50 {
    margin-left: 50px;
}

.input_sm {
    width: 5vw !important;
    min-width: 60px;
}

.fl {
    float: left;
}

.w-20 {
    width: 20%;
}

.w-30 {
    width: 30%;
}

.w-40 {
    width: 40%;
}

.w-70p {
    width: 70px;
}

.w-100p {
    width: 100px;
}

.w-155p {
    width: 155px;
}

.questionnaire {
    color: #4c4c4c;
    font-weight: bold;
    font-size: 20px;
}

.error_form {
    border: 2px solid #a94442;
    border-radius: 3px;
}

.error_text {
    color: #a94442;
}

.error_message {
    color: #a94442;
    margin-top: 5px;
}

.add-em {
    margin-left: 1em;
}