/* ===== sub page section padding ===== */
.section { padding-top: 100px; padding-bottom: 100px; }

/* ===== sub page common components ===== */

/* label badge — "BUSINESS OVERVIEW" */
.sub-label { display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 1.2rem; font-weight: 700; color: #1A60FC; letter-spacing: 2px; margin-bottom: 14px; background: #e8f1f5; }

/* page main title */
.sub-content-title { font-size: 3.5rem; font-weight: 800; color: #111; line-height: 1.3; word-break: keep-all; }

/* ===== block (섹션 내 콘텐츠 구분) ===== */
.sub-block:not(:last-child) { margin-bottom: 100px; }
.sub-block-header { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }

/* section heading with left bar */
.sub-section-title { position: relative; padding-left: 30px; margin-bottom: 15px; }
.sub-section-title::after { content: ''; position: absolute; top: 7px; left: 0; border: 5px solid var(--theme); width: 20px; height: 20px; border-radius: 50%; }
.sub-section-title p.tit { font-size: 2.2rem; font-weight: 600; color: #111; line-height: 1.5; word-break: keep-all; }

/* bullet list */
.sub-bullet-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.sub-bullet-list li { font-size: 1.8rem; color: #222; line-height: 1.8; padding-left: 22px; position: relative; word-break: keep-all; }
.sub-bullet-list li::before { content: '•'; position: absolute; left: 0; color: var(--theme); font-weight: 700; }
.sub-bullet-list li .li-box { margin: 5px 0 10px; }
.sub-bullet-list li .li-box p.txt { font-size: 1.7rem; color: #444; position: relative; word-break: break-word; overflow-wrap: break-word; background: #eff2f3; padding: 15px 25px; border-radius: 10px; line-height: 1.6; }


/* text-only list */
.sub-text-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sub-text-list li { font-size: 1.7rem; color: #222; padding-left: 18px; position: relative; }
.sub-text-list li::before { content: '-'; position: absolute; left: 0; color: #888; }
.sub-text-list.type-box li { padding: 10px 35px; background: #e8eaeb; border-radius: 8px;}
.sub-text-list.type-box li::before { left: 20px; }

/* image */
.sub-img { text-align: center; }
.sub-img img { max-width: 100%; height: auto; }

/* ===== responsive ===== */
@media (max-width: 1280px) {
	.section { padding-top: 80px; padding-bottom: 80px; }
	.sub-content-title { font-size: 3.4rem; }
	.sub-section-title p.tit { font-size: 2rem; }
}

@media (max-width: 768px) {
	.section { padding-top: 60px; padding-bottom: 60px; }
    .sub-label { font-size: 1rem; padding: 2px 10px; margin-bottom: 10px; }
	.sub-content-title { font-size: 2.8rem; }
    .sub-section-title { padding-left: 25px; }
    .sub-section-title::after { width: 15px; height: 15px; border-width: 4px; }
	.sub-section-title p.tit { font-size: 1.8rem; }
	.sub-bullet-list li { font-size: 1.5rem; padding-left: 14px; }
    .sub-bullet-list li .li-box p.txt { font-size: 1.4rem; padding: 12px 15px; border-radius: 8px; }
    .sub-text-list li { font-size: 1.5rem; }
	.sub-block:not(:last-child) { margin-bottom: 50px; }
	.sub-block-divider { margin: 56px 0; }
}

@media (max-width: 480px) {
	.section { padding-top: 40px; padding-bottom: 40px; }
	.sub-content-title { font-size: 2rem;  }
    .sub-section-title { padding-left: 18px; margin-bottom: 10px; }
    .sub-section-title::after { width: 12px; height: 12px; border-width: 3px; top: 7px; }
	.sub-section-title p.tit { font-size: 1.7rem; }
    .sub-block-header { padding-bottom: 15px; }
    .sub-text-list.type-box li { padding: 8px 15px 8px 20px; border-radius: 5px; font-size: 1.4rem;}
    .sub-text-list.type-box li::before { left: 10px;}
}
