.visual {animation: kv_bg 60s linear alternate infinite; position: relative; width: 100%; height: 100vh; background: url(./../img/kv_bg.webp)no-repeat 50% 50%; background-size: 154%; z-index: 1; overflow: hidden;}
@keyframes kv_bg {
  0% {background: url(./../img/kv_bg.png)no-repeat 50% 50%;}
  30% {background: url(./../img/kv_bg.png)no-repeat 18% 50%;}
  50% {background: url(./../img/kv_bg.png)no-repeat 18% 3%;}
  70% {background: url(./../img/kv_bg.png)no-repeat 63% 3%;}
  100% {background: url(./../img/kv_bg.png)no-repeat 63% 77%;}
}
.visual:before {content: ''; display: block; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); z-index: -1;}
.visual .txt-box {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; margin-top: 45px; text-align: center; width: 100%;}
.visual .txt-box .kv_tit {margin-bottom: 50px; font-size: 70px; font-weight: 400; line-height: 1; color: var(--wt);}
.visual .txt-box .kv_tit b {display: block; margin-top: 10px; font-size: 70px; font-weight: bold; line-height: 1; color: var(--wt);}

.visual .txt-box .kv_sub1 {display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 15px; font-size: 20px; font-weight: 400; line-height: 1; color: var(--wt);}

.visual .txt-box .kv_sub2 {display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 20px; font-weight: 600; line-height: 1; color: var(--wt);}

.visual .txt-box .kv_sub2 .span1 {display: flex; align-items: center; justify-content: center; font-size: 18px; width: 65px; height: 27px; background: var(--black_1); font-weight: 600;}
.visual .txt-box .kv_sub2 .span2 {display: flex; align-items: center; justify-content: center; width: 76px; height: 27px; background: var(--pr3); font-size: 18px; font-weight: 600; line-height: 1; color: var(--wt);}

.visual .ac_btn {width: 280px; height: 70px; margin: 51px auto 0; font-size: 18px; font-weight: bold; letter-spacing: -0.18px; color: var(--wt);}
.visual .ac_btn img {width: 16.8px;}