.sec1 {padding: 0; background: var(--pr3); overflow: hidden;}
.sec1 .container {position: relative; padding: 128px 0;}
.sec1_ct {display: flex; align-items: center; justify-content: flex-end; width: 100%;}
.sec1_ct .img-box {position: absolute; bottom: 0; left: 0; width: 528px; height: auto;}
.sec1_ct .img-box img {width: 100%; height: auto;}

.sec1_ct .txt-box {}
.sec1_ct .txt-box .sub {margin-bottom: 21px; font-size: 30px; font-weight: 600; line-height: 1.3; letter-spacing: -0.6px; color: var(--gray_6);}
.sec1_ct .txt-box .tit {margin-bottom: 21px; font-size: 50px; font-weight: bold; line-height: 1.3; letter-spacing: -2px; color: var(--black_3);}
.sec1_ct .txt-box .tit b {color: var(--pr);}
.sec1_ct .txt-box .tit span {color: var(--pr);}
.sec1_ct .txt-box .txt {font-size: 22px; font-weight: 400; line-height: 1.6; letter-spacing: -0.44px; color: var(--gray_6);}
.sec1_ct .txt-box .description {margin-top: 122px; font-size: 16px; font-weight: 400; line-height: 1.6; letter-spacing: -0.32px; color: var(--gray_6); text-align: left;}

/* sec2_ct */
.sec2 {padding: 120px 0 170px; overflow: hidden;}
.sec2_ct {position: relative; width: 100%; height: auto;}
.sec2_ct ul {display: flex; align-items: flex-start; justify-content: center; gap: 27px;}
.sec2_ct ul .sec_img {position: relative; width: 300px; height: auto;}
.sec2_ct ul .sec_img .img2 {position: absolute; top: -70px; right: -70px; width: 140px; height: auto;}
.sec2_ct ul .vs_img {position: relative; width: 282px; height: auto; z-index: 2;}
.sec2_ct ul li img {width: 100%; height: auto;}

/* g80_img */
.sec2_ct .g80_img {position: absolute; bottom: -119px; left: 47%; transform: translateX(-50%); width: 640px; height: auto; z-index: 2;}
.sec2_ct .g80_img img {width: 100%; height: auto;}

/* sec3 */
.sec3 {background: var(--wt_f2);}
.sec3 .tit-box h1 img {width: 120px; margin-bottom: 10px;}

/* sec3_ct */
.sec3_ct {width: 100%; height: auto;}
.sec3_ct ul {display: flex; align-items: center; flex-wrap: wrap; gap: 40px 0; margin: 0 -10px;}
.sec3_ct ul li {width: calc(100% / 3); padding: 0 10px; box-sizing: border-box;}
.sec3_ct ul li .child-box {width: 100%; height: auto; border-radius: 15px; background: var(--wt);}
.sec3_ct ul li .child-box .img-box {width: 100%; height: 250px; padding: 38px 36px; box-sizing: border-box; overflow: hidden;}
.sec3_ct ul li .child-box .img-box img {width: 100%; height: 100%; object-fit: contain; transition: all .3s;}
.sec3_ct ul li:hover .child-box .img-box img {transform: scale(1.2);}

.sec3_ct ul li .child-box .list_box {width: 100%; height: auto; padding: 5px 26px 40px; box-sizing: border-box;}
.sec3_ct ul li .child-box .list_box .d-flex {display: flex; align-items: center; justify-content: center; height: 68px;}
.sec3_ct ul li .child-box .list_box .name {font-size: 30px; font-weight: bold; line-height: 1.3; letter-spacing: -0.52px; color: var(--black_3); word-break: break-all;}
.sec3_ct ul li .child-box .list_box .dt_box {white-space: nowrap; padding: 10px 20px; box-sizing: border-box; border: 1px solid var(--gray_d9); font-size: 16px; font-weight: 400; line-height: 1.3; letter-spacing: -0.32px; color: var(--gray_6); border-radius: 60px;}

.sec3_ct ul li .child-box .list_box .dl-box {display: flex; flex-flow: column; gap: 15px; margin-top: 15px;}
.sec3_ct ul li .child-box .list_box .dl-box dl {display: flex; align-items: center; justify-content: space-between;}
.sec3_ct ul li .child-box .list_box .dl-box dl dt {font-size: 18px; font-weight: 400; line-height: 1.3; letter-spacing: -0.36px; color: var(--gray_6);}
.sec3_ct ul li .child-box .list_box .dl-box dl dd {font-size: 18px; font-weight: bold; line-height: 1.3; letter-spacing: -0.36px; color: #000;}
.sec3_ct ul li .child-box .list_box .dl-box dl dd b {font-size: 24px; color: var(--pr);}
.description {margin-top: 20px; text-align: left; font-size: 16px; font-weight: 400;line-height: 1.6; letter-spacing: -0.32px; color: var(--gray_6);}
.description.txtr {text-align: right;}

  /* 5. 뱃지 너비 강제 고정 (flex: none 필수) */
  .sec3_ct ul li .child-box .list_box .dl-box dl dt {
    flex: none !important; /* 부모 flex 무시하고 고정폭 유지 */
    width: 105px !important; /* 폭을 넉넉히 주어 '선납금 30%'까지 수용 */
    text-align: center;
    padding: 4px 0 !important;
    border-radius: 7px;
    white-space: nowrap;
    line-height: 1.2;
  }

  /* 색상 코드 */
  .sec3_ct ul li .child-box .list_box .dl-box dl:first-child dt { background: #000 !important; color: #fff !important; }
  .sec3_ct ul li .child-box .list_box .dl-box dl:last-child dt { background: #f06138 !important; color: #fff !important; }

.tab-menu-wrap {text-align: center; margin-bottom: 40px; display: flex; justify-content: center; }
.tab-btn {flex: 1; padding: 12px 30px; font-size: 18px; color: #3171C6; border: 1px solid #3171C6; background: #fff; cursor: pointer; transition: all 0.3s;}
.tab-btn.active {background: #3171C6; color: #fff; border-color: #3171C6;}

.sec3-bottom {display: flex; justify-content: right; margin: 10px 0;}
.sec3-bottom ul {display: flex; list-style: none; padding: 0; margin: 0;}
.sec3-bottom ul li {padding: 5px 15px; border: 1px solid #666; border-radius: 50px; background-color: #666; color: #fff; font-size: 14px; transition: all 0.3s ease; text-align: center;}

/* sec4_ct */
.sec4_ct {width: 100%; height: auto;}
.sec4_ct ul {position: relative; display: flex; align-items: center; justify-content: space-between; z-index: 1;}
.sec4_ct ul:before {position: absolute; top: 49px; left: 50%; transform: translateX(-50%); content:''; display: block; width: 90%; height: 2px; background: var(--pr); z-index: -1;}
.sec4_ct ul li {position: relative; width: auto; height: auto;}
.sec4_ct ul li:before {position: absolute; top: 36px; right: -23px; content: ''; display: block; width: 26px; height: auto; aspect-ratio: 1; background: url(../img/ckd_img.png)no-repeat 50% 50%; background-size: cover;}
.sec4_ct ul li:nth-child(1):before {right: -62px;}
.sec4_ct ul li:nth-child(2):before {right: -74px;}
.sec4_ct ul li:nth-child(3):before {right: -92px;}
.sec4_ct ul li:nth-child(4):before {right: -64px;}
.sec4_ct ul li:nth-child(5):before {display: none;}
.sec4_ct ul li .child-box {width: auto; height: auto;}
.sec4_ct ul li .child-box .img-box {width: auto; height: 265px;}
.sec4_ct ul li .child-box .img-box img {width: auto; height: 100%;}

/* sec5 */
.sec5 {width: 100%; height: auto; background: url(../img/banner_bg.png)no-repeat 50% 50%; background-size: cover;}

/* sec5_ct */
.sec5_ct {width: 100%; height: auto;}
.sec5_ct ul {display: flex; align-items: center; justify-content: center; gap: 124px;}
.sec5_ct ul li {text-align: center;}
.sec5_ct ul li .child-box {text-align: center;}
.sec5_ct ul li .child-box .icon {width: 100px; height: auto; margin: 0 auto 28px;}
.sec5_ct ul li .child-box .icon img {width: 100%; height: auto;}
.sec5_ct ul li .child-box .txt-box {text-align: center;}
.sec5_ct ul li .child-box .txt-box .tit {font-size: 30px; font-weight: bold; line-height: 1.3; letter-spacing: -0.6px; color: var(--wt);}
.sec5_ct ul li .child-box .txt-box .num_txt {display: flex; align-items: center; justify-content: center; width: 274px; height: 85px; margin-top: 21px; border-radius: 60px; border: 1px solid var(--pr); font-size: 30px; font-weight: bold; line-height: 1.3; letter-spacing: -0.6px; color: var(--pr);}
.sec5_ct ul li .child-box .txt-box .num_txt .num {font-size: 50px; letter-spacing: -1px;}
.sec5_ct ul li .child-box .txt-box .num_txt .txt {margin-top: 11px;}

/* sec6 */
.sec6 {background: var(--wt_f2); padding: 40px 15px; }

.sec6 .container h1 {font-size: 25px; color: var(--pr); text-align: center; margin-bottom: 10px;}

.sec6 .swiper-container {
  max-width: 1200px; /* 원하시는 최대 폭으로 설정 (예: 1000px, 1200px) */
    margin: 0 auto;    /* 가운데 정렬 */
    padding: 20px 0;
}

/* 2. 모든 슬라이드 아이템의 높이를 부모에 맞춤 */
.swiper-slide {
  height: auto !important;
  display: flex !important;
}

/* 슬라이드 개별 카드 스타일 */
.review_slider {
  width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
  height: 100%; /* 높이 균일화 */
  min-height: auto !important;
  border: 1px solid #eee;
}

.review_slider .txt-box {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;         /* 텍스트 박스가 남은 공간을 채워 높이 맞춤 */
}

.review_slider:hover {
  transform: translateY(-5px); /* 마우스 올렸을 때 살짝 들림 */
}

/* 이미지 박스 */
.review_slider .img-box {
  width: 100%;
  height: 275px;
  overflow: hidden;
  background-color: #eee;
}

.review_slider .img-box img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* 텍스트 내용 박스 */
.review_slider .txt-box {
  padding: 20px;
  text-align: left;
}


.review_slider .txt-box .tit {
  font-size: 1.1rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 10px;
}

.review_slider .txt-box .txt {
  min-height: auto !important;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #666;
  /* 텍스트가 너무 길면 말줄임표 처리 (원하는 줄 수로 조절) */
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stars {
  background: linear-gradient(to bottom, #ffec82, #ffcc00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
  display: inline-block;
}

/* 하단 고정 스타일 */
.on-form-area {display: none;}

/* 사이드 고정 스타일 */
.quick {position: fixed; bottom: 48px; right: 10px; width: 205px; z-index: 998;}

.qform {position: relative; padding: 22px 15px 12px 15px; margin-bottom: 17px; background: #fff; border-radius: 20px; box-shadow: 2px 2px 5px rgba(0, 0, 0, 25%);}

.quick .qform .text-center {text-align: center;}
.quick .qform .tit h2 {font-size: 20px;}
.quick .qform .tit p {margin-top: 5px; font-size: 14px; line-height: 1.3; letter-spacing: -0.5px; color: #858585;}
.quick .qform .qkcm {position: relative; top: 8px; margin-top: -5px;}
.quick .qform li {margin-bottom: 5px; display: flex; align-items: center; gap: 5px;}
.quick .qform li label {font-size: 14px; color: #3a3a3a; width: 80px; font-weight: 600;}
.quick .qform li:nth-child(1) label, .quick .qform li:nth-child(3) label {letter-spacing: 11px;}
.quick .qform li input {width: 100%; padding: 8px 10px; border: 1px solid #d2d2d2; border-radius: 5px; font-size: 12px; line-height: 18px;}
.quick .qform .gnaAgree {margin: 10px 0; font-size: 13px;}
.gnaAgree {width: 100%;}
.gnaAgree .flex {display: flex; align-items: center;}
.quick .qform .gnaAgree li {justify-content: center !important; gap: 5px; margin-bottom: 0;}
.quick .qform .gnaAgree li label {letter-spacing: -1px !important; font-size: 10.5px; width: auto !important; padding: 0 !important;}
.gnaAgree input[type="checkbox"] {width: 13px !important; height: 13px; margin: 0; cursor: pointer;}
.quick .qform .gnaAgree li label a {font-size: 10.5px !important;}
.quick .qform button {padding: 13px; width: 100%; background: #f06138; color: #fff; font-size: 16px; font-weight: 600; text-align: center; border-radius: 8px; letter-spacing: -0.5px;}

.fc-s {color: #f06138;}
.fc-s img {width: 100px;}
