﻿@charset "utf-8";

@import "reset_cache.css";
@import "module_cache.css";
@import "company_cache.css";

/* Common Layout */
.body_wrap { position: relative; min-width: @body_width@px;}

#header *,
#footer *,
.top_nav *,
.head_cen * { letter-spacing: -0.03em;}

.wrapper { position: relative; width: 100%; min-width: @body_width@px;}
.wrapper > div { position: relative; max-width: @wrap_width@px; margin: 0 auto; padding: 0 @wrap_margin_left_right@px;}

.col_headline { padding: 0 0 40px;}
.line_box { border-top: 3px solid #222; padding: 50px 0;}
.line_box > .column { display: flex;}

/* 상단 네비게이션 */
.top_nav { font-size: 13px; color: @txt_sub_color@; background: #f3f3f3; font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
.top_nav > div { display: flex; align-items: center; justify-content: space-between;}
.top_nav > div > div { display: flex; align-items: center; padding: 7px 0;}
.top_nav a { color: #888;}
.top_nav .sns_link { display: flex; align-items: center; margin: 0 12px 0 0;}
.top_nav .sns_link a { display: flex; width: 30px; height: 30px; background: url(../btn/btn_sns.png?250827) no-repeat 0 0; background-size: 300px 60px; text-indent: -9999em;}
.top_nav .sns_link a.sl01 { background-position: 0 0;}		/* 유튜브 */
.top_nav .sns_link a.sl02 { background-position: -30px 0;}	/* 페이스북 */
.top_nav .sns_link a.sl03 { background-position: -60px 0;}	/* 트위터 */
.top_nav .sns_link a.sl04 { background-position: -90px 0;}	/* 인스타그램 */
.top_nav .sns_link a.sl05 { background-position: -120px 0;}	/* 네이버 */
.top_nav .sns_link a.sl06 { background-position: -150px 0;}	/* 포스트 */
.top_nav .sns_link a.sl07 { background-position: -180px 0;}	/* rss */
.top_nav .sns_link a.sl08 { background-position: -210px 0;}	/* 스레드 */
.top_nav .sns_link a.sl09 { background-position: -240px 0;}	/* 카카오채털 */
.top_nav .sns_link a.sl10 { background-position: -270px 0;}	/* 카카오스토리 */
.top_nav .sns_link a:hover { background-position-y: -30px;}

.top_nav .tn_right { display: flex; align-items: center;}
.top_nav .tn_right li { position: relative; padding-left: 8px; margin-left: 8px;}
.top_nav .tn_right li:after { position: absolute; left: 0; top: 50%; margin-top: -5px; content: ""; display: block; width: 1px; height: 12px; background: rgba(0,0,0,.15);}
.top_nav .tn_right li:first-child:after { display: none;}
.top_nav .tn_right li a { display: block;}
.top_nav .tn_right li a:hover { color: @black@;}

/* 날짜 */
.today_txt { font-weight: bold; font-size: 16px; color: #222; margin-right: 15px; letter-spacing: 0;}
.weather_box > a { white-space: nowrap;}

/* Header */
#header { z-index: 100;}
#header > div { padding: 0; max-width: @body_width@px;}
.head_top { position: relative; padding: 0 @wrap_margin_left_right@px;}
.head_top > div { min-height: 120px;}
.head_top > div h1 { position: absolute; left: 50%; top:0; width: 400px; margin-left: -200px;}
.head_top > div h1 b { display: table-cell; width: 400px; height: 120px; vertical-align: middle; text-align: center;}
.head_top > div:after { content: ""; display: block; clear: both;}
.head_top > div > div { width: 260px; margin: 18px 0 2px;}
.head_top .ht_left { float: left;}
.head_top .ht_left .com_ban { text-align: left !important;}
.head_top .ht_right { float: right;}
.head_top .ht_right .com_ban { text-align: right !important;}

.head_cen { position: relative; z-index: 120; border-top: 1px solid @border_main_color@; border-bottom: 1px solid @border_main_color@; padding: 0 50px;}

#gnb { text-align: center; display: flex; flex-wrap: wrap; align-items: center; text-align: center; height: 71px; margin-left: -15px;}
#gnb > li { display: block;}
#gnb > li:first-child { background: none;}
#gnb > li > a { position: relative; display: block; height: 71px; line-height: 69px; font-size: 18px; padding: 0 15px; color: #000; font-weight: bold; margin-right: -1px; z-index: 1;}
#gnb > li > a > span { position: relative; display: block;}
#gnb > li > a > span:after { position: absolute; left: 50%; top: -1px; margin-left: 0; content: ""; display: block; width: 0; height: 3px; background: @main_color@; transition: all .3s ease;}

#gnb > li > a.on, #gnb > li > a.active { color: @over_main_color@;}
#gnb > li > a.on > span:after, #gnb > li > a.active > span:after { left: 0; width: 100%;}

#gnb.horizontal .sub_wrap { position: absolute; left: 0; box-shadow: 0 5px 10px rgba(255,255,255,.3); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 3px solid @over_main_color@;  background: rgba(@main_rgb@,.9);}
#gnb.horizontal .sub_wrap > div { display: flex; align-items: center; justify-content: center;}
#gnb.horizontal .sub_wrap h2 { position: relative; margin-right: 40px; padding: 20px 0;}
#gnb.horizontal .sub_wrap h2:after { position: absolute; right: -30px; top: 50%; margin-top: -3px; content: ""; display: block; width: 6px; height: 6px; background: rgba(255,255,255,.5); border-radius: 50%;}
#gnb.horizontal .sub_wrap h2 a { font-size: 22px; color: #fff; white-space: nowrap; opacity: .7;}
#gnb.horizontal .sub_wrap ul { display: flex; flex-wrap: wrap; padding: 20px 0;}
#gnb.horizontal .sub_wrap ul li { margin: 10px 15px;}
#gnb.horizontal .sub_wrap ul li a { color: #fff; font-weight: bold; font-size: 17px; transition: all .3s ease; border-top: 1px solid transparent; border-bottom: 1px solid transparent;}
#gnb.horizontal .sub_wrap ul li a:hover { border-bottom: 1px solid #fff;}

#gnb.vertical > li { position: relative;}
#gnb.vertical > li > ul { position: absolute; left: 0; top: 71px; background: #fff; border: 1px solid @border_main_color@; border-top-color: #fff; text-align: left; padding: 0 0 10px; border-radius: 0 0 12px 12px;}
#gnb.vertical > li > ul li { float: none; display: block; padding: 0; background: none; text-align: left;}
#gnb.vertical > li > ul li:first-child { padding-left: 0; margin-left: 0;}
#gnb.vertical > li > ul li a { display:block; padding: 12px 40px 12px 20px; color: #888; font-weight: bold; font-size: 17px;}
#gnb.vertical > li > ul li a span { display: inline-block; white-space: nowrap;}
#gnb.vertical > li > ul li a:hover, #gnb > li > ul li a.active { color: @main_color@;}

/* Search */
.search_box { position: absolute; right: 50px; top: 5px; height: 61px; overflow: hidden; padding-left: 30px;}
.search_con { position: absolute; width: 240px; padding: 12px 7px 12px 13px; z-index: 10; background: rgba(0,0,0,.7); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); border-radius: 10px;}
.search_con:after { content: ""; display: block; clear: both;}
.search_con input { border: 0; font-size: 13px; padding: 7px 10px 8px; height: 22px; width: 150px; border-radius: 4px; font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
.search_con .i_label { top: 17px; left: 17px; font-size: 13px; color: @medium@;}
.search_box .btn_search_submit { position: absolute; right: 32px; top: 10px; display: block; width: 40px; height: 40px; text-indent: -9999px; background: url(../btn/btn_search_w.svg) no-repeat center center;}
.search_box .head_search::placeholder { color: #999;}

.search_box .btn_search_close { position: absolute; right: 10px; top: 9px; display: block; width: 25px; height: 40px; text-indent: -9999px; background: url(../btn/btn_close_w.svg) no-repeat center center; z-index: 12; transition: none;}

.search_box .btn_all_search { position: absolute; right: 0; top: 0; display: block; width: 30px; height: 61px; text-indent: -9999px; background: url(../btn/btn_search.svg) no-repeat center center; z-index: 12; transition: none;}

/* Footer */
#footer { font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
#footer .wrapper > div { max-width: @wrap_width@px;}
.foot_top { background: #f4f4f4;}

.foot_wrap { position: relative; padding: 22px 0 30px;}
.foot_wrap:after { content: ""; display: block; clear: both;}
.foot_wrap h6 { position: absolute; left: 0; top: 25px; display: table; margin-right: 40px; text-align: center;}
.foot_wrap h6 b { display: table-cell; vertical-align: middle; text-align: center;}
.foot_wrap > div { padding-left: 176px;}

.foot_nav { padding: 17px 0 19px; height: 18px;}
.foot_nav > ul { position: relative; text-align: center;}
.foot_nav > ul li { display: inline-block;}
.foot_nav > ul li:before { position: relative; top: -1px; content: "|"; font-size: 12px; margin: 0 14px 0 12px; color: #ccc;}
.foot_nav > ul li:first-child:before { visibility: hidden;}
.foot_nav > ul li a { font-size: 15px; color: #666;}
.foot_nav > ul li a:hover { text-decoration: underline;}

.foot_con > p { font-size: 13px; color: #666; line-height: 1.7; letter-spacing: -0.04em;}
.foot_con > p * { font-style: normal; font-weight: normal; color: #666; margin-right: 10px; letter-spacing: 0;}
.foot_con > b { position: absolute; right: 0; bottom: 40px;}
.foot_con .update { letter-spacing: 0; color: #999;}
.foot_con .update > b { font-weight: bold;}

.foot_link { position: absolute; right: 0; top: 30px; display: flex;}
.foot_link > li { margin-left: 15px;}

/* Content */
#container { position: relative;}
#container > div { padding: 35px 0 70px;}

.page_tit { position:relative; font-size: 26px; padding-bottom: 17px; line-height: 1.2; margin-left: -2px; border-bottom: 1px solid @border_main_color@; margin-bottom: 20px;}

.btn_mobile { position: relative; text-align: center; padding: 15px 0;}
.aside_box { position: relative; padding-left: 20px;}

.line_wrap { margin: 0 0 20px; background: url(../bg/bg_linewrap.png) repeat-y 699px 0; border-bottom: 1px solid #dedede;}
.line_wrap02 { padding: 20px 0 0; background: url(../bg/bg_linewrap.png) repeat-y 299px 0;}
.bg_wrap { padding: 0 0 20px; background: url(../bg/bg_bgwrap.png) repeat-y right 0; margin-bottom: 20px;}
hr.line { display: block; outline: none; padding: 0; margin: 0; height: 1px; border: none; background: #dedede;}

.scroll-in01, .scroll-in02 { z-index: 10;}

/* 전체메뉴 */
.hidden { overflow: hidden; height: 100%;}

.all_nav { position: absolute; left: -50px; top: 0; display: block; width: 23px; height: 70px; z-index: 1000;}
.all_nav > span { position: relative; top: 34px; display: block; text-indent: -9999em; width: 17px; height: 2px; background: #222; margin: 0 auto;}
.all_nav > span:before { position: absolute; left: 0; top: -7px; content: ""; display: block; width: 17px; height: 2px; background: #222;}
.all_nav > span:after { position: absolute; left: 0; bottom: -7px; content: ""; display: block; width: 17px; height: 2px; background: #222;}

.allnav_wrap { position: fixed; right: -240px; top: 0; width: 220px; height: 100%; background: rgba(255,255,255,.9); z-index: 10010; box-shadow: 0 0 20px rgba(0,0,0,.45); transition: right .3s ease-out; overflow: hidden; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); font-family: -apple-system, BlinkMacSystemFont, 'Pretendard Variable', Pretendard, Apple SD Gothic Neo, 맑은고딕, Malgun Gothic, Droid Sans, sans-serif;}
.allnav_wrap.active { right: 0;}

.allnav_wrap .swiper-container { width: 220px; height: 100%;}
.allnav_wrap .swiper-slide { height: auto;}
.allnav_wrap .swiper-container-vertical > .swiper-scrollbar { right: 0 !important; top: 0 !important; height: 100% !important;}
.allnav_wrap .swiper-scrollbar-drag { border-radius: 0 !important; background: #777 !important;}

.allnav_close { position: absolute; right: 10px; top: 10px; display: block; width: 25px; height: 25px; background: url(../btn/btn_aside_close.png) no-repeat center center; text-indent: -9999em;}

.allnav { padding: 50px 0 20px;}
.allnav > li { border-top: 1px solid #d3d3d3;}
.allnav > li > a { position: relative; display: block; padding: 10px 35px 10px 20px; font-size: 17px; font-weight: bold; background: rgba(0,0,0,.07); transition: all .3s ease;}
.allnav > li > a:after { position: absolute; right: 20px; top: 50%; margin-top: -5px; content: ""; display: block; width: 6px; height: 10px; background: url(../btn/btn_aside_arrow.png) no-repeat 0 0;}
.allnav > li > ul { padding: 7px 0 10px; overflow: hidden; margin-left: 20px;}
.allnav > li > ul > li > a { position: relative; display: block; font-size: 15px; font-weight: bold; padding: 4px 13px; color: #808080; transition: color .3s ease;}
.allnav > li > ul > li > a:after { position: absolute; left: 0; top: 50%; content: ""; display: block; width: 8px; height: 1px; background: #dedede;}
.allnav > li > ul > li > a:before { position: absolute; left: 0; bottom: 50%; content: ""; display: block; width: 1px; height: 60px; background: #dedede;}
.allnav > li > a.active, .allnav > li:hover > a { background-color: @main_color@; color: #fff;}
.allnav > li > a.active:after, .allnav > li:hover > a:after { background-position-y: -15px;}

.allnav > li > ul > li > a.active, .allnav > li > ul > li > a:hover { color: @sub_color@;}

.allnav_mask { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,.3); z-index: 10009; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);}
