.main-visual-inner {position: relative;}
.main-visual-inner:after {content: "";position: absolute;bottom: -1px;left: 0;background: url(../img/common/bg-visual.png)no-repeat center center;width: 100%;height: 120px;z-index: 10;background-size: cover;}
.main-visual-inner .swiper-slide {position: relative;}
.main-visual-inner .vi-img-box {height: 860px;position: relative;}
.main-visual-inner .vi-img-box:before {content: "";position: absolute;width: 100%;height: 100%;top: 0;left: 0;background: linear-gradient(109.5deg, #071336 0%, #0B1F4A 100%),
radial-gradient(40% 60% at 20% 80%, rgba(23, 81, 200, 0.18) 0%, rgba(23, 81, 200, 0) 50%),
radial-gradient(70% 80% at 75% 50%, rgba(23, 81, 200, 0.35) 0%, rgba(23, 81, 200, 0) 60%);mix-blend-mode: multiply;opacity: 0.6;}
.main-visual-inner .vi-img-box img {width: 100%;height: 100%;object-fit: cover;}
.main-visual-inner .vi-txt-box {position: absolute;top: 50%;transform: translate(-50%, -50%);max-width: 1480px;width: 100%;margin: 0 auto;left: 50%;padding: 0 20px;box-sizing: border-box;}
.main-visual-inner .vi-txt-box .txt01 {font-weight: 700;font-size: 56px;line-height: 120%;letter-spacing: -0.02em;vertical-align: middle;color: #fff;margin: 0 0 20px;}
.main-visual-inner .vi-txt-box .txt02 {font-weight: 500;font-size: 20px;line-height: 140%;letter-spacing: 0;vertical-align: middle;color: #FFFFFF80;margin: 0 0 36px;}
.main-visual-inner .vi-txt-box a.btn-vi{font-weight: 600;font-size: 18px;line-height: 120%;letter-spacing: 0;text-align: center;vertical-align: middle;color: #FFFFFF;padding: 16px 32px;background: #003B90;border-radius: 100px;display: inline-block;}

.main-visual-inner .main-visual-swiper { position: relative; }
.main-visual-inner .swiper-vi-pagination { position: absolute; bottom: 122px; left: 50% !important; transform: translateX(-50%); z-index: 10; display: flex; justify-content: center; align-items: center; gap: 8px; }
.main-visual-inner .swiper-vi-pagination .swiper-pagination-bullet { width: 8px; height: 8px; background-color: #ffffff; opacity: 0.4; border-radius: 50%; margin: 0 !important; cursor: pointer; transition: all 0.3s ease; }
.main-visual-inner .swiper-vi-pagination .swiper-pagination-bullet-active { width: 36px; height: 8px; background-color: #ffffff; opacity: 1; border-radius: 99px; }

@media (max-width: 1024px) {
	.main-visual-inner .vi-img-box {height: 812px;}
	.main-visual-inner .vi-txt-box .txt01 {font-size: 40px;margin: 0 0 20px;}
	.main-visual-inner .vi-txt-box .txt02 {font-size: 20px;}
	.main-visual-inner .vi-txt-box a.btn-vi {padding: 16px 20px;}
}