@charset "utf-8";

/* ==========================================================================
   s4.css — 충치치료 서브페이지 전용 스타일
   --------------------------------------------------------------------------
   - 색상 팔레트는 default.css / s1.css / s3.css 와 동일
     (#1c4103 진한그린 / #2c4f15 메인그린 / #8b9e70 세이지 / #5c7f3a accent
      / #f4f3ee 베이지)
   - 시안(★m_충치치료 시안.jpg)은 모바일형 1컬럼. 콘텐츠 최대폭 850px 기준.
   ========================================================================== */

/* 팝업 */
.pop_wrap{position:absolute;top:0;left:10px;width:auto;height:auto;background:transparent;display:flex;align-items:flex-start;justify-content:center;gap:10px;z-index:100;flex-wrap:wrap;}
.pop_wrap .pop02{width:550px;height:635px;background:#fff;flex:0 0 auto;}
.pop_wrap .sub_popup{width:490px;         /* 기존 wrap 폭과 동일하게 */background:#fff;flex:0 0 auto;}
.pop_wrap .pop02 img{width:100%;display:block;}
.pop_wrap .sub_footer{padding: 0;background:#000;color:#fff;text-align:left;position:relative;font-size:13px;}
.pop_wrap .sub_footer button {padding: 10px;border:0;color:#fff}
.pop_wrap .sub_footer .pop02_reject{background:#000;text-align:left}
.pop_wrap .sub_footer .pop02_close{background:#393939;position:absolute;top:0;right:0}



@media (max-width:768px){
.pop_wrap .pop02{width:95%;height:auto;background:#fff;flex:0 0 auto;margin: 0 auto;left:0;}

}



/* 공통 컨테이너 */
.s4_wrap { max-width:850px; margin:0 auto; background:#fff; color:#222; word-break:keep-all; }
.s4_wrap * { box-sizing:border-box; }
.s4_wrap img { max-width:100%; display:block; }

/* 섹션 공통 타이틀 */
.s4_sec_label { margin:0 0 10px; font-size:14px; font-weight:600; color:#8b9e70; letter-spacing:0.3px; }
.s4_sec_tit { margin:0 0 14px; font-size:26px; font-weight:800; line-height:1.35; letter-spacing:-1px; color:#222; }
.s4_sec_tit .pt { color:#5c7f3a; }


/* ===== 1. 히어로 ===== */
.s4_hero { background:#F4F6F1; padding:46px 24px 50px; }
.s4_hero_badge { display:inline-block; margin-bottom:22px; padding:8px 18px; border-radius:20px;
	background:#2c4f15; color:#fff; font-size:14px; font-weight:700; }
.s4_hero_tit { margin:0 0 22px; font-size:30px; font-weight:800; line-height:1.3; letter-spacing:-1px; color:#222; }
.s4_hero_tit b { color:#1c4103; }
.s4_hero_tit .pt { color:#5c7f3a; }
.s4_hero_desc { margin:0 0 30px; font-size:16px; font-weight:400; line-height:1.7; color:#555; }

.s4_hero_badges { margin:0; padding:24px 22px; list-style:none; border-radius:16px; background:#2c4f15; }
.s4_hero_badges li { display:flex; align-items:center; gap:12px; padding:10px 0;
	font-size:16px; font-weight:600; color:#fff; }
.s4_hero_badges li i { width:22px; font-size:18px; color:#b6c79a; text-align:center; }


/* ===== 2. 선택하는 이유 ===== */
.s4_reason { padding:54px 24px 50px; background:#F4F6F1;}
.s4_reason .s4_sec_label { text-align:left; }
.s4_reason .s4_sec_tit { margin-bottom:30px; }

.s4_grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.s4_card { background:#f4f3ee; border-radius:18px; padding:26px 22px; }

.s4_card--wide { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:14px; background:#fff;}
.s4_wide_txt .s4_sub { margin:0; font-size:14px; font-weight:500; color:#7a7a6a; }
.s4_wide_txt .s4_big { margin:6px 0; font-size:26px; font-weight:800; line-height:1.25; color:#1c4103; }
.s4_wide_txt .s4_big .accent { color:; }
.s4_wide_img { flex:0 0 120px; }
.s4_wide_img img { width:120px; height:auto; margin-left:auto; }

.s4_card--text { display:flex; flex-direction:column; justify-content:center; text-align:center; min-height:150px; background:#fff;}
.s4_card--text .s4_cap { margin:0 0 10px; font-size:14px; font-weight:500; line-height:1.5; color:#777; }
.s4_card--text .s4_point { margin:0; font-size:24px; font-weight:800; color:#1c4103; }
.s4_card--text .s4_point .accent { color:; }
.s4_card--text .s4_ico { margin-top:10px; font-size:26px; color:#8b9e70; }

.s4_card--photo { padding:0; overflow:hidden; background:#fff;}
.s4_card--photo .s4_cap { margin:0; padding:22px 22px 14px; font-size:15px; font-weight:600; line-height:1.45; color:#333; }
.s4_card--photo .s4_photo img { width:100%; height:170px; object-fit:cover; }


/* ===== 3. 충치 걱정 FAQ ===== */
.s4_worry { padding:54px 24px 50px; background:#f7f7f4; }
.s4_worry_tit { margin:0 0 10px; font-size:26px; font-weight:800; line-height:1.35; letter-spacing:-1px; color:#222; }
.s4_worry_sub { margin:0 0 30px; font-size:15px; color:#8b9e70; font-weight:600; }
.s4_worry_list { display:flex; flex-direction:column; gap:14px; }
.s4_worry_card { padding:24px 22px; border-radius:16px; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.04); }
.s4_worry_q { display:flex; align-items:flex-start; gap:8px; margin:0 0 12px; font-size:16px; font-weight:700; color:#333; }
.s4_worry_a { display:flex; align-items:flex-start; gap:8px; margin:0; font-size:14px; line-height:1.65; color:#5c7f3a; font-weight:500; }
.s4_worry_q .emj, .s4_worry_a .emj { flex:0 0 auto; }


/* ===== 4. 전후 X-ray 케이스 (진한그린) ===== */
.s4_case_head { padding:54px 24px 10px; background:#1c4103; text-align:center; }
.s4_case_tit { margin:0 0 14px; font-size:26px; font-weight:800; line-height:1.35; letter-spacing:-1px; color:#fff; }
.s4_case_desc { margin:0; font-size:15px; line-height:1.7; color:#b6c79a; }

.s4_case { padding:24px 24px 50px; background:#1c4103; }
.s4_case .swiper { padding-bottom:10px; }
.s4_case_item { text-align:center; }
.s4_case_label { display:inline-block; margin:0 auto 14px; padding:7px 18px; border-radius:18px;
	background:#5c7f3a; color:#fff; font-size:15px; font-weight:700; text-align:center; }
.s4_case_sub { margin:0 0 16px; font-size:14px; color:#cdd6bc; }
.s4_xray { display:flex; flex-direction:column; gap:14px; }
.s4_xray_pic { position:relative; border-radius:14px; overflow:hidden; background:#000; }
.s4_xray_pic img { width:100%; height:auto; }
.s4_xray_pic span { position:absolute; left:50%; bottom:14px; transform:translateX(-50%);
	padding:6px 20px; border-radius:18px; font-size:14px; font-weight:700; color:#fff; }
.s4_xray_pic--before span { background:rgba(40,40,40,.85); }
.s4_xray_pic--after span { background:#2c4f15; }
.s4_case_caption { margin:16px 0 0; font-size:15px; font-weight:700; color:#cfe0a8; }
.s4_case .swiper-pagination { position:static; margin-top:18px; }
.s4_case .swiper-pagination-bullet { background:#cdd6bc; opacity:.5; }
.s4_case .swiper-pagination-bullet-active { background:#fff; opacity:1; }


/* ===== 5. 인용 블록 (세이지) ===== */
.s4_quote { padding:50px 24px; background:#8b9e70; text-align:center; }
.s4_quote_txt { margin:0 0 26px; font-size:22px; font-weight:800; line-height:1.5; color:#fff; }
.s4_quote_btn { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:30px;
	border:1px solid #fff; background:transparent; color:#fff; font-size:15px; font-weight:700; transition:.2s; }
.s4_quote_btn:hover { background:#fff; color:#2c4f15; }


/* ===== 6. 증상 아이콘 리스트 ===== */
.s4_symptom { padding:54px 24px 50px; background:#fff; }
.s4_symptom_tit { margin-bottom:8px; }
.s4_symptom_sub { margin:0 0 30px; font-size:15px; color:#8b9e70; font-weight:600; }
.s4_symptom_list { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px; }
.s4_symptom_list li { display:flex; align-items:flex-start; gap:16px; padding:22px 22px;
	border-radius:16px; background:#f4f3ee; }
.s4_symptom_ico { flex:0 0 46px; display:flex; align-items:center; justify-content:center;
	width:46px; height:46px; border-radius:50%; border:2px solid #5c7f3a; color:#5c7f3a; font-size:20px; }
.s4_symptom_txt b { display:block; margin:0 0 6px; font-size:17px; font-weight:800; color:#1c4103; }
.s4_symptom_txt p { margin:0; font-size:14px; line-height:1.65; color:#666; }


/* ===== 7. 충치 진행 단계 (베이지, watermark 숫자) ===== */
.s4_stage { padding:54px 24px 50px; background:#f4f3ee; text-align:center; }
.s4_stage_ico { margin:0 0 14px; font-size:34px; color:#8b9e70; }
.s4_stage_label { margin:0 0 8px; font-size:15px; font-weight:600; color:#8b9e70; }
.s4_stage_tit { margin-bottom:30px; }

.s4_stage_list { margin:0 0 30px; padding:0; list-style:none; display:flex; flex-direction:column; gap:16px; }
.s4_stage_card { position:relative; overflow:hidden; padding:30px 24px 26px; border-radius:18px;
	background:#fff; text-align:left; box-shadow:0 4px 14px rgba(0,0,0,.04); }
.s4_stage_num { position:absolute; right:14px; top:0; font-size:120px; font-weight:800;
	line-height:1; color:rgba(139,158,112,.10); font-family:"Arial",sans-serif; pointer-events:none; }
.s4_stage_pic { width:150px; margin:0 auto 18px; }
.s4_stage_pic img { width:100%; height:auto; }
.s4_stage_name { display:block; margin:0 0 8px; font-size:20px; font-weight:800; color:#1c4103; }
.s4_stage_desc { margin:0 0 16px; font-size:14px; line-height:1.65; color:#666; }
.s4_stage_tags { display:flex; flex-wrap:wrap; gap:8px; }
.s4_stage_tags span { display:inline-flex; align-items:center; gap:5px; padding:7px 12px; border-radius:8px;
	background:#2c4f15; color:#fff; font-size:12px; font-weight:600; }
.s4_stage_tags span i { color:#b6c79a; }

.s4_stage_btn { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:30px;
	border:1px solid #2c4f15; background:#fff; color:#2c4f15; font-size:15px; font-weight:700; transition:.2s; }
.s4_stage_btn:hover { background:#2c4f15; color:#fff; }


/* ===== 8. 3D 디지털 장비 ===== */
.s4_digital { padding:54px 24px 50px; background:#fff; }
.s4_digital_desc { margin:0 0 28px; font-size:15px; line-height:1.7; color:#777; }
.s4_digital_equip { position:relative; margin-bottom:30px; border-radius:16px; overflow:hidden; background:#eef0ea; }
.s4_digital_equip img { width:100%; height:auto; }
.s4_equip_tag { position:absolute; padding:6px 12px; border-radius:8px; font-size:13px; font-weight:700; color:#fff; }
.s4_equip_tag--ct { top:18%; right:6%; background:rgba(28,65,3,.9); }
.s4_equip_tag--scan { bottom:10%; right:6%; background:rgba(92,127,58,.92); }

/* 흰배경 테두리 feature 카드 (s3_care_list 라이트 버전) */
.s4_feature { margin:0; padding:0; list-style:none; }
.s4_feature li { margin-bottom:14px; padding:24px 20px; border:1px solid #dfe3d6;
	border-radius:18px; text-align:center; background:#fff; }
.s4_feature li:last-child { margin-bottom:0; }
.s4_feature b { display:block; margin-bottom:8px; font-size:18px; font-weight:800; line-height:1.4; color:#1c4103; }
.s4_feature span { font-size:14px; line-height:1.6; color:#777; }


/* ===== 9. 진행 과정 (베이지, watermark 숫자) ===== */
.s4_process { padding:54px 24px 50px; background:#f4f3ee; text-align:center; }
.s4_process_ico { margin:0 0 14px; font-size:36px; color:#5c7f3a; }
.s4_process_tit { margin-bottom:8px; }
.s4_process_sub { margin:0 0 30px; font-size:15px; line-height:1.6; color:#777; }

.s4_process_list { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:16px; }
.s4_process_card { position:relative; overflow:hidden; padding:26px 24px; border-radius:18px;
	background:#fff; text-align:left; box-shadow:0 4px 14px rgba(0,0,0,.04); }
.s4_process_num { position:absolute; right:16px; top:-6px; font-size:96px; font-weight:800;
	line-height:1; color:rgba(139,158,112,.10); font-family:"Arial",sans-serif; pointer-events:none; }
.s4_process_name { display:block; margin:0 0 10px; font-size:19px; font-weight:800; color:#1c4103; }
.s4_process_desc { margin:0 0 14px; font-size:14px; line-height:1.65; color:#666; }
.s4_process_tags span { display:inline-flex; align-items:center; gap:5px; padding:7px 12px; border-radius:8px;
	background:#2c4f15; color:#fff; font-size:12px; font-weight:600; }
.s4_process_tags span i { color:#b6c79a; }


/* ===== 10. 공간 ===== */
.s4_space { padding:54px 24px 50px; background:#fff; }
.s4_space_tit { margin:0 0 12px; font-size:26px; font-weight:800; line-height:1.35; letter-spacing:-1px; color:#222; }
.s4_space_desc { margin:0 0 28px; font-size:15px; line-height:1.7; color:#777; }
.s4_space_photos { display:flex; flex-direction:column; gap:18px; }
.s4_space_photos figure { margin:0; border-radius:16px; overflow:hidden; background:#eef0ea; }
.s4_space_photos img { width:100%; height:auto; }


/* ===== 11. 치아 관리 팁 (아코디언형) ===== */
.s4_tips { padding:54px 24px 50px; background:#fff; text-align:center; }
.s4_tips_ico { margin:0 0 14px; font-size:34px; color:#5c7f3a; }
.s4_tips_tit { margin-bottom:8px; }
.s4_tips_sub { margin:0 0 26px; font-size:15px; color:#8b9e70; font-weight:600; }

.s4_tips_list { margin:0; padding:0; list-style:none; text-align:left; border-top:1px solid #eee; }
.s4_tips_list li { padding:22px 4px; border-bottom:1px solid #eee; }
.s4_tips_q { display:flex; align-items:center; margin:0 0 10px; font-size:16px; font-weight:700; color:#222; }
.s4_tips_no { flex:0 0 auto; margin-right:14px; font-size:15px; font-weight:800; color:#5c7f3a; }
.s4_tips_q i { margin-left:auto; color:#bbb; font-size:18px; }
.s4_tips_a { margin:0; padding-left:36px; font-size:14px; line-height:1.7; color:#666; }


/* ===== 12. 상담 신청 (그린 폼) ===== */
.s4_form { background:#8b9e70; color:#fff; padding:54px 24px 50px; }
.s4_form_label { margin:0 0 14px; font-size:16px; font-weight:600; color:#f0f2ea; }
.s4_form_tit { margin:0 0 26px; font-size:26px; font-weight:800; letter-spacing:-1px; color:#fff; }
.s4_form_lead { margin:0 0 22px; font-size:24px; font-weight:800; line-height:1.4; color:#fff; }
.s4_form_desc { margin:0 0 32px; font-size:15px; line-height:1.7; color:#f0f2ea; }

.s4_field { margin-bottom:18px; }
.s4_field label { display:block; margin-bottom:10px; font-size:15px; font-weight:600; color:#fff; }
.s4_field input[type="text"] { width:100%; height:54px; padding:0 18px; border:0; border-radius:30px;
	background:#fff; font-size:15px; color:#222; }
.s4_field input[type="text"]::placeholder { color:#aaa; }
.s4_field input[type="text"]:focus { outline:2px solid #2c4f15; }
.s4_form_submit { display:inline-flex; align-items:center; gap:8px; margin-top:6px; padding:14px 30px;
	border:1px solid #fff; border-radius:30px; background:transparent; color:#fff;
	font-size:16px; font-weight:700; cursor:pointer; transition:.2s; }
.s4_form_submit:hover { background:#fff; color:#2c4f15; }
.s4_form_agree { display:flex; align-items:center; gap:8px; margin-top:18px; font-size:13px; color:#f0f2ea; }
.s4_form_agree a { color:#fff; text-decoration:underline; }


/* ===== 13. 푸터 정보 (진한그린) ===== */
.s4_info { background:#1c4103; color:#dfe4d6; padding:50px 24px 40px; }

.s4_logo { text-align:center; margin-bottom:38px; }
.s4_logo img { width:130px; margin:0 auto; }

.s4_block { margin-bottom:34px; }
.s4_block_tit { margin:0 0 18px; font-size:17px; font-weight:700; color:#fff; }
.s4_block_tit i { margin-right:7px; color:#b6c79a; }

.s4_hours { margin:0; }
.s4_hours > div { display:flex; align-items:flex-end; justify-content:space-between;
	padding:13px 4px; border-bottom:1px solid rgba(255,255,255,.12); }
.s4_hours dt { font-size:15px; font-weight:500; color:#cdd6bc; }
.s4_hours dd { margin:0; font-size:15px; font-weight:600; color:#fff; text-align:right; }
.s4_hours_note { display:block; font-size:12px; font-weight:400; color:#b6c79a; }

.s4_notice { margin:0 0 16px; padding:16px; border:1px solid rgba(255,255,255,.3);
	border-radius:12px; text-align:center; font-size:15px; font-weight:600; color:#fff; }

.s4_callbox { display:flex; align-items:center; justify-content:center; gap:16px;
	margin-bottom:40px; padding:18px; border:1px solid rgba(255,255,255,.3); border-radius:12px; color:#fff; }
.s4_callbox_label { font-size:15px; font-weight:500; color:#cdd6bc; }
.s4_callbox_num { font-size:24px; font-weight:800; letter-spacing:0.5px; }

.s4_addr { margin:0 0 16px; font-size:14px; font-weight:400; line-height:1.65; color:#cdd6bc; }
.s4_map_btns { display:flex; gap:10px; margin-bottom:18px; }
.s4_map_btn { flex:1; display:flex; align-items:center; justify-content:center; gap:7px;
	height:44px; border:1px solid rgba(255,255,255,.25); border-radius:24px;
	background:rgba(255,255,255,.06); font-size:14px; font-weight:600; color:#fff; }
.s4_map_btn img { width:18px; height:18px; }
.s4_photo { border-radius:14px; overflow:hidden; background:#2c4f15; }
.s4_photo img { width:100%; height:auto; }

.s4_park { margin-top:18px; padding:18px 20px; background:rgba(255,255,255,.06); border-radius:12px; }
.s4_park_head { margin:0 0 10px; font-size:15px; font-weight:700; color:#fff; }
.s4_park_tag { display:inline-block; margin-right:6px; padding:4px 10px; border-radius:6px;
	background:#fee500; color:#1c4103; font-size:13px; font-weight:700; }
.s4_park_list { margin:0; padding:0; list-style:none; }
.s4_park_list li { position:relative; padding-left:12px; margin-top:6px; font-size:13px; color:#cdd6bc; }
.s4_park_list li::before { content:"*"; position:absolute; left:0; color:#b6c79a; }
.s4_park_desc { margin:18px 0 0; font-size:13px; line-height:1.7; color:#b6c79a; }

.s4_channels { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:40px; }
.s4_ch { display:flex; flex-direction:column; align-items:center; gap:12px;
	padding:30px 12px; border:1px solid rgba(255,255,255,.14); border-radius:16px;
	background:rgba(255,255,255,.04); transition:.2s; }
.s4_ch:hover { background:rgba(255,255,255,.1); }
.s4_ch_ico { font-size:30px; color:#fff; }
.s4_ch_txt { font-size:14px; font-weight:600; color:#dfe4d6; }

.s4_foot { margin-top:46px; padding-top:30px; border-top:1px solid rgba(255,255,255,.14); }
.s4_foot_nav { margin:0 0 24px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:14px; font-size:13px; }
.s4_foot_nav li { position:relative; color:#cdd6bc; }
.s4_foot_nav li + li::before { content:"|"; position:absolute; left:-9px; color:rgba(255,255,255,.3); }
.s4_foot_logo img { width:170px; margin:0 0 18px; }
.s4_foot_biz { margin:0; font-size:13px; line-height:1.9; color:#b6c79a; }
.s4_foot_copy { margin:20px 0 0; font-size:12px; color:#8a9b6e; letter-spacing:0.2px; }


/* ===== 600px 이하 미세 조정 ===== */
@media (max-width:600px){
	.s4_sec_tit, .s4_hero_tit, .s4_worry_tit, .s4_space_tit, .s4_form_tit, .s4_case_tit { font-size:24px; }
	.s4_hero_tit { font-size:26px; }
	.s4_grid { gap:10px; }
	.s4_card { padding:20px 16px; }
	.s4_card--wide { flex-direction:column; align-items:flex-start; }
	.s4_wide_img { flex:none; }
	.s4_wide_img img { margin:0; }
	.s4_card--text { min-height:120px; }
	.s4_card--text .s4_point { font-size:21px; }
	.s4_quote_txt { font-size:19px; }
	.s4_callbox_num { font-size:21px; }
	.s4_stage_num { font-size:96px; }
}
