@import url("https://cdn.jsdelivr.net/gh/yourusername/your-repo@main/fonts/fonts.css");

:root {
  /* 테두리 색상 */
  --color-border-light: #e7e7e7;
  /* 가는 선(1px) 밝은 회색 */
  --color-header-bg: #f7fcf7;
  /* 연두빛 연한 배경 */
  --color-border-strong: #1a5319;
  /* 진초록 포인트 */
  --color-text-high: #333;
  --color-text-medium: #555;
  /* 본문 중간 톤 */
  --color-text-light: #888;
  /* 부가 설명·부제목 연한 톤 */
  --color-funding-point: #0c2e65;
  --color-funding-light: #f6fbff;

  --color-about-point: #2b2b2b;

  --color-guarantee-point: #4b1953;
  --color-guarantee-light: #fffdff;
  --color-guarantee-medium: #fff9ff;

  --color-text-high: #333;
  --color-text-medium: #555;
  --color-highlight: #e07171;
}

/* ================================================
              funding
================================================ */
.funding_body {
  background-color: #f6fbff;
}

.funding_body .breadcrumb {
  background-color: #0c2e65;
}

.policy-heading_funding {
  display: flex;
  align-items: center;
  color: #0c2e65;
  margin-bottom: 12px;

  font-weight: 600;
  font-family: "THEmpgtB";
  font-size: 20px;
}

/* ================================================
              funding_working
================================================ */
.working_banner_img {
  background: url("/images/sub/funding/working_banner_img.webp");
}

/* 정책자금 지원규모 (테이블) */
.policy-table-wrap {
  overflow-x: auto;
  margin-top: 24px;
}

.policy-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: 0.04rem;
  color: #4a4a4a;
  min-width: 600px;
}

.policy-table th,
.policy-table td {
  padding: 18px 8px;
}

.policy-table thead th {
  text-align: center;
  border-bottom: 2px solid #0c2e65;
  border-top: 2px solid #0c2e65;
  color: #0c2e65;
  font-weight: bold;
  font-size: 19px;

  background-color: #f6fbff;
}

.policy-table tbody td {
  border-bottom: 1px solid #e0e0e0;
  text-align: center;
}

.policy-table tr td:first-child {
  font-weight: 600;
}

.policy-table tr td:nth-child(2) {
  color: #002d75;
}

.policy-table tbody tr:last-child td {
  border-bottom: none;
}

/* 정책자금 진행절차 블록 */
.policy-process {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  padding: 30px 24px;
  margin: 50px 0;
}

.process-title {
  font-size: 23px;
  font-weight: bold;
  color: #0c2e65;
  margin-bottom: 32px;
}

.process-steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;

  margin-top: 32px;
  margin-bottom: 20px;
}

/* 각 단계 아이템 */
.step-item {
  width: calc(25% - 15px);
  position: relative;
  padding-top: 40px;
  margin-bottom: 20px;
  min-height: 120px;
}

.step-number {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  color: #777777;
  font-weight: 500;
  letter-spacing: 1px;

  top: -10px;
}

.step-number span {
  font-size: 26px;
  font-weight: bold;
}

.step-number .n_01 {
  color: #a4d8ff;
}

.step-number .n_02 {
  color: #74c0fc;
}

.step-number .n_03 {
  color: #4daaf7;
}

.step-number .n_04 {
  color: #329aef;
}

.step-number .n_05 {
  color: #238ae6;
}

.step-number .n_06 {
  color: #1c7ed5;
}

.step-number .n_07 {
  color: #1871c1;
}

.step-number .n_08 {
  color: #1764aa;
}

/* STEP 제목 (리본 형태) */
.step-name {
  position: absolute;
  top: 20px;
  left: 10px;
  right: 10px;
  background-color: var(--step-bg);
  color: var(--step-text);
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  padding: 16px 0;
  clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%, 10% 50%);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* STEP 설명 (아래 흰색 박스) */
.step-desc {
  position: absolute;
  top: 80px;
  left: 10px;
  right: 10px;
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 16px;
  font-size: 15px;
  color: #555555;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* 리본 색상 */
.step-item:nth-child(1) {
  --step-bg: #a4d8ff;
  --step-text: #ffffff;
}

.step-item:nth-child(2) {
  --step-bg: #74c0fc;
  --step-text: #fff;
}

.step-item:nth-child(3) {
  --step-bg: #4daaf7;
  --step-text: #fff;
}

.step-item:nth-child(4) {
  --step-bg: #329aef;
  --step-text: #fff;
}

.step-item:nth-child(5) {
  --step-bg: #238ae6;
  --step-text: #ffffff;
}

.step-item:nth-child(6) {
  --step-bg: #1c7ed5;
  --step-text: #ffffff;
}

.step-item:nth-child(7) {
  --step-bg: #1871c1;
  --step-text: #ffffff;
}

.step-item:nth-child(8) {
  --step-bg: #1764aa;
  --step-text: #ffffff;
}

/* ================================================
              funding_facility
================================================ */
.facility_banner_img {
  background: url("/images/sub/funding/facility_banner_bg.webp");
}

.box-title {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 8px;
  color: rgb(83, 83, 83);

  font-family: "THEmpgtB";
}

.small {
  font-size: 16px;
  color: #666;
  margin-bottom: 12px;
}

.facility-list li {
  margin-bottom: 9px;
  color: rgb(65, 65, 65);
  font-size: 17px;
}

.subsection {
  margin-bottom: 62px;
  margin-top: 42px;
}

.logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  margin: 30px 0;
}

.logos img {
  height: 40px;
  object-fit: contain;
}

.red_p {
  font-size: 15px !important;
  color: rgb(224, 102, 102);
  margin-top: 8px;
}

.terms-logos {
  margin-bottom: 62px;
}

.terms-logos p {
  font-size: 17px;
}

/*------- 시설자금 - 부동산 -------*/

.facility-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.5rem 0 1.5rem 0;
}

.facility-table th,
.facility-table td {
  border: 1px solid #ddd;
  padding: 0.75rem;
  vertical-align: top;
}

.facility-table th {
  background-color: #f6fbff;
  text-align: center;
  font-weight: bold;
  font-family: "Pretendard";
  border-top: 3px solid #0c2e65;
  border-bottom: 3px solid #0c2e65;
}

.facility-table thead th:first-child,
.facility-table tbody td:first-child {
  width: 20%;
  text-align: center;
}

.notes p {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 10px;
  color: var(--color-text-medium);
}

.notes strong {
  color: var(--color-funding-point);
}

.notes ul {
  margin-bottom: 20px;
  margin-left: 12px;
}

.notes ul li {
  margin-bottom: 6px;
  font-size: 15px;
  color: var(--color-text-medium);
}

.facility-list strong {
  color: var(--color-funding-point);
}

/*------ 시설자금 - 건축 -------*/

.graph-wrap {
  margin-top: 40px;
  margin-bottom: 80px;
}

.graph-wrap img {
  display: block;
  margin: 0 auto;
}

.facility_timeline {
  margin-top: 30px;
  margin-bottom: 80px;
}

.facility_timeline_mo {
  display: none;
}

.text-block {
  line-height: 1.7;
  margin-left: 8px;
}

@media (max-width: 1100px) {
  .facility_timeline_pc {
    display: none;
  }

  .facility_timeline_mo {
    display: block !important; /* display:none 을 덮어쓰기 위해 */
    width: 700px !important;
    opacity: 1 !important; /*  투명도 100% */
    clip-path: inset(0) !important; /* 잘라내기 해제 */
    margin: 0 auto;
  }
}

@media (max-width: 1000px) {
  .graph-wrap img {
    width: 800px;
  }
}

@media (max-width: 750px) {
  .graph-wrap img {
    width: 600px;
    margin: 0 auto;
  }

  .facility_timeline_mo {
    width: 500px !important;
  }
}

@media (max-width: 550px) {
  .graph-wrap img {
    width: 400px;
    margin: 0 auto;
  }

  .facility_timeline_mo {
    width: 300px !important;
  }
}

@media (max-width: 400px) {
  .graph-wrap img {
    width: 300px;
  }
}

/* ================================================
    certification
================================================ */

.certification_body {
  background-color: var(--color-header-bg);
}

.certification_body .breadcrumb {
  background-color: var(--color-border-strong);
}

.policy-heading_certification {
  display: flex;
  align-items: center;

  font-weight: 600;
  color: var(--color-border-strong);
  margin-bottom: 12px;
  font-family: "THEmpgtB";
  font-size: 20px;
}

/* ================================================
    certification_inhouse
================================================ */
.inhouse_banner_img {
  background: url("/images/sub/certification/inhouse_banner_img.webp") no-repeat
    center/cover;
}

/* ======== 연구개발전담부서_테이블1 ======== */

/* 좌측 가장자리 선 제거 */
.ri-table th:first-child,
.ri-table td:first-child {
  border-left: none;
}

/* 우측 가장자리 선 제거 */
.ri-table th:last-child,
.ri-table td:last-child {
  border-right: none;
}

/* 전체 래퍼 */
.research-info {
  line-height: 1.6;
}

/* 테이블 기본 */
.ri-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 3px solid var(--color-border-strong);
  border-top: 3px solid var(--color-border-strong);
  margin-bottom: 20px;
  margin-top: 18px;
}

/* 테두리 설정 */
.ri-table th,
.ri-table td {
  border: 1px solid var(--color-border-light);
  padding: 2px 8px;
  text-align: center;
  vertical-align: middle;
  font-size: 18px;
}

/* 헤더 행 */
.ri-table thead th {
  font-weight: 500;
  color: var(--color-text-high);
  /* 내부 선 모두 제거 */
  border: none;
  /* 배경색 */
  background-color: var(--color-header-bg);
  /* 하단 녹색 두께 3px */
  border-bottom: 3px solid var(--color-border-strong);
}

/* 2. p 요소 사이에 구분선 추가 */
.ri-table td p + p {
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px solid var(--color-border-light);
}

/* 맨 왼쪽 빈 셀 */
.ri-empty {
  border-top: none;
  border-left: none;
}

/* 행 그룹 헤더 (인적요건·물적요건) */
.ri-row-header {
  font-weight: 600;
  color: var(--color-text-high);
  background: #ffffff;
}

/* 물적요건 그룹 셀 */
.ri-span {
  text-align: left;
  font-weight: 500;
  color: var(--color-text-high);
}

/* 본문 텍스트 */
.ri-table tbody td p {
  margin: 4px 0;
  color: var(--color-text-medium);
  font-size: 18px;
}

/* 지역별 담보인정비율 */
.regional-ratio {
  margin-top: 8px;
}

.rr-title {
  font-weight: 600;
  color: var(--color-text-high);
  margin-bottom: 8px;
  font-size: 1rem;
}

/* 3. 지역별 리스트 한 줄로 */
.regional-ratio ul {
  display: flex;
  gap: 20px;
  padding: 0;
  margin: 0;
}

.regional-ratio li {
  /* inline-block 대신 flex 아이템 */
  display: block;
  margin: 0;
  font-size: 15px;
}

.regional-ratio li span {
  font-weight: 500;
  color: var(--color-text-high);
}

/* ---------- 연구소혜택--------------- */

.sec_2_box_pc {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 16px;
}

/* ---------- 사후관리--------------- */

/* 콘텐츠: 2단 배치 */
.pm-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

/* 리스트 스타일 */
.pm-list {
  list-style: disc inside;
  margin: 0;
  padding: 0;
}

.pm-list li {
  margin-bottom: 10px;
  font-size: 18px;
  color: var(--color-text-medium);
}

/* 강조항목 */
.pm-list .red {
  color: var(--color-highlight);
}

/* ---------- 현지확인 결과조치 블록--------------- */

/* 테이블 기본 */
.pc-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 3px solid var(--color-border-strong);
  margin-top: 30px;
  margin-bottom: 16px;
}

/* 셀 공통 스타일 */
.pc-table th,
.pc-table td {
  border: 1px solid var(--color-border-light);
  padding: 4px 10px;
  font-size: 19px;
  text-align: center;
  vertical-align: middle;
}

/* 헤더 행 */
.pc-table thead th {
  border: none;
  /* 내부 선 제거 */
  background-color: var(--color-header-bg);
  border-bottom: 3px solid var(--color-border-strong);
  color: var(--color-text-high);
  font-weight: 500;
}

/* 좌측 가장자리 세로선 제거 */
.pc-table th:first-child,
.pc-table td:first-child {
  border-left: none;
}

/* 우측 가장자리 세로선 제거 */
.pc-table th:last-child,
.pc-table td:last-child {
  border-right: none;
}

/* 행 그룹 헤더 (첫 열) */
.pc-table .row-header {
  background: #fff;
  font-weight: 600;
  color: var(--color-text-high);
}

/* 다중 행 텍스트 스타일 */
.pc-table tbody td p {
  margin: 6px 0;
  font-size: 18px;
  color: var(--color-text-medium);
}

/* 문단 간 경계선 */
.pc-table td p + p {
  border-top: 1px solid var(--color-border-light);
  padding-top: 4px;
  margin-top: 4px;
}

/* ================================================
    certification_venture
================================================ */
.venture_banner_img {
  background: url("/images/sub/certification/venture_banner_img.webp") no-repeat
    center/cover;
}

/* ========== 벤처기업확인제도_테이블1 =============== */

.venture-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans KR", sans-serif;

  margin-top: 30px;
}

/* 헤더 */
.venture-table thead th {
  padding: 12px 0;
  font-size: 16px;
  font-weight: 600;
  color: #212121;
  background-color: var(--color-header-bg);
  /* 연한 녹색 배경 */
  border-top: 2px solid var(--color-border-strong);
  /* 진한 녹색 위 보더 */
  border-bottom: 2px solid var(--color-border-strong);
  /* 진한 녹색 아래 보더 */
  text-align: center;
  /* 가로 가운데 */
  vertical-align: middle;
  /* 세로 가운데 */
}

/* ── 본문 셀 ── */
.venture-table tbody td {
  padding: 16px 0;
  color: #424242;
  vertical-align: top;
  border-bottom: 1px solid #e0e0e0;
  /* 옅은 회색 가로선 */
}

/* ── 열 구분선 ── */
.venture-table tbody td + td {
  padding-left: 16px;
  border-left: 1px solid #e0e0e0;
  /* 옅은 회색 세로선 */
}

/* ── 카테고리 컬럼 ── */
.vt-cate {
  width: 15%;
  padding-right: 16px;
  white-space: nowrap;

  font-size: 18px;
  font-weight: 600;
}

/* ── 요건 컬럼 ── */
.vt-req {
  width: 25%;
  font-size: 16px;
  font-weight: 500;
  color: #212121;
  padding-right: 16px;
}

.venture-table tbody td.vt-cate,
.venture-table tbody td.vt-req {
  vertical-align: middle;
}

.vt-cate,
.vt-req {
  text-align: center;
  vertical-align: middle;
}

/* ── 지원내용 컬럼 ── */
.vt-content {
  width: 60%;
}

/* ── 지원내용 텍스트 ── */
.vt-content p {
  margin: 4px 0;
  line-height: 1.5;
}

/* ---------- 감면 불가사유--------------- */

:root {
  --color-text-high: #333;
  --color-text-medium: #555;
}

/* 리스트 스타일 */
.vc-list {
  list-style: disc inside;
  margin: 0;
  padding: 0;
}

.vc-list li {
  margin-bottom: 10px;
  margin-top: 16px;
  font-size: 18px;
  line-height: 1.5;
  color: var(--color-text-medium);
}

.vc-list .vc_red {
  color: var(--color-highlight);
}

/* ================================================
    certification_women
================================================ */
.women_banner_img {
  background: url("/images/sub/certification/women_banner.webp") no-repeat
    center/cover;
}

/* =========== 여성기업확인, 이노비즈, 메인비즈 다이어그램 ============ */

/* 4) 다이어그램 레이아웃 */
.wc-diagram {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;

  margin-top: 30px;
  margin-bottom: 20px;
}

/* 4-1) 중앙 노드 박스 */
.wc-node-main {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-left: 13px;
  padding-bottom: 6px;
  border: 2px solid #2e7d32;
  border-radius: 30px;
  background: #ffffff;
  color: #2e7d32;
  position: relative;
  font-weight: 500;
  margin-bottom: 16px;

  width: 230px;
  height: 55px;
}

.wc-node-main img {
  width: 200px;
  height: 40px;
}

/* 중앙 노드 하단 수직선 */
.wc-node-main::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 20px;
  background: #2e7d32;
}

/* ── 기존에 있던 자식노드 관련 스타일 제거 ── */
.wc-node,
.wc-node::before,
.wc-children::before {
  display: none !important;
}

/* ── 새로운 자식노드 그룹 박스 ── */
.wc-children {
  display: flex;
  justify-content: center;
}

.wc-node-group {
  padding: 12px 24px;
  border: 2px solid #2e7d32;
  border-radius: 30px;
  background: #fff;
}

.wc-node-list {
  display: flex;
  gap: 40px;
  /* 항목 사이 간격 */
  list-style: none;
  margin: 0;
  padding: 0;
}

.wc-node-list li {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 500;
  color: #2e7d32;
  line-height: 1.4;
}

.bullet {
  margin-right: 8px;
  font-size: 14px;
}

.wc-notes {
  font-size: 16px;
  color: #4a4a4a;
}

/* ---------- 여성기업 혜택--------------- */

/* 섹션 제목 + 텍스트 */
.wb-section-title {
  display: flex;
  align-items: center;
  margin-top: 32px;
  margin-bottom: 14px;
}

.wb-marker {
  display: inline-block;
  margin-right: 8px;
  color: #2e7d32;
  font-size: 1rem;
}

.wb-section-title strong {
  font-size: 20px;
  font-weight: 600;
  color: #212121;
}

.wb-text {
  font-size: 17px;
  line-height: 1.6;
  color: #424242;
  margin: 0 0 16px;
}

/* 우선구매 원형 차트 */
.wb-chart {
  display: flex;
  justify-content: center;
  margin-top: 30px;
  margin-bottom: 50px;
}

.wb-chart .circle + .circle {
  margin-left: -26px;
}

.circle {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
}

.circle-goods {
  background-color: #819f76;
}

.circle-construction {
  background-color: #d59090;
}

.circle-label {
  font-size: 0.875rem;
  margin-bottom: 4px;
}

.circle-value {
  font-size: 2rem;
}

/* 테이블 섹션 */
.wb-table-wrap {
  overflow-x: auto;
}

.wb-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-top: 2px solid var(--color-border-strong);
  margin-bottom: 50px;
}

.wb-table thead th {
  padding: 12px 8px;
  font-size: 18px;
  font-weight: 600;
  color: #212121;
  text-align: center;
  background-color: var(--color-header-bg);
  border-bottom: 2px solid var(--color-border-strong);
}

/* 기본 가로선 유지 */
.wb-table tbody td {
  padding: 16px;
  font-size: 18px;
  color: #424242;
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
  /* 모든 행에 가로선 */
}

/* 특정 셀(첫 행 3열)의 가로선 제거 */
.wb-table tbody tr:first-child td:nth-child(3) {
  border-bottom: none;
}

/* 각 열 세로선 */
.wb-table tbody td + td {
  border-left: 1px solid #e0e0e0;
}

/* 추가 노트: 블록 레이아웃 */
.wb-notes {
  margin-top: 16px;
}

.wb-note {
  position: relative;
  padding-left: 24px;
  margin-top: 16px;
}

.wb-note .wb-marker {
  position: absolute;
  top: 0;
  left: 0;
}

.wb-note > strong {
  display: block;
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 600;
  color: #212121;
}

.wb-note > p {
  margin-bottom: 60px;
}

.wb-note > p,
.wb-note > ul {
  display: block;
  margin-left: 24px;
  font-size: 18px;
  color: #424242;
  line-height: 1.6;
}

.wb-note > ul {
  list-style: disc;
  padding-left: 24px;

  margin-bottom: 16px;
}

.wb-note > ul li {
  margin-bottom: 4px;
}

/* 강조 텍스트 */
.wb-highlight {
  color: #e53935;
}

/* ---------- 여성기업혜택--------------- */

/* 콘텐츠: 2단 배치 */
.pm-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

/* 리스트 스타일 */
.pm-list {
  list-style: disc inside;
  margin: 0;
  padding: 0;
}

.pm-list li {
  margin-bottom: 10px;
  font-size: 16px;
  color: var(--color-text-medium);
}

/* 강조항목 */
.pm-list .red {
  color: var(--color-highlight);
}

/* ---------- 현지확인 결과조치 블록--------------- */

/* 테이블 기본 */
.pc-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 3px solid var(--color-border-strong);
  margin-top: 30px;
  margin-bottom: 16px;
}

/* 셀 공통 스타일 */
.pc-table th,
.pc-table td {
  border: 1px solid var(--color-border-light);
  padding: 6px 10px;
  text-align: center;
  vertical-align: middle;
}

/* 헤더 행 */
.pc-table thead th {
  border: none;
  /* 내부 선 제거 */
  background-color: var(--color-header-bg);
  border-bottom: 3px solid var(--color-border-strong);
  color: var(--color-text-high);
  font-weight: 500;
}

/* 좌측 가장자리 세로선 제거 */
.pc-table th:first-child,
.pc-table td:first-child {
  border-left: none;
}

/* 우측 가장자리 세로선 제거 */
.pc-table th:last-child,
.pc-table td:last-child {
  border-right: none;
}

/* 행 그룹 헤더 (첫 열) */
.pc-table .row-header {
  background: #fff;
  font-weight: 600;
  color: var(--color-text-high);
}

/* 다중 행 텍스트 스타일 */
.pc-table tbody td p {
  margin: 6px 0;
  font-size: 0.95rem;
  color: var(--color-text-medium);
}

/* 문단 간 경계선 */
.pc-table td p + p {
  border-top: 1px solid var(--color-border-light);
  padding-top: 4px;
  margin-top: 4px;
}

/* ================================================
          certification_innoviz
================================================ */
.innobiz_banner_img {
  background: url("/images/sub/certification/innobiz_banner.webp") no-repeat
    center/cover;
}

/* ---------- 이노비즈 혜택 다이어그램--------------- */
.ib_img {
  width: 140px !important;
  margin-left: 30px;
}

/* ---------- 이노비즈 혜택 테이블--------------- */

.ib-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid var(--color-border-strong);

  margin-top: 30px;
  margin-bottom: 24px;
}

.ib-table thead th {
  padding: 12px 8px;
  font-size: 18px;
  font-weight: 600;
  color: #212121;
  text-align: center;
  border-bottom: 2px solid var(--color-border-strong);
  border-left: none;
  background-color: var(--color-header-bg);
}

.ib-table thead th + th {
  border-left: none;
}

.ib-table tbody td {
  padding: 16px 8px;
  font-size: 18px;
  color: #424242;
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
  vertical-align: middle;
}

/* 세로선 */
.ib-table tbody td + td,
.ib-table thead th + th {
  border-left: 1px solid #e0e0e0;
}

/* 카테고리 컬럼 강조 */
.ib-category {
  font-weight: 600;
  white-space: pre-wrap;
}

tbody .green td {
  color: var(--color-border-strong) !important;
}

/* 비고 컬럼 불릿 */
.ib-notes ul {
  list-style: disc inside;
  margin: 0;
  padding: 0;
  text-align: left;
}

.ib-notes ul li {
  margin-bottom: 4px;
}

.ib-notes ul li:last-child {
  margin-bottom: 0;
}

/* 4) 불릿 크기 줄이기 */
.ib-notes ul li::marker {
  font-size: 0.5em;
}

/* ================================================
          certification_mainviz
================================================ */
.mainbiz_banner_img {
  background: url("/images/sub/certification/mainbiz_banner.webp") no-repeat
    center/cover;
}

/* ======== 메인비즈 다이어그램 리스트 ======= */
.mb_img {
  width: 150px !important;
  height: 45px !important;
  margin-left: 30px;
}

.list_head_mb {
  margin-top: 28px;
  font-size: 18px;
  font-weight: 500;
}

.pm-content_mb {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;

  margin-top: 12px;
}

.pm-list_mb {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pm-list_mb li {
  margin-bottom: 10px;
  font-size: 16px;
  color: var(--color-text-medium);
}

/* ============ 메인비즈 혜택 테이블 ================ */
.mb-table-wrap {
  overflow-x: auto;
}

.mb-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid var(--color-border-strong);
}

.mb-table thead th {
  padding: 12px 8px;
  font-size: 16px;
  font-weight: 600;
  color: #212121;
  text-align: center;
  background-color: var(--color-header-bg);
  border-bottom: 2px solid var(--color-border-strong);
  border-left: none;
}

.mb-table thead th + th {
  border-left: none;
}

/* tbody만 세로선 적용 */
.mb-table tbody td + td {
  border-left: 1px solid #e0e0e0;
}

.mb-table tbody td {
  padding: 16px 8px;
  color: #424242;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #e0e0e0;
}

.mb-table tbody td + td,
.mb-table thead th + th {
  border-left: 1px solid #e0e0e0;
}

.mb-category {
  font-weight: 600;
  white-space: pre-wrap;
}

.mb-table tbody ul {
  margin: 0;
  padding-left: 20px;
  list-style: disc;
  text-align: left;
}

.mb-table tbody ul li {
  margin-bottom: 4px;
  font-size: 16px;
  line-height: 1.5;
}

/* 불릿 크기 줄이기 */
.mb-notes ul li::marker {
  font-size: 0.5em;
}

tbody .green td {
  color: var(--color-border-strong) !important;
}

/* ================================================
          certification_green
================================================ */
.green_banner_img {
  background: url("/images/sub/certification/green_banner_img.webp") no-repeat
    center/cover;
}

/* ========== 녹색인증 테이블 =========== */

.green-cert-table-wrap {
  margin-top: 30px;
  margin-bottom: 24px;
}

.green-cert-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-top: 2px solid var(--color-border-strong);
  border-bottom: 2px solid var(--color-border-strong);
}

/* 섹션 헤더 */
.green-cert-table .section-header th {
  background-color: var(--color-header-bg);
  /* 연두색 배경 */
  border: none;
  border-top: 2px solid var(--color-border-strong);
  /* 진한 녹색 위 보더 */
  border-bottom: 2px solid var(--color-border-strong);
  /* 진한 녹색 아래 보더 */
  padding: 12px 0;
  font-size: 18px;
  font-weight: bold;
  color: #212121;
  text-align: center;
}

/* 본문 셀 */
.green-cert-table td {
  padding: 12px 8px;
  font-size: 18px;
  color: #292929;
  vertical-align: middle;
  border-bottom: 1px solid #e0e0e0;
}

.green-cert-table tr:last-child td {
  border-bottom: none;
}

/* 인증기준 위 수평선 */
.green-cert-table tr.criteria td {
  border-top: 1px solid #e0e0e0;
}

/* 첫 번째 열 라벨 */
.green-cert-table .label {
  width: 20%;
  font-weight: bold;
  color: var(--color-border-strong);
  text-align: left;
  white-space: nowrap;
}

.green-cert-table tr:last-child td {
  border-bottom: none;
}

/* 카테고리 행 */
.green-cert-table .category-row td {
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
}

.green-cert-table .category-row td:first-child {
  border-bottom: none;
}

/* 콘텐츠 셀(병합된 셀) 텍스트 왼쪽 정렬 */
.green-cert-table td[colspan] {
  text-align: left;
}

/* 본문 세로선 */
.green-cert-table td + td {
  border-left: 1px solid #e0e0e0;
}

@media (max-width: 500px) {
  .green-cert-table td {
    font-size: 14px;
  }
}

/* =========== 녹색인증의 혜택 테이블 ============== */

/* ── 테이블 기본 ── */
.benefits-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  border-top: 2px solid #2e7d32;
  border-bottom: 2px solid #2e7d32;
  font-family: "Noto Sans KR", sans-serif;

  table-layout: fixed;
  /* 고정 레이아웃으로 너비 비율 적용 */
}

/* 전체 타이틀 */
.benefits-table thead .benefits-title {
  background-color: var(--color-header-bg);
  border: none;
  border-top: 2px solid var(--color-border-strong);
  border-bottom: 2px solid var(--color-border-strong);
  padding: 12px 0;
  font-size: 18px;
  font-weight: bold;
  color: #212121;
  text-align: center;
}

/* 컬럼 헤더 */
.benefits-table thead th {
  padding: 12px 8px;
  font-size: 16px;
  font-weight: 600;
  color: #212121;
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
  background: #fff;
}

/* 첫번째 컬럼 헤더 강조 */
.benefits-table thead .benefit-category {
  background-color: #e2f6e2;
  color: var(--color-border-strong);
}

/* 본문 셀 */
.benefits-table tbody td {
  vertical-align: top;
  padding: 16px 8px;
  border-bottom: 1px solid #e0e0e0;
}

/* 2) 헤더에 세로선 추가 (판로마케팅↔사업화 사이) */
.benefits-table thead th + th {
  border-left: 1px solid #e0e0e0;
}

/* 마지막 행 밑선 제거 */
.benefits-table tbody tr:last-child td {
  border-bottom: none;
}

/* 세로선 */
.benefits-table tbody td + td {
  border-left: 1px solid #e0e0e0;
}

/* 리스트 스타일 */
.benefits-table ul {
  margin: 0;
  padding-left: 16px;
  list-style: disc;
}

.benefits-table ul li {
  margin-bottom: 4px;
  line-height: 1.5;
  color: #3a3a3a;
  font-size: 16px;
}

/* 3) 리스트 앞 불릿 크기 축소 */
.benefits-table ul li::marker {
  font-size: 0.5em;
}

/* ================================================
          certification_roottech
================================================ */
.root_tech_banner_img {
  background: url("/images/sub/certification/root_tech_banner_img.webp")
    no-repeat center/cover;
}

/* ========= 이노비즈 다이어그램 ========== */

/* 4) 다이어그램 레이아웃 */
.rt-diagram {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;

  margin-top: 30px;
  margin-bottom: 20px;
}

/* 4-1) 중앙 노드 박스 */
.rt-node-main {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-left: 13px;
  padding-bottom: 6px;
  border: 2px solid #2e7d32;
  border-radius: 30px;
  background: #ffffff;
  color: #2e7d32;
  position: relative;
  font-weight: 500;
  margin-bottom: 16px;

  width: 230px;
  height: 55px;
}

.rt-node-main img {
  width: 120px;
  height: 40px;

  margin-left: 40px;
}

/* 중앙 노드 하단 수직선 */
.rt-node-main::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 20px;
  background: #2e7d32;
}

/* ── 기존에 있던 자식노드 관련 스타일 제거 ── */
.rt-node,
.rt-node::before,
.rt-children::before {
  display: none !important;
}

/* ── 새로운 자식노드 그룹 박스 ── */
.rt-children {
  display: flex;
  justify-content: center;
}

.rt-node-group {
  padding: 12px 24px;
  border: 2px solid #2e7d32;
  border-radius: 30px;
  background: #fff;
}

.rt-node-list {
  display: flex;
  gap: 40px;
  /* 항목 사이 간격 */
  list-style: none;
  margin: 0;
  padding: 0;

  flex-direction: column;
  /* 가로 → 세로 */
  gap: 16px;
  /* 세로 간격 */
  align-items: center;
  /* 가운데 정렬(선택) */
}

.rt-node-list li {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
  color: #2e7d32;
  line-height: 1.4;
}

.rt-node-list .bullet {
  margin-right: 8px;
  font-size: 14px;
}

/* ---------- 뿌리기업 인증 혜택 테이블--------------- */

/* 테이블 기본 */
.rootbiz-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-top: 2px solid var(--color-border-strong);
  color: #424242;

  margin-top: 30px;
  margin-bottom: 24px;
}

.rootbiz-table thead th {
  background: var(--color-header-bg);
  padding: 12px 8px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border-bottom: 2px solid var(--color-border-strong);
}

.rootbiz-table thead th + th {
  border-left: 1px solid #e0e0e0;
}

/* 본문 셀 */
.rootbiz-table tbody td {
  vertical-align: middle;
  padding: 16px 8px;
  border-bottom: 1px solid #e0e0e0;
}

/* 본문 세로선 */
.rootbiz-table tbody td + td {
  border-left: 1px solid #e0e0e0;
}

/* col-name(사업명) 열 앞에 세로선 추가 */
.rootbiz-table tbody td.col-name {
  border-left: 1px solid #e0e0e0;
  text-align: center;
  font-size: 18px;
  font-weight: 500;
}

.rootbiz-table tbody td.col-bonus {
  text-align: center;
  font-size: 16px;
  color: var(--color-border-strong);
}

.rootbiz-table tbody td.col-desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}

/* 카테고리 셀 */
.rootbiz-table .col-category {
  font-size: 18px;
  font-weight: 600;
  color: #000;
  white-space: pre-wrap;
  text-align: center;
}

/* 리스트 불릿 축소 */
.rootbiz-table ul {
  margin: 0;
  padding-left: 16px;
  list-style: disc;
}

.rootbiz-table ul li {
  margin-bottom: 4px;
  line-height: 1.5;
  font-size: 18px;
}

.rootbiz-table ul li::marker {
  font-size: 0.6em;
}

/* ================================================
              about
================================================ */
.about_body {
  background-color: #f4f4f4;
}

.about_body .breadcrumb {
  background-color: #4c4c4c;
}

.policy-heading_about {
  display: flex;
  align-items: center;
  color: var(--color-about-point);
  margin-bottom: 12px;

  font-weight: 600;
  font-family: "THEmpgtB";
  font-size: 20px;
}

/* ================================================
          about_location
================================================ */

.location_banner_img {
  background: url("/images/sub/about/CK_td03100000393.webp") no-repeat
    center/cover;
}

.map_container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  /* 가운데 정렬 */
  display: flex;
  justify-content: center;
  /* 내부 요소(iframe) 가운데 정렬 */
}

.contact-info {
  max-width: 800px;
  margin: 0 auto;
  padding: 1rem;
  font-family: "Noto Sans KR", sans-serif;
  color: #333;
  line-height: 1.6;
}

/* dl 전체 reset */
.contact-info dl {
  margin: 0;
  padding: 0;
}

/* 구분선 */
.contact-info hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 0.5rem 0;
}

/* 각 행을 grid로 배치 */
.info-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: start;
  padding: 0.75rem 0;
}

/* dt (왼쪽 레이블) */
.info-row dt {
  font-weight: 600;
  font-size: 1rem;
  color: #000;
}

/* dd (오른쪽 내용) */
.info-row dd {
  margin: 0;
  padding-left: 0.5rem;
}

/* dd 내부 문단 스타일 */
.info-row dd p {
  margin: 0 0 0.5rem;
}

.info-row dd span {
  color: var(--color-text-light);
}

/* 강조를 위한 strong */
.info-row dd p strong {
  font-weight: 600;
}

/* 마지막 p 아래 여백 제거 */
.info-row dd p:last-child {
  margin-bottom: 0;
}

.custom-check::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 5px;
  height: 10px;
  border: solid #1b85eb;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
}

input[type="checkbox"]:checked + .custom-check::after {
  opacity: 1;
}

/* ================================================
          about_greeting
================================================ */

.greeting_banner_img {
  background: url("../../images/sub/about/CK_td01830000010.webp") no-repeat
    center/cover;
}

.greet-img {
  display: block;
  margin: 0 auto;
  margin-bottom: 30px;
}

.greet-text {
  text-align: center;
  line-height: 1.8;
  color: var(--color-funding-point);
  font-family: "Pretendard";
  font-weight: 600;
}

.greet-text strong {
  font-size: 20px;
  font-weight: 700;
}

.greettxt {
  line-height: 1.8;
  margin-top: 20px;
}

.greet2_2 {
  font-family: "Pretendard";
  font-weight: 600;
}

.greet2_3 {
  font-family: "Pretendard";
  font-weight: 700;
  color: var(--color-funding-point);
  font-size: 17px;
}

.greet2_4 {
  color: var(--color-text-medium);
}

.greetend {
  font-weight: 700;
  margin-top: 30px;
  color: var(--color-funding-point);
}

.highlight-underline {
  text-decoration: underline;
  text-decoration-color: rgba(187, 239, 255, 0.6);
  text-decoration-thickness: 0.6em;
  text-underline-offset: -0.3rem;
}

.about_process .process_pc {
  display: block;
  margin: 30px auto;
  width: 800px;
}

.process_mo {
  display: none;
}

@media (max-width: 880px) {
  .process_pc {
    display: none !important;
  }

  .process_mo {
    display: block !important; /* display:none 을 덮어쓰기 위해 */
    width: 230px;
    opacity: 1 !important; /*  투명도 100% */
    clip-path: inset(0) !important; /* 잘라내기 해제 */
    margin: 40px auto;
  }
}

/* ================================================
          about_expert
================================================ */

.expert_banner_img {
  background: url("../../images/sub/about/CK_tc04360001863.webp") no-repeat
    center/cover;
}

/* Profile Info */
.profile-info {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
  margin-top: 40px;
  margin-left: 30px;
}
.profile-photo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #c8e6cd;
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-photo img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 50%;
}
.profile-details h2 {
  font-size: 24px;
  font-weight: 700;
  color: #111827;
}
.profile-details .role {
  font-size: 16px;
  font-weight: 400;
  color: #4b5563;
  margin-left: 10px;
}
.tags {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.tag {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
}
.tag-blue {
  background: #e0e7ff;
  color: #4338ca;
}
.tag-green {
  background: #dcfce7;
  color: #15803d;
}
.tag-cyan {
  background: #ccfbf1;
  color: #0e7490;
}

.tag-yellow {
  background: #fafadb;
  color: #a85a00;
}
.tag-pink {
  background: #fceafa;
  color: #c900bb;
}
.tag-purple {
  background: #f5deff;
  color: #5f0588;
}

/* Sections Grid */
.ex_sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 36px;
  margin-left: 110px;
}

.ex_section-title {
  display: inline-block;
  margin-bottom: 8px;
  padding: 6px 16px;
  background: #f3f4f6;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 500;
  color: #374151;
}
.ex_section ul {
  margin-top: 10px;
}
.ex_section li {
  margin-bottom: 10px;
  line-height: 1.5;
}
.ex_section li::marker {
  color: #9ca3af;
}
.ex_section .date {
  font-weight: 500;
  margin-right: 8px;
}

@media (max-width: 900px) {
  .ex_sections {
    margin-left: 0 !important;
  }
}

/* 화면이 640px 이상일 때는 무조건 2열 */
@media (min-width: 640px) {
  .ex_sections {
    grid-template-columns: repeat(2, 0.5fr);
  }
}

@media (max-width: 400px) {
  .ex_sections {
    margin: 0;
  }
}

/* degree-section 클래스가 붙은 섹션이 그리드 전체(1~끝) 칸을 차지하게 */
.ex_sections .degree-section {
  grid-column: 1 / -1;
  margin-bottom: 30px;
}

.ex_section.degree-section ul {
  display: flex;
  flex-direction: column; /* 세로 축으로 나열 */
  gap: 10px; /* 아이템 간 간격 */
  margin: 0;
  padding: 0;
  list-style: none; /* 필요 없으면 제거 */
}
.ex_section.degree-section li {
  margin: 0;
}

/* ================================================
          about_contact
================================================ */

.contact_banner_img {
  background: url("/images/sub/about/CK_tc04360001863.webp") no-repeat
    center/cover;
}

.free {
  color: var(--color-highlight);
}

/* style.css */
.consult-form {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.form-title {
  font-size: 24px;
  margin-bottom: 20px;
}

.form-section {
  margin-top: 30px;
}

.section-heading {
  background-color: #003366;
  color: #fff;
  padding: 8px 12px;
  font-size: 16px;
  margin-bottom: 16px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}

.form-group input[type="text"] {
  width: 300px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}

/* 휴대폰 번호 입력 스타일 */

.form-group input[type="tel"] {
  width: 100px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}
.phone-input-group {
  display: flex;
  align-items: center;
  gap: 10px;

  width: 200px;
}

.phone-input-group .phone-prefix {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px;
  font-size: 14px;
  width: 60px;
  text-align: center;
  color: #666;
}

@media (max-width: 600px) {
  .form-group input[type="text"] {
    width: 220px;
  }

  .form-group input[type="tel"] {
    width: 60px;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
  }
}

.phone-input-group input {
  flex: 1;
  /* max-width: 80px; */
}

.phone-input-group span {
  font-weight: bold;
  color: #666;
}

.checkbox-group {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.checkbox-group label {
  display: flex;
  align-items: center;
  font-weight: normal;
  cursor: pointer;
}

.checkbox-group input[type="checkbox"] {
  margin-right: 5px;
}

/* 추가 입력폼 스타일 */
.extra-form .form-row {
  margin-top: 20px;
  text-align: left;
}

.extra-form select {
  padding: 8px;
  margin: 0 4px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* 폼 행 스타일 */
.form-row {
  margin-bottom: 25px;
}

.question label {
  display: block;
  margin-bottom: 15px;
  font-weight: bold;
  color: #333;
  font-size: 16px;
}

/* 라디오 그룹 스타일 */
.radio-group {
  display: flex;
  justify-content: left;
  gap: 15px;
}

.radio-item {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 5px;
  border-radius: 4px;
  transition: background-color 0.2s;
}

.radio-item:hover {
  background-color: #f8f9fa;
}

/* 라디오 버튼 커스텀 스타일 */
.radio-item input[type="radio"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #ccc;
  border-radius: 50%;
  background-color: white;
  cursor: pointer;
  position: relative;
  transition: all 0.3s ease;
}

.radio-item input[type="radio"]:hover {
  border-color: #007bff;
}

.radio-item input[type="radio"]:checked {
  border-color: #007bff;
  background-color: #007bff;
}

.radio-item input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: white;
}

/* 라디오 라벨 스타일 */
.radio-item label {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  cursor: pointer;
  margin: 0;
}

.complete-btn {
  padding: 10px 30px;
  background-color: #1b85eb;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s;
  margin-top: 20px;
}

.complete-btn:hover {
  background-color: #146dc1;
}

.select-btn {
  padding: 8px 15px;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
}

.select-btn:hover {
  background-color: #f8f9fa;
}

.select-btn.active {
  background-color: #007bff;
  color: white;
  border-color: #007bff;
}

/* 개인정보 동의 스타일 */
.privacy-box {
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid #f1efef;
  padding: 15px;
  background-color: #f9f9f9;
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 10px;
}

.agree-check {
  display: flex;
  align-items: center;
  font-weight: normal;
  align-items: center;
}

.agree-check input[type="checkbox"] {
  margin-right: 8px;
  vertical-align: middle;
  cursor: pointer;
}

.agree-check label {
  margin-bottom:0 !important;
  cursor: pointer;
}
.option-box-agree {
  border: 1px solid #6e6e6e;
  border-radius: 5px;
  background-color: white;
  color: #666;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  font-size: 14px;
  width:100px;
  height:30px;
  display: flex;
  justify-content: center;
  align-items: center
}
.btn-submit {
  background-color: #007bff;
  color: white;
  padding: 15px 30px;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
  width: 100%;
  margin-top: 20px;
}

.btn-submit:hover {
  background-color: #0056b3;
}

.btn-submit:disabled {
  background-color: #6c757d;
  cursor: not-allowed;
}

.error-message {
  color: #dc3545;
  font-size: 12px;
  margin-top: 5px;
  display: none;
}

.form-group.error input {
  border-color: #dc3545;
}

.form-group.error .error-message {
  display: block;
}

.expert {
  width: 100%;
}

.required::after {
  content: " *";
  color: #dc3545;
}

.container {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}

.policy-heading_about {
  font-size: 24px;
  margin-bottom: 30px;
  text-align: center;
}

.submit-wrap {
  text-align: center;
  margin-top: 30px;
}

.free {
  color: #007bff;
  font-weight: bold;
}

/* 추가 입력폼 스타일 */
.extra-form .form-row {
  margin-top: 20px;
  text-align: left;
}

.extra-form label {
  display: block;
  font-size: 15px;
  font-weight: 500;
}

.extra-form select {
  padding: 8px;
  margin: 0 4px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* 질문 버튼 스타일 */
.btn-group {
  display: flex;
  justify-content: left;
  gap: 10px;
}

.select-btn {
  padding: 8px 20px;
  border: 1px solid #aaa;
  background: #fff;
  border-radius: 6px;
  cursor: pointer;
  transition: 0.3s;
}

.select-btn:hover {
  background: #f3f3f3;
}

/* 연체, 자가 보유 선택 효과 */
.form-row {
  margin-bottom: 25px;
}

.question label {
  display: block;
  font-weight: bold;
  color: #333;
  font-size: 16px;
}

.btn-group {
  display: flex;
  justify-content: left;
  gap: 10px;
}

.select-btn {
  padding: 10px 25px;
  border: 2px solid #aaa;
  background: #fff;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  font-weight: 500;
  min-width: 80px;
}

.select-btn:hover {
  background: #f3f3f3;
  border-color: #888;
}

/* 선택된 상태 스타일 */
.select-btn.selected {
  background: #007bff;
  color: white;
  border-color: #007bff;
}

.select-btn.selected:hover {
  background: #0056b3;
  border-color: #0056b3;
}

/* 같은 그룹 내 선택되지 않은 버튼들 */
.btn-group:has(.selected) .select-btn:not(.selected) {
  opacity: 0.6;
}

.complete-btn {
  padding: 10px 30px;
  background-color: #1b85eb;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s;

  margin-top: 20px;
}

.complete-btn:hover {
  background-color: #146dc1;
}

/* 신청폼 추가입력란 반응형 스타일 - 500px 이하 */
@media (max-width: 500px) {
  .extra-form .form-row {
    margin-top: 15px;
  }

  .extra-form label {
    font-size: 14px;
  }

  /* 년월 선택 드롭다운 세로 배치 */
  .extra-form .form-row:has(select) {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .extra-form select {
    width: 100%;
    max-width: 150px;
    margin: 0;
    padding: 10px;
    font-size: 14px;
  }

  /* 지역 선택 드롭다운도 세로 배치 */
  .extra-form .form-row:has(#sido) {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  /* 버튼 그룹 세로 배치 */
  .btn-group {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }

  .select-btn {
    width: 100%;
    max-width: 120px;
    padding: 12px 20px;
    font-size: 14px;
    text-align: center;
  }

  /* 질문 라벨 크기 조정 */
  .question label {
    font-size: 15px;
    margin-bottom: 15px;
  }

  /* 완료 버튼 */
  .complete-btn {
    width: 100%;
    max-width: 200px;
    padding: 12px;
    font-size: 15px;
    margin-top: 25px;
  }

  /* 폼 전체 여백 조정 */
  .form-row {
    margin-bottom: 20px;
  }
}

/* 상담신청 버튼 */
.btn-submit {
  margin-top: 20px;
  background: linear-gradient(to right, #1b85eb, #152d6b);
  color: #fff;
  border: none;
  padding: 12px 20px;
  font-size: 16px;
  border-radius: 6px;
  cursor: pointer;
}

.btn-submit:hover {
  opacity: 0.9;
}

/* 상담완료 메시지 스타일 */
.consult-complete {
  display: none;
  text-align: center;
  padding: 40px;
  margin-top: 30px;
}

.consult-complete.show {
  display: block;
}

.complete-message {
  background-color: #f8f9fa;
  border: 2px solid #28a745;
  border-radius: 10px;
  padding: 30px;
}

.check-icon {
  font-size: 48px;
  color: #28a745;
  margin-bottom: 15px;
}

.blue {
  color: #007bff;
  font-size: 18px;
  font-weight: bold;
  margin: 0;
}

/* 모바일에서 1열 스택 */
@media (max-width: 480px) {
  .biz-grid {
    grid-template-columns: 1fr;
  }
  .biz-label {
    text-align: left;
    margin-bottom: 4px;
  }
  .biz-value {
    flex-direction: column;
    align-items: stretch;
  }
  .code-group {
    flex-direction: row;
  }
  .code-group .btn-search {
    margin-top: 8px;
    width: 100%;
  }
}

@media (max-width: 540px) {
  /* 년/월/일 3칸 간격 */
  .date-group input:last-child {
    margin-right: 0;
  }

  /* 체크박스 줄바꿈 */
  .checkbox-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 8px;
  }

  /* 주소 검색 버튼 아래로 */
  .address-group {
    flex-direction: column;
  }
  .address-group .btn-search {
    margin: 8px 0 0;
    width: 100%;
  }
}

/* ================================================
    guarantee
================================================ */

.guarantee_body {
  background-color: var(--color-guarantee-light);
}

.guarantee_body .breadcrumb {
  background-color: var(--color-guarantee-point);
}

.policy-heading_guarantee {
  display: flex;
  align-items: center;

  font-weight: 600;
  color: var(--color-guarantee-point);
  margin-bottom: 12px;
  font-family: "THEmpgtB";
  font-size: 20px;
}

/* ================================================
          guarantee_credit_foundation
================================================ */
.credit_foundation_banner_img {
  background: url("/images/sub/guarantee/CK_cm08587713_11zon.webp") no-repeat
    center/cover;
}

/* 테이블 */

.foundation-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans KR", sans-serif;
  font-size: 0.95rem;
  color: #4a4a4a; /* 본문 텍스트 색 */
}

.foundation-table th,
.foundation-table td {
  padding: 16px 12px;
  border-bottom: 1px solid #e0e0e0;
}

.foundation-table th {
  background-color: var(--color-guarantee-medium); /* 대분류 배경색 */
  color: var(--color-guarantee-point); /* 대분류 텍스트 색 (진한 보라) */
  text-align: center;
  font-weight: 500;
  vertical-align: top;
  width: 25%; /* 첫 열 너비 비율 */
}

.foundation-table td {
  background-color: #ffffff;
  color: #353535;
  line-height: 1.5;
  text-align: left;
  padding-left: 16px;
}

/* 테이블 맨 위에도 같은 보더 추가 */
.foundation-table tbody tr:first-child th,
.foundation-table tbody tr:first-child td {
  border-top: 1px solid #e0e0e0;
}

/* ================================================
          guarantee_credit_fund
================================================ */
.credit_fund_banner_img {
  background: url("/images/sub/guarantee/CK_td02240011129_11zon.webp") no-repeat
    center/cover;
}

.fund-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans KR", sans-serif;
  font-size: 0.95rem;
}

.fund-table th,
.fund-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #e0e0e0;
}

/* 대분류 셀 (첫 열) */
.fund-table th.fund-category {
  background-color: #f3eefb; /* 연보라 배경 */
  color: #5a3780; /* 진한 보라 텍스트 */
  text-align: center;
  vertical-align: middle;
  width: 25%;
}

/* 중분류 셀 (두 번째 열) */
.fund-table td.fund-subcategory {
  background-color: #ffffff;
  color: #333333; /* 짙은 회색 텍스트 */
  font-weight: 500;
  text-align: center;
  width: 25%;
}

/* 설명 셀 (세 번째 열 또는 colspan) */
.fund-table td.fund-description {
  background-color: #ffffff; /* 검은 배경 */
  color: #3c3c3c; /* 흰 텍스트 */
  text-align: left;
  line-height: 1.5;
  width: 50%;
}

/* 2·3행의 중분류 셀에 세로 경계선 추가 */
.fund-table td.fund-subcategory {
  border-right: 1px solid #e0e0e0;
  color: #3c3c3c;
}

/* 테이블 맨 위에도 가로 경계선 추가 */
.fund-table tbody tr:first-child th,
.fund-table tbody tr:first-child td {
  border-top: 1px solid #e0e0e0;
}

/* ================================================
          guarantee_tech_fund
================================================ */
.tech_fund_banner_img {
  background: url("/images/sub/guarantee/CK_pc0040625727_11zon.webp") no-repeat
    center/cover;
}

/* ech.css */

.ech-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans KR", sans-serif;
}

/* 맨 위/맨 아래 보더 */
.ech-table tbody tr:first-child th,
.ech-table tbody tr:first-child td {
  border-top: 1px solid #e0e0e0;
}
.ech-table tr:last-child th,
.ech-table tr:last-child td {
  border-bottom: 1px solid #e0e0e0;
}

/* 공통 셀 스타일 */
.ech-table th,
.ech-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #e0e0e0;
}

/* 대분류 (첫 열) */
.ech-table th.ech-category {
  background-color: var(--color-guarantee-medium);
  color: var(--color-guarantee-point);
  text-align: center;
  vertical-align: middle;
  width: 20%;
}

/* 중분류 (두 번째 열) */
.ech-table td.ech-subcategory {
  background-color: #ffffff;
  color: #333333;
  text-align: center;
  font-weight: 500;
  width: 20%;
  border-right: 1px solid #e0e0e0;
}

/* 설명 (세 번째 열 또는 colspan) */
.ech-table td.ech-description {
  background-color: #ffffff;
  color: #353535;
  text-align: left;
  width: 60%;
  font-weight: 400;
  font-size: 16px;
}

/* ================================================
          guarantee_agri_fund
================================================ */
.agri_fund_banner_img {
  background: url("/images/sub/guarantee/CK_td00450000182_11zon.webp") no-repeat
    center/cover;
}

/* agri.css */

.agri-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans KR", sans-serif;
}

/* 맨 위/맨 아래 보더 */
.agri-table tbody tr:first-child th,
.agri-table tbody tr:first-child td {
  border-top: 1px solid #e0e0e0;
}
.agri-table tr:last-child th,
.agri-table tr:last-child td {
  border-bottom: 1px solid #e0e0e0;
}

/* 공통 셀 스타일 */
.agri-table th,
.agri-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #e0e0e0;
}

/* 대분류 (첫 열) */
.agri-table th.agri-category {
  background-color: var(--color-guarantee-medium);
  color: var(--color-guarantee-point);
  text-align: center;
  vertical-align: middle;
  width: 20%;
}

/* 중분류 (두 번째 열) */
.agri-table td.agri-subcategory {
  background-color: #ffffff;
  color: #333333;
  text-align: center;
  font-weight: 500;
  width: 20%;
  border-right: 1px solid #e0e0e0;
}

/* 설명 (세 번째 열 또는 colspan 셀) */
.agri-table td.agri-description {
  background-color: #ffffff;
  color: #353535;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
  width: 60%;
}

/* ================================================
          guarantee_smb
================================================ */
.smb_banner_img {
  background: url("/images/sub/guarantee/CK_tica0140002986_11zon.webp")
    no-repeat center/cover;
}

/* smb.css */

.smb-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans KR", sans-serif;
}

/* 맨 위/맨 아래 보더 */
.smb-table tbody tr:first-child th,
.smb-table tbody tr:first-child td {
  border-top: 1px solid #e0e0e0;
}
.smb-table tr:last-child th,
.smb-table tr:last-child td {
  border-bottom: 1px solid #e0e0e0;
}

/* 공통 셀 스타일 */
.smb-table th,
.smb-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #e0e0e0;
}

/* 첫 번째 열 (카테고리) */
.smb-table th.smb-category {
  background-color: var(--color-guarantee-medium);
  color: var(--color-guarantee-point);
  text-align: center;
  vertical-align: middle;
  width: 20%;
}

/* 두 번째 열 (중분류) */
.smb-table td.smb-subcategory {
  background-color: #ffffff;
  color: #3c3c3c;
  text-align: center;
  font-weight: 500;
  width: 30%;
  border-right: 1px solid #e0e0e0;
}

/* 세 번째 열 또는 colspan 셀 (설명) */
.smb-table td.smb-description {
  background-color: #ffffff;
  color: #353535;
  text-align: left;
  padding-left: 16px;
  width: 50%;
}

/* ================================================
          guarantee_sme
================================================ */
.sme_banner_img {
  background: url("/images/sub/guarantee/CK_yaytg152306_11zon.webp") no-repeat
    center/cover;
}

/* sme.css */

.sme-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans KR", sans-serif;
}

/* 맨 위/맨 아래 보더 */
.sme-table tbody tr:first-child th,
.sme-table tbody tr:first-child td {
  border-top: 1px solid #e0e0e0;
}
.sme-table tr:last-child th,
.sme-table tr:last-child td {
  border-bottom: 1px solid #e0e0e0;
}

/* 공통 셀 */
.sme-table th,
.sme-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #e0e0e0;
}

/* 첫 번째 열 (카테고리) */
.sme-table th.sme-category {
  background-color: var(--color-guarantee-medium);
  color: var(--color-guarantee-point);
  text-align: center;
  vertical-align: middle;
  width: 20%;
}

/* 두 번째 열 (중분류) */
.sme-table td.sme-subcategory {
  background-color: var(--color-guarantee-light);
  color: #333333;
  text-align: center;
  font-weight: 500;
  width: 20%;
  border-right: 1px solid #e0e0e0;
}

/* 설명 셀 (세 번째 열 또는 colspan) */
.sme-table td.sme-description {
  background-color: #ffffff;
  color: #353535;
  text-align: left;
  width: 60%;
}

/* ================================================
      공통 sub_css
================================================ */

/*공통 컨테이너*/
.container {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
}

/* banner (공통되는 설정만)*/
.banner-area {
  position: relative;
  height: 30vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 730px) {
  .banner-area {
    margin-top: 40px;
  }
  .option-box-agree {
    font-size: 12px;
    width:70px;
  }
}

/* 공통 배너 이미지 스타일 */
[class$="_banner_img"] {
  width: 100%;
  height: 30vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* 배너 위에 반투명 오버레이 */
.banner-area::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.4);
}

.banner-inner {
  position: relative;
  padding: 10px 20px;
  border-radius: 4px;
}

.banner-title {
  font-size: 32px;
  font-weight: 600;
  color: #ffffff;
  text-align: center;
  letter-spacing: 0.08rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  font-family: "THEmpgtB";
}

/* breadcrumb */
.breadcrumb {
  display: flex;
  align-items: center;
  min-height: 40px;
  position: relative;
}

.breadcrumb .container {
  display: flex;
  align-items: center;
}

.breadcrumb-list {
  display: flex;
  align-items: center;
  font-family: "THEmpgtB";
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  margin-right: 40px;
}

.breadcrumb-list li {
  margin-right: 8px;
}

.breadcrumb-home,
.breadcrumb-item {
  color: #ffffff;
  padding: 0 10px;
}

.breadcrumb-current {
  color: #bbbbbb;
  padding: 0 8px;
  font-weight: normal;
}

.breadcrumb-separator {
  color: #ffffff;
  padding: 0 4px;
}

@media (max-width: 440px) {
  .breadcrumb {
    display: flex;
    align-items: center;
    min-height: 30px;
    position: relative;
  }

  .breadcrumb-list {
    font-size: 12px;
    font-weight: 500;
    margin-right: 10px;
  }
}

/*서브페이지 블럭*/
.policy-block {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 32px 20px;
  margin: 50px 0;
  position: relative;
}

/*서브페이지 각 블럭 제목*/
.policy-icon img {
  display: inline-block;
  width: 18px;
  margin-right: 8px;
}

.policy-text {
  font-size: 17px;
  color: #4a4a4a;
  line-height: 1.6;
  letter-spacing: 0.04rem;
}

.policy-heading_sub {
  font-size: 17px;
  color: #646464;
}

/* bottom_banner*/
.bottom_img img {
  width: 100%;
  margin-bottom: -10px;
  margin-top: 40px;
}

/*  slider  */
.logo-slider {
  overflow: hidden;
  width: 100%;
  background: transparent;
  padding: 20px 0;
}

.logo-track {
  display: flex;
  width: calc(250px * 5);
  animation: scroll 20s linear infinite;
}

.logo-track img {
  width: 250px;
  height: auto;
  margin: 0 10px;
  object-fit: contain;
}

@keyframes scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* guarantee 테이블 공통부분*/
[class$="table-wrapper"] {
  width: 100%;
  max-width: 1000px;
  margin: 40px auto;
}

/* ---------- 접속한 서브페이지의 서브메뉴 텍스트 색 (highlight.js랑 연결)--------------- */
.main_menu .submenu a.active {
  color: #0c2e65;
  /* 텍스트 색 */
  font-weight: 600;
  /* 글굵기 */
}

/* —————— 현재 페이지 메뉴 하이라이트 —————— */
.pc_menu .menu-item.active,
.pc_menu .submenu li a.active {
  color: #0053a0 !important;
  font-weight: bold !important;
}
