
.banner251015 {width: 100%; height: 90vh; background: url(/static/images/www/banner/260108/banner_back.png)no-repeat right; object-fit: cover;  background-size: cover;
    color: #fff; font-family: 'Pretendard'; font-size: 16px; line-height: 150%;}
.banner251015.banner02 {background: url(/static/images/www/banner/260108/back02.png)no-repeat center; width: 100%; margin: 0 auto; border-radius: 40px; max-height: 800px;object-fit: cover;  background-size: cover;}
.banner251015.banner03 {background: url(/static/images/www/banner/260108/back03.png)no-repeat left; object-fit: cover;  background-size: cover;}
.banner251015.banner03 .inner251015 {padding-top: 40px;}
.banner251015.banner04 {background: url(/static/images/www/banner/260108/back04.png)no-repeat center;  width: 100%; margin: 0 auto; border-radius: 40px; max-height: 800px; object-fit: cover;  background-size: cover;}

.inner251015 {max-width: 1420px; margin: 0 auto;
    padding-top: 10rem;}

.banner251015 .co_blue {color: #0D96FF; font-weight: 600;}
.banner251015 .co_red {color: #ff0d7a; font-weight: 900;}
.co_black {color: #111; font-weight: inherit;}
.banner251015 .inner251015 p {margin-top: 10px;}
.banner251015 .inner251015 h2 { font-size: 3.25rem; line-height: 110%;
    font-weight: 600; margin:20px 0;}
.banner251015 .inner251015 .font20 {font-size: 1.25rem; font-weight: 400;}
.banner251015 .inner251015 .font24 {font-size: 1.5rem;}
.banner251015 .inner251015 .font16 {font-size:16px; font-weight: 400;}
.sub_descript {display: flex; gap: 20px; margin-top: 40px;}
.sub_descript span::after {content: '';
    display: block; width: 198px; height: 19px; background: url(/static/images/www/banner/260108/deco_icon.png)no-repeat;}
.banner251015 .inner251015 .direct_bt {color: #fff; font-size: 1.25rem; display: flex; align-items: stretch; gap: 40px;
    padding: 12px 32px; background: #000; width: 240px; max-width: 300px;
    border-radius: 50px; box-shadow: 0px 0px 12px #ffffff75; margin-top: 60px; position: relative;
;}

.banner251015 .inner251015 .direct_bt > img {position: absolute; right: 28px; bottom:20px; transition: all 0.3s;}
.banner251015 .inner251015 .direct_bt p {margin-top: 0;}

.banner251015 .inner251015 .direct_bt:hover > img {right: 20px;}

.flex_row {display: flex; justify-content: space-between; align-items: center;}
.flex_row > img {object-fit: scale-down;}
.flex_row.flex_wrap {flex-wrap: wrap; row-gap: 20px; padding-top: 60px; flex-basis: 35%;}
.flex_row.flex_wrap p{flex-basis: 30%; color: #111; font-weight: 600; line-height: 140%; }
.flex_row.flex_wrap strong {font-size: 1rem; margin-bottom: 10px; display: inline-block;}
.flex_row.flex_wrap img {width: 140px; height: 140px; flex-basis: 20%;}
.banner02 .inner251015 .direct_bt {margin-top: -40px;}
.banner03 .inner251015 .direct_bt {max-width: 320px; color: #111; background: #fff;}
.banner04 .inner251015 .direct_bt {margin-top: 28px;}
.flex_row li {text-align: center; }
.flex_row li:not(:last-child) .font16 {margin-bottom: 20px;}
.flex_row li:not(:first-child) {margin-left: 20px;}
.flex_row li:nth-child(3) img {transform: translateX(36%);}
.only_banner04 {padding: 24px 32px; background: rgba(999, 999, 999, 0.7); border-radius: 20px; margin-top: 28px;}
.banner04 .inner251015 {padding-top: 0;}
.banner04 .inner251015 .aline_center {text-align: center; padding: 20px 0px; border-bottom: 1px solid #fff; margin-bottom: 80px;}



/* Swiper 기본 높이 설정 */
.mySwiper {
    width: auto;
    height: 800px;
    position: relative;
}

/* 1. 화살표 커스텀 (이미지나 폰트어썸 활용 가능) */
.custom-arrow {
    background-color: rgba(255, 255, 255, 0.61); /* 배경색 */
    width: 50px !important;
    height: 50px !important;
    border-radius: 50%;
    color: #0D96FF!important; /* 화살표 색상 */
}

/* 화살표 크기 조절 (기본 아이콘 제거 후 새로 넣기) */
.custom-arrow::after {
    font-size: 14px !important;
    font-weight: bold;
}

.custom-pagination {bottom: 32px!important;}

.custom-pagination .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    background: #E8F7FF;
    opacity: 1;
    transition: all 0.3s;
}

.custom-pagination .swiper-pagination-bullet-active {
    width: 40px;
    border-radius: 5px;
    background: #fff;
}

/* 물결 애니메이션 정의 */
@keyframes waveEffect {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* 이미지 공통 설정 */
.banner02 .flex_row.flex_wrap img {
    animation: waveEffect 2s ease-in-out infinite;
}


.banner04 .flex_row {perspective: 1000px;}

/* 로고 이미지 애니메이션 설정 */
.texture_logo img {
    width: 80%;
    max-width: 562px;
    transform-origin: center;
    animation: spinAndBounce 4s ease-in-out infinite;
    margin:32px 0;
}

/* 애니메이션 정의 */
@keyframes spinAndBounce {
    0% {
        transform: rotateY(0deg);
    }
    25% {
        transform: rotateY(360deg) translateY(0);
    }
    30% {
        transform: rotateX(360deg) translateY(20px);
    }
    35% {
        transform: rotateX(360deg) translateY(-10px);
    }
    40% {
        transform: rotateX(360deg) translateY(0);
    }
    100% {
        transform: rotateX(360deg) translateY(0);
    }
}

.banner02 .flex_row.flex_wrap img:nth-of-type(1) { animation-delay: 0s; }
.banner02 .flex_row.flex_wrap img:nth-of-type(2) { animation-delay: 0.2s; }
.banner02 .flex_row.flex_wrap img:nth-of-type(3) { animation-delay: 0.4s; }
.banner02 .flex_row.flex_wrap img:nth-of-type(4) { animation-delay: 0.6s; }
.banner02 .flex_row.flex_wrap img:nth-of-type(5) { animation-delay: 0.8s; }
.only_banner04 ul li .co_blue {font-size: 1.25rem;}


@media all and (max-width: 1420px) {
    .banner251015 .inner251015 {text-align: center; padding: 10rem 15px 0 15px;}
    .banner251015 .inner251015 .direct_bt {width: 100%; margin: 0 auto; margin-top: 36px;}
    .banner251015 .inner251015 .direct_bt img {bottom: 16px; right:20px;}
    .inner251015 > img {margin: 0 auto;}
    .sub_descript {justify-content: center; flex-wrap: wrap; margin-top: 20px;}
    .banner251015 .inner251015 h2 {margin: 14px 0;}
    .flex_row {flex-direction: column;}
    .flex_row.flex_wrap {display: flex;flex-direction: row; gap: 20px; justify-content: center}
    .banner02 .flex_row.flex_wrap img {width: 100px; height: 100px; flex-shrink: 0;}
    .flex_row.flex_wrap p {display: none;}
    .banner04 .inner251015 {padding-top: 0;}
    .banner04 .inner251015 .aline_center  {margin-bottom: 20px;}
    .texture_logo img {display: none}
    .banner04 .inner251015 .direct_bt {margin-top: 20px;}
    .banner251015.banner03 .inner251015 {padding-top: 80px;}
    .flex_row li:nth-child(3) {display: none;}
    .banner03_object img {transform: scale(80%) translateY(-100px);}
    .flex_row li:not(:first-child) {margin-left: 0;}
}

@media all and (max-width: 780px) {
    .banner251015 .inner251015 .direct_bt {max-width: 200px; gap: 68px;}
    .inner251015 > img {width: 52px}
    .banner251015 .inner251015 .font16 {font-size: 15px;}

    .flex_row li:not(:first-child) {margin-left: 0;}
    .only_banner04 {padding:0; background: none;}
    .flex_row li {background: rgba(999, 999, 999, 0.7); padding: 12px; border-radius: 20px; width: 100%; display: flex; flex-wrap: wrap;
        align-items: center; justify-content: center;}
    .flex_row li:first-child {margin-bottom: 12px;}
    .only_banner04 ul li .co_blue {font-size: 1.5rem;}
    .banner03_object img {transform: scale(100%) translateY(0px);}
}