
/* common */
#bu4 { overflow: hidden; padding-top: 130px; }
.sub_tit { line-height: 1; margin:0 0 45px; padding:0 0 38px; border-bottom: 1px solid #ddd; }
.sub_tit b { display: block; font-size: 26px; font-weight: 600; color: #008bf6; margin:0 0 20px; }
.sub_tit h2 { font-size: 55px; font-weight: bold; text-transform: uppercase; }
.sub_p { font-size: 20px; font-weight: 300; line-height: 1.65; }
.sub_p + .sub_p { margin-top: 30px; }
.sub_sp { font-size:16px; font-weight: 300; letter-spacing: -0.16px; line-height: 1.6; }
.sub_h3 { font-size: 28px; font-weight: bold; text-transform: uppercase; }
.sub_h4 { font-size: 24px; font-weight: bold; letter-spacing: -0.24px; }
.sub_stit { font-size: 45px; font-weight: bold; margin:0 0 50px; }
.sub_stit small { font-size: 20px; font-weight: 300; margin-left: 40px; }
.sub_stit.line { border-bottom: 1px solid #ddd; padding:0 0 35px; margin:0 0 40px; }
.line_tit { position:relative; font-size: 33px; font-weight: bold; border-bottom: 1px solid #ddd; padding:0 0 28px; margin:0 0 40px; }
.line_tit::after { content:""; position:absolute; left:0; width:150px; bottom:-1px; height:3px; background:#008bf6; }
.bar { position:relative; padding-left: 12px; }
.bar::before { content:""; position:absolute; left:0; width:4px; top:3px; height: 24px; background:#008bf6; }

/* .tab_btn_wr.tab_relative { position:relative; z-index: 3; } */
.tab_btn_wr.tab_fixed { position:fixed; left:50%; transform: translateX(-50%); max-width: 1300px; width:100%; top:90px; z-index: 100; }
.tab_btn { width:100%; display: flex; height: 50px; align-items: center; position:relative; z-index: 2; }
.tab_btn li { flex:1; height: 100%;  }
.tab_btn li ~ li { margin-left: -1px; }
.tab_btn li a { display: block; width:100%; line-height: 48px; font-size: 18px; color: #000; cursor: pointer; transition: all .3s; background:#fff; border:1px solid #ccc; text-align: center; }
.tab_btn li a.active { background-color: #008bf6; border-color:#008bf6; color: #fff !important; }
.tab_btn li a:hover { color:#008bf6; }
.tab { display: none; }
.tab.active { display: block; }

.div_line { position:relative; text-align: center; margin:55px 0; }
.div_line span { font-size: 24px; display: inline-block; width:100px; background:#fff; color: #989898; }
.div_line::before { content:""; position:absolute; left:0; width:calc(50% - 50px); top:15px; height: 1px; background:#989898; }
.div_line::after { content:""; position:absolute; right:0; width:calc(50% - 50px); top:15px; height: 1px; background:#989898; }

.str_list { display: flex; justify-content: space-between; }
.str_list > li { width:calc(100%/3 - 23.5px); background-color: #fff; border:1px solid #ddd; border-radius: 15px; padding:55px 40px 50px; }
.str_list .sub_h3 { position:relative; margin:0 0 25px; }
.str_list .sub_h3::before { content:""; display: block; width:44px; height:3px; background:#008bf6; margin:0 0 15px; }

.dot_list1 li { position:relative; padding-left: 12px; font-size: 16px; line-height: 1.5; margin:0 0 10px; font-weight: 300;}
.dot_list1 li::before { content:""; position:absolute; left:0; width:4px; top:9px; height: 4px; background:#008bf6; }
.dot_list1 li:last-child { margin:0; }
.dot_list2 li { position:relative; padding-left: 12px; font-size: 20px; line-height: 1.55; margin:0 0 15px; font-weight: 300;}
.dot_list2 li::before { content:""; position:absolute; left:0; width:4px; top:13px; height: 4px; background:#008bf6; }
.dot_list2 li:last-child { margin:0; }

.line_list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.line_list > li { width:calc(50% - 20px); border:1px solid #ddd; border-radius: 15px; padding:70px 65px; }
.line_list > li:nth-child(n+3) { margin-top: 40px; }






/* bu 공통 */
.bu_top { text-align: center; margin:0 0 90px; }
.bu_top .sub_tit { border-bottom: 0; padding:0; margin:0 0 50px; }

.tab_s1 { padding:0 0 90px; }
.tab_s1 .sub_h3 { text-transform:none; }
.tab_s1 .sub_p { margin:35px 0 0; }

.tab_s2 { padding:100px 0; background:url('../img/dot_bg.jpg') repeat center; }

.tab_s3 { padding:100px 0 120px; }
.tab_s3 .img_box .img { border:1px solid #ddd; padding:75px; text-align: center; }

.tab_s4 { padding:0 0 120px; }



/* bu4 */
.tab_s2 .img_box { border:1px solid #ddd; background:#fff; padding:65px; text-align: center; }

/* bu4_tab1 */
#bu4_tab1 .tab_s2 .str_list > li { width: 100%; padding:55px 65px 50px; display: flex; }
#bu4_tab1 .tab_s2 .str_list > li .sub_h3 { margin-right: 70px; white-space: nowrap; flex-shrink: 0; }
#bu4_tab1 .tab_s2 .str_list > li ul { margin-top: 15px; }
#bu4_tab1 .s2_box_wrap { border:1px solid #ddd; background:#fff; border-radius: 15px; margin:40px 0 0; }
#bu4_tab1 .s2_box_wrap .str_list > li { border:0; }

#bu4_tab1 .s2_box_wrap .box .dot_list2 { margin:40px 0 0; }
#bu4_tab1 .s2_box_wrap .box .dot_list2 li { margin: 0 0 20px; }
#bu4_tab1 .s2_box_wrap .box .dot_list2 li:last-child { margin:0; }

#bu4_tab1 .s2_box_wrap .top { display: flex; border-bottom: 1px solid #ddd; border-top: 1px solid #ddd; }
#bu4_tab1 .s2_box_wrap .top .box { width:50%; padding:70px 65px 60px; }
#bu4_tab1 .s2_box_wrap .top .box:first-child { border-right:1px solid #ddd; }
#bu4_tab1 .s2_box_wrap .bot { padding:50px 65px 80px; display: flex; justify-content: space-between; align-items: center; }
#bu4_tab1 .s2_box_wrap .bot .box.img { margin-left: 30px; text-align: center; }

#bu4_tab1 .s2_box_wrap .modeling { border-top: 1px solid #ddd; padding: 50px 65px 80px; }
#bu4_tab1 .s2_box_wrap .modeling .txt .dot_list2 { display: flex; flex-wrap: wrap; }
#bu4_tab1 .s2_box_wrap .modeling .txt .dot_list2 li { width: 50%; padding-right: 20px; }
#bu4_tab1 .s2_box_wrap .modeling .img { margin:50px 0 0; display: flex; justify-content: space-between; }
#bu4_tab1 .s2_box_wrap .modeling .img img { width:calc(50% - 20px); }



/* bu4_tab2 */
#bu4_tab2 .tab_s2 { position:relative; padding-bottom:0; }
#bu4_tab2 .tab_s2::after { content:""; display: block; width:100%; height: 500px; background:url('../img/bu4_t2s2_bg.jpg') no-repeat center / cover; margin:100px 0 0; }
#bu4_tab2 .str_list .sub_h3 { text-transform: none; }





/* media query */
@media screen and (max-width: 1420px) {

    .tab_btn_wr.tab_fixed { max-width: 100%; top:79px; }

    /* bu4_tab1 */
    #bu4_tab1 .tab_s2 .str_list > li { padding: 55px 40px 50px; }
    #bu4_tab1 .s2_box_wrap .top .box { padding: 55px 40px 50px; }
    #bu4_tab1 .s2_box_wrap .bot { padding: 55px 40px 50px; }
    #bu4_tab1 .s2_box_wrap .modeling { padding: 55px 40px; }




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

    /* common */
    #bu4 { text-align: center; padding-top: 80px; }
    .sub_tit { margin:0 0 40px; }
    .sub_tit b { font-size: 22px; }
    .sub_tit h2 { font-size: 42px; }
    .sub_p { font-size: 18px; }
    .sub_p + .sub_p { margin-top: 25px; }
    .sub_h3 { font-size: 23px; }
    .sub_h4 { font-size: 20px; }
    .sub_stit { font-size: 33px; margin: 0 0 40px; }
    .sub_stit small { font-size: 17px; margin-left: 30px; }
    .sub_stit.line { padding: 0 0 30px; margin: 0 0 35px; }
    .line_tit { font-size: 26px; margin: 0 0 30px; text-align: left; }

    .bar::before { top: 1px; }

    .str_list > li { width: calc(100%/3 - 10px); padding: 45px 30px 40px; text-align: left; }

    .dot_list2 li { font-size: 18px; margin: 0 0 12px; text-align: left; }

    .div_line { margin: 40px 0; }

    .line_list > li { padding: 50px 30px; }

    .tab_btn_wr.tab_fixed { top:59px; }

    /* bu 공통 */
    .bu_top { margin: 0 0 60px; }

    .tab_s1 { padding: 0 0 70px; }
    .tab_s1 .sub_p { margin: 30px 0 0; }

    .tab_s2 { padding: 80px 0; }

    .tab_s3 { padding: 80px 0 100px; }
    .tab_s3 .img_box .img { padding: 50px; }

    .tab_s4 { padding: 0 0 100px; }


    /* bu4 */
    /* bu4_tab1 */
    #bu4_tab1 .tab_s2 .str_list > li { padding: 45px 30px 40px; }
    #bu4_tab1 .tab_s2 .str_list > li .sub_h3 { margin-right: 50px; }

    #bu4_tab1 .s2_box_wrap .box .dot_list2 { margin: 30px 0 0; }
    #bu4_tab1 .s2_box_wrap .box .dot_list2 li { margin: 0 0 15px; }
    #bu4_tab1 .s2_box_wrap .box .sub_h4 { text-align: left; }
    #bu4_tab1 .s2_box_wrap .top .box { padding: 45px 30px 40px; }
    #bu4_tab1 .s2_box_wrap .bot { padding: 45px 30px 40px; }

    #bu4_tab1 .s2_box_wrap .modeling { padding: 45px 30px 60px; }
    #bu4_tab1 .s2_box_wrap .modeling .img { margin:40px 0 0; }

    /* bu4_tab2 */
    #bu4_tab2 .tab_s2::after { height: 380px; }




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

    /* common */
    #bu4 { padding-top: 50px; }
    .sub_tit { margin:0 0 30px; padding: 0 0 30px; }
    .sub_tit b { font-size: 18px; margin: 0 0 15px; }
    .sub_tit h2 { font-size: 30px; }
    .sub_p { font-size: 16px; }
    .sub_p br { display: none; }
    .sub_p + .sub_p { margin-top: 20px; }
    .sub_sp { font-size:15px; }
    .sub_h3 { font-size: 19px; line-height: 1.65; }
    .sub_h4 { font-size: 17px; }
    .sub_stit { font-size: 25px; margin: 0 0 30px; }
    .sub_stit small { font-size: 15px; margin-left: 20px; }
    .sub_stit.line { padding: 0 0 25px; margin: 0 0 25px; }
    .line_tit { font-size: 20px; margin: 0 0 25px; padding:0 0 20px; line-height: 1.4; }
    .line_tit::after { width: 100px; height: 2px; }

    .tab_btn { height: 40px; }
    .tab_btn li a { line-height: 38px; font-size: 15px; }

    .str_list { flex-wrap: wrap; }
    .str_list .sub_h3 { margin: 0 0 20px; }
    .str_list .sub_h3::before { width: 40px; height: 2px; margin: 0 0 10px; }
    .str_list > li { width: 100%; padding: 35px 20px; }
    .str_list > li + li { margin-top: 15px; }

    .dot_list1 li { font-size: 15px; }
    .dot_list2 li { font-size: 16px; margin: 0 0 10px; }
    .dot_list2 li::before { top: 8px; }

    .line_list > li { width:100%; padding:35px 25px; }
    .line_list > li + li { margin:15px 0 0!important; }

    .div_line { margin: 30px 0; }
    .div_line span { font-size: 20px; width: 80px; }
    .div_line::before { width: calc(50% - 40px); top: 10px; }
    .div_line::after { width: calc(50% - 40px); top: 10px; }

    .bar::before { width: 3px; top: 0; height: 20px; }


    /* bu 공통 */
    .bu_top { margin: 0 0 40px; }
    .bu_top .sub_tit { margin: 0 0 30px; }

    .tab_s1 { padding: 0 0 50px; }
    .tab_s1 .sub_p { margin: 20px 0 0; }

    .tab_s2 { padding: 60px 0; }
    .tab_s2 .img_box { padding: 20px; }

    .tab_s3 { padding: 60px 0 80px; }
    .tab_s3 .img_box .img { padding: 20px; }

    .tab_s4 { padding: 0 0 80px; }


    /* bu4 */
    /* bu4_tab1 */
    #bu4_tab1 .tab_s2 .str_list > li { flex-direction: column; padding:35px 20px; }
    #bu4_tab1 .tab_s2 .str_list > li .sub_h3 { margin:0; }

    #bu4_tab1 .s2_box_wrap { margin: 15px 0 0; }
    #bu4_tab1 .s2_box_wrap .box { width: 100%; }

    #bu4_tab1 .s2_box_wrap .box .dot_list2 { margin: 20px 0 0; }
    #bu4_tab1 .s2_box_wrap .box .dot_list2 li { margin: 0 0 10px; font-size: 15px; }


    #bu4_tab1 .s2_box_wrap .top { flex-wrap: wrap; }
    #bu4_tab1 .s2_box_wrap .top .box { width: 100%; padding: 35px 20px; }
    #bu4_tab1 .s2_box_wrap .top .box:first-child { border-right: 0; border-bottom: 1px solid #ddd; }
    #bu4_tab1 .s2_box_wrap .bot { padding: 35px 20px; flex-wrap: wrap; }
    #bu4_tab1 .s2_box_wrap .bot .box.img { width: 100%; margin: 35px 0 0; }

    #bu4_tab1 .s2_box_wrap .modeling { padding: 35px 20px; }
    #bu4_tab1 .s2_box_wrap .modeling .txt .dot_list2 li { width: 100%; padding-right: 0; }
    #bu4_tab1 .s2_box_wrap .modeling .img { margin:25px 0 0; flex-wrap: wrap; }
    #bu4_tab1 .s2_box_wrap .modeling .img img { width:100%; margin:0 0 10px; }

    /* bu4_tab2 */
    #bu4_tab2 .tab_s2::after { height: 250px; margin-top: 60px; }


}
