.displaynone{display:none;}
.row{margin-left: 0; margin-right: 0;}
.container {padding-right:0; padding-left:0;}
.navbar{padding:20px 50px;}
.display_pc_only{display:block;}
.display_tablet_only{display:none;}

.navbar-nav{margin:auto;}
.navbar-nav .nav-link{border-radius: 100px;    padding: 4px 0 0px;}
.navbar-nav .nav-link:hover{background:#000; color:#fff;}
.navbar-brand img{height: 15px;}
.t_right{font-size: 17px;}
.t_right a{font-weight:500;}
.t_right span{display: inline-block;  margin: 0 10px;}
.fixed-top {position: relative;}
@media (min-width: 1090px) {
    
}

@media (min-width: 1200px) {
    .container {
        max-width: 100%;
    }
}

@media (max-width: 1024px) {
    .display_tablet_only{display:block;}
    .display_pc_only{display:none;}
    
}

.swiper-container{overflow: hidden; position: relative;}

.footer {
    background: #000;
    color: #fff;
    padding: 10px 50px;
    font-size: 14px;
    font-weight: 700;
}

.footer .container {
    margin: 0 auto;
    display: flex;
    align-items: center;justify-content: space-between;
}

.footer .ft_info {
    display: flex;
    align-items: center;justify-content: center;
        margin: 0 0 0 -13%;
    gap: 10px;
}

.footer .contact span { margin:0 10px;font-weight: 400;
}
.footer .contact span:last-child {
    margin-right: 0;
}

.footer .ft_insta img {
    width: 16px;
    height: 16px;
    display: block;
    filter: invert(1); /* 검정 아이콘일 경우 흰색으로 반전 */
}

.main1{padding: 5vw 0 8vw; position: relative; width:85%; margin:auto;}
/* 전체 기본 설정 */
.main1 { padding: 80px 20px 145px; background: #fff; }
.main1 .container { max-width: 1365px; margin: 0 auto; }
.main1 p { margin: 0; }

/* 1. 상단 SVG 이미지 영역 */
.main1 .box1 { margin-bottom: 145px; text-align: center; }
.main1 .box1 img { max-width: 100%; height: auto; }

/* 2. 하단 텍스트 영역 (PC: 좌측 타이틀, 우측 본문) */
.main1 .content_box {
    display: grid;
    grid-template-columns: 0.7fr 1fr; /* 좌측 300px 고정, 우측 나머지 */
    gap: 0 50px; /* 세로 0, 가로 50px 간격 */
}

/* 좌측 타이틀 */
.main1 .txt_title {
    grid-column: 1;
    grid-row: 1 / 3; /* 국문, 영문 높이만큼 통째로 차지 */
    font-size: 22px;
    font-weight: 600;
    color: #000;
}

/* 우측 국문 */
.main1 .txt_ko {
    grid-column: 2;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.8;
    color: #000;
    word-break: keep-all;
    margin-bottom: 40px;
}

/* 우측 영문 */
.main1 .txt_en {
    grid-column: 2;
    font-size: 15px;
    line-height: 1.6;
    color: #e2e2e2;
    text-transform: uppercase;
    word-break: keep-all;
}

@media (max-width: 1400px) {
    /*.main1 {padding: 15vw 0 8vw;}*/
}

.main2{padding:80px 50px 105px; background: #000; margin: 145px 0 0 0;}
.main2 .txt_title{color:#fff;    display: flex;
    justify-content: space-between;
    align-items: center; margin:0 0 60px;}
.main2 .txt_title .t01{font-size: 60px;line-height: 1.2;  font-weight:500; display: flex;  align-items: center; gap:55px;}
.main2 .txt_title img{filter: brightness(0) invert(1); display: block;}
.main2 .txt_title span{display: flex;align-items: center;}

.main2 .txt_title .img1 img{    width: auto;  height: 36px;}
.main2 .txt_title .img2 img{width:34px;}

.main2 .txt_box1 {
    max-width: 100%;
    margin: 0 auto 75px;
    padding: 30px 100px;
    border-top: 1px solid rgba(255, 255, 255, 0.8);
    border-bottom: 1px solid rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.main2 .txt_box1 .item {
    flex: 1;
}

.main2 .txt_box1 .item h3 {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 15px 0;
}

.main2 .txt_box1 .item p {
    color: #fff;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
    word-break: keep-all;
}

.main2 .swiper-slide img{width:100%; border-radius: 30px;}
.main2 ul{display: grid; grid-template-columns: 1fr 1fr; gap:20px;}


.main2 .swiper-button-next:after, .main2 .swiper-button-prev:after{font-family: 'Helvetica Neue LT Pro';    font-size: 15px; color: #fff;}

.main2 .swiper-button-prev:after{content:'PRE'}
.main2 .swiper-button-next:after{content:'NEX'}
.main2 .slide_box{position: relative;}
.main2 .swiper_ban{width:90%; margin:auto;}

.main3{position: relative; padding:170px 50px 490px;}
.main3 .box1 img{max-width: 1048px; width:100%;}


.main4 { padding: 0; background: #fff; }
.main4 .container {  margin: 0 auto; padding: 0 0px; }
.main4 p { margin: 0; }

/* 타이틀 */
.main4 .title_area {
    display: flex;
    align-items: center; /* 또는 flex-start */
    gap: 20px;
    padding: 30px 50px 30px;
    border-bottom: 1px solid #000;
    border-top: 1px solid #000;
}
.main4 .dot_icon {     width: auto;  height: 36px;} /* dot 아이콘 크기 조절 */
.main4 h2 { font-size: 60px; font-weight: 500; line-height: 1.2; margin: 0; color: #000; letter-spacing: -0.02em; }
.main4 .mo_only { display: none; }

/* 리스트 아이템 */
.main4 .item {
    position: relative;
    padding: 50px 115px;
    border-bottom: 1px solid #000; /* 구분선 */
}

/* 텍스트 영역 */
.main4 .text_box { max-width: 70%; } /* 이미지와 겹치지 않게 너비 제한 */

.main4 .badge {
    display: inline-flex;
    align-items: center;
    background: #000;
    color: #fff;
    padding: 4px 16px 1px 16px;
    border-radius: 20px;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 20px;
}

.main4 .txt_ko {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.6;
    color: #000;
    margin-bottom: 30px;
    word-break: keep-all;    min-height: 160px;
}

.main4 .txt_en {
    font-size: 15px;
    line-height: 1.5;
    color: #e2e2e2; /* 연한 회색 */
    text-transform: uppercase;
}

/* PC 우측 이미지 절대 배치 (시안처럼 선에 걸치거나 자유롭게 배치 가능) */
.main4 .item_img {
    position: absolute;
    right: 0;
    max-width: 250px;
    height: auto;
    z-index: 1;
}

/* 이미지별 개별 위치 미세 조정용 클래스 */
.main4 .img_pos1 { top:50px; right:22%; }
.main4 .img_pos2 { top: 67%; transform: translateY(-50%);  right:3%;}
.main4 .img_pos3 {bottom: -115px;  right: 19%; } /* 선 밖으로 살짝 삐져나오게 */
.main4 .img_pos4 {    bottom: -50px;  right: 10%; }


/* 기본 설정 */
.main5 { background: #fff; padding: 0 0 170px;  margin:230px 0 0 0;}
.main5 .container {  margin: 0 auto; padding: 0 0px; }
.main5 p { margin: 0; line-height: 1.6; }
.main5 a { text-decoration: none; color: inherit; }

/* 타이틀 */
.main5 .title_area {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 60px 50px 30px;
    border-bottom: 1px solid #000;
    margin-bottom:160px;
}
.main5 .dot_icon {     width: auto;  height: 36px; }
.main5 h2 { font-size: 60px; font-weight: 500; line-height: 1.2; margin: 0; color: #000; letter-spacing: -0.02em; }

.main5 .client_list{    margin: 0 115px;max-width: 1005px;}
/* 리스트 PC 정렬 (3단 Grid) */
.main5 .client_item {
    display: grid;
    grid-template-columns: 200px 1fr 120px; /* 좌(이름) 200px, 중(내용) 나머지, 우(링크) 120px */
    align-items: flex-start;
    margin-bottom: 60px;
    font-size: 14px;
    color: #000;
}
.main5 .client_item:last-child { margin-bottom: 0; }

.main5 .col_name { font-weight: 800; font-size: 15px; }
.main5 .col_desc{font-size: 13px;}
.main5 .col_desc p { text-transform: uppercase; } /* 영문 대문자 고정 */
.main5 .col_link { text-align: right; font-weight: 500; font-size: 13px;}

.info_sec1 { 
    padding: 45px 50px; 
    display: flex;
    align-items: center;
    position: relative;
}

.info_sec1 .container { 
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.info_sec1 p { margin: 0; }

/* 타이틀 */
.info_sec1 .sec_title {
    font-size: 80px;
    font-weight: 500;
    line-height: 1.2;
    color: #000;
    margin: 0 0 100px 0;
    letter-spacing: -0.02em;
}

/* 텍스트 영역 (PC 2단 분리) */
.info_sec1 .text_wrap {
    display: grid;
    grid-template-columns: 500px 1fr; /* 좌측 400px, 우측 나머지 넓이 */
    gap: 80px;
    margin-bottom: 80px;
}

.info_sec1 .text_wrap p {
    font-size: 18px;
    line-height: 1.8;
    color: #000;
    font-weight: 500;
    margin-bottom: 30px;
    word-break: keep-all;
}

.info_sec1 .text_wrap p:last-child { margin-bottom: 0; }
 


/* 기본 영역 설정 */
.info_sec2 { 
    padding: 100px 50px;
}

.info_sec2 .container { 
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
}

/* 좌측 텍스트 영역 */
.info_sec2 .left_col {
    flex: 1;
    max-width: 500px;
}

.info_sec2 .arrow_down {
    margin-bottom: 100px;
}

.info_sec2 .arrow_down img {
    width: 40px;
    display: block;
}

.info_sec2 .list_item {
    margin-bottom: 160px;
}
.info_sec2 .list_item:last-child {
    margin-bottom: 0;
}

.info_sec2 .num {
    display: block;
    font-size:20px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #000;
}

.info_sec2 h3 {
    font-size: 45px;
    font-weight: 500;
    color: #000;
    margin: 0 0 30px 0;
    letter-spacing: -0.02em;
}

.info_sec2 p {
    font-size: 18px;
    line-height: 1.8;
    color: #000;
    font-weight: 500;
    margin-bottom: 25px;
    word-break: keep-all;
}
.info_sec2 p:last-child {
    margin-bottom: 0;
}

/* 우측 이미지 영역 (고정 해제) */
.info_sec2 .right_col {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.info_sec2 .right_col img {
    width: 100%;
    max-width: 1010px;
    height: auto;
        margin: 145px 0 0 0;
}

.info_sec3{position: relative; padding:185px 50px 185px;}
.info_sec3 .box1 img{max-width: 1728px; width:100%;}


.info_sec4 { 
    padding: 0 50px 120px 50px;
}

.info_sec4 .container { 
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}

/* 좌측 라벨 */
.info_sec4 .col_left {
    flex: 0 0 300px; /* 좌측 고정 너비 */
}

.info_sec4 .sec_label {
    font-size: 20px;
    font-weight: 700;
    color: #000;
}

/* 우측 텍스트 */
.info_sec4 .col_right {
    flex: 1;
    max-width: 60%;
}

.info_sec4 h2 {
    font-size: 30px;
    font-weight: 500;
    color: #000;
    line-height: 1.4;
    margin: 0 0 40px 0;
    letter-spacing: -0.02em;
}

.info_sec4 .desc_wrap p {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    line-height: 1.8;
    margin-bottom: 35px;
    word-break: keep-all;
}

.info_sec4 .desc_wrap p:last-child {
    margin-bottom: 0;
}



.info_sec5 { 
    padding: 100px 50px;
}

.info_sec5 .container { 
    margin: 0 auto;
}

.info_sec5 .sec_label {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    margin-bottom: 50px;
}

/* 카드 리스트 PC (3단 Grid) */
.info_sec5 .card_wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* 개별 카드 스타일 */
.info_sec5 .card {
    background: #fff;
    border-radius: 12px;
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 위(타이틀) 아래(본문) 양끝 배치 */
    min-height: 740px; /* 카드 높이 맞춤 */
    border: 0;
}

.info_sec5 .card_title {
    font-size: 50px;
    font-weight: 500;
    color: #000;
    margin: 0;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.info_sec5 .card_sub {
    font-size: 25px;
    font-weight: 500;
    color: #000;
    margin: 0 0 20px 0;
}

.info_sec5 .card_desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: #000;
    margin: 0;
    word-break: keep-all;
}

.info_sec6 { 
    padding: 100px 50px 290px;
}

.info_sec6 .container { 
    margin: 0 auto;
}

/* 헤더 & 페이징 */
.info_sec6 .sec_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 50px;
}

.info_sec6 .sec_label {
    font-size: 20px;
    font-weight: 700;
    color: #000;
}

.info_sec6 .swiper-pagination-custom {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    letter-spacing: 0.05em;
        width: 50%;
    text-align: right;
}

/* 스와이퍼 설정 */
.info_sec6 .work_swiper {
    overflow: hidden;
    position: relative;
}

/* 썸네일 박스 (실제 이미지 사용 시 img 태그로 교체하거나 배경으로 삽입) */
.info_sec6 .img_box {
    width: 100%; 
    background: #000; /* 임시 검은색 배경 */
    margin-bottom: 20px;
}

.info_sec6 .img_box img{width: 100%;}

.info_sec6 .work_desc {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    margin: 0;
}

.contact_sec1 { 
    padding: 45px 50px; 
    display: flex;
    align-items: center;
    position: relative;
}

.contact_sec1 .container { 
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.contact_sec1 p { margin: 0; }

/* 타이틀 */
.contact_sec1 .sec_title {
    font-size: 80px;
    font-weight: 500;
    line-height: 1.2;
    color: #000;
    margin: 0 0 100px 0;
    letter-spacing: -0.02em;
}

/* 텍스트 영역 (PC 2단 분리) */
.contact_sec1 .text_wrap {
     
    margin-bottom: 80px;
}

.contact_sec1 .text_wrap p {
    font-size: 18px;
    line-height: 1.8;
    color: #000;
    font-weight: 500;
    margin-bottom: 30px;
    word-break: keep-all;
}

.contact_sec1 .text_wrap .col_left{    font-size: 16px; font-weight: 600;margin: 0 0 20px 0;
    line-height: 1.8;}
.contact_sec1 .text_wrap .col_right{ font-size: 25px;}

.contact_sec1 .text_wrap p:last-child { margin-bottom: 0; }
 
.contact_sec2 { 
    padding: 100px 50px 290px;
}

.contact_sec2 .container { 
    margin: 0 auto; 
}

/* 좌측 텍스트 영역 */
.contact_sec2 .left_col {
    flex: 1;
    max-width: 500px;
}

.contact_sec2 .arrow_down {
    margin-bottom: 100px;
}

.contact_sec2 .arrow_down img {
    width: 40px;
    display: block;
}

.contact_sec2 .right_col {
    /* 기존 레이아웃 설정이 있다면 유지하세요 */
}

.contact_sec2 .right_col .contact_info_list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: 'Helvetica Neue LT Pro', sans-serif; /* 기존에 쓰시던 폰트 적용 */
}

.contact_sec2 .right_col .contact_info_list li {
    display: flex;
    margin-bottom: 15px; /* 항목 간 간격 */
    font-size: 16px; /* 이미지 비율에 맞춰 조정하세요 */
    font-weight: 700; /* 볼드 처리 */
    color: #000;
}

.contact_sec2 .right_col .contact_info_list li:last-child {
    margin-bottom: 0;
}

.contact_sec2 .right_col .contact_info_list .label {
    width: 150px; /* 왼쪽 라벨 고정 너비 (필요시 조정) */
    flex-shrink: 0; 
}

.contact_sec2 .right_col .contact_info_list .value {
    /* 오른쪽 텍스트 영역 */
}


.archive_sec1 {
    position: relative;
    background: #fff;
}
.archive_sec1 p { margin: 0; }
.archive_sec1 .bg_img { width: 100%;   }

/* PC 타이틀 (이미지 위 오버레이) */
.archive_sec1 .visual_wrap {
    position: relative;
}
.archive_sec1 .title_container {
    position: absolute;
    top: 0; left: 50%; transform: translateX(-50%);
    width: 100%;  height: 100%;
    padding: 0 50px;
    box-sizing: border-box;
}
.archive_sec1 .main_title {
    position: absolute;
    top: 15%; /* 상단 위치 조절 */
    color: #fff;
    font-size: 80px;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    letter-spacing: -0.02em;
}

/* PC 설명 영역 (이미지 위 우측 하단 오버레이) */
.archive_sec1 .desc_wrap {
    position: absolute;
    bottom: 10%; /* 하단 위치 조절 */
    left: 0;
    width: 100%;
}
.archive_sec1 .desc_wrap .container {
   
    margin: 0 auto;
    padding: 0 50px;
    display: flex;
    justify-content: flex-end; /* 우측 정렬 */
}
.archive_sec1 .desc_inner {
    color: #fff;
    max-width: 50%;
}
.archive_sec1 .desc_inner h3 {
    font-size: 17px;
    font-weight: 500;
    margin: 0 0 20px 0;
}
.archive_sec1 .desc_inner p {
    font-size: 25px;
    line-height: 1.6;
    margin-bottom: 25px;
    word-break: keep-all;
    font-weight: 500;
}
.archive_sec1 .desc_inner p:last-child { margin-bottom: 0; }

.archive_sec2 {
    background: #fff;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    margin:190px 0 0 0;
}

.archive_sec2 .container { 
    margin: 0 auto;
    padding: 30px 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 좌측 타이틀 영역 */
.archive_sec2 .title_left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.archive_sec2 .dot_icon {
        width: auto;  height: 36px;
    display: block;
}

.archive_sec2 h2 {
    font-size: 60px;
    font-weight: 500;
    margin: 0;
    color: #000;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

/* 우측 화살표 */
.archive_sec2 .icon_right img {
    width: 30px;
    display: block;
}


.archive_sec3{padding:35px 50px 290px 50px;   /*  min-height: 80vh;    max-width: 90%;*/   margin: auto;}
.archive_sec3 .left{max-width:825px;    max-height: 100vh;    overflow-y: auto;}
.archive_sec3 .left::-webkit-scrollbar {  display: none;}

.archive_sec3 .left .title li{font-size:14px; font-weight:500; color:#dadada;}

.archive_sec3 .left ul{display: grid; grid-template-columns: 8% 20% 1fr 1fr ; border-bottom:1px solid #000; cursor:pointer; margin:0;}
.archive_sec3 .left li{font-size:14px; line-height:43px;}
.archive_sec3 .right{text-align:Center;}
.archive_sec3 .in_fotobox img{max-width:470px; margin:auto;/*box-shadow: rgba(0, 0, 0, 0.11765) 10px 10px 18px;*/}
    
.archive_sec3 .link_box {    display: grid; grid-template-columns: 1fr 47%;   margin:50px 0 0 0;  }

.archive_sec3 .left, .archive .pcver .right { }
.archive_sec3 .right .in_fotobox{     padding: 125px 0 0 0;}

.archive_sec3 .in_fotobox > div {
      display: none;
    }
.archive_sec3 .in_fotobox > div.active {
      display: block;
    }
    
.archive_sec3 .mobile_img {
      display: none;
      padding: 10px 0;
    }
    

.work_sec1 {
    position: relative;
    background: #fff;
}
.work_sec1 p { margin: 0; }
.work_sec1 .bg_img { width: 100%;   }

/* PC 타이틀 (이미지 위 오버레이) */
.work_sec1 .visual_wrap {
    position: relative;
}
.work_sec1 .title_container {
    position: absolute;
    top: 0; left: 50%; transform: translateX(-50%);
    width: 100%;  height: 100%;
    padding: 0 50px;
    box-sizing: border-box;
}
.work_sec1 .main_title {
    position: absolute;
    top: 15%; /* 상단 위치 조절 */
    color: #fff;
    font-size: 80px;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    letter-spacing: -0.02em;
}
.work_sec1 .main_title img{max-width:1730px; width:98%;}

/* PC 설명 영역 (이미지 위 우측 하단 오버레이) */
.work_sec1 .desc_wrap {
    position: absolute;
    bottom: 10%; /* 하단 위치 조절 */
    left: 0;
    width: 100%;
}
.work_sec1 .desc_wrap .container {
   
    margin: 0 auto;
    padding: 0 50px;
    display: flex;
    justify-content: flex-end; /* 우측 정렬 */
}
.work_sec1 .desc_inner {
    color: #fff;
    max-width: 50%;
}
.work_sec1 .desc_inner h3 {
    font-size: 17px;
    font-weight: 500;
    margin: 0 0 20px 0;
}
.work_sec1 .desc_inner p {
    font-size: 25px;
    line-height: 1.6;
    margin-bottom: 25px;
    word-break: keep-all;
    font-weight: 500;
}
.work_sec1 .desc_inner p:last-child { margin-bottom: 0; }

.work_sec2 {
    background: #fff;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    margin:190px 0 0 0;
}

.work_sec2 .container { 
    margin: 0 auto;
    padding: 30px 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 좌측 타이틀 영역 */
.work_sec2 .title_left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.work_sec2 .dot_icon {
        width: auto;  height: 36px;
    display: block;
}

.work_sec2 h2 {
    font-size: 60px;
    font-weight: 500;
    margin: 0;
    color: #000;
    letter-spacing: -0.02em;
}

/* 우측 화살표 */
.work_sec2 .icon_right img {
    width: 30px;
    display: block;
}

.work_sec3 {
    padding: 100px 50px; 
}

.work_sec3 .container { 
    margin: 0 auto;
}

/* Masonry 컨테이너 */
.work_sec3 .masonry_grid {
    display: block; 
}

/* 개별 아이템 (PC 3단, 40px 간격 고려) */
.work_sec3 .grid_item {
    width: calc(33.333% - 27px); 
    margin-bottom: 100px;
}

.work_sec3 .grid_item img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 15px;
}

/* 텍스트 스타일 */
.work_sec3 .txt_box p {
    margin: 0;
    color: #000;
}

.work_sec3 .title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 5px !important;
    line-height: 1.2;
}

.work_sec3 .desc {
    font-size: 14px;
    color: #666 !important;
    word-break: keep-all;
}

.work_sec3 .desc strong {
    font-weight: 500; font-size: 14px;
    color: #000;
}


@keyframes scroll-animation{
  0%{
    left: 0;
  }
  100%{
    left: -100%; /* 텍스트 width와 동일 */
  }
}

@keyframes infiniteAnimation1 {
  0% {
    transform: translateX(0%);
  }
  50% {
    transform: translateX(-100%);
  }
  50.1% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes infiniteAnimation2 {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-200%);
  }
}

.scroll-text{
  width: 100%;
  overflow: hidden;
        padding: 20vh 0;
}
.scroll-text .track{
  position: relative;
  animation: scroll-animation 15s linear infinite;
    white-space: nowrap;
    width: 1000%;
    font-size: 210px;
}
.scroll-text .track span img{width: 17vh;    margin: -39px 45px 0px 45px;}

.scroll-text-main{
  width: 100%;
  overflow: hidden;
        padding: 0vh 0;
}
.scroll-text-main .track{
  position: relative;
  animation: scroll-animation 15s linear infinite;
    white-space: nowrap;
    width: 1000%;
    font-size: 110px;
}

.swiper_text_page{font-size: 210px;padding: 20vh 0;}
.swiper_text_page .swiper-wrapper{transition-timing-function: linear;}
.swiper_text_page .swiper-slide{width:auto !important;}
.swiper_text_page .swiper-slide span img{width: 17vh;    margin: -39px 45px 0px 45px;}

.swiper_text_main{font-size: 15px;}
.swiper_text_main .swiper-wrapper{transition-timing-function: linear;}
.swiper_text_main .swiper-slide{width:auto !important;}
.swiper_text_main .swiper-slide span{margin:0 20px; display:inline-block;}

.swiper_text_partner .swiper-wrapper{transition-timing-function: linear;}
.swiper_text_partner .swiper-slide{width:auto !important;}

.scroll-text-partner{
  width: 100%;
  overflow: hidden;
        padding: 0vh 0;
}
.scroll-text-partner .track{
  position: relative;
  animation: scroll-animation 15s linear infinite;
    white-space: nowrap;
    width: 1000%;
}
.scroll-text-partner .track li{display:inline-block; margin:0 30px;}


.marquee-container marquee {
    font-size: 110px; /* 원하는 글꼴 크기로 조정 */
    color: #000; /* 원하는 색상으로 조정 */
    white-space: nowrap;
}

.marquee-container marquee span{}

.marquee-container {
    /*width: 100%;*/ /* 전체 화면 너비 */
    height: 145px; /* 원하는 높이 */
    overflow: hidden; /* 텍스트가 컨테이너 밖으로 나가지 않도록 */
    display: flex;
    align-items: center; /* 수직 중앙 정렬 */
}

 
 

.marquee-container_top marquee {
    font-size: 210px; /* 원하는 글꼴 크기로 조정 */
    color: #000; /* 원하는 색상으로 조정 */
    white-space: nowrap;
}

.marquee-container_top marquee span img{width: 17vh;    margin: -39px 45px 0px 45px;}

.marquee-container_top {
    /*width: 100%;*/ /* 전체 화면 너비 */
    height: 145px; /* 원하는 높이 */
    overflow: hidden; /* 텍스트가 컨테이너 밖으로 나가지 않도록 */
    display: flex;
    align-items: center; /* 수직 중앙 정렬 */
    padding: 35vh 0;
    position: relative;
}




.inquiry{padding: 0; position: relative; max-width: 775px; margin:15vh auto; border:1px solid #fff;}
.inquiry .in_box{    padding: 100px 0; width:80%; margin:auto;}
.inquiry .f_box1{text-align: center;}
.inquiry .f_box1 .title1{font-size: 18px;}
.inquiry .f_box1 .title2{font-size: 18px; margin:20px 0 55px;}
.inquiry .f_box1 .title2 span{    margin: 0 0 0 10px;}
.inquiry .f_box1 .title2 img{height: 50px;}
.inquiry0{
    margin: -100px 0 0 0;
}
.inquiry0 .f_box0{padding:0 85px; font-size: 50px; line-height: 65px;}


.box_form{}

.form01-table{width:100%; border:none;border-collapse: collapse;margin:0 auto;    border-spacing: 0px;}
.form01-table td{border:none;      padding: 0 20px 20px 20px;}
.form01-table .title{font-size:18px; margin:0 0 10px 0;}

.form01-table .input01 {width:100%;height:60px;border:0px;padding:0px 20px;font-size:15px;font-weight: 500;background:#fff;margin-bottom:9px; border-radius: 10px;}
.form01-table .btn_ok{text-align: center; margin:30px 0 0 0;}
.form01-table .btn_submit {    width: 165px;height: 55px;border: 0; background:#000;border-radius: 0px;text-align: center;color:#fff;font-size: 18px;font-weight: 500;}
.form01-table .btn_submit:hover {}
.form01-table textarea {background:#fff;border:0px solid #fff;border-radius: 10px;padding:15px;height:245px;overflow: auto;width:100%;color:#000;font-size:15px;line-height:25px;}
.form01-table ::-webkit-input-placeholder { /* 크롬 4–56 */
    color: #666;
}
.form01-table :-moz-placeholder { /* 파이어폭스 4–18 */
   color: #666;
   opacity:  1;
}
.form01-table ::-moz-placeholder { /* 파이어폭스 19–50 */
   color: #666;
   opacity:  1;
}
.form01-table :-ms-input-placeholder { /* 인터넷 익스플로러 10+ */
   color:  #666;
}
.form01-table ::placeholder { /* 파이어폭스 51+, 크롬 57+ */
   color: #666;
   opacity:  1;
}


@media (min-width: 1026px) {
     .info_sec5 .card_bottom{min-height: 165px;}
}


@media (min-width: 1px) and (max-width: 1025px) {
    .container {max-width: 100%;}
    .navbar-brand img{height: 15px;}
    .navbar{padding:15px 20px;        transition: all ease 1.2s;}
    
   .footer { padding:7px 20px 10px 20px; }
    
    .footer .container {
        justify-content: space-between;
        gap: 10px;
    }

    /* 모바일에서는 인스타가 왼쪽, 카피라이트가 오른쪽 */
    .footer .ft_info { gap: 0; }
    .footer .ft_copy {  font-size: 12px; }
    
    .footer .ft_insta img { width: 20px; height: 20px; }
    
    .main1 { padding: 45px 20px 90px 20px; width:100%;}
    .main1 .box1 { margin-bottom: 80px; }
    
    .main1 .content_box {
        grid-template-columns: 1fr; /* 1단으로 상하 배치 */
        gap: 15px; 
    }
    
    .main1 .txt_title {
        grid-column: 1;
        grid-row: auto;
        font-size: 18px;
        margin-bottom: 0px;
    }
    
    .main1 .txt_ko {
        grid-column: 1;
        font-size: 13px;
        margin-bottom: 20px;
    }
    
    .main1 .txt_en {
        grid-column: 1;
        font-size: 12px;
    }
    
    .main2 {padding: 50px 20px 50px 20px;        margin: 80px 0 0px 0;}
    .main2 .txt_box1 {
        flex-direction: column;
        gap: 40px;
        padding: 40px 0;
    }
    
    .main2 .txt_box1 .item h3{font-size: 18px;}
    .main2 .txt_box1 .item p {
        font-size: 14px;
    }
    
    .main2 .swiper_ban{width:100%;}
    .main2 .swiper-slide img{border-radius: 15px;}
    .main2 .swiper-button-next:after, .main2 .swiper-button-prev:after{color:#000;}
    
    .main2 .txt_title{margin:0 0 50px;}
    .main2 .txt_title .t01{font-size: 34px; gap:15px;}
    .main2 .txt_title .img1 img { height:24px;   transform: translateY(-5px);   /* margin: -7px 0 0 0;*/}
    .main2 .txt_title .img2 img {  width: 20px;        margin: -2px 0 0 0;}
    
    .main3{padding:45px 20px 250px;}
     
    .main4 .title_area { padding:30px 20px 25px; gap: 15px;         align-items: flex-start;}
    .main4 .dot_icon { height:24px;   transform: translateY(3px);  }
    .main4 h2 { font-size: 34px; line-height: 1.2; } 

    .main4 .item { padding: 40px 20px; }
    .main4 .text_box{max-width: 100%;}
    
    .main4 .badge { font-size: 14px; margin-bottom: 25px;   line-height:1.5;               padding: 6px 16px 1px;}
    .main4 .txt_ko { font-size: 16px; margin-bottom: 20px;     min-height: 110px;}
    .main4 .txt_en { font-size: 12px; }
    
    .main5{margin:100px 0 0 0;}
    .main5 .title_area { padding: 20px 20px 20px; gap: 15px; margin-bottom: 50px; }
    .main5 .dot_icon { height:24px;   transform: translateY(-5px);   }
    .main5 h2 { font-size: 34px; }
    
    .main5 .client_list{margin:0 20px}

    /* 모바일 정렬 (이름과 인스타를 1줄에 배치) */
    .main5 .client_item {
        grid-template-columns: 1fr auto; 
        gap: 15px 0; /* 위아래 간격 15px */
        margin-bottom: 50px;
    }

    .main5 .col_name {
        grid-column: 1 / 2;
        grid-row: 1;
        font-size: 14px;
    }
    
    .main5 .col_link {
        grid-column: 2 / 3;
        grid-row: 1;
        text-align: right;
    }

    .main5 .col_desc {
        grid-column: 1 / 3; /* 내용을 1, 2열 전체 차지하게 하여 밑으로 내림 */
        grid-row: 2;
        font-size: 12px;
    }
    
    
    .info_sec1 {
        padding: 40px 20px 40px 20px;
        min-height: auto; /* 모바일은 콘텐츠 높이만큼만 */
        align-items: flex-start;
    }
    
    .info_sec1 .sec_title {
        font-size: 34px;
        margin-bottom: 60px;
    }
    
    .info_sec1 .text_wrap {
        grid-template-columns: 1fr; /* 1단 세로 배치 */
        gap: 40px;
        margin-bottom: 60px;
    }
    
    .info_sec1 .text_wrap p {
        font-size: 15px;
    }

    /* 모바일에서는 강제 줄바꿈 해제 */
    .info_sec1 .pc_only { display: none; }

    /* 모바일 화살표 위치 변경 */
    .info_sec1 .scroll_arrow {
        position: relative;
        bottom: auto;
    }
    
    .info_sec2 {
        padding: 0 10px 60px 20px;
    }

    .info_sec2 .container {
        flex-direction: column;
        gap: 40px;
    }

    /* 이미지를 상단으로 올림 */
    .info_sec2 .right_col {
        order: -1; 
        justify-content: center;
        width: 100%;
        margin-bottom: 20px;
    }

    .info_sec2 .right_col img {
        max-width: 100%;
        margin:0;
    }

    .info_sec2 .arrow_down {
        margin-bottom: 60px;
    }
    
    .info_sec2 .arrow_down img {
        width: 30px;}

    .info_sec2 h3 {
        font-size: 32px;
        margin-bottom: 20px;
    }

    .info_sec2 .list_item {
        margin-bottom: 80px;
    }

    .info_sec2 p {
        font-size: 15px;
    }
    
    .info_sec3{    padding: 55px 20px 85px;}
    
    .info_sec4 {
        padding: 80px 20px;
    }

    .info_sec4 .container {
        flex-direction: column; /* 세로 1단 배치 */
        gap: 30px;
    }

    .info_sec4 .col_left {
        flex: none;
    }
    
    .info_sec4 .col_right{max-width: 100%;}

    .info_sec4 h2 {
        font-size: 24px;
        margin-bottom: 40px;
    }

    .info_sec4 .mo_only {
        display: block; /* 모바일에서 타이틀 줄바꿈 */
    }

    .info_sec4 .desc_wrap p {
        font-size: 15px;
        margin-bottom: 25px;
    }

    .info_sec4 .sec_label{font-size:17px;}
    
    
    .info_sec5 {
        padding: 60px 20px;
    }

    .info_sec5 .sec_label {
        margin-bottom: 30px;
    }

    .info_sec5 .card_wrap {
        grid-template-columns: 1fr; /* 1단 세로 배치 */
        gap: 25px;
    }

    .info_sec5 .card {
        padding: 40px 30px;
        min-height: 400px;
    }

    .info_sec5 .card_title {
        font-size: 32px;
        margin-bottom: 40px;
    }

    .info_sec5 .card_sub {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .info_sec5 .card_desc {
        font-size: 13px;
    }
    
    .info_sec6 {
        padding: 60px 20px;
    }
    
    .info_sec6 .sec_header {
        margin-bottom: 30px;
    }

    .contact_sec1 {
        padding: 40px 20px 80px 20px;
        min-height: auto; /* 모바일은 콘텐츠 높이만큼만 */
        align-items: flex-start;
    }
    
    .contact_sec1 .sec_title {
        font-size: 34px;
        margin-bottom: 60px;
    }
    
    .contact_sec1 .text_wrap {
        grid-template-columns: 1fr; /* 1단 세로 배치 */
        gap: 40px;
        margin-bottom: 60px;
    }
    
    .contact_sec1 .text_wrap p {
        font-size: 15px;
    }

    /* 모바일에서는 강제 줄바꿈 해제 */
    .contact_sec1 .pc_only { display: none; }

    /* 모바일 화살표 위치 변경 */
    .contact_sec1 .scroll_arrow {
        position: relative;
        bottom: auto;
    }

    .contact_sec1 .text_wrap .col_right{    font-size: 18px;}

    .contact_sec2 {
        padding: 0 10px 60px 20px;
    }

    .contact_sec2 .container {
        flex-direction: column;
        gap: 40px;
    }

    /* 이미지를 상단으로 올림 */
    .contact_sec2 .right_col {
        order: -1; 
        justify-content: center;
        width: 100%;
        margin-bottom: 20px;
    }

    .contact_sec2 .right_col img {
        max-width: 100%;
        margin:0;
    }

    .contact_sec2 .arrow_down {
        margin-bottom: 60px;
    }
    
    .contact_sec2 .arrow_down img {
        width: 30px;}
    
    


    .archive_sec1 .title_container{padding:0 20px;}
    
    .archive_sec1 .main_title {
        top: 100px; /* 모바일 타이틀 여백 */
        font-size: 32px;
        position: relative;
    }
    
    /* 모바일에서는 설명 영역이 이미지 밑으로 빠지며 스타일 변경 */
    .archive_sec1 .desc_wrap {
        position: static; /* 오버레이 해제 */
        padding: 60px 20px;
        background: #fff;
    }
    
    
    .archive_sec1 .desc_inner p {
        font-size: 14px;}
    
    .archive_sec1 .desc_wrap .container {
        justify-content: flex-start; /* 좌측 정렬로 변경 */
        padding: 0;
    }
    .archive_sec1 .desc_inner {
        color: #000; /* 글씨색 검정으로 반전 */
        max-width: 100%;
    }
    
    .archive_sec2{margin:80px 0 0 0;}
    
    .archive_sec2 .container {
        padding: 20px 20px 12px 20px; /* 모바일 위아래 여백 축소 */
    }

    .archive_sec2 .title_left {
        gap: 15px;
    }

    .archive_sec2 .dot_icon {
        height:24px;   transform: translateY(-5px);  
    }

    .archive_sec2 h2 {
        font-size: 34px;
    }

    .archive_sec2 .icon_right img {
        width: 21px;   transform: translateY(-5px);  
    }
    
    .archive_sec3 { padding: 25px 0px 100px 0px;}
    
    .archive_sec3 .left .title li {  font-size: 12px;}
    .archive_sec3 .left .title li:nth-child(1), .archive_sec3 .left li:nth-child(1){display:none;}
    .archive_sec3 .left li { font-size: 12px;    line-height: 1.4;    padding: 10px 0;}
    
    
    .archive_sec3 .link_box{display:block;        padding: 0 15px;}
    
    .archive_sec3 .right {display:none;}
        /* 아코디언 열렸을 때 */
    .archive_sec3 .mobile_img.active {
          display: block;
        }
        
    .archive_sec3 .left{max-height:100%;}
    .archive_sec3 .left ul{grid-template-columns:  20% 30% 1fr;}
    
    .work_sec1 .main_title {
        top: 100px; /* 모바일 타이틀 여백 */
        font-size: 32px;
        position: relative;
    }
    
    .work_sec1 .title_container{padding:0 20px;}
    
    /* 모바일에서는 설명 영역이 이미지 밑으로 빠지며 스타일 변경 */
    .work_sec1 .desc_wrap {
        position: static; /* 오버레이 해제 */
        padding: 50px 20px;
        background: #fff;
    }
    .work_sec1 .desc_wrap .container {
        justify-content: flex-start; /* 좌측 정렬로 변경 */
        padding: 0;
    }
    .work_sec1 .desc_inner {
        color: #000; /* 글씨색 검정으로 반전 */
        max-width: 100%;
    }
    
    .work_sec1 .desc_inner p {
        font-size: 16px;    margin-bottom: 10px;}
    
    .work_sec2{margin:80px 0 0 0;}
    
    .work_sec2 .container {
        padding: 20px 20px 12px 20px; /* 모바일 위아래 여백 축소 */
    }

    .work_sec2 .title_left {
        gap: 15px;
    }

    .work_sec2 .dot_icon {
        height:24px;   transform: translateY(-5px);  
    }

    .work_sec2 h2 {
        font-size: 34px;
    }

    .work_sec2 .icon_right img {
        width: 21px;  transform: translateY(-5px);  
    }
    
    .work_sec3 {
        padding: 60px 20px;
    }
    
    .work_sec3 .title { font-size: 16px;}
    .work_sec3 .desc {font-size: 13px;}
    .work_sec3 .desc strong {font-size: 13px;}
    
    .work_sec3 .grid_item {
        width: 100%; /* 모바일 1단 배치 */
        margin-bottom: 50px;
    }
    
    .marquee-container{height: 95px;}
    .marquee-container marquee {font-size: 80px;}
    
    .scroll-text-main .track{
      position: relative;
      animation: scroll-animation 5s linear infinite;
        white-space: nowrap;
        width: 1000%;
        font-size: 40px;
    }
    
    .swiper_text_main{font-size: 12px;}
    
    .scroll-text-partner .track{
      position: relative;
      animation: scroll-animation 10s linear infinite;
        white-space: nowrap;
        width: 1000%;
    }
    .scroll-text-partner .track li{margin:0 0px;}
    .scroll-text-partner .track img{}
    
     
     
    
    .marquee-container_top marquee {
        font-size: 105px;}
    .marquee-container_top marquee span img {
        width: 9vh;
        margin: -22px 20px 0px 20px;
    }
    .marquee-container_top{    padding:24vh 0 15vh;}
    
    
    .scroll-text{
      width: 100%;
      overflow: hidden;
            padding: 14vh 0 5vh;
    }
    .scroll-text .track{
      position: relative;
      animation: scroll-animation 5s linear infinite;
        white-space: nowrap;
        width: 1000%;
        font-size: 80px;
    }
    .scroll-text .track span img{width: 7vh;
        margin: -22px 10px 0px 10px;}
    
    
    .swiper_text_page{font-size: 80px;padding: 14vh 0 5vh;}
    .swiper_text_page .swiper-slide span img{width: 7vh;
        margin: -22px 10px 0px 10px;}
    
    
    .about{margin:0;}
    .about .f_box1 {
    padding: 0 15px;
    font-size: 20px;
        line-height: 30px;}
    
    .about .f_box2 {
    padding: 0 15px;
    margin: 90px 0 20px;
        display: block;}
    
    .about .f_box2 .left span {
        font-size: 20px;}
    
    .about .f_box2 .right .text1 {
        font-size: 30px;
        line-height: 38px;
        margin: 45px 0 25px 0;
    }
    
    .about .f_box2 .right .text2 {
    font-size: 16px;
        line-height: 32px;}
    
    .about .f_box4 {padding: 0 15px; margin: 50px 0 0 0;}
    .about .f_box4 ul {display: block;}
    .about .f_box4 li:nth-child(1){margin:0 0 10px 0;}
    
    .work{margin:0;}
    .work .f_box1 {
    padding: 0 15px;
    font-size: 20px;
        line-height: 30px;}
    
    .work .f_box2{padding:0  15px; margin:65px 0 80px;}
    .work .f_box2 .img_icon img{        height: 45px;}
    .work .f_box2 .text1 {
    font-size: 26px;
        margin: 0px 0 0 25px;}
    .work .f_box3 {
        padding: 0 0 0 15px;}
    .work .f_box3 .box {
        margin: 0 0 80px;}
    .work .f_box3 .box .title .text1 {
    font-size: 24px;
        float: none;}
    .work .f_box3 .box .title .text1 span{font-size: 16px; margin: 0 0 0 15px;}
    .work .f_box3 .box .title .text2{float: none;margin: 20px 0 0 0;}
    .work .f_box3 .box .title .text2 a {
        font-size: 16px;}
    
    .service{margin:0;}
    .service .f_box1 {
    padding: 0 15px;
    font-size: 20px;
        line-height: 30px;}
    .service .f_box2{padding:0 15px; margin:80px 0; display:block;}
    .service .f_box2 .right li{    grid-template-columns: 27% 1fr;        margin: 0 0 20px 0;}
    .service .f_box2 .right .num {
        font-size: 52px;}
    .service .f_box2 .right .con .text1 {
    font-size: 20px;
        margin: 15px 0 10px 0;}
    .service .f_box2 .right .con .text2 {
        font-size: 16px;}
    
    .inquiry{width: 90%; margin:8vh auto 5vh;}
    .inquiry .in_box { padding: 50px 0}
    .inquiry .f_box1 .title2 img{height:30px;}
    .inquiry0{margin:0;}
    .inquiry0 .f_box0 {
    padding: 0 15px;
    font-size: 20px;
        line-height: 30px;}
    
    .form01-table td{padding:0 0 10px 0;}
    .form01-table .input01{height:45px; padding:0 10px;}
    .form01-table .btn_submit{width:100%; height:45px; font-size: 14px;}
    .form01-table .btn_ok{margin:15px 0 0 0;}
    
    .navbar.active{background: #f2f2f2;transition: all ease 0.8s;        position: fixed;        height: 100%;
        align-items: flex-start;}

        .navbar.active .navbar-brand img{filter: none !important;}
        .navbar.active #menu-button:before,
        .navbar.active .navbar-nav .nav-link{color: #000 !important;        background: transparent;}

    .nav-link{font-size: 30px;}
    .navbar-nav{padding:50px 0;}
    .navbar-nav li {
        padding: 0px 0 0px 0px;
    }
    .navbar-collapse{}
    
    .navbar-collapse .link1{padding: 50px 0 0 0;position: absolute;
        bottom: 20px;}
    .navbar-collapse .link1 a{text-decoration: underline; font-size: 20px;}
    .navbar-collapse .link2{text-align: right;        padding: 150px 0;}
    .navbar-collapse .link2 img{width: 60px;}
    
}

