.visual {position: relative; padding: 90px 0; box-sizing: border-box; background: var(--wt); z-index: 1;}
.visual .container {display: flex; align-items: center; justify-content: space-between;}
.visual .txt-box {margin-bottom: 160px;}
.visual .txt-box .sub {margin-bottom: 15px; font-size: 24px; font-weight: 600; line-height: 1.21; color: var(--pr);}
.visual .txt-box .tit {margin-bottom: 20px; font-size: 45px; font-weight: 800; line-height: 1.2; color: var(--pr);}
.visual .txt-box .txt {font-size: 16px; font-weight: 300; line-height: 1.8; color: var(--gray_6f);}
.visual .txt-box .cs_btn {margin-top: 40px;}

.visual .img-box {max-width: 334px; width: 100%; height: auto;}
.visual .img-box img {width: 100%; height: auto;}
.visual .img-box video {width: 100%; height: auto; border-radius: 20px; box-shadow: 0 0 20px 14px rgba(51, 61, 75, 0.1);}

.rolling-area {position: relative; width: 100%; height: auto; overflow: hidden; margin-top: -155px; z-index: -1;}
.rolling-area:before {position: absolute; top: 0; left: 0; content: ''; display: block; width: 360px; height: 100%; background-image: linear-gradient(to right, var(--wt), rgba(255, 255, 255, 0.76) 24%, rgba(255, 255, 255, 0)); z-index: 2;}
.rolling-area:after {position: absolute; top: 0; right: 0; content: ''; display: block; width: 360px; height: 100%;  background-image: linear-gradient(to left, var(--wt), rgba(255, 255, 255, 0.76) 24%, rgba(255, 255, 255, 0)); z-index: 2;}
.rolling-area .sec1_item {display: flex; align-items: center; justify-content: flex-start; gap: 60px;}
.rolling-area .sec1_item ul {animation: roll 14s linear infinite; display: flex; align-items: center; justify-content: flex-start; gap: 60px; flex: 0 0 auto;}
.rolling-area .sec1_item ul li {width: auto; height: 109px; flex: 0 0 auto;}
.rolling-area .sec1_item ul li img {width: auto; height: 100%;}
/* 롤링 애니메이션 정의 */
@keyframes roll {
 0% {
  transform: translateX(0);
 }
 100% {
  transform: translateX(-100%);
 }
}