body{ background: var(--mainColor1); }
#main{ overflow: hidden; }

@media screen and (max-width: 1850px){
	#main .w1560:not(.common){ padding-left: calc(150px - ((100vw - 1560px) / 2)); }
}

@media screen and (max-width: 1600px){
	#main .w1560:not(.common){ padding-left: 80px; }
}

@media screen and (max-width: 1000px){
	#main .w1560:not(.common){ padding-left: 20px; }
}

/* 공통 */
section{ padding: 180px 0; }
.green-bg{ background: var(--mainColor2); }
.eng{ font-family: var(--engFont); letter-spacing: -0.03em; }

.title-box{ margin-bottom: 120px; }
.title-box.mb60{ margin-bottom: 60px; }
.title-box span{ font-family: var(--engFont); font-size: 2rem; font-weight: 500; color: var(--mainColor2); letter-spacing: -0.03em; text-transform: uppercase; }
.title-box h3{ font-size: 7.4rem; font-weight: 800; }
.title-box h3.eng{ font-weight: 700; }

.radius-btn{ display: inline-block; font-family: var(--engFont); font-size: 2rem; font-weight: 500; color: var(--mainColor2); letter-spacing: -0.03em; padding: 20px 45px; border-radius: 990px; border: 1px solid var(--mainColor2); position: relative; z-index: 5; overflow: hidden; white-space: nowrap; }
.radius-btn::before{ content: ""; width: 110%; height: 110%; background: var(--mainColor2); border-radius: 990px; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); z-index: -1; transition: top 0.5s; }
.radius-btn:link, .radius-btn:visited{ color: var(--mainColor2); }

.counter{ position: relative; }
.counter::before{ content: attr(data-count); opacity: 0; }
.counter span{ position: absolute; top: 0; left: 0; }

.radius-btn:hover::before{ top: -5%; }
.radius-btn:hover{ color: var(--mainColor1); }

.green-bg .title-box{ color: var(--mainColor1); }
.green-bg  .title-box span{ color: var(--mainColor1); }
.green-bg .radius-btn{ color: var(--mainColor1); border: 1px solid var(--mainColor1); }
.green-bg .radius-btn::before{ background: var(--mainColor1); }
.green-bg .radius-btn:link, .green-bg .radius-btn:visited{ color: var(--mainColor1); }

.green-bg .radius-btn:hover{ color: var(--mainColor2); }

/* .text-clip{ display: inline-block; max-width: fit-content; will-change: clip-path; }
.aos-animate .text-clip{ animation: text-clip 1.5s ease both; }

.img-clip{ display: inline-block; max-width: fit-content; will-change: clip-path; }
.aos-animate .img-clip{ animation: img-clip 1.5s ease both; } */

@keyframes img-clip {
  from {
    clip-path: polygon(0% -100%, 100% 100%, 100% 100%, 0% -100%);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

@media screen and (max-width: 1600px){
	section{ padding: 120px 0; }

	.title-box{ margin-bottom: 80px; }
	.title-box.mb60{ margin-bottom: 40px; }
	.title-box h3{ font-size: 6rem; }

	.radius-btn{ font-size: 1.8rem; padding: 18px 35px; }
}

@media screen and (max-width: 1280px){
	.title-box span{ font-size: 1.8rem; }
	.title-box h3{ font-size: 5.5rem; }

	.radius-btn{ font-size: 1.7rem; padding: 15px 25px; }
}

@media screen and (max-width: 1200px){
	.title-box{ margin-bottom: 40px; }
	.title-box.mb60{ margin-bottom: 20px; }
}

@media screen and (max-width: 900px){
	section{ padding: 80px 0; }
	
	.title-box span{ font-size: 1.6rem; }
	.title-box h3{ font-size: 4.5rem; }

	.radius-btn{ font-size: 1.6rem; padding: 10px 15px; }
}


/* 메인 비주얼 */
#visual{ height: 100vh; position: relative; z-index: 80; overflow: hidden; padding: 0; }
#visual .bg{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; transform: scale(1.1); background: url("/img/main/main_visual01.jpg") no-repeat center center / cover; animation: size 1.5s 0.5s forwards; }
#visual .text-box{ position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); }
#visual .text-box h2{ font-size: 5rem; font-weight: 400; color: var(--mainColor1); }
#visual .text-box h2 strong{ font-family: var(--engFont); font-weight: 600; letter-spacing: -0.03em; }
#visual .text-box h2 > span{ display: inline-block; width: fit-content; position: relative; /* animation: text-clip 1.5s 0.5s ease both; */ }

@keyframes size{
	0%{ transform: scale(1.1); }
	100%{ transform: scale(1); }
}

#visual .dl{ display: flex; margin-top: 85px; }
#visual dl{ color: var(--mainColor1); font-weight: 700; position: relative; }
#visual dl:not(:first-of-type){ padding-left: 30px; }
#visual dl:not(:last-of-type){ padding-right: 30px; }
#visual dl::after{ content: ""; width: 1px; height: calc(100% - 25px); background: #fff; opacity: 0.3; position: absolute; top: 50%; right: 0; transform: translateY(-50%); }
#visual dl:last-of-type::after{ display: none; }
/* #visual dl dt, #visual dl dd{ animation: text-clip 1s 1.3s ease both; } */
#visual dl dt{ font-size: 2rem; margin-bottom: 15px;  }
#visual dl dd{ font-size: 1.6rem; }
#visual dl dd span{ font-size: 4rem; margin-right: 10px; }

@keyframes text-clip {
  from {
    clip-path: polygon(0% -100%, 100% 100%, 100% 100%, 0% -100%);
	transform: translateY(100%);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	transform: none;
  }
}

#visual .scroll-bar{ position: absolute; left: 80px; bottom: 0; display: flex; flex-direction: column; align-items: center; }
#visual .scroll-bar span{ font-family: var(--engFont); font-size: 1.2rem; font-weight: 400; color: var(--mainColor1); letter-spacing: -0.03em; writing-mode: vertical-rl; transform: scale(-1); margin-left: -16px; position: relative; left: 8px; }
#visual .scroll-bar .bar{ width: 1px; height: 85px; background: rgba(255, 255, 255, 0.2); margin-top: 10px; margin-left: 1px; overflow: hidden; }
#visual .scroll-bar .bar div{ width: 100%; height: 20px; background: rgba(255, 255, 255, 0.6); transform: translateY(0%); opacity: 1; animation: scroll 1.5s infinite; }

@keyframes scroll{
	0%{ transform: translateY(0%); opacity: 1; }
	100%{ transform: translateY(85px); opacity: 0; }
}

@media screen and (max-width: 1755px){
	#visual .text-box{ padding: 0 20px; }
	#visual .scroll-bar{ left: calc((100vw - 1560px) / 2); }
}

@media screen and (max-width: 1600px){
	#visual .text-box h2{ font-size: 4.5rem; }
	#visual .dl{ margin-top: 50px; }
	#visual dl dd span{ font-size: 3.5rem; }

	#visual .scroll-bar{ left: 20px; }
}

@media screen and (max-width: 1280px){
	#visual .text-box h2{ font-size: 4rem; }
	#visual dl dd span{ font-size: 3rem; }
}

@media screen and (max-width: 900px){
	#visual .text-box h2{ font-size: 3.5rem; }
	#visual dl dt{ font-size: 1.7rem; }
	#visual dl dd{ font-size: 1.5rem; }
	#visual dl dd span{ font-size: 2.5rem; }
}


/* logo */
#logo{ height: 100vh; padding: 0; background: #fff; text-align: center; position: relative; overflow: hidden; }
#logo .text{ width: 100%; position: absolute; top: 50%; left: 0; right: 0; z-index: 10; }
#logo .text p{ font-size: 1.8rem; font-weight: 400; color: var(--mainColor2); }
#logo .text p:not(:first-of-type){ margin-top: 15px; }

#logo .text1{ transform: translateY(-50%); }
#logo .text2{ /* top: calc(50% + 78px); */ transform: translateY(150%); }

#logo .cover{ width: 100%; height: 100%; background: var(--mainColor1); clip-path: circle(17% at 50% 140%); }

@media screen and (max-width: 900px){
	#logo .text2 img{ height: 35px; }
}

/* About us */
#about .w1560 > .title-box{ margin-bottom: 0; }
#about .flex-box{ display: flex; }

#about .title-box{ width: 27.5%; }
#about .title-box h3{ margin-top: 0; }

#about .text-box{ width: 73.5%; }
#about .text-box h5{ font-size: 3.4rem; font-weight: 800; line-height: 1.5; }
#about .text-box p{ font-size: 1.8rem; font-weight: 400; line-height: 1.7; margin: 60px 0; }
#about .text-box .hashtag{ display: flex; flex-wrap: wrap; gap: 15px; }
#about .text-box .hashtag li{ display: inline-block; font-size: 1.7rem; font-weight: 400; color: var(--mainColor2); padding: 14px 20px; border: 1px solid var(--mainColor2); border-radius: 990px; line-height: 1; }

@media screen and (max-width: 1600px){
	#about .text-box h5{ font-size: 3rem; }
}

@media screen and (max-width: 1450px){
	#about .text-box p br{ display: none; }
	#about .text-box p{ margin: 40px 0; }
}

@media screen and (max-width: 1280px){
	#about .text-box h5{ font-size: 2.8rem; }
	#about .text-box .hashtag li{ font-size: 1.5rem; padding: 12px 15px; }
}

@media screen and (max-width: 1000px){
	#about .flex-box{ flex-direction: column; }
	#about .title-box, #about .text-box{ width: 100%; }
}

@media screen and (max-width: 900px){
	#about .text-box h5{ font-size: 2.3rem; }
}


/* Our Word */
#word{ padding: 120px 0; overflow: hidden; }
#word .title-box h3{ font-size: 6.5rem; line-height: 1; margin-top: 5px; }
#word .graph{ display: flex; align-items: flex-end; padding-bottom: 120px; }

#word .box{ position: relative; }
#word .box::before{ content: ""; width: 2px; background: var(--mainColor2); position: absolute; transform: scaleY(0); transform-origin: bottom; transition: transform 0.5s; transition-delay: inherit; }
#word .box dl{ font-size: 2rem; color: var(--mainColor2); opacity: 0; transition: opacity 0.5s; transition-delay: inherit; }
#word .box dl::before{ content: ""; }
#word .box dl dt{ font-weight: 700; transform: translateY(30px); transition: transform 0.5s; transition-delay: inherit; }
#word .box dl dt strong{ font-size: 2.5rem; }
#word .box dl dd{ font-weight: 400; margin-top: 5px; transform: translateY(30px); transition: transform 0.5s; transition-delay: inherit; }
#word .box dl::before, #word .box .dot{ width: 15px; height: 15px; background: var(--mainColor2); border-radius: 50%; position: absolute; opacity: 0; transition: opacity 0.5s; transition-delay: inherit; }

#word .graph > .box{ width: 415px; padding-left: 110px; padding-bottom: 140px; /* padding-right: 85px; */ transition-delay: 0.5s; }
#word .graph > .box::before{ height: calc(100% - 10px); bottom: 0; left: 41px; }
#word .graph > .box dl::before, #word .graph > .box .dot{ left: 35px; }
#word .graph > .box dl::before{ bottom: -6px; }
#word .graph > .box .dot{ top: 9px; }
#word .graph > .box .dot::before{ content: ""; width: 100%; height: 100%; background: rgba(67, 86, 74, 0.4); animation: pulse 2s infinite; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transform-origin: center center; border-radius: 50%; opacity: 1; will-change: opacity; }

@keyframes pulse{
	0%{ opacity: 0; }
	5% { width: 100%; height: 100%; opacity: 1; }
	95% { width: 500%; height: 500%; opacity: 0; }
	100%{ opacity: 0; }
}

#word .graph ul{ width: calc(100% - 415px); display: flex; align-items: flex-end; position: relative; gap: 25px; }
#word .graph ul::before{ content: ""; width: 100vw; height: 2px; background: var(--mainColor2); position: absolute; bottom: 0; right: calc(((100vw - 1560px) / 2) * -1); transform: scaleX(0); transform-origin: left; transition: transform 3s; }
#word .graph ul li{ cursor: pointer; }
#word .graph ul li:nth-of-type(even){ transform: translateY(100%); }
#word .graph ul li .box{ padding: 50px 0; }
#word .graph ul li:nth-of-type(odd) .box{ padding-top: 0; }
#word .graph ul li:nth-of-type(even) .box{ padding-bottom: 0; }
#word .graph ul li .box::before{ height: calc(100% - 10px); left: 18px; }
#word .graph ul li:nth-of-type(odd) .box::before{ bottom: 0; }
#word .graph ul li:nth-of-type(even) .box::before{ top: 0; transform-origin: top; }
#word .graph ul li .box dl{ padding-left: 55px; }
#word .graph ul li .box dl::before{ left: 12px; }
#word .graph ul li:nth-of-type(odd) .box dl::before{ bottom: -6px; }
#word .graph ul li:nth-of-type(even) .box dl::before{ top: -8px; }
#word .graph ul li .dot{ width: 10px; height: 10px; left: 14px; }
#word .graph ul li .dot::before{ content: ""; width: 40px; height: 40px; background: rgba(67, 86, 74, 0.1); border: 1px solid var(--mainColor2); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0); border-radius: 50%; transition: transform 0.5s; }
#word .graph ul li:nth-of-type(odd) .dot{ top: 8px; }
#word .graph ul li:nth-of-type(even) .dot{ bottom: 8px; }
#word .graph ul li:last-of-type .dot{ top: calc(100% - 6px); transform: translateY(-100%); }

#word .graph ul li:nth-of-type(1) .box{ transition-delay: 0.7s; }
#word .graph ul li:nth-of-type(2) .box{ transition-delay: 0.9s; }
#word .graph ul li:nth-of-type(3) .box{ transition-delay: 1.1s; }
#word .graph ul li:nth-of-type(4) .box{ transition-delay: 1.3s; }
#word .graph ul li:nth-of-type(5) .box{ transition-delay: 1.5s; }
#word .graph ul li:nth-of-type(6) .box{ transition-delay: 1.8s; }

#word .graph ul li:hover .dot::before{ transform: translate(-50%, -50%) scale(1); }
#word .graph ul li.active .dot::before{ transform: translate(-50%, -50%) scale(1); }

#word .graph.aos-animate ul::before{ transform: scaleX(1); }
#word .graph.aos-animate .box::before{ transform: scaleY(1); }
#word .graph.aos-animate .box dl{ opacity: 1; }
#word .graph.aos-animate .box dl::before, #word .graph.aos-animate .box .dot{ opacity: 1;  }
#word .graph.aos-animate .box dl dt{ transform: translateY(0); }
#word .graph.aos-animate .box dl dd{ transform: translateY(0); }

@media screen and (max-width: 1600px){
	#word{ padding: 80px 0; }
	#word .title-box h3{ font-size: 5.5rem; }
	#word .graph .box dl{ font-size: 1.8rem; }
	#word .box dl dt strong{ font-size: 2.2rem; } 

	#word .graph > .box{ width: 320px; padding-left: 90px; }
	#word .graph ul{ width: calc(100% - 320px); gap: 15px; }
	#word .graph ul::before{ right: -20px; }
}

@media screen and (max-width: 1350px){
	#word .graph > .box{ width: auto; padding-bottom: 220px; }
	#word .graph > .box dl{ width: max-content; position: absolute; top: 0; left: 90px; }
	#word .graph > .box dl::before{ left: -55px; bottom: -170px; }

	#word .graph ul{ width: calc(100% - 90px); }
	#word .graph ul li .box dl{ padding-left: 50px; }
}

@media screen and (max-width: 1280px){
	#word{ padding: 40px 0; }
	#word .title-box h3{ font-size: 5rem; }
	#word .graph .box dl{ font-size: 1.7rem; }
	#word .box dl dt strong{ font-size: 2rem; } 

	#word .graph > .box dl::before{ bottom: -175px; }

	#word .graph ul{ gap: 0; }
}

@media screen and (max-width: 900px){
	#word .title-box h3{ font-size: 4rem; }
}

@media screen and (max-width: 860px){
	#word .graph{ flex-direction: column; align-items: center; padding-bottom: 0; }
	#word .box dl::before, #word .box .dot{ width: 10px; height: 10px; }
	#word .graph ul li .dot{ width: 7px; height: 7px; }
		
	#word .graph > .box{ padding-left: 0; padding-bottom: 25px; animation-delay: 0; }
	#word .graph > .box::before{ display: none; }
	#word .graph > .box dl{ position: relative; top: 0; left: 0; text-align: center; }
	#word .graph > .box dl::before{ display: none; }
	#word .graph > .box .dot{ top: 100%; left: 50%; transform: translateX(-50%); }
	
	#word .graph ul{ width: 100%; flex-direction: column; gap: 40px; padding-top: 40px; }
	#word .graph ul::before{ width: 2px; height: calc(100% - 50px); right: calc(50% + 1px); bottom: 40px; transform: translateX(50%) scaleY(0); transform-origin: top; transition: transform 2s; transition-delay: 0.5s; }
	#word .graph ul li{ width: 50%; padding: 0; }
	#word .graph ul li:nth-of-type(even){ transform: translateX(-100%); text-align: right; }
	#word .graph ul li .box{ padding: 0; }
	#word .graph ul li .box::before{ width: 65px; height: 2px; transform: scaleX(0); }
	#word .graph ul li:nth-of-type(odd) .box::before{ bottom: calc(100% - 12px); left: 0; transform-origin: left; }
	#word .graph ul li:nth-of-type(even) .box::before{ top: 8px; left: calc(100% - 65px); transform-origin: right; }
	#word .graph ul li .box dl{ padding-left: 100px; }
	#word .graph ul li:nth-of-type(even) .box dl{ padding-left: 0; padding-right: 100px; }
	#word .graph ul li:nth-of-type(odd) .box dl::before{ left: -6px; bottom: calc(100% - 6px); transform: translateY(100%); }
	#word .graph ul li:nth-of-type(even) .box dl::before{ top: 4px; left: calc(100% - 5px); }
	#word .graph ul li:nth-of-type(odd) .dot{ left: 65px; }
	#word .graph ul li:nth-of-type(even) .dot{ left: calc(100% - 70px);
    bottom: calc(100% - 13px); }
	#word .graph ul li:last-of-type .dot{ top: calc(100% - 9px); }

	#word .graph ul li.dd{ width: 100%; transform: translate(0, 0); text-align: center;  }
	#word .graph ul li.dd .dot{ display: none; }
	#word .graph ul li.dd .box::before{ display: none; }
	#word .graph ul li.dd .box dl{ padding: 0; padding-top: 25px; }
	#word .graph ul li.dd .box dl::before{ left: calc(50% - 1px); transform: translateX(-50%); }
	#word .graph ul li.dd dd{ display: none; }

	#word .graph.aos-animate ul::before{ transform: translateX(50%) scaleY(1); }
}


/* Our System */
#system{ padding-bottom: 0; }
#system .green-bg{ padding: 0; background: none; overflow: hidden; }
#system .title-box{ color: var(--fontColor); }
#system .title-box span{ color: var(--mainColor2); }
#system .scroll-box{ width: calc(100% - 73px); display: flex; position: relative; }
#system .scroll-box::before, #system .scroll-box::after{ content: ""; width: 40px; height: 100%; background: var(--mainColor2); position: absolute; top: 0; transform: translateX(100%); }
#system .scroll-box::before{ right: -15px; }
#system .scroll-box::after{ right: -70px; }
#system .scroll{ display: flex; align-items: center; width: 0; overflow: hidden; background: var(--mainColor2); color: var(--mainColor1); --paddingLeft: calc((100vw - 1560px) / 2); --paddingRight: 40px; padding-right: var(--paddingRight); }
#system .scroll:not(:last-of-type){ margin-right: 15px; }
#system .scroll:nth-of-type(1){ width: 76%; }
#system .scroll:nth-of-type(2){ width: 19%; }
#system .scroll:nth-of-type(3){ width: 10.4%; }
#system .scroll .flex-box{ max-width: 1280px; width: calc(((100vw / 100) * 76) - (var(--paddingLeft) + var(--paddingRight))); display: flex; justify-content: space-between; align-items: flex-end; padding: 70px 0; padding-left: var(--paddingLeft); }

#system .scroll .text{ width: calc(48% - 50px); /* display: flex; flex-direction: column; justify-content: space-between; */ }
#system .scroll .title span{ font-family: var(--engFont); font-size: 2rem; font-weight: 400; letter-spacing: -0.03em; }
#system .scroll .title h4{ font-family: var(--engFont); font-size: 4.8rem; font-weight: 500; letter-spacing: -0.03em; margin: 10px 0 20px; }
#system .scroll .title ul{ display: flex; flex-wrap: wrap; gap: 10px; }
#system .scroll .title ul li{ display: inline-block; font-size: 1.7rem; font-weight: 400; line-height: 1; padding: 8px 35px; border: 1px solid var(--mainColor1); border-radius: 100px; }
#system .scroll .content{ margin-top: 160px; }
#system .scroll .content p{ font-size: 1.7rem; font-weight: 400; line-height: 1.7; }
#system .scroll .content p:not(:last-of-type){ margin-bottom: 30px; }

#system .scroll .figure{ width: 51.7%; position: relative; overflow: hidden; padding-bottom: 42%; }
#system .scroll .figure img{ width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

@media screen and (min-width: 1921px){
	#system .inner{ max-width: 1920px; width: 100%; margin: 0 auto; position: relative; }
	#system .inner::before, #system .inner::after{ content: ""; width: calc((100vw - 1920px) / 2); height: 100%; background: var(--mainColor2); position: absolute; top: 0; }
	#system .inner::before{ left: 0; transform: translateX(-100%); }
	#system .inner::after{ right: 0; transform: translateX(100%); }

	#system .scroll{ padding-left: 80px; padding-right: 40px; }
}

@media screen and (max-width: 1920px){
	#system .scroll{ --paddingRight: 40px; }
}

@media screen and (max-width: 1600px){
	#system .scroll .title h4{ font-size: 3.5rem; }
	#system .scroll .title ul li{ padding: 8px 15px; }
}

@media screen and (max-width: 1450px){
	#system .scroll .flex-box{ padding: 50px 0; }
	#system .scroll .content p:not(:last-of-type){ margin-bottom: 15px; }
}

@media screen and (max-width: 1300px){
	#system .scroll .flex-box{ flex-direction: column; align-items: flex-start; position: relative; }
	#system .scroll .text { width: 100%; }
	#system .scroll .text .content{ width: calc(48% - 50px); }
	#system .scroll .figure{ width: 43%; position: absolute; bottom: 50px; right: 0; padding-bottom: 35.5%; }
}

@media screen and (max-width: 1280px){
	#system .scroll .title span{ font-size: 1.8rem; }
	#system .scroll .title h4{ font-size: 2.8rem; }
	#system .scroll .title ul li{ font-size: 1.5rem; }
}

@media screen and (max-width: 1200px){
	#system .scroll-box{ width: 100%; flex-direction: column; padding-bottom: 60px; }
	#system .scroll-box::before, #system .scroll-box::after{ width: 100%; right: 100%; }
	#system .scroll-box::before{ height: 20px; top: calc(100% - 45px); }
	#system .scroll-box::after{ height: 10px; top: calc(100% - 10px); }

	#system .scroll{ display: block; --paddingRight: 20px; }
	#system .scroll:nth-of-type(1), #system .scroll:nth-of-type(2), #system .scroll:nth-of-type(3){ width: 100%; }
	#system .scroll:not(:last-of-type){ margin-right: 0; margin-bottom: 15px; }
	#system .scroll .flex-box{ width: 100%; flex-direction: row; align-items: center; }

	#system .scroll .text{ width: calc(48% - 50px); }
	#system .scroll .text .content{ width: 100%; margin-top: 100px; }
	#system .scroll .figure{ width: 51.7%; padding-bottom: 42%; position: relative; bottom: 0; } 
	#system .scroll .content p:not(:last-of-type){ margin-bottom: 0; }
}

@media screen and (max-width: 900px){
	#system .scroll .title span{ font-size: 1.5rem; }
	#system .scroll .title h4{ font-size: 2.5rem; margin: 5px 0 10px; }
	
	#system .scroll .text .content{ margin-top: 60px; }
	#system .scroll .content p{ font-size: 1.6rem; }
}

@media screen and (max-width: 680px){
	#system .scroll br{ display: none; }

	#system .scroll .flex-box{ flex-direction: column-reverse; padding: 40px 0 30px; }
	#system .scroll .figure{ width: 100%; padding-bottom: 60%; }
	#system .scroll .text{ width: 100%; margin-top: 30px; }
	#system .scroll .text .content{ margin-top: 30px; }
}

/* Our Process */
#process .process-box:not(:last-of-type){ margin-bottom: 180px; }
#process .flex-box{ display: flex; justify-content: space-between; }
#process .flex-box .half{ width: calc((100% - 40px) / 2); }
#process .flex-box .title{ width: 450px; }
#process .flex-box .content{ width: calc(100% - 450px); }

#process .text{ margin-bottom: 50px; }
#process .text h5{ font-family: var(--engFont); font-size: 3.8rem; font-weight: 600; color: var(--mainColor2); letter-spacing: -0.03em; padding-left: 50px; position: relative; }
#process .text h5::before, #process .text h5::after{ content: ""; background: var(--mainColor2); position: absolute; top: 50%; transform: translateY(-50%); }
#process .text h5::before{ width: 40px; height: 2px; left: 0; }
#process .text h5::after{ width: 3px; height: 40px; left: 19px; }
#process .text p{ font-size: 1.7rem; font-weight: 400; line-height: 1.7; }

#process .video{ margin-bottom: 120px; }
#process .video video{ width: 100%; }

#process .icon{ max-width: 1400px; width: 100%; display: flex; align-items: center; margin: 0 auto; }
#process .icon:not(:last-of-type){ margin-bottom: 120px; }
#process .icon .title{ width: 300px; padding-left: 20px; position: relative; }
#process .icon .title::before{ content: ""; width: 2px; height: 100%; background: var(--mainColor2); position: absolute; top: 0; left: 0; transform: scaleY(0); transition: transform 1s; }
#process .icon .title *{ font-family: var(--engFont); color: var(--mainColor2); letter-spacing: -0.03em; transition: transform 1s; }
#process .icon .title span{ display: inline-block; font-size: 1.7rem; font-weight: 300; transform: translateY(100%); }
#process .icon .title h6{ font-size: 3rem; font-weight: 400; transform: translateY(100%); text-transform: uppercase; }

#process figure figcaption{ display: block; font-family: var(--engFont); font-size: 1.8rem; font-weight: 200; color: var(--mainColor2); margin-top: 5px; text-align: right; letter-spacing: -0.03em; }

#process .icon .title.aos-animate::before{ transform: scaleY(1); } 
#process .icon .title.aos-animate span, #process .icon .title.aos-animate h6{ transform: translateY(0%); }

#process .list{ width: calc(100% - 300px); margin: 0 auto; }
#process .list ul{ display: flex; justify-content: space-between; }
#process .list ul li{ width: 185px; text-align: center; }
/* #process .list ul li figure{ padding: 10px; padding-bottom: 15px; } */
#process .list dl dt{ font-size: 2rem; font-weight: 600; margin: 15px 0; }
#process .list dl dd{ font-size: 1.7rem; font-weight: 300; }

@media screen and (max-width: 1610px){
	#process br{ display: none; }
}

@media screen and (max-width: 1600px){
	#process .process-box:not(:last-of-type){ margin-bottom: 120px; }
	#process .text h5{ font-size: 3.2rem; }

	#process .icon .title span{ font-size: 1.6rem; }
	#process .icon .title h6{ font-size: 2.3rem; }
	#process .list dl dt{ font-size: 1.9rem; }
	#process .list dl dd{ font-size: 1.7rem; }
}

@media screen and (max-width: 1450px){
	#process .icon .title{ width: 250px; }
	#process .list{ width: calc(100% - 250px); }
}

@media screen and (max-width: 1280px){
	#process .text h5{ font-size: 2.8rem; padding-left: 40px; }
	#process .text h5::before{ width: 30px; }
	#process .text h5::after{ height: 30px; left: 13px; }

	#process .icon{ align-items: flex-start; }
	#process .icon .title{ margin-top: 65px; }

	#process .list ul{ flex-wrap: wrap; justify-content: flex-start; margin-bottom: -30px; }
	#process .list ul li{ width: calc((100% - 60px) / 3); margin-right: 30px; margin-bottom: 30px; }
	#process .list ul li:nth-of-type(3n){ margin-right: 0; }
}

@media screen and (max-width: 1200px){
	#process .text{ flex-direction: column; }
	#process .text .half{ width: 100%; }
	#process .text .half:last-of-type{ margin-top: 20px; }
	#process .flex-box .title{ width: 100%; }
	#process .flex-box .content{ width: 100%; margin-top: 20px; }

	#process .icon .title{ margin-bottom: 30px; }

	#process .list dl dt{ margin: 20px 0 10px; }
}

@media screen and (max-width: 1000px){
	#process .icon{ flex-direction: column; }
	#process .icon .title{ width: 100%; margin-top: 0; margin-bottom: 30px; }
	#process .list{ width: 100%; }
}

@media screen and (max-width: 900px){
	#process .process-box:not(:last-of-type){ margin-bottom: 80px; }
	#process .text{ margin-bottom: 20px; }
	#process .text h5{ font-size: 2.5rem; padding-left: 30px; }
	#process .text h5::before{ width: 20px; }
	#process .text h5::after{ height: 20px; left: 8px; }
	#process .text p{ font-size: 1.6rem; }

	#process .figure .half{ width: calc((100% - 20px) / 2); }

	#process .video{ margin-bottom: 60px; }

	#process .process-box icon:first-of-type{ margin-top: 60px; }
	#process .icon:not(:last-of-type){ margin-bottom: 60px; }

	#process .icon .title span{ font-size: 1.5rem; }
	#process .icon .title h6{ font-size: 2rem; }

	#process .list dl dt{ font-size: 1.8rem; }
	#process .list dl dd{ font-size: 1.6rem; }

	#process figure figcaption{ font-size: 1.6rem; }
}

@media screen and (max-width: 650px){
	#process .list ul li{ width: calc((100% - 30px) / 2); margin-right: 30px; }
	#process .list ul li:nth-of-type(3n){ margin-right: 30px; }
	#process .list ul li:nth-of-type(2n){ margin-right: 0; }
}


/* Clients */
#clients{ padding-top: 80px; padding-bottom: 0; }
#clients .logo-slide{ padding: 60px 0; border-top: 1px solid var(--mainColor1); border-bottom: 1px solid var(--mainColor1); }
#clients .logo-slide .logos{ display: flex; overflow: hidden; }
#clients .logo-slide .logos:not(:last-of-type){ margin-bottom: 60px; }
#clients .logo-slide .logos ul{ width: max-content; display: flex; }
#clients .logo-slide .logos ul li{ width: max-content; height: 60px; display: flex; justify-content: center; align-items: center; margin-right: 180px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important; }
#clients .logo-slide .logos ul li img{ width: auto; height: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important; outline: none; }

/* 왼쪽으로 롤링 */
#clients .logo-slide .logos.left ul.origin{ animation: 60s linear 0s infinite normal forwards running origin_left; }
#clients .logo-slide .logos.left ul.clone{ animation: 60s linear 0s infinite normal none running clone_left; }

@keyframes origin_left{
	0%{ transform: translateX(0); }
	50%{ transform: translateX(-100%); }
	50.01%{ transform: translateX(100%) }
	100%{ transform: translateX(0); }
}

@keyframes clone_left{
	0%{ transform: translateX(0); }
	100%{ transform: translateX(-200%) }
}

/* 오른쪽으로 롤링 */
#clients .logo-slide .logos.right ul.origin{ animation: 60s linear 0s infinite normal forwards running origin_right; }
#clients .logo-slide .logos.right ul.clone{ animation: 60s linear 0s infinite normal none running clone_right; }

@keyframes origin_right{
	0%{ transform: translateX(0); }
	50%{ transform: translateX(100%); }
	50.01%{ transform: translateX(-100%); }
	100%{ transform: translateX(0); }
}

@keyframes clone_right{
	0%{ transform: translateX(-200%) }
	100%{ transform: translateX(0); }
}

@media screen and (max-width: 1600px){
	#clients .logo-slide .logos ul li{ height: 50px; }
}

@media screen and (max-width: 1280px){
	#clients{ padding-top: 60px; }
	#clients .logo-slide{ padding: 30px 0; }
	#clients .logo-slide .logos:not(:last-of-type){ margin-bottom: 40px; }
	#clients .logo-slide .logos ul li{ height: 40px; margin-right: 130px; }
}

@media screen and (max-width: 650px){
	#clients{ padding-top: 40px; }
	#clients .logo-slide{ padding: 20px 0; }
	#clients .logo-slide .logos ul li{ height: 30px; margin-right: 80px; }
	#clients .logo-slide .logos ul li img{ transform: scale(1); }
}


/* Portfolio */
#portfolio{ padding-bottom: 80px; }
#portfolio .flex-box{ display: flex; justify-content: space-between; }
#portfolio .title-box a{ margin-top: 20px; }

#portfolio .list-box{ width: 74.4%; }
#portfolio .list-box ul{ opacity: 1 !important; position: relative; }
#portfolio .list-box ul::before, #portfolio .list-box ul::after{ content: ""; width: 100%; height: 1px; background: var(--mainColor1); position: absolute; top: 0; left: 0; transition: all 1s; transition-delay: 0.3s; }
#portfolio .list-box ul::before{ opacity: 0.3; }
#portfolio .list-box ul::after{ /* transform: scalex(0); */ transform-origin: left; }
#portfolio .list-box ul li{ padding: 10px; position: relative; z-index: 5; }
#portfolio .list-box ul li::before, #portfolio .list-box ul li::after{ content: ""; width: 100%; height: 1px; background: var(--mainColor1); position: absolute; bottom: 0; left: 0; transition: all 1s; transition-delay: 0.3s; }
#portfolio .list-box ul li::before{ opacity: 0.3; }
#portfolio .list-box ul li::after{ /* transform: scalex(0); */ transform-origin: left; }

#portfolio .list-box ul li div{ display: flex; justify-content: space-between; color: var(--mainColor1); transition: color 0.5s; }
#portfolio .list-box ul li div::before{ content: ""; width: 100%; height: calc(100% + 2px); background: var(--mainColor1); position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; transform: scaleY(0); transform-origin: bottom; transition: transform 0.5s; }
#portfolio .list-box ul li div *{ font-family: var(--engFont); letter-spacing: -0.03em; }
#portfolio .list-box ul li p, #portfolio .list-box ul li span{ /* opacity: 0.3; */ transition: opacity 1s; }
#portfolio .list-box ul li p{ width: 200px; font-size: 2.2rem; font-weight: 400; }
#portfolio .list-box ul li span{ width: calc(100% - 200px); display: inline-block; font-size: 1.8rem; font-weight: 100; text-align: right; }
#portfolio .list-box ul li a{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 10; }  


#portfolio .list-box ul.aos-animate::after, #portfolio .list-box ul.aos-animate li::after{ transform: scalex(1); }
#portfolio .list-box ul.aos-animate li p, #portfolio .list-box ul.aos-animate li span{ opacity: 1; }

#portfolio .list-box ul li:hover *{ color: var(--mainColor2); }
#portfolio .list-box ul li:hover div::before{ transform: scaleY(1); }

@media screen and (max-width: 1600px){
	#portfolio .title-box{ width: 350px; }
 
	#portfolio .list-box{ width: calc(100% - 350px); }
	#portfolio .list-box ul li div *{ font-size: 1.9rem; }
} 

@media screen and (max-width: 1280px){
	#portfolio{ padding-bottom: 60px; }
	#portfolio .title-box{ width: 280px; } 
	#portfolio .list-box{ width: calc(100% - 280px); }
	#portfolio .list-box ul li div *{ font-size: 1.7rem; }
	#portfolio .list-box ul li span{ font-size: 1.5rem; }
}

@media screen and (max-width: 1200px){
	#portfolio .flex-box{ flex-direction: column; }
	#portfolio .title-box, #portfolio .list-box{ width: 100%; } 
	#portfolio .title-box{ display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 10px; }
	#portfolio .title-box a{ margin-bottom: 10px; }

	#portfolio .list-box ul li div{ flex-direction: column; }
	#portfolio .list-box ul li p{ margin-bottom: 5px; }
	#portfolio .list-box ul li p, #portfolio .list-box ul li span{ width: 100%; }
	#portfolio .list-box ul li span{ text-align: left; }
}

@media screen and (max-width: 900px){
	#portfolio .title-box{ margin-bottom: 5px; } 
	#portfolio .title-box a{ margin-bottom: 5px; }
}

@media screen and (max-width: 650px){
	#portfolio{ padding-bottom: 40px; }
}


/* News */
#news{ overflow: hidden; }
#news .inner{ position: relative; }
#news .btn{ display: flex; justify-content: flex-end; padding-bottom: 20px; position: absolute; top: 0; right: 0; transform: translateY(-100%); }
#news .btn button{ width: 60px; height: 60px; border: 1px solid var(--mainColor2); background: transparent; border-radius: 50%; transition: background 0.5s; }
#news .btn button:not(:last-of-type){ margin-right: 20px; }
#news .btn button svg{ width: 100%; position: relative; top: 2px; }
#news .btn button svg path{ transition: all 0.5s; }
#news .btn button:hover{ background: var(--mainColor2); }
#news .btn button:hover svg path{ stroke: var(--mainColor1); }

#news .news-wrap{ width: calc( 100% + ((100vw - 100%) / 2)); }
#news .news-wrap .slick-list{ margin-right: -35px; }
#news .news{ width: 420px; position: relative; margin-right: 35px; }
#news .news figure{ width: 100%; position: relative; z-index: 10; overflow: hidden; padding-bottom: 71.5%; margin-bottom: -4px; }
#news .news figure img{ width: 100%; height: 100%; object-fit: cover; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#news .news .text{ padding: 25px 20px; border-bottom: 1px solid var(--mainColor2); position: relative; }
#news .news .text::before, #news .news .text::after{ content: ""; width: 1px; height: calc(100% + 5px); background: var(--mainColor2); position: absolute; bottom: 0; transform: scaleY(0); transform-origin: bottom; transition: transform 0.5s; }
#news .news .text::before{ left: 0; }
#news .news .text::after{ right: 0; }
#news .news:hover .text::before, #news .news:hover .text::after{ transform: scaleY(1); }
#news .news .text h6{ width: 100%; font-size: 2rem; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 25px; }
#news .news .text p{ width: 100%; font-size: 1.6rem; font-weight: 400; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
#news .news a{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 20; }
#news .center{ text-align: center; margin-top: 120px; }

@media screen and (max-width: 1600px){
	#news .center{ margin-top: 80px; }
}

@media screen and (max-width: 1280px){
	#news .btn button{ width: 50px; height: 50px; }

	#news .news .text{ padding: 20px 15px; }
	#news .news .text h6{ font-size: 1.9rem; margin-bottom: 10px; }

	#news .center{ margin-top: 50px; }
}

@media screen and (max-width: 1000px){
	#news .news-wrap .slick-list{ margin-right: -20px; }
	#news .news{ width: 400px; margin-right: 20px; padding-bottom: 1px; }

	#news .center{ margin-top: 40px; }
}