/* include 공통 CSS */

/************************* 공통 시작*************************/
.inner {width: 100%; max-width:var(--max-w); margin: 0 auto; --max-w :1440px}
.inner--fill {max-width:100%; padding-right: calc((100% - var(--max-w)) / 2); padding-left: calc((100% - var(--max-w)) / 2);}
.inner--left {max-width:100%; padding-left: calc((100% - var(--max-w)) / 2);}
.inner--right {max-width:100%; padding-right: calc((100% - var(--max-w)) / 2);}

.en {font-family: 'SUIT', sans-serif;}

.sub-container--flex {position: relative; display: flex; align-items: center; z-index: 0;}
.sub-container--init {align-items: initial;}
@media(max-width:768px){
	.sub-container {min-height: 100svh;}
	.sub-container--flex {display: block; min-height: auto;}
	.sub-container--flex:has(.sub-visual--full) {min-height: 100svh;}
}

.sub-visual {display: flex; justify-content: center; align-items: center; width: 50%; overflow: hidden; background-color: #fff;}
.sub-visual--full {position: absolute; inset:0; width: 100%; z-index: -1;}

.sub-visual__bg {width: 100%; min-height: 100svh; animation:bgAni 2s ease-in-out forwards}
.sub-visual--full .sub-visual__bg {width: 100%; height: 100%; animation:none;}

@keyframes bgAni {
    0% {
        opacity: 0.5;
    }
    100% {
        opacity: 1;
    }
}

@media(max-width:768px){
	.sub-visual {width: 100%;}
	.sub-visual__bg {min-height: 20em;}	
}

.sub-wrapper {display: flex; justify-content: center; align-items: center; width: 50%; min-height: 100svh; margin-left: auto; padding:var(--hd-gap) 7.5em; overflow: hidden;}
@media(max-width:1720px){
	.sub-wrapper {padding-right: 4em; padding-left: 4em;}
}
@media(max-width:1080px){
	.sub-wrapper {padding-right: 3em; padding-left: 3em;}
}
@media(max-width:768px){
	.sub-wrapper {width: 100%; min-height: auto; padding-right: 2em; padding-left: 2em;}
	.sub-wrapper--abs {position: absolute; top: 50%; left: 50%; transform:translate(-50%, -50%); width: calc(100% - 4em); background-color: rgba(255,255,255,0.5); backdrop-filter:blur(8px)}
}

.sub-content {width: 100%;}

.pnt-tit {display: flex; align-items: center; gap:0.5em; font-size: var(--text-2xl); font-weight: 700;}
.pnt-tit:before {content:""; display: block; width: 2px; height: 0.75em; background-color: var(--prm); transform:rotate(45deg)}

.line-tit {padding-bottom: 0.6667em; font-size: var(--tit-sm); font-weight: 700; letter-spacing: -0.03em; text-align: center; border-bottom: 1px solid var(--dark-soft);}
/************************* 공통 끝 *************************/

/************************* header_inc 시작*************************/
.header {font-size: var(--fz);}
.header--sub {height: var(--hd-gap);}

.header__fix {position: fixed; left:0; top:0; z-index: 100; width:100%;  height: var(--hd-gap); --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--sub .header__fix {background-color: #fff; }

.header__inner {display: flex; align-items: center; height: inherit; padding: 0 3em;}
.header__ctrl {display: flex; align-items: center; height: inherit;}
@media(max-width:768px){
	.header__inner {justify-content: space-between; padding:0 2em;}
}

.header-home {position: relative;}
.header-home__logo {width: 10em; transition: 0.3s ease-in-out all;}
.header-home__logo--base {opacity: 0; visibility:hidden;}
.header-home__logo--color {position: absolute; left: 0; top: 0;}
.header-home__logo--black {position: absolute; left: 0; top: 0; opacity: 0; visibility: hidden;}

.header-navi {position: relative; height: inherit; margin-left: auto; 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:768px){
	.header-navi {display: none;}
}

.header-call {display: inline-flex; align-items: center; gap:0.5em;}
.header-call__num {font-size: var(--text-4xl); color: var(--dark-mix); font-weight: 700; letter-spacing: -0.03em;}

.header-drawer {position: relative; margin-left: 3.5em;}
.header-drawer__btn {position: relative; width: 32px; height: 12px; 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--bottom {bottom: 0;}

.header--sub .header-drawer__line {background-color: var(--dark-soft);}
@media(hover:hover){
	.header-drawer__btn:hover .header-drawer__line--top{left: -0.25em;}
	.header-drawer__btn:hover .header-drawer__line--bottom{left: 0.25em;}
}

.header__fix.enter {background-color: #fff;}
.header__fix.enter .header-navi__m-btn {color: var(--dark);}
.header__fix.enter .header-navi__m-btn--crt {color: var(--prm);}
.header__fix.enter .header-navi__s-list {background-color: #fff;}
.header__fix.enter .header-navi__s-btn {color: var(--dark);}
.header__fix.enter .header-navi__s-btn--crt {color: var(--prm);}
.header__fix.enter .header-navi__c-btn {color: var(--gray);}
.header__fix.enter .header-navi__c-btn--crt {color: var(--prm);}
.header__fix.enter .header-lang__btn {color: var(--dark);}
.header__fix.enter .header-lang__btn.on {color: var(--prm);}
.header__fix.enter .header-lang__list {background-color: #fff;}
.header__fix.enter .header-lang__link {color: var(--dark);}
.header__fix.enter .header-login__link {color: var(--dark);}
.header__fix.enter .header-drawer__line {background-color: var(--dark);}
@media(hover:hover){
	.header__fix.enter .header-lang__link:hover {color: var(--prm);}
}

/************************* header_inc 끝*************************/

/************************* sub-dropdown 시작 *************************/
.drop-menu {border-bottom:1px solid var(--gray);}
.drop-menu__inner {display: flex; border-right:1px solid var(--gray); border-left:1px solid var(--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(--gray);}
.drop-menu__wrap:last-child {border-right:1px solid var(--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(--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(--prm); color: #fff;}
}

.drop-menu__btn.on {background-color: var(--prm); color: #fff;}
.drop-menu__btn.on .drop-menu__arr {filter:brightness(0) invert(1); transform:rotate(180deg);}

/************************* dropdown 끝 *************************/
/************************* tabmenu 시작 *************************/
.tab-menu {border-bottom:1px solid var(--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(--prm);}
.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(--prm); 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(--gray); transition:.15s ease all;}
.depth3__btn--crt {border-color:var(--prm);}
@media(hover:hover){
	.depth3__btn:hover {border-color:var(--prm);}
}
/************************* depth3 끝 *************************/


/************************* footer_inc 시작 *************************/
.footer {padding:1.875em 0 1.7757em; background-color:var(--dark); font-size: var(--fz); text-align: center;}
.footer__home {display: inline-block; margin-bottom: 2.2em;}
.footer__logo {width: 13.75em;}
.footer__list {display: flex; align-items: center; width:max-content; margin: 0 auto; padding-bottom: 0.7em;}
.footer__list:last-of-type {padding-bottom: 0;}
.footer__item {display: flex; align-items: center; color: #fff; letter-spacing: -0.03em;}
.footer__item:after {content:''; margin:0 1.25em; width: 1px; height: 0.7em; background-color: #fff;}
.footer__item:last-child:after {display: none;}
.footer__cprt {margin-top: 1.6em; color: var(--dark-soft); letter-spacing: -0.03em;}
.footer__adm {margin-top: 0.8em; display: inline-flex; align-items: center; gap:0.75em;}
.footer__link,
.footer__link:link,
.footer__link:visited {color: var(--dark-soft);}
@media(max-width:768px){
	.footer__list {display: block; width: 100%; padding-bottom: 0; text-align: center;}
	.footer__item {display: block; line-height: 1.6;}
	.footer__item:after {display: none;}
}

/************************* 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;}