.blue_point {
    color: #035cff;
}

.bg_point {
    background-color: #035cff;
}

.yel_point {
    color: #fff94c;
}

.lpt {
    letter-spacing: 0;
}

.floating {
    width: 100%;
    float: left;
    position: fixed;
    bottom: 0;
    z-index: 9999;
}

.floating .float_box {
    width: 100%;
    float: left;
    padding-bottom: 50px;
}

/* 1. 버튼들을 감싸는 컨테이너 (ul) 설정 */
.floating .float_box>ul {
    display: flex;
    /* 요소들을 나란히 배치하는 Flexbox 활성화 */
    justify-content: center;
    /* 가로 기준 완벽한 한가운데 정렬 */
    gap: 20px;
    /* 두 버튼 사이의 간격을 20px로 고정 */
    width: 100%;
    /* 기존 30%를 지우고 100%로 설정하여 여유 공간 확보 */
    padding: 0;
    /* 브라우저 기본 패딩 제거 */
    margin: 0;
    /* ★ 기존의 margin: auto 455px; 무조건 삭제! */
    list-style: none;
    /* 리스트 점(마커) 제거 */
}

/* 2. 개별 버튼 (li) 설정 */
.floating .float_box>ul>li {
    float: none;
    /* ★ 기존의 float: left; 무조건 삭제! (flex가 알아서 나란히 해줍니다) */
    margin: 0;
    /* ★ 기존의 margin-right: 20px; 삭제! (위의 gap이 대신합니다) */
    width: 185px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    border-radius: 50px;
    box-shadow: 2px 5px 3px rgba(0, 0, 0, 0.2);
    font-weight: 600;
    font-size: 18px;
}

/* 개별 버튼 색상 설정 (기존과 동일하게 유지) */
.floating .float_box>ul>li.ai_btn {
    background-color: #035cff;
    color: #fff;
}

.floating .float_box>ul>li.form_btn {
    background-color: #fff;
    color: #035cff;
}

.floating .float_box>ul>li>a {
    width: 100%;
    float: left;
}

@media screen and (max-width: 768px) {

    /* 1. 고정된 1300px 너비 제한 해제 */
    .common_box {
        min-width: 100%;
    }

    .common_box>div {
        width: 100%;
    }

    /* 2. 버튼 컨테이너 여백 및 간격 조정 */
    .floating .float_box {
        padding-bottom: 25px;
        /* 모바일에서는 화면을 덜 가리도록 하단 여백 축소 */
    }

    .floating .float_box>ul {
        gap: 10px;
        /* 버튼 사이의 간격을 20px -> 10px로 축소 */
        padding: 0 15px;
        /* 화면 양쪽 끝에 딱 붙지 않도록 좌우 여백 추가 */
        box-sizing: border-box;
        /* 패딩이 전체 너비에 포함되도록 설정 */
    }

    /* 3. 모바일 화면에 맞춘 버튼 크기 자동 비율 조정 */
    .floating .float_box>ul>li {
        width: 150px;
        /* ★ flex: 1을 지우고 고정 너비(150px) 부여 */
        flex: none;
        /* 버튼이 좌우로 늘어나는 것을 방지 */
        height: 52px;
        line-height: 52px;
        font-size: 15px;
    }
}

/*신청폼*/
.form_warp {
    background-color: #1e2832;
    padding: 110px 0;
    width: 100%;
    float: left;
}

.form_warp .con_box {
    width: 100%;
    float: left;
}

.form_warp .main_title {
    width: 100%;
    float: left;
    text-align: center;
}

.form_warp .con_box .main_title .title {
    font-size: 40px;
    font-weight: 500;
    color: #fff;
}

.form_warp .main_title .title>span {
    font-weight: 800;
}

.form_warp .main_form {
    width: 100%;
    float: left;
    background-color: #fff;
    border-radius: 15px;
    padding: 50px 90px 70px 90px;
    margin-top: 40px;
}

.form_warp .main_form .form_box {
    width: 48%;
    float: left;
    margin-top: 20px;
    margin-left: 30px;
}

.form_warp .main_form .form_box.no-margin {
    margin-left: 0px;
}

.form_warp .main_form .form_box>div {
    width: 100%;
    float: left;
    font-size: 18px;
    color: #000;
    font-weight: 600;
}

.form_warp .main_form .form_box>div .pt {
    color: #cc3333;
    font-weight: 600;
}

.form_warp .main_form .form_box input {
    width: 100%;
    float: left;
    line-height: 60px;
    border-radius: 0px;
    border: 2px solid #e0e0e0;
    font-size: 18px;
    text-align: left;
    margin-top: 5px;
    padding: 0 10px;
}

.form_warp .main_form .form_box>div .Info_txt {
    float: right;
    color: #999;
    font-size: 14px;
    font-weight: 400;
}

/* ë¬¸ìž ì¸ì¦ ê´€ë ¨ */
.sms_check_type1 {
    width: 100% !important;
}

.sms_check_type2 {
    width: 48% !important;
}

.sms_check_type1 #smsCheckBtn {
    width: 25% !important;
}

.sms_check_type2 #sendSmsNum {
    width: 25% !important;
}

/* .form_warp .main_form .form_box .sms_check_type2 button { display:none; } */
#sendSmsNum {
    background-color: #035cff;
    color: white;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-45%);
    width: 80px;
    height: 35px;
    border-radius: 5px;
}

#smsCheckBtn {
    background-color: #035cff;
    color: white;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-45%);
    width: 55px;
    height: 35px;
    border-radius: 5px;
}

.form_warp .main_form .form_box2>label {
    width: 32%;
    float: left;
    line-height: 60px;
    border-radius: 0px;
    border: 2px solid #e0e0e0;
    font-size: 18px;
    text-align: left;
    margin-top: 5px;
    margin-left: 10px;
    padding: 0 10px;
    text-align: center;
    background-color: #fff;
}

.form_warp .main_form .form_box2>label.no-margin {
    margin-left: 0;
}

.form_warp .main_form .form_box>label:has(input[type=radio]:checked) {
    color: #035cff;
    background-color: #e5eeff;
    font-weight: 700;
    border: 0;
    border: 2px solid #035cff;
}

.form_warp .main_form .form_box3>label {
    width: 48%;
    float: left;
    line-height: 60px;
    border-radius: 0px;
    border: 2px solid #e0e0e0;
    font-size: 18px;
    text-align: left;
    margin-top: 5px;
    margin-left: 20px;
    padding: 0 10px;
    text-align: center;
    background-color: #fff;
}

.form_warp .main_form .form_box3>label.no-margin {
    margin-left: 0;
}

.form_warp .main_form .form_box4>input {
    width: 92%;
    float: left;
    text-align: right;
}

.form_warp .main_form .form_box4>span {
    width: 8%;
    float: left;
    line-height: 60px;
    font-size: 16px;
    text-align: right;
    padding-top: 7px;
}

.form_warp .main_form .form_box5 {
    width: 100%;
    float: left;
    margin-top: 20px;
}

.form_warp .main_form .form_box5>div {
    width: 100%;
    float: left;
    display: flex;
    gap: 10px;
}

.form_warp .main_form .form_box5 div .checkbox_ctr {
    width: 3%;
    float: left;
}

.form_warp .main_form .form_box5 .checkbox_ctr input:checked~.checkmark {
    cursor: pointer;
    background: #68dd00;
    border: 1px solid #68dd00;
}

.form_warp .main_form .form_box5 .checkmark {
    cursor: pointer;
    position: absolute;
    top: 1px;
    left: 0;
    height: 25px;
    width: 25px;
    background: none;
    border: 1px solid #999;
    border-radius: 4px;
    transition: 0.3s;
    transform-origin: left;
}

.form_warp .main_form .form_box5 .checkmark>i {
    text-align: center;
    color: #fff;
    margin: 4px 5px;
}

.form_warp .main_form .form_box5 .agree_checkbox {
    width: 21%;
    float: right;
    /* padding: 0px 0px 0px 5px; */
    font-size: 16px;
    font-weight: 500;
    line-height: 27px;
}

.form_warp .main_form .form_box5 .agree_checkbox .agree_checktext {
    cursor: pointer;
}

.form_warp .main_form .form_box5 .agree-info {
    width: 100%;
    float: left;
    height: 130px;
    overflow-y: scroll;
    padding: 20px;
    border: 2px solid #e6e6e6;
    background-color: #fff;
    color: #999;
    margin-top: 15px;
}

.form_warp .main_form .form_box5 .agree_btn button {
    width: 120px;
    height: 30px;
    border-radius: 10px;
    background-color: #37597e;
    color: #fff;
    text-align: center;
}

.form_warp .main_form .form_box5 .agree_btn button:hover {
    background-color: #222;
    transition: 0.5s ease-out, transform 0.5s ease-out;
}

.form_warp .main_form .form_box5 .agree-info2 {
    display: none;
}

.form_warp .main_form .ft_txt {
    width: 100%;
    float: left;
    font-size: 18px;
    color: #444;
    font-weight: 600;
    background-color: #f3f3f3;
    line-height: 56px;
    padding: 0 20px;
    margin-top: 30px;
}

.form_warp .main_form .ft_txt>i {
    margin-right: 12px;
}

.form_warp .main_form .ft_txt>span {
    color: #cc3333;
    font-size: 15px;
    font-weight: 500;
}

.form_warp .main_form .btn_box {
    width: 100%;
    float: left;
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

.form_warp .main_form .btn {
    width: 400px;
    float: left;
    height: 70px;
    line-height: 70px;
    border-radius: 15px;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
}

.btn_box .bg_point {
    background-color: #e0e0e0;
}

.btn_box .btnActive {
    background-color: #035cff;
}

/*ê³µí†µ íƒ€ì´í‹€ë°•ìŠ¤*/
.con_box {
    width: 100%;
    float: left;
}

.con_box .main_title {
    width: 100%;
    float: left;
    text-align: center;
}

.con_box .main_title .sub {
    font-size: 34px;
    color: #222;
    font-weight: 400;
}

.con_box .main_title .sub2 {
    font-size: 30px;
    color: #222;
    font-weight: 300;
    margin-top: 5px;
}

.con_box .main_title .sub2 .bd_tt {
    color: #111;
    font-weight: 400;
}

.con_box .main_title .title {
    font-size: 42px;
    font-weight: 600;
    color: #000;
}

.con_box .main_title .title>span {
    font-weight: 900;
}

.con_box .main_title .ex_sub {
    font-size: 20px;
    color: #1e2832;
    letter-spacing: 1px;
}


@media (max-width: 767px) {

    /* 1. 폼 전체 좌우 여백(패딩) 대폭 축소 (90px -> 20px) */
    .form_warp .main_form {
        padding: 30px 20px 40px 20px !important;
    }

    /* 2. 입력칸(이름, 연락처 등)을 가로 100%로 꽉 채워서 세로로 안전하게 스택(Stack) 배치 */
    .form_warp .main_form .form_box {
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 20px !important;
    }

    /* 3. 라디오 버튼(신청종류 등) 간격 및 크기 자동 맞춤 (2개씩 예쁘게 배치) */
    .form_warp .main_form .form_box2>label,
    .form_warp .main_form .form_box3>label {
        width: 48% !important;
        margin-left: 4% !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        font-size: 15px !important;
        /* 모바일에서는 글씨를 살짝 줄여서 한 줄에 들어오게 함 */
    }

    /* 각 줄의 첫 번째 라디오 버튼은 좌측 마진 0 */
    .form_warp .main_form .form_box2>label.no-margin,
    .form_warp .main_form .form_box3>label.no-margin {
        margin-left: 0 !important;
    }

    /* 4대보험, 신용카드 등 2개짜리 버튼도 동일하게 48%씩 분배 */
    .form_warp .main_form .form_box .btn-on,
    .form_warp .main_form .form_box .btn-off {
        width: 48% !important;
        box-sizing: border-box;
    }

    .form_warp .main_form .form_box .btn-off {
        margin-left: 4% !important;
    }

    /* 자산여부(3개짜리 버튼) 모바일 맞춤 처리 */
    .form_warp .main_form .form_box2>label.button33 {
        width: 32% !important;
        margin-left: 2% !important;
        font-size: 14px !important;
    }

    .form_warp .main_form .form_box2>label.button33.no-margin {
        margin-left: 0 !important;
    }

    /* 4. 인증번호 발송 버튼 등 겹침 방지 */
    .sms_check_type1 #smsCheckBtn,
    .sms_check_type2 #sendSmsNum {
        width: auto !important;
        padding: 0 10px !important;
        font-size: 14px !important;
    }

    /* 5. 개인정보 동의 텍스트와 버튼이 모바일에서 겹치지 않게 세로로 나열 */
    .form_warp .main_form .form_box5>div:first-child {
        flex-direction: column !important;
        /* 가로 배열을 세로 배열로 변경 */
        gap: 15px !important;
    }

    .form_warp .main_form .form_box5 .agree_checkbox {
        font-size: 15px !important;
    }

    /* 6. 최종 제출 버튼 모바일 화면에 맞게 100% 꽉 채우기 (가로 뚫림 방지) */
    .form_warp .main_form .btn {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 18px !important;
    }

    /* 7. 하단 안내문구 텍스트 크기 조정 */
    .form_warp .main_form .ft_txt {
        font-size: 14px !important;
        line-height: 1.5 !important;
        padding: 15px !important;
        text-align: left;
    }

    .form_warp .main_form .form_box5 label.toggle {
        position: relative;
        display: inline-block;
        width: 25px;
        /* 체크마크 크기만큼 공간 확보 */
        height: 25px;
        margin: 0;
        cursor: pointer;
    }

    /* 2. 투박한 기본 체크박스 숨기기 */
    .form_warp .main_form .form_box5 label.toggle input[type="checkbox"] {
        display: none;
    }

    /* 3. 체크박스, 텍스트, 버튼을 한 줄로 나란히, 세로 기준 중앙 정렬 */
    .form_warp .main_form .form_box5>div:first-child {
        display: flex !important;
        align-items: left !important;
        /* 세로 기준 중앙 정렬 */
        gap: 15px !important;
        /* 요소들 사이 간격 */
        justify-content: left !important;
        /* 가로 기준 전체를 가운데로 모음 (원치 않으시면 flex-start로 변경) */
        float: none !important;
    }

    /* 4. Flexbox를 방해하는 기존 코드의 너비 제한과 float 해제 */
    .form_warp .main_form .form_box5 div .checkbox_ctr,
    .form_warp .main_form .form_box5 .agree_checkbox {
        width: auto !important;
        float: none !important;
        /* 🌟 기존 50% 너비 제한 해제 (텍스트 길이에 맞춤) */
        white-space: nowrap !important;
        /* 🌟 강제로 줄바꿈을 막고 한 줄로 표시 */
        font-size: 13.5px !important;
        /* 폰트 크기 유지 */
        letter-spacing: -0.5px !important;
    }

    /* 5. 텍스트 마진 미세조정 */
    .form_warp .main_form .form_box5 .agree_checkbox {
        margin-bottom: 0;
    }

    .form_warp, 
    .common_box {
        padding-left: 15px !important;  /* 🌟 화면 왼쪽 여백 (15px ~ 20px 추천) */
        padding-right: 15px !important; /* 🌟 화면 오른쪽 여백 */
        box-sizing: border-box !important; /* 패딩을 포함해서 100%를 유지하도록 방어 */
    }

}

.form_warp .main_form .form_box5>div:first-child {
    display: flex !important;
    flex-direction: row !important;
    /* 🌟 세로(column)를 가로(row)로 고정! */
    align-items: left !important;
    /* 세로 기준 가운데 정렬 */
    justify-content: left !important;
    /* 가로 기준 중앙 정렬 */
    gap: 8px !important;
    /* 공간 확보를 위해 요소 간 간격을 살짝 줄임 */
    float: none !important;
    flex-wrap: nowrap !important;
    /* 줄바꿈 금지 */
}

/* 2. 좁은 모바일 화면에서도 한 줄에 다 들어가도록 크기 미세조정 */
@media (max-width: 767px) {

    /* 텍스트 크기 약간 축소 */
    .form_warp .main_form .form_box5 .agree_checkbox {
        font-size: 13px !important;
        margin-bottom: 0 !important;
    }

    /* 이용약관 버튼 다이어트 */
    .form_warp .main_form .form_box5 .agree_btn button {
        width: 90px !important;
        /* 버튼 가로 길이 축소 */
        height: 30px !important;
        line-height: 30px !important;
        font-size: 12px !important;
        padding: 0 !important;
    }

    /* 체크박스 크기도 텍스트에 맞게 살짝 축소 */
    .form_warp .main_form .form_box5 label.toggle {
        width: 20px !important;
        height: 20px !important;
    }

    .form_warp .main_form .form_box5 .checkmark {
        width: 20px !important;
        height: 20px !important;
    }

    .form_warp .main_form .form_box5 .checkmark>i {
        margin: 2px 3px !important;
        font-size: 11px !important;
    }

}



.sec_09 {
    padding: 85px 0 50px 0;
    background-color: #f2f7ff;
    position: relative;
}

.sec_09 .content {
    width: 100%;
    float: left;
    z-index: 99;
}

.sec_09 .content .img {
    width: 305px;
    float: left;
    z-index: 9;
    position: absolute;
    left: 20px;
    top: -17px;
}

.sec_09 .content .check_box {
    width: 1065px;
    float: right;
    height: 250px;
    margin-top: 75px;
    background-color: #fff;
    border-radius: 50px;
    padding: 30px 200px;
    display: flex;
    align-items: center;
    left: -50px;
}

.sec_09 .content .check_box .sub_txt {
    width: 186px;
    height: 45px;
    line-height: 42px;
    font-size: 20px;
    text-align: center;
    font-weight: 500;
    color: #295097;
    border-radius: 50px;
    border: 2px solid #d2e3ff;
    background-color: #fff;
    position: absolute;
    top: -8%;
    left: 50%;
    transform: translate(-80%, 0%);
}

.sec_09 .content .check_box>ul {
    width: 100%;
    float: left;
}

.sec_09 .content .check_box>ul .text {
    width: 100%;
    float: left;
    color: #444;
    font-weight: 400;
    font-size: 19px;
    margin-top: 15px;
    display: flex;
    align-items: center;
}

.sec_09 .content .check_box>ul .text .check {
    margin-right: 12px;
}

.sec_09 .content .check_box>ul .text .bd {
    font-weight: 500;
    color: #111;
}

.sec_09 .content .check_box>ul .text .bd.margin10 {
    margin-left: 5px;
}

.sec_09 .bg_color {
    width: 100%;
    height: 180px;
    left: 0;
    background-color: #035cff;
    position: absolute;
    bottom: 0;
    z-index: 1;
}

.sec_09 .con_box {
    position: relative;
    /* z-index를 작동시키기 위한 필수 조건 */
    z-index: 10;
    /* 파란 띠(1)보다 무조건 위에 뜨게 함 */
}

/* 2026.01.22 ìž‘ì—… - ëª©ì ì¶”ê°€ */
.sec_09 .content_new .img {
    top: -62px !important;
}

.sec_09 .content_new .check_box:first-child {
    margin-top: 0 !important;
}

.sec_09 .content_new .check_box {
    padding: 30px 95px !important;
    gap: 30px;
    margin-top: 30px;
}

.sec_09 .content_new .check_box>ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.sec_09 .content_new .check_box>ul .text {
    margin-top: 0;
    align-items: flex-start !important;
    font-size: 20px;
    line-height: 32px;
}

.sec_09 .content_new .check_box .sub_txt {
    line-height: 32px !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    height: 150px;
    position: initial !important;
    transform: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sec_09 .content_new .check_box .sub_txt.sub_txt_bg {
    background-color: #2b74f9;
    color: #fff;
}

.sec_09 .content_new .check_box .sub_txt.sub_txt_bg2 {
    background-color: #d4eaff;
    color: #1a4aa1;
}

.sec_02 {
    height: 120px;
    background-color: #035cff !important;
    /* sec_09의 bg_color와 동일한 파란색 강제 적용 */
    background-image: none !important;
    /* 방해되는 이미지 제거 */
    position: relative;
    z-index: 20;
    /* 확실하게 맨 위로 올림 */
}

.sec_02 .con_box {
    position: relative;
    z-index: 21;
}

.sec_02 .text {
    width: 100%;
    float: left;
    text-align: center;
    color: #fff;
    /* 이제 파란 바탕 위에 하얀 글씨가 선명하게 보일 겁니다! */
    font-size: 24px;
    font-weight: 500;
    line-height: 120px;
}

.sec_02 .text>span {
    color: #fffd4b;
}

/* sec_03 수정 */
.sec_03 {
    padding: 90px 0;
    background-color: #f4f4f5;
    clear: both;
    /* ★ 핵심: 위쪽 흐름을 끊고 정상적으로 자리 잡기 */
    position: relative;
    /* 자식 요소인 절대좌표 이미지(.img)의 기준점 역할 */
    z-index: 10;
}

.sec_03 .con_box {
    position: relative;
    /* 이미지 기준점을 한 번 더 확실히 잡아줌 */
}

.sec_03 .sub_txt {
    width: 100%;
    float: left;
    text-align: center;
    margin-top: 20px;
    font-size: 20px;
    font-weight: 300;
    color: #60646a;
}

.sec_03 .sub_txt>span {
    font-weight: 500;
}

.sec_03 .btn_box {
    width: 100%;
    float: left;
    margin-top: 50px;
    display: flex;
    justify-content: center;
}

.sec_03 .btn_box>a {
    width: 280px;
    height: 68px;
}

.sec_03 .btn_box>a>button {
    width: 280px;
    height: 68px;
    border-radius: 50px;
    text-align: center;
    background-color: #1e2832;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    border: none;
    cursor: pointer;
}

/* 버튼 스타일 보완 */
.sec_03 .btn_box>a>button>span {
    color: #fff94c;
}

.sec_03 .img {
    position: absolute;
    right: 0;
    bottom: -65px;
    z-index: 1;
}

/* sec_06 수정 */
.sec_06 {
    padding: 100px 0;
    background-image: url(../images/sec_06bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    clear: both;
    /* ★ 핵심: sec_03 밑으로 정상적으로 자리 잡기 */
    position: relative;
    z-index: 10;
}

.sec_06 .content {
    width: 100%;
    float: left;
    margin-top: 80px;
    display: flex;
    justify-content: center;
    gap: 30px;
}

.sec_06 .content .box {
    width: 270px;
    height: 270px;
    float: left;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    text-align: center;
    color: #fff;
    font-size: 18px;
    padding: 82px 0;
    box-sizing: border-box;
}

/* box-sizing 추가하여 패딩 삐져나옴 방지 */
.sec_06 .content .box2 {
    background-color: #283f56;
}

.sec_06 .content .box .num {
    color: #dcff1c;
    font-weight: 700;
    font-size: 40px;
    margin-top: 15px;
}

.sec_06 .content .box .num>.unit {
    font-weight: 400;
    font-size: 18px;
}

.con_box .main_title .sub img {
    display: block !important;
    /* 이미지를 확실한 박스 형태로 만듦 */
    margin: 0 auto !important;
    /* 박스의 좌우 여백을 똑같이 나누어 가져서 정중앙에 배치! */
}

@media (max-width: 767px) {

    /* 모바일에서는 23%라는 인라인 스타일을 무시하고 적당한 고정 크기로 보여주기 */
    .con_box .main_title .sub img {
        width: 280px !important;
    }

    /* ==============================================================
       🌟 sec_09 (대출지원 목적 / 상담원칙) 모바일 최적화
    ============================================================== */
    .sec_09 {
        padding: 40px 15px !important;
        /* 모바일 위아래 여백 축소 */
        overflow: hidden !important;
        /* 가로 스크롤 방지 */
    }

    .sec_09 .content {
        width: 100% !important;
        float: none !important;
    }

    /* 1) PC용 거대한 흰색 박스 너비(1065px) 및 높이 박살! */
    .sec_09 .content .check_box,
    .sec_09 .content_new .check_box {
        width: 100% !important;
        height: auto !important;
        padding: 30px 20px !important;
        /* 좌우 200px 패딩을 20px로 확 줄임 */
        margin-top: 40px !important;
        left: 0 !important;
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
        /* 가로 배열을 세로 배열로 변경 */
        border-radius: 20px !important;
        /* 모바일 맞춤 둥근 모서리 */
        box-sizing: border-box !important;
    }

    /* 2) 좌측/상단 제목 박스 (대출지원 목적 등) 위치 정상화 */
    .sec_09 .content .check_box .sub_txt,
    .sec_09 .content_new .check_box .sub_txt {
        position: relative !important;
        /* absolute 해제하여 박스 안으로 넣음 */
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        height: auto !important;
        padding: 12px 0 !important;
        border-radius: 12px !important;
        font-size: 18px !important;
        line-height: normal !important;
        margin-bottom: 20px !important;
        /* 텍스트 내용과의 간격 */
    }

    /* 3) 상단 사람 이미지(consult.png) 크기 및 위치 조정 */
    .sec_09 .content .img,
    .sec_09 .content_new .img {
        position: relative !important;
        left: 0 !important;
        top: 0 !important;
        width: 160px !important;
        /* 모바일 화면에 맞춰 이미지 축소 */
        margin: 0 auto -30px auto !important;
        /* 박스 중앙 위로 예쁘게 걸치게 설정 */
        display: block !important;
        float: none !important;
        z-index: 10 !important;
    }

    /* 4) 본문 텍스트 리스트 및 체크 아이콘 정렬 */
    .sec_09 .content .check_box>ul .text,
    .sec_09 .content_new .check_box>ul .text {
        font-size: 14.5px !important;
        /* 폰트 축소 */
        line-height: 1.5 !important;
        align-items: flex-start !important;
        /* 체크 아이콘이 위로 오도록 정렬 */
        word-break: keep-all !important;
    }

    .sec_09 .content .check_box>ul .text .check {
        flex-shrink: 0 !important;
        /* 체크 아이콘 찌그러짐 방지 */
        margin-right: 10px !important;
        margin-top: 3px !important;
        /* 텍스트 첫 줄과 높이 맞춤 */
    }

    .sec_09 .content .check_box>ul .text .check img {
        width: 18px !important;
    }

    /* ==============================================================
       🌟 sec_02 (하단 파란색 띠 영역) 모바일 최적화
    ============================================================== */
    .sec_02 {
        height: auto !important;
        /* 고정 높이 120px 해제 */
        padding: 20px 15px !important;
        /* 상하좌우 안전 여백 추가 */
    }

    .sec_02 .text {
        float: none !important;
        font-size: 16px !important;
        /* 폰트 크기 모바일 핏 */
        line-height: 1.5 !important;
        /* 억지로 늘려둔 line-height: 120px 해제! */
        word-break: keep-all !important;
        /* 단어 단위로 예쁘게 줄바꿈 */
    }
}

/* 1. 새 줄을 시작하는 왼쪽 박스(no-margin)는 무조건 강제 줄바꿈! (걸림돌 무시) */
.form_warp .main_form .no-margin {
    clear: both !important;
}

/* 2. 폼 박스들의 최소 높이를 통일시켜, 텍스트나 버튼이 추가되어도 레이아웃이 출렁이지 않게 고정 */
.form_warp .main_form .form_box,
.form_warp .main_form .form_box2,
.form_warp .main_form .form_box3 {
    min-height: 100px !important;
    /* 만약 100px이 너무 길거나 짧으면 90px~110px 사이로 조절해 보세요 */
}

@media (max-width: 768px) {

    /* 타이틀 폰트 크기 축소 */
    .main_title .title {
        font-size: 32px !important;
        line-height: 1.4 !important;
    }

    /* 서브 타이틀 폰트 크기 축소 및 줄바꿈 */
    .main_title .sub2 {
        font-size: 20px !important;
        line-height: 1.6 !important;
    }

    /* 텍스트가 겹치지 않게 단어 단위로 줄바꿈 */
    .main_title div {
        word-break: keep-all;
    }
}

/* 모바일 버전(768px 이하)에서만 적용 */
@media (max-width: 768px) {

    /* 1. 푸터 내부의 모든 정렬을 왼쪽으로 강제 */
    footer .wrap {
        align-items: flex-start !important;
        /* 세로 정렬 왼쪽으로 */
        text-align: left !important;
        /* 텍스트 왼쪽으로 */
        padding-left: 10px !important;
        /* 왼쪽 끝에 너무 붙지 않게 여백 */
        padding-right: 10px !important;
    }

    /* 2. 가로로 나열된 요소들(사업자번호 등)을 왼쪽부터 시작하게 함 */
    footer .d_flex {
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        gap: 3px !important;
    }

    /* 3. 상세 정보 텍스트 영역 왼쪽 정렬 */
    footer p.my_2 {
        text-align: left !important;
        margin-left: 0 !important;
        width: 100% !important;
    }

    /* 4. 개인정보처리방침 등 링크 영역 왼쪽 정렬 */
    footer .jc_sb {
        justify-content: flex-start !important;
    }

    footer section p.fs_18.semibold{
        margin-left: -15px !important;
    }
    footer section p.my_2.fc_g_5 {
        margin-left: -0px !important;
    }

    /* (선택사항) 개인정보처리방침 버튼도 같이 당기고 싶다면 아래 코드도 추가하세요 */
    footer section .d_flex.jc_sb {
        justify-content: flex-start !important;
    }
}

.legal-top-banner {
    display: none;
    /* 🌟 핵심: 처음엔 공간도 차지하지 않고 완전히 숨어있음 */
    width: 100%;
    background-color: #f8f9fa;
    /* 연한 회색 배경 (원하는 색상으로 변경 가능) */
    color: #666;
    /* 짙은 회색 글씨 */
    text-align: left;
    padding: 10px 0;
    font-size: 16px;
    line-height: 0.8;
    border-bottom: 1px solid #ddd;
    word-break: keep-all;
    position: relative !important;
    z-index: 9999 !important;
}

.m_br {
    display: none;
}

/* 2. 모바일 화면(767px 이하)이 되면 block으로 변신해서 줄바꿈 실행! */
@media (max-width: 767px) {
    .m_br {
        display: block;
    }
}

/* 커스텀 alert */
.custom_alert_wrap { width: 100%; height: 100%; position: fixed; background: rgba(0,0,0,0.5); z-index: 9999999; top: 0; left: 0; }
.custom_alert_box { width: 100%; height: 100%; float: left; }
.custom_alert { max-width: 330px; width: 90%; height: 230px; border-radius: 15px; background: #fff; left: 50%; top: 50%; transform: translate(-50%, -50%); position: absolute; text-align: center;  }
.custom_alert .alert_top { width: 100%; height: 180px; float: left; position: relative; }
.custom_alert .alert_top ul { top: 50%; transform: translateY(-50%); }
.custom_alert .alert_top .txt { margin-top: 15px; font-size: 14px; padding: 0 10px; }
.custom_alert .alert_bottom { width: 100%; float: left; line-height: 50px; border-top: 1px solid #DEDEDE; cursor: pointer; }

.pc-only {
    display: inline-block;
}

@media (max-width: 768px) {
    .pc-only {
        display: none !important;
    }
}