@charset "UTF-8";

.flow-step {
    margin: -30px 0;
}

.flow-step__item {
    position: relative;
    padding: 30px 0 30px 66px;
}

.flow-step__item::before {
    content: "";
    position: absolute;
    left: 11px;
    top: 0;
    display: block;
    height: 100%;
    margin-bottom: -135px;
    border-left: solid 1px;
}

.flow-step__item:not(:first-child):before {
    -webkit-transition: -webkit-transform .6s .2s;
    transition: -webkit-transform .6s .2s;
    transition: transform .6s .2s;
    transition: transform .6s .2s, -webkit-transform .6s .2s;
}

.flow-step__item:first-child:before {
    top: 50%;
    height: 50%;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
}

.flow-step__item:last-child:before {
    height: 50%;
}

.flow-step__item.scroll-active::before {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: center top;
            transform-origin: center top;
}

.flow-step__item.scroll-active.active::before {
    -webkit-transform: scale(1);
            transform: scale(1);
}

.flow-step__item::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    top: 50%;
    display: block;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    border-radius: 50%;
    background: #ef8253;
}

.flow-step__lb {
    position: relative;
    padding: 0 0 10px 15px;
    margin-bottom: 40px;
    border-bottom: solid 1px #cfd5d8;
    font-size: 1.5em;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.flow-step__lb::before {
    content: "";
    position: absolute;
    left: 0;
    top: .1em;
    bottom: .55em;
    display: block;
    border-left: solid 2px #ef8253;
}


@media screen and (min-width: 900px) {

    .flow-step .flex-lr__left {
        -ms-flex-preferred-size: 27.337%;
            flex-basis: 27.337%;
    }

    .flow-step .flex-lr__right {
        -ms-flex-preferred-size: 69.224%;
            flex-basis: 69.224%;
    }

}

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

    .flow-step .flex-lr__right {
        margin-top: 20px;
    }

    .flow-step__lb {
        margin-bottom: 20px;
    }

}

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

    .flow-step {
        margin: -20px 0;
    }

    .flow-step__item {
        padding: 20px 0 20px 40px;
    }

    .flow-step__item::before {
        left: 7px;
    }

    .flow-step__item:first-child:before {
        top: 34vw;
        height: calc(100% - 34vw);
    }
    
    .flow-step__item:last-child:before {
        height: 34vw;
    }

    .flow-step__item::after {
        top: 34vw;
        width: 16px;
        height: 16px;
        margin-bottom: -8px;
    }

}