.visual {position: relative; padding: 160px 0 120px; background: url(./../img/kv_bg.png)no-repeat 50% 50%; background-size: cover; overflow: hidden;}
.visual:before {content: ''; display: block; position: absolute; bottom: -80px; left: -80px; width: 400px; height: auto; aspect-ratio: 1/1; background: url(./../img/kv_bg1.png) no-repeat 50% 50%; background-size: cover; z-index: 2;}
.visual:after {content: ''; display: block; position: absolute; top: -123px; right: -123px; width: 500px; height: auto; aspect-ratio: 1/1; background: url(./../img/kv_bg2.png) no-repeat 50% 50%; background-size: cover; z-index: 2;}
.visual .txt-box {text-align: center;}

.visual .txt-box .live_box {display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 6px 18px; box-sizing: border-box; border-radius: 100px; background: var(--pr_ef); border: 1px solid var(--gray_bf); box-sizing: border-box; font-size: 15px; font-weight: bold; line-height: 1; letter-spacing: 0.36px; color: var(--pr);}
.visual .txt-box .live_box:before {animation: on_live .5s linear alternate infinite; content: ''; display: block; width: 9px; height: 9px; background: var(--green); border-radius: 100%;}
@keyframes on_live {
  0% {opacity: 1;}
  100% {opacity: 0.3;}
}

.visual .txt-box .tit {margin: 40px 0 56px; font-size: 62px; font-weight: 900; line-height: 1.29; color: var(--black_0f);}
.visual .txt-box .tit span {display: inline-block; color: var(--pr);}

.visual .txt-box .kv_txt {display: flex; align-items: flex-start; justify-content: center; gap: 8px; margin-bottom: 40px;}
.visual .txt-box .kv_txt p:not(.fade_txt) {font-size: 28px; font-weight: 800; line-height: 1; color: var(--gray_6b);}
.visual .txt-box .kv_txt .fade_txt {position: relative; min-width: 81px; width: 81px; height: 38px; border-bottom: 2px solid var(--yellow); font-size: 28px; font-weight: 800; line-height: 1; color: var(--yellow);}
.visual .txt-box .kv_txt .fade_txt span {opacity: 0; position: absolute; top: 0; left: 50%; transform: translateX(-50%); transition: all .5s; display: block; width: 100%;}
.visual .txt-box .kv_txt .fade_txt span.active {opacity: 1;}

.visual .txt-box .txt {margin-bottom: 60px; font-size: 17px; font-weight: 400; line-height: 1.9; color: var(--gray_64); word-break: keep-all;}
.visual .txt-box .txt span {font-weight: bold; color: var(--black_0f);}

.visual .kv_btn {margin-bottom: 60px;}
.visual .kv_btn button {animation: blueGlow 3s infinite ease-in-out; display: flex; align-items: center; justify-content: center; width: 260px; height: 60px; margin: 0 auto; border-radius: 14px; box-shadow: 0 8px 24px 0 rgba(37, 99, 235, 0.28); background-color: #2563eb; font-size: 20px; font-weight: bold; line-height: 1; color: var(--wt); border: none; cursor: pointer;}
@keyframes blueGlow {
  0%, 100% {
    /* 시작과 끝: 기존에 설정하셨던 그림자 느낌 */
    box-shadow: 0 8px 24px 0 rgba(37, 99, 235, 0.28);
  }
  50% {
    /* 중간: 빛이 더 넓고 부드럽게 퍼지는 느낌 */
    box-shadow: 0 0 40px 10px rgba(37, 99, 235, 0.45);
  }
}

.visual .kv_btn button span {animation: arrow .5s linear alternate infinite;}
@keyframes arrow {
  0% {transform: translateX(4px);}
  100% {transform: translateX(0);}
}

.visual .count_num {max-width: 560px; width: 100%; height: auto; margin: 0 auto;}
.visual .count_num ul {display: flex; align-items: center; justify-content: center; width: 100%; height: 93px; border-radius: 16px; box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.06); border: solid 1px #e2e8f0; background-color: var(--wt);}
.visual .count_num ul li {width: 100%; height: 100%; text-align: center;}
.visual .count_num ul li .child-box {display: flex; align-items: center; justify-content: center; flex-flow: column; width: 100%; height: 100%; border-right: 1px solid var(--pr2); box-sizing: border-box;}
.visual .count_num ul li:last-of-type .child-box {border: none;}
.visual .count_num ul li .child-box .num {margin-bottom: 8px; font-size: 24px; font-weight: 900; line-height: 1; color: var(--pr);}
.visual .count_num ul li .child-box .num .c_num {}
.visual .count_num ul li .child-box .txt {font-size: 12px; font-weight: 400; line-height: 1; color: var(--gray_64);}