@charset "utf-8";

/*셔틀버스 (html/a6.php) : 꼭 확인 안내 / 운행시간 / 정류장 검색 / 호차 탭 / 선택한 노선*/
/* 모두 .a6 로 묶음 → 다른 셔틀버스 페이지(a8 …)는 따로 .a8 로 만들면 서로 영향 없음 */
/* 색 포인트는 2가지만 : 빨강 = 꼭 확인할 안내, 남색 = 선택한 호차 · 학원 */
.a6 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */

/* 꼭 확인하세요 + 운행시간 (한 상자 : 안내 위, 운행시간 아래 / 빨간색은 안내 문구에만) */
.a6 .bus_info {padding:0 28px; border:1px solid #e5e8ec; border-radius:6px}
.a6 .bus_info dl {display:flex; align-items:baseline; gap:0 30px; margin:0; padding:20px 0}
.a6 .bus_info dl + dl {border-top:1px solid #e5e8ec}
.a6 .bus_info dt {flex-shrink:0; width:110px; font-size:16px; font-weight:700; color:#111}
.a6 .bus_info dd {display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 30px; margin:0}
.a6 .bus_t {font-size:15px; font-weight:500; color:#555; white-space:nowrap}
.a6 .bus_t strong {margin-left:6px; font-size:22px; font-weight:800; color:#111; font-variant-numeric:tabular-nums}
.a6 .bus_t_txt {flex-basis:100%; font-size:14px; color:#666}
.a6 .bus_alert {display:flex; align-items:center; gap:8px 20px; padding:18px 0; border-bottom:1px solid #e5e8ec}
.a6 .bus_alert_tit {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#db050f}
.a6 .bus_alert_tit svg, .a6 .bus_call svg {display:block; flex-shrink:0} /* 아이콘은 svg 로 : 글자와 정확히 가운데 맞춤 */
.a6 .bus_alert_tit svg {width:18px; height:18px}
.a6 .bus_alert p {flex:1; font-size:15px; color:#333; line-height:1.6; word-break:keep-all}
.a6 .bus_alert em {font-style:normal; font-weight:700; color:#db050f}
.a6 .bus_call {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#111}
.a6 .bus_call:hover {text-decoration:underline}
.a6 .bus_call svg {width:16px; height:16px}

/* 정류장 검색 */
.a6 .bus_sch {position:relative; max-width:620px; margin:40px auto 0}
.a6 .bus_sch input {width:100%; height:56px; padding:0 56px 0 26px; border:2px solid #111; border-radius:28px; font-size:16px; color:#111; box-sizing:border-box}
.a6 .bus_sch input::placeholder {color:#999}
.a6 .bus_sch input:focus {border-color:#111 !important}
.a6 .bus_sch button {display:flex; align-items:center; justify-content:center; position:absolute; top:50%; right:12px; width:40px; height:40px; padding:0; border:0; background:none; color:#111; transform:translateY(-50%); cursor:pointer} /* 돋보기 = 검색 버튼 */
.a6 .bus_sch svg {display:block}
.a6 .bus_result {min-height:20px; margin:10px 0 20px; font-size:14px; color:#333; text-align:center} /* 검색 결과 : 찾은 노선 수 */

/* 호차 탭 */
.a6 .bus_tab {display:grid; grid-template-columns:repeat(6, 1fr); gap:8px; margin:0 0 40px; padding:0; list-style:none}
.a6 .bus_tab a {display:block; height:100%; padding:14px 12px; border:1px solid #ddd; border-radius:4px; background-color:#fff; text-align:center; box-sizing:border-box}
.a6 .bus_tab a:hover {border-color:#999}
.a6 .bus_tab b {display:block; font-size:16px; font-weight:700; color:#111}
.a6 .bus_tab span {display:block; margin-top:5px; font-size:14px; color:#333; word-break:keep-all} /* 지역 : 잘리지 않고 다 보이게 */
.a6 .bus_tab li.on a {border-color:#f26a2e; background-color:#f26a2e} /* 선택된 호차 : 주황 (위 서브 메뉴 남색과 구분) */
.a6 .bus_tab li.on b, .a6 .bus_tab li.on span {color:#fff}

/* 노선 */
.a6 .bus_box {display:none}
.a6 .bus_box.on {display:block}
.a6 .bus_head {display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:8px 20px; padding-bottom:16px; border-bottom:2px solid #222}
.a6 .bus_head h3 {margin:0; font-size:24px; font-weight:800; color:#111}
.a6 .bus_head h3 span {margin-left:10px; font-size:19px; font-weight:600; color:#222} /* 지역 */
.a6 .bus_head p {margin:0; font-size:15px; color:#333; text-align:right}
.a6 .bus_head a {margin-left:6px; font-weight:700; color:#111}
.a6 .bus_head p span {display: block; margin-top: auto; font-weight: 700; font-size: 14px; color: #db050f;}

/* 정류장 : 번호 순서대로 위→아래, 2줄 */
.a6 .bus_stop {columns:2; column-gap:40px; margin:0; padding:0; list-style:none; counter-reset:stop}
.a6 .bus_stop li {display:flex; align-items:center; gap:14px; padding:14px 6px; border-bottom:1px solid #eee; font-size:16px; color:#222; break-inside:avoid; counter-increment:stop}
.a6 .bus_stop li:before {content:counter(stop); flex-shrink:0; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid #ccc; border-radius:50%; font-size:12px; font-weight:600; color:#333; line-height:1; font-variant-numeric:tabular-nums; box-sizing:border-box} /* line-height:1 = 크기용 아님 : 원 안쪽 26px 에서 숫자 12px 이 정확히 가운데(7px씩) 오도록 소수점 어긋남 방지 */
.a6 .bus_stop li.end {font-weight:700; color:#173f8a}
.a6 .bus_stop li.end:before {border-color:#173f8a; background-color:#173f8a; color:#fff}
.a6 .bus_stop li.hit {background-color:#fff3b0; font-weight:700} /* 검색한 정류장 */
.a6 .bus_stop_head {display:grid; grid-template-columns:1fr 1fr; column-gap:40px; background-color:#f5f7fa} /* 버스승강장 제목줄 (2줄 목록에 맞춰 2번) */
.a6 .bus_stop_head p {margin:0; padding:10px 6px; font-size:13px; font-weight:600; color:#333}

/* 검색 중 : 찾은 노선을 모두 펼침, 탭은 찾은 호차만 진하게 */
.a6.bus_on_sch .bus_box {display:none}
.a6.bus_on_sch .bus_box.found {display:block}
.a6.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:50px}
.a6.bus_on_sch .bus_tab li a {border-color:#ddd; background-color:#fff; opacity:.35; cursor:default}
.a6.bus_on_sch .bus_tab li b {color:#111}
.a6.bus_on_sch .bus_tab li span {color:#333}
.a6.bus_on_sch .bus_tab li.found a {border-color:#111; opacity:1; cursor:pointer}
.a6 .bus_empty {display:none; padding:60px 0; font-size:15px; color:#999; text-align:center}

@media screen and (max-width:1024px) {
	.a6 .bus_tab {grid-template-columns:repeat(4, 1fr)}
}

@media screen and (max-width:768px) {
	.a6 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */

	.a6 .bus_info {padding:0 16px}
	.a6 .bus_info dl {flex-direction:column; gap:6px; padding:16px 0}
	.a6 .bus_info dt {width:auto; font-size:15px}
	.a6 .bus_info dd {gap:4px 20px}
	.a6 .bus_t {font-size:14px}
	.a6 .bus_t strong {font-size:20px}
	.a6 .bus_t_txt {font-size:13px}
	.a6 .bus_alert {flex-wrap:wrap; gap:6px 0; padding:16px 0}
	.a6 .bus_alert p {flex-basis:100%; font-size:14px}
	.a6 .bus_call {font-size:14px}

	.a6 .bus_sch {margin-top:28px}
	.a6 .bus_result {margin-bottom:14px; font-size:13px}
	.a6 .bus_sch input {height:50px; padding:0 48px 0 20px; font-size:14px}
	.a6 .bus_sch input::placeholder {font-size:13px} /* 좁은 화면에서 안내 문구가 잘리지 않게 */
	.a6 .bus_sch button {right:8px}
	.a6 .bus_sch svg {width:20px; height:20px}

	.a6 .bus_tab {grid-template-columns:repeat(3, 1fr); gap:6px; margin-bottom:28px}
	.a6 .bus_tab a {padding:10px 6px}
	.a6 .bus_tab b {font-size:15px}
	.a6 .bus_tab span {margin-top:4px; font-size:13px}

	.a6 .bus_head {flex-direction:column; align-items:flex-start; padding-bottom:12px}
	.a6 .bus_head h3 {font-size:21px}
	.a6 .bus_head h3 span {display:block; margin:6px 0 0; font-size:16px}
	.a6 .bus_head p {font-size:14px; text-align:left}
	.a6 .bus_head p span {font-size:13px}

	.a6 .bus_stop {columns:1}
	.a6 .bus_stop li {gap:12px; padding:12px 4px; font-size:15px}
	.a6 .bus_stop li:before {width:26px; height:26px; font-size:12px} /* 안쪽 24px - 숫자 12px = 위아래 6px */
	.a6 .bus_stop_head {grid-template-columns:1fr}
	.a6 .bus_stop_head p {padding:8px 4px; font-size:12px}
	.a6 .bus_stop_head p + p {display:none} /* 모바일은 1줄 목록 */
	.a6.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:36px}
}


/*셔틀버스 퍼플반 (html/b5.php) : a6 과 같은 디자인, .b5 로 따로 묶음 (a6 을 고쳐도 영향 없음)*/
.b5 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */

/* 꼭 확인하세요 + 운행시간 (한 상자 : 안내 위, 운행시간 아래 / 빨간색은 안내 문구에만) */
.b5 .bus_info {padding:0 28px; border:1px solid #e5e8ec; border-radius:6px}
.b5 .bus_info dl {display:flex; align-items:baseline; gap:0 30px; margin:0; padding:20px 0}
.b5 .bus_info dl + dl {border-top:1px solid #e5e8ec}
.b5 .bus_info dt {flex-shrink:0; width:110px; font-size:16px; font-weight:700; color:#111}
.b5 .bus_info dd {display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 30px; margin:0}
.b5 .bus_t {font-size:15px; font-weight:500; color:#555; white-space:nowrap}
.b5 .bus_t strong {margin-left:6px; font-size:22px; font-weight:800; color:#111; font-variant-numeric:tabular-nums}
.b5 .bus_t_txt {flex-basis:100%; font-size:14px; color:#666}
.b5 .bus_alert {display:flex; align-items:center; gap:8px 20px; padding:18px 0; border-bottom:1px solid #e5e8ec}
.b5 .bus_alert_tit {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#db050f}
.b5 .bus_alert_tit svg, .b5 .bus_call svg {display:block; flex-shrink:0} /* 아이콘은 svg 로 : 글자와 정확히 가운데 맞춤 */
.b5 .bus_alert_tit svg {width:18px; height:18px}
.b5 .bus_alert p {flex:1; font-size:15px; color:#333; line-height:1.6; word-break:keep-all}
.b5 .bus_alert em {font-style:normal; font-weight:700; color:#db050f}
.b5 .bus_call {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#111}
.b5 .bus_call:hover {text-decoration:underline}
.b5 .bus_call svg {width:16px; height:16px}

/* 정류장 검색 */
.b5 .bus_sch {position:relative; max-width:620px; margin:40px auto 0}
.b5 .bus_sch input {width:100%; height:56px; padding:0 56px 0 26px; border:2px solid #111; border-radius:28px; font-size:16px; color:#111; box-sizing:border-box}
.b5 .bus_sch input::placeholder {color:#999}
.b5 .bus_sch input:focus {border-color:#111 !important}
.b5 .bus_sch button {display:flex; align-items:center; justify-content:center; position:absolute; top:50%; right:12px; width:40px; height:40px; padding:0; border:0; background:none; color:#111; transform:translateY(-50%); cursor:pointer} /* 돋보기 = 검색 버튼 */
.b5 .bus_sch svg {display:block}
.b5 .bus_result {min-height:20px; margin:10px 0 20px; font-size:14px; color:#333; text-align:center} /* 검색 결과 : 찾은 노선 수 */

/* 호차 탭 */
.b5 .bus_tab {display:grid; grid-template-columns:repeat(6, 1fr); gap:8px; margin:0 0 40px; padding:0; list-style:none}
.b5 .bus_tab a {display:block; height:100%; padding:14px 12px; border:1px solid #ddd; border-radius:4px; background-color:#fff; text-align:center; box-sizing:border-box}
.b5 .bus_tab a:hover {border-color:#999}
.b5 .bus_tab b {display:block; font-size:16px; font-weight:700; color:#111}
.b5 .bus_tab span {display:block; margin-top:5px; font-size:14px; color:#333; word-break:keep-all} /* 지역 : 잘리지 않고 다 보이게 */
.b5 .bus_tab li.on a {border-color:#f26a2e; background-color:#f26a2e} /* 선택된 호차 : 주황 (위 서브 메뉴 남색과 구분) */
.b5 .bus_tab li.on b, .b5 .bus_tab li.on span {color:#fff}

/* 노선 */
.b5 .bus_box {display:none}
.b5 .bus_box.on {display:block}
.b5 .bus_head {display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:8px 20px; padding-bottom:16px; border-bottom:2px solid #222}
.b5 .bus_head h3 {margin:0; font-size:24px; font-weight:800; color:#111}
.b5 .bus_head h3 span {margin-left:10px; font-size:19px; font-weight:600; color:#222} /* 지역 */
.b5 .bus_head p {margin:0; font-size:15px; color:#333; text-align:right}
.b5 .bus_head a {margin-left:6px; font-weight:700; color:#111}
.b5 .bus_head p span {display: block; margin-top: auto; font-weight: 700; font-size: 14px; color: #db050f;}

/* 정류장 : 번호 순서대로 위→아래, 2줄 */
.b5 .bus_stop {columns:2; column-gap:40px; margin:0; padding:0; list-style:none; counter-reset:stop}
.b5 .bus_stop li {display:flex; align-items:center; gap:14px; padding:14px 6px; border-bottom:1px solid #eee; font-size:16px; color:#222; break-inside:avoid; counter-increment:stop}
.b5 .bus_stop li:before {content:counter(stop); flex-shrink:0; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid #ccc; border-radius:50%; font-size:12px; font-weight:600; color:#333; line-height:1; font-variant-numeric:tabular-nums; box-sizing:border-box} /* line-height:1 = 크기용 아님 : 원 안쪽 26px 에서 숫자 12px 이 정확히 가운데(7px씩) 오도록 소수점 어긋남 방지 */
.b5 .bus_stop li.end {font-weight:700; color:#173f8a}
.b5 .bus_stop li.end:before {border-color:#173f8a; background-color:#173f8a; color:#fff}
.b5 .bus_stop li.hit {background-color:#fff3b0; font-weight:700} /* 검색한 정류장 */
.b5 .bus_stop_head {display:grid; grid-template-columns:1fr 1fr; column-gap:40px; background-color:#f5f7fa} /* 버스승강장 제목줄 (2줄 목록에 맞춰 2번) */
.b5 .bus_stop_head p {margin:0; padding:10px 6px; font-size:13px; font-weight:600; color:#333}

/* 검색 중 : 찾은 노선을 모두 펼침, 탭은 찾은 호차만 진하게 */
.b5.bus_on_sch .bus_box {display:none}
.b5.bus_on_sch .bus_box.found {display:block}
.b5.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:50px}
.b5.bus_on_sch .bus_tab li a {border-color:#ddd; background-color:#fff; opacity:.35; cursor:default}
.b5.bus_on_sch .bus_tab li b {color:#111}
.b5.bus_on_sch .bus_tab li span {color:#333}
.b5.bus_on_sch .bus_tab li.found a {border-color:#111; opacity:1; cursor:pointer}
.b5 .bus_empty {display:none; padding:60px 0; font-size:15px; color:#999; text-align:center}

@media screen and (max-width:1024px) {
	.b5 .bus_tab {grid-template-columns:repeat(4, 1fr)}
}

@media screen and (max-width:768px) {
	.b5 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */

	.b5 .bus_info {padding:0 16px}
	.b5 .bus_info dl {flex-direction:column; gap:6px; padding:16px 0}
	.b5 .bus_info dt {width:auto; font-size:15px}
	.b5 .bus_info dd {gap:4px 20px}
	.b5 .bus_t {font-size:14px}
	.b5 .bus_t strong {font-size:20px}
	.b5 .bus_t_txt {font-size:13px}
	.b5 .bus_alert {flex-wrap:wrap; gap:6px 0; padding:16px 0}
	.b5 .bus_alert p {flex-basis:100%; font-size:14px}
	.b5 .bus_call {font-size:14px}

	.b5 .bus_sch {margin-top:28px}
	.b5 .bus_result {margin-bottom:14px; font-size:13px}
	.b5 .bus_sch input {height:50px; padding:0 48px 0 20px; font-size:14px}
	.b5 .bus_sch input::placeholder {font-size:13px} /* 좁은 화면에서 안내 문구가 잘리지 않게 */
	.b5 .bus_sch button {right:8px}
	.b5 .bus_sch svg {width:20px; height:20px}

	.b5 .bus_tab {grid-template-columns:repeat(3, 1fr); gap:6px; margin-bottom:28px}
	.b5 .bus_tab a {padding:10px 6px}
	.b5 .bus_tab b {font-size:15px}
	.b5 .bus_tab span {margin-top:4px; font-size:13px}

	.b5 .bus_head {flex-direction:column; align-items:flex-start; padding-bottom:12px}
	.b5 .bus_head h3 {font-size:21px}
	.b5 .bus_head h3 span {display:block; margin:6px 0 0; font-size:16px}
	.b5 .bus_head p {font-size:14px; text-align:left}
	.b5 .bus_head p span {font-size:13px}

	.b5 .bus_stop {columns:1}
	.b5 .bus_stop li {gap:12px; padding:12px 4px; font-size:15px}
	.b5 .bus_stop li:before {width:26px; height:26px; font-size:12px} /* 안쪽 24px - 숫자 12px = 위아래 6px */
	.b5 .bus_stop_head {grid-template-columns:1fr}
	.b5 .bus_stop_head p {padding:8px 4px; font-size:12px}
	.b5 .bus_stop_head p + p {display:none} /* 모바일은 1줄 목록 */
	.b5.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:36px}
}


/*고등부 장학제도 (html/c3.php) : 장학제도 / 고3 연합반 / 하이퍼플 학습관 · 수강료 · 시간표 / 신입생 안내문 — .c3 로 따로 묶음*/
.c3 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.c3 .c3_sec {margin-top:100px}
.c3 .c3_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */

/* 구역 제목 */
.c3 .c3_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:24px; font-weight:800; color:#111}
.c3 .c3_desc {margin:16px 0 0; font-size:15px; color:#333; line-height:1.7}
.c3 .c3_desc b {color:#111}
.c3 .c3_sub {margin:36px 0 14px; font-size:18px; font-weight:700; color:#111}

/* 혜택 줄 : 왼쪽 항목 / 오른쪽 조건 → 할인 */
.c3 .c3_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:30px 0; border-bottom:1px solid #e5e8ec}
.c3 .c3_row dt {font-size:18px; font-weight:700; color:#111}
.c3 .c3_row dd {margin:0; min-width:0}
.c3 .c3_row dd > p {margin:0 0 10px; font-size:15px; color:#333}
.c3 .c3_grp + .c3_grp {margin-top:22px}
.c3 .c3_grp h4 {margin:0 0 8px; font-size:15px; font-weight:700; color:#111}
.c3 .c3_rate {margin:0; padding:0; list-style:none}
.c3 .c3_rate li {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 16px; background-color:#f5f7fa; word-break:keep-all}
.c3 .c3_rate li + li {margin-top:4px}
.c3 .c3_rate span {font-size:15px; color:#222}
.c3 .c3_rate b {flex-shrink:0; font-size:16px; font-weight:700; color:#db050f; text-align:right}
.c3 .c3_rate small {font-size:13px; font-weight:400; color:#555}
.c3 .c3_small {margin:8px 0 0; font-size:13px; color:#666}
.c3 .c3_note {margin:20px 0 0; padding:18px 22px; border:1px solid #e5e8ec; border-radius:6px; list-style:none}
.c3 .c3_note li {font-size:14px; color:#333; word-break:keep-all}
.c3 .c3_note li + li {margin-top:4px}



/* 표 (수강료 / 시간표) */
.c3 .c3_scroll {overflow-x:auto}
.c3 .c3_tbl {width:100%; border-collapse:collapse; border-top:2px solid #222; font-size:15px; text-align:center}
.c3 .c3_tbl th, .c3 .c3_tbl td {padding:16px 12px; border-bottom:1px solid #e5e8ec; color:#222}
.c3 .c3_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.c3 .c3_tbl tbody th {background-color:#fafbfc; font-weight:600; color:#111; word-break:keep-all} /* 항목칸 : 띄어쓰기에서만 줄바꿈 */
.c3 .c3_fee {margin-top:16px}
.c3 .c3_fee td {font-size:16px}
.c3 .c3_fee .c3_free {font-weight:700; color:#173f8a}
.c3 .c3_time {display:flex; flex-direction:column; gap:30px; margin-top:8px}
.c3 .c3_time h4 {margin:20px 0 10px; font-size:16px; font-weight:700; color:#111}
.c3 .c3_week thead th span {display:block; margin-top:4px; font-size:13px; font-weight:400; color:#555}
.c3 .c3_week .c3_on {font-weight:700; color:#111}
.c3 .c3_week .c3_line th, .c3 .c3_week .c3_line td {border-bottom-color:#999}
.c3 .c3_week .c3_meal td {background-color:#f5f7fa; font-weight:700; color:#111}
.c3 .c3_week td b {display:block; margin-top:2px; font-size:14px;}

/* 입학절차 */
.c3 .c3_step {display:grid; grid-template-columns:repeat(6, 1fr); gap:8px; margin:0; padding:0; list-style:none}
.c3 .c3_step li {padding:18px 10px; border:1px solid #e3e7ec; border-radius:6px; font-size:15px; font-weight:600; color:#111; text-align:center; word-break:keep-all}
.c3 .c3_step b {display:flex; align-items:center; justify-content:center; width:24px; height:24px; margin:0 auto 10px; border-radius:50%; background-color:#173f8a; font-size:12px; color:#fff; line-height:1; font-weight: 500;}
.c3 .c3_step span {display:block; margin-top:4px; font-size:13px; font-weight:400; color:#666}

/* 수업 외적인 부분 안내 */
.c3 .c3_guide {margin:0; padding:0; border-top:1px solid #222; list-style:none}
.c3 .c3_guide li {display:flex; gap:10px; padding:13px 4px; border-bottom:1px solid #eee; font-size:15px; color:#222; line-height:1.7; word-break:keep-all}
.c3 .c3_guide b {flex-shrink:0; min-width:22px; font-size:16px; font-weight:800; color:#173f8a; font-variant-numeric:tabular-nums} /* 번호 : 원 없이 굵은 숫자 (입학절차 원 번호와 구분) */

@media screen and (max-width:1024px) {
	.c3 .c3_step {grid-template-columns:repeat(3, 1fr)}
}

@media screen and (max-width:768px) {
	.c3 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.c3 .c3_sec {margin-top:50px}
	.c3 .c3_tit {padding-bottom:12px; font-size:20px}
	.c3 .c3_desc {font-size:14px}
	.c3 .c3_sub {margin:28px 0 12px; font-size:16px}

	.c3 .c3_row {grid-template-columns:1fr; gap:10px; padding:20px 0}
	.c3 .c3_row dt {font-size:16px}
	.c3 .c3_row dd > p {font-size:14px}
	.c3 .c3_rate li {flex-direction:column; align-items:flex-start; gap:2px; padding:10px 14px}
	.c3 .c3_rate span {font-size:14px}
	.c3 .c3_rate b {font-size:15px; text-align:left}
	.c3 .c3_note {padding:14px 16px}
	.c3 .c3_note li {font-size:13px}

	.c3 .c3_card {grid-template-columns:1fr; gap:10px; margin-top:16px}
	.c3 .c3_card li {padding:18px 16px}
	.c3 .c3_card strong {margin-bottom:8px; font-size:16px}
	.c3 .c3_card p {font-size:14px}

	.c3 .c3_tbl {font-size:13px}
	.c3 .c3_tbl th, .c3 .c3_tbl td {padding:10px 8px}
	.c3 .c3_tbl {overflow-wrap:anywhere} /* 모바일 : 표가 화면 폭 안에 다 들어오게 */
	.c3 .c3_fee {min-width:560px} /* 수강료표 : 좁은 화면은 좌우로 밀어서 보기 */
	.c3 .c3_fee td {font-size:14px}

	.c3 .c3_week td b {font-size:12px}

	.c3 .c3_step li {padding:14px 6px; font-size:13px}
	.c3 .c3_step span {font-size:12px}
	.c3 .c3_guide li {padding:11px 2px; font-size:14px}
	.c3 .c3_guide b {min-width:20px; font-size:15px}
}

/*고등부 셔틀버스 (html/c4.php) : a6 과 같은 디자인 + 정류장마다 승차시간, .c4 로 따로 묶음*/
.c4 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */

/* 꼭 확인하세요 + 운행시간 (한 상자 : 안내 위, 운행시간 아래 / 빨간색은 안내 문구에만) */
.c4 .bus_info {padding:0 28px; border:1px solid #e5e8ec; border-radius:6px}
.c4 .bus_info dl {display:flex; align-items:baseline; gap:0 30px; margin:0; padding:20px 0}
.c4 .bus_info dl + dl {border-top:1px solid #e5e8ec}
.c4 .bus_info dt {flex-shrink:0; width:110px; font-size:16px; font-weight:700; color:#111}
.c4 .bus_info dd {display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 30px; margin:0}
.c4 .bus_t {font-size:15px; font-weight:500; color:#555; white-space:nowrap}
.c4 .bus_t strong {margin-left:6px; font-size:22px; font-weight:800; color:#111; font-variant-numeric:tabular-nums}
.c4 .bus_t_txt {flex-basis:100%; font-size:14px; color:#666}
.c4 .bus_alert {display:flex; align-items:center; gap:8px 20px; padding:18px 0; border-bottom:1px solid #e5e8ec}
.c4 .bus_alert_tit {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#db050f}
.c4 .bus_alert_tit svg, .c4 .bus_call svg {display:block; flex-shrink:0} /* 아이콘은 svg 로 : 글자와 정확히 가운데 맞춤 */
.c4 .bus_alert_tit svg {width:18px; height:18px}
.c4 .bus_alert p {flex:1; font-size:15px; color:#333; line-height:1.6; word-break:keep-all}
.c4 .bus_alert em {font-style:normal; font-weight:700; color:#db050f}
.c4 .bus_call {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#111}
.c4 .bus_call:hover {text-decoration:underline}
.c4 .bus_call svg {width:16px; height:16px}

/* 정류장 검색 */
.c4 .bus_sch {position:relative; max-width:620px; margin:40px auto 0}
.c4 .bus_sch input {width:100%; height:56px; padding:0 56px 0 26px; border:2px solid #111; border-radius:28px; font-size:16px; color:#111; box-sizing:border-box}
.c4 .bus_sch input::placeholder {color:#999}
.c4 .bus_sch input:focus {border-color:#111 !important}
.c4 .bus_sch button {display:flex; align-items:center; justify-content:center; position:absolute; top:50%; right:12px; width:40px; height:40px; padding:0; border:0; background:none; color:#111; transform:translateY(-50%); cursor:pointer} /* 돋보기 = 검색 버튼 */
.c4 .bus_sch svg {display:block}
.c4 .bus_result {min-height:20px; margin:10px 0 20px; font-size:14px; color:#333; text-align:center} /* 검색 결과 : 찾은 노선 수 */

/* 호차 탭 */
.c4 .bus_tab {display:grid; grid-template-columns:repeat(6, 1fr); gap:8px; margin:0 0 40px; padding:0; list-style:none}
.c4 .bus_tab a {display:block; height:100%; padding:14px 12px; border:1px solid #ddd; border-radius:4px; background-color:#fff; text-align:center; box-sizing:border-box}
.c4 .bus_tab a:hover {border-color:#999}
.c4 .bus_tab b {display:block; font-size:16px; font-weight:700; color:#111}
.c4 .bus_tab span {display:block; margin-top:5px; font-size:14px; color:#333; word-break:keep-all} /* 지역 : 잘리지 않고 다 보이게 */
.c4 .bus_tab li.on a {border-color:#f26a2e; background-color:#f26a2e} /* 선택된 호차 : 주황 (위 서브 메뉴 남색과 구분) */
.c4 .bus_tab li.on b, .c4 .bus_tab li.on span {color:#fff}

/* 노선 */
.c4 .bus_box {display:none}
.c4 .bus_box.on {display:block}
.c4 .bus_head {display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:8px 20px; padding-bottom:16px; border-bottom:2px solid #222}
.c4 .bus_head h3 {margin:0; font-size:24px; font-weight:800; color:#111}
.c4 .bus_head h3 span {margin-left:10px; font-size:19px; font-weight:600; color:#222} /* 지역 */
.c4 .bus_head p {margin:0; font-size:15px; color:#333; text-align:right}
.c4 .bus_head a {margin-left:6px; font-weight:700; color:#111}
.c4 .bus_head p span {display: block; margin-top: auto; font-weight: 700; font-size: 14px; color: #db050f;}

/* 정류장 : 번호 순서대로 위→아래, 2줄 */
.c4 .bus_stop {columns:2; column-gap:40px; margin:0; padding:0; list-style:none; counter-reset:stop}
.c4 .bus_stop li {display:flex; align-items:center; gap:14px; padding:14px 6px; border-bottom:1px solid #eee; font-size:16px; color:#222; break-inside:avoid; counter-increment:stop}
.c4 .bus_stop li:before {content:counter(stop); flex-shrink:0; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid #ccc; border-radius:50%; font-size:12px; font-weight:600; color:#333; line-height:1; font-variant-numeric:tabular-nums; box-sizing:border-box} /* line-height:1 = 크기용 아님 : 원 안쪽 26px 에서 숫자 12px 이 정확히 가운데(7px씩) 오도록 소수점 어긋남 방지 */
.c4 .bus_stop li.end {font-weight:700; color:#173f8a}
.c4 .bus_stop li.end:before {border-color:#173f8a; background-color:#173f8a; color:#fff}
.c4 .bus_stop li.hit {background-color:#fff3b0; font-weight:700} /* 검색한 정류장 */

/* 검색 중 : 찾은 노선을 모두 펼침, 탭은 찾은 호차만 진하게 */
.c4.bus_on_sch .bus_box {display:none}
.c4.bus_on_sch .bus_box.found {display:block}
.c4.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:50px}
.c4.bus_on_sch .bus_tab li a {border-color:#ddd; background-color:#fff; opacity:.35; cursor:default}
.c4.bus_on_sch .bus_tab li b {color:#111}
.c4.bus_on_sch .bus_tab li span {color:#333}
.c4.bus_on_sch .bus_tab li.found a {border-color:#111; opacity:1; cursor:pointer}
.c4 .bus_empty {display:none; padding:60px 0; font-size:15px; color:#999; text-align:center}

@media screen and (max-width:1024px) {
	.c4 .bus_tab {grid-template-columns:repeat(4, 1fr)}
}

@media screen and (max-width:768px) {
	.c4 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */

	.c4 .bus_info {padding:0 16px}
	.c4 .bus_info dl {flex-direction:column; gap:6px; padding:16px 0}
	.c4 .bus_info dt {width:auto; font-size:15px}
	.c4 .bus_info dd {gap:4px 20px}
	.c4 .bus_t {font-size:14px}
	.c4 .bus_t strong {font-size:20px}
	.c4 .bus_t_txt {font-size:13px}
	.c4 .bus_alert {flex-wrap:wrap; gap:6px 0; padding:16px 0}
	.c4 .bus_alert p {flex-basis:100%; font-size:14px}
	.c4 .bus_call {font-size:14px}

	.c4 .bus_sch {margin-top:28px}
	.c4 .bus_result {margin-bottom:14px; font-size:13px}
	.c4 .bus_sch input {height:50px; padding:0 48px 0 20px; font-size:14px}
	.c4 .bus_sch input::placeholder {font-size:13px} /* 좁은 화면에서 안내 문구가 잘리지 않게 */
	.c4 .bus_sch button {right:8px}
	.c4 .bus_sch svg {width:20px; height:20px}

	.c4 .bus_tab {grid-template-columns:repeat(3, 1fr); gap:6px; margin-bottom:28px}
	.c4 .bus_tab a {padding:10px 6px}
	.c4 .bus_tab b {font-size:15px}
	.c4 .bus_tab span {margin-top:4px; font-size:13px}

	.c4 .bus_head {flex-direction:column; align-items:flex-start; padding-bottom:12px}
	.c4 .bus_head h3 {font-size:21px}
	.c4 .bus_head h3 span {display:block; margin:6px 0 0; font-size:16px}
	.c4 .bus_head p {font-size:14px; text-align:left}
	.c4 .bus_head p span {font-size:13px}

	.c4 .bus_stop {columns:1}
	.c4 .bus_stop li {gap:12px; padding:12px 4px; font-size:15px}
	.c4 .bus_stop li:before {width:26px; height:26px; font-size:12px} /* 안쪽 24px - 숫자 12px = 위아래 6px */
	.c4.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:36px}
}

/* c4 추가 : 정류장 승차시간 / 방학 안내 */
.c4 .bus_stop_head {display:grid; grid-template-columns:1fr 1fr; column-gap:40px; background-color:#f5f7fa} /* 버스승강장 · 승차시간 제목줄 (2줄 목록에 맞춰 2번) */
.c4 .bus_stop_head p {display:flex; justify-content:space-between; margin:0; padding:10px 6px; font-size:13px; font-weight:600; color:#333} /* 번호 위부터 시작 (번호 칸 제목 없음) */
.c4 .bus_stop li em {margin-left:auto; padding-left:12px; font-style:normal; font-size:15px; font-weight:700; color:#111; font-variant-numeric:tabular-nums; white-space:nowrap}
.c4 .bus_stop li.end em {color:#173f8a}
.c4 .bus_info_note {margin:-6px 0 0; padding:0 0 20px 140px; font-size:14px; font-weight:500; color:#db050f; word-break:keep-all} /* 왼쪽 140px = 반 이름 칸 110 + 간격 30 → 시각 줄과 맞춤 */
@media screen and (max-width:768px) {
	.c4 .bus_stop li em {font-size:14px}
	.c4 .bus_stop_head {grid-template-columns:1fr}
	.c4 .bus_stop_head p {padding:8px 4px; font-size:12px}
	.c4 .bus_stop_head p + p {display:none} /* 모바일은 1줄 목록 */
	.c4 .bus_info_note {padding-left:0; font-size:13px}
}


/*중등부 커리큘럼 (html/d1_1.php) : .d1_1 로 따로 묶음 (다른 d1 페이지와 서로 영향 없음)*/
.d1_1 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.d1_1 .d1_red {color:#db050f; font-weight:500}
.d1_1 .d1_tel {font-weight:700; color:#111}


/* 구역 제목 */
.d1_1 .d1_sec {margin-top:100px}
.d1_1 .d1_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */
.d1_1 .d1_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:25px; font-weight:800; color:#111}
.d1_1 .d1_tit small {margin-left:6px; font-size:17px; font-weight:500; color:#444}
.d1_1 .d1_cap {margin:28px 0 10px; font-size:17px; font-weight:700; color:#111}
.d1_1 .d1_note {margin:10px 0 0; font-size:15px; color:#666}

/* 항목 줄 : 왼쪽 항목 / 오른쪽 내용 */
.d1_1 .d1_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:30px 0; border-bottom:1px solid #e5e8ec}
.d1_1 .d1_row dt {font-size:18px; font-weight:700; color:#111; word-break:keep-all}
.d1_1 .d1_row dt small {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#666}
.d1_1 .d1_row dd {margin:0; min-width:0; font-size:16px; color:#222; line-height:1.85; word-break:keep-all}
.d1_1 .d1_ls {margin:0; padding:0; list-style:none}
.d1_1 .d1_hang {display:flex; gap:5px} /* 머리글(▶, *, [수학], 국어 -) + 내용 : 줄이 넘어가도 내용 시작점에 맞춰 정렬 (여백 숫자 없이 자동) */
.d1_1 .d1_hang > i {flex-shrink:0; font-style:normal}
.d1_1 .d1_hang > span {min-width:0}
.d1_1 .d1_dd_tit {margin:0 0 4px; font-weight:700; color:#111}
.d1_1 .d1_em {font-weight:700; color:#173f8a}

/* 과목별(수학/영어/국어 …) 묶음 */
.d1_1 .d1_kv {margin:0; padding:0; list-style:none}
.d1_1 .d1_kv li {display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 16px; background-color:#f5f7fa}
.d1_1 .d1_kv li + li {margin-top:4px}
.d1_1 .d1_kv b {font-weight:700; color:#173f8a}

/* 학생복지 같은 짧은 항목 나열 */
.d1_1 .d1_chip {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.d1_1 .d1_chip li {padding:6px 14px; border:1px solid #dde3ea; border-radius:4px; background-color:#f5f7fa; font-size:15px}

/* 카드 3개 (국어 1-4학기) */
.d1_1 .d1_card {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:0; padding:0; list-style:none}
.d1_1 .d1_card li {padding:24px 22px; border:1px solid #e3e7ec; border-radius:8px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all}
.d1_1 .d1_card strong {display:block; margin-bottom:10px; font-size:18px; font-weight:700; color:#111}
.d1_1 .d1_card p {margin:0}
.d1_1 .d1_card p + p {margin-top:10px}

/* 표 (진도·교재 / 시간표) */
.d1_1 .d1_scroll {overflow-x:auto}
.d1_1 .d1_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.d1_1 .d1_tbl th, .d1_1 .d1_tbl td {padding:16px 12px; border:1px solid #e5e8ec} /* 글자색은 표에서 물려받음 → .d1_red 가 그대로 적용 */ /* 선은 칸마다 1px 하나로만 (표 윗선·제목 밑줄과 겹치지 않음) */
.d1_1 .d1_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.d1_1 .d1_tbl thead th span {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#555}
.d1_1 .d1_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 항목칸 : 띄어쓰기에서만 줄바꿈 (글자 중간 안 끊김) */
.d1_1 .d1_hl {margin:8px 0 0; padding:8px 10px; background-color:#fff8d6; font-size:15px; line-height:1.6} /* 학교 시험대비 강조 */
.d1_1 .d1_eng td {text-align:left} /* 영어 : 교재명 왼쪽, 출판사 가운데 */
.d1_1 .d1_eng .d1_pub {width:9%; text-align:center; white-space:nowrap}
.d1_1 .d1_eng .d1_eng_note td {background-color:#fafbfc; font-size:.9em} /* 표 글자보다 조금 작게 (모바일도 비율 그대로) */
.d1_1 .d1_time {table-layout:fixed; min-width:640px} /* 요일 칸 너비 같게 / 시간표 : 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 (글자 찌그러짐 방지) */
.d1_1 .d1_time7 {min-width:720px} /* 토요일 포함 7칸 */
.d1_1 .d1_time thead th:first-child {width:18%}
.d1_1 .d1_time .d1_math {background-color:#dcf3e6} /* 시간표 과목 색 : 수학 */
.d1_1 .d1_time .d1_en {background-color:#fff1b3} /* 영어 */
.d1_1 .d1_time .d1_ko {background-color:#ece1f4} /* 국어 */
.d1_1 .d1_time .d1_break th, .d1_1 .d1_time .d1_break td {background-color:#f5f7fa; font-size:.9em; color:#333} /* 쉬는 시간 줄 : 표 글자보다 조금 작게 */


@media screen and (max-width:768px) {
	.d1_1 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.d1_1 .d1_sec {margin-top:50px}
	.d1_1 .d1_tit {padding-bottom:12px; font-size:20px}
	.d1_1 .d1_tit small {display:block; margin:4px 0 0; font-size:14px}
	.d1_1 .d1_cap {margin:22px 0 8px; font-size:15px}
	.d1_1 .d1_note {font-size:13px}

	.d1_1 .d1_row {grid-template-columns:1fr; gap:8px; padding:18px 0}
	.d1_1 .d1_row dt {font-size:16px}
	.d1_1 .d1_row dt small {display:inline; margin-left:4px}
	.d1_1 .d1_row dd {font-size:14px}
	.d1_1 .d1_kv li {grid-template-columns:1fr; gap:4px; padding:12px 14px}
	.d1_1 .d1_card {grid-template-columns:1fr; gap:10px}
	.d1_1 .d1_card li {padding:18px 16px; font-size:14px}

	.d1_1 .d1_tbl {font-size:13px} /* 모바일 : 표가 화면 폭 안에 다 들어오게 (옆으로 넘치지 않음) */
	.d1_1 .d1_tbl:not(.d1_time) td {overflow-wrap:anywhere} /* 긴 글만 칸 안에서 줄바꿈 (항목칸 th 는 글자 중간에서 안 끊김) */
	.d1_1 .d1_tbl th, .d1_1 .d1_tbl td {padding:9px 5px}
	.d1_1 .d1_eng thead th:first-child {white-space:nowrap} /* '레벨' 한 줄 */
	.d1_1 .d1_eng .d1_pub {width:auto; padding:9px 3px; font-size:12px; white-space:nowrap} /* 출판사 한 줄 */
}


/*중등부 커리큘럼 (html/d1_2.php) : .d1_2 로 따로 묶음 (다른 d1 페이지와 서로 영향 없음)*/
.d1_2 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.d1_2 .d1_red {color:#db050f; font-weight:500}
.d1_2 .d1_tel {font-weight:700; color:#111}


/* 구역 제목 */
.d1_2 .d1_sec {margin-top:100px}
.d1_2 .d1_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */
.d1_2 .d1_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:25px; font-weight:800; color:#111}
.d1_2 .d1_tit small {margin-left:6px; font-size:17px; font-weight:500; color:#444}
.d1_2 .d1_cap {margin:28px 0 10px; font-size:17px; font-weight:700; color:#111}
.d1_2 .d1_note {margin:10px 0 0; font-size:15px; color:#666}

/* 항목 줄 : 왼쪽 항목 / 오른쪽 내용 */
.d1_2 .d1_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:30px 0; border-bottom:1px solid #e5e8ec}
.d1_2 .d1_row dt {font-size:18px; font-weight:700; color:#111; word-break:keep-all}
.d1_2 .d1_row dt small {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#666}
.d1_2 .d1_row dd {margin:0; min-width:0; font-size:16px; color:#222; line-height:1.85; word-break:keep-all}
.d1_2 .d1_ls {margin:0; padding:0; list-style:none}
.d1_2 .d1_hang {display:flex; gap:5px} /* 머리글(▶, *, [수학], 국어 -) + 내용 : 줄이 넘어가도 내용 시작점에 맞춰 정렬 (여백 숫자 없이 자동) */
.d1_2 .d1_hang > i {flex-shrink:0; font-style:normal}
.d1_2 .d1_hang > span {min-width:0}
.d1_2 .d1_dd_tit {margin:0 0 4px; font-weight:700; color:#111}
.d1_2 .d1_em {font-weight:700; color:#173f8a}
.d1_2 .d1_mark {background:linear-gradient(transparent 55%, #ffe866 55%); font-weight:700; color:#111; -webkit-box-decoration-break:clone; box-decoration-break:clone} /* 무학년제 강조 : 글자 아래쪽에 형광펜 (줄이 넘어가도 줄마다 그어짐) */

/* 과목별(수학/영어/국어 …) 묶음 */
.d1_2 .d1_kv {margin:0; padding:0; list-style:none}
.d1_2 .d1_kv li {display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 16px; background-color:#f5f7fa}
.d1_2 .d1_kv li + li {margin-top:4px}
.d1_2 .d1_kv b {font-weight:700; color:#173f8a}

/* 학생복지 같은 짧은 항목 나열 */
.d1_2 .d1_chip {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.d1_2 .d1_chip li {padding:6px 14px; border:1px solid #dde3ea; border-radius:4px; background-color:#f5f7fa; font-size:15px}

/* 카드 3개 (국어 1-4학기) */
.d1_2 .d1_card {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:0; padding:0; list-style:none}
.d1_2 .d1_card li {padding:24px 22px; border:1px solid #e3e7ec; border-radius:8px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all}
.d1_2 .d1_card strong {display:block; margin-bottom:10px; font-size:18px; font-weight:700; color:#111}
.d1_2 .d1_card p {margin:0}
.d1_2 .d1_card p + p {margin-top:10px}

/* 표 (진도·교재 / 시간표) */
.d1_2 .d1_scroll {overflow-x:auto}
.d1_2 .d1_gap {margin-top:30px} /* 표 두 개가 연달아 있을 때 사이 간격 */
.d1_2 .d1_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.d1_2 .d1_tbl th, .d1_2 .d1_tbl td {padding:16px 12px; border:1px solid #e5e8ec} /* 글자색은 표에서 물려받음 → .d1_red 가 그대로 적용 */ /* 선은 칸마다 1px 하나로만 (표 윗선·제목 밑줄과 겹치지 않음) */
.d1_2 .d1_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.d1_2 .d1_tbl thead th span {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#555}
.d1_2 .d1_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 항목칸 : 띄어쓰기에서만 줄바꿈 (글자 중간 안 끊김) */
.d1_2 .d1_hl {margin:8px 0 0; padding:8px 10px; background-color:#fff8d6; font-size:15px; line-height:1.6} /* 학교 시험대비 강조 */
.d1_2 .d1_eng td {text-align:left} /* 영어 : 교재명 왼쪽, 출판사 가운데 */
.d1_2 .d1_eng .d1_pub {width:9%; text-align:center; white-space:nowrap}
.d1_2 .d1_eng .d1_eng_note td {background-color:#fafbfc; font-size:.9em} /* 표 글자보다 조금 작게 (모바일도 비율 그대로) */
.d1_2 .d1_time {table-layout:fixed; min-width:640px} /* 요일 칸 너비 같게 / 시간표 : 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 (글자 찌그러짐 방지) */
.d1_2 .d1_time7 {min-width:720px} /* 토요일 포함 7칸 */
.d1_2 .d1_time thead th:first-child {width:18%}
.d1_2 .d1_time .d1_math {background-color:#dcf3e6} /* 시간표 과목 색 : 수학 */
.d1_2 .d1_time .d1_en {background-color:#fff1b3} /* 영어 */
.d1_2 .d1_time .d1_ko {background-color:#ece1f4} /* 국어 */
.d1_2 .d1_time .d1_break th, .d1_2 .d1_time .d1_break td {background-color:#f5f7fa; font-size:.9em; color:#333} /* 쉬는 시간 줄 : 표 글자보다 조금 작게 */


@media screen and (max-width:768px) {
	.d1_2 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.d1_2 .d1_sec {margin-top:50px}
	.d1_2 .d1_tit {padding-bottom:12px; font-size:20px}
	.d1_2 .d1_tit small {display:block; margin:4px 0 0; font-size:14px}
	.d1_2 .d1_cap {margin:22px 0 8px; font-size:15px}
	.d1_2 .d1_note {font-size:13px}

	.d1_2 .d1_row {grid-template-columns:1fr; gap:8px; padding:18px 0}	.d1_2 .d1_row dt {font-size:16px}
	.d1_2 .d1_row dt small {display:inline; margin-left:4px}
	.d1_2 .d1_row dd {font-size:14px}
	.d1_2 .d1_kv li {grid-template-columns:1fr; gap:4px; padding:12px 14px}
	.d1_2 .d1_card {grid-template-columns:1fr; gap:10px}
	.d1_2 .d1_card li {padding:18px 16px; font-size:14px}

	.d1_2 .d1_tbl {font-size:13px} /* 모바일 : 표가 화면 폭 안에 다 들어오게 (옆으로 넘치지 않음) */
	.d1_2 .d1_tbl:not(.d1_time) td {overflow-wrap:anywhere} /* 긴 글만 칸 안에서 줄바꿈 (항목칸 th 는 글자 중간에서 안 끊김) */
	.d1_2 .d1_tbl th, .d1_2 .d1_tbl td {padding:9px 5px}
	.d1_2 .d1_eng thead th:first-child {white-space:nowrap} /* '레벨' 한 줄 */
	.d1_2 .d1_eng .d1_pub {width:auto; padding:9px 3px; font-size:12px; white-space:nowrap} /* 출판사 한 줄 */
}


/*중등부 커리큘럼 (html/d1_3.php) : .d1_3 로 따로 묶음 (다른 d1 페이지와 서로 영향 없음)*/
.d1_3 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.d1_3 .d1_red {color:#db050f; font-weight:500}
.d1_3 .d1_tel {font-weight:700; color:#111}


/* 구역 제목 */
.d1_3 .d1_sec {margin-top:100px}
.d1_3 .d1_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */
.d1_3 .d1_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:25px; font-weight:800; color:#111}
.d1_3 .d1_tit small {margin-left:6px; font-size:17px; font-weight:500; color:#444}
.d1_3 .d1_cap {margin:28px 0 10px; font-size:17px; font-weight:700; color:#111}
.d1_3 .d1_note {margin:10px 0 0; font-size:15px; color:#666}

/* 항목 줄 : 왼쪽 항목 / 오른쪽 내용 */
.d1_3 .d1_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:30px 0; border-bottom:1px solid #e5e8ec}
.d1_3 .d1_row dt {font-size:18px; font-weight:700; color:#111; word-break:keep-all}
.d1_3 .d1_row dt small {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#666}
.d1_3 .d1_row dd {margin:0; min-width:0; font-size:16px; color:#222; line-height:1.85; word-break:keep-all}
.d1_3 .d1_ls {margin:0; padding:0; list-style:none}
.d1_3 .d1_hang {display:flex; gap:5px} /* 머리글(▶, *, [수학], 국어 -) + 내용 : 줄이 넘어가도 내용 시작점에 맞춰 정렬 (여백 숫자 없이 자동) */
.d1_3 .d1_hang > i {flex-shrink:0; font-style:normal}
.d1_3 .d1_hang > span {min-width:0}
.d1_3 .d1_dd_tit {margin:0 0 4px; font-weight:700; color:#111}
.d1_3 .d1_em {font-weight:700; color:#173f8a}

/* 과목별(수학/영어/국어 …) 묶음 */
.d1_3 .d1_kv {margin:0; padding:0; list-style:none}
.d1_3 .d1_kv li {display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 16px; background-color:#f5f7fa}
.d1_3 .d1_kv li + li {margin-top:4px}
.d1_3 .d1_kv b {font-weight:700; color:#173f8a}

/* 학생복지 같은 짧은 항목 나열 */
.d1_3 .d1_chip {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.d1_3 .d1_chip li {padding:6px 14px; border:1px solid #dde3ea; border-radius:4px; background-color:#f5f7fa; font-size:15px}

/* 카드 3개 (국어 1-4학기) */
.d1_3 .d1_card {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:0; padding:0; list-style:none}
.d1_3 .d1_card li {padding:24px 22px; border:1px solid #e3e7ec; border-radius:8px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all}
.d1_3 .d1_card strong {display:block; margin-bottom:10px; font-size:18px; font-weight:700; color:#111}
.d1_3 .d1_card p {margin:0}
.d1_3 .d1_card p + p {margin-top:10px}

/* 표 (진도·교재 / 시간표) */
.d1_3 .d1_scroll {overflow-x:auto}
.d1_3 .d1_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.d1_3 .d1_tbl th, .d1_3 .d1_tbl td {padding:16px 12px; border:1px solid #e5e8ec} /* 글자색은 표에서 물려받음 → .d1_red 가 그대로 적용 */ /* 선은 칸마다 1px 하나로만 (표 윗선·제목 밑줄과 겹치지 않음) */
.d1_3 .d1_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.d1_3 .d1_tbl thead th span {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#555}
.d1_3 .d1_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 항목칸 : 띄어쓰기에서만 줄바꿈 (글자 중간 안 끊김) */
.d1_3 .d1_hl {margin:8px 0 0; padding:8px 10px; background-color:#fff8d6; font-size:15px; line-height:1.6} /* 학교 시험대비 강조 */
.d1_3 .d1_eng td {text-align:left} /* 영어 : 교재명 왼쪽, 출판사 가운데 */
.d1_3 .d1_eng .d1_pub {width:9%; text-align:center; white-space:nowrap}
.d1_3 .d1_eng .d1_eng_note td {background-color:#fafbfc; font-size:.9em} /* 표 글자보다 조금 작게 (모바일도 비율 그대로) */
.d1_3 .d1_time {table-layout:fixed; min-width:640px} /* 요일 칸 너비 같게 / 시간표 : 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 (글자 찌그러짐 방지) */
.d1_3 .d1_time7 {min-width:720px} /* 토요일 포함 7칸 */
.d1_3 .d1_time thead th:first-child {width:18%}
.d1_3 .d1_time .d1_math {background-color:#dcf3e6} /* 시간표 과목 색 : 수학 */
.d1_3 .d1_time .d1_en {background-color:#fff1b3} /* 영어 */
.d1_3 .d1_time .d1_ko {background-color:#ece1f4} /* 국어 */
.d1_3 .d1_time .d1_sci {background-color:#e4f5c2} /* 과학특강 */
.d1_3 .d1_time td small {display:block; margin-top:2px; font-size:.8em; color:#444} /* 토요일 칸 수업 시간 */
.d1_3 .d1_time .d1_break th, .d1_3 .d1_time .d1_break td {background-color:#f5f7fa; font-size:.9em; color:#333} /* 쉬는 시간 줄 : 표 글자보다 조금 작게 */


@media screen and (max-width:768px) {
	.d1_3 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.d1_3 .d1_sec {margin-top:50px}
	.d1_3 .d1_tit {padding-bottom:12px; font-size:20px}
	.d1_3 .d1_tit small {display:block; margin:4px 0 0; font-size:14px}
	.d1_3 .d1_cap {margin:22px 0 8px; font-size:15px}
	.d1_3 .d1_note {font-size:13px}

	.d1_3 .d1_row {grid-template-columns:1fr; gap:8px; padding:18px 0}
	.d1_3 .d1_row dt {font-size:16px}
	.d1_3 .d1_row dt small {display:inline; margin-left:4px}
	.d1_3 .d1_row dd {font-size:14px}
	.d1_3 .d1_kv li {grid-template-columns:1fr; gap:4px; padding:12px 14px}
	.d1_3 .d1_card {grid-template-columns:1fr; gap:10px}
	.d1_3 .d1_card li {padding:18px 16px; font-size:14px}

	.d1_3 .d1_tbl {font-size:13px} /* 모바일 : 표가 화면 폭 안에 다 들어오게 (옆으로 넘치지 않음) */
	.d1_3 .d1_tbl:not(.d1_time) td {overflow-wrap:anywhere} /* 긴 글만 칸 안에서 줄바꿈 (항목칸 th 는 글자 중간에서 안 끊김) */
	.d1_3 .d1_tbl th, .d1_3 .d1_tbl td {padding:9px 5px}
	.d1_3 .d1_eng thead th:first-child {white-space:nowrap} /* '레벨' 한 줄 */
	.d1_3 .d1_eng .d1_pub {width:auto; padding:9px 3px; font-size:12px; white-space:nowrap} /* 출판사 한 줄 */
}


/*중등부 커리큘럼 (html/d1_4.php) : .d1_4 로 따로 묶음 (다른 d1 페이지와 서로 영향 없음)*/
.d1_4 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.d1_4 .d1_red {color:#db050f; font-weight:500}
.d1_4 .d1_tel {font-weight:700; color:#111}


/* 구역 제목 */
.d1_4 .d1_sec {margin-top:100px}
.d1_4 .d1_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */
.d1_4 .d1_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:25px; font-weight:800; color:#111}
.d1_4 .d1_tit small {margin-left:6px; font-size:17px; font-weight:500; color:#444}
.d1_4 .d1_cap {margin:28px 0 10px; font-size:17px; font-weight:700; color:#111}
.d1_4 .d1_note {margin:10px 0 0; font-size:15px; color:#666}

/* 항목 줄 : 왼쪽 항목 / 오른쪽 내용 */
.d1_4 .d1_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:30px 0; border-bottom:1px solid #e5e8ec}
.d1_4 .d1_row dt {font-size:18px; font-weight:700; color:#111; word-break:keep-all}
.d1_4 .d1_row dt small {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#666}
.d1_4 .d1_row dd {margin:0; min-width:0; font-size:16px; color:#222; line-height:1.85; word-break:keep-all}
.d1_4 .d1_ls {margin:0; padding:0; list-style:none}
.d1_4 .d1_hang {display:flex; gap:5px} /* 머리글(▶, *, [수학], 국어 -) + 내용 : 줄이 넘어가도 내용 시작점에 맞춰 정렬 (여백 숫자 없이 자동) */
.d1_4 .d1_hang > i {flex-shrink:0; font-style:normal}
.d1_4 .d1_hang > span {min-width:0}
.d1_4 .d1_dd_tit {margin:0 0 4px; font-weight:700; color:#111}
.d1_4 .d1_em {font-weight:700; color:#173f8a}

/* 과목별(수학/영어/국어 …) 묶음 */
.d1_4 .d1_kv {margin:0; padding:0; list-style:none}
.d1_4 .d1_kv li {display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 16px; background-color:#f5f7fa}
.d1_4 .d1_kv li + li {margin-top:4px}
.d1_4 .d1_kv b {font-weight:700; color:#173f8a}

/* 학생복지 같은 짧은 항목 나열 */
.d1_4 .d1_chip {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.d1_4 .d1_chip li {padding:6px 14px; border:1px solid #dde3ea; border-radius:4px; background-color:#f5f7fa; font-size:15px}

/* 카드 3개 (국어 1-4학기) */
.d1_4 .d1_card {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:0; padding:0; list-style:none}
.d1_4 .d1_card li {padding:24px 22px; border:1px solid #e3e7ec; border-radius:8px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all}
.d1_4 .d1_card strong {display:block; margin-bottom:10px; font-size:18px; font-weight:700; color:#111}
.d1_4 .d1_card p {margin:0}
.d1_4 .d1_card p + p {margin-top:10px}

/* 표 (진도·교재 / 시간표) */
.d1_4 .d1_scroll {overflow-x:auto}
.d1_4 .d1_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.d1_4 .d1_tbl th, .d1_4 .d1_tbl td {padding:16px 12px; border:1px solid #e5e8ec} /* 글자색은 표에서 물려받음 → .d1_red 가 그대로 적용 */ /* 선은 칸마다 1px 하나로만 (표 윗선·제목 밑줄과 겹치지 않음) */
.d1_4 .d1_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.d1_4 .d1_tbl thead th span {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#555}
.d1_4 .d1_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 항목칸 : 띄어쓰기에서만 줄바꿈 (글자 중간 안 끊김) */
.d1_4 .d1_hl {margin:8px 0 0; padding:8px 10px; background-color:#fff8d6; font-size:15px; line-height:1.6} /* 학교 시험대비 강조 */
.d1_4 .d1_eng td {text-align:left} /* 영어 : 교재명 왼쪽, 출판사 가운데 */
.d1_4 .d1_eng .d1_pub {width:9%; text-align:center; white-space:nowrap}
.d1_4 .d1_eng .d1_eng_note td {background-color:#fafbfc; font-size:.9em} /* 표 글자보다 조금 작게 (모바일도 비율 그대로) */
.d1_4 .d1_time {table-layout:fixed; min-width:640px} /* 요일 칸 너비 같게 / 시간표 : 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 (글자 찌그러짐 방지) */
.d1_4 .d1_time7 {min-width:720px} /* 토요일 포함 7칸 */
.d1_4 .d1_time thead th:first-child {width:18%}
.d1_4 .d1_time .d1_math {background-color:#dcf3e6} /* 시간표 과목 색 : 수학 */
.d1_4 .d1_time .d1_en {background-color:#fff1b3} /* 영어 */
.d1_4 .d1_time .d1_ko {background-color:#ece1f4} /* 국어 */
.d1_4 .d1_time .d1_break th, .d1_4 .d1_time .d1_break td {background-color:#f5f7fa; font-size:.9em; color:#333} /* 쉬는 시간 줄 : 표 글자보다 조금 작게 */


@media screen and (max-width:768px) {
	.d1_4 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.d1_4 .d1_sec {margin-top:50px}
	.d1_4 .d1_tit {padding-bottom:12px; font-size:20px}
	.d1_4 .d1_tit small {display:block; margin:4px 0 0; font-size:14px}
	.d1_4 .d1_cap {margin:22px 0 8px; font-size:15px}
	.d1_4 .d1_note {font-size:13px}

	.d1_4 .d1_row {grid-template-columns:1fr; gap:8px; padding:18px 0}
	.d1_4 .d1_row dt {font-size:16px}
	.d1_4 .d1_row dt small {display:inline; margin-left:4px}
	.d1_4 .d1_row dd {font-size:14px}
	.d1_4 .d1_kv li {grid-template-columns:1fr; gap:4px; padding:12px 14px}
	.d1_4 .d1_card {grid-template-columns:1fr; gap:10px}
	.d1_4 .d1_card li {padding:18px 16px; font-size:14px}

	.d1_4 .d1_tbl {font-size:13px} /* 모바일 : 표가 화면 폭 안에 다 들어오게 (옆으로 넘치지 않음) */
	.d1_4 .d1_tbl:not(.d1_time) td {overflow-wrap:anywhere} /* 긴 글만 칸 안에서 줄바꿈 (항목칸 th 는 글자 중간에서 안 끊김) */
	.d1_4 .d1_tbl th, .d1_4 .d1_tbl td {padding:9px 5px}
	.d1_4 .d1_eng thead th:first-child {white-space:nowrap} /* '레벨' 한 줄 */
	.d1_4 .d1_eng .d1_pub {width:auto; padding:9px 3px; font-size:12px; white-space:nowrap} /* 출판사 한 줄 */
}

/*중등부 장학제도 (html/d3.php) : .d3 로 따로 묶음 (d1 페이지와 같은 디자인)*/
.d3 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.d3 .d3_red {color:#db050f; font-weight:500}
.d3 .d3_tel {font-weight:700; color:#111}


/* 구역 제목 */
.d3 .d3_sec {margin-top:100px}
.d3 .d3_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */
.d3 .d3_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:25px; font-weight:800; color:#111}
.d3 .d3_tit small {margin-left:6px; font-size:17px; font-weight:500; color:#444}
.d3 .d3_cap {margin:28px 0 10px; font-size:17px; font-weight:700; color:#111}
.d3 .d3_note {margin:10px 0 0; font-size:15px; color:#666}

/* 항목 줄 : 왼쪽 항목 / 오른쪽 내용 */
.d3 .d3_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:26px 0; border-bottom:1px solid #e5e8ec}
.d3 .d3_row dt {font-size:18px; font-weight:700; color:#111; word-break:keep-all}
.d3 .d3_row dt small {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#666}
.d3 .d3_row dd {margin:0; min-width:0; font-size:16px; color:#222; line-height:1.85; word-break:keep-all}
.d3 .d3_ls {margin:0; padding:0; list-style:none}
.d3 .d3_hang {display:flex; gap:5px} /* 머리글(▶, *, [수학], 국어 -) + 내용 : 줄이 넘어가도 내용 시작점에 맞춰 정렬 (여백 숫자 없이 자동) */
.d3 .d3_hang > i {flex-shrink:0; font-style:normal}
.d3 .d3_hang > span {min-width:0}
.d3 .d3_dd_tit {margin:0 0 4px; font-weight:700; color:#111}
.d3 .d3_em {font-weight:700; color:#173f8a}

/* 과목별(수학/영어/국어 …) 묶음 */
.d3 .d3_kv {margin:0; padding:0; list-style:none}
.d3 .d3_kv li {display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 16px; background-color:#f5f7fa}
.d3 .d3_kv li + li {margin-top:4px}
.d3 .d3_kv b {font-weight:700; color:#173f8a}

/* 학생복지 같은 짧은 항목 나열 */
.d3 .d3_chip {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.d3 .d3_chip li {padding:6px 14px; border:1px solid #dde3ea; border-radius:4px; background-color:#f5f7fa; font-size:15px}

/* 카드 3개 (국어 1-4학기) */
.d3 .d3_card {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:0; padding:0; list-style:none}
.d3 .d3_card li {padding:24px 22px; border:1px solid #e3e7ec; border-radius:8px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all}
.d3 .d3_card strong {display:block; margin-bottom:10px; font-size:18px; font-weight:700; color:#111}
.d3 .d3_card p {margin:0}
.d3 .d3_card p + p {margin-top:10px}

/* 표 (진도·교재 / 시간표) */
.d3 .d3_scroll {overflow-x:auto}
.d3 .d3_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.d3 .d3_tbl th, .d3 .d3_tbl td {padding:16px 12px; border:1px solid #e5e8ec} /* 글자색은 표에서 물려받음 → .d3_red 가 그대로 적용 */ /* 선은 칸마다 1px 하나로만 (표 윗선·제목 밑줄과 겹치지 않음) */
.d3 .d3_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.d3 .d3_tbl thead th span {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#555}
.d3 .d3_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 항목칸 : 띄어쓰기에서만 줄바꿈 (글자 중간 안 끊김) */
.d3 .d3_hl {margin:8px 0 0; padding:8px 10px; background-color:#fff8d6; font-size:15px; line-height:1.6} /* 학교 시험대비 강조 */
.d3 .d3_eng td {text-align:left} /* 영어 : 교재명 왼쪽, 출판사 가운데 */
.d3 .d3_eng .d3_pub {width:9%; text-align:center; white-space:nowrap}
.d3 .d3_eng .d3_eng_note td {background-color:#fafbfc; font-size:.9em} /* 표 글자보다 조금 작게 (모바일도 비율 그대로) */
.d3 .d3_time {table-layout:fixed; min-width:640px} /* 요일 칸 너비 같게 / 시간표 : 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 (글자 찌그러짐 방지) */
.d3 .d3_time7 {min-width:720px} /* 토요일 포함 7칸 */
.d3 .d3_time thead th:first-child {width:18%}
.d3 .d3_time .d3_break th, .d3 .d3_time .d3_break td {background-color:#f5f7fa; font-size:.9em; color:#333} /* 쉬는 시간 줄 : 표 글자보다 조금 작게 */


@media screen and (max-width:768px) {
	.d3 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.d3 .d3_sec {margin-top:50px}
	.d3 .d3_tit {padding-bottom:12px; font-size:20px}
	.d3 .d3_tit small {display:block; margin:4px 0 0; font-size:14px}
	.d3 .d3_cap {margin:22px 0 8px; font-size:15px}
	.d3 .d3_note {font-size:13px}

	.d3 .d3_row {grid-template-columns:1fr; gap:8px; padding:20px 0}
	.d3 .d3_row dt {font-size:16px}
	.d3 .d3_row dt small {display:inline; margin-left:4px}
	.d3 .d3_row dd {font-size:14px}
	.d3 .d3_kv li {grid-template-columns:1fr; gap:4px; padding:12px 14px}
	.d3 .d3_card {grid-template-columns:1fr; gap:10px}
	.d3 .d3_card li {padding:18px 16px; font-size:14px}

	.d3 .d3_tbl {font-size:13px} /* 모바일 : 표가 화면 폭 안에 다 들어오게 (옆으로 넘치지 않음) */
	.d3 .d3_tbl:not(.d3_time) td {overflow-wrap:anywhere} /* 긴 글만 칸 안에서 줄바꿈 (항목칸 th 는 글자 중간에서 안 끊김) */
	.d3 .d3_tbl th, .d3 .d3_tbl td {padding:9px 5px}
	.d3 .d3_eng thead th:first-child {white-space:nowrap} /* '레벨' 한 줄 */
	.d3 .d3_eng .d3_pub {width:auto; padding:9px 3px; font-size:12px; white-space:nowrap} /* 출판사 한 줄 */
}

/* d3 추가 : c3 고등부 장학제도와 같은 모양 (구역 설명줄 / 조건 → 할인 / 안내 상자) — 크기도 c3 와 같게 */
.d3 .d3_secdesc {margin:16px 0 0; font-size:15px; color:#333; line-height:1.7} /* 제목 아래 설명줄 (c3_desc) */
.d3 .d3_rate {margin:0; padding:0; list-style:none}
.d3 .d3_rate li {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 16px; background-color:#f5f7fa; word-break:keep-all}
.d3 .d3_rate li + li {margin-top:4px}
.d3 .d3_rate span {font-size:15px; color:#222}
.d3 .d3_rate span small {display:block; margin-top:2px; font-size:14px; color:#444} /* 조건 아래 보충 설명 */
.d3 .d3_rate b {flex-shrink:0; font-size:16px; font-weight:700; color:#db050f; text-align:right} /* 할인율 : c3 와 같은 빨간 강조 */
.d3 .d3_desc {margin:0 0 10px; font-size:15px; color:#222}
.d3 .d3_desc small {display:block; margin-top:2px; font-size:14px; color:#444}
.d3 .d3_gap {margin-top:16px; padding-top:16px; border-top:1px solid #d9dee5} /* 두 번째 할인 목록 : 위에 구분선 */
.d3 .d3_box {margin:20px 0 0; padding:18px 22px; border:1px solid #e5e8ec; border-radius:6px; list-style:none; font-size:14px; color:#333; line-height:1.6; word-break:keep-all} /* 안내 상자 : c3_note 와 똑같이 */
.d3 .d3_box li + li {margin-top:4px}
@media screen and (max-width:768px) {
	.d3 .d3_secdesc {font-size:14px}
	.d3 .d3_rate li {flex-direction:column; align-items:flex-start; gap:2px; padding:10px 14px}
	.d3 .d3_rate span {font-size:14px}
	.d3 .d3_rate span small {font-size:13px}
	.d3 .d3_rate b {font-size:15px; text-align:left}
	.d3 .d3_desc {font-size:14px}
	.d3 .d3_desc small {font-size:13px}
	.d3 .d3_box {padding:14px 16px; font-size:13px}
}

/*중등부 셔틀버스 (html/d6.php) : c4 와 같은 디자인 (정류장마다 승차시간), .d6 로 따로 묶음*/
.d6 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */

/* 꼭 확인하세요 + 운행시간 (한 상자 : 안내 위, 운행시간 아래 / 빨간색은 안내 문구에만) */
.d6 .bus_info {padding:0 28px; border:1px solid #e5e8ec; border-radius:6px}
.d6 .bus_info dl {display:flex; align-items:baseline; gap:0 30px; margin:0; padding:20px 0}
.d6 .bus_info dl + dl {border-top:1px solid #e5e8ec}
.d6 .bus_info dt {flex-shrink:0; width:110px; font-size:16px; font-weight:700; color:#111}
.d6 .bus_info dd {display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 30px; margin:0}
.d6 .bus_t {font-size:15px; font-weight:500; color:#555; white-space:nowrap}
.d6 .bus_t strong {margin-left:6px; font-size:22px; font-weight:800; color:#111; font-variant-numeric:tabular-nums}
.d6 .bus_t_txt {flex-basis:100%; font-size:14px; color:#666}
.d6 .bus_alert {display:flex; align-items:center; gap:8px 20px; padding:18px 0; border-bottom:1px solid #e5e8ec}
.d6 .bus_alert_tit {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#db050f}
.d6 .bus_alert_tit svg, .d6 .bus_call svg {display:block; flex-shrink:0} /* 아이콘은 svg 로 : 글자와 정확히 가운데 맞춤 */
.d6 .bus_alert_tit svg {width:18px; height:18px}
.d6 .bus_alert p {flex:1; font-size:15px; color:#333; line-height:1.6; word-break:keep-all}
.d6 .bus_alert em {font-style:normal; font-weight:700; color:#db050f}
.d6 .bus_call {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#111}
.d6 .bus_call:hover {text-decoration:underline}
.d6 .bus_call svg {width:16px; height:16px}

/* 정류장 검색 */
.d6 .bus_sch {position:relative; max-width:620px; margin:40px auto 0}
.d6 .bus_sch input {width:100%; height:56px; padding:0 56px 0 26px; border:2px solid #111; border-radius:28px; font-size:16px; color:#111; box-sizing:border-box}
.d6 .bus_sch input::placeholder {color:#999}
.d6 .bus_sch input:focus {border-color:#111 !important}
.d6 .bus_sch button {display:flex; align-items:center; justify-content:center; position:absolute; top:50%; right:12px; width:40px; height:40px; padding:0; border:0; background:none; color:#111; transform:translateY(-50%); cursor:pointer} /* 돋보기 = 검색 버튼 */
.d6 .bus_sch svg {display:block}
.d6 .bus_result {min-height:20px; margin:10px 0 20px; font-size:14px; color:#333; text-align:center} /* 검색 결과 : 찾은 노선 수 */

/* 호차 탭 */
.d6 .bus_tab {display:grid; grid-template-columns:repeat(6, 1fr); gap:8px; margin:0 0 40px; padding:0; list-style:none}
.d6 .bus_tab a {display:block; height:100%; padding:14px 12px; border:1px solid #ddd; border-radius:4px; background-color:#fff; text-align:center; box-sizing:border-box}
.d6 .bus_tab a:hover {border-color:#999}
.d6 .bus_tab b {display:block; font-size:16px; font-weight:700; color:#111}
.d6 .bus_tab span {display:block; margin-top:5px; font-size:14px; color:#333; word-break:keep-all} /* 지역 : 잘리지 않고 다 보이게 */
.d6 .bus_tab li.on a {border-color:#f26a2e; background-color:#f26a2e} /* 선택된 호차 : 주황 (위 서브 메뉴 남색과 구분) */
.d6 .bus_tab li.on b, .d6 .bus_tab li.on span {color:#fff}

/* 노선 */
.d6 .bus_box {display:none}
.d6 .bus_box.on {display:block}
.d6 .bus_head {display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:8px 20px; padding-bottom:16px; border-bottom:2px solid #222}
.d6 .bus_head h3 {margin:0; font-size:24px; font-weight:800; color:#111}
.d6 .bus_head h3 span {margin-left:10px; font-size:19px; font-weight:600; color:#222} /* 지역 */
.d6 .bus_head p {margin:0; font-size:15px; color:#333; text-align:right}
.d6 .bus_head a {margin-left:6px; font-weight:700; color:#111}
.d6 .bus_head p span {display: block; margin-top: auto; font-weight: 700; font-size: 14px; color: #db050f;}

/* 정류장 : 번호 순서대로 위→아래, 2줄 */
.d6 .bus_stop {columns:2; column-gap:40px; margin:0; padding:0; list-style:none; counter-reset:stop}
.d6 .bus_stop li {display:flex; align-items:center; gap:14px; padding:14px 6px; border-bottom:1px solid #eee; font-size:16px; color:#222; break-inside:avoid; counter-increment:stop}
.d6 .bus_stop li:before {content:counter(stop); flex-shrink:0; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid #ccc; border-radius:50%; font-size:12px; font-weight:600; color:#333; line-height:1; font-variant-numeric:tabular-nums; box-sizing:border-box} /* line-height:1 = 크기용 아님 : 원 안쪽 26px 에서 숫자 12px 이 정확히 가운데(7px씩) 오도록 소수점 어긋남 방지 */
.d6 .bus_stop li.end {font-weight:700; color:#173f8a}
.d6 .bus_stop li.end:before {border-color:#173f8a; background-color:#173f8a; color:#fff}
.d6 .bus_stop li.hit {background-color:#fff3b0; font-weight:700} /* 검색한 정류장 */

/* 검색 중 : 찾은 노선을 모두 펼침, 탭은 찾은 호차만 진하게 */
.d6.bus_on_sch .bus_box {display:none}
.d6.bus_on_sch .bus_box.found {display:block}
.d6.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:50px}
.d6.bus_on_sch .bus_tab li a {border-color:#ddd; background-color:#fff; opacity:.35; cursor:default}
.d6.bus_on_sch .bus_tab li b {color:#111}
.d6.bus_on_sch .bus_tab li span {color:#333}
.d6.bus_on_sch .bus_tab li.found a {border-color:#111; opacity:1; cursor:pointer}
.d6 .bus_empty {display:none; padding:60px 0; font-size:15px; color:#999; text-align:center}

@media screen and (max-width:1024px) {
	.d6 .bus_tab {grid-template-columns:repeat(4, 1fr)}
}

@media screen and (max-width:768px) {
	.d6 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */

	.d6 .bus_info {padding:0 16px}
	.d6 .bus_info dl {flex-direction:column; gap:6px; padding:16px 0}
	.d6 .bus_info dt {width:auto; font-size:15px}
	.d6 .bus_info dd {gap:4px 20px}
	.d6 .bus_t {font-size:14px}
	.d6 .bus_t strong {font-size:20px}
	.d6 .bus_t_txt {font-size:13px}
	.d6 .bus_alert {flex-wrap:wrap; gap:6px 0; padding:16px 0}
	.d6 .bus_alert p {flex-basis:100%; font-size:14px}
	.d6 .bus_call {font-size:14px}

	.d6 .bus_sch {margin-top:28px}
	.d6 .bus_result {margin-bottom:14px; font-size:13px}
	.d6 .bus_sch input {height:50px; padding:0 48px 0 20px; font-size:14px}
	.d6 .bus_sch input::placeholder {font-size:13px} /* 좁은 화면에서 안내 문구가 잘리지 않게 */
	.d6 .bus_sch button {right:8px}
	.d6 .bus_sch svg {width:20px; height:20px}

	.d6 .bus_tab {grid-template-columns:repeat(3, 1fr); gap:6px; margin-bottom:28px}
	.d6 .bus_tab a {padding:10px 6px}
	.d6 .bus_tab b {font-size:15px}
	.d6 .bus_tab span {margin-top:4px; font-size:13px}

	.d6 .bus_head {flex-direction:column; align-items:flex-start; padding-bottom:12px}
	.d6 .bus_head h3 {font-size:21px}
	.d6 .bus_head h3 span {display:block; margin:6px 0 0; font-size:16px}
	.d6 .bus_head p {font-size:14px; text-align:left}
	.d6 .bus_head p span {font-size:13px}

	.d6 .bus_stop {columns:1}
	.d6 .bus_stop li {gap:12px; padding:12px 4px; font-size:15px}
	.d6 .bus_stop li:before {width:26px; height:26px; font-size:12px} /* 안쪽 24px - 숫자 12px = 위아래 6px */
	.d6.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:36px}
}

/* d6 추가 : 정류장 승차시간 / 방학 안내 */
.d6 .bus_stop_head {display:grid; grid-template-columns:1fr 1fr; column-gap:40px; background-color:#f5f7fa} /* 버스승강장 · 승차시간 제목줄 (2줄 목록에 맞춰 2번) */
.d6 .bus_stop_head p {display:flex; justify-content:space-between; margin:0; padding:10px 6px; font-size:13px; font-weight:600; color:#333} /* 번호 위부터 시작 (번호 칸 제목 없음) */
.d6 .bus_stop li em {margin-left:auto; padding-left:12px; font-style:normal; font-size:15px; font-weight:700; color:#111; font-variant-numeric:tabular-nums; white-space:nowrap}
.d6 .bus_stop li.end em {color:#173f8a}
.d6 .bus_info_note {margin:-6px 0 0; padding-bottom:20px; font-size:14px; font-weight:500; color:#db050f; word-break:keep-all}
@media screen and (max-width:768px) {
	.d6 .bus_stop li em {font-size:14px}
	.d6 .bus_stop_head {grid-template-columns:1fr}
	.d6 .bus_stop_head p {padding:8px 4px; font-size:12px}
	.d6 .bus_stop_head p + p {display:none} /* 모바일은 1줄 목록 */
	.d6 .bus_info_note {font-size:13px}
}


/*초등부 셔틀버스 (html/e5.php) : d6 과 같은 디자인 (정류장마다 승차시간), .e5 로 따로 묶음*/
.e5 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */

/* 꼭 확인하세요 + 운행시간 (한 상자 : 안내 위, 운행시간 아래 / 빨간색은 안내 문구에만) */
.e5 .bus_info {padding:0 28px; border:1px solid #e5e8ec; border-radius:6px}
.e5 .bus_info dl {display:flex; align-items:baseline; gap:0 30px; margin:0; padding:20px 0}
.e5 .bus_info dl + dl {border-top:1px solid #e5e8ec}
.e5 .bus_info dt {flex-shrink:0; width:110px; font-size:16px; font-weight:700; color:#111}
.e5 .bus_info dd {display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 30px; margin:0}
.e5 .bus_t {font-size:15px; font-weight:500; color:#555; white-space:nowrap}
.e5 .bus_t strong {margin-left:6px; font-size:22px; font-weight:800; color:#111; font-variant-numeric:tabular-nums}
.e5 .bus_t_txt {flex-basis:100%; font-size:14px; color:#666}
.e5 .bus_alert {display:flex; align-items:center; gap:8px 20px; padding:18px 0; border-bottom:1px solid #e5e8ec}
.e5 .bus_alert_tit {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#db050f}
.e5 .bus_alert_tit svg, .e5 .bus_call svg {display:block; flex-shrink:0} /* 아이콘은 svg 로 : 글자와 정확히 가운데 맞춤 */
.e5 .bus_alert_tit svg {width:18px; height:18px}
.e5 .bus_alert p {flex:1; font-size:15px; color:#333; line-height:1.6; word-break:keep-all}
.e5 .bus_alert em {font-style:normal; font-weight:700; color:#db050f}
.e5 .bus_call {flex-shrink:0; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#111}
.e5 .bus_call:hover {text-decoration:underline}
.e5 .bus_call svg {width:16px; height:16px}

/* 정류장 검색 */
.e5 .bus_sch {position:relative; max-width:620px; margin:40px auto 0}
.e5 .bus_sch input {width:100%; height:56px; padding:0 56px 0 26px; border:2px solid #111; border-radius:28px; font-size:16px; color:#111; box-sizing:border-box}
.e5 .bus_sch input::placeholder {color:#999}
.e5 .bus_sch input:focus {border-color:#111 !important}
.e5 .bus_sch button {display:flex; align-items:center; justify-content:center; position:absolute; top:50%; right:12px; width:40px; height:40px; padding:0; border:0; background:none; color:#111; transform:translateY(-50%); cursor:pointer} /* 돋보기 = 검색 버튼 */
.e5 .bus_sch svg {display:block}
.e5 .bus_result {min-height:20px; margin:10px 0 20px; font-size:14px; color:#333; text-align:center} /* 검색 결과 : 찾은 노선 수 */

/* 호차 탭 */
.e5 .bus_tab {display:grid; grid-template-columns:repeat(6, 1fr); gap:8px; margin:0 0 40px; padding:0; list-style:none}
.e5 .bus_tab a {display:block; height:100%; padding:14px 12px; border:1px solid #ddd; border-radius:4px; background-color:#fff; text-align:center; box-sizing:border-box}
.e5 .bus_tab a:hover {border-color:#999}
.e5 .bus_tab b {display:block; font-size:16px; font-weight:700; color:#111}
.e5 .bus_tab span {display:block; margin-top:5px; font-size:14px; color:#333; word-break:keep-all} /* 지역 : 잘리지 않고 다 보이게 */
.e5 .bus_tab li.on a {border-color:#f26a2e; background-color:#f26a2e} /* 선택된 호차 : 주황 (위 서브 메뉴 남색과 구분) */
.e5 .bus_tab li.on b, .e5 .bus_tab li.on span {color:#fff}

/* 노선 */
.e5 .bus_box {display:none}
.e5 .bus_box.on {display:block}
.e5 .bus_head {display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:8px 20px; padding-bottom:16px; border-bottom:2px solid #222}
.e5 .bus_head h3 {margin:0; font-size:24px; font-weight:800; color:#111}
.e5 .bus_head h3 span {margin-left:10px; font-size:19px; font-weight:600; color:#222} /* 지역 */
.e5 .bus_head p {margin:0; font-size:15px; color:#333; text-align:right}
.e5 .bus_head a {margin-left:6px; font-weight:700; color:#111}
.e5 .bus_head p span {display: block; margin-top: auto; font-weight: 700; font-size: 14px; color: #db050f;}

/* 정류장 : 번호 순서대로 위→아래, 2줄 */
.e5 .bus_stop {columns:2; column-gap:40px; margin:0; padding:0; list-style:none; counter-reset:stop}
.e5 .bus_stop li {display:flex; align-items:center; gap:14px; padding:14px 6px; border-bottom:1px solid #eee; font-size:16px; color:#222; break-inside:avoid; counter-increment:stop}
.e5 .bus_stop li:before {content:counter(stop); flex-shrink:0; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid #ccc; border-radius:50%; font-size:12px; font-weight:600; color:#333; line-height:1; font-variant-numeric:tabular-nums; box-sizing:border-box} /* line-height:1 = 크기용 아님 : 원 안쪽 26px 에서 숫자 12px 이 정확히 가운데(7px씩) 오도록 소수점 어긋남 방지 */
.e5 .bus_stop li.end {font-weight:700; color:#173f8a}
.e5 .bus_stop li.end:before {border-color:#173f8a; background-color:#173f8a; color:#fff}
.e5 .bus_stop li.hit {background-color:#fff3b0; font-weight:700} /* 검색한 정류장 */

/* 검색 중 : 찾은 노선을 모두 펼침, 탭은 찾은 호차만 진하게 */
.e5.bus_on_sch .bus_box {display:none}
.e5.bus_on_sch .bus_box.found {display:block}
.e5.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:50px}
.e5.bus_on_sch .bus_tab li a {border-color:#ddd; background-color:#fff; opacity:.35; cursor:default}
.e5.bus_on_sch .bus_tab li b {color:#111}
.e5.bus_on_sch .bus_tab li span {color:#333}
.e5.bus_on_sch .bus_tab li.found a {border-color:#111; opacity:1; cursor:pointer}
.e5 .bus_empty {display:none; padding:60px 0; font-size:15px; color:#999; text-align:center}

@media screen and (max-width:1024px) {
	.e5 .bus_tab {grid-template-columns:repeat(4, 1fr)}
}

@media screen and (max-width:768px) {
	.e5 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */

	.e5 .bus_info {padding:0 16px}
	.e5 .bus_info dl {flex-direction:column; gap:6px; padding:16px 0}
	.e5 .bus_info dt {width:auto; font-size:15px}
	.e5 .bus_info dd {gap:4px 20px}
	.e5 .bus_t {font-size:14px}
	.e5 .bus_t strong {font-size:20px}
	.e5 .bus_t_txt {font-size:13px}
	.e5 .bus_alert {flex-wrap:wrap; gap:6px 0; padding:16px 0}
	.e5 .bus_alert p {flex-basis:100%; font-size:14px}
	.e5 .bus_call {font-size:14px}

	.e5 .bus_sch {margin-top:28px}
	.e5 .bus_result {margin-bottom:14px; font-size:13px}
	.e5 .bus_sch input {height:50px; padding:0 48px 0 20px; font-size:14px}
	.e5 .bus_sch input::placeholder {font-size:13px} /* 좁은 화면에서 안내 문구가 잘리지 않게 */
	.e5 .bus_sch button {right:8px}
	.e5 .bus_sch svg {width:20px; height:20px}

	.e5 .bus_tab {grid-template-columns:repeat(3, 1fr); gap:6px; margin-bottom:28px}
	.e5 .bus_tab a {padding:10px 6px}
	.e5 .bus_tab b {font-size:15px}
	.e5 .bus_tab span {margin-top:4px; font-size:13px}

	.e5 .bus_head {flex-direction:column; align-items:flex-start; padding-bottom:12px}
	.e5 .bus_head h3 {font-size:21px}
	.e5 .bus_head h3 span {display:block; margin:6px 0 0; font-size:16px}
	.e5 .bus_head p {font-size:14px; text-align:left}
	.e5 .bus_head p span {font-size:13px}

	.e5 .bus_stop {columns:1}
	.e5 .bus_stop li {gap:12px; padding:12px 4px; font-size:15px}
	.e5 .bus_stop li:before {width:26px; height:26px; font-size:12px} /* 안쪽 24px - 숫자 12px = 위아래 6px */
	.e5.bus_on_sch .bus_box.found ~ .bus_box.found {margin-top:36px}
}

/* e5 추가 : 정류장 승차시간 / 방학 안내 */
.e5 .bus_stop_head {display:grid; grid-template-columns:1fr 1fr; column-gap:40px; background-color:#f5f7fa} /* 버스승강장 · 승차시간 제목줄 (2줄 목록에 맞춰 2번) */
.e5 .bus_stop_head p {display:flex; justify-content:space-between; margin:0; padding:10px 6px; font-size:13px; font-weight:600; color:#333} /* 번호 위부터 시작 (번호 칸 제목 없음) */
.e5 .bus_stop li em {margin-left:auto; padding-left:12px; font-style:normal; font-size:15px; font-weight:700; color:#111; font-variant-numeric:tabular-nums; white-space:nowrap}
.e5 .bus_stop li.end em {color:#173f8a}
.e5 .bus_info_note {margin:-6px 0 0; padding-bottom:20px; font-size:14px; font-weight:500; color:#db050f; word-break:keep-all}
@media screen and (max-width:768px) {
	.e5 .bus_stop li em {font-size:14px}
	.e5 .bus_stop_head {grid-template-columns:1fr}
	.e5 .bus_stop_head p {padding:8px 4px; font-size:12px}
	.e5 .bus_stop_head p + p {display:none} /* 모바일은 1줄 목록 */
	.e5 .bus_info_note {font-size:13px}
}


/*초등부 6학년 (html/e1_1.php) : .e1_1 로 따로 묶음 (d1 페이지와 같은 디자인)*/
.e1_1 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.e1_1 .e1_red {color:#db050f; font-weight:500}
.e1_1 .e1_tel {font-weight:700; color:#111}


/* 구역 제목 */
.e1_1 .e1_sec {margin-top:100px}
.e1_1 .e1_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */
.e1_1 .e1_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:25px; font-weight:800; color:#111}
.e1_1 .e1_tit small {margin-left:6px; font-size:17px; font-weight:500; color:#444}
.e1_1 .e1_cap {margin:28px 0 10px; font-size:17px; font-weight:700; color:#111}
.e1_1 .e1_note {margin:10px 0 0; font-size:15px; color:#666}

/* 항목 줄 : 왼쪽 항목 / 오른쪽 내용 */
.e1_1 .e1_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:30px 0; border-bottom:1px solid #e5e8ec}
.e1_1 .e1_row dt {font-size:18px; font-weight:700; color:#111; word-break:keep-all}
.e1_1 .e1_row dt small {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#666}
.e1_1 .e1_row dd {margin:0; min-width:0; font-size:16px; color:#222; line-height:1.85; word-break:keep-all}
.e1_1 .e1_ls {margin:0; padding:0; list-style:none}
.e1_1 .e1_hang {display:flex; gap:5px} /* 머리글(▶, *, [수학], 국어 -) + 내용 : 줄이 넘어가도 내용 시작점에 맞춰 정렬 (여백 숫자 없이 자동) */
.e1_1 .e1_hang > i {flex-shrink:0; font-style:normal}
.e1_1 .e1_hang > span {min-width:0}
.e1_1 .e1_dd_tit {margin:0 0 4px; font-weight:700; color:#111}
.e1_1 .e1_em {font-weight:700; color:#173f8a}

/* 과목별(수학/영어/국어 …) 묶음 */
.e1_1 .e1_kv {margin:0; padding:0; list-style:none}
.e1_1 .e1_kv li {display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 16px; background-color:#f5f7fa}
.e1_1 .e1_kv li + li {margin-top:4px}
.e1_1 .e1_kv b {font-weight:700; color:#173f8a}

/* 학생복지 같은 짧은 항목 나열 */
.e1_1 .e1_chip {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.e1_1 .e1_chip li {padding:6px 14px; border:1px solid #dde3ea; border-radius:4px; background-color:#f5f7fa; font-size:15px}

/* 카드 3개 (국어 1-4학기) */
.e1_1 .e1_card {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:0; padding:0; list-style:none}
.e1_1 .e1_card li {padding:24px 22px; border:1px solid #e3e7ec; border-radius:8px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all}
.e1_1 .e1_card strong {display:block; margin-bottom:10px; font-size:18px; font-weight:700; color:#111}
.e1_1 .e1_card p {margin:0}
.e1_1 .e1_card p + p {margin-top:10px}

/* 표 (진도·교재 / 시간표) */
.e1_1 .e1_scroll {overflow-x:auto}
.e1_1 .e1_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.e1_1 .e1_tbl th, .e1_1 .e1_tbl td {padding:16px 12px; border:1px solid #e5e8ec} /* 글자색은 표에서 물려받음 → .e1_red 가 그대로 적용 */ /* 선은 칸마다 1px 하나로만 (표 윗선·제목 밑줄과 겹치지 않음) */
.e1_1 .e1_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.e1_1 .e1_tbl thead th span {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#555}
.e1_1 .e1_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 항목칸 : 띄어쓰기에서만 줄바꿈 (글자 중간 안 끊김) */
.e1_1 .e1_hl {margin:8px 0 0; padding:8px 10px; background-color:#fff8d6; font-size:15px; line-height:1.6} /* 학교 시험대비 강조 */
.e1_1 .e1_eng td {text-align:left} /* 영어 : 교재명 왼쪽, 출판사 가운데 */
.e1_1 .e1_eng .e1_pub {width:9%; text-align:center; white-space:nowrap}
.e1_1 .e1_eng .e1_eng_note td {background-color:#fafbfc; font-size:.9em} /* 표 글자보다 조금 작게 (모바일도 비율 그대로) */
.e1_1 .e1_time {table-layout:fixed; min-width:640px} /* 요일 칸 너비 같게 / 시간표 : 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 (글자 찌그러짐 방지) */
.e1_1 .e1_time7 {min-width:720px} /* 토요일 포함 7칸 */
.e1_1 .e1_time thead th:first-child {width:18%}
.e1_1 .e1_time .e1_math {background-color:#dcf3e6} /* 시간표 과목 색 : 수학 */
.e1_1 .e1_time .e1_en {background-color:#fff1b3} /* 영어 */
.e1_1 .e1_time .e1_break th, .e1_1 .e1_time .e1_break td {background-color:#f5f7fa; font-size:.9em; color:#333} /* 쉬는 시간 줄 : 표 글자보다 조금 작게 */


@media screen and (max-width:768px) {
	.e1_1 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.e1_1 .e1_sec {margin-top:50px}
	.e1_1 .e1_tit {padding-bottom:12px; font-size:20px}
	.e1_1 .e1_tit small {display:block; margin:4px 0 0; font-size:14px}
	.e1_1 .e1_cap {margin:22px 0 8px; font-size:15px}
	.e1_1 .e1_note {font-size:13px}

	.e1_1 .e1_row {grid-template-columns:1fr; gap:8px; padding:18px 0}
	.e1_1 .e1_row dt {font-size:16px}
	.e1_1 .e1_row dt small {display:inline; margin-left:4px}
	.e1_1 .e1_row dd {font-size:14px}
	.e1_1 .e1_kv li {grid-template-columns:1fr; gap:4px; padding:12px 14px}
	.e1_1 .e1_card {grid-template-columns:1fr; gap:10px}
	.e1_1 .e1_card li {padding:18px 16px; font-size:14px}

	.e1_1 .e1_tbl {font-size:13px} /* 모바일 : 표가 화면 폭 안에 다 들어오게 (옆으로 넘치지 않음) */
	.e1_1 .e1_tbl:not(.e1_time) td {overflow-wrap:anywhere} /* 긴 글만 칸 안에서 줄바꿈 (항목칸 th 는 글자 중간에서 안 끊김) */
	.e1_1 .e1_tbl th, .e1_1 .e1_tbl td {padding:9px 5px}
	.e1_1 .e1_eng thead th:first-child {white-space:nowrap} /* '레벨' 한 줄 */
	.e1_1 .e1_eng .e1_pub {width:auto; padding:9px 3px; font-size:12px; white-space:nowrap} /* 출판사 한 줄 */
}
/* d3 추가 : c3 고등부 장학제도와 같은 모양 (구역 설명줄 / 조건 → 할인 / 안내 상자) — 크기도 c3 와 같게 */
.e1_1 .e1_secdesc {margin:16px 0 0; font-size:15px; color:#333; line-height:1.7} /* 제목 아래 설명줄 (c3_desc) */
.e1_1 .e1_rate {margin:0; padding:0; list-style:none}
.e1_1 .e1_rate li {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 16px; background-color:#f5f7fa; word-break:keep-all}
.e1_1 .e1_rate li + li {margin-top:4px}
.e1_1 .e1_rate span {font-size:15px; color:#222}
.e1_1 .e1_rate span small {display:block; margin-top:2px; font-size:14px; color:#444} /* 조건 아래 보충 설명 */
.e1_1 .e1_rate b {flex-shrink:0; font-size:16px; font-weight:700; color:#db050f; text-align:right} /* 할인율 : c3 와 같은 빨간 강조 */
.e1_1 .e1_desc {margin:0 0 10px; font-size:15px; color:#222}
.e1_1 .e1_desc small {display:block; margin-top:2px; font-size:14px; color:#444}
.e1_1 .e1_gap {margin-top:16px; padding-top:16px; border-top:1px solid #d9dee5} /* 두 번째 할인 목록 : 위에 구분선 */
.e1_1 .e1_box {margin:20px 0 0; padding:18px 22px; border:1px solid #e5e8ec; border-radius:6px; list-style:none; font-size:14px; color:#333; line-height:1.6; word-break:keep-all} /* 안내 상자 : c3_note 와 똑같이 */
.e1_1 .e1_box li + li {margin-top:4px}
@media screen and (max-width:768px) {
	.e1_1 .e1_secdesc {font-size:14px}
	.e1_1 .e1_rate li {flex-direction:column; align-items:flex-start; gap:2px; padding:10px 14px}
	.e1_1 .e1_rate span {font-size:14px}
	.e1_1 .e1_rate span small {font-size:13px}
	.e1_1 .e1_rate b {font-size:15px; text-align:left}
	.e1_1 .e1_desc {font-size:14px}
	.e1_1 .e1_desc small {font-size:13px}
	.e1_1 .e1_box {padding:14px 16px; font-size:13px}
}
.e1_1 .e1_point {margin-top:18px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all} /* 프로그램 특징 목록 : 항목 줄(dd) 밖이라 글자 크기·색을 직접 지정 */
.e1_1 .e1_point li + li {margin-top:6px} /* 줄 간격 */
@media screen and (max-width:768px) {
	.e1_1 .e1_point {margin-top:14px; font-size:14px}
}

/*초등부 5학년 (html/e1_2.php) : .e1_2 로 따로 묶음 (d1 페이지와 같은 디자인)*/
.e1_2 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.e1_2 .e1_red {color:#db050f; font-weight:500}
.e1_2 .e1_tel {font-weight:700; color:#111}


/* 구역 제목 */
.e1_2 .e1_sec {margin-top:100px}
.e1_2 .e1_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */
.e1_2 .e1_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:25px; font-weight:800; color:#111}
.e1_2 .e1_tit small {margin-left:6px; font-size:17px; font-weight:500; color:#444}
.e1_2 .e1_cap {margin:28px 0 10px; font-size:17px; font-weight:700; color:#111}
.e1_2 .e1_note {margin:10px 0 0; font-size:15px; color:#666}

/* 항목 줄 : 왼쪽 항목 / 오른쪽 내용 */
.e1_2 .e1_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:30px 0; border-bottom:1px solid #e5e8ec}
.e1_2 .e1_row dt {font-size:18px; font-weight:700; color:#111; word-break:keep-all}
.e1_2 .e1_row dt small {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#666}
.e1_2 .e1_row dd {margin:0; min-width:0; font-size:16px; color:#222; line-height:1.85; word-break:keep-all}
.e1_2 .e1_ls {margin:0; padding:0; list-style:none}
.e1_2 .e1_hang {display:flex; gap:5px} /* 머리글(▶, *, [수학], 국어 -) + 내용 : 줄이 넘어가도 내용 시작점에 맞춰 정렬 (여백 숫자 없이 자동) */
.e1_2 .e1_hang > i {flex-shrink:0; font-style:normal}
.e1_2 .e1_hang > span {min-width:0}
.e1_2 .e1_dd_tit {margin:0 0 4px; font-weight:700; color:#111}
.e1_2 .e1_em {font-weight:700; color:#173f8a}

/* 과목별(수학/영어/국어 …) 묶음 */
.e1_2 .e1_kv {margin:0; padding:0; list-style:none}
.e1_2 .e1_kv li {display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 16px; background-color:#f5f7fa}
.e1_2 .e1_kv li + li {margin-top:4px}
.e1_2 .e1_kv b {font-weight:700; color:#173f8a}

/* 학생복지 같은 짧은 항목 나열 */
.e1_2 .e1_chip {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.e1_2 .e1_chip li {padding:6px 14px; border:1px solid #dde3ea; border-radius:4px; background-color:#f5f7fa; font-size:15px}

/* 카드 3개 (국어 1-4학기) */
.e1_2 .e1_card {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:0; padding:0; list-style:none}
.e1_2 .e1_card li {padding:24px 22px; border:1px solid #e3e7ec; border-radius:8px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all}
.e1_2 .e1_card strong {display:block; margin-bottom:10px; font-size:18px; font-weight:700; color:#111}
.e1_2 .e1_card p {margin:0}
.e1_2 .e1_card p + p {margin-top:10px}

/* 표 (진도·교재 / 시간표) */
.e1_2 .e1_scroll {overflow-x:auto}
.e1_2 .e1_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.e1_2 .e1_tbl th, .e1_2 .e1_tbl td {padding:16px 12px; border:1px solid #e5e8ec} /* 글자색은 표에서 물려받음 → .e1_red 가 그대로 적용 */ /* 선은 칸마다 1px 하나로만 (표 윗선·제목 밑줄과 겹치지 않음) */
.e1_2 .e1_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.e1_2 .e1_tbl thead th span {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#555}
.e1_2 .e1_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 항목칸 : 띄어쓰기에서만 줄바꿈 (글자 중간 안 끊김) */
.e1_2 .e1_hl {margin:8px 0 0; padding:8px 10px; background-color:#fff8d6; font-size:15px; line-height:1.6} /* 학교 시험대비 강조 */
.e1_2 .e1_eng td {text-align:left} /* 영어 : 교재명 왼쪽, 출판사 가운데 */
.e1_2 .e1_eng .e1_pub {width:9%; text-align:center; white-space:nowrap}
.e1_2 .e1_eng .e1_eng_note td {background-color:#fafbfc; font-size:.9em} /* 표 글자보다 조금 작게 (모바일도 비율 그대로) */
.e1_2 .e1_time {table-layout:fixed; min-width:640px} /* 요일 칸 너비 같게 / 시간표 : 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 (글자 찌그러짐 방지) */
.e1_2 .e1_time7 {min-width:720px} /* 토요일 포함 7칸 */
.e1_2 .e1_time thead th:first-child {width:18%}
.e1_2 .e1_time .e1_math {background-color:#dcf3e6} /* 시간표 과목 색 : 수학 */
.e1_2 .e1_time .e1_en {background-color:#fff1b3} /* 영어 */
.e1_2 .e1_time .e1_break th, .e1_2 .e1_time .e1_break td {background-color:#f5f7fa; font-size:.9em; color:#333} /* 쉬는 시간 줄 : 표 글자보다 조금 작게 */


@media screen and (max-width:768px) {
	.e1_2 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.e1_2 .e1_sec {margin-top:50px}
	.e1_2 .e1_tit {padding-bottom:12px; font-size:20px}
	.e1_2 .e1_tit small {display:block; margin:4px 0 0; font-size:14px}
	.e1_2 .e1_cap {margin:22px 0 8px; font-size:15px}
	.e1_2 .e1_note {font-size:13px}

	.e1_2 .e1_row {grid-template-columns:1fr; gap:8px; padding:18px 0}
	.e1_2 .e1_row dt {font-size:16px}
	.e1_2 .e1_row dt small {display:inline; margin-left:4px}
	.e1_2 .e1_row dd {font-size:14px}
	.e1_2 .e1_kv li {grid-template-columns:1fr; gap:4px; padding:12px 14px}
	.e1_2 .e1_card {grid-template-columns:1fr; gap:10px}
	.e1_2 .e1_card li {padding:18px 16px; font-size:14px}

	.e1_2 .e1_tbl {font-size:13px} /* 모바일 : 표가 화면 폭 안에 다 들어오게 (옆으로 넘치지 않음) */
	.e1_2 .e1_tbl:not(.e1_time) td {overflow-wrap:anywhere} /* 긴 글만 칸 안에서 줄바꿈 (항목칸 th 는 글자 중간에서 안 끊김) */
	.e1_2 .e1_tbl th, .e1_2 .e1_tbl td {padding:9px 5px}
	.e1_2 .e1_eng thead th:first-child {white-space:nowrap} /* '레벨' 한 줄 */
	.e1_2 .e1_eng .e1_pub {width:auto; padding:9px 3px; font-size:12px; white-space:nowrap} /* 출판사 한 줄 */
}
/* d3 추가 : c3 고등부 장학제도와 같은 모양 (구역 설명줄 / 조건 → 할인 / 안내 상자) — 크기도 c3 와 같게 */
.e1_2 .e1_secdesc {margin:16px 0 0; font-size:15px; color:#333; line-height:1.7} /* 제목 아래 설명줄 (c3_desc) */
.e1_2 .e1_rate {margin:0; padding:0; list-style:none}
.e1_2 .e1_rate li {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 16px; background-color:#f5f7fa; word-break:keep-all}
.e1_2 .e1_rate li + li {margin-top:4px}
.e1_2 .e1_rate span {font-size:15px; color:#222}
.e1_2 .e1_rate span small {display:block; margin-top:2px; font-size:14px; color:#444} /* 조건 아래 보충 설명 */
.e1_2 .e1_rate b {flex-shrink:0; font-size:16px; font-weight:700; color:#db050f; text-align:right} /* 할인율 : c3 와 같은 빨간 강조 */
.e1_2 .e1_desc {margin:0 0 10px; font-size:15px; color:#222}
.e1_2 .e1_desc small {display:block; margin-top:2px; font-size:14px; color:#444}
.e1_2 .e1_gap {margin-top:16px; padding-top:16px; border-top:1px solid #d9dee5} /* 두 번째 할인 목록 : 위에 구분선 */
.e1_2 .e1_box {margin:20px 0 0; padding:18px 22px; border:1px solid #e5e8ec; border-radius:6px; list-style:none; font-size:14px; color:#333; line-height:1.6; word-break:keep-all} /* 안내 상자 : c3_note 와 똑같이 */
.e1_2 .e1_box li + li {margin-top:4px}
@media screen and (max-width:768px) {
	.e1_2 .e1_secdesc {font-size:14px}
	.e1_2 .e1_rate li {flex-direction:column; align-items:flex-start; gap:2px; padding:10px 14px}
	.e1_2 .e1_rate span {font-size:14px}
	.e1_2 .e1_rate span small {font-size:13px}
	.e1_2 .e1_rate b {font-size:15px; text-align:left}
	.e1_2 .e1_desc {font-size:14px}
	.e1_2 .e1_desc small {font-size:13px}
	.e1_2 .e1_box {padding:14px 16px; font-size:13px}
}
.e1_2 .e1_point {margin-top:18px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all} /* 프로그램 특징 목록 : 항목 줄(dd) 밖이라 글자 크기·색을 직접 지정 */
.e1_2 .e1_point li + li {margin-top:6px} /* 줄 간격 */
@media screen and (max-width:768px) {
	.e1_2 .e1_point {margin-top:14px; font-size:14px}
}

/*초등부 예비초5,6 (html/e1_3.php) : .e1_3 로 따로 묶음 (d1 페이지와 같은 디자인)*/
.e1_3 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.e1_3 .e1_red {color:#db050f; font-weight:500}
.e1_3 .e1_tel {font-weight:700; color:#111}


/* 구역 제목 */
.e1_3 .e1_sec {margin-top:100px}
.e1_3 .e1_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */
.e1_3 .e1_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:25px; font-weight:800; color:#111}
.e1_3 .e1_tit small {margin-left:6px; font-size:17px; font-weight:500; color:#444}
.e1_3 .e1_cap {margin:28px 0 10px; font-size:17px; font-weight:700; color:#111}
.e1_3 .e1_note {margin:10px 0 0; font-size:15px; color:#666}

/* 항목 줄 : 왼쪽 항목 / 오른쪽 내용 */
.e1_3 .e1_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:30px 0; border-bottom:1px solid #e5e8ec}
.e1_3 .e1_row dt {font-size:18px; font-weight:700; color:#111; word-break:keep-all}
.e1_3 .e1_row dt small {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#666}
.e1_3 .e1_row dd {margin:0; min-width:0; font-size:16px; color:#222; line-height:1.85; word-break:keep-all}
.e1_3 .e1_ls {margin:0; padding:0; list-style:none}
.e1_3 .e1_hang {display:flex; gap:5px} /* 머리글(▶, *, [수학], 국어 -) + 내용 : 줄이 넘어가도 내용 시작점에 맞춰 정렬 (여백 숫자 없이 자동) */
.e1_3 .e1_hang > i {flex-shrink:0; font-style:normal}
.e1_3 .e1_hang > span {min-width:0}
.e1_3 .e1_dd_tit {margin:0 0 4px; font-weight:700; color:#111}
.e1_3 .e1_em {font-weight:700; color:#173f8a}

/* 과목별(수학/영어/국어 …) 묶음 */
.e1_3 .e1_kv {margin:0; padding:0; list-style:none}
.e1_3 .e1_kv li {display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 16px; background-color:#f5f7fa}
.e1_3 .e1_kv li + li {margin-top:4px}
.e1_3 .e1_kv b {font-weight:700; color:#173f8a}

/* 학생복지 같은 짧은 항목 나열 */
.e1_3 .e1_chip {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.e1_3 .e1_chip li {padding:6px 14px; border:1px solid #dde3ea; border-radius:4px; background-color:#f5f7fa; font-size:15px}

/* 카드 3개 (국어 1-4학기) */
.e1_3 .e1_card {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:0; padding:0; list-style:none}
.e1_3 .e1_card li {padding:24px 22px; border:1px solid #e3e7ec; border-radius:8px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all}
.e1_3 .e1_card strong {display:block; margin-bottom:10px; font-size:18px; font-weight:700; color:#111}
.e1_3 .e1_card p {margin:0}
.e1_3 .e1_card p + p {margin-top:10px}

/* 표 (진도·교재 / 시간표) */
.e1_3 .e1_scroll {overflow-x:auto}
.e1_3 .e1_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.e1_3 .e1_tbl th, .e1_3 .e1_tbl td {padding:16px 12px; border:1px solid #e5e8ec} /* 글자색은 표에서 물려받음 → .e1_red 가 그대로 적용 */ /* 선은 칸마다 1px 하나로만 (표 윗선·제목 밑줄과 겹치지 않음) */
.e1_3 .e1_penalty tbody th {width:22%} /* 벌점제도 : 항목 묶음 칸 */
.e1_3 .e1_penalty tbody td:not(:last-child) {text-align:left} /* 구체적인 내용 : 긴 문장이라 왼쪽 정렬 */
.e1_3 .e1_penalty tbody td:last-child {width:90px; white-space:nowrap} /* 벌점 : 한 줄 */
.e1_3 .e1_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.e1_3 .e1_tbl thead th span {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#555}
.e1_3 .e1_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 항목칸 : 띄어쓰기에서만 줄바꿈 (글자 중간 안 끊김) */
.e1_3 .e1_hl {margin:8px 0 0; padding:8px 10px; background-color:#fff8d6; font-size:15px; line-height:1.6} /* 학교 시험대비 강조 */
.e1_3 .e1_eng td {text-align:left} /* 영어 : 교재명 왼쪽, 출판사 가운데 */
.e1_3 .e1_eng .e1_pub {width:9%; text-align:center; white-space:nowrap}
.e1_3 .e1_eng .e1_eng_note td {background-color:#fafbfc; font-size:.9em} /* 표 글자보다 조금 작게 (모바일도 비율 그대로) */
.e1_3 .e1_time {table-layout:fixed; min-width:640px} /* 요일 칸 너비 같게 / 시간표 : 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 (글자 찌그러짐 방지) */
.e1_3 .e1_time7 {min-width:720px} /* 토요일 포함 7칸 */
.e1_3 .e1_time thead th:first-child {width:18%}
.e1_3 .e1_time .e1_math {background-color:#dcf3e6} /* 시간표 과목 색 : 수학 */
.e1_3 .e1_time .e1_en {background-color:#fff1b3} /* 영어 */
.e1_3 .e1_time .e1_break th, .e1_3 .e1_time .e1_break td {background-color:#f5f7fa; font-size:.9em; color:#333} /* 쉬는 시간 줄 : 표 글자보다 조금 작게 */


@media screen and (max-width:768px) {
	.e1_3 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.e1_3 .e1_sec {margin-top:50px}
	.e1_3 .e1_tit {padding-bottom:12px; font-size:20px}
	.e1_3 .e1_tit small {display:block; margin:4px 0 0; font-size:14px}
	.e1_3 .e1_cap {margin:22px 0 8px; font-size:15px}
	.e1_3 .e1_note {font-size:13px}

	.e1_3 .e1_row {grid-template-columns:1fr; gap:8px; padding:18px 0}
	.e1_3 .e1_row dt {font-size:16px}
	.e1_3 .e1_row dt small {display:inline; margin-left:4px}
	.e1_3 .e1_row dd {font-size:14px}
	.e1_3 .e1_kv li {grid-template-columns:1fr; gap:4px; padding:12px 14px}
	.e1_3 .e1_card {grid-template-columns:1fr; gap:10px}
	.e1_3 .e1_card li {padding:18px 16px; font-size:14px}

	.e1_3 .e1_tbl {font-size:13px} /* 모바일 : 표가 화면 폭 안에 다 들어오게 (옆으로 넘치지 않음) */
	.e1_3 .e1_tbl:not(.e1_time) td {overflow-wrap:anywhere} /* 긴 글만 칸 안에서 줄바꿈 (항목칸 th 는 글자 중간에서 안 끊김) */
	.e1_3 .e1_tbl th, .e1_3 .e1_tbl td {padding:9px 5px}
	.e1_3 .e1_eng thead th:first-child {white-space:nowrap} /* '레벨' 한 줄 */
	.e1_3 .e1_eng .e1_pub {width:auto; padding:9px 3px; font-size:12px; white-space:nowrap} /* 출판사 한 줄 */
}
/* d3 추가 : c3 고등부 장학제도와 같은 모양 (구역 설명줄 / 조건 → 할인 / 안내 상자) — 크기도 c3 와 같게 */
.e1_3 .e1_secdesc {margin:16px 0 0; font-size:15px; color:#333; line-height:1.7} /* 제목 아래 설명줄 (c3_desc) */
.e1_3 .e1_tblgap {margin-top:30px} /* 표 두 개가 연달아 있을 때 사이 간격 (선 없음) */
.e1_3 .e1_rate {margin:0; padding:0; list-style:none}
.e1_3 .e1_rate li {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 16px; background-color:#f5f7fa; word-break:keep-all}
.e1_3 .e1_rate li + li {margin-top:4px}
.e1_3 .e1_rate span {font-size:15px; color:#222}
.e1_3 .e1_rate span small {display:block; margin-top:2px; font-size:14px; color:#444} /* 조건 아래 보충 설명 */
.e1_3 .e1_rate b {flex-shrink:0; font-size:16px; font-weight:700; color:#db050f; text-align:right} /* 할인율 : c3 와 같은 빨간 강조 */
.e1_3 .e1_desc {margin:0 0 10px; font-size:15px; color:#222}
.e1_3 .e1_desc small {display:block; margin-top:2px; font-size:14px; color:#444}
.e1_3 .e1_gap {margin-top:16px; padding-top:16px; border-top:1px solid #d9dee5} /* 두 번째 할인 목록 : 위에 구분선 */
.e1_3 .e1_box {margin:20px 0 0; padding:18px 22px; border:1px solid #e5e8ec; border-radius:6px; list-style:none; font-size:14px; color:#333; line-height:1.6; word-break:keep-all} /* 안내 상자 : c3_note 와 똑같이 */
.e1_3 .e1_box li + li {margin-top:4px}
@media screen and (max-width:768px) {
	.e1_3 .e1_secdesc {font-size:14px}
	.e1_3 .e1_rate li {flex-direction:column; align-items:flex-start; gap:2px; padding:10px 14px}
	.e1_3 .e1_rate span {font-size:14px}
	.e1_3 .e1_rate span small {font-size:13px}
	.e1_3 .e1_rate b {font-size:15px; text-align:left}
	.e1_3 .e1_desc {font-size:14px}
	.e1_3 .e1_desc small {font-size:13px}
	.e1_3 .e1_box {padding:14px 16px; font-size:13px}
}
.e1_3 .e1_point {margin-top:18px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all} /* 프로그램 특징 목록 : 항목 줄(dd) 밖이라 글자 크기·색을 직접 지정 */
.e1_3 .e1_point li + li {margin-top:6px} /* 줄 간격 */
@media screen and (max-width:768px) {
	.e1_3 .e1_point {margin-top:14px; font-size:14px}
}

/*초등부 장학제도 (html/e3.php) : .e3 로 따로 묶음 (d3 중등부 장학제도와 같은 디자인)*/
.e3 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.e3 .e4_red {color:#db050f; font-weight:500}
.e3 .e4_tel {font-weight:700; color:#111}


/* 구역 제목 */
.e3 .e4_sec {margin-top:100px}
.e3 .e4_sec:first-child {margin-top:0} /* 맨 위 구역은 위 여백 없음 */
.e3 .e4_tit {margin:0; padding-bottom:18px; border-bottom:2px solid #222; font-size:25px; font-weight:800; color:#111}
.e3 .e4_tit small {margin-left:6px; font-size:17px; font-weight:500; color:#444}
.e3 .e4_cap {margin:28px 0 10px; font-size:17px; font-weight:700; color:#111}
.e3 .e4_note {margin:10px 0 0; font-size:15px; color:#666}

/* 항목 줄 : 왼쪽 항목 / 오른쪽 내용 */
.e3 .e4_row {display:grid; grid-template-columns:180px 1fr; gap:20px; margin:0; padding:26px 0; border-bottom:1px solid #e5e8ec}
.e3 .e4_row dt {font-size:18px; font-weight:700; color:#111; word-break:keep-all}
.e3 .e4_row dt small {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#666}
.e3 .e4_row dd {margin:0; min-width:0; font-size:16px; color:#222; line-height:1.85; word-break:keep-all}
.e3 .e4_ls {margin:0; padding:0; list-style:none}
.e3 .e4_hang {display:flex; gap:5px} /* 머리글(▶, *, [수학], 국어 -) + 내용 : 줄이 넘어가도 내용 시작점에 맞춰 정렬 (여백 숫자 없이 자동) */
.e3 .e4_hang > i {flex-shrink:0; font-style:normal}
.e3 .e4_hang > span {min-width:0}
.e3 .e4_dd_tit {margin:0 0 4px; font-weight:700; color:#111}
.e3 .e4_em {font-weight:700; color:#173f8a}

/* 과목별(수학/영어/국어 …) 묶음 */
.e3 .e4_kv {margin:0; padding:0; list-style:none}
.e3 .e4_kv li {display:grid; grid-template-columns:110px 1fr; gap:14px; padding:12px 16px; background-color:#f5f7fa}
.e3 .e4_kv li + li {margin-top:4px}
.e3 .e4_kv b {font-weight:700; color:#173f8a}

/* 학생복지 같은 짧은 항목 나열 */
.e3 .e4_chip {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none}
.e3 .e4_chip li {padding:6px 14px; border:1px solid #dde3ea; border-radius:4px; background-color:#f5f7fa; font-size:15px}

/* 카드 3개 (국어 1-4학기) */
.e3 .e4_card {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:0; padding:0; list-style:none}
.e3 .e4_card li {padding:24px 22px; border:1px solid #e3e7ec; border-radius:8px; font-size:16px; color:#222; line-height:1.7; word-break:keep-all}
.e3 .e4_card strong {display:block; margin-bottom:10px; font-size:18px; font-weight:700; color:#111}
.e3 .e4_card p {margin:0}
.e3 .e4_card p + p {margin-top:10px}

/* 표 (진도·교재 / 시간표) */
.e3 .e4_scroll {overflow-x:auto}
.e3 .e4_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.e3 .e4_tbl th, .e3 .e4_tbl td {padding:16px 12px; border:1px solid #e5e8ec} /* 글자색은 표에서 물려받음 → .e4_red 가 그대로 적용 */ /* 선은 칸마다 1px 하나로만 (표 윗선·제목 밑줄과 겹치지 않음) */
.e3 .e4_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.e3 .e4_tbl thead th span {display:block; margin-top:2px; font-size:14px; font-weight:500; color:#555}
.e3 .e4_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 항목칸 : 띄어쓰기에서만 줄바꿈 (글자 중간 안 끊김) */
.e3 .e4_hl {margin:8px 0 0; padding:8px 10px; background-color:#fff8d6; font-size:15px; line-height:1.6} /* 학교 시험대비 강조 */
.e3 .e4_eng td {text-align:left} /* 영어 : 교재명 왼쪽, 출판사 가운데 */
.e3 .e4_eng .e4_pub {width:9%; text-align:center; white-space:nowrap}
.e3 .e4_eng .e4_eng_note td {background-color:#fafbfc; font-size:.9em} /* 표 글자보다 조금 작게 (모바일도 비율 그대로) */
.e3 .e4_time {table-layout:fixed; min-width:640px} /* 요일 칸 너비 같게 / 시간표 : 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 (글자 찌그러짐 방지) */
.e3 .e4_time7 {min-width:720px} /* 토요일 포함 7칸 */
.e3 .e4_time thead th:first-child {width:18%}
.e3 .e4_time .e4_break th, .e3 .e4_time .e4_break td {background-color:#f5f7fa; font-size:.9em; color:#333} /* 쉬는 시간 줄 : 표 글자보다 조금 작게 */


@media screen and (max-width:768px) {
	.e3 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.e3 .e4_sec {margin-top:50px}
	.e3 .e4_tit {padding-bottom:12px; font-size:20px}
	.e3 .e4_tit small {display:block; margin:4px 0 0; font-size:14px}
	.e3 .e4_cap {margin:22px 0 8px; font-size:15px}
	.e3 .e4_note {font-size:13px}

	.e3 .e4_row {grid-template-columns:1fr; gap:8px; padding:20px 0}
	.e3 .e4_row dt {font-size:16px}
	.e3 .e4_row dt small {display:inline; margin-left:4px}
	.e3 .e4_row dd {font-size:14px}
	.e3 .e4_kv li {grid-template-columns:1fr; gap:4px; padding:12px 14px}
	.e3 .e4_card {grid-template-columns:1fr; gap:10px}
	.e3 .e4_card li {padding:18px 16px; font-size:14px}

	.e3 .e4_tbl {font-size:13px} /* 모바일 : 표가 화면 폭 안에 다 들어오게 (옆으로 넘치지 않음) */
	.e3 .e4_tbl:not(.e4_time) td {overflow-wrap:anywhere} /* 긴 글만 칸 안에서 줄바꿈 (항목칸 th 는 글자 중간에서 안 끊김) */
	.e3 .e4_tbl th, .e3 .e4_tbl td {padding:9px 5px}
	.e3 .e4_eng thead th:first-child {white-space:nowrap} /* '레벨' 한 줄 */
	.e3 .e4_eng .e4_pub {width:auto; padding:9px 3px; font-size:12px; white-space:nowrap} /* 출판사 한 줄 */
}
/* d3 추가 : c3 고등부 장학제도와 같은 모양 (구역 설명줄 / 조건 → 할인 / 안내 상자) — 크기도 c3 와 같게 */
.e3 .e4_secdesc {margin:16px 0 0; font-size:15px; color:#333; line-height:1.7} /* 제목 아래 설명줄 (c3_desc) */
.e3 .e4_rate {margin:0; padding:0; list-style:none}
.e3 .e4_rate li {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 16px; background-color:#f5f7fa; word-break:keep-all}
.e3 .e4_rate li + li {margin-top:4px}
.e3 .e4_rate span {font-size:15px; color:#222}
.e3 .e4_rate span small {display:block; margin-top:2px; font-size:14px; color:#444} /* 조건 아래 보충 설명 */
.e3 .e4_rate b {flex-shrink:0; font-size:16px; font-weight:700; color:#db050f; text-align:right} /* 할인율 : c3 와 같은 빨간 강조 */
.e3 .e4_desc {margin:0 0 10px; font-size:15px; color:#222}
.e3 .e4_desc small {display:block; margin-top:2px; font-size:14px; color:#444}
.e3 .e4_gap {margin-top:16px; padding-top:16px; border-top:1px solid #d9dee5} /* 두 번째 할인 목록 : 위에 구분선 */
.e3 .e4_box {margin:20px 0 0; padding:18px 22px; border:1px solid #e5e8ec; border-radius:6px; list-style:none; font-size:14px; color:#333; line-height:1.6; word-break:keep-all} /* 안내 상자 : c3_note 와 똑같이 */
.e3 .e4_box li + li {margin-top:4px}
@media screen and (max-width:768px) {
	.e3 .e4_secdesc {font-size:14px}
	.e3 .e4_rate li {flex-direction:column; align-items:flex-start; gap:2px; padding:10px 14px}
	.e3 .e4_rate span {font-size:14px}
	.e3 .e4_rate span small {font-size:13px}
	.e3 .e4_rate b {font-size:15px; text-align:left}
	.e3 .e4_desc {font-size:14px}
	.e3 .e4_desc small {font-size:13px}
	.e3 .e4_box {padding:14px 16px; font-size:13px}
}


/*학원버스 (html/j5.php) : 반별 셔틀버스 고르기 카드 5개 (a6 / b5 / c4 / d6 / e5) — 운행시간·운행 버스(호차) 수는 각 셔틀버스 페이지에서 읽어옴 — .j5 로 따로 묶음*/
.j5 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.j5 .j5_txt {margin:0 0 28px; font-size:16px; color:#555; text-align:center; word-break:keep-all}
.j5 .j5_list {display:grid; grid-template-columns:repeat(6, 1fr); gap:20px; margin:0; padding:0; list-style:none} /* 6칸 중 2칸씩 = 한 줄 3개, 아래 줄 2개는 가운데 */
.j5 .j5_list li {grid-column:span 2; min-width:0}
.j5 .j5_list li:nth-child(4) {grid-column:2 / 4}
.j5 .j5_list li:nth-child(5) {grid-column:4 / 6}
.j5 .j5_list a {display:flex; flex-direction:column; height:100%; padding:34px 32px 0; border:1px solid #e5e8ec; border-radius:8px; background-color:#fff; overflow:hidden; transition:border-color .2s}
.j5 .j5_list a:hover {border-color:#f26a2e}
.j5 .j5_head {display:flex; align-items:center; gap:16px}
.j5 .j5_ico {flex-shrink:0; display:flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background-color:#fff1e8; font-size:30px; color:#f26a2e; transition:background-color .2s, color .2s} /* 메인 탭·주소 검색과 같은 주황 (연한 바탕) */
.j5 .j5_list a:hover .j5_ico {background-color:#f26a2e; color:#fff}
.j5 .j5_name {font-size:24px; font-weight:800; color:#111}

/* 운행시간 : (구분이 있을 때만 작게) + 시각 */
.j5 .j5_time {flex:1; margin:24px 0 0; padding:22px 0 26px; border-top:1px solid #e5e8ec}
.j5 .j5_time div + div {margin-top:12px}
.j5 .j5_time dt {font-size:14px; color:#888}
.j5 .j5_time dd {margin:2px 0 0; font-size:18px; font-weight:600; color:#222; word-break:keep-all}

/* 아래 : 운행 버스 수 | 보기 */
.j5 .j5_btm {display:flex; align-items:center; justify-content:space-between; gap:10px; margin:auto -32px 0; padding:16px 32px; background-color:#f7f8fa; font-size:14px; color:#666}
.j5 .j5_btm em {font-style:normal}
.j5 .j5_btm em b {font-size:16px; font-weight:800; color:#f26a2e}
.j5 .j5_more {display:flex; align-items:center; gap:2px; margin-left:auto; font-weight:600; color:#333}
.j5 .j5_more i {font-size:17px; transition:transform .2s}
.j5 .j5_list a:hover .j5_more {color:#111}
.j5 .j5_list a:hover .j5_more i {transform:translateX(3px)}

@media screen and (max-width:1024px) {
	.j5 .j5_list {grid-template-columns:repeat(2, 1fr)} /* 태블릿 : 2개씩 */
	.j5 .j5_list li, .j5 .j5_list li:nth-child(4), .j5 .j5_list li:nth-child(5) {grid-column:auto}
	.j5 .j5_list li:nth-child(5) {grid-column:1 / -1} /* 마지막 1개는 한 줄 */
}

@media screen and (max-width:768px) {
	.j5 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.j5 .j5_txt {margin-bottom:16px; font-size:14px}
	.j5 .j5_list {grid-template-columns:1fr; gap:10px}
	.j5 .j5_list li:nth-child(5) {grid-column:auto}
	.j5 .j5_list a {padding:20px 18px 0}
	.j5 .j5_head {gap:12px}
	.j5 .j5_ico {width:46px; height:46px; font-size:23px}
	.j5 .j5_name {font-size:19px}
	.j5 .j5_time {margin-top:16px; padding:14px 0 16px}
	.j5 .j5_time div + div {margin-top:8px}
	.j5 .j5_time dt {font-size:13px}
	.j5 .j5_time dd {font-size:15px}
	.j5 .j5_btm {margin:0 -18px; padding:12px 18px; font-size:13px}
	.j5 .j5_btm em b {font-size:15px}
}


/*오시는길 (html/j6.php) : 지도(직접 넣음) + 아래 정보 띠(학원명 | 도로명·지번·대표번호 | 네이버·카카오 버튼) — .j6 로 따로 묶음*/
.j6 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.j6 .j6_map {background-color:#f1f3f6} /* 지도 넣는 곳 (넣기 전에는 높이 0 이라 안 보임) */
.j6 .j6_map iframe, .j6 .j6_map img {display:block; width:100%; max-width:100%; border:0}

/* 정보 띠 : 위 진한 선 + 3칸 (학원명 / 주소·전화 / 버튼) */
.j6 .j6_info {display:grid; grid-template-columns:300px 1fr auto; align-items:center; gap:40px; padding:36px 0; border-top:2px solid #222; border-bottom:1px solid #e5e8ec}
.j6 .j6_name h3 {margin:0; font-size:24px; font-weight:800; color:#111}
.j6 .j6_name p {margin:8px 0 0; font-size:14px; color:#666; word-break:keep-all}
.j6 .j6_name b {font-weight:600; color:#111}
.j6 .j6_list {margin:0; padding:0 0 0 40px; border-left:1px solid #e5e8ec}
.j6 .j6_list > div {display:flex; align-items:center; gap:20px}
.j6 .j6_list > div + div {margin-top:12px}
.j6 .j6_list dt {flex-shrink:0; width:70px; font-size:15px; font-weight:600; color:#888}
.j6 .j6_list dd {display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:0; font-size:17px; font-weight:500; color:#111; word-break:keep-all}
.j6 .j6_tel {font-size:20px; font-weight:800; color:#111}
.j6 .j6_tel:hover {text-decoration:underline; text-underline-offset:.2em}
.j6 .j6_copy {padding:5px 10px; border:1px solid #ccc; border-radius:4px; background-color:#fff; font-size:12px; font-weight:500; color:#555; cursor:pointer}
.j6 .j6_copy:hover {border-color:#111; color:#111}
.j6 .j6_copy.on {border-color:#173f8a; color:#173f8a} /* 복사됨 */

/* 지도 앱 버튼 : 각 서비스 색 (네이버 초록 / 카카오 노랑) */
.j6 .j6_btns {display:flex; flex-direction:column; gap:8px}
.j6 .j6_btn {display:flex; align-items:center; justify-content:space-between; gap:20px; min-width:190px; padding:14px 18px; border-radius:4px; font-size:15px; font-weight:700; transition:background-color .2s}
.j6 .j6_btn i {font-size:18px; transition:transform .2s}
.j6 .j6_btn:hover i {transform:translateX(3px)}
.j6 .j6_naver {background-color:#03c75a; color:#fff}
.j6 .j6_naver:hover {background-color:#02b350}
.j6 .j6_kakao {background-color:#fee500; color:#191919}
.j6 .j6_kakao:hover {background-color:#f2d900}

@media screen and (max-width:1024px) {
	.j6 .j6_info {grid-template-columns:1fr auto; gap:30px}
	.j6 .j6_name {grid-column:1 / -1}
	.j6 .j6_list {padding-left:0; border-left:0}
}

@media screen and (max-width:768px) {
	.j6 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.j6 .j6_map iframe {height:300px} /* 모바일 : 지도 높이 줄임 */
	.j6 .j6_info {grid-template-columns:1fr; gap:24px; padding:26px 0}
	.j6 .j6_name h3 {font-size:20px}
	.j6 .j6_name p {font-size:13px}
	.j6 .j6_list > div {align-items:flex-start; gap:12px}
	.j6 .j6_list dt {width:60px; padding-top:2px; font-size:13px}
	.j6 .j6_list dd {font-size:15px}
	.j6 .j6_tel {font-size:18px}
	.j6 .j6_btns {flex-direction:row}
	.j6 .j6_btn {flex:1; min-width:0; padding:13px 14px; font-size:14px}
}


/*수강료 안내 (html/l1.php) : 구역 · 표마다 클래스 따로 (l1_1 ~ l1_7) — 한 곳을 고쳐도 다른 표는 안 바뀜*/
.l1 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */

/* 재수정규반 (l1_1) */
.l1_1_tit {margin:0 0 16px; font-size:25px; font-weight:800; color:#111}
.l1_1_desc {margin:-6px 0 14px; font-size:15px; color:#e02020; word-break:keep-all} /* 빨간 설명 */
.l1_1_scroll {overflow-x:auto}
.l1_1_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.l1_1_tbl th {padding:16px 12px; border:1px solid #e5e8ec}
.l1_1_tbl td {padding:16px 12px; border:1px solid #e5e8ec}
.l1_1_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111} /* 맨 위 제목 줄 */
.l1_1_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 왼쪽 제목 칸 */
.l1_1_red {color:#e02020} /* 선택수업 */
.l1_1_note {margin:16px 0 0; padding:0; list-style:none; font-size:15px; color:#555; word-break:keep-all}
.l1_1_note > li {position:relative; padding-left:12px; line-height:1.7}
.l1_1_note > li:before {content:''; position:absolute; left:0; top:.8em; width:4px; height:4px; border-radius:50%; background-color:#999} /* 점 */
.l1_1_sub {margin:0; padding:0; list-style:none} /* 퍼플반 · 종합반 아래 환불 */
.l1_1_sub > li {position:relative; padding-left:14px; line-height:1.7; color:#777}
.l1_1_sub > li:before {content:''; position:absolute; left:0; top:.85em; width:7px; height:1px; background-color:#aaa} /* 짧은 줄 */

/* 고등부 (l1_2) */
.l1_2 {margin-top:90px} /* 위 구역과 사이 */
.l1_2_tit {margin:0 0 16px; font-size:25px; font-weight:800; color:#111}
.l1_2_scroll {overflow-x:auto}
.l1_2_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.l1_2_tbl th {padding:16px 12px; border:1px solid #e5e8ec}
.l1_2_tbl td {padding:16px 12px; border:1px solid #e5e8ec}
.l1_2_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111} /* 맨 위 제목 줄 */
.l1_2_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 왼쪽 제목 칸 */

/* 윈터수강료 (l1_3) */
.l1_3 {margin-top:90px} /* 위 구역과 사이 */
.l1_3_tit {margin:0 0 16px; font-size:25px; font-weight:800; color:#111}
.l1_3_scroll {overflow-x:auto}
.l1_3_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.l1_3_tbl th {padding:16px 12px; border:1px solid #e5e8ec}
.l1_3_tbl td {padding:16px 12px; border:1px solid #e5e8ec}
.l1_3_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111} /* 맨 위 제목 줄 */
.l1_3_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 왼쪽 제목 칸 */
.l1_3_note {margin:16px 0 0; padding:0; list-style:none; font-size:15px; color:#555; word-break:keep-all}
.l1_3_note > li {position:relative; padding-left:12px; line-height:1.7}
.l1_3_note > li:before {content:''; position:absolute; left:0; top:.8em; width:4px; height:4px; border-radius:50%; background-color:#999} /* 점 */

/* 초, 중등부 (l1_4) */
.l1_4 {margin-top:90px} /* 위 구역과 사이 */
.l1_4_tit {margin:0 0 16px; font-size:25px; font-weight:800; color:#111}
.l1_4_scroll {overflow-x:auto}
.l1_4_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.l1_4_tbl th {padding:16px 12px; border:1px solid #e5e8ec}
.l1_4_tbl td {padding:16px 12px; border:1px solid #e5e8ec}
.l1_4_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111} /* 맨 위 제목 줄 */
.l1_4_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 왼쪽 제목 칸 */

/* 고3 시수 & 수강료 (l1_5) */
.l1_5 {margin-top:90px} /* 위 구역과 사이 */
.l1_5_tit {margin:0 0 16px; font-size:25px; font-weight:800; color:#111}
.l1_5_desc {margin:-6px 0 14px; font-size:15px; color:#555; word-break:keep-all}
.l1_5_scroll {overflow-x:auto}
.l1_5_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.l1_5_tbl th {padding:16px 12px; border:1px solid #e5e8ec}
.l1_5_tbl td {padding:16px 12px; border:1px solid #e5e8ec}
.l1_5_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111} /* 맨 위 제목 줄 */
.l1_5_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 왼쪽 제목 칸 */
.l1_5_strong td {font-weight:700; color:#111} /* 할인 전 금액 줄 굵게 */

/* 고1 프리윈터 / 고3 2월 (l1_6) */
.l1_6 {margin-top:90px} /* 위 구역과 사이 */
.l1_6_tit {margin:0 0 16px; font-size:25px; font-weight:800; color:#111}
.l1_6_scroll {overflow-x:auto}
.l1_6_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.l1_6_tbl th {padding:16px 12px; border:1px solid #e5e8ec}
.l1_6_tbl td {padding:16px 12px; border:1px solid #e5e8ec}
.l1_6_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111} /* 맨 위 제목 줄 */
.l1_6_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 왼쪽 제목 칸 */

/* 고3 하이퍼플 시수 & 이용료 (l1_7) */
.l1_7 {margin-top:90px} /* 위 구역과 사이 */
.l1_7_tit {margin:0 0 16px; font-size:25px; font-weight:800; color:#111}
.l1_7_scroll {overflow-x:auto}
.l1_7_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; word-break:keep-all}
.l1_7_tbl th {padding:16px 12px; border:1px solid #e5e8ec}
.l1_7_tbl td {padding:16px 12px; border:1px solid #e5e8ec}
.l1_7_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111} /* 맨 위 제목 줄 */
.l1_7_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111} /* 왼쪽 제목 칸 */
.l1_7_gap th {border-top:2px solid #d9dee5} /* 아래 묶음 구분선 */
.l1_7_gap td {border-top:2px solid #d9dee5}

@media screen and (max-width:768px) {
	.l1 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */

	/* 재수정규반 */
	.l1_1_tit {margin-bottom:12px; font-size:20px}
	.l1_1_desc {font-size:13px}
	.l1_1_tbl {min-width:560px; font-size:13px} /* 좁은 화면은 표 안에서 좌우로 밀어서 보기 */
	.l1_1_tbl th {padding:9px 6px}
	.l1_1_tbl td {padding:9px 6px}
	.l1_1_note {margin-top:12px; font-size:13px}

	/* 고등부 */
	.l1_2 {margin-top:44px}
	.l1_2_tit {margin-bottom:12px; font-size:20px}
	.l1_2_tbl {min-width:560px; font-size:13px} /* 좁은 화면은 표 안에서 좌우로 밀어서 보기 */
	.l1_2_tbl th {padding:9px 6px}
	.l1_2_tbl td {padding:9px 6px}

	/* 윈터수강료 */
	.l1_3 {margin-top:44px}
	.l1_3_tit {margin-bottom:12px; font-size:20px}
	.l1_3_tbl {min-width:560px; font-size:13px} /* 좁은 화면은 표 안에서 좌우로 밀어서 보기 */
	.l1_3_tbl th {padding:9px 6px}
	.l1_3_tbl td {padding:9px 6px}
	.l1_3_note {margin-top:12px; font-size:13px}

	/* 초, 중등부 */
	.l1_4 {margin-top:44px}
	.l1_4_tit {margin-bottom:12px; font-size:20px}
	.l1_4_tbl {min-width:560px; font-size:13px} /* 좁은 화면은 표 안에서 좌우로 밀어서 보기 */
	.l1_4_tbl th {padding:9px 6px}
	.l1_4_tbl td {padding:9px 6px}

	/* 고3 시수 & 수강료 */
	.l1_5 {margin-top:44px}
	.l1_5_tit {margin-bottom:12px; font-size:20px}
	.l1_5_desc {font-size:13px}
	.l1_5_tbl {min-width:560px; font-size:13px} /* 좁은 화면은 표 안에서 좌우로 밀어서 보기 */
	.l1_5_tbl th {padding:9px 6px}
	.l1_5_tbl td {padding:9px 6px}

	/* 고1 프리윈터 / 고3 2월 */
	.l1_6 {margin-top:44px}
	.l1_6_tit {margin-bottom:12px; font-size:20px}
	.l1_6_tbl {min-width:560px; font-size:13px} /* 좁은 화면은 표 안에서 좌우로 밀어서 보기 */
	.l1_6_tbl th {padding:9px 6px}
	.l1_6_tbl td {padding:9px 6px}

	/* 고3 하이퍼플 시수 & 이용료 */
	.l1_7 {margin-top:44px}
	.l1_7_tit {margin-bottom:12px; font-size:20px}
	.l1_7_tbl {min-width:560px; font-size:13px} /* 좁은 화면은 표 안에서 좌우로 밀어서 보기 */
	.l1_7_tbl th {padding:9px 6px}
	.l1_7_tbl td {padding:9px 6px}
}


/*환불 안내 (html/l2.php) : 환불 방법 + 교습비 등 반환기준 표 (예전 8020 이미지를 코드로) — .l2 로 따로 묶음*/
.l2 {max-width:1200px; margin:0 auto; padding:60px 0 120px} /* 좌우 여백은 부모 요소에 있음 */
.l2 .l2_sec + .l2_sec {margin-top:90px}
.l2 .l2_tit {margin:0 0 16px; font-size:25px; font-weight:800; color:#111}
.l2 .l2_tit small {margin-left:6px; font-size:16px; font-weight:500; color:#555}
.l2 .l2_ls {margin:0; padding:20px 0; border-top:1px solid #e5e8ec; border-bottom:1px solid #e5e8ec; list-style:none}
.l2 .l2_ls li {font-size:16px; line-height:1.7; color:#222; word-break:keep-all}
.l2 .l2_ls li + li {margin-top:6px}
.l2 .l2_scroll {overflow-x:auto}
.l2 .l2_tbl {width:100%; border-collapse:collapse; font-size:16px; color:#222; text-align:center; line-height:1.6; word-break:keep-all}
.l2 .l2_tbl th, .l2 .l2_tbl td {padding:16px 14px; border:1px solid #e5e8ec} /* 선은 칸마다 1px 하나로만 */
.l2 .l2_tbl thead th {background-color:#f5f7fa; font-weight:700; color:#111}
.l2 .l2_tbl tbody th {background-color:#fafbfc; font-weight:700; color:#111}
.l2 .l2_tbl thead th:first-child {width:36%}
.l2 .l2_tbl thead th:nth-child(2) {width:24%}
.l2 .l2_tbl .l2_left {text-align:left}
.l2 .l2_note {margin:14px 0 0; padding:0; list-style:none}
.l2 .l2_note li {font-size:15px; line-height:1.7; color:#555; word-break:keep-all}

@media screen and (max-width:768px) {
	.l2 {padding:24px 0 50px} /* 모바일 좌우 여백은 부모 요소에 있음 */
	.l2 .l2_sec + .l2_sec {margin-top:44px}
	.l2 .l2_tit {margin-bottom:12px; font-size:20px}
	.l2 .l2_tit small {display:block; margin:4px 0 0; font-size:14px}
	.l2 .l2_ls {padding:16px 0}
	.l2 .l2_ls li {font-size:14px}
	.l2 .l2_tbl {min-width:620px; font-size:13px} /* 모바일 : 칸이 많아 한두 글자씩 줄바뀜 → 이 폭보다 좁은 화면은 표 안에서 좌우로 밀어서 보기 */
	.l2 .l2_tbl th, .l2 .l2_tbl td {padding:9px 8px}
	.l2 .l2_note li {font-size:13px}
}
