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