/* 초기화 */
*,*::before,*::after {
	margin:0;
	padding:0;
	box-sizing:border-box;
}
html::-webkit-scrollbar {
	display:none;
}
/*html{-ms-overflow-style:none;scrollbar-width: none;}*/
html {
	min-width:1200px;
	/* 추가:최소 너비 1200px로 설정 */
	overflow-x:auto;
	/* 변경:기본값을 auto로 설정 */
	color:#222;
	font-family:'Pretendard Variable',sans-serif;
	letter-spacing:-0.01em;
	word-break:keep-all;
	word-wrap:break-word;
	box-sizing:border-box;
	-webkit-overflow-scrolling:touch;
	-webkit-tap-highlight-color:transparent !important;
	animation:entry .3s ease forwards;
	opacity:0;
}
html::-webkit-scrollbar {
	display: none;
}
/* 768px 초과 ~ 1200px 이하:가로 스크롤 표시 */
@media screen and (max-width:1200px) and (min-width:769px) {
	html {
		overflow-x:auto;
	}
	html::-webkit-scrollbar {
		display:block;
		height:8px;
	}
	html::-webkit-scrollbar-track {
		background:#f1f1f1;
	}
	html::-webkit-scrollbar-thumb {
		background:#888;
		border-radius: 4px;
	}
}
/* 768px 이하:모든 스크롤 숨김 */
@media screen and (max-width:768px) {
	html {
		min-width:100%;
		overflow-x:hidden;
	}
}
a {
	color:inherit;
	outline:none;
	text-decoration:none;
}
ol,ul,li {
	list-style:none;
}
b,strong {
	font-weight:700;
}
img {
	max-width:100%;
}
button {
	font-family:inherit;
	border:none;
	outline:none;
	cursor:pointer;
	color:inherit;
	-webkit-appearance:none;
	background:none;
}
select {
	outline:none;
	border:1px solid transparent;
	font-family:inherit;
	-webkit-appearance:none;
	appearance:none;
	font-size:16px;
	background-color:#fff;
}
input,textarea {
	font-family:inherit;
	outline:none;
	font-size:16px;
	border:1px solid transparent;
}
:focus {
	outline:none;
}
::placeholder {
	color:#888888;
}
em,i {
	font-style:normal;
}
:root {
	--main-color:#004F9F;
	--sub-color:#12A538;
	--dark-color:#2E2F3B;
	--box-color:#F4F7FA;
	--red-color:#FF383C;
	--gray-color:#E0E9F1;
}
@-webkit-keyframes entry {
	to {
		opacity:1;
	}
}
@keyframes entry {
	to {
		opacity:1;
	}
}
@media screen and (max-width:768px) {
}
@media screen and (max-width: 576px) {
}
/* 블라인드 */
.blind {
	overflow:hidden;
	position:absolute;
	width:1px;
	height:1px;
	clip:rect(1px,1px,1px,1px);
}
.clear {
	clear: both;
}
.d-block {
	display: block;
}
.md {
	display:block;
}
@media screen and (max-width:1200px) {
	.md {
		display: none;
	}
}
/* 버튼 */
.btn {
	display:inline-flex;
	justify-content:space-between;
	align-items:center;
	width:100%;
	padding:0px 30px;
	border-radius:10px;
	-webkit-transition:all .4s ease;
	transition:all .4s ease;
	font-size:20px;
}
.btn i {
	display:inline-block;
	width:26px;
	height:16px;
	background:url('../img/icon/ico_arr01.png') no-repeat center;
	-webkit-transition:all .4s ease;
	transition:all .4s ease;
}
@media screen and (min-width:1201px) {
	.btn:hover i {
		transform:translateX(15px);
	}
}
@media screen and (max-width:1200px) {
	.btn {
		font-size:18px;
	}
}
@media screen and (max-width:1024px) {
	.btn {
		padding:0px 20px;
	}
	.btn i {
		width:22px;
		background-size:22px auto;
	}
}
@media screen and (max-width:768px) {
	.btn {
		font-size:16px;
	}
}
@media screen and (max-width:576px) {
	.btn {
		padding:0px 16px;
		font-size:14px;
	}
	.btn i {
		width:17px;
		background-size: 17px auto;
	}
}
/* 컨테이너 */
.container {
	min-width:1200px;
	max-width:1200px;
	width:100%;
	padding:0 20px;
	margin: 0 auto;
}
/* 모바일 (768px 이하) */
@media screen and (max-width:768px) {
	.container {
		min-width: 100%;
	}
}
/* 상단 */
#header {
	position:relative;
	top:0;
	left:0;
	width:100%;
	z-index:100;
	background-color:#ffffff;
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
	border-bottom:1px solid #ddd;
	min-width:1200px;
}
#header .h-inner {
	position:relative;
	display:flex;
	justify-content:center;
	z-index:10;
	height:120px;
	margin:0 auto;
	padding:0 60px;
}
#header .h-background {
	overflow:hidden;
	position:absolute;
	top:0px;
	left:50%;
	transform:translateX(-50%);
	width:200vw;
	height:80px;
	background:#fff;
	opacity:1;
	visibility:visible;
	z-index:5;
	transition:all 0.3s ease;
	display:none;
}
#header .h_logo {
	position:absolute;
	top:20px;
	left:60px;
	width:113px;
	height:80px;
	z-index:90;
}
#header .h_logo a {
	display:block;
	width:100%;
	height:100%;
	background:url("../img/common/logo.svg") no-repeat center;
}
.bg_gnb {
	position:absolute;
	left:0;
	top:120px;
	height:220px;
	background:#fff;
	width:100%;
	z-index:9;
	opacity:0;
	visibility:hidden;
	border-top:1px solid #e5e5e5;
	border-bottom:1px solid #ddd;
	transition:all 0.3s ease;
}
#header:hover .bg_gnb {
	opacity:1;
	visibility:visible;
}
#header .menu {
	text-align:left;
	font-size:0;
	z-index:999;
}
#header .h_menu {
	display:flex;
	margin:0 auto;
}
#header .h_menu .h_menu__li {
	position:relative;
	display:inline-block;
	padding:0 40px;
	color:#222;
}
#header .h_menu .h_menu__li .h_menu__link {
	display:block;
	position:relative;
	line-height:120px;
	font-size:24px;
	color:#222;
	font-weight:500;
}
#header .h_menu .h_menu__li:hover>a::before,#header .h_menu .h_menu__li>a:focus:before {
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:4px;
	background: #004F9F;
}
/* 2depth 메뉴 - 헤더 호버 시 모두 표시 */
#header .h_menu .h_menu__li .h_submenu {
	display:none;
	position:absolute;
	top:120px;
	left:50%;
	transform:translateX(-50%);
	white-space:nowrap;
	z-index:10;
}
#header:hover .bg_gnb {
	opacity:1;
	visibility:visible;
}
#header:hover .h_menu .h_menu__li .h_submenu,#header .h_menu .h_menu__li.active .h_submenu {
	padding-top:20px;
	display:flex;
	flex-direction:column;
}
#header .h_menu .h_menu__li .h_submenu li {
	display:block;
}
#header .h_menu .h_menu__li .h_submenu li a {
	text-align:center;
	display:block;
	padding: 5px;
	line-height:20px;
	font-size:16px;
	color:#222;
	white-space:nowrap;
}
#header .h_menu .h_menu__li .h_submenu li a:hover,#header .h_menu .h_menu__li a:focus {
	color:#227fc4;
}
#header .h_mobile {
	display:none;
	position:absolute;
	top:0;
	right:0;
	width:70px;
	height:70px;
	z-index:100000;
}
#header .h_mobile__btn {
	display:inline-block;
	position:relative;
	width:100%;
	height:100%;
	background:none;
	border:none;
	cursor:pointer;
	padding:0;
}
#header .h_mobile__btn span {
	position:relative;
	margin:0 auto;
	top:0%;
	transform:translateY(-50%);
}
#header .h_mobile__btn span::before,#header .h_mobile__btn span::after {
	content:"";
	position:absolute;
}
#header .h_mobile__btn span,#header .h_mobile__btn span::before,#header .h_mobile__btn span::after {
	display:block;
	width:25px;
	height:3px;
	background-color:#141414;
}
#header .h_mobile__btn span::before {
	margin-top:-8px;
	-webkit-transition-property:margin,-webkit-transform;
	transition-property:margin,transform;
	-webkit-transition-duration:0.2s;
	transition-duration:0.2s;
	-webkit-transition-delay:0.2s,0s;
	transition-delay:0.2s,0s;
}
#header .h_mobile__btn span::after {
	margin-top:8px;
	-webkit-transition-property:margin,-webkit-transform;
	transition-property:margin,transform;
	-webkit-transition-duration:0.2s;
	transition-duration:0.2s;
	-webkit-transition-delay:0.2s,0s;
	transition-delay:0.2s,0s;
}
#header .h_mobile__btn[aria-pressed="true"] span {
	background-color:rgba(0,0,0,0) !important;
	-webkit-transition-delay:0.2s;
	transition-delay:0.2s;
}
#header .h_mobile__btn[aria-pressed="true"] span::before {
	margin-top:0;
	background-color:#222;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	-webkit-transition-delay:0s,0.2s;
	transition-delay:0s,0.2s;
}
#header .h_mobile__btn[aria-pressed="true"] span::after {
	margin-top:0;
	background-color:#222;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	-webkit-transition-delay:0s,0.2s;
	transition-delay:0s,0.2s;
}
#header .h_nav {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	padding:0 15px 0px;
	background-color:#fff;
	opacity:0;
	visibility:hidden;
	z-index:49;
	-webkit-transition:all 0.4s ease;
	transition:all 0.4s ease;
	pointer-events:none; /* 메뉴 닫혔을 때 이벤트 비활성화 */
}
#header.mobileOn .h_nav {
	pointer-events:auto; /* 메뉴 열렸을 때 이벤트 활성화 */
}
#header .nav_menu__li {
	position:relative;
}
#header .nav_menu__link {
	display:block;
	position:relative;
	padding:20px 0;
	font-size:18px;
	line-height:1;
}

#header .nav_submenu {
  opacity: 0;          /* 투명도 0 */
  visibility: hidden;  /* 숨김 */
  max-height: 0px;
}
#header .nav_submenu li {
	margin-top:15px;
}
#header .nav_submenu a {
	font-size:15px;
}


/* 열렸을 때만 표시 */
#header .nav_menu__link.on + .nav_submenu {
  max-height: 260px;
  opacity: 1;          /* 불투명 */
  visibility: visible; /* 표시 */
}
.top-login {
	position:absolute;
	float:right;
	top:40px;
	right:60px;
	z-index:99;
}
.top-login ul {
	display:flex;
	align-items:center;
}
.top-login ul li a {
	color:#444;
	padding:0 10px;
}
.top-login ul li a:hover {
	color:#004F9F;
}
.top-login ul li a.top-login__btn {
	background-color:#004F9F;
	color:#fff;
	display:block;
	margin:0 10px;
	padding:10px 20px;
	cursor:pointer;
	border-radius:30px;
	color:#fff;
	font-size:18px;
	border:none;
}
@media screen and (max-width:1200px) {
	.top-login ul li a {
		display:none;
	}
	.top-login ul li a.top-login__btn {
		display:block;
		font-size: 16px;
	}
}
/* 모바일용만 분리 */
@media screen and (max-width:768px) {
	#header {
		width:100%;
		position:fixed;
		min-width:100%;
	}
	#header .h-inner {
		background:#fff;
		height: 70px;
		z-index:99;
	}
	#header .h_logo {
		position:absolute;
		top:10px;
		left:10px;
		width:60px;
		height:50px;
	}
	#header .h_logo a {
		background-size:contain;
	}
	#header .h_nav {
		top: 70px;
		height:calc(100vh - 70px);
		overflow-y:scroll;
	}
	#header .nav_submenu {
	max-height: 260px;  /* 항상 최대 높이 유지 */
	padding: 0px 0px 24px;
	visibility: visible;
	opacity: 1;
	border-bottom:1px solid #e5e5e5;
}
#header .nav_submenu li {
	padding-left:20px;
}
#header .h-inner .h_nav {z-index:-1;}
#header.mobileOn .h-inner .h_nav {z-index: 10;}


	.top-login {
		top: 15px;
	}
	.top-login ul li a {
		display:none;
	}
	.top-login ul li a.top-login__btn {
		display:block;
		font-size:16px;
	}
	.top-login__m {
		margin:30px 0;
	}
	.top-login__m ul {
		display:flex;
	}
	.top-login__m li {
		width:50%;
		text-align:center;
		padding:0 5px;
	}
	.top-login__m li a {
		display:block;
		padding:15px 0;
		background-color:#f5f5f5;
		border-radius:30px;
	}
	#header .h_mobile {
		display:block;
	}
	.h_menu {
		display:none;
		flex-direction:column;
		position:absolute;
		top:100%;
		left:0;
		background:#fff;
		width:100%;
		z-index:999;
		border-top:1px solid #ccc;
	}
	.h_menu.active {
		display:flex;
	}
	.h_menu__li {
		display:block;
		padding:0;
	}
	.h_menu__link {
		line-height:48px;
		font-size:16px;
		padding:0 20px;
		color:#222;
	}
	.h_submenu {
		display:none;
		position:static;
		background:#f5f5f5;
		float:none;
	}
	.h_menu__li.active .h_submenu {
		display:block;
	}
	.h_submenu li {
		float:none;
	}
	.h_submenu li a {
		padding:10px 30px;
		line-height:1.5;
		font-size:14px;
		color:#444;
	}
	#header .nav_menu__link {
		font-weight: 500;
		padding:20px 0 10px 0;
	}
	#header .menu {
		display:none;
	}
	#header.mobileOn .h_nav {
		opacity:1;
		visibility:visible;
	}
	.lang-toggle {
		right:80px;
		top:22px;
	}
	.bg_gnb {
		display: none;
	}
}
/* 하단 */
#footer {
	background-color:#2D2D32;
}
#footer .f-container {
	width:100%;
}
#footer .f_din .btm {
	padding:50px 0;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:center;
}
#footer .f_logo {
	display:block;
	width:150px;
	height:80px;
}
#footer .f_info {
	font-size: 16px;
	line-height: 24px;
}
#footer .f_info p {
	clear:both;
	width:100%;
	display:block;
}
#footer .f_info p span {
	color:#ddd;
	padding-right:30px;
	position:relative;
}
#footer .f_info p span::after {
	content:'';
	position:absolute;
	top:5px;
	right:12px;
	width:1px;
	height:11px;
	background:#515256;
}
#footer .f_info p span:last-child:after {
	display:none;
}
#footer .f_rt {
	clear:both;
	border-top:1px solid rgba(255,255,255,0.1);
	font-size: 16px;
	line-height:1.5;
	color:#ddd;
	text-align:right;
	;
}
#footer .f_rt .container {
	display:flex;
	justify-content:space-between;
	padding:20px 0;
}
#footer .f_rt .container a.point {
	font-weight:500;
	color:#fff;
	padding:0 40px;
}
@media screen and (max-width:768px) {
	#footer .f_din .btm {
		padding:30px 0;
		display:block;
	}
	#footer .f_logo {
		width:90px;
		margin:0 auto;
	}
	#footer .f_info {
		padding-top:20px;
		text-align:center;
	}
	#footer .f_info span {
		font-size: 14px;
		display:block;
	}
	#footer .f_info p span::after {
		display:none;
	}
	#footer .f_rt .container {
		display:block;
		text-align:center;
		font-size: 14px;
	}
	#footer .f_rt .container .f_copy {
		padding-bottom: 10px;
	}
}