@charset "utf-8";

body.open {overflow:hidden;}

::-webkit-scrollbar{
    height: 10px;  /* 스크롤바의 너비 */
}
::-webkit-scrollbar-thumb{
    height: 30%; /* 스크롤바의 길이 */
    background: #aaaaaa; /* 스크롤바의 색상 */
    border-radius: 10px;
}
::-webkit-scrollbar-track{
    background: #ededed;  /*스크롤바 뒷 배경 색상*/
}

body::-webkit-scrollbar{
    width: 10px;  /* 스크롤바의 너비 */
}
body::-webkit-scrollbar-thumb{
    height: 20%; /* 스크롤바의 길이 */
    background: #aaaaaa; /* 스크롤바의 색상 */
    border-radius: 5px;
}
body::-webkit-scrollbar-track{
    background: #ededed;  /*스크롤바 뒷 배경 색상*/
}

#wrap {position:relative;}
.container {width:100%; position:relative; z-index:10;}
.con {margin:0 auto; max-width:1400px; position:relative;}
.entire {position:absolute; left:0; top:0; width:100%; height:100%; z-index:10;}

/* Common */
.d-none				{ display: none;}
.d-block			{ display: block;}
.d-inline-block		{ display: inline-block;}
.d-flex				{ display: flex;}


/* PC header */
header {width:100%; position:fixed; left:0; top:0; z-index:99; background:none; transition:0.5s ease-out;}
header.on {top:-100px;}
header:after {content:""; display:block; clear:both;}
header .con {position:relative;}
header .logo {display: inline-block; vertical-align: top; width:259px;}
header .logo img {image-rendering: -webkit-optimize-contrast; max-width:100%;}

.header-topbar {height:50px; border-bottom: 1px solid #808081;}
.flex-box {display: flex; justify-content: space-between; align-items: center; height: 50px;}
.header-topbar ul {}
.site-link ul li {float:left;}
.site-link ul li:nth-child(1)::after{
    content: ''; width: 1px; height: 20px; border-left: 1px solid #808081;
}
.site-link ul li a {color:#fff; width:150px; display:inline-block; line-height:35px; font-size:18px;font-weight:500; text-align:center;}
.site-link ul li.on a {color:#df1808;}
.site-link.sw-pu ul li.on a {color:#0066ff;}
.header-topbar.sw-pu .site-link ul li.on a {color:#0066ff;}

/* Button Style */
.button_style01 {
    position: relative;
    display: inline-block;
	min-width: 200px;
    padding: 6px 30px;
	font-size: 20px !important;
	font-weight: 700 !important;
    border: 2px solid #df1808;
    border-radius: 25px;
    color: #df1808 !important;
    box-shadow: 0px 8px 6px -6px rgb(0, 0, 0, 0.2);
    background-color: #fff;
	text-decoration: none !important;
}
.button_style01 i {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-40%);
    scale: 1.2;
}
.button_style01-m {
    position: relative;
    display: inline-block;
	min-width: 140px;
    padding: 4px 20px;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: unset !important;
    border: 1px solid #df1808;
    border-radius: 25px;
    color: #df1808 !important;
    background-color: #fff;
	text-decoration: none !important;
}
.button_style01-m i {
    position: absolute;
	font-size: 12px;
    right: 18px;
    top: 50%;
    transform: translateY(-40%);
    scale: 1.2;
}

/* Hover Animation */
.hover-ani-1s { transition: all 0.1s ease-in-out;}
.hover-ani-2s { transition: all 0.2s ease-in-out;}
.hover-ani-3s { transition: all 0.3s ease-in-out;}


/* .header-topbar .sns-link {margin-right:10px;} */
.header-topbar .sns-link ul {font-size:0;}
.header-topbar .sns-link ul li {display:inline-block; position:relative; position:relative;}
/* .header-section-1 .sns-link ul li::after {content:""; position:absolute; width:1px; height:15px; background:#eee;}
.header-topbar .sns-link ul li:last-child::after {content:none;} */
.header-topbar .sns-link ul li a {color:#999; padding-left:10px; font-size:14px; color:#999;}

.header-section-1 {border-bottom:1px solid #EEEEEE;}
.header-section-1 .flex-box {display: flex; justify-content: space-between; align-items: center; height: 90px;}

.header-section-2 {}
.header-section-2 .flex-box {display: flex; justify-content: space-between; align-items: center; height: 80px;}
/* .header-section-2 .gnb {margin-left:-142px;} */
.header-section-2 .gnb ul {font-size:0;}
.header-section-2 .gnb ul li {display:inline-block; vertical-align: top; text-align: center; position: relative; min-width: 120px;}
/* .header-section-2 .gnb ul li:not(:last-child){width: 200px;} */
.header-section-2 .gnb ul li .main-link{color:#fff; font-size:16px; font-weight:400; line-height:60px; padding:0 25px; transition: 0.5s;
    -webkit-text-stroke: 1px rgba(0, 0, 0, 0);
}
.header-section-2 .gnb ul li:hover .main-link{
    -webkit-text-stroke: 1px #df1808;
}
.header-section-2 .gnb .main_menu.sw-pu li:hover .main-link {
    -webkit-text-stroke: 1px #0052ce;
}
.logo{margin-right: -142px;}
.main_menu li:hover .sub_menu{
    height: auto; transition-duration: 1s;
}

.lang {margin-right:-8px;}
.lang ul {font-size:0;}
.lang ul li {display:inline-block; vertical-align: top; margin:0 8px;}
.lang ul li a {color:#fff; font-size:18px; font-weight:700; line-height:60px; padding:0 5px; transition: 0.5s;
    
}
.lang ul li:nth-child(2){width: 1px; height: 18px; border-left: 1px solid #9a9a9e; margin: 20px 0;
}
.lang ul li.on a {color:#DF1808;  transition: 0.5s;}
.lang ul li:hover a{
    color:#DF1808; 
}
.lang.sw-pu ul li.on a {color:#0066ff !important;  transition: 0.5s;}
.lang.sw-pu ul li:hover a{
    color:#0066ff !important; 
}
.header-section-2 .gnb ul li a img{image-rendering: -webkit-optimize-contrast; max-width:100%; vertical-align: middle; height: 24px; padding-right: 10px;}

.sub-header {background:#fff; font-size:0; border-top:1px solid #EEEEEE; /*margin-bottom:-1px;*/ display:none; position:absolute; left:0; top:100%; width:100%;}
.sub-header .con {}
.sub-header .sub-menu {display:none; background:#fff;}
.sub-header .sub-menu[style*='display: block'] { display: flex !important; }
.sub-header .sub-menu-name {background:#007CCC; min-height:363px; width:200px; position:relative;}
.sub-header .sub-menu-name::before {content:""; position:absolute; right:100%; top:0; height:100%; width:9999px; background:#007CCC;}
.public .sub-header .sub-menu-name {min-height:231px;}
.sub-header .sub-menu-name .box {display:flex; width:169px; justify-content: space-between; position:absolute; right:30px; top:40px;}
.sub-header .sub-menu-name .box .name {color:#fff; font-size:18px; font-weight:700;}
.sub-header .sub-menu-name .box .arr {color:#fff; font-size:18px;}
.sub-header .sub-menu-value {padding:40px 0 0 45px; min-height:363px; }
.sub-header .sub-menu-value ul {}
.sub-header .sub-menu-value ul li {margin-bottom:25px;}
.sub-header .sub-menu-value ul li a {color:#555555; font-size:16px; font-weight:600;}

.sub_header {background:#fff; display:block; position:absolute; left:-8px; width:100%;}
.sub_header .con {text-align:left;}
.sub_menu_wrap {display:flex;     justify-content: flex-end;  display: inline-block; font-size:0; padding-right:0; vertical-align: top; margin-left:-34px;}
.sub_menu_wrap .sub_menu_box {padding:15px 0 20px; display: inline-block; vertical-align: top; width:200px;}
.sub_menu_wrap .sub_menu_box .sub_menu {}
.sub_menu_wrap .sub_menu_box .sub_menu li {}
.sub_menu_wrap .sub_menu_box .sub_menu li a {font-size:16px; font-weight:600; color:#555555; padding:12px 0; text-align:center; display:inline-block; width:100%;}
.sub_menu_wrap .sub_menu_box .sub_menu li a:hover, .sub_menu_wrap .sub_menu_box .sub_menu li a.on {color:#0064F9;}


/* header .sub_menu_bg {position:absolute; display:none; left:0; top:101px; width:100%; height:350px; background:#fff;} */
header .gnb .sub_menu {display:block; position:absolute; left:0; top:100%; font-size:0; width:120px; background-color: rgba(0,0,0,90%); height: 0; overflow: hidden; width: 100%;}
header .gnb .sub_menu li{display: block; transition: 0.5s; height: auto; padding: 10px 0;}
header .gnb .sub_menu li:not(:last-child){
    border-bottom: 1px solid #555555;
}
header .gnb .sub_menu li a{
    font-size: 13px; font-weight: 300; line-height: 1.2; color: #fff;
}
header .gnb .sub_menu li:hover{
    background-color: #df1808; border-color: #df1808;
}
header .gnb .main_menu.sw-pu .sub_menu li:hover{
    background-color: #0064F9; border-color: #0064F9;
}
header .gnb .sub_menu .sub_menu_box {display:none;}

header.scroll .header-section-1, header.scroll .header-topbar {display:none;}
header.scroll .logo {margin-right:0;}
header.scroll .logo a {height:60px; display:flex; justify-content: center; align-items: center;}
header.scroll .header-section-2 .gnb {margin-left:0;}
header.scroll .sub_header .con{left: 300px;}


/* 헤더 삼등분 */
/*header .logo {position:absolute; left:37px; top:0;}*/
header .gnb {}
/*header .right_menu {position:absolute; right:0; top:0;}*/

/* 헤더 white */
/*header.white {background:#fff; border-bottom:1px solid #e1e1e1;}*/
/*header.white .logo .logo_img img.normal {display:none;}*/
/*header.white .logo .logo_img img.white {display:block;}*/
/*header.white .right_menu .lang_box .lang_tit .ic img.normal {display:none;}*/
/*header.white .right_menu .lang_box .lang_tit .ic img.white {display:block;}*/
/*header.white .gnb ul li a {color:#111;}*/
/*header.white .right_menu .lang_box .lang_tit .lang_name {color:#111;}*/
/*header.white .right_menu .link_box a {color:#111;}*/
/*header.white .right_menu .menu_box {background:none;}*/
/*header.white .right_menu .menu_box img.normal {display:none;}*/
/*header.white .right_menu .menu_box img.white {display:inline-block;}*/

/*header.mainwhite {background:#fff; border-bottom:1px solid #e1e1e1;}*/
/*header.mainwhite .logo .logo_img img.normal {display:none;}*/
/*header.mainwhite .logo .logo_img img.white {display:block;}*/
/*header.mainwhite .right_menu .lang_box .lang_tit .ic img.normal {display:none;}*/
/*header.mainwhite .right_menu .lang_box .lang_tit .ic img.white {display:block;}*/
/*header.mainwhite .gnb ul li a {color:#111;}*/
/*header.mainwhite .right_menu .lang_box .lang_tit .lang_name {color:#111;}*/
/*header.mainwhite .right_menu .link_box a {color:#111;}*/
/*header.mainwhite .right_menu .menu_box {background:none;}*/
/*header.mainwhite .right_menu .menu_box img.normal {display:none;}*/
/*header.mainwhite .right_menu .menu_box img.white {display:inline-block;}*/
header.white {background:#fff; border-bottom:1px solid #EEEEEE; /*border-bottom:none;*/}
header.white .logo .logo_img img.normal {display:none;}
header.white .logo .logo_img img.color {display:inline;}
header.white .gnb ul.main_menu li a {color:#444;}
header.white .lang-dropbox .lang-dropbox-name {color:#444;}

header.only-white {background:#fff; border-bottom:1px solid #EEEEEE; /*border-bottom:none;*/}
header.only-white .logo .logo_img img.normal {display:none;}
header.only-white .logo .logo_img img.color {display:inline;}
header.only-white .gnb ul.main_menu li a {color:#444;}
header.only-white .lang-dropbox .lang-dropbox-name {color:#444;}

.main_menu li:hover .sub-menu-value{display: block;}
.sub-menu-value {padding:40px 0 0 45px; display: none; background-color: #fff; position: absolute; width: 100%;}
.sub-menu-value ul {}
.sub-menu-value ul li {margin-bottom:25px;}
.sub-menu-value ul li a {color:#555555; font-size:16px; font-weight:600;}



/* [ 하단 푸터 및 상단 SNS 토글 레이어 팝업 ] */
.intro-footer-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1800px;
	padding-top: 30px;
	position: relative;
	z-index: 50;
}
.copyright {
	font-size: 13px;
	color: rgba(255,255,255,.7);
}
.sns-group {
	display: flex;
	align-items: center;
	gap: 10px;
	position: relative;
}
.sns-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 32px;
	font-size: 16px;
	cursor: pointer;
	opacity: 0.8;
	transition: all 0.2s ease-in-out;
	color: rgba(255,255,255,.8);
	background-color: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 50%;
}
.sns-btn:hover, .sns-btn.sns-active {
	opacity: 1;
	color: #555;
	background-color: rgba(255, 255, 255, 1);
	border-color: rgba(255,255,255,1);
	transform: scale(1.05);
}


/* [PC header : ver2.0(260617) :: Start  }*/
/* 헤더 전체 컨테이너 상단 고정 및 배경색 투명도 20% 지정 */
.header-wrap {
	position: fixed; /* fixed로 변경하여 상단 고정 */
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	transition: all 0.3s ease;
	background: rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
/* 스크롤 시 적용될 클래스 (투명도 70%) */
.header-wrap.scrolled { background: rgba(0, 0, 0, 0.7); /* 스크롤 내렸을 때 #000000 투명도 70% */}

/* 최상단 유틸바 */
.top-util-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 5px 40px;
	width: 100%;
	min-height: 50px;
	border-bottom: 1px solid rgba(255,255,255,.1);
}
.info-badge {
	display: flex;
	align-items: center;
	min-height: 34px;
	padding: 0 20px;
	font-size: 16px;
	color: rgba(255,255,255,.9);
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 20px;
}

/* BUSINESS / PUBLIC 버튼을 위한 a 태그 스타일 그룹 */
.top-change {
	display: flex;	
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.2);
	border-radius: 20px;
	padding: 4px;
}
.top-change .change-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 26px;
	padding: 4px 18px;
	font-size: 16px;
	font-weight: 700;
	color: #ddd;
	border-radius: 20px;
	cursor: pointer;
	text-align: center;
	transition: all 0.2s ease-in-out;
}
.top-change .change-btn:hover { color: #fff;}
.top-change .change-btn.active { color: #fff; background: #e61919;}
.top-public .change-btn.active { background: #0066ff;}

.right-utils {
	display: flex; 
	align-items: center; 
	gap: 40px;
}

/* 다국어 KR / EN 버튼을 위한 a 태그 스타일 그룹 */
.lang-select {
	display: flex;
	gap: 6px;
}
.lang-select .lang-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 32px;
	font-size: 16px;
	transition: all 0.2s ease-in-out;
	color: rgba(255,255,255,.8);
	background-color: rgba(255,255,255,.2);
	border-radius: 50%;
}
.lang-select .lang-btn:hover { color: #fff;}
.lang-select .lang-btn.active {
	color: #e61919;
	background: #fff;
}
.top-public .lang-select .lang-btn.active { color: #0066ff;}

/* 메인 네비게이션 영역 */
.main-nav-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 0 40px;
	height: 70px;
}

/* 로고 */
.top-logo-wrap a {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 8px;
}
.top-logo-wrap .logo-circle {
	width: 18px;
	height: 18px;
	background: linear-gradient(45deg, #e61919, #1946e6);
	border-radius: 50%;
}

/* gnb-wrap 메뉴 구조 */
.gnb-wrap {
	display: flex;
	align-items: center;
	height: 100%;
}
.gnb-wrap > li {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
}

/* 1Depth 기본 스타일 */
.gnb-wrap > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	padding: 5px 28px;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	transition: all 0.15s ease-in-out;
}

/* 마우스오버 시 네 면이 모두 둥글게 처리 */
.gnb-wrap > li:hover > a {
	background: #e61919;
	border-radius: 20px;
}
.gnb-public > li:hover > a { background: #0066ff;}

/* 2Depth 드롭다운 서브메뉴 - 말풍선 스타일 */
.gnb-wrap .submenu {
	display: none; 
	position: absolute;
	top: 70px; 
	left: 50%;
	min-width: 160px;
	padding: 15px 0 10px 0;
	transform: translateX(-50%);
	background: #ffffff;
	border: 2px solid #e61919; 
	border-radius: 10px; 
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.gnb-public .submenu { border: 2px solid #0066ff;}
/* 말풍선 화살표 구현 - 아웃라인 삼각형 (빨간색 선) */
.gnb-wrap .submenu::before, .gnb-wrap .submenu::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	border-style: solid;
	width: 0;
	height: 0;
	transition: all 0.1s ease-in-out;	
}
.gnb-wrap .submenu::before {
	top: -10px; 
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #e61919 transparent;
}
.gnb-public .submenu::before { border-color: transparent transparent #0066ff transparent}
/* 말풍선 화살표 구현 - 내부 채우기 삼각형 (흰색 배경) */
.gnb-wrap .submenu::after {
	top: -7px; 
	border-width: 0 9px 9px 9px;
	border-color: transparent transparent #ffffff transparent;
}
.gnb-wrap .submenu li a {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 40px;
	padding: 8px 10px;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	word-break: keep-all;
	text-align: center;
	transition: all 0.3s ease-in-out;
}
.gnb-wrap .submenu li a:hover {	
	color: #e61919;
	background-color: rgba(0,0,0,.05);
}
.gnb-public .submenu li a:hover { color: #0066ff;}
/* End :: [PC header : ver2.0(260617) }*/



/* [ mo_header } */
#mo_header { display:none; position:fixed; left:0; top:0; z-index:99; width:100%; transition: all 0.2s ease-in-out;}
#mo_header .logo {width:300px; margin-left:20px;}
#mo_header .logo img {max-width:100%;}
#mo_header .logo img.normal {}
#mo_header .logo img.white {display:none;}
#mo_header .flex-con {display:flex; justify-content: space-between; align-items: center; height:80px;}

.set_nav_btn {    justify-content: space-between; align-items: center; margin-right:20px; cursor:pointer; font-size:30px; color:#fff;}
/*.set_nav_btn {width:33px; height:100%; top:0px; right:15px; cursor: pointer; z-index: 30; position: absolute;}*/
.set_nav_btn .line {   width: 33px; height: 3px; top: 26px;   left: 0; background-color: #fff; position: absolute;}
.set_nav_btn .line + .line { top: 34px; position: absolute;}
.set_nav_btn .line + .line + .line { top:42px; position: absolute;}


#mo_menu {display:none; position:absolute;   top:0; right:-100%; transition:all 0.4s ease;-webkit-transition: all 0.4s ease; background:#fff; width:32.5%; z-index:101; height:100%;}
#mo_menu.open {right:0; overflow-y:scroll; overflow-x:hidden;}
#mo_menu .mo-menu-top {position:relative; display:flex; align-items: center; justify-content: space-between; padding:20px 3%;}
#mo_menu .logo {background:#fff; display: inline-block; vertical-align: top;}
#mo_menu .lang {display:flex; justify-content: flex-end;}
#mo_menu .lang a {font-size:18px; color:#444; line-height: 18px; font-weight: 500;}
#mo_menu .lang a.on {color: #DF1808;}
#mo_menu .lang.sw-pu a.on {color: #0066ff;}
#mo_menu .mo_close {cursor:pointer; position:absolute; top:26px; right:15px; font-size: 34px;}
#mo_menu .mo_close img {max-width:100%; height:auto;}
#mo_menu .logo .logo_img {display: inline-block; width:340px;}
#mo_menu .logo .logo_img img {max-width:100%; height:auto;}
#mo_menu .logo .logo_txt {color:#fff; font-size:16px; font-weight:400; display: inline-block; vertical-align: top; padding-top:13px; word-spacing:5px;}
#mo_menu .logo .logo_txt .ll {font-style:italic; color:#fff;}

.mo-flex-box {background-color: #ebebeb; padding: 20px 3%;}
.mo-flex-box .site-link ul li a{width: auto; font-size: 18px; font-weight: 500; color: #000; line-height: 18px;}
.mo-flex-box .site-link ul li:nth-child(1)::after{margin: 0 20px;}
.mo-flex-box .site-link ul li.on a{color: #df1808;}
.mo-flex-box.sw-pu .site-link ul li.on a{color: #0066ff;}
.mo-flex-box .lang ul li{margin: 0;}
.mo-flex-box .lang ul li a{padding: 0;}
.mo-flex-box .lang ul li:nth-child(2){margin: 0 20px;}

/* white mo_header */
#mo_header.mainwhite {background:none;}
#mo_header.mainwhite .logo img.normal {display:none;}
#mo_header.mainwhite .logo img.white {display:block;}
#mo_header.mainwhite .set_nav_btn .line {background:#000;}

#mo_menu .mo_menu_list {background:#fff; } 
#menu_ul {margin-top:15px; padding: 0 7%;}
#menu_ul li {border-bottom:1px solid #efefef; cursor:pointer; }
#menu_ul li.on {background:#fff;}
#menu_ul li .main_menu {text-align:left; height:100%; height:50px; position:relative;}
#menu_ul li .main_menu .link {display:inline-block; text-align:left; height:50px; position:absolute; left:0; top:0; width:100%; box-sizing:border-box;-moz-box-sizing:border-box; padding-right:92px; z-index:1;}
#menu_ul li .main_menu .link a {font-size:18px; font-weight:600; color:#333;  line-height: 54px; display:inline-block; width:100%; box-sizing:border-box;-moz-box-sizing:border-box; padding-left: 20px;}
#menu_ul li .main_menu .more {
    /* display:inline-block; vertical-align: top; float:right; position:relative; z-index:2; */
    position: absolute; right: 20px; top: 16px;
}
#menu_ul li .main_menu .more a {
    /* display:inline-block;  */
    padding-right: 20px;}
#mo_menu #menu_ul .sub_menu li a span.new_data { font-family: 'Montserrat Black' !important; font-size: 28px; color: #009fd7; margin-left: 2px;} /* NEW */
#menu_ul li.on .main_menu {background:#df1808;}
#menu_ul li.on .main_menu.sw-pu {background:#0066ff;}
#menu_ul li.on .main_menu .link a {color:#fff;}
#menu_ul li.on .main_menu .more i.open{display: none;}
#menu_ul li.on .main_menu .more i.close{display: block;}

#menu_ul li .sub_menu {display:none; background-color: #f7f7f7;}
#menu_ul li .main_menu_2 {text-align:left; height:100%; height:50px; position:relative;}
#menu_ul li .main_menu_2 .link a {font-size:18px; font-weight:600; color:#333;     line-height: 54px; padding-left: 7%;}
#menu_ul li .main_menu .more i.close{display: none; color: #fff; padding-right: 20px;}

/* #menu_ul li.on .sub_menu  {display:block;} */
#menu_ul li .sub_menu li {text-align:left;}
#menu_ul li .sub_menu li a {line-height:54px; font-size:18px;     padding-left: 45px;    width: 100%;    box-sizing: border-box;color:#333;}

#menu_ul li .sub_menu li a.on {font-size:28px;   color:#009fd7; }
#mo_menu .mo_down_btn { border-radius:5px; box-sizing:border-box;-moz-box-sizing:border-box; padding:0 15px; background:#f0f0f0; margin-top:45px; }
#mo_menu .mo_down_btn a {color:#fff; font-size:28px; line-height:90px;   display:inline-block; width:100%;background:#72bb2a; border-radius:5px;-moz-border-radius:5px; -ebkit-border-radius:5px;}
#mo_menu .mo_down_btn img {margin:0 10px; position:relative; bottom:5px;}
#mo_menu .menu_footer {width:100%; box-sizing:border-box;-moz-box-sizing:border-box; padding:0 20px; text-align:left; font-size:21px; color:#555555; line-height:29px; margin-top:80px; margin-bottom:30px;}
#mo_menu .m_footer_link {width:100%; padding:0 20px; box-sizing:border-box;-moz-box-sizing:border-box; margin-top:50px;}
#mo_menu .m_footer_link ul {width:100%; display:inline-block;}
#mo_menu .m_footer_link ul li {width:50%; float:left; text-align:left;}
#mo_menu .m_footer_link ul li a {font-size:36px;   line-height:120px; display:inline-block; text-align:left;}
#mo_menu .menu_footer .tel {margin-right:75px;}
#mo_menu .menu_footer .ftext {position:relative;}
#mo_menu .menu_footer span a {color:#555555; position:relative; margin-left:25px; display:inline-block;}
#mo_menu .menu_footer span span.lineh {width:1px; height:18px; background:#999999; display:inline-block; position:absolute; left:45px; top:7px;}


#mo_menu .etc_menu {margin-top:50px;}
#mo_menu .etc_menu ul {display: flex; align-items: center; justify-content: center; gap: 15px;}


.mo_bb {display:none; z-index:100; background:rgba(0,0,0,0.5); width:100%; height:100%; position:fixed; left:0; top:0; cursor:pointer;}
.mo_bb.open {display:block;}

/* allmenu */
#allmenu {position:fixed; width:100%; height:100%; z-index:9999; left:0; top:0; background:#1e5cb9; display:none;}
#allmenu .con {font-size:0; width:1200px; margin:0 auto; position:absolute; left:0; top:0; bottom:0; right:0; height:50%; margin:auto;}
#allmenu dl {width:25%; display: inline-block;vertical-align: top; border-right:1px solid #608bcc; padding-left:40px; height:100%;}
#allmenu dl:last-child {border-right:none;} 
#allmenu dt {font-family: 'Roboto', sans-serif; color:#fff; font-size:42px; font-weight:400; margin-bottom:35px;}
#allmenu dt a {}
#allmenu dd {display: inline-block; width:100%;}
#allmenu dd a {color:#fff; font-size:22px; font-weight:300; line-height:60px;}
#allmenu dd ul {}
#allmenu dd ul li {display: inline-block; width:100%;}
#allmenu dd ul li a {display: inline-block; color:#b7d0f0; font-size:20px; font-weight:400; line-height:36px;}
#allmenu .close {position:absolute; right:135px; top:90px; cursor:pointer;}



/* footer */
.section05 {height:401px !Important;}
.section05 .fp-tableCell {height:401px !Important;}
#footer { border-top:1px solid #DDDDDD;}
#footer .con {}
#footer .footer-1 {background:#fff; padding:45px 0;} 
#footer .footer-1 .con {display:flex; justify-content: space-between; align-items: flex-start;}
#footer .footer-1 .flogo {display: inline-block;}
#footer .footer-1 .flogo img {max-width:100%;}
#footer .footer-1 .left { 
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 70px;
}
#footer .footer-1 .left .txt-1 {color:#222222; font-size:14px; font-weight:500; line-height:1.5;}
#footer .footer-1 .left .txt-2 {color:#666666; font-size:14px; margin-top:20px;}
#footer .footer-1 .right {}
#footer .footer-1 .map-info {margin-top:60px;}
#footer .footer-1 .map-info dl {}
#footer .footer-1 .map-info dl dd {color:#aaaaaa; font-size:16px; font-weight:300; margin-bottom:25px;}
#footer .footer-1 .map-info dl dd span {color:#666666; margin-right:10px;}
#footer .footer-1 .fsitemap {}
#footer .footer-1 .fsitemap dl {display: inline-block; vertical-align: top; margin:0 35px;}
#footer .footer-1 .fsitemap dt {margin-bottom:27px; text-align:center;}
#footer .footer-1 .fsitemap dt a {font-family: 'Montserrat', serif; font-weight:400; font-size:16px; color:#fff;}
#footer .footer-1 .fsitemap dd {margin-bottom:22px; text-align:center;}
#footer .footer-1 .fsitemap dd a {font-size:16px; font-weight:300; color:#fff; opacity:0.65;}
#footer .footer-1 .policy-view ul { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; gap: 10px;}
#footer .footer-1 .policy-view ul li a { display: inline-block; min-height: 30px; padding: 5px 15px; font-size: 14px; font-weight: 400;
	color: #555; background-color: #fafafa;	border: 1px solid #ddd;
}
#footer .footer-1 .policy-view ul li a:hover { color: #000; border-color: #000;}
#footer .footer-2 {background:#121214;}
#footer .footer-2 .con {display:flex; justify-content: space-between;}
#footer .footer-2 .copyright {font-size:14px; color:#BBBBBB; line-height:50px; height:50px;}
#footer .footer-2 .copyright span {font-weight:400;}
#footer .footer-2 .flink {font-size:0;}
#footer .footer-2 .flink li {display: inline-block; position:relative;}
#footer .footer-2 .flink li::after {content:""; background:#393939; width:1px; height:15px; position:absolute; right:0; top:17px;}
#footer .footer-2 .flink li:last-child::after {content:none;}
#footer .footer-2 .flink li a {font-size:14px; color:#999999; padding:0 24px; line-height:50px;}


#footer.common-style .footer-1 {background:#F9F9F9;}
#footer.common-style .footer-1 .flogo .normal {display:none;}
#footer.common-style .footer-1 .flogo .gray {display:block;}
#footer.common-style .footer-2 {background-color: #fff;}
#footer.common-style .footer-1 .fsitemap dt a {color:#444444; opacity: 1;}
#footer.common-style .footer-1 .fsitemap dd a {color:#666666; opacity: 0.65;}
#footer.common-style .footer-2 .flink li::after {background:#ddd;}

/* 22-07-06 푸터수정 */
#footer.r2 {padding-bottom:40px; border-top:1px solid #DDDDDD;}
#footer.r2.page-6 {background:#FBFBFB;}
#footer.r2 .footer-1 {background:none; padding:40px 0 40px;}
#footer.r2 .footer-2 {background:none;}
#footer.r2 .footer-2 .flink li a {color:#666666; font-size:15px;}
#footer.r2 .footer-2 .flink li:first-child a {color:#FF9900; padding-left:0;}
#footer.r2 .footer-2 .flink li::after {background:#DDDDDD;}
#footer.r2 .footer-3 .copyright {color:#999999; font-size:14px; font-weight:200; letter-spacing:0;}
#footer.r2 .footer-3 .copyright span {font-weight:400;}


.error-404-wrap {text-align:center; padding:100px 0;}
.error-404-wrap h1 {font-size:30px;}
.error-404-wrap h2 {font-size:200px;}
.error-404-wrap p {font-size:30px; font-weight:700;}
.error-404-wrap button {}

.btn-wrap {margin:40px 0;}
.btn-wrap.left {text-align:left;}
.btn-wrap.right {text-align:right;}
.btn-wrap.center {text-align:center;}
.btn-wrap .button-white {border:1px solid #CCCCCC; border-radius:5px; text-align:center; font-size:13px; line-height:18px; padding:5px 30px; color:#999999; background:none; outline:none; cursor:pointer;}

.scrolltop { position: fixed; right: 40px; bottom: 40px; display: none; z-index: 9999; cursor: pointer; }

.tbl-tx table {table-layout:fixed; border:1px solid #222222; width: 1050px;}
.tbl-tx table th {background:#FBFBFB; font-size:18px; font-weight:600; color:#333; border-bottom: 1px solid#222222; padding: 15px; vertical-align: middle;}
.tbl-tx table td {font-weight:500; color:#444; font-weight:500; font-size:18px; line-height:30px; text-align: center; padding: 15px;}
.tbl-tx table th:not(:last-child),
.tbl-tx table td:not(:last-child){border-right: 1px solid #222222; vertical-align: middle;}


.sp-tab-content { display: none; margin: 45px 0; }
.sp-tab-content.active { display: block; }
.sp-tab-btns {display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;}
.sp-tab-btns button { background-color: #fff; border: 1px solid #0066FF; padding: 15px 0; transition: all 0.5s ease-in; min-width: 185px; font-size: 26px; border-radius: 30px;}
.sp-tab-btns.ds button  {min-width: 120px;}
.sp-tab-btns button:hover,
.sp-tab-btns button.active{background-color: #0066ff; color: #fff; cursor: pointer;}
.alt-section { display:flex; margin-bottom:20px; align-items: stretch; width: 100%; max-width: 100%;}
.alt-section.reverse { flex-direction:row-reverse; }
.alt-section-img { flex:0 0 45%; text-align:center; 
    justify-content: center; align-items: stretch;}
.alt-section-img img { max-width:100%; width: 100%; height:100%; display: block;object-fit: fill;}
.alt-section-content { flex:0 0 55%;
    display: flex; flex-direction: column; }
    .alt-section.reverse .alt-section-title {text-align:right;}
.alt-section-title { font-size:25px; font-weight:bold; background-color: #0066FF; padding: 20px 30px; color: #fff; display: inline-block; width: 100%; flex-shrink: 0;}
.alt-section-desc { font-size:16px; color:#444; padding: 30px; background-color: #f7f7f7; word-break: keep-all; line-height: 1.5; flex: 1 1 auto; display: flex; align-items: center; min-height: 0;}
.alt-section-desc span{font-weight: bold; word-break: keep-all;}
.alt-section-desc p{word-break: keep-all;}
.cp-Specifications.en {gap: 10px;}
.cp-Specifications{display: flex; justify-content: space-between; flex-wrap: wrap; align-items: stretch; min-height: 210px; gap: 40px;}
.cp-Specifications .spec-item { flex: 1 1 auto; min-width: 395px; 
    display: flex; flex-direction: column; align-items: stretch; justify-content: stretch;
     min-height: 210px; 
}
.cp-Specifications .spec-item table{flex: 1 1 auto;}
.cp-Specifications .spec-item.img{border: 1px solid #eee;}
.cp-Specifications .spec-item img {
    flex: 1 1 auto;
    height: 100%;
    max-height: 100%;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cp-Specifications .spec-item img {width: auto;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    margin: 0 auto;
    display: block;
}
.sp-members-link{ text-align: center; margin: 45px 0;}
.sp-members-link a{ background-color: #0066FF; color: #fff; font-size: 20px; font-weight: 700; padding: 10px 30px;}
.sp-tab-content .s1 table{width: 100%;}
.sp-tab-content .s1 table td{text-align: center;}
.sp-tab-content .s1 {overflow-x: hidden;}

.sp-list{
    display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 20px; margin-bottom: 60px;
}
.hero-section {
    position: relative;
    width: calc(50% - 20px);
    height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0; top: 0;
    z-index: 1;
}
.hero-gradient{
    position: relative;
    z-index: 3;
    padding: 30px;
    width: 100%;
}
.hero-gradient::before {
    content: "";
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    pointer-events: none;
    z-index: 0;
}
.hero-title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
    word-break: keep-all;
    margin-bottom: 10px;
    /* text-shadow: 3px 3px 2px #000; */
}
.hero-desc {
    font-size: 16px;
    line-height: 1.5;
    position: relative;
    word-break: keep-all;
    /* text-shadow: 3px 3px 2px #000; */
}
.hero-gradient > * {
    position: relative;
    z-index: 1;
}
.hero-desc::before {
    content: '·'; padding-right: 5px; 
}
.hero-content {
    width: 100%; position: relative; z-index: 2; color: #fff; text-align: center; display: flex; flex-direction: column;  box-sizing: border-box; height: 100%; overflow: hidden;}
.hero-section:nth-child(1) .hero-content{justify-content: start; align-items: start; text-align: left;}
.hero-section:nth-child(2) .hero-content{justify-content: start; align-items: end; text-align:right;}
.hero-section:nth-child(3) .hero-content{justify-content: end; align-items: start; text-align: left;}
.hero-section:nth-child(4) .hero-content{justify-content: end; align-items: end; text-align: right;}
.hero-section:nth-child(1) .hero-content .hero-gradient::before,
.hero-section:nth-child(2) .hero-content .hero-gradient::before{background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 40%,  rgba(0,0,0,0) 100%);}
.hero-section:nth-child(3) .hero-content .hero-gradient::before,
.hero-section:nth-child(4) .hero-content .hero-gradient::before{background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.5) 40%,  rgba(0,0,0,0) 100%);}


/* AOS Hidden */
.aos-hidden { overflow: hidden;}


/* [ 모달팝업 : 이용약관, 개인정보보호정책 ] ------------------------------------- */
/* 모달 전체 배경 오버레이 */
.modal {
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 20px 20px;
    overflow-y: auto;     
    background-color: rgba(0, 0, 0, 0.4);
    
    /* 변경: 항상 flex 구조를 유지하되 투명도로 제어 */
    display: flex;
    justify-content: center; 
    align-items: center;     
    
    /* 부드러운 페이드 효과 추가 */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* 모달 활성화 상태 */
.modal.active { 
    opacity: 1;
    visibility: visible;
}

/* 모달 흰색 창 콘텐츠 박스 */
.modal-content {
    display: flex;
    flex-direction: column; 
    margin: 0; 
    min-height: 400px;
    flex-shrink: 0;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 10px; 
    overflow: hidden;

    /* 추가: 창이 위에서 아래로 미끄러지듯 내려오는 효과 */
    transform: translateY(-30px);
    transition: transform 0.3s ease;
}

/* 모달이 켜질 때 내부 창 위치 복원 */
.modal.active .modal-content {
    transform: translateY(0);
}

.modal-header {
    display: flex;
    justify-content: space-between; 
    align-items: center;
    margin-bottom: 15px; 
    flex-shrink: 0; 
}

/* 우측 상단 닫기 버튼 */
.close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 40px;
    cursor: pointer;
    line-height: 1; 
    margin-left: 20px; 
    color: rgba(255, 255, 255, 0.5); /* 가시성을 위해 어두운 톤으로 임시 조정 (원하시면 변경 가능) */
    transition: all 0.3s ease-in-out;
    z-index: 1010;
}
.close-btn:hover, .close-btn:focus {
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    cursor: pointer;
}

#modal-body-content {}
.modal-ag-wrap {
    max-height: 80vh;
    flex-grow: 1; 
    overflow-y: auto;
}
#modal-body-content form {}
.modal-ag-title {
	position: relative;
    padding: 15px;
    font-size: 20px;
	font-weight: 500;
    text-align: center;
	color: #fff;
	background-color: #0a2540;
    border-bottom: 1px solid #ddd;
}
.modal-ag-title .modal-inner-close {
	float: right;
	cursor:pointer;
	color: rgba(255,255,255,.5);
}
.modal-ag-title .modal-inner-close:hover { color: rgba(255,255,255,1);}
.modal-ag-text {
    padding: 15px;
    font-size: 14px;
    font-weight: 400;
}
.modal-content-wrap {
    width: 100%;
    max-width: 960px;
}
.modal-content.modal-contact-form { 
    width: 80%;
    min-height: 70vh; 
}
.modal-content.modal-quick-info {
    width: 25%;
    max-width: 300px;
    padding: 15px;
}
.privacy-wrap, .privacy-wrap h5 { 
    font-size: 16px;
    line-height: 1.3em;
}
/* End : [ 모달팝업 : 이용약관, 개인정보보호정책 ] ------------------------------- */


/* [ 모달팝업 : 모달팝업 - 다운로드 정보 수집 팝업 ] ------------------------------- */
.custom-md-overlay {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 15px;
    z-index: 9999;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    background-color: rgba(0, 0, 0, 0.6);
}
	/* 모달 활성화 되었을 때 */
.custom-md-overlay.custom-md-show {
    opacity: 1;
    visibility: visible;
}
	/* 모달 다이얼로그 창 원형 */
.custom-md-wrapper {
    width: 100%;
    max-width: 640px;
	max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;    
    /* 서서히 커지면서 띄워지는 애니메이션 효과 */
    transform: scale(0.95);
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
	/* 모달이 열릴 때 창의 스케일 복원 */
.custom-md-overlay.custom-md-show .custom-md-wrapper { transform: scale(1);}
	/* 헤더 스타일 */
.custom-md-header {
	position: relative;
    display: flex;
    justify-content: center;
    flex-shrink: 0;
    align-items: center;
    padding: 13px;
	background-color: #0a2540;
}
	/* 우측 상단 닫기 X 버튼 */
.custom-md-header .custom-md-close-btn {
	position: absolute;
	top: 50%;
	right: 20px;
    padding: 0;
    font-size: 40px;
    line-height: 1;
    cursor: pointer;
	transform: translateY(-50%);
    transition: all 0.2s ease-in-out;
    color: #999999;
    background: none;
    border: none;
}
.custom-md-header .custom-md-close-btn:hover { color: #ddd;}
	/* 바디 (내부 스크롤 포함) */
.custom-md-body {
    padding: 20px;
    flex-grow: 1;
	overflow-y: auto;
    box-sizing: border-box;
}
.custom-md-content-inner {
    font-size: 15px;
    line-height: 1.6;
    color: #555555;
}

/* [PC/모바일 공통] 컨테이너 가변형 설정 */
.form-header { text-align: center;}
.form-header h2 {
	margin-bottom: 8px;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
}
.form-header p {
	font-size: 14px;
	word-break: keep-all; /* 문맥별 자동 줄바꿈 */
	color: #ddd;
}
.input-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 20px;
	margin-bottom: 24px;
}
.form-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.form-group.full-width { grid-column: span 2;}
.form-group label {
	font-size: 14px;
	font-weight: 600;
	color: #0a2540;
}
.form-group label .required, .consent-area label .required {
	margin-left: 4px;
	color: #ff4a5a;
}
.form-group input, .form-group select {
	width: 100%;
	padding: 8px 15px;
	font-size: 15px;
	transition: all 0.2s ease;
	outline: none;
	background-color: #fff;
	box-sizing: border-box;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
}
.form-group input:focus, .form-group select:focus {
	border-color: #0a2540;
	box-shadow: 0 0 0 3px rgba(10, 37, 64, 0.1);
}
.terms-box {
	padding: 16px;
	background-color: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
}
.terms-text {
	max-height: 100px;
	padding-right: 8px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.4;
	overflow-y: auto;
	color: #4a5568;
}
.terms-text p { margin-bottom: 8px;}
.terms-text ul {
	list-style: none;
	margin-bottom: 8px;
}
.terms-text li {
	position: relative;
	margin-bottom: 4px;
	padding-left: 12px;
}
.terms-text li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: #a0aec0;
}
.consent-area {
	border-top: 1px dashed #aaa;
	padding-top: 10px;
}
.consent-area > h4 { 
	position: relative;
	margin-bottom: 5px;
	padding-left: 15px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}
.consent-area > h4 b {
	position: absolute;
	left: 0;
	top: 2px;
}
.checkbox-label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 500;
	color: #333333;
	cursor: pointer;
	line-height: 1.4;
	user-select: none;
}
.checkbox-label input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: #0a2540;
	cursor: pointer;
	flex-shrink: 0;
}
/* 하단 버튼 */
.custom-md-footer { padding: 0 20px 20px;}
.btn-group {
	display: flex;
	gap: 12px;
}
.btn-common {
	flex: 1;
	padding: 14px;
	border: none;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s;
	text-align: center;
}
.btn-submit {
	background-color: #0a2540;
	color: #ffffff;
}
.btn-submit:hover {	background-color: #123456;}
.btn-close {
	background-color: #e2e8f0;
	color: #4a5568;
}
.btn-close:hover {	background-color: #cbd5e1;}
@media (max-width: 600px) {
	.input-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.form-group.full-width { grid-column: span 1;} /* 구분의 full-width 속성도 1단에 맞춤 */
	.checkbox-label {
		align-items: flex-start;
		font-size: 13px;
	}
	.checkbox-label input[type="checkbox"] { margin-top: 2px;}	
}
@media (max-width: 786px) {
	.custom-md-header .custom-md-close-btn { right: 10px;}
    .custom-md-overlay { padding: 0;} /* 모바일에서는 여백을 없애 풀스크린에 가깝게 만듦 */    
    .custom-md-wrapper {
        max-width: calc(100% - 40px);
        height: calc(100% - 40px); /* 모바일 환경에서는 꽉 차는 팝업 형태로 변형 가능 */
        max-height: 100vh;
        border-radius: 0; /* 라운드 제거 */
    }
    .custom-md-header { padding: 16px;}
    .custom-md-body { padding: 16px;}    
    .custom-md-footer { padding: 12px 16px;}
	.form-group input, .form-group select { padding: 6px 15px;}
}


/* [ 인버팅 퀵메뉴 컨테이너 ] ---------------------------------------------- */
.quick-menu-wrap {
	position: fixed;
	right: 30px;
	top: 50%;
	display: flex;
	flex-direction: column;
	overflow: hidden; 
	width: 100px; 
	transform: translateY(-50%);
	z-index: 99;
	background: #ffffff;
	border: 3px solid #df1808;
	border-radius: 100px; /* 조금 더 트렌디하고 날렵한 라운딩 */      
	box-shadow: 0 5px 25px 0 rgba(0, 0, 0, 0.1), 0 2px 7px rgba(0, 0, 0, 0.2);
}
/* 각 아이템 기본 스타일 */
.quick-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;      
	color: #334155; 
	z-index: 1;
	height: 140px; 
	overflow: hidden;
}
/* [효과 1] 원형으로 번지는 인버트 원경 (Circle Expand) */
.quick-item::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 120px;
	height: 120px;
	background: #ef2525;
	border-radius: 50%;      
	/* 중심에서부터 원형으로 커지도록 세팅 */
	transform: translate(-50%, -50%) scale(0);
	z-index: -1;
	transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
}
/* 아이콘 박스 기본 세팅 */
.quick-item .icon-box {
	font-size: 36px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1), color 0.3s ease, scale 0.3s ease;
}    
/* 텍스트가 위아래로 움직일 액자틀 */
.quick-item .btn-txt-frame {
	position: relative;
	height: 40px; /* 2줄 문구 높이에 맞춤 */
	overflow: hidden;
}
/* 실제 이중 레이아웃 구조 */
.quick-item .txt-group {
	display: flex;
	flex-direction: column;
	transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}
.quick-item .btn-txt {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.03em;
	text-align: center;
	height: 40px; /* 프레임과 동일하게 */
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.3s;
}
/* 복제되어 밑에 숨어있을 강조 텍스트 */
.quick-item .btn-txt.clone {
	font-weight: 800;
	color: #ffffff;
}

/* 1. 배경 원형 확장 */
.quick-item:hover::before { transform: translate(-50%, -50%) scale(1.5);}

/* 2. 기본 아이콘 색상 변경 및 살짝 위로 이동 */
.quick-item:hover .icon-box { color: #ffffff; transform: translateY(-2px) scale(1.1);}

/* 3. 글자 롤링 (기본 글자는 위로 밀리고, 흰색 복제 글자가 아래에서 등장) */
.quick-item:hover .txt-group { transform: translateY(-40px);}

/* 일반 아이템 간 가벼운 경계 구분선 */
.quick-item:not(:last-child)::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 20%;
	width: 60%;
	height: 1px;
	background-color: rgba(160,160,160,.5);
}
.quick-item:hover::after { opacity: 0; }
@media screen and (max-width: 1024px) {
	.quick-menu-wrap { display: none;}
}
/* End : [ 인버팅 퀵메뉴 컨테이너 ] ---------------------------------------- */

