@charset "utf-8";
/* 지음의 특별함(0201~0204) 본문 HTML — 2026-10-22
   통이미지(1920 폭)를 그대로 축소하듯 --u(=1920 기준 1px) 단위로 맞춤. 모바일(≤768)은 750 기준 --m 단위. */

.jsg2, .jsg2_top { --u: calc(min(100vw, 1920px) / 1920); font-family: 'Noto Sans KR', sans-serif; color: #000; letter-spacing: -1px; word-break: keep-all; }
.jsg2 *, .jsg2_top * { box-sizing: border-box; }
:where(.jsg2, .jsg2_top) :where(h2, h3, h4, p, ul, li) { margin: 0; padding: 0; font-family: 'Noto Sans KR', sans-serif; letter-spacing: inherit; }
:where(.jsg2) ul { list-style: none; }
.jsg2 img { display: block; max-width: 100%; }
.jsg2 b, .jsg2 strong { font-weight: 700; }
.jsg2 .mobr { display: none; }
.jsg2 .en { font-family: 'Montserrat', sans-serif; }

/* ---------- 상단 비주얼 (공통) ---------- */
.jsg2_top { position: relative; width: 100%; max-width: 1920px; margin: 0 auto; overflow: hidden; }
.jsg2_top_bg { display: flex; width: 100%; aspect-ratio: 1920 / 936; }
.jsg2_top_bg span { flex: 0 0 50%; background-size: cover; background-position: center; }
.jsg2_top_bg .l { background-image: url(/img/sub/html/02_top_l.jpg); }
.jsg2_top_bg .r { background-image: url(/img/sub/html/02_top_r.jpg); }
.jsg2_top_txt { position: absolute; left: calc(310 * var(--u)); top: calc(333 * var(--u)); }
.jsg2_top_txt .lb { display: inline-block; font-size: max(12px, calc(21 * var(--u))); line-height: 1.2; font-weight: 700; color: #FFA101; border-bottom: 1px solid #FFA101; padding-bottom: calc(3 * var(--u)); }
.jsg2_top_txt h2 { margin-top: calc(32 * var(--u)) !important; font-size: calc(80 * var(--u)); line-height: 1.2; font-weight: 700; letter-spacing: -0.04em; color: #000; }
.jsg2_top_txt .ds { margin-top: calc(64 * var(--u)) !important; font-size: max(12px, calc(21 * var(--u))); line-height: 1.5; font-weight: 400; color: #111; }
.jsg2_top_txt .ds .mobr { display: none; }

/* ---------- 공통: 상단 헤드라인 + 사진 + 노란 띠 ---------- */
.jsg2_hero { position: relative; padding-top: calc(190 * var(--u)); text-align: center; }
.jsg2_hero .lead { font-size: max(20px, calc(48 * var(--u))); line-height: 1.355; font-weight: 700; letter-spacing: -0.04em; }
.jsg2 .hl { background: linear-gradient(transparent 58%, #FFE3B3 58%, #FFE3B3 96%, transparent 96%); }
.jsg2 .hl2 { background: linear-gradient(transparent 55%, #FFF6B3 55%); }
.jsg2_hero .vline { width: 1px; height: calc(123 * var(--u)); margin: calc(48 * var(--u)) auto 0; background: #222; }
.jsg2_hero .ph { position: relative; z-index: 2; width: calc(1300 * var(--u)); margin: 0 auto; }
.jsg2_hero .ph img { width: 100%; }
.jsg2_hero.h2l .vline { margin-top: calc(50 * var(--u)); }
.jsg2_band { position: relative; background: #FEE100; margin-top: calc(-245 * var(--u)); padding: calc(245 * var(--u)) 0 0; }
.jsg2_band_in { display: flex; width: calc(1300 * var(--u)); min-height: calc(349 * var(--u)); margin: 0 auto; padding: calc(95 * var(--u)) 0 calc(60 * var(--u)); text-align: left; }
.jsg2_band_in h3 { flex: 0 0 calc(555 * var(--u)); font-size: max(18px, calc(40 * var(--u))); line-height: 1.4; font-weight: 700; letter-spacing: -0.05em; }
.jsg2_band_in h3 .lt { font-weight: 400; }
.jsg2_band_in .tx { flex: 1; padding-top: calc(4 * var(--u)); }
.jsg2_band_in .tx p { font-size: max(13px, calc(20 * var(--u))); line-height: 1.6; font-weight: 400; color: #111; }
.jsg2_band_in .tx p + p { margin-top: 1.6em; }

/* ---------- 공통: 섹션 제목 ---------- */
.jsg2_ttl { text-align: center; padding-top: calc(186 * var(--u)); }
.jsg2_ttl h3 { font-size: max(22px, calc(48 * var(--u))); line-height: 1.23; letter-spacing: -0.04em; }
.jsg2_ttl h3 .lt { display: block; font-weight: 300; }
.jsg2_ttl h3 .bd { display: block; font-weight: 700; }
.jsg2_ttl .sub { display: inline-block; margin-top: calc(60 * var(--u)) !important; font-size: max(16px, calc(29 * var(--u))); line-height: 1.3; font-weight: 700; letter-spacing: -0.05em; }
.jsg2_ttl .ds { margin-top: calc(48 * var(--u)) !important; font-size: max(13px, calc(20 * var(--u))); line-height: 1.6; color: #111; }

/* ---------- 공통: 번호 항목(01~04) ---------- */
.jsg2_items { position: relative; margin-top: calc(194 * var(--u)); padding-bottom: calc(159 * var(--u)); }
.jsg2_items .gbg { position: absolute; left: 0; right: 0; top: calc(261 * var(--u)); bottom: calc(429 * var(--u)); background: #F5F5F5; }
.jsg2_item { position: relative; z-index: 1; display: flex; align-items: center; width: calc(1300 * var(--u)); margin: 0 auto; }
.jsg2_item + .jsg2_item { margin-top: calc(200 * var(--u)); }
.jsg2_item .pic { flex: 0 0 calc(638 * var(--u)); display: flex; }
.jsg2_item .pic img { width: calc(588 * var(--u)); height: auto; }
.jsg2_item .lbl { flex: 0 0 calc(50 * var(--u)); display: flex; flex-direction: column; align-items: center; }
.jsg2_item .lbl span { writing-mode: vertical-rl; transform: rotate(180deg); font-family: 'Poppins', 'Montserrat', sans-serif; font-size: max(10px, calc(20 * var(--u))); line-height: 1; letter-spacing: 0; color: #111; white-space: nowrap; }
.jsg2_item .lbl i { flex: 1; width: 1px; margin-top: calc(40 * var(--u)); background: #222; }
.jsg2_item .txt { flex: 0 0 calc(638 * var(--u)); text-align: left; }
.jsg2_item.t-top { align-items: flex-start; }
.jsg2_item.t-low { align-items: flex-start; }
.jsg2_item.t-low .txt { padding-top: calc(158 * var(--u)); }
.jsg2_item.odd .txt { margin-left: calc(24 * var(--u)); padding-left: calc(88 * var(--u)); }
.jsg2_item.even .pic { margin-left: calc(24 * var(--u)); }
.jsg2_item .hd { display: flex; align-items: flex-start; }
.jsg2_item .num { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: max(40px, calc(122 * var(--u))); line-height: 0.82; letter-spacing: -0.04em; margin-right: calc(36 * var(--u)); }
.jsg2_item h4 { padding-top: calc(2 * var(--u)); font-size: max(18px, calc(40 * var(--u))); line-height: 1.25; font-weight: 400; letter-spacing: -0.04em; }
.jsg2_item .ds { margin-top: calc(48 * var(--u)) !important; font-size: max(13px, calc(20 * var(--u))); line-height: 1.6; color: #111; }

/* ---------- 0202 장비 카드 ---------- */
.js0202_cards { display: flex; justify-content: space-between; width: calc(1300 * var(--u)); margin: calc(98 * var(--u)) auto 0; padding-bottom: calc(190 * var(--u)); text-align: left; }
.js0202_cards li { flex: 0 0 calc(419 * var(--u)); }
.js0202_cards img { width: 100%; }
.js0202_cards h4 { margin-top: calc(26 * var(--u)) !important; font-size: max(16px, calc(31 * var(--u))); line-height: 1.4; font-weight: 700; letter-spacing: -0.03em; }
.js0202_cards h4 small { font-size: max(13px, calc(22 * var(--u))); font-weight: 400; letter-spacing: 0; }
.js0202_cards p { margin-top: calc(8 * var(--u)) !important; font-size: max(13px, calc(20 * var(--u))); line-height: 1.6; color: #111; }

/* ---------- 0203 무통 시스템 / 직접 시술 ---------- */
.js0203_mt { position: relative; overflow: hidden; }
.js0203_mt .bgword { position: absolute; left: calc(975 * var(--u)); top: calc(30 * var(--u)); font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: calc(250 * var(--u)); line-height: 1; letter-spacing: 0.02em; color: transparent; -webkit-text-stroke: 2px #EEEEEE; white-space: nowrap; pointer-events: none; user-select: none; }
.js0203_mt .jsg2_ttl { position: relative; padding-top: calc(150 * var(--u)); }
.js0203_mt .jsg2_ttl h3 .bd { font-weight: 700; }
.js0203_pair { display: flex; justify-content: space-between; width: calc(1300 * var(--u)); margin: calc(96 * var(--u)) auto 0; }
.js0203_pair img { width: calc(638 * var(--u)); }
.js0203_msg { margin-top: calc(40 * var(--u)) !important; text-align: center; font-size: max(15px, calc(29 * var(--u))); line-height: 1.38; font-weight: 700; letter-spacing: -0.04em; }
.js0203_sys { display: flex; align-items: center; width: calc(1300 * var(--u)); margin: calc(190 * var(--u)) auto 0; text-align: left; }
.js0203_sys + .js0203_sys { margin-top: calc(100 * var(--u)); }
.js0203_sys .pic { flex: 0 0 calc(555 * var(--u)); }
.js0203_sys .pic img { width: 100%; }
.js0203_sys .txt { flex: 1; }
.js0203_sys.a .txt { padding-left: calc(195 * var(--u)); }
.js0203_sys.b .txt { padding-right: calc(40 * var(--u)); }
.js0203_sys.b .pic { margin-left: auto; }
.js0203_sys .lb { display: inline-block; font-size: max(12px, calc(22 * var(--u))); line-height: 1.3; font-weight: 700; color: #FFA200; border-bottom: 1px solid #FFA200; letter-spacing: -0.04em; }
.js0203_sys h4 { margin-top: calc(18 * var(--u)) !important; font-size: max(22px, calc(48 * var(--u))); line-height: 1.3; font-weight: 700; letter-spacing: -0.04em; }
.js0203_sys .ld { margin-top: calc(34 * var(--u)) !important; font-size: max(16px, calc(30 * var(--u))); line-height: 1.34; font-weight: 400; letter-spacing: -0.04em; }
.js0203_sys .ld b { font-weight: 700; }
.js0203_sys .ds { margin-top: calc(40 * var(--u)) !important; font-size: max(13px, calc(20 * var(--u))); line-height: 1.6; color: #111; }
.js0203_dir { position: relative; margin-top: calc(160 * var(--u)); padding-bottom: calc(200 * var(--u)); }
.js0203_dir .wm { position: absolute; left: 0; top: 0; width: calc(545 * var(--u)); pointer-events: none; }
.js0203_dir .jsg2_ttl { position: relative; padding-top: calc(60 * var(--u)); }
.js0203_dir .jsg2_ttl h3 { font-weight: 700; }
.js0203_dir .jsg2_ttl .ds { margin-top: calc(56 * var(--u)) !important; }
.js0203_grid { position: relative; display: flex; justify-content: space-between; width: calc(1300 * var(--u)); margin: calc(90 * var(--u)) auto 0; }
.js0203_grid > img { width: calc(638 * var(--u)); }
.js0203_grid .col { width: calc(638 * var(--u)); display: flex; flex-direction: column; justify-content: space-between; }
.js0203_grid .col img { width: 100%; }

/* ---------- 0204 소독 시스템 ---------- */
.js0204_dg { position: relative; overflow: hidden; padding: calc(195 * var(--u)) 0 calc(200 * var(--u)); }
.js0204_dg .bgword { position: absolute; top: calc(214 * var(--u)); right: 0; display: flex; align-items: flex-end; gap: calc(20 * var(--u)); pointer-events: none; user-select: none; }
.js0204_dg .bgword span { writing-mode: vertical-rl; transform: rotate(180deg); font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: calc(240 * var(--u)); line-height: 0.72; letter-spacing: -0.06em; color: #FFFCEB; white-space: nowrap; }
.js0204_flow { position: relative; display: flex; align-items: center; width: calc(1302 * var(--u)); height: calc(454 * var(--u)); margin: 0 auto; }
.js0204_flow .c { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; box-shadow: 0 0 calc(18 * var(--u)) rgba(0,0,0,0.06); text-align: center; color: #111; }
.js0204_flow .c.s { width: calc(200 * var(--u)); height: calc(200 * var(--u)); font-size: max(11px, calc(21 * var(--u))); line-height: 1.5; }
.js0204_flow .dots { flex: 0 0 auto; display: flex; justify-content: center; gap: calc(12 * var(--u)); width: calc(98 * var(--u)); }
.js0204_flow .dots i { width: calc(11 * var(--u)); height: calc(11 * var(--u)); border-radius: 50%; background: #FFA200; }
.js0204_flow .dots.w { width: calc(98 * var(--u)); }
.js0204_core { position: relative; flex: 0 0 calc(407 * var(--u)); height: calc(454 * var(--u)); }
.js0204_core .big { position: absolute; left: 0; top: calc(28 * var(--u)); width: calc(392 * var(--u)); height: calc(392 * var(--u)); border-radius: 50%; background: #FFA200; display: flex; align-items: center; justify-content: center; text-align: center; }
.js0204_core .big h3 { font-size: max(16px, calc(40 * var(--u))); line-height: 1.25; font-weight: 700; color: #fff; letter-spacing: -0.04em; }
.js0204_core .sm { position: absolute; width: calc(150 * var(--u)); height: calc(150 * var(--u)); border-radius: 50%; background: #fff; box-shadow: 0 0 calc(18 * var(--u)) rgba(0,0,0,0.07); display: flex; align-items: center; justify-content: center; text-align: center; font-size: max(10px, calc(17 * var(--u))); line-height: 1.45; font-weight: 700; color: #111; }
.js0204_core .p1 { left: 0; top: 0; }
.js0204_core .p2 { left: calc(257 * var(--u)); top: 0; }
.js0204_core .p3 { left: 0; top: calc(304 * var(--u)); }
.js0204_core .p4 { left: calc(257 * var(--u)); top: calc(304 * var(--u)); }
.js0204_dg .jsg2_ttl { position: relative; padding-top: calc(180 * var(--u)); }
.js0204_dg .jsg2_ttl h3 .bd { font-size: 1.04em; }
.js0204_steps { position: relative; display: flex; flex-wrap: wrap; gap: calc(35 * var(--u)) calc(40 * var(--u)); width: calc(965 * var(--u)); margin: calc(95 * var(--u)) auto 0; }
.js0204_steps li { position: relative; flex: 0 0 calc(295 * var(--u)); min-height: calc(580 * var(--u)); padding: calc(20 * var(--u)) calc(18 * var(--u)) calc(40 * var(--u)); background: #fff; box-shadow: 0 0 calc(12 * var(--u)) rgba(0,0,0,0.07); text-align: center; }
.js0204_steps li img { width: 100%; }
.js0204_steps .st { margin-top: calc(30 * var(--u)) !important; font-family: 'Poppins', 'Montserrat', sans-serif; font-size: max(13px, calc(24 * var(--u))); line-height: 1.3; color: #FFA200; letter-spacing: -0.02em; }
.js0204_steps h4 { margin-top: calc(6 * var(--u)) !important; font-size: max(15px, calc(30 * var(--u))); line-height: 1.35; font-weight: 700; letter-spacing: -0.04em; }
.js0204_steps p.ds { margin-top: calc(42 * var(--u)) !important; font-size: max(12px, calc(21 * var(--u))); line-height: 1.52; color: #111; }
.js0204_steps .ar { position: absolute; left: calc(-50 * var(--u)); top: calc(261 * var(--u)); width: calc(59 * var(--u)); height: calc(59 * var(--u)); background: #515151; }
.js0204_steps .ar::after { content: ''; position: absolute; left: 42%; top: 50%; width: 26%; height: 26%; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: translate(-50%, -50%) rotate(45deg); }
.js0204_steps li.s1 .ar { display: none; }

@media (max-width: 1400px) {
  .jsg2 .ds .pcbr, .jsg2 .tx .pcbr, .js0202_cards p .pcbr { display: none; }
}

/* ================= 모바일 (≤768) ================= */
@media (max-width: 768px) {
  .jsg2, .jsg2_top { --m: calc(100vw / 750); letter-spacing: -0.5px; }
  .jsg2 .pcbr { display: none; }
  .jsg2 .mobr { display: inline; }

  .jsg2_top_bg { aspect-ratio: 750 / 850; }
  .jsg2_top_bg span.l { display: none; }
  .jsg2_top_bg span.r { flex: 0 0 100%; background-image: url(/img/sub/html/02_top_m.jpg); }
  .jsg2_top_txt { left: calc(50 * var(--m)); top: calc(418 * var(--m)); }
  .jsg2_top_txt .lb { font-size: max(12px, calc(22 * var(--m))); padding-bottom: calc(3 * var(--m)); }
  .jsg2_top_txt h2 { margin-top: calc(28 * var(--m)) !important; font-size: calc(62 * var(--m)); }
  .jsg2_top_txt .ds { margin-top: calc(74 * var(--m)) !important; font-size: max(12px, calc(22 * var(--m))); line-height: 1.45; }
  .jsg2_top_txt .ds .mobr { display: inline; }

  .jsg2_hero { padding-top: calc(190 * var(--m)); }
  .jsg2_hero .lead { font-size: max(18px, calc(44 * var(--m))); line-height: 1.32; }
  .jsg2_hero .vline { height: calc(160 * var(--m)); margin-top: calc(50 * var(--m)) !important; }
  .jsg2_hero .ph { width: calc(650 * var(--m)); }
  .jsg2_band { margin-top: calc(-240 * var(--m)); padding-top: calc(240 * var(--m)); }
  .jsg2_band_in { display: block; width: auto; min-height: 0; padding: calc(70 * var(--m)) calc(100 * var(--m)) calc(90 * var(--m)); }
  .jsg2_band_in h3 { font-size: max(17px, calc(36 * var(--m))); line-height: 1.5; }
  .jsg2_band_in .tx { margin-top: calc(56 * var(--m)); padding-top: 0; }
  .jsg2_band_in .tx p { font-size: max(12px, calc(20 * var(--m))); line-height: 1.6; }

  .jsg2_ttl { padding-top: calc(160 * var(--m)); padding-left: calc(40 * var(--m)); padding-right: calc(40 * var(--m)); }
  .jsg2_ttl h3 { font-size: max(19px, calc(44 * var(--m))); }
  .jsg2_ttl .sub { margin-top: calc(56 * var(--m)) !important; font-size: max(14px, calc(28 * var(--m))); }
  .jsg2_ttl .ds { margin-top: calc(36 * var(--m)) !important; font-size: max(12px, calc(20 * var(--m))); }

  .jsg2_items { margin-top: calc(110 * var(--m)); padding-bottom: calc(130 * var(--m)); }
  .jsg2_items .gbg { top: calc(175 * var(--m)); bottom: 0; }
  .jsg2_item, .jsg2_item.odd, .jsg2_item.even { display: block; width: calc(650 * var(--m)); }
  .jsg2_item + .jsg2_item { margin-top: calc(150 * var(--m)); }
  .jsg2_item.odd, .jsg2_item.even { display: flex; flex-direction: column; align-items: stretch; }
  .jsg2_item .pic, .jsg2_item.even .pic { order: 1; flex: 0 0 auto; display: flex; flex-direction: row; margin-left: 0; }
  .jsg2_item .txt, .jsg2_item.even .txt { order: 2; flex: 0 0 auto; }
  .jsg2_item.t-low .txt { padding-top: 0; }
  .jsg2_item .pic img { width: calc(600 * var(--m)); }
  .jsg2_item.odd .lbl { order: 2; }
  .jsg2_item .lbl { flex: 0 0 calc(50 * var(--m)); }
  .jsg2_item .lbl span { font-size: max(10px, calc(20 * var(--m))); }
  .jsg2_item .lbl i { margin-top: calc(40 * var(--m)); }
  .jsg2_item .txt, .jsg2_item.odd .txt, .jsg2_item.t-low .txt { margin: calc(46 * var(--m)) 0 0; padding: 0; }
  .jsg2_item .num { font-size: max(36px, calc(110 * var(--m))); margin-right: calc(30 * var(--m)); }
  .jsg2_item h4 { font-size: max(16px, calc(36 * var(--m))); padding-top: 0; }
  .jsg2_item .ds { margin-top: calc(46 * var(--m)) !important; font-size: max(12px, calc(20 * var(--m))); }

  .js0202_cards { flex-wrap: wrap; justify-content: flex-start; gap: calc(60 * var(--m)) calc(28 * var(--m)); width: calc(650 * var(--m)); margin-top: calc(100 * var(--m)); padding-bottom: calc(150 * var(--m)); }
  .js0202_cards li { flex: 0 0 calc(311 * var(--m)); }
  .js0202_cards h4 { margin-top: calc(18 * var(--m)) !important; font-size: max(14px, calc(30 * var(--m))); }
  .js0202_cards h4 small { display: block; font-size: max(12px, calc(22 * var(--m))); }
  .js0202_cards p { font-size: max(12px, calc(20 * var(--m))); }

  .js0203_mt { padding-top: calc(120 * var(--m)); }
  .js0203_mt .bgword { left: calc(290 * var(--m)); top: calc(40 * var(--m)); font-size: calc(110 * var(--m)); -webkit-text-stroke: 1px #EEEEEE; }
  .js0203_mt .jsg2_ttl { padding-top: calc(110 * var(--m)); }
  .js0203_pair { display: block; width: calc(650 * var(--m)); margin-top: calc(90 * var(--m)); }
  .js0203_pair img { width: 100%; }
  .js0203_pair img + img { margin-top: calc(24 * var(--m)); }
  .js0203_msg { padding: 0 calc(40 * var(--m)); margin-top: calc(50 * var(--m)) !important; font-size: max(14px, calc(26 * var(--m))); }
  .js0203_sys, .js0203_sys.b { display: block; width: calc(650 * var(--m)); margin-top: calc(160 * var(--m)); }
  .js0203_sys + .js0203_sys { margin-top: calc(150 * var(--m)); }
  .js0203_sys .pic { width: 100%; }
  .js0203_sys.a .txt, .js0203_sys.b .txt { padding: 0; margin-top: calc(50 * var(--m)); }
  .js0203_sys.b { display: flex; flex-direction: column; }
  .js0203_sys.b .txt { order: 2; text-align: right; }
  .js0203_sys.b .pic { order: 1; margin-left: 0; }
  .js0203_sys .lb { font-size: max(11px, calc(18 * var(--m))); }
  .js0203_sys h4 { margin-top: calc(14 * var(--m)) !important; font-size: max(19px, calc(40 * var(--m))); }
  .js0203_sys .ld { margin-top: calc(30 * var(--m)) !important; font-size: max(14px, calc(26 * var(--m))); }
  .js0203_sys .ds { margin-top: calc(36 * var(--m)) !important; font-size: max(12px, calc(19 * var(--m))); }
  .js0203_dir { margin-top: calc(140 * var(--m)); padding-bottom: calc(140 * var(--m)); }
  .js0203_dir .wm { width: calc(260 * var(--m)); left: calc(20 * var(--m)); }
  .js0203_dir .jsg2_ttl { padding-top: calc(40 * var(--m)); }
  .js0203_dir .jsg2_ttl .ds { margin-top: calc(40 * var(--m)) !important; }
  .js0203_grid { width: calc(650 * var(--m)); margin-top: calc(80 * var(--m)); }
  .js0203_grid > img, .js0203_grid .col { width: calc(318 * var(--m)); }

  .js0204_dg { padding: calc(130 * var(--m)) 0 calc(120 * var(--m)); }
  .js0204_dg .bgword { top: calc(80 * var(--m)); right: calc(10 * var(--m)); }
  .js0204_dg .bgword span { font-size: calc(110 * var(--m)); }
  .js0204_flow { flex-wrap: wrap; justify-content: center; width: calc(650 * var(--m)); height: auto; row-gap: calc(30 * var(--m)); }
  .js0204_flow .c.s { width: calc(200 * var(--m)); height: calc(200 * var(--m)); font-size: max(11px, calc(20 * var(--m))); }
  .js0204_flow .dots { width: calc(90 * var(--m)); gap: calc(10 * var(--m)); }
  .js0204_flow .dots i { width: calc(10 * var(--m)); height: calc(10 * var(--m)); }
  .js0204_flow .dots.d2 { display: none; }
  .js0204_flow .dots.w { width: calc(60 * var(--m)); }
  .js0204_core { flex: 0 0 calc(407 * var(--m)); height: calc(454 * var(--m)); }
  .js0204_core .big { left: 0; top: calc(28 * var(--m)); width: calc(392 * var(--m)); height: calc(392 * var(--m)); }
  .js0204_core .big h3 { font-size: max(16px, calc(40 * var(--m))); }
  .js0204_core .sm { width: calc(150 * var(--m)); height: calc(150 * var(--m)); font-size: max(10px, calc(17 * var(--m))); }
  .js0204_core .p2, .js0204_core .p4 { left: calc(257 * var(--m)); }
  .js0204_core .p3, .js0204_core .p4 { top: calc(304 * var(--m)); }
  .js0204_flow .c.r { width: calc(176 * var(--m)); height: calc(176 * var(--m)); font-size: max(10px, calc(18 * var(--m))); }
  .js0204_dg .jsg2_ttl { padding-top: calc(130 * var(--m)); }
  .js0204_steps { gap: calc(30 * var(--m)) calc(28 * var(--m)); width: calc(650 * var(--m)); margin-top: calc(80 * var(--m)); }
  .js0204_steps li { flex: 0 0 calc(311 * var(--m)); min-height: 0; padding: calc(18 * var(--m)) calc(18 * var(--m)) calc(50 * var(--m)); }
  .js0204_steps .st { margin-top: calc(30 * var(--m)) !important; font-size: max(12px, calc(22 * var(--m))); }
  .js0204_steps h4 { font-size: max(14px, calc(28 * var(--m))); }
  .js0204_steps p.ds { margin-top: calc(34 * var(--m)) !important; font-size: max(11px, calc(19 * var(--m))); }
  .js0204_steps .ar { left: calc(-44 * var(--m)); top: calc(230 * var(--m)); width: calc(59 * var(--m)); height: calc(59 * var(--m)); }
}

/* ================= 모바일 글자 크기 보정 (2026-10-22) : 본문 14px · 라벨 12px 이상 ================= */
@media (max-width: 768px) {
  /* default.css 의 p{word-break:break-all} 때문에 단어 중간이 끊기던 것 → 어절 단위 줄바꿈 */
  .jsg2 p, .jsg2 h3, .jsg2 h4, .jsg2_top p { word-break: keep-all; }
  /* 본문 문단의 PC용 강제 줄바꿈은 풀고 자연 줄바꿈 (한 글자만 다음 줄로 떨어지던 것 방지) */
  .jsg2 p.ds br:not(.mobr), .jsg2_band_in .tx p br:not(.mobr), .js0202_cards p br:not(.mobr) { display: none; }
  .jsg2_top_txt .ds { font-size: 14px; line-height: 1.5; }
  .jsg2_band_in { padding-left: calc(60 * var(--m)); padding-right: calc(60 * var(--m)); }
  .jsg2_band_in .tx p { font-size: 14px; line-height: 1.6; }
  .jsg2_ttl .ds { font-size: 14px; line-height: 1.6; }
  .jsg2_item .lbl span { font-size: 12px; }
  .jsg2_item .ds { font-size: 14px; line-height: 1.6; }
  .js0202_cards p { font-size: 14px; line-height: 1.55; }
  .js0203_sys .lb { font-size: 12px; }
  .js0203_sys .ds { font-size: 14px; line-height: 1.6; }
  .js0204_flow .c.s { font-size: 13px; line-height: 1.4; }
  .js0204_flow .dots.w { width: calc(54 * var(--m)); }
  .js0204_flow .c.r { width: calc(184 * var(--m)); height: calc(184 * var(--m)); font-size: 12px; line-height: 1.35; }
  .js0204_core .sm { width: calc(164 * var(--m)); height: calc(164 * var(--m)); font-size: 12px; line-height: 1.3; }
  .js0204_core .p2, .js0204_core .p4 { left: calc(243 * var(--m)); }
  .js0204_core .p3, .js0204_core .p4 { top: calc(290 * var(--m)); }
  .js0204_steps li { padding-left: calc(14 * var(--m)); padding-right: calc(14 * var(--m)); }
  .js0204_steps p.ds { font-size: 14px; line-height: 1.55; }
}
