@charset "shift-jis";
/* ==========================================================================
    /includes/school/step_mainschool.inc
========================================================================== */

/* ======================
flow
====================== */
.flow > .inner:first-child{ padding-bottom: 70px;}
.flow_list{
    max-width: 850px;
    margin: 80px auto 0;
}
.flow_list > div{
    padding: 20px 15px 15px 60px;
    margin-left: 40px;
    border-bottom: 1px dashed #707070;
    position: relative;
}
.flow_list > div::before{
    content: "";
    width: 3px;
    height: calc(100% - 80px);
    position: absolute;
    left: 0;
    top: 120px;
}
.flow_list > div::after{
    content: "";
    border: 18px solid transparent;
    border-top: 22px solid;
    position: absolute;
    bottom: -60px;
    left: -16px;
    display: block;
    background: transparent;
}
.flow_list > div:first-child::before{ background: #37AEA1;}
.flow_list > div:first-child::after{ border-top-color: #37AEA1;}
.flow_list > div:nth-child(2)::before{ background: #2F9B9F;}
.flow_list > div:nth-child(2)::after{ border-top-color: #2F9B9F;}
.flow_list > div:nth-child(3)::before{ background: #2A8C9F;}
.flow_list > div:nth-child(3)::after{ border-top-color: #2A8C9F;}

.flow_list .ttl{
    display: block;
    text-align: left;
    margin-top: 40px;
}
.flow_list .step{
    font-family: 'Josefin Slab', serif;
    font-size: 1.2em;
    color: #fff;
    line-height: 1.2;
    width: 80px;
    height: 80px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: -40px;
    top: 40px;
}
.flow_list > div:first-child .step{ background: #37AEA1;}
.flow_list > div:nth-child(2) .step{ background: #2F9B9F;}
.flow_list > div:nth-child(3) .step{ background: #2A8C9F;}

.flow_start{ background: rgb(77 148 183 / 10%);}
.flow_start .inner{
    max-width: 900px;
    padding-top: 30px;
    padding-bottom: 40px;
    position: relative;
}
.flow_start .step{
    width: 126px;
    height: 126px;
    border-radius: 100%;
    background: #4D94B7;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    position: absolute;
    left: 0;
    top: -30px;
}
.flow_start .step > span{
    width: 100%;
    font-family: 'Josefin Slab', serif;
    font-size: 1.2em;
    letter-spacing: 0;
}
.flow_start h3{ margin-bottom: 40px;}
.flow_start .ttl{
    display: inline-block;
    vertical-align: middle;
    font-size: 30px;
    line-height: 1;
}
.flow_start .ttl > span{
    width: 2em;
    height: 2em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 1px dashed #4D94B7;
}
.flow_start .ttl > span + span{ margin-left: 8px;}
.flow_start .txt{
    display: inline-block;
    vertical-align: -.75em;
}
.flow_start .box_img{
    background: url(/school/image/img_step_start03.svg)center bottom/22% no-repeat;
}
.flow_start .box_img .img{
    width: 48.5%;
    background: #fff;
    border: 1px dashed #4D94B7;
    padding: 10px;
}

@media screen and (max-width: 850px) and (min-width: 600px){
    .flow_start .ttl{ margin-left: 130px;}
}

@media screen and (min-width: 600px){
    .flow_list > div{
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
    .flow_list .txt{ width: calc(100% - 265px);}
    .flow_list img{ width: 235px;}

    .flow_start .box_img{
        display: flex;
        justify-content: space-between;
        margin-top: 50px;
    }
    .flow_start .box_img .img{
        width: 30%;
        max-width: 250px;
    }
}

@media screen and (max-width: 599px){
    .flow_list{ margin-top: 0;}
    .flow_list > div{
        padding-right: 5px;
        padding-left: 40px;
        margin-left: 30px;
    }
    .flow_list > div::before{
        height: calc(100% - 60px);
        top: 100px;
    }
    .flow_list .step {
        width: 60px;
        height: 60px;
        left: -30px;
        top: 40px;
    }
    .flow_list .ttl{ margin-top: 20px;}

    .flow_start .step {
        width: 95px;
        height: 95px;
    }
    .flow_start .ttl{
        font-size: 20px;
        margin-left: 95px;
    }
    .flow_start .ttl > span{
        width: 1.8em;
        height: 1.8em;
    }
    .flow_start .ttl > span + span{ margin-left: 4px;}
    .flow_start .box_img{
        display: flex;
        justify-content: space-between;
        padding-bottom: 200px;
        margin-top: 35px;
        background-size: 220px;
    }
    .flow_start .box_img .img img{ width: 100%;}
}


/* ======================
application-method
====================== */
.application-method.inner{
    max-width: 1220px;
}
.application-method ul{
    display: inline-flex;
    justify-content: space-between;
    flex-wrap: wrap;
    vertical-align: middle;
}
.application-method ul li{
    width: 50%;
    border-left: 1px solid #1c236d;
    text-align: center;
    padding: 40px 10px;
}
.application-method ul li h4{
    font-size: 22px;
    font-weight: normal;
    margin-bottom: 130px;
    position: relative;
}
.application-method ul li:first-child h4::after{
    content: "";
    padding: 40px;
    background: url(/school/image/kabu/icn_flow_web.svg) center top/78px no-repeat;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
}
.application-method ul li:nth-child(2) h4::after{
    content: "";
    padding: 40px;
    background: url(/school/image/kabu/icn_flow_mail.svg) center top/63px no-repeat;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
}
.application-method ul li:nth-child(3) h4::after{
    content: "";
    padding: 40px;
    background: url(/school/image/kabu/icn_flow_phone.svg) center top/59px no-repeat;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
}
.application-method ul li:nth-child(4) h4::after{
    content: "";
    padding: 40px;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2269.636%22%20height%3D%2266.127%22%20viewBox%3D%220%200%2069.636%2066.127%22%3E%20%3Cpath%20id%3D%22line%22%20d%3D%22M38.516%2C69.549c-3.456%2C1.9-3.308-.9-3.16-1.759.088-.513.49-2.921.49-2.921a7%2C7%2C0%2C0%2C0-.11-3.085c-.384-.948-1.906-1.442-3.024-1.682-16.493-2.169-28.7-13.636-28.7-27.326%2C0-15.271%2C15.4-27.7%2C34.319-27.7s34.317%2C12.425%2C34.317%2C27.7C72.647%2C49.927%2C54.457%2C60.785%2C38.516%2C69.549ZM27.481%2C39.021a1.667%2C1.667%2C0%2C0%2C0-1.672-1.659H21.14V26.446a1.672%2C1.672%2C0%2C0%2C0-3.344%2C0V39.023a1.668%2C1.668%2C0%2C0%2C0%2C1.672%2C1.661h6.341A1.668%2C1.668%2C0%2C0%2C0%2C27.481%2C39.021Zm4.884-12.575a1.672%2C1.672%2C0%2C0%2C0-3.344%2C0V39.023a1.672%2C1.672%2C0%2C0%2C0%2C3.344%2C0Zm15.267%2C0a1.674%2C1.674%2C0%2C0%2C0-3.348%2C0v7.782l-6.5-8.776a1.687%2C1.687%2C0%2C0%2C0-1.337-.664%2C1.642%2C1.642%2C0%2C0%2C0-.531.085%2C1.66%2C1.66%2C0%2C0%2C0-1.144%2C1.574V39.025a1.676%2C1.676%2C0%2C0%2C0%2C3.351%2C0V31.246l6.5%2C8.776a1.677%2C1.677%2C0%2C0%2C0%2C1.868.577%2C1.651%2C1.651%2C0%2C0%2C0%2C1.144-1.574V26.446Zm10.262%2C4.629H53.226v-2.97h4.668a1.659%2C1.659%2C0%2C1%2C0%2C0-3.318H51.554a1.666%2C1.666%2C0%2C0%2C0-1.672%2C1.659V39.02a1.669%2C1.669%2C0%2C0%2C0%2C1.672%2C1.661h6.341a1.66%2C1.66%2C0%2C1%2C0%2C0-3.32H53.226v-2.97h4.668a1.66%2C1.66%2C0%2C1%2C0%2C0-3.32Z%22%20transform%3D%22translate(-3.511%20-4.582)%22%20fill%3D%22none%22%20stroke%3D%22%231c236d%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E') center top/68px no-repeat;
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
}
.application-method .btn a{
    display: block;
    max-width: 160px;
    background-color: #1c236d;
    border-radius: 4px;
    color: #fff;
    font-feature-settings: "palt";
    padding: 8px 18px;
    margin: auto;
    position: relative;
}
.application-method .btn a::after{
    content: "";
    width: 1em;
    padding-top: 1em;
    background: url(/images/common/arrow.svg) center/contain no-repeat;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
.application-method .btn.arw_under a::after{
    transform: translateY(-50%) rotate(90deg);
}
.application-method ul li .phone{
    display: inline-block;
    color: #1c236d;
    font-size: 18px;
    line-height: 1;
    padding-left: 30px;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229.417%22%20height%3D%2219.302%22%20viewBox%3D%220%200%2029.417%2019.302%22%3E%3Cpath%20d%3D%22M0%2C88.032v3.009a17.345%2C17.345%2C0%2C0%2C1%2C6.328%2C1.183q.522.206%2C1.013.443a16.036%2C16.036%2C0%2C0%2C1%2C2.395-.918%2C17.609%2C17.609%2C0%2C0%2C1%2C4.973-.708%2C17.352%2C17.352%2C0%2C0%2C1%2C6.355%2C1.183q.522.206%2C1.013.443a16.049%2C16.049%2C0%2C0%2C1%2C2.4-.918%2C17.617%2C17.617%2C0%2C0%2C1%2C4.946-.708V88.032Z%22%20transform%3D%22translate(0%20-88.032)%22%20fill%3D%22%231c236d%22%2F%3E%3Cpath%20d%3D%22M320.59%2C210.6a3.657%2C3.657%2C0%2C0%2C0%2C5.7%2C3.033A3.65%2C3.65%2C0%2C0%2C0%2C327.9%2C210.6a3.12%2C3.12%2C0%2C0%2C0-.235-1.15%2C5.066%2C5.066%2C0%2C0%2C0-.728-1.24%2C9.246%2C9.246%2C0%2C0%2C0-2.695-2.246%2C9.941%2C9.941%2C0%2C0%2C0-2.213%2C1.692%2C5.494%2C5.494%2C0%2C0%2C0-1.259%2C1.928A3.053%2C3.053%2C0%2C0%2C0%2C320.59%2C210.6Z%22%20transform%3D%22translate(-302.17%20-199.19)%22%20fill%3D%22%231c236d%22%2F%3E%3Cpath%20d%3D%22M25.656%2C175.657a7.377%2C7.377%2C0%2C0%2C1%2C1.681%2C2.612%2C4.951%2C4.951%2C0%2C0%2C1%2C.293%2C1.647%2C5.553%2C5.553%2C0%2C1%2C1-11.106%2C0%2C5.267%2C5.267%2C0%2C0%2C1%2C.637-2.434%2C8.28%2C8.28%2C0%2C0%2C1%2C1.677-2.162%2C11.548%2C11.548%2C0%2C0%2C1%2C1.2-.984c-.29-.106-.588-.206-.894-.3a15.73%2C15.73%2C0%2C0%2C0-4.437-.63%2C15.513%2C15.513%2C0%2C0%2C0-5.332.926%2C11.123%2C11.123%2C0%2C0%2C1%2C1.544%2C1.321%2C7.382%2C7.382%2C0%2C0%2C1%2C1.68%2C2.612%2C4.945%2C4.945%2C0%2C0%2C1%2C.293%2C1.647%2C5.553%2C5.553%2C0%2C1%2C1-11.106%2C0%2C5.269%2C5.269%2C0%2C0%2C1%2C.636-2.434A8.282%2C8.282%2C0%2C0%2C1%2C4.1%2C175.319a11.516%2C11.516%2C0%2C0%2C1%2C1.2-.984c-.291-.106-.588-.206-.894-.3a15.737%2C15.737%2C0%2C0%2C0-4.41-.63v14.4H29.417v-14.4a15.517%2C15.517%2C0%2C0%2C0-5.3.926A11.118%2C11.118%2C0%2C0%2C1%2C25.656%2C175.657Z%22%20transform%3D%22translate(0%20-168.504)%22%20fill%3D%22%231c236d%22%2F%3E%3Cpath%20d%3D%22M64.118%2C210.6a3.657%2C3.657%2C0%2C0%2C0%2C5.7%2C3.033%2C3.651%2C3.651%2C0%2C0%2C0%2C1.613-3.033%2C3.129%2C3.129%2C0%2C0%2C0-.235-1.15%2C5.083%2C5.083%2C0%2C0%2C0-.728-1.24%2C9.254%2C9.254%2C0%2C0%2C0-2.695-2.246%2C9.932%2C9.932%2C0%2C0%2C0-2.212%2C1.692%2C5.494%2C5.494%2C0%2C0%2C0-1.259%2C1.928A3.049%2C3.049%2C0%2C0%2C0%2C64.118%2C210.6Z%22%20transform%3D%22translate(-60.434%20-199.19)%22%20fill%3D%22%231c236d%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: left 3px;
}
.application-method ul li .phone a {
    color: #1c236d;
}
.application-method .caution_phone{
    font-size: 10px;
}
@media screen and (min-width: 600px) {
    .application-method .frame{
        display: grid;
        grid-template-columns: 20% 1fr;
    }
    .application-method h3{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .application-method ul li{
        border-left: 1px solid #1c236d;
        width: calc(100% / 4);
    }
}
@media screen and (max-width: 599px) {
    .application-method h3{
        margin-bottom: 20px;
    }
    .application-method ul li:nth-child(odd){ border-left: none;}
    .application-method ul li:nth-child(n+3){
        margin-top: 28px;
        position: relative;
    }
    .application-method ul li:nth-child(3)::before{
        content: "";
        width: 200%;
        padding-top: 1px;
        background-color: #1c236d;
        position: absolute;
        left: 0;
        top: -14px;
    }

    .application-method ul li h4 {
        font-size: 16px;
        margin-bottom: 80px;
    }
    .application-method ul li:first-child h4::after{
        padding: 25px;
        background-size: 60px;
        top: 40px;
    }
    .application-method ul li:nth-child(2) h4::after{
        padding: 25px;
        background-size: 50px;
        top: 45px;
    }
    .application-method ul li:nth-child(3) h4::after{
        padding: 25px;
        background-size: contain;
        top: 40px;
    }
    .application-method ul li:nth-child(4) h4::after{
        padding: 25px;
        background-size: contain;
        top: 40px;
    }
    .application-method ul li .phone{
        font-size: 14px;
        background-size: 20px;
        background-position-y: top;
    }
    .application-method .caution_phone{
        text-align: left;
    }
}
