@media screen and (max-width: 767px) {


    /*共通パーツ タイトル*/
    #s01 h2 {
        padding: 10px 5%;
        width: auto;
        font-size: 18px;
        border-left: 5px solid #8CC11F;
        height: auto;
        font-weight: 600;
        line-height: 1.5;
        letter-spacing: normal;
    }


    #s01 {
        padding-inline: 3%;
        padding-bottom: 0;
    }

    #s01 h2 {
        margin-bottom: 20px;
    }

    #s01 .rap,
    #s01 .box_rap {
        margin-bottom: 40px;
        width: 100%;
    }

    #s01 table {
        margin-bottom: 25px;
        border-top: none;
    }

    #s01 th {
        display: block;
        width: 100%;
        font-weight: 700;
        border: none;
    }

    #s01 th.hissu2 {
        padding: 5px;
        display: flex;
        gap: 15px;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        border: none;
    }

    #s01 th.bg01.hissu2::before {
        color: #4DA6FF;
        background: #fff;
    }

    #s01 th.hissu2::before {
        position: relative;
        content: "必須";
        display: inline-block;
        width: 45px;
        height: 25px;
        color: #fff;
        font-size: 13px;
        background: #4DA6FF;
    }

    #s01 td.hissu {
        background: none;
    }

    #s01 td {
        display: block;
        padding: 10px 5%;
        width: 100%;
        border-bottom: none;
    }

    #s01 #btn button {
        max-width: 450px;
        width: 100%;
    }

    #s01 td input,
    #s01 td select,
    #s01 td textarea {
        margin-right: 0;
        width: 100% !important;
    }

    #s01 td input.spwidth80 {
        margin-bottom: 10px;
        width: 80% !important;
    }

    #s01 .box_rap02 {
        padding-left: 0;
    }

    #s01 .box_rap02 p {
        font-size: 16px;
    }

    .center.f18 {
        font-size: 16px !important;
        text-align: left !important;
    }


}