@charset "utf-8";
/*============================================================================================================
    공통
============================================================================================================*/
.main {position:relative;}
.main .fixmenu {position:fixed; bottom:165px; right:100px; z-index:9999; display:flex; flex-flow:column; align-items:end;}
.main .fixmenu li {position:relative; width:56px; height:56px; margin:0 0 20px 0; overflow:hidden; border-radius:30px; border:1px solid #cdcdcd; background:#fff; transition:all 0.5s ease;}
.main .fixmenu li:last-child {margin:0;}
.main .fixmenu li a {display:flex; width:100%; height:100%;}
.main .fixmenu li a figure {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); transition:all 0.4s;}
.main .fixmenu li a p {position:absolute; left:100%; top:50%;  transform:translate(0 , -53%); transition:all 0.4s; font-size:18px; font-weight:700; color:#333; white-space:nowrap; opacity:0;}

.main .fixmenu > li:nth-child(1):hover {width:400%; transition:all 0.4s;}
.main .fixmenu > li:nth-child(2):hover {width:350%; transition:all 0.4s;}
.main .fixmenu > li:nth-child(3):hover {width:300%; transition:all 0.4s;}
.main .fixmenu > li:nth-child(4):hover {width:300%; transition:all 0.4s;}

.main .fixmenu > li:hover > a > figure {left:15%;}
.main .fixmenu > li:hover > a > p {transform:translate(-50% , -53%); opacity:1;}
.main .fixmenu > li:nth-child(1):hover > a > p {left:60%;}
.main .fixmenu > li:nth-child(2):hover > a > p {left:60%;}
.main .fixmenu > li:nth-child(3):hover > a > p {left:60%;}
.main .fixmenu > li:nth-child(4):hover > a > p {left:60%;}

@media all and (max-width:1024px){
    .main .fixmenu {display:none;}
}

/* section01 - 예시1 */
.section01 {position:relative; height:100vh; min-height:860px;}
.section01 .swiper-container {height:100%;}
.section01 .swiper-slide {position:relative; overflow:hidden;}

.section01 .swiper-slide .bg {position:absolute; height:100%; top:0; left:0; right:0; background-size:cover; background-position:center; background-repeat:no-repeat; transform:scale(1.03); transition:all 5s ease-in-out; z-index:-2; -webkit-transform:scale(1.03); -moz-transform:scale(1.03); -ms-transform:scale(1.03); -o-transform:scale(1.03); }
.section01 .swiper-slide.swiper-slide-active .bg {transform:scale(1); -webkit-transform:scale(1); -moz-transform:scale(1); -ms-transform:scale(1); -o-transform:scale(1); }
/*.section01 .bg01 {background-image:url('../img/main/sec01_bg01.jpg')}*/
/*.section01 .bg02 {background-image:url('../img/main/sec01_bg02.jpg')}*/
/*.section01 .bg03 {background-image:url('../img/main/sec01_bg03.jpg')}*/
.section01 .bg01 {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('../img/main/sec01_bg01.jpg');
}
.section01 .bg02 {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('../img/main/sec01_bg02.jpg');
}
.section01 .bg03 {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('../img/main/sec01_bg03.jpg');
}

/* visual01 */
.section01 .txtArea.txtArea01 {position:absolute; left:50%; right:0; top:50%; transform:translate(-50%,-50%); width:100%; max-width:1080px; margin:0 auto; padding:0 20px;}
.section01 .txtArea.txtArea01 h2 {text-align: right; margin:0 0 53px; color:#ffffff; font-size:48px; font-weight:500; line-height:1.5;}
.section01 .txtArea.txtArea01 h2 span {position:relative; font-weight:500;}
.section01 .txtArea.txtArea01 h2 span.bold::after {content: ''; position:absolute; bottom:0; left:0; z-index: -1; width:100%; height:60%; background:#C74C1B;}
/*.section01 .txtArea.txtArea01 p::before {content:''; display:inline-block; width:11px; height:11px; margin:0 20px 0 0; background:url('../img/main/main_visual03_icon.png') no-repeat;}*/
.section01 .txtArea.txtArea01 p::before {content:''; display:inline-block; width:11px; height:11px; margin:0 20px 0 0;}
.section01 .txtArea.txtArea01 p {justify-content: end; display:flex; align-items:center; margin:0 0 20px; color:#ffffff; font-size:24px; font-weight:300;}
.section01 .txtArea.txtArea01 p:last-child {margin:0;}

/* visual02 */
.section01 .innervs {display:flex; align-items: center; max-width:1440px; height:100%; margin:0 auto; padding:0 20px;}
.section01 .txtArea.txtArea02 {width:47.7%; margin:0 2.2% 0 0;}
.section01 .txtArea.txtArea02 > h2 {color:#ffffff; font-size:38px; font-weight:600; line-height:1.6;}
.section01 .txtArea.txtArea02 > h2 span {position:relative;}
.section01 .txtArea.txtArea02 > h2 span.bold::after {content: ''; position:absolute; bottom:0; left:0; z-index: -1; width:100%; height:50%; background:#C74C1B;}
.section01 .txtArea.txtArea02 p {color:#ffffff; margin:0 0 20px; font-size:24px; font-weight:300;}
.section01 .txtArea.txtArea02 p:last-child {margin:0;}

.section01 .txtArea.txtArea02 .count_wrap {display:flex; margin:55px 0 0 0;}
.section01 .txtArea.txtArea02 .count_wrap li {display:flex; flex-direction:column; align-items:center; width:50%;}
.section01 .txtArea.txtArea02 .count_wrap li:nth-child(1) {border-right:1px solid #C74C1B;}
.section01 .txtArea.txtArea02 .count_wrap li h3 {color:#ffffff; font-size:20px; font-weight:600;}
.section01 .txtArea.txtArea02 .count_wrap li h2 {color:#C74C1B; font-size:60px; font-weight:700;}
.section01 .txtArea.txtArea02 .count_wrap li h2:after {content:'건'; font-size:30px; }

.section01 .img_wrap {width:50.1%;}
.section01 .img_wrap > div { display:flex; flex-wrap:wrap; justify-content: center; width:100%;}
.section01 .img_wrap > div figure {width:31.4%; margin:0 2.9% 23px 0;}
.section01 .img_wrap > div figure:nth-child(3) {margin:0 0 23px 0}
.section01 .img_wrap > div figure:nth-child(4) {margin:0 2.9% 0 0}
.section01 .img_wrap > div figure:nth-child(5) {margin:0;}

/* visual03 */
.section01 .txtArea.txtArea03 {position:absolute; left:50%; right:0; top:auto; bottom:85px; transform:translateX(-50%); width:100%; max-width:1200px; margin:0 auto; padding:0;}
.section01 .txtArea.txtArea03 h2 { text-align:right; margin:0 0 60px; color:#fff; font-size:48px; font-weight:300; line-height: 1.3;}
.section01 .txtArea.txtArea03 h2 span {position:relative; font-weight:600;}
.section01 .txtArea.txtArea03 h2 span.bold::after {content: ''; position:absolute; bottom:0; left:0; z-index: -1; width:100%; height:60%; background:#C74C1B;}

/*.section01 .txtArea.txtArea03 .txtBox {display:flex; flex-wrap:wrap; width:100%; margin:0 0 0 auto; padding:80px 110px; background:#00000060;}*/
.section01 .txtArea.txtArea03 .txtBox {
    display:flex; flex-wrap:wrap; width:100%; margin:0 0 0 auto;
    padding:80px;
    background:rgba(0, 0, 0, 0.45);
    border-top: 3px solid #C74C1B;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.section01 .txtArea.txtArea03 .txtBox div {width:50%; display:flex; flex-direction:column;}
/*.section01 .txtArea.txtArea03 .txtBox div li::before {content:''; display:inline-block; width:11px; height:11px; margin:0 20px 0 0; background:url('../img/main/main_visual03_icon.png') no-repeat;}*/
.section01 .txtArea.txtArea03 .txtBox div li::before {content:''; display:inline-block; width:11px; height:11px; margin:0 20px 0 0;}
.section01 .txtArea.txtArea03 .txtBox div li {position:relative; display:flex; align-items:center; width:100%; margin:0 0 25px 0; color:#ffffff; font-size:24px; font-weight:400; line-height:1;}
.section01 .txtArea.txtArea03 .txtBox div li:last-child {margin:0;}

/*.section01 .arrow {position:absolute; top:50%; right:0; left:0; transform:translateY(-50%); max-width:1600px; height:auto; margin:0 auto; z-index: 3;}*/
.section01 .arrow {position:absolute; top:-50%; max-width:1600px; margin:0 auto; z-index: 3;}
.section01 .arrow .swiper-button-next,.section01 .arrow .swiper-button-prev {color:#ffffff50;}

.section01 .btSpage {position:absolute; left:0; right:0; bottom:70px; display:flex; justify-content: center; align-items:center; width:100%; max-width:1600px; padding:0 20px; margin:0 auto; z-index:3;}
.section01 .btSpage .swiper-pagination {position:static; display:flex; flex-direction: row; justify-content: flex-end; align-items: center; width:100%; color:#fff; font-size:16px;}

@media all and (max-width:1430px){
    /* .section01 .innervs {display:flex; align-items:flex-start; flex-direction: column; justify-content:center;}
    .section01 .txtArea.txtArea02 {width:100%; margin:0; text-align: center;} */
    .section01 .txtArea.txtArea02 h2 {font-size:32px; line-height:1.5;}

    /* .section01 .img_wrap {width:100%; max-width:420px; margin:0 auto;}

    .section01 .txtArea.txtArea02 .count_wrap {margin:45px 0;}
    .section01 .txtArea.txtArea02 .count_wrap li h3 {font-size:18px;}
    .section01 .txtArea.txtArea02 .count_wrap li h2 {font-size:52px;}
    .section01 .txtArea.txtArea02 .count_wrap li h2:after {font-size:28px;} */

    .section01 .txtArea.txtArea02 .count_wrap li h2 {font-size:46px;}
    .section01 .txtArea.txtArea02 .count_wrap li h2:after {font-size:26px;}
}

@media all and (max-width:1400px){
    .section01 .arrow {position:absolute; top:auto; right:0; bottom:15%; left:0;}
    .section01 .arrow .swiper-button-next {right:12%}
    .section01 .arrow .swiper-button-prev {left:auto; right:16%;}

    .section01 .btSpage {position:absolute; left:0; right:0; bottom:35px;}
    .section01 .btSpage .swiper-pagination {width:100%; font-size:16px; justify-content: center;}

}

@media all and (max-width:1200px){
    .section01 .txtArea.txtArea02 h2 {font-size:26px; line-height:1.5;}
}

@media all and (max-width:1100px){
    .section01 .txtArea.txtArea01 h2 {margin:0 0 40px; font-size:40px; line-height:1.4;}
    .section01 .txtArea.txtArea01 p::before {content:''; display:inline-block; width:11px; height:11px; margin:0 15px 0 0;}
    /*.section01 .txtArea.txtArea01 p::before {content:''; display:inline-block; width:11px; height:11px; margin:0 15px 0 0; background:url('../img/main/main_visual03_icon.png') no-repeat;}*/
    .section01 .txtArea.txtArea01 p {margin:0 0 15px; color:#fff; font-size:20px;}
}

@media all and (max-width:1024px){
    .section01 {height:80vh; min-height:620px;}

    .section01 .innervs {display:flex; align-items:flex-start; flex-direction: column; justify-content:center;}
    .section01 .txtArea.txtArea02 {width:100%; margin:0; text-align: center;}
    .section01 .txtArea.txtArea02 h2 {font-size:32px; line-height:1.5;}
    /* .section01 .txtArea.txtArea02 p {margin:0 0 15px; font-size:20px;} */

    .section01 .img_wrap {width:100%; max-width:360px; margin:0 auto;}

    .section01 .txtArea.txtArea02 .count_wrap {margin:45px 0;}
    .section01 .txtArea.txtArea02 .count_wrap li h3 {font-size:18px;}
    .section01 .txtArea.txtArea02 .count_wrap li h2 {font-size:46px;}
    .section01 .txtArea.txtArea02 .count_wrap li h2:after {font-size:26px;}

    .section01 .txtArea.txtArea03 {position:absolute; left:50%; right:0; top:auto; bottom:120px; transform:translateX(-50%); width:100%; max-width:1100px; margin:0 auto; padding:0 20px;;}
    .section01 .txtArea.txtArea03 h2 {margin:0 0 45px; font-size:40px;}
    .section01 .txtArea.txtArea03 .txtBox {display:flex; flex-wrap:wrap; width:100%; margin:0 0 0 auto; padding:60px 0 60px 50px;}
    .section01 .txtArea.txtArea03 .txtBox div li::before {width:11px; height:11px; margin:0 15px 0 0;}
    .section01 .txtArea.txtArea03 .txtBox div li {width:100%; margin:0 0 18px 0; font-size:20px; line-height:1.5;}

}


@media all and (max-width:768px){
    .section01 {height:80vh; min-height:420px;}

    .section01 .txtArea.txtArea01 h2 {margin:0 0 5vw; font-size:5.6vw;}
    /*.section01 .txtArea.txtArea01 p::before {content:''; display:inline-block; width:11px; height:11px; margin:0 2vw 0 0; background:url('../img/main/main_visual03_icon.png') no-repeat;}*/
    .section01 .txtArea.txtArea01 p::before {content:''; display:inline-block; width:11px; height:11px; margin:0 2vw 0 0; }
    .section01 .txtArea.txtArea01 p {margin:0 0 3vw; font-size:3.6vw;}

    .section01 .innervs {justify-content:center;}
    .section01 .txtArea.txtArea02 {text-align: center;}
    .section01 .txtArea.txtArea02 h2 {font-size:4vw;}
    .section01 .img_wrap {max-width:50vw; margin: 0 auto;}

    .section01 .txtArea.txtArea02 .count_wrap {margin:8vw 0;}
    .section01 .txtArea.txtArea02 .count_wrap li h3 {font-size:3.4vw;}
    .section01 .txtArea.txtArea02 .count_wrap li h2 {font-size:5.6vw;}
    .section01 .txtArea.txtArea02 .count_wrap li h2:after {font-size:4vw;}

    .section01 .txtArea.txtArea03 {position:static; transform:none; display:flex; flex-direction:column; justify-content:center; height:100%;}
    .section01 .txtArea.txtArea03 h2 {margin:0 0 4vw; font-size:6vw;}
    .section01 .txtArea.txtArea03 .txtBox {display:flex; flex-wrap:wrap; padding:5vw 0 5vw 5vw;}
    .section01 .txtArea.txtArea03 .txtBox div {width:100%; display:flex; flex-direction:column;}
    .section01 .txtArea.txtArea03 .txtBox div li::before {margin:0 2vw 0 0;}
    .section01 .txtArea.txtArea03 .txtBox div li {width:100%; margin:0 0 2vw 0; font-size:3.4vw; line-height:1;}
    .section01 .txtArea.txtArea03 .txtBox div:nth-child(1) li:last-child {margin:0 0 2vw 0;}

    .section01 .arrow {position:absolute; right:0; left:0;}
    .section01 .arrow .swiper-button-next {right:5vw}
    .section01 .arrow .swiper-button-prev {right:12vw;}

    .section01 .arrow .swiper-button-prev:after, .section01 .arrow .swiper-button-next:after {font-size:8vw;}

}

@media all and (max-width:500px){
    /* .section01 .txtArea.txtArea02 {text-align: left;} */
    .section01 .txtArea.txtArea02 h2 {font-size:3.8vw;}
    .section01 .img_wrap {max-width:70vw; margin:0;}

    .section01 .arrow .swiper-button-next {right:7vw}
    .section01 .arrow .swiper-button-prev {right:15vw;}
}

/* ===================================================
   스와이퍼 보정 버전
   =================================================== */
/* Swiper 내장 페이드 모드가 정상 작동할 수 있도록 간섭 레이어 정리 */
.main .section01 .swiper-slide {
    pointer-events: none !important;
    transition: opacity 0.6s ease-in-out !important;
}

/* 현재 활성화된 슬라이드 내부의 글자/링크 클릭은 허용 */
.main .section01 .swiper-slide-active {
    pointer-events: auto !important;
}

/* 🚀 버튼 레이어가 가려지지 않도록 절대적인 z-index와 클릭 영역 확보 */
.main .section01 .arrow {
    position: relative;
    z-index: 50 !important;
}

.main .section01 .swiper-button-prev,
.main .section01 .swiper-button-next {
    position: absolute;
    z-index: 100 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}





/* section02 - 예시2 */
.section02 {position:relative; padding:130px 0; background:#fff;}

.section02 .titleBox {margin: 0 0 52px;}
.section02 .titleBox h2 {margin:0 0 21px; color:#333; font-size:40px; font-weight:500;}
.section02 .titleBox h2:last-child {margin:0;}
.section02 .titleBox h2 span.bold {font-weight:700;}
.section02 .titleBox h2 span.blue {color:#C74C1B; font-weight:700;}

.section02 .searchBox {margin: 0 0 43px; width:100%;}
.section02 .searchBox form {width:100%;}
.section02 .searchBox form .search_flex {display:flex; align-items: center;}
.section02 .searchBox form .search_flex div:nth-child(1) {width:36.8%; padding:15px 10px; color:#888888; font-size:20px; border-bottom:1px solid #cdcdcd; background:transparent;}
.section02 .searchBox form .search_flex div:nth-child(1) input {width:100%; color:#888888; font-size:20px; font-weight:500;}
.section02 .searchBox form .search_flex div:nth-child(2) {display:inline-flex; justify-content:center; align-items:center; width:55px; height:55px; background:transparent;}

.section02 .keywordBox {display:flex; flex-direction:row; flex-wrap:wrap; margin: 0 0 67px; width:100%;}
.section02 .keywordBox li {margin:15px 15px 0 0; border:1px solid #cdcdcd; border-radius:30px; transition:all 0.5s ease;}
.section02 .keywordBox li:last-child {margin:15px 0 0 0;}
.section02 .keywordBox li a {position:relative; z-index:2; display:inline-block; padding:0 20px; line-height:40px; color:#666666; font-size:20px; border-radius:30px; transition:all 0.5s ease;}
.section02 .keywordBox li:hover a {color:#fff; background:#333333; }

.section02 .swiper-container {position:relative; width:100%;}

/* [수정] 슬라이드 자체와 내부 링크가 동일한 높이를 갖도록 설정 */
.section02 .swiper-slide {width:31.4%; background:#f7f6f3; box-sizing:border-box; transition:all 0.5s ease; height: auto !important;}
.section02 .swiper-slide > a {display: block; height: 100%;}

.section02 .swiper-slide .txtBox {
    position: relative;
    padding: 20px 9% 0 9%;
    height: 100%;
    min-height: 380px;
    box-sizing: border-box;
}

.section02 .swiper-slide .txtBox .Stitle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    /*margin: 0 0 20px 0; */
    padding: 0;
    background: transparent;
    box-sizing: border-box;
    transition: all 0.5s ease;
}

.section02 .swiper-slide .txtBox .Stitle h2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 6px 14px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    background: #C74C1B;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(199, 76, 27, 0.15);
}

.section02 .swiper-slide .txtBox .Stitle p {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    /*padding: 6px 12px;*/
    /*color: #fff;*/
    font-size: 13px;
    font-weight: 500;
    /*background: #4A4A4A;*/
    border-radius: 4px;
    letter-spacing: 0.5px;
}
.section02 .swiper-slide .txtBox > h2 {padding:27px 0; color:#333333; font-size:24px; font-weight: 600; border-bottom:1px solid #cdcdcd; display: -webkit-box; text-overflow:ellipsis; overflow:hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2;}
.section02 .swiper-slide .txtBox > h2 img {display:none;}
.section02 .swiper-slide .txtBox ul {display:flex; padding:25px 0 0 0;}
.section02 .swiper-slide .txtBox ul li:first-child {width:63.8%; margin:0 5.5% 0 0;}
.section02 .swiper-slide .txtBox ul li:last-child {width:30.7%;}
.section02 .swiper-slide .txtBox ul li p {display:none; word-break: normal; color:#333333; font-size:16px; line-height:1.7; text-align:justify; text-overflow:ellipsis; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3;}
.section02 .swiper-slide .txtBox ul li p:nth-child(1) {display:-webkit-box}
.section02 .swiper-slide .txtBox ul li p:nth-child(2) {display:-webkit-box}
.section02 .swiper-slide .txtBox ul li p:nth-child(3) {display:-webkit-box}

/* [수정] 테두리 오버레이 구조가 고정높이 박스에 꽉 차도록 세팅 */
.section02 .swiper-slide .txtBox:after {content:''; position:absolute; top:0; left:0; right:0; bottom: 0; z-index:3; opacity:0; display:inline-block; width:100%; height:100%; border:2px solid #C74C1B; background:transparent;}
.section02 .swiper-slide .txtBox:hover:after {opacity: 1; box-sizing:border-box;}

.section02 .arrow {position:absolute; bottom:8%; left:50%; transform:translateX(-50%); z-index:10; display:flex; flex-direction:row; width:120px;}
.section02 .swiper-button-prev,
.section02 .swiper-button-next {position:absolute; display:inline-block; margin:0; width:8px; height:14px;}
.section02 .swiper-button-prev {margin:0; background:url('../img/main/sec02_leftarrow.png') no-repeat center/cover;}
.section02 .swiper-button-next {background:url('../img/main/sec02_rightarrow.png') no-repeat center/cover;}

.section02 .swiper-button-prev:after,
.section02 .swiper-button-next:after {display:none;}

.section02 .swiper-pagination-fraction {bottom:auto; color:#333; font-size:20px; line-height:14px;}

/* 태블릿 해상도 대응 */
@media all and (max-width:1024px){
    .section02 {padding:100px 0;}
    .section02 .titleBox {margin: 0 0 25px;}
    .section02 .titleBox h2 {margin:0 0 12px; font-size:32px;}
    .section02 .searchBox {margin: 0 0 25px;}
    .section02 .searchBox form .search_flex div:nth-child(1) {width:36.8%; padding:12px 8px; font-size:18px;}
    .section02 .searchBox form .search_flex div:nth-child(1) input {width:100%; font-size:18px;}
    .section02 .searchBox form .search_flex div:nth-child(2) {width:50px; height:50px;}

    .section02 .keywordBox {margin: 0 0 35px;}
    .section02 .keywordBox li {margin:12px 12px 0 0; border-radius:25px;}
    .section02 .keywordBox li:last-child {margin:12px 0 0 0;}
    .section02 .keywordBox li a {padding:0 15px; line-height:35px; font-size:18px;}
    .section02 .keywordBox li a::after {border-radius:25px;}

    .section02 .swiper-slide {width:31.4%; background:#f5f7f9;}
    .section02 .swiper-slide .txtBox {padding:40px 8% 0 8%;} /* 높이 최적화 */
    .section02 .swiper-slide .txtBox .Stitle {width:100%; padding:5px 0;}
    .section02 .swiper-slide .txtBox .Stitle h2 {font-size:16px;}
    .section02 .swiper-slide .txtBox .Stitle p {font-size:13px;}

    .section02 .swiper-slide .txtBox > h2 {padding:15px 0; font-size:20px;}
    .section02 .swiper-slide .txtBox ul {display:flex; padding:20px 0 0 0;}
    .section02 .swiper-slide .txtBox ul li {font-size:15px; line-height:1.5;}
    .section02 .swiper-slide .txtBox ul li:first-child {width:63.8%; margin:0 5.5% 0 0;}
    .section02 .swiper-slide .txtBox ul li:last-child {width: 30.7%;}
    .section02 .swiper-slide .txtBox ul li p {color:#333333; font-size:15px; line-height:1.6; text-overflow:ellipsis; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3;}

    .section02 .arrow {position: absolute; bottom:8%; left:50%; transform: translateX(-50%); z-index:10; display:flex; flex-direction: row; width:110px;}
    .section02 .swiper-button-prev,
    .section02 .swiper-button-next {position:absolute; display:inline-block; margin:0; width:8px; height:14px;}
    .section02 .swiper-pagination-fraction {bottom:auto; color:#333; font-size:18px; line-height:12px;}
}

/* 모바일 해상도 대응 */
@media all and (max-width:768px){
    .section02 {padding:12vw 0 16vw;}
    .section02 .titleBox {margin: 0 0 3.8vw;}
    .section02 .titleBox h2 {margin:0 0 1vw; font-size:3.8vw;}
    .section02 .searchBox {margin: 0 0 3.8vw;}
    .section02 .searchBox form .search_flex div:nth-child(1) {width:80%; padding: 2.8vw 2.2vw; font-size:3.4vw;}
    .section02 .searchBox form .search_flex div:nth-child(1) input {width:100%; font-size:3.4vw;}
    .section02 .searchBox form .search_flex div:nth-child(2) {width: 50px; height: 50px;}

    .section02 .keywordBox {margin: 0 0 3.8vw;}
    .section02 .keywordBox li {margin:2vw 1vw 0 0; border-radius:25px;}
    .section02 .keywordBox li:last-child {margin: 2.4vw 0 0 0;}
    .section02 .keywordBox li a {padding:0 2.6vw; line-height: 35px; font-size:3.2vw;}
    .section02 .keywordBox li a::after {border-radius:25px;}

    .section02 .swiper-slide {width:31.4%; background: #f5f7f9;}
    .section02 .swiper-slide .txtBox {padding:5vw 5vw 5vw 5vw; min-height: auto;} /* 모바일은 자연스럽게 흐르도록 설정 가능 */
    .section02 .swiper-slide .txtBox .Stitle {width:100%; padding:1.5vw 0;}
    .section02 .swiper-slide .txtBox .Stitle h2 {font-size:3.4vw;}
    .section02 .swiper-slide .txtBox .Stitle p {font-size:2.8vw;}

    .section02 .swiper-slide .txtBox > h2 {padding:2.8vw 0; font-size:3.6vw;}
    .section02 .swiper-slide .txtBox ul {display:flex; padding:3.4vw 0 0 0;}
    .section02 .swiper-slide .txtBox ul li {font-size:3.2vw; line-height: 1.5;}
    .section02 .swiper-slide .txtBox ul li:first-child {width:63.8%; margin:0 5.5% 0 0;}
    .section02 .swiper-slide .txtBox ul li:last-child {width: 30.7%;}
    .section02 .swiper-slide .txtBox ul li p {color:#333333; font-size:3.2vw !important; line-height:1.5; text-overflow:ellipsis !important; overflow:hidden !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:3 !important;}

    .section02 .arrow {position: absolute; bottom:9vw; left:50%; transform: translateX(-50%); z-index:10; display:flex; flex-direction: row; width:110px;}
    .section02 .swiper-button-prev,
    .section02 .swiper-button-next {position:absolute; display:inline-block; margin:0; width:8px; height:14px;}
    .section02 .swiper-pagination-fraction {bottom:auto; color:#333; font-size:3.4vw; line-height: 12px;}
}


/* section03 - 예시3 */
.section03 {padding:140px 0 100px 0; background:#f9f9f9;}

.section03 .ctTitle {margin:0 0 48px 0;}
.section03 .ctTitle h2 {margin:0 0 27px; color:#333333; font-size:40px; font-weight:700;}
.section03 .ctTitle h2 span.blue {color:#C74C1B;}
.section03 .ctTitle p {color:#333333; font-size:20px; font-weight:500;}

.section03 form {margin:0; padding:57px 5.7%; background:#fff; }

.section03 form p { margin-top: 0px; margin-bottom: 0px }
.section03 form td,table {font-size:14px; color: #666; line-height: 150%; }

.section03 form .blind {font-size:0; line-height:0; width:0px; height:0px;}
.section03 form .button {cursor:pointer; HEIGHT:18px; font-size:13px;  BACKGROUND-COLOR: #737373; BORDER-BOTTOM: #737373 2px solid; BORDER-LEFT: #737373 2px solid; BORDER-RIGHT: #737373 2px solid; BORDER-TOP: #737373 2px solid; COLOR: #ffffff;}

.section03 form .agree_con {position:relative; overflow:hidden; border:none; padding:0; margin:10px 0 10px 6.8%;}
.section03 form .agree_con h4 {font-weight:600; color:#333333; font-size:15px; letter-spacing:-0.7pt; padding:0 0 10px 0}
.section03 form .agree_con .agree {text-align:left; padding:8px 0 0 0; font-size:16px; font-weight:600; color:#666666; letter-spacing:0;}
.section03 form .agree_con .agree span {cursor:pointer;}

.section03 form .form_table {width:100%; border-collapse:separate; border-spacing:0px; border-top:none;}
.section03 form .form_table .topArea {display:flex; flex-direction: row;}
.section03 form .form_table .topArea div {display:flex; align-items: center; width:50%; margin:0 0 17px 0;}
.section03 form .form_table .topArea label {width:10.4%; margin:0 3.2% 0 0; color:#333; font-size:20px; font-weight:600;}
.section03 form .form_table .topArea div:first-child input {width:64.5%; margin:0 21.7% 0 0;}
.section03 form .form_table .topArea div:last-child select {width:16.1%; margin:0 1.1% 0 0;}
.section03 form .form_table .topArea div:last-child input {width:16.1%; margin:0 1.1%;}
.section03 form .form_table .topArea div:last-child input:last-child {margin-right:33.3%;}

.section03 form .form_table .bottomArea {width:100%; display:flex; flex-direction: column;}
.section03 form .form_table .bottomArea div {display:flex; flex-direction: row; margin:0 0 15px 0;}
.section03 form .form_table .bottomArea div:last-child {margin:0;}
.section03 form .form_table .bottomArea label {width:5.2%; margin:0 1.6% 0 0; color:#333; font-size:20px; font-weight:600;}
.section03 form .form_table .bottomArea select {width:32.2%}
.section03 form .form_table .bottomArea textarea {height:220px; resize: none;}
.section03 form .form_table .bottomArea div:last-child label {width:5.6%;}

.section03 form select {padding:13px 15px; color:#666; font-size:16px; border:1px solid #d4d4d4; background-color:#fff;}
.section03 form .input {padding:13px 15px; color:#666; font-size:16px; border:1px solid #d4d4d4; background-color:#fff;}
.section03 form .textarea {padding:13px 15px; color:#666; font-size:16px; border:1px solid #d4d4d4; background-color:#fff; box-sizing:border-box; box-sizing:border-box;}

.section03 .spamBox{display: flex; width: 32%; gap: 8px;}
.section03 .spamBox .norobot_img{display: block; width: 90px;}
.section03 .spamBox .norobot_img img{width: 100%; height: 100%;}
.section03 .spamBox input{width: calc(100% - 90px - 8px);}

/* 확인/취소 버튼 */
.section03 form .btn_area {text-align:center;}
.section03 form .btn_confirm {font-size:20px; width:25.7%; height:auto; padding:20px 0; font-weight:600; background-color:#C74C1B; color:#fff; cursor:pointer;  border:none; letter-spacing:0pt; margin:0 2px 0 5px;}
.section03 form .btn_cancel {font-size:15px; width:125px; height:54px; font-weight: 500; background-color:#e2e2e2; color:#000; cursor:pointer; letter-spacing:-0.75pt;}


@media all and (max-width:1024px){
    .section03 {padding:100px 0;}

    .section03 .ctTitle {margin:0 0 35px 0;}
    .section03 .ctTitle h2 {margin:0 0 20px; font-size:32px;}
    .section03 .ctTitle p {font-size:18px;}

    .section03 form {padding:40px 5.7%; }
    .section03 form .form_table {width:100%; border-collapse:separate; border-spacing:0px; border-top:none;}
    .section03 form .form_table .topArea {display:flex; flex-direction: column;}
    .section03 form .form_table .topArea div {width:100%; margin:0 0 15px 0;}
    .section03 form .form_table .topArea label {width:9.6%; margin:0 2.4% 0 0; font-size:18px;}
    .section03 form .form_table .topArea div:first-child input {width:34.5%; margin:0 53.5% 0 0;}
    .section03 form .form_table .topArea div:last-child select {width:19.1%; margin:0 1.1% 0 0;}
    .section03 form .form_table .topArea div:last-child input {width:19.1%; margin:0 1.1%;}
    .section03 form .form_table .topArea div:last-child input:last-child {margin-right:26.3%;}

    .section03 form .form_table .bottomArea {width:100%; display:flex; flex-direction: column;}
    .section03 form .form_table .bottomArea div {display:flex; flex-direction:row; margin:0 0 15px 0;}
    .section03 form .form_table .bottomArea div:first-child {display:flex; align-items:center;}
    .section03 form .form_table .bottomArea div:last-child {margin:0;}
    .section03 form .form_table .bottomArea label {width:9.6%; margin:0 2.4% 0 0; font-size:18px;}
    .section03 form .form_table .bottomArea select {width:34.5%; margin:0 53.5% 0 0;}
    .section03 form .form_table .bottomArea textarea {height:220px;}
    .section03 form .form_table .bottomArea div:last-child label {width:10.8%;}

    .section03 form .button {height:18px; font-size:13px;}

    .section03 form .agree_con {margin:10px 0 10px 12%;}
    .section03 form .agree_con h4 {font-size:15px; padding:0 0 10px 0}
    .section03 form .agree_con .agree {padding:15px 0 0 0; font-size:14px;}

    .section03 form select {padding:10px 13px; font-size:15px;}
    .section03 form .input {padding:10px 13px; font-size:15px;}
    .section03 form .textarea {padding: 10px 13px; font-size:15px;}

    .section03 .spamBox{width: auto;}

    /* 확인/취소 버튼 */
    .section03 form .btn_confirm {font-size:16px; width:125px; height:54px; margin:0 0 0 6px;}
    .section03 form .btn_cancel {font-size:16px; width:125px; height:54px;}
}

@media all and (max-width:768px){
    .section03 {padding:12vw 0;}

    .section03 .ctTitle {margin:0 0 3.6vw 0;}
    .section03 .ctTitle h2 {margin:0 0 3.4vw; font-size:3.8vw; }
    .section03 .ctTitle p {font-size:3.4vw;}

    .section03 form {padding:5vw 5.7%; }
    .section03 form table {font-size:3.4vw;}
    .section03 form .form_table .topArea div {margin:0 0 3vw 0;}
    .section03 form .form_table .topArea label {width:15%; margin:0 2.4% 0 0; font-size:3.2vw;}
    .section03 form .form_table .topArea div:first-child input {width:50%; margin:0 33% 0 0;}
    .section03 form .form_table .topArea div:last-child select {width:23.1%; margin:0 1.1% 0 0; -webkit-appearance:none; -webkit-border-radius:5px;}
    .section03 form .form_table .topArea div:last-child input {width:23.1%; margin:0 1.1%;}
    .section03 form .form_table .topArea div:last-child input:last-child {margin-right:9.3%;}

    .section03 form .form_table .bottomArea div {margin:0 0 3vw 0;}
    .section03 form .form_table .bottomArea label {width:15%; margin:0 2.4% 0 0; font-size:3.2vw;}
    .section03 form .form_table .bottomArea select {width:50%; margin:0 33% 0 0; -webkit-appearance:none; -webkit-border-radius:5px;}
    .section03 form .form_table .bottomArea textarea {height:35vw;}
    .section03 form .form_table .bottomArea div:last-child label {width:17.8%;}

    .section03 form .textarea {font-size:2.8vw; padding:1vw; height: 32vw;}
    .section03 form .button {HEIGHT:3.6vw; font-size:3.2vw;}

    .section03 form .agree_con {padding:3vw; margin: 3vw 0 3vw 17.4%;}
    .section03 form .agree_con h4 {font-size:3vw; padding:0 0 2vw 0}
    .section03 form .agree_con .agree {padding:3vw 0 0 0; font-size:3.2vw;}

    .section03 form input.btn_address {height:7vw; line-height:7vw; padding:0 2vw; font-size:3.2vw;}

    .section03 form select {padding:2vw; font-size:3.2vw;}
    .section03 form .input {padding:2vw; font-size:3.2vw;}
    .section03 form .textarea {padding:2vw; font-size:3.2vw;}

    .section03 .spamBox .norobot_img{width: clamp(70px, 12vw, 90px);}

    /* 확인/취소 버튼 */
    .section03 form .btn_confirm {font-size:3.4vw; width:25vw; height:10vw; margin:0 0 0 1vw; line-height: 0;}
    .section03 form .btn_cancel {font-size:3.4vw; width:25vw; height:10vw;}
}
/* section04 - 원본 명칭 유지 및 라이브러리 간섭 차단 규격 */
.section04 { padding: 150px 0 165px 0; background: #fff; overflow: hidden; }

.section04 .inner { max-width: 1400px; margin: 0 auto; padding: 0 20px; }
.section04 .sec04_title { margin: 0 0 50px 0; }
.section04 .sec04_title h2 {margin:0 0 27px; color:#333333; font-size:40px; font-weight:700;}
.section04 .sec04_title h2 span.blue { color: #C74C1B; }
.section04 .sec04_title p { position: relative; color: #333333; font-size: 20px; font-weight: 500; }

/* 레이아웃 컨테이너 */
.section04 .posDiv {
    position: relative !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    padding-right: calc((100% - 1400px) / 2) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    transform: none !important; /* 외부 간섭 박멸 */
}

/* [좌측 이미지 영역] */
.section04 .posDiv .leftBox { width: 72% !important; margin-right: auto !important; overflow: hidden; transform: none !important; opacity: 1 !important; }
.section04 .posDiv .leftBox .swiper-container { width: 100%; aspect-ratio: 16 / 9; max-height: 420px; overflow: hidden; }
.section04 .posDiv .leftBox .swiper-slide { width: 100% !important; height: 100%; }
.section04 .posDiv .leftBox img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* [우측 텍스트 영역] */
.section04 .posDiv .rightBox {
    position: absolute !important;
    right: calc((100% - 1440px) / 2) !important;
    top: 55% !important;
    transform: translateY(-50%) !important;
    width: 670px !important;
    z-index: 5 !important;
    opacity: 1 !important;
}

.section04 .posDiv .rightBox .slide_content { position: relative; width: 100%;
    height: 340px; list-style: none; padding: 0; margin: 0; }
.section04 .posDiv .rightBox .slide_content li {
    position: absolute !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 4px 12px 30px 2px rgba(56, 56, 56, 0.2);
    background: #fff;
    padding: 45px;
    opacity: 0;
    transform: translateY(40px);
    -webkit-transform: translateY(40px);
    z-index: -1;
    pointer-events: none;
}

/* 카드가 바뀔 때 원본처럼 아래서 위로 부드럽게 솟구치는 슬라이딩 액션 */
.section04 .posDiv .rightBox .slide_content li.active {
    -webkit-animation-name: slide_up;
    animation-name: slide_up;
    -webkit-animation-duration: 0.8s;
    animation-duration: 0.8s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 0.2s;
    -webkit-animation-delay: 0.2s;
    z-index: 2;
    pointer-events: auto;
}

@keyframes slide_up {
    0% { transform: translateY(40px); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}

.section04 .posDiv .rightBox .slide_content li a { text-decoration: none; display: block; width: 100%; height: 100%; }
.section04 .posDiv .rightBox .slide_content li h2 { margin: 22px 0; color: #333333; font-size: 28px; font-weight: 600; line-height: 1.3; }
.section04 .posDiv .rightBox .slide_content li h2 span.blue { color: #C74C1B; font-weight: 800; }
.section04 .posDiv .rightBox .slide_content li p { color: #333333; font-size: 16px; font-weight: 500; line-height: 1.6; margin: 0; }
.section04 .posDiv .rightBox .slide_content li p.amount { margin: 0 0 10px 0; color: #888; }
.section04 .posDiv .rightBox .slide_content li p.amount strong { color: #333; font-size: 22px; }

/* 텍스트 밑줄 그어지는 모션 */
.section04 .posDiv .rightBox .slide_content li p span.span_bg {
    position: relative;
    display: inline; /* 인라인 유지 */
    background: linear-gradient(to top, #FFD0BC 50%, transparent 50%); /* 하단 50%만 형광펜 색상 */
    background-repeat: no-repeat;
    background-size: 0% 100%; /* 처음에 안 보임 */
    transition: background-size 1s 0.5s linear; /* 부드럽게 슥 그어지는 효과 */
    box-decoration-break: clone; /* 크롬, 모바일 등에서 줄바꿈 시 배경 끊김 방지 */
    -webkit-box-decoration-break: clone;
}

/* 카드가 활성화(active)되면 백그라운드 사이즈를 100%로 확장 */
.section04 .posDiv .rightBox .slide_content li.active p span.span_bg {
    background-size: 100% 100%;
}

@keyframes slide_color {
    0% { width: 0; }
    100% { width: 100%; }
}

/* 네비게이션 화살표 */
.section04 .posDiv .arrow { margin-top: 20px; display: flex; justify-content: flex-end; gap: 8px; }
.section04 .posDiv .swiper-button-prev,
.section04 .posDiv .swiper-button-next { position: static; width: 44px; height: 44px; margin: 0; cursor: pointer; }
.section04 .posDiv .swiper-button-prev { background: url('../img/main/leftarrow.png') no-repeat center/cover; }
.section04 .posDiv .swiper-button-next { background: url('../img/main/rightarrow.png') no-repeat center/cover; }
.section04 .posDiv .swiper-button-prev:after, .section04 .posDiv .swiper-button-next:after { display: none; }


/* ==========================================
   반응형 중첩 차단 보정
   ========================================== */

@media all and (max-width: 1440px) {
    .section04 .posDiv { padding-right: 40px !important; }
    .section04 .posDiv .rightBox { right: 40px !important;  }
}

@media all and (max-width: 1200px) {
    .section04 .posDiv .leftBox { width: 68% !important; }
    .section04 .posDiv .rightBox { width: 400px !important; }
    .section04 .posDiv .rightBox .slide_content li { padding: 35px; }
    .section04 .posDiv .rightBox .slide_content li h2 { font-size: 24px; }
}

@media all and (max-width: 1024px) {
    .section04 { padding: 100px 0; }
    .section04 .posDiv { flex-direction: column !important; padding-right: 0 !important; }

    .section04 .sec04_title h2 {margin: 0 0 20px; font-size:32px;}
    .section04 .sec04_title p {font-size:18px;}

    .section04 .posDiv .leftBox { width: 100% !important; padding: 0 20px; }
    .section04 .posDiv .leftBox .swiper-container { aspect-ratio: 16 / 10; max-height: 360px; }

    .section04 .posDiv .rightBox { position: static !important;
        transform: none !important; width: 100% !important; padding: 0 20px !important;}
    .section04 .posDiv .rightBox .slide_content {
        height: 100%;
        min-height: 270px;
        box-sizing: border-box;
    }
    .section04 .posDiv .rightBox .slide_content li { position: static !important; opacity: 1 !important; transform: none !important; display: none; height: auto; padding: 30px; }
    .section04 .posDiv .rightBox .slide_content li.active { display: flex !important; animation: none !important; }

    .section04 .posDiv .arrow { justify-content: right; margin-top: 15px; }
}

@media all and (max-width: 768px) {
    .section04 { padding: 12vw 0 15vw; }
    .section04 .sec04_title h2 {margin: 0 0 3vw; font-size:3.8vw;}
    .section04 .sec04_title p {font-size:3.4vw; font-weight: 500;}
    .section04 .posDiv .leftBox .swiper-container { max-height: 230px; }
    .section04 .posDiv .rightBox .slide_content li { padding: 20px; }
    .section04 .posDiv .rightBox .slide_content li h2 { font-size: 20px; margin: 12px 0; }
    .section04 .posDiv .rightBox .slide_content li p { font-size: 14px; }
}

.section05 {position:relative; height:100vh; min-height:780px; overflow:hidden;}
.section05 .bg {position:absolute; height:100%; top:0; left:0; right:0; background-size:cover; background-position:center; background-repeat:no-repeat; z-index:-1; }
.section05 .bg01 {background-image: url('../img/main/sec05_bg.jpg'); background-size: cover; background-position: center; filter: grayscale(100%) brightness(0.9) contrast(1.2); transition: all 0.6s ease;}
.section05:has(ul li:hover) .bg01 {filter: grayscale(0%) brightness(0.8);}
.section05 ul {display:flex; height:100%; flex-direction:row;}
.section05 ul li {position:relative; z-index:3; display:flex; flex-direction:column; justify-content:center; text-align:center; padding:0 2%; border-right:0.6px solid rgba(255, 255, 255, 0.15); transition:all 0.5s cubic-bezier(0.25, 1, 0.5, 1);}
.section05 ul li:last-child {border:none;}
.section05 ul li:nth-child(1) {width:26%}
.section05 ul li:nth-child(2) {width:24%}
.section05 ul li:nth-child(3) {width:24%}
.section05 ul li:nth-child(4) {width:26%}
.section05 ul li::after {content: ''; position:absolute; top:0; left:0; z-index:-2; width:100%; height:100%; background: rgba(0, 0, 0, 0.65); opacity: 1; transition:all 0.5s ease;}
.section05 ul li:hover::after {background: rgba(4, 17, 24, 0.2);}
.section05 ul > li > h3 {color: rgba(255, 255, 255, 0.6) !important; font-size:20px; font-weight:500; transition:all 0.5s cubic-bezier(0.25, 1, 0.5, 1); transform: translateY(40px);}
.section05 ul li h2 {margin:20px 0 0 0; color: #ffffff; font-size:40px; font-weight: 700; line-height:0.9; transition:all 0.5s cubic-bezier(0.25, 1, 0.5, 1); transform: translateY(40px);}
.section05 ul li p {margin:30px 0; color:#ffffff; font-size:18px; font-weight: 500; line-height:1.5; transition:all 0.5s cubic-bezier(0.25, 1, 0.5, 1); opacity: 0; transform: translateY(60px);}
.section05 ul li a::before {content: ''; position:absolute; top:0; left:0; z-index: -1; display:block; width:0; height:100%; background:#fff; transition:all 0.5s ease;}
.section05 ul li a {position:relative; display:flex; justify-content:center; align-items:center; width:180px; height:48px; margin: 0 auto; padding:18px 22px; color:#ffffff; font-size:16px; font-weight:700; border:1px solid #ffffff; text-align: center; opacity: 0; transition:all 0.5s cubic-bezier(0.25, 1, 0.5, 1); transform: translateY(60px);}
.section05 ul li a img {margin:0 0 0 8px; transition:all 0.5s ease; filter: brightness(0) invert(1);}
.section05 ul li:hover h3 {color:#fff !important; transform: translateY(0);}
.section05 ul li:hover h2 {color:#fff; transform: translateY(0);}
.section05 ul li:hover p {opacity:1; transform: translateY(0); transition-delay: 0.05s;}
.section05 ul li:hover a {opacity:1; transform: translateY(0); transition-delay: 0.1s;}
.section05 ul li a:hover {color:#333333;}
.section05 ul li a:hover > img {filter:invert(0) brightness(0);}
.section05 ul li a:hover::before {width:100%;}

@media all and (max-width:1024px){
    .section05 {position:relative; height:80vh; min-height:620px;}
    .section05 ul {display:flex; height:100%; flex-direction:row; flex-wrap:wrap;}
    .section05 ul li:last-child {border:none;}
    .section05 ul li:nth-child(1) {width:50%; height:50%; border-bottom:1px solid #c2c2c2;}
    .section05 ul li:nth-child(2) {width:50%; height:50%; border-right:none; border-bottom:1px solid #c2c2c2;}
    .section05 ul li:nth-child(3) {width:50%; height:50%;}
    .section05 ul li:nth-child(4) {width:50%; height:50%;}
    .section05 ul > li > h3 {font-size:18px; transform: none;}
    .section05 ul li h2 {margin:25px 0 0 0; font-size:32px; transform: none;}
    .section05 ul li p {margin:15px 0 25px 0; font-size:16px; line-height: 1.4; opacity: 1; transform: none;}
    .section05 ul li a {width:170px; height:40px; padding:8px 15px; font-size:15px; }
    .section05 ul li a img {margin:0 0 0 6px;}
}

@media all and (max-width:768px){
    .section05 {height:120vw; min-height:420px;}
    .section05 ul li:last-child {border:none;}
    .section05 ul > li > h3 {font-size:3.2vw;}
    .section05 ul li h2 {margin:3vw 0 0 0; font-size:3.8vw;}
    .section05 ul li p {display:none; margin:2vw 0 3vw 0; font-size:3vw; line-height: 1.4;}
    .section05 ul li a {width:30vw; height:8vw; padding:1.2vw; font-size:2.8vw;}
    .section05 ul li a img {margin:0 0 0 0.6vw;}
    .section05 ul li:hover p {display:block;}
}

/* section06 - 예시6 */
.section06 {padding:199px 0 150px 0;}
.section06 .sec06_inner {width:85%; margin:0 0 0 15%; }

.section06 .ytubeTitle {margin:0 0 80px 0;}
.section06 .ytubeTitle h2 {margin:50px 0 0 0; color:#333333; font-size:32px; font-weight:400;}
.section06 .ytubeTitle h2 span.bold {font-weight:600;}

.section06 .slideBox {width:100%; display:flex; flex-direction: row;}
.section06 .slideBox .txtBox {position:relative; width:22.8%;}
.section06 .slideBox .txtBox h3 {color:#C74C1B; font-size:20px; font-weight:700; line-height:1;}
.section06 .slideBox .txtBox h2 {margin:35px 0 10px 0; color: #333333; font-size:28px; font-weight: 600;}
.section06 .slideBox .txtBox p {color:#333333; font-size:28px; font-weight:400; line-height:1.6;}
.section06 .slideBox .swiper-container {width:77.2%;}
.section06 .slideBox .swiper-container .swiper-slide {width:31.7%;}
.section06 .slideBox .swiper-container .swiper-slide p {margin:15px 0 0 0; color:#333333; font-size:20px; font-weight:600; line-height:1.6;}

.section06 .slideBox .txtBox .arrow {position:absolute; top:65%;  left:0; z-index:10;}
.section06 .slideBox .txtBox .swiper-button-prev,
.section06 .slideBox .txtBox .swiper-button-next {position:static; display:inline-block; margin:0; width:44px; height:44px;}
.section06 .slideBox .txtBox .swiper-button-prev {margin:0; background:url('../img/main/leftarrow.png') no-repeat center/cover;}
.section06 .slideBox .txtBox .swiper-button-next {background:url('../img/main/rightarrow.png') no-repeat center/cover;}

.section06 .slideBox .txtBox .swiper-button-prev:after,
.section06 .slideBox .txtBox .swiper-button-next:after {display:none;}

@media all and (max-width:1700px){
    .section06 .slideBox .txtBox p {font-size:24px;}
    .section06 .slideBox .txtBox p br {display:none;}
    .section06 .slideBox .txtBox .arrow {position:absolute; top:auto; bottom:0; left:0; z-index:10;}
}

@media all and (max-width:1024px){
    .section06 {padding:100px 0;}
    .section06 .sec06_inner {width:100%; margin:0; padding:0 20px; }

    .section06 .ytubeTitle {margin:0 0 40px 0;}
    .section06 .ytubeTitle h2 {margin:40px 0 0 0; font-size:28px;}

    .section06 .slideBox {width:100%; display:flex; flex-direction:row;}
    .section06 .slideBox .txtBox {position:relative; width:22.8%;}
    .section06 .slideBox .txtBox h3 {font-size:18px;}
    .section06 .slideBox .txtBox h2 {margin:32px 0 8px 0; font-size:24px;}
    .section06 .slideBox .txtBox p {font-size:18px;}
    .section06 .slideBox .txtBox p br {display:none;}
    .section06 .slideBox .swiper-container {width:100%;}
    .section06 .slideBox .swiper-container .swiper-slide {width:31.7%;}
    .section06 .slideBox .swiper-container .swiper-slide p {margin:7px 0 0 0; font-size:18px;}

    .section06 .slideBox .txtBox .arrow {position:absolute; top:auto; left:0; bottom:0; z-index:10;}
    .section06 .slideBox .txtBox .swiper-button-prev,
    .section06 .slideBox .txtBox .swiper-button-next {position:static; display:inline-block; margin:0; width:44px; height:44px;}
}

@media all and (max-width:768px){
    .section06 {padding:12vw 0;}

    .section06 .ytubeTitle {margin: 0 0 5vw 0;}
    .section06 .ytubeTitle h2 {margin:5vw 0 0 0; font-size:3.6vw;}
    .section06 .ytubeTitle a img {max-width:100px;}

    .section06 .slideBox {width:100%; display:flex; flex-direction:column; flex-wrap:wrap;}
    .section06 .slideBox .txtBox {width:100%;}
    .section06 .slideBox .txtBox h3 {font-size:3.4vw;}
    .section06 .slideBox .txtBox h2 {margin:4vw 0 1vw 0; font-size:3.6vw;}
    .section06 .slideBox .txtBox p {margin: 0 0 3vw 0; font-size:3.4vw;}
    .section06 .slideBox .txtBox p br {display:none;}
    .section06 .slideBox .swiper-container {width:100%;}
    .section06 .slideBox .swiper-container .swiper-slide {width:100%;}
    .section06 .slideBox .swiper-container .swiper-slide p {margin:7px 0 0 0; font-size:3.4vw;}

    .section06 .slideBox .txtBox .arrow {position:absolute; top:0; left:auto; right:0; z-index:10;}
    .section06 .slideBox .txtBox .swiper-button-prev,
    .section06 .slideBox .txtBox .swiper-button-next {position:static; display:inline-block; margin:0; width:8vw; height:8vw;}
}

/* section07 - 미디어 언론보도 섹션 통합 반응형 스타일 */
.section07 { position: relative; padding: 120px 0 100px; box-sizing: border-box; }
.section07 .bg { position: absolute; height: 100%; top: 0; left: 0; right: 0; background-size: cover; background-position: center; background-repeat: no-repeat; z-index: -1; }
.section07 .bg01 {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('../img/main/sec07_bg.jpg');
}
.section07 .mediatitle { margin: 0 0 50px 0; }
.section07 .mediatitle h2 { margin: 0 0 20px 0; color: #fff; font-size: 40px; font-weight: 600; line-height: 1; }
.section07 .mediatitle p { color: #fff; font-size: 18px; font-weight: 400; opacity: 0.85; }
.section07 .swiper-container { width: 100%; overflow: hidden; }
.section07 .swiper-slide { width: 23.5%; margin-right: 2%; overflow: hidden; background: #fff; box-sizing: border-box; }
/*.section07 .swiper-slide:nth-child(4n) { margin-right: 0; }*/
.section07 .swiper-slide a { display: block; text-decoration: none; }
.section07 .swiper-slide a figure { overflow: hidden; margin: 0; position: relative; padding-top: 75%; }
.section07 .swiper-slide a figure img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: all 0.5s ease; }
.section07 .swiper-slide:hover a figure img { transform: scale(1.1); }
.section07 .swiper-slide .textArea { padding: 30px 24px; background: #fff; box-sizing: border-box; }
.section07 .swiper-slide .textArea .Stitle { display: flex; justify-content: space-between; align-items: center; width: 100%; margin: 0 0 15px 0; padding: 0; background: transparent; box-sizing: border-box; }
.section07 .swiper-slide .textArea .Stitle span.badge { display: inline-flex; align-items: center; justify-content: center; padding: 5px 12px; color: #fff; font-size: 12px; font-weight: 600; background: #C74C1B; border-radius: 4px; }
.section07 .swiper-slide .textArea .Stitle span.date { color: #888888; font-size: 13px; font-weight: 400; letter-spacing: 0.5px; }
.section07 .swiper-slide .textArea h2 { margin: 0 0 12px 0; color: #333333; font-size: 20px; font-weight: 700; line-height: 1.4; display: -webkit-box; text-overflow: ellipsis; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.section07 .swiper-slide .textArea p { color: #666666; font-size: 14px; font-weight: 400; line-height: 1.6; display: -webkit-box; text-overflow: ellipsis; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.section07 .swiper-slide .textArea h2 img { display: none; }
.section07 .arrow { position: relative; margin: 50px auto 0; display: flex; justify-content: center; align-items: center; width: 160px; height: 30px; z-index: 10; }
.section07 .swiper-button-prev, .section07 .swiper-button-next { position: absolute; top: 50%; transform: translateY(-50%); display: inline-block; margin: 0; width: 10px; height: 16px; cursor: pointer; }
.section07 .swiper-button-prev { left: 0; background: url('../img/main/sec07_leftarrow.png') no-repeat center/contain; }
.section07 .swiper-button-next { right: 0; background: url('../img/main/sec07_rightarrow.png') no-repeat center/contain; }
.section07 .swiper-button-prev:after, .section07 .swiper-button-next:after { display: none; }
.section07 .swiper-pagination-fraction { position: relative; bottom: auto; left: auto; width: auto; color: #fff; font-size: 18px; font-weight: 500; text-align: center; }
.section07 .swiper-pagination-fraction span { color: #fff; }

/* PC 태블릿 및 노트북 해상도 대응 (1024px) */
@media all and (max-width: 1024px) {
    .section07 { padding: 80px 0 60px; }
    .section07 .mediatitle { margin: 0 0 40px 0; }
    .section07 .mediatitle h2 { font-size: 32px; margin: 0 0 15px 0; }
    .section07 .mediatitle p { font-size: 16px; }
    .section07 .swiper-slide { width: 48.5%; margin-right: 3% !important; margin-bottom: 20px; }
    /*.section07 .swiper-slide:nth-child(2n) { margin-right: 0 !important; }*/
    .section07 .swiper-slide .textArea { padding: 25px 20px; }
    .section07 .swiper-slide .textArea h2 { font-size: 18px; }
    .section07 .swiper-slide .textArea p { font-size: 13px; }
    .section07 .arrow { margin: 30px auto 0; }
}

/* 모바일 모드 해상도 대응 (768px 이하) */
@media all and (max-width: 768px) {
    .section07 { padding: 12vw 0 10vw; }
    .section07 .mediatitle { margin: 0 0 6vw 0; }
    .section07 .mediatitle h2 { font-size: 5.5vw; margin: 0 0 2.5vw 0; }
    .section07 .mediatitle p { font-size: 3.6vw; line-height: 1.4; }
    .section07 .swiper-slide { width: 100%; margin-bottom: 4vw; }
    .section07 .swiper-slide .textArea { padding: 5vw 4vw; }
    .section07 .swiper-slide .textArea .Stitle { margin: 0 0 3vw 0; }
    .section07 .swiper-slide .textArea .Stitle span.badge { padding: 1vw 2.5vw; font-size: 3vw; }
    .section07 .swiper-slide .textArea .Stitle span.date { font-size: 3.2vw; }
    .section07 .swiper-slide .textArea h2 { font-size: 4.5vw; margin: 0 0 2vw 0; }
    .section07 .swiper-slide .textArea p { font-size: 3.5vw; line-height: 1.5; }
    .section07 .arrow { margin: 6vw auto 0; width: 130px; }
    .section07 .swiper-pagination-fraction { font-size: 4vw; }
}

/* 기본 레이아웃 재배치 및 가독성 확보 스타일 */
.section08 { position: relative; padding: 115px 0; box-sizing: border-box; background: #fff; }
.section08 .inner { position: relative; width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 15px; box-sizing: border-box; }

/* 1. 상단 타이틀 구역 스타일 (완전 독립) */
.section08 .maptitle { position: relative; width: 100%; margin: 0 0 35px 0; z-index: 10; display: block; }
.section08 .maptitle h2 { margin: 0 0 25px 0; color: #333333; font-size: 40px; font-weight: 600; }

.section08 .map-content-wrapper { position: relative; width: 100%; height: 600px; margin-top: 10px; }
.section08 .swiper-container {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 10 !important;
    pointer-events: none !important; /* 마우스 이벤트 무조건 통과 */
}

/* [추가] 페이드 효과로 겹쳐진 슬라이드들도 지도의 마우스 이벤트를 막지 않도록 통과시킵니다. */
.section08 .swiper-slide {
    position: relative;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    pointer-events: none !important; /* 슬라이드 자체 여백도 통과 */
}

/* [확인] 실제 사용자가 클릭하고 텍스트를 긁어야 하는 주황색 정보 상자만 이벤트를 다시 살립니다. */
.section08 .locationBox {
    position: absolute;
    top: 50%;
    left: 5%;
    z-index: 20 !important;
    transform: translateY(-50%);
    padding: 65px 5%;
    width: 42.8%;
    background: #C74C1B;
    box-shadow: 10px 12px 15.68px 0.32px rgba(104, 100, 100, 0.16);
    pointer-events: auto !important; /* 주황색 박스 내부만 정상 클릭/링크 작동 */
    box-sizing: border-box;
}
.section08 .locationBox .topBox { margin: 0 0 35px 0; border-bottom: 1px solid #fff; }
.section08 .locationBox .topBox h2 { margin: 0 0 17px 0; color: #fff; font-size: 24px; font-weight: 600; }
.section08 .locationBox .topBox p { margin: 0 0 10px 0; color: #fff; font-size: 18px; font-weight: 400; }
.section08 .locationBox .topBox p:last-child { margin: 0 0 25px 0; }
.section08 .locationBox .bottomBox { display: flex; flex-direction: row; list-style: none; padding: 0; margin: 0; }
.section08 .locationBox .bottomBox li:first-child { width: 45.2%; }
.section08 .locationBox .bottomBox li:last-child { width: 54.8%; }
.section08 .locationBox .bottomBox p { margin: 0 0 20px 0; color: #fff; font-size: 16px; font-weight: 300; }
.section08 .locationBox .bottomBox p:last-child { margin: 0; }
.section08 .locationBox .bottomBox p a { color: #fff; text-decoration: none; font-weight: 500; }

/* 🚨 네이버 지도 깨짐 방지 레이어 백그라운드 */
.section08 .mapDiv {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1 !important; /* 무조건 바닥에 깔리도록 수정 */
}

#naver_map_container {
    width: 100% !important;
    height: 100% !important;
    min-height: 600px !important;
    background-color: #eaeaea !important;
}

/* 스와이퍼 탭 디자인 보정 */
.section08 .swiper-pagination { position: static; display: flex; text-align: left; color: #333; font-size: 24px; font-weight: 700; z-index: 10; pointer-events: auto; }
.section08 .swiper-pagination-bullet { width: auto; min-height: 30px; margin: 0 30px 0 0 !important; background: transparent !important; opacity: 1; border-radius: 0; height: auto; outline: none; cursor: pointer; }
.section08 .swiper-pagination-bullet:last-child { margin: 0 !important; }
.section08 .swiper-pagination .swiper-pagination-bullet-active span { border-bottom: 3px solid #333; color: #333; padding-bottom: 4px; }

/* 네이버 지도 내 마커 인포팝업 */
.iw_inner { padding: 16px; background: #ffffff; border: 1px solid #dddddd; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); text-align: left; font-family: inherit; margin-bottom: 10px; position: relative; z-index: 999; pointer-events: auto; }
.iw_inner:after { content: ''; position: absolute; border-top: 10px solid #ffffff; border-left: 10px solid transparent; border-right: 10px solid transparent; bottom: -10px; left: 50%; transform: translateX(-50%); }
.iw_inner h6 { margin: 0 0 8px 0; font-size: 15px; font-weight: 700; color: #C74C1B; }
.iw_inner p { margin: 0 0 12px 0; font-size: 13px; color: #555555; line-height: 1.4; word-break: keep-all; }
.iw_inner .link a { display: inline-block; font-size: 12px; font-weight: 600; color: #ffffff; background: #333333; padding: 4px 10px; border-radius: 4px; text-decoration: none; }

/* 태블릿 반응형 (1024px) */
@media all and (max-width: 1024px) {
    .section08 { padding: 100px 0; }
    .section08 .maptitle h2 { font-size: 32px; margin: 0 0 20px 0; }
    .section08 .map-content-wrapper { height: 530px; }
    .section08 .locationBox { padding: 40px 3%; width: 45.8%; }
    .section08 .locationBox .topBox { margin: 0 0 25px 0; }
    .section08 .locationBox .topBox h2 { margin: 0 0 17px 0; font-size: 20px; }
    .section08 .locationBox .topBox p { margin: 0 0 8px 0; font-size: 16px; }
    .section08 .locationBox .topBox p:last-child { margin: 0 0 20px 0; }
    .section08 .locationBox .bottomBox p { margin: 0 0 15px 0; font-size: 15px; }
    #naver_map_container { min-height: 530px !important; }
    .section08 .swiper-pagination { font-size: 20px; }
    .section08 .swiper-pagination-bullet { min-height: 25px; margin: 0 15px 0 0 !important; }
}

/* 모바일 반응형 (768px 이하) */
@media all and (max-width: 768px) {
    .section08 { padding: 12vw 0; }
    .section08 .maptitle h2 { font-size: 5.5vw; margin: 0 0 4vw 0; }
    .section08 .map-content-wrapper { height: auto; display: flex; flex-direction: column-reverse; }
    .section08 .swiper-container { height: auto; }
    .section08 .locationBox { position: relative; top: auto; bottom: auto; left: auto; transform: translateY(0); padding: 6vw 5%; width: 100%; }
    .section08 .locationBox .topBox { margin: 0 0 4vw 0; }
    .section08 .locationBox .topBox h2 { margin: 0 0 2vw 0; font-size: 4.5vw; }
    .section08 .locationBox .topBox p { margin: 0 0 2vw 0; font-size: 3.5vw; }
    .section08 .locationBox .topBox p:last-child { margin: 0 0 4vw 0; }
    .section08 .locationBox .bottomBox li:first-child { width: 35%; }
    .section08 .locationBox .bottomBox li:last-child { width: 65%; }
    .section08 .locationBox .bottomBox p { margin: 0 0 3vw 0; font-size: 3.3vw; }
    .section08 .mapDiv { position: relative; width: 100%; height: 70vw; }
    #naver_map_container { min-height: 70vw !important; }
    .section08 .swiper-pagination { font-size: 3.8vw; flex-wrap: wrap; gap: 2vw; margin-bottom: 2vw; }
    .section08 .swiper-pagination-bullet { min-height: auto; margin: 0 !important; }
}