@charset "utf-8";

/* main_visual */
.h_64 {
    color: #222;
    /* font-family: Pretendard; */
    font-size: clamp(43px, 3.2vw, 64px);
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: 1.28px;
}

.white {
    color: #fff !important;
}

.mv_box {
    aspect-ratio: 1 / 0.42708333;
    /* max-height: 1080px; */
    /* max-width: 1920px; */
    width: 100%;
    min-height: 500px;
    margin: 0 auto;
}

/* .mv_txt_box {
    width: 100%;
} */

.mv_box .inner {
    height: 100%;
    min-height: inherit;
    align-items: center;
    justify-content: end;
}

.mt24 {
    margin-top: 24px;
}

.mt56 {
    margin-top: 56px;
}

.c7272 {
    color: #727272 !important;
}

.h_40 {
    color: var(--GREY-900, #222);
    /* font-family: Pretendard; */
    font-size: clamp(38px, 3.2vw, 48px);
    font-style: normal;
    /* font-weight: 500; */
    line-height: 130%;
    letter-spacing: 0.4px;
    font-weight: 700;
}

.center {
    text-align: center;
}

.w500 {
    font-weight: 500 !important;
}

.p_20 {
    color: #222;

    /* Headline 1/Medium - 20 */
    /* font-family: Pretendard; */
    font-size: clamp(18px, 3.2vw, 23px);
    font-style: normal;
    line-height: 130%;
    /* 26px */
    letter-spacing: 0.2px;
}

.column {
    flex-direction: column;
}

.c2e2e2e {
    color: #2e2e2e;
}


/* con01 */
.prod_list.three ul {
    gap: 18px;
    align-items: stretch;
}

.prod_list.three ul li {
    width: calc(33.333% - 12px);
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex: 1;
    transition: all 0.3s ease-in-out;
    /* height: 100%;    */
}

.prod_gray_box {
    background: var(--GREY-100, #F1F1F1);
    border-radius: 10px;
    padding: 36px 18px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    transition: all 0.3s ease-in-out;
    gap: 30px;

    height: 100%;
    overflow: hidden;
}

.prod_list.three ul li:hover .prod_gray_box {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.prod_list.three ul li:hover {
    flex: 1.5;
    z-index: 5;
}

.relative {
    position: relative;
}

.prod_gray_box p {
    /* position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; */
}

.text_over_01 {
    overflow: hidden !important;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient:
        vertical !important;
    word-break: break-word;
}

.text_over_03 {
    overflow: hidden !important;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient:
        vertical !important;
    word-break: break-word;
}

.text_over_05 {
    overflow: hidden !important;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient:
        vertical !important;
    word-break: break-word;
}

.section {
    padding: 144px 0;
}

.cart_damgi_btn {
    width: 100%;
}

.cart_damgi_btn a {
    width: 100%;
    max-width: 100%;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;

    color: #222;
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    /* 26px */
    letter-spacing: 0.2px;
    border: 1px solid var(--GREY-200, #C7C7C7);
}

.start_btn a {
    display: flex;
    max-width: 450px;
    border-radius: 40px;
    width: 100%;
    align-items: center;
    justify-content: center;
    background: #B87F9E;
    height: 62px;

    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
    color: var(--GREY-00, #FFF);
    text-align: center;

    /* Headline 1/Medium - 20 */
    /* font-family: Pretendard; */
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    /* 26px */
    letter-spacing: 0.2px;

    margin: 0 auto;
}

.banner_flex_box {
    align-items: center;
    height: 615px;
    /* aspect-ratio: 1 / 0.3203125; */
    background: #8A5F77;
    max-width: 1920px;
    margin: 0 auto;
}

.banner_side.left {
    width: 38%;
    background: #8A5F77;
}

.banner_flex_box .inner {
    height: 100%;
    display: flex;
    align-items: center;
}

.banner_txt {
    gap: 56px;
    justify-content: center;
    max-width: 370px;
    width: 100%;
}


.banner_side.right {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 62%;
    height: 101%;
}

.banner_side.right img {
    width: 100%;
    height: 100%;
}



@media (max-width: 1500px) {
    .banner_side.left {
        width: 42%;
    }

    .banner_side.right {
        width: 58%;
    }
}


/* @media (max-width: 1200px) {
    .banner_side.left {
        width: 45%;
    }
    .banner_side.right {
        width: 55%;
    }
    .banner_txt {
        max-width: 420px;
    }
} */


@media (max-width: 1200px) {

    .banner_flex_box {
        height: auto;
        padding: 60px 0;
    }

    .banner_flex_box .inner {
        flex-direction: row;
        position: relative;
    }

    .banner_side.left,
    .banner_side.right {
        position: relative;
        transform: none;
        width: 50%;
        height: auto;
    }

    .banner_side.right img {
        height: auto;
        object-fit: contain;
    }

    .banner_txt {
        gap: 32px;
        max-width: none;
    }
}

@media (max-width: 768px) {

    .mv_txt_box {
        width: 100%;
    }

    .mv_box .inner {
        justify-content: unset;
    }

    

    /* .mv_box::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;

        -webkit-backdrop-filter: blur(3px);
        background: rgba(255, 255, 255, 0.0);
        z-index: 1;
    } */

    .mv_box .inner {
        z-index: 9;
    }

    .banner_flex_box .inner {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }

    .banner_side.left,
    .banner_side.right {
        width: 100%;
    }

    .banner_side.right img {
        width: 90%;
        margin: 0 auto;
        display: block;
    }

    .banner_txt {
        max-width: 100%;
        padding: 0 20px;
    }

    .banner_txt p {
        font-size: 16px;
        line-height: 1.5;
    }
}

@media (max-width: 640px) {
    .banner_txt h3 {
        font-size: 28px;
        line-height: 1.3;
    }

    .banner_txt p {
        font-size: 15px;
    }
}



.p_18 {
    color: #222;

    /* Body 1/Regular - 18 */
    /* font-family: Pretendard; */
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    /* 27px */
    letter-spacing: 0.09px;
}


/* ba */
.ba_list_box ul {
    gap: 40px;
}

.ba_list_box ul li {
    width: calc(50% - 20px);
    aspect-ratio: 1 / 0.5882;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.ba_badge {
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.10);
    color: #FFF;
    text-align: center;

    /* Headline 1/medium - 18 */
    font-family: var(--Family-KO, Pretendard);
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    /* 23.4px */
    letter-spacing: 0.09px;

    position: absolute;
    top: 20px;
    left: 28px;
    padding: 4px 12px;
}

.ba_badge.after {
    background: var(--Vector-600, #B87F9E) !important;
    border-radius: 999px !important;

}


.ba_list_box .before {
    border-radius: 4px;
    background: #F1F1F1;
}

.ba_list_box .after {
    border-radius: 4px;
    background: #FCF3F8;
}

.section.ba_section {
    padding: 120px 0;
}

.sangdam_btn_info {
    position: absolute;
    top: calc(100% + 16px);
    left: 50%;
    transform: translateX(-50%);
}


/* diet */
.num_list_box {
    align-items: center;
    gap: 36px;
    justify-content: space-between;
}

.num_side.left {
    width: calc(37% - 18px);
}

.num_side.right {
    width: calc(61% - 18px);
}

.num_side.right img {
    border-radius: 5px;
    width: 100%;
}

.p_24 {
    color: var(--GREY-900, #222);
    /* font-family: Pretendard; */
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    /* 28.8px */
}

.p_16 {
    color: var(--GREY-600, #222);

    /* Body 1/Regular - 16 */
    /* font-family: Pretendard; */
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    /* 24px */
    letter-spacing: 0.08px;
}

.c5b5b {
    color: #5b5b5b !important;
}

.num_num {
    color: rgba(34, 34, 34, 0.07);
    /* font-family: Pretendard; */
    font-size: 56px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    /* 56px */
    letter-spacing: 1.12px;
    width: 74px;
}

.mt4 {
    margin-top: 4px;
}

.num_side.left>.flex {
    align-items: center;
    gap: 18px;
    padding: 30px 0;
}


/* con05 */
/* 전체 flow */
/* .premium_flow .flow_list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.premium_flow .flow_item {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
}


.premium_flow .step_icon {
    width: 120px;
    height: 120px;
    background: #B87F9E;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.premium_flow .step_icon img {
    width: 56px;
}


.premium_flow .step_tit {
    color: #3D3545;
    text-align: center;


    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;

    letter-spacing: 0.07px;
}

.premium_flow .step_desc {
    color: var(--GREY-600, #5B5B5B);

    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    letter-spacing: 0.2px;
    margin-top: 12px;
    height: 52px;
}

.premium_flow .flow_arrow {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    background: url("/img/flow_arrow.png") center/contain no-repeat;
    opacity: 0.7;
}

@media (max-width: 1200px) {
    .premium_flow .flow_list {
        flex-wrap: wrap;
        gap: 32px 20px;
    }

    .premium_flow .flow_arrow {
        display: none;
    }

    .premium_flow .flow_item {
        flex: 1 1 45%;
    }
} */


/* con06 */
.section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    height: 100%;
    opacity: 0.1;
    pointer-events: none;
}

.content_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 200px;
    position: relative;
    z-index: 1;
}

.text_area {
    flex: 0 0 auto;
}

.subtitle {
    color: #727272;
    font-size: 20px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.2px;
    margin-bottom: 24px;
}

.main_title {
    font-size: 40px;
    font-weight: 500;
    line-height: 150;
    letter-spacing: 0.48px;
    color: #222222;
    margin-bottom: 9px;
}

.main_title .highlight {
    color: #8A5F77;
}

.stats_area {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.stat_card {
    padding: 36px 19px;
    border-radius: 4px;
    backdrop-filter: blur(12px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    position: relative;
}

.stat_card_small {
    flex: 1;
    min-width: 280px;
    outline-offset: -1px;

    border-radius: 10px;
    border: 1px solid var(--GREY-100, #F1F1F1);
    background: rgba(184, 127, 158, 0.20);
    backdrop-filter: blur(5px);
}

.stat_card_medium {
    flex: 1;
    min-width: 280px;
    border-radius: 10px;
    background: rgba(184, 127, 158, 0.10);
    backdrop-filter: blur(5px);
}

.stat_card_large {
    flex: 1 1 100%;
    border-radius: 10px;
    background: rgba(184, 127, 158, 0.30);
    backdrop-filter: blur(5px);
}

.stat_label {
    width: 100%;
    color: #222222;
    font-size: 20px;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: 0.1px;
}

.stat_value {
    width: 100%;
    color: #8A5F77;
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
}

.stat_card_large .stat_icon {
    position: absolute;
    right: 40px;
    bottom: 0;
    width: auto;
    height: 100%;
    max-height: 168px;
    object-fit: contain;
}

@media all and (max-width: 1400px) {
    .content_wrap {
        flex-direction: column;
        align-items: flex-start;
    }

    .stats_area {
        width: 100%;
    }
}

@media (max-width: 1200px) {


    .stats_area {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .section {
        padding: 60px 0;
    }

    .main_title {
        font-size: 38px;
    }

    .subtitle {
        font-size: 18px;
    }

    .stat_value {
        font-size: 36px;
    }

    .stat_card {
        padding: 30px;
    }

    .stat_card_small,
    .stat_card_medium {
        min-width: 100%;
    }
}


/* 리뷰 */
.section.review_section {
    width: 100%;
    background: #FAFAFA;
}

.section_title {
    text-align: center;
    color: #222222;
    font-size: 48px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.48px;
    margin-bottom: 70px;
}

.review_list {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.review_card {
    flex: 1;
    /* min-width: 300px; */
    overflow: hidden;

    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.25);
}

.review_img {
    width: 100%;
    height: 320px;
    overflow: hidden;
    position: relative;
}

.review_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review_content {
    padding: 36px 18px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.star_rating {
    display: flex;
    gap: 4px;
}

.star_icon {
    width: 20px;
    height: 20px;
    position: relative;
}

.star_icon::before {
    content: '★';
    position: absolute;
    top: 0;
    left: 0;
    color: #E4CFA1;
    font-size: 20px;
    line-height: 1;
}

.review_text {
    color: #3D3545;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.09px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.review_txt_wrapper {
    height: 120px;
}

.review_author {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(0, 0, 0, 0.10);
    padding-top: 24px;
}

.author_info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.author_name {
    color: #3D3545;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.20px;
}

.author_age {
    color: #8B7F95;
    font-size: 14px;
    font-weight: 400;
}

/* 리뷰 블러 처리 (비로그인 사용자) */
.review_card.blur-content {
    position: relative;
}

.review_card.blur-content .review_img img {
    filter: blur(10px);
    transition: filter 0.3s ease;
}

.review_card.blur-content .review_text {
    filter: blur(5px);
    transition: filter 0.3s ease;
}

.review_card.blur-content .review_content {
    position: relative;
    line-height: 1;
    letter-spacing: 0.20px;
}

.author_avatar {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, rgba(158, 134, 200, 0.10) 0%, rgba(228, 207, 161, 0.10) 100%);
    border-radius: 50%;
    flex-shrink: 0;
}

.prod_img_box img {
    width: 240px;
    height: 385px;
    aspect-ratio: 48/77;
}


.ba_list_box ul li img {
    width: 296px;
    height: 400px;
    flex-shrink: 0;
    aspect-ratio: 37/50;
}

.mt9 {
    margin-top: 9px;
}



@media (max-width: 1680px) {
    .num_side.left>.flex {
        flex-direction: column;
        gap: 20px;
        align-items: unset;
        padding: 15px 0;
    }
}

@media (max-width: 1440px) {


    .num_side.left {
        width: 100%;
    }

    .num_side.right {
        margin: 0 auto;
        width: 100%;
    }
}


@media (max-width: 1200px) {

    .num_list_box,
    .content_wrap {
        gap: 60px;
    }

    .review_list {
        flex-direction: column;
    }

    .review_card {
        min-width: 100%;
    }

    .ba_list_box ul li {
        width: 100%;
        aspect-ratio: unset;
    }

    .prod_list.three ul li {
        width: calc(50% - 9px);
        flex: unset;
    }

    .prod_list.three ul li:hover {
        flex: unset;
    }

    .cart_go_btn {
        display: flex !important;
    }


    .prod_gray_box {
        aspect-ratio: unset;
    }

    /* .prod_gray_box p {
        position: relative;
        transform: unset;
        top: unset;
        left: unset;
        margin-bottom: 30px;
    } */
}

@media (max-width: 768px) {

    .prod_list.three ul li {
        width: calc(100%);
    }

    .num_side.right {
        width: 100%;
        ;
    }


    .section {
        padding: 72px 0;
    }

    .section.review_section {
        padding: 80px 0;
    }

    .section_title {
        font-size: 38px;
        margin-bottom: 40px;
    }

    .review_content {
        padding: 24px;
    }

    .review_text {
        font-size: 16px;
    }
}

@media (max-width: 1100px) {
    .main_visual {
        margin-top: 70px;
    }
}



/* 20251121 추가 */
.mv_btn a {
    align-items: center;
    justify-content: center;
    display: inline-flex;
    max-width: 100%;

    border-radius: 40px;
    background: var(--Vector-800, #5C404F);
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);

    color: var(--Vector-50, #FFF8FC);
    text-align: center;
    font-family: Pretendard;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    /* 26px */
    letter-spacing: 0.2px;
    padding: 18px 72px;

}

.chu_badge {
    position: absolute;
    left: 18px;
    top: 18px;
    border-radius: 999px;
    background: var(--Vector-600, #B87F9E);
    padding: 6px 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    text-align: center;
    font-family: "Pretendard";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    /* 27px */
}


.cart_go_btn a {
    align-items: center;
    justify-content: center;
    gap: 18px;
    background: rgba(0, 0, 0, 0.30);
    padding: 18px 0;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}

.cart_go_btn a p {
    color: var(--GREY-00, #FFF);
    text-align: center;

    /* Headline 1/Medium - 20 */
    font-family: Pretendard;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    /* 26px */
    letter-spacing: 0.2px;
}

.cart_go_btn {
    display: none;
}

.prod_list.three ul li:hover .cart_go_btn {
    display: flex;
}

.pre_txt_img {
    width: 100%;
}

.pre_img_box {
    width: 100%;
    margin-top: 400px;
}

.pre_img_wrapper {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -70px;
    margin: 0 auto;
    width: fit-content;
}

.pre_img {
    width: 100%;
    height: auto;
}



/* new con5 */
.premium_flow {
    width: 100%;
    background: #FFF8FC;
    overflow: hidden;
}

.premium_flow>.inner {
    display: flex;
    flex-direction: column;
    gap: 72px;
}

.premium_flow .section_tit {
    text-align: center;
}

.premium_flow .section_tit h3 {
    font-size: clamp(38px, 3.2vw, 48px);
    font-weight: 700;
    line-height: 60px;
    color: #222222;
}

.premium_flow .flow_top {
    display: flex;
    align-self: stretch;
    padding: 36px;
    background: linear-gradient(90deg, #F5D9E8 0%, #B87F9E 100%);
    border-radius: 999px;
    justify-content: space-between;
    align-items: center;
    gap: 0;
}

.premium_flow .flow_top>div {
    flex: 1 1 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
}

.premium_flow .flow_top .step_icon {
    width: auto;
    height: 55px;
    object-fit: contain;
}

.premium_flow .flow_top .step_icon:nth-child(2) {
    height: 47px;
}

.premium_flow .flow_top .step_icon:nth-child(3) {
    height: 47px;
}

.premium_flow .flow_top .step_icon:nth-child(4) {
    height: 47px;
}

.premium_flow .flow_bottom {
    display: flex;
    align-self: stretch;
    padding: 0 36px;
    justify-content: space-between;
    align-items: center;
    gap: 0;
}

.premium_flow .flow_item {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 9px;
    text-align: center;
    min-width: 0;
}

.premium_flow .step_tit {
    color: #3D3545;
    font-size: 28px;
    font-weight: 500;
    line-height: 42px;
    letter-spacing: 0.07px;
}

.premium_flow .step_desc {
    color: #727272;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    letter-spacing: 0.2px;
}

.premium_flow .flow_arrow {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    background: url("/img/flow_arrow.png") center/contain no-repeat;
    opacity: 0.7;
}

@media (max-width: 1200px) {
    .premium_flow .flow_bottom {
        flex-wrap: wrap;
        gap: 32px 20px;
    }

    .premium_flow .flow_item {
        flex: 1 1 45%;
    }

    .premium_flow .flow_arrow {
        display: none;
    }
}

.review_swiper .swiper-slide {
    height: auto;
}


.review_swiper .swiper-horizontal>.swiper-pagination-progressbar,
.review_swiper .swiper-pagination-progressbar.swiper-pagination-horizontal {
    top: unset;
    bottom: 0;
    border-radius: 999px;
    height: 2px;
}

.review_swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {

    background: var(--Vector-600, #B87F9E);
}

.review_swiper .swiper-wrapper {
    /* padding-bottom: 70px; */
    padding: 0 10px 70px 10px;
}


/* 20251125 추가 */
.p_28 {
    color: #222;
    font-family: Pretendard;
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    /* 28px */
    letter-spacing: 0.56px;
}

.section_tit h3 {
    font-weight: 600;
}

.section_tit {
    position: relative;
    z-index: 10;
}

.youtube_shorts_box ul {
    gap: 18px;
    align-items: stretch;
}

.youtube_shorts_box ul li {
    width: calc(20% - 15px);
    aspect-ratio: 1 / 1.78125;
    border-radius: 30px;
    background: #FFF;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.youtube_shorts_box ul li .youtube_thumbnail_wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.youtube_shorts_box ul li .youtube_thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 30px;
    display: block;
}

.youtube_shorts_box ul li .youtube_iframe_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
}

.youtube_shorts_box ul li .youtube_iframe_wrapper iframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 30px;
    pointer-events: none;
}

@media all and (max-width:1400px) {
    .youtube_shorts_box ul li {
        width: calc(25% - 14px);
    }
}

@media all and (max-width:1000px) {
    .youtube_shorts_box ul li {
        width: calc(33.333% - 12px);
    }
}

@media all and (max-width:768px) {
    .youtube_shorts_box ul li {
        width: calc(50% - 9px);
    }
}



@media all and (max-width:768px) {
    .pre_img_box {
        margin-top: 300px;
    }

    .section_tit h3 br {
        display: none;
    }

    .review_swiper .swiper-wrapper {
        padding: 0 0px 65px 0px;
    }
}



/* 20251208 추가 */
/* 예약 섹션 */
.yeyak_section {
    position: relative;
    overflow: hidden;
}

.yeyak_section .bg_blur_circle.circle01 {
    width: 999px;
    height: 1000px;
    right: 0;
    top: 150px;
}

.yeyak_section .bg_blur_circle.circle02 {
    width: 999px;
    height: 1000px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -300px;
}

.yeyak_section .bg_blur_circle.circle03 {
    width: 999px;
    height: 1000px;
    right: -300px;
    top: -230px;
}

.yeyak_section .bg_blur_circle.circle04 {
    width: 695px;
    height: 696px;
    left: -431px;
    top: -89px;
    background: rgba(240, 197, 221, 0.10);
    box-shadow: 100px 100px 100px;
    filter: blur(50px);
}

/* 제목 영역 */
.yeyak_section .title_area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    margin-bottom: 72px;
}

.yeyak_section .title_area h2 {
    color: #222222;
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.4px;
    text-align: center;
}

.yeyak_section .title_area p {
    color: #727272;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.2px;
    text-align: center;
}

/* 스텝 컨테이너 */
.yeyak_section .steps_container {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 72px;
}

/* 스텝 박스 */
.yeyak_section .step_box {
    flex: 1;
    background: rgba(255, 248, 251, 0.80);
    border-radius: 5px;
    padding: 72px 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
    min-height: 512px;
}

/* 아이콘 원 */
.yeyak_section .step_box .icon_circle {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.yeyak_section .step_box.step01 .icon_circle {
    background: #E69FC6;
}

.yeyak_section .step_box.step02 .icon_circle {
    background: #B87F9E;
}

.yeyak_section .step_box.step03 .icon_circle {
    background: #8A5F77;
}

.yeyak_section .step_box .icon_circle img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

/* 스텝 컨텐츠 */
.yeyak_section .step_box .step_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    text-align: center;
}

.yeyak_section .step_box .step_badge {
    padding: 6px 36px;
    background: rgba(0, 0, 0, 0.10);
    border-radius: 999px;
    color: #5B5B5B;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
}

.yeyak_section .step_box .step_title {
    color: #3D3545;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 9px;
}

.yeyak_section .step_box .step_desc {
    color: #727272;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
}

/* 화살표 */
.yeyak_section .arrow_icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.yeyak_section .arrow_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* CTA 영역 */
.yeyak_section .cta_area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.yeyak_section .cta_area .cta_btn {
    width: 500px;
    max-width: 100%;
    padding: 18px 72px;
    background: #444444;
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.25);
    border-radius: 40px;
    color: white;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    transition: background 0.3s ease;
}

.yeyak_section .cta_area .cta_btn:hover {
    background: #333333;
}

.yeyak_section .cta_area .hashtag {
    color: #888;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}

/* 태블릿 */
@media (max-width: 1240px) {
    .yeyak_section .inner {
        padding: 100px 60px;
    }

    .yeyak_section .title_area h2 {
        font-size: 32px;
    }

    .yeyak_section .title_area p {
        font-size: 18px;
    }

    .yeyak_section .step_box {
        padding: 60px 24px;
    }

    .yeyak_section .step_box .step_title {
        font-size: 24px;
    }

    .yeyak_section .step_box .step_desc {
        font-size: 18px;
    }
}

/* 모바일 */
@media (max-width: 1080px) {
    .yeyak_section .inner {
        padding: 80px 24px;
    }

    .yeyak_section .title_area {
        margin-bottom: 48px;
    }

    .yeyak_section .title_area h2 {
        font-size: 26px;
        line-height: 1.3;
    }

    .yeyak_section .title_area p {
        font-size: 16px;
    }

    /* 스텝 컨테이너 세로 정렬 */
    .yeyak_section .steps_container {
        flex-direction: column;
        gap: 24px;
        margin-bottom: 48px;
    }

    .yeyak_section .step_box {
        width: 100%;
        padding: 48px 24px;
        min-height: auto;
    }

    .yeyak_section .step_box .icon_circle {
        width: 100px;
        height: 100px;
    }

    .yeyak_section .step_box .icon_circle img {
        width: 50px;
        height: 50px;
    }

    .yeyak_section .step_box .step_badge {
        font-size: 16px;
        padding: 4px 24px;
    }

    .yeyak_section .step_box .step_title {
        font-size: 22px;
    }

    .yeyak_section .step_box .step_desc {
        font-size: 16px;
    }

    /* 화살표 회전 및 위치 조정 */
    .yeyak_section .arrow_icon {
        width: 32px;
        height: 32px;
    }

    .yeyak_section .arrow_icon img {
        transform: rotate(90deg);
    }

    .yeyak_section .cta_area .cta_btn {
        width: 100%;
        padding: 16px 48px;
        font-size: 18px;
    }

    .yeyak_section .cta_area .hashtag {
        font-size: 14px;
    }

}


/* ==================== 배너 3개 섹션 ==================== */
.banner_three_section {
    background: var(--Vector-50, #FFF8FC);
}

.banner_three_grid {
    display: flex;
    flex-direction: column;
}

.banner_item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    /* height: 400px; */
    overflow: hidden;
    text-decoration: none;
    transition: opacity 0.3s ease;
    aspect-ratio: 1 / 0.208333;
}

.banner_item:hover {
    opacity: 0.9;
}

.banner_item_1 {
    background: #FAEFF5;
}

.banner_item_2 {
    background: #FFF8FC;
}

.banner_item_3 {
    background: #FAEFF5;
}

.banner_placeholder {
    font-family: 'Pretendard', sans-serif;
    font-size: 40px;
    font-weight: 600;
    color: #222;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    line-height: 1.5;
}

/* 배너 이미지가 추가될 때 */
.banner_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 반응형 - 모바일 */
@media (max-width: 768px) {
    .banner_item {
        height: 200px;
    }
    
    .banner_placeholder {
        font-size: 28px;
    }
}

@media (max-width: 480px) {
    /* .banner_item {
        height: 100px;
    } */
    
    .banner_placeholder {
        font-size: 22px;
    }
}