/*공통*/
.sec.h1000 {height: 100vh;}
.sec.h825 {min-height: 600px; height: auto;}

.main_title {width: 100%; margin-bottom: 50px;}
.main_title .title {position:relative; font-size: 40px; color:#222; font-weight:800; text-align:center; margin-bottom:50px;}
.main_title .title::after {content:''; position:absolute; bottom:-20px; left:50%; transform:translateX(-50%); width:50px; height: 1px; background:#000;}
.main_title .desc {font-size: 20px; color: #222; font-weight: 500; text-align: center; margin-bottom: 0;}

.inner.col {flex-direction: column;}

.txt.highlight {font-weight: 900;}
.highlight {color: var(--brand-color);}

/*main visual*/
#mainVisual{overflow:hidden; position:relative; width:100%; height: 100vh;}
#mainVisual::before{content:''; position:absolute; inset:0; background:rgba(0,0,0,.5); z-index: 1;}

#mainVisual .slider_wrap, #mainVisual .slider {width:100%;margin:0;padding:0;}

/* 타이틀 */
#mainVisual .title {position:absolute; bottom: 160px; left: 110px; z-index:1; width:max-content; color:#fff; user-select: none;}
#mainVisual .title h2 {display:block; font-size: 64px; font-weight: 600; color:#fff; text-align: left; line-height: 1.2;}

/* 슬라이드 */
#mainVisual .mainSwiper {position:absolute; left:0; top:0; z-index:1001; width:100%; height: 100vh;}
#mainVisual .slider li {display:flex; align-items:center; justify-content:center; width:100%; height: 100vh; text-align:center; background-position: center; background-size: cover; background-repeat: no-repeat; margin:0; padding:0;}
#mainVisual .slider li.img01 {background-image: url('../../images/thema/main/slide01.png');}
#mainVisual .slider li.img02 {background-image: url('../../images/thema/main/slide02.png');}
#mainVisual .slider li.img03 {background-image: url('../../images/thema/main/slide03.png');}

/* progressbar */
.progress.visual_progress {display: flex; justify-content: center; align-items: center; gap: 10px; position: absolute; left: 50%; bottom: 30%; transform:translate(-50%, -50%); max-width:var(--mainsize); width:100%; z-index: 2;}
.progress.visual_progress li{position:relative; cursor:pointer; width: 100px; height: 8px; background: rgba(255, 255, 255, 0.4);}
.progress.visual_progress li:after{position:absolute; content:''; bottom:0 ;left:0; z-index:-1; width:100%; background: transparent;}
.progress.visual_progress li .bar{position:absolute; bottom: 0; left:0; width:0; height: 8px; background:#fff;}
.progress.visual_progress li.active .bar{background:#fff; animation:countingBar 3s linear forwards;}
@keyframes countingBar{0%{width:0}100%{width:100%}}

/*scrolled-icon*/
.scroll-indicator {position:absolute; left:50%; bottom:40px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; z-index:10;}
.scroll-indicator .label{font-size: 16px; font-weight: 500; letter-spacing: 1px;color: rgba(255, 255, 255, .8); margin: 0;}
.scroll-indicator .mouse{position:relative; width: 25px; height: 40px; border: 1px solid rgba(255, 255, 255, .6); border-radius:18px; display:flex; justify-content:center; align-items:flex-start; padding-top: 8px;}
.scroll-indicator .wheel{width: 4px; height: 4px; background:#D9D9D9; border-radius:50%; animation:wheelMove 1.4s ease-in-out infinite;}
@keyframes wheelMove{0%{transform:translateY(0);opacity:1;}50%{transform:translateY(5px);opacity:.6;}100%{transform:translateY(0);opacity:1;}}

/*zoom*/
.zoom-con {position:relative; height:calc(var(--vh,1vh)*100); overflow:hidden;}
.zoom-con img {position:absolute; inset:0; width:100%; height: 100%; object-fit:cover; transform:scale(0); opacity:0; transform-origin:center; will-change:transform,opacity; border-radius: 40px;}
.overlay {position:absolute; inset:0; display:flex; align-items:center; justify-content:center; will-change:transform,opacity;}
.headline {font-size:clamp(28px,5vw,72px); font-weight:800; letter-spacing:0.02em;text-align:center;color: #fff;}

/* 사업분야 */
.biz{display:flex;width:100%;background:#000;overflow:hidden;border-radius:20px;}
.biz .b_item{position:relative;flex:1 1 0;height:600px;color:#fff;overflow:hidden;box-sizing:border-box;transition:flex .5s ease;min-width:180px;}
.biz .b_item::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(.5);transition:transform .5s ease;transform-origin:center right;z-index:0;}
.b01::before{background-image:url('../../images/thema/main/s1-01.png');}
.b02::before{background-image:url('../../images/thema/main/s1-02.png');}
.b03::before{background-image:url('../../images/thema/main/s1-03.png');}
.b04::before{background-image:url('../../images/thema/main/s1-04.png');}
.b05::before{background-image:url('../../images/thema/main/s1-05.png');}
.biz .text_box{position:absolute;left:20px;right:10px;bottom: 10px;z-index:2;max-width:265px; min-height:120px;}
.biz .text_box h3{font-size:24px;line-height:1.2;transform:translateY(0);transition:transform .5s ease;}
.biz .text_box p{font-size:16px;opacity:0; transform:translateY(16px); transition:opacity .5s ease,transform .5s ease; word-break: keep-all;}
.biz .b_item:hover{width: calc((100% / 5) + 60px);}
.biz .b_item:hover::before{transform:scale(1.1);}
.biz .b_item:hover .text_box h3{transform:translateY(-10px);}
.biz .b_item:hover .text_box p{opacity:1;transform:translateY(0);}

/*기술현황*/
.s2{position:relative;z-index:0;overflow:hidden;background:url('../../images/thema/main/bg1.png') center/cover no-repeat;}
.s2::after{position:absolute;content:"";left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:0;}
.s2 .inner{justify-content:space-between; gap:170px; height:700px;z-index:1;}
.s2-text {width: 100%; max-width:420px;z-index:1;}
.s2-text h3{position: relative; font-size:40px;line-height:1.1;margin-bottom:25px;font-weight:800;color:#fff;}
.s2-text h3::after {position: absolute; content: ''; width: 50px; height: 1px; background: #fff; left: 0; bottom: -30px;}
.s2-text p{font-size:20px; line-height:1.7;color:#fff; text-align:justify; letter-spacing:-1px; margin-top: 60px;}

.s2-cards{display:flex;justify-content: flex-end; gap:20px;width:100%;max-width:840px;z-index:1;}
.s2-card{position:relative;flex:0 0 330px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;height:330px;padding:40px;border-radius:30px;background:#114A45;color:#fff;overflow:hidden;transition:.3s ease;}
.s2-card:hover{background:#072b28;}

.s2-card .card-text {width: 100%;}
.s2-card .card-text h4{font-size:26px;font-weight:700;margin-bottom:10px;}
.s2-card .card-text p{font-size:16px;font-weight:300;line-height:1.5;}

.s2-card .card-bottom{width:100%;display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto;}
.s2-card .card-arrow{width:44px;height:44px;border-radius:50%;background:#3A8D86;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background .3s ease;}
.s2-card .card-arrow i{font-size:20px;color:#fff;}

.s2-card:hover .card-arrow{transform:translateX(4px) translateY(-4px);background:#2f726d;}
.s2-card .card-icon{width:88px;height:88px;align-self:flex-end;}
.s2-card .card-icon img{width:100%;height:auto;display:block;}

/*공지사항*/
/*2025.10.23. 삭제
.news, .news .row {margin-left:0; margin-right:0;}
.news .card{border:none;border-radius:20px;overflow:hidden;transition:transform .3s ease;background:#fff;}
.news .card:hover{transform:translateY(-6px);}
.news .card-img-top{width:100%;height:220px;object-fit:cover;}
.news .card-body{padding:30px 25px;background:#f9f9f9;transition:.3s ease;}

.news .card:hover .card-body {background:#114A45;color:#fff;}
.news .card:hover .card-text {color:#fff;}

.news .card-title{font-size:18px;font-weight:700;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.news .card-text{margin:0;font-size:14px;font-weight:400;color:#666;}
*/

.notice-table {table-layout:fixed;}
.notice-table tbody tr:first-child {border-top:2px solid #222;}
.notice-table tbody tr {border-bottom:1px solid #e9ecef;}
.notice-table td {padding:10px; vertical-align:middle;}
.notice-table tbody td:nth-child(1) {width: 6%;font-size:28px;text-align:center;color:#A5C2C5;font-weight:700;}
.notice-table tbody td:nth-child(2) {width: 64%; text-align:left;}
.notice-table tbody td:nth-child(2) a {display:flex;align-items:center;gap:6px;max-width:100%;color:#222;line-height:1.6;font-size: 16px;}
.notice-table tbody td:nth-child(2) a:hover {color:#0B6A71;}
.notice-table tbody td:nth-child(3) {width:15%;text-align:right;color:#6c757d; font-size: 16px;}


.btn-arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #d9d9d9;border-radius:50%;color:#9aa0a6;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.notice-table tbody td:nth-child(2) a:hover .btn-arrow{border-color:transparent; background:#238070; color:#fff;}
.btn-arrow.active{border-color:#238070;background:#238070;color:#fff;}


@media (max-width:1024px){
  #mainVisual .cont{position: static;}
  #mainVisual .title {width:95%}

  .progress.product_progress {bottom: 10%;}

  /*기술현황*/
  .s2 .inner{flex-direction:column;align-items:center;gap:40px;height:auto;padding:60px 20px;}
  .s2-text{max-width:none;text-align:center;}
  .s2-text h3{font-size:32px;margin-bottom:20px;}
  .s2-text h3::after{left:50%;transform:translateX(-50%);bottom:-16px;}
  .s2-text p{font-size:16px;line-height:1.7;letter-spacing:-0.5px;margin-top:36px; text-align: center;}
  .s2-cards{width:100%; justify-content: center;}

}

@media (max-width:768px){
  #mainVisual .title {left:50%; top: 55%;transform: translate(-50%, -50%);text-align:center;width:100%;padding:0 20px;}
  #mainVisual .title h2 {font-size: 54px; line-height:1.3;text-align:center;}
  .progress li p{text-align:center}

  /*사업분야*/
  .biz{flex-direction:column; height:auto; border-radius: 0;}
  .biz .b_item{flex:none; width:100%; height:260px; min-width:auto; transition:none;}
  .biz .b_item::before{transform:none; filter:brightness(.5); transition:none;}
  .biz .text_box{left:20px; right:20px; bottom:20px; max-width:100%; min-height:auto;}
  .biz .text_box h3{transform:none; transition:none;}
  .biz .text_box p{opacity:1; transform:none; transition:none;}
  .biz .b_item:hover{width:100%;}
  .biz .b_item:hover::before{transform:none;}
  .biz .b_item:hover .text_box h3{transform:none;}
  .biz .b_item:hover .text_box p{opacity:1; transform:none;}

  /*기술현황*/
  .s2-card{flex:1 1 auto; width:100%; height:auto; min-height:240px; border-radius:20px;}
  .s2-card .card-text h4{font-size:22px;}
  .s2-card .card-bottom{margin-top:24px;}
  .s2-card .card-arrow{width:40px;height:40px;}
  .s2-card .card-icon{width:72px;height:72px;}
  
  /*공지사항*/
  .notice-table{width:100%;}
  .notice-table tbody tr{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #e9ecef;width:100%;}
  .notice-table tbody td{display:block;border:0;padding:6px 0;}
  .notice-table tbody td:nth-child(1){flex:0 0 auto;font-size:22px;color:#A5C2C5;font-weight:700; white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .notice-table tbody td:nth-child(2){flex:1 1 0;min-width:0;padding-right:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .notice-table tbody td:nth-child(2) a{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#222;}
  .notice-table tbody td:nth-child(3){flex:0 0 100%;padding-left: 10px; font-size:14px;color:#6c757d;display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}

@media (max-width:576px){
  #mainVisual .title h2 {font-size: 40px;}

  .progress li p{font-size:14px}
  
  /*기술현황*/
  .s2-cards{width:100%; flex-direction: column; justify-content: center;}

}

@media (max-width: 370px){

}