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

    /*---------------------------------------
  ▼各校
---------------------------------------*/
    /*---------------------------------------
  メインビジュアル
---------------------------------------*/

    #keyimg .box_rap {
        width: 100%;
    }

    /*---------------------------------------
  パンくず
---------------------------------------*/
    #pan {
        width: 100%;
    }


    /*---------------------------------------
  セクション
---------------------------------------*/

    /*共通パーツ タイトル*/

    #s02 h2,
    .setcourse h3,
    #s04 h2,
    #s06 h2 {
        width: auto;
        font-size: 18px;
        border-left: 5px solid #8CC11F;
        height: 35px;
        font-weight: 600;
        line-height: 1.5;
    }

    #s01 {
        margin-bottom: 60px;
    }

    #s01 .rap {
        width: 100%;
    }

    #s01 table {
        width: 100%;
    }

    #s01 h2 {
        margin-bottom: 30px;
        padding: 10px 3%;
        font-size: 20px;
        font-weight: 700;
        height: auto;
        line-height: 1.5;
    }

    #s01 .tell {
        margin-bottom: 25px;
    }

    #s01 p.text01 {
        padding-inline: 3%;
    }

    #s01 .tell a {
        display: inline-block;
        width: auto;
        font-size: 24px;
        height: auto;
        line-height: 1.5;
        margin-bottom: 10px;
    }

    #s01 .tell small {
        font-size: 14px;
    }

    #s01 table {
        border: none;
    }


    #s01 th {
        padding: 10px 5% 0;
    }

    #s01 td {
        padding: 10px 5%;
    }

    #s01 th,
    #s01 td {
        display: block;
        width: 100%;
        text-align: left;
        border: none;
    }

    #s01 tr:last-child td,
    #s01 tr:last-child th {
        border: none;
    }

    #s01 .box_rap01 {
        padding-inline: 3%;
        display: block;
    }

    #s01 .box_rap02 {
        padding-inline: 3%;
    }

    #s01 .box_rap02 dt {
        position: relative;
        display: flex;
        align-items: center;
        gap: 3%;
    }

    #s01 .box_rap02 dt::before {

        content: "";
        top: 5px;
        left: 0;
        display: block;
        width: 55px;
        height: 45px;
        background: url("../img/school02/icon01.jpg") no-repeat center/ contain;
    }

    #s01 .box_rap01 .box01 {
        margin-right: 0;
        text-align: center;
    }

    #s01 .box_rap01 .box01 img {
        max-width: 100%;
        width: 70%;
        height: auto;
    }

    #s01 .box_rap02 dl {
        padding-inline: 0;
        background: none;

    }

    #s01 .box_rap01 .box02 .f16 {
        margin-top: 20px;
        margin-bottom: 0;
        text-align: center;
        font-size: 14px;
        font-weight: 700;
    }

    #s01 .box_rap01 .box02 .name {
        text-align: center;
        font-size: 20px;
    }

    #s01 .box_rap01 .box02 .green {
        font-size: 18px;
        line-height: 1.5;
    }


    #s02 {
        width: 100%;
    }


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

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

    #s02 .box_rap img {
        max-width: 100% !important;
        width: 100%;
        height: auto;
    }

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

    .setcourse {
        padding-inline: 3%;
    }

    .setcourse h3 {
        width: 100%;
    }

    .setcourse p {
        width: 100%;
        font-size: 16px;
    }

    .setcourse ul {
        display: grid;
        gap: 20px;
        grid-template-columns: repeat(1, 1fr);
        width: 100%;
        width: 100%;
    }

    .setcourse img {
        max-width: 100% !important;
        width: 100%;
        height: auto;
    }


    #s04 {
        width: 100%;
    }

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

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

    #s04 .box_rap {
        margin-bottom: 60px;
        padding: 40px 5%;
    }

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

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

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



    #s05 {
        padding-bottom: 40px;
        margin-top: 150px;
        margin-bottom: 50px;
    }

    #s05 h2 {
        margin-inline: auto;
        max-width: 300px !important;
        width: 55vw;
        margin-bottom: 60px;
    }

    #s05 h2 img {
        max-width: 100% !important;
        height: auto;
    }

    #s05 .box_rap .box+.box {
        margin-top: 60px;
    }

    #s05 .box_rap {
        padding-inline: 3%;
        display: block;
        width: 100%;
    }

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

    #s05 .box_rap .box img {
        width: 100%;
        height: auto;
    }

    #s06 {
        width: 100%;
    }

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

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

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

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

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

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


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

    #s06 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;
    }

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

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

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

    #s06 table {
        margin-bottom: 0;
        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;
    }

}