/* content.php .container 래퍼 무력화 */
.sub05 .container { display: none !important; }

/* sub-hero 타이틀 = Montserrat ExtraBold (library.css 수정금지 → 페이지서 바인딩) */
.sub-hero__title {
    font-family: var(--font-montserrat);
    font-weight: 800;
}

/* sticky 탭바 동작용 — 조상 overflow:hidden 체인 해제 (이 페이지 한정, 스크롤러=html).
   ★ !important 필수: basic_css.php 인라인 <style> 의 body/#content_wrap{overflow:hidden} 을 이기기 위함(특히 모바일). */
.sub05,
#content_wrap,
body {
    overflow: visible !important;
}

/* ===== CON01: 언론보도 게시판 ===== */
.con01 {
    --con01-yellow: #ffce2b;
    --con01-badge: #f1d335;
    --con01-line: rgba(13, 14, 40, 0.1);
    --con01-gray: #9b9b9b;

    box-sizing: border-box;
    height: 121.8rem;
    padding-top: 11.8rem; /* margin-collapse 차단 */
    background: #fff;

    & * { box-sizing: border-box; }

    & .con01__inner { max-width: 125.2rem; }

    & .con01__dot {
        width: 2.1rem;
        height: 2.1rem;
        margin-bottom: 1.9rem;
        border-radius: 50%;
        background: var(--con01-yellow);
    }
    & .con01__title {
        font-size: var(--displayS);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1;
        color: #000;
    }

    & .con01__search {
        width: 57.7rem;
        margin-top: 5.6rem;
        padding-bottom: 2.3rem;
        border-bottom: 1px dashed var(--con01-line);
    }
    & .con01__search-select { margin-right: 1.6rem; }
    & .con01__search-select-el {
        padding-right: 2.4rem;
        border: none;
        background: transparent;
        font-family: var(--font-pretendard);
        font-size: var(--bodyL);
        font-weight: 500;
        letter-spacing: -0.04em;
        line-height: 1.5;
        color: #333;
        appearance: none;
        cursor: pointer;
    }
    & .con01__search-arrow {
        position: absolute;
        top: 50%;
        right: 0.2rem;
        width: 0;
        height: 0;
        margin-top: -0.2rem;
        border-left: 0.5rem solid transparent;
        border-right: 0.5rem solid transparent;
        border-top: 0.6rem solid #333;
        pointer-events: none;
    }
    & .con01__search-input {
        flex: 1;
        min-width: 0; /* flex item 고유폭 무시 → 좁은 폰에서 축소되어 검색버튼 잘림 방지 */
        border: none;
        background: transparent;
        font-family: var(--font-pretendard);
        font-size: var(--bodyL);
        font-weight: 500;
        letter-spacing: -0.04em;
        line-height: 1.5;
        color: #333;
    }
    & .con01__search-input::placeholder { color: var(--con01-gray); }
    & .con01__search-btn {
        flex-shrink: 0;
        width: 2.9rem;
        height: 2.9rem;
        margin-left: 1.6rem;
        border: none;
        background: transparent;
        cursor: pointer;
    }

    & .con01__count {
        margin-top: 2.1rem;
        font-family: var(--font-pretendard);
        font-size: var(--bodyM);
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 1.5;
        color: #7a7a7a;
        visibility: hidden; /* 검색 시에만 노출 */
    }
    & .con01__count--show { visibility: visible; }
    & .con01__count-num {
        font-weight: 700;
        color: #0d0e28;
    }

    & .con01__board { margin-top: 2.3rem; }
    & .con01__table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
    }
    & .con01__col--no { width: 16.4rem; }
    & .con01__col--name { width: 8.6rem; }
    & .con01__col--date { width: 22.3rem; }

    & .con01__head { background: var(--c-navy); }
    & .con01__th {
        height: 6.5rem;
        font-family: var(--font-pretendard);
        font-size: var(--bodyXL);
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 1.4;
        color: #fff;
    }
    & .con01__th:first-child { border-radius: 1rem 0 0 1rem; }
    & .con01__th:last-child { border-radius: 0 1rem 1rem 0; }

    & .con01__row { border-bottom: 1px solid var(--con01-line); }
    & .con01__td {
        height: 7.3rem;
        font-family: var(--font-pretendard);
        font-size: var(--bodyXL);
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 1.5;
        color: #333;
        vertical-align: middle;
    }
    & .con01__td--no,
    & .con01__td--name,
    & .con01__td--date { color: #666; }
    & .con01__td--subject { padding-left: 0.2rem; }
    & .con01__link { color: #333; }
    & .con01__td--empty {
        height: 14.6rem;
        color: #999;
        text-align: center;
    }

    & .con01__row--notice .con01__td { height: 7.3rem; }
    & .con01__badge {
        width: 5.6rem;
        height: 5.6rem;
        margin: 0 auto;
        border-radius: 50%;
        background: var(--con01-badge);
        line-height: 1;
    }
    & .con01__badge-icon { margin-bottom: 0.3rem; }
    & .con01__badge-text {
        font-family: var(--font-pretendard);
        font-size: var(--bodyS);
        font-weight: 700;
        letter-spacing: -0.05em;
        line-height: 1.2;
        color: #333;
    }

    & .con01__page {
        margin-top: 6.5rem;
        gap: 1.8rem;
    }
    & .con01__page-num {
        width: 4.9rem;
        height: 4.9rem;
        border-radius: 50%;
        font-family: var(--font-pretendard);
        font-size: var(--bodyXL);
        font-weight: 500;
        line-height: 1;
        color: #666;
    }
    & .con01__page-num--active {
        background: var(--c-navy);
        color: #fff;
    }
}

/* ===== CON02: 이벤트 게시판 (갤러리/카드형 / board-dynamic) ===== */
.con02 {
    --con02-yellow: #ffce2b;
    --con02-line: rgba(12, 12, 36, 0.22);
    --con02-dim: rgba(13, 13, 41, 0.6);

    box-sizing: border-box;
    height: 163.7rem;
    padding-top: 10.5rem; /* margin-collapse 차단 */
    background: #fff;

    & * { box-sizing: border-box; }

    & .con02__inner { width: 100%; max-width: 125.5rem; }

    & .con02__dot {
        width: 2.6rem;
        height: 2.6rem;
        border-radius: 50%;
        background: var(--con02-yellow);
    }
    & .con02__title {
        margin-top: 1.7rem;
        font-size: var(--displayS); /* library 에 .displayS 유틸 클래스 없음(변수만) → 직접 지정 */
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.2;
        color: #000;
    }

    & .con02__tabnav {
        margin-top: 8.1rem;
        padding-bottom: 2.2rem;
        border-bottom: 1px dashed var(--con02-line);
    }
    & .con02__tabs { gap: 11.2rem; position: relative; }
    & .con02__tab {
        font-family: var(--font-paperlogy);
        font-size: var(--bodyXL);
        font-weight: 500;
        letter-spacing: -0.03em;
        line-height: 1;
        color: #000;
    }
    & .con02__tab--active {
        font-weight: 800;
        color: #0c0c24;
    }
    /* active 도트 = JS 가 active 탭 중심으로 left 갱신(슬라이드 이동) */
    & .con02__tab-dot {
        position: absolute;
        bottom: -3.3rem;
        left: 0;
        width: 2.2rem;
        height: 2.2rem;
        margin-left: -1.1rem;
        border-radius: 50%;
        background: var(--con02-yellow);
        transition: left 0.35s ease;
        pointer-events: none;
    }

    & .con02__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        column-gap: 2.5rem;
        row-gap: 4.3rem;
        margin-top: 6.1rem;
    }

    /* 빈 상태 (이벤트 0건) — grid 전체폭 중앙 */
    & .con02__empty {
        grid-column: 1 / -1;
        padding: 4rem 0;
        font-size: var(--bodyXL);
        letter-spacing: -0.06em;
        color: #888;
    }

    & .con02__card { min-width: 0; } /* grid 1fr 셀 blowout 차단 — 긴 제목 ellipsis 작동 */
    & .con02__thumb {
        height: 40.2rem; /* 고정 height (aspect-ratio 금지) */
        overflow: hidden;
        border-radius: 2rem;
    }
    & .con02__thumb > img { /* 직계 한정 — 종료뱃지(.con02__badge) 제외 */
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    & .con02__card-title {
        margin-top: 3.5rem;
        font-family: var(--font-paperlogy);
        font-weight: 700;
        letter-spacing: -0.06em;
        line-height: 1;
        color: #000;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    & .con02__card-date {
        margin-top: 1.9rem;
        font-family: var(--font-pretendard);
        font-weight: 500;
        letter-spacing: -0.02em;
        line-height: 1.3;
        color: #000;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    & .con02__dim { background: var(--con02-dim); }
    & .con02__badge { width: 10.7rem; } /* img width 속성으로 ImgResize skip */

    & .con02__paging { margin-top: 7.1rem; }
    & .con02__pages { gap: 1.6rem; }
    & .con02__page {
        width: 3.2rem;
        height: 3.2rem;
        border-radius: 50%;
        font-family: var(--font-pretendard);
        font-size: var(--bodyXL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.3;
        color: #000;
    }
    & .con02__page--active {
        background: var(--c-navy);
        color: #fff;
    }
}

/* ===== 유튜브 파사드 공통 (con03 캐러셀 / con04 그리드 공유) =====
   .vf = 썸네일 박스에 추가하는 훅. 썸네일 img(.vf__thumb) 위 재생버튼(.vf__play), 클릭 시 iframe(.vf__frame) 주입.
   박스 크기(height/radius)는 각 섹션(.con03__thumb / .con04__thumb)이 담당 — vf 는 내부 배치만. */
.vf {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.vf__thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.vf__play {
    position: relative;
    z-index: 1;
    width: 9rem;
    height: 6.4rem;
    background-color: rgba(0, 0, 0, 0.65);
    border-radius: 1.6rem;
    transition: background-color 0.2s;
}
.vf:hover .vf__play { background-color: #e60000; }
.vf__play::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.3rem 0 1.3rem 2.2rem;
    border-color: transparent transparent transparent #fff;
    margin-left: 0.5rem;
}
.vf__frame {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ===== CON03: 홍보영상 캐러셀 (main_video board-dynamic + swiper centeredSlides) ===== */
.con03 {
    --con03-yellow: #ffcd30;
    --con03-navy: #0d0e28;

    box-sizing: border-box;
    height: 88rem;
    background: #fff8e4;

    & * { box-sizing: border-box; }

    & .con03__head { margin-top: 11.2rem; }
    & .con03__dot {
        width: 2.6rem;
        height: 2.6rem;
        border-radius: 50%;
        background: var(--con03-yellow);
    }
    & .con03__title {
        margin-top: 1.4rem;
        font-size: var(--displayS);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.2;
        color: #000;
    }

    & .con03__slider { margin-top: 5.6rem; }

    /* 빈 상태 (영상 0건) */
    & .con03__empty {
        margin-top: 5.6rem;
        font-size: var(--bodyXL);
        letter-spacing: -0.06em;
        color: #888;
    }
    & .con03__swiper { overflow: visible; } /* centeredSlides peek 노출 */
    & .con03__slide { width: 78.3rem; }

    & .con03__card {
        width: 100%; /* swiper-slide=flex → card 콘텐츠폭 수축 방지(slide 폭 채움) */
        height: 50.7rem;
        border-radius: 2rem;
    }
    & .con03__thumb {
        height: 42.9rem;
        overflow: hidden;
        border-radius: 2rem;
    }
    & .con03__thumb > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    & .con03__cap {
        margin-top: 2.5rem;
        font-family: var(--font-paperlogy);
        font-weight: 600;
        letter-spacing: -0.02em;
        line-height: 1.4;
        color: #000;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    & .con03__arrow {
        top: 21.45rem; /* thumb 영상영역 세로중앙 — slider 50%(캡션 포함)와 다름 */
        z-index: 2;
        width: 5.1rem;
        height: 5.1rem;
        border: none;
        border-radius: 50%;
        background: var(--con03-navy);
        transform: translateY(-50%);
        cursor: pointer;
    }
    & .con03__arrow--prev { left: 43.55rem; }
    & .con03__arrow--next { right: 42.5rem; }
    & .con03__arrow-icon { width: 2.1rem; }
}

/* ===== CON04: 홍보영상 전체 그리드 + 더보기 (main_video board-dynamic) ===== */
.con04 {
    --con04-navy: #0d0e28;
    --con04-yellow: #ffcd30;

    box-sizing: border-box;
    /* 더보기로 카드가 늘면 섹션도 함께 늘어야 함 → max-height 박제 금지(min 으로 최초 2행 높이만 보장) */
    min-height: 109.4rem;
    padding-bottom: 7.5rem;
    background: #fff8e4;

    & * { box-sizing: border-box; }

    & .con04__panel {
        width: 180.3rem;
        padding-top: 11rem;
        padding-bottom: 7rem;
        border-radius: 3rem;
        background: #fff;
    }

    & .con04__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        justify-items: center;
        column-gap: 2.5rem;
        row-gap: 6rem;
        width: 150.1rem;
    }
    & .con04__item--hidden { display: none; }

    & .con04__card { width: 48.4rem; }
    & .con04__thumb {
        width: 100%;
        height: 26.5rem;
        overflow: hidden;
        border-radius: 2rem;
        background: #000;
    }
    & .con04__thumb > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    & .con04__cap {
        margin-top: 2.5rem;
        font-family: var(--font-pretendard);
        font-weight: 600;
        letter-spacing: -0.05em;
        line-height: 1.4;
        color: #000;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    & .con04__more {
        margin-top: 6.1rem;
        column-gap: 1.8rem;
        width: 19.2rem;
        height: 8rem;
        border: none;
        border-radius: 2rem;
        background: var(--con04-navy);
        cursor: pointer;
    }
    & .con04__more-text {
        font-family: var(--font-pretendard);
        font-weight: 300;
        letter-spacing: -0.05em;
        line-height: 1.4;
        color: #fff;
    }
    & .con04__more-icon { display: block; }
}

/* ===== con05: 고객의 소리 (문의 폼 + 개인정보 동의) ===== */
.con05 {
    height: 115rem;
    background: #ebecf6 url("/images/sub05/e_con04_02.webp") no-repeat center top / cover;

    & .con05__inner {
        padding-top: 14.1rem;
    }

    & .con05__title {
        margin-top: 1.1rem;
        font-size: var(--displayS);
        font-family: var(--font-paperlogy);
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.15;
        color: #0e142e;
    }

    & .con05__form {
        margin-top: 4rem;
        width: 78.1rem;
        gap: 1.2rem;
    }

    & .con05__field {
        height: 8.2rem;
        background: #ffffff;
        border: 1px solid #b2b5da;
        border-radius: 2rem;
    }

    & .con05__field--area {
        height: 17.2rem;
    }

    & .con05__field-label {
        width: 18.1rem;
        font-size: var(--headS);
        font-family: var(--font-paperlogy);
        font-weight: 800;
        letter-spacing: 0.15em;
        line-height: 1;
        white-space: nowrap;
        text-align: center;
        color: #0e142e;
    }

    & .con05__field--area .con05__field-label {
        letter-spacing: -0.02em;
    }

    & .con05__field-div {
        flex-shrink: 0;
        width: 2px;
        height: 3rem;
        background: #0e142e;
        opacity: 0.2;
    }

    & .con05__field-div--tall {
        height: 11.9rem;
    }

    & .con05__field-input {
        flex: 1;
        height: 100%;
        margin-left: 2.6rem;
        font-family: inherit;
        font-size: var(--bodyL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #1d1d1f;
        background: transparent;
        border: 0;
    }

    & .con05__field-input:focus {
        outline: none;
    }

    & .con05__field-textarea {
        height: 11.9rem;
        font-family: inherit;
        resize: none;
        white-space: normal;
        word-break: keep-all;
    }

    & .con05__agree {
        margin-top: 2.9rem;
        gap: 6.9rem;
    }

    & .con05__agree-label {
        cursor: pointer;
    }

    & .con05__agree-check {
        appearance: none;
        flex-shrink: 0;
        width: 1.6rem;
        height: 1.6rem;
        border: 0.1rem solid #b2b5da;
        border-radius: 50%;
        background: #fff;
        cursor: pointer;
        transition:
            background 0.2s ease,
            border-color 0.2s ease;
    }

    & .con05__agree-check:checked {
        border-color: #0d0e28;
        background: radial-gradient(circle, #0d0e28 0 42%, #fff 48%);
    }

    & .con05__agree-text,
    & .con05__agree-view {
        font-size: var(--bodyL);
        font-weight: 500;
        letter-spacing: -0.06em;
        line-height: 1.4;
        color: #1d1d1f;
    }

    & .con05__agree-view {
        background: transparent;
        border: 0;
        text-decoration: underline;
        cursor: pointer;
    }

    & .con05__submit {
        margin-top: 2.4rem;
        width: 17.1rem;
        height: 6.2rem;
        font-size: var(--bodyXL);
        font-family: var(--font-paperlogy);
        font-weight: 600;
        letter-spacing: -0.05em;
        line-height: 1.4;
        color: #ffffff;
        background: #0d0e28;
        border: 0;
        border-radius: 1.5rem;
        cursor: pointer;
    }
}

/* ============================================================
   모바일 (≤599px) — PC 좌우/그리드 구조를 상하·축소 스택으로 변환
   캔버스 375px (1vw=3.75px). 폰트=PC 토큰 유지(library 자동 vw 재매핑).
   ※ --displayS 는 모바일 재매핑이 없어(=65px 과대) 섹션 타이틀만 raw vw 로 축소.
   ============================================================ */
@media screen and (max-width:599px) {

    /* ---- CON01 언론보도 게시판 (4컬럼 → 작성자 숨김 3컬럼) ---- */
    .sub05 .con01 {
        height: auto;
        padding-top: 16vw;
        padding-bottom: 18vw;
    }
    .sub05 .con01__inner {
        max-width: none;
        width: 100%;
        padding-left: 6vw;
        padding-right: 6vw;
    }
    .sub05 .con01__dot {
        width: 4vw;
        height: 4vw;
        margin-bottom: 3vw;
    }
    .sub05 .con01__title { font-size: 8vw; } /* displayS 모바일 미매핑 보정 */

    .sub05 .con01__search {
        width: 100%;
        margin-top: 9vw;
        padding-bottom: 3.5vw;
    }
    .sub05 .con01__search-select { margin-right: 3vw; }
    .sub05 .con01__search-btn {
        width: 6vw;
        height: 6vw;
        margin-left: 3vw;
    }
    .sub05 .con01__count { margin-top: 4vw; }

    .sub05 .con01__board { margin-top: 4vw; }
    .sub05 .con01__col--no { width: 16vw; }
    .sub05 .con01__col--date { width: 24vw; }
    /* 작성자 컬럼 숨김(번호·제목·작성일만) */
    .sub05 .con01__col--name,
    .sub05 .con01__th:nth-child(3),
    .sub05 .con01__td--name { display: none; }

    .sub05 .con01__th {
        height: 12vw;
        font-size: 3.6vw;
    }
    .sub05 .con01__td {
        height: 13vw;
        font-size: 3.6vw;
    }
    .sub05 .con01__row--notice .con01__td { height: 13vw; }
    .sub05 .con01__badge {
        width: 10vw;
        height: 10vw;
    }
    .sub05 .con01__page {
        margin-top: 9vw;
        gap: 2.5vw;
    }
    .sub05 .con01__page-num {
        width: 9vw;
        height: 9vw;
        font-size: 3.6vw;
    }

    /* ---- CON02 이벤트 갤러리 (3열 → 2열) ---- */
    .sub05 .con02 {
        height: auto;
        padding-top: 16vw;
        padding-bottom: 18vw;
    }
    .sub05 .con02__inner {
        max-width: none;
        width: 100%;
        padding-left: 6vw;
        padding-right: 6vw;
    }
    .sub05 .con02__dot {
        width: 4vw;
        height: 4vw;
    }
    .sub05 .con02__title {
        margin-top: 3vw;
        font-size: 8vw;
    }
    /* 탭 4개 → 가로 1줄, 넘치면 가로 스크롤 */
    .sub05 .con02__tabnav {
        margin-top: 9vw;
        padding-bottom: 3vw;
    }
    .sub05 .con02__tabs {
        gap: 6vw;
        justify-content: flex-start;
        width: max-content;
        min-width: 100%;
    }
    .sub05 .con02__tab { white-space: nowrap; }
    .sub05 .con02__tab-dot {
        width: 3vw;
        height: 3vw;
        bottom: -4.5vw;
        margin-left: -1.5vw;
    }
    .sub05 .con02__grid {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 3vw;
        row-gap: 6vw;
        margin-top: 9vw;
    }
    .sub05 .con02__thumb {
        height: auto;
        aspect-ratio: 1;
    }
    .sub05 .con02__card-title { margin-top: 4vw; }
    .sub05 .con02__card-date { margin-top: 2.5vw; }
    .sub05 .con02__badge { width: 24vw; }
    .sub05 .con02__paging { margin-top: 9vw; }
    .sub05 .con02__page {
        width: 7vw;
        height: 7vw;
    }

    /* ---- CON03 홍보영상 캐러셀 (슬라이드 폭 축소, 화살표 숨김) ---- */
    .sub05 .con03 {
        height: auto;
        padding-bottom: 18vw;
    }
    .sub05 .con03__head { margin-top: 16vw; }
    .sub05 .con03__dot {
        width: 4vw;
        height: 4vw;
    }
    .sub05 .con03__title {
        margin-top: 3vw;
        font-size: 8vw;
    }
    .sub05 .con03__slider { margin-top: 9vw; }
    .sub05 .con03__slide { width: 76vw; }
    .sub05 .con03__card { height: auto; }
    .sub05 .con03__thumb { height: 42.75vw; }
    .sub05 .con03__cap { margin-top: 3.5vw; }
    /* 파사드 재생버튼 = 모바일 vw 재사이징(rem 방치 시 쪼그라듦). con03/con04 공통 */
    .sub05 .vf__play {
        width: 16vw;
        height: 11.4vw;
        border-radius: 2.8vw;
    }
    .sub05 .vf__play::after {
        border-width: 2.5vw 0 2.5vw 4.1vw;
        margin-left: 0.9vw;
    }
    /* con03 화살표 PC/모바일 토글 = HTML .pc-flex 유틸 (모바일 자동 none, 스와이프 대체) */

    /* ---- CON04 홍보영상 전체 그리드 (3열 → 1열) ---- */
    .sub05 .con04 {
        min-height: 0;
        padding-bottom: 18vw;
    }
    .sub05 .con04__panel {
        width: 92%;
        padding-top: 14vw;
        padding-bottom: 12vw;
        border-radius: 4vw;
    }
    .sub05 .con04__grid {
        grid-template-columns: 1fr;
        row-gap: 7vw;
        width: 84%;
    }
    .sub05 .con04__item { width: 100%; } /* justify-items:center 로 수축된 셀 → 카드/파사드 가로 축소 방지 */
    .sub05 .con04__card { width: 100%; }
    .sub05 .con04__thumb { height: 50vw; }
    .sub05 .con04__cap { margin-top: 3.5vw; }
    .sub05 .con04__more {
        margin-top: 9vw;
        column-gap: 2.5vw;
        width: 36vw;
        height: 13vw;
    }
    .sub05 .con04__more-icon { width: 4vw !important; height: auto !important; }

    /* ---- CON05 고객의 소리 폼 ---- */
    .sub05 .con05 {
        height: auto;
        padding-bottom: 18vw;
    }
    .sub05 .con05__inner {
        box-sizing: border-box; /* con05 블록엔 PC 의 `* {box-sizing}` 없음 → 가로 오버플로우 차단 */
        width: 100%;
        padding-top: 16vw;
        padding-left: 4.2667vw;
        padding-right: 4.2667vw;
    }
    .sub05 .con05__logo img { width: 14vw !important; height: auto !important; }
    .sub05 .con05__title {
        margin-top: 2.5vw;
        font-size: 8vw;
    }
    .sub05 .con05__form {
        margin-top: 8vw;
        width: 100%;
        gap: 2.5vw;
    }
    .sub05 .con05__field {
        height: 15vw;
        border-radius: 3vw;
    }
    .sub05 .con05__field--area { height: 32vw; }
    .sub05 .con05__field-label {
        flex-shrink: 0; /* 라벨 고정폭 보호 → 좁은 폰에서 라벨 쪼그라듦 방지 */
        width: 28vw;
        letter-spacing: 0.05em;
    }
    .sub05 .con05__field-div { height: 5.5vw; }
    .sub05 .con05__field-div--tall { height: 22vw; }
    .sub05 .con05__field-input { min-width: 0; margin-left: 4vw; } /* input 고유폭 무시 → overflow 제거 */
    .sub05 .con05__field-textarea { height: 22vw; }
    .sub05 .con05__agree {
        margin-top: 5vw;
        gap: 6vw;
    }
    .sub05 .con05__agree-check {
        width: 4vw;
        height: 4vw;
    }
    .sub05 .con05__submit {
        margin-top: 5vw;
        width: 34vw;
        height: 13vw;
        border-radius: 3vw;
    }
}
