@charset "utf-8";
/* g마켓 산스 폰트 */
@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}
/* VITRO CORE 폰트 */
@font-face {
  font-family: 'VitroCore';
  src: url('./fonts/VITRO_CORE.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* VITRO INSPIRE 폰트 */
@font-face {
  font-family: 'VitroInspire';
  src: url('./fonts/VITRO_INSPIRE.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* VITRO PRIDE 폰트 */
@font-face {
  font-family: 'VitroPride';
  src: url('./fonts/VITRO_PRIDE.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
/* 나눔스퀘어 네오 폰트 */
@font-face {
    font-family: 'NanumSquareNeo';
    src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-cBd.woff2);
    font-weight: 700;
    font-display: swap;
}
body { margin: 0; padding: 0;}
ul, ol, li { list-style: none; }
img { max-width:100%;}
.wrap {
    margin: 0 auto;
    width: 640px;
    min-height: 100vh;
    max-width:100%;
}

/* section 01 */
.sec01 {
    /* background: #728ae5; */
    background: linear-gradient(135deg, #a366ff, #9e63d5, #d7499e);
    text-align: center;
    padding: 30px 0 20px;
    color: #d8f7ff;
    border-radius: 69px;
}
.sec01 p {
    font-size: 31px;
    font-family: 'NanumSquareNeo';
}
.sec01 p b {
    color: #ffffff;
}
.sec01 .date {
    display: inline-block;
    margin-bottom: 10px;
}
.sec01 .num {
    font-size: 45px;
    font-family: 'VitroCore';
}
.sec01 .num b {
    font-size: 57px;
}
@media (max-width: 640px) {
    .sec01 {
        padding: 4vw 0 3vw;
        border-radius: 50px;
    }
    .sec01 p {
        font-size: 5.4vw;
    }
    .sec01 .num {
        font-size: 9vw;
    }
    .sec01 .num b {
        font-size: 11vw;
    }
}
@media(max-width:500px){
  .sec01 {
        border-radius: 40px;
    }
}

/* section 02 */
.sec02 { position: relative;}
.sec02 .text {
    position:absolute; 
    width:max-content; 
    font-family: 'GMarketSans'; 
    font-size:76px; 
    font-weight: bold;
}
.sec02 .text1 {-webkit-text-stroke:5px #ffffff; color:transparent;}
.sec02 .text2 {
  background: linear-gradient(to right, #4600b5, #f40091);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; 
  color: transparent;
}
.sec02 .count .text {
  left: 50%;
  top: 57%;
}

@media(max-width:640px){
    .sec02 .text { font-size: 12vw;}
    .sec02 .count .text {left:49%; top:57%;}

}



/**********************************************
* 디비 폼 (상담신청 폼)
**********************************************/
.consult-form {
  padding: 5% 3% 7%;
  margin-bottom: 0;
}

.consult-container {
  background: #fff;
  padding: 30px;
  margin-top: 5%;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/**********************************************
* 버튼
**********************************************/
.submit-button {
  margin: 20px auto 0;
  display: block;
  max-width: 305px;
  cursor: pointer;
}

/**********************************************
* 질문 블록 공통
**********************************************/
.question-block {
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
  margin-bottom: 20px;
}

.question-block:last-child {
  border-bottom: none;
}

.question-title {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 10px;
}

/**********************************************
* 선택 영역 (옵션 리스트)
**********************************************/
.option-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 0;
  list-style: none;
  padding: 0;
  margin: 0;
}

.option-list li {
  width: calc(50% - 4px);
}
.carrier-options li {
  width: calc(33.33% - 4px);
}

/* 라벨 스타일 */
.option-list label {
  font-weight: normal;
  font-size: 16px;
  cursor: pointer;
  color: #999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  height: 80px;
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 10px;
  box-sizing: border-box;
  transition: all 0.2s ease;
}

.option-list label img {
  opacity: 0.9;
  max-width: 40%;
}
.option-list label img.icon_sk {
  max-width: 55%;
}

.option-list input[type=radio] {
  display: none;
}

.option-list input:checked + label {
  color: #111;
  border: 2px solid #3258f7;
}

.option-list input:checked + label img {
  opacity: 1;
}

/* 상담시간 선택 (작은 버튼형) */
.calltime-options label {
  height: 45px;
  border-radius: 6px;
  font-size: 15px;
}

.calltime-options input:checked + label {
  background: #3258f7;
  color: #fff;
}

/**********************************************
* 입력 테이블
**********************************************/
.consult-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 5px;
}

.consult-table tr:not(:last-child) td:first-child {
  font-weight: 600;
  width: 80px;
  font-size: 16px;
}

.consult-table td {
  padding: 4px 0;
}

.consult-table td.center {
  text-align: center;
  font-weight: 400;
}

.consult-table td input,
.consult-table td select {
  width: 100%;
  height: 45px;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 6px;
  padding: 0 10px;
  box-sizing: border-box;
  font-size: 15px;
}

.consult-table input[type=checkbox] {
  width: 15px;
  height: 15px;
  margin: -2px 5px 0 0;
  vertical-align: middle;
}

.consult-table tr:last-child td {
  padding-top: 15px;
  text-align: center;
  font-size: 14px;
}

.consult-table a {
  color: #3258f7;
  text-decoration: underline;
}

/**********************************************
* 반응형 (모바일 대응)
**********************************************/
@media (max-width: 640px) {
  .consult-container { 
    padding: 10px;
  }
  .product-options li{
    width: calc(50% - 4px);
  }
  .option-list label { 
    font-size: 14px;
  }
  .option-list label img {
    max-width: 57%;
  }
  .option-list label img.icon_kt {
    max-height: 25px;
  }
  .option-list label img.icon_sk {
    max-width: 70%;
  }
  .question-title {
    font-size: 15px;
  }
  .consult-table td:first-child {
    width: 60px;
  }
  .consult-table td input, .consult-table td select {
    padding: 0 5px;
  }
  .phone-input-row select {
    min-width: 60px;
  }
  .submit-button {
    max-width: 75%;
  }
}
@media( max-width:350px){
  .option-list label { 
    font-size: 13px;
  }
}


/* =========================================
   📱 휴대폰 번호 입력 영역 너비 조정
========================================= */
.phone-input-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.phone-input-row select {
  width: 20% !important; /* 첫 번째*/
  min-width: 80px;
}

.phone-input-row input[type="tel"] {
  width: 40%; /* 중간, 마지막 */
}

.phone-input-row .center {
  width: auto;
  flex: 0 0 auto;
  text-align: center;
}

/* 모바일 대응 */
@media (max-width: 480px) {
  .phone-input-row {
    gap: 4px;
  }
  .phone-input-row select {
    /* width: 38%; */
  }
  .phone-input-row input[type="tel"] {
    /* width: 28%; */
  }
}

/* =========================================
   개인정보 처리방침 팝업
========================================= */
#privacy-popup-wrapper {
    position: relative;
    padding: 5px;
    z-index: 999;
    background: rgba(255, 255, 255, 0.7);
}

.privacy-popup {
    position: relative;
    font-size: 13px;
    color: #555;
    letter-spacing: -0.4px;
}

.privacy-popup h1 {
    margin: 0;
    padding: 10px;
    background: #333;
    color: #FFF;
    font-size: 18px !important;
    font-weight: bold;
}

.popup-content {
    display: inline-block;
    width: 100%;
    padding: 0 2%;
    word-wrap: break-word;
    word-break: break-all;
    line-height: 1.3;
    white-space: pre-wrap;
    text-align: left;
    box-sizing: border-box;
}

.section-title {
    font-size: 15px;
    font-weight: bold;
    color: #03C;
}

.section-box {
    border: 1px solid #CCC;
    box-sizing: border-box;
    padding: 0 2%;
}

.popup-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 999;
}

.popup-close a {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(/images/allin/close-popup.webp) no-repeat;
    text-indent: -99999px;
    overflow: hidden;
}

/* 슬라이드 (현금 지급 현황 세로 롤링) */
.sec08 {
  padding-bottom: 4%;
  background-color: #F6F6F6; 
}
.swiper.box { 
  width:100%; 
  box-sizing: border-box;
  overflow:hidden;
  padding: 0 20px;
  background-color: #F6F6F6;
}  
.swiper {height: 300px !important;margin-bottom:5%;padding:0 20px;} 
.swiper-slide {vertical-align: middle; font-family: 'S-CoreDream-3Light', sans-serif !important; width:100%; letter-spacing: -0.2px; padding:0 20px; font-size:22px; display:flex; align-items:center; height:100%; border:1px solid #bbc8ff; background:#fff; box-sizing: border-box !important;}
.swiper-slide p {margin-top: 10px; margin-bottom:0; width:100%; font-weight:400; display:flex; align-items:center; justify-content:space-between;}
.swiper-slide p span {display:inline-block; text-align:center;}
.swiper-slide p span:nth-child(1) {width:150px;}
.swiper-slide p span:nth-child(2) {width:60px;}
.swiper-slide p span:nth-child(3) {width:100px;}
.swiper-slide p span:nth-child(4) {width:100px;}
.swiper-slide p span.complete {color:#3258f7; font-weight:bold;}

@media(max-width:640px){
  .swiper-slide { 
    font-size: 4vw;
    padding: 0 15px;
  }
  .swiper-slide p { margin-top: 15px;}
}


/* 사업자정보 푸터 */

.sec09 {
  padding: 45px 0;
  text-align: center;
  font-size: 17px;
  letter-spacing: 0.34px;
  line-height: 1.7;
}
.sec09 p {
  margin: 0;
}

@media (max-width:500px) {
  .sec09 {
    padding: 35px 0;
    font-size: 14px;
    letter-spacing: 0.24px;
  }
}