.sp_only{ display: none; }

@media (max-width:768px){
    .sp_only{ display: block; }
}

html,body{
    margin:0;
    padding:0;
}

body{
    background-color: #F4FCFF;
}

.center{ text-align: center; }

h3{
    font-size: 28px;
    color: #2D4A7E;
    font-family: 游明朝, YuMincho, yu-mincho-pr6n, serif;
    text-align: center;
    margin: 60px auto;
    letter-spacing: 0;
}

h3 > span{
    font-size: 24px;
}

@media (max-width:768px){
    h3 > span{
        font-size: 20px;
    }
}

/* ---
    Form
---------------------------------------- */

::placeholder{
    color: #cfcfcf;
}

input[type=text],
form textarea,
select,
input[type=date]{
    font-size: 16px;
    border-radius: 6px;
    padding: 10px 20px;
    border: 1px solid #afafaf;
}

textarea,
select,
input[type=date]{
    border-radius: 0;
}

textarea{
    padding: 10px;
}

input[type=text]:focus,
textarea:focus{
    background-color:antiquewhite;
    transition: 0.75s;
}

/* --- 送信・リセットボタン --- */
.submit_btn{
    text-align: center;
    margin: 30px auto;
}

form input[type=submit],
form input[type=reset],
form input[type=button]{
    border:2px solid #121212;
    font-size: 20px;
    padding: 10px 20px;
}

form input[type=submit]:hover,
form input[type=reset]:hover,
form input[type=button]:hover{
    cursor: pointer;
    color: #cc0000;
    border:2px solid #cc0000;
    transition:0.75s;
    background-color: #fff;
}

form input[type=submit]{
    background-color: #DA658E;
    color: #fff;
    border: 2px solid #DA658E;
    border-radius: 6px;
    font-weight: bold;
}
form input[type=submit]:hover{
    background-color: #fff;
    color: #DA658E;
    border: 2px solid #DA658E;
}

form input[type=reset]{
    font-size: 16px;
    border: 2px solid #666;
    border-radius: 6px;
}

@media (max-width:572px){
    form input[type=text],
    form textarea,
    form select,
    form input[type=date]{
        padding: 15px;
    }
}

/* ---
    Table Layout
---------------------------------------- */

#formWrap{
    max-width:1025px;
    width:100%;
}

table.formTable th,
table.formTable td{
    border: none;
    padding: 1em;
    background-color: transparent;
}

table.formTable th{
    font-size: 18px;
    color: #666;
    font-weight: bold;
}

table.formTable th > span{
    display: block;
    float: right;
    font-size: 14px;
    font-weight: normal;
    background-color: #dd0000;
    color: #fff;
    text-align: center;
    padding: 3px 6px;
}

table.formTable td{
    font-size: 16px;
}


@media (max-width:768px){

    h3{
        line-height: 1.2;
        margin:30px auto;
    }

    form input[type=submit],
    form input[type=reset]{
        height: auto;
    }

    #formWrap{
        width:calc(100% - 20px);
    }

    table.formTable th{
        padding-bottom: 0;
    }

    /*table.formTable tr.list{
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between;
        margin-bottom:15px;
    }
    table.formTable tr.list.t1{
        margin-top: 15px;
    }
    table.formTable tr.list.t3{
        margin-bottom: 0;
    }

    table.formTable tr.list th{
        width: 40%;
        padding: 0;
        font-size: 1.0rem;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        margin: 0;
    }
    table.formTable tr.list td{
        width:60%;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }*/
    table.formTable tr.list td{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    table.formTable tr.list td input[type=date],
    table.formTable tr.list td select{
        flex: 1;
        padding: 15px;
    }
    table.formTable tr.list td input[type=date]{
        margin-right: 5px;
    }

}