@import url('https://fonts.googleapis.com/css2?family=Gilda+Display&family=Noto+Serif+KR:wght@700&display=swap');

.temp_header_skin1 {
    opacity: 0;
    transition: all 0.8s;
    transform: translateY(-100%);
}

.is-main .temp_header_skin1 {
    transform: translateY(0);
    opacity: 1;
}

html,
body {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

@media screen and (max-width: 1024px) {
    .is-main .temp_header_skin1.scrollDown:not(.active) {
        transform: translateY(-130%);
    }

    .is-main .temp_header_skin1.scrollTop,
    .is-main .temp_header_skin1.scrollUp,
    .is-main .temp_header_skin1.active {
        transform: translateY(0);
    }
}

.section:not(.section_footer) {
    min-height: var(--initial-viewport-height, 100vh);
}

.section_footer {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.fp-scrollable .iScrollVerticalScrollbar,
.fp-scrollable .iScrollHorizontalScrollbar {
    display: none !important;
}

.fp-scrollable,
.fp-scroller {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.fp-scrollable::-webkit-scrollbar,
.fp-scroller::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

@media screen and (max-width: 1024px) {
    html.fp-enabled,
    html.fp-enabled body {
        height: auto !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body.is-mobile-native-scroll #fullpage {
        position: static !important;
        height: auto !important;
        transform: none !important;
        touch-action: auto !important;
    }

    body.is-mobile-native-scroll .section {
        display: block !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        transform: none !important;
    }

    body.is-mobile-native-scroll .section_schedule,
    body.is-mobile-native-scroll .section_environment,
    body.is-mobile-native-scroll .section_contact,
    body.is-mobile-native-scroll .section_footer {
        height: auto !important;
    }

    body.is-mobile-native-scroll .section_schedule,
    body.is-mobile-native-scroll .section_environment,
    body.is-mobile-native-scroll .section_contact {
        min-height: var(--initial-viewport-height, 100vh) !important;
    }

    body.is-mobile-native-scroll .section_unit,
    body.is-mobile-native-scroll .section_community {
        height: max(
            var(--initial-viewport-height, 100vh),
            calc(852 / var(--width) * var(--device-width))
        ) !important;
        min-height: max(
            var(--initial-viewport-height, 100vh),
            calc(852 / var(--width) * var(--device-width))
        ) !important;
    }

    body.is-mobile-native-scroll .section_unit .unit_inner,
    body.is-mobile-native-scroll .section_community .community_inner {
        height: 100% !important;
        min-height: 100% !important;
    }

    body.is-mobile-native-scroll .section > .fp-tableCell,
    body.is-mobile-native-scroll .section .slimScrollDiv,
    body.is-mobile-native-scroll .section .fp-scrollable,
    body.is-mobile-native-scroll .section .fp-scroller {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        overflow: visible !important;
        transform: none !important;
    }

    body.is-mobile-native-scroll .section_unit > .fp-tableCell,
    body.is-mobile-native-scroll .section_unit .slimScrollDiv,
    body.is-mobile-native-scroll .section_unit .fp-scrollable,
    body.is-mobile-native-scroll .section_unit .fp-scroller,
    body.is-mobile-native-scroll .section_community > .fp-tableCell,
    body.is-mobile-native-scroll .section_community .slimScrollDiv,
    body.is-mobile-native-scroll .section_community .fp-scrollable,
    body.is-mobile-native-scroll .section_community .fp-scroller {
        height: 100% !important;
    }
}
/*********************************************
    ELEMENT ::: fullpage-navigation 
*********************************************/
.fullpage-navigation {
    position: fixed;
    left: 70px;
    bottom: 40px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 16px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1) 5.2s,
        visibility 0.8s cubic-bezier(0.22, 1, 0.36, 1) 5.2s;
    will-change: opacity, visibility;
}

.fullpage-navigation[hidden] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.fullpage-navigation a {
    pointer-events: auto;
}

.fullpage-navigation__home {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 16px;
    opacity: 0.3;
    color:#000;
    transition: opacity 0.6s;
}

.fullpage-navigation.is-home .fullpage-navigation__home,
.fullpage-navigation__home:hover {
    color:#E3B965;
    opacity: 1;
}

.fullpage-navigation__home svg {
    display: block;
    width: 14px;
    height: 16px;
}

.fullpage-navigation__line {
    display: block;
    width: 60px;
    height: 1px;
    background: rgba(0, 0, 0, 0.5);
}

.fullpage-navigation__dots {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fullpage-navigation__dots a {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.3);
    font-size: 0;
    transition: background 0.6s, transform 0.6s;
}

.fullpage-navigation__dots a.on,
.fullpage-navigation__dots a:hover {
    background: #E3B965;
}

.fullpage-navigation__dots a.on {
    transform: scale(1.15);
}

.fullpage-navigation.white .fullpage-navigation__home {
    color:#fff;
}

.fullpage-navigation.is-home.white .fullpage-navigation__home,
.fullpage-navigation.white .fullpage-navigation__home:hover {
    color:#fff;
}

.fullpage-navigation.white .fullpage-navigation__line {
    background: rgba(255, 255, 255, 0.5);
}

.fullpage-navigation.white .fullpage-navigation__dots a {
    background: rgba(255, 255, 255, 0.5);
}

.fullpage-navigation.white .fullpage-navigation__dots a.on,
.fullpage-navigation.white .fullpage-navigation__dots a:hover {
    background: #fff;
}

@media screen and (max-width: 1024px) {
    .fullpage-navigation,
    .is-hero-copy .fullpage-navigation {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/*********************************************
    SECTION ::: section_hero
*********************************************/
.section_hero {
    position: relative;
    background: #3e3e3e;
    overflow: hidden;
}

.section_hero .hero_bg {
    position: absolute;
    inset: 0;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
}

.section_hero .hero_bg_img_wrap {
    position: relative;
    width:100%;
    height:100%;
}

.section_hero .hero_bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-position: center 60%;
    object-fit: cover;
    transform: scale(1.05);
    transform-origin: center center;
    will-change: transform;
}

.is-main .section_hero .hero_bg img {
    animation: hero-bg-zoom 5s var(--ease-out) forwards 0.2s;
}

@keyframes hero-bg-zoom {
    from {
        transform: scale(1.05);
    }

    to {
        transform: scale(1);
    }
}

.section_hero .hero_dim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
}

.section_hero .hero_inner {
    position: relative;
    z-index: 1;
    width: min(100%, 1920px);
    height: 100%;
    margin: 0 auto;
}

.section_hero .hero_title {
    position: absolute;
    width: 454px;
}

.section_hero .hero_title.cover-position {
    left: var(--cover-x, 19.22%);
    top: var(--cover-y, 15.59%);
    scale: var(--cover-item-scale, 1);
    transform-origin: 0 0;
}

.section_hero .hero_title svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}


.section_hero .hero_copy {
    position: absolute;
    width: 641px;
}
.section_hero .hero_copy.cover-position {
    left: var(--cover-x, 42.43%);
    top: var(--cover-y, 25.17%);
    bottom: auto;
    scale: var(--cover-item-scale, 1);
    transform-origin: 0 0;
}

.section_hero .hero_copy_line {
    display: block;
    width: 479px;
    height: 1px;
    background: #1E2A59;
    margin-top: 10px;
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
}

.section_hero .hero_points {
    position: absolute;
    left: 512px;
    top: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    opacity: 1;
    transform: translateX(-48px);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 20px;
    will-change: transform, opacity;
}

.section_hero .hero_points li {
    --hero-point-index: 0;
    opacity: 0;
    /* transform: translateX(-16px); */
    will-change: opacity, transform;
    font-size: 20px;
    color:#1E2A59;
    font-weight:500;
    line-height:1.3;
    letter-spacing: -0.02em;
}

.section_hero .hero_points li b {
    color:#E3B965;
    font-weight:700;
}

.section_hero .hero_points li:nth-child(2) { --hero-point-index: 1; }
.section_hero .hero_points li:nth-child(3) { --hero-point-index: 2; }


.section_hero .hero_title_char,
.section_hero .hero_title_chak {
    transform-box: fill-box;
    will-change: transform;
}

.section_hero .hero_title_char {
    transform: scale(0);
    transform-origin: center center;
}

.section_hero .hero_title_chak {
    transform: translateX(56px) scale(0);
    transform-origin: center center;
}

.section_hero .hero_title_line {
    clip-path: inset(0 0 0 100%);
    will-change: clip-path;
}

.is-main .section_hero .hero_title_char {
    animation: hero-char-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.is-main .section_hero #Vector_5 {
    animation-delay: 0s;
}

.is-main .section_hero #Vector_6 {
    animation-delay: 0.1s;
}

.is-main .section_hero #Vector_7 {
    animation-delay: 0.2s;
}

.is-main .section_hero #Vector_8 {
    animation-delay: 0.3s;
}

.is-main .section_hero .hero_title_chak {
    animation: hero-chak-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) 1s forwards;
}

.is-main .section_hero .hero_title_line {
    animation:
        hero-line-stub 0.38s cubic-bezier(0.22, 1, 0.36, 1) 1s forwards,
        hero-line-draw 0.32s cubic-bezier(0.4, 0, 0.2, 1) 1.15s forwards;
}

.is-hero-copy .section_hero .hero_copy_line {
    animation: hero-copy-line-in 1s cubic-bezier(0.4, 0, 0.2, 1) 2.1s forwards;
}

.is-hero-copy .section_hero .hero_points {
    animation: hero-points-in 0.85s cubic-bezier(0.22, 1, 0.36, 1) 3.35s forwards;
}

.is-hero-copy .section_hero .hero_points li {
    animation: hero-point-in 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 3.35s;
    /* animation-delay: calc(3.35s + var(--hero-point-index) * 0.3s); */
}

@keyframes hero-copy-line-in {
    to { transform: scaleX(1); }
}

@keyframes hero-points-in {
    to {
        transform: translateX(0);
    }
}

@keyframes hero-point-in {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.is-hero-copy .section_hero .hero_badge,
.is-hero-copy .fullpage-navigation {
    opacity: 1;
    visibility: visible;
}

@keyframes hero-char-in {
    from {
        transform: scale(0);
    }

    to {
        transform: scale(1);
    }
}

/* 착 — 오른쪽에서 왼쪽으로 빠르게 등장 */
@keyframes hero-chak-in {
    from {
        transform: translateX(56px) scale(0);
    }

    to {
        transform: translateX(0) scale(1);
    }
}

/* 가로 라인 — 착과 함께 ㄱ만 공개 */
@keyframes hero-line-stub {
    from {
        clip-path: inset(0 0 0 100%);
    }

    to {
        clip-path: inset(0 0 0 30%);
    }
}

/* 가로 라인 — 착 등장 후 재빠르게 좌측으로 clip 해제 */
@keyframes hero-line-draw {
    from {
        clip-path: inset(0 0 0 30%);
    }

    to {
        clip-path: inset(0 0 0 0%);
    }
}

.section_hero .hero_badge {
    position: absolute;
    z-index: 2;
    right: 0;
    top: var(--header-height);
    width: calc(160 / var(--width) * var(--device-width));
    height: calc(160 / var(--width) * var(--device-width));
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    margin-right: var(--page-margin);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1) 5.2s,
        visibility 0.8s cubic-bezier(0.22, 1, 0.36, 1) 5.2s;
    will-change: opacity, visibility;
}

.section_hero .hero_badge-regist {
    margin-top: calc(30 / var(--width) * var(--device-width))
}

.section_hero .hero_badge-open {
    margin-top: calc(200 / var(--width) * var(--device-width));
}

.section_hero .hero_badge_ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: hero-regist-spin 32s linear infinite;
}

.section_hero .hero_badge_ring img {
    display: block;
    width: 82%;
    height: auto;
}

@keyframes hero-regist-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.section_hero .hero_badge_btn {
    position: relative;
    z-index: 1;
    width: calc(100 / var(--width) * var(--device-width));
    height: calc(100 / var(--width) * var(--device-width));
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(6 / var(--width) * var(--device-width));
    color: #fff;
    font-size: calc(14 / var(--width) * var(--device-width));
    font-weight: 500;
    letter-spacing: -0.03em;
}

.section_hero .hero_badge-regist .hero_badge_btn {
    background: #1E2A59;
}

.section_hero .hero_badge-open .hero_badge_btn {
    background: #E3B965;
    font-size: calc(20 / var(--width) * var(--device-width));
    text-align: center;
}

.section_hero .hero_badge-regist .hero_badge_btn img {
    display: block;
    width: calc(23 / var(--width) * var(--device-width));
    height: calc(23 / var(--width) * var(--device-width));
    color: #fff;
}

.section_hero .hero_badge-open .hero_badge_btn small {
    font-weight:400;
}

@media screen and (hover: hover) {
    .section_hero .hero_badge_ring img {
        width: 82%;
        transition: all 0.3s ease-in-out;
    }

    .section_hero .hero_badge .hero_badge_btn {
        transition: all 0.3s ease-in-out;
    }

    .section_hero .hero_badge:hover .hero_badge_btn {
        width: calc(104 / var(--width) * var(--device-width));
        height: calc(104 / var(--width) * var(--device-width));
    }

    .section_hero .hero_badge:hover .hero_badge_ring img {
        width: 90%;
    }
}

@media screen and (max-width: 1024px) {
    .section_hero .hero_title.cover-position {
        --cover-source-y: 232;
        left: 50%;
        translate: -50% 0;
        scale: 1;
    }

    .section_hero .hero_copy.cover-position {
        --cover-source-y: 390;
        left: 50%;
        translate: -50% 0;
        scale: 1;
    }

    .section_hero {
        --cover-reference-width: 393;
        --cover-reference-height: 852;
        height: var(--viewport-height);
    }

    .section_hero .hero_title {
        width: calc(310 / var(--width) * var(--device-width));
    }

    .section_hero .hero_copy {
        /* width: calc(304 / var(--width) * var(--device-width)); */
        width: auto;
        max-width: none;
    }

    .section_hero .hero_copy_line {
        display: none;
    }

    .section_hero .hero_points {
        position: static;
        left: auto;
        top: auto;
    }

    .section_hero .hero_points {
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 16px;
    }

    .is-hero-copy .section_hero .hero_points {
        animation-delay: 2s;
    }

    .is-hero-copy .section_hero .hero_points li {
        animation-delay: 2s;
        font-size:calc(14 / var(--width) * var(--device-width));
        white-space: nowrap;
        /* animation-delay: calc(2s + var(--hero-point-index) * 0.3s); */
    }

    .section_hero .hero_points li {
        flex: 1 1 0;
        min-width: 0;
    }

    .section_hero .hero_points img {
        width: 100%;
        height: auto;
    }


    .section_hero .hero_badge {
        display:none;
    }

}

@media (max-width: 1024px) and (min-aspect-ratio: 4 / 5) {
    .section_hero .hero_title.cover-position {
        --cover-source-y: 220;
    }

    .section_hero .hero_copy.cover-position {
        --cover-source-y: 415;
    }

    .section_hero {
        --cover-reference-width: 656;
        --cover-reference-height: 852;
        height: var(--viewport-height);
    }
}

/*********************************************
    SECTION ::: section_schedule
*********************************************/
.section_schedule {
    position: relative;
    z-index: 1;
    overflow: hidden;
    color: #222;
    background: #fff;
}

.section_schedule .schedule_inner {
    display: flex;
    width: 100%;
    height: 100%;
    padding-top: var(--header-height);
    background: #fff url('/assets/img/main/schedule_bg.jpg') no-repeat center / cover;
}

.section_schedule .schedule_visual {
    display: block;
    flex: 0 0 calc(580 / var(--width) * var(--device-width));
    width: calc(580 / var(--width) * var(--device-width));
    height: 100%;
    overflow: hidden;
}

.section_schedule .schedule_visual picture {
    display: block;
    width: 100%;
    height: 100%;
}

.section_schedule .schedule_visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform-origin: center;
    backface-visibility: hidden;
    animation: schedule-camera-move 16s ease-in-out infinite alternate;
    animation-play-state: paused;
}

.section_schedule.is-camera-active .schedule_visual img {
    animation-play-state: running;
    will-change: transform;
}

@keyframes schedule-camera-move {
    0% {
        transform: scale(1.08) translate3d(-1.5%, -0.5%, 0);
    }

    100% {
        transform: scale(1.16) translate3d(1.5%, 0.75%, 0);
    }
}

.section_schedule .schedule_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    padding:
        calc(40 / var(--width) * var(--device-width))
        calc(50 / var(--width) * var(--device-width))
        calc(78 / var(--width) * var(--device-width))
        calc(40 / var(--width) * var(--device-width));
}

.section_schedule .schedule_title {
    margin-bottom: calc(44 / var(--width) * var(--device-width));
    color: #111;
    font-family: var(--en-font);
    font-size: 70px;
    font-weight: 400;
    line-height: 1.1;
}

.section_schedule .schedule_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(20 / var(--width) * var(--device-width));
    width: calc(952 / var(--width) * var(--device-width));
    max-width: 100%;
}

.section_schedule .schedule_item {
    position: relative;
    display: flex;
    flex-direction: column;
    height: calc(168 / var(--width) * var(--device-width));
    padding:
        calc(27 / var(--width) * var(--device-width))
        calc(18 / var(--width) * var(--device-width))
        calc(18 / var(--width) * var(--device-width))
        calc(27 / var(--width) * var(--device-width));
    overflow: hidden;
    color: #222;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(55, 33, 94, 0.5);
    border-radius: calc(14 / var(--width) * var(--device-width));
    transition:
        color var(--default-transition),
        background-color var(--default-transition),
        border-color var(--default-transition),
        box-shadow var(--default-transition),
        transform var(--default-transition);
}

.section_schedule .schedule_item--open {
    color: #fff;
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.section_schedule .schedule_item_title,
.section_schedule .schedule_item_date {
    display: block;
}

.section_schedule .schedule_item_title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
}

.section_schedule .schedule_item_date {
    margin-top: calc(10 / var(--width) * var(--device-width));
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.section_schedule .schedule_item_icon,
.section_schedule .schedule_link_icon {
    display: block;
    flex: 0 0 auto;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.section_schedule .schedule_item_icon img,
.section_schedule .schedule_link_icon img {
    display: none;
}

.section_schedule .schedule_item_icon {
    width: calc(18 / var(--width) * var(--device-width));
    height: calc(18 / var(--width) * var(--device-width));
    margin: auto 0 0 auto;
    -webkit-mask-image: url('/assets/img/main/schedule_icon_calendar.svg');
    mask-image: url('/assets/img/main/schedule_icon_calendar.svg');
}

.section_schedule .schedule_links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(26 / var(--width) * var(--device-width));
    width: calc(952 / var(--width) * var(--device-width));
    max-width: 100%;
    margin-top: calc(64 / var(--width) * var(--device-width));
}

.section_schedule .schedule_link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(60 / var(--width) * var(--device-width));
    padding: 0 calc(24 / var(--width) * var(--device-width));
    color: var(--primary-color);
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(55, 33, 94, 0.5);
    border-radius: calc(30 / var(--width) * var(--device-width));
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    transition:
        color var(--default-transition),
        background-color var(--default-transition),
        border-color var(--default-transition),
        box-shadow var(--default-transition),
        transform var(--default-transition);
}

.section_schedule .schedule_link::before {
    content: '';
    flex: 0 0 calc(18 / var(--width) * var(--device-width));
    width: calc(18 / var(--width) * var(--device-width));
}

.section_schedule .schedule_link > span:first-of-type {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.section_schedule .schedule_link_icon {
    width: calc(18 / var(--width) * var(--device-width));
    height: calc(18 / var(--width) * var(--device-width));
    -webkit-mask-image: url('/assets/img/main/schedule_icon_link.svg');
    mask-image: url('/assets/img/main/schedule_icon_link.svg');
}

@media (hover: hover) and (min-width: 1025px) {
    .section_schedule .schedule_item:hover {
        box-shadow: 0 calc(12 / var(--width) * var(--device-width)) calc(28 / var(--width) * var(--device-width)) rgba(55, 33, 94, 0.16);
        transform: translateY(calc(-4 / var(--width) * var(--device-width)));
    }

    .section_schedule .schedule_item:not(.schedule_item--open):hover {
        color: var(--primary-color);
        background: rgba(255, 255, 255, 0.72);
        border-color: var(--primary-color);
    }

    .section_schedule .schedule_link:hover,
    .section_schedule .schedule_link:focus-visible {
        color: #fff;
        background: var(--primary-color);
        border-color: var(--primary-color);
        box-shadow: 0 calc(10 / var(--width) * var(--device-width)) calc(24 / var(--width) * var(--device-width)) rgba(55, 33, 94, 0.2);
        transform: translateY(calc(-3 / var(--width) * var(--device-width)));
    }
}

@media screen and (max-width: 1024px) {
    .section_schedule .schedule_inner {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 100%;
        padding-top: 0;
        background-position: center bottom;
    }

    .section_schedule .schedule_visual {
        flex-basis: auto;
        width: 100%;
        height: calc(200 / var(--width) * var(--device-width));
    }

    .section_schedule .schedule_content {
        justify-content: flex-start;
        width: 100%;
        padding:
            calc(34 / var(--width) * var(--device-width))
            calc(31 / var(--width) * var(--device-width))
            calc(25 / var(--width) * var(--device-width));
    }

    .section_schedule .schedule_title {
        margin-bottom: calc(22 / var(--width) * var(--device-width));
        font-size: 32px;
        text-align: center;
    }

    .section_schedule .schedule_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: calc(14 / var(--width) * var(--device-width));
        width: 100%;
    }

    .section_schedule .schedule_item {
        height: calc(100 / var(--width) * var(--device-width));
        padding:
            calc(17 / var(--width) * var(--device-width))
            calc(13 / var(--width) * var(--device-width))
            calc(13 / var(--width) * var(--device-width))
            calc(17 / var(--width) * var(--device-width));
        border-radius: calc(12 / var(--width) * var(--device-width));
    }

    .section_schedule .schedule_item_title {
        font-size: calc(14 / var(--width) * var(--device-width));
    }

    .section_schedule .schedule_item_date {
        margin-top: calc(4 / var(--width) * var(--device-width));
        font-size: calc(14 / var(--width) * var(--device-width));
        line-height: 1.35;
    }

    .section_schedule .schedule_item_icon {
        width: calc(14 / var(--width) * var(--device-width));
        height: calc(14 / var(--width) * var(--device-width));
    }

    .section_schedule .schedule_links {
        grid-template-columns: minmax(0, 1fr);
        gap: calc(10 / var(--width) * var(--device-width));
        width: 100%;
        margin-top: calc(20 / var(--width) * var(--device-width));
    }

    .section_schedule .schedule_link {
        height: calc(56 / var(--width) * var(--device-width));
        padding: 0 calc(42 / var(--width) * var(--device-width));
        border-radius: calc(28 / var(--width) * var(--device-width));
        font-size: calc(14 / var(--width) * var(--device-width));
    }

    .section_schedule .schedule_link_icon {
        width: calc(16 / var(--width) * var(--device-width));
        height: calc(16 / var(--width) * var(--device-width));
    }

    .section_schedule .schedule_link::before {
        flex-basis: calc(16 / var(--width) * var(--device-width));
        width: calc(16 / var(--width) * var(--device-width));
    }
}

@media (prefers-reduced-motion: reduce) {
    .section_schedule .schedule_visual img {
        transform: none;
        animation: none;
    }
}

/*********************************************
    SECTION ::: section_unit
*********************************************/
.section_unit {
    position: relative;
    z-index: 1;
    overflow: hidden;
    color: #fff;
    background: #211c19;
}

.section_unit .unit_bg,
.section_unit .unit_dim {
    position: absolute;
    inset: 0;
}

.section_unit .unit_bg {
    z-index: 0;
}

.section_unit .unit_bg picture {
    display: block;
    width: 100%;
    height: 100%;
}

.section_unit .unit_bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.08);
    transition: transform var(--slow-transition);
    will-change: transform;
}

.section_unit.active .unit_bg img {
    transform: scale(1);
}

.section_unit .unit_dim {
    z-index: 1;
    background: rgba(0, 0, 0, 0.36);
    pointer-events: none;
}

.section_unit .unit_inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding-top: calc(205 / var(--width) * var(--device-width));
}

.section_unit .unit_head {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
    width: 100%;
    padding: 0 calc(40 / var(--width) * var(--device-width));
    text-align: center;
    pointer-events: none;
}

.section_unit .unit_title {
    color: #fff;
    font-family: var(--en-font);
    font-size: 100px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
}

.section_unit .unit_desc {
    margin-top: calc(4 / var(--width) * var(--device-width));
    font-size: 24px;
    font-weight: 300;
    line-height: 1.5;
}

.section_unit .unit_links {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    margin-top: calc(-60 / var(--width) * var(--device-width));
    padding-bottom: calc(130 / var(--width) * var(--device-width));
}

.section_unit .unit_links::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: 3;
    width: 1px;
    background: rgba(255, 255, 255, 0.5);
    transform: translateX(-0.5px) scaleY(0);
    transform-origin: center top;
    transition: transform var(--slow-transition) 0.2s;
    will-change: transform;
    pointer-events: none;
}

.section_unit.active .unit_links::before {
    transform: translateX(-0.5px) scaleY(1);
}

.section_unit .unit_link {
    position: relative;
    display: flex;
    flex: 1 1 50%;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    padding-bottom: calc(47 / var(--width) * var(--device-width));
    overflow: hidden;
    color: #fff;
    text-align: center;
}

.section_unit .unit_link::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0;
    background: rgba(0, 0, 0, 0.08);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    transition: opacity var(--default-transition);
    pointer-events: none;
}

.section_unit .unit_link_content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translateY(0);
    transition: transform var(--default-transition);
}

.section_unit .unit_link_icon {
    display: block;
    width: calc(46 / var(--width) * var(--device-width));
    height: calc(42 / var(--width) * var(--device-width));
    margin-bottom: calc(20 / var(--width) * var(--device-width));
    object-fit: contain;
}

.section_unit .unit_link_title {
    font-size: 42px;
    font-weight: 300;
    line-height: 1.15;
}

.section_unit .unit_link_desc {
    margin-top: calc(12 / var(--width) * var(--device-width));
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
}

.section_unit .unit_link_more {
    display: inline-flex;
    align-items: center;
    gap: calc(10 / var(--width) * var(--device-width));
    margin-top: calc(50 / var(--width) * var(--device-width));
    padding-bottom: calc(5 / var(--width) * var(--device-width));
    border-bottom: 1px solid rgba(255, 255, 255, 0.7);
    font-size: 14px;
    font-weight: 300;
    line-height: 1.2;
}

.section_unit .unit_link_arrow {
    display: block;
    width: calc(5 / var(--width) * var(--device-width));
    height: calc(9 / var(--width) * var(--device-width));
}

.section_unit .unit_caption {
    position: absolute;
    right: calc(10 / var(--width) * var(--device-width));
    bottom: calc(10 / var(--width) * var(--device-width));
    z-index: 4;
    color: #fff;
    font-size: 10px;
    font-weight: 300;
    line-height: 1.2;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
}

@media screen and (min-width: 1025px) {
    .section_unit .unit_inner {
        padding-top: 0;
    }

    .section_unit .unit_head {
        position: absolute;
        top: calc(205 / var(--width) * var(--device-width));
        left: 0;
    }

    .section_unit .unit_links {
        flex: 1 1 100%;
        width: 100%;
        height: 100%;
        margin-top: 0;
        padding-bottom: 0;
    }

    .section_unit .unit_link {
        padding-bottom: 0;
    }

    .section_unit .unit_link_content {
        padding-top: var(--header-height);
    }
}

@media (hover: hover) and (min-width: 1025px) {
    .section_unit .unit_link:hover::before,
    .section_unit .unit_link:focus-visible::before {
        opacity: 1;
    }

    .section_unit .unit_link:hover .unit_link_content,
    .section_unit .unit_link:focus-visible .unit_link_content {
        transform: translateY(calc(-6 / var(--width) * var(--device-width)));
    }
}

@media screen and (max-width: 1024px) {
    .section_unit .unit_inner {
        padding-top: calc(var(--header-height) + 20 / var(--width) * var(--device-width))
    }

    .section_unit .unit_head {
        width: 100%;
        padding: 0 var(--page-margin);
        text-align: center;
        transform: none;
    }

    .section_unit .unit_title {
        font-size: calc(56 / var(--width) * var(--device-width));
        line-height: 1.1;
    }

    .section_unit .unit_desc {
        margin-top: calc(6 / var(--width) * var(--device-width));
        font-size: calc(15 / var(--width) * var(--device-width));
    }

    .section_unit .unit_links {
        flex-direction: column;
        margin-top: calc(-26 / var(--width) * var(--device-width));
        padding-bottom: calc(25 / var(--width) * var(--device-width));
    }

    .section_unit .unit_links::before {
        top: calc(50% - calc(12.5 / var(--width) * var(--device-width)));
        right: calc(20 / var(--width) * var(--device-width));
        bottom: auto;
        left: calc(20 / var(--width) * var(--device-width));
        width: auto;
        height: 1px;
        transform: translateY(-0.5px) scaleX(0);
        transform-origin: left center;
    }

    .section_unit.active .unit_links::before {
        transform: translateY(-0.5px) scaleX(1);
    }

    .section_unit .unit_link::before {
        display: none;
    }

    .section_unit .unit_link {
        padding-bottom: 0;
    }

    .section_unit .unit_link_content {
        transform: translateY(0);
    }

    .section_unit .unit_link_icon {
        width: calc(36 / var(--width) * var(--device-width));
        height: calc(36 / var(--width) * var(--device-width));
        margin-bottom: calc(12 / var(--width) * var(--device-width));
    }

    .section_unit .unit_link_title {
        font-size: 28px;
    }

    .section_unit .unit_link_desc {
        margin-top: calc(8 / var(--width) * var(--device-width));
        font-size: 14px;
    }

    .section_unit .unit_link_more {
        gap: calc(8 / var(--width) * var(--device-width));
        margin-top: calc(28 / var(--width) * var(--device-width));
        padding-bottom: calc(4 / var(--width) * var(--device-width));
        font-size: 14px;
    }

    .section_unit .unit_link_arrow {
        width: calc(5 / var(--width) * var(--device-width));
        height: calc(9 / var(--width) * var(--device-width));
    }

    .section_unit .unit_caption {
        right: calc(10 / var(--width) * var(--device-width));
        bottom: calc(10 / var(--width) * var(--device-width));
        font-size: 10px;
    }
}

/* section_environment */
.section_environment {
    position: relative;
    z-index: 2;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.60);
}

.section_environment .section_environment_inner {
    width: 100%;
    height: 100%;
    display: flex;
}


@media screen and (min-width: 1025px) {
    .section_environment .environment_layer_item:nth-child(odd) {
        transform: translateY(100%);
        transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
    }

    .section_environment .environment_layer_item:nth-child(even) {
        transform: translateY(-100%);
        transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
    }

    .section_environment.active .environment_layer_item:nth-child(odd),
    .section_environment.active .environment_layer_item:nth-child(even) {
        transform: translateY(0);
        transition: transform 2s cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
    }

    .section_unit,
    .section_environment {
        transition: transform 1000ms ease;
        will-change: transform;
    }

    .is-environment-overlap .section_unit {
        transform: translateY(100%);
    }

    .section_environment.is-revealing-unit {
        transform: translateY(100%);
    }

    .is-environment-jump .section_unit,
    .is-environment-jump .section_environment {
        transition: none !important;
    }

}

.section_environment .environment_layer_inner {
    width: 100%;
    height: 100%;
    display: flex;
}
.environment_layer_inner .environment_layer_item {
    width: 25%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.section_environment .environment_layer_item_caption {
    position:absolute;
    z-index: 2;
    bottom:0;
    right:0;
    margin: calc(10 / var(--width) * var(--device-width));
    font-size:calc(10 / var(--width) * var(--device-width));
    color:#fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.16);
}

.environment_layer_inner .environment_layer_item::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.environment_layer_inner .environment_layer_item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.35) 100%);
    z-index: 1;
}
.environment_layer_inner .environment_layer_item:nth-child(3):after {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%);
}
.environment_layer_inner .environment_layer_item:nth-child(1)::before {
    background-image: url('/assets/img/main/environment_layer_img_1.jpg');
}
.environment_layer_inner .environment_layer_item:nth-child(2)::before {
    background-image: url('/assets/img/main/environment_layer_img_2.jpg');
}
.environment_layer_inner .environment_layer_item:nth-child(3)::before {
    background-image: url('/assets/img/main/environment_layer_img_3.jpg');
}
.environment_layer_inner .environment_layer_item:nth-child(4)::before {
    background-image: url('/assets/img/main/environment_layer_img_4.jpg');
}

@media screen and (min-width: 1025px) {
    .environment_layer_inner .environment_layer_item:hover::before {
        transform: scale(1.04);
    }
}

.environment_layer_inner .environment_layer_item {
    display: flex;
    flex-direction: column;
    padding: calc(224 / var(--width) * var(--device-width)) 0 calc(170 / var(--width) * var(--device-width)) calc(52 / var(--width) * var(--device-width));
    box-sizing: border-box;
}
.environment_layer_inner .environment_layer_item:nth-child(odd) {justify-content: flex-end;}
.environment_layer_inner .environment_layer_item:nth-child(even) {justify-content: flex-start;}

.environment_layer_inner .environment_layer_item .environment_layer_item_con {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #FFF;
    z-index: 2;
    letter-spacing: -0.02em;
    font-family: "Noto Serif KR";
}

.environment_layer_item_con .envir_2_sub_tit {
    margin-bottom: calc(22 / var(--width) * var(--device-width));
}

.environment_layer_item_con .envir_2_sub_tit span {
    font-size: calc(18 / var(--width) * var(--device-width));
    line-height: 1.3;
    font-weight: 500;
}
.environment_layer_item_con .envir_2_sub_tit h3 {
    font-family: "Noto Serif KR";
    font-size: calc(26 / var(--width) * var(--device-width));
    line-height: 1.3;
    font-weight: 700;
}
.environment_layer_item_con p {
    font-family: "Pretendard", sans-serif;
    font-size: calc(14 / var(--width) * var(--device-width));
    line-height: 1.5;
    font-weight: 300;
}
.environment_layer_item_con p::before {
    content:"-";
    margin-right:calc(4 / var(--width) * var(--device-width));
}
.environment_layer_item_con p+p {
    margin-top: 0;
}

.environment_layer_item_con .environment_layer_item_btn {
    display: inline-flex;
    align-items: center;
    gap: calc(10 / var(--width) * var(--device-width));
    margin-top: calc(50 / var(--width) * var(--device-width));
    color: #fff;
    font-family: var(--font-en);
    font-size: calc(16 / var(--width) * var(--device-width));
    font-weight: 400;
    line-height: 1.2;
}

.environment_layer_item_con .environment_layer_item_btn img {
    display: block;
    width: calc(30 / var(--width) * var(--device-width));
    height: calc(30 / var(--width) * var(--device-width));
    transition: transform var(--default-transition);
}

@media (hover: hover) and (min-width: 1025px) {
    .environment_layer_item_con .environment_layer_item_btn:hover img {
        transform: rotate(45deg);
    }
}


@media screen and (max-width: 1024px) {
    .section_environment {
        background: #111;
    }

    .section_environment .section_environment_inner,
    .section_environment .environment_layer_inner {
        width: 100%;
        height: auto;
        min-height: 100%;
    }

    .section_environment .section_environment_inner {
        display: block;
    }

    .section_environment .environment_layer_inner {
        flex-direction: column;
        align-items: center;
    }

    .environment_layer_inner .environment_layer_item {
        flex: 0 0 auto;
        width: 100%;
        height: calc(310 / var(--width) * var(--device-width));
        padding: 0
            calc(30 / var(--width) * var(--device-width))
            calc(36 / var(--width) * var(--device-width));
        justify-content: flex-end;
        transform: none;
        transition: none;
    }

    .environment_layer_inner .environment_layer_item::before {
        transition: none;
    }

    .environment_layer_inner .environment_layer_item:nth-child(1)::before {
        background-image: url('/assets/img/main/environment_layer_img_1_m.jpg');
    }
    .environment_layer_inner .environment_layer_item:nth-child(2)::before {
        background-image: url('/assets/img/main/environment_layer_img_2_m.jpg');
    }
    .environment_layer_inner .environment_layer_item:nth-child(3)::before {
        background-image: url('/assets/img/main/environment_layer_img_3_m.jpg');
    }
    .environment_layer_inner .environment_layer_item:nth-child(4)::before {
        background-image: url('/assets/img/main/environment_layer_img_4_m.jpg');
    }

    .environment_layer_item_con .envir_2_tit {
        display: none;
    }

    .environment_layer_inner .environment_layer_item .environment_layer_item_con {
        width: 100%;
        justify-content: flex-end;
        margin-top:auto;
    }

    .environment_layer_item_con .envir_2_sub_tit {
        margin-bottom: calc(20 / var(--width) * var(--device-width));
    }

    .environment_layer_item_con .envir_2_sub_tit span {
        font-size: calc(14 / var(--width) * var(--device-width));
    }

    .environment_layer_item_con .envir_2_sub_tit h3 {
        font-size: calc(18 / var(--width) * var(--device-width));
    }

    .environment_layer_item_con p {
        font-size: calc(12 / var(--width) * var(--device-width));
        line-height: 1.5;
    }

    .environment_layer_item_con p + p {
        margin-top: 0;
    }

    .environment_layer_item_con .envir_2_ori {
        display: none;
    }

    .environment_layer_item_con .envir_2_sub_tit,
    .environment_layer_item_con > p,
    .environment_layer_item_con .environment_layer_item_btn {
        opacity: 0;
        transform: translateY(20px);
        transition: var(--slow-transition);
    }

    .environment_layer_item_con .envir_2_sub_tit {
        transition-delay: 0.1s;
    }

    .environment_layer_item_con > p:nth-of-type(1) {
        transition-delay: 0.25s;
    }

    .environment_layer_item_con > p:nth-of-type(2) {
        transition-delay: 0.4s;
    }
    .environment_layer_item_con > p:nth-of-type(3) {
        transition-delay: 0.55s;
    }
    .environment_layer_item_con > p:nth-of-type(4) {
        transition-delay: 0.7s;
    }
    .environment_layer_item_con .environment_layer_item_btn {
        gap: calc(8 / var(--width) * var(--device-width));
        width:100%;
        margin-top:0;
        padding-top: calc(20 / var(--width) * var(--device-width));
        font-size: calc(14 / var(--width) * var(--device-width));
        transition-delay: 0.85s;
    }

    .environment_layer_item_con .environment_layer_item_btn img {
        width: calc(24 / var(--width) * var(--device-width));
        height: calc(24 / var(--width) * var(--device-width));
    }


    .environment_layer_item.is-text-active .envir_2_sub_tit,
    .environment_layer_item.is-text-active .environment_layer_item_con > p,
    .environment_layer_item.is-text-active .environment_layer_item_btn {
        opacity: 1;
        transform: none;
    }
}

/*********************************************
    SECTION ::: section_community
*********************************************/
.section_community {
    position: relative;
    z-index: 1;
    overflow: hidden;
    color: #fff;
    background: #21160f;
}

.section_community .community_swiper,
.section_community .community_swiper .swiper-wrapper,
.section_community .community_swiper .swiper-slide {
    width: 100%;
    height: 100%;
}

.section_community .community_swiper {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.section_community .community_swiper .swiper-slide {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    padding:
        var(--header-height)
        calc(170 / var(--width) * var(--device-width))
        calc(310 / var(--width) * var(--device-width));
    overflow: hidden;
}

.section_community .community_bg,
.section_community .community_dim {
    position: absolute;
    inset: 0;
}

.section_community .community_bg {
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.section_community .community_bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.section_community .community_dim {
    z-index: 1;
    background: rgba(0, 0, 0, 0.4);
    pointer-events: none;
}

.section_community .community_slide_copy {
    position: relative;
    z-index: 2;
    width: calc(520 / var(--width) * var(--device-width));
    color: #fff;
    text-align: right;
}

.section_community .community_slide_title {
    display: inline-block;
    padding-right: calc(18 / var(--width) * var(--device-width));
    border-right: 2px solid rgba(255, 255, 255, 0.85);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
}

.section_community .community_slide_desc {
    margin-top: calc(18 / var(--width) * var(--device-width));
    font-size: 14px;
    font-weight: 300;
    line-height: 1.6;
}

.section_community .community_inner {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    padding:
        var(--header-height)
        calc(40 / var(--width) * var(--device-width))
        calc(148 / var(--width) * var(--device-width));
    pointer-events: none;
}

.section_community .community_head {
    position: relative;
    width: 100%;
    text-align: center;
}

.section_community .community_title {
    color: #fff;
    font-family: var(--en-font);
    font-size: 100px;
    font-weight: 400;
    line-height: 1.1;
}

.section_community .community_desc {
    margin-top: calc(-3 / var(--width) * var(--device-width));
    font-size: 20px;
    font-weight: 300;
    line-height: 1.5;
}

.section_community .community_thumbs {
    position: relative;
    flex: 0 0 auto;
    width: calc(664 / var(--width) * var(--device-width));
    height: calc(90 / var(--width) * var(--device-width));
    margin-top: calc(235 / var(--width) * var(--device-width));
    overflow: hidden;
    pointer-events: auto;
}

.section_community .community_thumbs .swiper-wrapper {
    display: flex;
    align-items: center;
    gap: calc(16 / var(--width) * var(--device-width));
    width: max-content;
    height: 100%;
}

.section_community .community_thumb,
.section_community .community_thumbs .swiper-slide {
    flex: 0 0 calc(120 / var(--width) * var(--device-width));
    width: calc(120 / var(--width) * var(--device-width));
    height: calc(90 / var(--width) * var(--device-width));
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    background: transparent;
    border: 2px solid transparent;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
    filter: grayscale(1);
    cursor: pointer;
    transition:
        border-color var(--default-transition),
        filter var(--default-transition);
}

.section_community .community_thumb img,
.section_community .community_thumbs .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.section_community .community_thumb.swiper-slide-thumb-active,
.section_community .swiper-slide-thumb-active.community_thumb,
.section_community .community_thumbs .swiper-slide-thumb-active {
    border-color: #fff;
    filter: grayscale(0);
}

.section_community .community_caption {
    position: absolute;
    right: calc(10 / var(--width) * var(--device-width));
    bottom: calc(10 / var(--width) * var(--device-width));
    z-index: 4;
    color: #fff;
    font-size: 10px;
    font-weight: 300;
    line-height: 1.2;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 1024px) {
    .section_community {
        min-height: var(--initial-viewport-height, 100vh);
    }

    .section_community .community_bg img {
        object-position: center;
    }

    .section_community .community_dim {
        background: rgba(0, 0, 0, 0.42);
    }

    .section_community .community_swiper .swiper-slide {
        align-items: center;
        padding:
            0
            calc(20 / var(--width) * var(--device-width))
            calc(225 / var(--width) * var(--device-width));
    }

    .section_community .community_inner {
        padding:
            var(--header-height)
            calc(20 / var(--width) * var(--device-width))
            calc(104 / var(--width) * var(--device-width));
    }

    .section_community .community_head {
        padding: 0;
    }

    .section_community .community_title {
        font-size: 48px;
    }

    .section_community .community_desc {
        margin-top: calc(8 / var(--width) * var(--device-width));
        font-size: 14px;
    }

    .section_community .community_slide_copy {
        width: 100%;
        text-align: center;
    }

    .section_community .community_slide_title {
        padding-right: 0;
        border-right: 0;
        font-size: 22px;
    }

    .section_community .community_slide_desc {
        margin-top: calc(12 / var(--width) * var(--device-width));
        font-size: 14px;
        line-height: 1.6;
    }

    .section_community .community_thumbs {
        width: calc(353 / var(--width) * var(--device-width));
        height: calc(48 / var(--width) * var(--device-width));
        margin-top: calc(268 / var(--width) * var(--device-width));
    }

    .section_community .community_thumbs .swiper-wrapper {
        gap: calc(7 / var(--width) * var(--device-width));
    }

    .section_community .community_thumb,
    .section_community .community_thumbs .swiper-slide {
        flex-basis: calc(65 / var(--width) * var(--device-width));
        width: calc(65 / var(--width) * var(--device-width));
        height: calc(48 / var(--width) * var(--device-width));
    }

    .section_community .community_caption {
        right: calc(10 / var(--width) * var(--device-width));
        bottom: calc(10 / var(--width) * var(--device-width));
        font-size: 10px;
    }
}



/*********************************************
    SECTION ::: section_contact
*********************************************/
.section_contact {
    position: relative;
    overflow: hidden;
    background: #f2ebe3;
}

.section_contact .contact_bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.section_contact .contact_bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}

.section_contact .contact_dim {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.2);
}

.section_contact .contact_inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 110px 40px 60px;
    box-sizing: border-box;
}

.section_contact .contact_head {
    text-align: center;
    margin-bottom: 60px;
}

.section_contact .contact_title {
    margin: 0 0 16px;
    color: #000;
    font-family: 'Noto Serif KR', 'Nanum Myeongjo', serif;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.section_contact .contact_desc {
    margin: 0;
    color: #000;
    font-family: 'Pretendard', sans-serif;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: -0.02em;
}

.section_contact .contact_panel {
    position: relative;
    width: min(1421px, 86%);
    height: 380px;
    border-radius: 20px;
    background: #333;
    overflow: hidden;
}

.section_contact .contact_panel_bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.section_contact .contact_panel_bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 0.4;
}

.section_contact .contact_panel_body {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 100%;
}

.section_contact .contact_item {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 0;
    padding: 40px 24px;
    box-sizing: border-box;
    opacity: 0.6;
    transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.section_contact .contact_item.is-on,
.section_contact .contact_panel:has(.contact_item--register:hover) .contact_item--register,
.section_contact .contact_item--register:hover {
    opacity: 1;
}

.section_contact .contact_panel:has(.contact_item--register:hover) .contact_item--contact {
    opacity: 0.6;
}

.section_contact .contact_item_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: fit-content;
    max-width: 100%;
    text-align: center;
    text-decoration: none;
    color: #fff;
    transform: translateY(50px);
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.section_contact .contact_item.is-on .contact_item_link,
.section_contact .contact_panel:has(.contact_item--register:hover) .contact_item--register .contact_item_link,
.section_contact .contact_item--register:hover .contact_item_link {
    transform: translateY(0);
}

.section_contact .contact_panel:has(.contact_item--register:hover) .contact_item--contact .contact_item_link {
    transform: translateY(50px);
}

.section_contact .contact_item_title {
    display: block;
    font-family: var(--font-en);
    font-size: 40px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
}

.section_contact .contact_item_desc {
    display: block;
    font-family: 'Pretendard', sans-serif;
    font-size: 20px;
    font-weight: 200;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: #fff;
}

.section_contact .contact_item_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 166px;
    height: 45px;
    margin-top: 18px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    background: #fff;
    box-sizing: border-box;
    color: #000;
    font-family: var(--font-en);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);
    pointer-events: none;
    transition:
        opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0.45s;
}

.section_contact .contact_item_btn img {
    display: block;
    width: 20px;
    height: 12px;
    transform: scaleX(-1);
}

.section_contact .contact_item.is-on .contact_item_btn,
.section_contact .contact_panel:has(.contact_item--register:hover) .contact_item--register .contact_item_btn,
.section_contact .contact_item--register:hover .contact_item_btn {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.section_contact .contact_panel:has(.contact_item--register:hover) .contact_item--contact .contact_item_btn {
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);
    pointer-events: none;
}

.section_contact .contact_panel_line {
    flex: none;
    align-self: center;
    width: 1px;
    height: 240px;
    background: rgba(255, 255, 255, 0.35);
}

@media screen and (max-width: 1400px) {
    .section_contact .contact_title {
        font-size: 44px;
    }

    .section_contact .contact_desc {
        font-size: 20px;
    }

    .section_contact .contact_panel {
        height: 340px;
    }

    .section_contact .contact_item_title {
        font-size: 34px;
    }

    .section_contact .contact_item_desc {
        font-size: 17px;
    }
}

@media screen and (max-width: 1024px) {
    

    .section_contact .contact_head {
        margin-bottom: 32px;
    }

    .section_contact .contact_title {
        font-size: 28px;
    }

    .section_contact .contact_desc {
        font-size: 15px;
        padding: 0 10px;
    }

    .section_contact .contact_panel {
        width: 100%;
        height: auto;
        min-height: 0;
        border-radius: 14px;
    }

    .section_contact .contact_panel_body {
        flex-direction: column;
    }

    .section_contact .contact_item {
        padding: 36px 20px;
        opacity: 1;
    }

    .section_contact .contact_item_link {
        transform: none !important;
    }

    .section_contact .contact_item_title {
        font-size: 28px;
    }

    .section_contact .contact_item_desc {
        font-size: 15px;
    }

    .section_contact .contact_item_btn {
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
        margin-top: 14px;
    }

    .section_contact .contact_panel_line {
        width: 60%;
        height: 1px;
    }
}

@media screen and (max-width: 1024px) {
    .section_contact .contact_inner {
        height: auto;
        min-height: var(--initial-viewport-height, 100vh);
        padding: var(--header-height) var(--page-margin) var(--main-bottom-bar-height);
    }
    .section_contact .contact_head {
        margin-bottom: clamp(28px, calc(32 / var(--width) * var(--device-width)), 44px);
    }

    .section_contact .contact_title {
        margin-bottom: clamp(14px, calc(16 / var(--width) * var(--device-width)), 22px);
        font-size: clamp(22px, calc(24 / var(--width) * var(--device-width)), 32px);
        line-height: 1.3;
        letter-spacing: 0;
    }

    .section_contact .contact_desc {
        padding: 0;
        font-size: clamp(14px, calc(15 / var(--width) * var(--device-width)), 20px);
        line-height: 1.35;
        letter-spacing: 0;
    }

    .section_contact .contact_panel {
        height: clamp(540px, calc(588 / var(--width) * var(--device-width)), 720px);
        border-radius: clamp(18px, calc(20 / var(--width) * var(--device-width)), 26px);
    }

    .section_contact .contact_panel_body {
        height: 100%;
    }

    .section_contact .contact_item {
        flex: 1 1 50%;
        min-height: 0;
        padding: clamp(32px, calc(40 / var(--width) * var(--device-width)), 52px) 16px;
        justify-content: center;
    }

    .section_contact .contact_item_title {
        font-size: clamp(27px, calc(29 / var(--width) * var(--device-width)), 38px);
        letter-spacing: 0;
    }

    .section_contact .contact_item_desc {
        font-size: clamp(14px, calc(15 / var(--width) * var(--device-width)), 20px);
        line-height: 1.4;
        letter-spacing: 0;
    }

    .section_contact .contact_item_btn {
        width: clamp(156px, calc(166 / var(--width) * var(--device-width)), 216px);
        height: clamp(43px, calc(46 / var(--width) * var(--device-width)), 60px);
        margin-top: clamp(18px, calc(20 / var(--width) * var(--device-width)), 28px);
        font-size: clamp(17px, calc(18 / var(--width) * var(--device-width)), 24px);
    }

    .section_contact .contact_panel_line {
        width: 66%;
    }
}
