@charset "utf-8";

/* **************************************** *
 * SUB set
* @description 서브 비주얼 및 기본 레이아웃 세팅입니다.
 * **************************************** */

/* Sub title  */
#page-title{}

/* SUB VISUAL */
#sub-visual{position:relative;height:740rem;}
#sub-visual::before {z-index: 1; opacity: .3; position: absolute; left:0; bottom:0; content:''; width: 100%; height: 250rem; background: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);}
#sub-visual .wrap, 
.sub-visual__title {z-index: 21; position: relative; height: 100%;}
.sub-visual__title {align-items: center; padding-bottom: max(1.5625vw, 30rem); text-align: center;}
.sub-visual__title h2{font-size:var(--font-72);color:var(--w);text-transform: uppercase;}

.sub-visual__desc{margin-top:17rem; font-weight:600; font-size:20rem;}

.sub-visual__bg{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;overflow: hidden;}
.sub-visual__bg > i{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50% 50%;transition:var(--trans-01);background-repeat:no-repeat;opacity: 1 !important;}

body[class^="sub01_"] .sub-visual__bg > i{background-image:url(../img/sub/sub-visual01.jpg);}
body[class^="sub02_"] .sub-visual__bg > i{background-image:url(../img/sub/sub-visual02.jpg);}
body[class^="sub03_"] .sub-visual__bg > i{background-image:url(../img/sub/sub-visual03.jpg);}
body[class^="sub04_"] .sub-visual__bg > i{background-image:url(../img/sub/sub-visual04.jpg);}
body[class^="sub05_"] .sub-visual__bg > i{background-image:url(../img/sub/sub-visual05.jpg);}

/* board visual set */
body:is(.promotion, .promotion_en) .sub-visual__bg > i{background-image:url(../img/sub/sub-visual04.jpg);}
body:is(.notice, .notice_en, .drive, .drive_en) .sub-visual__bg > i{background-image:url(../img/sub/sub-visual05.jpg);}

/* lnb */
#lnb{position: absolute;width: 100%;bottom: 45rem;z-index: 100;}
#lnb .select-link{width: auto;}
#lnb .depth1 .sub-menu,
#lnb .select-link__btn{display:none;}
#lnb .select-link {width: 100%;}

#lnb.lnb-select .select-link__btn{display:flex; align-items:center; font-size:20rem; color:#fff;padding-right: 70rem;}
#lnb.lnb-select  .select-link__btn::after{content:"";position:absolute;right:0;width:40rem;height:40rem;background-color:rgba(255,255,255,0.2);background-size: 12rem;background-position:50% 50%;background-image:url(../img/layout/arrow-basic_w.svg);background-repeat:no-repeat;border-radius:100%;transform: rotate(90deg);}
#lnb.lnb-select .select-link__btn.on::after{transform: rotate(270deg);}
#lnb.none-select .select-link__btn{pointer-events:none; cursor:text;}
#lnb.none-select .select-link__btn::after{opacity:0;}

#lnb:not(.lnb-select) .select-link:has(.depth1){display:none; height:100rem; background:#000;}
#lnb:not(.lnb-select) .select-link > ul{opacity:1;visibility:visible; margin-top: 0; padding:0 0;background:none;flex-direction:row;flex-wrap:nowrap;flex-wrap: wrap;position: relative; justify-content: center; gap: 0 52rem;}
#lnb:not(.lnb-select) .select-link > ul a{position: relative; display: block; padding:20rem 0; font-size: var(--font-20); font-weight: 600; border-top: 3rem solid transparent; transition: var(--trans-01);}
#lnb:not(.lnb-select) .select-link > ul > li.on > a {opacity: 1;}
#lnb:not(.lnb-select) .select-link > ul a.on,
#lnb:not(.lnb-select) .select-link > ul a:hover{opacity: 1; border-top-color: var(--w);}
/*#lnb:not(.lnb-select) .select-link > ul a.on{opacity: 1;} 위의 소스 3차까지 먹이기 체크필요 */ 
#lnb:not(.lnb-select) .select-link > ul > li{width: auto;}
#lnb:not(.lnb-select):not(:has(li:nth-child(2))){display: none;} /* 2차가 하나일때 lnb 숨기기 */

#lnb.lnb-select:has(.select-link:nth-child(2)){display:flex;align-items: center;}
#lnb.lnb-select .select-link + .select-link:has(.depth2){margin-left:20rem;}
#lnb .lnb-inner{display:flex;}

a.lnb-home{display:block; width:15rem; margin-right:20rem; background:url(../img/common/ic-nav-home_w.svg) no-repeat 50% 50%; font-size:0; min-height:100%;}

/* sub nav */
#sub-nav{display: flex; align-items: center; margin-bottom: 28rem;}
#sub-nav > *{position: relative; text-transform: uppercase; color: var(--op-w50);}
#sub-nav > *:last-child::after{display: none;}
#sub-nav .sub-home {display: inline-flex; align-items: center;}
#sub-nav .sub-home::before {opacity: .5; content:''; width: 14rem; height: 14rem; margin-right: 8rem; background: url(../img/layout/ic-star_w.svg) no-repeat center / contain;}
#sub-nav > i {display:block; width:10rem; height:10rem; margin:0rem 10rem;}
#sub-nav > i::after {position: absolute; left: 50%; top: 50%; content:''; width: 5rem; height: 5rem; margin-top: -1px; margin-left: -1px; border: solid var(--op-w30); border-width: 0 2rem 2rem 0; box-sizing: content-box; transform: translate(-50%, -50%) rotate(-45deg);}
#sub-nav .depth02 {color: var(--c-01) !important; font-weight: 600;}
#sub-nav:has(.depth02:empty) .depth01::after{display: none;}
body:has(#sub-nav span:empty) #sub-nav .depth01 ~ i{display: none;}

/* snb */
#snb{display:flex;align-items:center;}
#snb li.on a{opacity:1;}
#snb li a{display:flex;justify-content:center;align-items:center;height: 50rem;box-sizing:border-box;border: 1px solid var(--g-01);font-size:18rem;font-size:var(--font-18);transition:var(--trans-01);padding: 0rem 30rem;}
#snb li:not(:last-child) a{border-right:0;}
#snb li.on a{background:var(--c-01); color:#fff; border-color:var(--c-01);}
#snb-title{font-weight:400;}
#snb li:not(.on) a:hover{color: var(--g-02);}

@media all and (max-width:1023px){
	#sub-visual {height: 620rem;}
	#lnb {bottom: 33rem;}
}

@media all and (max-width:860px){
	#sub-visual {height: 564rem;}
	#lnb:not(.lnb-select) .select-link > ul {gap: 0 40rem;}
	#lnb:not(.lnb-select) .select-link > ul a {font-weight: 500;}
}

@media (max-width: 540px){
	#sub-visual{height:430rem;}
	.sub-visual__title {padding-bottom: 100rem;}

	#sub-nav{margin-top: 20rem; margin-bottom: 15rem;}
	#sub-nav span{font-size:13rem;}
	#sub-nav > i{margin: 0rem 6rem;}

	#lnb{top:auto; bottom:0rem;}
	#lnb.lnb-select .select-link__btn{font-size:17rem;}
	#lnb .select-link:has(.depth1){display:none;}
	#lnb .select-link:has(.depth2){margin-left:0;}
	#lnb.lnb-select:not(:has(li:nth-child(2))){display: none;}
	#lnb.lnb-select .select-link:nth-child(2){margin-left:0;}
	#lnb .lnb-inner{z-index: 10; display:block;margin:0;width:100%; box-sizing:border-box;}
	#lnb.lnb-select{opacity:1 !important; width: 100%; padding: 20rem 20rem 0; border-radius: 10rem 10rem 0 0; background: var(--w); box-sizing:border-box; transform:none !important;}
	/* #lnb.lnb-select:has(li:nth-child(2)){display:block;}	 */
	#lnb.lnb-select .select-link + .select-link:has(.depth2){margin-left:0;}
	#lnb.lnb-select .select-link{width:100%; box-sizing:border-box; margin-left:0;}
	#lnb.lnb-select .select-link__btn{padding:20rem;font-size: 14rem; border-radius: 5rem; background: var(--bg-02);}
	#lnb.lnb-select  .select-link__btn::after{right:6rem; background-color:inherit;}
	#lnb .select-link > ul{margin-top:5rem; padding:12rem 0; border-radius: 5rem; background: var(--bg-02);}
	#lnb .select-link > ul a{opacity: .5; padding: 8rem 20rem;font-weight:200;font-size:14rem;}
    #lnb .select-link > ul a.on {opacity: 1; font-weight: 500;}
 
	#lnb:not(.lnb-select) .select-destroy li a{white-space:nowrap;}
	#lnb:not(.lnb-select) {width:100% !important; margin:0 !important; background:none;}
	#lnb:not(.lnb-select) .select-destroy{padding-left:20rem; overflow-x:scroll;}
	#lnb:not(.lnb-select) .select-destroy li:last-child{padding-right:40rem;}
	#lnb:not(.lnb-select) .select-destroy li a{opacity:0.5; color:#fff;}
	#lnb:not(.lnb-select) .select-destroy li.on a{opacity:1;}
	#lnb:not(.lnb-select) .select-destroy li + li{margin-left: 10rem;}
	#lnb:has(.select-destroy):not(.lnb-select) .select-link__btn::after{display:none;}
}

/* **************************************** *
 * SUB layout
* @description 서브단에서만 달라지는 header, footer 정의
 * **************************************** */
#header{}
#footer{}

@media (max-width:1200px){

}
@media all and (max-width:1023px){

}

@media (max-width: 540px){

}

/* **************************************** *
 * SUB common
 * **************************************** */
.sub-content{z-index: 1; position:relative; min-height: 700rem; margin-top: min(-1.5625vw, -30rem); padding: max(8.8542vw, 170rem) 0 max(9.3750vw, 180rem); border-top-left-radius:max(1.5625vw, 30rem); border-top-right-radius:max(1.5625vw, 30rem); background: var(--w);}
.sub-content:has(.product-list) {padding-top: max(7.8125vw, 150rem);}
.sub-content:has(.product-view) {padding: 0 !important;}
.sub-content:has(.product-view)::before {z-index: 1; position: absolute; left:50%; top: 0; content:''; width: 1px; height: 100%; background: var(--br-01);}
.sub-content:has(.about-info) {padding-top: 0 !important;}
.sub-content:has(.about-info, .mission-list) {padding-bottom: 0 !important;}

h3 {font-size: var(--font-55);}
h4 {font-size: var(--font-42);}
h5 {font-size: var(--font-32);}
h6 {font-size: var(--font-27);}
h3, h4, h5, h6 {color: var(--b-01);}

@media (max-width: 1023px){
    .sub-content {padding: var(--space140) 0;}
    .sub-content:has(.product-list) {padding-top: var(--space140);}
}

@media (max-width: 540px){
	.sub-content {margin-top: -1px; padding: var(--space140) 0; border-radius: 0;}
    .sub-content:has(.product-list) {padding-top: var(--space140);}
    .sub-content:has(.product-view)::before {display: none;}
	.sub-content:has(.about-info) {padding: var(--space140) 0 !important;}
}

/* **************************************** *
 * SITE CUSTOM
 * **************************************** */

/* 회사소개 */
.about-intro {height: 100vh;}
.about-intro__inr {overflow: hidden; position: relative; width: 73vw; height: 546rem; flex-direction: column; justify-content: center; margin: 0 auto; text-align: center; background: url(../img/sub/about-big.jpg) no-repeat center / cover;}
.about-intro__bg {opacity: .22; position: absolute; left:0; top:0; content:''; width: 100%; height: 100%; background: #000;}
.about-intro__txt {position: absolute; top: 25vh; width: 100%; z-index: 1;}
.about-intro__txt em {display: block; width: 100%; font-family: var(--lang-en); font-size: 100rem; font-weight: 1000; letter-spacing: -1px;}
.about-intro__txt h3 {opacity: 0; margin-top: 54rem; font-weight: 700; line-height: 1.35;}
.about-intro__txt > div {opacity: 0; margin-top: 50rem;}
.about-intro__txt p + p {margin-top: 20rem;}

.about-info {overflow: hidden;}
.about-info__inr {width: auto; height: 100vh; color: var(--b-01);}
.about-info__box {flex-shrink: 0;}
.about-info__start {flex-shrink: 0; width: calc(50vw - 22rem); padding-left: 13vw; padding-right: 160rem;}
.about-info__start ul {margin-top: 40rem;}
.about-info__start ul li {display: flex; align-items: flex-start; color: var(--b-01); line-height: 1.5;}
.about-info__start ul li + li {margin-top: 12rem;}
.about-info__start ul li em {flex-shrink: 0; position: relative; display: inline-flex; align-items: center; min-width: 120rem; padding-right: 15rem; margin-right: 15rem; font-weight: 600; color: var(--b-03);}
.about-info__start ul li em::before {content:''; display: block; width: 14rem; height: 14rem; margin-right: 10rem; background: url(../img/layout/ic-star_c.svg) no-repeat center / contain;}
.about-info__start ul li em::after {position: absolute; right: 0; top: 50%; content:''; width: 1px; height: 15rem; background: var(--br-01); transform: translateY(-50%);}
.about-info__list {gap: 20rem;}
.about-info__item {position: relative;}
.about-info__item figure {width: 380rem; height: 500rem;}
.about-info__item strong {position: absolute; left:0; bottom:0; padding: 40rem; font-size: var(--font-24); font-weight: 600; color: var(--w);} 
.about-info__end {position: relative; padding:0 180rem;}
.about-info__end::before {filter: grayscale(1); -webkit-filter: grayscale(1); opacity: .05; position: absolute; left: 50%; bottom: -100%; width: 485rem; height: 155rem; margin-left: -10rem; content:''; background: url(../img/layout/logo.svg) no-repeat center 5rem / cover; transform: translate(-50%, -40rem);}
.about-info__end .btn-basic {margin-top: 30rem;}

@media all and (max-width:1680px){
	 .about-info__start {padding-left: 60rem; padding-right: 60rem;}
 }

@media (max-width: 1480px){
	.about-intro__inr {width: 90%;}
	.about-intro__txt {top: 24vh;}
	.about-intro__txt em {font-size: 92rem;}
	.about-info__start {padding-right: 80rem;}
	.about-info__start br {display: none;}
}

@media all and (max-width:1023px){
	.about-intro__txt {top: 26vh;}
	.about-intro__txt em {font-size: var(--font-72);}
	.about-info__start {width: 67vw; padding-left: 40rem; padding-right: 80rem;}
	.about-info__end::before {width: 400rem; height: 129rem; margin-left: -40rem;}
	.about-info__item figure {height: 480rem;}
}

@media all and (max-width:860px){
	.about-intro__inr {height: 420rem;}
	.about-intro__txt {top: 21vh;}
}

@media (max-width: 540px){
	.about-intro {height: auto;}
	.about-intro__inr {width: 100%; height: auto; padding: var(--space180) 0; border-radius: 0;}
	.about-intro__bg {opacity: .5;}
	.about-intro__txt {position: relative; top: auto; padding:0 var(--margin);}
	.about-intro__txt br {display: none;}
	.about-intro__txt em {font-size: var(--font-15); letter-spacing: 0;}
	.about-intro__txt h3,
	.about-intro__txt > div {opacity: 1; margin-top: 20rem;}
	.about-info {padding: 0 var(--margin);}
	.about-info__inr {flex-direction: column; align-items: flex-start; height: auto; padding-top: var(--space70);}
	.about-info__start {width: 100%; padding: 0;}
	.about-info__start br {display: block;}
	.about-info__start ul {margin-top: 10rem;}
	.about-info__start ul li {display: block; padding: 20rem 0;}
	.about-info__start ul li em {display: flex; min-width: auto; padding-right: 0; margin-right: 0; margin-bottom: 5rem;}
	.about-info__start ul li em::before {width: 11rem; height: 11rem; margin-right: 5rem;}
	.about-info__start ul li em::after {display: none;}
	.about-info__start ul li + li {margin-top: 0; border-top: 1px solid var(--br-02);}
	.about-info__list {width: 100%; flex-direction: column; gap: 10rem; margin-top: var(--margin);}
	.about-info__item::before {opacity: .5; position: absolute; left:0; bottom:0; content:''; width: 100%; height: 50%; background: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);}
	.about-info__item figure {width: 100%; height: 200rem;}
	.about-info__item strong {padding: var(--margin);}
	.about-info__end {width: 100%; margin-top: var(--space70); padding: 0; text-align: center;}
    .about-info__end::before {display: none;}
	.about-info__end .btn-basic {margin-top: 30rem;}
}

/* 임원직 인사말 */
.intro-inr .wrap {align-items: flex-start; gap: 0 140rem;}
.intro-inr figure {flex-shrink: 0; width: 630rem;}
.intro-txt {color: var(--b-01);}
.intro-txt strong {display: block; margin: 54rem 0 22rem; font-size: var(--font-20); font-weight: 600;}
.intro-txt p span {font-weight: 600; color: var(--c-01);}
.intro-txt p + p {margin-top: 25rem;}
.intro-txt b {display: block; margin-top: 60rem; font-size: var(--font-20); font-weight: 600; color: var(--b-03);}
.intro-txt b span {font-weight: 600; color: var(--b-01);}

@media all and (max-width:1680px){
    .intro-txt br {display: none;}
}

@media all and (max-width:1480px){
    .intro-inr .wrap {gap: 0 100rem;}
}

@media all and (max-width:1200px){
    .intro-inr .wrap {gap: 0 80rem;}
    .intro-inr figure {width: 520rem;}
}

@media all and (max-width:1023px){
    .intro-inr .wrap {gap: 0; text-align: center;}
    .intro-inr figure {width: 100%; margin: var(--margin) 0;}
}

@media all and (max-width:540px){
    .intro-inr h4 br {display: block;}
    .intro-inr figure {margin-top: 27rem; margin-bottom: 35rem;}
    .intro-txt strong {margin-top: 0; margin-bottom: 17rem;}
}

/* 조직도 */
.chart{display:flex;align-items:center;text-align:center;flex-direction:column;position: relative; overflow: hidden;}
.chart__company {display:flex; flex-direction: column; justify-content:center;align-items:center;position:relative;width:245rem;height:245rem;line-height:1.2; margin: 0 auto; margin-bottom: 80rem;background: var(--bg-01);font-weight:600;font-size: var(--font-15);color:var(--w);border-radius:100%;align-content:center;text-transform: uppercase;}
.chart__company strong {display: block; margin: 10rem 0 6rem; font-size: var(--font-42); font-weight: 800;}
.chart__company::before{content:""; position:absolute; opacity:0.1; z-index:-1; width:100%; height:100%; background:var(--bg-01); border-radius:100%; animation: chart_scale 2s ease infinite;}

.chart__title {position:relative; width: 100%; padding-bottom:80rem; text-align:center;}
.chart__ceo {width: 100%;}
.chart__ceo p {display: block; width: calc((100% - 168rem)/5); height:80rem; margin: 0 auto; line-height: 80rem; font-weight:700; font-size:var(--font-22); color:var(--w); background:var(--b-01); border-radius: 40rem; text-transform:uppercase;}
.chart__ceo::before{content:""; position:absolute; bottom:-196rem; left:50%; z-index:3; width:9rem; height:9rem; margin-left:-4rem; background:var(--color-point); border-radius:100%;}
.chart__ceo ul {position: absolute; left:calc(50% + (((100% - 168rem)/5)/2) + 42rem); top: 50%; width: 100%; transform: translateY(-50%);}
.chart__ceo ul::before {position: absolute; left: -21rem; top: 50%; content:''; width: 1px; height: 74rem; background: var(--br-02); transform: translateY(-50%);}
.chart__ceo ul::after {position: absolute; left: -42rem; top: 50%; content:''; width: 21rem; height: 1px; background: var(--br-02);}
.chart__ceo ul li {position: relative; width: calc((100% - 168rem)/5); height:62rem; margin: 12rem 0; line-height: 62rem; border-radius: 40rem; background: var(--w); border: 1px solid var(--br-01);}
.chart__ceo ul li::before {position: absolute; left:-21rem; top: 50%; content:''; width: 21rem; height: 1px; background: var(--br-02);}

.chart-wrap{position:relative;width:100%;padding-top:42rem;padding-bottom: 30rem;}
.chart-line {content:"";position:absolute;top:0;left:50%; width: -webkit-calc(100% - var(--chart-width));    width: calc(100% - var(--chart-width));height:1px;background:var(--br-02);transform: translateX(-50%);}
.chart-list {display:grid;grid-template-columns: repeat(5, 1fr);gap:42rem;}
.chart-list strong{line-height: 62rem; font-size: var(--font-18);font-weight: 600; color: var(--b-01); border-radius: 80px;background:var(--bg-03);}
.chart-list strong::before{content:""; position:absolute; top:-42rem; left:50%; z-index:-1; width:1px; height:42rem; background:var(--br-02);}
.chart-list li *{display:block;}
.chart-list > li{position:relative; background:#fff;}
.chart-list > li > ul {margin-top: 12rem; padding:5rem 20rem; border-radius: 30rem; border: 1px solid var(--br-02); background: var(--w);}
.chart-list > li > ul li {padding: 20rem 0;}
.chart-list > li > ul li:not(:last-child) {border-bottom: 1px solid var(--br-02);}
.chart__title::after{content:""; position:absolute; bottom:0; left:50%; z-index:-1; width:1px; height:100%; background:var(--br-02);}

@keyframes chart_scale {
  0% {opacity: 0.1; transform: scale(1);}
  100% {opacity: 0; transform: scale(1.8);}
}


@media all and (max-width:1023px){
	.chart__company {width: 220rem; height: 220rem;}
    .chart__ceo p,
    .chart__ceo ul li {width: calc((100% - 80rem)/5);}
    .chart__ceo ul {left: calc(50% + (((100% - 80rem)/5)/2) + 40rem);}
    .chart__ceo ul::after {left: -40rem; width: 20rem;}
	.chart-list {gap: 20rem;}
	.chart-list strong {line-height: 70rem;}
	.chart-list strong::before {top: -40rem; height: 40rem;}
}

@media (max-width: 860px){
	.chart-wrap {padding-bottom: 0;}
	.chart-line {display: none;}
	.chart-list {grid-template-columns: repeat(3, 1fr); gap: 80rem 20rem;}
    .chart__ceo p {width: calc((100% - 40rem)/3);}
    .chart__ceo ul {left: calc(50% + (((100% - 40rem)/3)/2) + 40rem); width: 216rem;}
    .chart__ceo ul li {width: 100%;}
	.chart-list li:nth-child(2)::before,
	.chart-list li:nth-child(2)::after,
	.chart-list li:nth-child(5)::before,
	.chart-list li:nth-child(5)::after {position: absolute; top: -40rem; content:''; width: calc(100% + 20rem); height: 1px; background: #e1e1e1;}
	.chart-list li:nth-child(2)::before,
	.chart-list li:nth-child(5)::before {left: 50%;}
	.chart-list li:nth-child(2)::after,
	.chart-list li:nth-child(5)::after {right: 50%;}

    .chart-list li:first-child li:last-child:after,
    .chart-list li:nth-child(3) li:last-child:before,
    .chart-list li:nth-child(4) li:last-child:after,
    .chart-list li:last-child::before {display: none;}
}

@media (max-width: 540px){
    .chart {overflow: initial;}
	.chart__company {width: 180rem; height: 180rem; margin-bottom: 65rem;}
    .chart__ceo p {width: calc(50% - 10rem); height: 65rem; line-height: 65rem; font-size: var(--font-16);}
    .chart__ceo ul {position: relative; left:auto; top: auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10rem; width: 100%; padding-top: 30rem; transform: none;}
    .chart__ceo ul::before {position: absolute; left: 50%; top: 30rem; content:''; width: 50%; height: 1px; background: var(--br-02); transform: translateX(-50%);}
    .chart__ceo ul li {position: relative; margin: 0; margin-top: 30rem;}
    .chart__ceo ul::after {position: absolute; left:50%; top: 0; content:''; width: 1px; height: 30rem; background: var(--br-02);}
    .chart__ceo ul li::before {position: absolute; left:50%; top: -30rem; content:''; width: 1px; height: 30rem; background: var(--br-02);}

	.chart__title {padding-bottom: 35rem;}
	.chart-wrap {padding-top: 30rem;}
	.chart-list {grid-template-columns: repeat(2, 1fr); gap: 60rem 10rem;}
	.chart-list strong {line-height: 62rem; font-size: 14rem;}
	.chart-list strong::before {top: -30rem; height: 30rem;}
    .chart-list > li > ul {margin-top: 5rem;}
	.chart-list li:nth-child(2)::before,
	.chart-list li:nth-child(2)::after,
	.chart-list li:nth-child(5)::before,
	.chart-list li:nth-child(5)::after {top: -30rem; width: calc(100% + 10rem);}
    .chart-list li:nth-child(2)::before {display: none;}
    .chart-list li:nth-child(3) li:last-child:after {display: none;}
    .chart-list li:nth-child(4) li:last-child:after {display: block;}
    .chart-list li:last-child::after,
    .chart-list li:last-child strong::before,
    .chart-list li:last-child li:last-child::after {display: none;}

    @keyframes chart_scale {
        0% {opacity: 0.1; transform: scale(1);}
        100% {opacity: 0; transform: scale(1.5);}
    }
}

/* 연혁 */
.history-sect {gap: 150rem; justify-content: space-between;}
.history-aside {width: 630rem;}
.history-aside__inr {position: sticky; top: var(--space120);}
.history-aside__inr h3 {color: var(--c-02);}
.history-aside__inr h3 span {font-family: var(--lang-en); font-size: var(--font-62); font-weight: 1000; transition: var(--trans-01);}
.history-aside__inr p {font-size: var(--font-24); font-weight: 600; color: var(--b-01); transition: var(--trans-01);}
.history-aside__img {position: relative; margin-top: var(--space40); border: 1px solid var(--br-02);}
.history-aside__img figure:not(:first-child) {position: absolute; left:0; top:100%; transition: 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;}
.history-sect:has([data-img="1"].is_moved) .history-aside__img figure:not(:first-child) {transition-delay: 0;}
/* .history-list__item:not(:last-child) {margin-bottom: var(--space140);} */
.history-list {flex: 1;}
.history-item {padding: 60rem 0; color: var(--b-01);}
.history-item:first-child {padding-top: 20rem;}
.history-item strong {display: block; margin-bottom: 14rem; font-family: var(--lang-en); font-size: var(--font-30); font-weight: 800;}
.history-sect:has([data-img="1"].is_moved) .history-aside__img figure:nth-child(2) {top: 0;} 
.history-sect:has([data-img="2"].is_moved) .history-aside__img figure:nth-child(3) {top: 0;} 
.history-sect:has([data-img="3"].is_moved) .history-aside__img figure:nth-child(4) {top: 0;} 
.history-sect:has([data-img="4"].is_moved) .history-aside__img figure:nth-child(5) {top: 0;} 
.history-sect:has([data-img="5"].is_moved) .history-aside__img figure:nth-child(6) {top: 0;} 
.history-sect:has([data-img="6"].is_moved) .history-aside__img figure:nth-child(7) {top: 0;} 
.history-sect:has([data-img="7"].is_moved) .history-aside__img figure:nth-child(8) {top: 0;} 
.history-sect:has([data-img="8"].is_moved) .history-aside__img figure:nth-child(9) {top: 0;} 
.history-sect:has([data-img="9"].is_moved) .history-aside__img figure:nth-child(10) {top: 0;} 
.history-sect:has([data-img="10"].is_moved) .history-aside__img figure:nth-child(11) {top: 0;} 
.history-sect:has([data-img="11"].is_moved) .history-aside__img figure:nth-child(12) {top: 0;} 
.history-sect:has([data-img="12"].is_moved) .history-aside__img figure:nth-child(13) {top: 0;} 
.history-sect:has([data-img="13"].is_moved) .history-aside__img figure:nth-child(14) {top: 0;} 

@media all and (max-width:1480px){
    .history-sect {gap: 0 100rem;}
}

@media all and (max-width:1200px){
    .history-sect {gap: 0 80rem;}
    .history-aside {width: 520rem;}
}

@media all and (max-width:1023px){
    .history-aside {width: 420rem;}
}

@media (max-width: 860px){
    .history-aside {width: 300rem;}
    .history-aside__inr p  {font-size: 18rem;}
}

@media (max-width: 540px){
    .history-aside {display: none;}
    .history-item {padding: var(--margin) 0;}
    .history-item:first-child {padding-top: 0;}
    .history-item [data-list] > * {margin-bottom: 8rem;}
}

/* 경영이념 */
.mission-title {margin-bottom: var(--margin);}
.mission-title p {margin-top: 15rem; color: var(--b-01);}
.mission-list__item {position: sticky; top: 0; height: 100vh; padding: var(--margin) 0; background-repeat: no-repeat; background-size: cover; background-position: center center;}
.mission-list__item:nth-child(1) {background-image: url(../img/sub/mission01.jpg);}
.mission-list__item:nth-child(2) {background-image: url(../img/sub/mission02.jpg);}
.mission-list__item:nth-child(3) {background-image: url(../img/sub/mission03.jpg);}
.mission-list__item:nth-child(4) {background-image: url(../img/sub/mission04.jpg);}
.mission-list__txt {backdrop-filter: blur(40rem); -webkit-backdrop-filter: blur(40rem); display: flex; align-items: center; height: 167rem; padding:0 60rem; background: var(--op-w10); box-shadow: 0 10rem 30rem rgba(0, 0, 0, .15);}
.mission-list__txt i {flex-shrink: 1; display: block; width: 100rem; height: 100rem; margin-right: 40rem; border-radius: 100%; border: 1px dashed var(--w);}
.mission-list__txt i img {width: 100%;}
.mission-list__txt h5 {position: relative; padding-right: 24rem; margin-right: 24rem; font-weight: 700;}
.mission-list__txt h5::after {position: absolute;right: 0; top: 50%; content:''; width: 1px; height: 34rem; background: var(--op-w10); transform: translateY(-50%);}

@media all and (max-width:1023px){
    .mission-list__txt {height: 150rem; padding:0 var(--margin);}
    .mission-list__txt i {width: 82rem; height: 82rem; margin-right: 28rem;}
}

@media all and (max-width:540px){
    .mission-title {margin-bottom: var(--space70);}
    .mission-title p {margin-top: 12rem;}
    .mission-list__txt {flex-wrap: wrap; height: auto; padding:25rem 30rem 30rem;}
    .mission-list__txt i {width: 50rem; height: 50rem; margin-right: 15rem;}
    .mission-list__txt h5::after {display: none;}
    .mission-list__txt p {width: 100%; margin-top: 15rem;}
    .mission-list__item {height: 540rem;}
}

/* 오시는길 */
.location-page .root_daum_roughmap {width: 100%; margin-top: 50rem; border: 1px solid var(--br-01);}
.location-page .root_daum_roughmap .wrap_map {height: 500rem;}
.location-page .map_border,
.location-page .hide,
.location-page .cont {display: none;}
.location-cont {margin-top: var(--space40);}
.location-cont em {position: relative; min-width: 150rem; height: 70rem; margin-right: 25rem; padding: 0 14rem 0 17rem; text-transform: uppercase; font-family: var(--lang-en); font-size: var(--font-14); font-weight: 800; color: var(--b-03); border-radius: 5rem; border: 1px solid var(--br-01);}
.location-cont em::after {opacity: .1; position: absolute; right: 14rem; top: 50%; content:''; width: 13rem; height: 13rem; background: url(../img/layout/arrow-basic.svg) no-repeat center / contain; transform: translateY(-50%);}
.location-cont em img {display: block; width: 16rem; margin-right: 8rem;}
.location-cont li p {font-size: var(--font-20); font-weight: 600; color: var(--b-01);}
.location-cont li span {display: block; margin-top: 6rem; font-size: var(--font-16);}
.location-cont li:not(:last-child) {margin-bottom: 12rem;}
.location-cont li:not(:first-child) p {font-family: var(--lang-en); font-weight: 500;}
.location-cont .btn-wrap {margin-left: auto; padding-left: 60rem; border-left: 1px solid var(--br-01);}
.location-cont .btn-location span::before {content:''; width: 16rem; height: 22rem; margin-top: -1px; margin-right: 10rem; background: url(../img/sub/ic-kakao.svg) no-repeat center / contain;}
.location-cont .btn-basic > p,
.location-cont .btn-basic__arrow {background:#FAE100;}

@media all and (max-width:860px){
    .location-page .root_daum_roughmap .wrap_map {height: 420rem;}
	.location-cont {flex-direction: column;}
    .location-cont .btn-wrap {margin-top: var(--margin); padding-top: var(--margin); padding-left: 0; margin-left: 0; border-left: 0; border-top: 1px solid var(--br-01);}
}

@media (max-width: 540px){
	.location-page .root_daum_roughmap {margin-top: 30rem;}
    .location-page .root_daum_roughmap .wrap_map {height: 250rem;}
    .location-cont li {flex-direction: column; align-items: flex-start;}
    .location-cont li p {font-size: 16rem;}
    .location-cont li span {margin-top: 4rem;}
    .location-cont li + li {margin-top: 30rem;}
    .location-cont em {width: 100%; height: 52rem; margin-bottom:15rem; margin-right: 0;}
    .location-cont em::after {transform:translateY(-50%) rotate(90deg);}
    .location-cont li > div {padding:0 var(--margin);}
    .location-cont .btn-wrap {margin-top: 40rem; padding-top: 0; border-top: 0;}
}

/* 제품 공통 */
.product-thum {overflow: hidden; position: relative; background: var(--bg-03);}
.product-thum:not(:has(img))::after {opacity: .2; filter: grayscale(1); -webkit-filter: grayscale(1); position: absolute; left: 50%; top: 50%; content:''; width: 40%; aspect-ratio: 16/7; background: url(../img/layout/logo.svg) no-repeat center / contain; transform: translate(-50%, -50%);}

/* 제품 리스트 */
.product-page:has(.product-list) .wrap {max-width:1440rem;}
.product-list {gap:10rem 0;}
.product-list__item a {position: relative; display: block; padding: 20rem 20rem 33rem;}
.product-list__item a::before {opacity: 0; visibility: hidden; position: absolute; left:0; top:0; content:''; width:100%; height:100%; background: var(--w); border-radius:max(0.5208vw, 10rem); border: 1px solid var(--br-02); box-shadow: 0 0 50rem rgba(0, 0, 0, .1); transition: var(--trans-01);}
.product-list__item .product-thum {height: 320rem;}
.product-list__item .btn-basic__arrow {opacity: 0; visibility: hidden; position: absolute; left: 50%; top: 50%; box-shadow: 10rem 10rem 15rem rgba(0, 0, 0, .15); transform: translate(-50%, -50%); transition: var(--trans-01);}
.product-list__item p {position: relative; margin-top: 18rem; text-align: center; font-size: var(--font-20); font-weight:700; color: var(--b-01);}

@media (hover: hover) and (pointer: fine){
	.product-list__item:hover .btn-basic__arrow {opacity: 1; visibility: visible;}
	.product-list__item:hover a::before {opacity: 1; visibility: visible;}
}

@media (max-width: 1200px) and (hover: hover) and (pointer: fine){
    .product-list__item a::before ,
    .product-list__item:hover .btn-basic__arrow {display: none;}
}

@media all and (max-width:1200px){
    .product-list__item .product-thum {height: 260rem;}
}

@media all and (max-width:1023px){
    .product-list {grid-template-columns: repeat(2, 1fr);}
    .product-list__item .product-thum {height: 320rem;}
}

@media all and (max-width:860px){
    .product-list__item .product-thum {height: 260rem;}
}

@media all and (max-width:540px){
    .product-list {grid-template-columns: 1fr;}
    .product-list__item {margin-bottom: var(--margin);}
    .product-list__item .product-thum {height:260rem;}
    .product-list__item a {padding: 0;}
    .product-list__item p {margin-top: 15rem;}
}

/* 제품 뷰페이지 */
.product-view__thum,
.product-view__cont {position: relative; width: 50%; padding: max(8.8542vw, 170rem) 0 max(9.3750vw, 180rem);}
.product-view__thum {padding-right: var(--space70) !important;}
.product-view__thum figure {position: sticky;top: var(--space70);aspect-ratio: 4/3;width: 100%;}
.product-view__item {padding-left: var(--space70); color: var(--b-01);}
.product-view__item h4 {margin-bottom: 30rem;}
.product-view__thum .basic-slider{width:100%;}
.product-view__thum .swiper-controls{position:absolute; bottom:23rem; width:100%;}

.product-view__cont .btn-wrap {margin-top: var(--space40); padding-left: var(--space70);}
.product-accordion {margin-top: 0;}
.product-view__txt strong {display: block;margin-bottom: 15rem;font-size: var(--font-18);font-weight: 600;line-height: 1.5;}
.product-view__txt [data-list] li {margin: 10rem 0; font-size: var(--font-17); font-weight: 300;}
.product-view__txt [data-list="dot"] > *::before {top: 7rem;}

.product-accordion {margin-top: var(--space70);}
.product-accordion__list {gap: 0;}
.product-accordion__list .product-accordion__item {position: relative; padding: 0; border-radius: 0; background: var(--w);}
.product-accordion__list .product-accordion__item::before {position: absolute; left: 0; top:0; content:''; width: 50vw; height: 1px; background: var(--br-01);}
.product-accordion__tit {padding: 30rem var(--margin); font-size: var(--font-24); color: var(--b-01);}
.product-accordion__tit::after {width: 13rem; height: 13rem; background: url(../img/layout/arrow-basic.svg) no-repeat center / contain; transform: rotate(90deg);}
.product-accordion__list .product-accordion__item.on .accordion-custom__tit::after {transform: rotate(-90deg);}
.product-accordion__cont {margin-top: 0; padding-bottom: var(--margin); padding-left: var(--margin);}
.product-accordion__cont figure {width: 100%;}
.product-accordion__cont table.table {border-top: 1px solid var(--br-02);}
.product-accordion__cont table.table tr {border-bottom: 1px solid var(--br-02);}
.product-accordion__cont table.table th {width: 120rem; padding: 18rem 20rem; border: 0; background: var(--bg-04);}
.product-accordion__cont table.table td {padding: 18rem 20rem;}

.product-accordion__cont .youtube-custom-wrap {height: auto; aspect-ratio: 16/9; margin: 0;}
.product-accordion__cont .video {width: 100%;}
.product-accordion__list .product-accordion__item:last-child .product-accordion__cont  {padding-bottom: 0 !important;}


@media all and (max-width:1023px){
    .product-view__thum,
    .product-view__cont {padding: var(--space140) 0;}
}

@media all and (max-width:860px){
    .product-view__thum, .product-view__cont {padding-bottom: var(--space140);}
    .product-view__txt [data-list] li {font-weight: 400;}
}

@media all and (max-width:540px){
    .product-view .wrap {flex-direction: column; align-items: flex-start;}
    .product-view__thum {padding-top: var(--space140); padding-bottom: 0; padding-right: 0 !important;}
    .product-view__thum,
    .product-view__cont {width: 100%;}
    .product-view__cont {padding-top: 0; margin-top: 30rem;}
    .product-view__item {padding-left: 0;}
    .product-view__item h4 {margin-bottom: 24rem;}
    .product-accordion__tit {padding: var(--margin) 0;}
    .product-accordion__cont {padding-left: 0;}
    .product-accordion__list .product-accordion__item {border-top: 1px solid var(--br-01);}
    .product-accordion__list .product-accordion__item::before {display: none;}
    .product-view__cont .btn-wrap {justify-content: center; padding-left: 0; margin-top: 40rem;}

    .product-accordion__cont table.table th,
    .product-accordion__cont table.table td  {min-width: auto; padding: 10rem;}
}

 /* 연구소 소개 */
.lab-page {color: var(--b-01);}
 .lab-page h4 {margin-bottom: 55rem; padding-bottom: 50rem; border-bottom: 1px solid var(--br-01);}
 .lab-intro__con {width: 50%; margin-left: auto;}
 .lab-intro__con strong {display: block; margin-bottom: 20rem; line-height: 1.4; font-size: var(--font-20); font-weight: 600;}
 .lab-page .main-about-container {margin-top: var(--space120);}
 .lab-page .main-about__item:first-child {margin-left: 9.5vw;}
 .lab-page .main-about__item figure {width: 100%;}

 @media (max-width: 1680px){
    .lab-page .main-about__item:first-child {margin-left: 60rem;}
 }

 @media (max-width: 1023px){
    .lab-intro__con {width: 100%;}
    .lab-page .main-about__item:first-child {margin-left: 40rem;}
 }
 
 @media (max-width: 540px){
    .lab-page br {display: none;}
    .lab-page h4 {margin-bottom:30rem; padding-bottom: 30rem;}
    .lab-page .main-about__item:first-child {margin-left: 20rem;}
 }

 /* 연구개발 */
 .lab-history-page:has([data-start="2000"].is_moved) .history-aside__img figure:nth-child(2) {top: 0;} 
 .lab-history-page:has([data-start="1900"].is_moved) .history-aside__img figure:nth-child(3) {top: 0;} 

 /* 인증서 */
 .patent-page .certify-list {grid-template-columns: repeat(4, 1fr); gap: 52rem 42rem; color: var(--b-01);}
 .patent-page .certify-item {text-align: center;}
 .patent-page .certify-item figure {overflow: hidden; border:1px solid var(--br-01);}
 .patent-page .certify-item:hover figure {border:1px solid var(--br-01);}
 .patent-page .certify-item strong {line-height: 1.4; min-height: 40rem; word-break: keep-all;}
 .patent-page .certify-item img {width: 100%; margin: 0;}
 /* .patent-page .certify-item .bsc-search {width: 55rem; height: 55rem; border-radius: 3rem; background: var(--c-01) url(../img/board/ic-search_w.svg) no-repeat center / 20rem;} */

  @media (max-width:1023px){
	.patent-page .certify-list {grid-template-columns: repeat(3, 1fr);}
  }

 @media (max-width: 540px){
    .patent-page .certify-list {grid-template-columns: 1fr; gap: 32rem;}
    .patent-page .certify-item strong {min-height: auto;}
}

 /* 홍보관, 뉴스 */
 body:is(.notice, .notice_en, .promotion, .promotion_en) .wrap {max-width: 1440rem;} 
 #bo_gall #gall_ul {margin: 0 -20rem;}

 @media (max-width: 860px){
    #bo_btn_top {margin-top: 0 !important;}
    #bo_btn_top:has(#bo_cate) {flex-direction: column;}
    #bo_cate {margin-bottom: 20rem !important;}
 }

  @media (max-width: 540px){
     #bo_gall #gall_ul {margin: 0;}
 }

 /* 온라인문의 */
 .cs-page .cs-form {margin-top: 0; padding-top: 0; border-top: 0;}
 .cs-page .wrap {gap: 140rem; grid-template-columns: 1fr 1fr;}
 .cs-aside__inr {position: sticky; top: var(--space120);}
 .cs-aside__address {overflow: hidden; position: relative; margin-top: 45rem; padding: 40rem; background: var(--c-02);}
 .cs-aside__address::before {opacity: 0.03; position: absolute; right: -20rem; top: -10rem; content:''; width: 145rem; height: 145rem; background: url(../img/sub/ic-star.svg) no-repeat center / contain;}
 .cs-aside__address em {opacity: .4; display: block; margin-bottom: 22rem; font-family: var(--lang-en); font-size: var(--font-14); font-weight: 800; text-transform: uppercase;}
 .cs-aside__address p {font-size: var(--font-20); font-weight: 700;}
 .cs-form .form-area {flex-direction: column; align-items: flex-start; margin-bottom: 40rem;}
 .cs-form .form-area[data-form="agree"] {color: var(--b-01);}
 .cs-form .form-area[data-form="agree"] .check-box label {display: flex; align-items: center;}
 .cs-form .form-area[data-form="agree"] .check-box label em {margin-bottom: 0;}
 .cs-form .form-area[data-form="agree"] .check-box a {white-space: nowrap;}

 .cs-form .form-area:is(:not([data-form="type"])) em {display: block; margin-bottom: 12rem;}
 .cs-page .cs-form .form-area[data-form="type"] em {margin-bottom: 17rem;}
 .cs-form .form-part .check-box {margin-right: 10rem; padding: 15rem 20rem; border: 1px solid var(--br-01); border-radius: 100rem;}
 .cs-form .form-part .check-box label {padding-left: 30rem; font-weight: 400;}
 .cs-form .check-box [type="radio"] + .checkmark {width: 20rem; height: 20rem; border-color: var(--br-01);}
 .cs-form .check-box [type="radio"]:checked + .checkmark {background: var(--w); border-color: var(--b-01);}
 .cs-form .check-box [type="radio"]:not(:checked) + .checkmark:after,
 .cs-form .check-box [type="radio"]:checked + .checkmark:after {width: 10rem; height: 10rem; background: var(--b-01);}
 .cs-form .check-box:has([type="radio"]:checked) {border-color: var(--b-01);}
 .cs-form .check-box:has([type="radio"]:checked) label{color: var(--b-01);}
 .cs-page .btn-wrap {width: 100%; justify-content: flex-end;}

 @media all and (max-width:1480px){
    .cs-page .wrap {gap: 0 100rem;}
}

@media all and (max-width:1200px){
    .cs-page .wrap {gap: 0 80rem;}
}

@media all and (max-width:1023px){
    .cs-aside__address {padding: 30rem; margin-top: 30rem;}
    .cs-aside__address::before {width: 100rem; height: 100rem;}
    .cs-form .form-area[data-form="agree"] .check-box label {flex-direction: column; align-items: flex-start;}
    .cs-form .form-area[data-form="agree"] .check-box a {margin-left: 0; margin-top: 20rem}
}

@media all and (max-width:540px){
    .cs-page .wrap {grid-template-columns: 1fr;}
    .cs-aside__address {padding: 20rem;}
     .cs-aside__address em {margin-bottom: 15rem;}
     .cs-aside__address p {font-size: 15rem;}

    .cs-page .cs-form {margin-top: 30rem;}
    .cs-form .form-part .check-box {padding: 12rem 20rem 13rem 12rem;}
    .cs-form .check-box [type="radio"] + .checkmark {width: 18rem; height: 18rem;}
    .check-box label {padding-left: 32rem;}
     .cs-form .form-area {margin-bottom: 30rem;}
    .cs-form .form-area[data-form="agree"] .check-box a {margin-top: 12rem;}

    .cs-page .btn-wrap {justify-content: center; margin-top: 20rem;}
}

