.slick-dots li button {
  display: none;
}

.slick-dots {
  display: none !important;
}

::selection {
}

::-moz-selection {
}

img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.default {
  background-color: #f4f4f4;
  padding: 5px;
}

.default-2 {
  height: 800px;
  padding: 10px;
}

.default_landing {
  max-width: 1920px;
  margin: 0 auto;
}

.default_landing img {
  /* width: 100%; */
  max-width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 768px) {
}

.fade-wrap {
  position: relative;
  width: 100%;
}

@media (max-width: 768px) {
  .fade-wrap {
    position: absolute;
    height: 400px;
  }
}

.default_sub {
  display: flex;
  justify-content: center;
  position: relative;
  background-repeat: no-repeat;
}

@media (max-width: 768px) {
  .default_sub {
    background-size: clamp(900px, 180vw, 1200px) auto;
  }
}

/* 여기부터 "해당부분"만 수정: absolute 제거해서 부모 높이가 자동으로 잡히게 함 */
.mid_1 {
  text-align: center;
  max-width: 1926px;
  padding: 10px;
  height: 2892px;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media (max-width: 768px) {
  .mid_1 {
    padding-top: 10px;
    padding-bottom: 10px;
    height: 1000px;
  }
}

.mid_2 {
  text-align: center;
  max-width: 1926px;
  padding: 10px;
}
@media (max-width: 768px) {
  .mid_2 {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.mid_3 {
  text-align: center;
  width: 100%;
  max-width: 1926px;
  padding-top: 20px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .mid_3 {
    padding: 10px;
  }
}

.mid_4 {
  text-align: center;
  width: 100%;
  max-width: 1926px;
  padding: 50px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .mid_4 {
    padding: 10px;
  }
}

.mid_5 {
  text-align: center;
  width: 100%;
  max-width: 1926px;
  padding: 50px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .mid_5 {
    padding: 10px;
  }
}

.fade-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: opacity 1.5s ease;
}

@media (max-width: 768px) {
  .fade-img {
    position: absolute;
  }
}

.fade-img.a {
  opacity: 1;
}

.fade-img.b {
  opacity: 0;
}
.top_bg{
  width:100%;
  max-width:100%;
}

/* =========================================================
   [mid_1 섹션 전용] 01image01/02/03
   - 전역 img의 중앙정렬을 무력화하고 "원래 배치" 유지
   - 더 멀리서 출발 → 지정된(기존) 위치로 이동
   - 시작은 안보임(opacity 0) → 도달 시 완전 표시(opacity 1)
   - 순차 실행(1 → 2 → 3)
   ========================================================= */
.title01 {
  margin-top: 170px;
}
/* ✅ 1) 원래 위치(왼/오 정렬) 강제: 중앙 쏠림 방지 */
.image0101{
  margin-top:300px;
}

.image0102{
  margin-top:-130px;
}

.image0103{
  margin-top:200px;;
}
.mid_1 .image0101,
.mid_1 .image0102,
.mid_1 .image0103 {
  /* 전역 img의 auto margin을 제거(중앙정렬 방지) */
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 1,3은 왼쪽에 딱 붙는 형태 유지 */
.mid_1 .image0101,
.mid_1 .image0103 {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* 2는 오른쪽에 딱 붙는 형태 유지 */
.mid_1 .image0102 {
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* ✅ 2) 애니메이션 공통: 처음엔 숨김, 끝나면 상태 유지 */
.mid_1 .image0101,
.mid_1 .image0102,
.mid_1 .image0103 {
  opacity: 0;
  will-change: transform, opacity;
  animation-duration: 2.2s;          /* 느리게 */
  animation-timing-function: ease;
  animation-fill-mode: forwards;     /* 애니메이션 끝나면 최종 상태 유지 */
}

/* ✅ 3) 순차 + 방향 + "더 멀리서" 출발 */
.mid_1 .image0101 {
  transform: translateX(-260px);     /* 더 왼쪽에서 시작 */
  animation-name: fromLeftFade;
  animation-delay: 0.2s;            /* 1번 먼저 */
}

.mid_1 .image0102 {
  transform: translateX(260px);      /* 더 오른쪽에서 시작 */
  animation-name: fromRightFade;
  animation-delay: 1.1s;            /* 2번 다음 */
}

.mid_1 .image0103 {
  transform: translateX(260px);      /* 더 오른쪽에서 시작(원하면 -260px로 변경 가능) */
  animation-name: fromRightFade;
  animation-delay: 2.0s;            /* 3번 마지막 */
}

/* ✅ 4) 키프레임: 제자리(기존 마진 위치)로 복귀 + 페이드 인 */
@keyframes fromLeftFade {
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes fromRightFade {
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* ✅ 5) 모바일: 이동 거리만 줄여서 과도한 튐 방지 */
@media (max-width: 768px) {
  .title01 {
    margin-top: 40px;
    width:70%;
  }
  .mid_1 .image0101 {
    margin-top: 50px;
    transform: translateX(-140px);
  }
  .mid_1 .image0102 {
    margin-top: -30px;
    transform: translateX(140px);
  }
  .mid_1 .image0103 {
    margin-top: 50px;
    transform: translateX(140px);
  }
}

.title02 {
  margin-top: 70px;
  margin-left: auto;
  margin-right: 0px;
}
.image02 {
  margin-top: 200px;
  margin-bottom: 100px;
}

@media (max-width: 768px) {
  .title02 {
    margin-top: 35px;
  }
  .image02 {
    margin-top: 50px;
    width: 70%;
    margin-bottom: 10px;
  }
}

.title03 {
  margin-top: 20px;
}
.text03 {
}

@media (max-width: 768px) {
  .title03 {
     width:80%;
    margin-top: 20px;
  }
  .text03 {
   
    margin-bottom: 0px;
  }
  .mid_3 {
    padding-bottom: 0px;
  }
}

.title04 {
  margin-top: 10px;
}
.image0401 {
  width: 70%; 
  max-width: 1280px !important; 
  margin-top:clamp(20px, 5vw, 70px);
}
.image0402 {
  width: 70%; 
  max-width: 1280px !important;
  
}
.image0403 {
  width: 70%; 
  max-width: 1280px !important;
  margin-bottom: 150px;
}
.line0401 ,
.line0402 {
  display: block;
  width: min(70%, 1280px);
  margin-top: clamp(30px, 6vw, 90px);
  margin-bottom: clamp(30px, 6vw, 90px);
}
/* 기본에서 image0401의 기본 마진(PC 기본값) */


 

/* ===============================
   1239px 이하: title04 조정 (기존 유지)
================================ */
@media (max-width: 1239px) {
  .title04 {  width: 40%; } /* 사실 기본과 동일이면 삭제 가능 */
}



.title05 {
  margin-top: 100px;
}

.text05 {
  margin-top: 120px;
  margin-bottom: 100px;
}

@media (max-width: 768px) {
  .title05 {
    margin-top: 20px;
  }

  .text05 {
    margin-top: 50px;
    margin-bottom: 20px;
    width: 90%;
  }
}

.title06 {
  margin-top: 100px;
}
.image06 {
  margin-top: 150px;
  margin-bottom: 100px;
}

@media (max-width: 768px) {
  .title06 {
    margin-top: 20px;
  }
  .image06 {
    margin-top: 30px;
    margin-bottom: 20px;
    width: 90%;
  }
}

.title07 {
  margin-top: 100px;
}
.image07 {
  margin-top: 80px;
  margin-bottom: 100px;
}
.text0701 {
  margin-top: 80px;
  margin-bottom: 100px;
}

.text0702 {
  margin-top: 200px;
  margin-bottom: 100px;
}

@media (max-width: 768px) {
  .title07 {
    margin-top: 20px;
  }
  .image07 {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .text0701 {
    margin-top: 60px;
    margin-bottom: 100px;
  }

  .text0702 {
    margin-top: 20px;
    margin-bottom: 20px;
    width: 80%;
  }
}


/* ===============================
   모바일/태블릿 세로(핵심): 768px 이하
   - 여기만 보면 모바일이 끝나게
================================ */
 

.image0801 {
  margin-top: 10px;
}

.image0802 {
  margin-top: 150px;
}

.image0803 {
  margin-top: 250px;
}

.image0804 {
  margin-top: 100px;
}

.click08 {
  margin-top: 350px;
}

.bottom08 {
  width: 60%;
  margin-top: 100px;
  margin-bottom: 100px;
}

@media (max-width: 768px) {
  .image0801 {
    width: 90%;
    margin-top: 40px;
  }

  .image0802 {
    width: 70%;
    margin-top: 40px;
  }

  .image0803 {
     margin-top: 60px;
  }

  .image0804 {
    margin-top: 40px;
  }

  .click08 {
    margin-top: 80px;
    margin-bottom: 20px;
  }

  .bottom08 {
    margin-top: 50px;
    width: 90%;
    margin-bottom: 100px;
  }
}
