@charset "utf-8";
@import url(//fonts.googleapis.com/earlyaccess/notosanskr.css);
@import url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css);
@import url(https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200..900&display=swap);

* { 
	box-sizing:border-box;
	margin:0;
	padding:0;
	font-family: Pretendard, sans-serif;
	line-height:1.3;
	letter-spacing:-.3px;
	word-break:keep-all;
}
html, body { 
	position:relative; 
	width: 100%;
	overflow-x:hidden;
}
body { 
	font-weight:400;
}
a { 
	text-decoration:none; 
}
li { 
	list-style:none; 
}
button, input, textarea, select { 
	background: transparent; 
	border:none;
}
label, button, a {
	cursor:pointer; 
}
input, textarea { 
	outline:none; 
}
button { 
	text-align: left; 
}
textarea { 
	resize:none;
}
table { 
	width:100%;
	table-layout:fixed;
	border-spacing:0;
	border-collapse:collapse;
}
.wrapper.stSub { 
	padding:100px 0 80px;
}
.inner { 
	max-width: 1600px;
	margin:0 auto;
}
.comPopBg { 
	position:fixed;
	display:none; 
	width: 100%;
	height: 100%;
	top:0;
	left:0;
	background: rgba(0,0,0,.8);
	z-index:10;
}
@media all and (max-width:1640px){
	.inner { 
		margin:0 20px;
	}
}
@media all and (max-width:999px){
	.wrapper.stSub { 
		padding:50px 0 40px;
	}
}
@media all and (max-width:599px){
	.wrapper.stSub { 
		padding:50px 0 20px;
	}
}

/* 헤더 시작
------------------------------------------------------ */
header { 
	position:fixed; 
	width: 100%;
	top:0;
	left:0;
	transition:all .3s ease;
	z-index:10;
}
header .inner {
	display:flex;
	align-items:center; 
	justify-content:space-between; 
	gap:10px;
	height: 100px;
}
header .hLogo a { 
	display:block; 
	font-size: 0;
}
header .hLogo a img { 
	max-width: 100%; 
	transition:all .3s ease;
}
header .hLogo a .on { 
	display:none; 
}
header .mbMenuOn { 
	position:relative; 
	display:none; 
}
header .hMenu_pc { 
	display:flex;
	flex-direction:column;
	height: 100%; 
	padding:19px 0 0;
}
header .hMenu_pc .lnkExtra { 
	display:flex;
	justify-content:flex-end;
	gap:23px;
	margin:0 0 10px;
}
header .hMenu_pc .lnkExtra .lnk { 
	display:block; 
	font-weight: 500;
	font-size: 18px;
	color: #FFF;
	transition:all .3s ease;
}
header .hMenu_pc .lnkDepth1 { 
	flex-grow:1;
	display:flex;
	gap:93px;
}
header .hMenu_pc .lnkDepth1 > li { 
	position:relative; 
}
header .hMenu_pc .lnkDepth1 .depth1 { 
	position:relative; 
	display:block;
	height: 100%;
	font-weight: 600;
	font-size: 22px;
	color: #FFF;
	transition:all .3s ease;
}
header .hMenu_pc .lnkDepth1 .depth1:after { 
	content:"";
	position:absolute;
	box-sizing:border-box;
	display:block;
	width: 0;
	height: 3px;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	background: #774CAC;
	transition:all .3s ease;
}
header .hMenu_pc .lnkDepth1 .depth1:focus,
header .hMenu_pc .lnkDepth1 > li:hover .depth1 { 
	color: #774CAC !important;
}
header .hMenu_pc .lnkDepth1 .depth1:focus:after,
header .hMenu_pc .lnkDepth1 > li:hover .depth1:after { 
	width: 100%; 
}
header .hMenu_pc .lnkDepth2 { 
	position:absolute;
	width: 100%;
	top:100%;
	left:0;
}
header .hMenu_pc .lnkDepth2 .depth2 { 
	display:flex;
	align-items:center; 
	justify-content:center; 
	width: 100%;
	height: 60px;
	font-size: 18px;
	color: #2B3034;
	transition:all .3s ease;
}
header .hMenu_pc .lnkDepth2 .depth2:focus,
header .hMenu_pc .lnkDepth2 .depth2:hover { 
	color: #774CAC; 
}
header .mbMenuBox { 
	display:none; 
}
header.stSub { 
	background: #FFF; 
}
header.stSub .hLogo a .off { 
	display:none; 
}
header.stSub .hLogo a .on { 
	display:block; 
}
header.stSub .hMenu_pc .lnkExtra .lnk,
header.stSub .hMenu_pc .lnkDepth1 .depth1 { 
	color: #2B3034; 
}
@media all and (max-width:1199px){
	header .hMenu_pc .lnkDepth1 { 
		gap:40px; 
	}
}
@media all and (min-width:1000px){
	header { 
		overflow:hidden;
	}
	header.on,
	header.onScr { 
		background: #FFF; 
	}
	header.on .hLogo a .on,
	header.onScr .hLogo a .on { 
		display:block; 
	}
	header.on .hLogo a .off,
	header.onScr .hLogo a .off { 
		display:none; 
	}
	header.on .hMenu_pc .lnkExtra .lnk,
	header.on .hMenu_pc .lnkDepth1 .depth1,	
	header.onScr .hMenu_pc .lnkExtra .lnk,
	header.onScr .hMenu_pc .lnkDepth1 .depth1 { 
		color:#2B3034;
	}
}
@media all and (max-width:999px){
	header {
		height: auto !important;
		background: #FFF; 
		border-bottom:1px solid #DEE2E6;
	}
	header .inner { 
		height: 50px;
	}
	header .hLogo a { 
		width: 93px; 
	}
	header .hLogo a .on { 
		display:block; 
	}
	header .hLogo a .off { 
		display:none; 
	}
	header .mbMenuOn { 
		display:block;
		width: 24px;
		height: 24px;
	}
	header .mbMenuOn:before,
	header .mbMenuOn:after { 
		content:"";
		position:absolute;
		box-sizing:border-box;
		display:block;
		width: 18px;
		height: 2px;
		left:50%;
		margin:0 0 0 -9px;
		background: #373737;
	}
	header .mbMenuOn:before { 
		top:6px;
	}	
	header .mbMenuOn:after { 
		top:16px;
	}
	header .mbMenuOn span { 
		position:absolute;
		display:block;
		width: 18px;
		height: 2px;
		top:50%;
		left:50%;
		margin:-1px 0 0 -9px;
		background: #373737;
	}
	header .hMenu_pc { 
		display:none; 
	}
	header .mbMenuBg.on { 
		display:block;
		z-index:2;
	}
	header .mbMenuBox { 
		position:fixed; 
		display:flex;
		flex-direction:column;
		width: 360px;
		max-width: 100%;
		height: 100%;
		top:0;
		right:-360px;
		background: #FFF;
		transition:all .3s ease;
		z-index:2;
	}
	header .mbMenuBox .topBox { 
		display:flex;
		align-items:center; 
		justify-content:space-between;
		height: 50px;
		padding:0 20px;
		border-bottom:1px solid #DEE2E6;
	}	
	header .mbMenuBox .topBox .logo { 
		width: 93px;
		font-size: 0; 
	}
	header .mbMenuBox .topBox .logo img { 
		max-width: 100%; 
	}
	header .mbMenuBox .topBox .mbMenuOff { 
		position:relative;  
		display:block; 
		width: 24px;
		height: 24px;
	}
	header .mbMenuBox .topBox .mbMenuOff:before,
	header .mbMenuBox .topBox .mbMenuOff:after { 
		content:"";
		position:absolute;
		box-sizing:border-box;
		display:block;
		width: 20px;
		height: 2px;
		top:50%;
		left:50%;
		margin:-1px 0 0 -10px;
		background: #999;
		border-radius: 4px;
	}
	header .mbMenuBox .topBox .mbMenuOff:before { 
		transform:rotate(45deg);
	}
	header .mbMenuBox .topBox .mbMenuOff:after { 
		transform:rotate(-45deg);
	}
	header .mbMenuBox .midBox { 
		padding:0 20px;
		border-bottom:1px solid #E0E0E0;
	}
	header .mbMenuBox .midBox ul { 
		display:flex;
	}
	header .mbMenuBox .midBox ul li { 
		width: 25%;
		padding:22px 0 19px;
	}
	header .mbMenuBox .midBox .lnk { 
		display:block;
		text-align: center;
	}
	header .mbMenuBox .midBox .lnk span { 
		display:block; 
	}
	header .mbMenuBox .midBox .lnk .ico { 
		margin:0 auto 5px;
		font-size: 0; 
	}
	header .mbMenuBox .midBox .lnk .ico img { 
		max-width: 100%; 
	}
	header .mbMenuBox .midBox .lnk .txt { 
		font-weight: 500;
		font-size: 13px;
		color: #373737;
	}
	header .mbMenuBox .btmBox { 
		flex-grow:1;
		display:flex;
		padding:7px 0 0;
		background: #F5F5F5;
	}	
	header .mbMenuBox .btmBox .depth1Lst { 
		flex-shrink:0;
		width: 120px; 
		padding:16px 0 0;
	}
	header .mbMenuBox .btmBox .depth1Lst li { 
		margin:0 0 16px;
	}
	header .mbMenuBox .btmBox .depth1Lst li:last-child { 
		margin:0;
	}
	header .mbMenuBox .btmBox .depth1 { 
		display:flex;
		align-items:center; 
		justify-content:center; 
		width: 100%;
		height: 46px;
		font-size: 14px;
		color: #373737;
		transition:all .3s ease;
	}
	header .mbMenuBox .btmBox .depth1:focus,
	header .mbMenuBox .btmBox .depth1:hover,
	header .mbMenuBox .btmBox .depth1.on { 
		background: #774CAC;
		font-weight: 600;
		color: #FFF;
	}
	header .mbMenuBox .btmBox .depth2Box { 
		flex-grow:1;
		padding:16px 0 0;
		background: #FFF;
	}
	header .mbMenuBox .btmBox .depth2Lst { 
		display:none; 
	}	
	header .mbMenuBox .btmBox .depth2Lst.on { 
		display:block; 
	}
	header .mbMenuBox .btmBox .depth2 { 
		display:flex;
		align-items:center; 
		width: 100%;
		height: 46px;
		padding:0 20px;
		font-size: 14px;
		color: #373737;
	}
	header .mbMenuBox.on { 
		right:0; 
	}
}
/* 헤더 끝
------------------------------------------------------ */
/* 푸터 시작
------------------------------------------------------ */
footer { 
	background: #2B3034;
}
footer .inner { 
	position:relative; 
	padding:58px 0 58px 948px;
}
footer .fLogo { 
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%); 
	font-size: 0;
}
footer .fLogo img { 
	max-width: 100%; 
}
footer .fInfoLst { 
	display:flex;
	flex-wrap:wrap; 
	gap:8px;
}
footer .fInfoLst li { 
	position:relative; 
	padding:0 9px 0 0;
	font-size: 14px;
	color: #FFF;
	word-break:break-all;
}
footer .fInfoLst li:after { 
	content:"";
	position:absolute;
	box-sizing:border-box;
	display:block;
	width: 1px;
	height: 8px;
	top:50%;
	right:0;
	margin:-4px 0 0;
	background: #696969;
}
footer .fInfoLst li .tit { 
	margin:0 7px 0 0;
	color: #939393; 
}
footer .fInfoLst li .lnk { 
	display:inline-block;
	font-size: 1em;
	color: #FFF;
}
footer .fInfoLst li:last-child { 
	padding:0;
}
footer .fInfoLst li:last-child:after { 
	display:none; 
}
footer .fCopy { 
	margin:18px 0;
	font-size: 13px;
	line-height: 1.2;
	color: #727272;
}
footer .fAccountDl { 
	display:flex;
	align-items:center; 
	gap:15px;
}
footer .fAccountDl dt { 
	flex-shrink:0;
	font-size: 14px;
	color: #939393;
}
footer .fAccountDl dd { 
	display:inline-flex;
	flex-wrap:wrap; 
	gap:13px;
	padding:5px 13px;
	background:#212121;
}
footer .fAccountDl dd span { 
	position:relative;
	display:block; 
	padding:0 14px 0 0;
	font-size: 18px; 
	color: #FFF;
}
footer .fAccountDl dd span:after { 
	content:"";
	position:absolute;
	box-sizing:border-box;
	display:block;
	width: 1px;
	height: 16px;
	top:50%;
	right:0;
	margin:-8px 0 0;
	background: #696969;
}
footer .fAccountDl dd span:last-child { 
	padding:0;
}
footer .fAccountDl dd span:last-child:after { 
	display:none; 
}
@media all and (max-width:1399px){
	footer .inner { 
		padding:58px 0 58px 650px;
	}
}
@media all and (max-width:1199px){
	footer .inner { 
		padding:58px 0 58px 450px;
	}
}
@media all and (max-width:999px){
	footer .inner { 
		padding:30px 0;
	}
	footer .fLogo { 
		position:relative; 
		width: 93px; 
		top:auto;
		left:auto;
		transform:translateY(0);
		margin:0 0 15px;
	}
	footer .fInfoLst { 
		gap:5px; 
	}
	footer .fInfoLst li { 
		padding:0 6px 0 0;
		font-size: 13px;
	}
	footer .fCopy { 
		margin:15px 0;
	}
	footer .fAccountDl { 
		flex-wrap:wrap; 
		gap:5px; 
	}
	footer .fAccountDl dt { 
		width: 100%;
		font-size: 13px;
	}
	footer .fAccountDl dd { 
		gap:5px;
		padding:5px 10px;
	}
	footer .fAccountDl dd span { 
		padding:0 10px 0 0;
		font-size: 15px; 
	}
	footer .fAccountDl dd span:after { 
		height: 10px; 
		margin:-5px 0 0;
	}
}
/* 푸터 끝
------------------------------------------------------ */
/* 테이블 관련 시작
------------------------------------------------------ */
.td_80 { 
	width: 80px; 
}
.td_100 { 
	width: 100px; 
}
.td_120 { 
	width: 120px; 
}
.td_150 { 
	width: 150px; 
}
.td_200 { 
	width: 200px; 
}
.td_250 { 
	width: 250px; 
}
.td_300 { 
	width: 300px; 
}
.td_left { 
	text-align: left; 
}
.td_right { 
	text-align: right; 
}
/* 테이블 관련 끝
------------------------------------------------------ */
/* 게시판 view 스킨 시작
------------------------------------------------------ */
.brdViewBox { 
	padding:77px 60px;
	background: #FFF;
	border:1px solid #DEE2E6;
	border-radius: 20px;
	box-shadow:0 0 20px 0 rgba(167,167,167,.25);
}
.brdViewBox .topBox { 
	padding:0 0 46px;
	border-bottom:1px solid #DEE2E6;
}
.brdViewBox .topBox .tit { 
	margin:0 0 19px;
	font-weight: 700;
	font-size: 42px;
	color: #2B3034;
}
.brdViewBox .topBox .txt { 
	margin:0 0 10px;
	font-size: 28px;
	color: #774CAC;
}
.brdViewBox .topBox .date { 
	text-align: right;
	font-size: 26px;
	color: #ADB5BD;
}
.brdViewBox .conBox { 
	padding:75px;
}
.brdViewBox .conBox img { 
	max-width: 100%; 
}
.brdViewBox .conBox * { 
	word-break:break-all; 
}
.brdViewBox .conBox .btmBox { 
	display:flex;
	flex-wrap:wrap; 
	justify-content:center; 
	margin:40px 0 0;
	padding:60px 0 0;
	border-top:1px solid #DEE2E6;
}
.brdViewBox .conBox .btmBox .lnk { 
	display:flex;
	align-items:center; 
	justify-content:center; 
	width: 250px;
	height: 66px;
	border:1px solid #DEE2E6;
	font-size: 26px;
	color: #ADB5BD;
}
@media all and (max-width:999px){
	.brdViewBox { 
		padding:20px;
		border-radius: 10px;
	}
	.brdViewBox .topBox { 
		padding:0 0 20px;
	}
	.brdViewBox .topBox .tit { 
		margin:0 0 10px;
		font-size: 34px;
	}
	.brdViewBox .topBox .txt { 
		margin:0 0 5px;
		font-size: 22px;
	}
	.brdViewBox .topBox .date { 
		font-size: 21px; 
	}
	.brdViewBox .conBox { 
		padding:20px;
	}
	.brdViewBox .conBox .btmBox { 
		margin:20px 0 0;
		padding:20px 0 0;
	}
	.brdViewBox .conBox .btmBox .lnk { 
		width: 150px;
		height: 50px;
		font-size: 21px;
	}
}
@media all and (max-width:599px){
	.brdViewBox { 
		padding:15px;
	}
	.brdViewBox .topBox { 
		padding:0 0 15px;
	}
	.brdViewBox .topBox .tit { 
		margin:0 0 5px;
		font-size: 21px;
	}
	.brdViewBox .topBox .txt { 
		margin:0;
		font-size: 19px;
	}
	.brdViewBox .topBox .date { 
		font-size: 17px; 
	}
	.brdViewBox .conBox { 
		padding:10px;
	}
	.brdViewBox .conBox .btmBox { 
		margin:15px 0 0;
		padding:15px 0 0;
	}
	.brdViewBox .conBox .btmBox .lnk { 
		width: 100%;
		height: 40px;
		font-size: 17px;
	}
}
/* 게시판 view 스킨 끝
------------------------------------------------------ */
/* 서브 공통 시작
------------------------------------------------------ */
.subComBanner { 
	max-width: 1920px;
	height: 500px;
	margin:0 auto;
	background-repeat: no-repeat;
	background-position:center center;
	background-size:1920px auto;
	text-align: center;
}
.subComBanner .inner { 
	position:relative;
	display:flex;
	align-items:center; 
	justify-content:center; 
	height: 100%;
}
.subComBanner .tit { 
	font-weight: 700;
	font-size: 50px;
	color: #FFF;
	text-shadow:3px 3px 6px rgba(0,0,0,.25);
}
.subComBanner .eng { 
	font-size: 32px; 
	color: #BDA4DD;
}
.subComBanner .lnkBox { 
	position:absolute; 
	display:flex;
	flex-wrap:wrap; 
	width: 100%;
	bottom:0;
	left:0;
}
.subComBanner .lnkBox .lnk { 
	display:flex;
	align-items:center; 
	justify-content:center; 
	height: 86px;
	background: rgba(0,0,0,.5);
	font-weight: 500;
	font-size: 28px;
	color: #FFF;
	transition:all .3s ease;
}
.subComBanner .lnkBox .lnk:focus,
.subComBanner .lnkBox .lnk:hover,
.subComBanner .lnkBox .lnk.on { 
	background: #774CAC;
}
.subComBanner .lnkBox.has2 .lnk { 
	width: 50%; 
}
.subComBanner .lnkBox.has3 .lnk { 
	width: 33.333%; 
}
.subComBanner .lnkBox.has4 .lnk { 
	width: 25%; 
}
@media all and (max-width:999px){	
	.subComBanner { 
		height: 400px; 
		background-size:1536px auto;
	}
	.subComBanner .tit { 
		font-size: 40px;
	}
	.subComBanner .eng { 
		font-size: 26px; 
	}
	.subComBanner .lnkBox .lnk { 
		height: 50px; 
		font-size: 22px;
	}
}
@media all and (max-width:599px){	
	.subComBanner { 
		height: 300px; 
		background-size:1152px auto;
	}
	.subComBanner .tit { 
		font-size: 30px;
	}
	.subComBanner .eng { 
		font-size: 19px; 
	}
	.subComBanner .lnkBox .lnk { 
		height: 40px;
		font-size: 17px;
	}
	.subComBanner .lnkBox.has3 { 
		justify-content:center; 
	}
	.subComBanner .lnkBox.has3 .lnk { 
		width: 50%;
	}
	.subComBanner .lnkBox.has3 .lnk:last-child { 
		width: 100%; 
	}
	.subComBanner .lnkBox.has4 .lnk { 
		width: 50%;
	}
}
/* 서브 공통 끝
------------------------------------------------------ */