@charset "utf-8";

    /* 메인 공통 */
    .main_content {}

    .main_content .title_wrap {
        padding-bottom: 40px;
    }

    .main_content .title_wrap span {
        display: block;
        font-size: 24px;
        line-height: 1;
        font-weight: 600;
        padding-bottom: 4px;
        z-index: -1;
    }

    .main_content .title_wrap .tit {
        display: block;
        font-size: 35px;
        line-height: 1.42;
        font-weight: 700;
        color: var(--mainBlack);
        letter-spacing: -0.02em;
    }

    .main_content .title_wrap p {
        font-size: 18px;
        line-height: 1.77;
        font-weight: 400;
        color: var(--mainBlack);
        letter-spacing: -0.03em;
        padding-top: 20px;
    }

    .main_content .title_wrap .more_btn {
        display: inline-block;
        font-size: 15px;
        line-height: 1;
        font-weight: 400;
        color: var(--mainBlack);
        letter-spacing: -0.02em;
        padding: 0 5px 0 25px;
        box-sizing: border-box;
        border-radius: 50px;
        width: 160px;
        height: 50px;
        border: 1px solid var(--mainBlack);
        display: flex;
        align-items: center;
        justify-content: space-between;
        overflow: hidden;
        position: relative;
        transition: 0.4s;
        margin-top: 60px;
        z-index: 0;
    }

    .main_content .title_wrap .more_btn span {
        width: 40px;
        height: 40px;
        border-radius: 100%;
        padding: 0;
    }

    .main_content .title_wrap .more_btn span:before {
        content: '';
        display: block;
        width: 16px;
        height: 11px;
        background: url('../img/icon/icon_more_arw.svg') no-repeat center;
        background-size: 16px auto;
        position: absolute;
        top: 50%;
        right: 16px;
        transform: translateY(-50%);
    }

    .main_content .title_wrap .more_btn span:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        right: 5px;
        width: 40px;
        height: 40px;
        background: var(--mainBlack);
        transform: translateY(-50%);
        transition: 0.8s;
        z-index: -1;
        border-radius: 100%;
    }

    /* ?�크�?off */
    .main_content .title_wrap span {
        transition:
            opacity 0.8s ease-in-out 0.2s,
            transform 0.8s ease-in-out 0.2s;
    }

    .main_content .title_wrap .tit {
        transition:
            opacity 0.8s ease-in-out 0.4s,
            transform 0.8s ease-in-out 0.4s;
    }

    .main_content .title_wrap p {
        transition:
            opacity 0.8s ease-in-out 0.6s,
            transform 0.8s ease-in-out 0.6s;
    }

    .main_content .title_wrap .more_btn {
        transition:
            opacity 0.8s ease-in-out 0.8s,
            transform 0.8s ease-in-out 0.8s;
    }

    .main_content .title_wrap span,
    .main_content .title_wrap .tit,
    .main_content .title_wrap p,
    .main_content .title_wrap .more_btn {
        opacity: 0;
        transform: translateY(50px);
    }

    /* ?�크�?active */
    .main_content .title_wrap.active * {
        opacity: 1;
        transform: unset;
    }

    @media (hover: hover) {
        .main_content .title_wrap .more_btn:hover {
            color: var(--white);
        }

        .main_content .title_wrap .more_btn:hover span:after {
            transform: scale(10);
        }
    }

    /* main_visual 배너 첫번�??�상?�션 */
    .main_visual {
        position: relative;
        width: 100%;
        height: 900px;
        overflow: hidden;
        background: #000;
    }

    .main_visual .video_box {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .main_visual .video_box video {
        width: 100%;
        height: 100%;
        /* ???�심: 블랙�??�이 박스??맞춰 ?�상??�?채우�??�름 */
        object-fit: cover;
        /* ?�상??중심??기�??�로 ?�렬 */
        object-position: center center;
        display: block;
    }

    /* 메인 ?�번�??�션 */
    .main_category {
        padding: 120px 0 140px;
        background: #fff;
        z-index: 10;
        position: relative;
    }

    .main_category .inner_box {
        display: flex;
        flex-direction: column;
        gap: clamp(50px, 5.2vw, 100px);
    }

    .main_category .title_wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .main_category .title_wrap .subtitle {
        font-size: clamp(16px, 2vw + 8.8px, 26px);
        color: #685C57;
    }

    .main_category .title_wrap .title {
        color: #74584C;
        font-size: 32px;
        font-weight: 600;
        margin-bottom: 16px;
    }

    .main_category .title_wrap .desc {
        color: #A37764;
        font-size: 18px;
        line-height: 1.4;
    }

    /* 기본 ?�태 (?��?) */
    .main_category .title_wrap .fade_up {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease, transform 0.8s ease;
    }

    /* ?�성???�태 (?��??? */
    .main_category .title_wrap.active .fade_up {
        opacity: 1;
        transform: translateY(0);
    }

    .main_category .title_wrap.active .subtitle {
        transition-delay: 0.1s;
    }

    .main_category .title_wrap.active .title {
        transition-delay: 0.3s;
    }

    .main_category .title_wrap.active .desc {
        transition-delay: 0.5s;
    }

    .main_category .category_grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: clamp(20px, 2.08vw, 40px);
    }

    .main_category .cate_card {
        text-decoration: none;
        display: block;
        overflow: hidden;
    }

    .main_category .cate_card .img_box {
        width: 100%;
        aspect-ratio: 440 / 500;
        overflow: hidden;
        margin-bottom: 26px;
    }

    .main_category .category_grid .cate_card:nth-child(1) .img_box {
        border-radius: 150px 0 150px 0;
    }

    .main_category .category_grid .cate_card:nth-child(2) .img_box {
        border-radius: 150px;
    }

    .main_category .category_grid .cate_card:nth-child(3) .img_box {
        border-radius: 0 150px 0 150px;
    }

    .main_category .cate_card .img_box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
    }

    .main_category .cate_card .img_box:hover img {
        transform: scale(1.1);
    }

    .main_category .cate_card .text_wrap {
        text-align: left !important;
    }

    .main_category .cate_card .text_wrap .text_title {
        font-size: clamp(16px, 2vw + 8.8px, 26px);
        color: #685C57;
        word-break: keep-all;
        font-weight: 600;
    }

    .main_category .cate_card .text_wrap .cate_desc {
        font-size: clamp(14px, 1.25vw, 18px);
        color: #a37764;
        line-height: 1.4;
        word-break: keep-all;
        font-weight: 400;
        margin-top: 16px;
    }

    .main_category .cate_card.fade_up {
        opacity: 0;
        transform: translateY(30px);
        transition:
            opacity 0.8s ease,
            transform 0.8s ease;
    }

    .main_category .cate_card.fade_up.active {
        opacity: 1;
        transform: translateY(0);
    }

    .category_grid .cate_card:nth-child(1) {
        transition-delay: 0.1s;
    }

    .category_grid .cate_card:nth-child(2) {
        transition-delay: 0.2s;
    }

    .category_grid .cate_card:nth-child(3) {
        transition-delay: 0.3s;
    }

    .category_grid .cate_card:nth-child(4) {
        transition-delay: 0.4s;
    }

    /* main_doctor 메인 ?�번�??�션 */
    .main_doctor {
        position: relative;
        background: #fbfaf9;
        overflow: hidden;
        aspect-ratio: 1920 / 1120;
        background-repeat: no-repeat;
        background-position: center;
        box-sizing: border-box;
    }

    .main_doctor .inner_box {
        height: 100%;
        display: flex;
        flex-direction: column;
        gap: clamp(80px, 7.8vw, 150px);
        text-align: center;
        color: #74584C;
        align-items: center;
        justify-content: flex-end;
        padding-bottom: clamp(80px, 7.8vw, 150px);
    }

    .main_doctor .inner_box .text_wrap .title {
        font-size: clamp(40px, 4.17vw, 80px) !important;
        font-weight: 600;
    }

    .main_doctor .inner_box .text_wrap .desc {
        font-size: clamp(14px, 0.94vw, 18px);
        line-height: 1.4;
        color: inherit;
    }

    .main_doctor .more_btn {
        font-weight: 600;
        font-size: 20px;
        display: flex;
        align-items: center;
        gap: 14px;
        color: #fff;
    }

    .main_doctor .more_btn .icon {
        width: 8px;
        height: 13px;
    }

    .main_doctor .fade_up {
        opacity: 0;
        transform: translateY(40px);
        transition: opacity 1.2s cubic-bezier(0.33, 1, 0.68, 1),
            transform 1.2s cubic-bezier(0.33, 1, 0.68, 1);
    }

    .main_doctor .fade_up.active {
        opacity: 1;
        transform: translateY(0);
    }

    .main_doctor .title.active {
        transition-delay: 0.2s;
    }

    .main_doctor .desc.active {
        transition-delay: 0.4s;
    }

    .main_doctor .more_btn.active {
        transition-delay: 0.6s;
    }

    /* main_equipment 메인 ?�번�??�션 */
    .main_equipment {
        padding: 122px 20px 180px !important;
        background: #fff;
        overflow: hidden;
        width: 100%;
        max-width: 1660px;
        box-sizing: border-box;
        margin-left: auto;
        margin-right: 0;
    }

    .main_equipment .equipment_inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 150px;
    }

    .main_equipment .title_box {
        flex-shrink: 0;
        width: 350px;
    }

    .main_equipment .title_box .title {
        font-size: clamp(24px, 2.5vw, 48px);
        font-weight: 600;
        margin-bottom: 15px;
        color: #74584C;
    }

    .main_equipment .title_box p {
        font-size: 18px;
        line-height: 1.4;
        word-break: keep-all;
        letter-spacing: -0.02em;
        color: #A37764;
    }

    .main_equipment .equipment_swiper {
        width: calc(100% - 350px);
    }

    .main_equipment .swiper-slide {
        height: 526px !important;
        display: flex;
        flex-direction: column;
        gap: clamp(16px, 0.8vw + 13.12px, 20px) !important;
        align-items: center;
        justify-content: center;
        transition: 0.4s;
    }

    .main_equipment .swiper-slide .img_desc {
        color: #A37764;
        font-size: clamp(16px, 0.8vw + 13.12px, 20px) !important;
        letter-spacing: -0.02em;
    }


    .main_equipment .img_box {
        width: 100%;
        height: 100%;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
    }

    .main_equipment .img_box img {
        max-width: 90%;
        max-height: 90%;
        object-fit: contain;
    }

    /* --- main_equipment ?�니메이???�정 --- */
    .main_equipment .fade_up {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease, transform 0.8s ease;
    }

    .main_equipment .title_box.active .fade_up,
    .main_equipment .equipment_swiper.active {
        opacity: 1;
        transform: translateY(0);
    }

    .main_equipment .title_box.active .title {
        transition-delay: 0.1s;
    }

    .main_equipment .title_box.active .desc {
        transition-delay: 0.3s;
    }

    .main_equipment .equipment_swiper.active {
        transition-delay: 0.5s;
    }

    /* main_place 메인 ?�섯번째 공간 ?�션 */
    .main_place {
        padding: var(--zlm02-section-top-space, 108px) 0 110px;
        background: #fff;
        overflow: hidden;
    }

    .main_place .place_inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--zlm02-section-stack-gap, clamp(46px, 5vw, 92px));
    }

    .main_place .title_wrap {
        text-align: center;
        max-width: none;
    }

    .main_place .title_wrap .subtitle {
        font-size: clamp(16px, 2vw + 8.8px, 26px);
        color: #685C57;
    }

    .main_place .title_wrap .title {
        font-size: clamp(30px, 2.5vw, 48px);
        font-weight: 600;
        color: #74584C;
    }

    .main_place .title_wrap .desc {
        font-size: 18px;
        line-height: 1.4;
        color: #A37764;
    }

    /* ?��??�퍼 ?�심 ?��???*/
    .main_place .place_swiper {
        width: 100%;
        position: relative;
        padding: 20px 0;
    }

    .main_place .swiper-slide {
        width: clamp(500px, 50vw, 800px);
        /* 중앙 ?��?지 ?�비 */
        aspect-ratio: 16 / 9;
        transition: all 0.6s ease;
        /* 부?�러???�환 */
        transform: scale(0.8);
        filter: grayscale(100) brightness(60%);
    }

    /* ?�성?�된(가?�데) ?�라?�드 */
    .main_place .swiper-slide-active {
        opacity: 1;
        transform: scale(1);
        filter: grayscale(0) brightness(100%);
    }

    .main_place .img_box {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .main_place .img_box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* ?�살??버튼 기본 ?��???*/
    .main_place .swiper-button-prev,
    .main_place .swiper-button-next {
        top: 50%;
        transform: translateY(-50%);
        width: 64px;
        height: 64px;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
        z-index: 10;
        cursor: pointer;
    }

    .main_place .swiper-button-prev .icon,
    .main_place .swiper-button-next .icon {
        width: 12px;
        height: auto;
        filter: invert(38%) sepia(13%) saturate(1461%) hue-rotate(334deg) brightness(60%) contrast(89%);
        transition: all 0.3s ease;
    }

    .main_place .swiper-button-prev .icon {
        transform: rotate(180deg);
    }

    /* --- ?�버 ?�태 --- */
    .main_place .swiper-button-prev:hover,
    .main_place .swiper-button-next:hover {
        background: #74584C;
    }

    .main_place .swiper-button-prev:hover .icon,
    .main_place .swiper-button-next:hover .icon {
        filter: none;
        /* ?�터�??�거?�면 ?�래???�색 ?�이콘이 ?�옵?�다 */
    }

    .main_place .swiper-button-prev:hover .icon {
        transform: rotate(180deg);
    }

    .main_place .swiper-button-prev {
        left: 21.5%;
    }

    .main_place .swiper-button-next {
        right: 21.4%;
    }

    .main_place .fade_up {
        opacity: 0;
        transform: translateY(40px);
        transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1),
            transform 1s cubic-bezier(0.33, 1, 0.68, 1);
    }

    .main_place .active.fade_up,
    .main_place .active .fade_up {
        opacity: 1;
        transform: translateY(0);
    }

    .main_place .place_swiper.fade_up,
    .main_place .place_swiper.active {
        opacity: 1;
        transform: translateY(0);
    }

    .main_place .title_wrap.active .subtitle {
        transition-delay: 0.1s;
    }

    .main_place .title_wrap.active .title {
        transition-delay: 0.3s;
    }

    .main_place .title_wrap.active .desc {
        transition-delay: 0.5s;
    }

    .main_place .place_swiper.active {
        transition-delay: 0.7s;
    }

    /* main_map 메인 ?�섯번째 ?�션 */
    .main_map {
        background-color: #FAF6F5;
        padding: 104px 0 138px !important;
    }

    .main_map .title_wrap {
        text-align: left;
        margin-bottom: 34px;
    }

    .main_map .title {
        font-size: clamp(34px, 2vw, 46px) !important;
        font-weight: 600;
        color: #74584C;
        letter-spacing: -0.03em;
    }

    .main_map .cont_wrap {
        display: flex;
        flex-direction: column;
        gap: 42px;
    }

    .main_map .info_wrap {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 34px;
    }

    .main_map .map_meta_list {
        display: flex;
        flex-direction: column;
        gap: 22px;
    }

    .main_map .map_meta_item {
        display: grid;
        grid-template-columns: 140px minmax(0, 1fr);
        gap: 18px;
        align-items: start;
    }

    .main_map .map_meta_label {
        color: #8A766A;
        font-size: 26px;
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: -0.02em;
        font-family: "Cormorant Garamond", serif;
    }

    .main_map .map_meta_value {
        color: #74584C;
        font-size: 18px;
        line-height: 1.7;
        letter-spacing: -0.02em;
        font-weight: 400;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .main_map .map_meta_value p {
        margin: 0;
    }

    .main_map .map_box {
        width: 100%;
        max-width: 100%;
        height: 540px;
        position: relative;
        overflow: hidden;
        border-radius: 18px;
        box-shadow: 0 18px 36px rgba(42, 34, 29, 0.08);
    }

    #naver_map {
        width: 100%;
        height: 100%;
        z-index: 1;
    }

    /* --- main_map ?�니메이???�정 --- */
    .main_map .fade_up {
        opacity: 0;
        transform: translateY(40px);
        transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1),
            transform 1s cubic-bezier(0.33, 1, 0.68, 1);
    }

    .main_map .fade_up.active {
        opacity: 1;
        transform: translateY(0);
    }

    .main_map .title_wrap.active {
        transition-delay: 0.1s;
    }

    .main_map .cont_wrap.active {
        transition-delay: 0.3s;
    }

    .main_map .res_btn {
        width: 188px;
        height: 58px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #74584C;
        border-radius: 500px;
        border: none;
        outline: none;
        box-sizing: border-box;
        text-decoration: none;
        align-self: flex-end;
    }

    .main_map .res_btn span {
        font-size: clamp(14px, 0.8vw + 11.12px, 18px) !important;
        font-weight: 600;
        color: #fff;
        letter-spacing: -0.02em;
        word-break: keep-all;
    }

    @media (max-width: 900px) {
        .main_map {
            padding: 84px 0 104px !important;
        }

        .main_map .title_wrap {
            margin-bottom: 26px;
        }

        .main_map .cont_wrap {
            gap: 30px;
        }

        .main_map .map_box {
            height: 450px;
            border-radius: 14px;
        }

        .main_map .map_meta_item {
            grid-template-columns: 1fr;
            gap: 8px;
        }

        .main_map .map_meta_label {
            font-size: 21px;
        }

        .main_map .map_meta_value {
            font-size: 16px;
            line-height: 1.65;
        }

        .main_map .res_btn {
            width: 100%;
            max-width: 220px;
            align-self: flex-start;
        }
    }