@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
@import url("./font-awesome/css/font-awesome.min.css");
@font-face {
	font-family: 'Pretendard Variable';
	font-weight: 45 920;
	font-style: normal;
	font-display: swap;
	src: local('Pretendard Variable'), url('./fonts/PretendardVariable.woff2') format('woff2-variations');
}
@font-face {
	font-family:'Material Icons';
	font-style:normal;
	font-weight:400;
	src:url(https://example.com/MaterialIcons-Regular.eot);
	src:local('Material Icons'),local('MaterialIcons-Regular'),url(https://example.com/MaterialIcons-Regular.woff2) format('woff2'),url(https://example.com/MaterialIcons-Regular.woff) format('woff'),url(https://example.com/MaterialIcons-Regular.ttf) format('truetype');
}
.material-icons {
	font-family:'Material Icons';
	font-weight:normal;
	font-style:normal;
	font-size:2.4rem; /* 24px */
	display:inline-block;
	line-height:1;
	text-transform:none;
	letter-spacing:normal;
	word-wrap:normal;
	white-space:nowrap;
	direction:ltr;
	text-rendering:optimizeLegibility;
	font-feature-settings:'liga';
}

/* ========================== 초기화 [s] */
* { -webkit-text-size-adjust:none }
*,:after,:before { box-sizing:border-box }

:root {
	--primary:#1398F8;
	--navy:#032B69;
	--dark:#222;
	--mint:#45E6D9;
	--gray:rgba(68,87,118,0.1);
	--bg:#F3F9FF;
	--mainsize:1440px;
	--bd-color:#DEE6EE;
	--cont1:#444;
	--cont2:#666;
	--k-font:'Pretendard Variable';
	--e-font:"Outfit",sans-serif;	
	
	--col-gap  : 14px;  /* 열 사이 */
	--card-gap : 10px;  /* 같은 열 안 카드 사이 */
	--row-gap  : 14px;  /* 행(row) 사이 */
	--card-r   : 12px;  /* 카드 모서리 둥글기 */
	--body-pad : 14px;  /* 카드 바디 패딩 */

	
}

html { font-size:62.5% } /* 1rem = 10px */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin:0; padding:0; border:0; vertical-align:baseline
}
body { background:#fff; font-size:1.8rem; /* 13px */ font-family:var(--k-font); overflow-x:hidden }
h1,h2,h3,h4,h5,h6,input,button,textarea,select { font-family:var(--k-font) }
a { text-decoration:none !important }
a:hover { text-decoration:none !important }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block }
ol,ul,dl,dt,dd { list-style:none }
blockquote,q { quotes:none }
blockquote:before,blockquote:after,q:before,q:after {content:none;}
table { border-collapse:collapse; border-spacing:0 }
input,button { margin:0; padding:0; font-family:'Pretendard Variable' }
input[type="submit"] { cursor:pointer }
button { cursor:pointer }
textarea,select { font-family:'Pretendard Variable' }
select { margin:0 }
label,input,button,select,img { vertical-align:middle }

.sound_only {
	display:inline-block !important;
	position:absolute; top:0; left:0;
	margin:0 !important; padding:0 !important;
	font-size:0; line-height:0; border:0 !important; overflow:hidden !important
}
#wrapper { position:relative; width:100%; margin:0 auto }
/* ========================== 초기화 [e] */


/* ========================== HEADER */
#hd {
	--hd-height:100px;
	position:fixed; top:0; z-index:100; width:100%
}
#hd.sub { position:absolute !important }

.top_nav_bg {
	position:fixed; width:100%; display:none;
	top:var(--hd-height); left:0; height:380px;
	border-top:1px solid #e1e1e1; background:#fff;
	box-shadow:0px 12px 12px -17px rgba(0,0,0,0.25)
}
#top_nav_wrap { position:relative }

/* fixed */
#top_nav_wrap.fixed { background-color:#fff; box-shadow:0 0 12px rgba(0,0,0,0.05) }
#top_nav_wrap.fixed #top_nav>li>a { color:#222 }
#top_nav_wrap.fixed .h_center .util .tip li a { color:#222 }
#top_nav_wrap.fixed .h_center .util .tip li a.login::after { background-color:#222 }

/* on */
#top_nav_wrap.on { background-color:#fff }
#top_nav_wrap.on #top_nav>li>a { color:#222 }
#top_nav_wrap.on .h_center .util .tip li a { color:#222 }
#top_nav_wrap.on .h_center .util .tip li a.login::after { background-color:#222 }

/* nav_depth */
#top_nav {
	position:absolute; top:50%; left:50%;
	transform:translate(-40%,-50%);
	display:flex; align-items:center
}
#top_nav li.list { position:relative; color:#848484; font-size:1.6rem; text-align:center } /* 16px */
#top_nav>li>a {
	display:block; padding:0 55px; font-size:1.8rem; /* 18px */ color:#fff;
	font-weight:500; line-height:var(--hd-height);
	transition:line-height 0.2s; white-space:nowrap
}
#top_nav li ul {
	position:absolute; display:none; left:50%; transform:translateX(-50%);
	width:100%; height:350px; padding:10px 0
}
#top_nav li ul a {
	position:relative; display:block; padding:10px 20px;
	font-size:1.6rem; /* 16px */ color:#888; letter-spacing:-0.5px
}

/* LNB */
#top_nav_wrap {
	position:relative; width:100%;
	height:var(--hd-height); margin:0 auto; transition:height 0.2s
}
#top_nav_wrap .h_center {
	display:flex; align-items:center; justify-content:space-between;
	width:100%; height:100%; margin:0 auto; padding:0 20px; max-width:1400px;
}
#top_nav_wrap .h_center .util {
	display:flex; align-items:center; justify-content:space-between; width:100%
}
#top_logo { position:relative }
#top_logo a { display:inline-block }
#top_logo img { width:180px; height:auto }
#top_nav_wrap .h_center .h_left { display:flex; align-items:center }
#top_nav.sub li>a { color:#fff }
#top_nav.sub li ul a { color:#888 }

@media (hover:hover) {
	#top_nav_wrap .h_center .util .tip li a:hover { color:#fff }
	#top_nav_wrap.fixed .h_center .util .tip li a:hover { color:#222 }
	#top_nav_wrap.on .h_center .util .tip li a:hover { color:#222 }
	#top_nav li ul a:hover,#nav li a.hov { color:#333 }
}

/* 반응형 메뉴 [s] */
#topmenuM {
	display:none; position:relative; width:100%;
	padding:10px 15px; line-height:1.8;
	background-color:transparent; font-family:'Pretendard Variable';
	transition:background-color 0.2s
}
#topmenuM.fixed { background-color:#fff; box-shadow:0 0 12px rgba(0,0,0,0.05) }

#topmenuM.fixed #m_navBtn span:before,
#topmenuM.fixed #m_navBtn span:after { background-color:#222 }
#topmenuM.dark #m_navBtn span:before,
#topmenuM.dark #m_navBtn span:after { background-color:#222 }

/* 서브 페이지 모바일 헤더 */
#hd.sub #topmenuM {
	background-color:#fff;
	box-shadow:0 0 12px rgba(0,0,0,0.05);
}
#hd.sub #m_navBtn span:before,
#hd.sub #m_navBtn span:after {
	background-color:#222 !important;
}

#m_logo { position:relative }
#m_logo a { display:inline-block }
#m_logo img { width:150px }

#m_navBtn {
	position:absolute; top:18px; right:15px;
	z-index:5; width:30px; height:30px; cursor:pointer
}
#m_navBtn span {
	display:block; position:relative; top:50%;
	transform:translateY(-50%); width:100%; height:2px
}
#m_navBtn span:before,#m_navBtn span:after {
	display:block; content:""; position:absolute; top:-6px;
	width:30px; height:2px; background-color:#fff;
	-webkit-transition:all .1s; transition:all .1s
}
#m_navBtn span:after { top:6px; width:16px; right:0; background-color:#fff }
#m_navBtn.on { position:fixed }
#m_navBtn.on span:before { top:0; right:-4px; transform:rotate(45deg); background-color:#fff !important;}
#m_navBtn.on span:after { top:0; right:-4px; width:30px; transform:rotate(-45deg); background-color:#fff !important; }

#navWrap {
	display:none; position:fixed; left:0; top:0;
	z-index:4; width:100%; height:100%; background-color:rgba(0,0,0,.7)
}
#navWrap .inner {
	overflow-y:scroll; opacity:0; position:fixed;
	right:-40px; top:0; z-index:6; min-width:300px; width:75%; height:100%;
	padding:60px 0; background-color:var(--navy);
	-webkit-transition:all .1s; transition:all .1s;
}


#navWrap.on .inner { opacity:1; right:0; -webkit-transition:all .4s; transition:all .4s }
#navWrap .inner:before {
	opacity:0; display:block; position:fixed; top:0; right:-40px; z-index:1; content:"";
	min-width:300px; width:75%; height:60px; background-color:var(--navy);
	-webkit-transition:all .1s; transition:all .1s
}
#navWrap.on .inner:before{
	opacity:1; right:0; -webkit-transition:all .4s; transition:all .4s
}
#navWrap .inner .mo_hd_copy {
	position:fixed; right:0; bottom:15px; z-index:2;
	min-width:300px; width:70%; font-size:1.2rem; /* 12px */ text-align:center; color:#888
}
#navWrap .inner::-webkit-scrollbar {
    width: 6px; /* 이 줄이 없으면 track/thumb 스타일이 무시됨 */
}
#navWrap .inner::-webkit-scrollbar-track {
    background: var(--navy);       
    border-radius: 10px;
}
#navWrap .inner::-webkit-scrollbar-thumb {
    background: var(--navy);                     /* 핸들 색상 */
    border-radius: 10px;
}
/* 대분류 */
#topmenuM .m_lnb .m_bmenu {
	display:block; position:relative; width:100%; height:70px;
	padding:10px 20px; border:none; border-bottom:1px solid rgba(255,255,255,0.1);
	background:none; font-size:2rem; line-height:52px;
	color:#fff; text-align:left; font-family:'Pretendard Variable'
}
#topmenuM .m_lnb .m_bmenu:after { float:right; content:"\f107"; font-family:'fontawesome'; color:#fff; }
#topmenuM .m_lnb .m_bmenu.on:after { content:"\f106" }

/* 소분류 */
#topmenuM .m_smenu {
	display:none; padding:15px 20px;
	border-bottom:1px solid rgba(255,255,255,0.1); background-color: rgba(255,255,255,0.1);
}
#topmenuM .m_smenu li a { font-size:1.6rem; 
	color:rgba(255,255,255,0.8); } /* 16px */
#topmenuM .m_smenu li a:hover {
	color:#fff;
}
/* PC 햄버거 버튼 */
.pc-ham-btn {
	display:flex; flex-direction:column; justify-content:center;
	gap:5px; width:20px; height:20px; padding:1px 0; text-decoration:none !important
}
.pc-ham-btn span {
	display:block; width:20px; height:2px;
	background-color:#fff; border-radius:2px; transition:background-color 0.2s
}
#top_nav_wrap.fixed .pc-ham-btn span,
#top_nav_wrap.on .pc-ham-btn span,
body.page-inquiry .pc-ham-btn span { background-color:#111 }

/* 채용정보 페이지 헤더 - 흰 배경 + 검정 폰트 */
body.page-inquiry #top_nav_wrap {
    background-color: #fff;
    box-shadow: 0 0 12px rgba(0,0,0,0.05);
}
body.page-inquiry #top_nav > li > a {
    color: #222;
}
body.page-inquiry #m_navBtn span:before,
body.page-inquiry #m_navBtn span:after {
    background-color: var(--dark);
}
/* 채용정보 페이지 - 모바일 헤더 흰 배경 + 검정 햄버거 */
body.page-inquiry #topmenuM {
    background-color: #fff;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
}

body.page-inquiry #m_navBtn span:before,
body.page-inquiry #m_navBtn span:after {
    background-color: var(--dark);
}

/* 사이드메뉴 열렸을 때 X 버튼은 흰색 유지 */
body.page-inquiry #m_navBtn.on span:before,
body.page-inquiry #m_navBtn.on span:after {
    background-color: #fff;
}

/* 서브 페이지 모바일 로고만 어두운 로고로 교체 */
#hd.sub #m_logo img {
    content: url('/img/common/logo_d.png') !important;
    display: inline-block !important;
}

/* PC 로고 교체 */
body.page-inquiry #top_logo img {
    content: url('/img/common/logo_d.png') !important;
}
/* 모바일 로고 교체 */
body.page-inquiry #m_logo img {
    content: url('/img/common/logo_d.png') !important;
}

/* 헤더 반응형 */
@media (max-width:1200px) {
	#top_logo img { width:150px }
	#top_nav>li>a { padding:0 50px; font-size:1.6rem } 
}
@media (max-width:1024px) {
	#top_nav_wrap { display:none }
	#topmenuM { display:block }
	.pc-ham-btn { display:none }
}
/* 반응형 메뉴 [e] */


/* ========================== MAIN */
#container {min-height: 1080px;}
#container .inner { max-width:var(--mainsize); margin:0 auto }

/*
 * group-title
 * h2:      45px(1600+) → 24px(480px)  | clamp(2.4rem, calc(1.875vw + 1.5rem), 4.5rem)
 * desc:    18px(1600+) → 15px(768px)  | clamp(1.5rem, calc(0.36vw + 1.2rem), 1.8rem)
 */
#container .group-title {
	display:flex; flex-direction:column; align-items:center;
	gap:clamp(10px, 1.25vw, 20px);
	padding-bottom:clamp(20px, calc(5.36vw - 6px), 80px);
	text-align:center
}
#container .group-title h2 {
	font-size:clamp(2.4rem, calc(1.875vw + 1.5rem), 4.5rem); /* 24px~45px */
	font-weight:700; line-height:1.2; white-space:pre-line;
	color:#222; word-break:keep-all
}
#container .group-title p.desc {
	font-size:clamp(1.5rem, calc(0.36vw + 1.2rem), 1.8rem); /* 15px~18px */
	font-weight:500; line-height:1.4; word-break:keep-all
}

/* ========================== INDEX */

/* ========================== CONTAINER */
#container { position:relative; width:100%; z-index:0 }
#container_wrapper { position:relative; width:100%; zoom:1 }
#container_wrapper:after { display:block; visibility:hidden; clear:both; content:"" }

/* ========================== SNB */
#aside { position:relative; z-index:15; width:100%; font-family:'Pretendard Variable';}
#aside_wrapper { position:relative; margin:0 auto; zoom:1 }

/* ========================== CONTENT */
#content {
	overflow:hidden; position:relative; z-index:4;
	max-width:1300px; min-height:580px; margin:0 auto;
	padding:90px 95px;
	border-left:1px solid #e1e1e1; border-right:1px solid #e1e1e1
}
#content:after { display:block; visibility:hidden; clear:both; content:"" }
#idx_area { background:#fff }

@media (max-width:1300px) { #content { padding:60px 0; border:none } }
@media (max-width:1024px) { #content { padding:40px } }
@media (max-width:768px)  { #content { padding:40px 15px } }


/* ========================== FOOTER */
#ft {
	overflow:hidden;
	padding:clamp(20px, 1.875vw, 30px) 0 clamp(30px, 4.375vw, 30px);
	background-color:#2C363F;
	color:#fff
}
#ft .inner { max-width:var(--mainsize); margin:0 auto }

#ft .bottom .ft_menu {
	display:flex;
	gap:clamp(14px, 2.5vw, 40px);
	padding-bottom:clamp(20px, 1.875vw, 30px);
	border-bottom:1px solid rgba(255,255,255,0.1);
	margin-bottom:clamp(20px, 1.875vw, 30px)
}
#ft .bottom .ft_menu li a {
	font-size:clamp(1.3rem, calc(0.27vw + 1.257rem), 1.6rem); /* 13px~16px */
	color:#fff
}
#ft .bottom .ft_menu li a.point { color:var(--primary) }

#ft .bottom .ft_logo { padding-bottom:clamp(10px, 1.5625vw, 25px) }

#ft .bottom .ft-info {
	display:flex;
	justify-content:space-between
}
#ft .bottom .ft-info > div { display:flex }

#ft .bottom .company-info {
	padding-bottom:clamp(15px, 2.8125vw, 30px);
	font-size:clamp(1.3rem, calc(0.27vw + 1.257rem), 1.6rem); /* 13px~16px */
	line-height:1.7;
	color:#A9BBCA;
	gap:70px;
	word-break:keep-all
}
#ft .bottom .company-info li {
	float:left;
	padding-right:40px;
	position:relative
}
#ft .bottom .company-info li::after {
	position:absolute; content:'';
	width:3px; height:3px; border-radius:3px;
	right:20px; top:10px; background:#A9BBCA
}
#ft .bottom .company-info li:last-child::after { display:none }
#ft .bottom .company-info .copy {
	padding-top:clamp(15px, 1.875vw, 30px);
	text-align:left; clear:both
}

#ft .bottom .ft_logo2 li { float:left; margin-right:15px }
#ft .bottom .ft_logo2 li a p {
	color:#fff; font-size:1rem; /* 10px */
	padding-top:10px; text-align:center
}


/* ========================== 플로트 퀵메뉴 */
.quick_wrap {
	display:flex; align-items:center; flex-direction:column; gap:10px;
	position:fixed; bottom:50px; right:20px; width:140px;
	z-index: 90;
}
.quick_wrap .quick-menu { width:100% }
.quick_wrap .quick_list { display:flex; flex-direction:column; gap:10px }
.quick_wrap .quick_list>li { display:flex; align-items:center; justify-content:center }
.quick_wrap .quick_list>li:last-child { margin-bottom:0 }
.quick_wrap .quick_list>li>a {
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px
}
.quick_wrap .top_btn {
	display:flex !important; flex-direction:column; align-items:center; justify-content:center;
	gap:5px; width:85px; height:85px; margin:10px auto 0;
	background-color:#fff; border:1px solid var(--bd-color); border-radius:50%;
	font-size:1.3rem; /* 13px */ font-weight:700; color:#222;
	transition:background-color 0.2s, color 0.2s
}
.quick_wrap .top_btn .material-icons-round {
	display:block; font-size:1.6rem; /* 16px */ width:16px; line-height:1; text-align:center
}
@media (hover:hover) {
	.quick_wrap .top_btn:hover { border-color:var(--primary); color:var(--primary) }
}
@media (max-width:1024px) { .quick_wrap { display:none } }


/* ========================== 반응형 하단 버튼 공통 */
#fix_tel {
	opacity:0; display:none; position:fixed;
	right:10px; bottom:80px; z-index:101;
	width:65px; height:65px; margin-right:-10px;
	border-radius:50%; font-size:3rem; /* 30px */ text-align:center;
	line-height:65px; color:#fff; background:var(--primary);
	box-shadow:5px 5px 5px rgba(0,0,0,.2);
	-webkit-transition:all .2s; transition:all .2s
}
#fix_tel.active { opacity:1; margin-right:0 }

#ft_btns { display:none; padding:15px }
#ft_btns .btns { overflow:hidden }
#ft_btns .row2 a { width:50% }
#ft_btns a {
	float:left; display:block; width:100%; height:55px;
	font-size:1.6rem; /* 16px */ line-height:55px; color:#fff; text-align:center;
	background:var(--primary); font-family:'Pretendard Variable'; font-weight:700
}
#ft_btns a.tel { font-size:1.8rem; /* 18px */ font-weight:700; letter-spacing:0; font-family:'Poppins' }
#ft_btns a i { padding-right:5px; font-size:1.8rem } /* 18px */
#ft_btns a.kakao { font-weight:normal; color:#402325; background-color:#ffe500 }


/* ========================== 반응형 [s] */
@media (max-width:1400px) {
	#ft { padding:20px }
	#ft .bottom .ft_menu { padding-bottom:20px }
}

@media (max-width:1024px) {
	#ft .bottom .ft-info,
	#ft .bottom .ft-info > div { display:block }
	#ft .bottom { text-align:center }
	#ft .bottom .ft_menu { justify-content:center }
	#ft .bottom .ft_logo { display:flex; justify-content:center }
	#ft .bottom .company-info { text-align:center }
	#ft .bottom .company-info li { float:none; display:inline-block; padding:0 3px;}
	#ft .bottom .company-info li::after { display:none }
	#ft .bottom .company-info .copy { text-align:center }
	#ft .bottom .copy { flex-direction:column; gap:10px; justify-content:center; align-items:center }
	#ft .bottom .ft_logo2 ul { display:flex; justify-content:center }
}

@media (max-width:768px) {
	#login,#agree,#register,#mb_confirm,#result { padding:15px; margin:15px auto; border:none }
	#login input[type=submit],
	#agree .btn_wrap input[type=submit],
	#register .btn_wrap input[type=submit],
	#find_info input[type=submit],
	#mb_confirm input[type=submit] { -webkit-appearance:none; appearance:none }
	#login .bnr .txt p a { color:#0054a6 }
	#pw_confirm { width:100%; padding:30px 20px; border:none }
	#agree .inner { padding:15px }
	#agree .cont { padding:10px }
	#site_map { padding:30px 20px }
	#site_map>div { width:100%; margin:0 }
	#site_map .site_map_box { min-height:auto }
	#ft .bottom .ft_logo { padding-bottom:10px }
}

@media (max-width:480px) {
	#fix_tel { display:block }
	#ft_btns { display:block }
	#ft { padding:20px 20px 40px }
	#ft .bottom .ft_menu { flex-wrap:wrap }
	#ft .bottom .ft_menu li a { text-align:center }
	#ft .bottom .ft_logo img { width:140px }
	#ft .bottom .copy { gap:5px }
	#ft .bottom p.company-info { line-height:1.4;}
}
/* ========================== 반응형 [e] */