@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Thin.woff') format('woff');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Light.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-SemiBold.woff') format('woff');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Black.woff') format('woff');
    font-weight: 900;
    font-display: swap;
}

@font-face {
    font-family: 'SeoulNotice';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/SeoulAlrimTTF-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'SeoulNotice';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/SeoulAlrimTTF-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'SeoulNotice';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/SeoulAlrimTTF-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'SeoulNotice';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/SeoulAlrimTTF-Heavy.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}

@font-face {
    font-family: 'YeogiOttaeJalnan';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_four@1.2/JalnanOTF00.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'OneStoreMobilePop';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2105_2@1.0/ONE-Mobile-POP.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cafe24ProUp';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2507-1@1.0/Cafe24PROUP.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'YeogiOttaeJalnanGothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_231029@1.1/JalnanGothic.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

.breath {
    /* ▶ 주기/컬러 커스텀 (필요 시 3~5초로 변경) */
    --breath-speed: 1.2s;
    --breath-color: #ff5a3c;

    position: relative;
    /* 의사요소 기준 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
    /* 외부와 효과 분리 */
    transform-origin: center;
    will-change: transform, box-shadow;

    /* 호흡처럼 커졌다 작아짐 + 은은한 광택 */
    animation:
        breath-scale var(--breath-speed) ease-in-out infinite,
        breath-glow var(--breath-speed) ease-in-out infinite;
}

/* 퍼지는 링(시선 포인트) */
.breath::before {
    content: "";
    position: absolute;
    inset: -6px;
    /* 버튼보다 살짝 크게 */
    border-radius: 9999px;
    opacity: .55;
    transform: scale(1);
    z-index: -1;
    /* 버튼 뒤에서 퍼지도록 */
    animation: breath-ring var(--breath-speed) ease-out infinite;
}

/* 마우스 올리면 즉각 반응(조금 더 커지고 밝아짐) */
.breath:hover,
.breath:focus-visible {
    transform: scale(1.06);
    box-shadow: 0 12px 30px rgba(255, 90, 60, .45);
}

/* 모션 최소화 환경 존중 */
@media (prefers-reduced-motion: reduce) {
    .breath {
        animation: none;
    }

    .breath::before {
        animation: none;
        opacity: .30;
    }
}

/* Keyframes */
@keyframes breath-scale {

    0%,
    100% {
        transform: scale(1);
    }

    35% {
        transform: scale(1.04);
    }

    55% {
        transform: scale(1.08);
    }

    75% {
        transform: scale(1.04);
    }
}

@keyframes breath-glow {

    0%,
    100% {
        box-shadow: 0 8px 18px rgba(255, 90, 60, .22);
        filter: saturate(1);
    }

    50% {
        box-shadow: 0 14px 32px rgba(255, 90, 60, .42);
        filter: saturate(1.10);
    }
}

@keyframes breath-ring {
    0% {
        transform: scale(1);
        opacity: .55;
    }

    60% {
        transform: scale(1.38);
        opacity: 0;
    }

    100% {
        transform: scale(1.38);
        opacity: 0;
    }
}

#chart {
    width: 100%;
    min-width: 480px;
    min-height: 480px;
    height: 100%;
    margin-left: 0px;
}

.watch_movie {
    width: 700px;
    height: 700px;
    border-radius: 50%;
    overflow: hidden;
    border: 20px solid #000000
}

.sec-titledeco span {
    font-size: 4.5rem;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    margin: 0 33px 0 15px;
    background: #ffe400
}

.sec-title_big {
    font-size: 5rem
}

.sec-title_medium {
    font-size: 3.0rem
}

.sec-title {
    font-size: 4.0rem;
    line-height: 1.4
}

.sec-title2 {
    font-size: 2.2rem;
    font-weight: 400 !important;
}

.sec-title3 {
    font-size: 1.6rem;
    font-weight: 400 !important;
}

/* === 1. 메인 박스 애니메이션 키프레임 (Opacity 수정됨) === */
@keyframes appearAndBounce {
    0% {
        opacity: 1;
        /* 시작 시 투명 */
        transform: translateY(80px);
    }

    30% {
        opacity: 1;
        /* 나타나면서 제자리로 */
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }

    65% {
        transform: translateY(0);
    }

    80% {
        transform: translateY(-10px);
    }

    90% {
        transform: translateY(0);
    }

    95% {
        transform: translateY(-5px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes slideInFromRight {
    0% {
        opacity: 0;
        transform: translateX(40px);
        /* 오른쪽 밖에서 시작 */
    }

    100% {
        opacity: 1;
        transform: translateX(0);
        /* 제자리로 부드럽게 이동 */
    }
}

/* === 애니메이션 적용 클래스 === */
.animate-up-and-bounce-sequential {
    opacity: 1;
    /* JS가 is-visible을 추가하기 전까지는 완전히 투명 */
}

/* JS에 의해 is-visible 클래스가 추가되면 메인 애니메이션 시작 */
.animate-up-and-bounce-sequential.is-visible {
    animation-name: appearAndBounce;
    animation-duration: 1.4s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
}

/* === 3. .process-box-2에 시간차 애니메이션 적용 === */
.animate-up-and-bounce-sequential .process-box-2 {
    opacity: 0;
    /* 애니메이션 시작 전에는 투명하게 유지 */
}

.animate-up-and-bounce-sequential.is-visible .process-box-2 {
    animation-name: slideInFromRight;
    /* 위에서 만든 새 키프레임 적용 */
    animation-duration: 0.9s;
    /* 메인보다 약간 짧게 */
    animation-delay: 0.4s;
    /* 메인 애니메이션이 시작하고 0.4초 후에 시작 */
    animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    /* 부드러운 속도 곡선 */
    animation-fill-mode: forwards;
    /* 애니메이션 후 상태 유지 */
}

/* === 꾸미기용 스타일 === */
.history-box-1 {
    padding: 0 40px;
    border-radius: 15px;
    color: white;
    overflow: hidden;
}

.history-box-1 .sub-title {
    color: #8FE3CF;
    font-weight: bold;
}

.history-box-1 .sec-title {
    font-size: 3.5rem;
    font-weight: bold;
}

.history-box-1 .box-text {
    opacity: 0.9;
}

.process-box-2 {
    display: flex;
    align-items: center;
    background-color: transparent;
    padding: 20px;
    border-radius: 10px;
}

.process-box-2 .box-img {
    margin-right: 20px;
}

.process-box-2 .box-number {
    font-size: 1.2rem;
    font-weight: bold;
    color: #8FE3CF;
    margin: 0;
}

.process-box-2 .box-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin: 5px 0;
}

.title-area {
    text-align: center;
}

.sec-title.text-anime-style-2 {
    font-weight: bold;
    visibility: hidden;
}

.text-anime-style-2 span {
    display: inline-block;
    /* transform을 적용하기 위함 */
    opacity: 0;
    transform: translateY(30px);
    /* 아래에서 시작 */
    /* opacity와 transform이 0.6초 동안 부드럽게 변하도록 설정 */
    transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.text-anime-style-2.is-visible {
    visibility: visible;
    /* 부모 요소를 보이게 처리 */
}

.text-anime-style-2.is-visible span {
    opacity: 1;
    transform: translateY(0);
    /* 제자리로 이동 */
}

.mpc {
    color: #ffe400 !important
}

.mpcr {
    color: #630a0a !important
}

.mbgs01 {
    background: url("/theme/barit/images/main/section01_bg.jpg");
    background-size: cover;
    background-position: 100% 100%;
    height: calc(100vh - 140px);
}

.mbgs02 {
    background: url("/theme/barit/images/main/section02_bg.jpg");
    background-size: cover;
    position: relative;
    background-position: bottom;
    min-height: 100vh;
    padding-top: 150px;
    z-index: 1 !important;
}

.mbgs03 {
    background: url("/theme/barit/images/main/section03_bg.jpg");
    background-size: cover;
    position: relative;
    background-position: 100% 100%;
    min-height: 100vh;
    z-index: 1 !important;
}

.mbgs04 {
    background: url("/theme/barit/images/main/section04_bg.jpg");
    background-size: cover;
    position: relative;
    background-position: 100% 100%;
    min-height: 100%;
    z-index: 1 !important;
}

.mbgs05 {
    background: #000 !important;
    background-size: cover;
    position: relative;
    background-position: 100% 100%;
    min-height: 50vh;
    z-index: -1 !important;
}

.mbgs06 {
    background: url("/theme/barit/images/main/section05_bg.jpg");
    background-size: cover;
    position: relative;
    background-position: 100% 100%;
    min-height: 80vh;
    z-index: 1 !important;
}

.mbgs07 {
    background: url("/theme/barit/images/main/section06_bg.jpg?ver=d");
    background-size: cover;
    position: relative;
    background-position: top;
    min-height: 100%;
    z-index: 1 !important;
}

.mbgs09 {
    background: #000000
}

.mbgs10 {
    background: #000000
}

.mbgs11 {
    background: #191919
}

.hero-style1 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    height: 100% !important;
}

/* 'brath_effect' 클래스에 애니메이션 적용 */
.brath_effect {
    /* animation: [애니메이션 이름] [지속 시간] [타이밍 함수] [반복 횟수];
     - ease-in-out: 부드럽게 시작하고 끝나는 효과
     - infinite: 무한 반복
     - alternate: 애니메이션을 정방향 -> 역방향으로 반복하여 더 자연스러움
    */
    animation: breathe 0.2s ease-in-out infinite alternate;
}

/* '숨쉬기' 애니메이션 키프레임 정의 */
@keyframes breathe {

    /* 애니메이션 시작 (0%) 상태: 완전히 불투명 */
    from {
        opacity: 1;
    }

    /* 애니메이션 끝 (100%) 상태: 약간 투명하게 */
    to {
        opacity: 0.2;
    }
}

.ch-card {
    border: none;
    border-radius: 24px;
    /* 원본 이미지의 모서리 둥근 정도 */
    text-align: center;
    background-color: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    /* 원본 이미지와 유사한 그림자 */
    height: 100%;
    /* 부모 h-100에 맞춰 높이 유지 */
    display: flex;
    /* 내부 콘텐츠 정렬을 위해 flexbox 사용 */
    flex-direction: column;
}

.ch-card-body {
    /* 기존 card-body 대신 커스텀 클래스 사용 */
    padding: 1.8rem;
    /* 내부 패딩 조정 */
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 가로 중앙 정렬 */
    flex-grow: 1;
}

.ch-card-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    /* 원본 이미지와 유사한 크기 */
    height: 40px;
    background-color: #630a0a;
    /* 원본 이미지의 빨간색 */
    color: white;
    padding-top: 7px;
    font-size: 1.5rem;
    /* 숫자 폰트 크기 조정 */
    font-weight: bold;
    border-radius: 50%;
    margin-bottom: 0.8rem;
    /* 숫자 아래 여백 */
}

.ch-card-title {
    font-size: 2.5rem;
    /* 제목 폰트 크기 조정 */
    font-weight: 800;
    /* 매우 굵게 */
    color: #630a0a;
    margin-bottom: 1.5rem;
    /* 제목 아래 여백 */
    line-height: 1.3;
}

.ch-card-image-wrapper {
    /* 이미지 컨테이너 추가 */
    margin-bottom: 1.5rem;
    /* 이미지 아래 여백 */
    width: 100%;

}

.ch-card-image-wrapper img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    /* 이미지 모서리 둥글게 */
}

.ch-card-text {
    color: #5f5f5f;
    /* 원본 이미지와 유사한 텍스트 색상 */
    font-size: 0.9rem;
    /* 텍스트 폰트 크기 조정 */
    line-height: 1.6;
    font-size: 1.4rem;
    text-align: center;
    /* 본문 텍스트 왼쪽 정렬 */
    padding: 0 5px;
    /* 양쪽 약간의 패딩으로 텍스트 정렬 개선 */
}

.img_100ho {
    display: inline;
    max-width: 90%;
    position: static;
    z-index: 8000 !important;
    top: 0;
    height: 300px;
    margin-top: -50px;
}

.thank_hidden {
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 1rem;
    font-size: 1.5rem
}

.title_decobg {
    position: relative;
    display: inline-block !important
}

.title_decobg:before {
    background: rgba(255, 222, 0, 0.3);
    width: 106%;
    margin-left: -3%;
    content: "";
    display: inline;
    position: absolute;
    left: 0;
    right: 0;
    top: 30px;
    height: 30px;
}

.mbgs06 .history-box-1 {
    width: 100%;
    display: block;
}

.mbgs06 .history-box-1 .dashed {
    border-bottom: 5px dashed rgba(255, 255, 255, 0.6);
    border-top: 5px dashed rgba(255, 255, 255, 0.6);
    padding-left: 10px;
    width: 100%;
    display: block;
}

.mbgs06 .history-box-1 .dashed .box-text {
    padding-bottom: 50px;
}

.mbgs06 .process-box-2 {
    text-align: center;
    width: 100%;
    display: block;
}

.mbgs02 .disimgs {
    margin-top: -80px
}

.mbgs02 .distext {
    margin-top: -80px;
}

.mbgs03 .img_100ho {
    display: inline;
    max-width: 90%;
    position: static;
    z-index: 8000 !important;
    top: 0;
    height: 300px;
    margin: -20px auto 0
}

.mbgs03 .thank_hidden {
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 1rem;
    font-size: 1.5rem
}

.mbgs03 .end_text {
    margin-top: -80px
}

.mbgs03 .imgdeco_side {
    margin-top: 80px;
}

.mbgs04 {
    border-top: 20px solid #000;
    overflow: visible;
    max-height: 60vh
}

.mbgs05 .title_decobg {
    position: relative;
    display: inline-block !important
}

.mbgs05 .title_decobg:before {
    background: rgba(255, 222, 0, 0.3);
    width: 106%;
    margin-left: -3%;
    content: "";
    display: inline;
    position: absolute;
    left: 0;
    right: 0;
    top: 30px;
    height: 30px;
}

.mbgs06 .history-box-1 {
    width: 100%;
    display: block;
}

.mbgs06 .history-box-1 .dashed {
    border-bottom: 5px dashed rgba(255, 255, 255, 0.6);
    border-top: 5px dashed rgba(255, 255, 255, 0.6);
    padding-left: 10px;
    width: 100%;
    display: block;
}

.mbgs06 .history-box-1 .dashed .box-text {
    padding-bottom: 50px;
}

.mbgs06 .process-box-2 {
    text-align: center;
    width: 100%;
    display: block;
}



.people_card {
    background-color: white;
    border-radius: 16px;
    /* 요청하신 그림자 효과 */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    text-align: center;
    padding: 25px;
    border-radius: 16px 16px 0 0;
    height: 100%;
    /* 아바타가 튀어나올 공간을 만들기 위한 상대 위치 */
    position: relative;
    /* 튀어나온 아바타 크기만큼 상단 마진 */
    margin-top: 60px;
}

.people_card_avatar_wrapper {
    width: 120px;
    height: 120px;
    background-color: #8B1A1A;
    /* 이미지의 진한 빨간색 */
    border-radius: 50%;
    border: 5px solid white;
    /* 흰색 테두리 추가 */
    position: absolute;
    top: -60px;
    /* 원의 높이 절반만큼 위로 */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.people_card_avatar_wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.people_card_body {
    /* 튀어나온 아바타와 겹치지 않도록 상단 패딩 */
    padding-top: 70px;
}

.people_card .store_type {
    font-size: 1.1rem;
    color: #666;
    font-weight: 600;
    margin-bottom: 8px;
}

.people_card .person_name {
    font-size: 2rem;
    font-weight: 800;
    /* 매우 굵게 */
    color: #111;
    margin-bottom: 20px;
}

.people_card .person_desc {
    font-size: 1.45rem;
    padding: 0 30px;
    color: #444;
    line-height: 1.4;
    text-align: left;
    /* 본문은 왼쪽 정렬 */
}

/* --- 핵심 해결 코드 --- */
.people_card {
    display: flex;
    /* Flexbox 레이아웃 적용 */
    flex-direction: column;
    /* 아이템을 세로로 정렬 */
    height: 100%;
    /* 부모 요소의 전체 높이를 차지 */
    border: 1px solid #eee;
    /* 카드 경계선 (구분을 위함) */
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.people_card_body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    /* 남는 공간을 모두 차지하여 높이를 맞춤 */
}

.person_desc {
    margin-top: auto;
    /* 설명을 카드 하단으로 밀어 정렬감 부여 */
}

/* --- 여기까지 --- */
.people_card_avatar_wrapper {
    text-align: center;
    margin-bottom: 15px;
}

.people_card_avatar_wrapper img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
}

.text-center {
    text-align: center;
}

.store_type {
    font-size: 1rem;
    color: #6c757d;
    font-weight: 500;
}

.person_name {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 5px 0 15px;
}

.person_desc {
    font-size: 0.95rem;
    color: #495057;
    line-height: 1.6;
}

.star_deco {
    position: absolute;
    left: 35%;
    top: 15%;
}

.title_decobg2 {
    position: relative;
    display: inline-block !important
}

.title_decobg2:before {
    background: rgba(255, 255, 255, 0.1);
    width: 106%;
    margin-left: -3%;
    content: "";
    display: inline;
    position: absolute;
    left: 0;
    right: 0;
    top: 15px;
    height: 30px;
}


.mbgs07 .left_store {
    max-width: 80%;
    margin: 0 auto;
    text-align: center;
}

.mbgs07 .left_store h2 {
    background: #000;
    color: #fff;
    font-size: 2rem !important;
    padding: 15px 20px;
    text-align: Center;
    border-radius: 12px;
}

.mbgs07 .left_store .logo_g img {
    max-width: 30%;
    margin: 0 auto 30px;
}

.mbgs07 .left_circle {
    width: 440px;
    height: 440px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px auto;
}

.mbgs07 .left_circle h3 {
    font-size: 2.8rem;
    margin-bottom: 0
}

.mbgs07 .left_circle p {
    font-size: 1.6rem;
    margin-bottom: 0;
}

.mbgs07 .left_circle p>strong {
    font-size: 1.1rem;
    margin-bottom: 0;
    color: rgba(0, 0, 0, .5)
}



.mbgs07 .right_store {
    max-width: 80%;
    margin: 0 auto;
    text-align: center;
}

.mbgs07 .right_store h2 {
    background: #630a0a;
    color: #fff;
    font-size: 2rem !important;
    padding: 15px 20px;
    text-align: Center;
    border-radius: 12px;
}

.mbgs07 .right_store .logo_g img {
    max-width: 80%;
    margin: 0 auto 30px;
}

.mbgs07 .right_circle {
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 1);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto
}

.mbgs07 .right_circle h3 {
    font-size: 3.0rem;
    margin-bottom: 0
}

.mbgs07 .right_circle p {
    font-size: 1.9rem;
    margin-bottom: 0;
}

.mbgs07 .right_circle p>strong {
    font-size: 1.1rem;
    margin-bottom: 0;
    color: rgba(255, 255, 255, .5) !important
}

.mbgs07 .right_store .label_imgs {
    position: absolute;
    top: -50px;
    left: 0px;
}

.mbgs07 .right_store .label_imgs img {
    max-width: 200px;
}

.mbgs07 .center_arrow {
    position: absolute;
    bottom: 47%;
    left: 50%;
    right: 0;
    z-index: 4;
    max-width: 600px;
    transform: translate(-50%, 50%);
}

.mbgs07 .center_arrow img {
    width: 100%;
    max-width: 100%;
}


.first_charts {
    background: #630a0a !important;
    min-height: 100%;
    border-radius: 0 0 48px 48px;
}



/* ============================
     *  전체 레이아웃 & 컬러 토큰
     * ============================ */
:root {
    --burgundy: #6E0F11;
    /* 페이지 배경 버건디 */
    --burgundy-dark: #4f0b0c;
    --line: #8a4f50;
    /* 표 경계선(버건디 톤의 라인) */
    --text: #ffffff;
    /* 기본 텍스트(흰색) */
    --muted: #e9e9e9;
    /* 보조 텍스트(연회색) */
    --yellow: #F1D64B;
    /* 하이라이트 노랑 */
    --black: #111;
}


/* 카드 컨테이너 (이미지와 유사한 라운드 상자) */
.card {
    width: 100%;
    background: linear-gradient(180deg, var(--burgundy) 0%, var(--burgundy-dark) 100%);
    border-radius: 16px;

    box-shadow: 0 14px 40px rgba(0, 0, 0, .25);
    border: 1px solid #3d090a;
}

/* 상단 타이틀(노란 강조 라인 포함) */
.title {
    font-size: 22px;
    font-weight: 900;
    letter-spacing: .2px;
    margin: 0 0 14px;
    line-height: 1.2;
    position: relative;
    padding-left: 10px;
}

.title::before {
    content: "";
    position: absolute;
    left: 0;
    top: .2em;
    width: 6px;
    height: 1.2em;
    border-radius: 2px;
    background: var(--yellow);
}

/* 표 */
table {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    /* 경계선 한 줄로 */
    border-radius: 0px;
    border: 1px solid #000 !important;

}

/* 헤더 */
thead th {
    background: rgba(0, 0, 0, 1);
    font-weight: 800;
    font-size: 18px;
    padding: 15px 14px !important;
    color: #fff;
    border-bottom: 1px solid var(--line);
    text-align: center;
}

/* 본문 셀 공통 */
tbody td {
    padding: 14px 14px !important;
    border-bottom: 1px solid var(--line);
    vertical-align: middle;
    font-size: 20px;
}

/* 첫번째 열(구분) 약간 굵게 */
tbody td.col-name {
    font-weight: 800;
    width: 34%;
    vertical-align: middle;
    line-height: 1;
    padding: 18px 0 !important;
}

/* 가운데 열(내용) */
tbody td.col-desc {
    width: 43%;
    color: var(--muted);
    font-weight: 600;
    padding: 25px 0 !important;
}

/* 설명의 보조 캡션(작은 회색 글씨) */
.caption {
    display: block;
    font-size: 10px;
    color: #cfcfcf;
    margin-top: 4px;
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 500;
}

/* 마지막 열(퍼센트) 가운데 정렬 */
tbody td.col-perc {
    width: 23%;
    text-align: center;
    font-weight: 800;
}

/* 합계/수익률 행 */
tfoot td {
    padding: 16px 14px !important;
    background: #17100a;
    /* 검붉은 바탕 */
    border-top: 2px solid #24160e;
    font-weight: 900;
    font-size: 20px;
}

tfoot td.col-name {
    color: #fff;
}

/* 수익률 금액 칸을 노란 배지처럼 */
.highlight {
    display: inline-block;
    background: var(--yellow);
    color: var(--black);
    padding: 6px 10px;
    border-radius: 6px;
    font-weight: 900;
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .12);
}

/* 경계선은 셀 내부 그림자(보더 없이 구분) */
.cost-table tbody td {
    box-shadow: inset 0 -1px 0 #8a4f50;
    /* 행 구분 */
}

.cost-table tbody td+td {
    box-shadow: inset 1px 0 0 #8a4f50,
        inset 0 -1px 0 #8a4f50;
    /* 열 + 행 구분 */
}

.cost-table {
    transform: translateZ(0);
}

.tbl-wrap {
    /* ← 기존 테이블 border 대체 */
    border-radius: 8px;
    /* 필요 시 */
}

.cost-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 0;
    /* 실제 border 제거 */
    border-radius: 8px;
    /* 필요 시 */
    background: transparent;
}

table {
    border-collapse: separate !important;
    /* 테이블 테두리를 분리합니다. */
    border-spacing: 0 !important;
    /* 테두리 간격을 없앱니다. */
    border: none !important;
    /* 모든 테두리를 제거합니다. */
    caption-side: top !important;
    /* 캡션 위치를 위쪽으로 설정합니다. */
    empty-cells: show !important;
    /* 빈 셀의 내용을 보여줍니다. */
    table-layout: auto !important;
    /* 테이블 레이아웃을 자동으로 설정합니다. */
    width: 100% !important;
    /* 너비를 내용에 맞게 자동으로 설정합니다. */
    margin: 0 !important;
    /* 외부 여백을 모두 제거합니다. */
    padding: 0 !important;
    /* 내부 여백을 모두 제거합니다. */
    background-color: transparent !important;
    /* 배경색을 투명하게 설정합니다. */
}

/* 테이블의 a, th, td 요소에도 적용할 수 있는 초기화 코드입니다. */
thead,
tbody,
tfoot,
tr,
th,
td {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: normal !important;
    /* 글자 굵기를 보통으로 설정합니다. */
    vertical-align: middle !important;
    /* 수직 정렬을 중간으로 설정합니다. */
}

/* 반응형: 화면이 작아지면 글씨와 패딩 축소 */
@media (max-width: 560px) {
    .title {
        font-size: 18px;
    }

    thead th {
        font-size: 13px;
        padding: 10px
    }

    tbody td {
        font-size: 13px;
        padding: 10px
    }

    tfoot td {
        font-size: 14px;
        padding: 12px 10px
    }

    .caption {
        font-size: 11px;
    }
}

.graph_box {
    border-radius: 0 32px 32px 0;
    padding: 50px 30px 40px !important;
    display: inline-block;
    width: 100%;
    text-align: center;
}

.graph_box .graph_title h2 {
    background: #6e0002;
    padding: 14px 20px 6px;
    text-align: center;
    border-radius: 12px;
    color: #fff;
    line-height: 1.2;
    font-size: 46px;
    margin-bottom: 10px;
}

.left-table-price {
    background: #000000;
    border-radius: 42px 0 0 42px;
    min-height: 100vh;
    margin-top: -250px;
    padding-top: 200px;
}

.right-table-price {
    background: #2a260d;
    padding-left: 1.5rem;
    border-radius: 42px 0 0 42px;
    min-height: 100vh;
    margin-top: -250px;
    padding-top: 200px;
}

.under_table_group {
    background: #000;
    min-height: 100%;
    margin-top: -50px;
    z-index: -1;
}



/* =========================
              색상 토큰 (이미지 톤 맞춤)
              ========================= */
:root {
    --page-bg: #a87449;
    /* 페이지 배경(카키 브라운) */
    --panel-bg: #b17b50;
    /* 패널 안쪽 배경 */
    --header-bg: #121212;
    /* 상단 검정 헤더바 */
    --row-line: #e6cdb8;
    /* 얇은 라인 */
    --frame: #7b4b2e;
    /* 패널 외곽선 */
    --text: #ffffff;
    /* 기본 글자색 */
    --muted: #f1e9e2;
    /* 흐린 글자색 */
    --accent: #b50e0e;
    /* '면제' 글자 빨강 */
}




/* 상단 검정 헤더(구분/내용) */
.section-head {
    background: var(--header-bg);
    color: #fff;
    font-weight: 900;
    padding: 10px 12px;
    border-radius: 0px;
    text-align: center;
    letter-spacing: .4px;

}

/* 좌/우 칼럼 모두 같은 줄 수를 갖는 그리드 */
.rows {
    display: grid;
    grid-template-rows: repeat(10, minmax(52px, 1fr));
    /* 이미지처럼 총 10행 */
    border-radius: 0px;
    overflow: hidden;
}

/* 좌측(구분) 셀 */
.row-left {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1.4rem;
    padding: 10px 8px;
    color: var(--muted);
    background: #666666 !important;
    font-weight: 800;
    /* 얇은 라인은 inset shadow로 (흰줄 현상 방지) */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.row-left strong {
    color: #fff;
    font-weight: 900;
}

/* 우측(내용) 셀 */
.row-right {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px 8px;
    color: #fff;
    font-weight: 800;
    font-size: 1.4rem;
    background: #666666 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.row-right:last-child {
    border-bottom: 0;
}

.row-left:last-child {
    border-bottom: 0;
}

/* “면제” 폭발(스타버스트) 배지 – SVG */
.burst {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateZ(0);
}

.burst svg {
    width: 130px;
    height: auto;
}

/* 반응형: 모바일에서 줄 높이 조금 여유 */
@media (max-width: 576px) {
    .rows {
        grid-template-rows: repeat(10, minmax(60px, 1fr));
    }
}

.row-left strong {
    font-weight: 400 !important;
}

.row-right {
    font-weight: 400 !important;
}


.cost-table2 {}

.cost-table2 th {
    background: #fadf4b;
    color: #000 !important;
    padding: 15px 0 !important
}

.cost-table2 tfoot td {
    background: #F1D64B;
    color: #000 !important;
    padding: 15px 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important
}

.cost-table2 td {
    padding: 15px 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important
}


.chart-container {
    width: 100%;
    height: 450px;
    /* 높이가 없으면 차트가 보이지 않습니다 */
}

.grap_title_deco {
    background: #620a0a;
    padding: 14px 30px;
    border-radius: 12px;
}

.under_table_group .decos {
    padding-top: 100px;
    margin-top: 0px;
    position: relative
}

.under_table_group .deco_img {
    position: absolute;
    top: 0px;
    left: -50px;
}

.under_table_group .deco_img img {
    max-width: 200px;
}



.mbgs09 .card-custom {
    margin-top: 150px;

    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    height: 100%;
    /* 부모 높이에 맞춤 */
    display: flex;
    /* Flexbox 사용 */
    flex-direction: column;
    /* 세로 방향으로 아이템 정렬 */
    background-color: #fff;
}

.mbgs09 .card-header-custom {
    background-color: #343a40;
    /* 어두운 배경색 */
    color: white;
    padding: 15px;
    font-size: 1.25rem;
    font-weight: bold;
    text-align: center;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    position: relative;
    z-index: 1;
    /* 말풍선이 다른 요소 위에 오도록 */
}

/* 말풍선 스타일 */
.mbgs09 .speech-bubble {

    color: white;
    padding: 8px 15px;
    border-radius: 20px;
    position: relative;
    /* 절대 위치 */
    margin-top: -200px;
    white-space: nowrap;
    /* 텍스트 줄바꿈 방지 */
    font-size: 1.1rem;


}

.mbgs09 .card-body-custom {
    padding: 20px;
    color: #fff !important;
    flex-grow: 1;
    /* 남은 공간을 채우도록 설정 */
    display: flex;
    flex-direction: column;
    background: #343a40;
    justify-content: space-between;
    /* 내용과 이미지를 위아래로 정렬하고 사이 공간 배분 */
}

.mbgs09 .card-text-custom {
    font-size: 1.4rem;
    padding: 0 15px;
    text-align: center;
    line-height: 1.6;
    color: #fff !important;
    margin-bottom: 0px;
    /* 이미지와의 간격 */
}

.mbgs09 .card-img-bottom-custom {
    width: 100%;
    height: auto;
    /* 원본 비율 유지 */
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    display: block;
    /* 이미지 하단 여백 제거 */
    margin-top: auto;
    /* Flexbox에서 이미지를 하단으로 정렬 */
}

.mbgs09 .star_deco {
    top: -50px;
    left: 30%
}



.mbgs10 .testi-1-item {
    border: 5px solid #ffde00;
    padding: 50px;
    position: relative
}

.mbgs10 .testi-1-item .client-thumb {
    position: absolute;
    top: 300px;
    right: 0;
}

.mbgs10 .testi-1-item .map-image-grow {
    max-width: 80%;
}

.mbgs10 .testi-1-item .maps_img {
    width: 100%;
    display: block
}

.mbgs11 {
    padding-top: 150px;
}

.mbgs11 .star_deco {
    top: -50px;
    margin-left: -30px;
}

.mbgs11 .redbox {
    background: #630a0a;
    padding: 20px;
    margin-top: 40px
}





.mbgs12 .section-title {
    text-align: center;
    color: white;
    font-weight: 700;
    margin-bottom: 3rem;
}

.mbgs12 .step-card {
    background-color: #ffffff;
    border-radius: 20px;
    padding: 40px 20px 30px 20px;
    text-align: center;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
    position: relative;
    height: 100%;
}

.mbgs12 .step-number {
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: #6e0002;
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 700;
    border: 3px solid #6e0002;
}

.mbgs12 .step-card .icon {
    width: 100px;
    height: 100px;
    margin: 0 auto;
}

.mbgs12 .step-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: #630a0a;
    margin-top: 20px;
    margin-bottom: 10px;
}

.mbgs12 .step-subtitle {
    font-size: 1rem;
    color: #666;
    line-height: 1.2 !important;
}

.mbgs12 .info-section {

    color: white;
    text-align: center;
}

.mbgs12 .info-text {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    padding: 0rem;
}

.mbgs12 .star_deco {
    top: -50px;
    left: 45%;
}

.sub_description {
    font-size: 16px;
    padding-bottom: 30px;
}



/* 리스트 전체 컨테이너 설정 */
.breadcrumb {
    display: flex;
    /* 가로 배치 */
    list-style: none;
    /* 기본 점(bullet) 제거 */
    justify-content: center;
    /* [추가됨] 가로축 기준 중앙 정렬 */
    padding: 0;
    margin: 0;
    font-size: 14px;
    /* 글자 크기 */
    color: #fff;
    /* 기본 글자색 (진한 회색) */
}

/* 각 메뉴 항목 설정 */
.breadcrumb li {
    display: flex;
    align-items: center;
}

/* 구분 기호(Separator) 추가 - 핵심 부분 */
/* 첫 번째 항목을 제외한 모든 항목 앞에 기호를 넣습니다 */
.breadcrumb li+li::before {
    content: ">";
    /* 구분 기호 (슬래시 '/' 로 변경 가능) */
    margin: 0 10px;
    /* 기호 좌우 여백 */
    color: #fff;
    /* 기호 색상 (연한 회색) */
    font-weight: normal;
}

/* (선택사항) 마우스 올렸을 때 효과 - 링크 느낌 */
.breadcrumb li:hover {
    color: #fff;
    /* 마우스 오버 시 검은색으로 강조 */
    cursor: pointer;
}

/* (선택사항) 마지막 항목(현재 페이지) 강조 */
.breadcrumb li:last-child {
    font-weight: bold;
    /* 마지막 항목은 굵게 */
    color: #e63946;
    /* 마지막 항목 포인트 컬러 (예: 빨강) */
    pointer-events: none;
    /* 마지막 항목은 클릭 안 되게 설정 */
}










.mbgs12 .info-section_ul {
    display: none
}



@media (max-width:768px) {

    .header-logo img {
        max-height: 60px;
    }

    .sec-titledeco span {
        font-size: 1.8rem;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        margin: 0 14px 0 6px;
        background: #ffe400;
    }

    .sec-title_big {
        font-size: 2.0rem;
    }

    .sec-title_medium {
        font-size: 1.9rem
    }

    .sec-title {
        font-size: 1.8rem;
        line-height: 1.2 !important;
    }

    .sec-title2 {
        font-size: 1.6rem;
        font-weight: 400 !important;
    }

    .sec-title3 {
        font-size: 1.4rem;
        letter-spacing: -0.5px;
        font-weight: 400 !important;
    }


    .mbgs02 {
        background: url(/theme/barit/images/main/section02_bg.jpg);
        background-size: cover;
        position: relative;
        background-position: bottom;
        min-height: 100vh;
        padding-top: 80px;
        z-index: 1 !important;
    }

    .mbgs02 .disimgs {
        max-width: 50%;
        margin: -20px auto 0;
    }

    .mbgs02 .distext {
        margin-top: -20px;
    }

    .mbgs02 .sec-title {
        font-size: 2.6rem !important
    }

    .mbgs02 .sec-title2 {
        font-size: 2.2rem !important
    }

    .mbgs03 {}

    .mbgs03 .title-area {
        text-align: center
    }

    .mbgs03 .sec-title {
        font-size: 2.6rem !important;
        line-height: 1.3 !important;
        margin-bottom: 5px !important
    }

    .mbgs03 .sec-title3 {
        line-height: 1.2 !important;
        margin-top: 15px;
    }

    .mbgs03 .m_titles {
        font-size: 24px;
        line-height: 1.3;
    }

    .mbgs03 .img_100ho {
        display: inline;
        max-width: 100%;
        position: static;
        z-index: 8000 !important;
        top: -30px;
        height: auto;
        margin: 0 auto
    }

    .mbgs03 .end_text {
        margin-top: -30px
    }

    .mbgs03 .imgdeco_side {
        margin-top: 40px;
    }


    .mbgs03 .mbgs03in .sec-title {
        font-size: 2rem !important;
        line-height: 1.4 !important
    }

    .mbgs04 {
        border-top: 20px solid #000;
        overflow: visible;
        max-height: 100vh
    }

    .mbgs04 .sec-title {
        font-size: 2.6rem !important;
        line-height: 1.4 !important;
        margin-bottom: 5px !important
    }

    .mbgs04 .sec-title3 {
        font-size: 1.4rem !important;
        line-height: 1.4 !important;
        margin-top: 15px;
    }


    .mbgs04 .watch_movie {
        width: 100%;
        height: auto;
        border-radius: 50%;
        overflow: hidden;
        border: 20px solid #000000;
    }

    .mbgs04 .watch_movie img {
        max-width: 100%;
        display: block;
        margin: 0 auto;
        position: relative
    }

    .mbgs05 .title_decobg {
        position: relative;
        display: inline-block !important
    }

    .mbgs05 .title_decobg:before {
        background: rgba(255, 222, 0, 0.3);
        width: 106%;
        margin-left: -3%;
        content: "";
        display: inline;
        position: absolute;
        left: 0;
        right: 0;
        top: 5px;
        height: 16px;
    }

    .mbgs05 .ch-card-title {
        font-size: 1.5rem;
        font-weight: 800;
        color: #630a0a;
        margin-bottom: 1.5rem;
        line-height: 1.3;
    }

    .mbgs05 .ch-card-text {
        color: #5f5f5f;
        font-size: 0.9rem;
        line-height: 1.4;
        text-align: center;
        padding: 0 5px;
    }

    .mbgs06 .history-box-1 {
        width: 100%;
        display: block;
    }

    .mbgs06 .history-box-1 .dashed {
        border-bottom: 4px dashed rgba(255, 255, 255, 0.6);
        border-top: 4px dashed rgba(255, 255, 255, 0.6);
        padding: 30px 0;
        width: 100%;
        display: block;
    }

    .mbgs06 .history-box-1 .dashed .box-text {
        padding-bottom: 50px;
    }

    .mbgs06 .process-box-2 {
        text-align: center;
        width: 100%;
        display: block;
    }


    .mbgs06 .food-card-1 .thumb .food-mask {
        position: absolute;
        inset: 0;
        height: 100%;
        margin: 30px auto;
        width: 100%;
        background: rgba(255, 228, 0, 0.5);
        z-index: -1;
        /* animation: changeMaskBg 0.7s
    ease-in-out infinite; */
    }


    /* === 꾸미기용 스타일 === */

    .mbgs06 .history-box-1 .thumb {
        border-radius: 30px;
        overflow: visible;
        margin: 0 auto;
        max-width: 350px;
        width: 100%;
    }

    .mbgs06 .history-box-1 {
        padding: 10px 0px;
        border-radius: 15px;
        color: white;
        overflow: visible;
    }

    .mbgs06 .history-box-1 .sub-title {
        color: #8FE3CF;
        font-weight: bold;
        word-break: keep-all
    }

    .mbgs06 .history-box-1 .sec-title {
        font-size: 1.6rem;
        font-weight: bold;
        word-break: keep-all;
        letter-spacing: -1px;
    }

    .mbgs06 .history-box-1 .box-text {
        opacity: 0.9;
        word-break: keep-all;
        font-size: 0.9rem;
        line-height: 1.2
    }

    .mbgs06 .process-box-2 {
        display: flex;
        align-items: center;
        background-color: transparent;
        padding: 0px;
        border-radius: 10px;
    }

    .mbgs06 .process-box-2 .box-img {
        margin-right: 20px;
    }

    .mbgs06 .process-box-2 .box-number {
        font-size: 1.2rem;
        font-weight: bold;
        color: #8FE3CF;
        margin: 0;
    }

    .mbgs06 .process-box-2 .box-title {
        font-size: 1.5rem;
        font-weight: bold;
        margin: 5px 0;
    }

    .mbgs06 .animate-up-and-bounce-sequential.is-visible .process-box-2 {
        animation-name: slideInFromRight;
        animation-duration: 0.9s;
        animation-delay: 0.4s;
        animation-timing-function:
            cubic-bezier(0.25, 0.46, 0.45, 0.94);
        animation-fill-mode: forwards;
    }

    .mbgs007 .on_mobile_mb {
        margin-bottom: 100px;
    }

    .mbgs007 .end_contents {
        padding: 30px 0 !important
    }

    .mbgs007 h5 {
        font-size: 0.9rem;
    }

    .star_deco {
        position: absolute;
        left: 10%;
        top: 10%;
    }

    .title_decobg2 {
        position: relative;
        display: inline-block !important
    }

    .title_decobg2:before {
        background: rgba(255, 255, 255, 0.1);
        width: 106%;
        margin-left: -3%;
        content: "";
        display: inline;
        position: absolute;
        left: 0;
        right: 0;
        top: 10px;
        height: 16px;
    }



    .people_card {
        background-color: white;
        border-radius: 16px;
        /* 요청하신 그림자 효과 */
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
        text-align: center;
        padding: 25px;
        border-radius: 16px 16px 0 0;
        height: 100%;
        /* 아바타가 튀어나올 공간을 만들기 위한 상대 위치 */
        position: relative;
        /* 튀어나온 아바타 크기만큼 상단 마진 */
        margin-top: 0px;


    }

    .people_card_avatar_wrapper {
        width: 120px;
        height: 120px;
        background-color: #8B1A1A;
        /* 이미지의 진한 빨간색 */
        border-radius: 50%;
        border: 5px solid white;
        /* 흰색 테두리 추가 */
        position: absolute;
        top: -60px;
        /* 원의 높이 절반만큼 위로 */
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
    }

    .people_card_avatar_wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .people_card_body {
        /* 튀어나온 아바타와 겹치지 않도록 상단 패딩 */
        padding-top: 70px;
    }

    .people_card .store_type {
        font-size: 1.1rem;
        color: #666;
        font-weight: 600;
        margin-bottom: 8px;
    }

    .people_card .person_name {
        font-size: 1.4rem;
        font-weight: 800;
        /* 매우 굵게 */
        color: #111;
        margin-bottom: 20px;
    }

    .people_card .person_desc {
        font-size: 1rem;
        padding: 0 15px;
        color: #444;
        line-height: 1.2;
        text-align: left;
        /* 본문은 왼쪽 정렬 */
    }

    /* --- 핵심 해결 코드 --- */
    .people_card {
        display: flex;
        /* Flexbox 레이아웃 적용 */
        flex-direction: column;
        /* 아이템을 세로로 정렬 */
        height: 100%;
        /* 부모 요소의 전체 높이를 차지 */
        border: 1px solid #eee;
        /* 카드 경계선 (구분을 위함) */
        border-radius: 10px;
        padding: 20px;
        margin-bottom: 30px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

    .people_card_body {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        /* 남는 공간을 모두 차지하여 높이를 맞춤 */
    }

    .person_desc {
        margin-top: auto;
        /* 설명을 카드 하단으로 밀어 정렬감 부여 */
    }

    /* --- 여기까지 --- */
    .people_card_avatar_wrapper {
        text-align: center;
        margin-bottom: 15px;

    }

    .people_card_avatar_wrapper img {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        object-fit: cover;
    }

    .text-center {
        text-align: center;
    }

    .store_type {
        font-size: 1rem;
        color: #6c757d;
        font-weight: 500;
    }

    .person_name {
        font-size: 1.5rem;
        font-weight: 700;
        margin: 5px 0 15px;
    }

    .person_desc {
        font-size: 0.95rem;
        color: #495057;
        line-height: 1.6;
    }



    .mbgs07 .left_store {
        max-width: 100%;
        margin: 0 10px;
        text-align: center;
    }

    .mbgs07 .left_store h2 {
        background: #000;
        color: #fff;
        font-size: 1.2rem !important;
        padding: 8px 10px;
        text-align: Center;
        border-radius: 12px;
    }

    .mbgs07 .left_store p {
        font-size: 1rem !important;
    }

    .mbgs07 .left_store h3 {
        font-size: 1rem !important;
    }

    .mbgs07 .left_store .logo_g img {
        max-width: 30%;
        margin: 0 auto 30px;
    }

    .mbgs07 .left_circle {
        width: 150px;
        height: 150px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.8);
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 10px auto;
    }

    .mbgs07 .left_circle h3 {
        font-size: 1.3rem;
        margin-bottom: 0
    }

    .mbgs07 .left_circle p {
        font-size: 0.9rem;
        margin-bottom: 0;
    }

    .mbgs07 .left_circle p>strong {
        font-size: 0.8rem;
        margin-bottom: 0;
        color: rgba(0, 0, 0, .5)
    }



    .mbgs07 .right_store {
        max-width: 100%;
        margin: 0 10px;
        text-align: center;
    }

    .mbgs07 .right_store h2 {
        background: #630a0a;
        color: #fff;
        font-size: 1.2rem !important;
        padding: 8px 10px;
        text-align: Center;
        border-radius: 12px;
    }

    .mbgs07 .right_store p {
        font-size: 1rem !important;
    }

    .mbgs07 .right_store h3 {
        font-size: 1rem !important;
    }

    .mbgs07 .right_store .logo_g img {
        max-width: 80%;
        margin: 0 auto 30px;
    }

    .mbgs07 .right_store .label_imgs {
        position: absolute;
        top: -60px;
        left: -20px;
    }

    .mbgs07 .right_store .label_imgs img {
        max-width: 100px;
    }

    .mbgs07 .right_circle {
        width: 170px;
        height: 170px;
        border-radius: 50%;
        background: rgba(0, 0, 0, 1);
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto
    }

    .mbgs07 .right_circle h3 {
        font-size: 1.3rem;
        margin-bottom: 0
    }

    .mbgs07 .right_circle p {
        font-size: 1.4rem;
        margin-bottom: 0;
    }

    .mbgs07 .right_circle p>strong {
        font-size: 0.8rem;
        margin-bottom: 0;
        color: rgba(255, 255, 255, .5) !important
    }

    .mbgs07 .center_arrow {
        position: absolute;
        bottom: 50%;
        left: 50%;
        right: 0;
        z-index: 4;
        max-width: 200px;
        transform: translate(-50%, 50%);
    }

    .mbgs07 .center_arrow img {
        width: 50%;
        max-width: 100%;
    }


    .first_charts {
        background: #630a0a !important;
        min-height: 100%;
        border-radius: 0 0 48px 48px;
    }

    .first_charts #chart {
        width: 100%;
        min-width: 250px;
        min-height: 250px;
        height: 100%;
        margin-left: 0px;
    }

    /* ============================
     *  전체 레이아웃 & 컬러 토큰
     * ============================ */
    :root {
        --burgundy: #6E0F11;
        /* 페이지 배경 버건디 */
        --burgundy-dark: #4f0b0c;
        --line: #8a4f50;
        /* 표 경계선(버건디 톤의 라인) */
        --text: #ffffff;
        /* 기본 텍스트(흰색) */
        --muted: #e9e9e9;
        /* 보조 텍스트(연회색) */
        --yellow: #F1D64B;
        /* 하이라이트 노랑 */
        --black: #111;
    }


    /* 카드 컨테이너 (이미지와 유사한 라운드 상자) */
    .card {
        width: 100%;
        background: linear-gradient(180deg, var(--burgundy) 0%, var(--burgundy-dark) 100%);
        border-radius: 16px;

        box-shadow: 0 14px 40px rgba(0, 0, 0, .25);
        border: 1px solid #3d090a;
    }

    /* 상단 타이틀(노란 강조 라인 포함) */
    .title {
        font-size: 22px;
        font-weight: 900;
        letter-spacing: .2px;
        margin: 0 0 14px;
        line-height: 1.2;
        position: relative;
        padding-left: 10px;
    }

    .title::before {
        content: "";
        position: absolute;
        left: 0;
        top: .2em;
        width: 6px;
        height: 1.2em;
        border-radius: 2px;
        background: var(--yellow);
    }

    /* 표 */
    table {
        width: 100%;
        text-align: center;
        border-collapse: collapse;
        /* 경계선 한 줄로 */
        border-radius: 0px;
        border: 1px solid #000 !important;

    }

    /* 헤더 */
    thead th {
        background: rgba(0, 0, 0, 1);
        font-weight: 800;
        font-size: 18px;
        padding: 15px 14px !important;
        color: #fff;
        border-bottom: 1px solid var(--line);
        text-align: center;
    }

    /* 본문 셀 공통 */
    tbody td {
        padding: 14px 14px !important;
        border-bottom: 1px solid var(--line);
        vertical-align: middle;
        font-size: 20px;
    }

    /* 첫번째 열(구분) 약간 굵게 */
    tbody td.col-name {
        font-weight: 800;
        width: 34%;
        vertical-align: middle;
        line-height: 1;
        padding: 18px 0 !important;
    }

    /* 가운데 열(내용) */
    tbody td.col-desc {
        width: 43%;
        color: var(--muted);
        font-weight: 600;
        padding: 20px 0 !important;
        line-height: 1.2;
    }

    /* 설명의 보조 캡션(작은 회색 글씨) */
    .caption {
        display: block;
        font-size: 10px;
        color: #cfcfcf;
        margin-top: 0px;
        line-height: 1.2;
        letter-spacing: 0;
        font-weight: 500;
    }

    /* 마지막 열(퍼센트) 가운데 정렬 */
    tbody td.col-perc {
        width: 23%;
        text-align: center;
        font-weight: 800;
    }

    /* 합계/수익률 행 */
    tfoot td {
        padding: 10px 5px !important;
        background: #17100a;
        /* 검붉은 바탕 */
        border-top: 2px solid #24160e;
        font-weight: 900;
        font-size: 20px;
    }

    tfoot td.col-name {
        color: #fff;
    }

    /* 수익률 금액 칸을 노란 배지처럼 */
    .highlight {
        display: inline-block;
        background: var(--yellow);
        color: var(--black);
        padding: 6px 10px;
        border-radius: 6px;
        font-weight: 900;
        box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .12);
    }

    /* 경계선은 셀 내부 그림자(보더 없이 구분) */
    .cost-table tbody td {
        box-shadow: inset 0 -1px 0 #8a4f50;
        /* 행 구분 */
    }

    .cost-table tbody td+td {
        box-shadow: inset 1px 0 0 #8a4f50,
            inset 0 -1px 0 #8a4f50;
        /* 열 + 행 구분 */
    }

    .cost-table {
        transform: translateZ(0);
    }

    .tbl-wrap {
        /* ← 기존 테이블 border 대체 */
        border-radius: 8px;
        /* 필요 시 */
    }

    .cost-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        border: 0;
        /* 실제 border 제거 */
        border-radius: 8px;
        /* 필요 시 */
        background: transparent;
    }

    table {
        border-collapse: separate !important;
        /* 테이블 테두리를 분리합니다. */
        border-spacing: 0 !important;
        /* 테두리 간격을 없앱니다. */
        border: none !important;
        /* 모든 테두리를 제거합니다. */
        caption-side: top !important;
        /* 캡션 위치를 위쪽으로 설정합니다. */
        empty-cells: show !important;
        /* 빈 셀의 내용을 보여줍니다. */
        table-layout: auto !important;
        /* 테이블 레이아웃을 자동으로 설정합니다. */
        width: 100% !important;
        /* 너비를 내용에 맞게 자동으로 설정합니다. */
        margin: 0 !important;
        /* 외부 여백을 모두 제거합니다. */
        padding: 0 !important;
        /* 내부 여백을 모두 제거합니다. */
        background-color: transparent !important;
        /* 배경색을 투명하게 설정합니다. */
    }

    /* 테이블의 a, th, td 요소에도 적용할 수 있는 초기화 코드입니다. */
    thead,
    tbody,
    tfoot,
    tr,
    th,
    td {
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        font-weight: normal !important;
        /* 글자 굵기를 보통으로 설정합니다. */
        vertical-align: middle !important;
        /* 수직 정렬을 중간으로 설정합니다. */
    }

    .cost-name {
        width: 35%;
    }

    .graph_box {
        border-radius: 0 32px 32px 0;
        padding: 50px 30px 40px !important;
        display: inline-block;
        width: 100%;
        text-align: center;
    }

    .graph_box .graph_title h2 {
        background: #6e0002;
        padding: 14px 20px 6px;
        text-align: center;
        border-radius: 12px;
        color: #fff;
        line-height: 1.2;
        font-size: 46px;
        margin-bottom: 10px;
    }

    .under_table_group {
        width: 100%;
        display: block;
        background: #000;
        min-height: 100%;
        margin-top: -50px;
        z-index: -1;
    }

    .under_table_group .right-table-price {
        background: #2a260d;
        padding-left: 0rem;
        border-radius: 42px 0 0 42px;
        min-height: 50vh;
        margin-top: 50px;
        padding-top: 50px;
    }

    .under_table_group .left-table-price {
        background: #000000;
        border-radius: 42px 0 0 42px;
        min-height: 100vh;
        margin-top: -250px;
        padding-top: 200px;
    }

    .under_table_group .decos {
        padding-top: 100px;
        margin-top: 0px;
        position: relative
    }

    .under_table_group .deco_img {
        position: absolute;
        top: 80px;
        left: 0px;
    }

    .under_table_group .deco_img img {
        max-width: 140px;
    }

    .under_table_group .sec-title3 {
        font-size: 18px;
        padding: 0 15px;
        margin-bottom: 0
    }


    .review_contents {}

    .review_contents .deco_star01 {
        padding-left: 10px !important
    }

    .review_contents .deco_star02 {
        padding-left: 30px !important
    }

    .review_contents .sec-title {
        font-size: 2.6rem;
    }

    .review_contents .deco_star01 img {
        max-width: 60px !important;
    }

    .review_contents .deco_star02 img {
        max-width: 60px !important;
    }

    .review_contents .review_description {
        margin-bottom: 50px !important;
        font-weight: 400 !important;
        font-size: 18px !important;
        line-height: 1 !important;
        position: relative;
    }

    .review_contents .slider-area {
        margin-top: 40px;
    }

    .mbgs09 .card-custom {
        margin-top: 100px;
        border-radius: 8px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        margin-bottom: 20px;
        height: auto;
        /* 부모 높이에 맞춤 */
        display: block;
        /* Flexbox 사용 */
        flex-direction: column;
        /* 세로 방향으로 아이템 정렬 */
        background-color: #fff;
    }

    .mbgs09 .card-header-custom {
        background-color: #343a40;
        /* 어두운 배경색 */
        color: white;
        padding: 15px;
        font-size: 1.25rem;
        font-weight: bold;
        text-align: center;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        position: relative;
        z-index: 1;
        /* 말풍선이 다른 요소 위에 오도록 */
    }

    /* 말풍선 스타일 */
    .mbgs09 .speech-bubble {
        color: white;
        padding: 8px 15px;
        border-radius: 20px;
        position: relative;
        /* 절대 위치 */
        margin-top: -200px;
        white-space: nowrap;
        /* 텍스트 줄바꿈 방지 */
        font-size: 1.1rem;
    }

    /* 말풍선 스타일 */
    .mbgs09 .speech-bubble img {
        max-width: 200px;
    }

    .mbgs09 .card-body-custom {
        padding: 20px;
        color: #fff !important;
        flex-grow: 1;
        /* 남은 공간을 채우도록 설정 */
        display: flex;
        flex-direction: column;
        background: #343a40;
        justify-content: space-between;
        /* 내용과 이미지를 위아래로 정렬하고 사이 공간 배분 */
    }

    .mbgs09 .card-text-custom {
        font-size: 18px;
        padding: 0 15px;
        text-align: center;
        line-height: 1.3;
        color: #fff !important;
        margin-bottom: 30px !important;
        /* 이미지와의 간격 */
    }

    .mbgs09 .card-img-bottom-custom {
        width: 100%;
        height: auto;
        /* 원본 비율 유지 */
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        display: block;
        /* 이미지 하단 여백 제거 */
        margin-top: auto;
        /* Flexbox에서 이미지를 하단으로 정렬 */
    }

    .mbgs09 .star_deco {
        top: -40px;
        left: 13%
    }

    .mbgs09 .star_deco img {
        max-width: 58px;
    }


    .mbgs09 .sec-title3 {
        font-size: 16px !important;
        line-height: 1.4 !important;
        margin-top: 20px;
    }


    .mbgs09 .title-area {
        margin-top: 50px;
    }

    .mbgs10 {
        margin-top: -80px;
        position: relative
    }

    .mbgs10 .testi-1-item {
        border: 5px solid #ffde00;
        padding: 10px;
        position: relative
    }

    .mbgs10 .testi-1-item .client-thumb {
        position: absolute;
        top: 300px;
        right: -8%;
    }

    .mbgs10 .testi-1-item .client-thumb img {
        max-width: 70% !important;
    }

    .mbgs10 .testi-1-item .map-image-grow {
        max-width: 100%;
    }

    .mbgs10 .testi-1-item .maps_img {
        width: 100%;
        display: block
    }

    .mbgs10 .sec-title3 {
        font-size: 16px;
        line-height: 1.2;
    }

    .mbgs11 {
        background: #191919
    }

    .mbgs11 .star_deco {
        top: -50px;
        left: 15px !important;
        margin-left: -0px;
    }

    .mbgs11 .star_deco img {
        max-width: 120px;
    }

    .mbgs11 .sec-title:first-child {
        font-size: 2.2rem !important;
        margin-bottom: 10px;
    }

    .mbgs11 .sec-title:nth-child(2) {
        font-size: 1.5rem !important;
        margin-bottom: 10px;
    }

    .mbgs11 .sec-title2 {
        font-size: 24px !important;
        line-height: 1.4;
        margin-top: 20px
    }

    .mbgs11 .sec-title3 {
        font-size: 16px;
        line-height: 1.2;
    }

    .mbgs11 .redbox {
        background: #630a0a;
        padding: 20px 0;
        margin-top: 40px
    }

    .mbgs11 .redbox h2 {
        margin-top: 0 !important;
    }




    /* 상단 검정 헤더(구분/내용) */
    .section-head {
        background: var(--header-bg);
        color: #fff;
        font-weight: 900;
        padding: 10px 12px;
        border-radius: 0px;
        text-align: center;
        letter-spacing: .4px;

    }

    /* 좌/우 칼럼 모두 같은 줄 수를 갖는 그리드 */
    .rows {
        display: grid;
        grid-template-rows: repeat(10, minmax(32px, 10fr));
        /* 이미지처럼 총 10행 */
        border-radius: 0px;
        overflow: hidden;
    }

    /* 좌측(구분) 셀 */
    .row-left {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: 14px;
        padding: 0px 8px;
        color: var(--muted);
        line-height: 1;
        background: #666666 !important;
        font-weight: 400 !important;
        /* 얇은 라인은 inset shadow로 (흰줄 현상 방지) */
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .row-left strong {
        color: #fff;
        font-weight: 200 !important;
    }

    .row-right strong {
        color: #fff;
        font-weight: 200 !important;
    }

    /* 우측(내용) 셀 */
    .row-right {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 12px 8px;
        color: #fff;
        font-weight: 400 !important;
        font-size: 16px !important;
        background: #666666 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .row-right img {
        padding: 6px 0 5px
    }

    .row-right:last-child {
        border-bottom: 0;
    }

    .row-left:last-child {
        border-bottom: 0;
    }

    /* “면제” 폭발(스타버스트) 배지 – SVG */
    .burst {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transform: translateZ(0);
    }

    .burst svg {
        width: 130px;
        height: auto;
    }


    .mbgs12 {}

    .mbgs12 .title-area {
        padding-top: 50px !important;
        width: 100%;
        display: block
    }

    .mbgs12 .section-title {
        text-align: center;
        color: white;
        font-weight: 600;
        margin-bottom: 1.5rem;
    }

    .mbgs12 .step-card {
        background-color: #ffffff;
        border-radius: 20px;
        padding: 20px 10px 15px 10px;
        text-align: center;
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
        position: relative;
        height: 100%;
    }

    .mbgs12 .step-number {
        position: absolute;
        top: 15px;
        left: 15px;
        background-color: #6e0002;
        color: white;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
        font-weight: 700;
        border: 3px solid #6e0002;
    }

    .mbgs12 .step-card .icon {
        width: 70px;
        height: 70px;
        margin: 50px auto 10px;
    }

    .mbgs12 .step-title {
        font-size: 18px;
        font-weight: 500;
        color: #630a0a;
        margin-top: 10px;
        margin-bottom: 5px;
    }

    .mbgs12 .step-subtitle {
        font-size: 0.9rem;
        color: #666;
    }

    .mbgs12 .info-section {

        color: white;
        text-align: center;
        padding-bottom: 50px;
    }

    .mbgs12 .info-text {
        font-size: 16px;
        font-weight: 400;
        padding: 0rem;
    }

    .mbgs12 .sec-title {
        font-size: 2.6rem !important;
        line-height: 1.3 !important;
        margin-bottom: 5px !important;
    }

    .mbgs12 .star_deco {
        top: 0px;
        left: 45%;
        margin-left: -63px
    }

    .mbgs12 .star_deco img {
        max-width: 80px;
    }

    .mbgs12 .info-section_ul {
        padding-top: 0px;
        padding-bottom: 0px;
        margin-bottom: 60px
    }

    .mbgs12 .info-section_ul ul {
        background: rgba(255, 255, 255, 0.3);
        padding: 25px 25px 25px 45px;
        border-radius: 16px
    }

    .mbgs12 .info-section_ul li {
        padding-left: 5px;
        word-break: keep-all
    }

    .mbgs12 .info-section_ul li p {
        font-size: 1.2rem !important
    }

    .mbgs12 .info-section_ul li:last-child p {
        margin-bottom: 0 !important
    }

}

/* 반응형: 화면이 작아지면 글씨와 패딩 축소 */
@media (max-width: 560px) {
    .title {
        font-size: 18px;
    }

    thead th {
        font-size: 13px;
        padding: 10px
    }

    tbody td {
        font-size: 13px;
        padding: 10px;
        line-height: 1.3;
    }

    tfoot td {
        font-size: 14px;
        padding: 12px 10px
    }

    .caption {
        font-size: 11px;
    }
}