/* Root */
:root {
	--transition-basic:all .3s ease;
	--transition-basic2:all .15s ease;
	--transition-custom:all .4s ease-in-out;
	--transition-custom2:all 1.2s cubic-bezier(.165,.84,.44,1);
	--transition-custom3:all .6s ease;
	--transition-custom4:all .5s ease-out;
}

/* Rest */
*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
	color: #191919;
	font-family: 'SUIT', sans-serif;
	font-size: 62.5% !important;
	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 .4s ease forwards;
  opacity: 0;
}

html::-webkit-scrollbar {
	display: none;
}

html {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

body {
	font-size: 1.6rem;
}

html.modal-open {
	overflow: hidden !important;
}

a {
	color: inherit;
	outline: none;
	text-decoration: none;
}

ol, ul {
	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;
	background-color: #fff;
}

input, textarea {
	font-family: inherit;
	outline: none;
	border: 1px solid transparent;
}

:focus {
	outline: none;
}

::placeholder {
	color:#959595;
}

em, i {
	font-style: normal;
}


@-webkit-keyframes entry {
	to{opacity: 1;}
}

@keyframes entry {
	to{opacity: 1;}
}

@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}


/* Media */
@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {
	.md {
		display: none;
	}
}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}


/* Blind */
.blind {
	overflow: hidden;
	position: absolute;
	width: 1px;
	height: 1px;
	clip: rect(1px, 1px, 1px, 1px);
}


/* Overflow */
.hidden {
	overflow: hidden;
}


/* Position */
.position-relative {
	position: relative;
}


/* Display */
.d-block {
	display: block;
}

.d-flex {
	display: flex;
}

@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {
	.d-xs-flex {
		display: flex;
	}
}


/* Flex Wrap */
@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {
	.flex-lg-wrap {
		flex-wrap: wrap;
	}
}
@media screen and (max-width:768px) {
	.flex-md-wrap {
		flex-wrap: wrap;
	}
}
@media screen and (max-width:576px) {
	.flex-xs-wrap {
		flex-wrap: wrap;
	}
}


/* Flex Align */
.align-items-center {
	align-items: center;
}

@media screen and (min-width:1201px) {

}
@media screen and (min-width:1025px) {
	.align-lg-items-center {
		align-items: center;
	}
}
@media screen and (min-width:769px) {

}
@media screen and (min-width:577px) {

}


/* Justify Content */
.justify-content-center {
	justify-content: center;
}

@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {
	.justify-md-content-center {
		justify-content: center;
	}
}
@media screen and (max-width:576px) {
	.justify-xs-content-center {
		justify-content: center;
	}
}


/* Margin */
.mb-10 {
	margin-bottom:10px;
}

.mb-20 {
	margin-bottom:20px;
}

.mb-30 {
	margin-bottom:30px;
}

.mb-40 {
	margin-bottom:40px;
}

.mb-50 {
	margin-bottom:50px;
}

.mb-60 {
	margin-bottom:60px;
}

.mb-80 {
	margin-bottom:80px;
}

.mb-100 {
	margin-bottom:100px;
}

.mb-120 {
	margin-bottom:120px;
}

.mt-20 {
	margin-top:20px;
}

.mt-30 {
	margin-top:30px;
}

.mt-80 {
	margin-top:80px;
}

@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {
	.mb-10 {
		margin-bottom:6px;
	}

	.mb-20 {
		margin-bottom:16px;
	}

	.mb-30 {
		margin-bottom:20px;
	}

	.mb-40 {
		margin-bottom:30px;
	}

	.mb-50 {
		margin-bottom:36px;
	}

	.mb-60 {
		margin-bottom:40px;
	}

	.mb-80 {
		margin-bottom:60px;
	}

	.mb-100 {
		margin-bottom:80px;
	}

	.mb-120 {
		margin-bottom:100px;
	}

	.mt-20 {
		margin-top:16px;
	}

	.mt-30 {
		margin-top:20px;
	}

	.mt-80 {
		margin-top:60px;
	}
}
@media screen and (max-width:768px) {
	.mb-50 {
		margin-bottom:30px;
	}

	.mb-md-10 {
		margin-bottom: 10px !important;
	}

	.mb-md-20 {
		margin-bottom: 20px !important;
	}

	.mb-md-30 {
		margin-bottom:30px !important;
	}

	.mb-md-40 {
		margin-bottom:40px !important;
	}
}
@media screen and (max-width:576px) {
	.mb-10 {
		margin-bottom:4px;
	}

	.mb-20 {
		margin-bottom:10px;
	}

	.mb-30 {
		margin-bottom:16px;
	}	

	.mb-40 {
		margin-bottom:20px;
	}

	.mb-50 {
		margin-bottom:24px;
	}
	
	.mb-60 {
		margin-bottom:30px;
	}

	.mb-80 {
		margin-bottom:40px;
	}

	.mb-100 {
		margin-bottom:60px;
	}

	.mb-120 {
		margin-bottom:80px;
	}

	.mt-20 {
		margin-top:10px;
	}

	.mt-30 {
		margin-top:16px;
	}

	.mt-80 {
		margin-top:40px;
	}

	.mb-md-10 {
		margin-bottom: 6px !important;
	}

	.mb-md-20 {
		margin-bottom: 16px !important;
	}
	
	.mb-md-30 {
		margin-bottom:20px !important;
	}

	.mb-md-40 {
		margin-bottom:30px !important;
	}

	.mb-xs-6 {
		margin-bottom:6px;
	}

	.mb-xs-30 {
		margin-bottom:30px;
	}
}


/* Padding */
.pb-30 {
	padding-bottom:30px;
}

.pb-40 {
	padding-bottom:40px;
}

.pb-60 {
	padding-bottom:60px;
}

.pb-100 {
	padding-bottom:100px;
}

.pb-200 {
	padding-bottom:200px;
}

.pt-80 {
	padding-top:80px;
}

.pt-160 {
	padding-top:160px;
}

.py-200 {
	padding:200px 0px;
}

@media screen and (min-width:1025px) {
	.pl-min-lg-100 {
		padding-left:100px;
	}
}
@media screen and (max-width:1200px) {
	.pb-200 {
		padding-bottom:160px;
	}

	.pt-160 {
		padding-top:140px;
	}

	.py-200 {
		padding:160px 0px;
	}
}
@media screen and (max-width:1024px) {
	.pb-20 {
		padding-bottom:20px;
	}

	.pb-30 {
		padding-bottom:24px;
	}

	.pb-40 {
		padding-bottom:30px;
	}

	.pb-100 {
		padding-bottom:80px;
	}

	.pb-200 {
		padding-bottom:140px;
	}

	.pt-80 {
		padding-top:60px;
	}

	.pt-160 {
		padding-top:120px;
	}

	.py-200 {
		padding:140px 0px;
	}
}
@media screen and (max-width:768px) {
	.pb-200 {
		padding-bottom:120px;
	}

	.pt-160 {
		padding-top:100px;
	}

	.py-200 {
		padding:120px 0px;
	}

	.pb-md-10 {
		padding-bottom:10px !important;
	}
}
@media screen and (max-width:576px) {
	.pb-20 {
		padding-bottom:16px;
	}

	.pb-30 {
		padding-bottom:20px;
	}

	.pb-40 {
		padding-bottom:20px;
	}

	.pb-100 {
		padding-bottom:60px;
	}

	.pb-200 {
		padding-bottom:100px;
	}

	.pt-80 {
		padding-top:40px;
	}

	.pt-160 {
		padding-top:80px;
	}

	.py-200 {
		padding:100px 0px;
	}
}



/* Font Family */
.fm-outfit {
	font-family: "Outfit", sans-serif;
}

.fm-lato {
	font-family: "Lato", sans-serif;
}

.fm-pretendard {
	font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}


/* Font Weight */
.fw-400 {
	font-weight:400;
}

.fw-500 {
	font-weight:500;
}

.fw-600 {
	font-weight:600;
}

.fw-700 {
	font-weight:700;
}

.fw-800 {
	font-weight:800;
}


/* Text Align */
.text-start {
	text-align: start;
}

.text-center {
	text-align: center;
}

.text-end {
	text-align: end;
}

@media screen and (min-width:770px){
	.text-min-md-center {
		text-align: center;
	}
}
@media screen and (max-width:576px) {
	.text-xs-center {
		text-align: center;
	}
}


/* Text Color */
.text-basic {
	color:#191919;
}

.text-white {
	color:#fff;
}

.text-gray7 {
	color:#737373;
}

.text-gray8 {
	color:#898989;
}

.text-dark3 {
	color:#3b3b3b;
}

.text-red {
	color:#de0000;
}

.text-lightblue {
	color:#cce0ed;
}

.text-blue {
	color:#0065a3;
}


/* Line Height */
.lh-1 {
	line-height: 1;
}

.lh-2 {
	line-height: 2;
}


/* Letter Spacing */
.ls-normal {
	letter-spacing: normal;
}


/* Wrap */
@media screen and (max-width:1200px) {
	.wrap--sub {
		padding-top:70px;
	}
}


/* Main */
#main {
	min-height:calc(100vh - 240px);
	overflow: hidden;
}


/* Container */
.container {
	position: relative;
	max-width:1500px;
	width: 95%;
	margin:0 auto;
}


/* Header */
#header {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 999;
	-webkit-transition: var(--transition-custom);
	transition: var(--transition-custom);
}

#header .h-container {
	max-width:1500px;
	width: 95%;
	margin:0 auto;
}

#header .h-background {
	position: absolute;
	top:88px;
	left:0;
	width: 100%;
	height:88px;
	background-color: #fff;
	border-top: 1px solid #c9c9c9;
	-webkit-transform-origin:top;
	transform-origin:top;
	-webkit-transform: scaleY(0);
	transform: scaleY(0);
	-webkit-transition: var(--transition-basic2);
	transition: var(--transition-basic2);
}

#header .h-inner {
	display: flex;
	justify-content: flex-end;
	position: relative;
	width: 100%;
}

#header .h_logo {
	position: absolute;
	top:24px;
	left: 0;
	width: 182px;
	height:39px;
	z-index:100000;
}

#header .h_logo a {
	display: block;
	width: 100%;
	height:100%;
	background: url('../img/common/header_logo_w.png') no-repeat center;
	-webkit-transition: var(--transition-basic);
	transition: var(--transition-basic);
}

#header .h_menu__ul {
	display: flex;
	margin:0px -45px;
}

#header .h_menu__li {
	position: relative;
}

#header .h_menu__link {
	display: block;
	padding:35px 45px;
	font-size:1.8rem;
	font-weight:500;
	line-height: 1;
	color:#fff;
}

#header .h_menu__link h2 {
	font-size: inherit;
	font-weight: inherit;
}

#header .h_sub {
	position: absolute;
	top:100%;
	left:50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	display: flex;
	white-space: nowrap;
	opacity:0;
	visibility:hidden;
	-webkit-transition: var(--transition-basic2);
	transition: var(--transition-basic2);
	z-index: 100;
}

#header .h_sub a {
	display: block;
	padding:35px 30px;
	font-size:1.8rem;
	font-weight:500;
	line-height:1;
	-webkit-transition: var(--transition-basic2);
	transition: var(--transition-basic2);
}

#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%;
}

#header .h_mobile__btn span {
  position: relative;
  margin: 0 auto;
}

#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: #191919;
  -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: #191919;
  -webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
  -webkit-transition-delay: 0s, 0.2s;
	transition-delay: 0s, 0.2s;
}

@media screen and (min-width:1201px) {
	/* Basic Hover */
	#header .h_menu__li:hover .h_menu__link {
		color:#0065a3;
	}

	#header .h_sub a:hover {
		color:#0065a3;
		text-decoration: underline;
		text-underline-offset: 5px;
	}
	
	/* Scroll Active */
	#header.active {
		background-color: #fff;
	}

	#header.active .h_logo a {
		background-image: url('../img/common/header_logo_b.png');
	}

	#header.active .h_menu__link {
		color:#191919;
	}

	/* Menu Hover */
	#header[header-hover = "on"] {
		background-color: #fff;
	}

	#header[header-hover = "on"] .h-background {
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
	}

	#header[header-hover = "on"] .h_logo a {
		background-image: url('../img/common/header_logo_b.png');
	}

	#header[header-hover = "on"] .h_menu__link {
		color:#191919;
	}

	#header .h_menu__li.on .h_sub {
		opacity: 1;
		visibility: visible;
	}
}
@media screen and (max-width:1536px) {
	#header .h_sub04 {
		left:-40px;
	}
}
@media screen and (max-width:1200px) {
	#header {
		height:70px;
		background-color: #fff;
	}

	#header .h-container {
		width: 100%;
	}

	#header .h_logo {
		top:18px;
		left:20px;
		width:155px;
		height:33px;
	}

	#header .h_logo a {
		background-image: url('../img/common/header_logo_b.png');
		background-size: auto 33px;
	}

	#header .h_menu {
		position: fixed;
		top:0;
		left:0;
		width: 100%;
		height: 100%;
		padding:90px 20px;
		background-color: #fff;
		-webkit-transition: var(--transition-basic);
		transition: var(--transition-basic);
		overflow-y:auto;
		opacity:0;
		visibility: hidden;
		z-index:1000;
	}

	#header .h_menu__ul {
		flex-wrap: wrap;
		margin:0px;
		opacity:0;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
		-webkit-transition: var(--transition-custom);
		transition: var(--transition-custom);
		-webkit-transition-delay: .1s;
		transition-delay: .1s;
	}

	#header .h_menu__li {
		width: 100%;
	}

	#header .h_menu__link {
		position: relative;
		font-size:1.6rem;
		font-weight:700;
		color:#191919;
		padding:15px 0px;
		border-bottom:1px solid #e3e3e3;
	}

	#header .h_menu__link::before,
	#header .h_menu__link::after {
		content: "";
    display: block;
    position: absolute;
    top: 50%;
    right:0px;
    width: 10px;
    margin-top: -1px;
    background-color: #191919;
    height: 2px;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition:all .4s ease;
    transition:all .4s ease;
	}

  #header .h_menu__link::before {
    z-index: 2;
    -webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
    opacity: 1;
  }

	#header .h_menu__link[aria-toggle="true"]::before,
	#header .h_menu__link[aria-toggle="true"]::after {
		background-color:#0065a3;
	}

  #header .h_menu__link[aria-toggle="true"]::before {
    -webkit-transform: rotate(0deg);
		transform: rotate(0deg);
  }

  #header .h_menu__link[aria-toggle="true"]::after {
    opacity: 0;
    -webkit-transform: rotate(180deg);
		transform: rotate(180deg);
  }

	#header .h_sub {
		display: block;
		position: relative;
		top:unset;
		left: unset;
		-webkit-transform: none;
		transform: none;
		height:auto;
		max-height: 0px;
		padding: 0px;
		margin:0px;
		opacity:1;
		overflow: hidden;
		visibility: visible;
		text-align: left;
		white-space:unset;
		-webkit-transition:var(--transition-custom3);
		transition:var(--transition-custom3);
	}

	#header .h_sub li {
		padding-top:20px;
	}

	#header .h_sub a {
		padding:0px;
		font-size:1.6rem;
		color:#191919;
	}

	#header .h_mobile {
		display: block;
	}

	#header[data-header-mobile="on"] .h_menu {
		opacity:1;
		visibility: visible;
	}

	#header[data-header-mobile="on"] .h_menu__ul {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	#header .h_menu__link[aria-toggle="true"] {
		color:#0065a3;
		border-color: #0065a3;
	}

	#header .h_menu__link[aria-toggle="true"] + .h_sub {
		max-height:260px;
		margin:0px 0px 30px;
	}
}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}


/* Footer */
#footer {
	background-color: #ecf0f4;
}

#footer .f-sitemap {
	padding:80px 0px;
	border-bottom: 2px solid #bfbfbf;
}

#footer .f-sitemap-wrap {
	display: flex;
	gap:13%;
}

#footer .f-sitemap-wrap dl {
	flex:1 1;
}

#footer .f-sitemap-wrap dt {
	font-size:2.4rem;
}

#footer .f-sitemap-wrap a {
	font-size:2rem;
}

#footer .f-basic {
	padding:60px 0px;
}

#footer .f-basic-wrap {
	position: relative;
	padding-left:360px;
}

#footer .f-basic-wrap .f_logo {
	position: absolute;
	top:50%;
	left:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width:253px;
	height: 120px;
	background: url('../img/common/footer_logo.png') no-repeat center;
}

#footer .f-basic-wrap .f_info {
	display: flex;
	flex-wrap: wrap;
	gap:0px 16px;
	margin-bottom:20px;
	padding-bottom:20px;
	border-bottom: 2px solid #bfbfbf;
}

#footer .f-basic-wrap .f_info li {
	font-size:1.8rem;
	font-weight:500;
	line-height:1.56;
}

#footer .f-basic-wrap .f_info li:first-child {
	width: 100%;
}

#footer .f-basic-wrap .f_copy {
	font-size:1.8rem;
	font-weight:500;
}

@media screen and (max-width:1200px) {
	#footer .f-sitemap-wrap dt {
		font-size:2rem;
	}
	
	#footer .f-sitemap-wrap a {
		font-size:1.8rem;
	}
	
	#footer .f-basic-wrap .f_info li {
		font-size:1.6rem;
	}

	#footer .f-basic-wrap .f_copy {
		font-size:1.6rem;
	}
}
@media screen and (max-width:1024px) {
	#footer .f-sitemap {
		padding:60px 0px;
	}

	#footer .f-sitemap-wrap {
		gap:8%;
	}	

	#footer .f-basic {
		padding:40px 0px;
	}

	#footer .f-basic-wrap {
		padding-left:280px;
	}

	#footer .f-basic-wrap .f_logo {
		height: 100px;
		background-size:auto 100px;
	}

	#footer .f-basic-wrap .f_info {
		gap:0px 10px;
		margin-bottom:16px;
		padding-bottom:16px;
	}
}
@media screen and (max-width:768px) {
	#footer .f-sitemap {
		display: none;
	}

	#footer .f-basic-wrap {
		display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
		text-align: center;
		padding-left:0px;
	}

	#footer .f-basic-wrap .f_logo {
		position: relative;
		top:unset;
		left: unset;
		-webkit-transform: none;
		transform: none;
		height: 60px;
		background-size:auto 60px;
		margin-bottom:30px;
	}

	#footer .f-basic-wrap .f_info {
		justify-content: center;
	}

	#footer .f-basic-wrap .f_info li {
		font-size:1.4rem;
	}

	#footer .f-basic-wrap .f_copy {
		font-size:1.4rem;
	}
}
@media screen and (max-width:576px) {
	#footer .f-basic {
		padding:30px 0px;
	}

	#footer .f-basic-wrap .f_logo {
		height: 40px;
		background-size:auto 40px;
		margin-bottom:20px;
	}

	#footer .f-basic-wrap .f_info {
		flex-wrap: wrap;
		gap:0px;
		margin-bottom:10px;
		padding-bottom:10px;
		border-width:1px;
	}

	#footer .f-basic-wrap .f_info li {
		width: 100%;
		font-size:1.2rem;
	}

	#footer .f-basic-wrap .f_copy {
		font-size:1.2rem;
	}
}


@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}

@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}

@media screen and (max-width:1200px) {

}
@media screen and (max-width:1024px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}