/* include 공통 CSS */
.primary {color: var(--main-color);}
.alert {color: var(--alert);}
.alert--dark {color: var(--alert--dark);}

.main-int {}
.main-int__en {font-size: 1.125em; color: var(--main-color);}
.main-int__tit {font-size: 2.25em; font-weight: 700;}
.main-int__tit--big {font-size: 2.75em;}
.main-int__desc {padding-top: 0.4em; font-size: 1.25em; color: var(--gray800);}
/************************* 서브 섹션 공통 시작 *************************/

/* 섹션 헤더 (영문 소제목 + 국문 제목) */
.sec-head {display: flex; flex-direction: column; gap: 0.5em;}
.sec-head__en {font-size: 1.125em; color: var(--main-color);}
.sec-head__tit {font-size: 2.25em; font-weight: 700; color: var(--main-black);}

/* 좌 타이틀 / 우 본문 2단 (1520 컨테이너 기준 32em + 63em) */
.sec-cols {display: flex; align-items: flex-start; gap: 1em;}
.sec-cols__head {width: 32.63%;}
.sec-cols__body {flex: 1; min-width: 0;}
@media (max-width:768px) {
	.sec-cols {flex-direction: column; gap: 2em;}
	.sec-cols__head {width: 100%;}
	.sec-cols__body {flex:none; width: 100%;}
}

/* dot 리스트 */
.dot-list__item {position: relative; padding-left: 1.5em;}
.dot-list__item::before {content: ''; position: absolute; left: 0.65em; top: 0.65em; width: 0.25em; height: 0.25em; border-radius: 50%; background-color: var(--gray800);}
.dot-list__tit {font-size: 1.25em; font-weight: 700; color: var(--gray800);}
.dot-list__desc {font-size: 1.125em; color: var(--gray600);}
.dot-list__desc b {font-weight: 700;}

/* 번호 리스트 (원형 번호 + 텍스트) */
.num-list__item {display: flex; align-items: center; gap: 2.75em; padding: 1.25em 0; border-bottom: 1px solid var(--gray300);}
.num-list__item:last-child {border-bottom: none;}
.num-list__num {flex: 0 0 auto; display: flex; justify-content: center; align-items: center; width: 5.25em; height: 5.25em; border-radius: 50%;}
.num-list__num span {font-size: 1.5em; font-weight: 700; line-height: 1;}
.num-list__item:nth-child(odd) .num-list__num {background-color: #fff; border: 2px solid var(--main-color); color: var(--main-color);}
.num-list__item:nth-child(even) .num-list__num {background-color: var(--main-color); color: #fff;}
.num-list__text {font-size: 1.5em; font-weight: 500; color: var(--main-black);}


.badge-list {border-top: 2px solid var(--main-color); border-bottom: 2px solid var(--main-color);}
.badge-list__item {display: flex; flex-direction: column; align-items: flex-start; gap: 1.25em; padding: 2.5em 1em;}
.badge-list__item + .badge-list__item {border-top: 1px solid var(--gray200);}
.badge-list__badge {padding: 0.5em 0.75em; border-radius: 1.875em; background-color: var(--third); font-size: 1em; font-weight: 700; color: var(--sub-black);}
.badge-list__info {display: flex; flex-direction: column; gap: 0.6875em;}
.badge-list__tit {font-size: 1.5em; font-weight: 700; color: var(--sub-black);}
.badge-list__desc {font-size: 1.125em; color: var(--gray800);}

/************************* 폼 공통 시작 *************************/
/* 회색 박스 래퍼 */
.form-box {padding: 7.5em 0 8.75em; border-radius: 0.75em; background-color: var(--gray50);}
.form-box__inner {max-width: 1008px; margin: 0 auto;}
@media (max-width:1148px) {
	.form-box__inner {padding: 0 4%;}
}

/* 폼 섹션 (소제목 + 밑줄) */
.form-sec + .form-sec {margin-top: 3.5em;}
.form-sec__head {display: flex; align-items: center; gap: 0.5em; padding-left: 0.6em; padding-bottom: 1em; border-bottom: 2px solid var(--main-color); font-size: 1.25em; font-weight: 700;}
.form-sec__head::before {content: ''; flex: 0 0 auto; width: 5px; height: 5px; border-radius: 50%; background-color: var(--main-black);}
.form-sec__body {margin-top: 1.25em;}

/* 폼 행 (라벨 + 필드) */
.form-row {display: flex; align-items: center; gap: 1em;}
.form-row + .form-row {margin-top: 1.25em;}
.form-row__label {flex: 0 0 115px; padding: 0.55em 0; text-align: center; font-size: 1.125em;}
.form-row__label .req {margin-left: 0.445em; color: var(--alert);}
.form-row__field {flex: 1; min-width: 0; max-width: 35.25em;}
.form-row__field > * + * {margin-top: 0.75em;}
.form-row--wide .form-row__field {max-width: none;}

/* 입력 요소 공통 */
.form-input, .form-select, .form-textarea {width: 100%; height: 2.75em; padding: 0 1em; border: 1px solid var(--gray300); border-radius: 0.5em; background-color: #fff; font-size: 1em; color: var(--gray800);}
.form-input {width: 56.02%;}
.form-input--full {width: 100%;}
.form-input::placeholder, .form-textarea::placeholder {color: var(--gray400);}
.form-input:focus, .form-select:focus, .form-textarea:focus {border-color: #1C89D7; box-shadow: 0 0 8px 0 rgba(28,137,215,0.2);}
.form-select {appearance: none; -webkit-appearance: none; padding-right: 2.5em; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23a5a5a5' stroke-width='1.5' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1em center; cursor: pointer;}
.form-textarea {height: auto; min-height: 12.5em; padding: 1em; resize: none;}

/* 가로 인라인 그룹 (전화번호 · 이메일 등) */
.form-inline {display: flex; align-items: center; gap: 0.5em;}
.form-inline > .form-select {flex: 0 0 auto; width: auto;}
.form-inline__at {flex: 0 0 auto; color: var(--gray800);}
.form-inline--email .form-input, .form-inline--email .form-select {width: 30%;}

/* 라디오 · 체크 그룹 */
.form-choice {display: flex; flex-wrap: wrap; gap: 0.9375em 2.5em;}
.form-choice--col {flex-direction: column; gap: 0.9375em;}
.form-choice__item {display: inline-flex; align-items: center; gap: 0.5em; font-size: 1em; color: var(--gray800); cursor: pointer;}
.form-choice__item input {position: relative; flex: 0 0 auto; width: 18px; height: 18px; cursor: pointer; border: 1px solid var(--gray600); border-radius: 2px; background-color: #fff; appearance: none;}
.form-choice__item .form-radio {border-radius: 50%;}
.form-choice__item .form-radio:checked::after {content: ''; display: block; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 8px; height: 8px; background-color: #4A90E2; border-radius: 50%;}
.form-choice__item .form-checkbox:checked { background: #fff url('./img/checkbox_check.svg') no-repeat center / 11px;}
input[type="checkbox"], input[type="radio"] {position: relative; flex: 0 0 auto; width: 18px; height: 18px; cursor: pointer; border: 1px solid var(--gray600); border-radius: 2px; background-color: #fff; appearance: none;}
input[type="radio"] {border-radius: 50%;}
input[type="radio"]:checked::after {content: ''; display: block; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 8px; height: 8px; background-color: #4A90E2; border-radius: 50%;}
input[type="checkbox"]:checked { background: #fff url('./img/checkbox_check.svg') no-repeat center / 11px;}

/* 약관 스크롤 박스 */
.form-terms {height: 14.625em; padding: 1.25em 2.5em; overflow-y: auto; border: 1px solid var(--gray300); border-radius: 0.5em; background-color: #fff; color: var(--gray800);}

/* 폼 하단 버튼 영역 */
.form-actions {display: flex; justify-content: center; gap: 1em; margin-top: 3em;}

/* 회원가입 스텝 (01·02·03) */
.join-steps {display: flex; justify-content: center;}
.join-steps__item {position: relative; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 0.5em; width: 7em;}
.join-steps__item:not(:last-child) {margin-right: 8em;}
.join-steps__item:not(:last-child)::after {content: ''; position: absolute; top: 2.4em; left: 100%; width: 8em; height: 1px; background-color: var(--gray300);}
.join-steps__en {color: var(--gray400);}
.join-steps__num {font-size: 1.5em; font-weight: 700; color: var(--gray400); line-height: 1;}
.join-steps__icon {opacity: 0.5; width: 3em; height: 3em; margin-top: 0.5em;}
.join-steps__icon img {width: 100%; height: 100%; object-fit: contain;}
.join-steps__label {font-size: 1em; color: var(--gray400);}
.join-steps__item.is-active .join-steps__num,
.join-steps__item.is-active .join-steps__label {color: var(--sub-black);}
.join-steps__item.is-active .join-steps__en {color: var(--gray600);}
.join-steps__item.is-active .join-steps__icon {opacity: 1;}

@media(max-width:768px){
	.form-input {width: 100%;}
	.form-row {flex-direction: column; align-items: flex-start; gap: 0.5em;}
	.form-row__label {flex: 0 0 auto; padding-top: 0; text-align: left;}
	.form-row__field {max-width: 100%; width: 100%;}
	.form-inline--email .form-input, .form-inline--email .form-select {flex: 1;}
	.join-steps__item:not(:last-child) {margin-right: 3em;}
	.join-steps__item:not(:last-child)::after {width: 3em;}
}

/* ---------- 공통 팝업 골격 ---------- */
.popup {position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 1em;}
.popup.is-open {display: flex;}
.popup__dim {position: absolute; inset: 0; background-color: rgba(0,0,0,0.6);}
.popup__panel {position: relative; width: 47em; max-width: 100%; max-height: 90vh; overflow-y: auto; padding: 3.75em 2.5em; border-radius: 1em; background-color: rgba(255,255,255,0.8); backdrop-filter: blur(14px); text-align: center;}
.popup__close {position: absolute; right: 1.5em; top: 1.5em; width: 1.5em; height: 1.5em; border: 0; background: none; cursor: pointer; color: var(--sub-black);}
.popup__close::before, .popup__close::after {content: ''; position: absolute; left: 50%; top: 50%; width: 1.25em; height: 2px; background-color: currentColor;}
.popup__close::before {transform: translate(-50%,-50%) rotate(45deg);}
.popup__close::after {transform: translate(-50%,-50%) rotate(-45deg);}
.popup__tit {font-size: 1.5em; font-weight: 700; color: var(--sub-black); line-height: 1.4;}
.popup__desc {margin-top: 0.75em; font-size: 1.125em; color: var(--gray800); line-height: 1.4;}
.popup__choice {justify-content: center; margin-top: 2em;}
@media (max-width:500px) {
	.popup__panel {padding: 3em 1.5em;}
}

/************************* 서브 섹션 공통 끝 *************************/
/************************* 공통 시작*************************/
.inner {width: 100%; max-width:1520px; margin: 0 auto; }
.inner--fill {max-width:none; padding-right: calc((100% - 1600px) / 2); padding-left: calc((100% - 1600px) / 2);}
@media(max-width:1560px){
	.inner {padding: 0 4%;}
}

.sub-container {padding-top: 5em; padding-bottom: 7.5em; min-height:5rem;}
/************************* 공통 끝 *************************/

/************************* header_inc 시작*************************/
.header__fix {position: fixed; left:0; top:0; z-index: 100;width:100%;  height: 6.25em; font-size: var(--fz); --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 {position: relative; display: flex; justify-content: space-between; align-items: center; max-width: 1840px; margin: auto; padding: 0 2.5em; height: inherit; background-color: rgba(255,255,255,0.3); border-radius: 0 0 12px 12px;}
.header__inner::before {content: ''; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; backdrop-filter: blur(30px); border-radius: 0 0 12px 12px; z-index: -1;}
.header__ctrl {display: flex; align-items: center; height: inherit;}

@media (min-width:769px) {
	#header.hide .header__fix {top: -6.25em;}
}
@media (max-width:1880px) {
	.header__inner {width: calc(100% - 32px); margin: 0 auto;}
}
@media (max-width:768px) {
	.header__inner {padding: 0 4%;}
}

.header-home__logo {width: 9.0625em; transition: 0.15s ease-in-out all;}

.header-navi {position: relative; margin-left: auto; transition: .15s ease-in-out all;}
.header-navi__m-list {display: flex; gap: 3.75em;}
.header-navi__m-item {}
.header-navi__m-item:last-child {margin-right: 0;}
.header-navi__m-btn {display: flex; justify-content: center; align-items: center;}
.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 {padding-left: 10em;}
.header-link {display: inline-flex; gap: 1em;}
.header-link__btn {display: inline-flex; justify-content: center; align-items: center; width: 3.25em; aspect-ratio: 1; border-radius: 50%; background: var(--gradient02);}
.header-link__icon {width: 1.125em;}

.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:1320px) {
	.header__ctrl {padding-left: 2em;}
}
@media(max-width:1080px){
	.header-lang {display: none;}	
	.header__ctrl {padding-left: 0;} 
}

.header-login {margin-left: 1em;}
.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 {min-width: auto; padding: 0.6em 1.4em; font-size: 1.25em;}
.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__ctrl .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: #fff;}
.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(--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: #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-navi__m-btn {color: var(--sub-black);}
.header__fix.enter .header-navi__m-btn--crt {border-color: var(--sub-black);}
.header__fix.enter .header-navi__m-btn:hover {border-color: var(--sub-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 {display: none; 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 시작 *************************/
.tab-menu {border-bottom:1px solid var(--gray300)}
.tab-menu__list {display: flex; justify-content: center;}
.tab-menu__item {}
.tab-menu__btn {min-width: 12em; padding: 1.3285em 0.5em; display: flex; justify-content: center; align-items: center; text-align: center; height: 100%; border-bottom: 2px solid transparent; font-size: 1.125em; font-weight: 500; color: var(--gray400); transition: .15s ease-in-out all;}
.tab-menu__btn--crt {border-color: var(--main-color); font-weight: 700;}
.tab-menu__btn--crt,
.tab-menu__btn--crt:link,
.tab-menu__btn--crt:visited {color: var(--gray800);}
@media(hover:hover){
	.tab-menu__btn:hover {border-color: var(--main-color); color: var(--gray800);}
}
@media (max-width:768px) {
	.tab-menu__item {flex: 1;}
	.tab-menu__btn {min-width: auto;}
}
/************************* 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 {padding: 0; background-color: var(--secondary); color: #fff; font-size: var(--fz);}

/* 상단 : 회사정보 + SNS */
.footer__top {display: flex; justify-content: space-between; align-items: flex-end; padding: 2.5em 0 1.25em;}
.footer__corps {display: flex; gap: 7.5em;}

.footer-corp {width: 16.125em;}
.footer-corp__name {font-size: 1.125em; font-weight: 700;}
.footer-corp__list {margin-top: 1.14286em; display: flex; flex-direction: column; gap: 0.5714em; font-size: 0.875em;}
.footer-corp__row {display: flex; align-items: center; gap: 1em;}
.footer-corp__cell {display: flex; align-items: flex-start; gap: 0.4286em;}
.footer-corp__label {font-weight: 700; opacity: 0.7; white-space: nowrap;}
.footer-corp__label--normal {font-weight: 500;}
.footer-corp__value {opacity: 0.5;}
.footer-corp__value--link {transition: .15s ease opacity;}
.footer-corp__value--link:hover {opacity: 0.8;}
.footer-corp__bar {flex: 0 0 auto; width: 1px; height: 0.5em; background-color: rgba(255,255,255,0.25);}

.footer__sns {display: flex; align-items: center; gap: 1em; margin-left: auto;}
.footer__sns-link {display: flex; justify-content: center; align-items: center; width: 3.25em; height: 3.25em; border-radius: 50%; border: 1px solid var(--forth);}
.footer__sns-link img {width: 1.125em;}

/* 하단 : 카피라이트 + 약관 */
.footer__bottom {display: flex; justify-content: space-between; align-items: center; padding: 1.25em 0 2.5em; border-top: 1px solid rgba(255,255,255,0.1);}
.footer__copy {font-size: 0.875em; opacity: 0.4;}
.footer__links {display: flex; align-items: center; gap: 1em; font-size: 0.875em;}
.footer__link {color: inherit; opacity: 0.4; white-space: nowrap; transition: .15s ease opacity;}
.footer__link:visited, .footer__link:link {color: inherit;}
.footer__link:hover {opacity: 0.8;}
.footer__bar {flex: 0 0 auto; width: 1px; height: 0.5em; background-color: rgba(255,255,255,0.25);}

@media (max-width: 1080px) {
	.footer__top {flex-direction: column; align-items: flex-start; gap: 2em;}
	.footer__corps {gap: 4em;}
}
@media (max-width: 768px) {
	.footer__corps {flex-direction: column; gap: 2em;}
	.footer-corp {width: 100%;}
	.footer__bottom {flex-direction: column; align-items: flex-start; gap: 1em;}
	.footer__links {flex-wrap: wrap;}
}


/************************* 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;}