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

    #s01 {
        margin-top: 40px;
        margin-bottom: 0;
        padding-inline: 3%;
        width: 100%;
    }

    #s01 h2 {
        margin-bottom: 0;
        width: 100%;
        font-size: 18px;
        border-left: 5px solid #8CC11F;
        height: 35px;
        font-weight: 600;
        line-height: 1.5;
    }

    #s01 .box_rap01 {
        padding: 0 3% 20px;
        width: 100%;
    }

    #s01 #qalist {
        width: 100%;
    }

    #s01 #qalist:nth-child(1) div dt {
        margin-top: 20px;
    }

    #s01 dt {
        margin-top: 40px;
        margin-bottom: 40px;
        padding-right: calc(25px + 1em);
        font-size: 16px;
        line-height: 1.5;
        height: auto;
        min-height: 25px;
    }

    #s01 dt.opn {
        margin-bottom: 15px;
    }

    #s01 dt::after {
        width: 20px;
        height: 20px;
        left: auto;
        right: 0;
        background-size: contain;
        transform: rotate(0);
    }

    #s01 dt.opn::after {
        transform: rotate(-180deg);
    }

}