html, body {overflow: hidden;}
@media screen and (max-width: 820px) {
  html, body {overflow: visible;}
}
.cursor {position: fixed; left: 0; top: 0; z-index: 100000000; pointer-events: none; border: 1px solid #dde1e5; background: #00000091; transform: translate(-50%, -50%); width: 58px; height: 58px; border-radius: 50%; display: flex; align-items: center; justify-content: center;}
.cursor i {color: #dde1e5; opacity: 0;}

#Cursor {opacity: 0;}
@media screen and (max-width: 820px) {
  .cursor {display: none;}
}

/* intro */
.intro {background: #000; height: 100vh; width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; position: absolute; left: 0; top: 0%;}
.intro .v_line {width: 2px; height: 100%; position: absolute; left: 50%; top: 0; transform: translateX(-50%); background: #0c0c0c;}

/* svg 모션 임시 */
/* .intro p {position: relative; z-index: 1; font-family: 'Inter'; color: #9d9d9d; font-size: 24px; font-weight: 500; letter-spacing: -0.025em;}
.intro p b {color: #fff} */
.intro .flxcld {position: relative;}
.intro svg {width: 326px; position: relative; z-index: 1;}
.intro .posSet {position: absolute; left: 50%; top: 100%; transform: translateX(-50%);}
.intro .symbol { margin-top: 50px; background: #000; border: 1px solid #f5f5f545; display: flex; width: 36px; height: 36px; transform: rotate(45deg);; opacity: 0; transition: opacity .3s;}
.intro.loading .symbol {opacity: 1;}
.intro .symbol .spinner {position: relative; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; transform: rotate(22.5deg);}
.intro .symbol .spinner div {position: absolute; width: 1px; height: 6px; background: #fff; transform: rotate(calc(var(--rotation) * 1deg)) translate(0, calc(var(--translation) * 1%)); animation: spinner-fzua35 1s calc(var(--delay) * 1s) infinite ease; }
.intro .symbol .spinner div:nth-child(1) {--delay: 0.1; --rotation: 45; --translation: 150;}
.intro .symbol .spinner div:nth-child(2) {--delay: 0.2; --rotation: 90; --translation: 150;}
.intro .symbol .spinner div:nth-child(3) {--delay: 0.3; --rotation: 135; --translation: 150;}
.intro .symbol .spinner div:nth-child(4) {--delay: 0.4; --rotation: 180; --translation: 150;}
.intro .symbol .spinner div:nth-child(5) {--delay: 0.5; --rotation: 225; --translation: 150;}
.intro .symbol .spinner div:nth-child(6) {--delay: 0.6; --rotation: 270; --translation: 150;}
.intro .symbol .spinner div:nth-child(7) {--delay: 0.7; --rotation: 315; --translation: 150;}
.intro .symbol .spinner div:nth-child(8) {--delay: 0.8; --rotation: 360; --translation: 150;}
@keyframes spinner-fzua35 {
  0%, 10%, 20%, 30%, 50%, 60%, 70%, 80%, 90%, 100% {
    transform: rotate(calc(var(--rotation) * 1deg)) translate(0, calc(var(--translation) * 1%));
  }

  50% {
    transform: rotate(calc(var(--rotation) * 1deg)) translate(0, calc(var(--translation) * 1.3%));
  }
}
.intro .scrollDown {cursor: pointer; opacity: 1; position: absolute; bottom: 3%; left: 50%; transform: translateX(-50%); border-radius: 50%; width: 23px; height: 23px; display: flex; justify-content: center; align-items: center; background: #000; border: 1px solid #f5f5f547; box-sizing: border-box; transition: opacity .8s;}
.intro.loading .scrollDown {opacity: 0;}
.intro .scrollDown::before {content: ''; display: block; width: 100%; height: 100%; border-radius: 50%; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center; border: 1px solid #f5f5f547; animation: circle_wave .8s infinite;  box-sizing: border-box}
.intro .scrollDown div {display: block; transform: rotate(-45deg); transform-origin: center; width: 6px; height: 6px; margin-bottom: 2px; border-width: 0 0 1px 1px; border-color: #fff; border-style: solid;}
@keyframes circle_wave {
  0% {transform: translate(-50%, -50%) scale(1); opacity: 1;}
  100% {transform: translate(-50%, -50%) scale(2); opacity: 0;}
}

@media screen and (max-width: 500px) {
  .intro svg {width: 250px;}
}

/* main */
.main {--leftPer_line : calc(466/1920*100%); --leftPer : calc(416/1820*100%); --topPer : 50%; --bigTxt: 80px; overflow: hidden; width: 100%; padding-top: 100vh;; position: relative;}
.main .mainSwiper {height: 100vh; width: 100%; overflow: hidden;}
.main .mainSwiper .intro {display: flex;}

.main section {background: #fff; height: 100vh; position: relative; border-top: 1px solid #ededed;}
.main section .wrap {height: 100%;}
.main section .backLine {position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.main section .backLine .line {background: #ededed; background: #c5c5c5; position: absolute;}
.main section .backLine .line.vtcl {height: 100%; width: 1px; top: 0; left: var(--leftPer_line);}
.main section .backLine .line.hrznt {width: 100%; height: 1px; top: var(--topPer); left: 0;}
.main section .backLine .line .pointLine {background: #000; position: absolute; transform: translate(-50%, -50%); }
.main section .backLine .line.vtcl .pointLine {width: 100%; height: 52px; top: var(--topPer); left: 50%;}
.main section .backLine .line.hrznt .pointLine {width: 25px; height: 100%; top: 50%; left: var(--leftPer_line);}
.main section .bottom {position: absolute; left: 0; bottom: 0; width: 100%; padding-bottom: 45px; display: flex; justify-content: space-between; align-items: flex-end;}
.main section .bottom .page {font-family: 'Inter'; font-size: 16px; letter-spacing: -0.025em; color: #a6a6a6; margin-top: calc(30/16*1em);}
.main section.act .bottom .page {color: #000000;}
.main section .bottom .scrollDown_arr {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -100%); animation: upDown 1.5s ease-in-out infinite;}
@keyframes upDown {
  0% {margin-top: 0px;}
  50% {margin-top: 10px;}
  100% {margin-top: 0px;}
}
.main section.s4 .bottom .scrollDown_arr {display: none;}
.main section .bottom .scrollDown_arr > div:nth-child(1) {width: 23px; height: 23px; border: 2px solid #000; border-width: 0 0 1px 1px; transform: rotate(-45deg);}
.main section .bottom .scrollDown_arr > div:nth-child(2) {height: 29px; width: 1px; background: #000; transform: translate(-50%, -50%); position: absolute; left: 50%; top: 50%;}
.main section .bottom .navi {display: flex; flex-direction: column; align-items: center;;}
.main section .bottom .top {cursor: pointer; width: 43px; height: 43px; border: 1px solid #000; position: relative; display: flex; justify-content: center; align-items: center; border-radius: 50%; transition: background .4s;}
.main section .bottom .top div {width: 12px; height: 12px; border: 1px solid #000; border-width: 1px 1px 0 0; transform: rotate(-45deg); margin-top: 7px; transition: border-color .4s;}
.main section .bottom .top:nth-child(2) {margin-top: 10px;}
.main section .bottom .top:nth-child(2) div {transform: rotate(135deg); margin-top: 0px; margin-bottom: 7px;}
.main section .bottom .top:hover {background: #000;}
.main section .bottom .top:hover div {border-color: #fff;}
.main section .cont {height: 100%; display: flex;}
.main section .cont > div:not(.naviWrap) {height: 100%;position: relative;}
.main section .cont .left {width: var(--leftPer); flex-shrink: 0;}
.main section .cont .left .top {height: var(--topPer); flex-shrink: 0; display: flex; align-items: flex-end;}
.main section .cont .left .top h2 {width: 100%; padding-bottom: calc(25/16*1em); font-size: 16px; font-family: 'Inter'; letter-spacing: -0.025em; color: #454545; font-weight: 300; box-sizing: border-box;}
.main section .cont .right {display: flex; flex-direction: column; width: 100%; }
.main section:not(.s3) .cont .right > div {padding-left: 15px; box-sizing: border-box;}
.main section:not(.s3) .cont .right .top {height: var(--topPer);}
.main section:not(.s3) .cont .right .btm {height: calc(100% - var(--topPer));}
.main section .cont .right .top {display: flex; align-items: flex-end;}


.main .s1 .cont .right .top .title {display: flex; flex-direction: column; width: 100%;}
/* .main .s1 .cont .right .top .title b {font-size: var(--bigTxt); font-weight: bold; font-family: 'Montserrat'; color: #000; letter-spacing: -0.025em; padding-bottom: calc(25/80*1em);} */
.main .s1 .cont .right .top .title .title_logo {padding-bottom: 25px; padding-right: 25px; padding-left: 3px;}

.main .s1 .cont .right .top .title .typingBx{font-size: 33px; font-weight: 300; font-family: 'Montserrat'; color: #262626; margin-bottom: calc(50/35*1em);}
.main .s1 .cont .right .top .title .typingTxt{display: none; letter-spacing: -0.025em;}
.main .s1 .cont .right .top .title .dummyTxt{display: inline-block; width: 0; color: transparent;}
.main .s1 .cont .right .top .title .typing {display: inline-block;  letter-spacing: -0.025em;  animation: typingCursor forwards infinite 0.3s; padding-right: 5px;}
.main .s1 .cont .right .top .title .typing.end{animation: none;}
@keyframes typingCursor{
	0%{border-right: 1px solid #fff}
	50%{border-right: 1px solid #000}
	100%{border-right: 1px solid #fff}
}
.main .s1 .cont .right .btm {display: flex; align-items: flex-start;}
.main .s1 .cont .right .btm .align {display: flex; align-items: flex-start; width: 100%; flex-direction: column;}
.main .s1 .cont .right .btm dl {word-break: keep-all; max-width: 600px; padding-top: 25px;}
.main .s1 .cont .right .btm dl:nth-of-type(1){margin-right: 50px; margin-bottom: 3px;}
.main .s1 .cont .right .btm dl.eng dt {font-family: 'Montserrat'; font-weight: 600;}
.main .s1 .cont .right .btm dl.eng dd {font-family: 'Montserrat'; font-weight: 400;}
.main .s1 .cont .right .btm dl+dl {}
.main .s1 .cont .right .btm dl dt {box-sizing: border-box; font-size: 18px; font-weight: 600; letter-spacing: -0.025em; color: #262626; padding-bottom: calc(25/16*1em); display: flex; align-items: flex-start; line-height: 1.5;}
/* .main .s1 .cont .right .btm dl dt { box-sizing: border-box; font-size: 18px; font-weight: 600; letter-spacing: -0.025em; color: #262626; padding-bottom: calc(25/16*1em); display: flex; align-items: flex-start; line-height: 1.5;} */
.main .s1 .cont .right .btm dl dd {font-size: 16px; font-weight: 300; letter-spacing: -0.025em; color: #1b1b1b; display: flex; line-height: 1.4;}
.main .s1 .cont .right .btm dl p {width: 100%; word-break: keep-all;}

/* .main .s1 .cont .right .btm dl:nth-child(1) dt {font-family: 'NanumSquareEB'; font-weight: 400;}
.main .s1 .cont .right .btm dl:nth-child(1) dd {font-family: 'NanumSquareR'; font-weight: 400} */


/* 섹션 1 텍스트 반응형 */
.main section.s1 .backLine .line.hrznt{top: 35%;}
.main section.s1 .backLine .line.vtcl .pointLine{top: 35%;}
.main section.s1 .cont .right .top{height: 35%;}
@media screen and (max-height:700px) {
	.main section.s1 .backLine .line.hrznt{top: var(--topPer);}
	.main section.s1 .cont .right .top{height: var(--topPer);}
	.main section.s1 .backLine .line.vtcl .pointLine{top: var(--topPer)}

	.main .s1 .cont .right .btm .align{flex-direction: unset;}
	.main .s1 .cont .right .btm dl dt{height: calc(90 / 18* 1em);}
}

@media screen and (max-height: 700px) and (max-width: 1440px) {
    /* .main .s1 .cont .right .btm dl dt {height: auto;} */
	.main .s1 .cont .right .btm dl dt{font-size: 16px !important;}
	.main .s1 .cont .right .btm dl p br{display: none;}
}
@media screen and (max-height: 700px) and (max-width: 1000px) {
    .main .s1 .cont .right .btm dl dt {height: auto;}
}

@media screen and (max-width:820px) {
	.main section.s1 .backLine .line.hrznt{top: var(--topPer);}
	.main section.s1 .cont .right .top{height: var(--topPer);}
	.main section.s1 .backLine .line.vtcl .pointLine{top: var(--topPer)}
	.main .s1 .cont .right .btm .align{flex-direction: column !important;}
}





@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1280px) {
  .main .s1 .cont .right .btm dl+dl {}
  .main .s1 .cont .right .btm dl dt {font-size: 18px;}
  .main .s1 .cont .right .btm dl dd {font-size: 15px;}
}
@media screen and (max-width: 1172px) {
    /* .main .s1 .cont .right .btm dl dt {height: calc(140/18*1em);;} */
}
@media screen and (max-width: 1024px) {
  .main {--topPer: 40%; --bigTxt: 60px;}
  .main .s1 .cont .right .top .title .typingBx {font-size: 25px; margin-bottom: calc(25/35*1em);}
  .main .s1 .cont .right .top .title .title_logo {max-width: 550px; padding-bottom: 15px;}
  .main .s1 .cont .right .btm .align {}
  .main .s1 .cont .right .btm dl+dl {}
  .main .s1 .cont .right .btm dl:nth-of-type(1){margin-right: 30px;}
  /* .main .s1 .cont .right .btm dl dt {padding-bottom: calc(10/16*1em);height: auto;} */
  .main .s1 .cont .right .btm dl dt {padding-bottom: calc(10/16*1em);}

}
@media screen and (max-width: 820px) {
  .main {--topPer:210px; --bigTxt: 38px; --leftPer_line: calc(25/1920*100%); }
  .main section {height: auto; padding-top: 0px; padding-bottom: 50px;}
  .main section:not(.s1) .cont .right {padding-bottom: 150px;}
  .main section .cont {flex-direction: column;}
  .main section .cont .left {width: 100%; height: 0; display: none;}
  .main section .cont .left .top {height: auto;}
  .main section.s3 .cont .right {padding-bottom: 60px;}
  .main section.s4 .cont .right {padding-top: 30vh; padding-bottom: 250px;}
  /* .main section:not(.s3) .cont .right .top {height: auto;} */
  .main section:not(.s3) .cont .right > div {padding-left: 0;}
  .main section:not(.s3) .cont .right .btm {height: auto;}
  .main section .bottom {display: none;}
  .main section .backLine .line.vtcl .pointLine {height: 45px;}
  /* .main .s1 {padding-top: 150px;} */
  .main .s1 {margin-top: 45px; }
  .main .s2 {--topPer:503px}
  .main .s3 {--topPer:263px}
  .main .s4 {--topPer:250px}
  .main section.s4 .cont .right {padding-top: 0;}
  .main .s1 .cont .right .btm {}
  .main .s1 .cont .right .btm dl dt {font-size: 18px !important; height: auto;}

  .main .s1 .cont .right .top .title .typingBx .typing{display: none;}
  .main .s1 .cont .right .top .title .typingBx .typingTxt{display: block;}
  .main .s1 .cont .right .top .title .dummyTxt{display: none;}
}
@media screen and (max-width: 611px) {
	.main .s1 .cont .right .top .title .typingBx {font-size: calc((25*100/610)*1vw);}
}
@media screen and (max-width: 500px) {
  .main {--bigTxt: 28px; --topPer: 65px; }
  .main section {padding-top: 0px; padding-bottom: 100px;}
  .main section .cont .left .top h2 {padding-bottom: 10px;}
  /* .main .s1 {padding-top: 100px;} */
  .main .s1 {margin-top: 40px;}
  .main .s1 {--topPer:140px}
  .main .s2 {--topPer: 380px}
  .main .s3 {--topPer: 210px}
  .main .s1 .cont .right .top .title {padding-top: 25px;}
  .main .s1 .cont .right .top .title .typingBx {font-size: calc((20.5*100/500)*1vw); line-height: 1.3; margin-bottom: 20px;}
  .main .s1 .cont .right .btm dl{padding-top: 20px;}
  .main .s1 .cont .right .btm dl:nth-of-type(1){margin-bottom: 0;}
  .main .s1 .cont .right .btm dl dt {font-size: 16px !important;}
  .main .s1 .cont .right .btm dl dd {font-size: 14px;}
}
@media screen and (max-width: 400px) {
	.main .s1 .cont .right .top .title .typingBx{font-size: calc(16.2*100/400*1vw);}
}






.main .s2 .cont .right .top { flex-direction: column; align-items: flex-start; justify-content: flex-end;}
.main .s2 .cont .right .top .title b {padding-bottom: calc(50/26*1em); display: block; font-size: 26px; font-family: 'Montserrat'; font-weight: 400; letter-spacing: -0.025em; color: #000; font-family: 'Montserrat';}
.main .s2 .cont .right .top ul {padding-bottom: 30px;}
.main .s2 .cont .right .top ul li {font-size: calc(var(--bigTxt) - 18px); letter-spacing: -0.045em; font-family: 'Montserrat'; font-weight: 600; color: #ccc; filter: blur(5px); transition: color .4s, filter .4s; position: relative;}
.main .s2 .cont .right .top ul li.act {color: #000;filter: blur(0px);}
.main .s2 .cont .right .top ul li::after {content: '\e906'; font-family: xeicon; margin-left: 1em; opacity: 0; }
.main .s2 .cont .right .top ul li+li {margin-top: calc(20/80*1em);}
.main .s2 .cont .right .top ul li span {cursor: pointer; position: relative; line-height: calc(0.8);}
.main .s2 .cont .right .top ul li span::after {content: attr(num); position: absolute; bottom: 100%; right: 0; font-size: 16px; letter-spacing: -0.045em; font-weight: 800; opacity: 0; transition: opcity .4s;}
.main .s2 .cont .right .top ul li.act span::after {opacity: 1;}
.main .s2 .cont .right .btm {position: relative;}
.main .s2 .cont .right .btm .b_gp {position: absolute; top: 0;}
.main .s2 .cont .right .btm .b_gp b {font-family: 'Montserrat'; font-size: 24px; letter-spacing: -0.045em; font-weight: 600; color: #000; padding-top: calc(40/24*1em); padding-bottom: calc(10/24*1em); box-sizing: border-box; display: block;}
.main .s2 .cont .right .btm .b_gp p {font-family: 'Montserrat'; font-size: 18px; letter-spacing: -0.025em; font-weight: 400; color: #6a6a6a; padding-bottom: calc(25/16*1em);}

.main .s2 .cont .right .btm .b_gp ul li {font-family: 'Montserrat'; font-weight: 400; font-size: 16px; letter-spacing: -0.025em; color: #1b1b1b;}
.main .s2 .cont .right .btm .b_gp ul li+li {margin-top: calc(10/16*1em);}

@media screen and (min-width: 821px) {
  .main .s2 .cont .right .btm .b_gp b {transition: opacity .4s; opacity: 0;}
  .main .s2 .cont .right .btm .b_gp.act b {opacity: 1; transition: opacity .4s .4s;}
  .main .s2 .cont .right .btm .b_gp p {transition: opacity .4s; opacity: 0; }
  .main .s2 .cont .right .btm .b_gp.act p {opacity: 1; transition: opacity .4s .4s;}
  .main .s2 .cont .right .btm .b_gp ul li {transition: opacity .4s; opacity: 0;}
  .main .s2 .cont .right .btm .b_gp.act ul li {transition: opacity .6s .6s; opacity: 1;}
}
@media screen and (max-width: 1024px) {
    .main .s2 .cont .right .top ul {padding-bottom: 20px;}
    .main .s2 .cont .right .btm {padding-top: 20px;}
    .main .s2 .cont .right .top ul li {font-size: calc(var(--bigTxt) - 10px);}
}
@media screen and (max-width: 820px) {
  .main .s2 .cont .right .top .title b {padding-bottom: calc(10/26*1em); padding-top: calc(20/26*1em); font-size: 16px;}
  .main .s2 .cont .right .top ul {padding-top: 30px;}
  .main .s2 .cont .right .top ul li {font-size: var(--bigTxt); filter: blur(2px);}
  .main .s2 .cont .right .top ul li::after {opacity: 1;}
  .main .s2 .cont .right .top ul li.act::after {opacity: 0;}
  .main .s2 .cont .right .top ul li span::after {bottom: auto; top: 0; right: 0; left: 100%;}
  .main .s2 .cont .right .btm .b_gp {position: absolute; display: none;}
  .main .s2 .cont .right .btm .b_gp.act { position: relative;}
  .main .s2 .cont .right .btm .b_gp b { padding-top: 0; font-size: 22px;}
  .main .s2 .cont .right .btm .b_gp p { padding-top: 0; font-size: 16px;}
}
@media screen and (max-width: 500px) {
  .main .s2 .cont .right .top ul {padding-top: 25px;}
  .main .s2 .cont .right .top ul li {font-size: 32px;}
  .main .s2 .cont .right .top ul li::after {margin-left: 10px;}
  .main .s2 .cont .right .btm .b_gp b {font-size: 20px;}
  .main .s2 .cont .right .btm .b_gp p {font-size: 14px;}
  .main .s2 .cont .right .btm .b_gp ul li {font-size: 14px;}
}
@media screen and (max-width: 350px) {
    .main .s2 .cont .right .top ul li {font-size: 26px;}
}


.main .s3 .cont {flex-direction: column; max-height: 100vh;}
.main .s3 .cont .cont_top {display: flex; position: relative; width: 100%;}
.main .s3 .cont .right {justify-content: center; padding-left: 30px; min-width: 0; padding-top: 150px;}
.main .s3 .cont .right .s3_swiper {position: relative; width: 100%; padding-left: 15px;}
.main .s3 .cont .right .s3_swiper .tit {position: absolute; bottom: 100%; left: 0; font-size: var(--bigTxt); font-weight: 600; letter-spacing: -0.025em; color: #000; font-family: 'Montserrat'; padding-bottom: calc(30/80*1em);}
.main .s3 .cont .right .s3_swiper .swiper {width: 100%;}
.main .s3 .cont .right .s3_swiper .swiper .swiper-slide {width: 109px; background: #000; transform-origin: center; position: relative; filter: saturate(0); -webkit-filter: saturate(0); -webkit-backface-visibility: hidden !important;-webkit-transform: translate3d(0, 0, 0);}
.main .s3 .cont .right .s3_swiper .swiper .swiper-slide:hover {cursor: none;}
.main .s3 .cont .right .s3_swiper .swiper .swiper-slide+.swiper-slide  {margin-left: 20px;}
.main .s3 .cont .right .s3_swiper .swiper .thumb {width: 100%; position: relative;}
.main .s3 .cont .right .s3_swiper .swiper .thumb::after {content: ''; display: block; padding-top: calc(400/109*100%);}
.main .s3 .cont .right .s3_swiper .swiper .thumb img {max-width: none; width: 100%; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.main .s3 .cont {position: relative;}

.main .s3 .cont .naviWrap {position: static; display: flex; align-items: center; justify-content: center; padding-bottom: 100px;}
.main .s3 .cont .naviWrap .navibtn {font-size: 18px; cursor: pointer; padding: 5px; display: none;}
.main .s3 .cont .naviWrap .swiper_prev {margin-right: 30px;}
.main .s3 .cont .naviWrap .swiper_next {margin-left: 30px;}
.main .s3 .cont .infoWrap {position: relative; display: flex; flex-direction: column; align-items: center; white-space: nowrap;}
.main .s3 .cont .infoWrap .name b {font-family: 'Montserrat'; font-size: 18px; letter-spacing: -0.025em; font-weight: bold; color: #000;}
.main .s3 .cont .infoWrap .name span {font-family: 'Montserrat'; font-size: 18px; letter-spacing: -0.025em; color: #4c4c4c; padding-left: calc(5/16*1em);}
.main .s3 .cont .infoWrap .sub-dscrpt {font-family: 'Montserrat'; font-size: 16px; letter-spacing: -0.025em; color: #b5b5b5; color: #3b3b3b; opacity: .6; padding-top: 10px;}


/* 20240530 수정 아래 주석후 새로 추가 */
/* .main .s3 .bottom .scroll_h_arr {display: flex; align-items: center; position: absolute; left: 50%; transform: translateX(-50%);}
.main .s3 .bottom .scroll_h_arr .dia {width: 10px; height: 10px; border-color: #000; border-style: solid; transform-origin: center;}
.main .s3 .bottom .scroll_h_arr .left {transform: rotate(45deg); border-left-width: 1px; border-bottom-width: 1px;}
.main .s3 .bottom .scroll_h_arr .right {transform: rotate(45deg); border-top-width: 1px; border-right-width: 1px}
.main .s3 .bottom .scroll_h_arr .mid {animation: sideArr 1s ease-in-out infinite; padding: 0 3px;} */

.main .s3 .right .scroll_h_arr {display: flex; align-items: center; position: absolute; bottom: -10px; right: 16px;}
.main .s3 .right .scroll_h_arr .dia {width: 10px; height: 10px; border-color: #000; border-style: solid; transform-origin: center;}
.main .s3 .right .scroll_h_arr .left {transform: rotate(45deg); border-left-width: 1px; border-bottom-width: 1px; padding: 0 !important; display: none;}
.main .s3 .right .scroll_h_arr .right {transform: rotate(45deg); border-top-width: 1px; border-right-width: 1px; padding: 0 !important; position: relative; animation: rightArrow forwards infinite ease-in-out 2s;}
.main .s3 .right .scroll_h_arr .mid {padding: 0 3px;}


@media screen and (max-width:1024px) {
	.main .s3 .right .scroll_h_arr{right: unset; left: 0; bottom: -30px;}
}
@media screen and (max-width:820px) {
	.main .s3 .right .scroll_h_arr{display: none;}
}

@keyframes rightArrow {
	0%{right: -4px;}
	50%{right:0px}
	100%{right:-4px}
}

@keyframes sideArr {
    0%{padding: 0 3px;}
    50%{padding: 0 7px;}
    100%{padding: 0 3px;}
}


@media screen and (min-width: 821px) {
  .main .s3 .cont .right .s3_swiper .swiper .swiper-wrapper {transform: translateX(40%);}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide {transform: scale(.8);}
  /* .main .s3 .cont .right .s3_swiper .swiper .swiper-slide.scaleUp {transform: scale(1);}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide.scaleUp_half {transform: scale(.9);} */
}

@media screen and (max-width: 820px) {
    .main .s3 .cont .cont_top {flex-direction: column;}
  .main .s3 .cont .right {padding-left: 0; padding-top: 30px;}
  .main .s3 .cont .right .s3_swiper {padding-left: 0;}
  .main .s3 .cont .right .s3_swiper .tit {position: relative; padding-bottom: 30px;}
  .main .s3 .cont .naviWrap {position: static; width: 100%; justify-content: space-between; transform: translate(0); padding-top: 30px; padding-bottom: 0;}
  .main .s3 .cont .naviWrap .navibtn {display: block;;}
  .main .s3 .cont .infoWrap {width: 50%;}
  .main .s3 .cont .infoWrap .name {display: flex; flex-direction: column; align-items: center;;}
  .main .s3 .cont .infoWrap .name b { font-size: 16px; padding-bottom: calc(10/16*1em);}
  .main .s3 .cont .infoWrap .name span { font-size: 16px;}
  .main .s3 .cont .infoWrap .sub-dscrpt { font-size: 14px;}
  .main .s3 .cont .right .s3_swiper .swiper {margin-top: 50px;}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide {width: 80px; transition-delay: 0; transform: scale(.7); transition: .4s; transition-property: transform, filter;}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide.swiper-slide-active {transform: scale(1); transition-delay: .05s;}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide.swiper-slide-prev,
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide.swiper-slide-next {transform: scale(.9); transition-delay: .07s;}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide.sizedown {transform: scale(.8); transition-delay: .09s;}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide:hover {cursor: pointer;}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide.swiper-slide-active,
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide:hover {filter: saturate(1)}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide+.swiper-slide {margin-left: 5px;}
  .main .s3 .cont .infoWrap .sub-dscrpt {max-width: 100%;}
  .main .s3 .cont .infoWrap .sub-dscrpt p {width: 100%; word-break: keep-all; white-space: normal; text-align: center;}

  /* .main .s3 .cont .right .s3_swiper .swiper .swiper-slide:not(.swiper-slide-active) {transform: scale(.89);} */
  /* .main .s3 .cont .right .s3_swiper .swiper .swiper-slide.swiper-slide-prev,
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide.swiper-slide-next {transform: scale(.93);} */
}
@media screen and (max-width: 500px) {
  .main .s3 .cont .right {padding-top: 25px;}
  .main .s3 .cont .right .s3_swiper .swiper .swiper-slide {width: 60px;}
  .main .s3 .cont .naviWrap {justify-content: space-between;}
  .main .s3 .cont .infoWrap {width: 100%;}
  .main .s3 .cont .infoWrap .name b {font-size: 14px;}
}
@media screen and (max-width: 400px) {
    .main .s3 .cont .naviWrap {position: relative;}
    .main .s3 .cont .naviWrap {justify-content: center; padding-bottom: 10px;}
    .main .s3 .cont .infoWrap {position: absolute; top: 100%;}
}

.main .s4 .cont .right .top {display: flex; align-items: flex-end;}
.main .s4 .cont .right .top .align {display: flex; align-items: center; justify-content: space-between; width: 100%;}
.main .s4 .cont .right .top .align .title b {padding-bottom: calc(25/80*1em); display: block; font-size: var(--bigTxt); font-weight: 600; letter-spacing: -0.025em; color: #000; font-family: 'Montserrat';}
.main .s4 .cont .right .top .align .title p {padding-bottom: calc(25/30*1em); padding-left: calc(6/30*1em); display: block; font-family: 'Montserrat'; font-size: 30px; font-weight: 300; letter-spacing: -0.025em; color: #262626;}

.main .s4 .cont .right .btm h1 {font-size: 18px; font-weight: 600; padding-bottom: calc(7/18*1em); padding-top: calc(80/18*1em);}
.main .s4 .cont .right .btm p {font-size: 16px; padding-bottom: calc(20/16*1em); line-height: 1.4; font-family: 'Montserrat'; font-weight: 600; letter-spacing: -0.025em; color: #1a1a1a;}
.main .s4 .cont .right .btm ul {box-sizing: border-box;}
.main .s4 .cont .right .btm ul li {display: flex; align-items: center; font-size: 16px;}
.main .s4 .cont .right .btm ul li+li {margin-top: calc(10/16*1em);}
.main .s4 .cont .right .btm ul li b {font-family: 'Montserrat'; font-weight: 600; width: calc(65/16*1em); margin-right: calc(30/16*1em); font-weight: 600; letter-spacing: -0.025em; color: #1a1a1a; text-align: left;}
.main .s4 .cont .right .btm ul li span {letter-spacing: -0.025em; color: #1b1b1b;}
.main .s4 .cont .right .btm ul li span.mont {font-family: 'Montserrat'; font-weight: 500; letter-spacing: -0.025em;}

@media screen and (max-width: 1024px) {
  /* .main section:not(.s3).s4 .cont .right .top {height: 100%;} */
  /* .main .s4 .cont .right .btm {display: none;} */
  .main .s4 .cont .right .top .align {flex-direction: column;}
  .main .s4 .cont .right .top .align .title {height: var(--topPer); width: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;}
  .main .s4 .cont .right .btm ul {height: calc(100% - var(--topPer)); width: 100%; display: flex; flex-direction: column; justify-content: flex-start; padding: 0;}
  .main .s4 .cont .right .btm ul li b {text-align: left; margin-right: calc(20/16*1em);}
}
@media screen and (max-width: 820px) {
  .main .s4 .cont .right .top .align .title p {padding-left: 0;}
  .main .s4 .cont .right .btm h1 {font-size: 16px; padding-top: calc(60/18*1em);}
  .main .s4 .cont .right .btm ul {padding-left: 0; padding-top: 0px;}
  .main .s4 .cont .right .btm ul li {font-size: 14px;}
}
@media screen and (max-width: 500px) {
  .main .s4 {padding-bottom: 0px;}
  .main .s4 .cont .right .top .align .title {padding-top:0;}
  .main .s4 .cont .right .top .align .title p {font-size: 20px; padding-left: 2px;}
  .main .s4 .cont .right .top .align .title b {padding-bottom: 15px;}
  .main .s4 .cont .right .btm p {font-size: 14px;}
  .main .s4 .cont .right .btm p br {display: none;}
}
@media screen and (max-width: 350px) {
    .main .s4 .cont .right .btm h1 {padding-top: calc(30/18*1em);}
}

.works_popup {opacity: 0; visibility: hidden; pointer-events: none; transition: .4s; position: fixed; left: 0; top: 0; z-index: 1000000; width: 100%; height: 100vh; background: transparent; backdrop-filter: blur(0px); display: flex; align-items: center; justify-content: center;}
.works_popup:hover {cursor: none;}
.works_popup.act {pointer-events: all; background: #0000007d; backdrop-filter: blur(5px); opacity: 1; visibility: visible; transition: opacity .4s, visibility .4s, background .4s .4s, backdrop-filter .4s .4s;}
.works_popup.act .inner {opacity: 1; transform: scale(1); filter: blur(0px); border-radius: 0%; transition: .6s .6s;}

.works_popup .inner {position: relative; width: 95%; max-width: 1280px; filter: blur(10px); border-radius: 50%; opacity: 0; transform: scale(.5); transform-origin: center; transition: .4s;}
.works_popup .inner._v {max-height: 70vh; width: 95%; max-width: 500px;}

.works_popup .inner .imgbox {width: 100%; position: relative;  overflow: hidden;}
.works_popup .inner._v .imgbox {width: unset; height: 100%;}

.works_popup .inner .imgbox::after {content: ''; display: block; padding-top: calc(980/1920*100%);}
.works_popup .inner._v .imgbox::after {padding-top: calc(600/600*100%);}

.works_popup .inner .imgbox img { width: 100%; height: 100%; object-fit: contain; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.works_popup .inner._v .imgbox img {height: 100%; width: unset; object-fit: contain;}

.works_popup .inner .vidBox {position: relative; width: 80%; margin: 0 auto; overflow: hidden;}
.works_popup .inner .vidBox::after {content: ''; display: block; padding-top: calc(1080/1920*100%);}
.works_popup .inner .vidBox iframe {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100%;}

.works_popup .inner .infoWrap {position: absolute; bottom: 100%; left: 50%; width: 100%; transform: translate(-50%, -30%); white-space: nowrap; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.works_popup .inner .infoWrap .name {display: flex; flex-direction: column; align-items: center; width: 100%;}
.works_popup .inner .infoWrap .name b {font-family: 'Montserrat'; font-size: 16px; display: block; width: 100%; text-align: center; line-height: 1.3; white-space: normal; letter-spacing: -0.025em; font-weight: bold; color: #fff;}
.works_popup .inner .infoWrap .name span {font-family: 'Montserrat'; font-size: 16px; display: block; width: 100%; text-align: center; line-height: 1.3; white-space: normal; letter-spacing: -0.025em; color: #fff; padding-top: calc(5/16*1em);}
.works_popup .inner .infoWrap .sub-dscrpt {font-family: 'Montserrat'; font-size: 14px; display: block; width: 100%; text-align: center; line-height: 1.3; white-space: normal; letter-spacing: -0.025em; color: #fff; opacity: .6; padding-top: 5px;}

.works_popup .inner .close { cursor: pointer; position: absolute; top: 100%; left: 50%; margin-top: 15px; border: 1px solid #dde1e5; background: #00000091; transform: translateX(-50%); width: 38px; height: 38px; border-radius: 50%; display: none; align-items: center; justify-content: center;}
.works_popup .inner .close i {color: #dde1e5;}
@media screen and (max-width: 1024px) {
    .works_popup .inner {max-width: 700px;}
}
@media screen and (max-width: 820px) {
  .works_popup .inner .close {display: flex;}
  .works_popup:hover {cursor: default;}
}
@media screen and (max-width: 500px) {
    .works_popup .inner .infoWrap {max-width: 100%;}
  .works_popup .inner .infoWrap .name b {font-size: 14px;}
  .works_popup .inner .infoWrap .name span {font-size: 14px;}
  .works_popup .inner .infoWrap .sub-dscrpt {font-size: 13px; word-break: keep-all;}
  .works_popup .inner .vidBox {width: 100%;}
}

