/* include 공통 CSS */

/************************* 공통 시작*************************/
.inner {width: 100%; max-width:1440px; margin: 0 auto; }
.inner--1560 {max-width:1560px;}
.inner--fill {max-width:none; padding-right: calc((100% - 1840px) / 2); padding-left: calc((100% - 1840px) / 2);}
@media(max-width:1880px){
	.inner {padding-right: 4%; padding-left: 4%;}
}
@media(max-width:1640px){
	.inner {padding: 0 4%;}
}

.sub-container {padding-top: 5em; padding-bottom: 10em; min-height:5rem;}

/* 텍스트 강조 */
.primary {color: var(--main-color);}

/* 섹션 헤딩 세트 (라벨 / 제목 / 설명문) */
.sec-head__label {font-family:'Red Hat Display', sans-serif; font-size: 1em; font-weight: 700; line-height: 1; color: var(--main-color);}
.sec-head__title {margin-top: 0.2273em; font-size: 2.75em; font-weight: 700; line-height: 1; color: var(--main-black);}
.sec-head__desc {margin-top: 1.6667em; font-size: 1.125em; font-weight: 500; line-height: 1.4; color: var(--gray800);}
.sec-head--white .sec-head__label,
.sec-head--white .sec-head__title,
.sec-head--white .sec-head__desc {color: #fff;}
@media(max-width:768px){
	.sec-head__title {font-size: 1.75em;}
	.sec-head__desc {margin-top: 1.3333em;}
	.sec-head__desc br {display: none;}
}

/* 버튼
   ─ 기본/호버의 바깥 크기가 절대 변하지 않도록 padding(0.375em)과 아이콘 박스를 양쪽 상태에서 고정한다.
     바뀌는 건 배경색과 아이콘을 그리는 크기(background-size)뿐이라 레이아웃이 흔들리지 않는다.
   ─ 시안 기준: large 252x60 / medium 244x52, 호버해도 동일. 안쪽 여백 6, 흰 알약 높이 = 버튼높이-12
   ─ 화살표 중심은 기본(박스40+오른여백10)과 호버(박스48+오른여백6) 모두 오른끝-30 으로 일치한다
   ※ 기존 스타일 (호버 시 padding/아이콘 크기를 바꿔 버튼 폭이 튀던 버전) — 참고용 보관
.arrow-btn {display: inline-flex; align-items: center; justify-content: space-between; width: 15.75em; height: 3.75em; padding: 0 0.625em 0 1.25em; border-radius: 1.875em; background-color: var(--main-color); font-size: 1em; transition: 0.25s ease all;}
.arrow-btn__txt {display: flex; align-items: center; height: 3em; border-radius: 1.875em; font-weight: 700; line-height: 1; white-space: nowrap; transition: 0.25s ease all;}
.arrow-btn__icon {flex: 0 0 auto; width: 2.5em; height: 2.5em; background: url('./img/btn_arrow.svg') no-repeat center / contain; transition: 0.25s ease all;}
.arrow-btn--md {max-width: 15.25em; height: 3.25em; padding: 0 0.375em 0 1.25em;}
.arrow-btn--md .arrow-btn__txt {height: 2.5em;}
@media(hover:hover){
	.arrow-btn:hover {gap: 0.375em; padding: 0.375em; background-color: var(--gray100);}
	.arrow-btn:hover .arrow-btn__txt {padding: 0 3.6875em 0 1em; width: 100%; background-color: #fff; color: var(--gray600);}
	.arrow-btn:hover .arrow-btn__icon {width: 3em; height: 3em; background-image: url('./img/btn_arrow_hover.svg');}
}
*/
.arrow-btn {display: inline-flex; align-items: center; gap: 0.375em; width: 15.75em; height: 3.75em; padding: 0.375em; border-radius: 1.875em; background-color: var(--main-color); font-size: 1em; transition: 0.25s ease all;}
.arrow-btn__txt {flex: 1 1 auto; min-width: 0; display: flex; align-items: center; height: 100%; padding: 0 0.875em; border-radius: 1.875em; font-weight: 700; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: 0.25s ease all;}
.arrow-btn__txt,
.arrow-btn:link .arrow-btn__txt,
.arrow-btn:visited .arrow-btn__txt {color: #fff;}
.arrow-btn__icon {flex: 0 0 auto; width: 3em; height: 3em; background: url('./img/btn_arrow.svg') no-repeat center / 2.5em 2.5em; transition: 0.25s ease all;}
.arrow-btn--secondary {background-color: var(--gray700);}
.arrow-btn--secondary .arrow-btn__icon {background-image: url('./img/btn_arrow_sec.svg');}
.arrow-btn--md {max-width: 15.25em; height: 3.25em;}
.arrow-btn--md .arrow-btn__icon {width: 2.5em; height: 2.5em; background-size: 2.5em 2.5em;}
@media(hover:hover){
	.arrow-btn:hover {background-color: var(--gray100);}
	.arrow-btn:hover .arrow-btn__txt {background-color: #fff; color: var(--gray600);}
	.arrow-btn:hover .arrow-btn__icon {background-image: url('./img/btn_arrow_hover.svg'); background-size: 3em 3em;}
	.arrow-btn--md:hover .arrow-btn__icon {background-image: url('./img/btn_arrow.svg'); background-size: 2.5em 2.5em;}
	.arrow-btn--secondary:hover .arrow-btn__icon {background-image: url('./img/btn_arrow_sec.svg');}
}
/* 버튼 배치 — 나란히(균등) / 혼자(우측정렬) */
.btn-set {display: flex; justify-content: flex-end; align-items: center; gap: 1.25em;}
.btn-set .arrow-btn {flex-basis: calc(50% - 0.625em); max-width: 100%;}
.btn-set--single {justify-content: flex-end;}
.btn-set--single .arrow-btn {max-width: 15.75em;}
@media(max-width:500px){
	/* .btn-set {flex-direction: column; align-items: stretch;} */
	/* 세로 배치에서는 flex 가 height 에 걸려 버튼이 납작해지므로 해제한다 */
	.btn-set .arrow-btn {}
	.btn-set--single {align-items: flex-end;}
	.btn-set--single .arrow-btn {max-width: 15.75em;}
}
/************************* 공통 끝 *************************/

/************************* header_inc 시작*************************/
.header__fix {position: fixed; left:0; top:0; z-index: 100;width:100%;  height: 6.25em; font-size: var(--fz); background-color: #fff; --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: #fff; transition: 0.15s ease-in-out all;}
.header__inner {display: flex; justify-content: space-between; align-items: center; height: inherit}
.header__ctrl {display: flex; align-items: center; height: inherit; display: none;}

.header-home__logo {width: 14.875em; transition: 0.15s ease-in-out all;}

.header-navi {position: relative; 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__ctrl {display: flex;}
}

.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: var(--main-black); 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;}
}

/* 스크롤을 내리면 헤더를 줄인다. 서브페이지는 drop-menu 까지 상단에 붙어 화면을 많이 차지한다.
   --hd-height 는 스크롤 0 일 때의 자리 확보용이라 건드리면 안 된다
   (main / .sub-visual 의 padding-top 이 그 값을 쓴다) — 축소값은 따로 둔다.
   로고도 같이 줄여야 위아래 여백이 답답해지지 않는다 */
.header__fix.enter {background-color: #fff; height: var(--hd-height-sm);}
.header__fix.enter .header-home__logo {width: 15em;}
.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: #fff;}
.header__fix.enter .header-navi__s-btn {color: var(--gray600);}
.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: #fff;}
.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 끝*************************/


/************************* page-head 시작 *************************/
/* 페이지 공통 타이틀 — 별도 래퍼 없이 .inner 안에 바로 넣는다 */
/* 옆에 부제가 붙는 페이지만 .page-head 로 감싼다 */
/* 상단 여백은 .sub-container의 padding-top(5em) 사용 */
.page-head {margin-bottom: 5em;}
.page-head__inner {display: flex; align-items: flex-end; flex-wrap: wrap; gap: 1.25em 2.5em;}
.page-head__title {margin-bottom: 1.8182em; font-size: 2.75em; font-weight: 700; line-height: 1; color: var(--main-black);}
.page-head .page-head__title {margin-bottom: 0;}
.page-head__desc {font-size: 1.125em; font-weight: 500; line-height: 1.4; color: var(--gray700);}
@media(max-width:768px){
	.page-head__title {margin-bottom: 1.75em; font-size: 2em;}
	.page-head {gap: 1em; margin-bottom: 3.5em;}
	.page-head__desc {font-size: 1em;}
}
/************************* page-head 끝 *************************/

/************************* 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);}
*/
/* 붙는 위치는 줄어든 헤더 높이에 맞춘다 — 원래 높이로 두면 그 사이로 본문이 지나간다 */
.drop-menu {position: sticky; left: 0; top: var(--hd-height-sm); padding: 0.5em 0; background-color: #fff; z-index: 99;}
.drop-menu__inner {display: inline-flex; align-items: center; gap: 0.375em; padding: 0.375em; border-radius: 2em; background-color: var(--gray100);}
.drop-menu__home {display: inline-flex; justify-content: center; align-items: center; width: 3.25em; height: 3.25em; border-radius: 50%; background-color: var(--main-color); transition:.15s ease-in-out all;}
.drop-menu__icon {width: 0.875em;}
.drop-menu__wrap {position: relative; z-index: 0;}
.drop-menu__btn {display: flex; justify-content: space-between; align-items: center; gap: 1.25em; width: 13.5em; height: 3.25em; padding: 0 1.25em; border-radius: 1.875em; background-color: #fff; font-weight: 500; color: var(--gray700); transition:.15s ease-in-out all;}
.drop-menu__tit {display: block; font-size: 1em; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.drop-menu__arr {flex: 0 0 auto; width: 1.125em; transition:.15s ease-in-out all;}
.drop-menu__navi {position: absolute; top: 100%; left: 0; z-index: 10; width: 100%; height: 0; overflow: hidden;}
.drop-menu__list {margin: 0.375em 0; border-radius: 1em; background-color: #fff; border: 1px solid var(--gray200); overflow: hidden;}
.drop-menu__link {display: block; padding: 0.75em 1.25em; font-weight: 500; color: var(--gray600); transition:.15s ease-in-out all;}
@media(hover:hover){
	.drop-menu__home:hover {background-color: var(--main-black);}
	.drop-menu__link:hover {background-color: var(--gray100); color: var(--main-color);}
}
.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);}
@media(max-width:768px){
	.drop-menu__inner {display: flex; width: 100%;}
	.drop-menu__wrap {flex: 1; min-width: 0;}
	.drop-menu__btn {width: 100%;}
}
/************************* dropdown 끝 *************************/
/************************* tabmenu 시작 *************************/
.tab-menu {border-bottom:1px solid var(--main-gray)}
.tab-menu__list {display: flex;}
.tab-menu__item {flex:1;}
.tab-menu__btn {padding:1.5em 0.75em; display: flex; justify-content: center; align-items: center; text-align: center; height: 100%; transition: .15s ease-in-out all;}
.tab-menu__btn--crt {background-color: var(--main-color);}
.tab-menu__btn--crt,
.tab-menu__btn--crt:link,
.tab-menu__btn--crt:visited {color: #fff;}
@media(hover:hover){
	.tab-menu__btn:hover {background-color: var(--main-color); color: #fff;}
}
/************************* 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 끝 *************************/


/************************* 사업영역(Business) 공통 시작 *************************/
/* 카피 배너 */
.biz-banner {position: relative; z-index: 0; display: flex; align-items: center; justify-content: center; height: 22.5em; border-radius: 1.25em; overflow: hidden; background-repeat: no-repeat; background-position: center; background-size: cover; text-align: center;}
.biz-banner:before {position: absolute; content:''; inset: 0; z-index: -1; background-color: rgba(0,0,0,0.4);}
.biz-banner__txt {font-size: 2.25em; font-weight: 700; line-height: 1.4; color: #fff;}

/* 섹션 소제목 */
.biz-tit {font-size: 1.5em; font-weight: 700; line-height: 1.4; text-align: center; color: var(--main-black);}

/* 프로세스 3스텝 */
.biz-flow {display: flex; align-items: flex-start; justify-content: center; gap: 6.3125em; margin-top: 2.5em;}
.biz-flow__item {position: relative; flex: 0 0 16.5em; display: flex; flex-direction: column; align-items: center; text-align: center;}
.biz-flow__item + .biz-flow__item:before {position: absolute; content:''; left: -6.3125em; top: 8.25em; width: 6.3125em; height: 1px; background-color: var(--gray300);}
.biz-flow__circle {position: relative; width: 16.5em; height: 16.5em; background: url('./img/biz_ring.png') no-repeat center / contain;}
.biz-flow__circle::before, .biz-flow__circle::after {content: ''; display: block; position: absolute; left: -2.5px; top: 50%; transform: translateY(-50%); width: 5px; aspect-ratio: 1; border-radius: 50%; background-color: var(--gray300);}
.biz-flow__circle::after {left: auto; right: -2.5px;}
.biz-flow__item:first-child .biz-flow__circle::before {display: none;}
.biz-flow__item:last-child .biz-flow__circle::after {display: none;}
.biz-flow__icon {position: absolute; left: 50%; top: 50%; width: 4.625em; height: 4.625em; transform: translate(-50%, -50%);}
.biz-flow__desc {display: flex; align-items: center; gap: 0.6667em; margin-top: 1.1111em; font-size: 1.125em; font-weight: 500; line-height: 1.6; color: var(--gray700);}
.biz-flow__desc:before {content:''; flex: 0 0 auto; width: 0.3333em; height: 0.3333em; border-radius: 50%; background-color: var(--main-color);}
.biz-flow__sub {margin-top: 0.2857em; font-size: 0.875em; font-weight: 500; line-height: 1.6; color: var(--gray500);}

/* 적용분야 / 핵심역량 */
.biz-feature {display: flex; gap: 1.25em;} /* 간격은 .biz-sec + .biz-sec 가 전담 */
.biz-feature__item {flex: 1 1 0; min-width: 0; display: flex; align-items: center; gap: 3.75em; height: 15.4375em; padding: 0.75em; border-radius: 8.125em; background-color: var(--gray100);}
.biz-feature__circle {flex: 0 0 13.9375em; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.25em; width: 13.9375em; height: 13.9375em; background: url('./img/biz_circle.png') no-repeat center / contain;}
.biz-feature__icon {width: 3.125em; height: 3.125em;}
.biz-feature__label {font-size: 1.25em; font-weight: 700; line-height: 1.4; color: var(--gray700);}
.biz-feature__list {flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.75em;}
.biz-feature__list-item {display: flex; align-items: center; gap: 0.6667em; font-size: 1.125em; font-weight: 500; line-height: 1.6; color: var(--gray700);}
.biz-feature__list-item:before {content:''; flex: 0 0 auto; width: 0.3333em; height: 0.3333em; border-radius: 50%; background-color: var(--main-color);}

/* 사업영역 표 */
.biz-table {width: 100%; margin-top: 2.5em; border-top: 2px solid var(--main-color); table-layout: fixed;}
.biz-table th,
.biz-table td {height: 4em; padding: 0.5556em; border-bottom: 1px solid var(--gray300); font-size: 1.125em; font-weight: 500; line-height: 1.4; text-align: center;}
.biz-table th {background-color: var(--gray50); color: var(--gray700);}
.biz-table td {background-color: #fff; color: var(--gray900);}

/* 섹션 간격 */
.biz-sec + .biz-sec {margin-top: 6.25em;}

@media(max-width:1280px){
	.biz-flow {gap: 3em;}
	.biz-flow__item + .biz-flow__item:before {left: -3em; width: 3em;}
	.biz-feature__item {gap: 2em;}
}
@media(max-width:1080px){
	.biz-banner__txt {font-size: 1.75em;}
	.biz-feature__item {flex-direction: column; justify-content: center; gap: 1.5em; height: auto; padding: 2.5em 2em; border-radius: 1.25em;}
	.biz-feature__list {flex: 0 0 auto; width: auto;}
}
@media(max-width:768px){
	.biz-banner {height: 14em;}
	.biz-banner__txt {font-size: 1.125em;}
	.biz-banner__txt br {display: none;}
	.biz-tit {font-size: 1.25em;}
	.biz-flow {flex-direction: column; align-items: center; gap: 2em; margin-top: 2em;}
	.biz-flow__item {flex: 0 0 auto;}
	.biz-flow__item + .biz-flow__item:before {display: none;}
	.biz-flow__circle {width: 12em; height: 12em;}
	.biz-flow__circle::before, .biz-flow__circle::after {display: none;}
	.biz-flow__icon {width: 3.5em; height: 3.5em;}
	.biz-flow__desc {font-size: 1em;}
	.biz-feature {flex-direction: column; gap: 1em;}
	.biz-feature__list-item {font-size: 1em;}
	.biz-table {margin-top: 2em;}
	.biz-table th,
	.biz-table td {height: auto; padding: 1em 0.5em; font-size: 0.9375em;}
	.biz-sec + .biz-sec {margin-top: 4em;}
}
@media (max-width:500px) {
	.biz-table-wrap {overflow: auto;}
	.biz-table {width: 600px;}
}
/************************* 사업영역(Business) 공통 끝 *************************/

/************************* footer_inc 시작 *************************/
.footer {padding: 3.75em 0; font-size: var(--fz); background-color: var(--footer-bg);}

.footer__top {display: flex; align-items: flex-start; justify-content: space-between;}
.footer__slogan {font-family:'Red Hat Display', sans-serif; font-size: 3.75em; font-weight: 700; line-height: 1.2; text-transform: uppercase; color: #fff;}

.footer-link {display: flex; flex-direction: column; gap: 1.25em; width: 30em;}
.footer-link__item {display: flex; align-items: center; justify-content: space-between; padding-bottom: 1.25em; border-bottom: 1px solid var(--footer-line);}
.footer-link__txt {font-family:'Red Hat Display', sans-serif; font-size: 2.75em; font-weight: 500; line-height: 1; text-shadow: 0 0 0 currentColor, 0 0 0 currentColor; transition: 0.25s ease all;}
.footer-link__txt,
.footer-link__item:link .footer-link__txt,
.footer-link__item:visited .footer-link__txt {color: var(--gray600);}
.footer-link__icon {flex: 0 0 auto; width: 1.875em; height: 1.875em; background: url('./img/footer_arrow.svg') no-repeat center / contain; transition: 0.25s ease transform;}

.footer__company {margin-top: 2.5em; font-size: 1em; font-weight: 700; line-height: 1; color: #fff;}

.footer-info {display: flex; flex-wrap: wrap; gap: 1.4286em; margin-top: 1.4286em; font-size: 0.875em; line-height: 1;}
.footer-info__item {display: flex; align-items: center; gap: 0.5714em;}
.footer-info__label {font-weight: 700; color: var(--gray400);}
.footer-info__desc {transition: 0.15s ease all;}
.footer-info__desc,
.footer-info__desc:link,
.footer-info__desc:visited {color: var(--gray600);}

.footer__bottom {display: flex; align-items: center; justify-content: space-between; margin-top: 1.25em; padding-top: 1.25em; border-top: 1px solid var(--footer-line);}
.footer-menu {display: flex; align-items: center; gap: 2.2857em; font-size: 0.875em; line-height: 1;}
.footer-menu__link {position: relative; transition: 0.15s ease all;}
.footer-menu__link,
.footer-menu__link:link,
.footer-menu__link:visited {color: var(--gray400);}
.footer-menu__link + .footer-menu__link:before {position: absolute; content:''; left: -1.1429em; top: 50%; width: 1px; height: 0.7143em; background-color: var(--gray600); transform: translateY(-50%);}
.footer__cprt {font-size: 0.875em; line-height: 1; color: var(--gray600);}

@media(hover:hover){
	/* font-weight 는 500·700 두 벌만 있어 중간 굵기가 없다 — 숫자는 보간돼도 글자는 한 번에 튄다.
	   대신 좌우로 그림자를 벌려 획을 두껍게 한다. 0.018em 이 실제 700 과 가장 가깝고,
	   글자 폭이 안 변해서 옆 요소가 밀리지도 않는다 */
	.footer-link__item:hover .footer-link__txt {text-shadow: 0.018em 0 0 currentColor, -0.018em 0 0 currentColor; color: var(--main-color);}
	.footer-link__item:hover .footer-link__icon {transform: rotate(45deg);}
	.footer-info__desc:hover,
	.footer-menu__link:hover {color: #fff;}
}

@media(max-width:768px){
	.footer {padding: 3em 0;}
	.footer__top {flex-direction: column;}
	.footer__slogan {font-size: 2em;}
	.footer-link {width: 100%; margin-top: 2em;}
	.footer-link__txt {font-size: 1.75em;}
	.footer__company {margin-top: 2em;}
	.footer-info {gap: 0.7143em 1.4286em;}
	.footer__bottom {flex-direction: column; align-items: flex-start; gap: 1em;}
	.footer-menu {flex-wrap: wrap; gap: 1.1429em 2.2857em;}
}
/************************* footer_inc 끝 *************************/


/************************* 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;}