@charset "utf-8";
@import url(https://cdn.jsdelivr.net/gh/spoqa/spoqa-han-sans@latest/css/SpoqaHanSansNeo.css);

* { 
	box-sizing:border-box;
	margin:0;
	padding:0;
	word-break:keep-all;
}
html, body {
	position:relative;
	width: 100%;
	min-height: 100vh;
	font-family: "Spoqa Han Sans Neo", sans-serif;
	line-height:1.3;
	letter-spacing:-.3px;
}
body { 
	overflow-x: hidden;
}
a { 
	text-decoration:none;
}
li {
	list-style:none; 
}
input, button, select, textarea {
	background:transparent;
	border:none;
	font-family: "Spoqa Han Sans Neo", sans-serif;
	line-height:1.3;
	letter-spacing:-.3px;
}
label, button, a { 
	cursor:pointer;
}
input { 
	display:block;
	min-width: 0;
}
textarea { 
	resize:none; 
}
table { 
	width: 100%;
	table-layout:fixed;
	border-spacing:0;
	border-collapse:collapse;
}
table *:not(th) { 
	word-break:break-all; 
}

.wrapper {
	padding:72px 0 0;
}
.inner { 
	max-width: 1200px;
	margin:0 auto;
}
.comPopBg { 
	position:fixed; 
	display:none; 
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	background:rgba(0,0,0,.6);
	z-index: 10;
}
.loading-overlay {
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, .7);
	z-index: 9999;
}
.loading-content {
	text-align: center;
	color: #FFF;
}
.loading-spinner {
	width: 60px;
	height: 60px;
	border: 4px solid rgba(255, 255, 255, .3);
	border-top: 4px solid #3182F6;
	border-radius: 50%;
	margin: 0 auto 20px;
	animation: spin 1s linear infinite;
}
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
.loading-text {
	margin:0 0 8px;
	font-size: 18px;
	font-weight: 600;
}
.loading-subtext {
	font-size: 14px;
	opacity: .8;
}
@media all and (max-width:1056px){
	.inner { 
		margin:0 16px;
	}
}
@media all and (max-width:999px){
	.wrapper { 
		padding:56px 0 0;
	}
}

/* 헤더 시작
------------------------------------------------------ */
header { 
	position:fixed; 
	width: 100%;
	height: 72px;
	top: 0;
	left: 0;
	background: #FFF;
	border-bottom:1px solid #F0F0F0;
	z-index: 5;
}
header .inner { 
	display:flex;
	align-items:center;
	gap:40px;
	height: 100%;
}
header .hLogo { 
	flex-shrink:0;
}
header .hLogo a { 
	display:block;
	font-size: 0;
}
header .hLogo img { 
	max-width: 100%;
}
header .mbMenuOn,
header .mbTopBox,
header .mbMenuTit01 {
	display:none;
}
header .hMenuBox { 
	flex-grow:1;
	min-width: 0;
}
header .mbMenuCon {
	display:flex;
	align-items:center; 
	justify-content:space-between;
	gap:8px;
	width: 100%;
}
header .hMenuLst01 { 
	display:flex;
	gap:40px;
}
header .hMenuLnk01 { 
	display:block;
	font-weight: 500;
	font-size: 15px;
	color: #212121;
	transition:all .3s ease;
}
header .hMenuLnk01.on,
header .hMenuLnk01:focus,
header .hMenuLnk01:hover { 
	color: #1565C0;
}
header .hBtnLog { 
	display:inline-block;
	min-width: 110px;
	padding:9px 9px 8px;
	border-width:1px;
	border-style:solid;
	border-radius: 5px;
	font-weight: 700;
	font-size: 16px;
	color: #FFF;
	text-align: center;
	transition:all .3s ease;
}
header .hBtnLog.st01 { 
	background: #1565C0;
	border-color: #1565C0;
}
header .hBtnLog.st01:focus,
header .hBtnLog.st01:hover { 
	background: #FFF;
	color: #1565C0;
}
header .hBtnLog.st02 { 
	background: #212121;
	border-color: #212121;
}
header .hBtnLog.st02:focus,
header .hBtnLog.st02:hover { 
	background: #FFF;
	color: #212121;
}
@media all and (max-width:999px){
	header { 
		height: 56px;
	}
	header .inner { 
		justify-content:space-between;
	}
	header .hLogo { 
		width: 84px;
	}
	header .mbMenuOn {
		position:relative;
		display:block;
		width: 24px;
		height: 24px;
	}
	header .mbMenuOn:before,
	header .mbMenuOn:after { 
		content:"";
		position:absolute;
		box-sizing:border-box;
		display:block;
		width: 20px;
		height: 2px;
		left: 50%;
		margin:0 0 0 -10px;
		background: #212121;
		border-radius: 4px;
	}
	header .mbMenuOn:before { 
		top: 6px;
	}
	header .mbMenuOn:after { 
		top: 16px;
	}
	header .mbMenuOn span { 
		position:absolute;
		display:block;
		width: 20px;
		height: 2px;
		top: 50%;
		left: 50%;
		margin:-1px 0 0 -10px;
		background: #212121;
		border-radius: 4px;
	}
	header .hMenuBox { 
		position:fixed;
		display:block;
		width: 360px;
		max-width: 100%;
		height: 100vh;
		top: 0;
		right: -360px;
		background: #FFF;
		z-index: 10;
		transition:all .3s ease;
	}
	header .hMenuBox.on { 
		right: 0;
	}
	header .mbMenuBg { 
		cursor:pointer;
	}
	header .mbMenuBg.on { 
		display:block;
	}
	header .mbTopBox {
		display:flex;
		align-items:center; 
		justify-content:space-between;
		height: 56px;
		margin:0 0 18px;
		padding:0 16px;
		border-bottom:1px solid #F0F0F0;
	}
	header .mbTopBox .logo { 
		width: 84px;
		font-size: 0;
	}
	header .mbTopBox .logo img { 
		max-width: 100%;
	}
	header .mbMenuOff { 
		position:relative; 
		display:block; 
		width: 24px;
		height: 24px;
	}
	header .mbMenuOff:before,
	header .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: #212121;
		border-radius: 4px;
	}
	header .mbMenuOff:before { 
		transform:rotate(45deg);
	}
	header .mbMenuOff:after { 
		transform:rotate(-45deg);
	}
	header .mbMenuCon { 
		display:block;
		padding:0 16px;
	}
	header .mbMenuTit01 { 
		display:block;
		margin:0 0 20px;
		font-weight: 700;
		font-size: 15px;
		color: #212121;
	}
	header .hMenuLst01 { 
		display:block;
		margin:0 0 24px;
		border-top:1px solid #F0F0F0;
	}
	header .hMenuLnk01 {
		position:relative;
		width: 100%;
		padding:15px 20px 15px 0;
		border-bottom:1px solid #F0F0F0;
		font-size: 14px;
	}
	header .hMenuLnk01:after { 
		content:"";
		position:absolute;
		box-sizing:border-box;
		display:block;
		width: 9px;
		height: 9px;
		top: 20px;
		right: 7px;
		transform:rotate(45deg);
		border-top:2px solid #999;
		border-right:2px solid #999;
		transition:all .3s ease;
	}
	header .hMenuLnk01.on:after,
	header .hMenuLnk01:focus:after,
	header .hMenuLnk01:hover:after { 
		border-color:#1565C0;
	}
	header .hBtnLog { 
		min-width: 0;
		padding:9px 17px 8px;
	}
}
/* 헤더 끝
------------------------------------------------------ */
/* 푸터 시작
------------------------------------------------------ */
footer { 
	padding:54px 0 53px;
	background: #212121;
	text-align: center;
}
footer .fLst01 { 
	display:flex;
	flex-wrap:wrap; 
	justify-content:center;
	gap:11px;
}
footer .fLst01 li { 
	position:relative;
	padding:0 11px 0 0;
	font-size: 14px;
	color: #FFF;
}
footer .fLst01 li:after { 
	content:"";
	position:absolute;
	box-sizing:border-box;
	display:block;
	width: 1px;
	height: 8px;
	top: 5px;
	right: 0;
	background: #424242;
}
footer .fLst01 li span { 
	color: #CDCDCD;
}
footer .fLst01 li:last-child { 
	padding:0;
}
footer .fLst01 li:last-child:after { 
	display:none;
}
footer .fLst01 + .fLst01 { 
	margin-top:7px;
}
footer .fCopy01 { 
	margin:19px 0 0;
	font-size: 13px;
	letter-spacing: 0;
	color: #999;
}
@media all and (max-width:999px){
	footer { 
		padding:36px 0;
		text-align: left;
	}
	footer .fLst01 { 
		gap:6px;
	}
	footer .fLst01 li { 
		width: 100%;
		padding:0;
		font-size: 13px;
	}
	footer .fLst01 li:after { 
		display:none;
	}
	footer .fLst01 + .fLst01 { 
		margin-top:6px;
	}
	footer .fCopy01 { 
		margin:16px 0 0;
	}
}
/* 푸터 끝
------------------------------------------------------ */
/* 서브 공통 시작
------------------------------------------------------ */
.subBnrBox01 {
	display:flex;
	align-items:center;
	max-width: 1200px;
	height: 240px;
	margin:0 auto;
	padding:0 40px;
	background-repeat:no-repeat;
	background-size:cover;
	overflow: hidden;
}
.subBnrBox01 .tit01 {
	font-weight: 400;
	font-size: 24px;
	color: #FFF;
}
.comUrlLst01 { 
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:13px;
	margin:0 0 31px;
	padding:0 2px 15px;
	border-bottom:1px solid #212121;
}
.comUrlLst01 li { 
	position:relative;
	padding:0 0 0 21px;
	font-size: 14px;
	letter-spacing: -.22px;
	color: #666;
}
.comUrlLst01 li:before { 
	content:">";
	position:absolute;
	box-sizing:border-box;
	display:block;
	top: 0;
	left: 0;
	font-weight: 500;
	font-size: 1em;
}
.comUrlLst01 li:first-child { 
	padding:0;
}
.comUrlLst01 li:first-child:before { 
	display:none;
}
.comUrlLst01 .lstIco { 
	display:block; 
	font-size: 0;
}
.comUrlLst01 .lstIco img { 
	max-width: 100%;
}
@media all and (max-width:999px){
	.subBnrBox01 { 
		height: 180px;
		padding:0 16px;
	}
	.subBnrBox01 .tit01 { 
		font-size: 18px;
	}
	.comUrlLst01 { 
		gap:8px;
		margin:0 0 16px;
		padding:0 0 8px;
	}
	.comUrlLst01 li { 
		padding:0 0 0 16px;
		font-size: 13px;
	}
	.comUrlLst01 .lstIco { 
		width: 12px;
	}
}
/* 서브 공통 끝
------------------------------------------------------ */
/* 테이블 관련 시작
------------------------------------------------------ */
.tblTopBox01 { 
	display:flex;
	align-items:center; 
	justify-content:space-between;
	gap:8px;
	margin:0 0 24px;
}
.tblTopBox01 .txt01 { 
	font-weight: 500;
	font-size: 14px;
	color: #212121;
}
.tblTopBox01 .txt01 span { 
	color: #1565C0;
}
.tblTopBox01 .ipt { 
	min-width: 324px;
	padding:8px 11px 9px;
	background: #FFF;
	border:1px solid #F0F0F0;
	border-radius: 10px;
	font-size: 14px;
	color: #424242;
}
.tblTopBox01 select.ipt { 
	padding-right:40px;
	appearance: none;
	background-image: url(/Form/_guest/basic/images/estiComSel01.svg);
	background-repeat:no-repeat;
	background-position:center right 15px;
}
* + .tblTopBox01 { 
	margin-top:24px;
}
.td_50 { 
	width: 50px;
}
.td_150 { 
	width: 150px;
}
.td_200 { 
	width: 200px;
}
.tblBox01 {
	overflow-x:auto;
}
.tblBox01 table { 
	min-width: 1000px;
	text-align: center;
	font-size: 14px;
	color: #212121;
}
.tblBox01 thead { 
	background: #F7F7F7;
	border-bottom:2px solid #424242;
}
.tblBox01 thead th { 
	padding:11px 8px;
	font-weight: 500;
}
.tblBox01 thead th .gTxt01 { 
	color: #797979;
}
.tblBox01 tbody tr { 
	border-bottom:1px solid #F0F0F0;
}
.tblBox01 tbody tr > * { 
	padding:13px 8px;
}
.tblBox01 tbody tr > *.noPad { 
	padding:0;
}
.tblBox01 .tblLogoBox01 { 
	font-size: 0;
}
.tblBox01 .tblLogoBox01 img { 
	max-width: 100%;
}
.tblBox01 .tblLst01 li { 
	display:flex;
	align-items:center;
	justify-content:center;
	gap:11px;
	padding:8px;
	border-bottom:1px solid #F0F0F0;
}
.tblBox01 .tblLst01 li:last-child { 
	border-bottom:none;
}
.tblBox01 .tblLst01 .lstTit01 { 
	color: #797979;
}
.tblBox01 .tblBtnBox { 
	display:flex;
}
.tblBox01 .tblBtnBox .btn { 
	display:block;
	padding:8px;
	border-width:1px;
	border-style:solid;
	border-radius: 5px;
	font-weight: 500;
}
.tblBox01 .tblBtnBox .btn.st01 { 
	border-color:#212121;
	color:#212121;
}
.tblBox01 .tblBtnBox .btn.fullWid { 
	width: 100%;
}
.tblBox01 .tblIcoBox01 { 
	display:flex;
	justify-content:center;
	gap:10px;
}
.tblBox01 .tblIcoBox01 .btn { 
	position:relative; 
	display:block; 
	width: 34px;
	height: 34px;
	border:1px solid #F0F0F0;
	border-radius: 50%;
	overflow: hidden;
}
.tblBox01 .tblIcoBox01 .btn img { 
	position:absolute; 
	max-width: 100%;
	top: 50%;
	left: 50%;
	transform:translate(-50%, -50%);
}
@media all and (max-width:999px){
	.tblTopBox01 {
		margin:0 0 8px;
	}
	.tblTopBox01 .txt01 {
		font-size: 13px;
	}
	.tblTopBox01 .ipt { 
		min-width: 0;
		padding:8px 8px 7px;
		border-radius: 5px;
		font-size: 13px;
	}
	.tblTopBox01 select.ipt { 
		padding-right:30px;
		background-size: 15px auto;
		background-position:center right 10px;
	}
	* + .tblTopBox01 { 
		margin-top:16px;
	}
	.tblBox01 table {
		font-size: 13px;
	}
	.tblBox01 thead th,
	.tblBox01 tbody tr > * { 
		padding:8px;
	}
}
/* 테이블 관련 끝
------------------------------------------------------ */