@charset "utf-8";
@font-face {
    font-family: 'EliceDigitalBaeum_Bold';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_220508@1.0/EliceDigitalBaeum_Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'EliceDigitalBaeum_Regular';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_220508@1.0/EliceDigitalBaeum_Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@import url('https://cdn.jsdelivr.net/gh/moonspam/NanumSquareRound@1.0/nanumsquareround.css');
:root {
  --color-navy: #080f1e;
};

/* 
 * base CSS Document
 */
body{
	height:100vh;
	/* background:url(../../images/common/bg_footer.svg) repeat-x left bottom;
	background-size:100%; */
}
body,p,div,span,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,button,select,figure,figcaption{margin:0; padding:0; box-sizing:border-box;}
body,input,textarea,button,select{font-family:'Poppins', 'Pretendard', '맑은 고딕', '돋움', Dotum, '굴림', Gulim, Sans-serif; font-size:1rem; color:#202020;}
img, fieldset, button{border:0;}
textarea{overflow:auto;}
input[type=submit],
input[type=button],
button{cursor:pointer;}
img{vertical-align:top;}
address, em, i{font-style:normal;}
table{border-spacing:0; border-collapse:collapse;}
table,th,td{border:none;}
caption,legend{overflow:hidden; position:absolute; width:1px; height:1px; padding:0; margin:-1px; border:0; clip:rect(0,0,0,0);}
legend, .hidden{width:0px; height:0px; padding:0; margin:0; overflow:hidden !important; text-indent:100%; white-space:nowrap; font-size:0;}
svg:focus,
svg *:focus{outline:none;}
pre{margin:0px; padding:0px; font-family:inherit; white-space:pre-wrap;}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display:block;}

/* 링크 기본값 */
a{text-decoration:none; color:inherit; cursor:pointer;}
a[href="tel"],
a[href="mailto"]{text-decoration:none;}

/* 리스트 스타일 제거 */
ul,ol,li{list-style:none;}

/* mobile */
*{-webkit-text-size-adjust:none;}
body{-webkit-text-size-adjust:none; -moz-text-size-adjust:none; -ms-text-size-adjust:none;}


#pop_dim { 
	position: fixed; top: 0; left: 0; 
	width: 100%; height: 100%; background: #000; 
	visibility: hidden; opacity: 0.5; z-index: 3700; transition: 0.3s;
}
#pop_dim.on {visibility:visible;opacity:0.67;z-index: 3700;}

#skip_menu a{position:absolute;opacity:0;top:0}
#skip_menu a:focus{display:inline-block;padding:10px;background:#000;font-size:15px;color:#fff;opacity:1;z-index:9999}

/* header */
#header{
	/* margin:0 7.5rem; */
	display: flex;
	align-items: center;
	margin:0 auto;
	max-width: 120rem;
	padding:2.5rem 7.5rem 1.6rem 7.5rem;
    flex-direction: row;
    justify-content: space-between;
    box-sizing: border-box;
    transition:all .3s;
}
#header .logo{
	display: flex;
    align-items: center;
    gap: 1rem;
}
#header .logo a{
	display: flex;
	align-items: center;
	gap: 1rem;
}
#header .logo a img{
	width:8.75rem;
	transition:all .3s;
}
#header .logo .desc{
	position:relative;
	padding-left:0.88rem;
	color: #202020;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: -0.06rem;
	transition:all .3s;
	cursor:default;
}
#header .logo .desc .point{
	display:inline-block;
    padding-left: 3px;
    letter-spacing:-.1px;
    font-size: 1.3rem;
	font-weight:900;
	background: linear-gradient(90deg, #1179BC 0%, #1A4590 100%);
	background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#header .logo .desc:before{
	display:block;
	content:"";
	position:absolute;
	top: 50%;
    left: 0;
    transform: translate(0, -50%);
	width: 0.0625rem;
	height: 1.6875rem;
	background-color:#EDEDED;
	transition:all .3s;
}
#header .util{
	display: flex;
	align-items: center;
	gap: 0.625rem;
}
#header .util .login{
	display: flex;
	width: 2.875rem;
	height: 2.875rem;
	justify-content: center;
	align-items: center;
	gap: 0.875rem;
	border-radius: 6.25rem;
	/* background: linear-gradient(137deg, #2A8CE4 22.21%, #0055A2 89.17%); */
	background:url(../../images/common/icon_login.svg) no-repeat center center;	
	background-size:cover;
	cursor:pointer;
	transition:all .3s;
}
#header .util .login.logout{
	background-image:url(../../images/common/icon_logout.svg);
}
#header .util .login:hover{
	transform: scale(1.1);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
#header .gnb{
	margin-left:auto;
	margin-right:40px;
	tansition:all .3s;
}
#header .gnb ul{
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#header .gnb li{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	tansition:all .3s;
}
#header .gnb li a{
	display:flex;
	align-items: center;
    justify-content: flex-start;
    gap: .4rem;
	width:100%;
	height:100%;
	color: #202020;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: -0.45px;
	transition:all .3s;
}
#header .gnb li a:before{
	content:"";
	display:block;
	width:16px;
	height:16px;
	background:url(../../images/common/icon_gnb_active.svg) no-repeat 20px center;
	transition:all .3s;
}
#header .gnb li a:hover{
	color:#0056A2;
}
#header .gnb li.active a{
	color:#0056A2;
}
#header .gnb li.active a:before{
	width:16px;
	background-position:center center;
}
.alarmWrap .mypage{
	position:relative;
}
.alarmWrap .mypage .tit{
	border-radius:100px;
	overflow:hidden;
	cursor:pointer;
	transition:all .3s;
}
.alarmWrap .mypage .tit:hover{
	
}
.alarmWrap .mypage ul{
	position:absolute;
	top:58px;
	left: 50%;
  	transform: translateX(-50%) translateY(-10px);
	background-color:#fff;
	width:120px;
	padding:6px 0;
	border-radius:6px;
	overflow:hidden;
	z-index:1;
	box-shadow: 0 0 7.5px 8px rgba(0, 0, 0, 0.09);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}
.alarmWrap .mypage ul li a{
	display:block;
	padding:10px 14px;
	text-align:center;
	transition:all .3s;
}
.alarmWrap .mypage:hover ul {	
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.alarmWrap .mypage ul li:hover a{
	font-weight:600;
	color:#276faf;
	background-color:#fff;
}
/* //header */

/* sub page title */
.visualTitle{
	padding:40px 0;
	background: linear-gradient(137deg, #2A8CE4 22.21%, #0055A2 89.17%);
}
.subContWrap .mCont h1{	
	color:#fff;
	max-width:120rem;
	margin:0 auto;
	padding:0 7.5rem;
	
}
.subPageWarp{
	max-width: 108rem;
    margin: 0 auto;
}
@media all and (max-width:1280px){
	#header{
		padding:2.0rem 2.5rem 1.2rem 2.5rem;
	}
}
@media all and (max-width:1020px){
	#header{
		order:1;
		flex-wrap: wrap;
		border-bottom: 1px solid #eaeaea;
	}
	#header .gnb {
		order:3;
		width:100%;
		margin:0;
		padding:.8rem 0 .2rem;
	}
	#header .gnb ul {
		gap: 20px;
		width: 100%;
		flex-wrap: wrap;
		justify-content: center;
	}
	#header .gnb li{
		width:33%;
	}
	#header .gnb li a{
		justify-content: center;
	}
	#header .gnb li a:before{
		display:none;
	}
	#header .util{
		order:2;
		margin-left:auto;
	}
}
@media all and (max-width:767px){
	#header .logo{
		align-items: flex-start;
	    gap: 0;
	    flex-direction: column;
	}
	#header .logo .desc:before{
		display:none;
	}
	#header .logo .desc{
		padding-left:0.44rem;
	}
	#header .logo .desc .point{
		padding-left:0.4rem;
	}
	#header .gnb{
		padding:1.2rem 0 .2rem;
	}
	#header .gnb ul{
		justify-content: center;
	}
	#header .gnb li{
		width:auto;
	}
	#header .gnb li a{
		justify-content: center;
	}
	#header .gnb li:hover a:before{
		display:none;
	}
	.alarmWrap .mypage ul{
		left:initial;
		right: 0;
		transform:translateX(0) translateY(10px);
	}
	.alarmWrap .mypage:hover ul{
		transform: translateX(0) translateY(0);
	    left: initial;
	    right: 0;
	}
	.visualTitle{
		padding:20px 0;
	}
	.subContWrap .mCont h1{
		padding:0 1.45rem;
	}
}
/* //sub page title */


/* 이전 */
/* Top */
.topRightBox {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex; 
}

.alarmWrap { position: relative; }
.alarmWrap>button {
	min-width:initial;
	display: flex;
	width: 2.875rem;
	height: 2.875rem;
	justify-content: center;
	align-items: center;
	gap: 0.875rem;
	border-radius: 6.25rem;
	/* background: linear-gradient(137deg, #2A8CE4 22.21%, #0055A2 89.17%); */
	background:url(../../images/common/icon_login.svg) no-repeat center center;	
	background-size:cover;
	cursor:pointer;
	overflow:hidden;
	transition:all .3s;
}
.alarmWrap>button:hover{
	transform: scale(1.1);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.alarmWrap>span {
	display: inline-block; background: #fff; padding: 0 15px; height: 37px; line-height: 37px;
	
	color: #333; font-weight: 500;
}
.alarmWrap.userNameWrap {
	margin-right: 0;
}
.alarmWrap.userNameWrap>span {
	border-radius: 20px 0 0 20px;
	padding:0;
	font-size: 1.1rem;
    color: #0055a2;
    cursor:default;
}

.alarmWrap.myIconWrap>button {
	border-radius: 0 37px 37px 0;
	margin-right: 20px;
}
.alarmWrap>button span { position: absolute; right: -13px; top: -7px; font-size: 13px; display: inline-block; background: #3C9EFF; color: #fff; width: 22px; height: 22px; border-radius: 22px; line-height: 21px; }



.alarmWrap .alarmPop {
	opacity: 0;
	position: absolute; right: -30px; top: 57px; transform: translate( 0%, 0%); background: #fff; border: none;
	width: 370px; height: 0; max-height: calc(100vh - 107px); box-shadow: 3px 3px 6px rgba(0, 0, 0, .2);
	transition: 0.3s; overflow: hidden;
}
.alarmWrap .alarmPop.active { opacity: 1; right: -10px; width: 370px; height: auto; overflow-y: auto; border: 1px solid #ddd; transition: 0.3s; }

.alarmWrap .alarmPop .close { position: absolute; right: 0; top: 0; width: 45px; height: 55px; font-weight: normal; line-height: 55px; }

.alarmWrap .alarmPop h1 { font-size: 17px; vertical-align: middle; font-weight: bold; padding: 13px 15px 13px; box-sizing: border-box; border-bottom: 1px solid #ddd; }
.alarmWrap .alarmPop h1 button { margin: 0px 0 0 5px; vertical-align: middle; }
.alarmWrap .alarmPop .alarmList { position: relative; display: block; width: 100%; padding: 10px 37px 10px 17px; box-sizing: border-box; border-bottom: 1px solid #ddd; color: #555; font-size: 15px; transition: 0.3s; }
.alarmWrap .alarmPop .alarmList:last-child { border-bottom: none; }
.alarmWrap .alarmPop .alarmList:hover { background: #f7f7f7; }
.alarmWrap .alarmPop .alarmList span.listTit { font-weight: bold; color: #333; position: relative; }
.alarmWrap .alarmPop .alarmList span.listTit::before { content:""; width: 4px; height: 4px; background: #3c9eff; position: absolute; left: -10px; top: -2px;  border-radius: 5px; }
.alarmWrap .alarmPop .alarmList span.minute { display: block; color: #999; font-size: 13px; margin-top: 4px; }

.alarmWrap .alarmPop .alarmList.off { background: #f0f0f0; color: #999; }
.alarmWrap .alarmPop .alarmList.off span.listTit::before { background: #aaa; }
.alarmWrap .alarmPop .alarmList.off span.listTit { color: #777; }

.alarmWrap .alarmPop .alarmList .listClose { width: 20px; height: 20px; position: absolute; right: 10px; top: 50%; transform: translate(0%, -50%);}
.alarmWrap .alarmPop .alarmList .listClose img { width: 12px; }

.alarmWrap .alarmPop .alarmList.no { font-size: 15px; font-weight: bold; text-align: center; line-height: 70px; color: #777; cursor: default; padding: 10px 17px; }
.alarmWrap .alarmPop .alarmList.no:hover { background: #fff; }

.alarmWrap .alarmPop .allDel { display: block; padding: 4px 10px; line-height: normal; position: absolute; right: 47px; top: 13px; border-radius: 25px; background: #999; color: #fff; font-size: 13px; }
.alarmWrap .alarmPop .allDel.on { background: #007bf5; }

.liveAlarm { position: fixed; z-index: 1000; right: 27px; bottom: 0px; opacity: 0; background: #fff; border: 1px solid #ddd; border-top: 2px solid #007bf5; width: 370px; height: auto; box-shadow: 3px 3px 6px rgba(0, 0, 0, .2); transition: 0.3s; }
.liveAlarm.on { bottom: 27px; opacity: 1; }
.liveAlarm .alarmList { position: relative; display: block; width: 100%; padding: 10px 37px 10px 17px; box-sizing: border-box; border-bottom: 1px solid #ddd; color: #555; font-size: 15px; transition: 0.3s; }
.liveAlarm .alarmList:last-child { border-bottom: none; }
.liveAlarm .alarmList:hover { background: #f7f7f7; }

.liveAlarm .alarmList span.listTit { font-weight: bold; color: #333; position: relative; }
.liveAlarm .alarmList span.listTit::before { content:""; width: 4px; height: 4px; background: #3c9eff; position: absolute; left: -10px; top: -2px;  border-radius: 5px; }
.liveAlarm .alarmList span.minute { display: block; color: #999; font-size: 13px; margin-top: 4px; }
.liveAlarm .alarmList .listClose { width: 20px; height: 20px; position: absolute; right: 10px; top: 50%; transform: translate(0%, -50%); }


/* 알림 설정 팝업 레이아웃 */
.anarmSetWrap { 
	position: fixed; left: 0; top: 0; z-index: 9999; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.7); 
	display: flex; justify-content: center; flex-wrap: wrap; align-items: center;
 }
.anarmSetWrap .popupCont { position: relative; margin: 0 10px; min-width: 970px; min-height: auto; max-width: calc(50% - 40px); background: #fff; border-top: 2px solid #007bf5; }

.anarmSetWrap .popupCont .popupContent { display: block; margin: 0; font-size: 0; min-height: 300px; white-space: normal; padding: 15px 15px; font-size: 15px; }
.anarmSetWrap .popupCont .popupContent .popTitle { font-size: 19px; font-weight: bold; padding-bottom: 10px; }
.anarmSetWrap .popupCont .popupContent h5 { font-size: 15px; font-weight: bold; padding: 10px 0 7px; margin: 13px 0 5px; color: #555; text-align: center; border-top: 2px solid #aaa; border-bottom: 1px solid #ddd; background: #f2f9ff; }
.anarmSetWrap .popupCont .popupContent .anarmSetList caption { text-indent: -9999px; position: absolute; top: -1000em; left: 0;}
.anarmSetWrap .popupCont .popupContent .popClose .listClose { position: absolute; right: 15px; top: 5px; }
.anarmSetWrap .popupCont .popupContent .anarmSettingList ul li { display: inline-block; }

.anarmSetWrap .popupCont .popupContent ul li input { vertical-align: middle; }
.anarmSetWrap .popupCont .popupContent ul li label { margin-right: 17px; vertical-align: middle; }


.anarmSetWrap .popupCont .popupContent .alarmListChoice { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.anarmSetWrap .popupCont .popupContent .alarmListChoice>li { width: calc(20% - 5px); border: 1px solid #aaa; border-top: none; }
.anarmSetWrap .popupCont .popupContent .alarmListChoice>li>h5 { margin: 0 0 0px; border-top: 2px solid #aaa; }

.anarmSetWrap .popupCont .popupContent .alarmListChoice>li>div { height: 100px; overflow-y: auto; padding: 5px; box-sizing: border-box; }
.anarmSetWrap .popupCont .popupContent .alarmListChoice>li>div>span { font-size: 12px !important; display: block; background: #f0f0f0; margin-bottom: 5px; padding: 5px; box-sizing: border-box; }
.anarmSetWrap .popupCont .popupContent .alarmListChoice>li>div>ul>li { display: block; }

.anarmSetWrap .popupCont .popupContent .alarmPopBtn { text-align: right; }


/* top 마이페이지 버튼 리스트 (헤더 드롭다운 - 전역 사용) */
.alarmWrap.myIconWrap .myList {display:flex; flex-direction:row; gap:1rem;}
.alarmWrap.myIconWrap .myList li { display: block; line-height: 33px; background: #fff; border-radius: 7px;}
.alarmWrap.myIconWrap .myList li a { display: block; width:46px; height:46px; border-radius:100px; line-height: 30px; font-size: 14px; font-weight: bold; transition: 0.3s; text-indent:-1000000000px;}
.alarmWrap.myIconWrap .myList li.mypage a{background:url(../../images/common/icon_mypage.svg) no-repeat center center;}
.alarmWrap.myIconWrap .myList li.logout a{background:url(../../images/common/icon_logout.svg) no-repeat center center;}


/* 로그인 통합 */
.unitedLoginWrap { padding: 100px 0;}


.unitedLoginCont { width: 500px; margin: 0 auto; padding: 20px; box-sizing: border-box; background: #fff; border-top: 2px solid #006edb; }
.unitedLoginCont>h3 { text-align: center; color: #fff; background: #006edb; border-radius: 7px; padding: 10px 0; font-size: 21px; font-weight: bold; }
.unitedLoginCont>h4 { text-align: center; color: #006edb; font-size: 17px; font-weight: bold; margin-top: 10px; }
.unitedLoginCont>h5 { font-size: 15px; font-weight: bold; margin-top: 15px; }
.unitedLoginCont .unitedLoginTxt { border: 1px solid #d6ecfe; background: #f6faff; color: #333; padding: 10px; border-radius: 7px; box-sizing: border-box; margin: 10px 0 10px; font-size: 13px; }
.unitedLoginCont .unitedLoginTxt>span { font-weight: bold; font-size: 14px; color: #00164d; }
.unitedLoginCont table.common { margin-bottom: 20px; }



/* 이전 로그인 */
.loginWrap { 
	display: none; /* 초기 숨김 처리 */
	position: absolute; left: 50%; top: 50%; z-index: 3770; transition: 0.3s; transform: translate( -50%, -50%);
	max-width: 900px; min-width: 300px; max-height: calc(100vh - 60px); min-height: 200px; border-radius: 12px;
	background: #fff; padding: 54px 40px 40px; box-sizing: border-box;
	backdrop-filter: blur(17px); -webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	box-shadow: 0 0 7.5px 8px rgba(0, 0, 0, 0.09);
	position: absolute; left: 50%; top: 50%; z-index: 3770;
    transform: translate(-50%, -50%);
    animation: slideUp 0.4s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translate(-50%, -40%); /* 살짝 아래에서 시작 */
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%); /* 정중앙 도착 */
    }
}
.loginWrap .loginClose {
	position: absolute; right: 20px; top: 20px;
	min-width: initial; width: 32px; height: 32px; line-height: 37px; border-radius: 37px; text-align: center; background:#fff;
}
.loginWrap .loginClose img{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.loginWrap .logo { width: 290px; margin: 0px auto 0px; text-align:center; display: flex; flex-direction: column; align-items: center;}
.loginWrap .logo span { display: block; text-align: center; font-size: 27px; font-weight: bold; font-weight: bold; color: #1e429b; margin-top: 20px; }
.loginWrap .logo img { width:60%; }


.loginWrap .loginCont {
	width: 100%; height: 100%;
}
.loginWrap .loginCont .loginBtn {
	width: 100%; border: 1px solid #4379ff; 
	border-radius: 45px; font-size: 0;
}
.loginWrap .loginCont .loginBtn li { 
	display: inline-block; width: calc(55% - 2px); margin: 0 -5%;
	cursor: pointer; line-height: 45px; color: #fff; text-align: center; border-radius: 45px;
	font-size: 14px; font-weight: bold;
}
.loginWrap .loginCont .loginBtn li.on { background: #1e429b; }
.loginWrap .loginCont .loginBtn li:first-child.on { border-right: 1px solid #4379ff; }
.loginWrap .loginCont .loginBtn li:last-child.on { border-left: 1px solid #4379ff; }

.loginWrap .loginCont .loginInput { margin: 10px 0 0; display: flex; flex-direction: column; gap: .4rem;}
.loginWrap .loginCont .loginInput li { line-height: 0; font-size: 0; }
.loginWrap .loginCont .loginInput li label { font-size: 0; text-indent: -9999px; }
.loginWrap .loginCont .loginInput li .loginInputCont { 
	width :100%; line-height: 50px; font-size: 15px;
	padding: 0 0 0 10px; box-sizing: border-box; 
	border: 1px solid #1e429b; border-radius: 4px; outline: none;
}

.loginWrap .loginCont .loginInput li:last-child { position: relative; padding: 0 0 0 7px; line-height: 25px; box-sizing: border-box; }
.loginWrap .loginCont .loginInput li:last-child label { font-size: 13px; color: #333; text-indent: 0; }

.loginWrap .loginCont .loginInput li:last-child .idPsdSearch { 
	position: absolute; right: 0px; top: 1px; letter-spacing: -0.7px;
	font-size: 13px; padding: 0 5px; color: #333; line-height: 22px; border-radius: 7px; background:#fff;
}
 
.loginWrap .loginCont .loginClearBtn { width :100%; line-height: 45px; font-size: 18px; font-weight: bold; color: #fff; background: linear-gradient(137deg, #2A8CE4 22.21%, #0055A2 89.17%); margin-top: 10px; border: 1px solid #2a8ce4; border-radius: 7px; }
.loginWrap .loginCont .loginPsdClearBtn { line-height: 37px; background: none; font-size: 18px; color: #333; }

/* 잠금해제 모달 */
.releaseLockWrap .releaseLockMessage { margin: 0 0 15px; font-size: 14px; color: #333; line-height: 1.5; }







/* 잠금해제 모달 */
.releaseLockWrap .releaseLockMessage { margin: 0 0 15px; font-size: 14px; color: #333; line-height: 1.5; }












/* ============================================
   서브페이지 레이아웃 (통합 디자인 통일)
   findAccount, register, mypage 등
   ============================================ */
#contents.subContWrap,
.subContWrap {
	position: relative;
	width: 100%;
	min-height:56vh;
	margin: 0 auto;
	padding-bottom:7rem;
	box-sizing: border-box;
}
.subContWrap .mCont {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}
.subContWrap .mCont .visualTitle {
	text-align: left;
	margin: 0 0 1.5rem;
	padding: 2.5rem 0;
}
.subContWrap .mCont .visualTitle h1 {
	font-family: 'EliceDigitalBaeum_Regular', 'Poppins', 'Pretendard', sans-serif;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: -0.02rem;
	text-shadow: none;
	color:#fff;
}
.subContWrap .mCont .visualTitle h3 {
	display: none;
}

/* 서브페이지 공통 래퍼 (아이디/비밀번호 찾기, 회원가입 등 - 마이페이지 제외) */
.subPageWarp {
	padding: 20px;
	box-sizing: border-box;
	min-height: 350px;
	background: #ffffff;
	border-radius: 17px 17px 17px 17px;
}



/* 로그인 통합 */
.unitedLoginWrap { padding: 100px 0;}


.unitedLoginCont { width: 500px; margin: 0 auto; padding: 20px; box-sizing: border-box; background: #fff; border-top: 2px solid #006edb; }
.unitedLoginCont>h3 { text-align: center; color: #fff; background: #006edb; border-radius: 7px; padding: 10px 0; font-size: 21px; font-weight: bold; }
.unitedLoginCont>h4 { text-align: center; color: #006edb; font-size: 17px; font-weight: bold; margin-top: 10px; }
.unitedLoginCont>h5 { font-size: 15px; font-weight: bold; margin-top: 15px; }
.unitedLoginCont .unitedLoginTxt { border: 1px solid #d6ecfe; background: #f6faff; color: #333; padding: 10px; border-radius: 7px; box-sizing: border-box; margin: 10px 0 10px; font-size: 13px; }
.unitedLoginCont .unitedLoginTxt>span { font-weight: bold; font-size: 14px; color: #00164d; }
.unitedLoginCont table.common { margin-bottom: 20px; }




/* 계정찾기 */
.account-tab {
	display: flex;
	width: 100%; border: 1px solid #006edb; 
	font-size: 0; margin-bottom: 30px; overflow: hidden;
}
.account-tab li { 
	flex: 1;
	cursor: pointer; line-height: 45px; color: #006edb; text-align: center; 
	font-size: 16px; font-weight: bold; transition: 0.3s;
	background: #fff;
}
.account-tab li.on { background: #006edb; color: #fff; }
.account-tab li:first-child { border-right: 1px solid #006edb; }

/* 계정찾기 Form */
.account-form-wrap { display: none; }
.account-form-wrap.on { display: block; }

.accountLoginInput { margin: 0 auto; max-width: 600px; }
.accountLoginInput li { margin-bottom: 15px; }
.accountLoginInput li label { display: block; font-weight: bold; margin-bottom: 5px; color: #333; font-size: 14px; }
.accountLoginInput li .inputTxt { width: 100%; height: 40px; line-height: 40px; border: 1px solid #ddd; border-radius: 5px; }
.accountLoginInput li select { width: 100%; height: 40px; border: 1px solid #ddd; padding: 0 10px; border-radius: 5px; font-family: inherit; }

.account-btn-area { margin-top: 30px; text-align: center; }
.account-btn-area button { min-width: 120px; height: 45px; font-size: 16px; border-radius: 5px; }





table thead tr th,
table tbody tr td{
    font-size: 14px;
    word-break:break-all;
    letter-spacing: -0.1px;
}

table.common {
    width: 100%;
    border-top: 2px solid #006edb;
    margin: 0px 0 0px;
    table-layout: fixed;
}
/* table.common tbody tr { background: #fff; } */

table.common thead tr th,
table.common tfoot tr th {
	padding: 7px 5px;
    text-align: center; 
}
table.common tbody tr td,
table.common tfoot tr td{
    padding: 7px 5px;
    text-align: center; 
}

table.common thead {
    background: #f7f7f7;
    border-bottom: 1px solid #d6ecfe;
}

table.common thead tr th {
    color: #00164d; font-size: 15px; letter-spacing: 0;
    border-right: 1px solid #d6ecfe;
    text-align: center; font-weight: bold;
    background: #f6faff;
}

table.common thead tr th:last-child {
    border-right: 0;
}

/* table.common tbody tr { background: #fff; cursor: pointer; transition: 0.3s; } */
/* table.common tbody tr:hover { background: #f6fffc; } */
table.common tbody tr { background: #fff; border-bottom: 1px solid #ddd; }
table.common tbody tr th {
    color: #00164d; font-size: 15px; letter-spacing: 0;
    border-right: 1px solid #d6ecfe;
    text-align: center; font-weight: bold;
    background: #f6faff;
}
table.common tbody tr td {
    color: #000; padding: 10px;
    white-space: normal; text-align: left;
    border-bottom: 1px solid #ddd;
}

table.common tbody tr td.not {
    background: #fff; padding: 30px 0; font-weight: 500;
}

table.common tfoot tr th,
table.common tfoot tr td{
	border-bottom: 1px solid #dfdfdf;
	border-right: 1px solid #dfdfdf;
}

table.common tfoot tr th{
	background: #fbf8ec;
}

table.common tfoot tr td {
    color: #000;
    background: #fff;
    border-bottom: 1px solid #e7e7e7;
}

table.common tfoot tr td:last-child{
	border-right:0;
}
table.common tbody tr .cRed{
	color:#d91818;
	display:inline-block;
}

.hidden-tag {
	display: none;
}


.inputTxt { width: calc(100% - 0px); height: 44px; border: 1px solid; border-radius: 5px; border-color: #ccc; color: #aaa; padding: 0 14px; box-sizing: border-box; }

button {min-width: 80px; font-size: 16px; font-weight: bold; padding: 7px 15px; color: #fff; border-radius: 7px; }
button.link { background: #fff; border: 1px solid #555; color: #333; padding: 3px 5px; font-size: 12px; }

.btnArea {display: flex; justify-content: center; gap: .5rem; padding-top: 3rem;}
.btnArea button { min-width:80px; font-size: 16px; padding: 7px 15px; }


.ToSTable { max-height: 300px; overflow: auto; padding: 0 10px 0 0; box-sizing: border-box; font-size: 16px; }









.nomalCheck { display: inline-block;}
.nomalCheck span { position: relative; }
.nomalCheck input { 
	position: absolute;
    margin: 0px;
	padding-inline: 8px; padding-block: 12px;
}
.nomalCheck input[type="checkbox"]{ appearance: none; }
.nomalCheck input:focus-visible {
	outline: solid 2px #0f59d9;
	border-radius: 1%;
}

.nomalCheck input[type="checkbox"] + label{
	display: inline-block;
	background: url('../../images/common/mapCheck.png') no-repeat left center; background-size: 15px;
	padding-left: 20px; line-height: 20px; font-size: 16px;
    margin: 0 0px 0 0; letter-spacing: -1px;
    cursor: pointer; font-weight: bold;
}
.nomalCheck input[type="checkbox"]:checked + label{
	background: url('../../images/common/mapCheckOn.png') no-repeat left center; background-size: 15px;
}
.nomalCheck.last{
	display:block;
	text-align:center;
	padding:20px 0 0 10px;
}
.nomalCheck.last input[type="checkbox"] + label{
	font-size:16px;
}















@media all and (max-width:1240px){
	
	/* .mCont { position: inherit; left: 50%; top: 77px; transform: translate( -50%, 0%); width: 100%; height: calc(100vh - 162px); overflow-y: auto; padding-bottom: 20px; } */
	.mCont .mapWrap { width: calc(100% - 20px); }
	
	.mCont .contBtn li { width: calc(33.3% - 25px); display: inline-block; vertical-align: top; margin: 20px 10px 0; }
}



@media all and (max-width:780px){
	
	.mCont { width: calc(100% - 20px);}
	.mCont .visualTitle h3 { font-size: 24px; letter-spacing: 0; }
	.mCont .visualTitle h1 { font-size: 26px; }
	.subContWrap .mCont .visualTitle{margin:0;}
	.mCont .contBtn { display: block; }
	
	
	.mCont .mapWrap .mapButton button { width: 140px; padding: 9px 5px 5px 27px; }
	
	.mCont .contBtn li { width: calc(50% - 25px); display: inline-block; vertical-align: top; margin: 20px 10px 0; }
	
}


@media all and (max-width:560px){ 
	.mCont .contBtn li { width: calc(50% - 25px); }
}
@media all and (max-width:470px){ 
	.mCont .contBtn li { width: calc(100% - 0px); }
}


/* //이전 */


@media all and (max-width:767px){
	body{
		height:auto;
	}
	#header{
		padding:1.2rem 1.25rem 0.7rem 1.25rem;
		flex-direction: column;
		align-items: flex-start;
	}
	#header .logo{
		gap:.5rem;
	}
	#header .logo a{
		gap:0.2rem;
	}
	#header .logo a img{
		width:5.4rem;
	}
	#header .logo .desc{
		font-size:1.1rem;
		padding-left:0;
	}
	#header .logo .desc:before{
		height:1.2rem;
	}
	#header .util{
		position: absolute;
        right: 1rem;
        top: 10px;
	}
	#header .util .login{
		width:2.5rem;
		height:2.5rem;
	}
	.subContWrap .mCont .visualTitle h1 {
		font-size: 1.5rem;
	}
	.alarmWrap.myIconWrap .myList{
		gap:.5rem;
	}
	#contents.subContWrap, 
	.subContWrap{
		min-height: 50vh;
		padding-bottom:4rem;
	}
}	


/* footer */
.page-footer {
    background: #000d18;
    color: #6b8aaa;
    padding: 52px 0 28px;
    box-sizing: border-box;
}

.page-footer .container {
    display: flex;
    flex-direction: column;    
    margin: 0 auto;
    max-width: 120rem;
    padding: 2.5rem 7.5rem 1.6rem 7.5rem;
    box-sizing: border-box;
}

.footer-top {
    display: grid;
    grid-template-columns: 360px 1fr 1fr;
    gap: 48px;
    padding-bottom: 40px;
    border-bottom: 1px solid #1c2023;
}

.footer-logo { 
    margin-bottom: 16px; 
    display: flex; 
    align-items: center; 
    gap: 10px; 
}

.footer-logo img {
    height: 28px; 
    opacity: .8;
}

.footer-logo-text {
    font-weight: 800;
    font-size: 25px;
    color: #b3b7ba;
}

.footer-logo-text span {
	color: #2870af;
}

.footer-brand p { 
	letter-spacing:-1px;
    font-size: 16px; 
    line-height: 1.45; 
    color: #495661; 
}
.footer-brand .desc{
	color: #6f7c87;
}

.footer-contact {
	display: flex;
    flex-direction: column;
    gap: .4rem;
    margin-top: 24px;
}
.footer-contact a, 
.footer-contact p {
	display: flex;
    align-items: center;
    gap: 8px;
	color: #6f7c87; 
	margin-bottom: 4px; 
	font-size:16px;
}

.footer-contact .tel { 
    color: #6f7c87; 
}
.footer-contact .icon{
	display:inline-block;
	width:16px;
	height:16px;
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center center;
} 
.footer-contact .addr .icon{
	background-image:url(../../images/common/icon_location.svg);	
}
.footer-contact .tel .icon{
	background-image:url(../../images/common/icon_phone.svg);
}
.footer-contact .time .icon{
	background-image:url(../../images/common/icon_time.svg);
}
.footer-col h4 {
    color: #b3b7ba;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #1c2023;
}

.footer-col ul { 
    display: flex; 
    flex-direction: column; 
    gap: 8px; 
}

.footer-col ul li a {
    color: #6f7c87;
    font-size: 16px;
    transition: color .2s;
    display: flex;
    align-items: center;
    gap: 6px;
}

.footer-col ul li a::before { 
    content: '›'; 
    color: #7B90A3; 
}

.footer-col ul li a:hover { 
    color: #2870af;
}
.footer-bottom {
    padding-top: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-copy { 
    font-size: 15px; 
    color: #454b51; 
}

.footer-policy { 
    display: flex; 
    gap: 16px; 
}

.footer-policy a { 
    font-size: 12px; 
    color: #3d5a78; 
    transition: color .2s; 
}

.footer-policy a:hover { color: #5ab3f0; }

/* ─── SCROLL REVEAL (Animation) ─── */
.reveal {
    opacity: 1;
    transform: none;
    transition: opacity .6s ease, transform .6s ease;
}
.reveal.hidden { opacity: 0; transform: translateY(28px); }
.reveal.visible { opacity: 1; transform: none; }

/* ─── RESPONSIVE ─── */
@media (max-width: 1460px) {
	.page-footer .container{
		padding:2rem 3.5rem;
	}
}
@media (max-width: 1024px) {
    .footer-top { 
        grid-template-columns: 1fr; 
        gap: 28px; 
    }
    
    /* 기존 영웅 영역(Hero) 스타일도 대응되도록 수정 */
    .hero-grid, .about-cards, .stab-panel-inner { grid-template-columns: 1fr; }
    .hero-visual { display: none; }
    .hero h1 { font-size: 30px; }
    
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    
    /* 아까 만드신 Step(공정단계) 리스트 대응 */
    .step-list { flex-wrap: wrap; gap: 20px; }
    .step-item { flex: 0 0 calc(50% - 10px); }
    .step-item::after { display: none; }
}

@media (max-width: 787px) {
	.page-footer{
		padding:0;
	}
    .hero h1 { font-size: 24px; }
    .stats-grid { grid-template-columns: 1fr 1fr; }
    .stab-btn .stab-sub { display: none; }
    
    .page-footer .container {
        padding: 2.5rem 2rem;
    }
    .footer-brand .desc br{
    	display:none;
    }
    .footer-col ul{
 	    display: flex;
		flex-direction: row;
		gap: 8px;
		flex-wrap: wrap;
    }
    .footer-col ul li{
	    width: 40%;
	    min-width: 160px;
	    display: flex;
    }
}
/* //footer */

