/*공통*/
.sec.h1000 {height: 100vh;}
.sec.h825 {min-height: 600px; height: auto;}

.main_title {width: 100%;}
.main_title .title {font-size: 40px; color: #222; font-weight: 800; text-align: center; margin-bottom: 50px;}

.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: 930px;}
#mainVisual::before{content:''; position:absolute; inset:0; background:rgba(0,0,0,.5); z-index: 1;}

/* 타이틀 */
#mainVisual .title{position:absolute; top: 40%; left:50%; transform:translateX(-50%); z-index:1; width:max-content; color:#fff; text-align: center; user-select: none;}
#mainVisual .title h2 {display:block; font-size: 50px; font-weight: 600; color:#fff;}
#mainVisual .title p {font-size: 18px; font-weight: 400; line-height: 14px; white-space:pre-line; text-transform:uppercase;}

/* 슬라이드 */
#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;}
#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%}}

/*btn*/
.cta-overlap{position:relative;z-index:2;}
.cta-overlap .inner{transform:translateY(-100px);}

.cta {display:flex; flex: 1; gap: 10px; flex-direction:column; align-items:center; justify-content:center; min-height:180px; padding: 20px; color:#fff; text-align:center;}
.cta img {margin-bottom: 5px;}
.cta h3 {font-size:20px;line-height:1.2;}
.cta p {font-size:16px; font-weight: 500;}

.cta.order{background: #3A3A3A;}
.cta.quote{background: #2E476D;}

/*제품소개*/
.s1 {margin-top: -180px; background:url('../../images/thema/main/sec1_bg.png') center/cover no-repeat; padding: 180px 0 140px;}

.product-list {display:flex; gap:20px; justify-content:center;}

.product-card {flex:1; padding:40px; color:#fff; text-align:left; position:relative; overflow:hidden; display:flex; align-items:flex-start; flex-direction:column; transition: .3s ease; background: var(--default-color, #333);}
.product-card:hover {background: var(--hover-color, #000);}
.product-card h3 {font-size: 28px; font-weight: 700; margin-bottom: 20px;}
.product-card p {font-size: 18px; line-height:1.5; font-weight: 300;}
.product-card img {width:120%; height:auto; display:block; transform:translateX(30%); transition: .3s ease;}
.product-card:hover img {transform:translateX(30%) scale(1.08);}

.arrow-btn {position: absolute; left: 40px; bottom: 60px; width: 60px; height: 60px; border-radius:50%; background:rgba(0,0,0,.6); display:inline-block; transition: .3s ease;}
.arrow-btn::before {content:""; position:absolute;top:50%;left:45%;width:14px;height:14px;border-right:2px solid #fff;border-top:2px solid #fff;transform:translate(-45%,-50%) rotate(45deg);}

.product-card.blue {--default-color:#1D2581; --hover-color:#14195a;}
.product-card.gray {--default-color:#868687; --hover-color: #424242;}
.product-card.dark {--default-color:#222; --hover-color:#424242;}

/*회사소개*/
.s2 {position:relative;z-index:0;overflow:hidden;}
.s2::before, .s2::after{content:""; position:absolute; top:0; bottom:0; z-index:-1;}
.s2::before {left:0; width:70%; background:url('../../images/thema/main/sec2_bg.png') center/cover no-repeat;}
.s2::after{right:0; width:30%; background: var(--brand-color);}

.s2 .inner {position:relative; height: 700px;}
.s2-text {position:relative; max-width: 420px; gap: 25px;}
.s2-text h3 {font-size: 44px; line-height:1.1; margin-bottom: 25px; font-weight: 900;} 
.s2-text h4 {position: relative; font-size: 26px; margin-bottom: 24px; border-bottom: 1px solid #ccc; padding-bottom: 30px;}
.s2-text h4:after {position: absolute; content: ''; width: 145px; height: 3px; background: var(--brand-color); left: 0; bottom: -2px;}
.s2-text p {font-size: 18px; line-height:1.7; color:#444; text-align: justify; letter-spacing: -1px;}
.s2-text .btn-group {display:flex; gap:12px; margin-top:28px; justify-content: center;}
.s2-text .btn-group .con-link {gap:8px; height: 45px; padding: 0 20px; border-radius: 24px; background:#fff; color:#666; border:1px solid #ccc; transition: .3s ease;}
.s2-text .btn-group .con-link:hover {background: var(--brand-color); color: #fff; border-color: transparent;}

.s2 .catalog {position:absolute; right: 0; top: 50%; transform: translateY(-50%); width: 400px; height:auto;}

/*생산설비*/
.s3 {position: relative; padding: 100px 0; background: url('../../images/thema/main/sec3_bg.png') center / cover no-repeat;}
.s3 .inner {flex-wrap: wrap; position: relative;}

.s3 .slick-wrap {width: 100%; max-width: 1280px;}
.s3 .slick-wrap .slide-inner {display: flex; align-items: center; justify-content: space-between; gap: 60px; padding: 60px;}
.s3 .slide-image {width: 100%; height: 450px; max-width: 550px; display: flex; justify-content: center; align-items: center;}
.s3 .slide-content {width: 100%; max-width: 500px; position: relative; height: 400px; display: flex; flex-direction: column; justify-content: center; }
.s3 .slide-content h2 {font-size: 32px; color: #222; font-weight: 800;}
.s3 .slide-content h3 {font-size: 24px; color: var(--brand-color2); font-weight: 500;}
.s3 .slide-content p {font-size: 18px; color: #222; font-weight: 400; margin-top: 30px; text-align: justify;}

/*자세히 보기 버튼*/
.more_btn {display: inline-flex; width: 150px; justify-content: space-between; align-items: center; padding: 5px 15px; border-radius: 50px; font-size: 16px; font-weight: 400; vertical-align: middle; transition: .3s ease; margin-top: 30px;}
.more_btn .ri-add-line {font-size: 20px; }
.more_btn.gray {border: 1px solid var(--brand-color2); color: var(--brand-color2);}
.more_btn.gray:hover {background: var(--brand-color2); color: #fff; border-color: transparent;}

.more_btn.wht {border: 1px solid #fff; color: #fff; text-align: center;}
.more_btn.wht:hover {background: #fff; color: var(--brand-color2);} 

.progress.product_progress {position: absolute; left: 61.8%; right: auto; bottom: 15%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 10; cursor: pointer;}
.progress.product_progress li {position: relative; height: 8px; overflow: hidden;}
.progress.product_progress li .bar {display: block; width: 8px; height: 100%; background: rgba(0, 0, 0, .15); transition: width .5s ease; border-radius: 10px; margin: 0;}
.progress.product_progress li.active .bar {width: 100px; background: #003365;}

/*상담, 주문 전화*/
.s4 {width:100%; padding:60px 0; background:#fbfbfb;}
.contact-info {flex:1;}
.contact-info h3 {font-size: 32px; font-weight:700; margin-bottom:10px;}
.contact-info p {margin-bottom:8px; font-size:18px; color:#444; font-weight: 400;}
.contact-phone {display:flex; align-items: flex-start; margin-top: 25px; }
.contact-img {display: flex; align-items: center; justify-content: center; width: 70px; height: 70px; background: var(--brand-color); border-radius: 50%; margin-right: 20px;}
.contact-phone .number {font-size: 46px; font-weight:700; color:#222;}
.contact-info .time {display: inline-flex; align-items: center; font-size: 18px; color:#666;}
.contact-info .time img {margin-right: 10px;}

.contact-icons {display:flex; justify-content:space-around; margin-top:30px; gap: 40px;}
.icon-item {text-align:center; flex: 1 1 calc(25% - 40px);}
.icon-item:hover .icon-circle {background: #e1e1e1;}
.icon-item:hover span {font-weight: 700;}
.icon-item a {display:flex; flex-direction:column; align-items:center;}
.icon-circle {display:flex; align-items:center; justify-content:center; width:130px; height:130px; border-radius:50%; background:#f7f7f7; margin-bottom:20px; transition: .3s ease;}
.icon-item span {font-size: 18px; color:#222; font-weight: 500;}

/*인증, 공지사항*/
.s5 {display: flex; margin-bottom: 0;}
.s5-box {position: relative; flex: 1; background-size: cover; background-position: center; background-repeat: no-repeat; z-index: 1; text-align: center; padding: 50px 0;}
.s5-box::before {position: absolute; content: ''; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0,0,0, .6); z-index: -1;}
.s5-box h3 {color: #fff; font-size: 32px; font-weight: 700; z-index: 2; margin-bottom: 25px;}
.s5-box p {color: #fff; font-size: 18px; font-weight: 500; text-align: center;}
.s5-box.left {background-image: url('../../images/thema/main/s5-left.png');}
.s5-box.right {background-image: url('../../images/thema/main/s5-right.png');}

@media (max-width:1024px){
  #mainVisual .cont{position: static;}
  #mainVisual .title {width:95%}

  .progress.product_progress {bottom: 10%;}

  .s4 .inner {flex-direction: column;}
}

@media (max-width:768px){
  #mainVisual .title h2 {font-size:40px; white-space:normal}
  .progress li p{text-align:center}

  .content-section {padding: 1rem 20px;}
  .slide01 {background-image: url(../../images/thema/main/m_slide01.png);}
  .slide02 {background-image: url(../../images/thema/main/m_slide02.png);}

  .mainSwiper .slide-text {top: 30%; left: 10%;}
  .mainSwiper .slide-text h2 {font-size: 1.75rem;}
  .mainSwiper .slide-text p {width: 80%;}

  /*btn*/
  .cta-overlap .inner {flex-direction: column;} 
  .cta {width:100%;}

  .more_btn {margin: 30px auto 0;}

  /*주요제품*/
  .product-list {flex-direction: column;}

  /*회사소개*/
  .s2{position:relative;overflow:visible;height:auto;}
  .s2::after {top:0; width: 100%; height: 68vh;}
  .s2::before {width: 100%;}
  .s2 .inner{position:relative;z-index:1;display:flex;flex-direction:column;height:auto;padding:24px 20px 40px;}
  .s2 .catalog{position:relative; top:auto; right:auto; transform:none; width:100%; max-width:400px; margin: 50px auto; order: 1;}
  .s2-text{width:100%; max-width:100%; text-align:center; margin: 50px auto; order: 2;}
  .s2-text .btn-group {justify-content: center;}

  /*생산설비*/
  .sec.s3 {height: auto;}
  .sec.s3 .slick-wrap .slide-inner {flex-direction: column; padding: 30px 20px; gap: 30px;}
  .sec.s3 .slide-image {max-width: 100%; height: 100%;}
  .sec.s3 .slide-image img {min-height: 100%; height: auto;}
  .sec.s3 .slide-content {max-width: 100%; height: auto; min-height: 250px; text-align: center; justify-content: center;}
  .sec.s3 .slide-content h2 {font-size: 28px;}
  .sec.s3 .slide-content h3 {font-size: 20px;}
  .sec.s3 .slide-content p {font-size: 16px; margin-top: 30px;}
  
  .progress.product_progress {left: 50%; bottom: -4%; transform: translateX(-50%);}

  /*상담, 주문전화*/
  .s4 .contact-icons {flex-wrap: wrap;}
  .s4 .icon-circle{width: 100px; height: 100px;}

  /*인증, 공지사항*/
  .s5 {flex-direction: column;}
}

@media (max-width:576px){
  #mainVisual .title h2 {font-size: 28px; white-space:normal}
  #mainVisual .title p {font-size: 16px;}
  .progress li p{font-size:14px}
  
  .s2-text h3 {font-size: 36px;}
  .s2-text h4 {font-size: 20px;}
  .s2 .catalog{max-width: 100%;}
  .s2-text .btn-group {flex-wrap: wrap;}
  
  .progress.product_progress {bottom: -5%;}

  .s4 .contact-info {text-align: center;}
  .s4 .contact-phone {flex-direction: column; justify-content: center; align-items: center;}
  .s4 .contact-img {margin-right: 0;}
  .s4 .contact-txt {text-align: center;}
  .s4 .contact-icons {gap: 20px;}
  .s4 .icon-item {flex: 1 1 calc(50% - 40px);}
}

@media (max-width: 370px){
  .s2::after {top:0; width: 100%; height: 63vh;}
}