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


    /*共通*/
    #s02 h2,
    #s03 h2,
    #s04 h2,
    #s05 h2,
    #s06 h2 {
        width: auto;
        font-size: 18px;
        border-left: 5px solid #8CC11F;
        height: auto;
        font-weight: 600;
        line-height: 1.5;
    }



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

    #s01 .box_rap01 .title,
    #s01 .box_rap01 h2 {
        margin-bottom: 16px;
        font-size: 18px;
    }


    #s01 .box_rap01 {
        margin-bottom: 40px;

        display: block;
    }

    #s01 .box_rap01 .box01 {
        position: relative;
        width: 100%;
        background: #F1F0E9;
        overflow: hidden;
    }

    #s01 .box_rap01 .box01 h2,
    #s01 .box_rap01 .text,
    #s01 .box_rap01 .box02 h2,
    #s01 .box_rap01 .text {
        position: relative;
        z-index: 2;
    }

    #s01 .box_rap01 .box01::before {
        position: absolute;
        left: 5%;
        bottom: 15px;
        content: "";
        display: block;
        max-width: 110px;
        height: 110px;
        width: 20vw;
        height: 20vw;
        background: url(../img/course/img10.jpg) no-repeat center / contain;
        z-index: 1;
    }

    #s01 .box_rap01 .box02::before {
        position: absolute;
        left: 5%;
        bottom: 15px;
        content: "";
        display: block;
        max-width: 110px;
        height: 110px;
        width: 20vw;
        height: 20vw;
        background: url(../img/course/img11.jpg) no-repeat center / contain;
        z-index: 1;
    }


    #s01 .box_rap01 .text {
        padding-inline: 5%;
    }

    #s01 .box_rap01 .box02 {
        position: relative;
        margin-top: 20px;
        width: 100%;
        background: #F1F0E9;
    }

    #s01 .box_rap02 {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }


    #s01 .box_rap02 dl:nth-of-type(1) {
        padding-top: 0;
        order: 1;
    }

    #s01 .box_rap02 dl:nth-of-type(1) dd:last-child {
        margin-bottom: 0;
    }


    #s01 .box_rap02>div {
        order: 2;
    }


    #s01 .box_rap02 .img {
        margin-top: 20px;
        order: 3;
    }

    #s01 .box_rap02 dt {
        width: 100%;
        max-width: 280px;
        font-size: 16px;
        height: auto;
        line-height: 1.5;
        padding: 10px;
        border-radius: 15px;
        margin: 0 auto 15px;
    }

    #s01 .box_rap02 dd {
        padding-bottom: 20px;
        width: 100%;
        text-align: center;
        border-bottom: 2px solid #d1d1d1;
    }

    #s01 .box_rap02 .img img {
        max-width: 100%;
        width: 100%;
        height: auto;
    }

    #s01 .box_rap02 .rap {
        margin-top: 30px;

    }

    #s01 .box_rap02 .rap dd {
        border-bottom: none;
    }

    #s02 {
        margin-bottom: 50px;
    }

    #s02 .inner {
        padding-inline: 3%;
    }

    #s02 .s02_read {
        padding-inline: 3%;
    }

    #s02 .bg {
        padding: 40px 3% 20px;
    }

    #s02 h2 {
        width: 100%;
    }

    #s02 .f18 {
        margin-bottom: 25px;
        width: 100%;
        font-size: 16px !important;
    }

    #s02 .box_rap {
        width: 100%;
    }

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

    #s02 .box_rap .box dt {
        line-height: 1.5;
        font-size: 18px;
        min-height: 50px;
        height: auto;
    }

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

    #s03 p.text01 {
        padding-left: 0;
        font-size: 16px;
    }



    #s03 .box_rap ul {
        margin-inline: auto;
        max-width: 540px;
        width: 100%;
    }

    #s03 img {
        width: 100%;
        height: auto;
    }

    #s04 {
        margin-bottom: 50px;
        padding-inline: 3%;
        width: 100%;
    }

    #s04 h3 {
        padding-left: 0;
        font-size: 18px;
    }


    #s04 .box_rap p {
        padding-left: 0;
    }

    #s04 table {
        width: 100%;
        border: none;
    }

    #s04 td ul {
        text-align: center;
    }

    #s04 td dt {
        margin-bottom: 10px;
    }

    #s04 td dd {
        text-align: center;
    }


    #s04 td .blue dt {
        width: 100%;
        text-align: center;
        border: none;
    }

    #s04 td .blue dd {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #0066E5;
    }

    #price_list tr:nth-child(3) ul {
        margin-bottom: 10px;
        font-weight: 700;
    }

    #s04 td.green {
        padding-top: 10px;
        border-top: 1px solid #59B200;
    }

    #s04 td .red dt {
        width: 100%;
        text-align: center;
        border: none;
    }

    #s04 td .red dd:last-child {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #FF4C4C;
    }

    #s04 .box_rap {
        padding-top: 40px;
    }

    #s04 .box_rap th:first-child {
        width: 100%;
    }

    #s04 .box_rap table {
        border: 1px solid #bababa;
    }

    #s04 .box_rap table tbody {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    #s04 .box_rap table tr {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4;

    }

    #s04 .box_rap table th,
    #s04 .box_rap table td {
        padding: 5px 10px;
        display: grid;
        place-content: center;
        border: none;
        font-size: 16px;
    }

    #s04 .box_rap table th {
        border-right: 1px solid #bababa;
    }

    #s04 .box_rap table th+th,
    #s04 .box_rap table td+td {
        border-top: 1px solid #bababa;
    }

    .setcourse ul {
        display: block;
    }


    #price_list table {
        width: 100%;
    }

    #price_list td {
        display: block;
        padding: 0;
        border: none;
    }

    #price_list tr:not(:nth-child(1), :nth-child(2)) {
        display: block;
        padding: 25px 5%;
        border-top: 2px solid #d1d1d1;
    }

    #price_list tr:nth-child(2) td:nth-of-type(1) {
        padding: 25px 5% 0;
    }

    #price_list tr:nth-child(2) td:nth-of-type(2) {
        padding: 0 5% 25px;
    }

    #price_list th:first-child {
        display: block;
        width: 100%;
    }

    #price_list tr:nth-child(1) td:nth-child(2) {
        padding: 25px 5%;
        border: none;
    }

    #s05 {
        margin-bottom: 60px;
        padding-inline: 3%;
        width: 100%;
    }

    #s05 h2 {
        margin-bottom: 25px;
    }

    #s05 .box_rap {
        padding: 40px 5%;
    }

    #s05 .box_rap ul li {
        width: 100%;
        font-size: 18px;
        line-height: 1.5;
        min-height: 50px;
    }

    #s05 .box_rap ul li.n09 {
        padding-bottom: 15px;
        border-bottom: 1px solid #ddd;
    }

    #s05 .box_rap ul li.n10 {
        margin-bottom: 0;
    }

    #s06 {
        margin-bottom: 0;
        padding-inline: 3%;
        width: 100%;
    }

    #s06 ul {
        display: block;
    }

    #s06 img {
        max-width: 100%;
        width: 100%;
        height: auto;
    }


}