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


    /*共通　タイトル*/
    #s02 h2,
    #s03 h2,
    #s04 h2 {
        height: 50px;
        line-height: 50px;
        font-size: 18px;
    }

    .s02_inner,
    .s03_inner {
        padding-inline: 3%;
    }


    /*コンテンツ*/
    #s02 {
        margin-bottom: 40px;

        width: 100%;
    }



    #s02 ul {
        margin-bottom: 25px;
        width: 100%;
    }

    #s02 .box_rap ul {
        width: 100%;
    }

    #s02 .text01 {
        width: 100%;

    }

    #s02 li {
        position: relative;
        padding-left: 20px;
        font-size: 16px;
        list-style-image: none;
    }

    #s02 .list li::before {
        position: absolute;
        content: "";
        top: 8px;
        left: 0;
        display: inline-block;
        width: 10px;
        height: 10px;
        background: #59B200;
    }

    #s02 .center {
        margin-bottom: 20px;
        font-size: 16px;
    }

    #s03 {
        margin-bottom: 60px;

        width: 100%;
    }

    #s03 .center {
        margin-bottom: 30px;
        font-size: 16px;
    }


    #s03 .green {
        font-size: 16px;
        width: 100%;
    }

    #s03 dl {
        padding: 25px 5%;
        width: 100%;
    }

    #s03 dt {
        font-size: 16px;
    }

    #s03 dd {
        font-size: 16px;
    }

    #s04 .rap {
        width: 100%;
    }

    #s04 .box {
        margin-bottom: 40px;
        padding-inline: 3%;
        padding-bottom: 0;
    }

    #s04 .box h3 {
        margin-bottom: 25px;
        line-height: 1.5;
        display: grid;
        gap: 20px;
        align-items: center;
        grid-template-columns: 0.3fr 1fr;
    }

    #s04 .box h3 .green,
    #s04 .box h3 .orange {
        margin-right: 0;
        height: auto;
        line-height: 1.5;
        padding: 10px;
        text-align: center;
        display: inline-block;
    }

    #s04 .box h3 .name {
        margin-bottom: 10px;
        font-weight: 700;
        font-size: 18px;
    }

    #s04 .box h3 .f20 {
        padding-left: 0;
        display: block;
        font-weight: normal;
        font-size: 14px !important;
    }

    #s04 .box_rap .box01 {
        margin-bottom: 20px;
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(2, 1fr);
    }

    #s04 .box_rap .box01 img {
        margin-bottom: 0;
        height: auto;
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }


    #s04 .box_rap .box02 .obj01 {
        margin-bottom: 30px;
    }

    #s04 .box_rap .box02 dt {
        position: relative;
        margin-bottom: 15px;
        padding-left: 40px;
        font-size: 16px;
        line-height: 1.5;
        height: auto;
        background: none;
    }

    #s04 .box_rap .box02 dt::before {
        position: absolute;
        content: "";
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        display: inline-block;
        width: 35px;
        height: 35px;
        background: url(../img/support/icon01.jpg) no-repeat center /contain;
    }

    #s04 .box_rap .box02 dd {
        margin-bottom: 45px;
        font-size: 16px;
        line-height: 1.5;
    }

    #s04 .box_rap .box02 .green {
        font-size: 16px;
        line-height: 1.5;
    }

    #s04 .box_rap {
        display: block;
    }

    #s04 .box_rap .box01 {
        width: 100%;
    }

    #s04 .box_rap .box02 {
        width: 100%;
    }

}