@charset "utf-8";

body { width: 100%; overflow: initial; }
body, html { text-align: initial; height: 100%; }
html { scroll-behavior: auto; }
a { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; text-decoration: none; }
img { max-width: 100%; }
.sub img { width: 100%; }
button { -webkit-border-radius: 0; border-radius: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 0; background-color: transparent; }
button { cursor: pointer; padding: 0; font-size: inherit; }
body { width: 100%; height: auto; /* overflow-x: hidden; */
}
div[class^="gsap-marker"] { z-index: 9999999!important}
#wrap { width: 100%; word-break: auto-phrase; position: relative; top: 0px; left: 0px; }
#toTop { display: none; text-decoration: none; position: fixed; bottom: 230px; right: 5%; overflow: hidden; width: 50px; height: 50px; border: none; text-indent: -999999px; background: url(../images/totop.png); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; filter: alpha(opacity=60); opacity: 0.6; z-index: 99999; background-color: #e72719; background-repeat: no-repeat; background-position: center center; border-radius: 100px; }
#toTop:hover { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; }
.animate { visibility: inherit !important;

}:root { --sticky-top: 80px; }
.preten_thin { font-family: 'pretendard'!important; font-weight: 300!important; line-height: 1.45;}
.preten_regular { font-family: 'pretendard'!important; font-weight: 400!important; line-height: 1.45;}
.preten_bold { font-family: 'pretendard'!important; font-weight: 600!important; line-height: 1.45;}
.preten_black { font-family: 'pretendard'!important; font-weight: 800!important;line-height: 1.45; }
.sec_tit { font-size: clamp(16px,1.1vw + 12px,18px); line-height: 1.4; color: #000; }
.sec_tit2 { font-size: clamp(17px,1.2vw + 12px,20px); line-height: 1.4; color: #000; }
.sec_tit3 { font-size: clamp(19px,1.45vw + 12px,24px); line-height: 1.35; color: #000; }
.sec_tit4 { font-size: clamp(20px,1.9vw + 12px,30px); line-height: 1.3; color: #000; }
.sec_tit5 { font-size: clamp(20px,2.35vw + 12px,36px); line-height: 1.28; color: #000; }
.sec_tit6 { font-size: clamp(24px,2.75vw + 12px,42px); line-height: 1.25; color: #000; }
.sec_tit7 { font-size: clamp(26px,3.1vw + 12px,48px); line-height: 1.25; color: #000; }
.sec_tit8 { font-size: clamp(32px,4vw + 12px,60px); line-height: 1.2; color: #000; }
.sec_tit9 { font-size: clamp(34px,4.6vw + 12px,70px); line-height: 1.15; color: #000; }
.sec_tit10 { font-size: clamp(42px,5.6vw + 12px,90px); line-height: 1.1; color: #000; }
.sec_tit11 { font-size: clamp(48px,7.2vw + 12px,120px); line-height: 1.05; color: #000; }
.sec_txt { font-size: clamp(13px,.6vw + 10px,15px); line-height: 1.6; color: #222; }
.sec_txt2 { font-size: clamp(14px,.9vw + 10px,18px); line-height: 1.55; color: #222; }
.sec_txt3 { font-size: clamp(16px,1.35vw + 10px,24px); line-height: 1.5; color: #222; }
.sec_txt4 { font-size: clamp(14px,.7vw + 10px,16px); line-height: 1.55; color: #222; }
.sec_tit b, .sec_tit2 b, .sec_tit3 b, .sec_tit4 b, .sec_tit5 b, .sec_tit6 b, .sec_tit7 b, .sec_tit8 b, .sec_tit9 b, .sec_tit10 b, .sec_tit11 b { font-weight: 600; letter-spacing: -0.01em; }
.sec_tit8 b, .sec_tit9 b, .sec_tit10 b, .sec_tit11 b { font-weight: 500; letter-spacing: -0.02em; }
.s_sec_top_txt_wrap { padding: 300px 0 50px; }
.txt_center { text-align: center; }
.txt_left { text-align: left; }
.txt_right { text-align: right; }
.bbbgap { height: 200px; }
.bbgap { height: 150px; }
.bgap { height: 100px; }
.gap { height: 50px; }
.sgap { height: 30px; }
.ssgap { height: 20px; }
.sssgap { height: 10px; }
.ssssgap { height: 5px; }
.nopd { padding: 0 !important; }
.sec_pd50 { padding: 50px 0; }
.sec_pd80 { padding: 80px 0; }
.sec_pd100 { padding: 100px 0; }
.sec_pd150 { padding: 150px 0; }
.sec_pd180 { padding: 180px 0; }
.bold800 { font-weight: 800!important}
.bold700 { font-weight: 700!important}
.bold600 { font-weight: 600!important}
.bold500 { font-weight: 500!important}
.bold400 { font-weight: 400!important}
.bold300 { font-weight: 300!important}
.bold200 { font-weight: 200!important}
.txt_color_01 { color: #f00000!important}
.txt_color_02 { color: #01b4ed!important}
.txt_color_03 { color: #777!important}
.txt_wh { color: #fff !important}
.c_list01 { text-align: left; }
.c_list01 > li { padding: 2px 0 2px 15px; position: relative; top: 0px; left: 0px; word-break: break-all; font-size: 16px; font-weight: 500; }
.c_list01 > li:before { content: ""; position: absolute; top: 13px; left: 0px; width: 5px; height: 2px; border-radius: 100px; background-color: #ffffff78; }
.c_list01 > li > .tit { position: relative; top: 0px; left: 0px; font-size: 1em; vertical-align: top; color: #222; font-weight: 500; display: inline-block}
.c_list01 > li > .txt { position: relative; top: 0px; left: 0px; font-size: 1em; display: inline-block}
.c_list01 > li > .tit:before { display: inline-block; vertical-align: top}
.c_list01 > li > .txt:before { display: inline-block; vertical-align: top}
.c_list01 > li > .tit:after { display: inline-block; vertical-align: top; font-size: 1em}
.c_list01 > li > .tit.no-blt { display: block}
.c_list01 > li > .tit.no-blt:after { display: none}
.c_list01 > li > .txt:after { display: inline-block; vertical-align: top}
.c_list01 > li > .tit:first-child:after { content: ":"; padding: 0 7px; position: relative; top: 1px; right: 0px; vertical-align: top}
.c_list01 > li > ul,.c_list01 > li > ol { display: block; width: 100%; padding: 10px 0}
/* Header */
.header_all_wrap a { display: block; }
.header_all_wrap { width: 100%; top: 0px; left: 0px; z-index: 1004; background-color: transparent; position: fixed; transition: transform 0.25s ease-out; will-change: transform; }
.top_nav_wrap { display: flex; border: 1px solid transparent; background: transparent; }
.header_wrap { width: 100%; padding: 15px 10%; position: relative; top: 0px; left: 0px; z-index: 5; }
.header_mid { position: relative; top: 0; left: 0px; padding: 0; width: 100%; display: flex; justify-content: space-between; }
.header_mid_wrap { position: relative; }
.logo_wrap { position: relative; left: 0px; width: 100%; max-width: 85px; z-index: 100; height: auto; }
.logo { position: relative; top: 0px; left: 0px; width: 100%; }
.logoImg { display: block; width: 253px; height: 39px; background: url(../images/main/logo_w.png); }
.scroll .logoImg { display: block; width: 253px; height: 39px; background: url(../images/main/logo_b.png); }
.top_nav .logo { pointer-events: none; }
.color_white { color: #fff; }
.hidden_txt { position: absolute!important; font-size: 0!important; line-height: 0!important; overflow: hidden!important; }
.mobile_his { display: none; }
.news_ticker_wrap { display: inline-block; vertical-align: middle; padding: 0 50px 0 0; text-align: left; }
.lang_all_wrap { position: absolute; text-align: left; display: flex; align-items: center; top: 22px; right: 100px; }
.m_menu_btn .path { width: 60px; height: 2px; background-color: #000; }
/* 밝은 배경일 때 (검정) */
body.header-black .m_menu_btn .path { background-color: #000; }
/* 어두운 배경일 때 (흰색) */
body.header-white .m_menu_btn .path { background-color: #fff; }
.m_menu_btn_wrap { display: flex; padding: 0; text-align: center; align-items: center; justify-content: center; }
#mnavToggle { display: block; }
#mnav-depth1 { display: block; padding-left: 0%; }
#mnav-depth2 { display: block; padding-left: 0%; }
.mnav-toggle { display: block; position: fixed; right: 15px; top: 15px; z-index: 11000; width: 40px; height: 40px; border: none; background: transparent; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.mnav-toggle .mnav-icon, .mnav-toggle .mnav-icon::before, .mnav-toggle .mnav-icon::after { content: ''; display: block; width: 24px; height: 2px; background: #111; border-radius: 1px; transition: all .3s ease; position: absolute; }
.main .mnav-toggle .mnav-icon, .main .mnav-toggle .mnav-icon::before, .main .mnav-toggle .mnav-icon::after { background: #fff; }
.main.scroll .mnav-toggle .mnav-icon, .main.scroll .mnav-toggle .mnav-icon::before, .main.scroll .mnav-toggle .mnav-icon::after { background: #111; }
.b_tp .mnav-toggle .mnav-icon, .b_tp .mnav-toggle .mnav-icon::before, .b_tp .mnav-toggle .mnav-icon::after { background: #fff; }
.b_tp.scroll .mnav-toggle .mnav-icon, .b_tp.scroll .mnav-toggle .mnav-icon::before, .b_tp.scroll .mnav-toggle .mnav-icon::after { background: #fff; }
.main.scroll .mnav-toggle.active .mnav-icon { background: transparent; }
.b_tp.scroll .mnav-toggle.active .mnav-icon { background: transparent; }




.w_tp .m_menu_btn .path { background-color: #fff; }
.w_tp .lang_box a { color: #fff; }

.w_tp .open .m_menu_btn .path { background-color: #000; }
.w_tp .open .lang_box a { color: #000; }
.w_tp .scroll .m_menu_btn .path { background-color: #000; }

.w_tp .scroll .lang_box a { color: #000; }



.main .open .m_menu_btn .path { background-color: #000; }
.main .open .lang_box a { color: #000; }



.mnav-toggle .mnav-icon::before { margin-top: -8px; }
.mnav-toggle .mnav-icon::after { margin-top: 8px; }
.mnav-toggle.active .mnav-icon { background: transparent; }
.mnav-toggle.active .mnav-icon::before { transform: rotate(45deg); margin-top: 0; background: #000; }
.mnav-toggle.active .mnav-icon::after { transform: rotate(-45deg); margin-top: 0; background: #000; }
.sub_01_01 #wrap { position: relative; }
.mnav { display: none; position: fixed; inset: 0; z-index: 10999; }
.mnav.active { display: block; overflow: hidden; }
.mnav-sheet { position: absolute; top: 0; height: 100vh; background: #fff; overflow-y: auto; transition: none; overflow: hidden; }
.mnav-list { list-style: none; margin: 0; padding: 0; }
.mnav-item-wrap { border-bottom: 1px solid #eee; }
.mnav-item { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 14px 16px; font-size: 16px; background: none; border: none; color: #333; text-align: left; }
.mnav-item .chev::after { content: ""; display: inline-block; width: 16px; height: 16px; background-repeat: no-repeat; background-size: contain; background-position: center; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
.mnav-item { position: relative; display: flex; align-items: center; gap: 8px; padding: 14px 16px; color: #333; text-decoration: none; width: 100%; text-align: left; gap: 20px; justify-content: flex-start; }
.mnav-item-wrap.open .chev::after { transform: rotate(180deg); }
.mnav-list { list-style: none; margin: 0; padding: 0; }
.mnav-list li { border-bottom: 1px solid #eee; }
.mnav-sub { overflow: hidden; background: #fafafa; transition: max-height 0.3s ease; }
.mnav-sub li a { display: block; padding: 12px 80px; font-size: 15px; color: #444; text-decoration: none; }
.mnav-sub li a:hover { color: #007acc; }
.mnav-panel { width: 100%; height: 100%; overflow: auto; padding-top: 56px; -webkit-overflow-scrolling: touch; overflow-y: inherit; }
.mnav-panel-depth1 { border-right: 1px solid #eee; }
.ServeSwiper { padding-top: 50px; }
.mnav.active { margin-left: 40vw; }
.mnav-sheet { width: 60vw; }
.mnav-backdrop { position: fixed; inset: 0; z-index: 10998; display: none; opacity: 0; background: rgba(0,0,0,.5); transition: opacity .25s ease; overflow: hidden; }
.mnav-backdrop.active { display: block; opacity: 1; }
.mnav-close { position: absolute; right: 8px; top: 8px; width: 36px; height: 36px; background: #fff; border: 0; border-radius: 50%; display: none; }
.mnav-close::before, .mnav-close::after { content: ''; position: absolute; left: 9px; top: 17px; width: 18px; height: 2px; background: #222; }
.mnav-close::before { transform: rotate(45deg); }
.mnav-close::after { transform: rotate(-45deg); }
#mnavDepth2List .sideNav-tit { display: none !important; }
.mnav-item .chev { position: absolute; right: 2%; padding: 10px; top: 2px; }
.mnav-item-text { display: flex; gap: 30px; }
.lang_box { position: relative; z-index: 9999; display: flex; gap: 20px; }
.lang_sub_wrap { display: none; border: 1px solid #e72719; position: absolute; top: 100%; left: 0px; width: 100%; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; background-color: #fff}
.lang_wrap:hover .lang_box_a { color: #fff}
.lang_wrap:hover .lang_sub_wrap { display: block; }
.lang_box a.on { position: relative; color: #e72719; }
.lang_box a.on:after { content: ''; height: 2px; width: 100%; background-color: #e72719; display: block; position: absolute; bottom: -2px; }
.lang_sub_box a { font-size: 13px; color: #333; padding: 0 20px; height: 30px; line-height: 30px; display: flex; justify-content: center; }
.lang_sub_box a:hover { color: #e72719}
.sideNav-tit { display: none !important; }
.sub_menu_a .sideNav-tit { display: none !important; }
.sec_wrap { position: relative; top: 0px; left: 0px; z-index: 800; }
.sub_wrap { position: relative; top: 0px; left: 0px; z-index: 900}
.main_sec_wrap { position: relative; top: 0px; left: 0px; }
.sec_all_wrap .section { overflow: hidden; }
.mFooter { height: auto !important; }
.mFooter .fp-tableCell { height: auto !important; }
.header_wrap a.logo { vertical-align: middle; display: block; font-size: 16px; line-height: 1; width: 100%; text-align: left; }
.logo_off { display: none; }
/*메뉴*/
.top_nav { position: relative; top: 0px; left: 0px; font-size: 14px; text-align: center; z-index: 1; padding-top: 0px; width: auto; }
.top_nav .menu {
}
.top_nav:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }
.top_nav .menu { width: 200px; position: relative; top: 0px; left: 0px; display: inline-block; vertical-align: top; height: 100%; }
.top_nav .menu_a { padding: 0px; font-size: 18px; color: #fff; height: 65px; font-weight: 400; }
.top_nav .menu_a:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.25em; font-size: large; }
.top_nav .menu_a span { vertical-align: middle; display: inline-block; line-height: 1.6; text-align: center; max-width: 100%; position: relative; top: 0px; left: 0px; }
.top_nav .sub_menu_a { display: inline-block; line-height: 1.6; font-size: 16px; color: #666; text-align: center; border-bottom: none; padding: 10px 0; -webkit-transition: none; transition: none; font-weight: 300; word-break: break-all; }
.nav-open .sub_menu_wrap { background-color: #fff; }
.top_nav .sub_menu_wrap { width: 100%!important; position: absolute; left: 0px; -webkit-transition: none; transition: none; text-decoration: none; display: none; padding: 0 0 20px !important; }
.top_nav .sub_menu_wrap > div:hover .sub_menu_a,.top_nav .sub_menu_wrap > div.active .sub_menu_a { color: #e72719; font-weight: 500; -webkit-transition: none; transition: none; }
.top_nav .menu:hover .menu_a, .top_nav .menu.active .menu_a span { color: #e72719; font-weight: 500; }
.top_nav .menu:hover .menu_a span:after { width: 100%; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; }
.top_nav .menu.active .menu_a span:after { width: 100%; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; }
.top_nav .thd_menu_wrap { display: none; }
.top_nav .thd_menu_a { display: none; }
.main.fp-viewing-1 .logo_off { display: none; }
.main.fp-viewing-1 .logo_on { display: block; }
.main.fp-viewing-1 .top_nav .menu_a { color: #000; }
.main.fp-viewing-4 .logo_off { display: none; }
.main.fp-viewing-4 .logo_on { display: block; }
.main.fp-viewing-4 .top_nav .menu_a { color: #000; }
.main.fp-viewing-5 .logo_off { display: none !important; }
.main.fp-viewing-5 .logo_on { display: block !important; }
.main.fp-viewing-5 .top_nav .menu_a { color: #000; }
.main.fp-viewing-5 .top_nav_wrap { background-color: #fff; border: 1px solid #eee}
.m_menu_btn_wrap { position: relative; z-index: 3; }
.header_wrap .m_menu_btn_wrap .m_menu_btn { position: relative; top: 0px; left: 0px; display: flex; justify-content: center; align-content: center; align-items: center; aspect-ratio: 1 / 1; }
.hd_menu .dot { width: 6px; height: 6px; background-color: #e72719; border-radius: 100%; }
.m_menu_wrap { width: 100%; height: 100vh; position: fixed; top: 0px; left: 9999px; bottom: 0; z-index: 999999; background-color: #fff; overflow: hidden; }
.m_menu_wrap a { display: block; color: #222; }
.m_menu_wrap .menu_a.void_link:after { content: ""; width: 8px; height: 8px; border-left: 2px solid #ddd; border-bottom: 2px solid #ddd; display: block; position: absolute; top: 15px; right: 1%; transform: rotate(-45deg); transition: all .3s ease; margin-top: -5px}
.m_menu_wrap .menu_a.void_link.menu_on:after { top: 26px; transform: rotate(-225deg); }
.m_menu_wrap .sub_menu_wrap { display: none; width: 100%!important; font-size: 24px; text-align: left; height: auto !important; }
.m_menu_wrap .sub_menu_wrap .sub_menu_a:first-child { border-top: none; }
.m_menu_wrap .menu_a:hover { color: #e72719; }
.m_menu_wrap .sub_menu_wrap .sub_menu_a:hover { color: #fff; }
.m_menu_wrap .menu_a.menu_on { color: #e72719; }
.m_menu_inner { transform: translateY(-50%); position: relative; top: 30%; }
.sub_nav_wrap .menu { display: none; }
.sub_nav_wrap .menu.active { display: block; }
.sub_nav_wrap .menu_a { display: none; }
.sub_nav_wrap .sub_menu { display: none; }
.sub_nav_wrap .sub_menu_a { display: none; }
.sub_nav_wrap .sub_menu.active { display: block; }
.sub_nav_wrap .thd_menu_wrap { font-size: 0px; }
.sub_nav_wrap .thd_menu { display: inline-block; padding: 5px}
.sub_nav_wrap .thd_menu_a { padding: 0px; font-size: 16px; color: #fff; padding: 5px 15px; font-weight: 400; display: block; border: 1px solid rgba(255, 255, 255, 0.5); text-align: center; border-radius: 100px; }
.sub_nav_wrap .thd_menu_a:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.27em; font-size: large; display: none; }
.sub_nav_wrap .thd_menu_a span { vertical-align: middle; display: inline-block; line-height: 1.6; text-align: center; max-width: 100%; position: relative; top: 0px; left: 0px; min-width: 90px; }
.sub_nav_wrap .thd_menu_a:hover { background-color: #fff; color: #222; }
.sub_nav_wrap .thd_menu.active .thd_menu_a { background-color: #fff; border-color: #fff; color: #222}
.sub_nav_wrap .sub_menu_02 .thd_menu_04 .thd_menu_a { background-color: #1361ac; border-color: #1361ac; color: #fff}
#mnavToggle { transition: transform 0.25s ease-out, opacity 0.2s ease-out; will-change: transform, opacity; }
#mnavToggle.is-hide { transform: translateY(-150%); opacity: 0; pointer-events: none; }
#mnavToggle.is-show { transform: translateY(0); opacity: 1; pointer-events: auto; }
.header-hide .mnav-toggle { transform: translateY(-150%); opacity: 0; pointer-events: none; }
.header-show .mnav-toggle { transform: translateY(0); opacity: 1; pointer-events: auto; }
.w_tp .logo_on { display: inline-block; }
.w_tp .logo_off { display: none; }
.w_tp .m_menu_btn:before { background-color: #222; }
.w_tp .m_menu_btn:after { background-color: #222; }
.w_tp .m_menu_wrap .lang_box .lang_box_a:after { border-color: #fff !important; }
.w_tp .top_nav .menu_a { color: #fff; }
.b_tp .lang_box .lang_box_a { color: #fff; }
.b_tp .open .lang_box .lang_box_a { color: #000; }
.b_tp .lang_box .lang_box_a:after { border-bottom: 5px solid #fff; }
.b_tp.scroll .lang_box a { color: #999; font-size: 14px; font-weight: 500; border-bottom: 2px solid transparent; }
.b_tp.scroll .lang_box .lang_box_a { color: #fff; }
.b_tp.scroll .lang_box a:hover { color: #000; border-bottom: 2px solid #e72719; }
.b_tp.scroll .lang_box .lang_box_a:after { border-bottom: 5px solid #000; }
.b_tp.scroll .lang_box .lang_box_a:hover:after { border-bottom: 5px solid #fff; }
.b_tp .header_top_box_ico > a { color: #fff !important; }
.b_tp.scroll .header_top_box_ico > a { color: #fff!important; }
.b_tp .top_nav .menu_a { color: #000; }
.m_close_wrap { position: relative; top: 0px; left: 0px; padding: 20px; text-align: center; }
.m_close_btn { width: 40px; height: 40px; position: relative; top: 0px; left: 0px; display: inline-block!important; background-color: #0000002e; border-radius: 100%; }
.m_close_btn:before, .m_close_btn:after { content: ""; display: block; position: absolute; width: 20px; height: 2px; background: #fff; top: 0; right: 0; bottom: 0; left: 0; margin: auto}
.m_close_btn:before { transform: rotate(-45deg); transition: all .3s ease}
.m_close_btn:after { transform: rotate(45deg); transition: all .3s ease .15s}
.m_menu { padding: 20px 5%; width: 1400px; margin: 0 auto; }
.m_menu { display: grid; row-gap: 30px; column-gap: 0px; grid-template-columns: repeat(1, 1fr); align-items: stretch; }
.m_menu .menu { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid rgb(0 0 0 / 10%); padding-bottom: 30px; gap: 50px; position: relative; }
.m_menu .menu_a { display: flex; flex-wrap: nowrap; align-items: center; font-size: 30px; font-weight: 600; text-transform: uppercase; width: 280px; white-space: nowrap; }
.m_menu .sub_menu_wrap { width: 100%!important; display: none; }
.m_menu .sub_menu { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between; gap: 50px; padding-bottom: 15px; }
.m_menu .sub_menu:last-child { padding-bottom: 0; }
.m_menu .sub_menu_a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    text-transform: uppercase;
    white-space: nowrap;
    padding: 0;
    width: 100%;
}
.m_menu .thd_menu_wrap { display: grid; width: 100%; row-gap: 20px; column-gap: 50px; text-align: left; flex-wrap: wrap; }
.m_menu .thd_menu_a { height: 100%; width: 100%; align-items: center; justify-content: center; font-size: 16px; font-weight: 300; line-height: 1.4; opacity: 0.8; }
.m_menu .menu:hover .menu_a span { color: #e72719; }
.m_menu .sub_menu:hover .sub_menu_a span { color: #e72719; }
.m_menu .thd_menu_a:hover { opacity: 1}
.m_menu .thd_menu_a:hover span { color: #ffb300; }
/*Owl-Carousel*/
.owl-carousel { position: relative; top: 0px; left: 0px; }
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev { position: absolute; top: 50%; width: 15px; height: 15px; margin-top: 0; background-repeat: no-repeat; background-position: center center; background-size: 20%; padding: 20px !important; border-radius: 100%; }
.owl-carousel .owl-nav button span { display: none; }
.owl-carousel .owl-nav button.owl-prev { left: -30px; background-image: url(../images/common/arr_prev.svg); background-repeat: no-repeat; background-position: center center; }
.owl-carousel .owl-nav button.owl-next { right: -30px; background-image: url(../images/common/arr_next.svg); background-repeat: no-repeat; background-position: center center; }
.owl-carousel .owl-dots { position: absolute; bottom: 40px; left: 0px; width: 100%; text-align: center; font-size: 0px; }
.owl-carousel .owl-dots button { display: inline-block; }
.owl-carousel .owl-dots button span { display: inline-block; width: 6px!important; height: 6px!important; overflow: hidden; background-color: #00000038 !important; border-radius: 10px !important; margin: 2px; opacity: 1!important; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; text-decoration: none; }
.owl-carousel .owl-dots button.active span { opacity: 1; }
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { background: #e72719 !important; }
.owl-carousel .item { position: relative; top: 0; left: 0; width: 100%; height: 100vh; }
.item_tit_en { font-size: 18px; font-weight: bold; line-height: 1.6; text-align: center; color: #333; padding: 5px 0; }
.item_tit_kr { font-size: 16px; font-weight: 300; line-height: 1.6; text-align: center; color: #666; padding: 5px 0}
.owl-carousel .owl-item .item_img img { width: initial; }
.owl-carousel .owl-item .item_img img { width: initial; display: inline-block; }
.owl-carousel .owl-nav button.owl-prev:hover { background-color: #eee; background-image: url(../images/common/arr_prev.svg); background-repeat: no-repeat; background-position: center center; }
.owl-carousel .owl-nav button.owl-next:hover { background-color: #eee; text-decoration: none; background-image: url(../images/common/arr_next.svg); }
.owl-carousel .owl-stage-outer { position: relative; overflow: visible!important; -webkit-transform: translate3d(0, 0, 0); }
/* main */

.main-01-section-wrap.con { position: relative; width: 100%; height: 100vh; display: grid; grid-template-columns: 1.3fr 1fr; }
.pdt_img_wrap { position: absolute; top: 32%; left: 50%; transform: translateX(-50%); z-index: 100; }
.pdt_img_wrap img { width: 28vw; }
.main-01-section-wrap .bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -10}
.main-01-section-wrap .left_wrap .bg { background-color: #101010; }
.main-01-section-wrap .left_wrap { position: relative; display: flex; align-items: flex-start; padding: 32% 5% 40% 17.5%; flex-direction: column; justify-content: center; border-radius: 0 40px 40px 0; overflow: hidden; z-index: 10; }
.main-01-section-wrap .right_wrap { position: relative; padding: 0% 24% 0% 5%; text-align: right; margin-left: -40px; }
.main-01-section-wrap .right_wrap .bg { background-color: #f8f8f9; background-size: cover; }
.main-01-section-wrap .right_wrap .bg.video_bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; overflow: hidden; }
.main-01-section-wrap .right_wrap .bg.video_bg video { width: 100%; height: 100%; object-fit: cover; display: block; }
.main-01-section-wrap .left_wrap .bg { background: url(../images/main/video_coverbg.jpg) no-repeat center; background-size: cover; }
.main_txt_color { color: #111 !important; }
.main-01-section-wrap .tit { color: #fff; font-weight: 200; line-height: 1.2; height: 100vh; display: flex; flex-direction: column; justify-content: center; }
.main-01-section-wrap .tit img { width: 450px; }
.main-01-section-wrap { position: relative; }
.main_tit_wrap { display: flex; justify-content: space-between; position: absolute; top: 50% ; left: 50%; transform: translate(-50%, -50%); z-index: 101; width: 100%; padding: 0 10%; }
.quick_hex { position: absolute; right: 3%; top: 50%; transform: translateY(-50%); z-index: 999; display: flex; flex-direction: column; gap: 50px; }
.hex { width: 70px; height: 40px; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 600; text-align: center; position: relative; cursor: pointer; transition: 0.3s; }
.hex::before, .hex::after { content: ""; position: absolute; left: 0; width: 0; border-left: 35px solid transparent; border-right: 35px solid transparent; }
.hex::before { bottom: 100%; }
.hex::after { top: 100%; }
.hex_blog { background: #2ecc71; font-size: 25px; }
.hex_blog::before { border-bottom: 20px solid #2ecc71; }
.hex_blog::after { border-top: 20px solid #2ecc71; }
.hex_ch { background: #f1c40f; color: #000; font-size: 50px; }
.hex_ch::before { border-bottom: 20px solid #f1c40f; }
.hex_ch::after { border-top: 20px solid #f1c40f; }
.hex_reserve { background: #e74c3c; font-size: 40px; }
.hex_reserve::before { border-bottom: 20px solid #e74c3c; }
.hex_reserve::after { border-top: 20px solid #e74c3c; }
.hex:hover { transform: translateY(-3px) scale(1.05); }
.more_btn_a { padding: 10px 22px 10px 28px; display: inline-flex; font-size: 20px; font-weight: 300; color: #fff; border-radius: 100px; background-color: #000; align-items: center; }
.more_btn_a i { padding-left: 10px; }
.more_btn.redbtn .more_btn_a { background-color: #e72719; }
.more_btn_wrap { display: flex; gap: 10px; }













.mockup_wrap img { position: absolute; }
.mockup_wrap img:first-child { left: 27%; bottom: -22%; }
.mockup_wrap img:nth-child(2) { left: 43.5%; bottom: 18%; }
.mockup_wrap img:nth-child(3) { left: 60%; top: 15%; }
.mockup_wrap img:last-child { left: 60%; top: 57%; }
.more_btn_a .logoico { display: inline-block; padding-right: 5px; }
.appbtn .more_btn_a { background: linear-gradient(180deg,rgba(27, 198, 252, 1) 0%, rgba(30, 113, 243, 1) 100%); }
.main_vis_02 { background: #FFF6EE; }
.main_sec_wrap02 { display: flex; justify-content: space-between; align-items: center; }
.main_sec02_obj { width: 65%; }
.main_sec02_obj img { object-fit: contain; }
.main_sec_02_text_wrap { white-space: nowrap; height: 100vh; display: flex; flex-direction: column; align-items: flex-start; text-align: left; justify-content: center; }
.mboard_wrap { position: absolute; z-index: 9999; left: 50%; transform: translateX(-50%); width: 100%; max-width: 80%; bottom: 60px; padding: 0%; overflow: hidden; }
.main_sec_all_wrap .mboard_wrap .owl-nav { display: none !important}
.main-01-section-wrap .right_wrap .tit { position: relative; z-index: 10; height: 100vh; display: flex; flex-direction: column; justify-content: center; }
.mainProject_list { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; width: 50%; }
.mainProject_item_a { display: block; width: 100%; height: 330px; padding: 30px; background-color: #ffffff20; border-radius: 10px; overflow: hidden; position: relative; }
.mainProject_item_a * { color: #fff}
.main_sec_03_text_wrap { display: flex; flex-direction: column; justify-content: center; }
.plusbtn { font-size: 30px; position: absolute; top: 30px; right: 30px; z-index: 10; color: #fff; opacity: 0.5; }
.plusbtn_circle { position: absolute; top: 30px; right: 30px; z-index: 10; width: 50px; height: 50px; border-radius: 50%; background: rgba(255,255,255,0.1); }
.plusbtn_circle i { font-size: 20px; color: #fff; opacity: 0.5; line-height: 50px; text-align: center; width: 50px; }
.mainProject_item:hover .plusbtn_circle { background: #e72719; }
.mainProject_item:hover .plusbtn_circle i { color: #fff; opacity: 1; }
.mainProject_item_a .symbol .on { display: none; }
.mainProject_item_a:hover .symbol .on { display: block; }
.mainProject_item_a:hover .symbol .off { display: none; }
.mainProject_item_a:hover { background-color: #fff; }
.mainProject_item_a:hover .tit { color: #000}
.mainProject_item_a:hover .plusbtn * { color: #e72719; }
.mainProject_item_a:hover .plusbtn { opacity: 1}
.mainProject_item_a .tit { position: absolute; font-size: 30px; font-weight: 600; bottom: 30px; }
.mainProject_item_a .txt { font-size: 16px; line-height: 1.4; opacity: 0.8; position: absolute; bottom: 30px; }
.mainProject_item_a .bg { background-repeat: no-repeat; background-size: cover; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.main_vis_03 .main_sec_wrap { display: flex; justify-content: space-between; }
.main_vis_03_bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url(../images/main/main_vis_03_bg.jpg) no-repeat center; background-size: cover; }
.main_sec_03_text_wrap * { color: #fff; }
.main_sec_in { position: relative; top: 0px; left: 0px; right: 0; bottom: 0; z-index: 10; max-width: inherit; padding: 0 8%; overflow: visible; }
.view_more_btn a { display: inline-block; text-align: left; position: relative; font-size: 18px; color: #fff; line-height: 1; margin: 0 auto; }
.view_more_btn_a span { padding-right: 10px; }
.view_more_btn i { display: inline-flex; margin-left: 10px; width: 30px; height: 30px; line-height: 30px; border-radius: 100%; background-color: #fff; color: #000; align-items: center; justify-content: center; }
.div_line { width: 100%; height: 2px; background-color: #eee; }
.img-box { width: 100%; height: 100vh; display: block; background-size: cover; }
.main_bg_btn { position: absolute; display: inline-block; text-align: left; padding: 15px 30px; position: relative; font-size: 18px; color: #fff; line-height: 1; border-radius: 100px; background: #75BB51; background: linear-gradient(90deg, rgba(117, 187, 81, 1) 50%, rgba(19, 153, 188, 1) 100%); margin: 0 auto; }
.main_bg_btn_01 { top: 44%; left: 26%; }
.main_bg_btn_02 { top: 24%; left: 40%; }
.main_bg_btn_03 { top: 34%; left: 60%; }
.pdt_slider_wrap .owl-nav button.owl-prev { background-color: #cfcfcf !important; background-image: url(../images/common/arr_prev_on.svg); }
.pdt_slider_wrap .owl-nav button.owl-next { background-color: #cfcfcf !important; background-image: url(../images/common/arr_next_on.svg); }
.main_top_txt_bg_wrap { position: relative; top: 0px; left: 0px; visibility: hidden; }
.main_top_txt_all_wrap { position: absolute; top: 0px; left: 0px; scale: 0.5; transform: translateY(100%); width: 100%; height: 100%; color: #f26121; }
.main_bt_txt_all_wrap { position: absolute; text-align: left; bottom: 0; }
.main_sec_01_con_all_wrap { position: relative; top: 0px; left: 0px; height: 100vh}
.main_sec_01_con_all_wrap:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.27em; font-size: large; }
.main_sec_01_con_wrap { vertical-align: middle; display: inline-block; text-align: center; width: 100%; height: 50%; position: relative; top: 0px; left: 0px; }
.sec_all_wrap { position: relative; top: 0px; left: 0px; width: 100%; z-index: 1000; }
.main_sec_all_wrap { position: relative; top: 0px; left: 0px; z-index: 900; width: 100%; overflow: hidden; }
.main_sec_all_wrap .scroll { position: absolute; bottom: 5%; left: 3%; z-index: 100; transform: translateX(-50%); z-index: 5; }
.main_sec_all_wrap .scroll .txt { font-size: 12px; color: #fff; font-weight: 400; display: inline-block; rotate: -90deg; position: absolute; white-space: nowrap; top: -70px; left: -34px; }
.main_sec_all_wrap .scroll .arr { position: relative; width: 22px; height: 43px; border: 1px solid #fff; background-color: transparent; left: 50%; margin-left: -11px; border-radius: 100px; }
.main_sec_all_wrap .scroll .arr:after { position: absolute; top: 10px; left: 50%; content: ''; width: 4px; height: 4px; margin-left: -2px; border-radius: 100px; background-color: #fff; animation: scroll 1.3s infinite; }
.mbg_slash { position: absolute; top: -5%; right: 5%; }
.mbg_logo { position: absolute; right: -2%; bottom: -25%; z-index: -10; }
.main_motion { background-color: #001a3c; justify-content: center; align-items: center; position: relative; background: url(../images/main/Motion_bg.jpg) no-repeat center; display: flex !important; }
.Motion_text_wrap { display: block; z-index: 100; width: 100%; height: 100vh; top: 0; left: 0; right: 0; bottom: 0; padding: 0 5%; }
.Motion_text_wrap * { color: #fff}
.Motion_text_wrap .tit { position: absolute; left: 5%; top: 150px; }
.Motion_text_wrap .txt { position: absolute; right: 5%; bottom: 150px; text-align: right; }
.MotionPath { width: 17vw; height: 2px; background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,1) 100%); }
.main_vid_03 { height: 100%}
.main_vid_04 { height: 100%}
.main_sec_04_division { height: 165px; padding: 30px 0px; }
#section_05 .fp-tableCell { display: flex; align-items: center; }
.main_sec_all_wrap .owl-carousel { margin: 0 auto; }
.main_sec_all_wrap .owl-carousel .owl-item .item { height: auto; }
.main_sec_all_wrap .owl-carousel .owl-item.active .item_text { display: block !important; }
.main_sec_all_wrap .owl-carousel .owl-item .item .item_text { margin-top: 50px; display: none; }
.main_sec_all_wrap .owl-carousel .owl-item .item .item_text h3 { color: #000; margin-bottom: 20px}
.main_sec_all_wrap .owl-carousel .owl-item .item .item_text p { line-height: 1.45; }
.main_sec_all_wrap .owl-nav { width: 100%; display: block !important; }
.main_sec_all_wrap .nav_container { z-index: 5; position: absolute; width: 750px; transform: translate(-50%,-50%); top: 50%; left: 50%; margin: 0 auto; }
.main_sec_all_wrap .nav_container button span { display: none; }
.main_sec_all_wrap .nav_container .owl-prev { background-color: transparent; border: none; background: url(../images/main/left-nav.png) no-repeat center; position: relative; width: 15px; height: 15px; }
.main_sec_all_wrap .nav_container .owl-next { background-color: transparent; border: none; background: url(../images/main/right-nav.png) no-repeat center; position: relative; width: 15px; height: 15px; }
.pdt_slider_wrap .item { height: auto; display: flex; border-radius: 30px; overflow: hidden; transition: all 0.3s ease; justify-content: center; align-items: flex-end; }
.pdt_slider_wrap img { width: 100% !important; position: relative; background-repeat: no-repeat; background-position: center; background-size: contain; }
.pdt_slider_wrap { display: block !important; width: 35%; margin: 0 auto; overflow: visible; text-align: center; }
.m_menu_btn { display: block; }
.m_menu_btn span { position: relative; }
.hd_menu { display: grid; grid-template-columns: repeat(1,1fr); gap: 9px; }
.hd_search svg { width: 20px; fill: #000000; }
.sub_menu_a { display: none; }
.open .hd_search svg { fill: #000; }
.open .m_menu_btn span { color: #e72719; }
.sub_open .hd_search svg { fill: #000; }
.sub_open .hd_menu { border-top: 2px solid #000; border-bottom: 2px solid #000; }
.sub_open .m_menu_btn span { color: #e72719; }
.scroll .m_menu_btn span { color: #e72719; }
.scroll .hd_search svg { fill: #000; }
.sub .m_menu_btn span { color: #e72719; }
.main .logo_off { display: block}
.main .logo_on { display: none}
.main.scroll .logo_off { display: none}
.main.scroll .logo_on { display: block}
.main .open .logo_off { display: none}
.main .open .logo_on { display: block}
.main .lang_box { background-color: transparent; }
.main .lang_box .lang_box_a { color: #fff; }
.main .open .lang_box .lang_box_a { color: #fff; }
.main .lang_box .lang_box_a:after { border-bottom: 5px solid #fff; }
.main.scroll .lang_box .lang_box_a { color: #fff; }
.main.scroll .lang_wrap:hover .lang_box_a { color: #fff; }
.main.scroll .lang_box .lang_box_a:hover { color: #fff; }
.main.scroll .lang_box .lang_box_a:after { border-bottom: 5px solid #000; }
.main.scroll .lang_box .lang_box_a:hover:after { border-bottom: 5px solid #fff; }





/* SubPage */

.sub_01_01 { overflow-x: hidden; }
.sub_01_02 { overflow-x: hidden; }
.sub_01_05 { overflow-x: hidden; }
.sub #moveDown { position: absolute; bottom: 5%; left: 3%; z-index: 100; transform: translateX(-50%); z-index: 5; }
.sub #moveDown .txt { font-size: 12px; color: #fff; font-weight: 400; display: inline-block; rotate: -90deg; position: absolute; white-space: nowrap; top: -70px; left: -34px; }
.sub #moveDown .arr { position: relative; width: 22px; height: 43px; border: 1px solid #fff; background-color: transparent; left: 50%; margin-left: -11px; border-radius: 100px; }
.sub #moveDown .arr:after { position: absolute; top: 10px; left: 50%; content: ''; width: 4px; height: 4px; margin-left: -2px; border-radius: 100px; background-color: #fff; animation: scroll 1.3s infinite; }
.sub .visual_nav_menu .menu { display: none; }
.sub .visual_nav_menu .menu_a { display: none; }
.sub .visual_nav_menu { margin: 0 auto; position: relative; width: 100%; display: flex; justify-content: center; margin-top: 20px; z-index: 100; }
.sub .visual_nav_menu .menu.active { display: flex; }
.sub .visual_nav_menu .sub_menu_wrap { display: flex; overflow: hidden; }
.sub .visual_nav_menu .sub_menu { display: inline-block; }
.sub .visual_nav_menu .sub_menu:first-child:after { display: none; }
.sub .visual_nav_menu .sub_menu_a:after { content: ''; position: absolute; top: 50%; left: -20px; transform: translateY(-50%); width: 4px; height: 4px; border-radius: 100%; background-color: #e72719; }
.sub .visual_nav_menu .sub_menu_a { display: flex; align-items: center; justify-content: center; padding: 8px 20px; color: #555; font-size: 16px; font-weight: 500; position: relative; transition: all 0.25s ease; margin: 0 20px; }
.sub .visual_nav_menu .sub_menu_a:first-child.active .sub_menu_a:after { display: block}
.sub .visual_nav_menu .sub_menu:first-child .sub_menu_a:after { display: none; }
.sub .visual_nav_menu .sub_menu_a span { display: block; white-space: nowrap; font-size: 16px; line-height: 1.4; }
.sub .visual_nav_menu .sub_menu_a:hover { color: #e72719; }
.sub .visual_nav_menu .sub_menu_a.active { color: #fff; background-color: #e72719; border-radius: 100px; }
.sub_motion_visual_bg_wrap { position: relative; display: flex; overflow: hidden; width: 100%; height: 100vh; padding: 10% 10% !important; }
.sub_motion_visual_bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background-image: url(../images/main/main_manuf_bg.jpg); background-position: center; background-repeat: no-repeat; background-size: cover; background-color: #000; z-index: -10; }
.sub_01 .sub_motion_visual_bg { background-image: url(../images/sub/sub_01.jpg); }
.sub_04 .sub_motion_visual_bg { background-image: url(../images/sub/sub_04.jpg); }
.sub_05 .sub_motion_visual_bg { background-image: url(../images/sub/sub_05.jpg); }
.sub_visual_nav { display: flex; gap: 10px; justify-content: center; padding-bottom: 20px; align-items: center; font-size: 18px; color: #666; }
.sub_visual_nav .p_d_menu_label.mainmenu .menu.active .menu_a.active { display: block; }
.sub_visual_nav .p_d_menu_label .menu_a { display: none}
.sub_visual_nav .p_d_menu_label .menu_a { display: none}
.sub_visual_nav .deco { position: relative; display: inline-block; width: 2px; height: 2px; border-radius: 100%; background-color: #666; }
.sub_visual_nav .p_d_menu_label.mainmenu .active .menu_a { display: block; }
.sub_visual_nav .p_d_menu_label.submenu .sub_menu.active .sub_menu_a { display: block; }
.bbs .sub_visual_nav { justify-content: flex-start; }
.motion_visual_wrap_in { position: relative; }
.sub_motion_visual_txt .tit { display: block; font-size: 48px; color: #fff; font-weight: 600; }
.sub_motion_visual_txt .txt { position: absolute; color: #fff; font-size: 18px; line-height: 1.6; bottom: 0; left: 50%; opacity: 0.8; }
.sub_motion_visual_txt { position: relative; width: 100%; }
.sub_visual_nav a { color: #666; }
.sub_visual_nav a:hover { color: #e72719; }
.board_top_label { padding-top: 150px; }
.board_top_label .title { text-align: center; }
.board_top_label .info { text-align: center; }
.imgSub { padding: 100px 0; }
.imgSub2 { padding: 100px 0 0; }
.buis_tit .num { color: #0f307e; font-size: 18px; font-weight: 600; }
.buis_tit .tit { font-size: 42px; color: #000; font-weight: 600; padding: 10px 0 20px; }
.buis_tit .txt { font-size: 18px; color: #666; line-height: 1.4; padding-bottom: 50px; }
.buis_img { margin-bottom: 50px; }
.buis_img img { border-radius: 20px; }
.buis_detail_list { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.buis_detail_card { background-color: #fff; border: 1px solid #f1f1f1; border-radius: 20px; padding: 50px; box-shadow: 3px 3px 10px 0px #00000012; }
.detail_info_wrap { padding-top: 180px; }
.detail_info_wrap .tit { font-size: 28px; color: #000; font-weight: 600; padding-bottom: 20px; }
.detail_info_wrap .txt { font-size: 18px; font-weight: 300; color: #666; line-height: 1.4; }
.buis_detail_card .ico { display: flex; width: 50px; height: 50px; background-color: transparent; align-items: center; justify-content: center; }
.buis_section:first-child { padding-top: 0}
.buis_section:last-child { border-bottom: inherit; }
.buis_section { padding-top: 100px; padding-bottom: 100px; border-bottom: 1px solid #eee; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.img_item { text-align: center; }
.img_item img { width: 100%; border-radius: 20px; }
.img_item .name { font-size: 20px; color: #000; font-weight: 600; padding-top: 20px; }
.img_list { padding-bottom: 100px; }
.buis_img2 { display: flex; width: 100%; align-items: center; justify-content: center; align-content: center; border: 1px solid #ddd; border-radius: 20px; padding: 50px; margin-bottom: 20px; }
.buis_img_wrap { text-align: center; padding-bottom: 100px; }
.buis_img_wrap .name { font-size: 20px; color: #000; font-weight: 600; }
.sub_01_06 .buis_section:first-child { border-bottom: inherit; }
.sub_02 .board_top_label { padding-bottom: 50px; }
.sub_visual_txt2 { margin: 0 auto; position: relative; top: 0px; left: 0px; display: flex; justify-content: flex-end; }
.sub_visual_txt2:before { content: ""; position: absolute; top: 0px; left: auto; right: 0; bottom: 0px; z-index: -1; }
.sub_visual_txt2 .menu { display: none; }
.sub_visual_txt2 .menu.active { display: block; }
.sub_visual_txt2 .menu_a { display: none; }
.sub_visual_txt2 .sub_menu_wrap { display: flex; width: auto; text-align: center; font-size: 0px; max-width: max-content; margin: 0 auto; gap: 20px; }
.sub_visual_txt2 .sub_menu { display: inline-block; position: relative; top: 0px; left: 0px; vertical-align: bottom; }
.sub_visual_txt2 .sub_menu.active, .sub_top_nav .sub_menu:hover { opacity: 1; color: #e72719; }
.sub_visual_txt2 .sub_menu_a { display: block; position: relative; top: 0px; left: 0px; font-size: 0px; color: #666; padding: 0 10px; padding-bottom: 10px; }
.sub_visual_txt2 .sub_menu_a:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.25em; font-size: large; }
.sub_visual_txt2 .sub_menu_a span { vertical-align: middle; display: block; width: 100%; position: relative; top: 0px; left: 0px; font-size: 16px; font-weight: 400; text-align: center; line-height: 1.4; white-space: nowrap; }
.sub_visual_txt2 .sub_menu:hover .sub_menu_a span, .sub_top_nav .sub_menu.active .sub_menu_a span { color: #e72719; }
.sub_visual_txt2 .sub_menu_a.active { border-bottom: 2px solid #e72719; color: #e72719; }
.main_serve { padding-top: 100px; overflow: visible; }
.news_btn_a { font-size: 18px; font-weight: 500; padding: 10px 30px; border-radius: 100px; color: #999; }
.NewsList { width: 100%; text-align: left; display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.NewsTit_in { display: flex; align-items: center; gap: 50px; }
.news_btn:first-child .news_btn_a { border: 1px solid #202f7c7a; color: #202f7c; }
.NewsTit { display: flex; justify-content: space-between; width: 100%; align-items: center; padding-bottom: 80px; }
.news_btn_a:hover { color: #e72719; }
.news_btn_a i { rotate: 45deg; }
.NewsTit { position: relative; }
.NewsTit ul { display: grid; gap: 10px; position: relative; bottom: 0; grid-template-columns: repeat(3,1fr); }
.clist li { position: relative; font-size: 18px; color: #666; line-height: 1.4; padding-bottom: 5px; padding-left: 20px; }
.clist li:after { content: ''; position: absolute; top: 11px; left: 0; width: 3px; height: 3px; border-radius: 100px; background-color: #666; }
.cert_list { display: grid; grid-template-columns: repeat(5,1fr); gap: 50px 20px; }
.cert_img_wrap { display: flex; flex-direction: column; }
.cert_img { display: flex; padding: 15px 10px; background-color: #f9f9f9; justify-content: center; align-items: center; }
.cert_img_wrap img { background-color: #fff; }
.cert_img_wrap .tit { font-size: 18px; text-align: center; font-weight: 400; color: #666; padding-top: 20px; }
.cert_tit { font-size: 36px; color: #000; font-weight: 600; }
.cert_info_wrap { padding: 100px 0; }
.cert_info_con { padding-bottom: 100px; }
.cert_info_con:last-child { padding-bottom: 0px; }
.location_con_wrap { position: relative; }
.location_con_wrap_bg { position: absolute; top: 0px; left: 50%; bottom: 0px; right: 0px; background-image: url(../images/sub/location_con_bg.png); background-repeat: no-repeat; background-position: top; background-size: contain; z-index: 1; overflow: hidden; width: 150%; transform: translateX(-50%); z-index: -10; }
.location_con_wrap { padding-bottom: 150px; }
.location_info_wrap { position: relative; display: grid; grid-template-columns: repeat(2,1fr); gap: 50px; padding: 50px 80px; border: 1px solid #00aeef; border-radius: 30px; background-color: #fff; z-index: 10; }
.location_info { padding: 50px 0; position: relative; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; }
.info_list th { min-width: 100px; text-align: left; padding-bottom: 10px}
.info_list th i { padding-right: 10px}
.info_list td { padding-bottom: 10px; }
.info_list td span { text-align: left; color: #666; font-weight: 500; }
.line-guide { position: absolute; width: 2px; height: 100%; top: 0; left: 50%; background: #e727192e; margin: 0 auto; display: inline-block; }
.line-guide .history_path { position: absolute; width: 100%; height: 100%; top: 0; left: 50%; transform: translateX(-50%); background: #e72719; }
.history_con_all_wrap { padding-top: 100px; }
.history_con { display: flex; flex-direction: column; padding-bottom: 50px; }
.history_con_right { position: relative; top: 0; left: 0; right: 0; bottom: 0; }
.history_con_right .history_con { position: relative; left: 10%; width: 100%; }
.history_con_left .history_con { position: relative; right: 10%; }
.history_con_all_wrap_in { position: relative; top: 0; left: 0; right: 0; bottom: 0; margin-bottom: 100px; }
.history_con_box { position: relative; display: grid; grid-template-columns: 1fr 1fr; scroll-margin-top: calc(var(--sticky-top) + 20px); }
.his_tit { display: block; font-size: 60px; color: #01099a; font-weight: 500; letter-spacing: -0.025em; padding-bottom: 10px; }
.his_year { font-size: 30px; font-weight: 600; color: #ddd; }
.his_slogan { font-size: 21px; color: #fff; padding-bottom: 30px; }
.his_info { font-size: 18px; line-height: 1.6; padding-top: 20px; color: #222; font-weight: 400; }
.history_con_01.history_con_left { text-align: left; padding-right: 10%; }
.history_con_02.history_con_left { text-align: left; padding-left: 10%; }
.history_con_02 .history_con_right .history_con { position: relative; right: 10%; left: auto; width: 100%; }
.history_con_02 .history_con_tit_wrap { position: relative; left: 10%; width: 100%; }
.history_path_in { position: relative; top: 0; left: 0; display: inline-block; height: 100%; }
.his_dot_wrap { position: absolute; bottom: 0px; left: -4px; height: 14px; width: 15px; }
.his_dot span { background-color: #e72719; width: 10px; height: 10px; display: inline-block; border-radius: 100px; position: relative; top: 0px; left: 0px; z-index: 2; }
.his_dot { position: relative; top: 0px; left: 0px; }
.his_dot:after { content: ""; position: absolute; top: 50%; left: 30%; background-color: #e7271930; width: 60px; height: 60px; z-index: 1; transform: translate(-50%,-50%); border-radius: 100px; animation-duration: 3s; animation-timing-function: ease; animation-delay: 0s; animation-iteration-count: infinite; animation-direction: normal; animation-fill-mode: none; animation-play-state: running; animation-name: hissizeup; }
.history_con img { border-radius: 20px; overflow: hidden; width: 90%; display: block; }
.his_info th { font-weight: 500; vertical-align: top; min-width: 60px; text-align: left; color: #000; }
.his_info td { font-weight: 400; opacity: 0.8; display: block; }
.his_info tr { display: table; margin-bottom: 10px; }
.history_con_tit_wrap img { border-radius: 30px; }
#his-2019-2014 { padding: 100px 0; }
.sub_visual_slogan { opacity: 0; will-change: opacity, transform; position: absolute; top: 0px; left: 0%; bottom: 0px; right: 0px; background-repeat: no-repeat; background-position: center center; background-size: cover; z-index: 1; overflow: hidden; font-size: 36px; font-weight: 600; color: #fff; display: flex; align-items: center; justify-content: center; }
.view_intro_info .sub_tit { display: inline-block; font-size: 18px; font-weight: 500; color: #666; }
.locationWrap .subtit { font-size: 18px; color: #e72719; font-weight: 600; padding-bottom: 15px; }
.locationWrap .tit { font-size: 28px; color: #000; font-weight: 600; }
.location_all_wrap { padding-bottom: 100px; }
.locSection { padding: 100px 0 0; }
.locSection { width: 100%; }
.locMapBox { position: relative; border-radius: 30px; overflow: hidden; }
.locMapBox iframe { width: 100%; height: 720px; border: 0; display: block; }
.locCard { position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); width: 90%; max-width: 1200px; z-index: 2; }
.locCard_inner { display: flex; align-items: flex-start; justify-content: space-between; gap: 60px; padding: 32px 40px; border-radius: 20px; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(20px); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); }
.place-details-compact-container { display: none!important; }
.locCard_title { font-size: 22px; font-weight: 600; }
.locCard_center { flex: 1; }
.locCard_address { font-size: 20px; font-weight: 600; margin-bottom: 14px; }
.locCard_info { display: flex; gap: 28px; }
.locCard_info li { display: flex; align-items: center; gap: 8px; }
.locCard_info .icon { width: 34px; height: 34px; background: #e84131; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.locCard_info .icon i { color: #fff; font-size: 15px; }
.locCard_btn { display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; }
.locCard_btn .icon { width: 52px; height: 52px; background: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.locCard_btn .icon img { width: 24px; }
.locCard_btn .text { font-size: 13px; }
@media (max-width:1024px) {
	.locCard_inner { flex-direction: column; align-items: flex-start; }
	.locCard_info { flex-direction: column; gap: 10px; }
	.locCard_btn { align-self: center; }
}
.map_wrap { position: relative; }
.map_wrap iframe { border-radius: 20px; }
.map_info_wrap { position: absolute; left: 30px; right: 30px; bottom: 30px; padding: 50px; background-color: #ffffffde; backdrop-filter: blur(5px); border-radius: 10px; }
.map_info_wrap th { font-size: 18px; font-weight: 600; color: #000; text-align: left; min-width: 80px; padding-bottom: 10px; }
.map_info_wrap td { font-size: 18px; font-weight: 400; color: #666; text-align: left; min-width: 80px; padding-bottom: 10px; }
.map_info_wrap { display: flex; justify-content: space-between; }
.info_list { display: flex; justify-content: space-between; }
.mapDetail .add { font-size: 24px; font-weight: 600; color: #000; letter-spacing: -0.025em; padding-bottom: 30px; }
.mapDetail .info_list .txt { font-size: 20px; color: #000; }
.info_list li { display: flex; gap: 15px; align-items: center; }
.mapDetail .info_list .ico { display: flex; font-size: 17px; color: #fff; width: 35px; height: 35px; background-color: #dd3627; border-radius: 100%; align-content: center; justify-content: center; align-items: center; }
.goto_map_a .ico { display: flex; width: 70px; height: 70px; padding: 20px; background-color: #fff; border-radius: 100%; justify-content: center; align-items: center; border: 2px solid #eee; }
a.goto_map_a { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.goto_map_a .txt { font-size: 18px; color: #000; font-weight: 600; }
.sub .header_top_box_ico > a { color: #fff; }
.open .header_top_box_ico > a, .scroll .header_top_box_ico > a { color: #fff; }
.nav-open .header_wrap { background: #fff; }
.header_top_box_ico { position: relative; display: inline-block; vertical-align: middle; padding: 0 10px 0 0; text-align: left; top: 19px; }
.header_top_box_ico > a { color: #fff; font-size: 18px; padding: 0 10px; height: auto; line-height: inherit; min-width: 50px; display: inline-block; text-align: center; z-index: 9999; }
.header_top_box_span:first-child { border-left: none; }
.header_top_box_ico > a:hover { color: #e72719; }
.header_top_box_span > a:hover { color: #e72719 !important; }
.header_top_box_span.active > a { color: #e72719; }
.header_show_wrap { border-top: 1px solid #eee; position: relative; top: 0px; left: 0px; z-index: 3; display: none; width: 100%!important; height: auto!important; }
.header_show .menu { position: relative; top: 0px; left: 0px; }
.header_show .menu_a { font-size: 30px; color: #000; position: absolute; top: 26px; left: 0px; font-weight: 700; opacity: 0.05; width: 220px; text-align: right; }
.header_show .sub_menu_wrap { padding-left: 250px; }
.header_show .sub_menu_wrap { display: flex; flex-direction: row; flex-wrap: nowrap; }
.header_show .sub_menu { padding: 30px 35px 30px; text-align: center; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.header_show .sub_menu_a { font-size: 18px; color: #000; font-weight: 600; }
.header_show .thd_menu_a { font-size: 15px; color: #666; font-weight: 400; line-height: 1.4; }
.header_show .thd_menu { padding-bottom: 10px; }
.header_show .thd_menu_a:hover { color: #e72719; }
.header_show .sub_menu:hover { background-color: #fafafa}
.header_all_wrap:hover .header_show_wrap { display: none; }
.sub_menu_video { width: 420px; height: auto; }
.video_wrap { width: 100%; height: 100vh; position: relative; top: 0px; left: 0px; z-index: 999; max-height: 1080px; }
.main_video { position: absolute; left: 0; bottom: 0; top: 0; right: 0; width: 100%; height: 100%; background-size: 100% 100%; background-position: center center; background-size: contain; object-fit: cover; z-index: 3; }
.video_bg { position: absolute; bottom: 0px; z-index: 4; width: 100%; text-align: center; }
.bg_video_box { position: absolute; left: 0; bottom: 0; top: 0; right: 0; width: 100%; height: 100%; background-size: 100% 100%; background-position: center center; background-size: contain; object-fit: cover; filter: brightness(0.6); z-index: 3; }
.con_all_wrap { position: relative; top: 0px; left: 0px; z-index: 1000; overflow: hidden; }
.con_wrap { position: relative; top: 0px; left: 50%; z-index: 1000; width: 2000px; margin-left: -1000px; }
.con_wrap img { width: 100%; }
.on body { overflow: hidden; }
html.on { overflow: hidden; }
.file_search .top_nav .menu_a span { color: #000; }
.sub .header_bar { display: none; }
.sub .header_all_wrap { background-color: transparent; }
.open .logo svg .cls-1 { fill: #e72719}
.open .top_nav .menu_a span { color: #111; }
.open .header_bar { display: block; }
.scroll .header_wrap { background-color: #ffffff; border-bottom: 1px solid #eee; box-shadow: 0 0 10px rgba(0, 0, 0, .08); }
.scroll .logo svg .cls-1 { fill: #e72719}
.scroll .top_nav .menu_a span { color: #000; }
.scroll .header_bar { display: block; }
.logo svg .st0 { fill: #111; }
.w_tp .logo svg .st0 { fill: #fff; }
.logo svg .st1 { fill: #f00; }
.header_wrap a.logo svg { max-width: 200px; width: 100%; }
.header_wrap a.logo .logo_off svg .st0 { animation: stroke 2s forwards ; stroke-width: 1; text-anchor: start}
.header_wrap a.logo .logo_off svg .st1 { animation: stroke2 2s forwards ; stroke-width: 1; text-anchor: start}
.header_wrap a.logo .logo_on svg .st0 { animation: stroke1 2s forwards ; stroke-width: 1; text-anchor: start}
.header_wrap a.logo .logo_on svg .st1 { animation: stroke2 2s forwards ; stroke-width: 1; text-anchor: start}


.w_tp .header_wrap a.logo .logo_on svg .st0 { animation: stroke 2s forwards ; stroke-width: 1; text-anchor: start}
.w_tp .open .header_wrap a.logo .logo_on svg .st0 { animation: stroke1 2s forwards ; stroke-width: 1; text-anchor: start}
.w_tp .scroll .header_wrap a.logo .logo_on svg .st0 { animation: stroke1 2s forwards ; stroke-width: 1; text-anchor: start}

.sub_sec_bg { position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; overflow: hidden; }
.sec_in { width: 100%; margin: 0 auto; position: relative; top: 0px; left: 0px; z-index: 2; max-width: calc(1400px + 10%); padding-left: 5%!important; padding-right: 5%!important; }
#mnav-depth1 { display: none; }
#mnav-depth2 { display: none; }
.target_div { position: absolute; top: -100px; left: 0px; width: 1px; height: 1px; overflow: hidden; visibility: hidden; }
.img_only { margin-top: 178px; }
.fp-viewing-0 .m_menu_btn .path { background-color: #fff; }
.fp-viewing-0 .lang_box a { color: #fff; }
.fp-viewing-2 .m_menu_btn .path { background-color: #fff; }
.fp-viewing-2 .lang_box a { color: #fff; }
.fp-viewing-3 .m_menu_btn .path { background-color: #fff; }
.fp-viewing-3 .lang_box a { color: #fff; }
/* .fp-viewing-0 .top_nav .menu_04 .menu_a { color: #000; }
.fp-viewing-0 .top_nav .menu_05 .menu_a { color: #000; } */
/* footer css */
footer { width: 100%; height: auto; background-color: #141414; }
.f_logo svg .st0 { fill: #fff; }
.f_logo svg .st1 { fill: #f00; }
.footer-top, .footer-mid, .footer-btm { display: flex; margin: 0 auto; justify-content: space-between; }
.footer-mid { width: 100%; position: relative; gap: 0; border-bottom: 1px solid #3b3b3b; border-top: 1px solid #3b3b3b; }
.footer-btm { position: relative; padding: 30px 8%; gap: 80px; align-items: center; }
.footer-btm-left { text-transform: uppercase; }
.footer-comp { width: 25%; padding: 50px 50px; border-left: 1px solid #3b3b3b; }
.footer-comp .subtit { font-size: 16px; color: #e72719; font-weight: 500; }
.footer-comp .name { font-size: 20px; color: #fff; font-weight: 600; }
.footer-comp.fcombox01 { border: none; padding: 50px 50px 50px 8%; }
.footer-comp.fcombox04 { padding: 50px 8% 50px 50px; }
.footer-comp .info_wrap { font-size: 16px; }
.footer-comp .info_wrap th { color: #e72719; padding-bottom: 8px; min-width: 30px; text-align: left; }
.footer-comp .info_wrap td { color: #fff; padding-bottom: 8px; }
.footer-btm-mid { width: 100%}
.footer-top-right {
}
.footer-top { position: relative; padding: 30px 8%; gap: 80px; align-items: center; }
.f_logo { display: block; width: 85px; }
.footer-top-mid address { display: flex; flex-wrap: wrap; gap: 0.5rem 2.5rem; }
.footer-top-mid address dl { position: relative; display: flex; align-items: center; gap: 1.2rem; line-height: 24px; color: #666; }
.add-fill { width: 100%; }
.tel { margin-right: 28px; }
.footer-top-right nav ul { display: flex; flex-wrap: wrap; gap: 2.4rem; }
.footer-top-right nav ul li { display: flex; align-items: center; }
.copyright { display: block; color: #666; }
.footer-btm-left, .copyright { font-size: 16px; }
address dt { font-weight: 600; color: #000; }
address .add-fill dt { min-width: 170px; }
address dl:last-child:after { content: ''; width: 2px; height: 16px; display: inline-block; position: absolute; top: 4px; left: -1.2rem; background-color: #ccc; }
.footer_right_upper_wrap { display: flex; text-align: right; align-content: flex-start; gap: 50px; }
.footer_right_upper_wrap .menu_a { display: block; font-size: 18px; line-height: 2.0; color: #ffffffb5; font-weight: 400; }
.footer_right_upper_wrap .menu_a:hover { color: #fff; }
.footer_right_upper_wrap .sub_menu_a span { display: none; color: #000; font-size: 18px; line-height: 1.5; margin: 20px 0; }
.footer_right_upper_wrap .menu { width: auto; }
.footer_right_upper_wrap .thd_menu_wrap { display: none; }
.footer_right_upper_wrap .sideNav-tit { display: none !important; }
.footer-mid .add span { display: block; font-size: 16px; color: #ffffffd1; line-height: 1.2; }
.footer-mid .add span:first-child { padding-bottom: 10px}
.ftr_strong span { font-size: 18px; color: #000; font-weight: 600; }
.ftr_strong .plus { font-size: 18px; color: #000; font-weight: 600; top: 10px; position: absolute; padding-left: 10px; }
.ftr_strong { position: relative; }
/* sub css 연혁 2026-02-09 start */
.sub_page_wrap { position: relative; max-width: 1400px; margin: 0 auto; }
.subVisual { position: relative; display: flex; margin-top: 120px; width: 100%; height: 685px; }
.subVisual div { width: 50%; }
.subVisualTit { margin-top: -8%; display: flex; flex-direction: column; justify-content: center; }
.subVisualTit h2 { font-size: 92px; font-weight: 400; font-family: 'poppins'; color: #111; letter-spacing: -0.2px; }
.subVisualTit ul { display: flex; gap: 40px; }
.subVisualTit ul li { position: relative; font-size: 16px; line-height: 31px; }
.subVisualTit ul li:first-child::after { position: absolute; top: 14px; right: -24px; content: ''; display: block; width: 4px; height: 4px; border-radius: 100%; background-color: #e72719; }
.depth01 { color: #111; }
.depth02 { color: #fff; background-color: #e72719; padding: 0 18px; border-radius: 31px; }
/* 투명도변환 모션 */
.slick { opacity: 0; transform: translateY(24px); transition: opacity 0.8s ease-out, transform 0.8s ease-out; will-change: opacity, transform; }
.slick.is-visible { opacity: 1; transform: translateY(0); }
.subVisual_circle { position: relative; }
.subVisual_circle div { position: absolute; width: 635px; height: 635px; border-radius: 100%; }
.circle_stroke_area { top: 0; right: 50%; border: 2px solid #eee; }
/* 서브비주얼 공통 가로이동 모션 */
.circle_photo_area { opacity: 0; transform: scale(0.95); top: 0; right: 50%; transition: right 1.2s ease-out, opacity 0.8s ease-out, transform 1s ease-out; will-change: right; background-image: url(../images/sub/sub_visual01_03.jpg); background-repeat: no-repeat; background-size: cover; background-attachment: fixed; background-position: center center; }
.circle_photo_area.is-active { right: 0; opacity: 1; transform: scale(1); }
.txt_head { font-size: 40px; font-weight: 700; color: #111; letter-spacing: -0.2px; line-height: 1.5; }
.txt_head span { color: #e72719; }
.txt_line { position: relative; width: 100%; height: 2px; background-color: #f5f5f5; margin: 40px 0; }
.txt_line span { position: absolute; top: -1px; left: 0; width: 20px; height: 3px; background-color: #e72719; display: block; }
.txt_submit { font-size: 20px; color: #111; font-weight: 600; margin-right: auto; text-align: left; padding-left: 50%; }
.txt_submit { display: block; clear: both; content: ''; }
.history-tabs-wrap { display: flex; justify-content: center; margin: 80px 0; }
.history-tabs { display: inline-block; margin: 80px 0; background-color: #fbfbfc; box-sizing: border-box; border: 1px solid rgba(238,238,238,50%); padding: 6px; border-radius: 58px; }
.history-tabs ul { display: flex; justify-content: center; }
.history-tabs li button { padding: 0 58px; font-size: 18px; line-height: 50px; color: #111; border: none; background: none; cursor: pointer; position: relative; transition: 0.3s; border-radius: 58px; }
.history-tabs li.active button { color: #fff; font-weight: 600; background-color: #e72719; }
/* 메인 컨텐츠 레이아웃 */
.history-content-wrapper { display: flex; position: relative; gap: 0; padding-bottom: 200px; }
/* 좌측 이미지 고정 영역 */
.history-visual { width: 50%; }
.sticky-box { position: sticky; top: 150px; padding-right: 50px; }
/* 화면 상단에서 150px 지점에 고정 */
.img-wrap { width: 600px; height: 312px; border-radius: 12px; }
.image-item { /* display: none; */
	padding-bottom: 100px; }
.image-item.active { display: block; }
.image-item .label { color: #e72719; font-weight: 600; font-size: 16px; }
.image-item .year { font-size: 48px; font-weight: 700; margin: 10px 0; color: #111; font-family: 'pretendard'; }
.image-item .img-wrap { width: 100%; height: 350px; overflow: hidden; border-radius: 12px; margin-bottom: 20px; }
.image-item .img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.image-item .caption { font-size: 18px; color: #333; }
/* 중앙 스크롤 트랙 */
.history-scroll-track { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background-color: #eee; transform: translateX(-50%); }
.scroll-ball { position: fixed; /* 뷰포트 기준으로 고정 */
	left: 50%; top: 50%; /* 화면 중앙 높이에 위치 */
	width: 14px; height: 14px; background-color: #e72719; border-radius: 100%; transform: translate(-50%, -50%); z-index: 10; box-shadow: 0 0 10px rgba(231, 39, 25, 0.4); }
/* 우측 리스트 영역 */
.history-list { width: 50%; padding-left: 80px; }
.month-list { position: relative; }
.month-list > li { margin-bottom: 120px; display: flex; align-items: flex-start; gap: 30px; }
.month-list .month { font-size: 28px; font-weight: 700; color: #e72719; min-width: 50px; font-family: 'pretendard'!important; }
.month-list .details li { font-size: 18px; line-height: 1.4; color: #111; margin-bottom: 15px; word-break: keep-all; }
.section-divider { border: none; height: 1px; background: #eee; margin: 80px 0; }
/* ===== 추가 css ===== */




/* 회사소개 */
.do-company { position: relative}
.do-hero { position: relative; padding: clamp(120px,12vw,180px) 0 clamp(60px,8vw,120px); overflow: visible}
.do-hero__bg { position: absolute; inset: 0; z-index: 0}
.do-hero__inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: clamp(40px,6vw,80px); min-height: clamp(320px,30vw,420px)}
.visual_hero_nav { display: flex; white-space: nowrap; font-size: 16px; line-height: 1.4; align-items: center; gap: 50px; margin-top: 30px}
.visual_hero_nav .menu { position: relative}
.visual_hero_nav .sub_menu_a:hover { background: #e72719; color: #fff}
.visual_hero_nav .menu:hover>.menu_a { color: #e72719}
.visual_hero_nav .titnav .menu { display: none}
.visual_hero_nav .titnav .menu.active { display: block}
.visual_hero_nav .subnav .menu { display: none}
.visual_hero_nav .subnav .menu.active { display: block}
.visual_hero_nav .subnav .menu .sub_menu { display: none}
.visual_hero_nav .subnav .menu .sub_menu.active { display: block}
.visual_hero_nav .subnav .menu .menu_a.active { display: none}
.visual_hero_nav .subnav .menu .sub_menu.active .sub_menu_a { display: flex; align-items: center; justify-content: center; padding: 8px 20px; font-size: 16px; font-weight: 500; position: relative; transition: .25s; color: #fff; background: #e72719; border-radius: 100px}
.visual_hero_nav .subnav .menu .sub_menu.active .sub_menu_a:after { content: ""; position: absolute; top: 50%; left: -20px; transform: translateY(-50%); width: 4px; height: 4px; border-radius: 100%; background: #e72719}
.visual_hero_nav .menu.hovered>.menu_a { color: #e72719}
.visual_hero_nav .menu.hovered .sub_menu_wrap { opacity: 1; visibility: visible}
.sub .visual_nav_menu .sub_menu_a:hover { color: #e72719}
.sub .visual_nav_menu .sub_menu_a.active { color: #fff; background: #e72719; border-radius: 100px}
.do-hero__dot { width: .25vw; height: .25vw; min-width: 4px; min-height: 4px; background: #e72719; border-radius: 50%}
.do-hero__circle { position: relative; width: clamp(280px,32vw,635px); height: clamp(280px,32vw,635px); border-radius: 50%; overflow: hidden; flex-shrink: 0}
.do-hero__circle img { width: 100%; height: 100%; object-fit: cover}
.do-hero__ring { position: absolute; border: 1px solid #eee; border-radius: 50%}
.do-hero__ring--1 { width: clamp(280px,32vw,635px); height: clamp(280px,32vw,635px); right: 16vw; top: 0; z-index: -1}
.do-overview { position: relative; padding: 0 0 clamp(50px,6vw,80px); z-index: 10}
.do-overview__desc { position: relative; color: #666; line-height: 1.7; padding-left: 50%; font-size: 18px; padding-top: 30px; margin-top: 30px}
.do-overview__desc .path { width: 100%; height: 2px; background: #eee; position: absolute; top: 0; left: 0}
.do-overview__desc .path:after { content: ""; position: absolute; width: 20px; height: 2px; background: #e72719}
.do-value { position: relative; padding: clamp(40px,5vw,60px) 0 clamp(80px,8vw,120px)}
.do-value__item { position: relative; border-radius: clamp(12px,1.2vw,20px); overflow: hidden; margin-bottom: clamp(20px,2vw,40px)}
.do-value__img img { width: 100%; height: clamp(180px,22vw,340px); object-fit: cover}
.do-value__item:before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55)); z-index: 1}
.do-value__txt { position: absolute; left: clamp(20px,3vw,50px); top: 50%; color: #fff; transform: translateY(-50%); z-index: 2}
.do-value__badge { display: inline-block; background: #e72719; padding: .3vw .8vw; border-radius: 2vw; font-size: 16px; margin-bottom: .6vw; font-weight: 600}
.do-value__title { font-size: 30px; margin-bottom: .6vw; font-weight: 600}
.company-info-wrap { position: relative}
.do-obj { position: absolute; pointer-events: none; width: 1000px; height: 1000px; border: 180px solid #fef4f3; border-radius: 100%; z-index: -1}
.do-obj--circle1 { right: -15%; top: -20%}
.do-obj--circle2 { left: -15%; bottom: -20%}
@media (max-width:1200px) {


	.do-overview__desc { padding-left: 40%}
}
@media (max-width:1024px) {
    .do-hero__left {text-align: left;}
    .visual_hero_nav { margin-top: 20px}
	.do-hero__inner { flex-direction: column; text-align: center}
	.do-hero__circle { margin-top: 40px}
	.visual_hero_nav { justify-content: center; gap: 30px}
	.do-overview__desc { padding-left: 0; font-size: 17px}
	.do-hero__ring--1 { display: none}
}
@media (max-width:768px) {

	.do-hero { padding: 120px 0 60px}
	.do-hero__inner { gap: 30px}
	.do-hero__circle { width: 260px; height: 260px}
  	.visual_hero_nav { flex-wrap: wrap; gap: 33px; font-size: 14px; white-space: normal; }
	.do-overview__desc { margin-top: 20px; padding-top: 20px; font-size: 15px}
	.do-value__img img {		height: 300px}
	.do-value__title { font-size: 22px}
	.do-value__badge { font-size: 13px; padding: 5px 12px}
	.do-value__txt { left: 20px}
	.do-obj { width: 500px; height: 500px; border: 90px solid #fef4f3}
    .do-value__img{height: 300px;}
    .do-value__item {height: 300px;}
}
@media (max-width:480px) {

	.do-hero__circle { width: 200px; height: 200px}
	.do-value__title { font-size: 18px}
	.do-value__badge { font-size: 12px}
	.do-hero { padding: 100px 0 50px}
}
/* 회사소개 */




/* CIBI */
.cibi_logo { padding: 80px 0}
.cibi_logo_box { background: url(../images/sub/chk_bg.png) center/cover; border-radius: 20px; padding: 100px 20px; text-align: center; margin-bottom: 30px}
.cibi_logo_box img { max-width: 320px; width: 100%}
.cibi_logo_desc { display: grid; grid-template-columns: 40% 60%; gap: 40px; align-items: start}
.cibi_download { margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap}
.btn_primary { background: #e72719; color: #fff; padding: 10px 22px; border-radius: 999px; font-size: 14px; display: inline-flex; align-items: center; justify-content: center}
.btn_outline { border: 1px solid #ddd; padding: 10px 22px; border-radius: 999px; font-size: 14px; display: inline-flex; align-items: center; justify-content: center}
.cibi_color { padding: 80px 0 150px}
.cibi_color_grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-top: 40px}
.color_bar { height: 8px; border-radius: 2px; margin-bottom: 20px}
@media (max-width:1024px) {

	.cibi_logo_desc { grid-template-columns: 1fr; gap: 30px}
	.cibi_logo_box { padding: 80px 20px}
	.cibi_color_grid { gap: 40px}
}
@media (max-width:768px) {

	.cibi_logo { padding: 60px 0}
	.cibi_logo_box { padding: 60px 20px}
	.cibi_logo_box img { max-width: 240px}
	.cibi_color { padding: 60px 0 100px}
	.cibi_color_grid { grid-template-columns: 1fr; gap: 30px}
	.btn_primary, .btn_outline { font-size: 13px; padding: 9px 18px}
}
@media (max-width:480px) {

	.cibi_logo_box { padding: 50px 15px}
	.cibi_logo_box img { max-width: 180px}
	.cibi_download { gap: 8px}
	.btn_primary, .btn_outline { font-size: 12px; padding: 8px 16px}
	.cibi_color { padding: 50px 0 80px}
}
/* CIBI */



/* 연혁 */
.hist { padding: 0 0 clamp(120px,10vw,200px)}
.hist_tabs { position: sticky; top: var(--sticky-top,80px); z-index: 90; padding: clamp(18px,2vw,28px) 0}
.hist_tabs_in { width: fit-content; margin: 0 auto; padding: 6px; border-radius: 999px; border: 1px solid rgba(238, 238, 238, .8); background: #fbfbfc; display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; }
.hist_tab { border: 0; background: transparent; cursor: pointer; padding: 0 clamp(22px,3vw,58px); height: 50px; border-radius: 999px; font-size: clamp(14px,1vw,18px); color: #111; transition: .25s; white-space: nowrap}
.hist_tab.is-active { background: #e72719; color: #fff; font-weight: 600}
.hist_body { display: grid; grid-template-columns: minmax(360px,1fr) 48px minmax(420px,1fr); gap: clamp(24px,3vw,56px); max-width: 1280px; margin: 0 auto; padding: clamp(40px,6vw,90px) 5% 0}
.hist_left_sticky { position: sticky; top: calc(var(--sticky-top,80px) + 110px); padding-right: clamp(0px,2vw,24px)}
.hist_card { display: none}
.hist_card.is-active { display: block}
.hist_badge { display: inline-flex; align-items: center; color: #e72719; font-weight: 600; font-size: 14px}
.hist_year { font-size: clamp(28px,2.6vw,48px); font-weight: 700; margin: 10px 0 18px; color: #111}
.hist_img { width: 100%; aspect-ratio: 16/9; overflow: hidden; border-radius: 14px}
.hist_img img { width: 100%; height: 100%; object-fit: cover}
.hist_cap { margin-top: 14px; font-size: clamp(14px,1.1vw,18px); color: #333}
.hist_mid { position: relative}
.hist_track { position: relative; width: 1px; height: 100%; background: #eee; margin: 0 auto}
.hist_dot { position: absolute; left: 50%; top: 0; transform: translate(-50%,-50%); width: 14px; height: 14px; border-radius: 999px; background: #e72719; box-shadow: 0 0 10px rgba(231,39,25,.35); z-index: 20}
.hist_right { padding-left: clamp(0px,1vw,10px)}
.hist_yearsec { padding: clamp(30px,4vw,60px) 0}
.hist_yeartitle { display: flex; flex-direction: column; gap: 6px; margin-bottom: clamp(18px,2vw,28px)}
.hist_phase { color: #e72719; font-weight: 600; font-size: 14px}
.hist_yyyy { font-size: clamp(28px,2.6vw,48px); font-weight: 700; color: #111}
.hist_list { display: flex; flex-direction: column; gap: clamp(40px,5vw,120px)}
.hist_item { display: flex; gap: 22px; align-items: flex-start}
.hist_mm { min-width: 52px; font-size: 22px; font-weight: 700; color: #e72719; flex-shrink: 0}
.hist_bul { padding-top: 4px}
.hist_bul li { font-size: clamp(15px,1.05vw,18px); line-height: 1.45; color: #111; margin-bottom: 12px; word-break: keep-all}
.hist_bul li:last-child { margin-bottom: 0}
@media (max-width:1200px) {

	.hist_body { grid-template-columns: minmax(300px,1fr) 40px minmax(360px,1fr)}
}
@media (max-width:1024px) {

	.hist_body { grid-template-columns: 1fr; gap: 40px}
	.hist_mid { display: none}
	.hist_left_sticky { position: relative; top: auto; padding-right: 0}
	.hist_right { padding-left: 0}
}
@media (max-width:768px) {

	.hist { padding: 0 0 120px}
	.hist_tabs_in { gap: 4px; padding: 4px}
	.hist_tab { height: 42px; font-size: 14px; padding: 0 18px}
	.hist_year { font-size: 32px}
	.hist_yyyy { font-size: 32px}
	.hist_item { gap: 16px}
	.hist_mm { font-size: 18px; min-width: 42px}
	.hist_bul li { font-size: 15px}
	.hist_list { gap: 40px}
}
@media (max-width:480px) {

	.hist_tabs { padding: 16px 0}
	.hist_tabs_in { border-radius: 100px}
	.hist_tab { height: 38px; font-size: 13px; padding: 0 14px}
	.hist_year { font-size: 26px}
	.hist_yyyy { font-size: 26px}
	.hist_item { gap: 12px}
	.hist_mm { font-size: 16px; min-width: 36px}
	.hist_bul li { font-size: 14px; line-height: 1.5}
	.hist_list { gap: 28px}
}
/* 연혁 */






/* 인증 */
/* .flow-container { position: relative; top: -80px; overflow: hidden; width: 100%; margin-bottom: -80px}
.flow-text { white-space: nowrap; overflow: hidden; transition: .3s}
.flow-wrap { font-size: clamp(60px,12vw,12em); color: #f9f9f9; animation: textLoop 50s linear infinite; padding-right: 1.4881vw}
.cert { padding: clamp(40px,6vw,90px) 0 clamp(120px,10vw,180px)}
.cert_grid { display: none}
.cert_grid.is-active { display: block}
.cert_grid.cert_flow.is-active { display: flex; flex-direction: column; gap: 24px}
.cert_head { display: flex; flex-direction: column; align-items: center; text-align: center}
.cert_head .sec_tit5 { max-width: 920px}
.cert_tabs { margin-top: clamp(26px,3vw,40px); display: inline-flex; gap: 6px; padding: 6px; border-radius: 999px; background: #fbfbfc; border: 1px solid rgba(238,238,238,.8); flex-wrap: wrap; justify-content: center}
.cert_tab { border: 0; background: transparent; cursor: pointer; height: 50px; padding: 0 clamp(18px,3vw,56px); border-radius: 999px; font-size: clamp(14px,1vw,18px); color: #111; transition: .25s; white-space: nowrap}
.cert_tab.is-active { background: #e72719; color: #fff; font-weight: 600}
.cert_body { margin-top: clamp(30px,5vw,70px)}
.cert_item { display: block}
.cert_thumb { position: relative; border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid rgba(0,0,0,.06); box-shadow: 0 10px 24px rgba(0,0,0,.06); aspect-ratio: 3/4}
.cert_thumb img { width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform .6s ease}
.cert_hover { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 18px; opacity: 0; transform: translateY(12px); transition: .35s ease; color: #111; background-color: #ffffff61; align-items: center; text-align: center}
.cert_thumb:before { content: ''; position: absolute; inset: -10%; opacity: 0; transform: scale(.96); transition: .45s ease}
.cert_item:hover .cert_thumb img { filter: blur(5px); transform: scale(1.06)}
.cert_item:hover .cert_thumb:before { opacity: 1; transform: scale(1)}
.cert_item:hover .cert_hover { opacity: 1; transform: translateY(0)}
.cert_tag { align-self: flex-start; display: inline-flex; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.22); font-size: 12px; letter-spacing: .06em}
.cert_title { font-size: 16px; font-weight: 700; line-height: 1.3}
.cert_meta { font-size: 13px; opacity: .9}
.cert_flow { display: flex; flex-direction: column; gap: 24px; overflow: visible}
.cert_row { position: relative; overflow: visible; width: 100%}
.cert_track { display: flex; align-items: stretch; gap: 24px; width: max-content; animation-duration: 45s; animation-timing-function: linear; animation-iteration-count: infinite; animation-play-state: running}
.cert_row--left .cert_track { animation-name: certFlowLeft}
.cert_row--right .cert_track { animation-name: certFlowRight}
.cert_row:hover .cert_track, .cert_item:hover ~ .cert_track, .cert_flow:hover .cert_track { animation-play-state: paused}
.cert_flow .cert_item { flex: 0 0 auto; width: 280px}
.cert_flow .cert_thumb { position: relative; overflow: hidden; border-radius: 20px; background: #f5f5f5; aspect-ratio: 3/4.1}
.cert_flow .cert_thumb img { width: 100%; height: 100%; object-fit: cover; display: block}
@keyframes certFlowLeft {
	0% { transform: translateX(0)}
	100% { transform: translateX(-50%)}
}
@keyframes certFlowRight {
	0% { transform: translateX(-50%)}
	100% { transform: translateX(0)}
}
@media (max-width:1200px) {

	.cert_flow .cert_item { width: 240px}
}
@media (max-width:1024px) {

	.cert_track { gap: 18px; animation-duration: 38s}
	.cert_flow .cert_item { width: 220px}
}
@media (max-width:768px) {

	.flow-container { top: -40px; margin-bottom: -40px}
	.flow-wrap { font-size: clamp(48px,16vw,90px)}
	.cert_flow { gap: 16px}
	.cert_track { gap: 14px; animation-duration: 30s}
	.cert_flow .cert_item { width: 160px}
	.cert_flow .cert_thumb { border-radius: 14px}
	.cert_tab { height: 42px; padding: 0 20px}
}
@media (max-width:480px) {

	.flow-wrap { font-size: clamp(36px,18vw,60px)}
	.cert_tabs { border-radius: 100px}
	.cert_tab { height: 38px; font-size: 13px; padding: 0 16px}
	.cert_flow .cert_item { width: 130px}
	.cert_track { gap: 10px}
} */

/* 인증 */



/* 인증2 */

.sub_01_04 { background: #eee; }
.cert_tab { display: flex; justify-content: center; gap: 6px; margin-bottom: 40px; padding: 8px; border: 1px solid rgba(238, 238, 238, .8); background: #fbfbfc; border-radius: 50px; width: fit-content; margin-left: auto; margin-right: auto; }
.cert_tab_btn { padding:9px 28px; border: none; background: transparent; border-radius: 40px; cursor: pointer; font-size: 18px; font-weight: 500; color: #555; transition: all .3s ease; }
.cert_tab_btn.active { background: #e72719; color: #fff; font-weight: 600; box-shadow: 0 4px 12px rgba(231,39,25,0.3); }
/* .cert_tab_btn:hover { color: #111; } */
.cert_3d_section { position: relative; height: 900px; perspective: 1600px; padding: 100px 0 250px; overflow: hidden; }
.cert_3d_wrap { position: relative; width: 100%; height: 100%; }
.cert_3d_ring { position: absolute; top: 50%; left: 50%; transform-style: preserve-3d; transform: translate(-50%, -60%) rotateX(15deg) rotateY(0deg); transition: transform .2s linear; }
.cert_3d_item { position: absolute; width: 210px; height: 300px; left: 50%; top: 50%; margin: -150px -110px; transform-style: preserve-3d; transform-origin: center; pointer-events: none; }
.cert_card { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; transition: transform .4s ease; pointer-events: auto; }
.cert_card:hover { transform: scale(1.12); z-index: 10; }
.cert_card:hover .cert_front { transform: scale(1.1); filter: blur(0); }
.cert_face { position: absolute; width: 100%; height: 100%; border-radius: 14px; overflow: hidden; backface-visibility: hidden; filter: blur(1px); }
.cert_front img { width: 100%; height: 100%; object-fit: cover; border-radius: 14px; box-shadow: 0 30px 60px rgba(0,0,0,0.25); transition: transform .4s; }
.cert_3d_item::after { content: ""; position: absolute; inset: 0; border-radius: 14px; background: linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0.25)); pointer-events: none; }
.cert_back { background: #999; color: #fff; transform: rotateY(180deg); display: flex; align-items: center; justify-content: center; }
.cert_back_inner { text-align: center; padding: 20px; }
.cert_back_inner strong { display: block; font-size: 14px; opacity: .6; margin-bottom: 10px; }
.cert_back_inner p { font-size: 16px; font-weight: 600; line-height: 1.4; }
.cert_3d_text { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); font-size: 18px; font-weight: 600; opacity: 0; transition: .3s; color: #111; letter-spacing: -0.02em; }


@media (max-width:1200px) {

    .cert_3d_section { height: 700px; padding: 80px 0 180px; }
    .cert_3d_item { width: 180px; height: 260px; margin: -130px -90px; }
}
@media (max-width:768px) {

    .cert_3d_section { height: auto; padding: 60px 0; perspective: none; }
    .cert_3d_wrap { height: auto; }
    .cert_3d_ring { position: relative; top: 0; left: 0; transform: none !important; display: flex; gap: 16px; overflow-x: auto; padding: 0 20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
    .cert_3d_ring::-webkit-scrollbar { display: none; }
    .cert_3d_item { position: relative !important; left: auto; top: auto; margin: 0; flex: 0 0 80%; max-width: 150px; height: auto; transform: none !important; pointer-events: auto; scroll-snap-align: center; aspect-ratio: 2 / 3; }
    .cert_card { transform: none !important; }
    .cert_card:hover { transform: none; }
    .cert_face { filter: none; }
    .cert_3d_item::after { display: none; }
    .cert_3d_text { position: relative; left: auto; bottom: auto; transform: none; opacity: 1; text-align: center; margin-top: 12px; font-size: 16px; }
    .cert_card:hover { transform: scale(1); z-index: 10; }
    .cert_card:hover .cert_front { transform: scale(1); }
    .cert_tab { display: grid; grid-template-columns: repeat(2, 1fr); height: 100%; border-radius: 20px;}

}
@media (max-width:480px) {

    .cert_3d_ring { padding: 0 16px; gap: 12px; }
    .cert_3d_item { flex: 0 0 85%;  }
    .cert_tab { flex-wrap: nowrap; overflow-x: auto; padding: 6px; }
    .cert_tab_btn { font-size: 14px; padding: 10px 18px; white-space: nowrap; }
}

/* 인증2 */




/* 조직도 */
.org { padding: 0 0 clamp(120px,10vw,180px); }
.org_quote { padding: 0 0 clamp(40px,6vw,90px); }
.org_quote_txt { max-width: 980px; margin: 0 auto}
.org_quote_from { margin-top: 18px; color: #e72719; font-weight: 500}
.org_cards { padding: 0 0 clamp(60px,7vw,110px)}
.org_grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(14px,2vw,26px); }
.org_card { background: #fbfbfd; border: 1px solid rgba(0,0,0,.03); border-radius: 18px; padding: clamp(20px,2.6vw,34px); min-height: 180px; }
.org_card--brand { display: flex; flex-direction: column; justify-content: center}
.org_logo { width: 120px; }
.org_logo svg .st1 { fill: #f00; }
.org_brand_tit { margin-top: 30px; font-size: 20px; font-weight: 700; color: #111}
.org_brand_txt { margin-top: 6px}
.org_profile { display: flex; flex-direction: column; gap: 14px}
.org_avatar { width: 52px; height: 52px; border-radius: 999px; overflow: hidden; border: 1px solid rgba(0,0,0,.08); }
.org_avatar img { width: 100%; height: 100%; object-fit: cover}
.org_msg { color: #111; font-weight: 600}
.org_meta { margin-top: 18px}
.org_role { font-size: 15px; color: #777}
.org_name { font-size: 18px; color: #111; font-weight: 600; margin-top: 2px}
.org2 { padding: 100px 0 140px; }
.org2_kicker { font-weight: 700; font-size: 28px; color: #111; }
.org2_chart { position: relative; margin-top: 80px; display: flex; flex-direction: column; align-items: center; }
.org2_orbit { position: relative; display: flex; justify-content: center; align-items: center; }
.org2_leader { position: relative; width: 260px; height: 260px; border-radius: 50%; background: #ef2016; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; box-shadow: 0 20px 50px rgba(239,32,22,.25); z-index: 2; }
.org2_leader_en { font-size: 16px; opacity: .9; }
.org2_leader_ko { font-size: 26px; font-weight: 700; margin-top: 6px; }
.org2_ring { position: absolute; border-radius: 50%; border: 1px solid rgba(0,0,0,.06); }
.org2_ring--1 { width: 380px; height: 380px; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.org2_ring--2 { width: 600px; height: 600px; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.org2_side { position: absolute; top: 140px; display: flex; align-items: center; }
.org2_side--left { left: 12%; }
.org2_side--right { right: 12%; }
.org2_side:before { content: ""; position: absolute; top: 50%; width: 180px; border-top: 2px dotted #999; }
.org2_side--left:before { right: -180px; }
.org2_side--right:before { left: -180px; }
.org2_pill { height: 50px; min-width: 220px; background: #ef2016; color: #fff; border-radius: 999px; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 18px; box-shadow: 0 10px 25px rgba(239,32,22,.25); }
.org2_chart:after { content: ""; position: absolute; top: 260px; left: 50%; height: 90px; border-left: 2px dotted #999; transform: translateX(-50%); }
.org2_depts { position: relative; margin-top: 150px; display: flex; justify-content: center; gap: 40px; }
.org2_depts:before { content: ""; position: absolute; top: -50px; width: 640px; border-top: 2px dotted #999; left: 50%; transform: translateX(-50%); }
.org2_dept { height: 54px; min-width: 220px; background: #2e2e2e; color: #fff; border-radius: 999px; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 18px; position: relative; }
.org2_dept:not(:first-child):before { content: ""; position: absolute; left: -40px; top: 50%; width: 40px; border-top: 2px dotted #999; transform: translateY(-50%); }

.org_img {display: block;}
.org_img_mo {display: none;} 

/* 조직도 */



















/* AI */
.biz_ai { background: #fff}
.biz_head { padding: clamp(120px,16vw,210px) 0 clamp(30px,5vw,60px)}
.biz_kicker { color: #e72719; font-weight: 700; font-size: 18px; margin-bottom: 10px}
.biz_title { max-width: 880px}
.biz_tabs { margin-top: clamp(18px,2.6vw,28px); display: flex; gap: 10px; }
.biz_tab { display: flex; align-items: center; justify-content: center; height: 44px; padding: 0 26px; border-radius: 999px; color: #111; font-weight: 600; transition: .25s; font-size: 18px; }
.biz_tab.is-active { background: #e72719; border-color: #e72719; color: #fff; }
.biz_tab:hover { background: #e72719; border-color: #e72719; color: #fff; }
.biz_sec { padding: clamp(50px,7vw,110px) 0}
.biz_sec--gray { background: #f6f6f8}
.biz_sec_tit { margin-bottom: clamp(22px,3vw,36px)}
.biz_grid4 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(14px,2vw,22px); margin: 0 auto; }
.biz_card { background: #fff; border: 1px solid rgba(0,0,0,.06); border-radius: 32px; padding: 32px; box-shadow: 0 14px 30px rgba(0,0,0,.05); }
.biz_thumb { border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 9; background: #eee; margin: 0; }
.biz_thumb img { width: 100%; height: 100%; object-fit: cover}
.biz_thumb video { width: 100%; height: 100%; object-fit: cover}
.biz_cap { margin-top: 20px; font-size: 18px; color: #111; font-weight: 600; text-align: center; }
.biz_feature { padding-bottom: 80px; display: grid; gap: 50px; }
.biz_feature_txt { display: grid; grid-template-columns: 40% 60%; }
.biz_feature_media { border-radius: 16px; overflow: hidden; box-shadow: 0 18px 40px rgba(0,0,0,.08); background: #eee; min-height: 220px; }
.biz_feature_media img { width: 100%; height: 100%; object-fit: cover}
.biz_banner { margin-top: clamp(22px,3vw,40px); border-radius: 18px; overflow: hidden; background: url(../images/sub/biz_banner_bg.jpg); padding: clamp(40px,3vw,80px); display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 220px; }
.biz_banner_txt .sec_txt4 { font-weight: 400; padding-top: 20px; }
.biz_banner_obj { position: relative; width: min(240px,34vw); aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center}
.biz_ring { position: absolute; inset: 0; }
.biz_mic { width: 34px; }
/* AI */






/* DX */

.biz_dx { background: #fff}
.dx_content { position: relative}
.biz_dx_list { padding: 40px 0 100px; display: grid; gap: 80px}
.dx_sticky_top { position: sticky; top: 0; z-index: 50; display: flex; align-items: flex-end; justify-content: flex-start; padding: 40px 0 30px; background: #fff}
.rnd_pager { position: fixed; left: 40px; top: 270px; transform: translateY(-50%); display: flex; flex-direction: column; gap: 12px; z-index: 200}
.rnd_pager { transition: opacity .3s ease, transform .3s ease; }
.rnd_pitem { padding: 6px 0 6px 18px; font-weight: 700; color: #999; border-left: 2px solid transparent; cursor: pointer; transition: .25s; text-align: left; background: none}
.rnd_pitem:hover { color: #111}
.rnd_pitem.is-active { color: #111; border-left: 2px solid #111}
.rnd_titles { min-width: 0; text-align: left}
.dx_stack_wrap { position: relative; padding-bottom: 140px}
.dx_stack_item { position: sticky; top: 165px; z-index: 1; background: #fff; border-radius: 30px}
.dx_item { display: grid; gap: 20px}
.dx_media { position: relative; z-index: 0; overflow: hidden; border-radius: 30px; background: #e9eaee; aspect-ratio: 10 / 4; }
.dx_media img { width: 100%; height: 100%; object-fit: cover; display: block}
.dx_media video { width: 100%; height: 100%; object-fit: cover; display: block; position: relative; z-index: 0; }
.dx_overlay { z-index: 10; position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: clamp(30px,2.4vw,50px); color: #fff; background: linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,0) 65%)}
.dx_overlay--left { align-items: flex-start; text-align: left}
.dx_logo { width: 80px; margin-bottom: 20px}
.dx_logo svg { fill: #fff}
.dx_logo svg .st1 { fill: #f00; }
.dx_en { font-size: clamp(26px,2.8vw,46px); line-height: 1.2; font-weight: 600; word-break: keep-all}
.dx_sub { margin-top: 14px; font-size: clamp(14px,1vw,18px); line-height: 1.5; opacity: .9; max-width: 560px}
.dx_txt { display: flex; gap: 40px; padding: 34px 10px 50px 0}
.dx_left { flex: 0 0 32%}
.dx_right { flex: 1}
.dx_ko { margin: 0}
.dx_desc { margin: 0}
.dx_gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 20px; padding-bottom: 100px}
.dx_gitem { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 16/9; background: #e9eaee}
.dx_gitem img { width: 100%; height: 100%; object-fit: cover; display: block}
.dx_gcap { position: absolute; left: 15px; right: 15px; bottom: 15px; padding: 12px; border-radius: 7px; background: rgba(190,190,190,.25); color: #fff; font-size: 16px; font-weight: 600; backdrop-filter: blur(5px); text-align: center}
@media (max-width:1400px) {

	.biz_dx .rnd_pager { display: none; }
}
@media (max-width:1200px) {

	.biz_dx_list { gap: 64px}
	.dx_stack_item { top: 150px; border-radius: 26px}
	.dx_gallery { grid-template-columns: repeat(2,1fr)}
}
@media (max-width:1024px) {

	.rnd_pager { display: none}
	.dx_sticky_top { padding: 32px 0 24px}
	.dx_stack_item { top: 130px; border-radius: 24px}
	.dx_media { border-radius: 24px}
	.dx_overlay { padding: 34px}
	.dx_txt { flex-direction: column; gap: 18px; padding: 24px 0 40px}
	.dx_left, .dx_right { width: 100%}
	.dx_gallery { grid-template-columns: repeat(2,1fr)}
}
@media (max-width:768px) {
	.biz_dx_list { padding: 0 !important; }
	.biz_dx_list { gap: 0!important; }
	.dx_sticky_top { position: relative; top: auto; padding: 20px 0}
	.biz_dx_list { gap: 52px; padding: 20px 0 80px}
	.dx_stack_wrap { padding-bottom: 80px}
	.dx_stack_item { position: relative; top: auto; border-radius: 20px}
	.dx_media { border-radius: 20px}
	.dx_overlay { padding: 24px 20px; background: linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0))}
	.dx_sub br, .dx_desc br { display: none}
	.dx_gallery { grid-template-columns: 1fr; gap: 12px; padding-bottom: 80px}
}
@media (max-width:480px) {

	.dx_overlay { padding: 20px 18px}
	.dx_logo { width: 60px}
	.dx_en { font-size: 24px}
	.dx_sub { font-size: 14px}
	.dx_txt { padding: 20px 0 32px}
	.dx_gcap { font-size: 14px; padding: 10px}
}
/* DX */









/* 데이터복구 */
.ssd-hero {  border-radius: 20px; overflow: hidden; position: relative; background: url("../images/sub/data_recovery_bg.png") center/cover no-repeat}
.ssd-hero:before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.1))}
.ssd-hero-inner { position: relative; z-index: 2; padding: clamp(30px,4vw,60px); color: #fff; }
.ssd-logo { width: 60px; margin-bottom: 30px}
.ssd-title { font-size: clamp(24px,3vw,34px); font-weight: 700; margin-bottom: 18px}
.ssd-desc { font-size: clamp(14px,1vw,20px); line-height: 1.6; opacity: .9; margin-bottom: 28px}
.special { padding: 80px 0 150px 0}
.special_title { font-size: 22px; font-weight: 700; display: flex; align-items: center; gap: 10px; margin-bottom: 30px}
.special_title .dot { width: 8px; height: 8px; background: #e21a17; border-radius: 50%}
.special_grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px}
.special_card { background: #f3f3f3; border-radius: 16px; padding: 20px; text-align: center; position: relative;}
.special_img img { width: 100%}
.special_label { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); background: #e9e9e9; padding: 12px 28px; border-radius: 10px; font-size: 16px; font-weight: 500; width: 70%; }
.equip { padding: 120px 0; background: #fafafa}
.equip_title { text-align: center; font-size: 28px; font-weight: 700; margin-bottom: 60px}
.equip_grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px}
.equip_card { background: #fff; border-radius: 18px; padding: 26px}
.equip_name { font-size: 18px; font-weight: 700; margin-bottom: 20px; display: flex; align-items: center; gap: 8px}
.equip_name span { width: 6px; height: 6px; background: #e21a17; border-radius: 50%; display: inline-block}
.equip_img { background: #e9e9e9; border-radius: 12px; text-align: center; overflow: hidden}
.equip_img img { max-width: 100%}

.location { padding: 120px 0}
.location_title { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; margin-bottom: 30px}
.location_title .dot { width: 8px; height: 8px; background: #e51d1d; border-radius: 50%}
.map_wrap { position: relative; border-radius: 20px; overflow: hidden}
.map_wrap iframe { width: 100%; height: 420px; border: 0; display: block}
.map_card { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); width: 85%; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-radius: 14px; padding: 28px 40px; display: grid; grid-template-columns: 200px 1fr 120px; align-items: start; gap: 20px; box-shadow: 0 10px 40px rgba(0,0,0,.08)}
.map_left strong { font-size: 18px; font-weight: 700}
.map_center p { font-size: 18px; margin-bottom: 24px; color: #333; font-weight: 600; line-height: 1.45}
.map_btns { display: flex; gap: 14px}
.map_btns a { display: flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 20px; font-size: 16px; }
.btn_kakao { background: #ffe812}
.btn_blog { background: #2db400; color: #fff}
.btn_reserve { background: #e51d1d; color: #fff}
.map_right { text-align: center}
.map_icon { width: 44px; height: 44px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; margin: 0 auto 6px; box-shadow: 0 4px 12px rgba(0,0,0,.1)}
.map_icon i { font-size: 20px; color: #e51d1d}
.map_right span { font-size: 13px; color: #333}
@media (max-width:1024px) {

	.special_grid { grid-template-columns: 1fr}
	.equip_grid { grid-template-columns: repeat(2,1fr)}
	.map_card { grid-template-columns: 1fr; gap: 20px; text-align: center}

	.map_wrap iframe { height: 360px}
}
@media (max-width:768px) {

	.special { padding: 60px 0 100px}
	.equip { padding: 80px 0}
	.location { padding: 80px 0}
	.equip_grid { grid-template-columns: 1fr}
	.map_wrap iframe { height: 320px}
    .equip_card {
    background: transparent;
    border-radius: 18px;
    padding: 0px;
}
}
@media (max-width:480px) {

	.ssd-logo { width: 48px}
	.ssd-title { font-size: 22px}
	.ssd-desc { font-size: 14px}
	.special_label { font-size: 13px; padding: 10px 20px; width: 70%; }
	.equip_title { font-size: 24px}
	.map_center p { font-size: 16px}
	.map_btns { flex-direction: column; gap: 10px}
	.map_btns a { justify-content: center}
}

 
@media (max-width:1024px) {

    .location { padding: 80px 0; }
    .map_wrap iframe { height: 360px; }
    .map_card { grid-template-columns: 160px 1fr; gap: 16px; padding: 24px; }
    .map_right { grid-column: 1 / -1; display: flex; justify-content: center; gap: 30px; margin-top: 10px; }
}
@media (max-width:768px) {

   .location { padding: 60px 0; }
.location_title { font-size: 18px; margin-bottom: 20px; }
.map_wrap iframe { height: 260px; }
.map_card { position: static; transform: none; width: 100%; margin-top: 20px; text-align: left; display: flex; flex-direction: column; padding: 20px; border-radius: 12px; align-items: flex-start; align-content: flex-start; }
.map_left strong { font-size: 16px; }
.map_center p { font-size: 15px; margin-bottom: 16px; }
.map_btns { flex-wrap: wrap; gap: 10px; }
.map_btns a { font-size: 14px; padding: 8px 14px; }
.map_right { display: none; }
.map_icon { width: 40px; height: 40px; }
.map_icon i { font-size: 18px; }
.map_right span { font-size: 12px; }
}
@media (max-width:480px) {

    .map_wrap iframe { height: 220px; }
    .map_card { padding: 16px; }
    .map_center p { font-size: 14px; }
    .map_btns a { flex: 1 1 auto; justify-content: center; }
    .map_right { gap: 12px; }
    .map_icon { width: 36px; height: 36px; }
    .map_icon i { font-size: 16px; }
}
/* 데이터복구 */









/* R&D - CellTRACE */
.rnd_page { background: #fff}
.rnd_tabs { margin-top: clamp(18px,2.6vw,28px); display: flex; gap: 10px}
.rnd_tab { display: flex; align-items: center; justify-content: center; height: 44px; padding: 0 26px; border-radius: 999px; color: #111; font-weight: 700; transition: .25s}
.rnd_tab.is-active { background: #e72719; color: #fff}
.rnd_tab:hover { background: #e72719; color: #fff}
.rnd_product { padding: clamp(18px,3vw,26px) 0 clamp(70px,7vw,110px)}
.rnd_top { grid-template-columns: 220px 1fr; gap: clamp(18px,3vw,30px); align-items: center; }
.rnd_pager { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; border-left: 1px solid #eee; }
.rnd_pitem { width: 100%; text-align: left; padding: 3px 0 3px 30px; color: #999; font-weight: 700; letter-spacing: .02em; transition: .25s; }
.rnd_pitem.is-active { color: #111; border-left: 2px solid #111; }
.rnd_pitem:hover { transform: translateX(2px)}
.rnd_titles { min-width: 0}
.rnd_h { margin: 0; letter-spacing: -.02em}
.rnd_h span { font-weight: 300}
.rnd_sub { margin: 12px 0 0; color: #777; max-width: 520px; text-align: left; }
.rnd_slider_wrap { position: relative}
.rnd_slider { border-radius: 18px; overflow: hidden; height: auto; max-height: 400px; }
.rnd_stage { min-height: clamp(220px,24vw,340px); display: flex; align-items: center; justify-content: center; position: relative; }
.rnd_stage:before { content: "Easier Faster Safer"; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); font-size: clamp(42px,6.2vw,96px); font-weight: 800; color: rgba(0,0,0,.03); white-space: nowrap; pointer-events: none; z-index: -1; }
.rnd_prod { width: auto; margin: 0; }
.rnd_prod img { width: 100%; height: auto; display: block; border-radius: 14px}
.rnd_nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 999px; background: #fff; border: 1px solid rgba(0,0,0,.08); transition: .25s; z-index: 1000; }
.rnd_prev { left: -10px}
.rnd_next { right: -10px}
.rnd_nav:hover { transform: translateY(-50%) scale(1.05)}
.rnd_nav:before { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-top: 2px solid #111; border-right: 2px solid #111; transform: translate(-50%,-50%) rotate(45deg); }
.rnd_prev:before { transform: translate(-50%,-50%) rotate(-135deg)}
.rnd_cards { margin-top: clamp(18px,2.4vw,28px); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(12px,1.8vw,18px); }
.rnd_card { display: block; border-radius: 16px; background: #fff; border: 1px solid rgba(0,0,0,.06); overflow: hidden; transition: .25s; }
.rnd_card:hover { transform: translateY(-3px)}
.rnd_card_img { padding: 50px 30px; overflow: hidden}
.rnd_card_img img { display: block}
.rnd_card_txt { padding: 20px 30px 50px; }
.rnd_card_txt h4 { margin: 0 0 6px; font-size: 20px; font-weight: 700; color: #111}
.rnd_card_txt p { margin: 0}
.rnd_exhi { padding: 0 0 clamp(90px,8vw,140px); }
.rnd_exhi_tit { display: flex; align-items: center; gap: 10px; font-size: 30px; font-weight: 700; color: #111; margin: 0 0 18px; }
.rnd_dot { width: 6px; height: 6px; border-radius: 999px; background: #e72719; display: inline-block}
.rnd_award { position: relative; border-radius: 18px; overflow: hidden; background: #0b0f2e; margin-top: clamp(18px,2.4vw,26px); }
.rnd_award_bg { position: absolute; inset: 0; opacity: .9}
.rnd_award_bg img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.95)}
.rnd_award:before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.65), rgba(0,0,0,0) 65%); z-index: 1; }
.rnd_award_txt { position: relative; z-index: 2; padding: 80px 50px; color: #fff; }
.rnd_award_k { margin: 0 0 8px; font-weight: 700; letter-spacing: .08em; opacity: .9}
.rnd_award_k img { max-width: 100px; margin-bottom: 20px; }
.rnd_award_h { margin: 0; font-size: clamp(18px,2.2vw,24px); font-weight: 700; }
.rnd_flow { position: relative; z-index: 2; padding: 0 0 clamp(18px,2.6vw,28px); /* overflow: hidden; */
}
.rnd_flow_track { display: flex; gap: 12px; padding: 0 clamp(16px,2vw,22px) clamp(10px,1.4vw,16px); will-change: transform; }
.rnd_flow_item { flex: 0 0 auto; width: clamp(170px,18vw,240px); aspect-ratio: 16/10; border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); }
.rnd_flow_item img { width: 100%; height: 100%; object-fit: cover; display: block}
/* R&D - UWB */
.rnd_uwb { background: #fff}
.rnd_uwb_visual { padding: clamp(20px,3vw,30px) 0 clamp(60px,6vw,100px)}
.uwb_visual_box { position: relative; border-radius: 20px; overflow: hidden; background: url(../images/sub/uwb_visual_bg.jpg) no-repeat center; background-size: cover; display: flex; align-items: center; justify-content: space-between; padding: clamp(50px,4vw,40px); gap: clamp(20px,3vw,40px); }
.uwb_visual_txt { color: #fff; max-width: 420px}
.uwb_logo { display: inline-flex; align-items: center; justify-content: center; width: 80px; margin-bottom: 20px; }
.uwb_logo svg { fill: #fff}
.uwb_logo svg .st1 { fill: #e72719}
.uwb_title { font-size: clamp(22px,2.4vw,32px); font-weight: 800; margin-bottom: 10px}
.uwb_desc { font-size: 15px; opacity: .85}
.uwb_visual_img { width: auto; border-radius: 14px; overflow: hidden; padding: 0; margin: 0; }
.uwb_apps { padding-bottom: clamp(90px,8vw,140px)}
.uwb_apps_tit { display: flex; align-items: center; gap: 10px; font-size: clamp(18px,1.8vw,24px); font-weight: 700; margin-bottom: clamp(20px,2.4vw,30px)}
.uwb_apps_tit span { width: 6px; height: 6px; border-radius: 50%; background: #e72719; display: inline-block}
.uwb_grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(16px,2vw,24px)}
.uwb_item { position: relative; border-radius: 14px; overflow: hidden; background: #eee; aspect-ratio: 16/9; }
.uwb_item img { width: 100%; height: 100%; object-fit: cover; display: block}
.uwb_caption { position: absolute; left: 15px; right: 15px; bottom: 15px; padding: 20px 12px; border-radius: 7px; background: rgb(0 0 0 / 25%); color: #fff; font-size: 16px; font-weight: 600; backdrop-filter: blur(5px); text-align: center; }



/* Solution - CELLTRACE */

.sol_visual { background: url(../images/sub/solution_celltrace_visual_bg.jpg) no-repeat center/cover; height: 80vh; position: relative; overflow: hidden; }
.sol_visual_inner { display: flex; align-items: center; justify-content: space-between; height: 80vh; }
.sol_visual_txt { color: #fff; }
.sol_logo { font-size: 30px; }
.sol_logo img { width: 200px; filter: brightness(0) invert(1); margin-bottom: 20px; }
.sol_tit { font-size: clamp(28px,3vw,44px); font-weight: 800; margin: 14px 0 24px}
.sol_btn { display: inline-flex; align-items: center; background: #111; color: #fff; padding: 10px 18px; border-radius: 999px; font-size: 18px; gap: 20px; }
.sol_visual_obj { width: 720px; aspect-ratio: 4/3; background: url(../images/sub/solution_celltrace_visual_obj.png) no-repeat center/contain; }
.sol_intro { padding: clamp(90px,10vw,160px) 0; text-align: center}
.sol_intro_tit { font-size: clamp(22px,2.2vw,32px); font-weight: 800}
.sol_cloud { background: url(../images/sub/solution_celltrace_cloud_bg.jpg) no-repeat center/cover; padding: clamp(140px,16vw,240px) 0; color: #fff; text-align: center}
.sol_story { position: relative; height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.sol_story_text { position: relative; z-index: 2; font-size: clamp(24px,2.4vw,48px); font-weight: 700; color: #111; text-align: center; transition: .4s; line-height: 1.4; }
.sol_story_text img { width: 300px; margin-bottom: 7px; }
.cell_logo_img { width: 216px !important; display: inline-block; margin-bottom: 9px; }
.sol_story_bg { position: absolute; inset: 0; background: url(../images/sub/solution_celltrace_cloud_bg.jpg) no-repeat center/cover; opacity: 0; transform: translateY(80px); }
.sol_feature { padding: clamp(40px,10vw,80px) 0; display: grid; gap: clamp(80px,10vw,80px); }
.sol_item { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(180px,4vw,30px); }
.sol_item--reverse { grid-template-columns: 1fr 1fr}
.sol_txt h4 { font-size: 42px; font-weight: 800; margin: 10px 0; color: #111; }
.sol_txt p { font-size: 18px; line-height: 1.4; }
.sol_label { color: #e72719; font-size: 18px; font-weight: 700}
.sol_img { aspect-ratio: 1/1; background-size: contain; background-repeat: no-repeat; background-position: center}
.sol_img--ex { background-image: url(../images/sub/solution_celltrace_extractor.png)}
.sol_img--cl { background-image: url(../images/sub/solution_celltrace_cloner.png)}
.sol_cta { background: url(../images/sub/solution_celltrace_cta_bg.jpg) no-repeat center/cover; padding: clamp(100px,10vw,160px) 0; text-align: center; color: #fff}
.sol_cta h3 { font-size: 42px; font-weight: 700; line-height: 1.3}
.sol_cta_btns { margin-top: 26px; display: flex; gap: 12px; justify-content: center}
.btn_white { display: inline-flex; background: #fff; color: #111; padding: 12px 22px; border-radius: 999px; font-weight: 600; align-items: center; gap: 20px; }
.btn_red { display: inline-flex; background: #e72719; color: #fff; padding: 12px 22px; border-radius: 999px; gap: 20px; align-items: center; }
.sol_visual { background: url(../images/sub/solution_celltrace_visual_bg.jpg) no-repeat center/cover; min-height: 80vh; position: relative; overflow: hidden; }
.sol_visual_inner { display: flex; align-items: center; justify-content: space-between; min-height: 80vh; gap: 40px; }
.sol_visual_obj { width: 100%; max-width: 720px; aspect-ratio: 4/3; background: url(../images/sub/solution_celltrace_visual_obj.png) no-repeat center/contain; }

 


@media (max-width:1024px) {

  .sol_visual_inner { flex-direction: column; justify-content: center; text-align: center; gap: 40px; padding: 80px 0; }
  .sol_visual_obj { max-width: 500px; }
  .sol_tit { font-size: clamp(24px, 4vw, 36px); }
  .sol_item { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .sol_item--reverse { grid-template-columns: 1fr; }
  .sol_txt h4 { font-size: 32px; }
  .sol_img { max-width: 420px; margin: 0 auto; }
}
@media (max-width:768px) {

  .sol_visual { min-height: 100vh; padding: 120px 0 80px; }
  .sol_visual_inner { min-height: auto; padding: 0; }
  .sol_logo img { width: 140px; }
  .sol_tit { font-size: 26px; line-height: 1.3; }
  .sol_btn { font-size: 15px; padding: 10px 16px; gap: 10px; }
  .sol_visual_obj { max-width: 320px; margin-top: 0px; }
  .sol_intro { padding: 80px 0; }
  .sol_intro_tit { font-size: 20px; }
  .sol_story { height: 100vh; padding: 120px 0; }
  .sol_story_text { font-size: 22px; }
  .sol_story_text img { width: 180px; }
  .sol_feature { gap: 60px; }
  .sol_txt h4 { font-size: 26px; }
  .sol_txt p { font-size: 15px; }
  .sol_label { font-size: 14px; }
  .sol_img { max-width: 260px; }
  .sol_cta { padding: 80px 0; }
  .sol_cta h3 { font-size: 26px; }
  .sol_cta_btns { flex-direction: column; gap: 10px; }
  .btn_white, .btn_red { width: 100%; justify-content: center; }
  .sub_03_01 .sec_tit8 { font-size: 30px; }
}
@media (max-width:480px) {

  .sol_tit { font-size: 22px; }
  .sol_story_text { font-size: 18px; }
  .sol_txt h4 { font-size: 22px; }
  .sol_cta h3 { font-size: 22px; }
}









/* Solution - Dople */

.sol_header { position: absolute; top: 0; left: 0; width: 100%; z-index: 10; padding: 24px 0; }
.sol_header_inner { display: flex; align-items: center; justify-content: space-between; }
.sol_nav { display: flex; gap: 50px; }
.sol_nav a { color: #fff; font-size: 18px; opacity: .8; }
.sol_header { position: fixed; top: 0; left: 0; width: 100%; z-index: 50; transition: .35s; }
.sol_header.is-scrolled { background: rgba(0,0,0,.7); backdrop-filter: blur(8px); }
.sol2_intro, .sol2_feature_item, .sol2_cta { opacity: 0; transform: translateY(40px); transition: 1s; }
.sol2_intro.is-show, .sol2_feature_item.is-show, .sol2_cta.is-show { opacity: 1; transform: none; }
.motion-left { transform: translateX(-60px); }
.motion-right { transform: translateX(60px); }
.motion-left.is-show, .motion-right.is-show { transform: none; }
.sol2_visual { background: url(../images/sub/dople_bg_2.png) no-repeat center/cover; height: 80vh; color: #fff; }
.sol2_visual_inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; height: 80vh; }
.sol2_visual_txt h2 { font-size: clamp(32px,3.2vw,52px); line-height: 1.3; }
.sol_header .logo svg .st0 { fill: #fff; }
.sol2_visual_txt h2 img { width: auto; margin-bottom: 20px; }
.store_btns { margin-top: 20px; display: flex; gap: 12px; }
.sol2_visual_obj img { width: min(520px,42vw); }
.sol2_intro { text-align: center; padding: 140px 0; }
.sol2_intro h3 { font-size: clamp(22px,2vw,30px); line-height: 1.6; }
.sol2_intro span { color: #e72719; }
.sol2_feature { display: flex; flex-direction: column; gap: 20px; }
.sol2_feature_item { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.sol2_feature_item.reverse { direction: rtl; }
.sol2_feature_item.reverse .txt { direction: ltr; }
.sol2_feature_item .img img { width: 100%; border-radius: 14px; }
.sol2_cta { margin-top: 120px; background: url(../images/sub/sol2_cta_bg.jpg) no-repeat center/cover; padding: 120px 0; text-align: center; color: #fff; border-radius: 18px; margin: 100px 50px 50px; }
.sol2_cta h3 { font-size: clamp(28px,3vw,42px); line-height: 1.3; font-weight: 700; }
.cta_btns { margin-top: 30px; display: flex; gap: 14px; font-size: 16px; justify-content: center; font-weight: 600; }
.cta_btns .btn_line { background: #fff; padding: 12px 24px; border-radius: 30px; display: inline-flex; align-items: center; gap: 20px; }
.btn_fill { background: #e72719; color: #fff; padding: 12px 24px; border-radius: 30px; display: inline-flex; align-items: center; gap: 20px; }
.sol2_feature_tit .sec_tit3 { display: block; padding-bottom: 10px; }
.sol2_feature_item .kicker { display: block; color: #f00000 !important; font-size: 24px; font-weight: 700; padding-bottom: 10px; }
.sol2_feature_item h4 { font-size: 32px; font-weight: 700; color: #111; padding-bottom: 20px; }
.sol2_feature_item p { font-size: 21px; font-weight: 600; }
.sol2_intro { position: relative; padding: 230px 0; text-align: center; overflow: hidden; }
.sol2_intro_inner { position: relative; z-index: 2; }
.sol2_intro h3 { font-size: clamp(28px,2.2vw,48px); line-height: 1.6; color: #111; font-weight: 700; }
.sol2_intro h3 span { color: #e72719; }
.sol2_rings { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 1; }
.sol2_rings span { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); border: 1px solid rgba(231,39,25,.18); border-radius: 50%; animation: ringWave 4s infinite; }
.sol2_rings span:nth-child(1) { width: 360px; height: 360px; animation-delay: 0s; }
.sol2_rings span:nth-child(2) { width: 560px; height: 560px; animation-delay: .6s; }
.sol2_rings span:nth-child(3) { width: 760px; height: 760px; animation-delay: 1.2s; }

.sol2_visual { min-height: 80vh; }
.sol2_visual_inner { min-height: 80vh; }
@media (max-width:1024px) {

  .sol_nav { gap: 24px; }
  .sol_nav a { font-size: 16px; }
  .sol2_visual_inner { flex-direction: column; justify-content: center; text-align: center; padding: 120px 0 80px; }
  .sol2_visual_obj img { width: min(420px, 80%); }
  .sol2_visual_txt h2 { font-size: clamp(26px, 5vw, 40px); }
  .store_btns { justify-content: center; }
  .sol2_intro { padding: 160px 0; }
  .sol2_feature_item { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .sol2_feature_item.reverse { direction: ltr; }
  .sol2_feature_item.reverse .txt { direction: ltr; }
  .sol2_feature_item h4 { font-size: 28px; }
  .sol2_feature_item p { font-size: 18px; }
  .sol2_cta { margin: 80px 20px; padding: 100px 40px; }
}
@media (max-width:768px) {

  .sol2_visual { position: relative; background: url(../images/sub/dople_bg_2.png) no-repeat 81% / cover; color: #fff; }
  .sol2_visual::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.35); z-index: 1; }
  .sol2_visual_inner { position: relative; z-index: 2; }
  .sol_header { padding: 16px 0; }
  .sol_header_inner { flex-direction: column; gap: 10px; }
  .sol_nav { gap: 16px; flex-wrap: wrap; justify-content: center; }
  .sol_nav a { font-size: 14px; }
  .sol2_visual { min-height: 100vh; padding: 140px 0 80px; }
  .sol2_visual_inner { min-height: auto; padding: 0; }
  .sol2_visual_txt h2 { font-size: 24px; }
  .sol2_visual_txt h2 img { max-width: 160px; }
  .sol2_visual_obj img { width: 260px; }
  .store_btns { flex-direction: column; align-items: center; }
  .sol2_intro { padding: 120px 20px; }
  .sol2_intro h3 { font-size: 20px; }
  .sol2_rings span:nth-child(1) { width: 200px; height: 200px; }
  .sol2_rings span:nth-child(2) { width: 320px; height: 320px; }
  .sol2_rings span:nth-child(3) { width: 440px; height: 440px; }
  .sol2_feature_item { gap: 30px; }
  .sol2_feature_item .kicker { font-size: 16px; }
  .sol2_feature_item h4 { font-size: 22px; }
  .sol2_feature_item p { font-size: 15px; }
  .sol2_cta { margin: 60px 16px; padding: 80px 20px; }
  .sol2_cta h3 { font-size: 22px; }
  .cta_btns { flex-direction: column; gap: 10px; }
  .cta_btns a { width: 100%; justify-content: center; }
}
@media (max-width:480px) {

  .sol2_visual_txt h2 { font-size: 20px; }
  .sol2_intro h3 { font-size: 18px; }
  .sol2_feature_item h4 { font-size: 20px; }
  .sol2_cta h3 { font-size: 20px; }
}
/* Solution - Smart POS */

.sol3_wrap { background: #fff}
.sol_header--pos { position: fixed; top: 0; left: 0; width: 100%; z-index: 50; transition: .35s}
.sol_header--pos.is-scrolled { background: rgba(0,0,0,.6); backdrop-filter: blur(10px)}
.sol_header--pos .sol_nav a { color: #fff; opacity: .85}
.sol_header--pos .sol_nav a.is-active { opacity: 1; font-weight: 700}
.sol3_visual { position: relative; overflow: hidden; background: url(../images/sub/pos_bg.png) no-repeat center center/cover; }
.sol3_visual_inner { height: 80vh; margin: 0 auto; width: 1400px; display: flex; justify-content: space-between; align-items: center; }
.sol3_visual_txt2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}

.sol3_visual_img { width: 60%; }
.sol3_title { font-size: clamp(28px,3.2vw,60px); font-weight: 700; letter-spacing: -.02em; line-height: 1.15}
.sol3_more { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; height: auto; padding: 12px 20px; border-radius: 999px; background: #ff7a45; color: #fff; font-weight: 600; font-size: 18px; transition: .25s; gap: 20px; width: fit-content; }
.sol3_more:hover { background: rgba(231,39,25,.9)}
.smart_pos { background: url(../images/sub/pos_bg_3.png)no-repeat center center/cover; margin: 5%; border-radius: 24px; }
.smart_pos .smart_pos_txt { padding: 200px 0 400px 0; }
.smartpos { position: relative; height: 100vh; }
.smartpos_sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.smartpos_bg { position: absolute; inset: 0; }
.smartpos_bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.smartpos_text { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 48px; font-size: clamp(34px, 3vw, 64px); font-weight: 700; line-height: 1.1; letter-spacing: -0.03em; }
.smartpos_fill { color: transparent; background-image: linear-gradient( 90deg, #18344d 0%, #18344d var(--fill, 0%), #ffffff var(--fill, 0%), #ffffff 100% ); -webkit-background-clip: text; background-clip: text; transition: background-image .08s linear; }
.smartpos_line { width: clamp(70px, 8vw, 150px); height: 2px; background: linear-gradient( 90deg, #18344d 0%, #18344d var(--fill, 0%), rgba(255,255,255,.95) var(--fill, 0%), rgba(255,255,255,.95) 100% ); flex: 0 0 auto; }
.pos_wrap { padding: 120px 0; }
.pos_title { text-align: center; margin-bottom: 80px; }
.pos_title h2 { font-size: 44px; font-weight: 700; line-height: 1.5; color: #183b52; }
.pos_title span { color: #ff7a45; }
.pos_layout { display: grid; grid-template-columns: 3fr 2fr; grid-template-rows: auto auto; gap: 20px; align-items: stretch; }
.pos_grid { background: #f1f1f1; border-radius: 24px; padding: 50px; position: relative; }
.pos_left { grid-row: 1 / span 2; display: flex; align-items: center; justify-content: space-between; }
.pos_card_left { width: 55%; }
.pos_card_left img { width: 70px; margin-bottom: 20px; }
.pos_card_left h3 { font-size: 28px; margin-bottom: 14px; font-weight: 700; }
.pos_card_left p { color: #777; line-height: 1.6; font-size: 16px; }
.pos_phone { width: 260px; }
.pos_phone img { width: 100%; }
.pos_card_row { background: #f1f1f1; border-radius: 24px; padding: 40px; display: flex; align-items: center; justify-content: space-between; }
.pos_card_row img { width: 120px; }
.pos_text h3 { font-size: 26px; margin-bottom: 10px; font-weight: 700; }
.pos_text p { color: #777; line-height: 1.6; font-size: 16px; }
.pos_grid { background: url(../images/sub/pos_phone_bg.png)no-repeat center center/cover; }
.sol3_cta { background: url(../images/sub/pos_cta_bg.png) no-repeat center / cover; position: relative; padding: 120px 0; text-align: center; color: #fff; border-radius: 18px; margin: 100px 50px 50px; overflow: hidden}
.sol3_cta_bg:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.25)); }
.sol3_cta_tit { color: #fff; font-size: clamp(28px,3vw,42px); font-weight: 700; line-height: 1.3; }
.sol3_cta_btns { margin-top: 30px; display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.sol3_cta_btns a { display: inline-flex; align-items: center; justify-content: center; height: auto; padding: 12px 24px; border-radius: 999px; font-weight: 700; font-size: 16px; gap: 20px; transition: .25s}
.sol3_cta_btns .btn_line { background: #fff; color: #111}
.sol3_cta_btns .btn_line:hover { background: #f3f3f3}
.sol3_cta_btns .btn_fill { background: #ff7a45; color: #fff}
.sol3_cta_btns .btn_fill:hover { filter: brightness(.95)}
.sol3_visual_txt,.sol3_visual_obj,.sol3_mid_inner,.sol3_rev_head,.sol3_rev_card,.sol3_cta_inner { opacity: 0; transform: translateY(24px); transition: .9s}
.is-show { opacity: 1; transform: none}
/* animation */
@keyframes scroll {
	0% { transform: translate(0, -5px); opacity: 0; }
	40% { opacity: 1; }
	80% { transform: translate(0, 10px); }
	100% { opacity: 0; }
}
@keyframes textLoop {
	0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	100% { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
}
@keyframes stroke {
	0% { fill: rgba(255,255,255,0); stroke: rgba(255,255,255,1); stroke-dashoffset: 25%; stroke-dasharray: 0 50%; stroke-width: 1; }
	40% { fill: rgba(255,255,255,0); stroke: rgba(255,255,255,1); stroke-width: 1; }
	100% { fill: rgba(255,255,255,1); stroke: rgba(255,255,255,0); stroke-dashoffset: -25%; stroke-dasharray: 50% 0; stroke-width: 0; }
}
@keyframes stroke1 {
	0% { fill: rgb(0 0 0 / 0%); stroke: rgb(0 0 0); stroke-dashoffset: 25%; stroke-dasharray: 0 50%; stroke-width: 1; }
	40% { fill: rgb(0 0 0 / 0%); stroke: rgb(0 0 0); stroke-width: 1; }
	100% { fill: rgb(0 0 0); stroke: rgb(0 0 0 / 0%); stroke-dashoffset: -25%; stroke-dasharray: 50% 0; stroke-width: 0; }
}
@keyframes stroke2 {
	0% { fill: rgba(229, 36, 28, 0); stroke: rgb(229, 36, 28,1); stroke-dashoffset: 25%; stroke-dasharray: 0 50%; stroke-width: 1; }
	40% { fill: rgba(229, 36, 28,0); stroke: rgba(229, 36, 28,1); stroke-width: 1; }
	100% { fill: rgba(229, 36, 28,1); stroke: rgba(229, 36, 28,0); stroke-dashoffset: -25%; stroke-dasharray: 50% 0; stroke-width: 0; }
}
@keyframes fadeUp {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes textLoop {
	0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	100% { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
}
@keyframes ringWave {
	0% { transform: translate(-50%,-50%) scale(.85); opacity: .5; }
	70% { opacity: .15; }
	100% { transform: translate(-50%,-50%) scale(1.05); opacity: 0; }
}



.sol3_visual_inner { max-width: 1400px; width: 100%; padding: 0 5%; min-height: 80vh; }
@media (max-width:1024px) {

  .sol3_visual_inner { flex-direction: column; text-align: center; justify-content: center; gap: 40px; padding: 120px 5% 80px; }
  .sol3_visual_img { width: 80%; }
  .sol3_title { font-size: clamp(26px, 5vw, 42px); }
  .smartpos { height: auto; }
  .smartpos_sticky { position: relative; height: auto; padding: 120px 0; }
  .smartpos_text { flex-direction: column; gap: 20px; text-align: center; font-size: clamp(28px, 5vw, 48px); }
  .pos_layout { grid-template-columns: 1fr; gap: 20px; }
  .pos_left { flex-direction: column; text-align: center; gap: 30px; }
  .pos_card_left { width: 100%; }
  .pos_phone { width: 200px; }
  .pos_card_row { flex-direction: column; text-align: center; gap: 20px; }
  .sol3_cta { margin: 80px 20px; padding: 100px 40px; }
}
@media (max-width:768px) {
.pos_grid {
    background: #f1f1f1;
}
.sol3_visual_txt2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}
  .sol3_visual { padding: 140px 0 80px; }
  .sol3_visual_inner { min-height: auto; padding: 0 5%; }
  .sol3_visual_img { width: 100%; }
  .sol3_title { font-size: 24px; line-height: 1.3; }
  .sol3_more { font-size: 15px; padding: 10px 16px; }
  .smartpos_text { font-size: 22px; }
  .smartpos_line { width: 60px; }
  .pos_wrap { padding: 80px 0; }
  .pos_title { margin-bottom: 50px; }
  .pos_title h2 { font-size: 26px; }
  .pos_grid { padding: 30px 20px; }
  .pos_card_left h3 { font-size: 20px; }
  .pos_card_left p { font-size: 14px; }
  .pos_text h3 { font-size: 20px; }
  .pos_text p { font-size: 14px; }
  .pos_phone { width: 160px; }
  .pos_card_row img { width: 80px; }
  .sol3_cta { margin: 60px 16px; padding: 80px 20px; }
  .sol3_cta_tit { font-size: 22px; }
  .sol3_cta_btns { flex-direction: column; }
  .sol3_cta_btns a { width: 100%; }
  .smart_pos .smart_pos_txt { padding: 40px 0 100px 0; }
}
@media (max-width:480px) {

  .sol3_title { font-size: 20px; }
  .smartpos_text { font-size: 18px; }
  .pos_title h2 { font-size: 22px; }
  .sol3_cta_tit { font-size: 20px; }
}