/* 💫 모든 요소에 부드럽고 탄성 있는 전환 효과 */
* {
	transition: all 0.6s cubic-bezier(0.25, 1.25, 0.5, 1);
}


/* style css */
body, html {
	overflow-x:hidden;
	min-width:1280px
}

img {
	-webkit-user-drag: none;
}

/*::selection {*/
/*	background: #11243a;*/
/*	color: #fff*/
/*}*/

/*::-moz-selection {*/
/*	background: #11243a;*/
/*	color: #fff*/
/*}*/

/*::-webkit-selection {*/
/*	background: #11243a;*/
/*	color: #fff*/
/*}*/

::-webkit-scrollbar {
	background-color: transparent;
	width: 0;
}


body, html {

}

body {
	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;  /* Firefox */
	/*user-select:none;*/
	-webkit-font-smoothing: antialiased;
	color:#333;
}

.row {
	padding: 0 20px;
	margin: auto
}




/* ��� */
.header {
	position:fixed;
	top: 0;
	left: 0;
	right: 0;
	text-align:center;
	z-index: 999997;
	transition:all 300ms ease-in-out;
	min-width:1280px;
	background-color: transparent;
	height: 120px;
}

.header.w {
	background-color: #fff;
	border-bottom: 1px solid #ddd;
}

.header .logo {
	font-family: 'Noto Sans KR', sans-serif;
	/* background-image: url(https://xn--9m1b22as3x4hak8e14js7ap76cmsb.kr/css/../img/logo_img_v01.png); */
	display: inline-block;
	color: #fff;
	font-size: 20px;
	/* text-indent: -9999px; */
	background-size: contain;
	/* width: 274px; */
	/* height: 18px; */
	font-weight: 700;
}

.header.w .logo {
	font-family: 'Noto Sans KR', sans-serif;
	/* background-image: url(https://xn--9m1b22as3x4hak8e14js7ap76cmsb.kr/css/../img/logo_img_v01.png); */
	display: inline-block;
	color: #001140;
	font-size: 20px;
	/* text-indent: -9999px; */
	background-size: contain;
	/* width: 274px; */
	/* height: 18px; */
	font-weight: 700;
}

.header .row {
	position:relative;
	/*top: 10px;*/
	display:flex;
	align-items:center;
	justify-content: space-between;
	height: 100%;
	padding: 0 100px;
	border-bottom: 1px solid #ffffff17;
}

.header .nav {
	display:flex;
	margin-right: 30px;
	/*position:absolute;
	left: 50%;
	transform:translate(-50%, 0);*/
}

.header .right_box {
	display:flex;
	align-items:center;
	height: 100%;
}

.header .nav li {
	width: 115px;
	text-align:center;
	height: 100%;
	line-height:120px;
}


/* 기본 구조에 맞춰 position 지정 */
.header .nav li {
	position: relative;
}

/* 세로선 기본 상태 (숨김) */
.header .nav li::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 0.5px;
	height: 0;
	background: #fff; /* 흰색 세로선 */
	transform: translateX(-50%);
	transition: height 0.4s ease-in-out;
}

/* 마우스 오버 시 세로선이 아래에서 위로 30px 올라옴 */
.header .nav li:hover::after,
.header .nav li.active::after,
.header .drop_menu .drop > li[rel="m01"]:hover ~ .nav #m01::after,
.header .drop_menu .drop > li[rel="m02"]:hover ~ .nav #m02::after,
.header .drop_menu .drop > li[rel="m03"]:hover ~ .nav #m03::after,
.header .drop_menu .drop > li[rel="m04"]:hover ~ .nav #m04::after,
.header .drop_menu .drop > li[rel="m05"]:hover ~ .nav #m05::after,
.header .drop_menu .drop > li[rel="m06"]:hover ~ .nav #m06::after {
	height: 30px;
}

.header .nav li a {
	font-family:'NotoSansKR-Medium';
	letter-spacing:-1px;
	/*color: #ffffff66 !important;*/
	color: #fff !important;
	font-size: 16px;
}

.header.w .nav li a {
	color: #001140 !important;
}

.header.w .nav li a:hover {
	color: #001140 !important;
}

.header .nav li.on a,
.header .nav li a:hover {
	color:#fff !important;
	transition: color 0.3s;
	font-family:'NotoSansKR-Bold';
}

.header.w .nav li.on a,
.header.w .nav li a:hover {
	color:#001140 !important;
	transition: color 0.3s;
	/*font-family:'NotoSansKR-Bold';*/
}

.header .drop_menu {
	display:none;
	position:absolute;
	background-color: #ffffff;
	border-bottom: 1px solid #cccccc;
	width: 100%;
	top: 120px;
	left: 0;
	padding: 18px 0;
	height: 210px;
}

.header .drop_menu .drop {
	position:absolute;
	z-index: 998;
	right: 380px;
	/*right: 260px;*/
	font-size:15.5px;
	display: flex;
}

.header .drop_menu .drop > li {
	width: 120px;
	text-align:center;
}

.header .drop_menu .drop > li a {
	color:#11243a;
	font-size: 15px;
}

.header .drop_menu .drop > li a:hover {
	font-weight: bold;
}

.header .drop_menu .sub_menu > li {
	margin-bottom: 10px;
	letter-spacing:-1px
}



.header.w .regi_btn, .header .regi_btn {
	font-family: 'NotoSansKR-Medium';
	background-color: #990544;
	color: #fff;
	/*width: 160px;
	height: 40px;*/
	border: 1px solid #990544;
	border-radius: 25px;
	/*font-size: 20px;*/
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 25px;
	margin-top: 3px;
	transition: all 200ms ease-in-out;
	width: 190px;
	height: 45px;
	font-size: 22px;
}

.header .regi_btn p {
	font-family:'InterTight-Regular';
	font-size: 25px;
	margin-top: 1px;
}

/*.header.w .regi_btn:hover,
.header .regi_btn:hover {
	background-color: transparent;
	color: #11243a;
}*/
@font-face {
	font-family: 'GMarketSans';
	src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
	font-weight: 500;
	font-display: swap;
}

.header .tel {
	font-family: 'GMarketSans', 'Noto Sans KR', sans-serif;
	/*height: 26px;
	width: 196px;*/
	display: inline-block;
	/*background-image: url("../img/tel_img.png");*/
	/*text-indent: -9999px;*/
	font-size: 25px;
	color: #fff;
	background-size: contain;
	background-position-y: center;
	margin-right: 40px;
}
.header .tel::before {
	content: "\f095"; /* 전화기 아이콘 */
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 12px; /* 숫자와의 간격 */
	font-size: 22px;
	color: #fff;
}

.header.w .tel {
	font-family: 'GMarketSans', 'Noto Sans KR', sans-serif;
	/*height: 26px;
	width: 196px;*/
	display: inline-block;
	/*background-image: url("../img/tel_img.png");*/
	/*text-indent: -9999px;*/
	font-size: 25px;
	color: #001140;
	background-size: contain;
	background-position-y: center;
}

.header.w .menu_btn, .header .menu_btn {
	margin-left: 25px;
	cursor: pointer;
	display: inline-block;
	/*background-image: url("../img/menu_btn.png");*/
	/*height: 22px;
	width: 36px;*/
	text-indent: -9999px;
	background-size: contain;
	width: 40px;
	/*height: 25px;*/
	z-index: 9999999999999999 !important;
}

.header.w .menu_btn span {
	background-color: #001140;
}

@media(max-width:1600px) {
	.header .row {
		padding:  0 40px;
	}

	.header.w .logo, .header .logo {
		/*height: 46px;*/
		/*width: 230px;*/
	}

	.header.w .regi_btn, .header .regi_btn {
		width: 180px;
		height: 40px;
		font-size: 20px;
	}

	.header .regi_btn p {
		font-size: 22px;
	}

	.header.w .tel, .header .tel {
		/*height: 26px;*/
		/*width: 196px;*/
	}

	.header .drop_menu .drop {
		right: 266px;
	}
}

@media(max-width:1440px) {
	.header.w .regi_btn, .header .regi_btn {
		width: 160px;
		height: 32px;
		font-size: 18px;
	}

	.header .regi_btn p {
		font-size: 20px;
	}

	.header .nav li {
		width: 105px;
	}

	.header .nav li a {
		font-size: 16px;
	}

	.header .drop_menu .drop {
		font-size: 14px;
	}

	.header .drop_menu .drop > li {
		width: 105px;
	}

}

.menu_over {
	position:fixed;
	top: 0;
	bottom:0;
	right: -750px;
	z-index: 999999;
	background-image: url('../img/menu_over_bg.jpg?new');
	background-size: cover;
	width: 750px;
	height: calc(var(--vh));
	transition:all 500ms ease-in-out;
	text-align: center;
}

.menu_bg_blk {
	visibility:hidden;
	opacity: 0;
	position:fixed;
	left: 0;
	top: 0;
	bottom:0;
	right: 0;
	z-index: 999998;
	background-color:rgba(0, 0, 0, 0.8);
	transition-duration: 400ms;
}

.menu_over.open {
	right: 0;
}
.menu_bg_blk.open {
	visibility:visible;
	opacity: 1;
}

.menu_over .inner {
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 90px;
}

.menu_over .menu_close_btn {
	z-index: 9999;
	position:absolute;
	right: 60px;
	top: 50px;
	width: 36px;
	height: 40px;
	cursor:pointer;
}

.menu_over .content {
	width: 100%;
	padding-bottom: 60px;
}

.menu_over .content .logo_zone {
	margin-bottom: 50px;
}

.menu_over .content .line__ {
	position:absolute;
	width: 30px;
	height: 1px;
	background-color:rgba(255, 255, 255, 0.4);
	left: 50%;
	top: 170px;
	transform:translate(-50%);
}

.menu_over .content .menu_area li {
	padding: 10px 0;
	cursor: pointer;
}

.menu_over .menu_area li a {
	font-size: 17px;
	font-family:'NotoSansKR-Regular';
	color:rgba(255, 255, 255, 0.4);
	transition:all 200ms ease-in-out;
}

.menu_over .menu_area li span {
	display: block;
	font-family:'InterTight-Regular';
	font-size: 40px;
	margin-bottom: -5px;
	letter-spacing: 1px;
}

.menu_over .menu_area li:hover a, .menu_over .menu_area li.active a {
	color: #fff;
}

.footer {
	padding: 50px 0;
	background-color:#000000;
}

.footer .row {
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
}
.footer .cp_info {
	text-align: center;
}
.footer .cp_info .logo {
	margin-bottom: 45px;
}

.footer .cp_info li {
	font-size:14px;
}

.footer .cp_info .copy {
	margin-bottom: 15px;
	font-size: 15px;
	font-family:'NotoSansKR-Light';
	color: #ffffff;
	letter-spacing: 0.1px;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	position: relative;
}
.footer .cp_info .copy3 {
	margin-bottom: 35px;
}

.footer_add_text {
	position: absolute;
	bottom: -22px;
	font-size: 10px;
	color: #ffffff;
	left: 315px;
}
.footer_add_text02 {
	font-size: 10px;
	color: #ffffff;
}
.footer .cp_info .copy b {
	color: #ffffff;
	font-family:'NotoSansKR-Medium';
	line-height: 1;
}
.footer .cp_info .copy h3 {
	font-size: 12px;
	display: inline;
	position: relative;
	bottom: 2px;
	line-height: 1;
	color: #474747;
}
.footer .cp_info .pharases {
	font-size: 14px;
	font-family:'NotoSansKR-Light';
	color: #666666;
	margin-top: 17px;
	line-height: 1.4;
}
.footer .cp_info .copy2 {
	font-size: 14px;
	font-family:'NotoSansKR-Light';
	color: #ffffff;
	margin-top: 30px;

}


.video-container {
	position: relative;
	padding-bottom: 53.5%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.video-container iframe, .video-container object, .video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 화면이 일정 폭 이하일 때(약 150% 확대 시점) 네비게이션 숨기기 */
@media (max-width: 1280px) {
	.header .nav {
		display: none !important;
	}
}


@media(min-width:992px) {
	.pc {
		display:block !important
	}

	.mobile {
		display:none !important
	}
}

@media(max-width:991px) {
	.pc {
		display:none !important
	}

	.mobile {
		display:block !important
	}
}

@media(max-width:575px) {


}


.header .nav {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	display: flex;
	margin: 0;
	height: 100%;
	align-items: center;
}

.header .drop_menu .drop {
	position: absolute;
	/*top: 100px;*/
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	font-size: 15.5px;
	z-index: 998;
}

ul.sub_menu {
	width: 115px;
}


/* pc 어사이드 */
.aside {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999999999 !important;
	background-color: #fff;
	width: 415px;
	height: calc(var(--vh));
	text-align: center;

	/* 🔹 기존 right 이동 대신 transform 사용 */
	transform: translateX(100%);
	transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
	/* ↑ 기존 1.6s보다 조금 짧지만 더 자연스럽게 느려짐
	   (원하시면 1.5s~1.8s로 늘려도 됩니다) */
}

.aside.open {
	transform: translateX(0);
}


.aside .body {
	width: 100%;
	height: 100%;
}

.mCSB_inside > .mCSB_container {
	margin-right: 0 !important;
}

.aside .m_close_btn {
	/*color: #001140;*/
	z-index: 999999999 !important;
	position:absolute;
	right: 40px;
	top: 40px;
	width: 54px;
	cursor:pointer;
}

.m_close_btn::before, .m_close_btn::after {
	background: #001140 !important;
	content: '';
	position: absolute;
	width: 70% !important;
	height: 1px !important;
}

/* 🔹 블러 오버레이 (기본 비활성) */
.blur-overlay {
	position: fixed;
	inset: 0;
	backdrop-filter: blur(6px);
	background: rgba(0, 0, 0, 0.25); /* 살짝 어둡게 */
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s ease;
	z-index: 200; /* 어사이드보다 아래, 메뉴보다 위 */
}

/* 🔹 어사이드 열렸을 때 활성화 */
.aside.open ~ .blur-overlay {
	opacity: 1;
	pointer-events: auto;
}

/* 메뉴 버튼은 블러 영향 안 받도록 */
.menu_btn {
	position: relative;
	z-index: 9999;
}
/* 어사이드 열림 시 배경 블러 */
body.aside-open #main,
body.aside-open header,
body.aside-open footer {
	filter: blur(6px);
	transition: filter 0.4s ease;
}

/* 어사이드 닫힐 때 부드럽게 복귀 */
body:not(.aside-open) #main,
body:not(.aside-open) header,
body:not(.aside-open) footer {
	filter: blur(0);
	transition: filter 0.4s ease;
}

/* 블러 시 클릭 방지하고 싶으면 */
body.aside-open #main {
	pointer-events: none;
}


.aside .content {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 80px 0;
}

.aside .logo_zone {
	/*margin-bottom: 100px;*/
}

.aside .aside_inner {
	width: 580px;
	margin-left: 75px;
	margin-top: 60px;
}

.aside .aside_inner > li {
	position: relative;
	width: 100%;
	padding: 10px 90px;
	/* border-bottom: 1px solid #555e81; */
	text-align: left;
}

.aside .aside_inner li:first-child {
	/*border-top: 1px solid #555e81;*/
}

.aside .aside_inner li a {
	display: block;
	width: 100%;
	height: 100%;
	font-size: 24px;
	color: #bfc6d7;
	font-family:'NotoSansKR-Medium';
	letter-spacing: -0.5px;
	cursor: pointer;
}

.aside .aside_inner li a:hover {
	font-family:'NotoSansKR-Medium';
	color: #001140;
	transition: 0.3s;
}

.aside .aside_inner > li.active a {
	font-family:'NotoSansKR-Medium';
	color: #001140;
	transition: 0.3s;
}

/*.aside .aside_inner > li .arrow {
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 80px;
	height: 19px;
	width: 20px;
	background-image: url("../img/m/m_menu_arrow.png");
	background-position: center;
	transition:all 300ms;
}

.aside .aside_inner > li.active .arrow {
	transform:rotate(180deg);
	margin-top: -5px;
}*/

.aside .sub-menu {
	display:none;
	background-color:#fff;
}

.aside .sub-menu > li {
	padding: 10px 0;
	text-align: left;
	/*border-bottom: 1px solid #555e81;*/
	padding: 5px 90px;
}

.aside .sub-menu > li:last-child {
	border-bottom: none;
}

.aside .sub-menu > li a {
	color:#11243a;
	font-size: 17px;
}

/* =================================== */

@font-face {
	font-family: 'Antro_Vectra';
	src: url('../fonts/Antro_Vectra.woff2') format('woff2'),
	url('../fonts/Antro_Vectra.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

.s2_font {
	position: relative;
	z-index: 99;
	transform: translateX(100px) rotate(-5deg);
}

.s2_font p {
	font-size: 75px;
	font-family: 'Antro_Vectra';
	color: #7dbeff;
	display: flex;
	gap: 4px;
	margin-top: -47px;
	margin-left: 154px;
}

.s2_font span {
	display: inline-block;
}