@charset "UTF-8"; /* =========================================================
 1. 공통 유틸리티
========================================================= */
/* --- 표시 / 숨김 --- */
.mo-only, .hidden { display:none !important; } 
.pc-only { display:block !important; } 
table .pc-only { display:table-cell !important; } 

.red-text { color:#E60013 !important; } 
.green-text { color:#00873B !important; } 

.text-bx p { color: #111; font-weight: 400; line-height: 1.45; } 
.text-bx.t16 p, .text-bx p.t16 { font-size: 16px; letter-spacing: -0.36px; } 
.text-bx.t18 p, .text-bx p.t18 { font-size: 18px; letter-spacing: -0.32px; } 
.text-bx .tit { font-size: 20px; font-weight: 700; letter-spacing: -0.4px; } 
.text-bx .tit.big { font-size:32px; } 
.text-bx .desc p { font-size: 18px; letter-spacing: -0.36px; } 
.text-bx .tit + .desc { margin-top:16px; } 
.text-bx span { color: #555; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 

.text-underline { text-decoration: underline; text-underline-position: under; } 

/* --- 레이아웃 컨테이너 --- */
.inner { width:100%; max-width:calc(1440px + var(--content-padding-x) * 2); padding:0 var(--content-padding-x); margin:0 auto; transition: all 0.3s ease; } 
.inner.wide { width:100%; max-width:calc(1792px + var(--content-padding-x) * 2); padding:0 var(--content-padding-x); margin:0 auto; } 

/* --- 폼 요소 --- */
section + section { margin-top:64px; } 

/* --- 체크박스 --- */
.chk { position:relative; padding-left: 28px; } 
.chk.inline { display: inline-block; padding-left: 0; width: 20px; height: 20px; } 
.chk input[type="checkbox"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } 
.chk label { font-size: 18px; font-weight: 400; width: auto; color: #313030; cursor:pointer; letter-spacing: -0.36px; line-height:1; } 
.chk input[type="checkbox"] + label:before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border: 1px solid #999; border-radius: 3px; background:#fff; } 
.chk input[type="checkbox"]:checked + label:after { content: ""; display: flex; justify-content: center; align-items: center; color: #fff; font-size: 14px; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border-radius: 3px; background: url('../img/common/ico-chk.svg') center 60% / 62% auto no-repeat var(--color-theme); border: 1px solid var(--color-theme); } 
 .chk-bx { padding: 20px 24px; border-radius: 12px; background: #F5F5F5; display: flex; justify-content: center; } 
 .chk.sm label { font-size:16px; } 

/* --- 셀렉트 박스 --- */
.select-box-wrap { position:relative; } 
.select-box-wrap .select-label { display:flex; justify-content:space-between; align-items:center; width:fit-content; transition: all 0.2s linear; border-radius: 4px; border: 1px solid #CECCCC; background: #FFF; padding:12px; cursor:pointer; height:48px; gap:10px; } 
.select-box-wrap .select-label p { width:100%; color: #111; font-size: 16px; font-weight: 400; line-height: 1.4; letter-spacing: -0.24px; white-space: nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left; } 
.select-box-wrap .select-label p.placeholder { color:#BCBABA; } 
.select-box-wrap .select-label.open { border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; } 
.select-box-wrap .select-label:after { content:""; display:block; width:20px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-arrow-down-black.svg') center / 100% auto no-repeat; flex-shrink: 0; } 
.select-box-wrap .select-label.open:after { transform:rotate(180deg); } 
.select-box-wrap .select-box-list-wr { display:none; position:absolute; top:46px; left:0; width: max-content; min-width:100%; max-height:130px; border: 1px solid #CECCCC; background: #FFF; border-top:0; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; padding-bottom:5px; overflow:hidden; z-index: 99; } 
.select-box-wrap .select-box-list-wr ul { max-height:130px; overflow-y:auto; } 
.select-box-wrap .select-box-list-wr ul li p { display:block; font-size:inherit; padding: 5px 12px; color: #666; cursor:pointer; white-space: nowrap; text-align: left; } 
.select-box-wrap .select-box-list-wr ul li:hover p { color:#000; } 
.select-box-wrap.w100, .select-box-wrap.w100 .select-label { width:100% !important; } 

/* 라디오 버튼 */
.radio-group { display: flex; align-items: center; gap: 12px; justify-content: flex-start; flex-wrap: wrap; } 
.radio-wrap { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; } 
.radio-wrap input[type="radio"] { display: none; } 
.radio-wrap span { position: relative; padding-left: 22px; font-size: 18px; font-weight: 400; color: #111; line-height: 1.45; } 
.radio-wrap span:before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border: 1px solid #CCC; border-radius: 100px; background: #fff; transition: all 0.2s ease; } 
.radio-wrap span:after { content: ""; position: absolute; left: 3px; top: 50%; transform: translateY(-50%); width: 8px; height: 8px; border-radius: 100px; background: var(--color-theme); opacity: 0; transition: all 0.2s ease; } 
.radio-wrap input[type="radio"]:checked + span:before { border-color: var(--color-theme); } 
.radio-wrap input[type="radio"]:checked + span:after { opacity: 1; } 

.radio-chk-group .radio-row { display: flex; align-items: center; gap: 16px; } 
.radio-chk-group .radio-row + .radio-row { margin-top: 16px; } 
.radio-chk-group .chk-group { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; } 
.radio-chk-group .chk-group .chk { opacity: 0.4; pointer-events: none; transition: opacity 0.2s ease; } 
.radio-chk-group .chk-group .chk.enabled { opacity: 1; pointer-events: auto; } 

/* --- 인풋 --- */
.required { display:block; text-indent:-999px; overflow:hidden; width: 6px; height: 6px; aspect-ratio: 1/1; background:#FF2929; border-radius:20px; margin-top: 4px; } 
.input-flex-wrap { width:100%; display:flex; justify-content: space-between; align-items: stretch; gap:4px; } 
.input-wrap { display:flex; justify-content: space-between; align-items: center; } 
.input-wrap.gap { gap:8px; } 
.input-wrap.col { flex-direction: column; align-items: flex-start; } 
.input-wrap .label { display:flex; color: #313030; font-size: 18px; font-weight: 600; line-height: 1.45; letter-spacing: -0.36px; gap:3px; margin-bottom:8px; } 
.input-wrap input { color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; width:100%; border-radius: 4px; border: 1px solid #CECCCC; background: #FFF; padding: 12px; height:48px; } 
.input-wrap input.wa { width:auto; min-width: 0; } 
.input-wrap input.sm { width:200px; } 
.input-wrap input.ssm { width:170px; } 
.input-wrap input::placeholder { color: #BCBABA; } 
.input-wrap .input-btn-wrap { width:100%; display:flex; align-items: stretch; gap:8px; } 
.input-wrap .input-btn-wrap + .input-btn-wrap { margin-top:8px; } 
.input-wrap .input-btn-wrap .btn { display:flex; justify-content: center; align-items: center; padding:8px 24px; white-space: nowrap; border-radius: 4px; background:var(--color-theme); color:#fff; font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; flex-shrink: 0; } 
.input-wrap .input-btn-wrap .btn:hover, .input-wrap .input-btn-wrap .btn:active { background:var(--color-theme-hover); } 
.input-wrap .input-btn-wrap .btn.nb { border: 1px solid #CECCCC; background: #FFF; color:#111; padding:8px 12px; } 
.input-wrap .input-btn-wrap .btn.nb:hover,.input-wrap .input-btn-wrap .btn.active { background:#f7f7f7 } 
.input-wrap .input-btn-wrap .timer-wrap { width:100%; position:relative; } 
.input-wrap .input-btn-wrap .timer-wrap .timer { position:absolute; right:12px; top:50%; transform:translateY(-50%); color: #111; text-align: right; font-size: 14px; font-weight: 600; line-height: 1.55; letter-spacing: -0.28px; } 
.input-wrap .input-btn-wrap .desc { display:flex; flex-shrink: 0; align-items:center; } 
.input-wrap-info-wrap { margin-top:12px; } 
.input-wrap-info-wrap p { display:flex; justify-content: flex-start; align-items: center; gap:4px; color: #4C4C4C; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; text-indent: -10px; padding-left: 10px; } 
.input-wrap-info-wrap p:before { content:""; display:block; width:20px; height:auto; aspect-ratio: 1/1; background: center / 100% auto no-repeat; } 
.input-wrap-info-wrap p span { color: #666; padding-left:12px; } 
.input-wrap-info-wrap p + p { margin-top:4px; } 
.input-wrap-info-wrap .alert:before { background-image:url('../img/common/ico-info-alert.svg'); } 
.input-wrap-info-wrap .alert { color: #E60013; text-indent:0; padding:0; } 
.input-wrap-info-wrap .confirm:before { background-image:url('../img/common/ico-info-confirm.svg'); } 
.input-wrap-info-wrap .confirm { color: #008A15; text-indent:0; padding:0; } 
.input-wrap-info-wrap p.none:before { display:none; } 
.input-wrap-info-wrap p.bl { color:#111; } 
.input-info-wrap { margin:32px 0; } 
.input-info-wrap p { color: #666; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; text-indent:-14px; padding-left:14px; word-break: keep-all; } 
.input-info-wrap p.bl { color:#000; } 
.input-info-wrap p + p { margin-top:12px; } 
.input-btn { width:100%; color: #FFF; font-size: 18px; font-weight: 600; line-height: 1.45; letter-spacing: -0.36px; padding: 16px 24px; border-radius: 8px; background: var(--color-theme); } 
.input-btn:hover, .input-btn:active { background:var(--color-theme-hover); } 
.input-btn.br { border-radius:1000px; display:inline-block; width:auto !important; margin:0 auto; } 
.input-btn.de { background: #F5F5F5; color:#000; } 
.input-btn.de:hover, .input-btn.de:active { background:#e1e1e1; } 
.input-btn.bl { background: #000; } 
.input-btn.bl:hover, .input-btn.bl:active { background:#222; } 
.input-wrap .select-box-wrap > p { border-radius: 4px; border: 1px solid #CECCCC; background: #FFF; color: #111; font-size: 16px; font-weight: 400; line-height: 1.4; letter-spacing: -0.24px; padding:12px; height:48px; } 
.input-wrap .select-box-wrap .select-box-list-wr { top:46px; border: 1px solid #CECCCC; background: #FFF; border-top:0; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; padding-bottom:5px; } 
.input-wrap .select-box-wrap .select-box-list-wr ul li p { padding: 5px 12px; } 
.input-wrap .select-box-wrap.w100, .input-wrap .select-box-wrap.w100 > p { width:100%; } 
.input-wrap textarea { font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; border-radius: 4px; border: 1px solid #CECCCC; background: #FFF; resize:none; width:100%; padding:12px; height:120px; } 
.input-wrap textarea::placeholder { color:#BCBABA; } 
.input-wrap .txt { color: var(--color-theme); font-size: 16px; font-weight: 600; line-height: 1.55; letter-spacing: -0.32px; } 

.radio-input-wrap { display:flex; } 

/* --- 데이트 픽커 --- */
.datepicker-wrap { position: relative; } 
.datepicker-wrap input { color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; width: 100%; border-radius: 4px; border: 1px solid #CECCCC; background: #FFF; padding: 12px; height: 48px; } 
.datepicker-btn { position:absolute; top: 50%; transform: translateY(-50%); right: 12px; width: 24px; height: auto; aspect-ratio: 1/1; background: url('../img/common/ico-calendar02.svg') center / 100% auto no-repeat; } 

/* --- 버튼 --- */
.btn { display:flex; align-items: center; color: #111; font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -0.36px; border-radius: 12px; padding: 12px 16px; gap:8px; background:#F5F5F5; white-space: nowrap; } 
.btn.inline { display:inline-flex; } 
.btn.sm { font-size:14px; } 
.btn.pd { padding: 12px 32px; } 
.btn.br { border-radius:1000px; } 
.btn:hover, .btn:active { background:#e1e1e1; } 
.btn.ch:hover, .btn.ch:active { background:var(--color-theme); color:#fff; } 
.btn.bl { background:#000; color:#fff; } 
.btn.color { background: var(--color-theme); color:#fff; font-weight:700; } 
.btn.color:hover, .btn.color:active { background:var(--color-theme-hover); } 
.btn.after:after { content:""; width:20px; height:auto; aspect-ratio: 1/1; background:center / 100% auto no-repeat; } 
.btn.plus:after { background-image:url('../img/common/ico-plus.svg'); } 
.btn.home:after { background-image: url('../img/common/ico-home.svg'); } 
.btn.download:after { background-image: url('../img/common/ico-download.svg'); } 
.btn.ch.download:hover:after, .btn.ch.download:active:after { background-image: url('../img/common/ico-download-white.svg'); } 
.btn.bl { background:#000; color:#fff; } 
.btn.right { margin-left:auto; } 

 .mode-nav { display: flex; justify-content: center; gap: 8px; } 
 .mode-nav.between { justify-content: space-between; } 
 .mode-nav a { display: inline-flex; align-items: center; justify-content: center; min-width: 140px; height: 58px; border-radius: 100px; background: #F5F5F5; color: #111; font-size: 18px; font-weight: 600; padding: 16px 40px; } 
 .mode-nav a.on { background: #111; color: #fff; } 

/* --- 탭 --- */
.tab-wrap { display:flex; justify-content: space-between; } 
.tab-wrap ul { display:flex; justify-content:flex-start; align-items:stretch; gap:12px; } 
.tab-wrap.center ul { justify-content: center; width:100%; } 
.tab-wrap.wrap ul { flex-wrap:wrap; } 
.tab-wrap li { font-size: 18px; font-style: normal; font-weight: 700; line-height: 1.4; letter-spacing: -0.45px; cursor:pointer; background:#fff; border-radius:100px; color:#555; padding: 16px 24px; transition: all 0.2s ease; white-space: nowrap; box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.04); display:inline-flex; align-items: center; } 
.tab-wrap li.on, .tab-btn-wrap li:hover, .tab-btn-wrap li:active { background-color:var(--color-theme); color:#fff; backdrop-filter: blur(10px); } 
.tab-wrap li > * { font-size:inherit; color:inherit; font-weight:inherit; white-space: inherit; } 
.tab-wrap.two-row { flex-direction: column; gap:12px; } 

.move-list-tab { position: relative; display: inline-flex; background: #fff; border-radius: 100px; padding: 8px; border:1px solid #E5E5E5; margin:40px 0; } 
.move-list-tab .tab-btn { position: relative; z-index: 1; color: #999; font-size: 18px; font-weight: 600; line-height: 1.45; letter-spacing: -0.36px; transition: color 0.3s ease; white-space: nowrap; padding:8px 24px; display:flex; align-items: center; gap:4px; } 
.move-list-tab .tab-btn .ico { content:""; display:block; width:20px; height:auto; aspect-ratio: 1/1; background:center / 100% auto no-repeat; @supports (mask: url('')) { background-color: #000; -webkit-mask: center / auto no-repeat; mask: center / auto no-repeat; background-image:none; } margin-right: -10px; } 
.move-list-tab .tab-btn .ico.plus { background-image:url('../img/common/ico-plu-sm.svg'); @supports (mask: url('')) { background-color: #999; -webkit-mask-image: url('../img/common/ico-plu-sm.svg'); mask-image:url('../img/common/ico-plus-sm.svg'); background-image:none; } 
 }
.move-list-tab .tab-btn .ico.outside { background-image:url('../img/common/ico-outside.svg'); @supports (mask: url('')) { background-color: #999; -webkit-mask-image: url('../img/common/ico-outside.svg'); mask-image: url('../img/common/ico-outside.svg'); background-image:none; } 
 }
.move-list-tab .tab-btn.active .ico { @supports (mask: url('')) { background-color: #fff !important; } 
 }
.move-list-tab .tab-btn.active { color: #fff; } 
.move-list-tab .tab-indicator { position: absolute; top: 8px; left: 8px; height: calc(100% - 16px); background: #111; border-radius: 24px; transition: left 0.3s ease, width 0.3s ease; z-index: 0; } 

.tab-cont { display:none; } 
.tab-cont.on { display:block; } 

/* --- 레이어 팝업 --- */
.layer-popup-wrap { display:none; position:fixed; left:0; top:0; width:100%; height:100%; background:rgba(0, 0, 0, 0.5); z-index: 9999; } 
.layer-popup-wrap.active { display:block; } 
.layer-popup { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); z-index: 10; border-radius: 20px; border: 1px solid #E5E5E5; background: #FFF; box-shadow: 0 4px 64px 0 rgba(0, 0, 0, 0.16); width:90%; max-width: 600px; padding: 24px; display:none; max-height:80vh; overflow-y:auto; } 
.layer-popup.mw800 { max-width:800px; } 
.layer-popup.active { display:block; } 
.layer-popup .head { display:flex; justify-content: space-between; align-items: center; margin-bottom:16px; } 
.layer-popup .head .tit { color: #222; font-size: 24px; font-weight: 700; line-height: 1.45; letter-spacing: -0.48px; } 
.layer-popup .head .close { width:24px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-close-popup.svg') center / 100% auto no-repeat; text-indent:-999px; overflow:hidden; } 
.layer-popup .popup-cont .des { color: #000; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; margin-bottom:16px; } 
.layer-popup .popup-cont .input-wrap + .input-wrap { margin-top:24px; } 
.layer-popup .popup-cont .list-bx { border-radius: 4px; border: 1px solid #CECCCC; background: #FFF; padding: 12px; margin-top:16px; width:100%; } 
.layer-popup .popup-cont .list-bx > * { color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.layer-popup .popup-cont .list-bx > * strong { font-weight: 700; } 
.layer-popup .popup-cont .lp-search-list { cursor:pointer; } 
.layer-popup .btn-wrap { display:flex; justify-content: flex-end; align-items: stretch; margin-top:32px; gap:8px; } 
.layer-popup .btn-wrap > * { border-radius: 60px; background: #F5F5F5; color: #111; font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; padding: 12px 32px; min-width:150px; } 
.layer-popup .btn-wrap .download { display: flex; padding: 12px 32px; justify-content: center; align-items: center; gap: 8px; border-radius: 8px; border: 1px solid #CECCCC; background: #FFF; color: #111; font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; } 
.layer-popup .btn-wrap .download:after { content:""; display:block; width:18px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-download.svg') center / 100% auto no-repeat; } 
.layer-popup .btn-wrap > *.black { background:#000; color:#fff; } 

.payment-total { margin-top:4px; margin-left:14px; color:#666; font-size:14px; } 
.payment-chk-list .payment-chk + .payment-chk { margin-top:12px; } 
.payment-chk label { display:flex; align-items:center; justify-content:space-between; width:100%; } 
.payment-chk .amount { color:#222; font-weight:600; } 

/* --- 아코디언 --- */
.accordion-wrap { width:100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 24px; align-self: stretch; } 
.accordion-wrap.bg { border-radius: 8px; background: #F5F5F5; padding: 32px 20px 32px; } 
.accordion-wrap .accordion-head { width:100%; } 
.accordion-wrap .accordion-head .tit { display:flex; justify-content: space-between; align-items:center; color: #313030; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; width:100%; } 
.accordion-wrap .accordion-head .tit:after { content:""; display:block; width:24px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-arrow-down-black.svg') center / 100% auto no-repeat; } 
.accordion-wrap.open .accordion-head .tit:after { transform: rotate(-180deg); } 
.accordion-wrap .accordion-head .tit.open-btn { cursor:pointer; } 
.accordion-bottom { display:none; width:100%; } 
.accordion-bottom.overflow { max-height:300px; overflow-y:auto; } 
.accordion-bottom .tbl-wrap thead tr { border-bottom:1px dashed #CCC; } 

.accordion-wrap.color { border-radius: 12px; background: #F5F5F5; padding: 0; overflow:hidden; gap:0; } 
.accordion-wrap.color .accordion-head .tit { justify-content: flex-start; gap:12px; padding: 24px 28px; } 
.accordion-wrap.color .accordion-head .tit .col { color:var(--color-theme); } 
.accordion-wrap.color .accordion-head .tit:after { display:none; } 
.accordion-wrap.color .accordion-head .tit .btn { flex-shrink: 0; width:36px; height:auto; aspect-ratio: 1/1; border-radius:100px; background:var(--color-theme); margin-left:auto; position:relative; } 
.accordion-wrap.color .accordion-head .tit .btn:before { content:""; width:16px; height:2px; background:#fff; position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); } 
.accordion-wrap.color .accordion-head .tit .btn:after { content:""; width:16px; height:2px; background:#fff; position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); transition: all 0.2s ease; } 
.accordion-wrap.color .accordion-bottom { padding: 24px 28px; } 
.accordion-wrap.color.open .accordion-head { background:var(--color-theme); } 
.accordion-wrap.color.open .accordion-head .tit, .accordion-wrap.color.open .accordion-head .tit .col { color:#fff; } 
.accordion-wrap.color.open .accordion-head .tit .btn { background:#fff; } 
.accordion-wrap.color.open .accordion-head .tit .btn:before { background:var(--color-theme); } 
.accordion-wrap.color.open .accordion-head .tit .btn:after { background:var(--color-theme); transform: translate(-50%, -50%) rotate(-90deg); } 

.accordion-wrap-list { border-radius:4px; overflow:hidden; border:1px solid #E8EDF3; } 
.accordion-wrap-list .accordion-wrap { gap:0; } 
.accordion-wrap-list .accordion-wrap + .accordion-wrap { border-top:1px solid #E8EDF3; } 
.accordion-wrap-list .tit { padding: 12px 20px; } 
.accordion-wrap-list .accordion-wrap.open .accordion-head .tit { border-bottom:1px solid #E8EDF3; } 
.accordion-wrap-list .chk-wrap { width:100%; padding: 8px 24px; border-bottom:1px solid #E8EDF3; } 
.accordion-wrap-list .chk-wrap:last-child { border:0; } 

.accordion-wrap-bx { display:flex; flex-direction: column; gap:16px; } 

/* =========================================================
 2. 레이아웃 (header / footer)
========================================================= */

/* --- 기본 --- */
header { position:fixed; top:0; left:0; width:100%; z-index:999; display:flex; justify-content: space-between; } 
header:hover, header.scroll { background:#fff; } 
header.scroll { border-bottom: 1px solid rgba(255, 255, 255, 0.20); } 
header .inner { display:flex; justify-content: space-between; align-items: center; height:var(--headerH); gap:8px; } 
header #logo { background: var(--logo) center / 100% auto no-repeat; width: var(--logo-w); max-width: var(--logo-max-w); height: var(--logo-h); aspect-ratio: var(--logo-ratio); flex-shrink: 0; } 
header.typeC #logo { background-image: var(--logo-white); } 
.menu-open header.typeC #logo, header.typeC:hover #logo, header.typeC.scroll #logo, .sub header.typeC #logo { background-image: var(--logo); } 

/* --- GNB dep1 --- */
header #gnb { position: absolute; left: 50%; transform: translateX(-50%); }
header #gnb a { display:block; text-align:center; } 
header #gnb > ul { display: flex; color:var(--grey-scale-00); } 
header #gnb > ul > li.dep1 { position: relative; min-width: calc(var(--dep1-text-w, 0px) + 64px); transition: min-width 0.2s ease; } 
header #gnb > ul > li.dep1 > a { display: block; padding:0 32px; font-size:20px; font-weight:600; line-height: var(--headerH); transition: all 0.2s ease; text-align: center; position: relative; z-index: 30; white-space: nowrap; color:#111; } 
header #gnb > ul > li.dep1:before { content: ""; position: absolute; left: 50%; top: 0px; transform: translate(-50%, 0); width: 100%; height: 0px; opacity: 0; background-color: var(--color-theme); z-index: 20; transition: height ease-in-out .3s, opacity ease-in-out .5s; } 
header #gnb > ul > li.dep1.on:before { opacity: 1; height: calc(var(--headerH) + var(--gnb-bgH)); transition: height 0.4s ease-in-out; } 
header #gnb > ul > li.dep1.one.on:before { height: var(--headerH); } 
header #gnb > ul > li.dep1 > a:before { content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 0; height: 1px; background-color: rgba(255, 255, 255, 0.30); transition: width 0.3s ease-out; } 
header #gnb > ul > li.dep1:hover > a:before { width: 100%; } 
header #gnb > ul > li.dep1.on > a { color:#fff !important; } 
header #gnb.on > ul > li.dep1, header #gnb > ul > li.dep1.on { min-width: max( calc(var(--dep1-text-w, 0px) + (var(--gnb-dep1-padding, 50px) * 2)), calc(var(--dep2-w, 0px) + var(--gnb-dep1-padding, 50px)) ); } 
header #gnb.on > ul > li.dep1 > a, header #gnb > ul > li.dep1.on > a { padding: 0 var(--gnb-dep1-padding, 50px); } 

/* --- GNB dep2 / dep3 --- */
header #gnb .dep2-wrap { display: none; position: absolute; left: 50%; transform: translateX(-50%); top: var(--headerH); z-index: 20; height: var(--gnb-bgH); } 
header #gnb .dep2-wrap > li.dep2:first-of-type { margin-top: 36px; } 
header #gnb .dep2-wrap > li.dep2 { padding:0; text-align: center; } 
header #gnb .dep2-wrap > li.dep2 + li.dep2 { margin-top: 24px; } 
header #gnb .dep2-wrap > li.dep2 > a { display: block; font-size:16px; font-weight:500; white-space: nowrap; transition: all 0.3s ease; } 
header #gnb .dep2-wrap > li.dep2 > a span { position: relative; } 
header #gnb .dep2-wrap > li.dep2 > a span:before { content: ""; width: 0%; height: 1px; background-color: #fff; position: absolute; left: 0; bottom: -2px; } 
header #gnb .dep2-wrap > li.dep2 > a.active span:before { width: 100%; } 
header #gnb .dep2-wrap li.dep3:first-of-type { margin-top: 5px; } 
header #gnb .dep2-wrap li.dep3 + li.dep3 { margin-top: 5px; } 
header #gnb .dep2-wrap li.dep3 > a { display: block; font-size:14px; font-weight:400; color:#666; white-space: nowrap; transition: all 0.3s var(--ease1); } 

/* --- GNB on 상태 dep2/dep3 색상 --- */
header #gnb > ul > li.dep1.on .dep2-wrap > li.dep2 { position: relative; color:rgba(255,255,255,1); } 
header #gnb > ul > li.dep1.on .dep2-wrap > li.dep2:hover { color:rgba(255,255,255,.8); } 
header #gnb > ul > li.dep1.on .dep2-wrap li.dep3 > a { color:rgba(255,255,255,.6); } 
header #gnb > ul > li.dep1.on .dep2-wrap li.dep3 > a.active { color:rgba(255,255,255,1); } 
header #gnb > ul > li.dep1.on .dep2-wrap li.dep3 > a:hover { color:rgba(255,255,255,1); } 

/* --- GNB 배경 패널 --- */
header #gnb .gnb_bg { position: absolute; top:var(--headerH); width:100vw; height: 0; overflow:hidden; left: 50%; transform: translate(-50%, 0); background-color: #fff; z-index: 10; transition: height 0.4s ease-in-out, border-bottom 0.3s ease-in-out 0.4s; } 
header #gnb.on .gnb_bg { height: var(--gnb-bgH); border-bottom:1px solid #F6F6F6; transition: height 0.4s ease-in-out; } 

/* --- util / rnb --- */
header .menu { display:block; width:32px; height:auto; aspect-ratio: 1/1; background: center / 100% auto no-repeat; text-indent:-999px; overflow:hidden; background-image:url('../img/common/ico-menu.svg'); } 
header .util, header .rnb { display:flex; justify-content: center; align-items: center; gap:8px; z-index: 1; } 
header .rnb { gap:clamp(10px, 1.25vw, 24px); } 
header .util a { display:block; text-align: center; font-size: 14px; font-weight: 600; line-height: 1.57; letter-spacing: -0.14px; border-radius:100px; transition: all 0.2s ease; } 
header .util a:not(.bg-grey-scale-01) { background-color:var(--color-theme); color:var(--text-white); } 
header .util a:not(.bg-grey-scale-01):hover { background-color:var(--color-theme-hover); } 
header .util img.mypage { display:block; width:32px; height:32px; object-fit:contain; } 
header .menu { display:none; } 
header .rnb > * { display:block; width:32px; height:auto; aspect-ratio: 1/1; background-position: center; background-size:100% auto; background-repeat:no-repeat; text-indent:-999px; overflow:hidden; } 
header .rnb .mypage { background-image: url('../img/common/ico-mypage.svg'); } 
header .rnb .menu.close { background-image:url('../img/common/ico-close.svg') !important; } 

/* --- header type 변형 --- */
header.typeA { --headerH: 94px; } 
header.typeA #gnb ul.dep1 > li > a { padding:34px var(--clamp-size-32); } 
header.typeA .util a { min-width: 134px; padding: 8px 16px; } 

header.typeB { --headerH: 100px; } 
header.typeB .util a { min-width: 134px; padding: 12px 16px; } 

header.typeC { --headerH: 92px; border-bottom: 1px solid rgba(255, 255, 255, 0.20); } 
.menu-open header.typeC .inner { border-bottom:1px solid #e3e3e3; } 
header.typeC #gnb .gnb_bg { top: calc(var(--headerH) + 1px); } 
header.typeC #gnb li.dep1 > a { color: #FFF; } 
header.typeC .rnb .mypage svg { stroke:#fff; } 
.menu-open header.typeC, header.typeC.scroll, .sub header.typeC { background:#fff; border-bottom: 1px solid #d5d5d5; } 
.sub header.typeC { border:0; } 
.menu-open header.typeC #gnb .dep1:not(.on, .open) > a, header.typeC:hover #gnb .dep1:not(.on, .open) > a, header.typeC.scroll #gnb .dep1:not(.on, .open) > a, .sub header.typeC #gnb .dep1:not(.on, .open) > a { color:#111; } 
header.typeC .menu { display:block; } 

/* --- footer --- */
#ft-logo { width: var(--logo-max-w); height: auto; aspect-ratio: var(--logo-ratio); background: var(--logo-white) center / 100% auto no-repeat; } 
footer { padding:40px 0; font-size: 16px; font-weight: 400; line-height: 1.45; letter-spacing: -0.4px; background:#111; } 
footer p { font-size:inherit; } 
footer .inner { display:flex; justify-content: space-between; align-items: center; } 
footer .ft-wrap { color: #FFF; } 
footer .ft-wrap #ft-logo { flex-shrink:0; } 
footer .ft-wrap .address { margin-top:30px; } 
footer .ft-wrap .contact { margin:20px 0; } 
footer .ft-wrap .contact li { display:flex; align-items: center; gap:13px; } 
footer .ft-wrap .contact li + li, footer .ft-wrap .contact .flex + li { margin-top:10px; } 
footer .ft-wrap .contact .flex { gap:15px; } 
footer .ft-wrap .contact .flex li { margin:0; } 
footer .ft-wrap .contact .line { width: 1px; height: 12px; background: rgba(255, 255, 255, 0.40); } 
footer .ft-wrap .sns-link { display:flex; align-items:center; gap:8px; } 
footer .ft-wrap .sns-link a { display:block; width:40px; height:auto; aspect-ratio: 1/1; background: center / cover no-repeat; } 
footer .ft-wrap .sns-link a.blog { background-image:url('../img/common/ico-ft-blog.svg'); } 
footer .ft-wrap .sns-link a.youtube { background-image:url('../img/common/ico-ft-youtube.svg'); } 
footer .ft-wrap .sns-link a.facebook { background-image:url('../img/common/ico-ft-facebook.svg'); } 
footer .ft-wrap .sns-link a.instagram { background-image:url('../img/common/ico-ft-instagram.svg'); } 
footer .ft-wrap .ft-link { display:flex; align-items:center; gap:32px; margin:20px 0 10px; } 
footer .copyright { color: #FFF; font-size: 14px; font-weight: 400; line-height: 1.45; letter-spacing: -0.35px; } 
footer .familysite { position:relative; cursor:pointer; } 
footer .familysite p { display:flex; justify-content:space-between; align-items:center; font-weight:500; color:#111; width:200px; padding:12px 18px; border-radius:24px; background:#fff; transition: all 0.2s linear; } 
footer .familysite p.open { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } 
footer .familysite p:after { content:""; display:block; width:24px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-arrow-down-black.svg') center / 100% auto no-repeat; } 
footer .familysite p.open:after { transform:rotate(180deg); } 
footer .familysite .site-list-wr { display:none; position:absolute; top:48px; left:0; width:100%; max-height:120px; background:#fff; border-bottom-left-radius: 24px; border-bottom-right-radius: 24px; padding-bottom: 10px; overflow:hidden; z-index: 1; } 
footer .familysite .site-list-wr ul { max-height:120px; overflow-y:auto; } 
footer .familysite .site-list-wr ul li.tit, footer .familysite .site-list-wr ul li > * { display:block; font-size:inherit; padding:5px 18px; } 

footer.other .inner { align-items: flex-start; }
footer.other .familysite + .familysite { margin-top:10px; }
footer.other .ft-wrap .contact { display: flex; flex-direction: column; gap:10px; }
footer.other .ft-wrap .contact li { flex-wrap:wrap; }

/* =========================================================
 3. 플로팅
========================================================= */
.floating { position:fixed; right:var(--content-padding-x-wide); bottom:var(--content-padding-x-wide); display:flex; flex-direction: column; justify-content: center; align-items: center; gap:16px; background:var(--color-theme); padding:12px 24px; border-radius:1000px; z-index:99; width:80px; height:auto; aspect-ratio: 1/1; } 
.floating.open { padding:24px; aspect-ratio: none; } 
.floating .defalut { display:flex; flex-direction: column; justify-content: center; align-items: center; gap:7px; max-width:30px; } 
.floating img { max-width:28px; height:auto; } 
.floating p { color: #FFF; text-align: center; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: -0.28px; white-space: nowrap; } 

.floating .floating-links { display:none; } 
.floating .floating-links a { display:flex; flex-direction: column; justify-content: center; align-items: center; gap:7px; max-width:30px; } 
.floating .floating-links a + a { margin-top:16px; } 

/* =========================================================
 4. 서브페이지 레이아웃
========================================================= */
#wrap { display:flex; align-items: flex-start; margin-top:100px; padding:40px 0 100px; } 
#lnb { display:flex; flex-direction:column; gap:32px; width:clamp(338px, 24vw, 448px); padding:0 64px 0 var(--content-padding-x-wide); } 
#lnb > p { color: #111; font-size: 28px; font-weight: 700; line-height: 1.45; letter-spacing: -0.56px; padding:12px 8px; } 
#lnb > ul > li > a { display:block; color: #555; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; padding:20px 8px; white-space: nowrap; } 
#lnb > ul > li.on > a { color: #1D1D1D; border-radius: 4px; background: #F5F5F5; } 
#lnb .dep1 > a { display:flex; justify-content:space-between; align-items: center; cursor: pointer; } 
#lnb .dep1 > a:after { content:""; display:block; width:20px; height:auto; aspect-ratio:1/1; background:url('../img/common/ico-arrow-down-black.svg') center / 100% auto no-repeat; } 
#lnb .dep1.open > a:after { transform:rotate(-180deg); } 
#lnb .dep2 { display:none; } 
#lnb .dep2 a { display: block; padding: 20px; color: #555; font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; } 
#lnb .dep2 .on a { color:var(--color-theme); } 

#contents { display:flex; flex-direction: column; width:calc(100% - clamp(338px, 24vw, 448px)); padding-right:min(13vw, 232px); } 
#contents .cont-top { display:flex; align-items: flex-end; justify-content: space-between; width:100%; padding-bottom:24px; border-bottom: 1px solid #E5E5E5; margin-bottom:40px; } 
#contents .cont-top.no-border { border:0; } 
#contents .cont-top .page-title { color: #111; font-size: 40px; font-weight: 700; line-height: 1.45; letter-spacing: -0.8px; } 
#contents .cont-top .location { display:flex; align-items: center; gap:12px; } 
#contents .cont-top .location a { color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
#contents .cont-top .location a.cur { color: var(--color-theme); font-weight: 700; } 
#contents .cont-top .location span { width: 3px; height: auto; aspect-ratio: 1/1; background:#999; border-radius:10px; } 

.title-dot { display:flex; justify-content: flex-start; align-items: center; gap:8px; color: #1D1D1D; font-size: 32px; font-weight: 700; line-height: 1.45; letter-spacing: -0.64px; margin-bottom:24px; } 
.title-dot:before { content:""; display:block; width:6px; height:auto; aspect-ratio: 1/1; background:#111; border-radius:20px; } 
.title-dot.none:before { display:none; } 
.title-dot a { color: #666; font-size: 16px; font-weight: 700; line-height: 1.55; letter-spacing: -0.32px; margin-left:auto; display:block; } 
.title-dot span { color:#666; font-weight:400; } 
.title-dot span.sm { font-size:20px; margin-top: 7px; } 
.title-dot .required { margin-top:-20px; } 
.title-sub { color: #111; font-size: 20px; font-weight: 600; line-height: 1.45; letter-spacing: -0.4px; } 
.title-desc { color: #111; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; } 

/* =========================================================
 5. 게시판 레이아웃
========================================================= */
.board-wrap { display:flex; flex-direction: column; gap:24px; min-width:0; } 
.board-wrap .sub-title { color: #1D1D1D; font-size: 30px; font-weight: 700; line-height: 1.45; letter-spacing: -0.48px; } 

/* --- 검색 --- */
.search-wrap, .search-input-wrap { display:flex; justify-content: space-between; gap:12px; } 
.search-input-wrap .input-wrap { height:54px; padding:14px 24px; border-radius:24px; background:#F5F5F5; } 
.search-input-wrap .input-wrap input { color: #111; font-size: 18px; line-height: 1.45; letter-spacing: -0.36px; border:0; background:transparent; height:auto; padding:0; } 
.search-input-wrap .input-wrap input::placeholder { color: #666; } 
.search-input-wrap .input-wrap button { width:24px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-search.svg') center / contain no-repeat; text-indent:-9999px; overflow:hidden; flex-shrink: 0; } 
.search-wrap .select-box-wrap .select-label { height:54px; padding:14px 24px; border-radius:27px; background:#F5F5F5; color: #666; gap:10px; border:0; } 
.search-wrap .select-box-wrap .select-label p { font-size: 18px; font-weight: 400; } 
.search-wrap .select-box-wrap .select-box-list-wr { top:52px; background:#F5F5F5; border-bottom-left-radius: 24px; border-bottom-right-radius: 24px; padding-bottom: 15px; border:0; } 
.search-wrap .select-box-wrap .select-box-list-wr ul li p { padding:7px 24px; } 

/* --- 게시판 공통 (뷰 / 이전다음글) --- */
.board-wrap .view-wrap > .subject { color: #1D1D1D; font-size: 24px; font-weight: 700; line-height: 1.45; letter-spacing: -0.48px; margin-bottom:40px; } 
.board-wrap .view-wrap .btn-wrap { display:flex; justify-content: flex-end; align-items: stretch; gap:8px; margin:40px 0; } 

/* --- 게시판 공통 (뷰 / 이전다음글) --- */
.board-wrap .view-wrap .btn-wrap .list { color: #111; font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; border-radius: 8px; background: #F5F5F5; padding: 12px 32px; } 

/* --- 게시판 공통 (뷰 / 이전다음글) --- */
.board-wrap .view-wrap .btn-wrap .share { display:block; width: 47px; height: auto; aspect-ratio: 1/1; border-radius: 8px; background:url('../img/common/ico-share.svg') center / auto no-repeat var(--color-theme); text-indent:-999px; overflow:hidden; } 

.board-wrap .post-nav { display: flex; padding: 24px 0; justify-content: space-between; align-items: center; align-self: stretch; border-top: 1px solid #E5E5E5; border-bottom: 1px solid #E5E5E5; } 
.board-wrap .post-nav .post-nav-item { width:50%; display:flex; align-items: center; gap:20px; } 
.board-wrap .post-nav .post-nav-item.next { flex-direction: row-reverse; } 
.board-wrap .post-nav .post-nav-item .label { display:flex; align-items: center; gap:12px; color: #111; font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; flex-shrink: 0; } 
.board-wrap .post-nav .post-nav-item.prev { padding-right:10px; } 
.board-wrap .post-nav .post-nav-item.next { padding-left:10px; } 
.board-wrap .post-nav .post-nav-item.prev .label:before, .board-wrap .post-nav .post-nav-item.next .label:after { content:""; display:block; width:32px; height:auto; aspect-ratio: 1/1; background: url('../img/common/ico-arrow-line-left-black.svg') center / auto no-repeat; @supports (mask: url('')) { background-color: #000; -webkit-mask: url('../img/common/ico-arrow-line-left-black.svg') center / auto no-repeat; mask: url('../img/common/ico-arrow-line-left-black.svg') center / auto no-repeat; background-image:none; } 
 }
.board-wrap .post-nav .post-nav-item.next .label:after { transform:rotate(-180deg); } 
.board-wrap .post-nav .post-nav-item:hover .label { color:var(--color-theme); } 
.board-wrap .post-nav .post-nav-item.prev:hover .label:before { @supports (mask: url('')) { background-color: var(--color-theme); } 
 }
.board-wrap .post-nav .post-nav-item.next:hover .label:after { @supports (mask: url('')) { background-color: var(--color-theme); } 
 }
.board-wrap .post-nav .post-nav-item .subject { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 
.board-wrap .post-nav .post-nav-item .subject a { display:block; color: #666; font-size: 16px; font-weight: 400; line-height: 1; letter-spacing: -0.32px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 

/* --- 게시판 목록형 리스트 --- */
.board-wrap.list-type .table-wrap table { width:100%; border-top: 1px solid #111; } 
.board-wrap.list-type .table-wrap table tr { border-bottom: 1px solid #E5E5E5; } 
.board-wrap.list-type .table-wrap table tr:hover { background: #F5F5F5; transition: all 0.2s ease; } 
.board-wrap.list-type .table-wrap table td { color: #121212; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; padding: 28px 20px; } 
.board-wrap.list-type .table-wrap table td.no { width:0; } 
.board-wrap.list-type .table-wrap table td.no.notice { text-indent:-999px; overflow:hidden; background: url(../img/common/ico-megaphone.svg) center / auto no-repeat; @supports (mask: url('')) { background-color: var(--color-theme); -webkit-mask: url(../img/common/ico-megaphone.svg) center / auto no-repeat; mask: url(../img/common/ico-megaphone.svg) center / auto no-repeat; background-image: none; } 
 }
.board-wrap.list-type .table-wrap table td.subject { width:auto; max-width: 0; overflow:hidden; } 
.board-wrap.list-type .table-wrap table td.subject a { display:flex; justify-content: flex-start; align-items: center; min-width:0; gap:5px; } 
.board-wrap.list-type .table-wrap table td.subject.new > a:before { width: 20px; height: auto; aspect-ratio: 1 / 1; content: "N"; display: flex; justify-content: center; align-items: center; background: var(--color-theme); border-radius: 3.667px; color: #FFF; font-size: 12px; font-weight: 500; line-height: 1; letter-spacing: -0.12px; flex-shrink: 0; } 
.board-wrap.list-type .table-wrap table td.subject a * { font-weight:600; font-size:18px; } 
.board-wrap.list-type .table-wrap table td.subject a p { min-width:0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 
.board-wrap.list-type .table-wrap table td.subject a span.reply { color:var(--color-theme); flex-shrink: 0; } 
.board-wrap.list-type .table-wrap table td.info { width:0; } 
.board-wrap.list-type .table-wrap table td.info .bx { display:flex; justify-content: center; align-items: center; } 
.board-wrap.list-type .table-wrap table td.info .bx + .bx { margin-left:24px; } 
.board-wrap.list-type .table-wrap table td.info .bx p { color: #666; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; white-space: nowrap; } 
.board-wrap.list-type .table-wrap table td.info .bx span { width:1px; height:16px; background: #E5E5E5; margin:0 12px; } 
.board-wrap.list-type .table-wrap table td.info .bx a { display:block; width:24px; height:auto; aspect-ratio:1/1; flex-shrink: 0; text-indent:-999px; overflow:hidden; @supports not (mask: url('')) { background:center / 100% auto no-repeat; } @supports (mask: url('')) { background-color: var(--color-theme); -webkit-mask: center / 100% auto no-repeat; mask: center / 100% auto no-repeat; background-image:none; } 
 }
.board-wrap.list-type .table-wrap table td.info .bx a[download] { @supports not (mask: url('')) { background-image: url('../img/common/ico-file-clip-ro.svg'); backround-size:20px auto; } @supports (mask: url('')) { -webkit-mask-image: url('../img/common/ico-file-clip-ro.svg'); -webkit-mask-size:20px auto; mask-image: url('../img/common/ico-file-clip-ro.svg'); mask-size:20px auto; } 
 }
.board-wrap.list-type .table-wrap table td.info .bx a + a { margin-left:8px; } 
.board-wrap.list-type .table-wrap table td.info .bx a.download { @supports not (mask: url('')) { background-image: url('../img/common/ico-download.svg'); } @supports (mask: url('')) { -webkit-mask-image: url('../img/common/ico-download.svg'); mask-image: url('../img/common/ico-download.svg'); } 
 }
.board-wrap.list-type .table-wrap table td.info .bx a.link { @supports not (mask: url('')) { background-image: url('../img/common/ico-link.svg'); } @supports (mask: url('')) { -webkit-mask-image: url('../img/common/ico-link.svg'); mask-image: url('../img/common/ico-link.svg'); } 
 }

.tbl-desc { margin-top:16px; } 
.tbl-desc p { color: #666; font-size: 16px; font-weight: 400; line-height: 1.4; letter-spacing: -0.28px; } 

/* --- 게시판 목록형 뷰 --- */
.board-wrap.list-type .view-wrap .view-thumbnail { margin:40px 0; text-align:center; } 
.board-wrap.list-type .view-wrap .view-thumbnail img { display:inline-block; max-width:100%; height:auto; } 
.board-wrap.list-type .view-wrap .content { color: #1D1D1D; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; min-height:290px; margin:40px auto; } 
/* .board-wrap.list-type .view-wrap .content p { } */ /* 빈 규칙 */
.board-wrap.list-type .view-wrap .attached { padding: 16px 20px; border-radius: 4px; background: #FAFAFA; margin-bottom:40px; } 
.board-wrap.list-type .view-wrap .attached li { display:flex; justify-content: flex-start; align-items: center; gap:20px; } 
.board-wrap.list-type .view-wrap .attached li + li { margin-top:12px; } 
.board-wrap.list-type .view-wrap .attached li .file-name { display:flex; width:100%; justify-content: flex-start; align-items: center; gap:4px; min-width: 0; } 
.board-wrap.list-type .view-wrap .attached li .file-name:before { content:""; display:block; width:18px; height:auto; aspect-ratio:1/1; background: url('../img/common/ico-file-clip.svg') center / auto no-repeat; @supports (mask: url('')) { background-color: var(--color-theme); -webkit-mask: url('../img/common/ico-file-clip.svg') center / auto no-repeat; mask: url('../img/common/ico-file-clip.svg') center / auto no-repeat; background-image:none; } flex-shrink: 0; } 
.board-wrap.list-type .view-wrap .attached li .file-name p { color:var(--color-theme); font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 
.board-wrap.list-type .view-wrap .attached li .btn { flex-shrink: 0; display:flex; justify-content:space-between; align-items:center; color: #111; font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; gap:8px; } 
.board-wrap.list-type .view-wrap .attached li .btn:after { content:""; display:block; width:18px; height:auto; aspect-ratio:1/1; background: center / auto no-repeat; } 
.board-wrap.list-type .view-wrap .attached li .preview:after { background-image:url('../img/common/ico-preview.svg'); } 
.board-wrap.list-type .view-wrap .attached li .download:after { background-image:url('../img/common/ico-download.svg'); } 
.board-wrap.list-type .view-wrap .reply-wrap { margin:64px 0 40px; padding: 20px; border-radius: 4px; background: #F5F5F5; } 
.board-wrap.list-type .view-wrap .reply-wrap .reply-bx { display: flex; flex-direction: column; align-items: flex-start; align-self: stretch; } 
.board-wrap.list-type .view-wrap .reply-wrap .reply-bx .reply { display: flex; padding-bottom: 16px; flex-direction: column; align-items: flex-start; gap: 8px; align-self: stretch; } 
.board-wrap.list-type .view-wrap .reply-wrap .reply-bx .reply .user { display:flex; justify-content: flex-start; align-items:center; gap:12px; } 
.board-wrap.list-type .view-wrap .reply-wrap .reply-bx .reply .user .name { color: #1D1D1D; font-size: 16px; font-weight: 700; line-height: 1.55; letter-spacing: -0.32px; } 
.board-wrap.list-type .view-wrap .reply-wrap .reply-bx .reply .user .date { color: #666; font-size: 14px; font-weight: 400; line-height: 1.55; letter-spacing: -0.28px; } 
.board-wrap.list-type .view-wrap .reply-wrap .reply-bx .reply .user .del { width:20px; height:auto; aspect-ratio: 1/1; text-indent:-999px; background:url('../img/common/ico-delete.svg') center / 100% auto no-repeat; overflow:hidden; margin-left:-6px; } 
.board-wrap.list-type .view-wrap .reply-wrap .reply-bx .reply .comment { color: #1D1D1D; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.board-wrap.list-type .view-wrap .reply-wrap .textfield { display:flex; justify-content: space-between; align-items: stretch; gap:16px; } 
.board-wrap.list-type .view-wrap .reply-wrap .textfield .textarea-wr { width:100%; position:relative; } 
.board-wrap.list-type .view-wrap .reply-wrap .textfield .textarea-wr .reply-input { display:block; width:100%; padding: 16px; resize:none; border-radius: 8px; border: 1px solid #E5E5E5; background: #FFF; } 
.board-wrap.list-type .view-wrap .reply-wrap .textfield .textarea-wr .text-count { position:absolute; right:16px; bottom:16px; color: #A6A6A6; text-align: right; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: -0.28px; background:#fff; } 
.board-wrap.list-type .view-wrap .reply-wrap .textfield .reply-submit { display: flex; padding: 7px 11px; justify-content: center; align-items: center; gap: 8px; border-radius: 8px; background: #111; color:#fff; white-space: nowrap; flex-shrink: 0; } 

.board-wrap .video-wrap { position:relative; margin-top:40px; cursor:pointer; } 
.board-wrap .video-wrap.youtube-preview { width:100%; aspect-ratio:16 / 9; } 
.board-wrap .video-wrap.youtube-preview iframe { display:block; width:100%; height:100%; } 
.board-wrap .video-wrap .play-btn { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); border-radius: 200px; width:70px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-play.svg') center / 20px auto no-repeat rgba(17, 17, 17, 0.20); text-indent:-999px; overflow:hidden; } 

/* --- 게시판 썸네일형 리스트 --- */
.board-wrap.thumbnail-type .list-wrap { margin-top:24px; } 
.board-wrap.thumbnail-type .list-wrap ul { display: grid; grid-template-columns: repeat(4, 1fr); gap:20px; } 
.board-wrap.thumbnail-type .list-wrap li { width:100%; min-width: 0; position:relative; } 
.board-wrap.thumbnail-type .list-wrap li a { display:block; } 
.board-wrap.thumbnail-type .list-wrap li.new > a:before { width: 20px; height: auto; aspect-ratio: 1 / 1; content: "N"; display: flex; justify-content: center; align-items: center; background: var(--color-theme); border-radius: 3.667px; color: #FFF; font-size: 12px; font-weight: 500; line-height: 1; letter-spacing: -0.12px; flex-shrink: 0; position:absolute; top:10px; left:10px; } 
.board-wrap.thumbnail-type .list-wrap li .img { border-radius: 8px; border: 1px solid #E5E5E5; background: #F5F5F5; overflow:hidden; margin-bottom:20px; } 
.board-wrap.thumbnail-type .list-wrap li .img img { width:100%; height:auto; aspect-ratio: 293/180; object-fit: cover; object-position: center; } 
.board-wrap.thumbnail-type .list-wrap li .text p { overflow: hidden; color: #000; text-overflow: ellipsis; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; white-space: nowrap; margin-bottom:12px; } 
.board-wrap.thumbnail-type .list-wrap li .text span { color: #999; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 

/* --- 게시판 썸네일형 슬라이더 --- */
.board-wrap.thumbnail-type .swiper-wrapper { position: relative; } 
.board-wrap.thumbnail-type .swiper-slide .img { width:100%; height:auto; overflow:hidden; max-height:600px; } 
.board-wrap.thumbnail-type .swiper-slide .img img { width:100%; height:100%; object-fit: cover; object-position: center; max-height: 600px; } 
.board-wrap.thumbnail-type .slider-control { position:absolute; width: 100%; display:flex; justify-content: space-between; align-items: center; top:50%; transform: translateY(-50%); left:0; z-index: 1; } 
.board-wrap.thumbnail-type .slider-control .btn { width:37px; height:89px; overflow:hidden; text-indent:-999px; aspect-ratio:1/1; background:url('../img/common/ico-arrow-left.svg') center / 24px auto no-repeat rgba(61, 61, 61, 0.50); border-radius: 0 5px 5px 0; } 
.board-wrap.thumbnail-type .slider-control .btn.next { transform:rotate(180deg); } 
.board-wrap.thumbnail-type .slider-control .btn:hover, .board-wrap.thumbnail-type .slider-control .btn:active, .board-wrap.thumbnail-type .slider-control .btn:focus { background-color:rgba(61, 61, 61, 0.80); } 
.board-wrap.thumbnail-type .swiper.thumb { margin-top:20px; } 
.board-wrap.thumbnail-type .swiper.thumb .swiper-slide { aspect-ratio: 243/173; width:240px; height: auto; } 
.board-wrap.thumbnail-type .swiper.thumb .img { opacity:0.8; transition: all 0.2s ease; aspect-ratio: 243/173; } 
.board-wrap.thumbnail-type .swiper.thumb .is-active .img { opacity:1; } 

/* --- 페이징 --- */
.paging { margin-top:64px; } 
.paging, .paging .number, .paging a { display:flex; justify-content: center; align-items: center; } 
.paging a { width:40px; height:auto; aspect-ratio: 1/1; } 
.paging > a { background:center / contain no-repeat; text-indent:-999px; overflow:hidden; } 
.paging > a.first { background-image:url('../img/common/ico-arrow-first.svg'); } 
.paging > a.prev { background-image:url('../img/common/ico-arrow-prev.svg'); } 
.paging > a.next { background-image:url('../img/common/ico-arrow-next.svg'); } 
.paging > a.last { background-image:url('../img/common/ico-arrow-last.svg'); } 
.paging .number { gap:8px; margin:0 20px; } 
.paging .number > a { color: #999; font-size: 16px; font-weight: 500; line-height: 1.5; letter-spacing: -0.32px; border-radius:20px; text-align:center; } 
.paging .number > a:hover, .paging .number > a.current { background:var(--color-theme); color:#fff; font-weight:700; } 

/* --- 지도 --- */
.map-wrap { width:100%; height:auto; aspect-ratio: 235/103; background:#e1e1e1; margin-bottom:64px; } 
.map-wrap #map { width: 100%; height: 100%; } 

.map-search-wrap { display: flex; gap: 0; height: 560px; gap:12px; align-items: stretch; } 
.map-search-wrap .map-wrap { flex: 1; min-width: 0; aspect-ratio: unset; background: none; margin-bottom: 0; height: 100%; border-radius: 12px; overflow: hidden; } 

.map-table-wrap { display: flex; justify-content: space-between; align-items: stretch; gap:20px; } 
.map-table-wrap > * { width:50%; } 
.map-table-wrap .map { position: relative; width: fit-content; margin: 0 auto; } 
.map-table-wrap .map .map-img { display: block; width: 100%; margin: 0 auto; } 
.map-table-wrap .map .pin-wrap { position: absolute; width: 100%; height: 100%; top: 0; left: 0; } 
.map-table-wrap .map .pin-wrap .pin { position: absolute; cursor: pointer; display: flex; white-space: nowrap; align-items: center; flex-direction: column; } 
.map-table-wrap .map .pin-wrap .pin p { position: absolute; top: -60px; left: 50%; transform: translateX(-50%); text-align: center; font-size: 16px; font-weight: 700; letter-spacing: -0.16px; border-radius: 8px; background: #FFF; box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.04); white-space: nowrap; padding: 12px 16px; border: 1px solid #9BA4AD; z-index: 1; } 
.map-table-wrap .map .pin-wrap .pin:before { content: ""; display: block; width: 32px; height: auto; aspect-ratio: 1/1; background-color: #9BA4AD; -webkit-mask: url('../img/common/ico-pin.svg') center / contain no-repeat; mask: url('../img/common/ico-pin.svg') center / contain no-repeat; } 
.map-table-wrap .map .pin-wrap .pin span { color: #111; font-size: 12px; font-weight: 700; line-height: 1.2; letter-spacing: -0.3px; z-index: 1; } 
.map-table-wrap .map .pin-wrap .pin:hover span { color: var(--color-theme); }
.map-table-wrap .map .pin-wrap .pin:hover:before, .map-table-wrap .map .pin-wrap .pin.on:before { background-color: var(--color-theme); }
.map-table-wrap .table-wrap { overflow: hidden; border-radius: 12px 12px 0 0; } 
.map-table-wrap .table-wrap table { width: 100%; font-size: 16px; text-align: center; line-height: 1.4; letter-spacing: -0.16px; } 
.map-table-wrap .table-wrap table thead tr { background: var(--color-theme); } 
.map-table-wrap .table-wrap table th { color: #FFF; font-weight: 600; padding: 12px 8px; } 
.map-table-wrap .table-wrap table tbody tr { border-bottom: 1px dashed #CCC; } 
.map-table-wrap .table-wrap table td { color: #333; font-weight: 500; padding: 12px 8px; height:47px; } 
.map-table-wrap .table-wrap table td p { text-align: center; font-size: 14px; font-weight: 600; line-height: 1; letter-spacing: -0.14px; border-radius: 4px; padding: 8px; width: 72px; margin: 0 auto; } 

/* --- 목록 패널 --- */
.map-list-panel { width: 280px; flex-shrink: 0; overflow-y: auto; } 
.map-list-ul { list-style: none; padding-right:10px; } 
.map-list-item { border-radius: 15px; border: 1px solid #000; padding:20px; cursor: pointer; transition: all 0.2s ease; } 
.map-list-item + .map-list-item { margin-top:12px; } 
.map-list-panel .map-list-item.first-visible { margin-top: 0; } 
.map-list-item:hover, .map-list-item.active { background: var(--color-theme-opacity); border-color:var(--color-theme); } 
.map-list-item .name { display: block; color: #000; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; margin-bottom:8px; } 
.map-list-item .address { color: #000; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.map-list-item .tel { color: #000; font-size: 14px; font-weight: 400; line-height: 1.55; letter-spacing: -0.28px; } 
.map-list-item .tags { display: flex; gap:4px; margin-top:16px; } 
.map-list-item .tags span { color: #111; font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: -0.3px; padding: 6px 12px; border-radius: 200px; background: #F5F5F5; } 
.map-list-item:hover .tags span, .map-list-item.active .tags span { background:#fff; } 

.transportation-wr { display: flex; flex-direction: column; gap:20px; } 
.transportation-wr + .transportation-wr { margin-top:32px; } 
.transportation-wr .tit { color: #111; font-size: 20px; font-weight: 600; line-height: 1.45; letter-spacing: -0.4px; } 
.transportation-wr .info { display:flex; justify-content: flex-start; align-items: flex-start; gap:8px; } 
.transportation-wr .info .num { display:flex; justify-content: flex-start; align-items: stretch; gap:8px; } 
.transportation-wr .info .num > p { color: #FFF; text-align: center; font-size: 14px; font-weight: 600; line-height: 1; letter-spacing: -0.14px; padding: 8px 12px; border-radius:200px; } 
.transportation-wr .info .txt { color: #111; font-size: 20px; font-weight: 600; line-height: 1.45; letter-spacing: -0.4px; } 
.transportation-wr .green { background:#1CB155; } 
.transportation-wr .orange { background:#F57D2F; } 
.transportation-wr .blue { background:#3A8DDE; } 
.transportation-wr .lightblue { background:#00AAE7; } 
.transportation-wr .yellow { background:#F2C506; } 
.transportation-wr .red { background:#E60013; } 

/* --- 카카오 커스텀 오버레이 --- */
.map-overlay { position: relative; padding: 12px 16px; border-radius: 8px; border: 1px solid var(--color-theme); background: #FFF; box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.04); overflow:hidden; } 
.map-overlay .ov-close { display:none; } 
.map-overlay .ov-name { display: block; color: #000; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; margin-bottom:8px; } 
.map-overlay .ov-address { color: #000; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; margin-bottom:20px; } 
.map-overlay .ov-btn { border-radius: 4px; border: 1px solid var(--color-theme); background: #FFF; padding: 6px 12px; color: var(--color-theme); font-size: 14px; font-weight: 600; line-height: 1.40; letter-spacing: -0.28px; float:right; } 
.map-overlay .ov-btn:hover { background:var(--color-theme-hover); color:#fff; } 
.map-overlay .ov-etc { color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; margin-top:5px; } 

/* =========================================================
 6. 정보 테이블 / 검색 결과 테이블
========================================================= */
.line-bx { width:100%; border-radius: 20px; border: 1px solid #E5E5E5; background: #FFF; padding: var(--clamp-size-32); } 
.line-bx.co { background:var(--color-theme-opacity); border-color:var(--color-theme); } 
.line-bx .tit { color: #111; font-size: 16px; font-weight: 600; line-height: 1.55; letter-spacing: -0.32px; } 
.line-bx .desc { color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; margin-top:8px; } 
.line-bx.fl { display:flex; justify-content: space-between; align-items: center; } 

.box-wrap { max-width:660px; padding: 80px; border-radius: 20px; border: 1px solid #E5E5E5; background: rgba(255, 255, 255, 0.40); backdrop-filter: blur(10px); margin:0 auto; display: flex; flex-direction: column; gap: 24px; } 
.box-wrap .title { color: #000; text-align: center; font-size: 24px; font-weight: 400; line-height: 1.45; letter-spacing: -0.48px; } 
.box-wrap .chk label { font-size:16px; color:#1B1B1B; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 

.info-bx { display: flex; padding: 16px; justify-content: flex-start; align-items: flex-start; gap: 8px; align-self: stretch; border-radius: 8px; margin:10px 0; } 
.info-bx .ico { background:center / auto no-repeat; line-height: 1; aspect-ratio: 22/20; flex-shrink: 0; } 
.info-bx .txt { display:flex; flex-direction:column; justify-content: flex-start; align-items: flex-start; } 
.info-bx .txt .tit { color: #222; font-size: 16px; font-weight: 600; line-height: 1.55; letter-spacing: -0.32px; } 
.info-bx .txt .tit.sm { font-weight:400; } 
.info-bx .txt p { color: #222; font-size: 14px; font-weight: 400; line-height: 1.55; letter-spacing: -0.28px; } 
.info-bx .txt .tit + p { margin-top:8px; } 
.info-bx .txt p + p { margin-top:4px; } 

.info-bx.alert { background: #FFF4E4; } 
.info-bx.alert .ico { background-image:url('../img/common/ico-info-tri.svg'); width:22px; height:auto; margin-top:2px; } 
.info-bx.info { background: rgba(58, 141, 222, 0.04); } 
.info-bx.info .ico { background-image:url('../img/common/ico-info-i.svg'); background-color:#3A8DDE; width:22px; height:auto; border-radius:100px; } 
.info-bx.survey-intro .ico { display:none; } 

.notice-bx { display: flex; padding: 24px 16px; flex-direction: column; justify-content: center; align-items: flex-start; gap: 4px; align-self: stretch; border-radius: 8px; background: #F5F5F5; } 
.notice-bx p { color: #222; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; display:flex; gap:8px; justify-content: flex-start; align-items: flex-start; } 
.notice-bx p:before { content:""; width: 6px; height: auto; aspect-ratio: 1/1; border-radius:10px; background:#111; margin-top:8px; } 
.notice-bx.nb p:before { display:none; } 
.notice-bx.f20, .notice-bx.f20 p { font-size:20px } 

.gray-bx { padding: 40px 10px; font-size:24px; font-weight:700; color:#000; background: var(--Grey01, #F5F5F5); width:100%; text-align:center; border-radius: 12px; } 

/* --- dl 테이블 --- */
.dl-wrap { border-top: 1px solid #111; } 
.dl-wrap .req { color:#DE4135; margin-left:2px; } 
.dl-wrap .bold { font-weight:600; } 
.dl-wrap dt .sub { display:block; color:#999; font-size:14px; font-weight:400; } 
.dl-wrap dl .row, .dl-wrap dl .col { display:flex; justify-content: flex-start; align-items: stretch; position:relative; } 
.dl-wrap dl .row { width:100%; border-bottom: 1px solid #E5E5E5; } 
.dl-wrap dl .double { display:flex; justify-content: flex-start; align-items: center; } 
.dl-wrap dl .double .col { width:50%; } 
.dl-wrap dt { color: #000; text-align: center; font-size: 16px; font-weight: 600; line-height: 1.55; letter-spacing: -0.32px; background: #F5F5F5; width: max(110px, 11.5vw); padding: 16px 0; flex-shrink: 0; display:flex; justify-content: center; align-items: center; } 
.dl-wrap dt > p { font-size:inherit; } 
.dl-wrap dd { width:100%; color: #000; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; padding:16px 24px; gap:12px; display:flex; align-items: center; min-width:0; flex-wrap: wrap; } 
.dl-wrap dd.pd { padding:12px 24px; } 
.dl-wrap dd.col { flex-direction: column; gap:12px; } 
.dl-wrap dd .input-wrap { width:100%; } 
.dl-wrap dd .input-wrap input { padding:4px 12px; height:33px; } 
.dl-wrap dd .btn-de { color: #111; font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: -0.24px; border-radius: 4px; background: #F5F5F5; padding: 3px 12px; } 
.dl-wrap dd .btn-de.color { background:var(--color-theme); color:#fff; } 
.dl-wrap dd .input-wrap .select-box-wrap .select-label { padding:4px 12px; height:33px; } 
.dl-wrap dd .input-wrap .select-box-wrap .select-box-list-wr { top:32px; } 
.dl-wrap dd .desc { color: #666; font-size: 14px; font-weight: 400; line-height: 1.4; letter-spacing: -0.28px; } 
.dl-wrap dd .desc.ti { text-indent:-12px; padding-left:12px; } 
.dl-wrap dd .radio-wrap span { font-size:16px; } 
.dl-wrap dd .radio-wrap, .dl-wrap dd .btn-de { flex-shrink: 0; } 
.dl-wrap dd .flex { gap:8px; } 
.dl-wrap dd .tel-wrap { display:flex; gap:8px; } 
.dl-wrap dd .tel-wrap span { display:flex; align-items:center; } 
.dl-wrap dd .tel-wrap .input-wrap { width:auto; } 
.dl-wrap dd.tbl { padding:0; } 
.dl-wrap dd.tbl { display:flex; text-align:center; color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; gap:0; } 
.dl-wrap dd.tbl dl { width:50%; } 
.dl-wrap dd.tbl dl, .dl-wrap dd.tbl dd { display:flex; flex-direction: column; } 
.dl-wrap dd.tbl dt { width:100%; background:transparent; font-weight:400; } 
.dl-wrap dd.tbl dt, .dl-wrap dd.tbl dd { padding: 16px 24px; } 
.dl-wrap dd.tbl dd { gap:8px; } 
.dl-wrap dd.tbl dd p:not(.status) { font-size:inherit; font-weight:inherit; line-height:inherit; letter-spacing: inherit; } 
.dl-wrap dd.tbl dl + dl { border-left:1px solid #E5E5E5; } 
.dl-wrap dd.tbl dd:not(:first-child) { border-top:1px solid #E5E5E5; } 
.dl-wrap dd.tbl.row { border:0; } 
.dl-wrap dd.tbl.row dl { flex-direction: row; width:100%; } 
.dl-wrap dd.tbl.row dl + dl { border:0; border-top:1px solid #E5E5E5; } 
.dl-wrap dd.tbl.row dd { border:0; } 
.dl-wrap dd.tbl.row dd.f1 { width: auto; flex-shrink: 0; border-right:1px solid #E5E5E5; } 

.num-bx { display:flex; flex-direction: column; gap:12px; } 
.num-item { display:flex; justify-content: flex-start; align-items: flex-start; color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; gap:4px; } 
.num-item * { all:inherit; } 

/* --- 테이블 --- */
.search-total { color: #111; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; margin-bottom:24px; } 
.search-total strong { color: var(--color-theme); font-size: 20px; font-weight: 700; letter-spacing: -0.4px; } 

.tbl-wrap { width:100%; } 
.tbl-wrap table { width:100%; border-radius: 20px 20px 0 0; overflow:hidden; } 
.tbl-wrap thead th { color: #111; font-size: 16px; font-weight: 600; line-height: 1.40; letter-spacing: -0.16px; padding: 20px 8px; background: #F5F5F5; } 
.tbl-wrap tbody tr { border-bottom: 1px dashed #CCC; } 
.tbl-wrap tbody th { color: #333; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.tbl-wrap tbody td { color: #333; text-align: center; font-size: 16px; font-weight: 500; line-height: 1.40; letter-spacing: -0.16px; padding: 20px 8px; } 
.tbl-wrap tbody td.pd-light { padding:12px 8px; } 
.tbl-wrap .bold { font-weight: 600; } 
.tbl-wrap .left { text-align:left; } 
.tbl-wrap .right { text-align:right; } 
.tbl-wrap tfoot tr { border-bottom: 1px dashed #CCC; background:var(--color-theme-opacity); } 
.tbl-wrap tfoot td { color: var(--color-theme); text-align: center; font-size: 16px; font-weight: 500; line-height: 1.40; letter-spacing: -0.16px; padding: 20px 8px; } 
.tbl-wrap .cate { color: #555; font-size: 14px; font-weight: 400; line-height: 1.4; letter-spacing: -0.28px; margin-bottom:4px; } 
.tbl-wrap .tit { color: #111; font-size: 16px; font-weight: 500; line-height: 1.4; letter-spacing: -0.16px; } 
.tbl-wrap .btn-wrap { display:flex; align-items: stretch; gap:4px; } 
.tbl-info { color: #000; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; margin-top:16px; text-indent: -12px; padding-left:12px; } 
.tbl-info.gray { color:#555; } 
.tbl-wrap.overflow { overflow-x:auto; } 
.tbl-wrap.overflow table { min-width:500px; white-space: nowrap; } 
.tbl-wrap.overflow.mw800 table { min-width:800px; } 
.tbl-wrap.overflow .select-box-wrap .select-box-list-wr { position:fixed; top:auto; left:auto; width:auto; min-width:0; } 

.tbl-dl-wrap { width:100%; } 
.tbl-dl-wrap table { width:100%; border-top: 1px solid #111; color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.tbl-dl-wrap th { font-weight:600; padding:16px 24px; background:#F5F5F5; } 
.tbl-dl-wrap td { font-weight:400; padding:16px 24px; } 
.tbl-dl-wrap thead th { background:#E9E9E9; } 
.tbl-dl-wrap tbody th, .tbl-dl-wrap tbody td { border-bottom:1px solid #E5E5E5; } 
.tbl-dl-wrap tbody td { border-right:1px solid #E5E5E5; } 
.tbl-dl-wrap tr > *:last-child, .tbl-dl-wrap tbody td.last { border-right:0; }
.tbl-dl-wrap.overflow { overflow-x:auto; } 
.tbl-dl-wrap.overflow table { min-width:800px; white-space: nowrap; } 

.data-card { padding: 40px 0; border-radius: 20px; background: #F5F5F5; } 
.data-list { display: grid; } 
.data-card.col4 .data-list { grid-template-columns: repeat(4, 1fr); } 
.data-card.col5 .data-list { grid-template-columns: repeat(5, 1fr); } 
.data-list .item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding:0 24px; } 
.data-list .item.left { align-items: flex-start; } 
.data-list .item + .item:not(.nb) { border-left: 2px dashed #E5E5E5; } 
.data-list .item .label { color: #111; font-size: 16px; font-weight: 500; line-height: 1.55; letter-spacing: -0.32px; } 
.data-list .item .value { color: #111; font-size: 24px; font-weight: 700; line-height: 1.45; letter-spacing: -0.48px; } 
.data-list .item .value.col { color:var(--color-theme); } 
.data-list .value-wrap { display: flex; align-items: center; gap: 4px; } 
.data-list .value-wrap .sub { color: #666; font-size: 14px; font-weight: 600; line-height: 1.55; letter-spacing: -0.28px; } 
.data-list .select-box-wrap, .data-list .select-box-wrap .select-label, .data-list .datepicker-wrap input { width:100% !important; height:35px; } 
.data-list .select-box-wrap .select-box-list-wr { top:34px; } 
.data-list .btn-wrap { display:flex; align-items: center; gap:8px; width:100%; } 
.data-list .btn-wrap button { width:100%; border-radius: 12px; border: 1px solid #CECCCC; background: #FFF; padding: 12px 16px; color: #555; font-size: 18px; font-weight: 700; line-height: 1.4; letter-spacing: -0.36px; } 
.data-list .btn-wrap button.col { background:var(--color-theme); color:#fff; border:0; } 

.date-list-bx { display:flex; flex-direction: column; gap:16px; } 
.date-list-bx li { display: flex; padding: 24px; align-items: flex-start; align-items: center; gap: 20px; border-radius: 12px; background: #F5F5F5; gap:12px; } 
.date-list-bx li strong { color: #111; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; flex-shrink: 0; } 
.date-list-bx li p { color: #000; font-size: 20px; font-weight: 400; line-height: 1.45; letter-spacing: -0.4px; display:flex; justify-content: flex-start; align-items: center; gap:12px; } 
.date-list-bx li p:before { content:""; display:block; width:6px; height:auto; aspect-ratio: 1/1; background:#666; border-radius:10px; flex-shrink: 0; } 

/* =========================================================
7. 로그인, 회원가입, 마이페이지
========================================================= */
.mypage header { border-bottom: 1px solid #E5E5E5; background:#fff; } 
.mypage #wrap { background:var(--bg-board); min-height:calc(100vh - 100px); align-items: center; overflow:hidden; } 
.mypage #wrap .inner { position:relative; height:100%; } 
.mypage.signup-page.signup-step-2 #wrap { align-items:flex-start; overflow:visible; }
.mypage.signup-page.signup-step-2 #wrap #step-2 { height:auto; }
.mypage #wrap:before { content:""; display:block; position:absolute; width:450px; height:auto; aspect-ratio: 1/1; border-radius:1000px; opacity: 0.4; background: linear-gradient(285deg, rgba(245, 245, 245, 0.00) 4.61%, #F5F5F5 74.01%); left:20%; top:0; } 
.mypage #wrap .inner .top { text-align:center; margin:64px 0; color: #111; line-height: 1.45; position: relative; z-index: 1; } 
.mypage #wrap .inner .top .cate { display:inline-block; border-radius: 24px; border: 1px solid #E5E5E5; background: #FFF; padding: 12px 16px; color: #111; font-size: 14px; font-weight: 600; line-height: 1.57; letter-spacing: -0.14px; margin-bottom:12px; } 
.mypage #wrap .inner .top .tit { font-size: 40px; font-weight: 700; letter-spacing: -0.8px; } 
.mypage #wrap .inner .top .des { font-size: 24px; font-weight: 400; letter-spacing: -0.48px; margin-top:20px; } 
.mypage #wrap .inner .top .des strong { color:var(--color-theme); } 
.mypage #wrap .inner .top .sub-des { display:flex; justify-content: center; align-items:flex-start; text-align:center; gap:3px; margin-top:8px; } 
.mypage #wrap .inner .cont { max-width:500px; margin:0 auto; position: relative; z-index: 1; width:100%; display:flex; flex-direction: column; align-items: center; } 
.mypage #wrap .inner .cont > * { width:100%; } 
.mypage .input-wrap + .input-wrap { margin-top:24px; } 
.mypage .agree-wrap { display: flex; padding: 40px 20px; flex-direction: column; justify-content: center; align-items: flex-start; gap: 24px; align-self: stretch; border-radius: 8px; background: #F5F5F5; margin-bottom:24px; } 
.mypage .agree-wrap .accordion-wrap { display:block; padding:0; } 
.mypage .agree-wrap .chk label { color: #313030; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; } 
.mypage .agree-wrap .accordion-head { display:flex; justify-content: space-between; } 
.mypage .agree-wrap .accordion-head .open-btn { color: var(--color-theme); font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: -0.24px; text-decoration-line: underline; text-decoration-style: solid; text-decoration-skip-ink: auto; text-decoration-thickness: auto; text-underline-offset: auto; text-underline-position: from-font; flex-shrink: 0; } 
.mypage .agree-wrap .accordion-bottom { color: #555; font-size: 14px; font-weight: 400; line-height: 1.45; letter-spacing: -0.28px; padding-top:4px; } 
.mypage #wrap.login .box-wrap { gap:0; } 
.mypage #wrap.login .inner .top { margin:0; margin-bottom:40px; } 
.mypage #wrap.login .inner .input-wrap { position:relative; } 
.mypage #wrap.login .inner .input-wrap:before { content:""; position:absolute; top:50%; transform:translateY(-50%); left:14px; display:block; width:24px; height:auto; aspect-ratio: 1/1; background:center / 100% auto no-repeat; } 
.mypage #wrap.login .inner .input-wrap.id:before { background-image: url(../img/common/ico-login-id.svg); } 
.mypage #wrap.login .inner .input-wrap.pw:before { background-image: url(../img/common/ico-login-pw.svg); } 
.mypage #wrap.login .inner .input-wrap input { padding-left:42px; } 
.mypage #wrap.login .inner .input-wrap + .input-wrap { margin-top:12px; } 
.mypage #wrap.login .inner .chk { margin-top:20px; } 
.mypage #wrap.login .inner .chk label { color: #666; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.mypage #wrap.login .inner .input-btn { margin-top:32px; } 
.mypage #wrap.login .inner .link { display:flex; justify-content: space-between; align-items: center; margin-top:12px; } 
.mypage #wrap.login .inner .link .lost { display:flex; justify-content: center; align-items: center; gap:8px; } 
.mypage #wrap.login .inner .link .lost a { color: #666; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.mypage #wrap.login .inner .link .lost span { width: 1px; height: 12px; background:#999; } 
.mypage #wrap.login .inner .link .register { color: var(--color-theme-hover); font-size: 16px; font-weight: 600; line-height: 1.55; letter-spacing: -0.32px; } 
.mypage .bx + .bx { margin-top:32px; } 

.popup-cont .id-info { display:flex; flex-direction: column; align-items: flex-start; gap:16px; border-bottom: 1px dashed #CECCCC; margin:16px 0; } 
.popup-cont .id-info .cate { color: #FFF; font-size: 14px; font-weight: 600; line-height: 1; letter-spacing: -0.14px; border-radius: 200px; background: var(--color-theme); padding: 8px 12px; } 
.popup-cont .id-info .text { width:100%; display:flex; justify-content: flex-start; align-items: center; border-radius: 8px; background:var(--color-theme-opacity); padding: 12px 16px; gap:8px; } 
.popup-cont .id-info .text:before { content:""; display:block; width:20px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-info-i.svg') center / auto no-repeat var(--color-theme); flex-shrink: 0; border-radius:100px; } 
.popup-cont .id-info .text p { color: #222; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.popup-cont .id-info .text p strong { font-weight:700; } 
.popup-cont .id-info .id-wr { display:flex; justify-content: flex-start; align-items: center; color: #333; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.popup-cont .id-info .id-wr * { font-size:inherit; font-weight:inherit; color:inherit; padding: 12px 8px; } 
.popup-cont .id-info .id-wr .label { width:140px; flex-shrink: 0; } 
.popup-cont .id-info .id-wr .id { font-weight:600; color:var(--color-theme); } 

.addr-postcode-wrap { display: none; width: 100%; border: 1px solid #E5E5E5; border-radius: 8px; overflow: hidden; } 
.addr-postcode-layer { width: 100%; height: 400px; } 

.status { border-radius: 4px; display: inline-flex; min-width:65px; height:25px; padding: 3px 12px; justify-content: center; align-items: center; gap: 4px; color: #FFF; font-size: 12px; font-weight: 600; letter-spacing: -0.24px; white-space: nowrap; } 
.status.light { font-size:14px; font-weight:600; line-height:1; letter-spacing:-0.14px; padding:6px 12px; } 
.status.mid { font-size: 16px; font-weight: 600; line-height: 1; letter-spacing: -0.14px; padding: 8px 12px; min-width:80px; height:30px; } 
.status.big { font-size:18px; font-weight:700; letter-spacing: -0.36px; border-radius:12px; padding:12px 16px; min-width:100px; height:45px; } 
.status.theme { background:var(--color-theme); } 
.status.green { background:#00873B; } 
.status.blue { background:#3A8DDE; } 
.status.lightblue { background:#00AAE7; } 
.status.yellow { background:#FFC629; } 
.status.red { background:#E60013; } 
.status.gray { background:#F5F5F5; color:#000; } 
.status.gray.end { color:#999; } 
.status.opacity { background:var(--color-theme-opacity); color:#000; } 
.status.square { min-width:auto; aspect-ratio: 1/1; text-indent:-999px; overflow:hidden; background:center / 16px auto no-repeat var(--color-theme-opacity); } 
.status.square.modify { background-image:url('../img/common/ico-modify.svg'); } 
.status.square.delete { background-image:url('../img/common/ico-delete.svg'); } 

.authority-list { display:flex; flex-direction: column; gap:16px; } 
.authority-list .item { display:flex; justify-content: space-between; align-items: center; border-radius: 12px; background: #F5F5F5; padding:24px; } 
.authority-list .item .text .tit { color: #000; font-size: 20px; font-weight: 600; line-height: 1.55; letter-spacing: -0.4px; } 
.authority-list .item .text .des { display:flex; align-items: center; color: #333; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; gap:4px; } 
.authority-list .item .text .des .dots { width:4px; height:auto; aspect-ratio: 1/1; background:#d9d9d9; border-radius:100px; } 

.step-wrap ul { display:flex; justify-content: flex-start; align-items: center; gap:8px; } 
.step-wrap li { display: flex; min-width: 80px; padding: 8px 12px; justify-content: center; align-items: center; gap: 6px; border-radius: 4px; background: #F5F5F5; color: #999; font-size: 14px; font-weight: 600; line-height: 1; letter-spacing: -0.14px; } 
.step-wrap li.on { color:#fff; background-color: var(--color-theme); } 
.step-wrap li.arr { min-width:auto; padding:0; width:20px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-arrow-right-black-bold.svg') center / 100% auto no-repeat transparent; } 

.step-nav { display: flex; justify-content: space-between; gap: 8px; } 
.step-nav button { flex: 1; max-width: 200px; height: 58px; border-radius: 100px; font-size: 18px; font-weight: 600; } 
.step-nav .prev { background: #F5F5F5; color: #111; } 
.step-nav .next { background: #111; color: #fff; margin-left: auto; } 

.capacity-wrap { display:flex; align-items:center; gap:12px; max-width:644px; } 
.capacity-wrap .text { display:flex; align-items:center; gap:8px; color:#111; color: #111; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; } 
.capacity-wrap .text strong { font-weight:700; color:var(--color-theme); } 
.capacity-wrap .text span { font-size:14px; } 
.capacity-wrap .bar { flex:1; height:8px; border-radius:100px; background:#E5E5E5; overflow:hidden; } 
.capacity-wrap .bar .fill { display:block; height:100%; border-radius:100px; background:var(--color-theme); } 

.count-wrap { display:flex; justify-content: flex-start; align-items: center; gap:12px; } 
.count-wrap .label { color: #111; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; } 
.count-wrap button { width:20px; height:auto; aspect-ratio: 1/1; background:center / 100% auto var(--color-theme); border-radius: 4px; line-height:1; color:#fff; } 
.count-wrap input { width:40px; color: var(--color-theme); text-align: center; font-size: 18px; font-weight: 700; line-height: 1.45; letter-spacing: -0.36px; } 
.count-wrap .unit { color: #111; font-size: 14px; font-weight: 400; line-height: 1.45; letter-spacing: -0.28px; } 
.count-wrap .desc { color: #111; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; } 

.img-wrap { display:flex; flex-direction: column; justify-content: center; align-items: flex-start; } 
.img-wrap img { display:block; width:100%; } 
.img-wrap p { color: #111; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; margin-top:12px; } 
.img-wrap p.note { color: #555; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.img-wrap p a { text-decoration: underline; text-underline-position: under; } 
.img-wrap.center { align-items: center; } 
.img-wrap.auto img { width:auto; } 
.img-wrap.cap-wrap { position: relative; max-width:678px; border-radius: 20px; overflow:hidden; } 
.img-wrap.cap-wrap .cap { position: absolute; left: 0; bottom: 0; width:100%; height:100%; color: #FFF; font-size: 32px; font-weight: 700; line-height: 1.45; letter-spacing: -0.64px; background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.8) 100%); display:flex; align-items: flex-end; padding:40px; } 
.img-wrap.text { flex-direction: row; justify-content: flex-start; gap:24px; } 
.img-wrap.text img { width:auto; flex-shrink: 0; } 
.img-wrap.text .cont { display:flex; flex-direction: column; gap:12px; } 
.img-wrap.text .cont .tit { color: #111; font-size: 20px; font-weight: 600; line-height: 1.45; letter-spacing: -0.4px; } 

.bullet-list { display:flex; flex-direction: column; gap:4px; } 
.bullet-list li { display:flex; justify-content: flex-start; align-items: flex-start; gap:4px; } 
.bullet-list li:before { content:"·"; display:block; } 

/* 연혁 */
.history-page { position: relative; } 
.history-fixed-side { position: fixed; flex-shrink: 0; z-index: 20; } 
.history-fixed-side.is-fixed { position: fixed; } 
.history-fixed-side.is-bottom { position: absolute; } 
.history-tab { margin-bottom: 32px; } 
.year-num { display: flex; align-items: flex-start; } 
.year-num .fix { display: block; color: #111; font-size: 100px; font-weight: 700; line-height: 1.2; height: 100px; flex-shrink: 0; } 
.year-num .roll-wrap { overflow: hidden; } 
.year-num .roll-list { transition: transform .4s cubic-bezier(.4, 0, .2, 1); } 
.year-num .roll-list li { list-style: none; height: 100px; line-height: 1.2; color: #111; font-size: 100px; font-weight: 700; opacity: .5; transition: height .4s cubic-bezier(.4, 0, .2, 1), line-height .4s cubic-bezier(.4, 0, .2, 1), font-size .4s cubic-bezier(.4, 0, .2, 1), opacity .4s cubic-bezier(.4, 0, .2, 1); text-align:right; } 
.year-num .roll-list li.active { opacity: 1; } 
.year-num .roll-list li + li { margin-top:24px; } 
.history-body { padding-left:clamp(100px, 20vw, 375px); padding-top:80px; } 
.history-list { flex: 1; min-width: 0; } 
.history-row { display: flex; gap: var(--clamp-size-64); padding: 32px 40px; border-bottom: 1px solid #E5E5E5; } 
.history-row .month { flex-shrink: 0; width: 44px; color: var(--color-theme); font-size: 20px; font-weight: 600; line-height: 1.45; letter-spacing: -0.4px; } 
.history-row .txt p { color: #111; font-size: 20px; font-weight: 400; line-height: 1.45; letter-spacing: -0.4px; } 
.history-row .txt > span { display:block; color: #111; font-size: 16px; font-weight: 400; line-height: 1.45; letter-spacing: -0.4px; } 

/* 대관신청 */
.step-flow { display: flex; align-items: stretch; justify-content: space-between; gap: auto; margin-bottom:40px; } 
.step-flow-item { width:100%; max-width:214px; border-radius: 12px; border: 1px solid #E5E5E5; background: #FFF; padding-top:20px; display:flex; flex-direction: column; justify-content: center; align-items: center; } 
.step-flow-item .num, .step-flow-item .tit { color: #666; text-align: center; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; } 
.step-flow-item .ico { display: block; width: 122px; height: auto; aspect-ratio: 1/1; margin-top: 8px; background:center / 100% auto no-repeat; opacity: 0.2; } 
.step-flow-item .ico.ico01 { background-image:url('../img/common/ico-rental01.svg'); } 
.step-flow-item .ico.ico02 { background-image:url('../img/common/ico-rental02.svg'); background-size: min(100%, 82px) auto; } 
.step-flow-item .ico.ico03 { background-image:url('../img/common/ico-rental03.svg'); } 
.step-flow-item .ico.ico04 { background-image:url('../img/common/ico-rental04.svg'); } 
.step-flow-item .ico.ico05 { background-image:url('../img/common/ico-rental05.svg'); background-size: min(100%, 80px) auto; } 
.step-flow>.arr { flex-shrink: 0; width: 25px; height: auto; aspect-ratio: 1/1; background: url('../img/common/ico-arrow-right-black-bolder.svg') center / 100% auto no-repeat; } 
.step-flow-item.on { border-color:#D2D7DC; } 
.step-flow-item.on .num, .step-flow-item.on .tit { color:#111; } 
.step-flow-item.on .ico { opacity: 1; } 
.step-flow.text .step-flow-item { padding:40px 0; } 
.step-flow.text .step-flow-item.on { background:var(--color-theme-opacity); border-color:var(--color-theme); } 
.step-flow.text .step-flow-item.on * { color:var(--color-theme); } 

.scroll-bx { max-height: 250px; overflow-y: auto; padding: 24px; border-radius: 12px; background: #F5F5F5; } 
.scroll-bx p { color: #666; font-size: 15px; line-height: 1.7; } 

.rental-input-wrap { display:flex; justify-content: space-between; align-items: stretch; gap:20px; } 
.rental-input-col { width:100%; } 
.rental-input-col .accordion-wrap-list { overflow-y:auto; } 
.time-select-col .empty-txt { color: #313030; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; } 
.time-select-col .input-wrap + .input-wrap { margin-top:24px } 
.tag-chip-wrap { display:flex; justify-content: flex-start; align-items: stretch; flex-wrap: wrap; gap:12px; } 
.tag-chip-wrap .tag-chip { display: flex; padding: 16px 24px; justify-content: center; align-items: center; gap: 10px; border-radius: 100px; background: #FFF; box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.04); color: #555; font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -0.45px; } 
.tag-chip-wrap .tag-chip button { width:24px; height:auto; aspect-ratio: 1/1; background:url('../img/common/ico-close-popup.svg') center / 100% auto no-repeat; } 

#equipmentTableBody .chk.equip-chk-wrap { display:inline-block; padding-left:0; width:20px; height:20px; } 
#equipmentTableBody .chk.equip-chk-wrap label:before,
#equipmentTableBody .chk.equip-chk-wrap input[type="checkbox"]:checked + label:after { left:0; } 

.apply-type-cards { display:flex; gap:20px; } 
.apply-type-cards .apply-type-card { padding: 28px; border-radius: 16px; background: #F5F5F5; border:1px solid #F5F5F5; transition:border-color .15s ease, background .15s ease; flex:1; display:flex; justify-content: space-between; align-items: center; } 
.apply-type-cards .apply-type-card.on { border-color:var(--color-theme); background:var(--color-theme-opacity); } 
.apply-type-cards .apply-type-card .tit { display:flex; align-items:center; gap:8px; color:#111; font-size:24px; font-weight:600; letter-spacing: -0.6px; } 
.apply-type-cards .apply-type-card .tit .tag { font-size:14px; font-weight:400; } 
.apply-type-cards .apply-type-card .desc { margin-top:12px; color:#000; font-size:18px; line-height:1.45; letter-spacing: -0.36px; } 

.file-upload-wrap { display: flex; justify-content: flex-start; align-items: center; gap: 8px; } 
.file-upload-wrap .file-name { color: #666; font-size: 14px; font-weight: 400; line-height: 1.4; letter-spacing: -0.28px; } 
.file-upload-wrap .file-btn { color: #FFF; text-align: center; font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: -0.24px; border-radius:4px; background:var(--color-theme); padding:8px 12px; display: flex; justify-content: center; align-items: center; } 

.complete-bx { display:flex; justify-content: center; align-items: center; flex-direction: column; border-radius: 20px; border: 1px solid #E5E5E5; background: #FFF; padding:40px; } 
.complete-bx .ico { margin-bottom:12px; } 
.complete-bx .ico:before { content: ""; display:block; width:48px; height:auto; aspect-ratio: 1/1; background:url("../img/common/ico-check-circle.svg") center / 100% auto no-repeat; } 
.complete-bx .tit { color: #111; text-align: center; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; } 
.complete-bx .desc { color: #666; text-align: center; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 

.result-nav { display: flex; justify-content: space-between; align-items: center; } 
.result-nav-left { display: flex; gap: 8px; } 

.photo-wrap { display:flex; justify-content: space-between; align-items: center; } 
.photo-wrap .left { width:100%; } 
.photo-wrap .right { flex-shrink: 0; } 
.photo-wrap .right dt { display:none; } 
.photo-upload-bx { display: flex; width : 167px; height: auto; aspect-ratio: 170/210; flex-direction: column; justify-content: center; align-items: center; gap: 8px; border-radius: 5px; border: 1px dashed #CECCCC; background: #F5F5F5; position:relative; overflow:hidden; } 
.photo-upload-bx .ico { width:24px; height:auto; aspect-ratio: 1/1; background:url("../img/common/ico-camera.svg") center / 100% auto no-repeat; } 
.photo-upload-bx .txt { color: #000; text-align: center; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: -0.28px; } 
.photo-upload-bx .photo-input { position:absolute; top:0; left:0; width:100%; height:100%; } 
.photo-upload-bx .preview-img { display:none; width:100%; height:100%; object-fit:cover; } 
.photo-upload-bx.has-image { border:1px solid #cecccc; } 
.photo-upload-bx.has-image .ico,
.photo-upload-bx.has-image .txt { display:none; } 
.photo-upload-bx.has-image .preview-img { display:block; } 

.file-dropzone { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 20px; gap:12px; background: #FAFAFA; cursor:pointer; border-radius: 4px; border: 1px dashed #CECCCC; } 
.file-dropzone .ico { display: block; width: 44px; height: auto; aspect-ratio: 1/1; background: url('../img/common/ico-file-gray.svg') center / 100% auto no-repeat; } 
.file-dropzone .tit { color: #666; text-align: center; font-size: 16px; font-weight: 600; line-height: 1.55; letter-spacing: -0.32px; } 
.file-dropzone .desc { color: #666; text-align: center; font-size: 14px; font-weight: 400; line-height: 1.55; letter-spacing: -0.28px; } 

.file-dropzone-result { display: flex; padding: 16px 20px; justify-content: space-between; align-items: center; gap: 12px; border-radius: 4px; background: #FAFAFA; } 
.file-dropzone-result .name { color: var(--color-theme); font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; display:flex; justify-content: flex-start; align-items: center; } 
.file-dropzone-result .name:before { content:""; display:block; width:18px; height:auto; aspect-ratio:1/1; background: url('../img/common/ico-file-clip.svg') center / 100% auto no-repeat; @supports (mask: url('')) { background-color: var(--color-theme); -webkit-mask: url('../img/common/ico-file-clip.svg') center / 100% auto no-repeat; mask: url('../img/common/ico-file-clip.svg') center / 100% auto no-repeat; background-image:none; } flex-shrink: 0; text-indent:-999px; overflow:hidden; } 
.file-dropzone-result .del { color: #111; font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; display:flex; justify-content: flex-start; align-items: center; gap:8px; } 
.file-dropzone-result .del:after { content:""; display:block; width:18px; height:auto; aspect-ratio:1/1; background: url('../img/common/ico-close.svg') center / 100% auto no-repeat; } 
 .row-del { display:inline-flex; justify-content: space-between; align-items: center; gap:8px; color:var(--accent-color-04); font-size: 16px; font-weight: 600; line-height: 1.45; letter-spacing: -0.32px; } 
 .row-del:after { content:""; width:20px; height:auto; aspect-ratio: 1/1; background:url("../img/common/ico-basket.svg") center / 100% auto no-repeat; } 

/* 영수증 */
body.receipt-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 40px 20px; } 
.receipt-wrap { width: 100%; max-width: 1048px; } 
.receipt-card { border-radius: 20px; border: 1px solid #E5E5E5; background: #FFF; padding: 80px 64px; } 
.receipt-head { text-align: center; } 
.receipt-head .tit { color: #111; text-align: center; font-size: 40px; font-weight: 700; line-height: 1.45; letter-spacing: -0.8px; } 

.receipt-head .type-badge { display: inline-block; margin-top: 24px; padding: 12px 20px; border-radius: 100px; background: var(--color-theme); color: #FFF; text-align: center; font-size: 14px; font-weight: 600; line-height: 1%; letter-spacing: -0.14px; } 
.receipt-info-row { display: flex; margin: 64px 0; } 
.receipt-info-row .info-item { flex: 1; text-align: center; color: #4C4C4C; font-size: 20px; font-weight: 400; line-height: 1.45; letter-spacing: -0.4px; } 
.receipt-info-row .label { font-weight: 700; } 
.receipt-info-row .value { margin-top: 8px; } 

.receipt-amount-bx { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-radius: 8px; background: #F5F5F5; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; } 
.receipt-amount-bx .label { color: #1B1B1B; } 
.receipt-amount-bx .amount { color: var(--color-theme); } 
.receipt-amount-bx .amount span { font-size: 16px; color:#666; } 
.receipt-note { margin-top: 24px; } 
.receipt-note p { color: #111; font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; } 
.receipt-note p strong { font-weight: 700; } 

.receipt-confirm { margin-top: 64px; text-align: center; } 
.receipt-confirm p { color: #111; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; } 
.receipt-confirm p + p { margin-top:8px; } 

.receipt-stamp { display:flex; justify-content: center; margin-top:64px; } 
.receipt-stamp .logo { width:236px; height:auto; background: var(--logo-receipt) center / 100% auto no-repeat; aspect-ratio: 236/47; } 

.num-circle-list { display:flex; flex-direction: column; gap:20px; } 
.num-circle-list li { display:flex; justify-content: flex-start; align-items: flex-start; gap:12px; } 
.num-circle-list li .num { color: #111; font-size: 16px; font-weight: 600; letter-spacing: -0.32px; display:flex; justify-content: center; align-items: center; width:30px; height:auto; aspect-ratio: 1/1; background:#F5F5F5; border-radius:200px; margin-top:2px; flex-shrink: 0; } 
.num-circle-list li p { color: #111; font-size: 20px; font-weight: 400; line-height: 1.45; letter-spacing: -0.4px; padding-top:2px; } 

.cate-list-wrap { display:flex; flex-direction: column; gap:20px; } 
.cate-list-wrap .item { display:flex; justify-content: flex-start; align-items: center; gap:12px; } 
.cate-list-wrap .item .cate { min-width:90px; display: flex; padding: 8px 12px; justify-content: center; align-items: center; gap: 6px; border-radius: 200px; background: #F5F5F5; color: #111; font-size: 16px; font-weight: 600; line-height: 1.55; letter-spacing: -0.32px; } 
.cate-list-wrap .item .desc { color: #111; font-size: 20px; font-weight: 400; line-height: 1.45; letter-spacing: -0.4px; } 

.pic-list-wrap { display: flex; flex-direction: column; gap:40px; } 
.pic-list-wrap .item-wr { display:flex; justify-content: flex-start; align-items: flex-start; gap:20px; } 
.pic-list-wrap .item-wr .img { width:220px; height:auto; aspect-ratio: 220/180; border-radius:12px; overflow:hidden; flex-shrink: 0; } 
.pic-list-wrap .item-wr .img img { width:100%; height:100%; object-fit: cover; object-position: center; } 
.pic-list-wrap .item-wr .txt { padding:20px 0; } 
.pic-list-wrap .item-wr .txt .tit { color: #000; font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.4px; margin-bottom:8px; } 
.pic-list-wrap .item-wr .txt .desc { color: #000; font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: -0.36px; } 

/* =========================================================
 반응형 (1240px / 1200px / 1024px / 768px)
 각 미디어쿼리 내부도 본문과 동일한 카테고리 순서로 정렬
========================================================= */
@media (max-width: 1430px) { header #gnb { transition: height 0.2s ease !important; } 
 header #gnb > ul > li.dep1 > a { font-size:18px; } 
 header #gnb .dep2-wrap > li.dep2 > a { font-size:15px; } 
 header #gnb.on > ul > li.dep1 { min-width:auto; } 
 header #gnb > ul > li.dep1.on { min-width:max( calc(var(--dep1-text-w, 0px) + (var(--gnb-dep1-padding, 50px) * 2)), calc(var(--dep2-w, 0px) + var(--gnb-dep1-padding, 50px)) ); } 
 header #gnb.on .gnb_bg { display:none; } 

 body.menu-open header #gnb { opacity: 1; visibility: visible; } 

 .menu-open header #gnb { position: fixed; left: 0; top:var(--headerH); width:100%; background-color: #fff; z-index:9999; transition: none; overflow: auto; } 
 .menu-open header #gnb > ul { flex-direction: column; color:#fff; margin: 20px 0; padding:0 var(--content-padding-x); } 
 .menu-open header #gnb > ul > li.dep1 > a { position: relative; padding:0; transition: none; text-align: left; line-height:calc(var(--headerH) * 0.8); }
 .menu-open header #gnb > ul > li.dep1:not(.one) > a:after { content: ''; position: absolute; right: 0px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; background: url('../img/common/ico-arrow-down-mobile.svg') center / contain no-repeat; transition: all 0.2s ease; @supports (mask: url('')) { background-color: #111111; -webkit-mask: url('../img/common/ico-arrow-down-mobile.svg') center / contain no-repeat; mask: url('../img/common/ico-arrow-down-mobile.svg') center / contain no-repeat; background-image:none; } }
 
 .menu-open header #gnb > ul > li.dep1.open > a { color: var(--color-theme); border-color: transparent; } 
 .menu-open header #gnb > ul > li.dep1.open > a:after { transform: translateY(-50%) rotate(180deg); background-color: var(--color-theme); } 
 .menu-open header #gnb ul.dep2-wrap { position: static; transform: unset; top:auto; left:auto; width:auto; border-radius:15px; padding-bottom: 15px; box-shadow: none; border:none; background: none; margin: 0 var(--inPd); background-color: #fff; color: #000; display: block; } 
 .menu-open header #gnb ul.dep2-wrap li.dep2 { padding:0; } 
 .menu-open header #gnb .dep2-wrap > li.dep2:first-of-type { margin-top:0; } 
 .menu-open header #gnb ul.dep2-wrap li.dep2 + li.dep2 { margin-top:15px; } 
 .menu-open header #gnb ul.dep2-wrap li.dep2 a { display: block; font-size:16px; line-height: 2; text-align:left; } 
 .menu-open header #gnb ul.dep2-wrap li.dep3 { margin-left: 10px; } 
 .menu-open header #gnb ul.dep2-wrap li.dep3 a { line-height:1.5; } 
 }

@media (max-width: 1240px) { header { --headerH-mo:70px; } 
 header .inner { height: var(--headerH-mo); } 
 header .rnb > * { width:24px; } 
 header .menu { display:block; width:24px; height:auto; aspect-ratio: 1/1; margin-left: 15px; } 
 header .menu.close { --icon-menu: url('../img/common/ico-close.svg') no-repeat center / contain; } 
 header .util, header .rnb { margin-left:auto; } 
 header.typeC .menu { margin-left:0; } 

 /* --- GNB --- */
 body.menu-open { overflow:hidden; } 
 body.menu-open header #gnb { opacity: 1; visibility: visible; } 
 
 header #gnb { position: fixed; left: 0; top:var(--headerH-mo) !important; width:100%; bottom:0; background-color: #fff; z-index:9999; opacity: 1; transition: all 0.2s ease; overflow: auto; height:0; transform:none; } 
 header #gnb > ul { flex-direction: column; margin:0 !important; margin-top: 20px; padding:0 var(--content-padding-x); } 
 header #gnb > ul > li.dep1 > a { position: relative; padding:0; transition: none; text-align: left; line-height:calc(var(--headerH-mo) * 0.8) !important; } 
 .menu-open header #gnb { height:100%; } 

 #lnb { display:none; } 
 #contents { width: 100%; padding: 0 var(--content-padding-x); } 
 }

@media (max-width: 768px) { /* --- 공통 유틸리티 --- */
 .mo-only { display:block !important; } 
 .pc-only { display:none !important; } 
 table .pc-only { display:none !important; } 
 .inner.wide { padding:0 var(--content-padding-x); } 
 .more.plus { width:27px; } 
 .text-bx.t16 p, .text-bx p.t16 { font-size: 14px; } 
 .text-bx.t18 p, .text-bx p.t18 { font-size: 16px; } 
 .text-bx .tit { font-size: 18px; } 
 .text-bx .tit.big { font-size:22px; } 
 .text-bx .desc p { font-size: 16px; } 
 .text-bx .tit + .desc { margin-top:8px; } 

 section + section { margin-top:32px; } 

 .btn { font-size:16px; } 
 .btn.pd { padding: 8px 24px; } 

 .mode-nav a { width:100%; font-size:16px; } 

 .chk { padding-left:24px; } 
 .chk label { font-size:16px; } 
 .chk input[type="checkbox"] + label:before, .chk input[type="checkbox"]:checked + label:after { width:16px; height:16px; background-position: center; background-size:60% auto; top: 7px; transform: none; } 

 .radio-wrap span { font-size:15px; padding-left:20px; } 
 .radio-chk-group .radio-row, .radio-chk-group .chk-group { flex-direction: column; align-items: flex-start; gap:6px; } 
 .radio-chk-group .radio-row { gap:6px; } 

 .select-box-wrap { width: 100%; } 
 .select-box-wrap .select-label { width: 100% !important; } 
 .select-box-wrap .select-label p, .select-box-wrap .select-box-list-wr ul li p { font-size:14px; } 
 .select-box-wrap .select-box-list-wr { width: 100%; } 

 .accordion-wrap.bg { padding:20px 16px; } 
 .accordion-wrap .accordion-head .tit { font-size:16px; } 
 .accordion-wrap .accordion-head .tit:after { width:18px; } 
 .accordion-wrap .tbl-wrap thead th, .accordion-wrap .tbl-wrap tbody td { font-size:14px; } 
 
 .accordion-wrap.color { border-radius: 8px; } 
 .accordion-wrap.color .accordion-head .tit { gap:8px; padding: 12px 14px; } 
 .accordion-wrap.color .accordion-head .tit .btn { width:16px; padding:12px; } 
 .accordion-wrap.color .accordion-head .tit .btn:before { width:12px; } 
 .accordion-wrap.color .accordion-head .tit .btn:after { width:12px; } 
 .accordion-wrap.color .accordion-bottom { padding: 12px 14px; } 

 .tab-wrap { overflow-x: auto; } 
 .tab-wrap.center { justify-content: center; } 
 .tab-wrap.center ul { justify-content: flex-start; width:auto; max-width: 100%; } 
 .tab-wrap ul { display:flex; justify-content: flex-start; align-items: stretch; gap:12px; padding-bottom:10px; } 
 .tab-wrap li, .tab-wrap li.on { white-space: nowrap; font-size: 17px; padding: 14px var(--clamp-size-24); } 
 
 .input-wrap .label { font-size: 16px; } 
 .input-wrap .label .required { margin-top: 4px; } 
 .input-wrap input { font-size: 14px; height:46px; } 
 .input-wrap input::placeholder { color: #BCBABA; } 
 .input-info-wrap { margin:16px 0; } 
 .input-wrap input.sm { width:100%; } 
 .input-info-wrap p { font-size: 14px; text-indent:-12px; padding-left:12px; } 
 .input-info-wrap p + p { margin-top:6px; } 
 .input-wrap .input-btn-wrap.co { flex-direction: column; } 
 .input-btn { font-size: 16px; padding: 12px; } 
 .input-wrap-info-wrap p { font-size: 14px; gap:2px; flex-wrap:wrap; } 
 .input-wrap-info-wrap p:before { width:15px; } 
 .input-wrap .select-box-wrap .select-label { height:46px; } 
 .input-wrap .select-box-wrap .select-box-list-wr { top:44px; } 
 .input-wrap .select-box-wrap .select-box-list-wr ul li p { font-size:14px; } 
 .input-wrap .input-btn-wrap .btn { font-size:14px; } 
 .input-btn.br { padding:12px 24px; } 
 .input-wrap-info-wrap { margin-top:6px; } 
 .input-wrap textarea { font-size:14px; height:100px; } 
 .radio-input-wrap { flex-direction: column; gap:4px; } 

 .layer-popup .head .tit { font-size:22px; } 
 .layer-popup .btn-wrap > * { font-size:14px; min-width:120px; padding:12px 20px; } 
 .layer-popup .popup-cont .list-bx > * { font-size:14px; } 

 /* --- 레이아웃 (header / footer) --- */
 header .util { display:none; } 
 .menu-open header .util { display:flex; position: fixed; bottom: calc(var(--headerH-mo)/1.5); z-index: 9999; } 
 .menu-open header .util a { min-width:100px; } 
 header .rnb { gap:5px; } 
 header.typeC .rnb .mypage svg { width:24px; } 

 footer { font-size:min(4.5vw, 16px); } 
 footer .inner { display:block; } 
 footer .ft-wrap .ft-link { gap:min(3vw, 32px); } 
 footer .ft-wrap .contact .flex { flex-direction: column; gap:10px; align-items: flex-start !important; } 
 footer .ft-wrap .contact .flex li { margin:0; } 
 footer .familysite { display: inline-block; margin-top:8vw; } 
 footer .familysite p:after { transform: rotate(180deg); } 
 footer .familysite p.open { border-radius:24px; border-top-left-radius: 0; border-top-right-radius: 0; } 
 footer .familysite p.open:after { transform: rotate(0); } 
 footer .familysite .site-list-wr { top:unset; bottom:48px; border-radius:24px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom:0; padding-top:10px; } 

 .floating { padding:10px; width:70px; } 
 .floating.open { padding:24px; } 
 .floating .defalut { gap:5px; max-width:25px; } 
 .floating svg { max-width:28px; height:auto; } 
 .floating p { font-size: 12px; } 
 .floating .floating-links a { gap:5px; max-width:25px; } 

 #wrap { margin-top:70px; padding:20px 0 50px; } 
 #contents .cont-top { flex-direction: column; align-items:flex-start; gap:15px; margin-bottom:20px; } 
 #contents .cont-top .page-title { font-size:32px; } 
 #contents .cont-top .location { gap:8px; } 

 .title-dot { font-size:24px; margin-bottom:8px; gap:0 4px; flex-wrap:wrap; } 
 .title-dot:before { width:3px; } 
 .title-dot a { font-size:14px; } 
 .title-desc { font-size:14px; line-height: 1.55; letter-spacing: -0.28px; } 
 .title-dot span.sm { font-size:16px; } 

 .img-wrap p { font-size:14px; line-height: 1.55; letter-spacing: -0.28px; } 
 .img-wrap.overflow { padding-bottom:10px; overflow-x:auto; } 
 .img-wrap.overflow img { width:auto; max-width:none; } 
 .img-wrap.cap-wrap .cap { padding:24px; font-size:20px; } 
 .img-wrap.text { flex-direction: column; } 

 .search-wrap, .search-input-wrap { flex-direction: column; } 
 .search-input-wrap .input-wrap input { font-size:16px; } 
 .select-box-wrap > p { width:100%; } 
 .search-wrap .select-box-wrap .select-label p { font-size:16px; } 

 .board-wrap .search-wrap { padding-top:0; } 
 .board-wrap .select-box-wrap { display:none; } 
 .board-wrap .view-wrap > .subject { font-size:20px; } 
 .board-wrap .view-wrap .btn-wrap { margin:20px 0; } 
 .board-wrap .view-wrap .post-nav { padding:24px 20px; } 
 .board-wrap .view-wrap .post-nav .post-nav-item { gap:5px; } 
 .board-wrap .view-wrap .post-nav .post-nav-item.prev .label::before, .board-wrap .view-wrap .post-nav .post-nav-item.next .label::after { display:none; } 

 .board-wrap.list-type, .board-wrap.list-type .table-wrap { margin-top:0; } 
 .board-wrap.list-type .table-wrap table td { padding:16px 12px; } 
 .board-wrap.list-type .table-wrap table td.no,
 .board-wrap.list-type .table-wrap table td.info .bx p.view { display:none } 
 .board-wrap.list-type .table-wrap table td.subject a * { font-size:16px; } 
 .board-wrap.list-type .table-wrap table td.info .bx p { font-size:14px; } 
 .board-wrap.list-type .table-wrap table td.info .bx span { height:8px; margin:0 6px; } 
 .board-wrap.list-type .table-wrap table td.info .bx span:last-child { display:none; } 
 .board-wrap.list-type .table-wrap table td.info .bx a[download] { width:20px; } 
 .board-wrap.list-type .table-wrap table td.info .bx a[download] + a[download] { margin-left:8px; } 
 .board-wrap.list-type .view-wrap .content { font-size:14px; line-height: 1.55; letter-spacing: -0.28px; } 
 .board-wrap.list-type .view-wrap .attached { margin-bottom:20px; } 
 .board-wrap.list-type .view-wrap .attached li { gap:8px; } 
 .board-wrap.list-type .view-wrap .attached li .file-name p { font-size:14px; } 
 .board-wrap.list-type .view-wrap .attached li .btn { font-size:14px; gap:4px; } 
 .board-wrap.list-type .view-wrap .attached li .btn:after { width:16px; } 
 .board-wrap.list-type .view-wrap .reply-wrap { margin:40px 0; } 
 .board-wrap.list-type .view-wrap .reply-wrap .textfield { flex-direction: column; } 
 .board-wrap.list-type .view-wrap .reply-wrap .textfield .reply-submit { padding:10px; } 
 .board-wrap.list-type .view-wrap .reply-wrap .textfield .textarea-wr .text-count { right:12px; bottom:12px; } 

 .board-wrap.thumbnail-type .list-wrap ul { grid-template-columns: repeat(1, 1fr); } 
 .board-wrap.thumbnail-type .list-wrap li .img { margin-bottom:12px; } 
 .board-wrap.thumbnail-type .list-wrap li .img img { aspect-ratio: 459/258; } 

 .board-wrap.thumbnail-type .swiper.thumb .swiper-slide { width:10%; } 
 .board-wrap.thumbnail-type .slider-control .btn { width:30px; height:55px; } 

 .paging { margin-top:20px; } 
 .paging a { width:32px; } 
 .paging .number { margin:0 8px; } 
 
 .line-bx { padding: var(--clamp-size-24); } 
 .line-bx .desc { margin-top:4px; } 
 .line-bx.fl { flex-direction: column; gap:8px; align-items: flex-start; } 

 .notice-bx.f20, .notice-bx.f20 p { font-size:16px } 
 
 .gray-bx { padding: 20px 10px; font-size:18px; } 

 .map-wrap { aspect-ratio: 1/1; } 

 .box-wrap { padding:40px 20px; } 

 .dl-wrap dl .double { display:block; } 
 .dl-wrap dl .double .col { width:100%; } 
 .dl-wrap dl .double .col:first-child { border-bottom: 1px solid #E5E5E5; } 
 .dl-wrap dt, .dl-wrap dd { font-size:14px; } 
 .dl-wrap dt { padding:8px 0; } 
 .dl-wrap dd, .dl-wrap dd.pd { padding:8px 12px; } 
 .dl-wrap dd .radio-wrap span { font-size:14px; } 
 .dl-wrap dd.m-co { flex-direction: column; align-items: flex-start; } 
 .dl-wrap dd.tbl table { font-size: 14px; } 
 .dl-wrap dd.tbl table td { padding: 8px 12px; } 
 .dl-wrap dd.tbl table td p + p { margin-top:5px; } 
 .dl-wrap dd.tbl.row.col dl { flex-direction: column; padding: 8px 12px; gap:8px; } 
 .dl-wrap dd.tbl.row.col dd { align-items: flex-start; padding:0; border:0; } 

 .num-bx { gap:6px; } 
 .num-item { font-size:14px; } 

 .map-search-wrap { flex-direction: column; height:auto; } 
 .map-search-wrap .map-wrap { aspect-ratio: 1/1; border-radius:12px; } 
 .map-list-panel { width:100%; } 
 .map-list-ul { display:flex; justify-content: flex-start; align-items:stretch; overflow-x:auto; gap:12px; padding:0; padding-bottom:10px; } 
 .map-list-item { width:300px; flex-shrink: 0; } 
 .map-list-item + .map-list-item { margin:0; } 
 .map-table-wrap { flex-direction: column; } 
 .map-table-wrap > * { width:100%; } 
 
 .transportation-wr .info .num > p { padding:6px 10px; } 
 .transportation-wr .info .txt { font-size:16px; } 

 .mypage #wrap .inner .top { margin:30px 0; } 
 .mypage #wrap .inner .top .cate { padding:6px 12px; } 
 .mypage #wrap .inner .top .tit { font-size: 28px; } 
 .mypage #wrap .inner .top .des { font-size: 18px; margin-top:10px; } 
 .mypage #wrap .inner .top .sub-des { margin-top:4px; } 
 .mypage #wrap:before { display:none; } 
 .mypage #wrap { background:none; min-height:calc(100vh - 70px); } 
 .mypage .agree-wrap { padding:24px 12px; gap:12px; } 
 .mypage .agree-wrap .chk label { font-size:14px; } 
 .mypage #wrap.login .inner .top { margin:0 0 30px 0; } 
 .mypage #wrap.login .inner .chk { margin-top:8px; } 
 .mypage #wrap.login .inner .input-btn { margin-top:16px; } 
 .mypage #wrap.login .inner .chk label, .mypage #wrap.login .inner .link .lost a, .mypage #wrap.login .inner .link .register { font-size:14px; } 

 .addr-postcode-wrap { position: absolute; top:45px; right:12px; z-index: 1; min-width:300px; } 

 .box-wrap .title { font-size:20px; } 
 .info-bx .txt .tit.sm { font-size:14px; } 
 .box-wrap .chk label { font-size:14px; } 

 .status { min-width:50px; padding: 3px 8px; } 
 .status.big { font-size:16px; font-weight:700; letter-spacing: -0.36px; border-radius:12px; padding:6px 8px; min-width:80px; height:40px; } 

 .authority-list { gap:8px; } 
 .authority-list .item { padding:12px; } 
 .authority-list .item .text .tit { font-size: 16px; } 
 .authority-list .item .text .des { font-size: 14px; } 

 .table-swiper-wrap .slider-wrap .swiper-slide .bx { border-radius: 20px; border: 1px solid #CCC; background: #FFF; padding:24px; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx h5 { letter-spacing: -0.2px; margin-bottom:var(--clamp-size-24); display:flex; justify-content: space-between; align-items: flex-start; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx h5 p { font-size: 24px; line-height: 1.45; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx h5 .status { margin-top:0; font-size:14px; flex-shrink: 0; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx li { display:flex; justify-content: flex-start; padding:8px 0; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx li p { color: #333; font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: -0.14px; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx li p.dt { display:flex; justify-content:space-between; align-items:center; width: 35%; min-width: 80px; font-weight:600; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx li p.dt:after { content:""; display:block; width:1px; height:39%; background:#ccc; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx li p.dd { padding-left:10px; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx .btn-wrap { display: flex; justify-content: space-between; align-items: stretch; gap:8px; } 
 .table-swiper-wrap .slider-wrap .swiper-slide .bx .btn-wrap .status { width:100%; aspect-ratio: none; } 
 .table-swiper-wrap .status { display: flex; padding: 12px 16px; justify-content: center; align-items: center; gap: 6px; border-radius: 8px; color: #111; font-size: 15px; font-weight: 600; letter-spacing: -0.14px; margin-top:15px; height:32px; } 
 .table-swiper-wrap .status.wait { background: #F5F8FB; color:#666; } 
 .table-swiper-wrap .slider-wrap .slider-control { position: unset; display: flex; justify-content: center; align-items: center; margin-top:12px; gap:min(6vw, 25px); } 
 .table-swiper-wrap .slider-wrap .slider-control .btn { width:40px; height:auto; aspect-ratio:1/1; border-radius:100px; border:1px solid #CDD1D5; text-indent:-999px; overflow:hidden; background:url('../img/common/ico-arrow-left-black.svg') center / auto no-repeat #fff; } 
 .table-swiper-wrap .slider-wrap .slider-control .btn.next { background-image:url('../img/common/ico-arrow-right-black.svg'); } 
 .table-swiper-wrap .slider-wrap .slider-control .counter { display:flex; justify-content: center; align-items:center; font-weight:700; color:#111; font-size:17px; gap:5px; } 
 .table-swiper-wrap .slider-wrap .slider-control .counter .cur { color:var(--color-theme); } 

 .data-card { padding: 4px 24px; margin-top:20px !important; } 
 .data-card .data-list { display:flex !important; flex-direction: column; } 
 .data-list .item { gap:4px; align-items: flex-start; padding:16px 0; } 
 .data-list .item + .item:not(.nb) { border:0; border-top:2px dashed #E5E5E5; } 
 .data-list .item .label { font-size:14px; } 
 .data-list .item .value { font-size:20px; } 
 .data-list .item .datepicker-wrap { width:100%; } 

 .step-wrap li { width:70px; padding:8px; } 

 .date-list-bx li strong { font-size:16px; } 
 .date-list-bx li p { font-size:14px; gap:8px; } 
 .date-list-bx li p:before { width:4px; } 

 .capacity-wrap .text { font-size:16px; gap:4px; } 

 .count-wrap { gap:8px; } 
 .count-wrap .label, .count-wrap input { font-size:16px; } 
 .count-wrap input { width:30px; } 
 .count-wrap .desc { font-size:14px; } 

 .mo-bx { display: flex; padding: 24px; flex-direction: column; align-items: flex-start; gap: 20px; align-self: stretch; border-radius: 20px; border: 1px solid #CCC; background: #FFF; margin-top:20px; } 
 .mo-bx .row { width:100%; border:0 !important; gap:8px; } 
 .mo-bx dt { padding:0; justify-content: space-between; align-items:center; text-align:left; background:transparent; color: #111; font-size: 14px; font-weight: 600; line-height: 1.40; letter-spacing: -0.14px; } 
 .mo-bx dt:after { content:""; display:block; width: 1px; height: 8px; background:#ccc; } 
 .mo-bx dd { padding:0; color: #333; font-size: 14px; font-weight: 500; line-height: 1.4; letter-spacing: -0.14px; } 
 .mo-bx.col .row { flex-direction: column; } 
 .mo-bx.col .row > dt { color: #333; font-size: 20px; font-weight: 700; line-height: 1.4; letter-spacing: -0.2px; margin-bottom:20px; width:100%; } 
 .mo-bx.col .row dt:after { display:none; } 
 .mo-bx dd.tbl { flex-direction: column; align-items: flex-start; } 
 .mo-bx dd.tbl dl { width:100%; flex-direction: row; align-items: flex-start; } 
 .mo-bx dd.tbl dt { width:max(100px, 11.5vw); color: #111; font-size: 14px; font-weight: 600; line-height: 1.40; letter-spacing: -0.14px; padding:0; } 
 .mo-bx dd.tbl dd { border:0; padding:0; align-items: flex-start; } 
 .mo-bx dd.tbl dd p:not(.status) { display:flex; justify-content: flex-start; align-items: flex-start; gap:8px; text-align:left; } 
 .mo-bx dd.tbl dd p:not(.status):before { content:""; display:block; width:4px; height:auto; aspect-ratio: 1/1; background:#111; border-radius:10px; margin-top:6px; } 
 .mo-bx dd.tbl dl + dl { border:0; margin-top:20px; } 
 .mo-bx.col dd.tbl.row dl { flex-direction: column; } 
 .mo-bx.col dd.tbl.row dd.f1 { margin-bottom:10px; } 
 .mo-bx.col dd.tbl.row dl + dl { border:0; } 

 .history-page { gap:24px; } 
 .history-fixed-side { width:calc(100% - var(--content-padding-x) * 2); } 
 .history-fixed-side.is-fixed, .history-fixed-side.is-bottom { background:#fff; } 
 .history-fixed-side.is-bottom { width:100%; } 
 .history-tab { margin-bottom:16px; } 
 .history-body { padding-left:0; padding-top:140px; } 
 .year-num { padding-bottom:5px; } 
 .year-num .fix { font-size:48px; line-height:48px; height:48px; } 
 .year-num .roll-wrap { height:48px; } 
 .year-num .roll-list li { display:block; height:48px; line-height:48px; font-size:48px; opacity:1; } 
 .year-num .roll-list li + li { margin-top:0; } 
 .history-row { padding: 16px; flex-direction: column; gap: 8px; } 
 .history-row .month { width: 100%; font-size: 16px; } 
 .history-row .txt p { font-size: 16px; display:flex; gap:4px; align-items: flex-start; } 
 .history-row .txt p:before { content:""; display:block; width:4px; height:auto; aspect-ratio: 1/1; border-radius:100px; background:#111; margin-top:10px; flex-shrink: 0; } 

 .step-flow { flex-direction: column; gap:8px; align-items: center; margin-bottom:20px; } 
 .step-flow-item { max-width:100%; } 
 .step-flow>.arr { transform:rotate(90deg); } 

 .rental-input-wrap { flex-direction: column; } 
 .rental-input-col .accordion-wrap-list { max-height:500px; } 
 .tag-chip-wrap .tag-chip { font-size:16px; padding:8px 12px; gap:5px; } 
 .tag-chip-wrap .tag-chip button { width:18px; } 

 .apply-type-cards { flex-direction:column; gap:10px; } 
 .apply-type-cards .apply-type-card { padding: 15px; } 
 .apply-type-cards .apply-type-card .tit { font-size:18px; } 
 .apply-type-cards .apply-type-card .desc { margin-top:8px; font-size:14px; } 
 .apply-type-cards .apply-type-card img { width:30%; } 

 .complete-bx { padding:20px; } 
 .complete-bx .tit { font-size:16px; } 
 .complete-bx .desc { font-size:14px; } 

 .result-nav { flex-direction: column; align-items: flex-end; gap:8px; } 
 .result-nav-left { margin-right:auto; } 

 .photo-wrap { flex-direction: column; } 
 .photo-upload-bx { width:100%; } 
 .photo-wrap .right { width:100%; } 
 .photo-wrap .right dt { display:block; } 

 body.receipt-page { padding: 20px 16px; } 
 .receipt-card { padding: 40px 24px; border-radius: 16px; } 
 .receipt-head .tit { font-size: 28px; } 
 .receipt-head .type-badge { margin-top: 12px; padding: 10px 16px; font-size: 13px; } 

 .receipt-info-row { margin: 32px 0; flex-direction: column; gap:6px; } 
 .receipt-info-row .info-item { font-size: 16px; display: flex; align-items: center; justify-content: space-between; } 
 .receipt-info-row .value { margin-top:0; } 

 .receipt-amount-bx { padding: 10px 14px; font-size: 16px; } 
 .receipt-amount-bx .amount span { font-size: 14px; } 

 .receipt-note { margin-top: 16px; } 
 .receipt-note p { font-size: 14px; } 

 .receipt-confirm { margin-top: 32px; } 
 .receipt-confirm p { font-size: 15px; } 

 .receipt-stamp { margin-top: 32px; } 
 .receipt-stamp .logo { width: 180px; } 

 .num-circle-list { gap:10px; } 
 .num-circle-list li { gap:8px; } 
 .num-circle-list li .num { font-size: 14px; margin-top:0; width:22px; } 
 .num-circle-list li p { font-size: 16px; padding-top:0; } 

 .cate-list-wrap { gap:10px; } 
 .cate-list-wrap .item { gap:8px; } 
 .cate-list-wrap .item .cate { min-width:65px; font-size: 14px; } 
 .cate-list-wrap .item .desc { font-size: 16px; } 

 .pic-list-wrap .item-wr { gap:10px; flex-direction: column; } 
 .pic-list-wrap .item-wr .img { width:100%; } 
 .pic-list-wrap .item-wr .txt { padding:5px 0; } 
 .pic-list-wrap .item-wr .txt .tit { font-size: 18px; } 
 .pic-list-wrap .item-wr .txt .desc { font-size: 16px; } 
 }
