<meta charset="utf-8">

/* 실제 화면 높이 계산 */
:root {
  --vh: 100vh;
}

.main_visual, .swiper {
  height: calc(var(--vh, 1vh) * 100);
}


.inner { max-width:1400px; margin:0 auto; padding:0 20px}



.main_visual { height: 100vh; }
.swiper { margin: 0; width: 100%; height: 100vh; }
.main_visual .swiper-slide:nth-child(1n) { background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/main_banner_img01.jpg); background-position: center; background-size: cover; }
.main_visual .swiper-slide:nth-child(2n) { background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/main_banner_img02.jpg); background-position: center; background-size: cover; }
.main_visual .swiper-slide.video-slide,
.main_visual .swiper-slide.youtube-slide { background-image: none; }
.main_visual .swiper-slide .visual-tit { display: flex; flex-direction: column; font-family: "Archivo Black", sans-serif;  font-weight: 400;  font-style: normal; align-items: center; justify-content: center; height: 100%; color: #fff; text-align: center; position: relative; z-index: 2; opacity: 1 }
.main_visual .swiper-slide .title { display: block; font-weight: 800; transition: opacity 0s ease 0.75s; line-height: 1; font-size: 70px; margin-bottom: 20px; letter-spacing: -2px }
.main_visual .swiper-slide .title2 { display: block; font-weight: 500; transition: opacity 0s ease 0.75s; line-height: 1; font-size: 50px; margin-bottom: 20px; letter-spacing: -2px }
.main_visual .swiper-slide .description { font-size: 18px; color: #fff; transition: opacity 0.75s ease 0.75s; }
.main_visual .swiper-pagination { position: absolute; bottom: 80px; right: 80px; font-size: 16px; color: #fff; display: flex; align-items: center; }
.main_visual .swiper-pagination .current { font-size: 20px; margin: 0 10px; }
.main_visual .swiper-pagination .total { font-size: 20px; opacity: 0.8; margin: 0 10px; }
.main_visual .swiper-pagination .prev, .swiper-pagination .next { cursor: pointer; font-size: 28px; }

.video-background,
#youtube-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-slide::before,
.youtube-slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    z-index: 1;
}


/* 반응형 미디어 쿼리 */
@media screen and (max-width: 1200px) {
    .main_visual .swiper-slide .title {
        font-size: 60px;
        margin-bottom: 18px;
    }

    .main_visual .swiper-slide .title2 {
        font-size: 50px;
        margin-bottom: 18px;
    }	

    .main_visual .swiper-slide .description {
        font-size: 16px;
    }

    .main_visual .swiper-pagination {
        bottom: 60px;
        right: 60px;
    }
}

@media screen and (max-width: 992px) {
    .main_visual .swiper-slide .title {
        font-size: 50px;
        margin-bottom: 16px;
    }
    .main_visual .swiper-slide .title2 {
        font-size: 40px;
        margin-bottom: 16px;
    }


    .main_visual .swiper-slide .description {
        font-size: 15px;
    }

    .main_visual .swiper-pagination {
        bottom: 50px;
        right: 50px;
    }

    .main_visual .swiper-pagination .current,
    .main_visual .swiper-pagination .total {
        font-size: 18px;
    }

    .main_visual .swiper-pagination .prev,
    .swiper-pagination .next {
        font-size: 24px;
    }
}

@media screen and (max-width: 768px) {
    .main_visual {
        height: 100vh;
    }

    .swiper {
        height: 100vh;
    }

    .main_visual .swiper-slide .title {
        font-size: 40px;
        margin-bottom: 14px;
    }

    .main_visual .swiper-slide .title2 {
        font-size: 30px;
        margin-bottom: 14px;
    }


    .main_visual .swiper-slide .description {
        font-size: 12px;
    }

    .main_visual .swiper-pagination {
        bottom: 40px;
        right: 40px;
    }

    .main_visual .swiper-pagination .current,
    .main_visual .swiper-pagination .total {
        font-size: 16px;
    }

    .main_visual .swiper-pagination .prev,
    .swiper-pagination .next {
        font-size: 20px;
    }
}

@media screen and (max-width: 576px) {
    .main_visual {
        height: 60vh;
    }

    .swiper {
        height: 60vh;
    }

    .main_visual .swiper-slide .title {
        font-size: 30px;
        margin-bottom: 10px;
    }
    .main_visual .swiper-slide .title2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .main_visual .swiper-slide .description {
        font-size: 10px;
    }

    .main_visual .swiper-pagination {
        bottom: 30px;
        right: 30px;
    }

    .main_visual .swiper-pagination .current,
    .main_visual .swiper-pagination .total {
        font-size: 14px;
    }

    .main_visual .swiper-pagination .prev,
    .swiper-pagination .next {
        font-size: 18px;
    }
}

.s-inner { width: 90%; max-width: 1580px; position: relative;margin-left: auto; margin-right: auto;}    
.s-inner h3 { color: #fff; font-size:20px }    
#tl_cont { position: relative; padding: 5% 0; text-align: center }
#tl_cont .t1 { font-size: 60px; font-weight: bold;  margin: 0.35em 0 0.7em; }
#tl_cont .t2 { font-size: 22px; font-weight: 500; color:#212121; }
#tl_cont .t3 { font-size: 18px; color:#555; line-height: 1.65; margin-top:20px; }


@media all and (max-width:1280px) {
  #tl_cont { padding: 8% 0; }
}

@media all and (max-width:976px) {
  #tl_cont img { width: 35px; }
  #tl_cont .t1 { font-size: 64px; }
  #tl_cont .t2 { font-size: 22px; }
}

@media all and (max-width:767px) {
  #tl_cont { padding: 10% 0; }
}
@media all and (max-width:568px) {
  #tl_cont { padding: 14% 10%; }
  #tl_cont .t3 { font-size: 16px}
  #tl_cont .t3 br { display: none; }
}

@media all and (max-width:480px) {
  #tl_cont img { width: 30px; }
  #tl_cont .t1 { font-size: 2rem; line-height: 1;}
}

    
#tl_product { position: relative; width: 100%; overflow: hidden; padding: 150px 0; }
#tl_product::before { content:''; width: 45vw; height: calc(100% - 70px); max-width: 1200px; display: block; position: absolute; left:0; top:0; background: url("../img/section01_bg.jpg") no-repeat center; background-size: cover; }
#tl_product .s-inner { display: table; table-layout: fixed; }
#tl_product .s-inner > div { display: table-cell; vertical-align: top; }
#tl_product .mtit { padding-right: 2%; }
#tl_product .mtit .t2 { color:#fff; opacity: 0.8; font-size: 18px; line-height: 1.65; max-width: 500px; word-break:  keep-all}

#tl_product .cont { overflow: hidden; width: 70%; }
#tl_product .cont > div { position: relative; width: calc((100% - 100px) / 4); height: 450px; max-height: 15vw; margin-left: 30px; margin-top: 15px;float: left; background-size: cover; background-repeat: no-repeat; background-position: center; border-radius: 10px}
#tl_product .cont > div:first-child { margin-left:0; }
#tl_product .cont > div a { width: 100%; height: 100%; display: block; color:#fff; z-index:10;}
#tl_product .cont > div a dl { padding: 40px 30px; position: absolute; left:0; bottom:0; }
#tl_product .cont > div a dl dt { font-size: 25px; font-weight: 800; padding-bottom: 10px }
#tl_product .cont > div a dl dd { font-size: 18px }
#tl_product .cont > div a:hover::before { content:''; width: 100%; height: 100%; position: absolute; left:0; top: 0; background: #000; opacity: 0.2;border-radius: 10px }
#tl_product .cont > div.m-img01 { background-image:url("../img/product1.jpg"); }
#tl_product .cont > div.m-img02 { background-image:url("../img/product2.jpg"); }
#tl_product .cont > div.m-img03 { background-image:url("../img/product3.jpg"); }
#tl_product .cont > div.m-img04 { background-image:url("../img/product4.jpg"); }
#tl_product .cont > div.m-img05 { background-image:url("../img/product5.jpg"); }
#tl_product .cont > div.m-img06 { background-image:url("../img/product6.jpg"); }
#tl_product .cont > div.m-img07 { background-image:url("../img/product7.jpg"); }




@media all and (max-width:1480px) {
  #tl_product { padding-top: 70px; }
  #tl_product::before { height: 90%; }
  #tl_product .cont > div { width: calc((100% - 60px) / 4); max-height: 26vw; margin-left: 30px; }
}

@media all and (max-width:1280px) {
  #tl_product { padding-top: 40px; }
  #tl_product .cont { padding-top: 40px; }
  #tl_product .cont > div { width: calc((100% - 30px) / 4); max-height: 28vw; margin-left: 10px; }
  #tl_product .mtit .t2 br { display: none; }
}

@media all and (max-width:1080px) {
  #tl_product { padding-top: 5%; }
  #tl_product::before { width: 60vw; height: 70%; }
  #tl_product .s-inner { display: block;  }
  #tl_product .s-inner > div { display: block;  }
  #tl_product .cont { width: 100%; margin-top: 5%;  }
  #tl_product .mtit .t2 { width: 55%; }
  #tl_product .cont > div  { max-height: 38vw; }
}

@media all and (max-width:767px) {
  #tl_product::before { width: 80vw; height: 80%; }
  #tl_product .s-inner > div { padding: 0; }
  #tl_product .cont > div  { width: calc((100% - 20px) / 2); max-height: 40vw; margin-left: 10px; }
  #tl_product .cont > div a dl dt { font-size: 18px; font-weight: 800; padding-bottom: 10px }
#tl_product .cont > div a dl dd { font-size: 14px }
}


@media all and (max-width:568px) {
    #tl_product { padding-top: 0; padding-bottom: 10%;  }
    #tl_product::before { width: 100vw; height: 35%; top: inherit; bottom:0; }
    #tl_product .mtit { position: absolute; top: 0; left:0; width: 48%; margin-top: 7%;  }
    #tl_product .mtit .t1 { color:#212121 !important; }
    #tl_product .mtit .t2 { color:#888; width: 100%; }
    #tl_product .cont { width: 100%; float: right; margin-top:0;  }
    #tl_product .cont > div  { width: calc(50% - 5px); float: right; margin: 5px 0 5px 10px; max-height: 58vw;  }
    #tl_product .cont > div:nth-child(odd) { margin-left:0; }
    #tl_product .cont > div.m-img02 { clear: both; }
    #tl_product .cont > div a dl dd { font-size: 14px }
}

@media all and (max-width:480px) {
  #tl_product .mtit { margin-top: -25px; }
  #tl_product .mtit .t1 { margin-bottom: 0.5em; }
  #tl_product .mtit .t2 { line-height: 1.65; font-size:16px; }
  #tl_product .cont > div a dl { padding: 2em 1.5em; }
}



    
    
#tl_product .mtit .en { color:#00aeef;  }
#tl_product .mtit .t1 { font-size: 50px; line-height: 1.25em; font-weight: 800; margin: 0.5em 0 1em; color:#fff; word-break: keep-all; max-width: 500px }
#tl_product .mtit .t1 span { font-weight: bold}    


@media all and (max-width:1280px) {
  #tl_product .mtit .t1 { font-size: 2.6rem; }
}

@media all and (max-width:568px) {
  #tl_product .mtit .t1 { font-size: 30px; margin: 0.5em 0 0.7em; line-height: 1.2em; }
}    
    
    
.section01 { background: #f5f5f5; padding: 150px 0; z-index: 2; position: relative;}
.section01 .tit_wrap h2 *,
.section01 .tit_wrap h2 {text-align: left; padding-bottom:0.8em; font-size: 80px; color: #fff;}
.section01.inner .cont_wrap {max-width: 1600px}
.section01 .cont_wrap { display: flex; flex-wrap: wrap;height: auto; padding: 0}
.section01 .cont_wrap a { flex: 1 1 25%; box-sizing: border-box;  padding: 10px; text-align: center;}
.section01 .cont_wrap .img {margin-bottom: 10px;}
.section01 .cont_wrap img { width: 100%; height: auto; display: block;} 
.section01 .cont_wrap > a .img {overflow: hidden; position: relative;  width: 100%; border-radius: 10px}
.section01 .cont_wrap > a .img img { width: 100%; height: auto; display: block;}
.section01 .cont_wrap > a .img::before { transition: all 0.5s;  display: inline-block; content: '';width: 100%;  height: 100%; position: absolute; left: 0; top: 0; background: rgba(0, 0, 0, 0.6); opacity: 0;}
.section01 .cont_wrap p{font-size:20px;margin-top:30px; text-align: center; font-weight: 800; }
.section01 .cont_wrap:hover a:not(:hover) .img::before { opacity: 1;}
.section01 .cont_wrap > a .img:hover:before{-webkit-transform:scale(1.05); -moz-transform:scale(1.05);  -o-transform:scale(1.05);  transform:scale(1.05);}
.section01 .cont_wrap > a .img:hover{box-shadow: 15px 18px 40px rgba(0, 0, 0, 0.3); -webkit-box-shadow: 15px 18px 40px rgba(0, 0, 0, 0.3)  ;-moz-box-shadow: 15px 18px 40px rgba(0, 0, 0, 0.3)  ; }
    
.section01 .cont_wrap + .tit_wrap {padding-top: 180px;}
.section01 .banner_txt {padding-bottom: 140px !important;}
.section01 .banner_txt p {color: #fff !important;}
    
    @media (max-width: 1200px) {
      .section01 .cont_wrap a {
        flex: 1 1 33.333%; /* 세 개의 아이템이 한 줄에 있도록 설정 */
      }
    }

    @media (max-width: 900px) {
      .section01 {padding: 50px 0;}    
      .section01 .cont_wrap a {
        flex: 1 1 50%; /* 두 개의 아이템이 한 줄에 있도록 설정 */
      }
    }

    @media (max-width: 600px) {
      .section01 .cont_wrap a {
        flex: 1 1 100%; /* 한 개의 아이템이 한 줄에 있도록 설정 */
        padding: 10px 0
      }
   }
    
    
.audioTitle { display: flex; align-items: flex-start; gap:150px; /* Optional: adds some space between the h3 and dl */}
.audioTitle h3 {  margin: 0; /* Remove default margin */}
.audioTitle dl {  margin:0  }
@media (max-width: 768px) {
    .audioTitle  { display: block}
    
}
     

    
.section02 { background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('0../img/section02_bg.jpg');  background-size:cover; color:#FFF; padding: 150px 50px }   
.section02 .audioTitle h3 {text-align: left; padding-bottom:0.8em; font-size: 80px;}
.section02 .audioTitle dt { font-size: 25px; color: #fff; font-weight: 600; padding-top: 10px}
.section02 .audioTitle dd { font-size: 18px; color: #fff; opacity: 0.8; font-weight: 400; max-width:648px; line-height: 1.65; padding-top: 20px}    

.section02 ul {display:flex; border-right:1px dashed rgba(255,255,255,0.2)}
.section02 ul li {padding:50px; width:25%; border-left:1px dashed rgba(255,255,255,0.2)}
.section02 ul li i { font-size: 30px; padding-bottom: 10px}
.section02 ul li a {color:#FFF}
.section02 ul li img {padding-bottom:70px;}
.section02 ul li dl dt {font-size:2.6rem; font-weight:500}
.section02 ul li dl dd {opacity:0.8; line-height:1.8em; word-break: keep-all;  font-size:18px }
.section02 ul li dl .eng {margin:1em 0; opacity:0.5; font-size: 22px;  font-weight:500}
.section02 ul li a:hover {color:#68d7b4; }
.section02 ul li a:hover dt {transition: all 0.1s ease-out; text-decoration:underline; text-decoration-thickness:1px }
.section02 ul li a:hover dd { opacity:1;}

@media all and (max-width:1599px) {
	.section02 ul li {padding:30px;}
}
@media all and (max-width:1340px) {
	.section02 ul li dl dd br.br1340 {display:none}
}
@media all and (max-width:1299px){
	.section02 .audioTitle h3 {padding-bottom:1em; font-size: 40px}
    .section02 .audioTitle dd { font-size: 16px}
	.section02 ul li dl dd br {display:none}
}
@media all and (max-width:1190px){
	.section02 ul li img {padding-bottom:50px;}
	.section02 ul li dl dd { font-size:16px; line-height:1.65;}
}
@media all and (max-width:976px){
	.section02 ul {flex-wrap:wrap}
	.section02 ul li { width:50%; padding:1.5em}
	.section02 ul li:nth-child(1), 
	.section02 ul li:nth-child(2) {border-bottom:1px dashed rgba(255,255,255,0.2)}
	.section02 ul li img {padding-bottom:30px;}
}
@media all and (max-width:480px){
    .section02 ul { border-right: 0}
    .section02 ul li { border-left: 0}
    .section02 ul li { width:100%; padding:50px 0}
	.section02 ul li dl dd { font-size:16px; line-height:1.65;}
    .section02 ul li dl dt { font-size: 25px}
}


    
    
.section03 { width: 100%; padding: 150px 0 0; }
.section03 .inner {width: 100%;  display: flex; justify-content: space-between; flex-wrap: wrap}
.section03 .left { width: 40%}
.section03 .left h2 { text-align: left; font-size:50px; font-weight: 800}
.section03 .right { width: 60%}
.section03 .right p {word-break:keep-all; font-size:20px; line-height:1.65; color:#555; font-weight: 500; text-align: left }

@media all and (max-width:768px){
    .section03 { width: 100%; padding: 50px 0 0; }
    .section03 .left h2 { font-size: 32px; padding-bottom: 20px}
    .section03 .inner { display: block}
    .section03 .left { width: 100%}
    .section03 .right { width: 100%}
    .section03 .right p { font-size: 16px}
   
}
    

/* 기본 스타일 (모바일 우선) */

.section04 {overflow: hidden;background: url(../img/madam_bg.jpg) no-repeat center / cover; }
    .section04 .left h2 { text-align: left; font-size: 32px; padding-bottom: 20px}
    .section04 .inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; max-width: 1600px; margin: 0 auto; padding: 0 20px; }
    .section04 .left { width: 100%; padding: 30px 0;}
    .section04 .right { width: 100%}
    .section04 .right p { font-size: 16px}
.section04 .swiper-container { padding: 50px 0;  max-width: 100%; margin: 0 auto;}
.section04 .swiper-wrapper { display: flex; flex-direction: column; gap: 20px;}
.section04 .swiper-slide { width: 100%; height: 300px; border-radius: 10px; transition: all 0.5s ease;overflow: hidden;}
.section04 .swiper-slide.slide1 { background: url(../img/section03_img01.jpg) no-repeat center / cover; }
.section04 .swiper-slide.slide2 { background: url(../img/section03_img02.jpg) no-repeat center / cover; }
.section04 .swiper-slide.slide3 { background: url(../img/section03_img03.jpg) no-repeat center / cover; }
.section04 .swiper-slide.slide4 { background: url(../img/section03_img04.jpg) no-repeat center / cover; }
.section04 .swiper-slide.slide5 { background: url(../img/section03_img05.jpg) no-repeat center / cover; }
.section04 .swiper-slide.slide6 { background: url(../img/section03_img06.jpg) no-repeat center / cover; }
.section04 .swiper-slide.slide7 { background: url(../img/section03_img07.jpg) no-repeat center / cover; }
.section04 .swiper-slide a {display: block;  position: relative; height: 100%; border-radius: 10px;}
.section04 .swiper-slide a::before { content: ''; position: absolute;top: 0; right: 0; bottom: 0;left: 0; background: rgba(0, 0, 0, 0.5); transition: background 0.5s ease;}
.section04 .swiper-slide.active {height: 500px;}
.section04 .swiper-slide.active a::before { background: rgba(0, 0, 0, 0.3);}

.section04 .txt_wrap { position: absolute; top: 50px; left: 30px; right: 30px; bottom: 0; z-index: 1; color: #FFF; transition: all 0.5s ease; }
.section04 .txt_wrap .en { font-size: 18px; font-weight: 500; line-height: 1.4; }
.section04 .txt_wrap .tit { display: block; margin-top: 10px; font-size: 32px; font-weight: 500; line-height: 1.2; letter-spacing: -0.5px; }
.section04 .txt_wrap .desc { max-height: 0; opacity: 0; overflow: hidden; transition: all 0.5s ease; }
.section04 .txt_wrap .desc p { font-size: 16px; line-height: 1.5; }
.section04 .swiper-slide.active .txt_wrap .desc { max-height: 200px; opacity: 1; margin-top: 20px; }
.section04 .txt_wrap .btn_more { position: absolute; bottom: 30px; right: 0; opacity: 0; transition: opacity 0.5s ease; }
.section04 .swiper-slide.active .txt_wrap .btn_more { opacity: 1; }

/* 태블릿 스타일 */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .section04 .swiper-slide {
        height: 400px;
    }

    .section04 .swiper-slide.active {
        height: 600px;
    }
}

/* 데스크톱 스타일 */
@media screen and (min-width: 1024px) {
    .section04 .swiper-container {
        max-width: 1600px;
        padding: 98px 0;
    }

    .section04 .swiper-wrapper {
        flex-direction: row;
        gap: 20px;
        height: 570px;
    }

    .section04 .swiper-slide {
        width: calc((100% - 40px) / 3);
        height: 100%;
    }

    .section04 .swiper-slide.active {
        width: 50%;
        height: 100%;
    }

    .section04 .swiper-slide:not(.active) {
        width: calc((100% - 50% - 40px) / 2);
    }

    .section04 .txt_wrap {
        top: 100px;
        left: 40px;
        right: 40px;
    }

    .section04 .txt_wrap .en {
        font-size: 24px;
    }

    .section04 .txt_wrap .tit {
        font-size: 36px;
        margin-top: 20px;
    }

    .section04 .txt_wrap .desc p {
        font-size: 18px;
    }

    .section04 .swiper-slide.active .txt_wrap .desc {
        max-height: none;
    }

	.section04 .left { width: 40%}
    .section04 .left h2 { font-size:50px; font-weight: 800}
    .section04 .right { width: 60%}
    .section04 .right p {word-break:keep-all; font-size:20px; line-height:1.65; color:#555; font-weight: 500; text-align: left }

}

/* 대형 데스크톱 스타일 */
@media screen and (min-width: 1600px) {

    .section04 {padding: 150px 0;}
	.section04 .inner {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; max-width: 1600px; margin: 0 auto; padding: 0 20px; }
	.section04 .left { width: 40%}
    .section04 .left h2 { text-align: left;font-size:50px; font-weight: 800}
    .section04 .right { width: 60%}
    .section04 .right p {word-break:keep-all; padding-top: 20px;font-size:20px; line-height:1.65; color:#555; font-weight: 500; text-align: left }

    .section04 .swiper-wrapper {
        gap: 40px;
    }

    .section04 .swiper-slide {
        width: calc((100% - 80px) / 3);
    }

    .section04 .swiper-slide.active {
        width: 50%;
    }

    .section04 .swiper-slide:not(.active) {
        width: calc((100% - 50% - 80px) / 2);
    }

    .section04 .txt_wrap {
        left: 60px;
        right: 60px;
    }

    .section04 .txt_wrap .tit {
        font-size: 48px;
    }
}


/* 기본 스타일 (모바일 우선) */

.section004 {overflow: hidden;background: url() no-repeat center / cover; }
    .section004 .left h2 { text-align: left; font-size: 32px; padding-bottom: 20px; color: #FFF;}
    .section004 .inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; max-width: 1600px; margin: 0 auto; padding: 0 20px; }
    .section004 .left { width: 100%; padding: 0px 0;}
    .section004 .right { width: 100%; color: #FFF;}
    .section004 .right p { font-size: 16px; color: #FFF;}
.section004 .swiper-container { padding: 50px 0;  max-width: 100%; margin: 0 auto;}
.section004 .swiper-wrapper { display: flex; flex-direction: column; gap: 20px;}
.section004 .swiper-slide { width: 100%; height: 300px; border-radius: 10px; transition: all 0.5s ease;overflow: hidden;}
.section004 .swiper-slide.slide1 { background: url(../img/section03_img07.jpg) no-repeat center / cover; }
.section004 .swiper-slide.slide2 { background: url(../img/section03_img05.jpg) no-repeat center / cover; }
.section004 .swiper-slide.slide3 { background: url(../img/section03_img06.jpg) no-repeat center / cover; }
.section004 .swiper-slide.slide4 { background: url(../img/section03_img04.jpg) no-repeat center / cover; }
.section004 .swiper-slide.slide5 { background: url(../img/section03_img05.jpg) no-repeat center / cover; }
.section004 .swiper-slide.slide6 { background: url(../img/section03_img06.jpg) no-repeat center / cover; }
.section004 .swiper-slide.slide7 { background: url(../img/section03_img07.jpg) no-repeat center / cover; }
.section004 .swiper-slide a {display: block;  position: relative; height: 100%; border-radius: 10px;}
.section004 .swiper-slide a::before { content: ''; position: absolute;top: 0; right: 0; bottom: 0;left: 0; background: rgba(0, 0, 0, 0); transition: background 0.5s ease;}
.section004 .swiper-slide.active {height: 500px;}
.section004 .swiper-slide.active a::before { background: rgba(0, 0, 0, 0.3);}

.section004 .txt_wrap { position: absolute; top: 50px; left: 30px; right: 30px; bottom: 0; z-index: 1; color: #FFF; transition: all 0.5s ease; }
.section004 .txt_wrap .en { font-size: 18px; font-weight: 500; line-height: 1.4; }
.section004 .txt_wrap .tit { display: block; margin-top: 10px; font-size: 32px; font-weight: 500; line-height: 1.2; letter-spacing: -0.5px; }
.section004 .txt_wrap .desc { max-height: 0; opacity: 0; overflow: hidden; transition: all 0.5s ease; }
.section004 .txt_wrap .desc p { font-size: 16px; line-height: 1.5; }
.section004 .swiper-slide.active .txt_wrap .desc { max-height: 200px; opacity: 1; margin-top: 20px; }
.section004 .txt_wrap .btn_more { position: absolute; bottom: 30px; right: 0; opacity: 0; transition: opacity 0.5s ease; }
.section004 .swiper-slide.active .txt_wrap .btn_more { opacity: 1; }

/* 태블릿 스타일 */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .section004 .swiper-slide {
        height: 400px;
    }

    .section004 .swiper-slide.active {
        height: 600px;
    }
}

/* 데스크톱 스타일 */
@media screen and (min-width: 1024px) {
    .section004 .swiper-container {
        max-width: 1600px;
        padding: 98px 0;
    }


    .section004 .left { width: 100%}

    .section004 .swiper-wrapper {
        flex-direction: row;
        gap: 20px;
        height: 570px;
    }

    .section004 .swiper-slide {
        width: calc((100% - 40px) / 3);
        height: 100%;
    }

    .section004 .swiper-slide.active {
        width: 50%;
        height: 100%;
    }

    .section004 .swiper-slide:not(.active) {
        width: calc((100% - 50% - 40px) / 2);
    }

    .section004 .txt_wrap {
        top: 100px;
        left: 40px;
        right: 40px;
    }

    .section004 .txt_wrap .en {
        font-size: 24px;
    }

    .section004 .txt_wrap .tit {
        font-size: 36px;
        margin-top: 20px;
    }

    .section004 .txt_wrap .desc p {
        font-size: 18px;
    }

    .section004 .swiper-slide.active .txt_wrap .desc {
        max-height: none;
    }

	.section004 .left { width: 40%}
    .section004 .left h2 { font-size:50px; font-weight: 800}
    .section004 .right { width: 60%}
    .section004 .right p {word-break:keep-all; font-size:20px; line-height:1.65; color: #FFF; font-weight: 500; text-align: left }

}

/* 대형 데스크톱 스타일 */
@media screen and (min-width: 1600px) {

    .section004 {padding: 150px 0;}
	.section004 .inner {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; max-width: 1600px; margin: 0 auto; padding: 0 20px; }
	.section004 .left { width: 40%}
    .section004 .left h2 { font-size:50px; font-weight: 800}
    .section004 .right { width: 60%}
    .section004 .right p {word-break:keep-all; padding-top: 20px;font-size:20px; line-height:1.65; color: #FFF; font-weight: 500; text-align: left }

    .section004 .swiper-wrapper {
        gap: 40px;
    }

    .section004 .swiper-slide {
        width: calc((100% - 80px) / 3);
    }

    .section004 .swiper-slide.active {
        width: 50%;
    }

    .section004 .swiper-slide:not(.active) {
        width: calc((100% - 50% - 80px) / 2);
    }

    .section004 .txt_wrap {
        left: 60px;
        right: 60px;
    }

    .section004 .txt_wrap .tit {
        font-size: 48px;
    }
}







 
.section05{width:100%;height:883px;margin:0px 0}
.section05 .inner{display:flex;justify-content:space-between;flex-wrap:wrap;width:100%;padding:150px 0px}
.section05 .left { width: 70%;}
.section05 .left h2{font-size:70px;color:#fff;font-weight:700;text-align:left;}
.section05 .left span { color: #ed6e00;text-align:left;}
.section05 .left p{font-size:18px;color:#fff;font-weight:500;max-width:500px;word-break:keep-all;line-height:1.65;margin-top:20px;text-align:left;}
.section05 .right { width: 30%; }
.section05 .right ul li span{font-size:70px;color:#fff;font-weight:700}
.section05 .right ul li{font-size:20px;font-weight:500;color:#fff;letter-spacing:-1px;text-align:left;padding-bottom:50px}

@media screen and (max-width: 768px) {
    .section05 {margin:0px 0}
    .section05 .inner { display: block; padding: 50px 20px}
    .section05 .left {width: 100%; padding-bottom: 50px}
    .section05 .left h2 { font-size: 45px}
    .section05 .left p {font-size: 16px}
    .section05 .right {width: 100%}
    .section05 .right ul li span { font-size: 40px}
}


    
.section06 {
    padding: 100px 0 150px 0;
}

.section06 h2 {
    text-align: center;
    font-weight: bold;
    font-size: 55px;
    margin-bottom: 80px;
}

.section06 .service .rolling-bn .loop-cont .banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 2.1111111111rem 4.3333333333rem;
    height: 7.3333333333rem;
    border-radius: 10px;
    background: #f6f6f9;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.section06 img {
    vertical-align: middle;
    max-width: 100%;
    width: auto;
}

.section06 .sect.rolling-bn {
    overflow: hidden;
    padding: 20px 0;
}

.section06 h3.fs-3 {
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
    font-size: 50px;
    margin-bottom: 80px;
    letter-spacing: -1px;
}

.section06 .loop-cont {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 20px;
}

.section06 .banner-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    animation: slide 30s linear infinite;
    width: 200%; /* 슬라이드 리스트 너비를 200%로 설정하여 자연스럽게 이어지도록 */
}

.section06 .banner-list.reverse {
    animation: slideReverse 30s linear infinite;
    width: 200%; /* 역방향 슬라이드 리스트도 200%로 설정 */
}

.section06 .banner {
    flex: 0 0 auto;
    margin: 0 10px;
    width: 250px;
    height: 280px;
    line-height: 80px;
    text-align: center;
}

@keyframes slide {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%); /* 리스트의 절반만 이동 */
    }
}

@keyframes slideReverse {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(50%); /* 역방향 리스트가 자연스럽게 이어질 수 있도록 설정 */
    }
}

.section06 .loop-cont {
    overflow: hidden;
    width: 100%;
}

.section06 .banner-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: max-content;
}

.section06 .banner-list img {
    max-width: 100%;
    height: auto;
}

.section06 .loop-cont .banner-list {
    animation: slide 30s linear infinite;
}

.section06 .loop-cont .reverse {
    animation: slideReverse 30s linear infinite;
}

@media screen and (max-width: 768px) {
    .section06 {
        padding: 0 0 50px 0;
    }
    .section06 h3.fs-3 {
        font-size: 28px;
        padding-top: 20px;
    }
    .section06 .banner-list {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0;
        animation: slide 15s linear infinite;
    }

    .section06 .banner-list {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0;
        animation: slide 15s linear infinite;
    }

.section06 .loop-cont .banner-list {
    animation: slide 15s linear infinite;
}

.section06 .loop-cont .reverse {
    animation: slideReverse 15s linear infinite;
}

}



/* 섹션 스타일 */
.section031 {
    padding: 100px 0;
    background-color: #f9f9f9;
}

.section031 h3.fs-3 {
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 50px;
}

.section031 .loop-cont {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
}

.section031 .banner-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 200%; /* 슬라이드 리스트의 너비를 200%로 설정 */
    animation: slide031 30s linear infinite; /* 기본 애니메이션 설정 */
}

.section031 .banner-list.reverse {
    animation: slideReverse031 30s linear infinite; /* 역방향 슬라이드 애니메이션 */
}

.section031 .banner {
    flex: 0 0 20%; /* 각 슬라이드의 크기 */
    padding: 0 10px;
}

.section031 .banner img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

/* 슬라이드 애니메이션 */
@keyframes slide031 {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%); /* 리스트의 절반만 이동 */
    }
}

@keyframes slideReverse031 {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(50%); /* 역방향 리스트가 절반만 이동 */
    }
}

/* 반응형 디자인 */
@media screen and (max-width: 768px) {
    .section031 h3.fs-3 {
        font-size: 28px;
        margin-bottom: 30px;
    }

    .section031 .banner {
        flex: 0 0 50%; /* 모바일에서는 슬라이드 크기를 50%로 조정 */
    }

    .section031 .banner-list {
        animation: slide031 20s linear infinite; /* 모바일에서 애니메이션 속도 조정 */
    }

    .section031 .banner-list.reverse {
        animation: slideReverse031 20s linear infinite; /* 역방향도 동일하게 조정 */
    }
}








    
    
.section07 { padding: 150px 0px; margin:  0;  text-align: center; overflow: hidden; ;background-image:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url(../img/section07_img01.jpg); background-size: cover; position: relative; background-attachment: fixed; }
.section07 h2 { font-size: 50px; color: #fff; line-height: 30px; font-weight: 600; margin-bottom: 20px }
.section07 p { display: block; font-size: 18px; color: #EBEBEB; line-height: 23px; padding: 20px; word-break: keep-all; }
.section07 ul { display: flex; justify-content: space-between; width: 100%; vertical-align: middle; margin-top: 80px; padding: 0; list-style: none; }
.section07 ul li { display: flex; flex: 1; justify-content: center; box-sizing: border-box; padding: 0 10px; }
.section07 .box{display:block;text-align:center;text-decoration:none;color:inherit;position:relative;z-index:1;padding:8em 4em;transition:background .3s}
.section07 .box i { color: #fff;}    
.section07 .box:hover { background: linear-gradient(-45deg, #cc3f86, #572379); border-radius: 10px}
.section07 .box_icon{font-size:3em;margin-bottom:10px;z-index:1;position:relative}
.section07 .box_tit{font-size:30px;margin-bottom:10px;color:#fff;font-weight:700;z-index:1;position:relative}
.section07 .box_cont{font-size:18px;color:#fff;opacity:.8;font-weight:400;padding-top:20px;z-index:1;position:relative;line-height:1.6; word-break: keep-all}
.section07 .box_cont i { color: #fff;}    

@media screen and (max-width: 683px) {
    .section07 .main_title_01 .txt_ko {
        font-size: 1.5em;
    }
    .section07 .b3_box .box {
        padding: 2em 1em;
    }
    .section07 .b3_box .box > .box_tit {
        font-size: 1.2em;
    }
}
    
@media (max-width: 1200px) {
    .section07 ul {  display: block}
    .section07 ul li {
        flex-basis: 25%; /* 한 줄에 네 개씩 배치 */
    }
}

/* 중간 크기 화면에서 (예: 태블릿) */
@media (max-width: 1024px) {
    .section07 h2 { font-size: 32px}
    .section07 ul li {
        flex-basis: 33.33%; /* 한 줄에 세 개씩 배치 */
    }
}

/* 작은 화면에서 (예: 작은 태블릿) */
@media (max-width: 768px) {
    .section07 ul li {
        flex-basis: 50%; /* 한 줄에 두 개씩 배치 */
    }
}

/* 아주 작은 화면에서 (예: 휴대폰) */
@media (max-width: 480px) {
    .section07 ul li {
        flex-basis: 100%; /* 한 줄에 하나씩 배치 */
        padding: 10px 0; /* 상하 여백 추가 */
    }
	.section07 .box_cont {
		font-size: 16px
		
	}
}
    
.section08 { width:100%; padding:100px 0;  background-color:#f3f3f3;}
.section08 .inner{width: 100%;/* border-radius: 20px; */ display: flex; justify-content: space-between; flex-wrap: wrap;}
.section08 .event01 { width:40%}
.section08 .event02 { width:60%}
.section08 .event .top{ clear:both}
.section08 .event .bottom { clear:both}
.section08 .event01 h2 { font-size:70px; font-weight:bold; color:#000; float:left}
.section08 .event01 h3 { font-size:30px; font-weight:500; color:#333; float:left; line-height:1.1; padding:8px 0 0 5px} 
.section08 .event01 p { font-size:18px; color:#555; font-weight:400; padding-top:20px; display:inline-block; max-width:500px; word-break:keep-all; line-height:1.5}

@media screen and (max-width: 978px) {
	.section08 .event{ width:100%}
	.section08 .event .top { padding-bottom:20px}
}

    

.location {position:relative}
.location .contWrap { padding:4em 3em; background:rgba(95,152,120,0.95); color:#FFF; text-align:center;position:absolute; left:19%; top:50%; transform:translateY(-50%); z-index:3 }
.location .contWrap h3 { font-size:32px; color:#FFF; ; font-weight:700; text-align: left}
.location .contWrap .add {margin:1em 0 0.5em; font-size:20px }
.location .contWrap .tel {font-size:23px; color:#ffee2d; font-weight:800; text-align: left }
.location .contWrap .tel i {padding-right:0.3em; font-size:2.2rem; }
.location .contWrap ul {margin-top:1.5em; padding-top:1.5em; border-top:1px solid rgba(255,255,255,0.2); display:flex;  text-align:left; }
.location .contWrap ul li.t {width:100px;  font-size:22px;  font-weight:normal}
.location .contWrap ul li.c {width:calc(100% - 100px);font-size:18px; line-height: 1.6}
.location .contWrap ul li.c dl {display:flex}
.location .contWrap ul li.c dl dt { width:80px;}
.location .contWrap ul li.c dl dd { width:calc(100% - 80px);}

.location #mMap .root_daum_roughmap .wrap_controllers { display:none }
.location #mMap .root_daum_roughmap .wrap_map {height: 610px !important;}

@media all and (max-width:1599px) {
	.location .contWrap { left:5% }
}
@media all and (max-width:1399px) {
	#mEquip { background-size:auto 70%}
	#mEquip #mTitle h3 {display:block }
	#mEquip #mTitle h3 .t1 {padding:0 0 0.3em 0}
}
@media all and (max-width:1280px) {
	.location {display:flex; height:480px}
	.location .contWrap {width:450px; position:inherit; transform:translateY(0); left:0; top:0}
	.location #mMap {width:calc(100% - 450px);}
	.location #mMap .root_daum_roughmap .wrap_map {height: 480px !important;}
}
@media all and (max-width:976px) {
	.location {flex-wrap:wrap; height:auto}
	.location .contWrap {width:100%}
	.location .contWrap ul  {width:350px; margin:1.5em auto 0}
	.location #mMap {width:100%}
	.location #mMap .root_daum_roughmap .wrap_map {height: 480px !important;}
}
@media all and (max-width:640px) {
	.location .contWrap { padding:2.5em; }
	.location #mMap .root_daum_roughmap .wrap_map {height: 380px !important;}
}
@media all and (max-width:520px) {
	#mEquip #mTitle  {width:90%}
	#mEquip #mTitle h3 br {display:none}
}
@media all and (max-width:480px) {
	#mEquip .equipSlide {width:80%; margin:0 auto}
}

    


.section003 .s1_text_box {padding: 150px 0 100px;}
.section003 .s1_text_box h2 {font-size: 48px;}
.section003 .s1_text_box h3 {font-size: 28px;}
.section003 .s1_text_box p {font-size: 18px; line-height: 1.6; color:#555; padding-top: 20px; max-width:475px; word-break:keep-all;}
.section003 .s1_img_wrap {display: flex; justify-content: center; gap: 2%; border-radius: 20px;}
.section003 .s1_img_wrap img {width: 100%; border-radius: 10px;}
.section003 .s1_img_box01 {width: 100%; display: flex; flex-direction: column; align-items: center; gap: 3%;}
.section003 .s1_img_box02 {width: 100%; padding: 60px 0;}
.section003 .s1_img_box03 {width: 100%;}
.section003 .swiper-container .s1_img_box03 {width: 100%;}
.section003 .left h2 {font-size: 32px; padding-bottom: 20px;}
.section003 .inner {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; max-width: 1600px; margin: 0 auto; padding: 0 20px; }
.section003 .left, .section003 .right {width: 100%;}
.section003 .right p {font-size: 16px;}

/* 미디어 쿼리: 화면 너비 768px 이하 */
@media all and (max-width:768px) {
    .section003 .s1_img_wrap {flex-wrap: wrap;}
    .section003 .s1_img_box01 > img:first-child {padding-bottom: 60px;}
    .section003 .s1_text_box h2 {font-size: 32px;}
    .section003 .s1_text_box h3 {font-size: 22px;}
    .section003 .s1_text_box {padding: 50px 0;}
    .section003 .s3_text_wrap h2 {font-size: 38px;}
    .section003 .s3_text_wrap, .s3_wrap .photo {width: 100%;} 
}

/* 섹션 2 스타일 */
.section003 .s2_wrap {width: 100%; height: 840px; background-color: #f2f2f9; position: relative; margin-bottom: 400px;}
.section003 .s2_wrap > .inner {display: flex; flex-wrap: wrap; justify-content: center; gap: 3%; padding-top: 135px;}
.section003 .s2_text_wrap {width: 31%; margin-top: 10%;}
.section003 .s2_text_wrap h2 {font-size: 48px; font-weight: 600; letter-spacing: -1px;}
.section003 .s2_text_wrap p {font-size: 17px; line-height: 1.6; padding-top: 20px; color: #555; word-break: keep-all;}
.section003 .s2_img_wrap {display: flex; align-items: center; flex-wrap: wrap; max-width: 887px; gap: 30px;}
.section003 .s2_img_box {width: 100%; display: flex; justify-content: space-between;}
.section003 .left h2 {font-size: 45px;}
.section003 .left p, .section003 .right ul li span {font-size: 16px;}

/* 미디어 쿼리: 화면 너비 1404px 이하 */
@media all and (max-width:1404px) {
    .section003 .s2_wrap {margin-bottom: 60%;}
    .section003 .s2_text_wrap {width: 100%; max-width: 887px; padding-bottom: 30px;}
    .section003 .s2_img_wrap img:first-child {width: 100%;}
    .section003 .s2_img_box img:first-child {width: 33%;}
    .section003 .s2_img_box img:last-child {width: 63%;}
}

/* 섹션 3 스타일 */
.section003 {padding-bottom: 150px; background: url(../img/madam_bg.jpg) no-repeat center / cover;}
.section003 .s3_wrap {height: 420px; background: #000; width: 100%; position: relative; margin-bottom: 300px;}
.section003 .s3_wrap > .inner {display: flex; flex-wrap: wrap; align-content: center; justify-content: center; align-items: center;}
.section003 .s3_wrap img {width: 45%; padding-bottom: 15%;}
.section003 .s3_text_wrap {color: #fff; width: 55%;}
.section003 .s3_text_wrap h2 {font-size: 48px;}
.section003 .s3_text_wrap p {font-size: 17px; color: #fff; opacity: 0.8; line-height: 1.6; padding-top: 20px;}
.section003 .s3_text_wrap .more a {display: block; width: 190px; font-size: 14px; color: #fff; line-height: 40px; margin-top: 20px; padding-right: 40px; background-image: url(../img/w_arrow_latest.png); background-repeat: no-repeat; background-position: 80px center; transition: all 0.2s;}
.section003 .s3_text_wrap .more a:hover {padding-right: 12px; transition: all 0.3s;}
.section003 .s3_wrap .photo {width: 45%; margin-top: -150px; position: relative;}
.section003 .s3_wrap .photo img {width: 90%;}

/* 미디어 쿼리: 화면 너비 830px 이하 */
@media all and (max-width:830px) {
    .section003 .s3_wrap {height: auto; padding-bottom: 100px;}
}

/* 미디어 쿼리: 화면 너비 576px 이하 */
@media all and (max-width:576px) {
    .section003 {padding-bottom: 50px;}
}



/*section301*/



.section301 {width:100%;}
.section301 h2 {max-width:560px; overflow:hidden; font-size:36px; color:#000; font-weight:200; letter-spacing: -1px; word-break:keep-all; padding-left:5px}
.section301 .point {color:#2253b8; display:inline-block}
.section301 p { display:block; padding:20px 20px 20px 0px; color:#555; font-size:17px; line-height:1.6; max-width:650px; word-break:keep-all;  padding-left:5px}
.section301  {padding: 150px 0 }
.section301 .btn_area { margin-top: 40px;}
.section301 .drag_slider { position: relative;}
.section301 .drag_slider .swiper-slide {  opacity: 0.3; transition: opacity 0.4s ease-in-out; -webkit-transition: opacity 0.4s ease-in-out;}
.section301 .drag_slider .swiper-slide .img_box { overflow: hidden; border-radius:20px; }
.section301 .drag_slider .swiper-slide .img_box img { transition: transform 0.6s ease-in-out; -webkit-transition: transform 0.6s ease-in-out; }
.section301 .drag_slider .swiper-slide:hover .img_box img { transform: scale(1.1); -webkit-transform: scale(1.1); }
.section301 .drag_slider .swiper-slide-active,
.section301 .drag_slider .swiper-slide-next {opacity: 1;}
.section301 .drag_slider .txt_box { padding: 20px 0px 0px 0px}
.section301 .drag_slider .txt_box h2 {display: block;font-size: 22px; line-height: 1.6; color: #000; font-weight:500; letter-spacing:0;}
.section301 .drag_slider .txt_box p {color: #555; padding:0 0 20px 5px;font-size: 17px; line-height: 1.6; word-break: keep-all; }
.section301 .drag_slider .swiper-button-prev { top: auto;bottom: 0; left: -78px;transform: translateY(50%);-webkit-transform: translateY(50%); outline: none;color: #333 }
.section301 .drag_slider .swiper-button-next { top: auto; bottom: 0;right: -78px;transform: translateY(50%);-webkit-transform: translateY(50%);outline: none; color: #333 }
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after { display:none}
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after { display:none}
.section301 .drag_slider .swiper-scrollbar { margin-top: 67px; display: block; position: static; width: 100%; max-width: 1400px; height: 2px; background-color: #dcdcdc; }
.section301 .drag_slider .swiper-scrollbar-drag { margin-top: -1px;height: 2px;background-color: #000}


@media screen and (max-width: 768px) {
	.section301 .drag_slider .swiper-slide-next + .swiper-slide{opacity: 1;}
}

@media screen and (max-width: 640px) {
	.section301 h2 {font-size:32px}
}



.section011 { 
  background: url("../img/section011_bg.jpg") no-repeat center bottom; /* 수평 중앙, 수직 하단에 배치 */
  background-size: cover;
  padding: 150px 0;
  z-index: 2;
  position: relative;
}
.section011 .tit_wrap h2 *,
.section011 .tit_wrap h2 {color: #fff;}
.section011.inner .cont_wrap {max-width: 1600px}
.section011 .cont_wrap { display: flex; flex-wrap: wrap;height: auto; padding: 0}
.section011 .cont_wrap a { flex: 1 1 25%; box-sizing: border-box;  padding: 10px; text-align: center;}
.section011 .cont_wrap .img {margin-bottom: 10px;}
.section011 .cont_wrap img { width: 100%; height: auto; display: block;} 
.section011 .cont_wrap > a .img {overflow: hidden; position: relative;  width: 100%; border-radius: 10px}
.section011 .cont_wrap > a .img img { width: 100%; height: auto; display: block;}
.section011 .cont_wrap > a .img::before { transition: all 0.5s;  display: inline-block; content: '';width: 100%;  height: 100%; position: absolute; left: 0; top: 0; background: rgba(0, 0, 0, 0.6); opacity: 0;}
.section011 .cont_wrap p{font-size:20px;margin-top:30px; text-align: center; font-weight: 800; }
.section011 .cont_wrap:hover a:not(:hover) .img::before { opacity: 1;}
.section011 .cont_wrap > a .img:hover:before{-webkit-transform:scale(1.05); -moz-transform:scale(1.05);  -o-transform:scale(1.05);  transform:scale(1.05);}
.section011 .cont_wrap > a .img:hover{box-shadow: 15px 18px 40px rgba(0, 0, 0, 0.3); -webkit-box-shadow: 15px 18px 40px rgba(0, 0, 0, 0.3)  ;-moz-box-shadow: 15px 18px 40px rgba(0, 0, 0, 0.3)  ; }
    
.section011 .cont_wrap + .tit_wrap {padding-top: 180px;}
.section011 .banner_txt {padding-bottom: 140px !important;}
.section011 .banner_txt p {color: #fff !important;}


.section011 .t1, .section011 .t2 {
  background-color: rgba(255, 255, 255, 0.8); /* 반투명 흰 배경 */
  padding: 20px; /* 텍스트 주변에 여백 추가 */
  border-radius: 10px; /* 배경을 둥글게 처리 */
  display: block; /* 블록 요소로 설정하여 줄바꿈 적용 */
  color: #333; /* 텍스트 색상 */
  margin: 20px auto; /* 요소 간 간격 및 중앙 정렬 */
  max-width: 80%; /* 텍스트가 너무 넓어지지 않도록 제한 */
  text-align: center; /* 텍스트 중앙 정렬 */
  line-height: 1.6; /* 줄간격 조정 */
}
    
    @media (max-width: 1200px) {
      .section011 .cont_wrap a {
        flex: 1 1 33.333%; /* 세 개의 아이템이 한 줄에 있도록 설정 */
      }
    }

    @media (max-width: 900px) {
      .section011 {padding: 50px 0;}    
      .section011 .cont_wrap a {
        flex: 1 1 50%; /* 두 개의 아이템이 한 줄에 있도록 설정 */
      }
    }

    @media (max-width: 600px) {
      .section011 .cont_wrap a {
        flex: 1 1 100%; /* 한 개의 아이템이 한 줄에 있도록 설정 */
        padding: 10px 0
      }
   }
   
   
   
 .section001 {
  padding: 120px 0;
  background: #f9f9f9;
}
.section001 .sec-title {
  font-size: 42px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 60px;
}
.section001 .grid-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.section001 .grid-wrap .box {
  flex: 1 1 calc(33.333% - 30px);
  background: #fff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
  min-width: 280px;
  transition: all 0.3s ease;
}
.section001 .grid-wrap .box:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.1);
}
.section001 .grid-wrap .box h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #fff;
}
.section001 .grid-wrap .box p {
  font-size: 14px;
  line-height: 1.6;
  color: #fff;
}


/* section00-1 : 카드형 아이콘 + 배경이미지 */
.section001 { padding: 120px 0; background: #f9f9f9; }
.section001 .sec-title { font-size: 42px; font-weight: 800; text-align: center; margin-bottom: 60px; }

.section001 .grid-wrap {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 30px;
}
.section001 .grid-wrap .box {
  position: relative;
  flex: 1 1 calc(33.333% - 30px);
  min-width: 280px;
  height: 220px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  transition: transform .3s ease, box-shadow .3s ease;
  background: #000; /* 로딩 시 깜빡임 방지 */
}

/* 배경 이미지 레이어 */
.section001 .grid-wrap .box .bg{
  position:absolute; inset:0;
  background-size: cover; background-position: center;
  transform: scale(1.02);
  transition: transform .45s ease, opacity .45s ease;
}
/* 어둡게 오버레이 */
.section001 .grid-wrap .box::after{
  content:"";
  position:absolute; inset:0;
  background: none;
}

.section001 .grid-wrap .box .content{
  position: absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding: 24px;
  color:#fff;
}

/* 아이콘 원형 배지 */
.section001 .grid-wrap .box .icon{
  position:absolute; top:18px; left:18px; z-index:3;
  width: 52px; height:52px; border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(4px);
}
.section001 .grid-wrap .box .icon i{ font-size: 26px; color:#fff; }

/* 텍스트 */
.section001 .grid-wrap .box h3{
  font-size: 20px; font-weight: 800; margin: 0 0 8px;
}
.section001 .grid-wrap .box p{
  font-size: 15px; line-height: 1.6; opacity: .95; margin:0;
}

/* 호버 효과 */
.section001 .grid-wrap .box:hover{ 
  transform: translateY(-6px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.14);
}
.section001 .grid-wrap .box:hover .bg{ transform: scale(1.08); opacity: .95; }

/* 반응형 */
@media (max-width: 1200px){
  .section001 .grid-wrap .box{ flex: 1 1 calc(50% - 30px); }
}
@media (max-width: 640px){
  .section001 { padding: 60px 0; }
  .section001 .sec-title { font-size: 28px; margin-bottom: 28px; }
  .section001 .grid-wrap { gap: 16px; }
  .section001 .grid-wrap .box{ flex: 1 1 100%; height: 200px; }
  .section001 .grid-wrap .box .icon{ width:44px; height:44px; }
  .section001 .grid-wrap .box h3{ font-size:18px; }
  .section001 .grid-wrap .box p{ font-size:14px; }
}


.section001 .grid-wrap .box .icon{
  position:absolute; top:18px; left:18px; z-index:3;
  width: 52px; height:52px; border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(4px);
}
.section001 .grid-wrap .box .icon i{ font-size: 26px; color:#fff; }


/* 기본 아이콘 크기 */
.section001 .grid-wrap .box .icon i {
  font-size: 26px;
  color: #fff;
}

/* 태블릿 이하에서 아이콘 크기 줄이기 */
@media (max-width: 768px) {
  .section001 .grid-wrap .box .icon {
    width: 44px;
    height: 44px;
  }
  .section001 .grid-wrap .box .icon i {
    font-size: 20px;
  }
}

/* 아주 작은 모바일에서 더 줄이기 */
@media (max-width: 480px) {
  .section001 .grid-wrap .box .icon {
    width: 36px;
    height: 36px;
  }
  .section001 .grid-wrap .box .icon i {
    font-size: 16px;
  }
}

/* section001 p 기본 */
.section001 .grid-wrap .box p {
  font-size: 15px;
  line-height: 1.6;
  opacity: .95;
  margin: 0;
}

/* 태블릿 이하에서 줄이기 */
@media (max-width: 768px) {
  .section001 .grid-wrap .box p {
    font-size: 12px;
    line-height: 1.5;
  }
}

/* 모바일 (480px 이하)에서 더 줄이기 */
@media (max-width: 480px) {
  .section001 .grid-wrap .box p {
    font-size: 12px;
    line-height: 1.4;
  }
}

/* base */
.section001 .grid-wrap .box .content p{
  font-size:15px; line-height:1.3;background: rgba(0, 0, 0, 0.5); /* 반투명 검정 */  color: #fff; /* 글자색 흰색 */  padding: 10px 10px;
  border-radius: 10px; /* 모서리 둥글게 */
}

/* tablet */
@media (max-width: 768px){
  .section001 .grid-wrap .box .content p{
    font-size:14px; line-height:1.5;
  }
}

/* mobile */
@media (max-width: 480px){
  .section001 .grid-wrap .box .content p{
    font-size:13px; line-height:1.4;
  }
}

@media (max-width: 768px){
  .section001 .grid-wrap .box .content p{
    font-size:14px !important; line-height:1.5 !important;
  }
}
@media (max-width: 480px){
  .section001 .grid-wrap .box .content p{
    font-size:13px !important; line-height:1.4 !important;
  }
}


/* ===== 브랜드 및 자회사 ===== */
.section-brand { padding: 120px 0; background:#fff; }
.section-brand .brand-head { text-align:left; margin-bottom:36px; }
.section-brand .brand-head h2{
  font-size:44px; font-weight:800; letter-spacing:-.5px; margin:0 0 14px;
  position:relative; display:inline-block;
}
.section-brand .brand-head h2::after{
  content:""; display:block; width:64px; height:4px; background:#1e63ff; margin-top:14px; border-radius:4px;
}
.section-brand .brand-head p{ font-size:18px; color:#555; line-height:1.7; }

.section-brand .brand-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
.section-brand .brand-card{
  background:#f3f3f3; border-radius:18px; padding:50px 28px; 
  box-shadow:0 10px 22px rgba(0,0,0,.06);
}
.section-brand .card-title{
  display:flex; align-items:center; gap:10px; font-size:22px; font-weight:800; color:#0b3c7f; margin:0 0 18px;
}
.section-brand .card-title i{ color:#0b3c7f; }

.section-brand .brand-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px; }
.section-brand .brand-list li{ display:flex; gap:14px; align-items:flex-start; }

.section-brand .brand-list .ico{
  flex:0 0 44px; width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#5aa9ff,#393586);
  box-shadow:0 6px 14px rgba(30,99,255,.25);
}
.section-brand .brand-list .ico i{ color:#fff; font-size:18px; }

.section-brand .brand-list .txt strong{ display:block; font-size:16px; color:#0d1b2a; margin-bottom:6px; }
.section-brand .brand-list .txt p{ margin:0; font-size:14px; color:#4a4a4a; line-height:1.6; word-break:keep-all; }

/* hover */
.section-brand .brand-card:hover{ transform:translateY(-4px); transition:.25s; }

/* 반응형 */
@media (max-width: 992px){
  .section-brand .brand-grid{ grid-template-columns:1fr; gap:18px; }
  .section-brand .brand-head h2{ font-size:34px; }
  .section-brand .brand-head p{ font-size:16px; }
}
@media (max-width: 480px){
  .section-brand{ padding:60px 0; }
  .section-brand .brand-list .ico{ width:40px; height:40px; }
  .section-brand .brand-list .txt strong{ font-size:15px; }
  .section-brand .brand-list .txt p{ font-size:13px; line-height:1.5; }
}

.section-brand .card-title {
  display: flex;
  justify-content: center; /* 가운데 정렬 */
  align-items: center;
  gap: 10px;               /* 아이콘과 텍스트 간격 */
  font-size: 22px;
  font-weight: 800;
  color: #0b3c7f;
  margin: 0 0 18px;
  text-align: center;
}


.section-brand .brand-card.card1 {
  background-image: url("../img/brand_bg1.jpg");
}

.section-brand .brand-card.card2 {
  background-image: url("../img/brand_bg2.jpg");
}

.section02 .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px;
}
.section02 .left { width: 40%; }
.section02 .left h2 { font-size: 50px; font-weight: 800; text-align: left; }
.section02 .right { width: 60%; }
.section02 .right .sub_txt { font-size: 20px; line-height: 1.65; color: #fff; font-weight: 500; text-align: left; }

.section02 .right dl {
  text-align: left;   /* 좌측 정렬 */
}
.section02 .right .title_txt {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #fff;
}
.section02 .right .sub_txt {
  font-size: 18px;
  line-height: 1.65;
  color: #fff;
  font-weight: 400;
}


.section02 {
  text-align: center; /* 전체 가운데 정렬 */
}

.section02 .tit_wrap h2 {
  font-size: 80px;
  font-weight: 800;
  margin-bottom: 30px;
}

.section02 .tit_wrap dl {
  margin: 0 auto 60px auto;
  max-width: 800px;
}

.section02 .tit_wrap dt.title_txt {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 15px;
}

.section02 .tit_wrap dd.sub_txt {
  font-size: 18px;
  line-height: 1.6;
  opacity: 0.85;
}

/* 반응형 */
@media (max-width: 992px) {
  .section02 .tit_wrap h2 { font-size: 50px; }
  .section02 .tit_wrap dt.title_txt { font-size: 22px; }
  .section02 .tit_wrap dd.sub_txt { font-size: 16px; }
}

@media (max-width: 576px) {
  .section02 .tit_wrap h2 { font-size: 32px; }
  .section02 .tit_wrap dt.title_txt { font-size: 18px; }
  .section02 .tit_wrap dd.sub_txt { font-size: 14px; }
}

.section02 .inner {
  text-align: center;     /* 중앙 정렬 */
}

.section02 .tit_wrap h2 {
  font-size: 80px;
  font-weight: 800;
  margin-bottom: 30px;
}

.section02 .tit_wrap dl {
  margin: 0 auto 60px auto;
  max-width: 800px;
}

.section02 .tit_wrap dt.title_txt {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 15px;
}

.section02 .tit_wrap dd.sub_txt {
  font-size: 18px;
  line-height: 1.6;
  opacity: 0.85;
}


/* 새로운 중앙 정렬 래퍼 */
.center-wrap {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  padding: 0 20px;
}

/* 제목 영역 */
.center-wrap .tit_wrap h2 {
  font-size: 50px;
  font-weight: 800;
  margin-bottom: 30px;
}

.center-wrap .tit_wrap dl {
  margin: 0 auto 60px auto;
  max-width: 800px;
}

.center-wrap .tit_wrap dt.title_txt {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 15px;
}

.center-wrap .tit_wrap dd.sub_txt {
  font-size: 18px;
  line-height: 1.6;
  opacity: 0.85;
}

/* 리스트 */
.center-wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

.center-wrap ul li {
  flex: 1 1 calc(25% - 30px);
  min-width: 250px;
  color: #fff;
  text-align: center;
}

/* 반응형 */
@media (max-width: 992px) {
  .center-wrap .tit_wrap h2 { font-size: 50px; }
  .center-wrap .tit_wrap dt.title_txt { font-size: 22px; }
  .center-wrap .tit_wrap dd.sub_txt { font-size: 16px; }
  .center-wrap ul li { flex: 1 1 calc(50% - 30px); }
}

@media (max-width: 576px) {
  .center-wrap .tit_wrap h2 { font-size: 32px; }
  .center-wrap .tit_wrap dt.title_txt { font-size: 18px; }
  .center-wrap .tit_wrap dd.sub_txt { font-size: 14px; }
  .center-wrap ul li { flex: 1 1 100%; }
}





.s-inner2 { width: 90%; max-width: 1580px; position: relative;margin-left: auto; margin-right: auto;}    
.s-inner2 h3 { color: #fff; font-size:20px }    
#tl_cont2 { position: relative; padding: 5% 0; text-align: center }
#tl_cont2 .t1 { font-size: 60px; font-weight: bold;  margin: 0.35em 0 0.7em; }
#tl_cont2 .t2 { font-size: 22px; font-weight: 500; color:#212121; }
#tl_cont2 .t3 { font-size: 18px; color:#555; line-height: 1.65; margin-top:20px; }


@media all and (max-width:1280px) {
  #tl_cont2 { padding: 8% 0; }
}

@media all and (max-width:976px) {
  #tl_cont2 img { width: 35px; }
  #tl_cont2 .t1 { font-size: 64px; }
  #tl_cont2 .t2 { font-size: 22px; }
}

@media all and (max-width:767px) {
  #tl_cont2 { padding: 10% 0; }
}
@media all and (max-width:568px) {
  #tl_cont2 { padding: 14% 10%; }
  #tl_cont2 .t3 { font-size: 16px}
  #tl_cont2 .t3 br { display: none; }
}

@media all and (max-width:480px) {
  #tl_cont2 img { width: 30px; }
  #tl_cont2 .t1 { font-size: 3.4rem; }
}

    
#tl_product2 { position: relative; width: 100%; overflow: hidden; padding: 150px 0; }
#tl_product2::before { content:''; width: 45vw; height: calc(100% - 70px); max-width: 1200px; display: block; position: absolute; left:0; top:0; background: url("../img/section07_bg.jpg") no-repeat center; background-size: cover; }
#tl_product2 .s-inner2 { display: table; table-layout: fixed; }
#tl_product2 .s-inner2 > div { display: table-cell; vertical-align: top; }
#tl_product2 .mtit2 { padding-right: 2%; }
#tl_product2 .mtit2 .t2 { color:#fff; opacity: 0.8; font-size: 18px; line-height: 1.65; max-width: 500px; word-break:  keep-all}

#tl_product2 .cont2 { overflow: hidden; width: 65%; }
#tl_product2 .cont2 > div { position: relative; width: calc((100% - 100px) / 3); height: 450px; max-height: 24vw; margin-left: 30px; float: left; background-size: cover; background-repeat: no-repeat; background-position: center; border-radius: 10px}
#tl_product2 .cont2 > div:first-child { margin-left:0; }
#tl_product2 .cont2 > div a { width: 100%; height: 100%; display: block; color:#fff; z-index:10;}
#tl_product2 .cont2 > div a dl { padding: 40px 30px; position: absolute; left:0; bottom:0; }
#tl_product2 .cont2 > div a dl dt { font-size: 25px; font-weight: 800; padding-bottom: 10px }
#tl_product2 .cont2 > div a dl dd { font-size: 18px }
#tl_product2 .cont2 > div a:hover::before { content:''; width: 100%; height: 100%; position: absolute; left:0; top: 0; background: #000; opacity: 0.2; }
#tl_product2 .cont2 > div.m-img01 { background-image:url("../img/product1.jpg"); }
#tl_product2 .cont2 > div.m-img02 { background-image:url("../img/product2.jpg"); }
#tl_product2 .cont2 > div.m-img03 { background-image:url("../img/product3.jpg"); }
#tl_product2 .cont2 > div.m-img011 { background-image:url("../img/product11.jpg"); }
#tl_product2 .cont2 > div.m-img022 { background-image:url("../img/product22.jpg"); }
#tl_product2 .cont2 > div.m-img033 { background-image:url("../img/product33.jpg"); }



@media all and (max-width:1480px) {
  #tl_product2 { padding-top: 70px; }
  #tl_product2::before { height: 90%; }
  #tl_product2 .cont2 > div { width: calc((100% - 60px) / 3); max-height: 26vw; margin-left: 30px; }
}

@media all and (max-width:1280px) {
  #tl_product2 { padding-top: 40px; }
  #tl_product2 .cont2 { padding-top: 40px; }
  #tl_product2 .cont2 > div { width: calc((100% - 30px) / 3); max-height: 28vw; margin-left: 15px; }
  #tl_product2 .mtit2 .t2 br { display: none; }
}

@media all and (max-width:1080px) {
  #tl_product2 { padding-top: 5%; }
  #tl_product2::before { width: 60vw; height: 70%; }
  #tl_product2 .s-inner { display: block;  }
  #tl_product2 .s-inner > div { display: block;  }
  #tl_product2 .cont2 { width: 100%; margin-top: 5%;  }
  #tl_product2 .mtit2 .t2 { width: 55%; }
  #tl_product2 .cont2 > div  { max-height: 38vw; }
}

@media all and (max-width:767px) {
  #tl_product2::before { width: 80vw; height: 60%; }
  #tl_product2 .s-inner > div { padding: 0; }
  #tl_product2 .cont2 > div  { width: calc((100% - 20px) / 3); max-height: 40vw; margin-left: 10px; }
}


@media all and (max-width:568px) {
    #tl_product2 { padding-top: 0; padding-bottom: 10%;  }
    #tl_product2::before { width: 100vw; height: 35%; top: inherit; bottom:0; }
    #tl_product2 .mtit2 { position: absolute; top: 0; left:0; width: 48%; margin-top: 7%;  }
    #tl_product2 .mtit2 .t1 { color:#212121 !important; }
    #tl_product2 .mtit2 .t2 { color:#888; width: 100%; }
    #tl_product2 .cont2 { width: 100%; float: right; margin-top:0;  }
    #tl_product2 .cont2 > div  { width: calc(50% - 5px); float: right; margin: 5px 0 5px 10px; max-height: 58vw;  }
    #tl_product2 .cont2 > div:nth-child(odd) { margin-left:0; }
    #tl_product2 .cont2 > div.m-img02 { clear: both; }
    #tl_product2 .cont2 > div a dl dd { font-size: 16px }
}

@media all and (max-width:480px) {
  #tl_product2 .mtit2 { margin-top: -25px; }
  #tl_product2 .mtit2 .t1 { margin-bottom: 0.5em; }
  #tl_product2 .mtit2 .t2 { line-height: 1.65; font-size:16px; }
  #tl_product2 .cont2 > div a dl { padding: 2em 1.5em; }
}



    
    
#tl_product2 .mtit2 .en { color:#00aeef;  }
#tl_product2 .mtit2 .t1 { font-size: 50px; line-height: 1.25em; font-weight: 800; margin: 0.5em 0 1em; color:#fff; word-break: keep-all; max-width: 500px }
#tl_product2 .mtit2 .t1 span { font-weight: bold}    


@media all and (max-width:1280px) {
  #tl_product2 .mtit2 .t1 { font-size: 2.6rem; }
}

@media all and (max-width:568px) {
  #tl_product2 .mtit2 .t1 { font-size: 22px; margin: 0.5em 0 0.7em; line-height: 1.2em; }
}    

.tl_cont_box {
  position: relative;
  padding: 8% 5%;
  text-align: center;
  background: url('../img/space_bg.jpg') center/cover no-repeat; /* 배경 이미지 */
  color: #222;
}

.tl_cont_box .t1 {
  font-size: 64px;
  font-weight: 800;
  letter-spacing: -1px;
  margin-bottom: 0.5em;
}

.tl_cont_box .t2 {
  font-size: 24px;
  font-weight: 500;
  opacity: 0.9;
  margin-bottom: 1.5em;
}

.tl_cont_box .t3 {
  font-size: 18px;
  line-height: 1.8;
  max-width: 900px;
  margin: 0 auto;
  opacity: 0.85;
  word-break: keep-all;
}

/* 반응형 */
@media (max-width: 1024px) {
  .tl_cont_box .t1 { font-size: 48px; }
  .tl_cont_box .t2 { font-size: 20px; }
  .tl_cont_box .t3 { font-size: 16px; }
}

@media (max-width: 768px) {
  .tl_cont_box { padding: 12% 8%; }
  .tl_cont_box .t1 { font-size: 36px; }
  .tl_cont_box .t2 { font-size: 18px; }
  .tl_cont_box .t3 { font-size: 15px; line-height: 1.6; }
}

@media (max-width: 480px) {
  .tl_cont_box { padding: 16% 6%; }
  .tl_cont_box .t1 { font-size: 28px; }
  .tl_cont_box .t2 { font-size: 16px; }
  .tl_cont_box .t3 { font-size: 14px; }
  .tl_cont_box .t3 br { display: none; }
}


/* 섹션 스코프: 전역 h2/h3 규칙보다 우선 적용 */
.tl_cont_box {
  position: relative;
  padding: 5% 5%;
  text-align: center;
  color: #222;
  /* 필요 시 배경 */
  /* background: url('../img/space_bg.jpg') center/cover no-repeat; */
}

/* 제목은 clamp로 반응형 크기 보장 */
.tl_cont_box h2.t1 {
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 0.4em;
  letter-spacing: -0.02em;
  font-size: clamp(28px, 4vw, 55px);
}

.tl_cont_box h3.t2 {
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 1.2em;
  opacity: .95;
  font-size: clamp(14px, 2.5vw, 18px);
}

.tl_cont_box .t3 {
  font-size: clamp(14px, 2.2vw, 18px);
  line-height: 1.75;
  max-width: 900px;
  margin: 0 auto;
  opacity: .85;
  word-break: keep-all;
}

/* 아주 작은 화면에서 줄바꿈 <br> 제거 */
@media (max-width: 480px) {
  .tl_cont_box .t3 br { display: none; }
}


.section033 { width: 100% ;padding: 150px 0}
.section033 .container { max-width: 1600px; margin: 0 auto; padding: 20px; display: flex; gap: 20px; }
.section033 .title { font-size: 70px; text-align: center; margin: 100px 0; font-weight: 200; font-family: 'NanumMyeongjo';}
.section033 .column { flex: 1; display: flex; flex-direction: column; gap: 20px; }
.section033 .item { width: 100%; overflow: hidden; }
.section033 .item img { width: 100%; height: 100%; object-fit: cover; }
.section033 .text-content { padding: 20px 0; }
.section033 h2 { margin-top: 0; font-size: 24px; margin-bottom: 10px }
.section033 p { line-height: 1.65; color: #666; word-break: keep-all; margin-bottom: 20px}
.section033 .view-more { display: inline-block; margin-top: 10px; color: #0066cc; text-decoration: none; font-size: 16px }
.section033 .column-1 .item-image { height: 40%; }
.section033 .column-1 .text-content { height: 40%; max-width: 480px; }
.section033 .column-2 { padding-top: 82px; /* 새로 추가된 부분 */ }
.section033 .column-2 .item-image-top { height: 50%; }
.section033 .column-2 .item-image-bottom { height: 40%; }
.section033 .column-3 { padding-top: 197px; /* 새로 추가된 부분 */ }
.section033 .column-3 .item-image-top { height: 49%; }
.section033 .column-3 .item-image-bottom { height: 40%; }

@media (max-width: 1200px) { 
    .section033 .container { flex-direction: column; } 
    .section033 .column { width: 100%; padding-top: 0 !important; /* 반응형에서 padding 제거 */ } 
}

@media (max-width: 768px) { 
    .section033 { width: 100% ;padding: 50px 0}
    .section033 .title { font-size: 32px; padding: 50px 0; margin: 0}
}



/* ====== Esteau 섹션( tl_product2 )을 tl_product와 동일 패턴으로 정렬 ====== */
#tl_product2{ position:relative; width:100%; overflow:hidden; padding:150px 0; }
#tl_product2::before{
  content:''; width:45vw; height:calc(100% - 70px); max-width:1200px;
  position:absolute; left:0; top:0;
  background:url("../img/section07_bg.jpg") no-repeat center / cover; /* 좌측 배경 */
}
#tl_product2 .s-inner2{ display:table; table-layout:fixed; width:90%; max-width:1580px; margin:0 auto; }
#tl_product2 .s-inner2 > div{ display:table-cell; vertical-align:top; }
#tl_product2 .mtit2{ padding-right:2%; }
#tl_product2 .mtit2 .t1{ font-size:50px; line-height:1.25; font-weight:800; margin:.5em 0 1em; color:#fff; word-break:keep-all; max-width:500px; }
#tl_product2 .mtit2 .t2{ color:#fff; opacity:.8; font-size:18px; line-height:1.65; max-width:500px; word-break:keep-all; }

/* 우측 카드 그리드 */
#tl_product2 .cont2{ overflow:hidden; width:70%; }
#tl_product2 .cont2 > div{
  position:relative; width:calc((100% - 100px) / 4); height:450px; max-height:15vw;
  margin-left:30px; margin-top:15px; float:left;
  background-size:cover; background-repeat:no-repeat; background-position:center; border-radius:10px;
}
#tl_product2 .cont2 > div:first-child{ margin-left:0; }
#tl_product2 .cont2 > div a{ display:block; width:100%; height:100%; color:#fff; }
#tl_product2 .cont2 > div a dl{ position:absolute; left:0; bottom:0; padding:40px 30px; }
#tl_product2 .cont2 > div a dl dt{ font-size:25px; font-weight:800; padding-bottom:10px; }
#tl_product2 .cont2 > div a dl dd{ font-size:18px; }

/* 카드 배경 예시(필요 시 교체/추가) */
#tl_product2 .cont2 .m-img011{ background-image:url("../img/esteau_01.jpg"); }
#tl_product2 .cont2 .m-img022{ background-image:url("../img/esteau_02.jpg"); }
#tl_product2 .cont2 .m-img033{ background-image:url("../img/esteau_03.jpg"); }

/* ====== 반응형: tl_product와 동일한 브레이크포인트 복제 ====== */
@media all and (max-width:1480px){
  #tl_product2{ padding-top:70px; }
  #tl_product2::before{ height:90%; }
  #tl_product2 .cont2 > div{ width:calc((100% - 60px) / 4); max-height:26vw; margin-left:30px; }
}
@media all and (max-width:1280px){
  #tl_product2{ padding-top:40px; }
  #tl_product2 .cont2{ padding-top:40px; }
  #tl_product2 .cont2 > div{ width:calc((100% - 30px) / 4); max-height:28vw; margin-left:10px; }
}
@media all and (max-width:1080px){
  #tl_product2{ padding-top:5%; }
  #tl_product2::before{ width:60vw; height:70%; }
  #tl_product2 .s-inner2{ display:block; }
  #tl_product2 .s-inner2 > div{ display:block; }
  #tl_product2 .cont2{ width:100%; margin-top:5%; }
  #tl_product2 .mtit2 .t2{ width:55%; }
  #tl_product2 .cont2 > div{ max-height:38vw; }
}
@media all and (max-width:767px){
  #tl_product2::before{ width:80vw; height:80%; }
  #tl_product2 .s-inner2 > div{ padding:0; }
  #tl_product2 .cont2 > div{ width:calc((100% - 20px) / 2); max-height:40vw; margin-left:10px; }
  #tl_product2 .cont2 > div a dl dt{ font-size:18px; }
  #tl_product2 .cont2 > div a dl dd{ font-size:14px; }
}
/* ★ 모바일 핵심: 텍스트(왼쪽)와 카드(오른쪽) 나란히 + 겹침 방지 */
@media all and (max-width:568px){
  #tl_product2{ padding-top:0; padding-bottom:10%; }
  #tl_product2::before{ width:100vw; height:0%; top:auto; bottom:0; }
  #tl_product2 .mtit2{
    position:absolute; top:0; left:0; width:48%; margin-top:7%;
    z-index:2; /* 카드 위에 텍스트가 겹치지 않게 레이어 우선순위 명시 */
  }
  #tl_product2 .mtit2 .t1{ color:#212121 !important; font-size:30px; margin:.5em 0 .7em; line-height:1.2; }
  #tl_product2 .mtit2 .t2{ color:#888; width:100%; line-height:1.65; font-size:16px; }

  #tl_product2 .cont2{ width:100%; float:right; margin-top:0; }
  #tl_product2 .cont2 > div{
    width:calc(50% - 5px); float:right; margin:5px 0 5px 10px; max-height:58vw;
  }
  #tl_product2 .cont2 > div:nth-child(odd){ margin-left:0; }
  #tl_product2 .cont2 .m-img022{ clear:both; }
}

