@font-face {
    font-family: 'Pretendard';
    font-weight: 900;
    font-display: swap;
    src: local('Pretendard Black'), url('../fonts/Pretendard-1.3.9/woff2/Pretendard-Black.woff2') format('woff2'), url('../fonts/Pretendard-1.3.9/woff/Pretendard-Black.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 800;
    font-display: swap;
    src: local('Pretendard ExtraBold'), url('../fonts/Pretendard-1.3.9/woff2/Pretendard-ExtraBold.woff2') format('woff2'), url('../fonts/Pretendard-1.3.9/woff/Pretendard-ExtraBold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 700;
    font-display: swap;
    src: local('Pretendard Bold'), url('../fonts/Pretendard-1.3.9/woff2/Pretendard-Bold.woff2') format('woff2'), url('../fonts/Pretendard-1.3.9/woff/Pretendard-Bold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 600;
    font-display: swap;
    src: local('Pretendard SemiBold'), url('../fonts/Pretendard-1.3.9/woff2/Pretendard-SemiBold.woff2') format('woff2'), url('../fonts/Pretendard-1.3.9/woff/Pretendard-SemiBold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 500;
    font-display: swap;
    src: local('Pretendard Medium'), url('../fonts/Pretendard-1.3.9/woff2/Pretendard-Medium.woff2') format('woff2'), url('../fonts/Pretendard-1.3.9/woff/Pretendard-Medium.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 400;
    font-display: swap;
    src: local('Pretendard Regular'), url('../fonts/Pretendard-1.3.9/woff2/Pretendard-Regular.woff2') format('woff2'), url('../fonts/Pretendard-1.3.9/woff/Pretendard-Regular.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 300;
    font-display: swap;
    src: local('Pretendard Light'), url('../fonts/Pretendard-1.3.9/woff2/Pretendard-Light.woff2') format('woff2'), url('../fonts/Pretendard-1.3.9/woff/Pretendard-Light.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 200;
    font-display: swap;
    src: local('Pretendard ExtraLight'), url('../fonts/Pretendard-1.3.9/woff2/Pretendard-ExtraLight.woff2') format('woff2'), url('../fonts/Pretendard-1.3.9/woff/Pretendard-ExtraLight.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 100;
    font-display: swap;
    src: local('Pretendard Thin'), url('../fonts/Pretendard-1.3.9/woff2/Pretendard-Thin.woff2') format('woff2'), url('../fonts/Pretendard-1.3.9/woff/Pretendard-Thin.woff') format('woff');
}

@font-face {
    font-family: 'Hanwha';
    src: url('../fonts/Hanwha/Hanwha_B_OTFA.woff2') format('woff2'), url('../fonts/Hanwha/Hanwha_B_OTFA.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    ascent-override: 90%;
    descent-override: 10%;
    line-gap-override: 0%;
}

@font-face {
    font-family: 'HanwhaGothic';
    src: url('../fonts/Hanwha/HanwhaGothicBOTFA.woff2') format('woff2'), url('../fonts/Hanwha/HanwhaGothicBOTFA.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    ascent-override: 90%;
    descent-override: 10%;
    line-gap-override: 0%;
}

*:not(.ki-duotone, .ki-outline, .ki-solid, .path1, .path2, .path3) {
    font-family: 'Pretendard', sans-serif !important;
}

@media (max-width: 991px) {
    ::-webkit-scrollbar {
        display: none;
    }
}

:root {
    --bs-primary: #ff7f00;
    --bs-primary-active: #ff7f00;
    --bs-pagination-active-color: #ff7f00;
    --bs-component-active-bg: #ff7f00;
    --bs-text-primary: #ff7f00;
    --bs-pagination-hover-color: #ff7f00;
    --bs-component-hover-color: #ff7f00;
    --bs-menu-link-color-hover: #ff7f00;
}

/** layout **/
@media (min-width: 992px) {
    .app-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 1320px;
        display: flex;
        justify-content: center;
    }
}
@media (max-width: 991px) {
    .app-content {
        padding-top: 0 !important;
        padding-bottom: env(safe-area-inset-bottom) !important;
        padding-bottom: constant(safe-area-inset-bottom) !important;
    }
    .app-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        display: flex;
        justify-content: center;
    }
}

[data-kt-app-header-fixed=true] .app-wrapper.home-app-wrapper {
    margin-top: 0;
}
[data-kt-app-header-fixed=true] .app-wrapper.home-app-wrapper .app-content {
    padding-top: 0;
    padding-bottom: 0;
}

header.header-transparent {
    background-color: transparent;
    border-bottom: none;
}
header.header-transparent.half {
    background-color: rgba(0, 0, 0, 0.6);
}

header.header-transparent .logo-wrapper .logo-img {
    background-image: url('../img/logo_header_transparent.svg');
}
header .logo-wrapper .logo-img,
.mobile-menu-header .logo-wrapper .logo-img {
    background-image: url('../img/logo_header_normal.svg');
}

header#kt_app_header:not(.header-transparent) {
    border-bottom: 1px solid #f7f7f7;
}

header .logo-wrapper {
    width: 161px;
    height: 68px;
}
header .btn-back-mobile,
.mobile-menu-header .btn-back-mobile {
    color: #191919;
}
header .pc-only,
.mobile-menu-header .pc-only {
    display: block !important;
}

header .mobile-only,
.mobile-menu-header .mobile-only {
    display: none !important;
}
header .logo-wrapper .logo-img,
.mobile-menu-header .logo-wrapper .logo-img {
    background-image: url('../img/logo_header_normal.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: 100%;
    width: 100%
}
@media (max-width: 991px) {
    header .logo-wrapper,
    .mobile-menu-header .logo-wrapper {
        width: 101px;
        height: 43px;
    }

    header .pc-only,
    .mobile-menu-header .pc-only {
        display: none !important;
    }

    header .mobile-only,
    .mobile-menu-header .mobile-only {
        display: block !important;
    }
}

header .app-navbar .pc-menu {
    gap: 40px;
}
header .app-navbar .pc-menu a {
    color: #555b62 !important;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
}
header.header-transparent .app-navbar .pc-menu a {
    color: #FFFFFF !important;
}
header .app-navbar .app-navbar-item,
.mobile-menu-header .app-navbar-item {
    position: relative;
}
header .app-navbar .pc-menu .app-navbar-item:not(:first-child)::before {
    content: '';
    position: absolute;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 13px;
    background-color: rgba(112, 112, 112, .3);
}

header .select2-selection--single {
    padding-left: 0;
}
header .app-navbar .pc-menu .select2-selection__rendered {
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: 14px;
    color: #555b62 !important;
}
header .app-navbar .pc-menu .select2-selection__rendered::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: currentColor;
    mask: url('/img/icon/custom-globe.svg') no-repeat center;
    -webkit-mask: url('/img/icon/custom-globe.svg') no-repeat center;
    mask-size: contain;
    -webkit-mask-size: contain;
    margin-right: 10px;
}

header .m-menu,
.mobile-menu-header .m-menu {
    display: flex;
    align-items: center;
    gap: 24px;
}
header .m-menu a i,
.mobile-menu-header .m-menu a i {
    color: #191919;
}
header.header-transparent .m-menu a i {
    color: #ffffff;
}

#kt_app_main .title-area {
    height: 76px;
    padding-left: 300px;
    padding-right: 300px;
    background-color: #555b62;
    display: flex;
    align-items: center;
}
#kt_app_main .title-area h3 {
    margin-bottom: 0;
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
}
@media (max-width: 991px) {
    #kt_app_main .title-area  {
        display: none;
    }
}
/** layout end **/

/** login modal **/
@media (min-width: 992px) {
    #login_modal .modal-dialog {
        max-width: 380px;
    }
}

#login_modal .modal-dialog .modal-content {
    box-shadow: 0 3px 30px rgba(0, 0, 0, 0.16);
}
#login_modal .modal-dialog .modal-content .modal-body {
    display: flex;
    flex-direction: column;
    height: 652px;
    max-height: 90svh;
}

#login_modal .modal-dialog .modal-content .modal-body.step-1 .top {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 51px;
    margin-left: 17px;
    margin-right: 17px;
    border-bottom: 1px solid #CECECE;
    flex: 1 1 auto;
}

#login_modal .modal-dialog .modal-content .modal-body.step-1 .top .image-wrapper {
    width: 186px;
    height: 34px;
}

#login_modal .modal-dialog .modal-content .modal-body.step-1 .top .image-wrapper img {
    width: 100%;
    height: 100%;
}

#login_modal .modal-dialog .modal-content .modal-body.step-1 .top .comment {
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    line-height: 25px;
}

#login_modal .modal-dialog .modal-content .modal-body.step-1 .bottom {
    padding: 30px 21px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
}

#login_modal .modal-dialog .modal-content .modal-body.step-1 .bottom button {
    border: none;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    cursor: pointer;
    border-radius: 15px;
}

#login_modal .modal-dialog .modal-content .modal-body.step-1 .bottom button .icon-wrapper {
    display: flex;
    flex: 1;
    justify-content: flex-end;
}

#login_modal .modal-dialog .modal-content .modal-body.step-1 .bottom button .icon-wrapper img {
    width: 32px;
    height: 32px;
}

#login_modal .modal-dialog .modal-content .modal-body.step-1 .bottom button .text-wrapper {
    display: flex;
    flex: 2;
    font-size: 15px;
    line-height: 15px;
    font-weight: 600;
}

#login_modal .modal-dialog .modal-content .modal-body.step-2 {
    padding: 30px 21px;
    height: auto;
}
#login_modal .modal-dialog .modal-content .modal-body.step-2 .signup-intro {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 15px;
}
#login_modal .modal-dialog .modal-content .modal-body.step-2 #signup_form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#login_modal .modal-dialog .modal-content .modal-body.step-2 #signup_form .input-row {
    display: flex;
    gap: 20px;
}
/** login modal end **/

/** share modal **/
@media (min-width: 992px) {
    #share_modal .modal-dialog {
        max-width: 300px;
    }
}

#share_modal .modal-body .share-list {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    height: 120px;
}
#share_modal .modal-body .share-list .share-one {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}
#share_modal .modal-body .share-list .share-one button {
    border: none;
    border-radius: 50%;
    width: 60px;
    height: 60px;
}
/** share modal end **/

/** mobile menu **/
@media (max-width: 991px) {
    .mobile-menu-wrapper {
        position: fixed;
        top: -100%;
        right: 0;
        width: 100%;
        height: auto;
        background-color: #ffffff;
        box-shadow: 0 3px 30px rgba(0, 0, 0, 0.16);
        z-index: 9999;
        /*transition: top 0.3s ease-in-out;*/
        overflow-y: auto;
    }

    .mobile-menu-wrapper.show {
        top: 0;
    }

    .mobile-menu-wrapper .mobile-menu {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .mobile-menu-wrapper .mobile-menu .mobile-menu-header {
        display: flex;
        justify-content: flex-end;
        padding-left: 20px;
        padding-right: 20px;
        height: var(--bs-app-header-height);
        border-bottom: 1px solid transparent; /* 페이지 불투명 헤더와 높이 맞추기용 */
    }

    .mobile-menu-wrapper .mobile-menu .mobile-menu-body {
        flex: 1;
        padding-left: 20px;
        padding-right: 20px;
    }

    .mobile-menu-wrapper .mobile-menu .mobile-menu-body .mobile-menu-items {
        display: flex;
        flex-direction: column;
    }

    .mobile-menu-wrapper .mobile-menu .mobile-menu-body .mobile-menu-items .mobile-menu-item {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .mobile-menu-wrapper .mobile-menu .mobile-menu-body .mobile-menu-items .mobile-menu-item:not(:last-child) {
        border-bottom: 1px solid #e7e7e7;
    }

    .mobile-menu-wrapper .mobile-menu .mobile-menu-body .mobile-menu-items .mobile-menu-item > a {
        display: flex;
        align-items: center;
        height: 64px;
        width: 100%;
        color: #555b62 !important;
        font-size: 16px;
        font-weight: 600;
        padding-left: 20px;
        padding-right: 20px;
    }

    .mobile-menu-wrapper .mobile-menu .mobile-menu-body .mobile-menu-items .mobile-menu-item > a.mobile-sub-menu-opener {
        justify-content: space-between;
    }

    .mobile-menu-wrapper .mobile-menu .mobile-menu-body .mobile-menu-items .mobile-menu-item > a.mobile-sub-menu-opener i.custom-svg-chevron-down {
        transition: transform 0.3s ease-in-out;
    }

    .mobile-menu-wrapper .mobile-menu .mobile-menu-body .mobile-menu-items .mobile-menu-item > a.mobile-sub-menu-opener.active i.custom-svg-chevron-down {
        transform: rotate(180deg);
    }

    .mobile-menu-item .mobile-sub-menu {
        display: none;
        padding-left: 20px;
        padding-right: 20px;
    }
    .mobile-menu-item .mobile-sub-menu.show {
        display: block;
    }
    .mobile-menu-item .mobile-sub-menu .mobile-menu-item {

    }


    .mobile-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6);
        z-index: 9998;
        display: none;
    }

    .mobile-menu-overlay.show {
        display: block;
    }
}

@media (min-width: 992px) {
    .mobile-menu-wrapper,
    .mobile-menu-overlay {
        display: none !important;
    }
}
/** mobile menu end **/

/** overriding datepicker css **/
.custom-picker-css.soldout {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #999999;
    font-size: 15px;
    font-weight: 600;
    height: 326px;
}

.custom-picker-css .tempus-dominus-widget {
    box-shadow: none !important;
    padding: 20px 11px !important;
    width: 100% !important;
    background-color: rgba(247, 249, 250, 0.5) !important;
    border-radius: 13px !important;
    font-size: 15px !important;
}

.custom-picker-css .tempus-dominus-widget .calendar-header {
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.custom-picker-css .tempus-dominus-widget .calendar-header > .previous,
.custom-picker-css .tempus-dominus-widget .calendar-header > .picker-switch,
.custom-picker-css .tempus-dominus-widget .calendar-header > .next {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.custom-picker-css .tempus-dominus-widget .calendar-header > .previous,
.custom-picker-css .tempus-dominus-widget .calendar-header > .next {
    border-radius: 10px;
    width: 30px;
    height: 18px;
    background-color: rgba(69, 69, 69, 1);
    color: #ffffff;
}
.custom-picker-css .tempus-dominus-widget .calendar-header > .previous.disabled,
.custom-picker-css .tempus-dominus-widget .calendar-header > .next.disabled {
    background-color: rgba(69, 69, 69, .3);
}
.custom-picker-css .tempus-dominus-widget .calendar-header > .previous.disabled:hover,
.custom-picker-css .tempus-dominus-widget .calendar-header > .next.disabled:hover {
    color: #ffffff !important;
}
.custom-picker-css .tempus-dominus-widget .calendar-header > .previous i,
.custom-picker-css .tempus-dominus-widget .calendar-header > .next i {
    width: 12px;
    height: 12px;
}
.custom-picker-css .tempus-dominus-widget .calendar-header > .picker-switch {
    color: #444950 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    cursor: default !important;
}
.custom-picker-css .tempus-dominus-widget .calendar-header > .picker-switch.disabled {
    color: #444950 !important;
}

.custom-picker-css .tempus-dominus-widget .date-container-days .dow {
    display: flex !important;
    color: #9da4af !important;
    font-weight: 500;
    background-color: #ffffff;
}
.custom-picker-css .tempus-dominus-widget .date-container-days .dow:first-child { /* 1번째 */
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}
.custom-picker-css .tempus-dominus-widget .date-container-days .dow:nth-child(7) { /* 7번째 */
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}
.custom-picker-css .tempus-dominus-widget .date-container-days .dow:nth-child(-n + 7) { /* 1 ~ 7번째 */
    height: 30px;
}

.custom-picker-css .tempus-dominus-widget .date-container-days .day {
    font-weight: 700 !important;
    color: rgba(69, 69, 69, 1) !important;
}
.custom-picker-css .tempus-dominus-widget .date-container-days .day.disabled {
    color: rgba(69, 69, 69, .3) !important;
}

.custom-picker-css .tempus-dominus-widget .date-container-days .day.weekend:nth-child(7n - 6):not(.active) { /* 1, 8, 15, 22 .. 번째 */
    color: rgba(255, 0, 0, 1) !important;
}
.custom-picker-css .tempus-dominus-widget .date-container-days .day.weekend:nth-child(7n):not(.active) { /* 7, 14, 21, 28 .. 번째 */
    color: rgba(3, 70, 222, 1) !important;
}
.custom-picker-css .tempus-dominus-widget .date-container-days .day.weekend.disabled:nth-child(7n - 6):not(.active) { /* 1, 8, 15, 22 .. 번째 */
    color: rgba(255, 0, 0, .3) !important;
}
.custom-picker-css .tempus-dominus-widget .date-container-days .day.weekend.disabled:nth-child(7n):not(.active) { /* 7, 14, 21, 28 .. 번째 */
    color: rgba(3, 70, 222, .3) !important;
}

.custom-picker-css .tempus-dominus-widget .date-container-days .day.active {
    border-radius: 22px !important;
    background-color: #ff7f00 !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

.custom-picker-css .tempus-dominus-widget .date-container-days .today::before {
    display: none !important;
}
/** overriding datepicker css end **/

#error_message {
    display: none;
}

.color-orange {
    color: #ff7f00 !important; /* main color */
}
.color-orange2 {
    color: #f1741a !important; /* only login modal */
}
.color-black {
    color: #000000 !important;
}
.color-white {
    color: #ffffff !important;
}
.color-close-x {
    color: #9ba1aa !important;
}

.bg-orange {
    background-color: #ff7f00 !important; /* main color */
}

.border-orange {
    border: 1px solid #ff7f00 !important; /* main color */
}

.btn-copy {
    background-color: #f0f0f0 !important;
    color: #000000 !important;
}

.btn-kakao,
.badge-kakao.active {
    background-color: #fce500 !important;
    color: #000000 !important;
}
.btn-naver,
.badge-naver.active {
    background-color: #49c75a !important;
    color: #ffffff !important;
}
.btn-google,
.badge-google.active {
    background-color: #ffffff !important;
    border: 1px solid #e7e7e7 !important;
    color: #000000 !important;
}
.btn-apple,
.badge-apple.active {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.btn-common {
    background-color: #191919;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    font-weight: 700;
    font-size: 17px;
    border-radius: 12px;
    border: 1px solid #191919;
}
.btn-common:disabled {
    cursor: not-allowed;
    background-color: #bec6d1;
    border-color: #bec6d1;
}

.btn-input {
    background-color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #191919;
    font-weight: 500;
    font-size: 15px;
    border-radius: 0.475rem;
    border: 1px solid #191919;
    width: 25%;
}
.btn-input:disabled {
    cursor: not-allowed;
    color: #bec6d1;
    border-color: #bec6d1;
}

@media (max-width: 991px) {
    .ps-20px-mobile {
        padding-left: 20px !important;
    }
    .pe-20px-mobile {
        padding-right: 20px !important;
    }
}

body.scroll-lock {
    overflow: hidden;
}

footer {
    background-color: #f7f9fa;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 300px;
    padding-right: 300px;
}
footer .footer-content {
    height: 320px;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 80px;
}

footer .logo-wrapper {
    width: 196px;
    height: 36px;
}
footer .logo-wrapper .logo-img {
    background-image: url('../img/logo_footer.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: 100%;
    width: 100%
}

.footer-start {
    flex: 4;
    display: flex;
    justify-content: space-between;
}

.footer-start .intro {
    color: #40444a;
    font-weight: 400;
    font-size: 15px;
    margin-top: 10px;
}
.footer-start .store-badges {
    margin-top: 20px;
    gap: 10px;
}
.footer-start .store-badges .image-wrapper {
    height: 40px;
}
.footer-start .store-badges .image-wrapper img {
    height: 100%;
    width: 100%;
}

.footer-start .direct-link-area .qrcode-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}
.footer-start .direct-link-area .qrcode-wrapper img {
    width: 94px;
    height: 94px;
}
.footer-start .direct-link-area .qrcode-wrapper .qrcode-badge {
    height: 20px;
    border-radius: 10px;
    padding-left: 14px;
    padding-right: 14px;
    background-color: #555b62;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
}

.footer-start .direct-link-area .btn-wrapper .btn-download-app {
    border-radius: 10px;
    background-color: #555b62;
    border: 1px solid #555b62;
    color: #ffffff;
    font-weight: 700;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-left: 14px;
    padding-right: 14px;
    font-size: 13px;
}

.footer-end {
    flex: 5;
    display: flex;
    justify-content: space-between;
}
.footer-end .company-area,
.footer-end .menu-area {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.footer-end .company-area > p,
.footer-end .menu-area > p {
    margin-bottom: 0;
    font-size: 17px;
    font-weight: 600;
    color: #40444a;
    flex-shrink: 0;
}
.footer-end .company-area > .company-detail {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.footer-end .company-area > .company-detail span {
    font-size: 15px;
    color: #999999;
    font-weight: 400;
}
.footer-end .company-area > .company-detail .company-address {
    color: #696969;
}
.footer-end .company-area > .company-detail .info-one .label {
    font-weight: 600;
}
.footer-end .company-area > .company-detail .company-row {
    display: flex;
    align-items: center;
}
.footer-end .company-area > .company-detail .company-row .vertical-separator {
    border-right: 1px solid #999999;
    margin-left: 15px;
    margin-right: 15px;
    height: 15px;
}

.footer-end .menu-area > .menu-detail {
    display: flex;
    gap: 100px;
}
.footer-end .menu-area > .menu-detail .menu-group {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.footer-end .menu-area > .menu-detail .menu-group a {
    color: #696969;
    font-size: 15px;
    font-weight: 400;
}
.footer-end .menu-area > .menu-detail .menu-group a.terms-link {
    color: #454B55;
    font-weight: 600;
}

@media (max-width: 991px) {
    footer {
        padding-left: 0;
        padding-right: 0;
        z-index: 3;
    }
    footer .footer-content {
        height: 456px;
        flex-direction: column;
        align-items: normal;
        justify-content: center;
        gap: 0;
        padding-bottom: 95px; /* 고정 버튼 영역만큼 여유공간 */
    }

    footer .footer-content .footer-start,
    footer .footer-content .footer-end {
        flex: none;
        padding-left: 20px;
        padding-right: 20px;
    }

    footer .separator {
        margin-top: 30px;
        margin-bottom: 30px;
        border-bottom-color: #d3d5d5;
    }

    footer .logo-wrapper {
        width: 130px;
        height: 24px;
    }

    .footer-start .intro {
        font-size: 13px;
    }

    .footer-end {
        flex-direction: column;
        gap: 35px;
    }

    .footer-end .company-area,
    .footer-end .menu-area {
        gap: 3px;
    }
    .footer-end .company-area > p,
    .footer-end .menu-area > p {
        font-size: 14px;
        color: #40444a;
    }
    .footer-end .company-area > .company-detail {
        gap: 3px;
    }
    .footer-end .company-area > .company-detail span {
        font-size: 13px;
    }
    .footer-end .company-area > .company-detail .company-row .vertical-separator {
        height: 13px;
    }

    .footer-end .menu-area > .menu-detail {
        flex-direction: column;
        gap: 3px;
    }
    .footer-end .menu-area > .menu-detail .menu-group {
        display: flex;
        flex-direction: row;
    }
    .footer-end .menu-area > .menu-detail .menu-group a {
        flex: 1;
    }
}

.mt-10px {
    margin-top: 10px !important;
}
.mb-10px {
    margin-bottom: 10px !important;
}
.ms-10px {
    margin-left: 10px !important;
}
.me-10px {
    margin-right: 10px !important;
}

.mb-40px {
    margin-bottom: 40px;
}
