@charset "UTF-8";
/*****************************************************************

Copyright C 위브온 테마 All rights reserved.
weevon@naver.com & master@weevon.com
본 페이지는 유료콘텐츠 위브온 테마 CSS입니다. 불법복제시 법적인 제제를 받으실 수 있습니다.
라이센스를 삭제하지 마세요. 라이센스 삭제시 불법 사용으로 간주될 수 있습니다.

******************************************************************/


#ft{
    background:#0d2a52 !important;
    border-top:0 !important;
    color:#fff;
}
#ft_wr{
    width:calc(100vw - 80px);
    max-width:1200px;
    margin:0 auto;
    padding:58px 20px 56px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:90px;
}
#ft .ft-logo-area{
    flex:0 0 350px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:0 !important;
    border-bottom:0 !important;
}
#ft .ft-logo-area img{
    display:block;
    width:270px;
    height:auto !important;
}
#ft .ft-info-area{
    flex:1;
    padding:0 !important;
    text-align:left;
}
#ft .ft-top-links{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:34px;
    padding:0 0 28px !important;
    border-bottom:0 !important;
}
#ft .ft-top-links a{
    padding:0 !important;
    color:#fff;
    font-size:18px;
    font-weight:800;
    line-height:1;
    letter-spacing:-.05em;
    text-decoration:none;
}
#ft .ft-top-links a:hover{color:#fff;opacity:.8;}
#ft .ft-divider{
    width:2px;
    height:18px;
    background:rgba(255,255,255,.95);
}
#ft .ft-info-text p{
    margin:0 0 14px;
    color:rgba(255,255,255,.82);
    font-size:17px;
    font-weight:300;
    line-height:1.35;
    letter-spacing:-.06em;
}
#ft .ft-info-text p:last-child{margin-bottom:0;}
#ft .ft-info-text p span{
    display:inline-block;
    margin:0 18px 0 0;
}
#ft .ft-info-area .ft-sep{display:none;}

/*family site*/
#ft .family-site-container{position:relative; width:210px; text-align:left;}
#ft .family-site-container > button{padding:10px;color:#fff;border-bottom:3px solid #fff;width:100%;text-align:left;}
#ft .family-site-list{position:absolute; bottom:100%; left:0px; width:100%;  padding:10px 0;  z-index:11;background: #fff; display:none;}
#ft .family-site-list > li > a{display:block; padding:10px; color:#333; font-size:12px;font-family: 'NanumSquareNeoBold', sans-serif;}
#ft .family-site-list > li > a:hover{color:#000;}
#ft .wv-arrow{transition:all 0.3s;}
#ft .wv-arrow.on{transform: rotate(180deg);}

/* 퀵버튼 */
.ft-quick-container{position:fixed;bottom:15px;right:40px;z-index: 100;}
.ft-quick-container > li {margin-bottom: 10px;display:flex;align-items:center;place-content:center;width: calc((100vw - (100vw - 143px)) / 2);height: calc((100vw - (100vw - 143px)) / 2);box-shadow: 0px 4px 10px rgba(0,0,0,.15);border-radius: 100%;border:none;background:#fff;font-size: 14px;transition: all .3s;}
.ft-quick-container > li:last-child{margin-bottom:0;background: #333;border-left: none;}
.ft-quick-container .tnb_darkmode {flex-direction: column;gap: 5px;color: #666;cursor: pointer;transition: all .3s;}
.ft-quick-container .tnb_darkmode:hover{color: var(--main-color);}
.ft-quick-container .tnb_admin > a {display: flex;flex-direction: column;align-items: center;gap: 5px;color: #666;transition: all .3s;}
.ft-quick-container .tnb_admin > a:hover{color: var(--main-color);}
#wv-top_btn {display: flex;flex-direction: column;gap: 5px;align-items: center;place-content:center;width:100%;height:100%;border-radius:100%;color: #fff;font-family: "Play", sans-serif;font-weight: 700;text-transform: uppercase;z-index:90;transition: all .3s;}
#wv-top_btn > i{color: #fff;}
.ft-quick-container > li:last-child:hover {background: var(--main-color);}


/*다크모드*/
body.dark-mode #ft{background: #111;}
body.dark-mode #ft_wr{background: #111;color: #fff;}
body.dark-mode #ft_link a{color: #fff;}
body.dark-mode #ft .wv-btn03{background: #333;color: #fff;}

/* ============================================================
   우측 플로팅 퀵메뉴 - 시안 축소형
   아이콘: theme/img/quick_icon_01.png ~ quick_icon_04.png
   ============================================================ */
.floating-quick-menu{
    position:fixed;
    right:28px;
    top:50%;
    transform:translateY(-50%);
    width:74px;
    padding:20px 7px 0;
    background:#fff;
    border:1px solid rgba(0,0,0,.06);
    border-radius:999px;
    overflow:hidden;
    box-shadow:0 12px 32px rgba(0,0,0,.16);
    z-index:999;
    box-sizing:border-box;
}
.floating-quick-menu ul{margin:0;padding:0;list-style:none;}
.floating-quick-menu li{margin:0 0 17px;padding:0;text-align:center;}
.floating-quick-menu a,
.floating-quick-menu button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    border:0;
    background:none;
    text-decoration:none !important;
    cursor:pointer;
    transition:opacity .25s ease, transform .25s ease;
}
.floating-quick-menu a:hover,
.floating-quick-menu button:hover{opacity:.86;transform:translateY(-2px);}
.floating-quick-menu .quick-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    margin:0 auto 8px;
    border-radius:50%;
    overflow:hidden;
}
.floating-quick-menu .quick-icon img{display:block;width:100%;height:auto;}
.floating-quick-menu .quick-text{
    display:block;
    color:#111;
    font-size:14px;
    font-weight:900;
    line-height:1.15;
    letter-spacing:-.08em;
    word-break:keep-all;
    white-space:nowrap;
}
.floating-quick-menu .quick-phone-item{
    width:calc(100% + 14px);
    margin:2px -7px 0;
    background:transparent;
}
.floating-quick-menu .quick-phone-link{
    display:flex !important;
    width:100%;
    min-height:112px;
    padding:7px 3px 12px;
    box-sizing:border-box;
    background:transparent;
}
.floating-quick-menu .quick-phone-number{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    color:#111;
    font-family:"Outfit","Pretendard",sans-serif;
    font-size:35px;
    font-weight:900;
    line-height:.96;
    letter-spacing:-.03em;
    white-space:nowrap;
}
.floating-quick-menu .quick-phone-number span{display:block;color:#111;}
.floating-quick-menu .quick-phone-number span:nth-child(n+2){color:#006cff;}
.floating-quick-menu .quick-top-item{
    display:flex;
    justify-content:center;
    width:calc(100% + 14px);
    margin:6px -7px 0;
    padding:0 0 18px;
    background:transparent;
}
.floating-quick-menu #wv-top_btn.quick-top-btn{
    flex:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    padding:0 !important;
    margin:0 auto !important;
    border:0 !important;
    border-radius:50% !important;
    background:none !important;
    color:#fff !important;
    box-sizing:border-box !important;
    aspect-ratio:auto !important;
}
.floating-quick-menu #wv-top_btn.quick-top-btn .quick-icon{
    width:58px;
    height:58px;
    margin:0;
}

/* 관리자 바로가기 버튼은 퀵메뉴와 분리 */
.ft-admin-quick-container{position:fixed;right:28px;bottom:24px;z-index:998;margin:0;padding:0;list-style:none;}
.ft-admin-quick-container li{margin-top:8px;padding:8px 12px;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 10px rgba(0,0,0,.12);font-size:13px;}
.ft-admin-quick-container a{color:#333;text-decoration:none;}
@media screen and (max-width:1280px){.floating-quick-menu{right:14px;width:70px;padding-left:6px;padding-right:6px}.floating-quick-menu .quick-icon{width:44px;height:44px}.floating-quick-menu .quick-text{font-size:13px}.floating-quick-menu .quick-phone-number{font-size:32px}.floating-quick-menu #wv-top_btn.quick-top-btn,.floating-quick-menu #wv-top_btn.quick-top-btn .quick-icon{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;max-width:54px!important;max-height:54px!important}}
@media screen and (max-width:768px){.floating-quick-menu{display:none;}}

/* ============================================================
   모바일 해상도 전용 하단 상담폼 바로가기 메뉴
   - 상담폼 모바일 전환점과 동일한 768px 이하에서만 노출
   - 아이콘: theme/img/ficon_01.png ~ ficon_04.png
   ============================================================ */
.mobile-counsel-bottom-menu {
    display: none;
}

@media screen and (max-width: 768px) {
    body {
        padding-bottom: calc(105px + env(safe-area-inset-bottom));
    }

    /* 상담폼이 모바일 디자인으로 바뀌는 구간에서만 하단 메뉴 위로 올림 */
    .counsel-wrap {
        bottom: calc(105px + env(safe-area-inset-bottom)) !important;
    }

    .counsel-toggle-btn {
        bottom: calc(105px + env(safe-area-inset-bottom)) !important;
    }

    .mobile-counsel-bottom-menu {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9998;
        display: grid;
        grid-template-columns: repeat(4, 1fr) 1.05fr;
        width: 100%;
        height: calc(105px + env(safe-area-inset-bottom));
        padding-bottom: env(safe-area-inset-bottom);
        background: #fff;
        border-top: 1px solid rgba(0,0,0,.18);
        box-shadow: 0 -5px 24px rgba(0,0,0,.14);
        box-sizing: border-box;
    }

    .mobile-counsel-bottom-menu a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-width: 0;
        height: 100%;
        padding: 11px 2px 10px;
        border-right: 1px solid rgba(0,0,0,.22);
        background: #fff;
        color: #111;
        text-decoration: none !important;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-counsel-bottom-menu a:last-child {
        border-right: 0;
    }

    .mobile-counsel-bottom-menu .mcbm-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin-bottom: 8px;
    }

    .mobile-counsel-bottom-menu .mcbm-icon img {
        display: block;
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
    }

    .mobile-counsel-bottom-menu .mcbm-text {
        display: block;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: -0.05em;
        color: #111;
        white-space: nowrap;
    }

    .mobile-counsel-bottom-menu .mcbm-phone {
        justify-content: center;
        gap: 1px;
        background: #252525;
        color: #22e4e4;
        border-right: 0;
        padding: 8px 2px 9px;
        font-family: "Outfit", "Pretendard", sans-serif;
        font-size: clamp(24px, 6.1vw, 34px);
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: .01em;
    }

    .mobile-counsel-bottom-menu .mcbm-phone span {
        display: block;
        color: #22e4e4;
    }
}

@media screen and (max-width: 390px) {
    .mobile-counsel-bottom-menu {
        grid-template-columns: repeat(4, 1fr) 1.12fr;
        height: calc(98px + env(safe-area-inset-bottom));
    }

    body {
        padding-bottom: calc(98px + env(safe-area-inset-bottom));
    }

    .counsel-wrap,
    .counsel-toggle-btn {
        bottom: calc(98px + env(safe-area-inset-bottom)) !important;
    }

    .mobile-counsel-bottom-menu .mcbm-icon {
        width: 36px;
        height: 36px;
        margin-bottom: 7px;
    }

    .mobile-counsel-bottom-menu .mcbm-text {
        font-size: 13px;
    }
}

/* ============================================================
   BOGA FOOTER + QUICK MENU FINAL
   - PC footer 시안형
   - 우측 퀵메뉴 전체 크기 축소
   ============================================================ */
#ft{
    background:#08234b !important;
    border-top:0 !important;
}
#ft_wr{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:180px !important;
    width:100% !important;
    max-width:1200px !important;
    min-height:275px !important;
    margin:0 auto !important;
    padding:0 20px !important;
    box-sizing:border-box !important;
}
#ft .ft-logo-area{
    flex:0 0 auto !important;
    padding:0 !important;
    border-bottom:0 !important;
}
#ft .ft-logo-area img{
    width:300px !important;
    height:auto !important;
}
#ft .ft-info-area{
    flex:0 0 auto !important;
    padding:0 !important;
    text-align:left !important;
}
#ft .ft-top-links{
    justify-content:flex-start !important;
    padding:0 0 34px !important;
    border-bottom:0 !important;
}
#ft .ft-top-links a{
    padding:0 58px !important;
    color:#fff !important;
    font-size:20px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:-.04em !important;
}
#ft .ft-top-links a:first-child{padding-left:0 !important;}
#ft .ft-top-links a:last-child{padding-right:0 !important;}
#ft .ft-divider{
    width:2px !important;
    height:18px !important;
    background:rgba(255,255,255,.9) !important;
}
#ft .ft-info-text p,
#ft .ft-info-area p{
    margin:0 0 16px !important;
    color:rgba(255,255,255,.88) !important;
    font-size:19px !important;
    font-weight:300 !important;
    line-height:1.25 !important;
    letter-spacing:-.055em !important;
}
#ft .ft-info-text p:last-child,
#ft .ft-info-area p:last-child{margin-bottom:0 !important;}
#ft .ft-info-text p span,
#ft .ft-info-area p span{
    display:inline-block !important;
    margin:0 16px 0 0 !important;
}

/* 우측 플로팅 퀵메뉴 - 현재 큰 상태 기준 약 60% 크기 */
.floating-quick-menu{
    right:30px !important;
    top:50% !important;
    width:104px !important;
    padding:26px 8px 0 !important;
    border-radius:999px !important;
    box-shadow:0 8px 28px rgba(0,0,0,.14) !important;
    overflow:hidden !important;
}
.floating-quick-menu li{
    margin:0 0 20px !important;
}
.floating-quick-menu .quick-icon{
    width:64px !important;
    height:64px !important;
    margin:0 auto 10px !important;
}
.floating-quick-menu .quick-text{
    font-size:18px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    letter-spacing:-.08em !important;
    color:#202020 !important;
}
.floating-quick-menu .quick-phone-item{
    width:calc(100% + 16px) !important;
    margin:26px -8px 0 !important;
    background:#fff !important;
}
.floating-quick-menu .quick-phone-link{
    min-height:180px !important;
    padding:10px 0 18px !important;
    background:#fff !important;
}
.floating-quick-menu .quick-phone-number{
    font-size:38px !important;
    font-weight:900 !important;
    line-height:1.08 !important;
    letter-spacing:-.04em !important;
    color:#006cff !important;
}
.floating-quick-menu .quick-phone-number span{color:#006cff !important;}
.floating-quick-menu .quick-phone-number span:first-child{color:#000 !important;}
.floating-quick-menu .quick-top-item{
    width:calc(100% + 16px) !important;
    margin:0 -8px 0 !important;
    padding:0 0 28px !important;
    background:#fff !important;
}
.floating-quick-menu #wv-top_btn.quick-top-btn{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:78px !important;
    min-height:78px !important;
    max-height:78px !important;
    margin:0 auto !important;
    padding:0 !important;
    border-radius:50% !important;
    background:none !important;
}
.floating-quick-menu .quick-top-item .quick-icon{
    width:78px !important;
    height:78px !important;
    margin:0 !important;
}
.floating-quick-menu .quick-top-item .quick-icon img{
    width:100% !important;
    height:auto !important;
}
.ft-admin-quick-container{right:30px !important;bottom:24px !important;}

@media screen and (max-width:768px){
    #ft_wr{
        display:block !important;
        min-height:auto !important;
        padding:42px 24px !important;
        text-align:center !important;
    }
    #ft .ft-logo-area{justify-content:center !important;margin-bottom:26px !important;}
    #ft .ft-logo-area img{width:220px !important;}
    #ft .ft-info-area{text-align:center !important;}
    #ft .ft-top-links{justify-content:center !important;padding:0 0 24px !important;}
    #ft .ft-top-links a{padding:0 12px !important;font-size:13px !important;}
    #ft .ft-divider{height:12px !important;}
    #ft .ft-info-text p,#ft .ft-info-area p{font-size:13px !important;line-height:1.65 !important;margin-bottom:8px !important;}
    #ft .ft-info-text p span,#ft .ft-info-area p span{display:block !important;margin:0 !important;}
    .floating-quick-menu{display:none !important;}
}


/* ============================================================
   FOOTER PC/MOBILE FINAL OVERRIDE
   ============================================================ */
@media screen and (max-width:768px){
    #ft{background:#0d2a52 !important;border-top:0 !important;}
    #ft_wr{
        width:100% !important;
        max-width:none !important;
        padding:64px 28px 70px !important;
        display:block !important;
        text-align:center !important;
        box-sizing:border-box !important;
    }
    #ft .ft-logo-area{
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        padding:0 !important;
        margin:0 0 52px !important;
        border-bottom:0 !important;
    }
    #ft .ft-logo-area img{
        width:230px !important;
        height:auto !important;
        margin:0 auto !important;
    }
    #ft .ft-info-area{padding:0 !important;text-align:center !important;}
    #ft .ft-top-links{
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        gap:30px !important;
        padding:0 !important;
        margin:0 0 54px !important;
        border-bottom:0 !important;
    }
    #ft .ft-top-links a{
        padding:0 !important;
        color:#fff !important;
        font-size:24px !important;
        font-weight:900 !important;
        line-height:1 !important;
        letter-spacing:-.08em !important;
        white-space:nowrap !important;
    }
    #ft .ft-divider{
        display:block !important;
        width:3px !important;
        height:34px !important;
        background:#fff !important;
        opacity:.95 !important;
    }
    #ft .ft-info-text p{
        margin:0 0 25px !important;
        color:rgba(255,255,255,.62) !important;
        font-size:22px !important;
        font-weight:300 !important;
        line-height:1.35 !important;
        letter-spacing:-.075em !important;
        text-align:center !important;
    }
    #ft .ft-info-text p:last-child{margin-bottom:0 !important;font-size:21px !important;}
    #ft .ft-info-text p span{
        display:inline-block !important;
        margin:0 18px 0 0 !important;
    }
}
@media screen and (max-width:430px){
    #ft_wr{padding:54px 20px 60px !important;}
    #ft .ft-logo-area img{width:190px !important;}
    #ft .ft-logo-area{margin-bottom:40px !important;}
    #ft .ft-top-links{gap:18px !important;margin-bottom:38px !important;}
    #ft .ft-top-links a{font-size:17px !important;}
    #ft .ft-divider{height:24px !important;width:2px !important;}
    #ft .ft-info-text p{font-size:15px !important;margin-bottom:16px !important;}
    #ft .ft-info-text p:last-child{font-size:14px !important;}
    #ft .ft-info-text p span{margin:0 8px 0 0 !important;}
}

/* ============================================================
   FOOTER FINAL SIZE ADJUST v2
   - PC: 전체 요소 약 10% 축소
   - MOBILE: 시안 기준 좌우 여백 + 구분선 유지 + 정보 1줄 유지
   ============================================================ */
@media screen and (min-width:769px){
    #ft_wr{
        max-width:1120px !important;
        padding:48px 20px 48px !important;
        gap:70px !important;
    }
    #ft .ft-logo-area{
        flex:0 0 300px !important;
    }
    #ft .ft-logo-area img{
        width:235px !important;
    }
    #ft .ft-top-links{
        gap:30px !important;
        padding:0 0 24px !important;
    }
    #ft .ft-top-links a{
        font-size:16px !important;
    }
    #ft .ft-divider{
        height:16px !important;
        width:2px !important;
    }
    #ft .ft-info-text p{
        font-size:15px !important;
        margin-bottom:12px !important;
        line-height:1.35 !important;
    }
    #ft .ft-info-text p span{
        margin-right:14px !important;
    }
}

@media screen and (max-width:768px){
    #ft_wr{
        width:100% !important;
        max-width:none !important;
        padding:58px 42px 64px !important;
        box-sizing:border-box !important;
        text-align:center !important;
    }
    #ft .ft-logo-area{
        margin:0 0 44px !important;
    }
    #ft .ft-logo-area img{
        width:220px !important;
    }
    #ft .ft-top-links{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:22px !important;
        margin:0 0 46px !important;
        padding:0 !important;
    }
    #ft .ft-top-links a{
        font-size:20px !important;
        font-weight:900 !important;
        white-space:nowrap !important;
    }
    #ft .ft-divider{
        display:block !important;
        width:2px !important;
        height:28px !important;
        background:#fff !important;
        opacity:.95 !important;
        flex:0 0 auto !important;
    }
    #ft .ft-info-text p{
        margin:0 0 18px !important;
        color:rgba(255,255,255,.62) !important;
        font-size:18px !important;
        font-weight:300 !important;
        line-height:1.35 !important;
        letter-spacing:-.075em !important;
        white-space:nowrap !important;
        text-align:center !important;
    }
    #ft .ft-info-text p span{
        display:inline-block !important;
        margin:0 12px 0 0 !important;
        white-space:nowrap !important;
    }
    #ft .ft-info-text p:last-child{
        margin-bottom:0 !important;
        font-size:17px !important;
        white-space:nowrap !important;
    }
}

@media screen and (max-width:430px){
    #ft_wr{
        padding:52px 24px 58px !important;
    }
    #ft .ft-logo-area{
        margin-bottom:38px !important;
    }
    #ft .ft-logo-area img{
        width:185px !important;
    }
    #ft .ft-top-links{
        gap:13px !important;
        margin-bottom:36px !important;
    }
    #ft .ft-top-links a{
        font-size:14.2px !important;
        letter-spacing:-.075em !important;
    }
    #ft .ft-divider{
        width:2px !important;
        height:20px !important;
    }
    #ft .ft-info-text p{
        font-size:12.4px !important;
        margin-bottom:12px !important;
        letter-spacing:-.09em !important;
    }
    #ft .ft-info-text p span{
        margin-right:5px !important;
    }
    #ft .ft-info-text p:last-child{
        font-size:12.2px !important;
    }
}


/* ============================================================
   상담폼 일반 배치 전환 후 모바일 하단 고정 메뉴 여백 제거
   ============================================================ */
@media screen and (max-width:768px){
    body{padding-bottom:0 !important;}
    .mobile-counsel-bottom-menu{display:none !important;}
    .counsel-wrap,.counsel-toggle-btn{bottom:auto !important;}
}
