/* include 공통 CSS */

/************************* 공통 시작*************************/
.inner {width: 100%; max-width:1440px; margin: 0 auto; }
.inner--fill {max-width:none; padding-right: calc((100% - 1440px) / 2); padding-left: calc((100% - 1440px) / 2);}
/* 좌측만 inner 기준, 우측은 화면 끝까지 흘리는 슬라이더용 (I3) */
.inner--fill-left {max-width:none; padding-right: 0; padding-left: calc((100% - 1440px) / 2);}
@media(max-width:1480px){
	.inner {padding: 0 4%;}
	.inner--fill-left {padding-right: 0; padding-left: 4%;}
}

.sub-container {min-height:5rem;}
/************************* 공통 끝 *************************/

/************************* header_inc 시작*************************/
.header__fix {position: fixed; left:0; top:0; z-index: 100; width:100%; --menu-height : 0; transition: 0.15s ease-in-out all;}
.header__fix:after {position: absolute; content:''; top: 100%; left: 0; z-index: -1; width: 100%; height: var(--menu-height); background-color: var(--white); transition: 0.15s ease-in-out all;}

/* 상단 유틸바 */
.header-top {background-color: var(--main-color);}
.header-top__body {display: flex; justify-content: space-between; align-items: center; min-height: 40px;}
.header-top__slogan {font-size: 14px; font-weight: 600; line-height: 20px;}
.header-top__slogan {color: var(--white);}
.header-top__util {display: flex; align-items: center;}
.header-top__link {margin-right: 9px; padding: 0 12px; display: flex; align-items: center; font-size: 14px; font-weight: 600; line-height: 20px; transition: 0.15s ease-in-out all;}
.header-top__link,
.header-top__link:link,
.header-top__link:visited {color: var(--white);}
@media(hover:hover){
	.header-top__link:hover {opacity: 0.7;}
}

/* 헤더 본체 */
.header__inner {display: flex; justify-content: space-between; align-items: center; min-height: 100px;}
.header__ctrl {display: flex; align-items: center;}

/* 로고 파일은 시안의 원색판 — Hero 위 투명 헤더에서는 흰색으로 뒤집어 쓴다 */
.header-home__logo {width: 160px; filter: brightness(0) invert(1); transition: 0.15s ease-in-out all;}

/* 상단바 언어 선택 */
.header-top__lang {display: flex; align-items: center;}
.header-top__lang-btn {font-size: 14px; font-weight: 600; line-height: 20px; transition: 0.15s ease-in-out all;}
.header-top__lang-btn,
.header-top__lang-btn:link,
.header-top__lang-btn:visited {color: var(--white);}
.header-top__lang-btn--crt {font-weight: 800;}
.header-top__lang-item {display: flex; align-items: center;}
.header-top__lang-item + .header-top__lang-item {margin-left: 8px;}
.header-top__lang-item + .header-top__lang-item:before {margin-right: 8px; content:''; display: block; width: 4px; height: 4px; border-radius: 50%; background-color: var(--white);}
@media(hover:hover){
	.header-top__lang-btn:hover {opacity: 0.7;}
}

/* margin-right: 마지막 메뉴 아이템(164px 박스)의 우측 여백만큼 당겨 텍스트 우끝을 inner(1680)에 맞춤 */
.header-navi {position: relative; margin-left: auto; margin-right: -68px; height: inherit; transition: .15s ease-in-out all;}
.header-navi__m-list {display: flex; height: inherit;}
.header-navi__m-item {height: inherit;}
.header-navi__m-item:last-child {margin-right: 0;}
.header-navi__m-btn {display: flex; align-items: center; height: inherit;}
.header-navi__m-item {position: relative;}
.header-navi__s-wrap {position: absolute; top: 100%; left: 50%; min-width: 150%; transform:translateX(-50%);}
.header-navi__s-list {transition: .15s ease-in-out all;}
.header-navi__s-btn {display: block;}
@media(max-width:1080px){
	.header-navi {display: none;}
}

.header-lang {position: relative; display: flex; align-items: center;  text-align:center; height: inherit; transition: .15s ease-in-out all;}
.header-lang__btn{display: flex; align-items:center; transition: 0.15s ease-in-out all;}
.header-lang__btn,
.header-lang__btn:link,
.header-lang__btn:visited {color: #fff;}
.header-lang__navi{position:absolute; top: 100%; left: 50%; transform:translateX(-50%); min-width:100%; height: 0; overflow: hidden;}
.header-lang__list {margin: 1em; background-color: rgba(0,0,0,0.5); border-radius: 0.5em; box-shadow:var(--shadow-1); transition: .15s ease-in-out all;}
.header-lang__link{padding:0.5em 1.5em; display: block; white-space: nowrap; transition: 0.15s ease-in-out all;}
.header-lang__link,
.header-lang__link:visited,
.header-lang__link:link {color: #fff;}
.header-lang__icon {width: 1.25em; filter:brightness(0) invert(1)}
@media(hover:hover){
	.header-lang__btn:hover {color: var(--main-color);}
	.header-lang__link:hover {color: var(--main-color);}
}
@media(max-width:1080px){
	.header-lang {display: none;}	
}

.header-login {margin-left: 1.5em;}
.header-login__list {display: flex; align-items: center;}
.header-login__item {margin-right: 1em;}
.header-login__item:last-child {margin-right: 0;}
.header-login__link {display: block; transition:.15s ease-in-out all;}
.header-login__link,
.header-login__link:visited,
.header-login__link:link {color: #fff;}
@media(hover:hover){
	.header-login__link:hover {color: var(--main-color);}
}
@media(max-width:1080px){
	.header-login{display: none;}	
}

.header-drawer {display: none; position: relative; margin-left: 1.5em;}
.header-drawer__btn {position: relative; width: 20px; height: 14px; z-index: 0; transition:.15s ease-in-out all;}
.header-drawer__line {position: absolute; left: 0; width: 100%; height: 2px; background-color: #fff; transition:.15s ease-in-out all;}
.header-drawer__line--top {top: 0;}
.header-drawer__line--middle {top: 50%; transform:translateY(-50%)}
.header-drawer__line--bottom {bottom: 0;}
@media(hover:hover){
	.header-drawer__btn:hover .header-drawer__line--top{left: -0.25em;}
	.header-drawer__btn:hover .header-drawer__line--middle{left: 0.25em;}
	.header-drawer__btn:hover .header-drawer__line--bottom{left: -0.125em;}
}
@media(max-width:1080px){	
	.header-drawer {display:block;}
}

.header__fix.enter {background-color: var(--white);}
/* 흰 헤더에서는 필터를 풀어 시안대로 원색(네이비 + 그린)으로 보여준다 */
.header__fix.enter .header-home__logo,
.header__fix.on .header-home__logo {filter:none;}
.header__fix.enter .header-navi__m-btn {color: var(--main-black);}
.header__fix.enter .header-navi__m-btn--crt {color: var(--main-color);}
.header__fix.enter .header-navi__s-list {background-color: var(--white);}
.header__fix.enter .header-navi__s-btn {color: var(--main-black);}
.header__fix.enter .header-navi__s-btn--crt {color: var(--main-color);}
.header__fix.enter .header-navi__c-btn {color: var(--main-gray);}
.header__fix.enter .header-navi__c-btn--crt {color: var(--main-color);}
.header__fix.enter .header-lang__btn {color: var(--main-black);}
.header__fix.enter .header-lang__btn.on {color: var(--main-color);}
.header__fix.enter .header-lang__list {background-color: var(--white);}
.header__fix.enter .header-lang__link {color: var(--main-black);}
.header__fix.enter .header-login__link {color: var(--main-black);}
.header__fix.enter .header-drawer__line {background-color: var(--main-black);}
@media(hover:hover){
	.header__fix.enter .header-lang__link:hover {color: var(--main-color);}
}

/************************* header_inc 끝*************************/

/************************* sub-dropdown 시작 *************************/
.drop-menu {border-bottom:1px solid var(--main-gray);}
.drop-menu__inner {display: flex; border-right:1px solid var(--main-gray); border-left:1px solid var(--main-gray);}
.drop-menu__home {display: inline-flex; min-width: 3em; min-height: 3em; height: inherit; justify-content: center; align-items: center;}
.drop-menu__icon {width: 1.75em;}
.drop-menu__wrap {position: relative; z-index: 0; border-left:1px solid var(--main-gray);}
.drop-menu__wrap:last-child {border-right:1px solid var(--main-gray); }
.drop-menu__btn {display: flex; justify-content: space-between; align-items: center; min-width:15em; height: 100%; padding:0 0.15rem; font-weight: 500; transition:.15s ease-in-out all;}
.drop-menu__tit {display: block; font-size: 1.125em;}
.drop-menu__arr {margin-left: 1.5em; width: 0.75em; transition:.15s ease-in-out all;}
.drop-menu__navi {position: absolute; top: 100%; left: -1px; z-index: 10; width:calc(100% + 2px);  height: 0; overflow: hidden;}
.drop-menu__list {background-color: #fff; border:1px solid var(--main-gray);}
.drop-menu__link {display: block; padding:0.5em 0.15rem; transition:.15s ease-in-out all;}
@media(hover:hover){
	.drop-menu__link:hover {background-color: var(--main-color); color: #fff;}
}

.drop-menu__btn.on {background-color: var(--main-color); color: #fff;}
.drop-menu__btn.on .drop-menu__arr {filter:brightness(0) invert(1); transform:rotate(180deg);}

/************************* dropdown 끝 *************************/
/************************* tabmenu 시작 *************************/
/* 하단 1px 라인을 inset 그림자로 넣어야 바 높이가 시안(80)에서 안 늘어난다 */
.tab-menu {box-shadow: inset 0 -1px 0 0 var(--gray-300); background-color: var(--white);}
.tab-menu__list {display: flex; flex-wrap: wrap;}
.tab-menu__item {min-width: 0; flex: 1;}
.tab-menu__btn {padding: 10px; min-height: 80px; display: flex; justify-content: center; align-items: center; text-align: center; font-size: 18px; font-weight: 700; line-height: 25.2px; transition: .15s ease-in-out all;}
.tab-menu__btn,
.tab-menu__btn:link,
.tab-menu__btn:visited {color: var(--gray-400);}
/* 활성 탭은 밑줄 2px — 바의 1px 라인을 덮는다 */
.tab-menu__btn--crt,
.tab-menu__btn--crt:link,
.tab-menu__btn--crt:visited {color: var(--main-color); box-shadow: inset 0 -2px 0 0 var(--main-color);}
@media(hover:hover){
	.tab-menu__btn:hover {color: var(--main-color);}
}
@media(max-width:1080px){
	.tab-menu__btn {padding: 10px; min-height: 72px;}
}
@media(max-width:768px){
	.tab-menu__btn {padding: 10px; min-height: 60px; font-size: 16px; line-height: 22.4px;}
}
@media(max-width:500px){
	.tab-menu__btn {padding: 10px; min-height: 52px; font-size: 15px;}
}
/************************* sub-tabmenu 끝 *************************/

/************************* depth3 시작 *************************/
.depth3__list {display: flex; flex-flow: row wrap;}
.depth3__item {flex:1;}
.depth3__item:last-child {border:0;}
.depth3__btn {padding:1.5em 0.75em; width: 100%; height: 100%; display: flex; align-items: center;justify-content: center; border-bottom:2px solid var(--main-gray); transition:.15s ease all;}
.depth3__btn--crt {border-color:var(--main-color);}
@media(hover:hover){
	.depth3__btn:hover {border-color:var(--main-color);}
}
/************************* depth3 끝 *************************/


/************************* footer_inc 시작 *************************/
.footer {position: relative; padding-bottom: 64px; background-color: var(--gray-50); color: var(--main-black);}
.footer__layout {display: flex; justify-content: space-between;}

.footer__left {margin-top: 77px;}
.footer-home {display: inline-block;}
.footer-home__logo {width: 226px;}
.footer-corp {margin-top: 38px; display: flex; align-items: center;}
.footer-corp__item {margin-right: 24px; font-size: 18px; font-weight: 500; line-height: 25px; color: var(--gray-600);}
.footer-corp__item:last-child {margin-right: 0;}
.footer-corp__item--name {font-weight: 700; color: var(--main-black);}
.footer-addr {margin-top: 26px;}
.footer-addr__cate {display: block; font-size: 18px; font-weight: 700; line-height: 25px;}
.footer-addr__desc {margin-top: 12px; font-size: 18px; font-weight: 500; line-height: 25px; color: var(--gray-600);}

.footer__right {margin-top: -57px; width: 40.833%; text-align: right;}
.footer-cs {padding: 24px 40px; width: 100%; display: grid; grid-template-columns: 45.47% 38.78%; column-gap: 15.75%; row-gap: 21px; text-align: left; background-color: var(--white);}
.footer-cs__cate {font-size: 18px; font-weight: 500; line-height: 25px;}
.footer-cs__desc {margin-top: 4px; font-size: 24px; font-weight: 700; line-height: 34px;}
.footer-cs__link {transition:.15s ease all;}
.footer-cs__link,
.footer-cs__link:visited,
.footer-cs__link:link {color: var(--main-black);}
.footer-cprt {margin-top: 15px; font-size: 16px; font-weight: 500; line-height: 22px; color: var(--gray-600);}
@media(hover:hover){
	.footer-cs__link:hover {color: var(--main-color);}
}

/* inner(1440) 바깥 우측 62px + 푸터 상단으로 57px 겹침 — grid/flex로 표현 불가한 좌표 배치 (K1) */
.footer-gotop {position: absolute; top: -57px; right: 62px; width: 120px; height: 120px; display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: var(--main-color);}
.footer-gotop__icon {margin-bottom: 8px; width: 20px;}
.footer-gotop__txt {font-size: 18px; font-weight: 700; line-height: 25px; color: var(--white);}

.footer-navi {margin-top: 95px;}
.footer-navi__link {margin-right: 24px; font-size: 16px; font-weight: 700; line-height: 22px; transition:.15s ease all;}
.footer-navi__link,
.footer-navi__link:visited,
.footer-navi__link:link {color: var(--gray-600);}
.footer-navi__link:last-of-type {margin-right: 0;}
@media(hover:hover){
	.footer-navi__link:hover {color: var(--main-color);}
}

/************************* footer_inc 끝 *************************/


/************************* 트랙2 반응형 (header / footer) *************************/
@media(max-width:1640px){
	/* inner 우끝 + 68px이 viewport를 넘기 시작하는 구간(약 1576 이하)부터 음수 마진을 푼다 */
	.header-navi {margin-right: 0;}
}
@media(max-width:1320px){
	.footer-cs {padding: 20px 28px; column-gap: 8%;}
	.footer-cs__desc {font-size: 21px; line-height: 30px;}
	.footer-home__logo {width: 190px;}
}
@media(max-width:1080px){
	.header__inner {min-height: 72px;}
	.header-home__logo {width: 132px;}
	.header-top__link {padding: 0 8px;}

	.footer {padding-bottom: 50px;}
	.footer__layout {display: block;}
	.footer__left {margin-top: 0; padding-top: 60px;}
	.footer__right {margin-top: 40px; width: 100%; text-align: left;}
	.footer-cs {width: 100%; max-width: 588px;}
	.footer-navi {margin-top: 24px;}
	.footer-gotop {top: 0; right: 4%; width: 88px; height: 88px;}
}
@media(max-width:768px){
	.header-top__slogan {display: none;}
	.header-top__body {justify-content: flex-end;}

	.footer__left {padding-top: 40px;}
	.footer-home__logo {width: 160px;}
	.footer-corp {margin-top: 26px; flex-wrap: wrap;}
	.footer-corp__item {margin-bottom: 4px; font-size: 16px; line-height: 23px;}
	.footer-addr__cate, .footer-addr__desc {font-size: 16px; line-height: 23px;}
	.footer-cs {padding: 20px; grid-template-columns: 1fr; column-gap: 0; row-gap: 14px;}
	.footer-cs__cate {font-size: 16px; line-height: 23px;}
	.footer-cs__desc {font-size: 19px; line-height: 27px;}
	.footer-gotop {width: 68px; height: 68px;}
	.footer-gotop__icon {margin-bottom: 4px; width: 16px;}
	.footer-gotop__txt {font-size: 14px; line-height: 20px;}
}
@media(max-width:500px){
	.header-top__lang-item + .header-top__lang-item {margin-left: 6px;}
	.header-top__lang-item + .header-top__lang-item:before {margin-right: 6px;}
	.footer-corp__item {margin-right: 14px;}
}

/************************* split-text *************************/
.split-text__word {font-size: inherit;}
.split-text__letter {display: inline-block; font-size: inherit;}
.split-text--no-delay .split-text__letter {transition-delay:0s !important; animation-delay:0s !important;}