@charset "utf-8";

/* @import url("common.css"); */

@import url("font.css");
@import url("reset.css");
@import url("common.css");
@import url("form.css");
@import url('https://fonts.googleapis.com/css2?family=Gilda+Display&display=swap');


/*********************************************
    브레드크럼 (Breadcrumbs) 네비게이션
    사용자의 현재위치 / 사이트 이동경로
*********************************************/
.page_location_nav {
    display: block;
    height: 4rem;
    text-align: center;
    position: relative;
    z-index: 40;
    width: 100%;
    left: 0;
    right: 0;
    margin-top: 4rem;
    /* background: #015152; */
    transition: all 0.4s;
}

.page_location_nav.topfix {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 90;
}

.page_location_nav nav {
    font-size: 1rem;
    text-align: left;
    white-space: nowrap;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 1200px;
    margin: 0 auto;
}

.page_location_nav button {
    border: 0;
    background: transparent;
    outline: 0;
    font-size: 0;
}

.page_location_nav .home {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 15px;
    padding-right: 15px;
    position: relative;
}

.page_location_nav .home::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 0.5px;
    height: 13px;
    background-color: #333;
}

.page_location_nav .home a {
    display: flex;
    color: #000;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    font-size: 1.1rem;
}

.page_location_nav .path-item {
    position: relative;
    min-width: 160px;
}

.page_location_nav .path-item.path_depth_2 {
    min-width: 220px;
}

.page_location_nav .path-item dt {
    border-bottom: 0;
    border-top: 0;
    height: 40px;
    color: #000;
    font-family: SUIT;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    display: flex;
    align-items: center;
}

.page_location_nav .path-item dt span br {
    display: none;
}

.page_location_nav .path-item.path_depth_2 dt span br {
    display: block;
}

.page_location_nav .path-item.path_depth_2 dt {
    height: 40px;
    display: flex;
    align-items: center;
}

.page_location_nav nav span.open {
    margin-left: auto;
    align-items: center;
    display: flex;
}

.page_location_nav .path-item.path_depth_1 dt {
    border-left: 0;
}

.page_location_nav .path-item dt,
.page_location_nav .path-item li {
    padding-left: 20px;
}

.page_location_nav .path-item ul {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: -1px;
}

.page_location_nav .path-item ul li {
    line-height: 1.6;
    padding: 0;
    text-align: left;
}

.page_location_nav .path-item dd {
    display: none;
    width: 100%;
}

.page_location_nav .path-item li a {
    color: rgba(255, 255, 255, .9);
    display: block;
    position: relative;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    border-left: 1px solid rgba(255, 255, 255, .2);
    font-size: 0.92rem;
    background: var(--location_nav_menubg);
    transition: all .3s;
}

.page_location_nav .path-item li a br {
    display: none;
}

.page_location_nav .path-item li a:hover {
    background: var(--location_nav_menuhover);
    border-bottom: 1px solid rgba(255, 255, 255, 0);
}

.page_location_nav .path-item.path_depth_1 ul {
    margin-left: 0;
}

.page_location_nav .path-item.path_depth_1 li a {
    border-left: 0;
}

.page_location_nav .path-item li.on a {
    color: rgba(255, 255, 255, 1);
}

.page_location_nav .path-item .btn-open,
.page_location_nav .path-item .btn-close {
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
}

.page_location_nav .path-item .btn-open:after,
.page_location_nav .path-item .btn-close:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 10px;
    height: 10px;
    background: url("/assets/img/common/arrow.svg") no-repeat center / contain;
    transition: all .3s cubic-bezier(.25, .46, .45, 1);
}

.page_location_nav .path-item .btn-close {
    display: none;
}

.page_location_nav .path-item .btn-close:after {
    transform: translateY(-50%) rotate(180deg);
}

.page_location_nav .path-item.active {
    z-index: 22;
}

.page_location_nav .path-item.active .btn-open {
    display: none;
}

.page_location_nav .path-item.active .btn-close {
    display: block;
}

@media screen and (max-width: 1024px) {
    .page_location_nav {
        margin-top: 30px;
        height: auto;
    }

    .page_location_nav nav {
        padding: 0 16px;
        justify-content: flex-start;
    }


    .page_location_nav .path-item.path_depth_2 {
        min-width: auto;
    }

    .page_location_nav .path-item li a {
        padding: 0.7rem 1rem;
    }

    .page_location_nav .path-item dt,
    .page_location_nav .path-item li {
        font-size: 14px;
    }

    .page_location_nav .path-item li a {
        word-break: keep-all;
        white-space: pre-wrap;
    }

    .page_location_nav .path-item:last-child dt {
        min-height: unset;
        height: 3.2rem;
    }
}

@media screen and (max-width: 768px) {
    .page_location_nav .path-item {
        min-width: auto;
        flex: 1;
    }

    .page_location_nav .path-item.path_depth_1 {
        flex: 0.7;
    }

    .page_location_nav .path-item:last-child dt {
        border-right: 0;
    }
}


/*********************************************
    헤더
*********************************************/
.temp_header_skin1 {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 100;
    transition: all 0.4s;
}

.temp_header_skin1:before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    transition: background 0.4s;
}

.temp_header_skin1 .header_logo {
    display: block;
    width: calc(177 / var(--width) * var(--device-width));
    height: auto;
    color: #fff;
    transition: color 0.4s;
}

.temp_header_skin1 .header_logo path {
    fill: currentColor;
    transition: fill 0.5s;
}

.temp_header_skin1 .header_con {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: var(--main-inner-size);
    height: var(--header-height);
    padding: 0 var(--page-margin);
    margin: 0 auto;
    z-index: 10;
}

.temp_header_skin1 .header_util {
    display: flex;
    align-items: center;
    gap: calc(10 / var(--width) * var(--device-width));
}

.temp_header_skin1 .open_badge,
.temp_header_skin1 .btn_register {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: calc(40 / var(--width) * var(--device-width));
    padding: 0 calc(20 / var(--width) * var(--device-width));
    border-radius: calc(60 / var(--width) * var(--device-width));
    background: #fff;
    color: #1E2A59;
    font-family: 'Pretendard', sans-serif;
    font-size: calc(16 / var(--width) * var(--device-width));
    font-weight: 700;
    white-space: nowrap;
    transition: background 0.4s, color 0.4s;
}

.temp_header_skin1 .top_tel {
    display: inline-flex;
    align-items: center;
    gap: calc(12 / var(--width) * var(--device-width));
    height: calc(40 / var(--width) * var(--device-width));
    padding: 0 calc(17 / var(--width) * var(--device-width));
    border: 1px solid #fff;
    border-radius: calc(60 / var(--width) * var(--device-width));
    color: #fff;
    font-family: 'Pretendard', sans-serif;
    font-size: calc(18 / var(--width) * var(--device-width));
    font-weight: 700;
    white-space: nowrap;
    box-sizing: border-box;
    transition: color 0.4s, border-color 0.4s;
}

.temp_header_skin1 .top_tel_ico {
    display: block;
    width: calc(12 / var(--width) * var(--device-width));
    height: calc(14 / var(--width) * var(--device-width));
    color: #fff;
    flex-shrink: 0;
    transition: color 0.4s;
}

.temp_header_skin1 .top_tel_ico path {
    stroke: currentColor;
    transition: stroke 0.5s;
}

.temp_header_skin1 .btn_menu {
    display: block;
    width: calc(40 / var(--width) * var(--device-width));
    height: calc(40 / var(--width) * var(--device-width));
    position: relative;
    flex-shrink: 0;
    color: #fff;
    transition: color 0.4s;
}

.temp_header_skin1 .btn_menu_svg {
    display: block;
    width: 100%;
    height: 100%;
}

.temp_header_skin1 .btn_menu_svg rect {
    stroke: currentColor;
    transition: stroke 0.5s;
}

.temp_header_skin1 .btn_menu_svg path {
    fill: currentColor;
    transition: fill 0.5s;
}

.temp_header_skin1.scrollDown {
    transform: translateY(-130%);
}

.temp_header_skin1.scrollTop,
.temp_header_skin1.scrollUp {
    transform: translateY(0);
}

/*********************************************
    헤더 bk 상태 (라이트 배경)
*********************************************/
.temp_header_skin1.sub.bk {
    background:rgba(255,255,255,0.9);
}

.temp_header_skin1.bk,
.temp_header_skin1.on {
    border-bottom-color: rgba(0, 0, 0, 0.1);
}

.temp_header_skin1.bk:before,
.temp_header_skin1.on:before {
    background: rgba(0, 0, 0, 0.1);
}

.temp_header_skin1.bk .header_logo,
.temp_header_skin1.on .header_logo {
    color: #2F2E58;
}

.temp_header_skin1.bk .open_badge,
.temp_header_skin1.on .open_badge,
.temp_header_skin1.bk .btn_register,
.temp_header_skin1.on .btn_register {
    background: #1E2A59;
    color: #fff;
}

.temp_header_skin1.bk .top_tel,
.temp_header_skin1.on .top_tel {
    border-color: #231f20;
    color: #231f20;
}

.temp_header_skin1.bk .top_tel_ico,
.temp_header_skin1.on .top_tel_ico,
.temp_header_skin1.bk .btn_menu,
.temp_header_skin1.on .btn_menu {
    color: #231f20;
}

.temp_header_skin1.bk .header_con,
.temp_header_skin1.on .header_con {
    color:#231f20;
}

.temp_header_skin1.on.scrollUp {
    box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.12);
}

@media screen and (min-width: 1025px) {
    .temp_header_skin1 .header_con {
        z-index: 18;
        color:#fff;
    }

    .temp_header_skin1.hover .header_con {
        color: #231f20;
    }

    .temp_header_skin1 .btn_menu {
        display: block;
    }

    .temp_header_skin1 .btn_menu_svg {
        display: none;
    }

    .temp_header_skin1 .btn_menu .hamburger_icon {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
        border: 1px solid currentColor;
        border-radius: 50%;
        box-sizing: border-box;
    }

    .temp_header_skin1 .hamburger_icon i {
        display: block;
        position: absolute;
        inset: 0;
        width: calc(16 / var(--width) * var(--device-width));
        height: calc(2 / var(--width) * var(--device-width));
        margin: auto;
        background: currentColor;
        transition: transform 0.5s, opacity 0.5s;
    }

    .temp_header_skin1 .hamburger_icon i:nth-child(1) {
        transform: translateY(calc(-5 / var(--width) * var(--device-width)));
    }

    .temp_header_skin1 .hamburger_icon i:nth-child(3) {
        transform: translateY(calc(5 / var(--width) * var(--device-width)));
    }

    .temp_header_skin1 .mobile_gnb_open .hamburger_icon i:nth-child(1) {
        transform: rotate(45deg);
    }

    .temp_header_skin1 .mobile_gnb_open .hamburger_icon i:nth-child(2) {
        opacity: 0;
    }

    .temp_header_skin1 .mobile_gnb_open .hamburger_icon i:nth-child(3) {
        transform: rotate(-45deg);
    }

    .allmenu_con {
        display: block !important;
        position: fixed;
        inset: 0;
        z-index: 17;
        width: 100vw;
        height: 100vh;
        overflow-y: auto;
        background: rgba(55, 33, 94, 0.65);
        backdrop-filter: blur(15px);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-100%);
        transition: transform 0.5s ease, opacity 0.35s ease, visibility 0.5s;
    }

    .temp_header_skin1.active .allmenu_con {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .allmenu_con .mobile_gnb {
        display: flex;
        align-items: center;
        width: min(1400px, calc(100% - var(--page-margin) * 2));
        height: 100%;
        margin: 0 auto;
        padding-top: var(--header-height);
        box-sizing: border-box;
    }

    .allmenu_con .depth0 {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .allmenu_con .depth0>li {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: calc(120 / var(--width) * var(--device-width));
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
        box-sizing: border-box;
    }

    .allmenu_con .depth0>li>a {
        position: relative;
        display: flex;
        align-items: center;
        flex: 0 0 38%;
        padding-left: calc(24 / var(--width) * var(--device-width));
        color: #fff;
        font-family: 'SUIT', sans-serif;
        font-size: calc(28 / var(--width) * var(--device-width));
        white-space: nowrap;
        transition: opacity 0.25s;
    }

    .allmenu_con .depth0>li>a::before {
        content: '';
        position: absolute;
        top: 50%;
        left: calc(4 / var(--width) * var(--device-width));
        width: calc(4 / var(--width) * var(--device-width));
        height: calc(4 / var(--width) * var(--device-width));
        border-radius: 50%;
        background: currentColor;
        transform: translateY(-50%);
    }

    .allmenu_con .depth0>li>a strong {
        font-weight: 500;
    }

    .allmenu_con .depth0>li>.depth1 {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex: 1;
        gap: calc(64 / var(--width) * var(--device-width));
        min-width: 0;
    }

    .allmenu_con .depth0>li>.depth1>li>a {
        display: block;
        color: rgba(255, 255, 255, 0.72);
        font-size: calc(18 / var(--width) * var(--device-width));
        text-align: center;
        white-space: nowrap;
        transition: color 0.25s, opacity 0.25s;
    }

    .allmenu_con .depth0>li>a:hover,
    .allmenu_con .depth0>li>a.current,
    .allmenu_con .depth0>li>.depth1>li>a:hover,
    .allmenu_con .depth0>li>.depth1>li>a.current,
    .allmenu_con .depth0>li>.depth1>li>a.recurrent {
        color: #fff;
        opacity: 1;
    }

    .allmenu_con .depth0>li>a>i,
    .allmenu_con .depth0>li>.depth1>li>a>i {
        display: none;
    }

    .temp_header_skin1:hover {
        background: #fff;
        border-bottom-color: rgba(0, 0, 0, 0.1);
        box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
        height: calc(400 / var(--width) * var(--device-width));
    }

    .temp_header_skin1:hover:before {
        background: rgba(0, 0, 0, 0.1);
        z-index: 3;
    }

    .temp_header_skin1:hover .header_logo {
        color: #2F2E58;
    }

    .temp_header_skin1:hover .open_badge,
    .temp_header_skin1:hover .btn_register {
        background: #1E2A59;
        color: #fff;
    }

    .temp_header_skin1:hover .top_tel {
        border-color: #231f20;
        color: #231f20;
    }

    .temp_header_skin1:hover .top_tel_ico,
    .temp_header_skin1:hover .btn_menu {
        color: #231f20;
    }

    .temp_header_skin1.active:hover {
        background: transparent;
        border-bottom-color: rgba(255, 255, 255, 0.3);
        box-shadow: none;
    }

    .temp_header_skin1.active:hover:before {
        background: rgba(255, 255, 255, 0.3);
    }

    .temp_header_skin1.active:hover .header_logo,
    .temp_header_skin1.active:hover .top_tel_ico,
    .temp_header_skin1.active:hover .btn_menu {
        color: #fff;
    }

    .temp_header_skin1.active:hover .top_tel {
        border-color: #fff;
        color: #fff;
    }

    .temp_header_skin1.active:hover .open_badge,
    .temp_header_skin1.active:hover .btn_register {
        background: #fff;
        color: #1E2A59;
    }

    /* GNB */
    .temp_header_skin1 .header_con .gnb_depth_1 {
        display: flex;
        align-items: center;
        gap: 0;
    }

    .temp_header_skin1 .header_con .gnb_depth_1>li {
        position: relative;
        transition: all 0.5s;
    }

    .temp_header_skin1 .header_con .gnb_depth_1>li>a>strong::after {
        position: absolute;
        content: "";
        transform: scaleX(0);
        width: 100%;
        margin: auto;
        height: 3px;
        background: var(--primary-color);
        transition: all 0.3s;
        left: 0;
        right: 0;
        bottom: 0px;
        z-index: 1;
    }

    .temp_header_skin1 .header_con .gnb_depth_1>li:hover>a>strong::after {
        transform: scaleX(1);
    }

    .temp_header_skin1 .header_con .gnb_depth_1>li>a {
        color: inherit;
        font-size: calc(18 / var(--width) * var(--device-width));
        position: relative;
        padding: 17px 50px 40px;
        white-space: nowrap;
        transition: all 0.3s;
    }

    .temp_header_skin1 .header_con .gnb_depth_2 {
        position: absolute;
        display: block !important;
        top: calc(var(--header-height) / 2 + calc(30 / var(--width) * var(--device-width)));
        left: 50%;
        transform: translateX(-50%);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
    }

    .temp_header_skin1:hover .header_con .gnb_depth_2 {
        opacity: 1;
        visibility: visible;
    }

    .temp_header_skin1 .header_con .gnb_depth_2>ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: calc(20 / var(--width) * var(--device-width));
    }

    .temp_header_skin1 .header_con .gnb_depth_2>ul>li {
        text-align: center;
    }

    .temp_header_skin1 .header_con .gnb_depth_2>ul>li>a {
        font-size: calc(16 / var(--width) * var(--device-width));
        color: inherit;
        text-align: center;
        white-space: nowrap;
        position: relative;
        display: block;
    }

    .temp_header_skin1 .header_con .gnb_depth_2>ul>li>a::after {
        position: absolute;
        content: "";
        width: 0%;
        height: 1px;
        background: var(--primary-color);
        transition: all 0.3s;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }

    /* 
    .temp_header_skin1 .header_con .gnb_depth_2>ul>li>a:hover::after {
        width: 100%;
    } */

    .temp_header_skin1 .header_con .gnb_depth_2>ul>li>a i {
        font-style: normal;
        font-size: calc(12 / var(--width) * var(--device-width));
        display: none;
    }

    .temp_header_skin1 .header_con .gnb_depth_2>ul>li>a:hover {
        color: var(--primary-color);
    }
}

.allmenu_con {
    display: none;
}

@media screen and (max-width: 1024px) {
    .temp_header_skin1 .gnb {
        display: none;
    }

    .temp_header_skin1 .header_logo {
        width: 120px;
    }

    .temp_header_skin1 .open_badge,
    .temp_header_skin1 .btn_register {
        height: calc(40 / var(--width) * var(--device-width));
        padding: 0 12px;
        font-size: calc(12 / var(--width) * var(--device-width));
    }

    .temp_header_skin1 .top_tel {
        width: calc(40 / var(--width) * var(--device-width));
        height: calc(40 / var(--width) * var(--device-width));
        padding: 0;
        justify-content: center;
        gap: 0;
    }

    .temp_header_skin1 .top_tel span {
        display: none;
    }

    .temp_header_skin1 .top_tel_ico {
        width: 14px;
        height: 15px;
    }

    .temp_header_skin1 .header_util {
        gap: 8px;
    }

    .temp_header_skin1 .btn_menu {
        display: block;
    }

    .temp_header_skin1 .btn_menu_svg {
        display: none;
    }

    .temp_header_skin1 .btn_menu .hamburger_icon {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
        border: 1px solid currentColor;
        border-radius: 50%;
        box-sizing: border-box;
        transition: border-color 0.4s;
    }

    .temp_header_skin1.bk .btn_menu .hamburger_icon,
    .temp_header_skin1.on .btn_menu .hamburger_icon {
        border-color: #231f20;
    }

    .temp_header_skin1.bk .hamburger_icon i,
    .temp_header_skin1.on .hamburger_icon i {
        background: #231f20;
    }

    body.is-mobile-native-scroll .temp_header_skin1.on:not(.bk):before {
        background: rgba(255, 255, 255, 0.3);
    }

    body.is-mobile-native-scroll .temp_header_skin1.on:not(.bk) .header_logo,
    body.is-mobile-native-scroll .temp_header_skin1.on:not(.bk) .top_tel_ico,
    body.is-mobile-native-scroll .temp_header_skin1.on:not(.bk) .btn_menu {
        color: #fff;
    }

    body.is-mobile-native-scroll .temp_header_skin1.on:not(.bk) .open_badge
    body.is-mobile-native-scroll .temp_header_skin1.on:not(.bk) .btn_register {
        background: #fff;
        color: #1E2A59;
    }

    body.is-mobile-native-scroll .temp_header_skin1.on:not(.bk) .top_tel {
        border-color: #fff;
        color: #fff;
    }

    body.is-mobile-native-scroll .temp_header_skin1.on:not(.bk) .btn_menu .hamburger_icon {
        border-color: #fff;
    }

    body.is-mobile-native-scroll .temp_header_skin1.on:not(.bk) .hamburger_icon i {
        background: #fff;
    }

    .hamburger_icon i {
        display: block;
        position: absolute;
        inset: 0;
        width: 16px;
        height: 2px;
        margin: auto;
        background: #fff;
        transition: background 0.4s, transform 0.5s, opacity 0.5s;
    }

    .hamburger_icon i:nth-child(1) {
        transform: translateY(-5px);
    }

    .hamburger_icon i:nth-child(2) {
        transform: translateY(0);
    }

    .hamburger_icon i:nth-child(3) {
        transform: translateY(5px);
    }

    .mobile_gnb_open .hamburger_icon i:nth-child(1) {
        transform: rotate(45deg);
    }

    .mobile_gnb_open .hamburger_icon i:nth-child(2) {
        opacity: 0;
    }

    .mobile_gnb_open .hamburger_icon i:nth-child(3) {
        transform: rotate(-45deg);
    }

    .allmenu_con {
        display: block !important;
        position: fixed;
        inset: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(55, 33, 94, 0.65);
        backdrop-filter: blur(15px);
        transform: translateY(-100%);
        transition: transform 0.5s;
    }

    .temp_header_skin1.active .allmenu_con {
        transform: translateY(0);
    }

    .allmenu_con .mobile_gnb {
        height: 100%;
        padding: 100px 20px 40px;
        overflow-y: auto;
        box-sizing: border-box;
    }

    .allmenu_con .mobile_gnb .depth0 {
        display: flex;
        flex-direction: column;
        width: 100%;
        opacity: 0;
        transition: opacity 1s;
    }

    .temp_header_skin1.active .allmenu_con .mobile_gnb .depth0 {
        opacity: 1;
    }

    .allmenu_con .mobile_gnb .depth0>li {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 22px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    }

    .allmenu_con .mobile_gnb .depth0>li>a {
        position: relative;
        display: flex;
        align-items: center;
        padding-left: 17px;
        color: #fff;
        font-size: 24px;
        line-height: 1.3;
    }

    .allmenu_con .mobile_gnb .depth0>li>a::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 3px;
        width: 3px;
        height: 3px;
        border-radius: 50%;
        background: currentColor;
        transform: translateY(-50%);
    }

    .allmenu_con .mobile_gnb .depth0>li>a strong {
        font-weight: 500;
    }

    .allmenu_con .mobile_gnb .depth0>li>.depth1 {
        display: none;
        padding: 18px 0 2px 17px;
    }

    .allmenu_con .mobile_gnb .depth0>li>.depth1>li+li {
        margin-top: 14px;
    }

    .allmenu_con .mobile_gnb .depth0>li>.depth1>li>a {
        display: block;
        padding: 0;
        color: rgba(255, 255, 255, 0.82);
        font-size: 18px;
        line-height: 1.4;
    }

    .allmenu_con .mobile_gnb .depth0>li>.depth1>li>a br,
    .allmenu_con .mobile_gnb .depth0>li>.depth1>li>a i {
        display: none;
    }

    .temp_header_skin1.active .header_logo,
    .temp_header_skin1.active .top_tel,
    .temp_header_skin1.active .top_tel_ico,
    .temp_header_skin1.active .btn_menu {
        color: #fff;
    }

    .temp_header_skin1.active .top_tel,
    .temp_header_skin1.active .btn_menu .hamburger_icon {
        border-color: #fff;
    }

    .temp_header_skin1.active .hamburger_icon i {
        background: #fff;
    }
}

@media screen and (max-width: 550px) {
    .temp_header_skin1 .open_badge,
    .temp_header_skin1 .btn_register {
        display: none;
    }

    /* Mobile design reference: 393 x 852 */
    .allmenu_con {
        height: 100svh;
    }

    .allmenu_con .mobile_gnb {
        padding: 11.737svh 5.089vw 4.695svh;
    }

    .allmenu_con .mobile_gnb .depth0>li {
        padding: 2.582svh 0;
    }

    .allmenu_con .mobile_gnb .depth0>li>a {
        padding-left: 4.326vw;
        font-size: 6.107vw;
    }

    .allmenu_con .mobile_gnb .depth0>li>a::before {
        left: 0.763vw;
        width: 0.763vw;
        height: 0.763vw;
    }

    .allmenu_con .mobile_gnb .depth0>li>.depth1 {
        padding: 2.113svh 0 0.235svh 4.326vw;
    }

    .allmenu_con .mobile_gnb .depth0>li>.depth1>li+li {
        margin-top: 1.643svh;
    }

    .allmenu_con .mobile_gnb .depth0>li>.depth1>li>a {
        font-size: 4.58vw;
    }
}

/*********************************************
    메인 하단 고정 메뉴
*********************************************/
.main-bottom-bar {
    display: none;
}

@media screen and (max-width: 1024px) {
    .main-bottom-bar {
        position: fixed;
        z-index: 16;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        height: clamp(90px, calc(90 / var(--width) * var(--device-width)), 135px);
        color: #fff;
        background: rgba(48, 27, 76, 0.96);
        transition: transform 0.35s ease, opacity 0.35s ease, visibility 0.35s;
    }

    .main-bottom-bar.scrollDown,
    .main-bottom-bar.is-footer-visible {
        opacity: 0;
        visibility: hidden;
        transform: translateY(100%);
        pointer-events: none;
    }

    .main-bottom-bar.scrollUp:not(.is-footer-visible) {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .main-bottom-bar__item {
        display: flex;
        min-width: 0;
        height: 100%;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        font-family: 'Pretendard', sans-serif;
        line-height: 1;
        text-align: center;
        box-sizing: border-box;
    }

    .main-bottom-bar__item+.main-bottom-bar__item {
        border-left: 1px solid rgba(255, 255, 255, 0.14);
    }

    .main-bottom-bar__open strong {
        color: #fff;
        font-size: calc(18 / var(--width) * var(--device-width));
        font-weight: 800;
    }

    .main-bottom-bar__open span {
        font-size: calc(18 / var(--width) * var(--device-width));
        color: #fff;
        margin-top: calc(6 / var(--width) * var(--device-width));
        font-weight: 800;
    }

    .main-bottom-bar__regist .main-bottom-bar__regist_txt {
        margin-top: clamp(8px, calc(8 / var(--width) * var(--device-width)), 12px);
        font-size: clamp(16px, calc(16 / var(--width) * var(--device-width)), 24px);
        color: #fff;
    }

    .main-bottom-bar__regist img {
        display: block;
        width: clamp(24px, calc(24 / var(--width) * var(--device-width)), 36px);
        height: clamp(24px, calc(24 / var(--width) * var(--device-width)), 36px);
    }

    .main-bottom-bar__tel svg {
        color: #fff;
        display: block;
        width: clamp(24px, calc(24 / var(--width) * var(--device-width)), 36px);
        height: clamp(24px, calc(24 / var(--width) * var(--device-width)), 36px);
    }

    .main-bottom-bar__tel_num {
        margin-top: clamp(6px, calc(6 / var(--width) * var(--device-width)), 9px);
        font-size: clamp(18px, calc(18 / var(--width) * var(--device-width)), 27px);
        font-weight: 700;
        color: #fff;
    }
}

/*********************************************
    푸터
*********************************************/
.footer_container {
    background: #000;
    color: #fff;
    position: relative;
    padding: 45px 0 28px;
    font-family: 'Pretendard', sans-serif;
}

.footer_container .footer_inner {
    width: min(100%, 1520px);
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
    position: relative;
}

.footer_container .footer_brand {
    display: flex;
    justify-content: center;
    margin-bottom: 46px;
}

.footer_container .footer_logo {
    display: block;
    width: 185px;
    height: auto;
}

.footer_container .footer_body {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
}

.footer_container .footer_info {
    width: min(100%, 940px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 19px;
    text-align: center;
}

.footer_container .footer_company_block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.footer_container .footer_company {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
}

.footer_container .footer_company_item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #afafaf;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}

.footer_container .footer_company_item em {
    font-style: normal;
    white-space: nowrap;
}

.footer_container .footer_company_item img {
    display: block;
    width: auto;
    height: 14px;
}

.footer_container .footer_address {
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

.footer_container .footer_schedule {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

.footer_container .footer_notice {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    color: #aeaeae;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.footer_container .footer_agency {
    margin: 8px 0;
    width: 100%;
    color: #aeaeae;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
}

.footer_container .footer_pc_bar {
    display:inline;
}

.footer_container .btn_top {
    position: absolute;
    top: -36px;
    right: 0;
    width: 102px;
    height: 102px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.footer_container .btn_top_circle {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    box-sizing: border-box;
}

.footer_container .btn_top_label {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-family: 'Paperlogy', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.65px;
    line-height: 1.5;
}

.footer_container .btn_top_arrow {
    display: block;
    width: 21px;
    height: 14px;
    transform: rotate(-90deg);
}

.footer_container .footer_bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.footer_container .footer_copyright {
    position: absolute;
    left: 50%;
    top: 24px;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    text-align: center;
    transform: translateX(-50%);
}

.footer_container .btn_term {
    color: #fff;
    font-size: 14px;
    font-weight: 300;
    text-decoration: none;
    white-space: nowrap;
}

.footer_container .btn_admin {
    color: rgba(255,255,255,0.4);
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
    .footer_container .btn_top {
        position: relative;
        margin: 24px auto 0;
        top: 0;
    }

    .footer_container .footer_body {
        flex-direction: column;
        align-items: center;
    }
}

@media screen and (max-width: 1024px) {
    .footer_container .btn_top_circle {
        position: absolute;
        inset: unset;
        width: 72px;
        height: 72px;
    }

    .footer_container {
        padding: 40px 0 calc(24px + env(safe-area-inset-bottom, 0px) + var(--main-bottom-bar-height, 90px));
    }

    .footer_container .footer_inner {
        padding: 0 20px;
    }

    .footer_container .footer_brand {
        margin-bottom: 28px;
    }

    .footer_container .footer_logo {
        width: min(100%, 148px);
    }

    .footer_container .footer_info {
        gap: 14px;
    }

    .footer_container .footer_company {
        flex-wrap: wrap;
        gap: 10px 16px;
    }

    .footer_container .footer_address,
    .footer_container .footer_notice,
    .footer_container .footer_agency {
        font-size: 12px;
    }

    .footer_container .footer_pc_bar {
        display: none;
    }

    .footer_container .footer_bottom {
        flex-direction: column;
        gap: 16px;
        padding-top: 20px;
    }

    .footer_container .footer_copyright {
        position: static;
        transform: none;
    }

    .footer_container .btn_admin {
        order: 3;
    }

    .footer_container .footer_copyright {
        font-size: 11px;
    }

    .footer_container .btn_top {
        width: 72px;
        height: 72px;
    }

    .footer_container .btn_top_label {
        font-size: 11px;
        gap: 4px;
    }

    .footer_container .btn_top_arrow {
        width: 15px;
        height: 10px;
    }
}






/********************************************* 
    서브 비주얼
*********************************************/
.sub_top_visual {
    width: 100%;
    height: 464px;
    background: url('/assets/img/sub/sub_overview_top.v1.jpg') center center/cover no-repeat;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    /*z-index: 2;*/
}

.sub_top_visual .page_tit {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #FFF;
    padding-top: 40px;
}

/* AOS fade-in 초기 opacity 제거 — 내부 span translateY로 등장 */
.sub_top_visual .page_tit [data-aos="fade-in"] {
    opacity: 1 !important;
}

.sub_top_visual .page_tit_en {
    display: block;
    overflow: hidden;
    font-family: var(--font-en);
    font-size: 60px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: normal;
    text-transform: uppercase;
}

.sub_top_visual .page_tit_en>span {
    display: block;
    transform: translateY(100%);
    transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.sub_top_visual .page_tit_en>span::first-letter {
    text-transform: uppercase;
}

.sub_top_visual .page_tit_kr,
.sub_top_visual h2 {
    display: block;
    overflow: hidden;
    margin-top: 12px;
    color: #FFF;
    text-align: center;
    font-size: 26px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: normal;
    padding-top: 0;
}

.sub_top_visual .page_tit_kr>span,
.sub_top_visual h2>span {
    display: block;
    transform: translateY(100%);
    transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.sub_top_visual .page_tit_en.aos-animate>span,
.sub_top_visual .page_tit_kr.aos-animate>span,
.sub_top_visual h2.aos-animate>span {
    transform: translateY(0);
}

.sub_top_visual h2 i {
    font-style: normal;
    font-size: 24px;
}

.sub_top_visual h2 br {
    display: none;
}

@media screen and (max-width: 1024px) {
    .sub_top_visual {
        height: 360px;
    }

    .sub_top_visual .page_tit {
        padding-top: 30px;
    }

    .sub_top_visual .page_tit_en {
        font-size: calc(46 / var(--width) * var(--device-width));
        letter-spacing: 0.03em;
    }

    .sub_top_visual .page_tit_kr,
    .sub_top_visual h2 {
        font-size: calc(22 / var(--width) * var(--device-width));
        margin-top: calc(8 / var(--width) * var(--device-width));
    }
}

@media screen and (max-width: 600px) {
    .sub_top_visual h2 br {
        display: block;
    }
}

@media screen and (max-width: 1024px) {
    /* FullPage mode only: fill the Safari bottom safe area. */
    html.fp-enabled body.is-main:not(.is-mobile-native-scroll) .main-bottom-bar {
        height: calc(clamp(90px, calc(90 / var(--width) * var(--device-width)), 135px) + env(safe-area-inset-bottom, 0px));
        padding-bottom: env(safe-area-inset-bottom, 0px);
        box-sizing: border-box;
    }
}
