/* 컨텐츠 영역 */
.contents{
    margin-top:100px;
    margin-bottom:250px;
    transition:all 0.5s;
}

.contents_margin{
    margin-top:200px;
}

.con_title{
    position:relative;
    text-align:center;
    font-size:30px;
    font-weight:700;
    margin-bottom:60px;
    width:100%;
}

.con_title p{
    background:#fff;
    position:relative;
    z-index:10;
    display:inline;
    padding:10px 30px;
}

.con_title_line{
    width:100%;
    height:2px;
    background:#dbdbdb;
    position:absolute;
    top:49%;
    z-index:1
}


/* 설명 영역 */
.explain_box{
    width:100%;
    background:#f0f0f0;
    box-sizing:border-box;
    padding:30px;
    display:flex;
    justify-content:space-between;
    border-radius: 10px;
    margin-bottom:150px
}

.explain_left{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    height:100%;
    width:60%;
}

.explain_title{
    font-size:24px;
    font-weight:600;
    margin-bottom:20px;
}

.explain_left p:last-of-type{
    font-weight:500;
    line-height:1.7;
}

.explain_right{
    width:36%;
}


/* 기술 흐름 (이미지 대체 CSS 블록) */
.sf_flow{
    background:#fff;
    border-radius:10px;
    box-sizing:border-box;
    padding:25px 20px;
    height:100%;
}

.sf_flow_title{
    font-size:18px;
    font-weight:700;
    color:#542c82;
    letter-spacing:1px;
    text-align:center;
    padding-bottom:15px;
    margin-bottom:15px;
    border-bottom:solid #e4e4e4 1px;
}

.sf_flow ul{
    display:flex;
    flex-direction:column;
}

.sf_flow li{
    position:relative;
    font-size:15px;
    font-weight:600;
    color:#333;
    padding:8px 0 8px 108px;
}

.sf_flow li span{
    position:absolute;
    left:0;
    top:8px;
    display:inline-block;
    width:92px;
    box-sizing:border-box;
    text-align:center;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.5px;
    color:#fff;
    background:#542c82;
    border-radius:20px;
    padding:3px 0;
}

.sf_flow li:not(:last-child):after{
    content:"";
    position:absolute;
    left:45px;
    bottom:-2px;
    width:2px;
    height:8px;
    background:#d3c8e4;
}


/* con 영역 */
.con{
    margin-top:50px;
}

.con_headline{
    display:flex;
    align-items:center;
    font-size:24px;
    font-weight:700;
    position:relative;
}

.headline1{
    background:url(../imgs/solution/headline8.png)no-repeat left center;
    background-size: contain;
    box-sizing:border-box;
    width:100%;
    padding-left:20px;;
    color:#fff;
    height:50px;
    line-height:50px;;
}

.conbox{
    margin-top:30px;
}

.con1 .conbox{
    display:flex;
    align-items:center;
    justify-content:center;
    border:solid #bdbdbd 1px;
    padding:50px;
    overflow-x:auto;
}

.con1 .conbox img{
    width:100%;
    min-width:900px;
}


/* 구성 단계 설명 */
.sf_step{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    margin-top:40px;
}

.sf_step li{
    width:48%;
    box-sizing:border-box;
    border-top:solid #542c82 2px;
    background:#fafafa;
    padding:25px;
    margin-bottom:30px;
}

.sf_step_title{
    font-size:22px;
    font-weight:700;
    color:#333;
    position:relative;
    padding-left:50px;
    margin-bottom:5px;
}

.sf_step_title span{
    position:absolute;
    left:0;
    top:2px;
    font-size:18px;
    font-weight:700;
    color:#542c82;
}

.sf_step_sub{
    font-size:16px;
    font-weight:600;
    color:#777;
    padding-left:50px;
    margin-bottom:15px;
}

.sf_step li>p:last-child{
    font-size:16px;
    line-height:1.7;
    color:#555;
}


/* con2 - 주요기능 */
.con2{
    margin-top:200px
}

.conbox_list{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

.conbox_list li{
    width:48%;
    box-sizing:border-box;
    border:solid #e0e0e0 1px;
    border-radius:10px;
    padding:30px;
    margin-bottom:30px;
}

.con2 .cr_title{
    font-size:26px;
    font-weight:700;
    position:relative;
    padding-left:70px;
    color:#555;
    margin-bottom:10px;
}

.con2 .cr_title span{
    position:absolute;
    left:0;
    color:#ccc;
    font-size:50px;
    line-height:26px;
    letter-spacing:-3px;
    font-weight:500;
}

.con2 .cr_sub{
    padding-left:70px;
    font-size:16px;
    line-height:1.7;
    color:#555;
}

.sf_note{
    margin-top:10px;
    background:#f5f2fa;
    border-radius:10px;
    padding:20px 25px;
    font-size:16px;
    line-height:1.7;
    color:#444;
}


/* con3 - 기대효과 */
.con3{
    margin-top:200px
}

.sf_effect{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

.sf_effect li{
    width:23.5%;
    box-sizing:border-box;
    background:#fafafa;
    border-radius:10px;
    padding:25px 20px;
    margin-bottom:20px;
}

.se_title{
    font-size:18px;
    font-weight:700;
    color:#542c82;
    margin-bottom:12px;
    padding-bottom:12px;
    border-bottom:solid #e0d8ec 1px;
}

.sf_effect li p:last-child{
    font-size:15px;
    line-height:1.7;
    color:#555;
}


@media all and (min-width:1024px) {
    .con .con_headline br{display:none;;}
}

/* 테블릿 가로, 테블릿 세로 (해상도 768px ~ 1023px)*/
@media all and (min-width:768px) and (max-width:1023px) {
    .contents{ margin-bottom:200px; margin-top:150px;;}
    .contents_margin{ margin-top:150px;}
    .con_title{font-size:24px;;}
    .con_title p{ padding:0px 20px;}

    .explain_box{ padding:20px; flex-wrap:wrap;}
    .explain_title{font-size:22px; margin-bottom:20px;}
    .explain_left{width:100%; }
    .explain_right{width:100%; margin-top:25px;}
    .explain_left p:last-of-type{font-weight:400;}

    .sf_flow li{font-size:14px;}

    .con{margin-top:150px;}
    .con_headline{ font-size:22px;}
    .headline1{ height:40px; line-height:40px;font-weight:600; background-size:contain}
    .conbox{ margin-top:20px}

    .con1 .conbox{padding:20px;}

    .sf_step li{width:100%; margin-bottom:20px;}
    .sf_step_title{font-size:20px;}

    .conbox_list li{width:100%; margin-bottom:20px; padding:25px;}
    .con2 .cr_title{font-size:22px;}
    .con2 .cr_sub br{display:none;;}

    .sf_effect li{width:49%;}
}


/* 모바일 가로, 모바일 세로 (해상도 480px ~ 767px)*/
@media all and (max-width:767px) {
    .contents{ margin-bottom:150px; margin-top:100px;}
    .contents_margin{ margin-top:120px;}
    .con_title{font-size:20px; margin-bottom:50px;;}
    .con_title p{ padding:0px 10px;}
    .con_title_line{display:none;}

    .explain_box{ padding:20px; margin-bottom:100px; flex-wrap:wrap;}
    .explain_title{font-size:22px; margin-bottom:10px;;}
    .explain_left{width:100%; }
    .explain_right{width:100%; margin-top:20px;}
    .explain_left br{ display:none;}
    .explain_left p:last-of-type{font-weight:400;}

    .sf_flow{padding:20px 15px;}
    .sf_flow li{font-size:14px; padding-left:95px;}
    .sf_flow li span{width:82px; font-size:11px;}
    .sf_flow li:not(:last-child):after{left:40px;}

    .con{margin-top:100px;}
    .con_headline{ font-size:18px;}
    .headline1{height:35px; line-height:35px;font-weight:600; padding-left:10px;}
    .conbox{ margin-top:20px}

    .con1 .conbox{padding:15px 10px;}

    .sf_step{margin-top:30px;}
    .sf_step li{width:100%; margin-bottom:20px; padding:20px;}
    .sf_step_title{font-size:18px; padding-left:40px;}
    .sf_step_title span{font-size:16px; top:1px;}
    .sf_step_sub{font-size:15px; padding-left:40px; margin-bottom:10px;}
    .sf_step li>p:last-child{font-size:15px;}

    .con2{margin-top:100px}
    .conbox_list li{width:100%; margin-bottom:20px; padding:20px;}
    .con2 .cr_title{font-size:20px; padding-left:45px}
    .con2 .cr_title span{font-size:35px; line-height:20px;}
    .con2 .cr_sub{padding-left:45px; font-size:15px;}
    .con2 .cr_sub br{display:none;;}
    .sf_note{font-size:15px; padding:18px 20px;}

    .con3{margin-top:100px}
    .sf_effect li{width:100%; padding:20px;}
    .se_title{font-size:17px;}
}
