@charset "utf-8";

@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("../fonts/pretendard-subset.css");
@import url("https://cdn.jsdelivr.net/npm/remixicon@4.6.0/fonts/remixicon.css");

/* ========================================================
 * SETTING
======================================================== */

:root{
	--main-color: #004e92;
	--main-color2: #000428;
	--main-color3: #5E3432;
	--color-dark: #111;
	--body-color: #353535;
	--secondary: #576071;
	--main-rgb10: #e8edf4;
	--main-rgb20: #ccdce9;
	/* --main-gradient: linear-gradient(45deg, #004e92, #000428); */
	--main-gradient: linear-gradient(150deg, #27AAE1 -10%, #004e92 100%);;
	--area-wide-width: 1840px;
	--area-box-width: 1600px;
	--area-width: 1440px;
	--area-sub-width: 1400px;
	--area-padding: 80px;
	--header-top: 0;
	--header-height: 100px;
	--transition-custom: all 0.4s ease-in-out;
	--transition-custom2: all 0.8s ease-in-out; /* data-scroll */
	--font-family1: 'Pretendard', "나눔고딕", NanumGothic, "Nanum Gothic","돋움", Dotum, Arial, sans-serif;
	--font-family2: "Poppins", "나눔고딕", NanumGothic, "Nanum Gothic","돋움", Dotum, Arial, sans-serif;
}
::selection {
    background: var(--main-color);   
    color: #fff;
}
::-moz-selection {
    background: var(--main-color);    
    color: #fff;
}
html{font-size:10px;}
body, table, th, td, button, select, input, textarea, li, span, p {
	font-family:var(--font-family1);
	color:inherit;
	-webkit-text-size-adjust:none;
	-moz-text-size-adjust:none;
	text-size-adjust:none;
	word-break:keep-all;
}
body { background-color:#fff; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
table, th, td{word-break:break-word;}
img { width: 100%; height: auto; }
#wrap {overflow:hidden; width:100%; min-width:320px; position:relative; }

/* ========================================================
 * UTILITY
======================================================== */
.clearfix:after {
	clear: both;
	display: block;
	content: "";
}
.blind {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	font-size: 0;
	line-height: 0;
}

/* Split Text (plugin) */
.cm-word-split-JS { overflow: hidden; opacity: 0; }
.cm-word-split-JS.splitting { opacity: 1; }
.cm-word-split-JS.splitting .word { overflow: hidden; line-height: 1.16; display: inline-block; }
.cm-word-split-JS.splitting .char { display: inline-block; position: relative; font-size: inherit; font-family: inherit; font-weight: inherit; opacity: 0; }

/* ========================================================
 * LAYOUT
======================================================== */
.area-sub{ max-width:var(--area-sub-width); margin:0px auto;}
.area{ max-width:var(--area-width); margin:0px auto;}
.area-box { max-width:var(--area-box-width); margin:0px auto; }
.area-wide { max-width:var(--area-wide-width); margin:0px auto; }
.font-poppon {font-family: var(--font-family2);}
.tit-box.light .tit {color: var(--color-dark);}
.tit-box.light .txt {color: var(--body-color); opacity: 1;}
.flex-column {display: flex; flex-direction: column;}
.bg-blue {background-color: var(--main-rgb10);}
.bg-white {background-color: #fff;}
.bg-primary {background-color: var(--main-color);}
.container-start {margin-left: calc((100% - 1600px) / 2);}
.card {padding: 2.4rem; border-radius: 4rem;} 
.card-hover:hover .opacity-0 {opacity: 1 !important;}
.card-hover .opacity-0, .card-hover .opacity-100 {transition: opacity .3s ease-in-out;}
.w-100 {width: 100% !important;}
.h-100 {height: 100% !important;}
.flex-area {display: flex; align-items: center;}
.justify-between {justify-content: space-between;}

/* 좌→우 순차 진입: ul 클래스가 "list-"로 시작하면 공통 적용 (JS: app.js의 범용 IntersectionObserver가 ul에 .animated 부여) */
ul[class^="list-"] li {
	opacity: 0;
	transform: translateX(-10%);
	transition: var(--transition-custom2);
	transition-property: opacity, transform;
}
ul[class^="list-"] li:nth-child(1) {transition-delay: 0s;}
ul[class^="list-"] li:nth-child(2) {transition-delay: 0.2s;}
ul[class^="list-"] li:nth-child(3) {transition-delay: 0.4s;}
ul[class^="list-"] li:nth-child(4) {transition-delay: 0.6s;}
ul[class^="list-"] li:nth-child(5) {transition-delay: 0.8s;}
ul[class^="list-"].animated li {opacity: 1; transform: translateX(0);}



/* ========================================================
 * HEADER
======================================================== */
#header{position:fixed; height:var(--header-height); top:var(--header-top); left:0; width:100%; z-index:9999; transition:transform 0.4s ease, opacity 0.4s ease, top 0.4s ease;}
#header.scrolled{top:0;}
.sub-wrap #header{opacity:0; transform:translateY(-3rem);}
.sub-wrap #header.sub-start{opacity:1; transform:translateY(0);}
#headerInnerWrap{position:absolute; top:0px; left:0px; width:100%; height:var(--header-height); z-index:9999; transition:var(--transition-custom); transition-property:background-color, box-shadow;}
#header.scrolled #headerInnerWrap {
	/* background-color:rgba(0,0,0,0.4); */
	background-color: rgba(0, 78, 146, 0.3);
	backdrop-filter: blur(1rem);
}
#headerInner{position:relative; display:flex; align-items:center; justify-content:space-between; height:var(--header-height); margin:0px auto; padding:0 var(--area-padding); max-width: 100%;}
#header .logo{position:relative; z-index:100; }
#header .logo a{display:block; height: 40px; }
#header .logo img{display:inline-block; vertical-align:top; width: auto; height: 100%;}
#header .logo .logo-color {display:none;}
#header.scrolled .logo .logo-white {display:none;}
#header.scrolled .logo .logo-color {display:inline-block;}
#header.scrolled #gnb > ul > li > a {color: #fff;}

/* -------- Header :: UTIL BOX -------- */
.header-util-box{position:relative; z-index:100; display:flex; align-items:center; gap:1.5rem;}
#header.scrolled .user-info a.login,
#header.scrolled .sitemap-line-btn .dot i {color:#fff;}
#header.nav-hover #headerInnerWrap{background-color:#fff; backdrop-filter:blur(1.2rem); -webkit-backdrop-filter:blur(1.2rem); box-shadow:none; border-bottom:1px solid #e5e5e5;}
#header.nav-hover .logo .logo-white{display:none;}
#header.nav-hover .logo .logo-color{display:inline-block;}
#header.nav-hover #gnb > ul > li {position: relative;}
#header.nav-hover #gnb > ul > li > a {color: var(--color-dark);}
#header.nav-hover #gnb > ul > li:before {content: ""; position: absolute; left: 28px; top: 32px; width: 6px; height: 6px; border-radius: 50%; background-color: var(--main-color); opacity:0; transform:scale(0); transition:opacity 0.2s ease, transform 0.2s ease; z-index:101;}
#header.nav-hover #gnb > ul > li:hover:before {opacity:1; transform:scale(1);}
/* #header.nav-hover #gnb > ul > li.on > a:before {content:""; position: absolute; left: 1.6rem; top: 2.6rem; right: 1.6rem; bottom: 2.4rem; border-radius: 99px; 
	background: rgba(255, 255, 255, .2); 
	backdrop-filter: blur(15px) opacity(1); 
	z-index: -1;
} */
#header.nav-hover #gnb > ul > li.on > a {color: var(--main-color);}
#header.nav-hover .user-info a.login,
#header.nav-hover .sitemap-line-btn .dot i {color:var(--color-dark);}
#header.sitemap-open #headerInnerWrap {background-color:transparent; box-shadow:none;}
#header.sitemap-open .logo .logo-color {display:none;}
#header.sitemap-open .logo .logo-white {display:inline-block;}
#header.sitemap-open .user-info a.login,
#header.sitemap-open .sitemap-line-btn .dot i {color:rgba(255,255,255,0.7);}
.user-info{display:flex; align-items:center;}
.user-info a.login {display:inline-block; font-size:1.6rem; font-weight:500; letter-spacing:0.05em; color:rgba(255,255,255,0.7); transition:var(--transition-custom); font-family: var(--font-family2);}
.user-info a.login:hover{color:#fff;}
.user-info .member-nick {font-size:1.6rem; font-weight:500; color:#fff; font-family:var(--font-family1);}
.user-info .logout-btn {font-size:1.3rem; color:rgba(255,255,255,0.45); margin-left:0.8rem; transition:var(--transition-custom); font-family:var(--font-family2);}
.user-info .logout-btn:hover {color:rgba(255,255,255,0.85);}
/* Header :: 언어선택 */
.header-lang-list {position:relative; z-index:100; width: 13.1rem; height: 2.9rem; border-radius: 3rem; background: rgba(255,255,255,0.14); display: none;}
.header-lang-list li{float:left; width: 50%; height: 100%;}
.header-lang-list li:first-child{margin-left:0}
.header-lang-list li a{display:block; width: 100%; height: 100%; position:relative; text-align: center; font-size:1.3rem; line-height: 2.9rem; letter-spacing:-0.02em; font-weight:400; /* opacity:0.6;  */color:rgba(255,255,255,0.6); transition:var(--transition-custom); border-radius: 3rem;}
.header-lang-list li a:after{
	position:absolute; bottom:0; left:0; 
	width: 100%; height:100%; border-radius: 3rem;
	content:"";  background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(94,123,169,0.4) 40%, rgba(94,123,169,0.4) 60%, rgba(255,255,255,0.4) 100%);
	transition:var(--transition-custom);
	opacity: 0; z-index: -1;
	transition-property: opacity;
}
.header-lang-list li.cur a,
.header-lang-list li a:hover{color: #fff;}
.header-lang-list li.cur a:after,
.header-lang-list li a:hover:after{opacity: 1.0;}

/* Header :: 사이트맵버튼 */
.sitemap-line-btn{position: relative; width:5.0rem; height: 5.0rem; box-sizing:border-box;}
.sitemap-line-btn .dot{position: absolute; top: 50%; left: 50%; margin: -2.5rem 0 0 -2.5rem; transition:var(--transition-custom);}
.sitemap-line-btn .dot i {font-size: 5.0rem; color: #fff;}
/* active */
.sitemap-line-btn.active{position:relative; z-index:100000;}
.sitemap-line-btn.active .dot:nth-child(1){
	transform: translateY(0) rotate(45deg);
}
.sitemap-line-btn.active .dot:nth-child(2){
	transform: translateY(0) rotate(-45deg);
}


/* ========================================================
 * GNB
======================================================== */
.gnb-overlay-bg{position:fixed; top:0; left:0; width:100%; height:100%; visibility:hidden; opacity:0; background:rgba(0,0,0,0.5); z-index:9997;  transition:var(--transition-custom); }	/* gnb overlay BG */
.gnb-overlay-bg.open{visibility:visible; opacity:1.0;}
#gnb{position:absolute; text-align:center; top:0; left:0px; width:100%; z-index:99;}
#gnb > ul{display:inline-block;}
#gnb > ul > li {position:relative; float:left; word-break:keep-all;}
#gnb > ul > li > a {position:relative; z-index:100; display:block; line-height:var(--header-height); padding:0 4.5rem; text-align:center; color:#fff; font-size:1.8rem; letter-spacing:-0.02em; font-weight:500; transition:var(--transition-custom);}
#gnb > ul > li > a:hover,
#gnb > ul > li > a:focus {color:var(--main-color);}
#gnb > ul > li.on > a {color: #fff;}
#gnb > ul > li.on > a:before {content:""; position: absolute; left: 1.6rem; top: 2.6rem; right: 1.6rem; bottom: 2.4rem; border-radius: 99px; 
	background: rgba(255, 255, 255, .2); 
	backdrop-filter: blur(15px) opacity(1); 
	z-index: -1;
}


/* GNB :: 2depth 배경 바 — #header 직속, position:absolute */
#gnb-2dep-bg{
	position:absolute;
	top:var(--header-height);
	left:0;
	width:100%;
	height:60px;
	background-color:#fff;
	box-shadow:0 4px 16px rgba(0,0,0,0.10);
	z-index:9997;
	visibility:hidden;
	opacity:0;
	transition:opacity 0.22s ease, visibility 0.22s ease;
}
#header.nav-hover #gnb-2dep-bg{visibility:visible; opacity:1;}

/* GNB :: 2depth 메뉴 — li(position:relative) 기준, 1depth 바로 아래 */
#gnb .gnb-2dep{
	position:absolute;
	top:var(--header-height);
	left:0;
	z-index:9998;
	visibility:hidden;
	opacity:0;
	transition:opacity 0.22s ease, visibility 0.22s ease;
	white-space:nowrap;
}
#gnb .gnb-2dep ul{
	display:flex;
	flex-direction:row;
	align-items:center;
	gap:0;
	height:60px;
	padding:0 4.5rem;
	margin:0;
	list-style:none;
}
#gnb .gnb-2dep ul li {
	opacity:0;
	transform:translateY(-6px);
	transition:opacity 0s 0s, transform 0s 0s;
}
#gnb .gnb-2dep ul li + li {margin-left: 8rem;}
#gnb .gnb-2dep ul li a{
	display:block;
	color:var(--color-dark);
	font-size:1.6rem;
	font-weight:500;
	line-height:60px;
	font-family:var(--font-family1);
	transition:color 0.18s ease;
}

#gnb .gnb-2dep ul li a:hover{color:var(--main-color);}
#gnb .gnb-2dep.open{visibility:visible; opacity:1;}
#gnb .gnb-2dep.open ul li{opacity:1; transform:translateY(0); transition:opacity 0.22s ease, transform 0.22s ease;}
#gnb .gnb-2dep.open ul li:nth-child(1){transition-delay:0s;}
#gnb .gnb-2dep.open ul li:nth-child(2){transition-delay:0.06s;}
#gnb .gnb-2dep.open ul li:nth-child(3){transition-delay:0.12s;}
#gnb .gnb-2dep.open ul li:nth-child(4){transition-delay:0.18s;}
#gnb .gnb-2dep.open ul li:nth-child(5){transition-delay:0.24s;}
#gnb .gnb-2dep.open ul li:nth-child(6){transition-delay:0.30s;}
#gnb .gnb-2dep.open ul li:nth-child(7){transition-delay:0.36s;}
#gnb .gnb-2dep.open ul li:nth-child(8){transition-delay:0.42s;}
#gnb .gnb-2dep.open ul li:nth-child(8){transition-delay:0.40s;}

/* ========================================================
 * sitemap
======================================================== */
#header.sitemap-open #gnb{opacity:0; pointer-events:none;}

/* ========================================================
 * FOOTER
======================================================== */
.footer-left-con{float:left; }
.footer-right-con{display: flex; flex-direction: column; gap: 1.6rem; justify-content: flex-end; align-items: flex-end;}
.to-top-btn{
	position:fixed; 
	bottom:-100px; 
	right:4rem;
	display:block; 
	width:6.4rem; 
	height:6.4rem; 	
	color:#fff; 
	z-index:99;
	box-sizing:border-box;
	opacity:0;
	transition:var(--transition-custom2);
	border-radius:50%;
	text-align: center;
	backdrop-filter:blur(1rem);
	background: rgba(0, 78, 146, 0.3);
}
.to-top-btn:before {position: absolute; content: ''; width: 100%; height: 100%; top: 0; left: 0; border-radius:50%;background: var(--main-gradient); opacity: 0; transition:var(--transition-custom);}
.to-top-btn.bottom-fixed{bottom:6rem; opacity:1.0;}
.to-top-btn i{position: relative; z-index: 1; display:inline-block; font-size:2.2rem; line-height:6.4rem; transition:var(--transition-custom);}
.to-top-btn:hover:before {opacity: 1;}
/* Footer :: 퀵메뉴 */
.footer-quick-menu {position: fixed; right: 4rem; bottom: -22rem; z-index: 98; text-align: right;  transition:var(--transition-custom2);}
.footer-quick-con {display: flex; flex-direction: row; align-items: center; justify-content: flex-end; gap: 1.6rem; margin-bottom: 1.6rem;}
.footer-quick-con .quick-menu-btn {position: relative; display:block; width:6.4rem; height:6.4rem; line-height:6.4rem; text-align: center; background-color:rgba(255,255,255,0.1); color:#fff; transition:var(--transition-custom); border-radius:6.4rem; white-space: nowrap; overflow: hidden; backdrop-filter:blur(1rem);}
.footer-quick-con .quick-menu-btn:before {position: absolute; content: ''; width: 100%; height: 100%; top: 0; left: 0; border-radius:6.4rem; background: var(--main-color); opacity: 0; transition:var(--transition-custom);}
.footer-quick-con .quick-menu-btn i {position: relative; z-index: 1; display:inline-block; font-size:2.4rem; line-height:6.4rem; transition:var(--transition-custom);}
.footer-quick-con .quick-menu-btn i.naver-n-icon {width: 100%; height: 100%; background: url(../images/logo/naver_blog.png) no-repeat 50% 50%; background-size: 20px;}
.footer-quick-con .quick-menu-btn:hover i.naver-n-icon {width: 100%; height: 100%; background: url(../images/logo/naver_blog_on.png) no-repeat 50% 50%; background-size: 20px;}
.footer-quick-con .quick-menu-btn span {position: absolute; left: 6.0rem; padding-left: 0; font-size: 1.8rem; font-weight: 600; letter-spacing: -0.05em; color: #fff; display: inline-block; vertical-align: middle; opacity: 0; transition:var(--transition-custom);}
.footer-quick-con .quick-menu-btn span {position: absolute; left: 6.0rem; padding-left: 0; font-size: 1.8rem; font-weight: 600; letter-spacing: -0.05em; color: #fff; display: inline-block; vertical-align: middle; opacity: 0; transition:var(--transition-custom);}
.footer-quick-con .quick-menu-btn:hover {background: #fff;}
.footer-quick-con .quick-menu-btn:hover i {color: var(--main-color);}
.naver-n-icon svg {width:2.4rem; height:2.4rem; display:block; margin:0 auto;}
.quick-btn-wrap {position: relative; display: block;}
.quick-btn-wrap[data-tooltip]::after {content: attr(data-tooltip); position: absolute; bottom: calc(100% + 0.8rem); left: 50%; transform: translateX(-50%) translateY(4px); background: rgba(18,18,18,0.9); color: #fff; font-size: 1.2rem; font-weight: 500; letter-spacing: -0.01em; white-space: nowrap; padding: 0.5rem 1.2rem; border-radius: 0.6rem; opacity: 0; visibility: hidden; transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease; pointer-events: none; backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,0.1); z-index: 10;}
.quick-btn-wrap[data-tooltip]:hover::after {opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);}
/* 헤더 로그아웃 툴팁 */
.header-logout-tip {position: relative; display: inline-flex; align-items: center;}
.logout-btn img {width: 2.4rem; height: 2.4rem; display: block;}
.header-admin-btn {display: inline-flex; align-items: center; margin-left: 0.8rem; font-size: 2rem; color: rgba(255,255,255,0.45); transition: var(--transition-custom);}
.header-admin-btn:hover {color: var(--main-color);}
.header-logout-tip::after {content: attr(data-tooltip); position: absolute; top: calc(100% + 0.8rem); left: 50%; transform: translateX(-50%) translateY(-4px); background: rgba(18,18,18,0.9); color: #fff; font-size: 1.2rem; font-weight: 500; letter-spacing: -0.01em; white-space: nowrap; padding: 0.5rem 1.2rem; border-radius: 0.6rem; opacity: 0; visibility: hidden; transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease; pointer-events: none; backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,0.1); z-index: 100;}
.header-logout-tip:hover::after {opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);}
/* Partner Dropdown */
.partner-dropdown {position: relative; width: 100%; max-width: 22.4rem;}
.partner-dropdown-trigger {display: flex; align-items: center; gap: 0.8rem; width: 100%; height: 4rem; padding: 0 1.6rem; background: rgba(255,255,255,0.1); border-radius: 0.8rem; color: rgba(255,255,255,0.8); font-size: 1.4rem; letter-spacing: -0.02em; cursor: pointer; transition: background 0.2s ease, border-color 0.2s ease; white-space: nowrap;}
.partner-dropdown-trigger:hover {background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.22); color: #fff;}
.partner-dropdown-trigger .txt {flex: 1; text-align: left;}
.partner-dropdown-trigger .arr {font-size: 1.8rem; transition: transform 0.25s ease; flex-shrink: 0;}
.partner-dropdown-trigger i:first-child {font-size: 1.6rem; flex-shrink: 0;}
.partner-dropdown.open .partner-dropdown-trigger {background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); color: #fff;}
.partner-dropdown.open .partner-dropdown-trigger .arr {transform: rotate(180deg);}
.partner-dropdown-list {position: absolute; bottom: calc(100% + 0.6rem); left: 0; right: 0; background: rgba(170, 170, 170, .2); backdrop-filter: blur(15px); border-radius: 0.8rem; overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease; z-index: 100;}
.partner-dropdown.open .partner-dropdown-list {opacity: 1; visibility: visible; transform: translateY(0);}
.partner-dropdown-list a {position: relative; display: flex; align-items: center; gap: 0.8rem; padding: 1.6rem; font-size: 1.4rem; color: rgba(255,255,255,1); letter-spacing: -0.02em; transition: background 0.18s ease, color 0.18s ease;}
.partner-dropdown-list a i {font-size: 1.4rem; flex-shrink: 0; transition: opacity 0.18s ease;}
.partner-dropdown-list a:hover {background: var(--main-color); color: #fff;}
.partner-dropdown-list a .partner-logo {display: inline-block; width: 2rem; height: 2rem; vertical-align: middle; display: none;}
.partner-dropdown-list a i.icon {display: inline-block; width: 2.0rem; height: 2.0rem; position: absolute; top: 1.2rem; right: 1.6rem; opacity: 0; transition: all 0.4s; background: url(../images/icon/arrow-big-right.gif) no-repeat 0 center; background-size: contain;}
.partner-dropdown-list a:hover i.icon {opacity: 1;}
/* toast */
.copy-toast {position: fixed; bottom: 3rem; left: 50%; transform: translateX(-50%) translateY(1rem); background: rgba(30,30,30,0.92); color: #fff; font-size: 1.4rem; letter-spacing: -0.02em; padding: 1.1rem 2.4rem; border-radius: 5rem; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease; z-index: 999999; backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,0.12); box-shadow: 0 4px 20px rgba(0,0,0,0.4);}
.copy-toast.show {opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);}
.footer-quick-menu a {position: relative; display:block; width:6.4rem; height:6.4rem; line-height:6.4rem; text-align: center; background: rgba(0, 78, 146, 0.3); backdrop-filter: blur(15px); color:#fff; transition:var(--transition-custom); border-radius:6.4rem; margin-bottom: 0.6rem; margin-left: auto; white-space: nowrap; overflow: hidden; backdrop-filter:blur(1rem);}
.footer-quick-menu a:before {position: absolute; content: ''; width: 100%; height: 100%; top: 0; left: 0; border-radius:6.4rem;background: var(--main-gradient); opacity: 0; transition:var(--transition-custom);}
.footer-quick-menu a i {position: relative; z-index: 1; display:inline-block; font-size:2.4rem; line-height:6.4rem; transition:var(--transition-custom);}
.footer-quick-menu a span {position: absolute; left: 6.0rem; padding-left: 0; font-size: 1.8rem; font-weight: 600; letter-spacing: -0.05em; color: #fff; display: inline-block; vertical-align: middle; opacity: 0; transition:var(--transition-custom);}
.footer-quick-menu a:hover {padding: 0 14rem 0 2.0rem;}
.footer-quick-menu a:hover:before {opacity: 1;}
.footer-quick-menu a:hover i{color: #fff}
.footer-quick-menu a:hover span {opacity: 1;}
.footer-quick-menu.main-start {bottom: 1rem; opacity: 0;}
.footer-quick-menu.bottom-fixed {bottom: 13rem; opacity: 1;}

/* -------- FOOTER :: 메인 -------- */
#footer {position: relative; z-index: 10;}
.footer-inner-con {margin: 0 auto; padding:8rem; box-sizing: border-box; display: flex; align-items: end; justify-content: space-between; border-radius: 6rem 6rem 0 0; 
	background-color: var(--color-dark);	
}

/* Footer :: 푸터로고 */
.foot-logo {float:left; display:block; padding-bottom:4rem; width: 24rem;}
.foot-logo img {width: 100%; height: auto;}

/* Footer :: 정보 style02 */
.footer-address-list dl{display:block; color:rgba(255,255,255,0.7); font-size:1.6rem; line-height:1.875;}
.footer-address-list dl:first-child{margin-left:0}
.footer-address-list dl dt,
.footer-address-list dl dd {vertical-align:middle; display:inline-block;  letter-spacing: -0.05em;}
.footer-address-list dl dt {width: 11.5rem; color:#fff; font-weight: 500; letter-spacing: -0.02em;}
.footer-address-list a {color:inherit; text-decoration: underline;}

/* Footer :: 푸터메뉴 */
.foot-menu{float:right; margin-left: 3.5rem;}
.foot-menu li{float:left; position:relative; padding-left:2.4rem; line-height:35px;}
.foot-menu li:before{position:absolute; top:50%; left:1.2rem; width:1px; height:1.4rem; margin-top:-0.8rem; background-color:rgba(255,255,255,0.13);  content:"";} /* line 형태 */ 
.foot-menu li:first-child{padding-left:0}
.foot-menu li:first-child:before{display:none} 
.foot-menu li a{color:rgba(255,255,255,0.5); font-size:1.8rem; letter-spacing:-0.05em; font-weight: 500;}
.foot-menu li a b{color:#fff; font-weight:500;}

/* Footer :: Copyright */
.footer-copyright{font-size:1.4rem; letter-spacing:-0.02em; color: rgba(255,255,255,0.4); line-height: 1.3; font-weight: 500; text-align: right;}

/* 20260630 main footer 수정 */
.footer-inner-con {background-color: rgba(0, 78, 146, 0.3); backdrop-filter: blur(1rem);}
.partner-dropdown-trigger {background-color: #8aafce;}
.foot-menu li a b,
.foot-menu li a {color: var(--color-dark);} 
.foot-menu li:before {background-color: var(--main-color); opacity: 0.4;}
.footer-copyright {color: var(--color-dark); opacity: 0.6;}
.footer-address-list dl dt {color: var(--color-dark); opacity: 0.7;}
.footer-address-list dl dd  {color: var(--color-dark); font-weight: 600;}
.partner-dropdown.open .partner-dropdown-trigger {background: #8aafce; border-color: #8aafce; color: var(--main-color); font-weight: 500;}

/* ****************** SUB LAYOUT ********************** */
/*  SUB LAYOUT :: 컨텐츠 레이아웃 */
#content:not(.wide){padding:0}
#content.wide{padding:10rem 0 0 0}

/* ****************** 버튼 효과 ********************** */

/* ==================  INTRO  ================== */
#intro {position:fixed; top:0; left:0; width:100%; height:100%; background:#000000; z-index:99999; transition:transform 1s cubic-bezier(0.76,0,0.24,1);}
#intro.outro {transform:translateY(-100%);}
.intro-bg-svg {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:calc(100% - 6rem); max-width:none; opacity:0; pointer-events:none;}
.intro-bg-svg svg {width:100%; height:auto; display:block;}
.intro-bg-svg img {width:100%; height:auto; opacity:0.08;}
.intro-logo-wrap {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; gap:2.4rem; text-align:center;}
.intro-symbol {width:30rem; opacity:0; transform:scale(0.7) rotate(-20deg);}
.intro-symbol img {width:100%; height:auto;}
.intro-logo-text {opacity:0; transform:translateY(2rem);}
.intro-logo-text img {height:12rem; width:auto;}

/* ========================================================
 * SITEMAP
======================================================== */
.sitemap-wrapper::-webkit-scrollbar{width: 5px; height:5px;}
.sitemap-wrapper::-webkit-scrollbar-thumb{background-color:#333; transition:all 0.5s;}
.sitemap-wrapper::-webkit-scrollbar-track{background-color:#fff; background:rgba(100,100,100,0.1); border-radius:5px;}
.sitemap-wrapper{font-size:2rem; }
.sitemap-wrapper{position:fixed; top:0px; left:0px; width:100%; height:100%; overflow-y:auto; overflow-x:hidden; }
.sitemap-wrapper:before{position:absolute; top:0px; left:0px; width:100%; height:100%; background-color:#000; content:""; opacity:0; transition:opacity 0.2s ease;}
.sitemap-wrapper .cm-sitemap-bg{overflow:hidden; position:absolute; left:0; top:0px; width:0; height:100%; background:#000; transition:all 0.6s ease}
.sitemap-container{position:absolute; display:table; width:100%; height:100%; overflow-y:auto; }
.sitemap-inner{position: relative; display:table-cell; vertical-align:middle; padding: 5em 0; opacity:0; transition:opacity 0.5s ease 0s }
.sitemap-inner .splitting,
.sitemap-inner .splitting .word{overflow:hidden;}
.sitemap-inner .splitting .word,
.sitemap-inner .splitting .char{display:inline-block;}
.sitemap-wrapper-style span.num{display:none;}
.sitemap-inner .splitting .char{transform:translateY(100%); transition:transform 0.6s ease 0.3s , color 0.3s}
/* 공통 :: open */
.sitemap-wrapper.open:before{opacity: 0.5}
.sitemap-wrapper.open .sitemap-inner{opacity:1.0; transition-delay:0.4s}
.sitemap-wrapper.open .splitting .char{transform:translateY(0); transition-delay:0.3s}

#siteMap{
	z-index:-1;
	opacity:0;filter:Alpha(opacity=0);
	visibility:hidden;
}
#siteMap:before{background-color: rgba(0,0,0,0.5); backdrop-filter: blur(10px);}
#siteMap .sitemap-bg{left:auto; width: 100%; right:0%; height:0%; background-color: rgba(0,0,0,0.5); backdrop-filter: blur(10px);}
.sitemap-container .sitemap-area{position:relative;}
.sitemap-wrapper-style > ul{display:flex; width:100%; align-items: flex-start; justify-content: space-between;}
.sitemap-wrapper-style > ul > li{display:table-cell; vertical-align:top; text-align: center; opacity: 0; transform: translateY(50px); transition:var(--transition-custom2);}
.sitemap-wrapper-style > ul > li:before{position: absolute; top: -2.6rem; left: 12%; content: ''; width: 1.2rem; height: 1.2rem; background-color: var(--main-color); border-radius: 100%; opacity: 0; transform: translateY(-30px); transition:var(--transition-custom);}
.sitemap-wrapper-style > ul > li > h2{margin-bottom: 1rem; min-height: auto; font-size:4.8rem; letter-spacing:-0.01em; line-height: 1.3; font-weight:500; color: #fff; background-color: transparent;}
.sitemap-wrapper-style > ul > li .sitemap-2dep a{display:block; overflow:hidden; padding:0.5em 0; color:#fff; font-size:2rem; font-weight:400; letter-spacing:-0.075em; line-height:1.3;  -webkit-transition: all 0.2s; transition: all 0.3s;}

/* Open */
#siteMap.open{
	opacity:1.0;filter:Alpha(opacity=100);
	visibility:visible;
	z-index:9998;
}
#siteMap.open .sitemap-bg{height:100%;}
#siteMap.open .sitemap-bg .logo-bg span{transform:translateY(0); transition-delay:0.3s}
#siteMap.open .sitemap-wrapper-style > ul > li{opacity: 1; transform: translateY(0);}
#siteMap.open .sitemap-wrapper-style > ul > li:nth-child(2){transition-delay:0.2s;}
#siteMap.open .sitemap-wrapper-style > ul > li:nth-child(3){transition-delay:0.4s;}
#siteMap.open .sitemap-wrapper-style > ul > li:nth-child(4){transition-delay:0.6s;}
#siteMap.open .sitemap-wrapper-style > ul > li:nth-child(5){transition-delay:0.8s;}
#siteMap.open .sitemap-wrapper-style > ul > li:nth-child(6){transition-delay:1s;}
.sitemap-wrapper-style > ul > li.active:before{opacity: 1; transform: translateY(0);}
/* Login box - mobile only */
.sitemap-login-box { display:none; margin-top:2rem; padding:2rem 10%; display:none; flex-direction:column; gap:1rem; }
.sitemap-login-box .sitemap-login-btn { display:inline-block; align-items:center; gap:0.8rem; color:#fff; font-size:1.8rem; font-weight:400; letter-spacing:-0.05em; padding:8px 16px; background:rgba(255,255,255,0.1); border-radius:40px; }
.sitemap-login-box .sitemap-login-btn i {display: none; font-size:2.2rem; }
/* 로그인 상태 */
.sitemap-member-nick { display:block; margin-bottom: 1.2rem; color:#fff; font-size:1.8rem; font-weight:500; letter-spacing:-0.05em; }
.sitemap-member-nick i {display: inline-block; margin-right: 0.8rem; font-size:2.2rem; color:var(--main-color); vertical-align: middle;}
.sitemap-logout-btn { background:rgba(255,255,255,0.07) !important; border:1px solid rgba(255,255,255,0.2); font-size:1.4rem !important; padding:6px 14px !important; width:fit-content; }
.sitemap-logout-btn:hover { background:rgba(255,255,255,0.15) !important; }