@charset "utf-8";
@media screen and (max-width:1200px){
    header .wrap{
        width:90vw;
    }
    section .box01{
        width:95vw;
    }
    ul.ex{
        width:100%;
    }
    ul.ex li{
        width:49%;
    }
    ul.ex li img{
        margin:0 25px 0 10px;
    }
    ul.ex li img.syo{
        height:85px;
    }
    ul.ex li img.lif{
        height:70px;
    }
    ul.ex li img.zid{
        height:80px;
    }
    ul.ex li img.set{
        height:90px;
    }
    ul.ex li img.shi{
        height:90px;
        margin:0 35px 0 0;
    }
    ul.ex li img.asi{
        height:95px;
    }
    ul.ex li img.dx{
        height:90px;
    }
    ul.ex li img.bou{
        height:65px;
    }
}
@media screen and (max-width:1024px){
    .eyecatch{
        height:75vh;
        min-height:600px;
    }
    section.flow .box01{
        width:90vw;
    }
    section.course .box01 .wrap{
        justify-content: space-around;
    }
}
@media screen and (max-width:1000px){
    header h1{
        font-size:18px;
    }
    header .btn.contact{
        font-size:16px;
    }
    .eyecatch nav ul{
        width:95%;
    }
    section h2{
        font-size:28px;
    }
    section .btn.contact{
        font-size:20px;
    }
    ul.ex li{
        flex-flow: column;
        justify-content:space-evenly;
        width:49%;
        height:220px;
        text-align: center;
    }
    ul.ex li p{
        display: flex;
        align-items: center;
        margin:20px 0 0;
        font-size:18px;
    }
    ul.ex li img{
        margin:10px auto;
    }
    ul.ex li img.zid{
        height:90px;
    }
    ul.ex li img.shi{
        margin:10px auto;
    }
    ul.ex li img.asi{
        margin:10px auto;
    }
}
@media screen and (max-width:820px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    section h2{
        line-height: 1.3em;
    }
    section .btn.contact{
        width:300px;
    }
    .bg_dot{
        width:380px;
    }
    .eyecatch{
        height:500px;
/*        height:700px;*/
        min-height:inherit;
    }
    .eyecatch img{
        width:90%;
        margin:60px auto 0;
    }
    .eyecatch nav{
        display: none;
    }
/*
    .eyecatch nav{
        height:200px;
    }
    .eyecatch nav ul{
        flex-flow: column;
        justify-content: space-around;
        height:100%;
    }
    .eyecatch nav ul li:nth-child(-n+4){
        border-right:none;
        border-bottom:solid 1px;
    }
    .eyecatch nav ul li a{
        font-size:20px;
    }
*/
    section.sub img.sp.img1{
        width:100%;
        margin:auto;
    }
    ul.flow li{
        flex-flow: column;
    }
    ul.flow li .wrap{
        width:100%;
        height:60px;
        border-top-right-radius: 15px;
        border-bottom-left-radius: 0;
    }
    ul.flow li .text{
        width:100%;
        padding:0;
        border-bottom-left-radius: 15px;
    }
    ul.flow li .text p{
        text-align: center;
    }
    ul.flow li .text .box03{
        justify-content: center;
    }
    section.course .box02{
        width:95%;
        height:auto;
    }
    ul.course{
        width:80%;
        height: auto;
        padding-bottom: 15px;
    }
    ul.course.kensyu{
        padding-bottom:200px;
    }
    ul.ov ul.kikan{
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        width:100%;
    }
}
/*mobile*/
@media screen and (max-width:500px){
    header{
        height:60px;
    }
    header .wrap{
        width:95vw;
    }
    header h1{
        font-size:14px;
        line-height: 1.1em;
    }
    header h1 img{
        width:35px;
        margin-right:5px;
    }
    header .btn.contact{
        padding:8px 15px;
        font-size:14px;
    }
    .btn.yamanashi{
        display: flex;
        justify-content: center;
        align-items: center;
        width:300px;
        height:35px;
        max-width:90%;
        margin:auto;
        padding:0;
        white-space: nowrap;
    }
    .eyecatch{
        height:360px;
    }
    .eyecatch img{
/*        margin:0 auto 0;*/
    }
    .eyecatch nav{
        height:180px;
    }
    .eyecatch nav ul li a{
        font-size:14px;
    }
    .bg_dot{
        width:250px;
    }
    section{
        padding:35px 0;
        overflow:inherit;
    }
    section.sub{
        padding:70px 0;
    }
    section h2{
        font-size:18px;
        line-height: 1.3em;
    }
    section h2::after{
        width:150px;
        bottom:-5px;
    }
    section .btn.contact{
        bottom: -20px;
        z-index: 3;
        width: 300px;
        height: 35px;
        padding: 0;
        font-size: 18px;
    }
    .btn.cuu{
        bottom:-10px;
        display: flex;
        justify-content: center;
        align-items: center;
        width:300px;
        height:35px;
        padding:0;
        text-align: center;
    }
    ul.ex{
        margin:35px auto;
    }
    ul.ex li{
        flex-flow: row nowrap;
        justify-content: space-between;
        width:100%;
        height:120px;
        margin:5px 0;
    }
    ul.ex li p{
        justify-content: center;
        width:60%;
        margin:0;
        font-size:14px;
    }
    ul.ex li img{
        width:40%;
        height:70px;
        object-fit: contain;
    }
    ul.ex li img.lif{
        height:60px;
    }
    ul.ex li img.syo, ul.ex li img.set, ul.ex li img.zid, ul.ex li img.shi, ul.ex li img.asi, ul.ex li img.dx{
        height:80px;
    }
    ul.ex li img.set{
        height:70px;
        margin:0;
    }
    ul.ex li img.bou{
        height:50px;
    }
    ul.sub{
        margin:35px 0;
    }
    ul.sub li h3{
        font-size:18px;
    }
    ul.sub li p{
        font-size:16px;
    }
    ul.sub li.red p{
        font-size:18px;
    }
    ul.flow li img.num{
        top:-10px;
        left:-10px;
        width:35px;
    }
    ul.flow li .wrap{
        height:50px;
    }
    ul.flow li .wrap h3{
        font-size:18px;
    }
    ul.flow li .text{
        display: flex;
        justify-content: center;
        align-items: center;
        width:100%;
        height:100%;
        padding:0;
        border-bottom-left-radius: 15px;
    }
    ul.flow li .text p{
        font-size:16px;
        text-align: center;
    }
    ul.flow li .text span{
        font-size:12px;
    }
    ul.caveat li{
        text-indent: -3.6em;
        margin-left:3.6em;
    }
    section.course h2{
        font-size:20px;
    }
    section.course h2 span{
        font-size:36px;
    }
    section.course .box01 .wrap{
        margin:50px 0 0;
    }
    section.course .box02 h3{
        height:65px;
        font-size:22px;
    }
    section.course .box02 h3 img.num{
        width:70px;
    }
    section.course .box02 h3 img.icon{
        width:65px;
    }
    section.course .box02.kakudai h3 img.icon{
        width:65px;
    }
    section.course .box02.kankyou h3 img.icon{
        width:65px;
        top:0;
    }
    section.course .box02.kensyu h3 img.icon{
        width:80px;
        right:-5px;
    }
    ul.course{
        width:95%;
        height:auto;
        padding-bottom:15px;
    }
    ul.course li.taisyou{
        padding:10px 0 0;
    }
    ul.course li.taisyou h4{
        width:60px;
        height:60px;
        font-size:18px;
    }
    ul.course li.taisyou p{
        width:65%;
        font-size:18px;
    }
    ul.course li p{
        font-size:14px;
    }
    ul.course li span.out{
        font-size:12px;
    }
    ul.course .ritsu .num{
        width:70px;
        font-size:18px;
    }
    ul.course.kensyu{
        padding-bottom:150px;
    }
    ul.course.kensyu .ritsu .num{
        width:75px;
        white-space: nowrap;
    }
    section.ov{
        padding:80px 0 0;
    }
    ul.ov{
        margin:50px 0 0;
    }
    ul.ov h3{
        font-size:18px;
    }
    ul.ov p.blue{
        font-size:16px;
    }
    ul.ov ul.kikan{
        width:auto;
    }
    ul.ov ul.kikan li{
        width:100%;
    }
    ul.ov ul.kikan li p{
        font-size:18px;
    }
    ul.ov ul.kikan li p span{
        font-size:28px;
    }
    ul.ov p{
        margin:5px 10px;
    }
    ul.ov li.bottom p.con{
        font-size:16px;
    }
    .shinsei h4{
        font-size:20px;
    }
    .shinsei p.mei{
        margin:10px 0;
        font-size:18px;
    }
    .shinsei .tel{
        font-size:24px;
    }
    .shinsei .tel span, .shinsei .mail span, .shinsei .mail, .shinsei .add{
        font-size:16px;
    }
    .shinsei img{
        width:70%;
    }
    aside.contact{
        height:100px;
    }
    aside.contact .btn.contact{
        width:90%;
        padding:0;
        font-size:18px;
    }
    footer small{
        font-size:12px;
    }
    /*500px contact*/
    form{
        width:80%;
    }
    form .box02{
        flex-flow: column;
    }
    form label{
        width:100%;
        justify-content: center;
        margin-bottom:5px;
        text-align: center;
    }
    form .jusyo label{
        justify-content: flex-start;
    }
    form input.w-sp, form textarea{
        width:100%;
        max-width:inherit;
        padding:0;
        height:25px;
    }
    div.jusyo{
        width:100%;
    }
    section.contact.thanks p{
        width:90%;
        margin:80px auto;
        font-size:16px;
    }
}