/* ============================================================
   page_content 공통 스타일 — 하위 페이지 타이포그래피 / 컴포넌트 통일
   ============================================================ */

/* ── 타이포그래피 기본 ── */
.sub_content .content h3 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1.6rem;
}

.sub_content .content h4 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.8rem;
}

.sub_content .content p {
  font-size: 1.6rem;
  line-height: 1.7;
}

/* ── 섹션 소제목 .page_title (콘텐츠 내부용) ── */
.sub_content .content .page_title {
  margin-bottom: 3.2rem;
}

.sub_content .content .page_title h3 {
  font-size: 3.2rem;
  font-weight: 700;
  text-align: left;
  padding: 0;
  white-space: normal;
  margin-bottom: 0.8rem;
}

.sub_content .content .page_title h3::after {
  display: none;
}

.sub_content .content .page_title > p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.6rem;
}

/* ── 공통 CTA 버튼 ── */
.cta_btn {
  display: inline-flex;
  align-items: center;
  height: 5.6rem;
  padding: 0 4rem;
  background: var(--point-color);
  color: var(--white-color);
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.3s;
}

/* ── 공통 CTA 블록 ── */
#franchise_process .process_cta,
#franchise_cost .cost_cta,
#store_list .franchise_cta {
  text-align: center;
  padding: 5.6rem;
  background: var(--background-color);
  margin-top: 4rem;
}

#franchise_process .process_cta > p,
#franchise_cost .cost_cta > p,
#store_list .franchise_cta > p {
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 2.4rem;
}

/* ── 반응형 ── */
@media (max-width: 768px) {
  .sub_content .content h3 {
    font-size: 2.8rem;
  }
  .sub_content .content h4 {
    font-size: 2rem;
  }

  #franchise_process .process_cta,
  #franchise_cost .cost_cta,
  #store_list .franchise_cta {
    padding: 3.2rem 2.4rem;
  }

  #franchise_process .process_cta > p,
  #franchise_cost .cost_cta > p,
  #store_list .franchise_cta > p {
    font-size: 2rem;
  }
}
