 @charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */
.root_daum_roughmap {width:100% !important; height:clamp(250px, calc( 520 / var(--inner) * 100vw ), 520px) !important;}
.root_daum_roughmap .wrap_map {height:clamp(250px, calc( 520 / var(--inner) * 100vw ), 520px) !important;}
.roughmap_lebel_text {line-height:0 !important; font-size:0 !important;}
.roughmap_lebel_text:after {content:"경기 수원시 영통구 신원로88"; font-size:12px; line-height:15px;}

.bullet-item .bullet-list {position:relative; padding-left:15px; margin-top:10px; line-height:1.3; font-size: var(--font-size-18);}
.bullet-item .bullet-list:first-child {margin-top:0;}
.bullet-item .bullet-list::before {position:absolute; content:''; left:0; top:clamp(8px, calc( 10 / var(--inner) * 100vw ), 10px); width:5px; height: 5px; background:var(--color-primary); border-radius: 50%;}
.bullet-item .bullet-list.none {padding-left: 0;}
.bullet-item .bullet-list.none::before {display: none;}
.bulletitem2 { padding-left: 0.6em; text-indent: -0.6em;}

/*  css 파일 추가 처리(선택사항)  */
.fr-box .swiper-wrapper {display:block;}

.blocker {z-index: 100;}
.modal {max-width:980px; width: 100%;}

.bg-gray {background:#fafafa;}
.overhidden {overflow: hidden;}
.subsec-pd {padding: clamp(50px, calc( 150 / var(--inner) * 100vw ), 150px) 0;}

.radiobx {display: flex; flex-wrap: wrap;}
.radiobx .item {display: flex;align-items: center; min-height: clamp(38px, calc( 44 / var(--inner) * 100vw ), 44px);}
.radiobx .item:not(:last-child) {margin-right: clamp(15px, calc( 40 / var(--inner) * 100vw ), 40px);}

.greet-wrap {display: flex;flex-direction: column;gap: var(--padding-40);}
.greet-wrap .toptit {font-size:var(--font-size-22);  line-height: 1.45; text-align: center; color:var(--color-body); }
.greet-wrap .greet-img {position: relative; border-radius:var(--border-radius-32); overflow: hidden; height: clamp(260px, calc( 460 / var(--inner) * 100vw ), 460px);}
.greet-wrap .greet-img img {width: 100%; height: 100%; object-fit: cover;}
.greet-wrap .greet-img .intxt {position: absolute; right: var(--padding-30); bottom: var(--padding-30); font-size:var(--font-size-100); font-weight:600; line-height:1; color:rgba(255, 255, 255, 0.30);}
.greet-text { display:flex; flex-direction:column; align-items:flex-start; gap:var(--padding-30); width:100%; max-width:100%; }
.greet-lead {font-size:var(--font-size-28); font-weight:600; line-height:1.43; letter-spacing:-0.03em; color:#121212; }
.greet-lead__em { color:var(--color-primary); }
.greet-line { position:relative; width:100%; height:3px; flex-shrink:0; }
.greet-line__gray { position:absolute; left:0; bottom:0; width:100%; height:1px; background:#ddd; }
.greet-line__accent { position:absolute; left:0; top:0; width:clamp(80px, calc(120 / var(--inner) * 100vw), 120px); height:3px; background:var(--color-primary); }
.greet-stack { display:flex; flex-direction:column; gap:var(--padding-30); width:100%; }
.greet-body { width:100%; }
.greet-body p {font-size:var(--font-size-18); font-weight:400; line-height:1.78; letter-spacing:-0.03em; color:var(--color-body); }
.greet-body p + p { margin-top:0; }
.greet-body .greet-body--gap { margin-top:var(--padding-30); }
.greet-sign {font-size:var(--font-size-22); font-weight:400; line-height:1.55; letter-spacing:-0.03em; color:#121212; }
.greet-sign__name { font-weight:600; }

.quo-wrap {text-align: center;}
.quo-wrap .quotxtbx {display: inline-flex; flex-direction: column;gap: var(--padding-20); padding: 0 clamp(30px, calc( 115 / var(--inner) * 100vw ), 115px); position: relative; text-align: center; }
.quo-wrap .quotxtbx:after ,
.quo-wrap .quotxtbx:before {position: absolute; content: ''; top: var(--padding-20); width:clamp(25px, calc( 82 / var(--inner) * 100vw ), 82px); height: auto; aspect-ratio: 82 / 62; background-size: contain; background-repeat: no-repeat;}
.quo-wrap .quotxtbx:after {right: 0; background-image: url('/images/sub/quo-2.png');}
.quo-wrap .quotxtbx:before {left: 0; background-image: url('/images/sub/quo-1.png');}
.quo-wrap .small {font-size:var(--font-size-18); color: var(--color-body); line-height: 1.55;}
.quo-wrap .big {font-size:var(--font-size-42); font-weight: bold; line-height: 1.23;background: linear-gradient(90deg, #DF2027 0%, #791115 100%); background-clip: text;  -webkit-background-clip: text;  -webkit-text-fill-color: transparent;}
.quo-wrap .line {margin: var(--padding-40) auto; width: 1px; height:clamp(40px, calc( 100 / var(--inner) * 100vw ), 100px); background: #ddd;}

.tabwrap {max-width: 580px; width: 100%; margin: 0 auto var(--padding-120);}
.tabwrap .tabs {display: flex;justify-content: center;}
.tabwrap .tabitem {flex: 1; text-align: center;}
.tabwrap .tablink {padding-bottom: var(--padding-20); position: relative; font-size: var(--font-size-22); font-weight: 400; line-height: 1.27; letter-spacing: -0.6px; text-align: center;}
.tabwrap .tablink:after {position: absolute;content: ''; bottom: 0; left:50%; transform: translateX(-50%); width:clamp(30px, calc( 50 / var(--inner) * 100vw ), 50px); height: 2px; background: var(--color-primary); opacity: 0;}
.tabwrap .tabitem.active .tablink {font-weight: 600; }
.tabwrap .tabitem.active .tablink:after {opacity: 1;}

.tab-contentwrap .his-tit {margin-bottom: var(--padding-60); font-size: var(--font-size-32); font-weight: 600; letter-spacing: -0.6px;}
.tab-contentwrap .flxWrap {gap: var(--padding-100);}
.tab-contentwrap .flxWrap .imgbx {width: clamp(300px, calc( 650 / var(--inner) * 100vw ), 650px);}
.tab-contentwrap .flxWrap .imgbx img {border-radius:24px; overflow: hidden;}
.tab-contentwrap .flxWrap .textbx {flex: 1; letter-spacing: -0.6px;}
.tab-contentwrap .his-item {display: flex; flex-wrap: wrap;gap: 10px; padding: var(--padding-40) 0; border-bottom: 1px solid #ddd;}
.tab-contentwrap .his-item:first-child {padding-top: 0;}
.tab-contentwrap .his-item .month {width: clamp(90px, calc( 145 / var(--inner) * 100vw ), 145px); font-size: var(--font-size-22); font-weight: 600; color: var(--color-primary); line-height: 1.7;}
.tab-contentwrap .his-item .contbx {flex: 1; font-size: var(--font-size-18); color: var(--color-body); line-height: 1.8;}

.mapwrap .map { height:clamp(250px, calc( 520 / var(--inner) * 100vw ), 520px);}
.mapwrap .map iframe {width: 100%; height: 100%;}
.mapwrap .map.en {display: none;}
.mapwrap .map.en:lang(en) {display: block;}
.mapwrap .map.ko:lang(en) {display: none;}

.location-area .mapwrap { display:flex; flex-direction:column; gap:var(--padding-40); }
.loc-info { display:flex; flex-direction:column; gap:var(--padding-40); width:100%; }
.loc-info__grp { display:flex; flex-direction:column; gap:var(--padding-30); width:100%; }
.loc-info__tit { font-size:var(--font-size-24); font-weight:700; line-height:1.25; letter-spacing:-0.02em; color:#121212; }
.loc-info__list { display:flex; flex-direction:column; gap:var(--padding-20); width:100%; }
.loc-info__item { display:flex; flex-wrap:wrap; align-items:center; gap:12px; width:100%; }
.loc-info__left { display:flex; flex-shrink:0; align-items:center; gap:12px; min-width:0; }
.loc-info__icn { display:flex; flex-shrink:0; align-items:center; justify-content:center; width:clamp(30px, calc( 40 / var(--inner) * 100vw ), 40px); height:clamp(30px, calc( 40 / var(--inner) * 100vw ), 40px); padding:8px; border-radius:20px; box-sizing:border-box; }
.loc-info__icn--primary { background:var(--color-primary); }
.loc-info__icn--muted { background:#666; }
.loc-info__icn img { display:block; width:clamp(14px, calc( 20 / var(--inner) * 100vw ), 20px); height:auto; max-width:none; }
.loc-info__lbl { flex-shrink:0; width:clamp(100px, calc(170 / var(--inner) * 100vw), 170px); font-size:var(--font-size-18); font-weight:600; line-height:1.44; letter-spacing:-0.02em; color:var(--color-body); }
.loc-info__val { flex:1; min-width:min(100%, 220px); font-size:var(--font-size-18); font-weight:400; line-height:1.56; letter-spacing:-0.02em; color:var(--color-body); }
.loc-info__sep { width:100%; height:1px; background:#ddd; flex-shrink:0; }
.loc-info__list--bus { gap:0; }

.wel-benefits { --wel-d:clamp(140px, calc(235 / var(--inner) * 100vw), 235px); --wel-gap:clamp(16px, calc(35 / var(--inner) * 100vw), 35px); --wel-b1:clamp(10px, calc(17 / var(--inner) * 100vw), 17px); --wel-b2:clamp(6px, calc(17.5 / var(--inner) * 100vw), 17.5px); --wel-row:min(100%, calc(5 * var(--wel-d) + 4 * var(--wel-gap))); display:flex; flex-direction:column; align-items:center; position:relative; overflow-x: auto;}
.wel-benefits__track { position:absolute; left:50%; top:calc(var(--wel-d) / 2); z-index:0; display:flex; align-items:center; width:100%; max-width:100%; height:0; pointer-events:none; transform:translate(-50%, -50%); }
.wel-benefits__dot { flex-shrink:0; width:12px; height:12px; border-radius:50%; background:var(--color-body); }
.wel-benefits__line { flex:1; height:1px; background:var(--color-body);}
.wel-benefits__list { position:relative; z-index:1; display:flex; justify-content:center; align-items:flex-start; gap:var(--wel-gap); margin:0; padding:0; width:var(--wel-row); max-width:100%; }
.wel-benefits__item { flex:0 1 auto; min-width:0; }
.wel-benefits__item:nth-child(1) { --wel-ring:#fce4e9; --wel-ring-in:#f5ccd2; }
.wel-benefits__item:nth-child(2) { --wel-ring:#f8bbd0; --wel-ring-in:#f0a3b5; }
.wel-benefits__item:nth-child(3) { --wel-ring:#e57373; --wel-ring-in:#d85c5c; }
.wel-benefits__item:nth-child(4) { --wel-ring:#e53935; --wel-ring-in:#c62828; }
.wel-benefits__item:nth-child(5) { --wel-ring:#880e4f; --wel-ring-in:#6a0b3d; }
.wel-benefits__disc { position:relative; width:var(--wel-d); height:var(--wel-d); flex-shrink:0; }
.wel-benefits__rim { position:absolute; left:0; top:0; border-radius:50%; box-sizing:border-box; pointer-events:none; }
.wel-benefits__rim--outer { width:100%; height:100%; border:3px solid var(--wel-ring); }
.wel-benefits__rim--mid { left:var(--wel-b1); top:var(--wel-b1); width:calc(100% - var(--wel-b1) * 2); height:calc(100% - var(--wel-b1) * 2); border:var(--wel-b2) solid var(--wel-ring-in); }
.wel-benefits__well { position:absolute; left:calc(var(--wel-b1) + var(--wel-b2)); top:calc(var(--wel-b1) + var(--wel-b2)); z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(8px, calc(12 / var(--inner) * 100vw), 12px); box-sizing:border-box; width:calc(100% - (var(--wel-b1) + var(--wel-b2)) * 2); height:calc(100% - (var(--wel-b1) + var(--wel-b2)) * 2); border-radius:50%; background:#fff; padding:clamp(4px, calc(8 / var(--inner) * 100vw), 8px) clamp(4px, calc(6 / var(--inner) * 100vw), 6px); text-align:center; }
.wel-benefits__img { display:block; width:clamp(30px, calc(40 / var(--inner) * 100vw), 40px); height:clamp(30px, calc(40 / var(--inner) * 100vw), 40px); flex-shrink:0; object-fit:contain; max-width:none; }
.wel-benefits__txt { margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.33; letter-spacing:-0.03em; color:#121212; word-break:keep-all; }
.wel-benefits__txt--stack { display:flex; flex-direction:column; align-items:center; gap:0; line-height:1.33; }
.wel-benefits__ln { display:block; }

.wel-detail { display:grid; grid-template-columns:repeat(2, minmax(0, 680px)); gap:clamp(24px, calc(40 / var(--inner) * 100vw), 40px); width:100%; max-width:1400px; margin:clamp(40px, calc(80 / var(--inner) * 100vw), 80px) auto 0; justify-content:center; }
.wel-card { display:flex; flex-direction:column; gap:var(--padding-30); width:100%; max-width:680px; padding:clamp(20px, calc(30 / var(--inner) * 100vw), 30px); border:1px solid #ddd; border-radius:clamp(12px, calc(16 / var(--inner) * 100vw), 16px); background:#fff; box-sizing:border-box; }
.wel-card--full { grid-column:1 / -1; max-width:none; width:100%; }
.wel-card__num { margin:0; font-size:var(--font-size-18); font-weight:400; line-height:1.56; letter-spacing:-0.03em; color:var(--color-primary); }
.wel-card__body { display:flex; flex-direction:column; gap:var(--padding-20); width:100%; }
.wel-card__tit { margin:0; font-size:var(--font-size-28); font-weight:600; line-height:1; letter-spacing:-0.03em; color:#121212; }
.wel-card__tit--sm { font-size:var(--font-size-24); letter-spacing:-0.03em; }
.wel-card__list { display:flex; flex-direction:column; gap:6px; margin:0; padding:0; width:100%; }
.wel-card__item { display:flex; align-items:center; gap:10px; font-size:var(--font-size-18); font-weight:400; line-height:1.56; letter-spacing:-0.03em; color:var(--color-body); }
.wel-card__item::before { content:''; flex-shrink:0; width:5px; height:5px; border-radius:50%; background:var(--color-primary); }

.content-wrap {display: flex;flex-direction: column;gap: var(--padding-120);}
.line-txt {margin-bottom: var(--padding-40); position: relative; font-size: var(--font-size-28); font-weight: bold; line-height: 2; z-index: 1;}
.line-txt:after {position: absolute; content: ''; width: 100%; height: 1px; background: #ddd; top: 50%; left: 0; transform: translateY(-50%); z-index: -1;}
.line-txt span {display: inline-block; padding-right:10px; min-width: clamp(100px, calc(140 / var(--inner) * 100vw), 140px); background: #fff;}

.guide-flow-wrap { width:100%; overflow: hidden; }
.guide-flow { --guide-flow-gap:45px; display:flex; flex-wrap:nowrap; align-items:center; gap:var(--guide-flow-gap); width:100%; min-width:min(100%, 760px); margin:0; padding:0; list-style:none; box-sizing:border-box; }
.guide-flow__item { position:relative; flex-shrink:0; }
.guide-flow__item:not(:last-child)::after { content:''; position:absolute; z-index:1; left:calc(100% + var(--guide-flow-gap) / 2 - 12px); top:50%; width:clamp(16px, calc( 24 / var(--inner) * 100vw ), 24px); height:clamp(16px, calc( 24 / var(--inner) * 100vw ), 24px); transform:translateY(-50%); background:url(/images/sub/arrow.svg) no-repeat 50% 50% / contain; pointer-events:none; }
.guide-flow__ring { width:clamp(130px, calc(172 / var(--inner) * 100vw), 172px); aspect-ratio:1; flex-shrink:0; border-radius:50%; box-sizing:border-box; padding:4px; background:#fff; border:7px solid #bfbfbf; }
.guide-flow__item--final .guide-flow__ring { border-color:#f5b5b5; }
.guide-flow__inner { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; box-sizing:border-box; width:100%; height:100%; border-radius:50%; padding:8px; background:#717171; text-align:center; }
.guide-flow__item--final .guide-flow__inner { background:var(--color-primary); }
.guide-flow__step { margin:0; width:100%; font-size:var(--font-size-16); font-weight:600; line-height:1.375; letter-spacing:-0.03em; color:#fff; }
.guide-flow__tit { margin:0; width:100%; font-size:var(--font-size-20); font-weight:600; line-height:1.6; letter-spacing:-0.03em; color:#fff; }