
body { overflow-x: hidden; overflow-y: auto; position: relative; min-height: 100vh; }
.main_visual { position: relative; height: 980px; margin-bottom: 100px; z-index: 1; overflow: hidden; }
.main_visual .main-swiper { width: 100%; height: 980px; }
.main_visual .main-swiper .swiper-slide { width: 100%; height: 100%; position: relative; overflow: hidden; background-color: rgba(0, 0, 0, 0.5); }
.main_visual .main-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: overlay; opacity: 0.8; }

/* 비디오 요소 스타일 추가 */
.main_visual .main-swiper .swiper-slide video {width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0;}
.main_visual .slide-content { position: absolute; top: 50%; left: 10%; transform: translateY(-50%); z-index: 1; transition: opacity 0.8s ease; }
.main_visual .slide-content h2 { font-size: 6rem; margin-bottom: 1rem; color: #fff; }
.main_visual .slide-content p { font-size: 1.5rem; margin-bottom: 2rem; color: #fff; opacity: 0.8; }
.main_visual .slide-content .button { display: inline-block; padding: 12px 40px; font-size: 14px; background: rgba(255,255,255,0.2); color: #fff; text-decoration: none; border-radius: 5px; transition: background 0.3s; margin-bottom: 5rem; }
.main_visual .slide-content .button:hover { background: rgba(255,255,255,0.3); }
.main_visual .navigation-container { display: flex; align-items: center; gap: 10px; left: 0px; bottom: 20px; padding: 0; }
.main_visual .fraction-pagination { color: #fff; font-size: 1.2rem; text-shadow: 1px 1px 2px rgba(0,0,0,0.5); margin-right: 15px; }
.main_visual .fraction-pagination .current { font-weight: 700; opacity: 1; }
.main_visual .fraction-pagination .total { font-weight: 400; opacity: 0.5; }
.main_visual .swiper-button-next, .main_visual .swiper-button-prev { position: static; color: #fff; width: 40px; height: 40px; border-radius: 50%; transition: background 0.3s; margin: 0; }
.main_visual .swiper-button-next::after, .main_visual .swiper-button-prev::after { font-size: 18px; }
.main_visual .swiper-button-next:hover, .main_visual .swiper-button-prev:hover {}

.main_visual .thumbs-container { position: absolute; bottom: 50px; right: -200px; width: 800px; z-index: 10; border-radius: 10px; margin-right: 20px; }

.main_visual .thumbs-swiper { width: 100%; height: 100%; overflow: hidden; }
.main_visual .thumbs-swiper .swiper-wrapper { display: flex; transition-property: transform; }
.main_visual .thumbs-swiper .swiper-slide { opacity: 0.8; cursor: pointer; transition: opacity 0.3s; width: calc((100% - 60px) / 4); flex-shrink: 0; }
.main_visual .thumbs-swiper .swiper-slide-thumb-active { opacity: 1; }

.main_visual .thumbs-swiper img { width: 100%; height: 280px; object-fit: cover; border-radius: 5px; }

.main_visual .slide-caption { position: absolute; bottom: 30px; left: 10px; right: 10px; color: white; padding: 5px; font-size: 18px; border-radius: 15px; text-align: center; }
.grid-overlay { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 1600px; height: auto; min-height: 100vh; display: flex; justify-content: space-between; pointer-events: none; z-index: -1; }
.grid-line { width: 1px; height: 100%; background-color: rgba(128, 128, 128, 0.1); }

@media (max-width: 1440px) { 
    .main_visual .thumbs-container { width: 800px; right: -50px; } 
    .main_visual .thumbs-swiper img { height: 350px; }
}
@media (max-width: 1024px) { 
    .main_visual .slide-content { top: 40%; } 
    .main_visual .thumbs-container { width: 100%; right: 0; bottom: 50px; margin-right: 0; padding: 0 20px; } 
    .main_visual .thumbs-swiper img { height: 250px; } 
    .main_visual .thumbs-swiper .swiper-wrapper { margin-right: 0; } 
}
@media (max-width: 768px) { 
    .main_visual,.main_visual .main-swiper {height: 100vh;}
    .main_visual .slide-content { top: 30%; left: 5%; right: 5%; } 
    .main_visual .slide-content h2 { font-size: 2rem; } 
    .main_visual .slide-content p { font-size: 1rem; } 
    .main_visual .thumbs-container { bottom: 20px; padding: 0 10px; } 
    .main_visual .thumbs-swiper img { height: 120px; } 
    .main_visual .swiper-button-next, .main_visual .swiper-button-prev { width: 30px; height: 30px; } 
    .main_visual .swiper-button-next::after, .main_visual .swiper-button-prev::after { font-size: 14px; } 
}


@media (max-width: 480px) {
    .main_visual .slide-content {
        top: 50%;
    }

    .main_visual .slide-content h2 {
        font-size: 1.5rem;
    }

    .main_visual .thumbs-container {
        bottom: 10px;
    }

    .main_visual .thumbs-swiper img {
        height: 80px;
    }
}






    h2 { letter-spacing: -0.035em; }
    p br { display: none; }
    .container { max-width: 1550px; width: 100%; margin: 0 auto; box-sizing: border-box; z-index: 2; padding: 0; }
    .top-slider { margin:20px -1px; position: relative; }
    .top-slider-images { width: 100%; height: 100%; display: flex; position: relative; margin-top: 10px; }
    .swiper-container { flex: 1; height:100%; position: relative; }
    .swiper-slide img { width: 90%; height: 80%; object-fit: cover; }
    .swiper-navigation { position: absolute; bottom: 20px; right: 20px; z-index: 10; display: flex; }
    .swiper-button-next, .swiper-button-prev { position: static; width: 40px; height: 40px;  color: #000; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color 0.3s ease; user-select: none; }
    .swiper-button-prev { margin-right: 10px; }
    .swiper-button-next::after, .swiper-button-prev::after { font-size: 18px; }
    .content { display: flex; flex-wrap: wrap; padding-top: 20px; align-items: flex-start; }
    .left-text { flex: 0 0 calc(1 * (100% / 8)); margin-right: 0; box-sizing: border-box; color: #666; line-height: 1.65; font-size: 16px; }
    .left-text .sub { padding-top: 20px; color: #000; font-size: 15px; }
    .right-text { flex: 0 0 calc(3 * (100% / 8)); margin-left: calc(3 * (100% / 8)); padding: 0;}
    .right-text p {font-size: 17px; color: #666;font-weight: 400;line-height: 1.65;}
    .title-item { margin-bottom: 135px;color: #666;}
    .image-container { box-sizing: border-box; }
    .image-container img { width: 100%; height: auto; object-fit: cover; }
    .title-item { margin-bottom: 135px; color: #666; }
    .title-item h2 { font-size: 35px; color: #000; font-weight: bold; padding: 10px 0 20px 0; margin: 0; }
    .title-item h3 { font-size: 18px; }
    .full-width-image { width: 100vw; height: 600px; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; margin-top: 150px; margin-bottom: 150px; overflow: hidden; z-index: 2; }
    .full-width-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
    .image-grid { display: flex; margin: 40px 0; width: 100%; }
    .image-grid-item { box-sizing: border-box; }
    .image-grid-item img { width: 100%; height: auto; object-fit: cover; }
    .text { flex: 0 0 calc(2 * (100% / 8)); margin-left: calc(1 * (100% / 8)); }
    .text h2 { font-size: 35px; font-weight: bold; }
    .text p { font-size: 17px; color: #666; line-height: 1.65; font-weight: 400; padding-top: 20px; }
    .image-container { flex: 0 0 calc(2 * (100% / 8)); margin-left: calc(1 * (100% / 8)); }
    .image-container img { width: 100%; height: auto; object-fit: cover; }
    .bottom-section { display: flex; flex-direction: column; margin-left: calc(1 * (100% / 8)); flex: 0 0 calc(2 * (100% / 8)); text-align: left; margin-top: 40px; }
    .bottom-section h2 { font-size: 40px; padding: 0; margin: 0; }
    .bottom-section p { font-size: 17px; color: #666; font-weight: 400; padding-top: 20px; line-height: 1.65; }
    .qa-section { margin: 200px 0; background-color: #fff; display: flex; flex-direction: column; margin-left: calc(1 * (100% / 8)); flex: 0 0 calc(6 * (100% / 8)); }
    .qa-item { border-bottom: 1px solid #ddd; }
    .qa-question { display: flex; justify-content: space-between; align-items: center; padding: 25px 0; cursor: pointer; background-color: #fff; letter-spacing: -0.035em; }
    .qa-question h3 { margin: 0; font-size: 20px; font-weight: 500; color: #000; letter-spacing: -1px }
    .qa-icon { width: 20px; height: 20px; transition: transform 0.3s ease; }
    .qa-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; }
    .qa-answer p { padding-left: 20px; font-size: 17px; color: #666; }
    .qa-item.active .qa-icon { transform: rotate(180deg); }
    .qa-item.active .qa-answer { max-height: 500px; padding: 20px 0; background-color: #fff; }
    .grid-overlay { position: fixed; top: 0; left: 50%; transform: translateX(-50%); width: 1600px; height: 100vh; display: flex; justify-content: space-between; pointer-events: none; z-index: -1; }
    .grid-line { width: 1px; height: 100%; background-color: rgba(128, 128, 128, 0.1); }
    .full-width-image-above-qa { width: 100%; max-width: 1600px; height: 367px; margin: 0 auto; margin-bottom: 40px; }
    .full-width-image-above-qa img { width: 100%; height: 100%; object-fit: cover; }
    .imagination-section { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 50px 0 200px 0; }
    .imagination-text { flex: 0 0 calc(2 * (100% / 8)); margin-left: calc(1 * (100% / 8)); box-sizing: border-box; }
    .imagination-text h2 { font-size: 40px; margin-bottom: 20px; }
    .imagination-text p { font-size: 17px; color: #666; line-height: 1.65; }
    .imagination-image-left { z-index: 2; width: 100%; overflow: hidden;position: relative;}
    .imagination-image-right { flex: 0 0 calc(2 * (100% / 8)); margin-left: calc(3 * (100% / 8)); margin-top: 0; box-sizing: border-box; }
    .imagination-image-right img { width: 100%; height: auto; object-fit: cover; }
    .imagination-image-below-text { flex: 0 0 calc(1 * (100% / 8)); margin-left: 0; margin-top: 20px; box-sizing: border-box; z-index: 2; }
    .imagination-image-below-text img { width: 100%; height: auto; object-fit: cover; }
    .imagination-swiper { width: 100%; height: 100%;}
    .imagination-swiper .swiper-slide { width: 100%;}
    .imagination-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover;}

    /* 네비게이션 컨테이너 스타일 */
    .navigation-container { position: absolute; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 20px; z-index: 10; padding: 8px 15px; border-radius: 30px;}

    /* 프랙션 페이지네이션 스타일 */
    .fraction-pagination { color: #fff; font-size: 16px; font-weight: 500; min-width: 40px; /* 숫자가 바뀔 때 컨테이너 크기 유지 */text-align: center;}

    /* 네비게이션 버튼 컨테이너 */
    .nav-buttons { display: flex; gap: 10px;align-items: center;}

    /* 네비게이션 버튼 스타일 */
    .swiper-button-prev,.swiper-button-next { position: static; width: 40px; height: 20px;margin: 0;}
    .swiper-button-prev:after,.swiper-button-next:after { font-size: 14px; font-weight: bold; color: #fff;}



        @media screen and (max-width: 768px) {
            .navigation-container {
                right: 10px;
                bottom: 10px;
                padding: 6px 12px;
            }

            .fraction-pagination {
                font-size: 14px;
            }

            .swiper-button-prev:after,
            .swiper-button-next:after {
                font-size: 12px;
            }

            .content {
                display: inline-grid;
                flex-wrap: wrap;
                padding-top: 20px;
            }
            
            .text p {
                padding: 20px 20px 20px 0px
            }

            .text, .bottom-section {
                margin-left: 40px;
                flex: 0 0 calc(4 * (100% / 8));
            }
            .imagination-section {
                flex-direction: column;
                align-items: center;
            }
            .imagination-text, .imagination-image-right, .imagination-image-below-text {
                flex: 0 0 100%;
                margin-left: 0px;
            }
            .imagination-image-right {
                margin-top: 20px;
            }
            
            .imagination-text h2 { padding-left: 40px; padding-bottom: 20px}
            .imagination-text p {padding-left: 40px; }
            
            /* left-text를 세로로 표시하고 가로 너비 확장 */
            .left-text {
                display: flex;
                flex-direction: column;
                flex-wrap: nowrap;
                margin-left: 40px;
                width: 100%;
                margin-bottom: 20px;
            }
            .left-text p {
                margin: 10px 0;
                max-width: calc(5 * (100% / 8)); /* 5번째 라인까지 넓이 설정 */
                word-break: keep-all; /* 단어 중간에 줄바꿈 방지 */
            }
             .right-text {
                flex: 0 0 calc(6 * (100% / 8));
                margin-left: 40px;
                margin-right: 40px; /* 우측 여백 추가 */
                width: calc(100% - 80px); /* 전체 너비에서 좌우 여백 제외 */
                box-sizing: border-box;
            }
              .title-item {
                margin-bottom: 80px;
                width: 100%; /* 너비 100%로 설정 */
                padding-right: 0; /* 패딩 제거 */
                box-sizing: border-box;
            }

             .title-item p {
                font-size: 16px;
                width: 100%; /* 너비 100%로 설정 */
                word-break: keep-all; /* 단어 단위 줄바꿈 */
                overflow-wrap: break-word; /* 긴 단어 줄바꿈 */
                line-height: 1.6;
                max-width: calc(100% - 40px); /* 우측 여백 확보 */
            }
             .title-item h2 {
                font-size: 28px; /* 모바일에서 제목 크기 축소 */
                word-break: keep-all;
            }

            .title-item h3 {
                font-size: 16px; /* 모바일에서 부제목 크기 축소 */
            }
            .image-container {
                flex: 0 0 100%;
                margin-left: 0;
            }
            .image-container img {
                width: 100%;
                height: auto;
                object-fit: cover;
            }
            /* .qa-section 반응형 조정 */
            .qa-section {
                margin-left: 40px;
                margin-right: 40px;
                flex: 0 0 100%;
            }
            .qa-question h3 {
                 font-size: 18px
            }
        }

        @media screen and (max-width: 480px) {
         .right-text {
            margin-left: 40px;
            margin-right: 20px;
            width: calc(100% - 40px);
        }

            .title-item p {
             font-size: 15px;
             max-width: calc(100% - 40px);
            }

            .title-item h2 {
                font-size: 24px;
            }

            .title-item h3 {
                font-size: 15px;
            }
    
        }