/* include 공통 CSS */
.scroll-lock {overflow: hidden;}

.heading {font-size: var(--heading);}
.heading-lg {font-size: var(--heading-lg);}
.heading-xl {font-size: var(--heading-xl);}
.heading-2xl {font-size: var(--heading-2xl);}
.heading-3xl {font-size: var(--heading-3xl);}
.heading-4xl {font-size: var(--heading-4xl);}
.heading-5xl {font-size: var(--heading-5xl);}
.heading-10xl {font-size: var(--heading-10xl);}

.text-3xs {font-size: var(--text-3xs);}
.text-2xs {font-size: var(--text-2xs);}
.text-xs {font-size: var(--text-xs);}
.text-sm {font-size: var(--text-sm);}
.text-lg {font-size: var(--text-lg);}
.text-xl {font-size: var(--text-xl);}

.fw-100 {font-weight: 100;}
.fw-200 {font-weight: 200;}
.fw-300 {font-weight: 300;}
.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;}
.fw-900 {font-weight: 900;}

.white {color: #fff;}
.black {color: var(--main-black);}
.primary {color: var(--main-color)}
.secondary {color: var(--secondary)}
.tertiary {color: var(--tertiary)}
.alert {color: var(--alert);}

.text-upper {text-transform: uppercase;}
.text-capital {text-transform: capitalize;}

.gray-50 {color: var(--gray-50)}
.gray-100 {color: var(--gray-100)}
.gray-200 {color: var(--gray-200)}
.gray-300 {color: var(--gray-300)}
.gray-400 {color: var(--gray-400)}
.gray-500 {color: var(--gray-500)}
.gray-600 {color: var(--gray-600)}
.gray-700 {color: var(--gray-700)}
.gray-800 {color: var(--gray-800)}
.gray-900 {color: var(--gray-900)}

.text-left {text-align:left;}
.text-right {text-align:right;}
.text-center {text-align:center;}

.ls-tightest {letter-spacing: -0.05em; }
.ls-tighter {letter-spacing: -0.03em; }
.ls-tight {letter-spacing: -0.01em; }
.ls-wide {letter-spacing: 0.01em; }
.ls-wider {letter-spacing: 0.03em; }
.ls-widest {letter-spacing: 0.05em; }

.lh-100 {line-height: 1}
.lh-110 {line-height: 1.1}
.lh-120 {line-height: 1.2}
.lh-130 {line-height: 1.3}
.lh-140 {line-height: 1.4}
.lh-150 {line-height: 1.5}
.lh-160 {line-height: 1.6}
.lh-170 {line-height: 1.7}
.lh-180 {line-height: 1.8}
.lh-190 {line-height: 1.9}
.lh-200 {line-height: 2}

.shadow-1 {box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);}
.shadow-2 {box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);}
.shadow-3 {
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
              0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.shadow-4 {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
              0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.shadow-5 {box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);}
/************************* 공통 시작*************************/
.inner-1340 {width: 100%; max-width:1340px; margin: 0 auto; }
.inner-1364 {width: 100%; max-width:1364px; margin: 0 auto; }
.inner {width: 100%; max-width:1640px; margin: 0 auto; }
.inner--fill {max-width:none; padding-right: calc((100% - 1640px) / 2); padding-left: calc((100% - 1640px) / 2);}
.inner-1780l {width:100%; max-width:none; padding-left: calc((100% - 1780px));}
@media(max-width:1380px){
	.inner-1340 {padding: 0 4%;}
}
@media(max-width:1404px){
	.inner-1364 {padding: 0 4%;}
}
@media(max-width:1680px){
	.inner {padding: 0 4%;}
}
@media(max-width:1820px){
	.inner-1780l {padding: 0 0 0 4%;}
}

.sub-container {padding-top: 7.5em; min-height:5rem;}

@media (max-width:768px){
	.sub-container {padding-top: 3.75em;}
}
/************************* 공통 끝 *************************/

/************************* 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 {display: flex; justify-content: space-between; align-items: center; height: inherit}
.header__ctrl {display: flex; align-items: center; height: inherit;}

.header-home {position: relative;}
.header-home__logo {width: 11.1875em; transition: 0.15s ease-in-out all; opacity: 1;}
.header-home__logo--ho {position: absolute; left:0; top:0; opacity: 0;}

.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: 100%; 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-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; color:rgba(255,255,255,0.6); font-weight: 500; font-size: 1.125em; padding: 0.2223em 0; border-bottom:1px solid transparent; margin-right: 1.6667em;}
.header-lang__btn:last-child {margin-right: 0;}
.header-lang__btn--active {color:#fff; border-bottom:1px solid #fff;}
@media(hover:hover){
	.header-lang__btn:hover {color: #fff; border-bottom:1px solid #fff;}
}
@media(max-width:768px){
	.header-lang {display: none;}	
}

.header-drawer {position: relative; margin-left: 4.0625em;}
.header-drawer__btn {position: relative; width: 22px; height: 12px; z-index: 0; transition:.15s ease-in-out all;}
.header-drawer__line {position: absolute; left: 0; width: 100%; height: 2px; border-radius:50px; 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:1320px){
	.header-drawer {margin-left: 2.0625em;}
}
@media (max-width:768px){
	.header-drawer {margin-left: 0;}
}

.header__fix.enter {background-color: #fff;}
.header__fix.enter .header-home__logo--nor {opacity: 0;}
.header__fix.enter .header-home__logo--ho {opacity: 1;}
.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-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 시작 *************************/
.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 {padding:3.75em 0;}
.depth3__list {display: flex; flex-flow: row wrap; gap:1em 0}
.depth3__item {flex:1;}
.depth3__item:last-child {border:0;}
.depth3__btn {font-size: var(--heading); font-weight: 600; line-height: 1; letter-spacing: -0.03em; padding:0 0.5em 1em; width: 100%; height: 100%; display: flex; align-items: center;justify-content: center; border-bottom:2px solid var(--gray-800); color:var(--gray-800); transition:.15s ease all; opacity: 0.4; text-align: center; white-space:nowrap;}
.depth3__btn--crt {border-color:var(--main-color); color:var(--main-color); opacity: 1;}
@media(hover:hover){
	.depth3__btn:hover {border-color:var(--main-color); color:var(--main-color); opacity: 1;}
}

/************************* depth3 끝 *************************/


/************************* footer_inc 시작 *************************/
.footer {padding:3.75em 0; font-size: var(--fz); background-color: var(--main-black);} 

.footer-top {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;;}
.footer-home {display: inline-block;}
.footer-home__logo {width: 11.1875em;}
.footer-navi {display: flex; gap:2.5em}
.footer-navi__link {color:#fff; font-size: 1.125em; line-height: 1.6; font-weight: 600;}

@media (max-width:500px){
	.footer-home__logo {margin-bottom: 1.25em;}
	.footer-navi {width: 100%; gap:1.5em}
}

.footer-info {padding-top: 2.5em; margin:2.5em 0 3.75em; width: 100%; border-top:1px solid rgba(255,255,255,0.2)}
.footer-info__item {margin-bottom: 0.875em; display: flex; flex-wrap:wrap; gap:1.875em}
.footer-info__item:last-child {margin-bottom: 0;}
.footer-info__info {font-size: 0.875em; display: inline-flex; align-items: center;}
.footer-info__cate {display: block; margin-right: 1em; color:#6e6e6e;}
.footer-info__desc {color: #fff;}
.footer-info__desc--link {transition:.15s ease all; color: #fff;}
@media(max-width:500px){
	.footer-info__item {gap:0.875em}
	.footer-info__detail {width: 100%; margin-right: 0;}
}
@media(hover:hover){
	.footer-info__desc--link:hover {color: var(--main-color);}
}

.footer-bottom {display: flex; justify-content: space-between;}

.footer-adm {display: flex; flex-flow: row wrap;}
.footer-adm__cprt {font-size: 0.8125em; margin-right: 1em; color:#888;}
.footer-adm__nav {display: flex;}
.footer-adm__link {font-size: 0.8125em; margin-right: 1em; display: inline-block; transition:.15s ease all; color: #888;}
.footer-adm__link:last-of-type {margin-right: 0;}
@media(max-width:500px){
	.footer-bottom {flex-direction: column;}
	.footer-adm {width:100%; padding-bottom: 1.25em;}
}
@media(hover:hover){
	.footer-adm__link:hover {color: var(--main-color);}
}

.footer-sns {display: flex; gap:1.875em}
.footer-sns__link img {transition:all 0.4s;}

@media (hover: hover){
	.footer-sns__link:hover img {filter:contrast(0) brightness(2);}
}


/************************* 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;}


.product {padding:3.75em 0 7.5em}
.product-wrap {display: flex; flex-wrap: wrap; justify-content: center; gap:2.5em 2.4391%;}
.product-wrap__item {width:23.1708%;}
.product-wrap__link {display: flex; flex-direction: column; width:100%; height:100%; min-height: 25em; align-items: center; text-align: center; padding:9.3737%; background: var(--gray-50); transition: all 0.4s;}
.product-wrap__figure {width:9.375em; overflow: hidden; border-radius:50%; margin-bottom: 1.25em;}
.product-wrap__name {font-size: var(--heading); font-weight: 600; line-height: 1; letter-spacing: -0.03em; transition: all 0.4s; padding-bottom: 0.5em;}
.product-wrap__english {font-weight: 500; color:var(--gray-800); padding-bottom: 1.25em; transition: all 0.4s;}
.product-wrap__desc {font-weight: 500; line-height: 1.6; letter-spacing: -0.03em; color:var(--gray-800); transition: all 0.4s;}

@media (hover: hover){
	.product-wrap__link:hover {background: var(--main-color);}
	.product-wrap__link:hover .product-wrap__name {color:#fff;}
	.product-wrap__link:hover .product-wrap__english {color:#fff;}
	.product-wrap__link:hover .product-wrap__desc {color:#fff;}
}

@media (max-width:1320px){
	.product-wrap__item {width:31.6708%;}
	.product-wrap__link {padding:9.3737% 4%;}
	.product-wrap__desc br {display: none;}
}
@media (max-width:768px){
	.product-wrap__item {width:48.7708%;}
}

.field-visual {display: flex; padding-bottom: 7.5em;}
.field-visual__swiper {width:57.8049%;}
.field-visual__box {width:42.1952%; padding:3.6586%; background: var(--gray-50);}
.field-visual__title {font-size: var(--heading-xl); font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; padding-bottom: 0.9375em; margin-bottom: 0.9375em; border-bottom:1px solid var(--gray-300)}
.field-visual__desc {font-size: 1.125em; font-weight: 500; line-height: 1.6; letter-spacing: -0.03em; color:var(--gray-800)}
.field-visual .swiper-btn {display: flex; align-items: center; position: absolute; right:2.25em; bottom:2.25em;}
.field-visual .swiper-button-next {position:initial; width:1.5em; height:1.5em; margin-top: 0; background: url(./img/field-visual_next.png) no-repeat center / cover;}
.field-visual .swiper-button-next:after {display: none;}
.field-visual .swiper-pagination {position:initial; font-size: 1.125em; font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; color:var(--gray-800); padding:0.5556em;}

@media (max-width:768px){
	.field-visual {flex-direction: column; padding-bottom: 3.75em;}
	.field-visual__swiper {width:100%;}
	.field-visual__box {width:100%;}
}

.field__title {font-size: var(--heading-xl); font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; padding-bottom: 1em;}

.field-case {padding-bottom: 7.5em;}
.field-case table {width:100%; border-top:2px solid var(--main-color);}
.field-case tr {border-bottom:1px solid var(--gray-300); height:3.75em}
.field-case th {background: var(--gray-50); font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; color:var(--main-color); text-align: left; padding:0.625em 1.25em;}
.field-case td {font-weight: 500; line-height: 1.4; letter-spacing: -0.03em; color:var(--gray-800); padding:0.625em 1.25em}

@media (max-width:768px){
	.field-case {padding-bottom: 3.75em;}
}

.field-spec {padding-bottom:7.5em;}
.field-spec__wrap {display: flex; justify-content: space-between;}
.field-spec__box {width:46.3415%;}
.field-spec__title {font-size: var(--heading); font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; color:var(--main-color); padding-bottom: 0.8em; margin-bottom: 1em; border-bottom: 2px solid var(--main-color);}
.field-spec__info {display: flex; flex-wrap: wrap;}
.field-spec__desc {width:45.1316%; font-size: var(--text-xl); font-weight: 500; line-height: 1.6; letter-spacing: -0.03em; color:var(--gray-800);}

@media (max-width:768px){
	.field-spec {padding-bottom: 3.75em;}
	.field-spec__info {flex-direction: column;}
	.field-spec__desc {width:100%; padding-bottom: 1.25em;}
	.field-spec__desc:last-child {padding-bottom: 0;}
}
@media (max-width:500px){
	.field-spec__wrap {flex-direction: column;}
	.field-spec__box {width:100%; padding-bottom: 8%;}
	.field-spec__box:last-child {padding-bottom: 0;}
}

.field-character {padding-bottom: 7.5em;}
.field-character table {width:100%}
.field-character thead {border-top:1px solid var(--main-color)}
.field-character thead tr {height:3.75em; background: var(--gray-50);}
.field-character thead th {font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; color:var(--main-color);}
.field-character tbody tr {height:10em;}
.field-character tbody td {padding:1.25em}
.field-character tbody td:nth-child(1) {text-align: center; font-weight: 600; line-height: 1.6; letter-spacing: -0.03em; color:var(--main-color); background: var(--gray-50);}
.field-character tbody td:nth-child(2) {font-weight: 500; line-height: 1.6; letter-spacing: -0.03em; color:var(--gray-800);}
.field-character tbody td:nth-child(3) {text-align: center; font-weight: 600; line-height: 1.6; letter-spacing: -0.03em; color:var(--gray-800); background: var(--gray-50);}
.field-character tr {border-bottom:1px solid var(--gray-300)}

@media (max-width:768px){
	.field-character {padding-bottom: 3.75em;}
	.field-character__scroll {overflow-x: auto;}
	.field-character__scroll table {width:768px;}
}

.field-nature {padding-bottom: 7.5em;}
.field-nature table {width:100%; border-top:1px solid var(--main-black)}
.field-nature table thead th {height:3.75em; background: var(--gray-50); font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; position: relative;}
.field-nature table thead th:after {content:''; display: block; width:2px; height:calc(100% - 1px); background: #fff; position: absolute; bottom:0; right:-1px;}
.field-nature table thead th:last-child:after {display:none;}
.field-nature table thead tr:first-child th:last-child {border-bottom:2px solid #fff;}
.field-nature table tbody tr {height:3.75em; border-bottom:1px solid var(--gray-300)}
.field-nature table tbody tr:first-child {border-top:1px solid var(--gray-300)}
.field-nature table tbody th { background: var(--gray-50); font-weight: 600; line-height: 1.4; letter-spacing: -0.03em;}
.field-nature table tbody td {border-right:1px solid var(--gray-300); padding:0.625em 1.25em; color:var(--gray-800)}
.field-nature table tbody td:last-child {border-right:none;}
.field-nature__desc {padding-top: 1.25em;}

@media (max-width:768px){
	.field-nature {padding-bottom: 3.75em;}
	.field-nature__scroll {overflow-x: auto;}
	.field-nature__scroll table {width:768px;}
}

.field-application {padding-bottom: 7.5em;}
.field-application__wrap {display: flex; gap:1.2813em 1.25%;}
.field-application__box {width:32.5%; position: relative;}
.field-application__title {width:100%; padding:0.4167em 0; background: rgba(0,0,0,0.8); position: absolute; bottom: 0;}

@media (max-width:768px){
	.field-application {padding-bottom: 3.75em;}
}

.branch {padding:3.75em 0 7.5em}
.branch-wrap {display: flex; flex-wrap: wrap; justify-content: center; gap:0 3.2787%; max-width:1220px; margin:0 auto;}
.branch-wrap__box {width:31.1476%; border-radius:50%; overflow: hidden; position: relative;}
.branch-wrap__box img { transition:all 0.4s;}
.branch-warp__desc {position: absolute; left:50%; top:50%; transform: translate(-50%, -50%); width:max-content}

.branch--03 .branch-wrap {max-width:none; gap:0 2.4391%;}
.branch--03 .branch-wrap__box {width:23.1708%;}

@media (hover: hover) {
	.branch-wrap__box:hover img {scale:1.1;}
}

@media (max-width:768px){
	.branch {padding:1.875em 0 3.75em;}
	.branch-wrap {gap:1.25em 3.2787%;}
	.branch-wrap__box {width:48.3476%;}

	.branch--03 .branch-wrap {max-width:none; gap:1.25em 2.4391%;}
	.branch--03 .branch-wrap__box {width:48.7708%;}
}