@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;
        background-image: url('../../../../../../data/commonimg/main_doctor_bg.png');
        aspect-ratio: 1920 / 980;
        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: #fff;
        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;
    }

    .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: 0 0 110px;
        background: #fff;
        overflow: hidden;
    }

    .main_place .place_inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(35px, 3.65vw, 70px);
    }

    .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 .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: 121px 0 156px !important;
    }

    .main_map .title_wrap {
        text-align: left;
    }

    .main_map .title {
        font-size: clamp(38px, 2.5vw, 48px) !important;
        font-weight: 600;
        color: #74584C;
    }

    .main_map .cont_wrap {
        display: flex;
        justify-content: space-between;
    }

    .main_map .info_wrap {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-end;
    }

    .main_map .info_grid {
        display: flex;
        justify-self: end;
        gap: 40px;
        margin-bottom: 40px;
    }

    .main_map .info_item {
        text-align: left;
        max-width: 400px;
    }

    .main_map .info_item .info_title {
        display: block;
        color: #74584C;
        font-size: 22px;
        font-weight: 600;
        margin-bottom: 20px;
        letter-spacing: -0.02em;
        position: relative;
        width: 100%;
        flex-shrink: 0;
    }

    .main_map .info_item .info_title::before {
        content: '';
        display: block;
        width: 35px;
        height: 3px;
        background-color: #74584C;
        margin-bottom: 20px;
    }

    .main_map .info_item:first-child {
        max-width: 240px;
        width: auto;
    }

    .main_map .info_item .txt {
        color: #74584C;
        font-size: 18px;
        line-height: 1.4;
        letter-spacing: -0.02em;
        font-weight: 400;
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .main_map .info_item:nth-child(2) .txt {
        gap: 10px;
    }

    .main_map .info_item .txt p {
        display: flex;
        justify-content: space-between;
		align-items: start;
    }

    .main_map .info_item .txt .label {
        display: inline-block;
        width: 220px;
        font-weight: 400;
        color: #74584C;
    }

    .main_map .info_item .txt .txt_content {
        display: flex;
        align-items: center;
        gap: 17px;
        font-weight: 400 !important;
        letter-spacing: -0.02em !important;
    }

    .main_map .info_item .txt .txt_content strong {
        font-weight: 400 !important;
    }

    .main_map .map_box {
        flex-shrink: 0;
        width: 100%;
        max-width: 680px;
        height: 418px;
        position: relative;
        overflow: hidden;
    }

    #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: 182px;
        height: 56px;
        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;
    }

    .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;
    }