@charset "utf-8";


/* flow_slider
   ================================================================== */
.flow_slider{
    margin: 30vw 0 0;
    width: 95vw;
    position: relative;
}

.flow_slider .slick-list{
    overflow: inherit;
}


/* No.ドットの設定
   =============================== */

/* No.ドットの設定 */
.flow_slider .slick-dots{
    margin: 0 0 0 3vw;
    position: absolute;
    top: -23vw;
    left: 0;
    right: 0;
    width: 90%;
    display: flex;
    justify-content: space-between;
}

.flow_slider.slide3 .slick-dots{
    width: 62.5%;
}

/* 横ボーダー */
.flow_slider .slick-dots::before{
    content: "";
    background: #BBB99C;
    margin: auto;
    position: absolute;
    left: 0;
    top: 11.5vw;
    width: 100%;
    height: 1px;
}

.flow_slider .slick-dots li{
    margin: 0;
    padding: 0;
    position: relative;
}

.flow_slider .slick-dots li::before{
    content: "01";
    display: block;
    margin: 0 0 2vw;
    font-size: 5vw;
    font-weight: 500;
    text-align: center;
    color: #B0BBBB;
}

.flow_slider .slick-dots li:nth-child(2)::before{
    content: "02";
}

.flow_slider .slick-dots li:nth-child(3)::before{
    content: "03";
}

.flow_slider .slick-dots li:nth-child(4)::before{
    content: "04";
}

.flow_slider .slick-dots li:nth-child(5)::before{
    content: "05";
}

.flow_slider .slick-dots li button{
    padding: 0;
    background: #7B7B7B;
    border: 3vw solid #eee;
    width: 7vw;
    height: 7vw;
    transition: .5s ease;
    border-radius: 100%;
    text-indent: -9999px;
}

.flow_slider .slick-dots li.slick-active button{
    background: #fff;
    border-color: #0082FC;
}

.flow_slider .slick-dots li.slick-active button:focus{
    outline: none;
}


/* box
   =============================== */
.flow_slider .slick-slide{
    padding: 0 5vw 0 0;
    min-width: 95vw;
    box-sizing: border-box;
}

.flow_slider .thumb_item .box{
    padding: 7vw 4vw;
    min-height: 65vw;
    background: #fff;
    border: 1px solid #ddd;
    box-sizing: border-box;
}

.flow_slider.slide3 .thumb_item .box{
    min-height: 160vw;
}

.flow_slider .thumb_item .title{
    margin: 0 0 3vw;
    display: flex;
}

.flow_slider .thumb_item .title span{
    display: block;
    line-height: 130%;
    letter-spacing: 0.1em;
}

.flow_slider .thumb_item .title .box_number{
    width: 10vw;
    font-size: 7vw;
    color: #B0BBBB;
    font-weight: 500;
}

.flow_slider .thumb_item .title .box_ttl{
    padding: 3vw 0 0;
    width: calc(100% - 10vw);
    font-size: 4vw;
    color: #333;
    font-weight: 700;
}

.flow_slider .thumb_item .btn_arrow_light{
    margin-top: 3vw;
}

.flow_slider .thumb_item p + .number_ol{
    margin-top: 3vw;
}

.flow_slider .thumb_item .anime_btn{
    margin-top: 5vw;
    text-align: left;
}

.flow_slider .tel_style .siz_s{
    font-size: 4vw;
}

.flow_slider .tel_style .siz_l{
    padding: 0 0 0 1vw;
    font-size: 7vw;
}


@media screen and (min-width : 500px){
    
    
    /* flow_slider
       ================================================================== */
    .flow_slider{
        margin: 15vw 0 0;
        width: 90vw;
        position: relative;
    }
    
    .flow_slider .slick-list{
        overflow: inherit;
    }
    
    
    /* No.ドットの設定
       =============================== */
    
    /* No.ドットの設定 */
    .flow_slider .slick-dots{
        margin: 0 0 0 3.0vw;
        top: -11.5vw;
        left: 0;
        width: 68.3vw;
        display: flex;
        justify-content: space-between;
    }
    
    .flow_slider.slide3 .slick-dots{
        width: 46.5vw;
    }

    /* 横ボーダー */
    .flow_slider .slick-dots::before{
        top: 4.9vw;
        width: 68.3vw;
    }
    
    .flow_slider.slide3 .slick-dots::before{
        width: 46.5vw;
    }
    
    .flow_slider .slick-dots li{
        margin: 0;
        padding: 0;
        position: relative;
    }
    
    .flow_slider .slick-dots li::before{
        margin: 0 0 .8vw;
        font-size: 2.5vw;
    }
    
    .flow_slider .slick-dots li::after{
        margin: 1vw 0 0;
        display: block;
        font-size: 1.7vw;
    }
    
    .flow_slider .slick-dots li button{
        border-width: 1.2vw;
        width: 3vw;
        height: 3vw;
    }
        

    /* box
       =============================== */
    .flow_slider .slick-slide{
        padding: 0 3.0vw 0 0;
        min-width: 90vw;
    }

    .flow_slider .thumb_item .box{
        padding: 2.5vw 3.0vw;
        min-height: 25.0vw;
    }

    .flow_slider.slide3 .thumb_item .box{
        min-height: 55.0vw;
    }

    .flow_slider .thumb_item .title{
        margin: 0 0 1.5vw;
    }

    .flow_slider .thumb_item .title .box_number{
        width: 6.0vw;
        font-size: 4.0vw;
    }

    .flow_slider .thumb_item .title .box_ttl{
        padding: 1.5vw 0 0;
        width: calc(100% - 6.0vw);
        font-size: 2.0vw;
    }

    .flow_slider .thumb_item .btn_arrow_light{
        margin-top: 2.0vw;
    }

    .flow_slider .thumb_item p + .number_ol{
        margin-top: 2.0vw;
    }

    .flow_slider .thumb_item .anime_btn{
        margin-top: 2.6vw;
    }

    .flow_slider .tel_style .siz_s{
        font-size: 2.0vw;
    }

    .flow_slider .tel_style .siz_l{
        padding: 0 0 0 .4vw;
        font-size: 3.0vw;
    }

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

    
    
    /* flow_slider
       ================================================================== */
    .flow_slider{
        margin: 170px 0 0;
        width: 1030px;
        position: relative;
    }
    
    .flow_slider .slick-list{
        overflow: inherit;
    }
    
    
    /* No.ドットの設定
       =============================== */
    
    /* No.ドットの設定 */
    .flow_slider .slick-dots{
        margin: 0 0 0 30px;
        top: -120px;
        left: 0;
        right: 0;
        width: 683px;
        display: flex;
        justify-content: space-between;
    }
        
    .flow_slider.slide3 .slick-dots{
        width: 465px;
    }

    /* 横ボーダー */
    .flow_slider .slick-dots::before{
        top: 49px;
        width: 683px;
    }
        
    .flow_slider.slide3 .slick-dots::before{
        width: 465px;
    }

    .flow_slider .slick-dots li{
        margin: 0;
        padding: 0;
        position: relative;
        width: 30px;
    }
    
    .flow_slider .slick-dots li::before{
        margin: 0 0 12px;
        font-size: 25px;
    }
    
    .flow_slider .slick-dots li button{
        border-width: 11.5px;
        width: 30px;
        height: 30px;
    }
        

    /* box
       =============================== */
    .flow_slider .slick-slide{
        padding: 0 30px 0 0;
        min-width: 1000px;
    }

    .flow_slider .thumb_item .box{
        padding: 25px 30px;
        min-height: 250px;
    }

    .flow_slider.slide3 .thumb_item .box{
        min-height: 550px;
    }

    .flow_slider .thumb_item .title{
        margin: 0 0 15px;
    }

    .flow_slider .thumb_item .title .box_number{
        width: 60px;
        font-size: 40px;
    }

    .flow_slider .thumb_item .title .box_ttl{
        padding: 15px 0 0;
        width: calc(100% - 60px);
        font-size: 20px;
    }

    .flow_slider .thumb_item .btn_arrow_light{
        margin-top: 20px;
    }

    .flow_slider .thumb_item p + .number_ol{
        margin-top: 20px;
    }

    .flow_slider .thumb_item .anime_btn{
        margin-top: 26px;
    }

    .flow_slider .tel_style .siz_s{
        font-size: 20px;
    }

    .flow_slider .tel_style .siz_l{
        padding: 0 0 0 4px;
        font-size: 30px;
    }

    
}