.visual {/*position: sticky*;/ top: 100px; width: 100%; /*height: 200vh;*/ margin-top: 100px; z-index: 2;}
.visual .kv_content {position: relative; display: flex; flex-flow: column; align-items: center; justify-content: center; width: 100%; height: calc(100vh - 120px); background: var(--pr); border-radius: 40px; padding-bottom: 100px; box-sizing: border-box; overflow: hidden; z-index: 2;}
.visual .kv_content .logo {width: 183px; height: auto; margin: 0 auto 40px;}
.visual .kv_content .logo img {width: 100%; height: auto;}

.visual .kv_content .txt-box {text-align: center;}
.visual .kv_content .txt-box .txt {font-size: 65px; font-weight: 800; line-height: 1.2; color: var(--wt);}
.visual .kv_content .txt-box .sub {margin-top: 20px; font-size: 24px; font-weight: 300; line-height: 1.21; color: var(--wt_ef);}

.kv_link {display: block; width: 400px; height: 60px; margin: 0 auto; border-radius: 10px; margin: 50px auto 0; background: var(--pr2); box-sizing: border-box; font-size: 22px; font-weight: bold; line-height: 1.18; color: var(--pr);}

.visual .rolling-banner {position: absolute; left: 0; bottom: 36px; display: flex; align-items: center; gap: 79px;}
.visual .rolling-banner ul {animation: roll 8s linear infinite; display: flex; align-items: center; gap: 79px;}
/* 롤링 애니메이션 정의 */
@keyframes roll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.visual .rolling-banner ul li {position: relative; width: 400px; height: auto;}
.visual .rolling-banner ul li img {width: 100%; height: auto;}

/* .visual .rocket {animation: rocket 1s 2s linear alternate both; width: 537px; position: absolute; bottom: 111.7px; right: 82.3px;} */
.visual .rocket {width: 537px; position: absolute; bottom: -299.3px; right: -202.7px; z-index: -1; transition: all 1s;}
.visual .rocket {animation: kv_rocket .7s 1s cubic-bezier(0.4, 0, 1, 1) alternate both;  transition: all 1s;}
@keyframes kv_rocket {
  0% {transform: translate3d(0, 0, 0) rotate(0);}
  100% {transform: translate3d(-2500px, -1500px, -1000px) rotate(-90deg);}
}
/* @keyframes rocket {
  0% {transform: translate3d(0, 0, 0);}
  100% {transform: translate3d(-1000px, -1000px, -1000px);}
} */

/* kv_rolling_all */
.visual .rolling-banner ul li .kv_rolling_all {position: absolute; top: -46px; right: -51px; width: 124px; height: auto; opacity: 0;}
.visual .rolling-banner ul li.on .kv_rolling_all {animation-name: stampani; animation-duration: 0.5s; animation-iteration-count: 1; animation-timing-function: ease;  opacity: 1;}
@-webkit-keyframes stampani {
  0%{transform: scale(5); opacity: 0;}
  95%{transform: scale(3); opacity: 1;}
  100%{transform: scale(1); opacity: 1;}
  /* 100%{transform: scale(1); opacity: 1;} */
}