@media screen and (min-width: 1025px) {

    html {
        min-width: 961px;
    }

    body {
        min-width: 961px;
    }

    .pc {
        display: block;
    }

    .sp {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    /* sp */

    .pc {
        display: block;
    }

    .sp {
        display: none;
    }


    html,
    body {
        min-width: 100%;
    }

    * {
        box-sizing: border-box;
        -ms-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }

    .index-main {
        background: url(../images/header_sp.png) no-repeat top center / cover;
        height: 153vw;
        margin-bottom: 0;
    }

    /*----------------------------見学ボタン----------------------------------*/
    .anchor {
        bottom: 30px;
        left: calc(50% - 460px/2);
        margin: 0;
    }

    .anchor img {
        width: 70%;
    }

    /*----------------------------TOPへ戻るボタン----------------------------------*/

    #page-top {
        bottom: 37px;
        right: -10px;
    }

    #page-top img {
        width: 50%;
    }

    /*----------------------------box01----------------------------------*/

    .index_box01 {
        margin: 50px auto;
    }

    .index01 .container03 .image_01 {
        position: static;
        text-align: center;
        margin-bottom: 1.5em;
    }

    .index01 .container03 .text {
        line-height: 1.6;
        margin-bottom: 1.5em;
    }

    .index_box01 .item {
        margin: 0 0 70px;
        text-align: center;
        display: inline-block;
        width: 30%;
    }


    .index_box01 .item .txt {
        width: 80%;
    }

    .index_box01 .item .img:first-of-type img {
        width: 80%;
    }

    .index_box01 .item .img:nth-of-type(2) img {
        width: 70%;
    }

    .index_box01 .item .img:nth-of-type(3) img {
        width: 70%;
    }


    .index_box01 .item:nth-child(3) .img:nth-of-type(3) img {
        width: 80%;
    }

    /*----------------------------box02----------------------------------*/

    .index_box02 {
        margin: 0 auto;
    }

    .index_box02 .wrap_items {
        padding: 0;
    }

    .index_box02 h3 {
        width: 90%;
    }

    .index_box02 h3 img {
        width: 95%;
        padding: 0;
    }

    .index_box02 .item {
        margin: 0 auto 20px;
        text-align: center;
        position: static;
        display: inline-block;
        width: 40%;
    }

    .index_box02 .item:nth-child(4n+4) {
        margin-right: auto;
    }

    .index_box02 .item .img img {
        width: 50%;
    }

    .index_box02 .item .txt_em {
        width: 50%;
        font-size: 16px;
        line-height: 1.5;
        text-align: left;
    }

    .index_box02 .item .txt {
        width: 50%;
        font-size: 13px;
    }

    /*----------------------------box03----------------------------------*/

    .index_box03 {
        margin: 50px auto;
    }

    .index_box03 .wrap_items {
        padding: 0;
    }

    .index_box03 .item {
        margin-right: 0;
        position: static;
    }

    .index_box03 h3 {
        width: 90%;
        margin-bottom: 20px;
    }

    .index_box03 .item div {
        display: inline-block;
        width: 48%;
        vertical-align: middle;
    }

    .index_box03 h3 img {
        width: 85%;
    }

    .index_box03 .item .img img {
        width: 100%;
    }

    .index_box03 .item svg {
        width: 77%;
    }

    .index_box03 .item .txt_em {
        width: 65%;
        font-size: 14px;
        line-height: 1.5;
    }

    .index_box03 .atten .txt_atten {
        width: 70%;
        margin: 10px auto 0;
    }

    /*----------------------------index02----------------------------------*/
    .index02 h3 img {
        width: 70%;
        margin-bottom: -10px;
    }

    .txt02 {
        width: 96%;
        line-height: 20px;
        font-size: 16px;
        margin: 0 auto;
    }

    .txt02-title p {
        text-align: center;
        line-height: 20px;
        font-size: 15px;
        font-family: 'NotoSansCJKjp';
        margin-bottom: 20px;
        font-weight: bold;
    }

    .index02_box01 {
        background: #F8F7DC;
        background-image: url("../images/modelcase_sp.png");
        background-size: 53%;
        background-repeat: no-repeat;
        background-position: center;
        height: 190vh;
        padding: 30px 0 20px;
        box-sizing: border-box;
        max-width: 100%;
        margin: 0 auto;
    }

    .txt02-timeline p {
        width: 85%;
        font-weight: normal;
        font-size: 13px;
        line-height: 1.5;
        text-align: justify;
        text-align-last: left;
        margin: 0 auto;
    }

    .txt02_em {
        font-weight: bold;
    }

    .txt02-5 p {
        width: 100%;
        font-weight: bold;
        font-size: 14px;
        line-height: 1.5;
        text-align: left;
        margin: 0 auto;
        color: #004B9E;
    }

    .txt02-1 {
        position: relative;
        top: 65px;
        left: 142px;
    }

    .txt02-2 {
        position: relative;
        top: 715px;
        left: 172px;
        width: 41%;
    }

    .txt02-3 {
        position: relative;
        top: 900px;
        left: 143px;
    }

    .txt02-4 {
        position: relative;
        top: 1160px;
        left: 110px;
    }

    .txt02-5 {
        width: 35%;
        position: relative;
        top: 1275px;
        left: 43%;
    }




    /*----------------------------index03----------------------------------*/

    .index03 h3 img {
        width: 80%;
    }

    .index03 {
        margin: 65px auto 30px;
    }

    .index03 .item {
        left: 20px;
        display: block;
        vertical-align: top;
    }

    .index03 .item .txt_em {
        font-size: 15px;
        line-height: 1.8;
        color: #004B9E;
        position: static;
        top: 0;
        margin-bottom: 20px;
    }



    /*==========================================================================*/
    /*                              Footer                                      */
    /*==========================================================================*/

    .campaign_body footer img {
        width: 200px;
    }

    .campaign_body footer {
        left: calc(50% - 200px/2);
    }

    #page-top {
        bottom: 130px;
        right: 10px;
    }
}



@media screen and (max-width: 640px) {

    p {
        line-height: 1.7em;
        padding: 0;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }


    /*----------------------------見学ボタン----------------------------------*/
    .anchor img {
        width: 70%;
    }

    /*----------------------------TOPへ戻るボタン----------------------------------*/

    #page-top {
        bottom: 37px;
        right: -10px;
    }

    #page-top img {
        width: 50%;
    }

    /*----------------------------box01----------------------------------*/


    .index_box01 .item {
        margin: 0 0 70px;
        text-align: center;
        display: block;
        width: 100%;
    }


    .index_box01 .item .txt {
        width: 95%;
    }

    .index_box01 .item .img:nth-of-type(2) img {
        width: 95%;
    }

    .index_box01 .item .img:nth-of-type(3) img {
        width: 75%;
    }


    .index_box01 .item:nth-child(3) .img:nth-of-type(3) img {
        width: 100%;
    }

    /*----------------------------box02----------------------------------*/


    .index_box02 .item .img img {
        width: 90%;
    }

    .index_box02 .item .txt_em {
        width: 99%;
        font-size: 16px;
        line-height: 1.5;
        text-align: left;
    }

    .index_box02 .item .txt {
        width: 99%;
        font-size: 13px;
    }

    /*----------------------------box03----------------------------------*/


    .index_box03 .item svg {
        width: 100%;
            top: 5px;
    }

    .index_box03 .item .txt_em {
        width: 100%;
        font-size: 14px;
        line-height: 1.5;
    }

    .index_box03 .atten .txt_atten {
        width: 90%;
        margin: 10px auto 0;
    }

    /*----------------------------index02----------------------------------*/

    .index02_box01 {
        background: #F8F7DC;
        background-image: url("../images/modelcase_sp.png");
        background-size: 95%;
        background-repeat: no-repeat;
        background-position: center;
        height: 1780px;
        padding: 30px 0 20px;
        box-sizing: border-box;
        max-width: 100%;
        margin: 0 auto;
    }


    .txt02-1 {
        position: relative;
        top: 35px;
        left: 0;
    }

    .txt02-2 {
        position: relative;
        top: 680px;
        left: 0;
        width: 100%;
    }

    .txt02-3 {
        position: relative;
        top: 895px;
        left: 0;
    }

    .txt02-4 {
        position: relative;
        top: 1165px;
        left: 0;
        width: 100%;
    }

    .txt02-5 {
        width: 60%;
        position: relative;
        top: 1265px;
        left: 37%;
    }




    /*----------------------------index03----------------------------------*/


    .index03 .item {
        margin-right: 0;
        text-align: center;
        position: static;
        left: 0;
        display: block;
        vertical-align: top;
    }
    .anchor {
    bottom: 30px;
    left: calc(50% - 415px/2);
    margin: 0;
}
}

@media screen and (max-width: 400px) {

    /*----------------------------index02----------------------------------*/
    .index02 h3 img {
        width: 60%;
        margin-bottom: -10px;
    }

    .txt02 {
        width: 96%;
        line-height: 20px;
        font-size: 16px;
        margin: 0 auto;
    }

    .txt02-title p {
        text-align: center;
        line-height: 20px;
        font-size: 15px;
        font-family: 'NotoSansCJKjp';
        margin-bottom: 20px;
        font-weight: bold;
    }

    .index02_box01 {
        background: #F8F7DC;
        background-image: url("../images/modelcase_sp.png");
        background-size: 95%;
        background-repeat: no-repeat;
        background-position: center;
        height: 1650px;
        padding: 30px 0 20px;
        box-sizing: border-box;
        max-width: 100%;
        margin: 0 auto;
    }

    .txt02-timeline p {
        width: 85%;
        font-weight: normal;
        font-size: 13px;
        line-height: 1.5;
        text-align: justify;
        text-align-last: left;
        margin: 0 auto;
    }

    .txt02_em {
        font-weight: bold;
    }

    .txt02-5 p {
        width: 100%;
        font-weight: bold;
        font-size: 14px;
        line-height: 1.5;
        text-align: left;
        margin: 0 auto;
        color: #004B9E;
    }

    .txt02-1 {
        position: relative;
        top: 40px;
        left: 0;
    }

    .txt02-2 {
        position: relative;
        top: 620px;
        left: 0;
        width: 100%;
    }

    .txt02-3 {
        position: relative;
        top: 794px;
        left: 0;
    }

    .txt02-4 {
        position: relative;
        top: 1034px;
        left: 0;
    }

    .txt02-5 {
        width: 57%;
        position: relative;
        top: 1120px;
        left: 37%;
    }
        .anchor {
    bottom: 30px;
    left: calc(50% - 370px/2);
    margin: 0;
}
}

@media screen and (max-width: 365px) {

    /*----------------------------index02----------------------------------*/

    .txt02-1 {
        position: relative;
        top:70px;
        left: 0;
    }

    .txt02-2 {
        position: relative;
        top: 625px;
        left: 0;
    }

    .txt02-3 {
        position: relative;
        top: 784px;
        left: 0;
    }

    .txt02-4 {
        position: relative;
        top: 1014px;
        left: 0;
    }

    .txt02-5 {
        width: 57%;
        position: relative;
        top: 1094px;
        left: 37%;
    }
    .anchor {
        bottom: 30px;
        left: calc(50% - 319px/2);
        margin: 0;
    }
}
@media screen and (max-width: 350px) {

    /*----------------------------index02----------------------------------*/


    .index02_box01 {
        background: #F8F7DC;
        background-image: url("../images/modelcase_sp.png");
        background-size: 95%;
        background-repeat: no-repeat;
        background-position: center;
        height: 1450px;
        padding: 30px 0 20px;
        box-sizing: border-box;
        max-width: 100%;
        margin: 0 auto;
    }

    .txt02-timeline p {
        width: 85%;
        font-weight: normal;
        font-size: 12px;
        line-height: 1.5;
        text-align: justify;
        text-align-last: left;
        margin: 0 auto;
    }

    .txt02_em {
        font-weight: bold;
    }

    .txt02-5 p {
        width: 100%;
        font-weight: bold;
        font-size: 13px;
        line-height: 1.5;
        text-align: left;
        margin: 0 auto;
        color: #004B9E;
    }

    .txt02-1 {
        position: relative;
        top:40px;
        left: 0;
    }

    .txt02-2 {
        position: relative;
        top: 530px;
        left: 0;
    }

    .txt02-3 {
        position: relative;
        top: 667px;
        left: 0;
    }

    .txt02-4 {
        position: relative;
        top: 867px;
        left: 0;
    }

    .txt02-5 {
        width: 57%;
        position: relative;
        top: 942px;
        left: 37%;
    }
        .anchor {
    bottom: 30px;
    left: calc(50% - 319px/2);
    margin: 0;
}
}