@charset "utf-8";

/* 내용관리 */
#ctt { margin: 0; padding: 0; background: #fff; }

/* ★ 크롬에서 배경이미지 확대/축소 시 흐려지는 현상 완화 (image-rendering만 유지 -
   translateZ(0)은 고정헤더 근처에서 고스트 렌더링 버그 유발해서 제거) */
.biz-mapIcon,
.biz-h4 img,
.biz-program dl::before,
.biz-facility-list li::before {
    image-rendering: -webkit-optimize-contrast;
}

.sp-wrap {
    max-width: 1440px;
    margin: 0 auto;
}

/* 타이틀 */
.sp-title {
    font-family: var(--t-pre-md-40-font) !important;
    /* ★ 2026-07: clamp()로 연속 축소 (PC 40px ~ 375px 24px) */
    font-size: clamp(1.5rem, 1.15rem + 1.5vw, var(--t-pre-md-40-size));
    font-weight: var(--t-pre-md-40-weight);
    color: var(--text-dark, #222);
    margin: 0 0 20px; /* 모든 내용관리 공통 기본값 - 페이지별 재정의 불필요 */
    text-align: center;
}

/* 언더라인: 좌측 절반 테마컬러 + 우측 절반 회색, 66x4px, 중앙 정렬
   ★ 테마 분기는 head.php에서 부여한 body.gr-* 클래스 기준 */
.sp-title-line {
    width: 66px;
    height: 4px;
    margin: 0 auto 40px;
    background: linear-gradient(
        to right,
        #666666 0%, #666666 50%,
        #666666 50%, #666666 100%
    );
}
/* 내용관리 콘텐츠 페이지 공통: title-line 하단 여백 80px로 통일
   (인사말/비전및연혁/재단연혁/조직도/산하시설/이용안내/홍보센터/자원봉사/후원안내/브랜드소개/출장세차 등
   과거 페이지마다 제각각이던 값을 여기 한 곳에서 관리) */
.sp-wrap:has(.page-greeting) .sp-title-line,
.sp-wrap:has(.biz-vision-page) .sp-title-line,
.sp-wrap:has(.history-wrap) .sp-title-line,
.sp-wrap:has(.org-wrap) .sp-title-line,
.sp-wrap:has(.branch-wrap) .sp-title-line,
.sp-wrap:has(.biz-info-page) .sp-title-line,
.sp-wrap:has(.work-brand-page) .sp-title-line,
.sp-wrap:has(.biz-carwash-page) .sp-title-line,
.sp-wrap:has(.biz-promo-page) .sp-title-line,
.sp-wrap:has(.biz-volunteer-page) .sp-title-line,
.sp-wrap:has(.biz-support-page) .sp-title-line,
.sp-wrap:has(.biz-product-page) .sp-title-line,
.sp-wrap:has(.legal-page) .sp-title-line {
    margin-bottom: 70px;
}


body.gr-foundation .sp-title-line {
    background: linear-gradient(
        to right,
        var(--mega-orange) 0%, var(--mega-orange) 50%,
        #666666 50%, #666666 100%
    );
}
body.gr-town .sp-title-line,
body.gr-new .sp-title-line,
body.gr-work .sp-title-line {
    background: linear-gradient(
        to right,
        var(--mega-green) 0%, var(--mega-green) 50%,
        #666666 50%, #666666 100%
    );
}

/* 본문 */
.sp-content {
    font-size: 16px;
    color: #444;
    line-height: 1.8;
}
.sp-content p {
    word-break: normal; /* default.css의 전역 "p { word-break:break-all }" 때문에
                            영어 단어까지 아무데서나 끊기던 문제(예: "to-uch") 방지 */
    overflow-wrap: break-word; /* 정말 너무 긴 단어만 예외적으로 줄바꿈 */
}
.sp-content img {
    max-width: 100%; /* 에디터로 직접 삽입한 이미지(전용 클래스 없는 것들)가 좁은 화면에서 우측으로
                         넘치던 문제 방지 - 전역 안전장치. 원본보다 커지진 않으니 PC 화질엔 영향 없음 */
    height: auto;
}
.sp-content table {
    width: 100%;
    border-collapse: collapse;
}
.ctt_img { text-align: center; }



/* 내용관리 내부에 탭 기능 구현 */

.biz-tab-wrap li:last-child a,
.biz-tab-wrap td:last-child a,
.biz-tab-table td:last-child a {
  border-right: 1px solid #ddd;
}

.biz-tab {
  width: 100%;
  min-height: 69px;
  padding: 14px 10px;
  word-break: keep-all; /* body의 전역 word-break:break-all 때문에 <wbr> 힌트 무시하고 글자 중간에서 끊기던 문제 */
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  font-family: var(--t-pre-md-20-font);
  font-weight: var(--t-pre-md-20-weight);
  font-size: var(--t-pre-md-20-size);
  color: #929191;
  border-left: 1px solid #ddd;
  border-top: 1px solid #ddd;
  border-bottom: 2px solid #333;
}

.biz-tab.on {
  background: #fff;
  border: 2px solid #333 !important;
  border-bottom: none !important;
  color: #000;
}

  .biz-check {
    margin-top: 110px;
    font-size: 28px;
    color: #2ab6ad;
    font-weight: 400;
    text-align: center;
  }

  .biz-check span {
    color: #f0772e;
    font-weight: 600;
  }

  .biz-img-list {
    margin-top: 50px;
    list-style: none;
    padding: 0;
    text-align: center;
    font-size: 0;
  }

  .biz-img-list li {
    display: inline-block;
    vertical-align: top;
    padding: 0 5px;
    box-sizing: border-box;
  }

  .biz-img-list li img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block;
  }

  



/* 내용관리의 찾아오시는길 */

.biz-map {
    overflow: hidden;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
  }

  .biz-map img {
    width: 100%;
    height: auto;
    display: block;
  }

  .biz-mapM {
    overflow: hidden;
    width: 100%;
    max-width: 768px;
    margin: 0 auto;
    display: none;
  }

  .biz-mapM img {
    width: 100%;
    height: auto;
    display: block;
  }

  .biz-mapBox {
    position: relative;
    margin-top: -6px;
    padding: 1.5rem 5rem;
    border: 1px solid #ddd;
    background: #f8f8f8;
    box-sizing: border-box;
  }

  .biz-mapBox:after {
    content: "";
    display: block;
    clear: both;
    visibility: hidden;
  }

  .biz-mapBox ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.9rem;
    line-height: 1.6rem;
    color: #222;
  }

  .biz-mapBox ul li {
    margin-bottom: 2px;
  }

  .biz-mapBox ul li:last-child {
    position: absolute;
    top: 0.9rem;
    right: 5rem;
    width: 4.15rem;
    height: 4.15rem;
    border-radius: 100px;
    background: #333;
    text-align: center;
    margin-bottom: 0;
  }

  .biz-mapBox ul li:last-child a {
    display: block;
    padding-top: 0.9rem;
    color: #fff;
    text-decoration: none;
    font-size: 0.8rem;
  }

  .biz-mapIcon {
    display: block;
    margin: 0 auto;
    width: 1rem;
    height: 1.7rem;
    background: url('../../../theme/sg/images/sub/map_icon.png') 0 no-repeat;
    background-size: contain;
  }

  


  /* ===== 이용안내 (타운/새로e/장성군 공통) ===== */


.biz-info-page {
    width: 100%;
}

.biz-tab-table {
    width: 100%;
    margin: 0 0 20px;
    border-collapse: collapse;
}

.biz-panel {
    margin-top: 100px; /* table -> biz-panel, 그리고 패널 간 여백 통일 */
}

.biz-panel h4 {
    margin: 0;
    font-family: var(--t-pre-md-20-font);
    font-weight: var(--t-pre-md-20-weight);
    font-size: var(--t-pre-md-20-size);
    color: #000;
}
.biz-panel h4::before {
    content: "";
    display: inline-block;
    width: 0.95rem;
    height: 0.95rem;
    margin: -2px 16px 0 0; /* 아이콘 - 텍스트 간격 16px */
    background: url("../../../theme/sg/images/sub/h4Before.png") left top 50% no-repeat;
    vertical-align: middle;
}

/* ---- 1탭: 장애인 직업재활 소개 ---- */

.biz-intro-text {
    margin-top: 35px; /* 첫 h4 -> div (통일) */
    padding-left: 40px;
    font-family: var(--t-pre-rg-18-font);
    font-weight: var(--t-pre-rg-18-weight);
    font-size: var(--t-pre-rg-18-size);
    color: #666;
}

.biz-intro-img {
    margin-top: 100px; /* txt01 -> 이미지 */
}
.biz-intro-img img {
    display: block;
    width: 100%;
    height: auto;
}

.biz-panel h4.biz-program-title {
    margin-top: 50px; /* 이미지 -> 두번째 h4 (통일) */
}

.biz-program {
    margin-top: 35px; /* h4 -> program div (통일) */
    list-style: none;
    padding: 0;
}
.biz-program dl {
    display: flex;
    flex-direction: column;
    justify-content: center; /* 타겟처럼 dt+dd 텍스트 묶음을 dl 안에서 세로 중앙정렬 -
                                 아이콘(가운데 정렬)이랑 텍스트가 서로 안 맞물려 보이던 문제 방지 */
    position: relative;
    width: 100%;
    min-height: 175px;              /* 고정 height 대신 최소값 - 텍스트 길어져도 안 밀림 */
    box-sizing: border-box;
    padding: 20px 0 20px 193px;     /* 상하 대칭 여백(중앙정렬은 flex가 담당) / 좌측 193(아이콘+간격) */
}
.biz-program dl::after {
    content: "";
    position: absolute;
    left: 193px;   /* 아이콘 영역(0~193px) 제외하고 텍스트 영역부터만 선 표시 */
    right: 0;
    bottom: 0;     /* padding-bottom 60px 덕분에 항상 dd로부터 60px 아래 위치 */
    height: 1px;
    background: #dbdbdb;
}
.biz-program dl:last-child::after {
    display: none;
}
.biz-program dl::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50px;
    transform: translateY(-50%); /* 타겟처럼 세로 중앙정렬 - 고정 top이었을 때 텍스트 줄수가 많아지면
                                     아이콘이랑 텍스트 블록이 안 맞물려 보이던 문제 방지 */
    width: 93px;
    height: 109px;
    background-repeat: no-repeat;
    background-size: contain;
}
.biz-program dl.program01::before { background-image: url("../../../theme/sg/images/sub/program_img01.png"); }
.biz-program dl.program02::before { background-image: url("../../../theme/sg/images/sub/program_img02.png"); }
.biz-program dl.program03::before { background-image: url("../../../theme/sg/images/sub/program_img03.png"); }
.biz-program dl.program04::before { background-image: url("../../../theme/sg/images/sub/program_img04.png"); }
.biz-program dl.program05::before { background-image: url("../../../theme/sg/images/sub/program_img05.png"); }

.biz-program dt {
    font-family: var(--t-pre-rg-18-font);
    font-weight: var(--t-pre-rg-18-weight);
    font-size: var(--t-pre-rg-18-size);
    color: #000;
}
.biz-program dd {
    margin: 0;
    font-family: var(--t-pre-lt-18-font);
    font-weight: var(--t-pre-lt-18-weight);
    font-size: var(--t-pre-lt-18-size);
    color: #666;
}

/* ---- 2탭: 접수방법 & 내용 ---- */

.biz-apply h4 {
    /* .biz-panel h4 공통 스타일 상속 */
}
.biz-apply ul {
    margin: 35px 0 0; /* h4 -> ul (통일) */
    list-style: none;
    padding: 24px;
    display: flex;
    align-items: center;
    border: 1px solid #ebebeb;
    border-radius: .15rem;
    background-repeat: no-repeat;
    background-position: 65px center; /* 좌측에서 65px 떨어진 위치 - 아이콘은 원본 크기 그대로(강제 축소 없음) */
}
.biz-apply li {
    position: relative;
}
.biz-apply li:first-child {
    width: 70%;
    padding: 24px 20px 24px 265px; /* 텍스트-after선 간격 80px → 20px로 축소 */
    box-sizing: border-box;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #000;
}
.biz-apply li:first-child::after {
    content: '';
    position: absolute;
    right: 0;
    top: 32px;
    bottom: 30px;
    width: 1px;
    background: #acacac;
}
.biz-apply li:last-child {
    width: 30%;
    box-sizing: border-box;
    padding-left: 25px; /* after선 -> 2번째 li 텍스트 87px → 25px로 축소 */
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #000;
}
.biz-apply li:last-child .info-row {
    display: flex;
    align-items: baseline;
}
.biz-apply li:last-child .info-row .label {
    flex: 0 0 70px;
    text-align: right; /* 라벨 글자 길이가 다 달라서(FAX vs 한글 3글자) 콜론 위치가 흔들리던 문제 -
                           박스 우측에 딱 맞춰서 콜론 시작 위치를 통일 */
}
.biz-apply li:last-child .info-row .value {
    margin-left: 8px;
}
.biz-apply li:last-child .info-row .label::after {
    content: ':';
    margin-left: 4px;
}

.biz-apply-flow {
    margin: 70px auto 0; /* ul -> div, 가운데 정렬 */
    max-width: 100%;
}
.biz-apply-flow img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.biz-employ {
    margin-top: 50px; /* div -> 다음 h4 (통일) */
}
.biz-employ ul {
    margin: 35px 0 0; /* h4 -> ul (통일) */
    list-style: none;
    padding: 0;
    display: flex;
    gap: 30px; /* 38px → 타겟과의 잔여 폭 차이(약 21px) 보정 위해 조금 더 좁힘 */
}
.biz-employ li {
    position: relative;
    flex: 1;
    border: 1px solid #ebebeb;
}

.biz-employ .title {
    display: flex;
    align-items: stretch;
    height: 105px;
    background: #ebebeb;
    margin: 0;
}
.biz-employ .num {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 88px;
    width: 88px;
    height: 105px;
    background: #008d62;
    font-family: 'Paperlogy', sans-serif;
    font-weight: 400;
    font-size: 44px;
    color: #fff;
}
.biz-employ .titles {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Paperlogy', sans-serif;
    font-weight: 400;
    font-size: 23px;
    color: #000;
}
.biz-employ .conts {
    margin: 0;
    padding: 24px;
    box-sizing: border-box;
    text-align: left;
}
.biz-employ .conts-text {
    word-break: keep-all; /* 한글 단어 중간에서 이상하게 끊기던 문제(예: "취업\n기회 제공") 방지 */
    font-family: var(--t-pre-md-20-font);
    font-weight: var(--t-pre-md-20-weight);
    font-size: var(--t-pre-md-20-size);
    color: #666;
}
.biz-employ .conts img {
    float: right;
    margin: 4px 0 12px 16px; /* 타겟 사이트 방식: float로 띄워서 글자가 자연스럽게 감싸며 흐르게 */
}

#ctt_con .business { text-align: center; }
#ctt_con .business p { margin-top: 5.5rem; font-size: 1.4rem; color: #2ab6ad; font-weight: 400; }
#ctt_con .business span { font-size: 1.4rem; color: #f0772e; font-weight: 600; }
#ctt_con .business ul { margin-top: 2.5rem; display: flex; justify-content: space-around; }
#ctt_con .business ul li { margin-right: .5rem; }
#ctt_con .business ul li:last-child { margin-right: 0; }
#ctt_con .business ul li img { width: 100%; }

/* 새로e 인사말 hero 구조 (인사말 페이지에서 계속 사용) */

.biz-hero {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 3rem;
  }

  .biz-hero-inner {
    position: relative;
    width: 100%;
    overflow: visible;
    padding-bottom: 8rem;
  }

  .biz-hero-bg {
    display: block;
    width: 100%;
    height: auto;
  }

  .biz-hero-people {
    position: absolute;
    left: 50%;
    top: 20%;
    transform: translateX(-50%) scale(1.06);
    width: 62%;
    height: auto;
  }

  .biz-hero-content {
    margin-top: 100px; /* 이미지 - 텍스트 그룹 간격 100px (기존 4rem) */
  }

  


  /* 장성군 브랜드소개 페이지 */


.work-brand-page {
    width: 100%;
}

.work-brand-hero {
    padding: 115px 55px 70px;
    box-sizing: border-box;
    text-align: center;
    background: #f5f5f5;
}

.work-brand-logo {
    padding: 30px;
    margin: 0 auto 65px; /* 이미지 -> 텍스트 65px */
    width: 100%;
    box-sizing: border-box;
}
.work-brand-logo img {
    max-width: 775px;
    width: 100%;
    height: auto;
}

.work-brand-lead {
    margin: 0 0 25px;
    font-family: 'Paperlogy', sans-serif !important;
    font-weight: 300; /* Paperlogy 3Light */
    font-size: 25px;
    line-height: 36px;
    color: #8e8e8e; /* 베이스 컬러 */
}
.work-brand-lead .name {
    color: #594a45;
}
.work-brand-lead .accent {
    color: #c2543b;
    font-weight: 600;
}

.work-brand-desc {
    margin: 0 0 55px; /* 텍스트 -> brand-wrap 55px */
    font-family: 'Pretendard', sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 28px;
    color: #8e8e8e;
}

  .work-brand-wrap{
    display:flex;
    justify-content:center;
    gap:25px;
    width:100%;
  }
  .work-brand-card{
    width:420px;
    height:300px;
    box-sizing:border-box;
    border-radius:16px;
    overflow:hidden;
    background-repeat:no-repeat;
    background-position:center top;
    background-size:100% 100%;
    padding:35px 22px 40px;
    text-align:left;
  }
  .work-brand-card .tit{
    margin:0 0 20px;
    font-family: var(--t-pre-md-20-font);
    font-weight: var(--t-pre-md-20-weight);
    font-size: var(--t-pre-md-20-size);
    color:#5a4b46;
    text-align:center;
  }
  .work-brand-card .desc{
    display:block;
    font-family: var(--t-pre-lt-17-font);
    font-weight: var(--t-pre-lt-17-weight);
    font-size: var(--t-pre-lt-17-size);
    color:#666666;
    line-height:24px;
  }
  

  /* 재단*/
  /* ===== HISTORY 배너 ===== */
.history-banner {
  position: relative;
  width: 100%;
  max-width: 1440px; /* 내용관리 공통 규칙: content width 1440px */
  margin: 0 auto;
  border-radius: 4px;
  overflow: hidden;
}
.history-banner-bg {
  display: block;
  height: auto;
}
.history-banner-bg-m {
  display: none; /* 모바일에서만 보임 - biz-map/biz-mapM 이랑 동일 패턴 */
}
.history-banner-text {
  position: absolute;
  left: calc(50% + 68px); /* 중앙으로부터 68px 떨어진 위치에서 시작 */
  top: 50%;
  transform: translateY(-50%);
  text-align: left;
  color: #06437f;
}
.history-banner-text strong {
  display: block;
  margin-bottom: 2px;
  font-family: 'Pretendard', sans-serif;
  font-weight: 500;
  font-size: 30px;
}
.history-banner-text p {
  font-family: 'Pretendard', sans-serif;
  font-weight: 500;
  font-size: 18px;
  opacity: .9;
}

/* 재단 연혁 title -> title-line -> 배너 여백 */

/* ===== 타임라인 ===== */
.timeline {
  position: relative;
  max-width: 1440px; /* 내용관리 공통 규칙: content width 1440px */
  margin: 100px auto 0;
}

.timeline-start {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  z-index: 2;
}
.timeline-start img {
  width: 24px;
  height: 24px;
}

.timeline-track {
  position: absolute;
  left: 50%;
  top: 24px; /* 32px였던 게 아이콘(24px 높이) 바로 아래로 안 이어지고 8px 틈이 생기던 문제 */
  bottom: auto; /* JS가 마지막 dot 위치까지 height를 직접 지정 */
  width: 2px;
  background: #e1e1e1;
  transform: translateX(-50%);
}

.timeline-fill {
  position: absolute;
  left: 50%;
  top: 24px;
  width: 2px;
  height: 0px;
  background: #ff7f00;
  transform: translateX(-50%);
  transition: height .4s ease-out;
  z-index: 1;
}

.timeline-list {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}

.timeline-item {
  position: relative;
  width: 100%;
  min-height: 90px;
  margin-bottom: 50px;
  opacity: 0;
  transition: opacity .6s ease, transform .6s ease;
}

.timeline-item[data-side="right"] {
  transform: translateX(30px);
}
.timeline-item[data-side="left"] {
  transform: translateX(-30px);
}

.timeline-item.is-active {
  opacity: 1;
  transform: translateX(0);
}

.timeline-dot {
  position: absolute;
  left: 50%;
  top: 6px;
  width: 14px;
  height: 14px;
  margin-left: -7px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #ccc;
  box-sizing: border-box;
  z-index: 2;
  transition: border-color .3s ease, background .3s ease, box-shadow .3s ease;
}
.timeline-item.is-active .timeline-dot {
  border-color: #ff7f00;
  background: #ff7f00;
  box-shadow: 0 0 0 4px rgba(255,127,0,.15);
}

.timeline-content {
  position: absolute;
  top: 0;
  width: calc(50% - 50px); /* 40px -> 50px */
}
.timeline-item[data-side="right"] .timeline-content {
  left: calc(50% + 50px);
  text-align: left;
}
.timeline-item[data-side="left"] .timeline-content {
  right: calc(50% + 50px);
  text-align: right;
}

.timeline-year {
  font-family: 'Pretendard', sans-serif;
  font-weight: 700;
  font-size: 23px;
  color: #222;
  margin-bottom: 15px;
}
.timeline-desc p {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  font-family: 'Pretendard', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.7;
  color: #666;
}
.month {
  display: inline-block;
  width: 40px;         /* "12월" 기준 고정폭 - desc 텍스트 시작 위치 통일 */
  flex: 0 0 40px;
  font-family: 'Pretendard', sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: #ff7f00;
  white-space: nowrap;
}

/* month 위치: HTML은 항상 month가 먼저 오도록 통일, 좌/우 대칭 연출은 row-reverse로 CSS가 처리 */
.timeline-item[data-side="right"] .timeline-desc p,
.timeline-item:nth-child(odd) .timeline-desc p {
  flex-direction: row;
}
.timeline-item[data-side="right"] .month,
.timeline-item:nth-child(odd) .month {
  margin-right: 20px;
  margin-left: 0;
}
.timeline-item[data-side="left"] .timeline-desc p,
.timeline-item:nth-child(even) .timeline-desc p {
  flex-direction: row-reverse;
}
.timeline-item[data-side="left"] .month,
.timeline-item:nth-child(even) .month {
  margin-left: 20px;
  margin-right: 0;
}



/* data-side 속성 대신 순서로 좌우 결정 */
.timeline-item:nth-child(odd) .timeline-content {
  left: calc(50% + 50px);
  right: auto;
  text-align: left;
}
.timeline-item:nth-child(even) .timeline-content {
  right: calc(50% + 50px);
  left: auto;
  text-align: right;
}

/* 재단 조직도 (별도 페이지 - 비전및연혁의 .biz-org-wrap과 다름, 유지) */


.org-wrap {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.org-inner {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  text-align: center;     /* org-chart-img 가로 중앙정렬 */
}

.org-chart-img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}



/* 재단 산하시설 */


.branch-wrap {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.branch-map {
  width: 100%;
  aspect-ratio: 1440 / 727; /* 고정 height 대신 비율 고정 - 폭이 줄어도 비율 유지하며 흐려지거나 잘리지 않음 */
  margin-bottom: 50px;
}
.branch-map img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover;
}

.branch-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Pretendard', sans-serif;
  font-weight: 400;
  font-size: 18px;
}

.branch-table thead th {
  padding: 14px 12px;
  border-top: 3px solid #ff7f00;
  border-bottom: 1px solid #ff7f00;
  color: #000;
  font-weight: 400;
  text-align: center;
  background: #fafafa;
}

.branch-table tbody td {
  padding: 16px 12px;
  border-bottom: 1px solid #eee;
  color: #666;
  text-align: center;
  vertical-align: middle;
}

.branch-table tbody tr:hover {
  background: #fef6ec;
}




/* =========================================================
   인사말 (재단 / 새로e / 타운 / 장성군 공통) - .page-greeting
   ========================================================= */


.page-greeting {
    width: 100%;
}

.greeting-hero-img {
    display: block;
    max-width: 100%;
    height: auto;
}

.greeting-table {
    width: 100%;
    margin-top: 100px; /* 이미지 - 텍스트 그룹 간격 */
    border-collapse: collapse;
}

.greeting-welcome {
    width: 290px;
    padding: 50px 40px 0 40px;
    font-family: 'Pretendard', sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.4;
    color: #666;
    text-align: right;
    vertical-align: top;
}
.greeting-welcome b {
    font-weight: 700;
}

.greeting-text {
    width: auto;
    padding: 10px 40px 10px 30px;
    font-family: 'Pretendard', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
    color: #666;
    border-left: 2px solid #e1e1e1;
    vertical-align: top;
}

.greeting-signature {
    width: 100%;
    padding: 30px 40px 0 0;
    font-family: 'Pretendard', sans-serif;
    font-size: 25px;
    font-weight: 400;
    color: #000;
    text-align: right;
}


/* =========================================================
   비전및연혁 공통 컴포넌트 (타운 / 새로e / 장성군 공유)
   재단은 위쪽 .history-wrap / .timeline 체계 사용
   ========================================================= */

.biz-vision-page {
    width: 100%;
}


.biz-h4 {
    margin: 0;
    font-family: var(--t-pre-md-20-font);
    font-weight: var(--t-pre-md-20-weight);
    font-size: var(--t-pre-md-20-size);
    color: #000;
}
.biz-h4 img {
    width: 19px;
    height: 19px;
    vertical-align: middle;
    margin-top: -2px;
}
.biz-h4--mission img  { margin-right: 24px; }
.biz-h4--vision img   { margin-right: 20px; }
.biz-h4--facility img { margin-right: 16px; }
.biz-h4--org img      { margin-right: 17px; }
.biz-h4--history img  { margin-right: 17px; }

.biz-mission-table {
    width: 100%;
    margin: 35px 0 50px;
    border-collapse: collapse;
    table-layout: fixed;
}
.biz-mission-table td {
    border: 1px solid #e6e6e6;
}
.biz-mission-table td.biz-mission-gap {
    border: none;              /* .biz-mission-table td 보다 명세를 높여서 확실히 오버라이드 */
    background: transparent;
}
.biz-mission-cell,
.biz-mission-img {
    width: calc(50% - 7px);    /* 14px 여백만큼 반씩 나눠서 뺌 */
}
.biz-mission-gap {
    width: 14px;
}
.biz-mission-cell {
    text-align: center;
    vertical-align: middle;
    padding: 110px 75px;
    box-sizing: border-box;
}
.biz-mission-cell p {
    margin: 0;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 35px;
    color: #666;
}
.biz-mission-img {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.biz-vision-box {
    margin-top: 35px;
    width: 100%;
    height: 300px;
    background: #f8f8f8;
    text-align: center;
    padding-top: 60px;
    box-sizing: border-box;
}
.biz-vision-box p {
    margin: 0;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 25px;
    color: #000;
}
.biz-vision-box .c-primary   { color: #008d62; }
.biz-vision-box .c-secondary { color: #3399ff; }

.biz-vision-icons {
    width: 840px;
    margin: -150px auto 50px;
    border-collapse: collapse;
}
.biz-vision-icons td {
    width: 33.3%;
    text-align: center;
    vertical-align: top;
}
.biz-vision-icons .icon-box {
    width: 229px;
    height: 229px;
    margin: 0 auto;
    background-repeat: no-repeat;
    background-position: center top;
}
.biz-vision-icons i {
    display: block;
    width: 150px;
    margin: 0 auto;
    font-style: normal;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.3;
}
.biz-vision-icons i.c1 { color: #2ab6ad; }
.biz-vision-icons i.c2 { color: #666666; }
.biz-vision-icons i.c3 { color: #35a1b2; }
.biz-vision-icons span {
    display: block;
    margin-top: 20px;
    font-family: var(--t-pre-lt-18-font);
    font-weight: var(--t-pre-lt-18-weight);
    font-size: var(--t-pre-lt-18-size);
    color: #828282;
}

.biz-facility-box {
    margin-top: 35px;
    margin-bottom: 50px;
    padding: 32px 72px; /* 타겟 기준: 2rem 4.5rem */
    border: 1px solid #ebebeb; /* 타겟 기준: #ebebeb (기존 #d7d7d7에서 변경) */
    box-sizing: border-box;
}
.biz-facility-list li {
    position: relative;
    padding-left: 25px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 18px; /* 타겟 0.85rem(13.6px)은 사이트 최소폰트 정책 맞춰 18px 유지 */
    color: #000;
    line-height: 160%;
}
.biz-facility-list li::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: 19px;
    height: 19px;
    background: url("../../../bbs/images/sub/new_e/vision-icon-02.png") no-repeat;
    background-size: contain;
}

.biz-org-wrap {
    margin-top: 35px;
    margin-bottom: 50px;
    padding: 60px 0;
    background: #f8f8f8;
    text-align: center;
    box-sizing: border-box;
}
.biz-org-wrap img {
    max-width: 100%;
    height: auto;
}

.biz-history-table {
    width: 100%;
    margin-top: 35px;
    border-collapse: collapse;
}
.biz-history-year {
    width: 100px;
    padding: 25px 0;
    border-top: 1px solid #55c5bd;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: 30px;
    color: #333;
    text-align: center;
    vertical-align: top;
}
.biz-history-content {
    padding-left: 65px;
    vertical-align: top;
}
.biz-history-inner {
    width: 100%;
    border-collapse: collapse;
}
.biz-history-inner td {
    padding: 25px 15px 25px 13px;
    border-top: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
}
.biz-history-month {
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #35a1b2;
    margin-right: 22px;
}
.biz-history-desc {
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #666;
}
.biz-history-spacer td {
    height: 68px; /* 타겟 기준: margin-bottom:4.25rem - 연도 간 구분감 개선 */
}


/* =========================================================
   모바일 반응형 - 인사말 / 비전및연혁 공통
   ========================================================= */


/* =========================================================
   새로e 출장세차 특징 페이지
   ========================================================= */


.biz-carwash-page {
    width: 100%;
    font-family: 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif;
}

.biz-carwash-hero {
    height: 225px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
}
.biz-carwash-hero h2 {
    margin: 0;
    font-family: 'Paperlogy', sans-serif !important;
    font-weight: 600; /* Paperlogy 6 SemiBold */
    font-size: 65px;
    color: #ffffff;
    letter-spacing: -0.5px;
    line-height: 1.4;
}
.biz-carwash-hero h2 span {
    color: #fffea0;
}

.biz-carwash-products {
    margin-top: 50px; /* hero -> products */
    background-color: #eef0f0;
    padding: 24px 12px;
    box-sizing: border-box;
}
.biz-carwash-products table {
    width: 100%;
    border-collapse: collapse;
}
.biz-carwash-products td {
    width: 23%;
    padding: 0 1% 12px;
    text-align: center;
    vertical-align: top;
}
.biz-carwash-products img {
    max-width: 100%;
    height: auto;
}

.biz-carwash-price {
    margin-top: 55px; /* products -> price */
    padding: 30px 16px;
    box-sizing: border-box;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
}
.biz-carwash-price img {
    max-width: 100%;
    height: auto;
}


.biz-work-price {
    box-sizing: border-box;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
}

.biz-work-price-blank {
    margin-bottom : 30px;
}

.biz-work-price img {
    max-width: 100%;
    height: auto;
}



/* =========================================================
   홍보센터 (타운 / 새로e 공통, 장성군 추후 추가 예정)
   ========================================================= */


.biz-promo-page {
    width: 100%;
}

.biz-promo-page h4 {
    margin: 0;
    font-family: var(--t-pre-md-20-font);
    font-weight: var(--t-pre-md-20-weight);
    font-size: var(--t-pre-md-20-size);
    color: #000;
}
.biz-promo-page h4::before {
    content: "";
    display: inline-block;
    width: 0.95rem;
    height: 0.95rem;
    margin: -2px 16px 0 0;
    background: url("../../../theme/sg/images/sub/h4Before.png") left top 50% no-repeat;
    vertical-align: middle;
}

/* ---- 인증서 ---- */
.biz-cert-list {
    margin-top: 35px;   /* h4 -> 인증서 목록 (통일) */
    margin-bottom: 50px; /* 인증서 목록 -> 다음 h4 (통일) */
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4칸 고정 - 2개면 1,2칸만 채워지고 나머지는 빈 칸 */
    gap: 45px;
}
.biz-cert-list li {
    text-align: center;
}
.biz-cert-list li img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
.biz-cert-list li p {
    margin: 0;
    padding-top: 10px;
    height: 42px;      /* 캡션 영역 고정 - 1줄/2줄이든 li 전체 높이가 페이지마다 달라지지 않게 */
    overflow: hidden;
    font-family: 'Pretendard', sans-serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 1.4;
    color: #666666;
}

/* ---- 우선구매제도 소개 ---- */
.biz-promo-intro {
    margin-top: 35px;   /* h4 -> table (통일) */
    margin-bottom: 55px; /* table -> 적용대상기관 div */
    width: 100%;
    border: 1px solid #acacac;
    border-collapse: collapse;
}
.biz-promo-intro td {
    padding: 28px 35px;
    vertical-align: middle;
}
.biz-promo-intro .icon-col {
    width: 220px;
    text-align: center;
}
.biz-promo-intro .icon-col img {
    display: block;
    margin: 0 auto;
    width: 140px;
    height: auto;
}
.biz-promo-intro p {
    margin: 0;
    font-family: var(--t-pre-rg-18-font);
    font-weight: var(--t-pre-rg-18-weight);
    font-size: var(--t-pre-rg-18-size);
    color: #666666;
}

/* ---- 적용대상기관 ---- */
.biz-promo-scope {
    padding-left: 95px;
    margin-bottom: 60px; /* div -> 다음 테이블 */
}
.biz-promo-scope > p {
    position: relative;
    margin: 0 0 20px;
    padding-left: 25px;
    font-family: var(--t-pre-rg-18-font);
    font-weight: var(--t-pre-rg-18-weight);
    font-size: var(--t-pre-rg-18-size);
    color: #000;
}
.biz-promo-scope > p::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: .8rem;
    height: .8rem;
    border: 2px solid #61b4de;
    border-radius: 100%;
}
.biz-promo-scope-list {
    padding-left: 34px;
}
.biz-promo-scope-list p {
    margin: 0;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 17px;
    color: #000;
}

/* ---- 우선구매제도 상세 배너 테이블 ---- */
.biz-promo-banner {
    width: 100%;
    margin-left: 95px;
    border-collapse: collapse;
}
.biz-promo-banner tr {
    border-top: 1px solid #acacac;
}
.biz-promo-banner tr:last-child {
    border-bottom: 1px solid #acacac;
}
.biz-promo-banner .img-col {
    width: 415px;
    padding: 60px 60px 75px 40px;
    text-align: center;
    vertical-align: middle;
}
.biz-promo-banner .img-col img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}
.biz-promo-banner .text-col {
    padding: 50px 240px 50px 0;
    vertical-align: middle;
}
.biz-promo-banner .text-col p {
    margin: 0 0 20px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #000;
}
.biz-promo-banner .text-col p:last-child {
    margin-bottom: 0;
    font-size: 18px;
    color: #666666;
}



/* =========================================================
   자원봉사안내 (타운 / 새로e)
   ========================================================= */


.biz-volunteer-page {
    width: 100%;
}

.biz-volunteer-page h4 {
    margin: 0;
    font-family: var(--t-pre-md-20-font);
    font-weight: var(--t-pre-md-20-weight);
    font-size: var(--t-pre-md-20-size);
    color: #000;
}
.biz-volunteer-page h4::before {
    content: "";
    display: inline-block;
    width: 0.95rem;
    height: 0.95rem;
    margin: -2px 16px 0 0;
    background: url("../../../theme/sg/images/sub/h4Before.png") left top 50% no-repeat;
    vertical-align: middle;
}

.biz-volunteer-procedure {
    margin-top: 35px;  /* h4 -> 이미지 (통일) */
    margin-bottom: 50px; /* 이미지 -> 다음 h4 (통일) */
    display: flex;
    align-items: center;
    justify-content: center;
}
.biz-volunteer-procedure img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}

.biz-volunteer-contact {
    margin-top: 35px;   /* h4 -> div (통일) */
    margin-bottom: 50px; /* div -> 다음 h4 (통일) */
    min-height: 180px; /* 고정 height 대신 min-height: 줄간격 늘어나도 안 잘림 */
    box-sizing: border-box;
    padding: 35px; /* 상/우/하/좌 전부 35px로 통일 */
    border: 1px solid #acacac;
}
.biz-volunteer-contact p {
    margin: 0 0 12px; /* 줄 사이 여백 (기존 0 -> 12px) */
    font-family: var(--t-pre-rg-18-font);
    font-weight: var(--t-pre-rg-18-weight);
    font-size: var(--t-pre-rg-18-size);
    line-height: 1.4; /* .sp-content의 전역 line-height:1.8 상속 차단 */
    color: #222222;
}
.biz-volunteer-contact p:last-child {
    margin-bottom: 0;
}

.biz-volunteer-issue {
    margin-top: 35px; /* h4 -> div (통일) */
    display: flex;
    align-items: center;
    justify-content: center;
}
.biz-volunteer-issue img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}



/* =========================================================
   후원안내 (타운 / 새로e)
   ========================================================= */


.biz-support-page {
    width: 100%;
}

.biz-support-page h4 {
    margin: 50px 0 35px; /* table1 -> h4 / h4 -> table2 (통일) */
    font-family: var(--t-pre-md-20-font);
    font-weight: var(--t-pre-md-20-weight);
    font-size: var(--t-pre-md-20-size);
    color: #000;
}
.biz-support-page h4::before {
    content: "";
    display: inline-block;
    width: 0.95rem;
    height: 0.95rem;
    margin: -2px 16px 0 0;
    background: url("../../../theme/sg/images/sub/h4Before.png") left top 50% no-repeat;
    vertical-align: middle;
}

/* ---- 후원종류 테이블 ---- */
.biz-support-types {
    width: 100%;
    border-collapse: collapse;
}
.biz-support-types .label {
    width: 140px;
    height: 70px;
    text-align: center;
    vertical-align: middle;
    background: #008d62;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #fff;
}
body.gr-foundation .biz-support-types .label {
    background: var(--mega-orange);
}
.biz-support-types .desc {
    border: 1px solid #acacac;
    padding: 32px 30px 32px 32px; /* 좌/상/하 32px, 우측 기존값 유지 */
    vertical-align: middle;
    font-family: var(--t-pre-rg-18-font);
    font-weight: var(--t-pre-rg-18-weight);
    font-size: var(--t-pre-rg-18-size);
    color: #000;
}
.biz-support-types .spacer td {
    height: 30px;
}

/* ---- 후원방법 (타겟 방식: dl/dt/dd, 아이콘 원본 크기 그대로) ---- */
.biz-support-methods {
    width: 100%;
}
.biz-support-methods dl {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px; /* 타겟 기준: margin-bottom:1.25rem(16px 루트 기준 20px) */
    font-size: 18px; /* 16px(타겟 1rem)에서 사이트 최소폰트 정책(18px)에 맞춰 상향 */
    border: 1px solid #acacac;
    background: #fff;
}
.biz-support-methods dt {
    width: 181px; /* 타겟 기준: width:11.3rem */
    min-height: 158px; /* 타겟 기준: min-height:9.9rem */
    padding-top: 140px;
    color: #222222;
    text-align: center;
    background-repeat: no-repeat; /* 타겟은 dt.dtXX마다 background 통짜로 지정하지만,
                                      우리는 아이콘 경로를 인라인 style로 넣어서 여기서 공통 처리 */
    background-position: center;
}
.biz-support-methods dd {
    width: calc(100% - 181px); /* 타겟 기준: calc(100% - 11.3rem) */
    color: #666666;
}
.biz-support-methods dd p {
    padding: 8px 16px; /* 타겟 기준: .5rem 1rem */
}
.biz-support-methods dd span {
    display: block;
    font-size: 18px; /* dl의 18px을 그냥 상속받게 해도 되지만, 명시적으로 맞춰서 헷갈리지 않게 통일 */
}

.biz-support-note {
    margin-top: 50px; /* table2 -> p */
    margin-bottom: 80px;
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #000000;
}



/* 타운 e-브로슈어 페이지 */
.biz-brochure-btn-table {
    width: 30% !important; /* .sp-content table { width:100% } 오버라이드 */
    margin: 100px auto 30px;
    border-collapse: collapse;
}
/* =========================================================
   법적고지 페이지 공통 (이메일무단수집거부 / 개인정보처리방침 / 이용자권리와인권)
   ★ 2026-07: .biz-volunteer-page h4::before의 아이콘 패턴을 그대로 재사용.
   ========================================================= */
.legal-page {
    width: 100%;
}
.legal-page h4 {
    margin: 0;
    font-family: var(--t-pre-md-20-font);
    font-weight: var(--t-pre-md-20-weight);
    font-size: var(--t-pre-md-20-size);
    color: #000;
}
.legal-page h4::before {
    content: "";
    display: inline-block;
    width: 0.95rem;
    height: 0.95rem;
    margin: -2px 16px 0 0;
    background: url("../../../theme/sg/images/sub/h4Before.png") left top 50% no-repeat;
    vertical-align: middle;
}
.legal-page p {
    font-family: var(--t-pre-lt-18-font);
    font-weight: var(--t-pre-lt-18-weight);
    font-size: var(--t-pre-lt-18-size);
    color: #333;
    margin-left: 24px;   /* 1.2rem */
    margin-bottom: 30px; /* 1.5rem */
}
/* h4보다 위에 오는 인트로 문단: 좌측 여백 없음 */
.legal-page p.intro {
    margin-left: 0;
}
/* h4 -> 본문 간격: 다른 내용관리 페이지(.biz-volunteer-page, .biz-panel 등)와
   동일하게 h4 자체는 margin:0 유지하고, 바로 다음 p에 margin-top 35px 부여 */
.legal-page h4 + p {
    margin-top: 35px;
}
.legal-page h4 + .detail-group {
    margin-top: 35px;
}

/* =========================================================
   문단(그룹) 단위 하단여백
   ★ 원본 html의 <dl> 한 덩어리(조항 하나 + 하위 가/나 등)가
   dl 단위로 하단여백을 가졌던 것과 동일하게, p 태그로 바꾼 지금도
   낱개 p마다 마진바텀을 주지 않고 .detail-group(그룹 wrapper) 단위로만 부여.
   그룹 내부 개별 p는 margin-bottom을 최소화하고, 그룹의 마지막 p에서만
   그룹 전체의 하단여백(30px)을 담당함.
   ★ 그룹 자체도 좌측 24px(그냥 p와 동일 기준선) 부여 → 그 안의 detail-sub는
   자기 own margin-left(24px)이 그룹 마진 위에 더해져서 총 48px로 한 단계 더 들어감. */
.legal-page .detail-group {
    margin-left: 24px;   /* 1.2rem, 그냥 p와 동일한 기준선 */
    margin-bottom: 0;
}
/* 그룹 안에 제목(볼드) 줄이 있을 때: 그룹의 24px를 상쇄해서
   그냥 p와 같은 기준선(24px)에 위치 -> detail-sub만 한 단계 더 들어가게 */
.legal-page .detail-group p.group-title {
    margin-left: 0;
}
.legal-page .detail-group p {
    margin-bottom: 4px;
}
.legal-page .detail-group p:last-child {
    margin-bottom: 30px; /* 1.5rem, 그룹 전체 하단여백 */
}

/* 세부 하위 p (1./2./3. 조항번호, 불릿(- 항목:), 원문자(①②③) 등) */
.legal-page p.detail-sub {
    color: #7c7c7c;
}
/* 세부의 세부 p: 한 단계 더 들어간 하위 항목(가./나. 등)
   ※ root font-size 20px 기준 환산: 1rem=20px, 0.5rem=10px */
.legal-page p.detail-sub-sub {
    color: #7c7c7c;
    margin-left: 44px;   /* 세부 p 좌측(24px) + 1rem(20px) */
    text-indent: -10px;  /* -0.5rem */
}

/* =========================================================
   .tbl_basic (신고 및 상담 등 일반 표 스타일)
   ========================================================= */
table caption {
  position: relative;
  height: 0;
  font-size: 0;
  line-height: 0;
}
.tbl_basic {
  width: 100%;
  border-top: 2px solid transparent;
  border-bottom: 1px solid transparent;
}
.tbl_basic td {
  text-align: center;
}
.tbl_basic th,
.tbl_basic td {
  padding: 10px 15px;
  border-left: 1px solid transparent;
  border-bottom: 1px solid transparent;
  margin-left: -1px;
  vertical-align: middle;
  font-size: 0.8rem;
  line-height: 140%;
  word-wrap: break-word;
  word-break: break-all;
}
.tbl_basic th:first-child,
.tbl_basic td:first-child {
  border-left: none;
}
.tbl_basic th.trw,
.tbl_basic td.trw {
  border-right: 1px solid #ccc;
}
.tbl_basic tbody th,
.tbl_basic thead th {
  vertical-align: middle;
}
.tbl_basic thead th,
.tbl_basic tfoot th {
  background-image: none;
}
.tbl_basic tbody th {
  color: #333;
}
.tbl_basic thead th {
  color: #333;
  background: #fafafa;
}
.tbl_basic {
  border-top-color: #000;
  border-bottom-color: #ddd;
}
.tbl_basic th,
.tbl_basic td {
  border-left-color: #ccc;
  border-bottom-color: #ccc;
}
.tbl_basic tbody th {
  background-color: #f1f1f1;
}

/* =========================================================
   타운 브랜드(CI) 페이지
   ★ 회색 배경 박스는 부모 컨테이너 폭 100% (기존 인라인 1440px과 동일 효과),
   그 안의 실제 콘텐츠(로고/문구/표)는 1090px로 중앙정렬 + 반응형 축소.
   ========================================================= */
.town-brand-page {
    width: 100%;
    box-sizing: border-box;
    padding: 83px 0 30px;
    text-align: center;
    background: #f5f5f5;
}
.town-brand-box {
    max-width: 1090px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}
.town-brand-logo {
    padding: 30px;
    margin-bottom: 40px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cbcbcb;
    background: #fff;
}
.town-brand-logo img {
    max-width: 775px;
    width: 100%;
    height: auto;
}
.town-brand-lead {
    margin: 0px 0 80px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 300;
    font-size: 25px;
    line-height: 36px;
    color: #8e8e8e;
}
.town-brand-lead em {
    font-style: normal;
}
.town-brand-table {
    width: 100%;
    border-collapse: collapse;
}
.town-brand-table td {
    width: 33.3%;
    text-align: left;
    padding: 0 30px;
    border-right: 1px solid #e8e8e8;
    vertical-align: top;
}
.town-brand-table td:last-child {
    padding-right: 0;
    border-right: none;
}
.town-brand-table .tit {
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: 600;
    color: #000;
}
.town-brand-table .desc {
    font-size: 16px;
    font-weight: 300;
    color: #666;
}

/* ---- 장성군 상품 페이지 (이미지 1개, 반응형) ---- */
.biz-product-page {
    width: 100%;
    margin: 35px 0 50px;
    text-align: center;
}
.biz-product-page img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 1440px; /* 원본(1200~1440px)보다 커지지 않게 - 확대되면서 흐려지는 것 방지 */
    margin: 0 auto;
}

/* ---- 장애인직업재활이란? (mission과 동일한 톤, ul/li로 신규 제작) ---- */
.biz-rehab-plan {
    margin: 35px 0 50px;
}
.biz-rehab-plan ul {
    display: flex;
    gap: 14px;
}
.biz-rehab-plan li {
    width: calc(50% - 7px);
    box-sizing: border-box;
    border: 1px solid #e6e6e6;
    text-align: center;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.biz-rehab-plan li p {
    margin: 0;
    padding: 60px 60px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 500;
    font-size: var(--t-paper-rg-35-size);
    color: #666;
    box-sizing: border-box;
}
.biz-rehab-plan-img {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}