/* ============ 모바일 공통 (max-width: 599px) ============ */

/* PC 전용 / 모바일 전용 br */
.m-br { display: none; }

@media screen and (max-width:599px) {
    section { font-size: 3.2vw; }

    .pc-mobile { display: none; }
    .mobile-pc { display: flex; }
    .pc        { display: none !important; }
    .pc-inline { display: none !important; }
    .tablet    { display: none; }
    .mobile    { display: flex; }
    .mobile-flex { display: flex; }

    .m-br { display: inline; }
    .pc-br { display: none; }

    /* ===================================================================
       MV (메인 비주얼) - PC 디자인 유지, 모바일 세로 공간 확보
       =================================================================== */
    .main .mv {
        padding-top: 38vw;
        padding-bottom: 16vw;
    }

    .main .mv_label {
        font-size: var(--fs-25);
    }

    .main .mv_title {
        margin-top: 6vw;
        font-size: var(--fs-60);
    }

    .main .mv_curve img {
        width: 110vw !important;
    }
    .main .mv_desc {
        margin-top: 6vw;
        font-size: var(--fs-22);
        white-space: normal;
        line-height: 1.5;
        padding: 0 4vw;
    }

    .main .mv_curve {
        top: 83vw;
        left: 0;
        width: 100%;
        aspect-ratio: 1484/234;
    }

    .main .mv_visual {
        position: static;
        margin-top: 23vw;
        margin-bottom: 0;
        background: #e3cfaf;
    }

    .main .mv_slider {
        width: 88%;
    }

    .main .mv_since,
    .main .mv_years {
        top: auto;
        bottom: -6vw;
        transform: none;
        font-size: var(--fs-16);
        letter-spacing: 0.2em;
        width: auto;
    }

    .main .mv_since { left: 5%; }
    .main .mv_years { left: auto; right: 5%; }

    .main .mv_line_1 { top: auto; bottom: 8vw; }
    .main .mv_line_2 { top: auto; bottom: 7.5vw; }

    /* ===================================================================
       CON01 - 왜 미락육회막국수인가요? (3 카드 세로 stack)
       =================================================================== */
    .main .con1 {
        padding-top: 20vw;
        padding-bottom: 20vw;
    }

    /* 좌측 하단 음식 이미지 데코 (콘텐츠 뒤) */
    .main .con1_food_foreground {
        top: auto;
        bottom: -15vw;
        left: -10%;
        width: 97%;
        z-index: 0;
        opacity: .75;
    }

    .main .con1_food_foreground img {
        width: 100% !important;
    }

    .main .con1_title {
        width: 100%;
    }

    .main .con1_kicker {
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .main .con1_headline {
        margin-top: 3vw;
        font-size: var(--fs-60);
        line-height: 1.2;
    }

    .main .con1_title .con1_desc {
        margin-top: 4vw;
        font-size: var(--fs-22);
        line-height: 1.5;
        white-space: normal;
        padding: 0 4vw;
        text-align: center;
    }

    .main .con1_cards {
        margin-top: 8vw;
        width: 92%;
        flex-direction: column;
        gap: 4vw;
    }

    /* 모바일 카드: 가로형, 항상 active 상태 (hover/포커스 동작 없음) */
    .main .con1_card {
        --con1-card-bg: #231916;
        --con1-card-text: #ffffff;
        width: 100%;
        aspect-ratio: 424/280;
        border-color: #231916;
    }

    .main .con1_card + .con1_card {
        margin-left: 0;
    }

    .main .con1_card_media,
    .main .con1_card.is-active .con1_card_media {
        top: 50%;
        left: auto;
        right: -5%;
        width: 55%;
        opacity: 1;
        transform: translateY(-50%);
        transition: none;
    }

    .main .con1_card_media img {
        width: 100% !important;
    }

    /* 카드 우측 상단 세로 라인 데코 (모바일은 active 상태라 흰색) */
    .main .con1_marker {
        height: 6vw;
        border-color: #ffffff;
    }
    .main .con1_marker_taste_1 { left: 94.3%; }
    .main .con1_marker_sales_1 { left: 91.0%; }
    .main .con1_marker_sales_2 { left: 94.3%; }
    .main .con1_marker_easy_1 { left: 88.5%; }
    .main .con1_marker_easy_2 { left: 91.4%; }
    .main .con1_marker_easy_3 { left: 94.3%; }

    /* con1 뒷배경 텍스처 */
    .main .con1_bg_texture {
        top: 0.0vw;
        bottom: 0.0vw;
        left: 0.0%;
        width: 100%;
        background: url('/images/con01_bg.webp') top center / 100% auto no-repeat;
        z-index: 0;
    }

    .main .con1_card_text {
        top: 50%;
        left: 5%;
        transform: translateY(-50%);
        width: 60%;
    }

    .main .con1_card_label {
        font-size: var(--fs-18);
        line-height: 1.4;
    }

    .main .con1_card_title {
        margin-top: 2vw;
        font-size: var(--fs-25);
        line-height: 1.3;
        white-space: nowrap;
    }

    .main .con1_card_body {
        font-size: var(--fs-16);
        line-height: 1.5;
        white-space: normal;
    }

    .main .con1_taste_text .con1_card_body,
    .main .con1_sales_text .con1_card_body,
    .main .con1_easy_text .con1_card_body {
        margin-top: 3vw;
    }

    /* ===================================================================
       CON02 - 매출 안내
       =================================================================== */
    .con2 {
        padding-top: 30vw;
        padding-bottom: 30vw;
    }

    /* 우측 음식 이미지 - 모바일 우측 하단 데코 */
    .con2 .c2_food {
        top: auto;
        bottom: -15vw;
        left: auto;
        right: -25%;
        width: 110%;
        opacity: 0.5;
        z-index: 0;
    }

    .con2 .c2_food img { width: 100% !important; }

    /* 상단 골드 라인 데코 */
    .con2 .c2_top_line {
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        height: 12vw;
    }

    .con2 .c2_title {
        font-size: var(--fs-60);
        line-height: 1.2;
    }

    .con2 .c2_desc {
        margin-top: 6vw;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    .con2 .c2_badge {
        margin-top: 10vw;
        margin-left: 0;
        align-self: center;
        width: 49%;
    }

    .con2 .c2_badge img { width: 100% !important; }

    .con2 .c2_amount {
        margin-top: 6vw;
        margin-left: 0;
        align-self: center;
        width: auto;
        column-gap: 1.5vw;
    }

    .con2 .c2_amount_num {
        font-size: var(--fs-120);
    }

    .con2 .c2_amount_won {
        font-size: var(--fs-25);
    }

    /* 카드 swiper */
    .con2 .c2_swiper {
        margin-top: 10vw;
        width: 100vw;
    }

    .con2 .c2_swiper .swiper {
        width: 100vw;
        padding: 0 4vw;
    }

    .con2 .c2_card {
        width: 60vw;
        border-radius: 4vw;
        padding-top: 5vw;
        padding-bottom: 5vw;
    }

    .con2 .c2_card_title {
        font-size: var(--fs-20);
    }

    .con2 .c2_card_line {
        margin-top: 3vw;
    }

    .con2 .c2_card_amount {
        margin-top: 3vw;
        font-size: var(--fs-50);
    }

    .con2 .c2_card_period {
        margin-top: 2vw;
        font-size: var(--fs-16);
    }

    /* ===================================================================
       CON03 - 남는 구조 (PC 가로 3분할 → 모바일 세로 stack)
       =================================================================== */
    .main .con3 {
        padding-top: 20vw;
        padding-bottom: 16vw;
    }

    /* con3 안 모든 img: 인라인 vw 무력화 + 부모 폭 100% */
    .main .con3 img {
        width: 100% !important;
    }

    .main .c3_title_group {
        width: 100%;
    }

    .main .c3_kicker {
        width: 100%;
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .main .c3_headline {
        margin-top: 3vw;
        width: 100%;
        font-size: var(--fs-60);
        line-height: 1.2;
    }

    .main .c3_desc {
        margin-top: 4vw;
        width: 100%;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    /* profit_scene: PC absolute 풀고 세로 stack */
    .main .c3_profit_scene {
        margin-top: 12vw;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8vw;
    }

    /* 가운데 원형 파이 - 큼직하게 */
    .main .c3_pie {
        margin-top: 0;
        margin-left: 0;
        align-self: center;
        width: 70%;
    }

    .main .c3_pie_badge {
        top: -3vw;
        left: -3%;
        width: 49%;
    }

    .main .c3_pie_number {
        top: -3vw;
        left: -3%;
        width: 49%;
    }

    /* 좌측 metrics - absolute 풀고 가운데 row */
    .main .c3_left_divider { display: none; }

    .main .c3_left_metrics {
        position: relative;
        top: auto;
        left: auto;
        width: 90%;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 4vw;
    }

    .main .c3_metric_label {
        align-self: auto;
        font-size: var(--fs-22);
        line-height: 1.2;
    }

    .main .c3_sales_label,
    .main .c3_profit_label {
        margin-top: 0;
        width: auto;
    }

    .main .c3_sales_value,
    .main .c3_profit_value {
        align-self: auto;
        margin-top: 0;
        width: 30%;
    }


    /* 테이블 - absolute 풀고 가운데 stack */
    .main .c3_table {
        margin-top: 10vw;
        position: relative;
        top: auto;
        left: auto;
        width: 86%;
        aspect-ratio: auto;
    }

    .main .c3_table_panel {
        width: 100%;
    }

    .main .c3_table_ref {
        top: -8vw;
        left: auto;
        right: 0;
        width: auto;
        font-size: var(--fs-16);
        line-height: 1.4;
    }

    .main .c3_table_rate {
        top: auto;
        bottom: 21vw;
        left: 73.8%;
        width: 18%;
    }

    .main .c3_table_rate img { width: 100% !important; }

    .main .con3 .c3_table_note {
        position: relative;
        top: auto;
        margin-top: 4vw;
        width: 100%;
        font-size: var(--fs-16);
        line-height: 1.5;
        white-space: normal;
        /* text-align: center; */
    }

    /* ===================================================================
       CON04 - 흔하지 않아서 더 강합니다
       =================================================================== */
    .con4 {
        padding-top: 15vw;
        padding-bottom: 90vw;
    }

    .con4 img { width: 100% !important; }

    /* 배경 이미지: 좌우 반쪽 */
    .con4 .c4_media_layer {
        top: auto;
        bottom: 0;
        height: 90vw;
    }

    .con4 .c4_left_bg {
        top: auto;
        bottom: 0;
        left: 0;
        width: 60%;
    }

    .con4 .c4_right_bg {
        top: auto;
        bottom: -15vw;
        left: 0;
        width: 100%;
        -webkit-mask-image: linear-gradient(to top, black, transparent);
        mask-image: linear-gradient(to top, black, transparent);
    }

    /* 면을 잡은 손 - 모바일에서 제거 */
    .con4 .c4_noodle_hand { display: none; }

    /* 그릇 - 가운데 */
    .con4 .c4_bowl {
        top: auto;
        bottom: 15vw;
        left: 20%;
        width: 60%;
    }

    /* 리뷰 말풍선 - 그릇 주변에 떠있도록 */
    .con4 .c4_review_01 {
        top: auto;
        bottom: 63vw;
        left: 44%;
        width: 52%;
    }

    .con4 .c4_review_02 {
        top: auto;
        bottom: 39vw;
        left: 6%;
        width: 37%;
    }

    .con4 .c4_review_03 {
        top: auto;
        bottom: 12vw;
        left: 25%;
        width: 57%;
    }

    /* 텍스트 - 좌측정렬 → 가운데 */
    .con4 .c4_kicker,
    .con4 .c4_title,
    .con4 .c4_desc {
        align-self: center;
        margin-left: 0;
        text-align: center;
    }

    .con4 .c4_kicker {
        margin-top: 0;
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .con4 .c4_title {
        margin-top: 3vw;
        font-size: var(--fs-60);
        line-height: 1.2;
    }

    .con4 .c4_desc {
        margin-top: 6vw;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    /* ===================================================================
       CON05 - 한 그릇에 담은 정성 (4 카드, absolute 풀고 stack)
       =================================================================== */
    .con5 {
        padding-top: 18vw;
        padding-bottom: 18vw;
    }

    .con5 img { width: 100% !important; }

    .con5 .c5_panel {
        bottom: 5vw;
    }

    .con5 .c5_kicker {
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .con5 .c5_title {
        margin-top: 3vw;
        font-size: var(--fs-60);
        line-height: 1.2;
    }

    .con5 .c5_desc {
        margin-top: 5vw;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    .con5 .c5_cards {
        margin-top: 8vw;
        width: 90%;
        display: flex;
        flex-direction: column;
        gap: 4vw;
    }

    /* 모든 카드: 좌우 패딩 제거 (이미지 풀폭 유지) */
    .con5 .c5_card1,
    .con5 .c5_card2,
    .con5 .c5_card3,
    .con5 .c5_card4 {
        aspect-ratio: auto;
        width: 100%;
        margin-top: 0;
        padding: 0 0 6vw 0;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
    }

    /* 텍스트에만 개별 패딩 */
    .con5 .c5_c1_title,
    .con5 .c5_c1_desc,
    .con5 .c5_c2_title,
    .con5 .c5_c2_desc,
    .con5 .c5_c3_title,
    .con5 .c5_c3_desc,
    .con5 .c5_c4_title,
    .con5 .c5_c4_desc {
        padding-left: 5vw;
        padding-right: 5vw;
        box-sizing: border-box;
    }

    /* badge(숫자)는 padding 대신 margin으로 좌측 여백 */
    .con5 .c5_c1_badge,
    .con5 .c5_c2_badge,
    .con5 .c5_c3_badge,
    .con5 .c5_c4_badge {
        margin-left: 5vw;
        padding: 0;
    }

    /* 이미지 wrapper는 box-sizing 영향 X (풀폭 유지) */
    .con5 .c5_c1_img,
    .con5 .c5_c3_bg,
    .con5 .c5_c2_swiper,
    .con5 .c5_c4_3way {
        box-sizing: content-box;
    }

    .con5 .c5_c3_title,
    .con5 .c5_c3_desc {
        color: var(--color-black);
    }

    /* 카드 안 자식들: absolute → relative, 가독 폰트 */
    .con5 .c5_card1 > *,
    .con5 .c5_card2 > *,
    .con5 .c5_card3 > *,
    .con5 .c5_card4 > * {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        white-space: normal;
    }

    /* 배지 (작은 라벨) */
    .con5 .c5_c1_badge,
    .con5 .c5_c2_badge,
    .con5 .c5_c3_badge,
    .con5 .c5_c4_badge {
        width: 14%;
        align-self: flex-start;
    }

    /* 메인 이미지 */
    .con5 .c5_c1_img,
    .con5 .c5_c3_bg {
        width: 100%;
        margin-bottom: 4vw;
    }

    .con5 .c5_c4_bg { display: none; }

    .con5 .c5_card4 {
        background: url('/images/con05_04_2.webp') center / cover no-repeat;
    }

    /* c5_c3_bg: 가로형 이미지의 왼쪽 절반만 사용 */
    .con5 .c5_c3_bg {
        aspect-ratio: 720/450 !important;
        overflow: hidden;
    }

    .con5 .c5_c3_bg > img {
        width: 100% !important;
        height: 100% !important;
        aspect-ratio: auto !important;
        object-fit: cover;
        object-position: left center;
    }

    /* 카드 타이틀 */
    .con5 .c5_c1_title,
    .con5 .c5_c2_title,
    .con5 .c5_c3_title,
    .con5 .c5_c4_title {
        margin-top: 3vw;
        font-size: var(--fs-25);
        line-height: 1.3;
    }

    /* 카드 desc */
    .con5 .c5_c1_desc,
    .con5 .c5_c2_desc,
    .con5 .c5_c3_desc,
    .con5 .c5_c4_desc {
        margin-top: 4vw;
        font-size: var(--fs-18);
        line-height: 1.6;
    }

    /* card2: 추가 이미지 3개는 모바일에선 swiper로 대체 */
    .con5 .c5_c2_img1,
    .con5 .c5_c2_img2,
    .con5 .c5_c2_img3 {
        display: none;
    }

    .con5 .c5_c2_swiper {
        display: block;
        width: 100%;
        margin-top: 0;
        order: 1;
    }

    .con5 .c5_c2_badge { order: 2; margin-top: 6vw; }
    .con5 .c5_c2_title { order: 3; }
    .con5 .c5_c2_desc  { order: 4; }

    .con5 .c5_c2_swiper_inner {
        width: 100%;
        overflow: visible;
    }

    .con5 .c5_c2_swiper_inner .swiper-wrapper {
        align-items: center;
    }

    .con5 .c5_c2_swiper .swiper-slide {
        width: 70%;
    }

    .con5 .c5_c2_swiper .swiper-slide img {
        width: 100% !important;
        /* aspect-ratio: 4/3; */
        object-fit: cover;
        height: 100%;
    }

    /* 3way 영역: flex 가로 정렬 + 자식들 static */
    .con5 .c5_c4_3way {
        margin-top: 6vw;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
        order: 1;
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    .con5 .c5_c4_3way > * {
        position: static;
        top: auto;
        left: auto;
    }

    .con5 .c5_c4_circle1,
    .con5 .c5_c4_circle2,
    .con5 .c5_c4_circle3 {
        width: 29%;
    }

    .con5 .c5_c4_plus1,
    .con5 .c5_c4_plus2 {
        width: auto;
        font-size: var(--fs-25);
    }

    /* 3way 자식 순서: 이미지 + 이미지 + 이미지 */
    .con5 .c5_c4_circle1 { order: 1; }
    .con5 .c5_c4_plus1   { order: 2; }
    .con5 .c5_c4_circle2 { order: 3; }
    .con5 .c5_c4_plus2   { order: 4; }
    .con5 .c5_c4_circle3 { order: 5; }

    .con5 .c5_c4_red_top,
    .con5 .c5_c4_red_bot {
        display: none;
    }

    /* c5_card4 자식 순서: 1.이미지(3way) 2.숫자(badge) 3.텍스트(title+desc) */
    .con5 .c5_c4_badge { order: 2; margin-top: 6vw; }
    .con5 .c5_c4_title { order: 3; }
    .con5 .c5_c4_desc  { order: 4; }

    /* ===================================================================
       CON06 - 흔들리지 않는 데에는 (3 가로 패널)
       =================================================================== */
    .main .con06 {
        padding-top: 18vw;
        padding-bottom: 0;
    }

    .main .con06 img { width: 100% !important; }

    .main .c6_subtitle {
        width: 100%;
        font-size: var(--fs-60);
        line-height: 1.3;
        margin-bottom: 5vw;
    }

    /* 우측 워터마크 */
    .main .c6_watermark {
        top: auto;
        bottom: 0;
        left: auto;
        right: 0;
        width: 50%;
        opacity: 0.4;
        z-index: 0;
    }

    /* 3 카드 패널 - default 배경 없음, .is-active에만 dark 적용 (gsap scrollTrigger 연동) */
    .main .c6_card1,
    .main .c6_card2,
    .main .c6_card3 {
        aspect-ratio: auto;
        margin-top: 0;
        padding: 8vw 0;
        background: transparent;
        color: var(--color-black);
        border: none;
        flex-direction: column;
        gap: 4vw;
        width: 92%;
        transition: background 0.4s ease, color 0.4s ease;
    }

    .main .c6_card1.is-active,
    .main .c6_card2.is-active,
    .main .c6_card3.is-active {
        background: #231916;
        color: #f8edd7;
    }

    /* 카드 안 음식 이미지: absolute 풀고 자연 흐름 (이미지 위, 텍스트 아래) */
    .main .c6_card1_img,
    .main .c6_card2_img,
    .main .c6_card3_img {
        position: static;
        top: auto;
        left: auto;
        transform: none;
        width: 42%;
        opacity: 1;
    }

    /* 카드 텍스트 */
    .main .c6_card1_text,
    .main .c6_card2_text,
    .main .c6_card3_text {
        font-size: var(--fs-25);
        line-height: 1.4;
    }

    /* 모바일에서 hover override 무력화 (모든 카드 dark 통일) */
    .main .con06:has(.c6_card2:hover) .c6_card1,
    .main .con06:has(.c6_card3:hover) .c6_card1,
    .main .c6_card1:has(~ .c6_card2:hover),
    .main .c6_card1:has(~ .c6_card3:hover) {
        background: #231916;
        color: #f8edd7;
        border: none;
    }

    /* ===================================================================
       CON07 - 미디어 영상 Swiper
       =================================================================== */
    .main .con7 {
        padding-top: 18vw;
        padding-bottom: 31vw;
    }

    .main .con7 img { width: 100% !important; }

    /* 배경 인테리어 사진 - 풀폭 + 비례 */
    .main .con7_bg {
        top: 0;
        left: 0;
        width: 100%;
    }

    /* 타이틀 그룹 */
    .main .con7_title {
        width: 100%;
    }

    .main .con7_top {
        width: 100%;
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .main .con7_headline {
        margin-top: 3vw;
        width: 100%;
        font-size: var(--fs-60);
        line-height: 1.2;
    }

    .main .con7_desc {
        margin-top: 5vw;
        width: 100%;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    /* 비디오 wrap */
    .main .con7_video_wrap {
        margin-top: 8vw;
        width: 90%;
    }

    .main .con7_swiper {
        aspect-ratio: 16/9;
    }

    .main .con7_swiper iframe {
        aspect-ratio: 16/9;
    }

    /* nav 버튼: 비디오 외부 좌우 → 비디오 아래 가운데로 */
    .main .con7_prev,
    .main .con7_next {
        top: auto;
        bottom: -16vw;
        width: 14vw;
        aspect-ratio: 95/48;
    }

    .main .con7_prev {
        left: 33%;
    }

    .main .con7_next {
        left: 53%;
    }

    /* ===================================================================
       CON08 - 시그니처 메뉴 탭 (PC 좌우 분할 → 모바일 상하 stack)
       =================================================================== */
    .main .con8 {
        padding-top: 18vw;
        padding-bottom: 8vw;
    }

    .main .con8 img { width: 100% !important; }

    /* 좌측 배경 이미지: 상단 풀폭 */
    .main .c8_left_bg {
        top: 0;
        left: 0;
        width: 100%;
        opacity: 0.4;
    }

    /* 우측 배경 (다크): 모바일 숨김 */
    .main .c8_right_bg { display: none; }

    /* wave 데코: 가운데 어딘가 */
    .main .c8_wave {
        top: 60vw;
        left: -10%;
        width: 120%;
        opacity: 0.3;
    }

    /* 좌측 inner: 풀폭 + padding */
    .main .c8_left_inner {
        width: 100%;
        padding-top: 0;
        padding-bottom: 8vw;
    }

    .main .c8_title {
        font-size: var(--fs-60);
        line-height: 1.3;
    }

    .main .c8_desc {
        margin-top: 5vw;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    /* 탭 버튼 4개: 가로 row → 모바일 더 좁은 폭, 폰트 토큰 */
    .main .c8_buttons {
        margin-top: 6vw;
        width: 92%;
        column-gap: 1.5vw;
    }

    .main .c8_btn {
        border-radius: 2vw;
    }

    .main .c8_btn_text {
        font-size: var(--fs-18);
    }

    /* 우측 영역(라벨+그릇 swiper): 텍스트 아래로 이동 */
    .main .c8_right {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        margin-top: 6vw;
        aspect-ratio: 962/903;
    }

    .main .c8_label {
        top: 4vw;
    }

    .main .c8_bowl {
        top: 18vw;
    }

    /* ===================================================================
       CON09 - 차림표 (3 카테고리 탭 + Swiper)
       =================================================================== */
    .main .con9 {
        padding-top: 18vw;
        padding-bottom: 18vw;
    }

    .main .con9 img { width: 100% !important; }

    /* 좌우 strip 배경 - 모바일 좁게 */
    .main .c9_bg_left,
    .main .c9_bg_right {
        width: 16%;
    }

    /* 가운데 패널 - 풀폭 */
    .main .c9_panel {
        width: 92%;
        padding-top: 8vw;
        padding-bottom: 8vw;
    }

    /* MENU 배지 */
    .main .c9_badge {
        width: 25%;
    }

    /* 차림표 타이틀 */
    .main .c9_title {
        margin-top: 4vw;
        font-size: var(--fs-50);
        line-height: 1.3;
    }

    /* 3개 탭 row */
    .main .c9_tabs {
        margin-top: 5vw;
        width: 92%;
        gap: 2vw;
    }

    .main .c9_tab {
        padding-top: 2.5vw;
        padding-bottom: 2.5vw;
    }

    .main .c9_tab_text {
        font-size: var(--fs-18);
    }

    /* swiper 영역 */
    .main .c9_swipers {
        margin-top: 6vw;
        width: 100%;
        aspect-ratio: auto;
    }

    .main .c9_swiper .swiper-wrapper {
        align-items: center;
    }

    .main .c9_swiper .swiper-slide.c9_slide {
        width: 48%;
    }

    .main .c9_slide_name {
        margin-top: 3vw;
        font-size: var(--fs-18);
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* nav 좌/우 화살표 */
    .main .c9_nav {
        margin-top: 8vw;
        width: 40%;
        gap: 4vw;
    }

    .main .c9_prev,
    .main .c9_next {
        width: 45%;
    }

    /* ===================================================================
       CON10 - 리뷰 슬라이드 + 마퀴
       =================================================================== */
    .main .con10 {
        padding-top: 18vw;
        padding-bottom: 0;
    }

    .main .con10 img { width: 100% !important; }

    /* c10_deco에 height 부여 → 자식 absolute top % 계산 가능 */
    .main .c10_deco {
        height: 100%;
    }

    /* 좌측 면 사진 데코 - 화면 밖으로 더, 가운데로 갈수록 페이드 */
    .main .c10_food1 {
        top: 2vw;
        left: -55%;
        width: 90%;
        -webkit-mask-image: linear-gradient(to right, black, transparent);
        mask-image: linear-gradient(to right, black, transparent);
    }

    /* 우측 육회 사진 데코 - 모바일 숨김 */
    .main .c10_food2 { display: none; }

    /* 텍스트 */
    .main .c10_kicker {
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .main .c10_title {
        margin-top: 3vw;
        font-size: var(--fs-60);
        line-height: 1.2;
    }

    .main .c10_desc {
        margin-top: 5vw;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    /* 리뷰 swiper */
    .main .c10_reviews {
        margin-top: 8vw;
    }

    /* 모바일 카드: 명시 vw 폭 (slidesPerView:'auto'와 함께 동작) */
    .main .c10_review_card {
        width: 75vw !important;
        border-radius: 4vw;
    }

    /* 마퀴 - 모바일 height 키움 */
    .main .c10_marquee {
        margin-top: 12vw;
        aspect-ratio: auto;
        padding: 4vw 0;
    }

    .main .c10_marquee_item {
        padding: 0 6vw;
        font-size: var(--fs-18);
    }

    /* ===================================================================
       CON11 - 38년의 역사 (위/아래 무한 롤링)
       =================================================================== */
    .con11 {
        padding-top: 12vw;
        padding-bottom: 12vw;
    }

    .con11 img { width: 100% !important; }

    /* 상단 롤링 row - 풀폭 */
    .con11 .c11_top_row {
        top: 8vw;
        left: 0;
        width: 100%;
        height: 35vw;
    }

    /* 하단 롤링 row - 풀폭, 가운데 paper 아래 */
    .con11 .c11_bot_row {
        top: auto;
        bottom: 8vw;
        left: 0;
        width: 100%;
        height: 35vw;
    }

    /* 롤링 사진 - 모바일 사이즈 */
    .con11 .c11_top_photo,
    .con11 .c11_bot_photo {
        width: 35vw;
        margin-right: 4vw;
        border-radius: 4vw;
    }

    /* 모바일 롤링 거리: (35+4)*3 = 117vw */
    .con11 .c11_top_track {
        animation: c11MarqueeRightMobile 15s linear infinite;
    }

    .con11 .c11_bot_track {
        animation: c11MarqueeLeftMobile 15s linear infinite;
    }

    /* 가운데 paper - 풀폭 가깝게 */
    .con11 .c11_paper {
        width: 84%;
        margin-top: 39vw;
        margin-bottom: 39vw;
        padding-top: 12vw;
        padding-bottom: 12vw;
        position: relative;
        z-index: 2;
    }

    .con11 .c11_kicker {
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .con11 .c11_title {
        margin-top: 3vw;
        font-size: var(--fs-60);
        line-height: 1.3;
    }

    .con11 .c11_desc {
        margin-top: 5vw;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    /* ===================================================================
       CON12 - 맛을 만드는 세 가지 고집 (PC accordion → 모바일 세로 stack)
       =================================================================== */
    .main .con12 {
        padding-top: 18vw;
        padding-bottom: 18vw;
    }

    .main .con12 img { width: 100% !important; }

    /* 타이틀 */
    .main .con12_title {
        width: 100%;
    }

    .main .con12_kicker {
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .main .con12_headline {
        margin-top: 4vw;
        font-size: var(--fs-60);
        line-height: 1.3;
    }

    /* accordion: 가로 → 세로 stack, 모든 카드 펼침 상태 */
    .main .con12_accordion {
        margin-top: 8vw;
        width: 92%;
        aspect-ratio: auto;
        display: flex;
        flex-direction: column;
        gap: 4vw;
    }

    /* 모든 카드: absolute 풀고 자연 흐름 (PC accordion 무관) */
    .main .con12_card {
        position: relative;
        top: auto;
        left: auto;
        bottom: auto;
        width: 100%;
        background: #ffffff;
        border-radius: 4vw !important;
        padding: 6vw 5vw 8vw;
        min-height: 70vw;
        box-sizing: border-box;
    }

    /* 배지: 모바일 위치/크기 (모든 카드 펼침) */
    .main .con12_badge {
        top: 6vw;
        left: 5vw;
        width: 12vw;
        background: #231916;
    }

    .main .con12_badge_text {
        top: 2vw;
        left: 28%;
        font-size: var(--fs-22);
        line-height: 1.5;
        color: #ffffff;
    }

    /* 카드 이미지: 우측 상단 */
    .main .con12_card_img,
    .main .con12_card_img_noodle,
    .main .con12_card_img_beef,
    .main .con12_card_img_sauce {
        top: 0;
        left: auto;
        right: -1vw;
        width: 38vw;
        opacity: 1;
        transform: none;
    }

    .main .con12_card_img_sauce { top: 11vw; }

    /* 카드 텍스트: absolute 풀고 자연 흐름 */
    .main .con12_card_text {
        position: relative;
        top: auto;
        left: auto;
        margin-top: 22vw;
        width: 100%;
        opacity: 1;
        transform: none;
    }

    .main .con12_text_noodle,
    .main .con12_text_beef,
    .main .con12_text_sauce {
        width: 100%;
    }

    .main .con12_card_title {
        font-size: var(--fs-25);
        line-height: 1.3;
    }

    .main .con12_card_rule {
        margin-top: 4vw;
    }

    .main .con12_rule_noodle,
    .main .con12_rule_beef,
    .main .con12_rule_sauce {
        width: 60%;
    }

    .main .con12_card_sub {
        margin-top: 6vw;
        font-size: var(--fs-20);
        line-height: 1.4;
    }

    .main .con12_card_body {
        margin-top: 3vw;
        font-size: var(--fs-18);
        line-height: 1.6;
        white-space: normal;
    }

    /* 세로 텍스트: 모바일 숨김 */
    .main .con12_vertical { display: none; }

    /* ===================================================================
       CON13 - 본사 지원 시스템 (PC pin scroll → 모바일 자연 stack)
       =================================================================== */
    .main .con13 {
        padding-top: 11vw;
        padding-bottom: 11vw;
        background-repeat: repeat-y;
        background-size: 300%;
    }

    .main .con13 img { width: 100% !important; }

    /* 상단 padding 영역에 위 섹션(con12 #f8f4e6) 색 그라데이션 오버레이 */
    .main .con13::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 11vw;
        background: linear-gradient(to bottom, #f8f4e6, transparent);
        z-index: 1;
        pointer-events: none;
        flex: none;
    }

    /* scroll_stage: absolute 풀고 자연 흐름 */
    .main .c13_scroll_stage,
    .main .con13.is-c13-pinned .c13_scroll_stage,
    .main .con13.is-c13-after .c13_scroll_stage {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        flex-direction: column;
        align-items: center;
    }

    /* 좌측 stack: 풀폭 */
    .main .c13_left_stack {
        margin-top: 0;
        margin-left: 0;
        width: 92%;
        align-self: center;
        align-items: center;
    }

    .main .c13_right_viewport {
        align-self: center;
    }

    .main .c13_left_copy {
        margin-left: 0;
        width: 100%;
        align-items: center;
        text-align: center;
    }

    .main .c13_kicker {
        width: 100%;
        height: auto;
        text-align: center;
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .main .c13_headline {
        margin-top: 3vw;
        margin-left: 0;
        width: 100%;
        height: auto;
        text-align: center;
        font-size: var(--fs-60);
        line-height: 1.3;
    }

    .main .c13_desc {
        margin-top: 5vw;
        height: auto;
        text-align: center;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    .main .c13_food_clip {
        margin-top: 8vw;
        height: auto;
    }

    /* 우측 카드 viewport: absolute 풀고 자연 흐름 */
    .main .c13_right_viewport {
        position: relative;
        top: auto;
        left: auto;
        width: 92%;
        height: auto;
        margin-top: 8vw;
        overflow: visible;
    }

    .main .c13_card_track {
        transform: none !important;
    }

    /* 카드 3개 세로 stack */
    .main .c13_card {
        width: 100%;
        height: auto;
        padding: 0 5vw 8vw 5vw;
        gap: 4vw;
    }

    .main .c13_card2,
    .main .c13_card3 {
        margin-top: 4vw;
    }

    /* 탭 라벨 - 자연 크기 비율 유지 (203/253/245 px) */
    .main .c13_card1_tab { width: 40%; }
    .main .c13_card2_tab { width: 50%; }
    .main .c13_card3_tab { width: 48%; }

    /* 카드 사진 */
    .main .c13_card_photo {
        margin-top: 6vw;
        margin-bottom: 0;
        width: 100%;
    }

    /* 카드 타이틀 */
    .main .c13_card_title,
    .main .c13_card1_title,
    .main .c13_card2_title,
    .main .c13_card3_title {
        margin-top: 6vw;
        width: 100%;
        height: auto;
        font-size: var(--fs-22);
        line-height: 1.4;
        white-space: normal;
    }

    /* 카드 body */
    .main .c13_card_body,
    .main .c13_card1_body,
    .main .c13_card2_body,
    .main .c13_card3_body {
        margin-top: 4vw;
        width: 100%;
        height: auto;
        font-size: var(--fs-18);
        line-height: 1.6;
        white-space: normal;
    }

    /* ===================================================================
       CON14 - 공간이 매출을 만듭니다 (인테리어 슬라이드)
       =================================================================== */
    .main .con14 {
        padding-top: 0;
        padding-bottom: 12vw;
    }

    .main .con14 img {
        width: 100% !important;
        aspect-ratio: auto !important;
    }

    /* 상단 dark divider 2줄 - 풀폭 + 모바일 height 명시 (vw 환산이 너무 얇음) */
    .main .c14_divider1,
    .main .c14_divider2 {
        width: 100%;
        aspect-ratio: auto;
    }

    .main .c14_divider1 { height: 6px; }
    .main .c14_divider2 { height: 2px; margin-top: 4px; }

    /* 타이틀 그룹 */
    .main .c14_title_group {
        margin-top: 14vw;
        width: 100%;
    }

    .main .c14_kicker {
        font-size: var(--fs-22);
        line-height: 1.4;
    }

    .main .c14_title {
        margin-top: 3vw;
        font-size: var(--fs-60);
        line-height: 1.2;
    }

    .main .c14_desc {
        margin-top: 5vw;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    /* slider */
    .main .c14_slider {
        margin-top: 8vw;
        width: 100%;
        aspect-ratio: auto;
    }

    /* slidesPerView 1.2가 폭 결정, height는 이미지 자연 비율 */
    .main .c14_slide {
        /* width: auto !important; */
        aspect-ratio: auto;
    }

    /* 하단 베이지 strip */
    .main .c14_bottom_strip {
        top: auto;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 30vw;
        aspect-ratio: auto;
    }

    /* ===================================================================
       CON15 - 한 그릇에서 시작된 이야기
       =================================================================== */
    .main .con15 {
        padding-top: 0;
        padding-bottom: 18vw;
        background: #000000 url(/images/con15_bg.webp) center / cover no-repeat;
    }

    .main .con15 img { width: 100% !important; }

    /* 검은 stage: 풀폭 + 모바일 height — 배경은 con15로 이동 */
    .main .c15_stage {
        position: relative;
        top: auto;
        left: 0;
        width: 100%;
        aspect-ratio: 375/350;
        background: none;
    }

    /* 가로 라인: 가운데 영역 */
    .main .c15_line_h {
        top: 10vw;
        left: 33%;
        width: 50%;
    }

    /* 사진 1, 2: 우측 세로 stack */
    .main .c15_img1 {
        top: 5vw;
        left: 4%;
        width: 39%;
    }

    .main .c15_img2 {
        top: 18vw;
        left: 40%;
        width: 46%;
    }

    /* 세로 라인 + 세로 타이틀: 우측 */
    .main .c15_line_v {
        top: 0;
        left: 97.3%;
        height: 53.4vw;
        aspect-ratio: auto;
    }

    .main .c15_vtitle {
        top: 8vw;
        left: 90%;
        width: 5%;
    }

    /* 큰 타이틀 (한 그릇에서 / 시작된 이야기) - stage 아래쪽으로 */
    .main .c15_title {
        margin-top: -13vw;
        margin-left: 6%;
        width: 88%;
        position: relative;
        z-index: 3;
    }

    .main .c15_title_t1 {
        width: 50%;
        align-self: center;
    }

    .main .c15_title_t2 {
        margin-top: 3vw;
        /* margin-left: 10%; */
        width: 60%;
    }

    /* 본문 desc */
    .main .c15_desc {
        margin-top: 8vw;
        margin-left: 0;
        align-self: center;
        width: 88%;
        text-align: center;
        font-size: var(--fs-22);
        line-height: 1.5;
        white-space: normal;
    }

    /* ===================================================================
       CON16 - 창업비용 안내
       =================================================================== */
    .con16 {
        padding-top: 8vw;
        padding-bottom: 12vw;
    }

    .con16 img { width: 100% !important; }

    /* 우측 음식 사진 - 모바일 우측 하단 데코 */
    .con16 .c16_food {
        top: auto;
        bottom: 0;
        left: auto;
        right: -15%;
        width: 70%;
        opacity: 0.35;
    }

    /* 타이틀 */
    .con16 .c16_title {
        font-size: var(--fs-60);
        line-height: 1.3;
    }

    .con16 .c16_desc {
        margin-top: 5vw;
        font-size: var(--fs-22);
        line-height: 1.6;
        white-space: normal;
        padding: 0 4vw;
    }

    /* [20평 기준] */
    .con16 .c16_standard {
        margin-top: 6vw;
        margin-left: 0;
        margin-right: 4vw;
        align-self: end;
        font-size: var(--fs-16);
    }

    /* 테이블 - 모바일 풀폭 */
    .con16 .c16_table {
        margin-top: 3vw;
        width: 92%;
    }

    /* 테이블 row grid - 모바일 컬럼 비율 재조정 */
    .con16 .c16_table_header,
    .con16 .c16_row {
        grid-template-columns: 24% 54% 22%;
    }

    .con16 .c16_table_header {
        height: auto;
        padding: 3vw 0;
    }

    .con16 .c16_row {
        height: auto;
        padding: 3vw 0;
    }

    .con16 .category_label,
    .con16 .content_label,
    .con16 .amount_label {
        font-size: var(--fs-18);
    }

    .con16 .category_label { grid-column: 1; }
    .con16 .content_label  { grid-column: 2; }
    .con16 .amount_label   { grid-column: 3; }

    .con16 .c16_cell {
        font-size: var(--fs-12);
        line-height: 1.4;
        white-space: normal;
        padding: 0 1vw;
        word-break: keep-all;
    }

    .con16 .c16_cell_category { grid-column: 1; }
    .con16 .c16_cell_content  { grid-column: 2; }
    .con16 .c16_cell_amount   { grid-column: 3; }

    .con16 .c16_table_footer {
        height: auto;
        padding: 4vw 0;
    }

    .con16 .c16_cta {
        width: 34.064327%;
        aspect-ratio: 163/28;
    }

    .con16 .c16_note {
        margin-top: 4vw;
        margin-left: 0;
        align-self: center;
        width: 92%;
        font-size: var(--fs-12);
        line-height: 1.5;
        white-space: normal;
    }

    /* ===================================================================
       CON17 - 창업절차 안내 (PC 4×2 → 모바일 2×4 grid)
       =================================================================== */
    .con17 {
        padding-top: 18vw;
        padding-bottom: 18vw;
    }

    .con17 img { width: 100% !important; }

    .con17 .c17_bg {
        aspect-ratio: 384/175;
        top: 0;
        left: -0.4%;
        width: 460%;
        z-index: 0;
    }

    .con17 .c17_title {
        font-size: var(--fs-60);
        line-height: 1.3;
    }

    /* grid: row 컨셉 풀고 8개 step을 2열 4행으로 */
    .con17 .c17_grid {
        margin-top: 8vw;
        width: 96%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4vw 3vw;
    }

    /* row 컨테이너는 무시하고 자식이 grid에 직접 들어가게 */
    .con17 .c17_row1,
    .con17 .c17_row2 {
        display: contents;
        aspect-ratio: auto;
    }

    /* 각 step: absolute 풀고 grid item */
    .con17 .c17_step {
        position: relative;
        top: auto;
        left: auto !important;
        width: 100%;
        aspect-ratio: 311/221;
    }

    .con17 .c17_step_inquiry,
    .con17 .c17_step_market,
    .con17 .c17_step_interior,
    .con17 .c17_step_precheck { z-index: 10; }

    /* 카드 이미지 */
    .con17 .c17_inquiry_card,
    .con17 .c17_consult_card,
    .con17 .c17_market_card,
    .con17 .c17_contract_card,
    .con17 .c17_interior_card,
    .con17 .c17_training_card,
    .con17 .c17_precheck_card,
    .con17 .c17_open_card {
        position: relative;
        top: auto;
        left: auto;
    }

    /* arrow 모바일 위치 - 카드 우측 가운데 */
    .con17 .c17_inquiry_arrow,
    .con17 .c17_consult_arrow,
    .con17 .c17_market_arrow,
    .con17 .c17_interior_arrow,
    .con17 .c17_training_arrow,
    .con17 .c17_precheck_arrow {
        top: 50%;
        left: auto;
        right: -6vw;
        width: 10vw;
        transform: translateY(-50%);
        z-index: 2;
    }

    /* 2열 grid에서 짝수 위치 step의 우측 화살표는 다음 줄로 가는 형태라 제거 */
    .con17 .c17_consult_arrow,
    .con17 .c17_training_arrow {
        display: none;
    }

    /* ===================================================================
       CON18 - 매장 안내 (PC 좌리스트/우맵 → 모바일 상검색/중맵/하리스트)
       =================================================================== */
    .main .con18 {
        padding-top: 18vw;
        padding-bottom: 0;
    }

    /* con18 모든 img: 부모 폭 100% (인라인 vw 무력화) */
    .main .con18 img {
        width: 100% !important;
    }

    /* 카카오맵 내부 img는 글로벌 100% override */
    .main .con18 #map img,
    .main .con18 #map img * {
        width: auto !important;
        max-width: none !important;
    }

    /* 워터마크 */
    .main .c18_watermark {
        top: 5vw;
        left: -3%;
        width: 50%;
        font-size: 18vw;
    }

    .main .c18_title {
        font-size: var(--fs-60);
        line-height: 1.3;
    }

    /* panel: 좌우 분할 풀고 세로 stack */
    .main .c18_panel {
        margin-top: 8vw;
        width: 92%;
        aspect-ratio: auto;
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
        box-sizing: border-box;
    }

    /* 검색: 패널 상단 외부 */
    .main .c18_search {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        height: 12vw;
        aspect-ratio: auto;
        margin-bottom: 0vw;
        border: 1px solid #ddd;
        box-sizing: border-box;
    }

    .main .c18_input {
        font-size: var(--fs-18);
        padding: 0 4vw;
        flex: 1 1 0;
        min-width: 0;        /* Android Blink: <input> intrinsic width가 버튼을 밖으로 밀어내는 것을 방지 */
        width: 0;            /* 보강: 일부 Blink 버전은 min-width:0 만으로 부족 */
    }

    .main .c18_search_btn {
        width: 12vw;
        height: 12vw;
        min-width: 12vw;
        flex: 0 0 12vw;      /* shrink/grow 둘 다 차단 */
        flex-shrink: 0;
        background: #231916;
        background-image: url('/images/con18_02.webp');
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 7.466667vw 7.466667vw;
    }

    .main .con18 .c18_search > .c18_search_btn > img {
        display: none !important;
    }

    /* 맵: 검색 아래 */
    .main .c18_map {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        aspect-ratio: 1/1;
    }

    /* 리스트: 맵 아래 */
    .main .c18_list {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        aspect-ratio: auto;
        height: 80vw;
        /* margin-top: 4vw; */
    }

    .main .c18_store {
        padding: 5vw 5vw;
    }

    .main .c18_name {
        font-size: var(--fs-18);
    }

    .main .c18_addr {
        margin-top: 2vw;
        font-size: var(--fs-16);
    }

    .main .c18_tel {
        margin-top: 1.5vw;
        font-size: var(--fs-12);
    }

    .main .c18_plus {
        width: 9vw;
        font-size: var(--fs-20);
    }

    .main .c18_noshop {
        margin-top: 20vw;
        font-size: var(--fs-16);
    }

    /* 마퀴 */
    .main .c18_marquee {
        margin-top: 12vw;
        aspect-ratio: auto;
        padding: 4vw 0;
    }

    .main .c18_marquee_item {
        font-size: var(--fs-22);
    }

    /* ===================================================================
       CON18 - 매장 상세 팝업 (PC 가로 row → 모바일 세로 stack: 사진 위 / 텍스트 아래)
       =================================================================== */
    .main .c18_popup_overlay,
    .c18_popup_overlay {
        padding: 0 4vw;
        box-sizing: border-box;
    }

    .main .c18_popup,
    .c18_popup {
        width: 100%;
        aspect-ratio: auto;
        flex-direction: column;
        border-radius: 3vw;
    }

    .main .c18_popup_close,
    .c18_popup_close {
        top: 2vw;
        right: 3vw;
        width: 8vw;
        line-height: 8vw;
        font-size: var(--fs-30);
        z-index: 2;
    }

    .main .c18_popup_photo,
    .c18_popup_photo {
        width: 100%;
        aspect-ratio: 16/10;
    }

    .main .c18_popup_info,
    .c18_popup_info {
        width: 100%;
        padding: 6vw 5vw 7vw;
    }

    .main .c18_popup_name,
    .c18_popup_name {
        font-size: var(--fs-25);
        white-space: normal;
        line-height: 1.3;
    }

    .main .c18_popup_addr,
    .c18_popup_addr {
        margin-top: 3vw;
        font-size: var(--fs-16);
        white-space: normal;
        line-height: 1.5;
    }

    .main .c18_popup_tel,
    .c18_popup_tel {
        margin-top: 2vw;
        font-size: var(--fs-16);
        white-space: normal;
    }

    .main .c18_popup_naver,
    .c18_popup_naver {
        margin-top: 5vw;
        font-size: var(--fs-16);
        white-space: normal;
    }

    /* ===================================================================
       CON19 - 창업 문의 폼 (PC 좌텍스트/우폼 absolute → 모바일 세로 stack: 텍스트 위 / 폼 아래)
       =================================================================== */
    .main .con19 {
        padding-top: 18vw;
        padding-bottom: 0;
        background: url('/images/con19_bg.webp') center / cover no-repeat;
    }

    /* 배경 img - css background로 대체했으므로 숨김 */
    .main .c19_bg { display: none; }

    /* 좌측 inner: PC padding 풀고 가운데 정렬 */
    .main .c19_left_inner {
        width: 100%;
        padding-top: 0;
        padding-bottom: 12vw;
        padding-left: 0;
        align-items: center;
        text-align: center;
    }

    .main .c19_title {
        font-size: var(--fs-60);
        line-height: 1.3;
        text-align: center;
        white-space: normal;
    }

    .main .c19_desc {
        margin-top: 5vw;
        font-size: var(--fs-22);
        line-height: 1.6;
        text-align: center;
        white-space: normal;
        padding: 0 4vw;
    }

    /* 폼: absolute 풀고 자연 흐름 (텍스트 아래 stack) */
    .main .c19_form {
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        width: 100%;
        padding: 12vw 6vw 14vw;
    }

    /* line은 flex 흐름에서 빼서 absolute로 바닥에 깔고,
       field는 단일 row flex로 → label+input이 12vw 안에서 수직 중앙 정렬. */
    .main .c19_field,
    .main .c19_field ~ .c19_field {
        height: 12vw;
        margin-top: 0;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
    }

    .main .c19_field_label {
        margin-right: 5vw;
        font-size: var(--fs-20);
    }

    /* 라벨 폭 고정 → 모든 input 시작 X 동일 / 라벨 시각 크기 통일 */
    .main .c19_field .c19_field_label {
        width: 20vw;
        min-width: 20vw;
    }

    .main .c19_req {
        margin-right: 2vw;
    }

    .main .c19_field_label {
        box-sizing: border-box;
    }
    .main .c19_field_label:not(:has(.c19_req)) {
        padding-left: 3.115385vw;
    }

    .main .c19_field_input {
        margin-top: 0;
        padding: 0;
        height: 100%;                 /* field 전체 높이를 터치 영역으로 확보 */
        font-size: var(--fs-18);
        letter-spacing: -0.04em;
    }


    /* textarea field: 다른 field와 동일한 가로 정렬 (label 좌 / textarea 우).
       다만 textarea가 높이를 가지므로 field 자체는 auto + align-items 위쪽 정렬. */
    .main .c19_field.c19_field_textarea {
        height: auto;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 3vw 0;
    }

    .main .c19_field.c19_field_textarea .c19_field_label {
        line-height: 1.5;             /* textarea 첫 줄과 baseline 맞춤 */
    }

    .main .c19_field textarea.c19_field_input {
        flex: 1;
        min-width: 0;
        min-height: 20vw;
        padding-top: 1.5vw;
        padding-bottom: 1.5vw;
        line-height: 1.5;
    }

    .main .c19_field_input:focus {
        background: #fafafa;
    }

    .main .c19_field .c19_field_line {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin-top: 0;
        flex-basis: auto;
        width: 100%;
    }

    .main .c19_field.c19_field_textarea .c19_field_line {
        flex-basis: auto;             /* flex row 공간을 textarea가 차지하도록 */
        margin-top: 0;
    }

    .main .c19_field select.c19_field_input {
        background-position: calc(100% - 6vw) 50%, calc(100% - 4.5vw) 50%;
        background-size: 1.5vw 1.5vw, 1.5vw 1.5vw;
    }

    .main .c19_field_radios {
        height: 100%;                 /* 라디오 row도 field 전체 높이 차지 */
        gap: 5vw;
    }

    .main .c19_radio {
        gap: 2vw;
    }

    .main .c19_radio_dot {
        width: 5vw;
    }

    .main .c19_radio_dot::after {
        width: 3vw;
    }

    .main .c19_radio_text {
        font-size: var(--fs-18);
    }

    .main .c19_consent {
        margin-top: 5vw;
        gap: 2vw;
    }

    .main .c19_consent_box {
        width: 4vw;
    }

    .main .c19_consent_box::after {
        width: 2vw;
    }

    .main .c19_consent_text {
        font-size: var(--fs-16);
        white-space: normal;
    }

    .main .c19_consent_view {
        margin-left: 1.5vw;
        font-size: var(--fs-16);
    }

    .main .c19_submit {
        margin-top: 6vw;
        aspect-ratio: 545/73;
        box-sizing: border-box;
    }

    .main .c19_submit_text {
        font-size: var(--fs-22);
    }
}

/* 모바일 롤링 키프레임 (3장 한 세트 (35+4)*3 = 117vw) */
@keyframes c11MarqueeRightMobile {
    0%   { transform: translateX(-117vw); }
    100% { transform: translateX(0); }
}

@keyframes c11MarqueeLeftMobile {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-117vw); }
}
