.visual {width: 100%; height: 100vh; background: var(--wt_f9);}
.visual .container {display: flex; align-items: center; justify-content: space-between; gap: 172px; width: 100%; height: 100%;}
.visual .kv_img {position: relative; width: 370px; height: auto; z-index: 1; border-radius: 56px;}
.visual .kv_img .img-box {width: 100%; height: auto;}
.visual .kv_img .img-box img {position: relative; width: 365px; height: auto; z-index: 2;}

.visual .kv_txt {text-align: left; white-space: nowrap;}
.visual .kv_txt .sub {margin-bottom: 20px; font-size: 30px; font-weight: bold; line-height: 1.2; color: var(--pr);}
.visual .kv_txt .tit {margin-bottom: 30px; font-size: 50px; font-weight: 800; line-height: 1.2; color: var(--black_20);}
.visual .kv_txt .tit img {width: 166px; height: auto; margin-top: 10px;}
.visual .kv_txt .txt {font-size: 22px; font-weight: 400; line-height: 1.18; color: var(--gray_88);}
.visual .kv_txt a {display: inline-block; padding: 14px 15px 13px; margin-top: 50px; border-radius: 5px; background: var(--pr); font-size: 15px; font-weight: 400; line-height: 1.2; color: var(--wt);}
.visual .kv_txt button {display: inline-block; padding: 14px 15px 13px; margin-top: 50px; border-radius: 5px; background: var(--pr); font-size: 15px; font-weight: 400; line-height: 1.2; color: var(--wt);}

/* vod */
.visual .kv_img video {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 355px; height: auto; aspect-ratio: 355/710; z-index: -1; border-radius: 50px; box-shadow: -20px 20px 25px 0 rgba(38, 37, 62, 0.25);}

.date_box {position: absolute; top: 48px; left: 28px; display: flex; align-items: center; gap: 8px; width: 100%;}
.date_box.on {animation: blink-2 0.9s both;}
@keyframes blink-2 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

.date_box .time {font-size: 22px; font-weight: 600; line-height: 1.18; color: var(--wt);}
.date_box .day {font-size: 15px; font-weight: 400; line-height: 1.2; color: var(--wt);}