/* Suit 폰트 */
@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Heavy.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}

/* 전체 폰트 적용 */
* {
    font-family: 'Suit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

body {
    font-family: 'Suit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-weight: 300;
    font-size:1rem;
}

.lead { font-size:16px; line-height:1.75; letter-spacing:-0.02em; color:#555;  word-break:keep-all}

/* 헤더 fixed 대응 */
#wrap {
    padding-top: 0;
}

.visual_slider {
    position: relative;
    z-index: 1;
    margin-top: 0;
}


@media screen and (max-width: 640px) {
    input {
       -webkit-appearance: none;
       -webkit-border-radius: 0;
    }
}



/*헤드메뉴*/
#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1001;
    height: 80px;
    background-color: transparent;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
body.sub #header {background:rgba(0, 0, 0, 1)}

#header.scrolled {
    background-color: rgba(0, 0, 0, 0.8);
    border-bottom:none;
}

#header .header-inner {
    max-width: 1400px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

#header #logo {
    flex-shrink: 0;
    padding: 0;
}

#header #logo a {
    display: block;
    height: 80px;
    line-height: 80px;
    display: flex;
    align-items: center;
}

#header #logo img {
    height: auto;
    max-height: 50px;
    width: auto;
    display: block;
    object-fit: contain;
}

#header #logo img[src$=".svg"] {
    height: 50px;
    width: auto;
    max-width: 200px;
}

#header .gnb {
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 40px;
    position: relative;
}

#header .gnb > li {
    position: relative;
    display: inline-block;
    height: 80px;
    line-height: 80px;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}

#header .gnb > li > a {
    display: inline-block;
    height: 30px;
    text-align: left;
    font-size: 1.3rem;
    letter-spacing: 0px;
    color: #FFFFFF;
    opacity: 1;
    text-decoration: none;
    padding: 0;
    -webkit-transition: opacity .3s ease;
    -moz-transition: opacity .3s ease;
    -ms-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

#header .gnb > li > a:hover {
    color: #FFFFFF;
    opacity: 0.7;
}

#header .gnb .snb {
    list-style: none;
    display: none;
    position: absolute;
    right: -82px;
    width: 200px;
    top: 80px;
    border-top: 0;
    background-color: #fff;
    z-index: 1001;
    padding: 0;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#header .gnb .snb li {
    font-size: 14px;
    line-height: 3.1;
    text-align: left;
    border-top: 1px solid #e0e0e0;
}

#header .gnb .snb li:first-child {
    border-top: 0;
}

#header .gnb .snb li a {
    color: #1a1a1a;
    display: block;
    padding-left: 20px;
    text-decoration: none;
    text-transform: none;
    -webkit-transition: background-color .3s ease;
    -moz-transition: background-color .3s ease;
    -ms-transition: background-color .3s ease;
    -o-transition: background-color .3s ease;
    transition: background-color .3s ease;
}

#header .gnb .snb li a:hover {
    color: #1a1a1a;
    display: block;
    background-color: #f5f5f5;
    text-decoration: none;
    line-height: 3.1;
}

#header .mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    color: #ffffff;
    font-size: 24px;
    -webkit-transition: color .3s ease;
    -moz-transition: color .3s ease;
    -ms-transition: color .3s ease;
    -o-transition: color .3s ease;
    transition: color .3s ease;
}

#header .mobile-menu-btn:hover {
    opacity: 0.7;
}

@media screen and (max-width: 960px) {
    #header {
        background-color: transparent;
        top: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    }
    
    #header.scrolled {


    }
    
    #header .header-inner {
        padding: 0 20px;
    }
    
    #header #logo {
        width: 120px;
        display: block;
    }
    
    #header #logo img {
        max-height: 40px;
    }
    
    #header .gnb {
        display: none;
    }
    
    #header .mobile-menu-btn {
        display: block;
    }
}
/*헤드메뉴*/






/*오른쪽 퀵메뉴*/
.right_quick { position: absolute; right: 0; top: -60px; z-index: 2}
.right_quick.fixed {position: fixed; right: 0; top: 50% !important; margin-bottom:50px; z-index: 100; top: 189px}
.right_quick.fixed .material-icons { color:#fff; float:right}
.right_quick ul.quick_info { position: relative; height: 240px}
.right_quick ul.quick_info li { position: absolute; height: 60px; right:0}
.right_quick ul.quick_info li:nth-child(1) {top: 0}
.right_quick ul.quick_info li:nth-child(2) {top: 60px}
.right_quick ul.quick_info li:nth-child(3) {top: 120px}
.right_quick ul.quick_info li:nth-child(4) {top: 180px}
.right_quick ul.quick_info li:nth-child(5) {top: 240px}

.right_quick ul.quick_info li a{width:60px; height:60px; text-align:center; background:#343434; overflow:hidden; display:block}
.right_quick ul.quick_info li i { color:#fff; font-size:24px;}
.right_quick ul.quick_info li i.ico{position:absolute;right:20px;top:15px; z-index:2}
.right_quick ul.quick_info li:nth-child(1) i {right: 17px}
.right_quick ul.quick_info li:nth-child(2) i {right: 17px}
.right_quick ul.quick_info li:nth-child(3) i {right: 17px}
.right_quick ul.quick_info li:nth-child(4) i {right: 17px}
.right_quick ul.quick_info li:nth-child(5) i {right: 17px}
.right_quick ul.quick_info li a span{height:60px; line-height:60px; color:#fff; position:absolute; text-align:left; opacity:0; left:30px; font-size:14px; font-weight:500; z-index:2}
.right_quick ul.quick_info li a.kakao span { color:#000}

@media screen and (max-width: 640px) {
    .right_quick.fixed { display:none}
}
/*오른쪽 퀵메뉴*/





/*모바일 오른쪽 메뉴*/
#right-side {background-color:#333;position:fixed; z-index:1000; top:0;right:-400px;max-width:400px; width:100%; height:100%; color:#FFF; padding:30px;-webkit-transition: right .3s ease;-moz-transition: right .3s ease;-ms-transition: right .3s ease;-o-transition: right .3s ease;transition: right .3s ease; box-sizing:border-box; overflow:auto;}
#right-side .side_gnb .call a {text-align:center; display:block;position:relative;background:#6cc043; color:#fff; font-weight:bold; height:5.0em; line-height:5em; border-radius:3px; margin-top:10px; padding:2px 0 4px 0;}
#right-side #btn-close-right-side {position:absolute;top:20px;right:0;color:#fff;width:60px;text-align:center;line-height:40px; font-size:16px; cursor:pointer}
#right-side #btn-close-right-side .fa.fa-times { font-size:18px; padding-top:20px}
.right-side-on #right-side {right:0;}
.right-side-on #wrapper { left:-300px; }
.right-side-on #header { left:-300px;border-bottom:0; }
.right-side-on #rs-overlay {display:block;}

.quick_menu {width:100%; margin:auto; padding-top:20px}
.quick_menu ul { text-align:center}
.quick_menu li{display:inline-block; margin-left:-3px; width:80px; border-right:1px solid #555;}
.quick_menu li:last-child { border:0} 
.quick_menu li a{display:block; box-sizing:border-box; color:#f5f5f5; letter-spacing:-0.8px; text-align:center; position:relative;  font-size:12px}
.quick_menu li a:hover{color:#fff;backface-visibility:hidden}
.quick_menu li a.on{color:#fff;border-bottom-color:#FF3300;border-bottom-width:2px;border-bottom-style:solid}
.quick_kakao{text-align:center; height:35px; background-color:#ffd800; display:inline-block; clear:both}
.quick_kakao a{display:block;position:relative;background:#ffd800}
.quick_kakao a img{display:block;margin:0 auto}

.side_gnb{position:relative;width:100%;float:left;padding-top:20px;}
.side_gnb p{color:#fff; text-align:center; padding:20px }
.side_gnb .menu-list{display:block;position:relative;border-bottom:1px solid #555; margin-top:60px}
.side_gnb .menu-list>li>a{display:block;position:relative;color:#fff;font-size:15px;line-height:3.8em;padding:0 1.0em;border-top:1px solid #555; text-decoration:none}
.side_gnb .menu-list>li>a i{display:block;position:absolute;top:50%;transform:translateY(-75%) rotate(135deg);-webkit-transform:translateY(-75%) rotate(135deg);right:1.5em;width:5.31%;max-width:32px;border:1px solid #ddd;border-left-width:0;border-bottom-width:0;transition:transform .3s ease;-webkit-transition:-webkit-transform .3s ease;-ms-transition:transform .3s ease}
.side_gnb .menu-list>li.on>a i{-webkit-transform:translateY(-25%) rotate(315deg);transform:translateY(-25%) rotate(315deg)}
.side_gnb .menu-list>li>a i:before{content:"";display:block;position:relative;padding-top:100%}
.side_gnb .depth-2{display:none;}
.side_gnb .depth-2>li { background-color:#ddd}
.side_gnb .depth-2>li>a{display:block;color:#ddd;font-size:1.2em;line-height:3.0em;padding:0 1.5em 0 2.2em;border-bottom:1px solid #fff; color:#000}

@media screen and (max-width: 640px) {
    .side_gnb .depth-2>li>a { font-size:16px}
}
/*모바일 오른쪽 메뉴*/






/*메인배너*/
.visual_slider {
    position: relative;
    z-index: 1;
    margin-top: 0;
}

.main-carousel{padding:0; display:block; position:relative; z-index: 1;}
.main-carousel .li{height:900px; background-size:cover; background-position:center; position:relative}
.main-carousel .li .cover{position:absolute;top:0;left:0;width:100%;height:100%;background:url(../img/main_visual_cover.png) center bottom no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;min-width:300px;opacity:.6;z-index:1}
.main-carousel .jarallax { min-height: 900px;}
.main-carousel .img01 { background-image:url(../img/main_banner_img01.jpg);}
.main-carousel .img02 { background-image:url(/img/main/main2.png);}
.main-carousel .img03 { background-image:url(../img/main_banner_img03.jpg);}
.main-carousel .li .copy_area{width:100%;text-align:center;color:#fff;position:absolute;top:50%;-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:2}
.main-carousel .li .copy_area h1{font-size:14px;font-weight:300; line-height:1.3; letter-spacing:0.5px; padding-bottom:20px;  color:#fff; text-align:center}
.main-carousel .li .copy_area h2{font-size:3.4rem; font-family:'S-Core Dream'; font-weight:700; line-height:1.3; letter-spacing:normal;  color:#fff; text-align:center}
.main-carousel .li .copy_area h3{font-size:2.2rem; font-weight:400; text-align:center; margin:60px 0; padding:0; word-break:keep-all; color:#fff; line-height:160%; }
.main-carousel .li .copy_area .banner_buttons{display:flex; gap:15px; justify-content:center; margin-top:40px; flex-wrap:wrap}
.main-carousel .li .copy_area .banner_btn{display:inline-block; padding:12px 24px; background:rgba(237, 150, 0, 0.8); color:#fff; text-decoration:none; border-radius:50px; font-size:1.2rem; font-weight:500; transition:all 0.3s ease}
.main-carousel .li .copy_area .banner_btn:hover{background:#d68500; transform:translateY(-2px); box-shadow:0 4px 8px rgba(237,150,0,0.3)}
.main-carousel .owl-dots{position:absolute;width:100%; text-align:center; margin:0 auto; bottom:200px;}
.main-carousel .owl-dots .owl-dot{background:rgba(255, 255, 255, 0.5);width:30px;height:2px;display:inline-block;margin-left:10px}
.main-carousel .owl-dots .owl-dot.active{background:#ED9600;}
.main-carousel .owl-nav{position:absolute;width:100%;bottom:50%}
.main-carousel .owl-nav .owl-prev{width:40px;height:30px;position:absolute;left:50px; font-size:14px; color:#fff; border-top: 1px solid #fff; padding-top:5px; text-align:center; background-color:transparent; cursor:pointer}
.main-carousel .owl-nav .owl-next{width:40px;height:30px;position:absolute;right:50px; font-size:14px; color:#fff; border-top: 1px solid #fff; padding-top:5px; text-align:center; background-color:transparent;  cursor:pointer}

@media screen and (max-width: 640px) {
	.main-carousel .li { height:100vh}
	.main-carousel .jarallax { min-height: 100vh;}
    .main-carousel .img01 { }
	.main-carousel .img02 { }
	.main-carousel .img03 { }
	.main-carousel .li .copy_area h2 {font-size: 36px; letter-spacing:-3px}
	.main-carousel .li .copy_area h3 { max-width:300px; margin:10px auto 0 auto; font-size: 15px; letter-spacing:-0.5px}
	.main-carousel .li .copy_area .banner_buttons { gap:10px; margin-top:30px; }
	.main-carousel .li .copy_area .banner_btn { padding:10px 18px; font-size:14px; }
	.main-carousel .owl-nav { display:none}
}
/*메인배너*/








/*사업영역*/
.tl_main_box_wrap { width:100%; padding:150px 0; margin:0 auto;}
.tl_main_box_wrap .main_inner_flex { display: flex; padding: 0; width:90%; margin:0 auto;max-width: 100%; }
.tl_main_box_wrap.gray {background:#f6f6f6;}
.tl_main_box_wrap.box-reverse .main_inner_flex {flex-direction: row-reverse;}
/* 왼쪽 섹션 */
.tl_main_box_wrap .text_section { flex: 1 1;  padding: 0 40px; position: relative; }
.tl_main_box_wrap .main_title { color: #ED9600; font-size: 1.875rem; font-weight: 800; margin: 0 0 16px 0; }
.tl_main_box_wrap .main_heading { font-size: 2.4rem; font-weight: 400; color: #000; margin: 0 0 0 0; padding:0 0 0 0; line-height: 1.4; }
.tl_main_box_wrap .main_heading strong {font-weight:700}
.tl_main_box_wrap .main_description { font-size: 1.75rem; color: #333; margin: 0 0 0 0;padding: 40px 0; line-height: 1.4; font-weight:400; word-break: keep-all; }

/* 서비스 아이콘 그리드 */
.tl_main_box_wrap .service_icons_grid { display: flex; justify-content: space-between; align-items: start; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; }
.tl_main_box_wrap .service_icons_grid.col3 li { flex:1 1 29.3%; text-align: center; padding:0; margin:4% 2%; }
.tl_main_box_wrap .service_icons_grid.col4 li { flex:1 1 21%; text-align: center; padding:0; margin:4% 2%; }

.tl_main_box_wrap .service_icons_grid .icon_circle { width: 100px; height: 60px; line-height: 58px; margin: 0 auto 10px auto; border-radius: 30px; background: #f5f5f5; display: flex; align-items: center; justify-content: center; }
.tl_main_box_wrap .service_icons_grid .icon_circle img { width: auto; max-width:40px; height:auto; max-height:40px; }
.tl_main_box_wrap .service_icons_grid li span { display: block; font-size: 14px; color: #000; text-align:center;}

/* 오른쪽 섹션 */
.tl_main_box_wrap .img_section { flex: 1 1;  position: relative; overflow: hidden; min-height: 600px; display: flex; align-items: center; justify-content: center; }
.tl_main_box_wrap .img_section img { width: 100%; height: 100%; object-fit: cover; }
.tl_main_box_wrap.gray .service_icons_grid li .icon_circle {background: #ffffff;}
/* 반응형 대응 */
@media screen and (max-width: 768px) {
    .tl_company_box_wrap .company_inner_flex { flex-direction: column; }
    .tl_company_box_wrap .company_left_section { padding: 40px 30px; }
    .tl_company_box_wrap .service_icons_grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .tl_company_box_wrap .company_right_section { min-height: 400px; }
    .tl_company_box_wrap .company_divider { width: 100%; height: 2px; }
}
/*사업영역*/





/*뉴스갤러리*/
.tl_main_gallery_wrap { width:96%;  padding:100px 0; margin:0 auto; background:url(../img/tl_main_gallery_bg.jpg) center  no-repeat; background-size:cover;}
.tl_main_gallery_wrap .inner {max-width:1200px; margin:0 auto; overflow:hidden}
.tl_main_gallery_wrap h2 {text-align:center; font-size:30px; color:#fff}
.tl_main_gallery_wrap h2:before{ display:block; content:""; width:30px; height:6px; background:#fff; margin:0 auto 20px auto; border-radius:10px;
-webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg);}
.tl_main_gallery_wrap h2 span{ display:block; padding:20px 0; color:#fff; opacity:0.8; font-size:16px; font-weight:400}
.tl_main_gallery_wrap a:hover {color:#2253b8}
.tl_main_gallery_wrap ul {margin-top:30px}
.tl_main_gallery_wrap li {position:relative; float:left; width:48%; margin:1%; overflow:hidden; background-color:#fff; display:block}
.tl_main_gallery_wrap .one_box {display:block; min-height:155px; background:#fff}
.tl_main_gallery_wrap .photo {position:absolute; left:0; top:0; width:100%; max-width:160px; min-height: 155px; height:100%; overflow:hidden; background-repeat:no-repeat; background-size:cover; background-position:center center;
 -webkit-transform: scale(1);transform: scale(1);transition:all 1s ease;-webkit-transition:all 1s ease}
.tl_main_gallery_wrap dl {margin-left:190px; padding-right:10px}
.tl_main_gallery_wrap dt {color:#333; font-size:18px; font-weight:bold; margin-top:30px; letter-spacing:-1px}
.tl_main_gallery_wrap dd {color:#555; font-size:16px; letter-spacing:-0.02em; line-height:1.75; word-break:keep-all; padding:10px 0; }
.tl_main_gallery_wrap li:hover .one_box {background-color:#095ead;cursor: pointer}
.tl_main_gallery_wrap li:hover dt {color:#fff}
.tl_main_gallery_wrap li:hover dd {color:#fff}
.tl_main_gallery_wrap li:hover .more_btn {color:#eee}
.tl_main_gallery_wrap a:hover .photo {-webkit-transform: scale(1.1);transform: scale(1.1)}
@media screen and (max-width: 1024px) {
	.tl_main_gallery_wrap li { width:100%; margin:0 0 4% 0}

}
/*뉴스갤러리*/






/*제품소개*/
.tl_business_now_box_warp { width:100%; padding:100px 0; margin:0 auto; clear:both; background-color:#eff1f6;}
.tl_business_now_box_warp .business_inner_flex { display: flex; padding: 0; max-width: 96%; }

/* 왼쪽 섹션 */
.tl_business_now_box_warp .business_left_section { flex: 1; padding: 60px 50px; position: relative; }
.tl_business_now_box_warp .business_title { color: #ED9600; font-size: 24px; font-weight: 600; margin: 0 0 20px 0; }
.tl_business_now_box_warp .business_heading { font-size: 28px; font-weight: bold; color: #000; margin: 0 0 20px 0; line-height: 1.4; }
.tl_business_now_box_warp .business_description { font-size: 16px; color: #333; margin: 0 0 40px 0; line-height: 1.6; }

/* 서비스 아이콘 그리드 (3열) */
.tl_business_now_box_warp .business_icons_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; list-style: none; padding: 0; margin: 0; }
.tl_business_now_box_warp .business_icons_grid li { text-align: center; }
.tl_business_now_box_warp .business_icons_grid .icon_circle { width: 100px; height: 60px; margin: 0 auto 10px auto; border-radius: 30px; background: #f5f5f5; display: flex; align-items: center; justify-content: center; }
.tl_business_now_box_warp .business_icons_grid .icon_circle img { width: 40px; height: 40px; }
.tl_business_now_box_warp .business_icons_grid li span { display: block; font-size: 14px; color: #000; text-align:center;}

/* 구분선 */
.tl_business_now_box_warp .business_divider { width: 2px; background: #87ceeb; flex-shrink: 0; }

/* 오른쪽 섹션 */
.tl_business_now_box_warp .business_right_section { flex: 1; background: #1a1a1a; position: relative; overflow: hidden; min-height: 600px; display: flex; align-items: center; justify-content: center; }
.tl_business_now_box_warp .business_right_section img { width: 100%; height: 100%; object-fit: cover; }

/* 반응형 대응 */
@media screen and (max-width: 768px) {
    .tl_business_now_box_warp .business_inner_flex { flex-direction: column; }
    .tl_business_now_box_warp .business_left_section { padding: 40px 30px; }
    .tl_business_now_box_warp .business_icons_grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .tl_business_now_box_warp .business_right_section { min-height: 400px; }
    .tl_business_now_box_warp .business_divider { width: 100%; height: 2px; }
}
/*제품소개*/






/*TLOG PRODUCTS*/
.tl_product_box_wrap { padding:150px 0; max-width:1200px; margin:0 auto; overflow:hidden}
.tl_product_box_wrap h2 { font-size:30px; text-align:center; color:#000; line-height:1.6; font-weight:600}
.tl_product_box_wrap span{ padding:10px 10px 50px 10px; font-size:16px; text-align:center; display:block; color:#555; letter-spacing:-0.02em; font-weight:400}
/*TLOG PRODUCTS*/






/*메인 공지 최신글*/
.tl_latest_box_warp { width:96%; max-width:1200px; margin:0 auto; padding:0px 20px 100px 20px; border-top:1px solid #ddd; clear:both; overflow:hidden}
.tl_latest_box_warp .notice_latest { width:48%; float:left}
.tl_latest_box_warp .counsel_latest {width:48%; float:right}
@media screen and (max-width: 960px) {
	.tl_latest_box_warp .notice_latest { width:100%}
	.tl_latest_box_warp .counsel_latest { width:100%}
}
/*메인 공지 최신글*/






/*하단 상담신청*/
.tl_contact_box_wrap { width:96%; min-height:550px; padding:100px 0; margin:0 auto; background:#fff; }
.tl_contact_box_wrap .contact_inner_flex { display: flex; gap: 0; max-width: 100%; }

/* 왼쪽 섹션: 지도 */
.tl_contact_box_wrap .contact_map_section { flex: 1; position: relative; }
.tl_contact_box_wrap .map_box { width: 100%; height: 100%; min-height: 500px; background: #f5f5f5; border: 1px solid #ddd; }

/* 오른쪽 섹션: 연락처 정보 */
.tl_contact_box_wrap .contact_info_section { flex: 1; padding: 0 50px; background: #fff; position: relative; }
.tl_contact_box_wrap .contact_title { font-size: 2.4rem; font-weight: 800; color: #000; margin: 0 0 16px 0; text-transform: uppercase; text-align:center;}
.tl_contact_box_wrap .contact_subtitle { font-size:1.875rem; color: #333; margin: 0 0 120px 0; text-align:center}

.tl_contact_box_wrap .contact_details { }
.tl_contact_box_wrap .contact_details > div {padding-top:6%}
.tl_contact_box_wrap .contact_details > div:first-child {padding-top: 0}
.tl_contact_box_wrap .contact_item { margin-bottom: 30px; }
.tl_contact_box_wrap .contact_item:last-child {margin-bottom: 0;}
.tl_contact_box_wrap .contact_item_row { display: flex; gap: 30px; margin-bottom: 30px; }
.tl_contact_box_wrap .contact_item_row .contact_item { flex: 1; margin-bottom: 0; }
.tl_contact_box_wrap .contact_label { font-size: 1.65rem; font-weight: 600; color: #000; margin: 0 0 8px 0; text-transform: uppercase; letter-spacing: normal; position: relative; padding-bottom: 8px; }
.tl_contact_box_wrap .contact_label::after { content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 1px; background: #ED9600; }
.tl_contact_box_wrap .contact_content { font-size: 1.3rem; color: #555; margin: 0; line-height: 1.6;padding:0 0 0 0 }

/* SNS 아이콘 */
.tl_contact_box_wrap .sns_icons { display: flex; gap: 40px; flex-wrap: wrap; margin-top: 15px; }
.tl_contact_box_wrap .sns_item { text-align: center; }
.tl_contact_box_wrap .sns_item img { width: 50px; height: 50px; display: block; margin: 0 auto 8px; border-radius: 4px; }
.tl_contact_box_wrap .sns_item span { display: block; font-size: 1.175rem; color: #333; }

/* 반응형 대응 */
@media screen and (max-width: 768px) {
    .tl_contact_box_wrap .contact_inner_flex { flex-direction: column; }
    .tl_contact_box_wrap .contact_map_section { min-height: 300px; }
    .tl_contact_box_wrap .contact_info_section { padding: 40px 30px; }
    .tl_contact_box_wrap .contact_info_section::after { display: none; }
    .tl_contact_box_wrap .contact_item_row { flex-direction: column; gap: 0; }
    .tl_contact_box_wrap .contact_item_row .contact_item { margin-bottom: 30px; }
    .tl_contact_box_wrap .sns_icons { justify-content: center; }
}
/*하단 상담신청*/









/*서브상단*/
.sub_visual{position:relative;max-width:2560px;margin:0 auto;height:472px;overflow:hidden;background-repeat:no-repeat;background-position:center top}
.sub_visual.visual01 .bg{background-image:url(../img/sub_visual01.jpg)}
.sub_visual.visual02 .bg{background-image:url(../img/sub_visual02.jpg)}
.sub_visual.visual03 .bg{background-image:url(../img/sub_visual03.jpg)}
.sub_visual.visual04 .bg{background-image:url(../img/sub_visual04.jpg)}
.sub_visual.visual05 .bg{background-image:url(../img/sub_visual05.jpg)}
.sub_visual:hover .bg{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-o-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}
.sub_visual .title_warp { max-width:1240px; margin:0 auto; display:table; z-index:5}
.sub_visual .title_warp .table-cell { display:table-cell; vertical-align:middle; height:472px;}
.sub_visual h3{position:relative;z-index:5;font-size:45px;font-weight:bold; text-align:center; letter-spacing:-1px; color:#fff}
.sub_visual .sub_title{ position:relative; padding-bottom:10px; font-size:14px; font-weight:500; color:#fff; text-align:center; opacity:.8; z-index:5}
.sub_visual .cover{position:absolute;top:0;left:0;width:100%;height:100%;background:url(../img/sub_visual_cover.png) center bottom no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;min-width:1200px;opacity:.5;z-index:1}
.sub_visual .bg{position:absolute;top:0;left:0;width:100%;height:100%;background-position:center center;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;z-index:0;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}
@media screen and (max-width: 640px) {
    .sub_visual .title_warp { max-width:100%;}
	.sub_visual h3 { font-size:35px}
	.sub_visual .sub_title { font-size:13px}
}
/*서브상단*/
.sub_visual.contact {background-image:url(/img/sub/sub04.png);}







.content_wrap { width:96%; margin:0 auto;}
.content_wrap .txtCon { max-width:1300px; margin:0 auto; padding:60px 20px 50px 20px; font-weight:400; position:relative; clear:both}
.content_wrap .txtCon .sub_title{ margin-bottom:100px}
.content_wrap .txtCon .sub_title h1 {font-size:38px; color:#000; text-align:center}
.content_wrap .txtCon .sub_title h1:before {content:""; display:block; height:40px; width:1px; margin:20px  auto; background-color:#b0b0b0}
.content_wrap .txtCon .sub_title .sub_title {font-size: 16px; color:#555; font-weight:400; text-align:center; padding-top:20px; word-break:keep-all;}
.content_wrap .txtboard { max-width:1200px;  font-size:12px;}
@media screen and (max-width: 640px) {
   .content_wrap .txtCon .sub_title h1 { font-size:32px}
}





/*서브 하단 네비*/
.category-wrap {width:100%; height:70px; background-color:#fff; border-bottom:1px solid #ddd;  clear:both; background-attachment:scroll; position:relative; z-index:3}
.sub_navI_warp { background-color:#fff; max-width:1300px; z-index:3; position:relative; margin: -70px auto;}
.all-wrap{max-width:1300px;  height:69px; margin:0 auto;   transition:all .3s ease;}
.all-wrap .loca-wrap{width:100%;margin:0 auto;height:69px}
.all-wrap .loca-wrap .loca-area i{float:left;display:inline-block;width:60px;height:71px; line-height:65px;  color:#555; border-right:1px solid #ddd; padding:0; margin-top:0; text-align:center}
.all-wrap .loca-wrap .loca-area{height:69px;float:left;}
.all-wrap .loca-wrap .loca-area > a {display:inline-block;width:54px;height:100%; float:left; line-height:100%; text-align:center;}
.all-wrap .loca-wrap .loca-area > a img {margin-top:17px;}
.all-wrap .loca-wrap .loca-area>ul {float: left;margin:0; padding:0;}
.all-wrap .loca-wrap .loca-area>ul>li{float:left;width:220px;height:70px;position:relative; margin-left:-1px}
.all-wrap .loca-wrap .loca-area>ul>li button{height:69px;width:220px;position:relative;text-align:left; background-image:url(../img/loca_arrow_off.png);background-position-y:50%;background-position-x:100%;background-repeat:no-repeat;-webkit-transition:background .3s ease;-moz-transition:background .3s ease;-o-transition:background .3s ease;-ms-transition:background .3s ease;  border:0;  background-color: inherit; box-sizing: border-box;
    border-left: 1px solid #ddd; border-right: 1px solid #ddd;}
.all-wrap .loca-wrap .loca-area>ul>li button.active{background-image:url(../img/loca_arrow_on.png);background-position-y:50%;background-position-x:100%;background-repeat:no-repeat;}
.all-wrap .loca-wrap .loca-area>ul>li button span {padding-left: 19px;background-color: transparent; color:#333; font-size:15px}
.all-wrap .loca-wrap .loca-area>ul>li div{overflow:hidden;height:0;position:relative}
.all-wrap .loca-wrap .loca-area>ul>li div ul{display:block;position:absolute;width:100%;left:0;border:1px solid #ddd; background-color:#fff; padding:0}
.all-wrap .loca-wrap .loca-area>ul>li div ul li a{ border-bottom:1px solid #ddd; background:#fff;height:46px;color:#555;line-height:46px;display:block;-webkit-transition:background .3s ease;-moz-transition:background .3s ease;-o-transition:background .3s ease;-ms-transition:background .3s ease;padding-left:19px; font-size:15px; box-sizing:border-box}
.all-wrap .loca-wrap .loca-area>ul>li div ul li a:hover { color:#000; font-weight:bold}
.all-wrap .loca-wrap .share-area {float: right; display:block; padding-top:16px;box-sizing: border-box;}
.all-wrap .loca-wrap .share-area .hide-wrap{width:151px;height:34px;overflow:hidden;float:left}
.all-wrap .loca-wrap .share-area .hide-wrap .hide-area{width:151px;height:34px;position:relative;left:200px}
.all-wrap .loca-wrap .share-area .hide-wrap .hide-area ul {overflow: hidden; padding:0; margin:0}
.all-wrap .loca-wrap .share-area .hide-wrap .hide-area ul li {float: left;margin-left: 13px; border-bottom: 1px solid #ddd; cursor:pointer}
.all-wrap .loca-wrap .share-area .hide-wrap .hide-area ul li:first-child {margin-left: 0;}
.all-wrap .loca-wrap .share-area .share-btn{width:34px;height:34px;background-image:url(../img/share_open_bt.png);float:right;text-indent:-9999px;padding-left:18px;box-sizing:unset;background-repeat:no-repeat;background-position-x:right;transition:all .5s ease;     background-color: inherit; border:0; margin-right:20px}
.all-wrap .loca-wrap .share-area .share-btn.active {background-image: url(../img/share_close_bt.png);border-left: 1px solid #fff;}

@media screen and (max-width: 640px) {
    .all-wrap .loca-wrap .loca-area {100%; float:none;}
	.all-wrap .loca-wrap .loca-area > a {width:10%;}
	.all-wrap .loca-wrap .share-area { display:none}
	.all-wrap .loca-wrap .loca-area > ul {width:100%;}
	.all-wrap .loca-wrap .loca-area > ul > li { width:50%}
	.all-wrap .loca-wrap .loca-area > ul > li:first-child { border:0}
	.all-wrap .loca-wrap .loca-area > ul > li button {width:100%; border-right:0}
	.all-wrap .loca-wrap .loca-area i { display:none}
}
/*서브 하단 네비*/






/*푸터*/
#footer { padding: 30px 0; width: 100%; margin: 0 auto; position:relative;  background-color:#000; clear:both; }
#footer .footer_in { position:relative; max-width:96%; padding:0 20px; margin:0 auto; }

/* 상단 메뉴 */
#footer .footer_top_menu { padding: 0 0 25px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2);}
#footer .footer_top_menu a { font-size: 1rem; color: #fff; text-decoration: none; margin-right: 20px; }
#footer .footer_top_menu a:last-child { margin-right: 0; }
#footer .footer_top_menu a:hover { text-decoration: underline; }

/* 구분선 */

/* 푸터 콘텐츠 */
#footer .footer_content { align-items: flex-start; }
#footer .footer_logo_wrap { flex-shrink: 0; margin:20px 0;}
#footer .footer_logo_img { height: auto; width: auto; max-height: 20px; display: block; margin-bottom: 8px; }
#footer .footer_company_name { font-size: 1rem; color: #fff; margin: 0; padding: 0; }

/* 주소 정보 */
#footer .footer_address { flex: 1; font-style: normal; color: #fff; font-size: 1rem; line-height: 1.8; }
#footer .footer_address .adr { display: block; margin: 0 0 8px 0; font-weight:300 }
#footer .footer_address .adr strong {font-weight:700}
#footer .footer_address .copyright { display: block; margin: 20px 0 0; font-size: 0.875rem; color: #fff; }

/* 반응형 */
@media screen and (max-width: 768px) {
    #footer { width: 100%; padding: 30px 20px; }
    #footer .footer_content { flex-direction: column; gap: 20px; }
    #footer .footer_top_menu a { display: block; margin-bottom: 10px; }
}
/*푸터*/



/* 푸터팝업*/
.tl_pop_con{background:#fff;} 
.tl_pop_con h2.f_pop_tit{width:100%;height:80px;line-height:80px;font-size:20px;color:#fff;}
.tl_pop_con h2.f_pop_tit img {display:inline-block;margin-left:50px;margin-right:5px;margin-top:-10px;width:120px;}
.tl_pop_con h2.f_pop_tit span {display:inline-block; padding-left:50px;}
.f_pop_wrap {line-height:23px;text-align:justify;word-break:break-all;font-size:15px;overflow-y:auto;}
.f_pop_wrap strong {color:#00a19a;font-weight:normal;}
.f_pop_wrap p { color:#333; padding:40px 50px; line-height:1.6;}
.mfp-close:after { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url("../img/btn_close.png") no-repeat center center; -webkit-transition: -webkit-transform 300ms; transition: -webkit-transform 300ms; transition: transform 300ms; transition: transform 300ms, -webkit-transform 300ms; border-radius: 50%; }
.mfp-close { width: 40px; height: 40px; text-indent: -999px;opacity: 1; overflow: hidden; background-color:transparent; border:0; }
button.mfp-close:hover:after { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }
/* 푸터팝업*/

@media (max-width: 1750px) {
    .tl_main_box_wrap .main_heading {font-size: 2rem}
    .tl_main_box_wrap .main_description {font-size: 1.55rem}
}
@media (max-width: 1445px) {
    .tl_main_box_wrap .main_title {font-size: 1.55rem}
    .tl_main_box_wrap .main_heading {font-size: 1.8rem;}
    .tl_main_box_wrap .main_description {font-size: 1.3rem; padding: 32px 0;}
    .tl_main_box_wrap .service_icons_grid.col4 li {margin:2%}

}
@media (max-width: 1330px) {
    .tl_main_box_wrap .main_title {font-size: 1.3rem;}
    .tl_main_box_wrap .main_heading {font-size: 1.6rem;}
    .tl_main_box_wrap .main_description {font-size: 1.2rem; padding: 24px 0; }
    .tl_contact_box_wrap .contact_label {font-size: 1.4rem;}
    .tl_contact_box_wrap .contact_content {font-size: 1.2rem;}


    .tl_contact_box_wrap .sns_item img {width:40px; height:40px;}
    .tl_contact_box_wrap .sns_item span {font-size:1rem;}
}
@media (max-width: 1200px) {

    .tl_main_box_wrap .main_heading br {display:none;}
    .main-carousel .li .copy_area h2 {font-size: 3rem;}
    .main-carousel .li .copy_area h3 {font-size: 1.9rem;}
    .tl_contact_box_wrap .sns_icons {gap:16px}
}
@media (max-width: 960px) {
    .tl_main_box_wrap.box-reverse .main_inner_flex { flex-direction: row; }
    .tl_main_box_wrap .main_inner_flex { flex-wrap: wrap; }
    .tl_main_box_wrap .img_section {flex: 0 0 100%; height:400px;min-height:auto}
    .tl_main_box_wrap .text_section {flex: 0 0 100%; height:auto; padding:40px 0}
    .tl_main_box_wrap {padding:80px 0;}

    .main-carousel .li .copy_area h2 {font-size: 2.3rem;}
    .main-carousel .li .copy_area h3 {font-size: 1.7rem;}
    .tl_contact_box_wrap .sns_icons {justify-content: start;}
    .tl_contact_box_wrap .sns_item span {font-size:0.85rem;}

}

@media (max-width: 768px) {
    .main-carousel .li .copy_area h2 {font-size: 1.8rem;}
    .main-carousel .li .copy_area h3 {font-size: 1.4rem;}
}

@media (max-width: 520px) {
    .main-carousel .li .copy_area h2 {font-size: 1.4rem;}
    .main-carousel .li .copy_area h3 {font-size: 1.2rem;}

    .tl_contact_box_wrap .sns_item img {width:36px; height:36px;}
    .tl_contact_box_wrap .sns_icons {gap:8px}



}
