@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */

/* 공통 클래스 */
.sub-heading.bg {background:#EFF0F1; margin-bottom:var(--space-100); padding:var(--space-100) 0;}
.sub-heading {position:relative; z-index:10; margin-bottom:var(--space-80); text-align:center;}
.sub-heading h3 {font-size:var(--font-size-42); font-weight:600; letter-spacing:-0.03em; line-height:1.38em;}
.sub-heading .desc {margin-top:var(--space-16); font-size:var(--font-size-24); font-weight:400; letter-spacing:-0.02em; line-height:1.5em; color:#676767;}

.real-cont:has(.sub-heading.bg) {padding-top:0;}

.sub-sec {margin-bottom:var(--space-120);}
.sub-sec:last-child {margin-bottom:0;}

.doc-title {margin-bottom:var(--space-40);}
.doc-title h3 {font-size:var(--font-size-36); font-weight:700; letter-spacing:-0.03em; line-height:1.38em;}
.doc-title p {margin-top:var(--space-16); font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.03em; line-height:1.5em; color:#505050;}

.license-float-bar {position:relative; z-index:1;}
.license-float-bar.is-fixed {position:fixed; z-index:30; width:100%; padding:10px 0; background:#EFF0F1;}


/* 입학안내 — 등록방법 */
.register-info {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-24);}
.register-info .box {position:relative; min-height:clamp(480px, calc(612 / var(--inner) * 100vw), 612px); border-radius:24px; overflow:hidden; background:50% 50%/cover no-repeat;}
.register-info .box.bg-1 {background-image:url("/images/sub/register-1.jpg");}
.register-info .box.bg-2 {background-image:url("/images/sub/register-2.jpg");}
.register-info .box.bg-3 {background-image:url("/images/sub/register-3.jpg");}
.register-info .box-body {position:absolute; left:0; right:0; bottom:0; z-index:1; padding:0 40px 40px;}
.register-info .step {display:flex; align-items:center; gap:10px; margin:0 0 12px; color:rgba(255,255,255,0.8); font-size:var(--font-size-16); font-weight:600; letter-spacing:-0.02em; line-height:1.5em;}
.register-info .step > i {flex:0 0 8px; width:8px; height:8px; border-radius:50%; background:var(--color-primary);}
.register-info .tit {margin-bottom:var(--space-16); color:#fff; font-size:var(--font-size-32); font-weight:700; letter-spacing:-0.03em; line-height:1.38em;}
.register-info .desc {margin-bottom:var(--space-32); color:#fff; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.5em;}
.register-info .btn {display:inline-flex; align-items:center; gap:12px; min-height:50px; padding:10px 24px; border-radius:999px; background:#fff; color:var(--color-secondary); font-size:var(--font-size-18); font-weight:700; letter-spacing:-0.02em; line-height:1.44em; transition:background .2s, color .2s;}
.register-info .btn:hover {background:var(--color-primary); color:#fff;}
.register-info .btn i {flex:0 0 24px; width:24px; height:24px; background:50% 50%/contain no-repeat; transition:filter .2s;}
.register-info .btn:hover i {filter:brightness(0) invert(1);}
.register-info .btn .ico-tel {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.33486 4.83815C8.13238 4.33193 7.64212 4 7.09693 4H5.26313C4.56552 4 4 4.5654 4 5.26302C4 11.1928 8.80706 16 14.7367 16C15.4343 16 15.9997 15.4344 15.9997 14.7368L16 12.9026C16 12.3574 15.6682 11.8672 15.162 11.6648L13.4044 10.962C12.9497 10.7801 12.432 10.8619 12.0558 11.1755L11.6021 11.5538C11.0724 11.9953 10.2929 11.9602 9.80531 11.4725L8.52803 10.194C8.04042 9.70642 8.00439 8.92756 8.44585 8.39779L8.82409 7.9442C9.13761 7.56797 9.22019 7.05011 9.03831 6.5954L8.33486 4.83815Z' fill='%23E82779'/%3E%3C/svg%3E");}
.register-info .btn .ico-location {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.24848 17.6204C7.63814 16.2335 4 12.6161 4 8.24165C4 6.58621 4.63214 4.99887 5.75737 3.82829C6.88259 2.65772 8.4088 2 10.0001 2C11.5914 2 13.1174 2.65762 14.2427 3.8282C15.3679 4.99877 16 6.58661 16 8.24205C16 12.6165 12.362 16.2336 10.7517 17.6206C10.5204 17.8198 10.4046 17.9192 10.2323 17.9703C10.0984 18.0099 9.90138 18.0099 9.7675 17.9703C9.59556 17.9193 9.47894 17.8189 9.24848 17.6204ZM10.0001 10.2821C8.74468 10.2821 7.72696 9.21157 7.72696 7.89104C7.72696 6.5705 8.74468 5.5 10.0001 5.5C11.2555 5.5 12.2733 6.5705 12.2733 7.89104C12.2733 9.21157 11.2555 10.2821 10.0001 10.2821Z' fill='%23E82779'/%3E%3C/svg%3E");}
.register-info .btn .ico-apply {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cg clip-path='url(%23clip0_120_7483)'%3E%3Cg clip-path='url(%23clip1_120_7483)'%3E%3Cpath d='M8.01101 3.28809L9.73828 5.01144' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15.6947 6.82523L18.1992 6.09961' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.9177 10.4531L16.5586 12.2672' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.8828 1.56445L13.1919 4.19484' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12.2978 8.35867C12.3313 8.27582 12.3405 8.18434 12.3241 8.09599C12.3078 8.00763 12.2667 7.92642 12.2061 7.86277C12.1455 7.79912 12.0681 7.75594 11.984 7.73877C11.8999 7.72159 11.8128 7.73121 11.7339 7.76638L2.23388 11.848C2.14933 11.8844 2.07797 11.9481 2.03006 12.0298C1.98215 12.1116 1.96016 12.2072 1.96727 12.3028C1.97437 12.3985 2.0102 12.4894 2.06959 12.5623C2.12899 12.6353 2.20889 12.6866 2.29779 12.7088L6.05375 13.653C6.2088 13.6919 6.35057 13.7751 6.46337 13.8934C6.57617 14.0117 6.65559 14.1605 6.69284 14.3233L7.59102 18.2689C7.61195 18.3626 7.66072 18.4468 7.73026 18.5095C7.79981 18.5721 7.88653 18.6099 7.97789 18.6174C8.06924 18.6249 8.16049 18.6017 8.23843 18.5511C8.31638 18.5005 8.37698 18.4251 8.41147 18.336L12.2978 8.35867Z' fill='%23E82779'/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_120_7483'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3CclipPath id='clip1_120_7483'%3E%3Crect width='19' height='20' fill='white' transform='matrix(-1 0 0 1 19.5 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");}

/* 입학안내 — 준비물 */
.register-prep {margin:0; padding:0; list-style:none; border-top:2px solid var(--color-primary);}
.register-prep > li {display:grid; grid-template-columns:minmax(0, 430fr) minmax(0, 946fr); align-items:center; padding:40px 0; gap:var(--space-20); border-bottom:1px solid #eee;}
.register-prep > li:last-child {min-height:80px;}
.register-prep .prep-cat {display:flex; align-items:center; gap:var(--space-20); min-width:0;}
.register-prep .num {flex:0 0 34px; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#F9EDF2; color:var(--color-primary); font-size:var(--font-size-14); font-weight:600; letter-spacing:-0.02em; line-height:1;}
.register-prep .tit {font-size:var(--font-size-24); font-weight:700; letter-spacing:-0.03em; line-height:1.67em; color:#2c2c2c;}
.register-prep .prep-doc {margin:0; font-size:var(--font-size-24); font-weight:400; letter-spacing:-0.02em; line-height:1.66em; color:#505050;}

/* 입학안내 — 준비물 참고사항 */
.register-note {margin:0; padding:0; list-style:none; border-top:2px solid var(--color-primary);}
.register-note > li {display:flex; align-items:center; gap:var(--space-20); min-height:114px; padding:40px 0; border-bottom:1px solid #eee;}
.register-note > li:last-child {min-height:74px;}
.register-note .num {flex:0 0 34px; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#F0F2F4; color:#081B4B; font-size:var(--font-size-14); font-weight:600; letter-spacing:-0.02em; line-height:1;}
.register-note .txt {margin:0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.66em; color:#505050;}
.register-note .lbl {display:inline-block; width:200px; font-weight:600; color:#2c2c2c; vertical-align:top;}

/* 입학안내 — 교육 시간표 */
.timetable .table-responsive {overflow-x:auto;}
.timetable table {width:100%; border-collapse:collapse; border-top:2px solid var(--color-primary);}
.timetable col.col-part {width:8.57%;}
.timetable col.col-time {width:17.71%;}
.timetable col.col-day {width:12.29%;}
.timetable.is-drive table {min-width:1000px;}
.timetable.is-drive col.col-day {width:10.53%;}
.timetable thead th {padding:16px 8px; border:1px solid #dfdfdf; border-bottom:1px solid #A8A8A8; background:#f7f8f9; color:#2c2c2c; font-size:var(--font-size-20); font-weight:600; letter-spacing:-0.02em; line-height:1.5em; text-align:center;}
.timetable tbody th,
.timetable tbody td {padding:16px 8px; border:1px solid #dfdfdf; border-top:0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.5em; text-align:center; vertical-align:middle; color:#505050;}
.timetable tbody th {font-weight:500; color:#2c2c2c; background:#f7f8f9;}
.timetable tr th:first-child,
.timetable tr td:first-child {border-left:none;}
.timetable tr th:last-child,
.timetable tr td:last-child {border-right:none;}
.timetable .cell-mark,
.timetable-note .cell-mark {display:inline-flex; align-items:center; justify-content:center; gap:4px; color:#2c2c2c; font-weight:600; vertical-align:middle;}
.timetable .ico-star,
.timetable-note .ico-star {flex:0 0 16px; width:16px; height:15px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='15' viewBox='0 0 16 15' fill='none'%3E%3Cpath d='M0.13118 6.11716C-0.12384 5.88531 0.0146872 5.46616 0.359624 5.42595L5.24721 4.85602C5.38779 4.83963 5.5099 4.75284 5.5692 4.62646L7.63071 0.232599C7.7762 -0.0774932 8.2246 -0.0775527 8.37009 0.232539L10.4316 4.62636C10.4909 4.75275 10.6122 4.83977 10.7528 4.85616L15.6407 5.42595C15.9856 5.46616 16.1237 5.88543 15.8687 6.11729L12.2556 9.40279C12.1517 9.49728 12.1054 9.63794 12.133 9.77444L13.0919 14.5204C13.1596 14.8553 12.797 15.1148 12.4939 14.948L8.19918 12.584C8.07565 12.516 7.92557 12.5164 7.80204 12.5843L3.50688 14.9474C3.20378 15.1142 2.84053 14.8553 2.90823 14.5204L3.86729 9.77474C3.89488 9.63823 3.84872 9.49726 3.74479 9.40276L0.13118 6.11716Z' fill='%23FFCE33'/%3E%3C/svg%3E") 50% 50%/contain no-repeat;}
.timetable .ico-wheel {flex:0 0 35px; width:35px; height:34px; background:url("/images/sub/ico-timetable-wheel.svg") 50% 50%/contain no-repeat;}

.timetable-note {margin-top:var(--space-40); padding:var(--space-40); border:2px solid #E82779; border-radius:var(--radius-24);}
.timetable-note h4 {margin:0 0 16px; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.03em; line-height:1.67em; color:#081b4b;}
.timetable-note ul {margin:0; padding:0; list-style:none;}
.timetable-note li {position:relative; padding-left:22px; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.5em; color:#505050;}
.timetable-note li + li {margin-top:8px;}
.timetable-note li:before {content:""; position:absolute; left:0; top:0.75em; width:6px; height:6px; margin-top:-3px; border-radius:50%; background:#b0b0b0;}

/* 입학안내 — 오시는 길 */
.directions-map {width:100%; min-height:320px; height:clamp(320px, calc(640 / var(--inner) * 100vw), 640px); border-radius:var(--radius-24); overflow:hidden; background:#f0f2f4;}
.directions-map .directions-map-fail code {font-size:0.92em; word-break:break-all;}
.directions-map .root_daum_roughmap {width:100%; height:100%;}
.directions-map .root_daum_roughmap .wrap_map {width:100% !important; height:100% !important;}
.directions-map canvas {outline:none;}
.directions-map-place-label {display:inline-block; padding:8px 12px; border:1px solid #dfdfdf; border-radius:8px; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,0.08); font-size:15px; font-weight:700; letter-spacing:-0.02em; line-height:1.3; color:#2c2c2c; white-space:nowrap;}
.directions-map-fail {display:flex; align-items:center; justify-content:center; height:100%; margin:0; padding:24px; text-align:center; font-size:var(--font-size-18); font-weight:400; letter-spacing:-0.02em; line-height:1.6em; color:#505050;}
.directions-body {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-60); margin-top:var(--space-60);}
.directions-head {display:flex; flex-wrap:wrap; align-items:flex-start; gap:var(--space-16); margin-bottom:var(--space-36);}
.directions-name {margin:0; font-size:var(--font-size-36); font-weight:700; letter-spacing:-0.03em; line-height:1.38em; color:#2c2c2c;}
.directions-apps {display:flex; align-items:center; gap:10px;}
.directions-app {flex:0 0 48px; display:block; width:48px; height:48px; border-radius:50%; background-position:50% 50%; background-size:contain; background-repeat:no-repeat;}
.directions-app-naver {background-image:url("/images/sub/map-naver.png");}
.directions-app-kakao {background-image:url("/images/sub/map-kakao.png");}
.directions-app-google {background-image:url("/images/sub/map-google.png");}
.directions-contact-row {display:flex; align-items:flex-start; gap:0; margin:0;}
.directions-contact-row + .directions-contact-row {margin-top:var(--space-16);}
.directions-contact dt {flex:0 0 70px; margin:0; font-size:var(--font-size-20); font-weight:700; letter-spacing:-0.02em; line-height:2em; color:#2c2c2c;}
.directions-contact dd {margin:0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:2em; color:#505050;}
.directions-contact dd a {color:inherit;}
.directions-guide-tit {margin:0 0 var(--space-32); font-size:var(--font-size-36); font-weight:700; letter-spacing:-0.03em; line-height:1.38em; color:#2c2c2c;}
.directions-guide-item + .directions-guide-item {margin-top:var(--space-40);}
.guide-label {display:flex; align-items:center; gap:10px; margin:0 0 4px; font-size:var(--font-size-24); font-weight:700; letter-spacing:-0.02em; line-height:2em; color:#2c2c2c;}
.guide-desc {margin:0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.5em; color:#505050;}
.directions .ico-bus,
.directions .ico-car {flex:0 0 24px; width:24px; height:24px; background:50% 50%/contain no-repeat;}
.directions .ico-bus {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cg clip-path='url(%23clip0_120_8867)'%3E%3Cpath d='M4 6L2 7' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 6H14' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 7L20 6' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 3H6C4.89543 3 4 3.89543 4 5V17C4 18.1046 4.89543 19 6 19H18C19.1046 19 20 18.1046 20 17V5C20 3.89543 19.1046 3 18 3Z' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 11H20' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 15H8.01' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16 15H16.01' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6 19V21' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 21V19' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_120_8867'%3E%3Crect width='22' height='20' fill='white' transform='translate(1 2)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");}
.directions .ico-car {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cg clip-path='url(%23clip0_120_8886)'%3E%3Cpath d='M21.9016 6.97072L19.7016 9.20601L18.0516 5.07072C17.896 4.64751 17.6178 4.28213 17.2537 4.02276C16.8897 3.76339 16.4568 3.62219 16.0122 3.61778H8.04156C7.59332 3.60732 7.15263 3.73626 6.77851 3.98734C6.40439 4.23843 6.11471 4.59966 5.94826 5.02266L4.30156 9.20601L2.10156 6.97072' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.5 13.6768H6.511' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M17.5 13.6768H17.511' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.7016 9.20605H4.30156C3.08654 9.20605 2.10156 10.2068 2.10156 11.4413V15.9119C2.10156 17.1465 3.08654 18.1472 4.30156 18.1472H19.7016C20.9166 18.1472 21.9016 17.1465 21.9016 15.9119V11.4413C21.9016 10.2068 20.9166 9.20605 19.7016 9.20605Z' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.30078 18.1475V20.3828' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.6992 18.1475V20.3828' stroke='%23E82779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_120_8886'%3E%3Crect width='22' height='20' fill='white' transform='translate(1 2)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");}
.directions .btn-shuttle {display:inline-flex; align-items:center; gap:6px; min-height:50px; margin-top:var(--space-24); padding:10px 16px; border:1px solid var(--color-primary); border-radius:999px; color:var(--color-primary); font-size:var(--font-size-18); font-weight:700; letter-spacing:-0.02em; line-height:1.44em; transition:background .2s, color .2s;}
.directions .btn-shuttle:hover {background:var(--color-primary); color:#fff;}
.directions .btn-shuttle .ico-tel-sm, .shuttle-banner .ico-tel-sm {flex:0 0 20px; width:20px; height:20px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.33486 4.83815C8.13238 4.33193 7.64212 4 7.09693 4H5.26313C4.56552 4 4 4.5654 4 5.26302C4 11.1928 8.80706 16 14.7367 16C15.4343 16 15.9997 15.4344 15.9997 14.7368L16 12.9026C16 12.3574 15.6682 11.8672 15.162 11.6648L13.4044 10.962C12.9497 10.7801 12.432 10.8619 12.0558 11.1755L11.6021 11.5538C11.0724 11.9953 10.2929 11.9602 9.80531 11.4725L8.52803 10.194C8.04042 9.70642 8.00439 8.92756 8.44585 8.39779L8.82409 7.9442C9.13761 7.56797 9.22019 7.05011 9.03831 6.5954L8.33486 4.83815Z' fill='%23E82779'/%3E%3C/svg%3E") 50% 50%/contain no-repeat; transition:background .2s;}
.directions .btn-shuttle:hover .ico-tel-sm, .shuttle-banner .ico-tel-sm {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.33486 4.83815C8.13238 4.33193 7.64212 4 7.09693 4H5.26313C4.56552 4 4 4.5654 4 5.26302C4 11.1928 8.80706 16 14.7367 16C15.4343 16 15.9997 15.4344 15.9997 14.7368L16 12.9026C16 12.3574 15.6682 11.8672 15.162 11.6648L13.4044 10.962C12.9497 10.7801 12.432 10.8619 12.0558 11.1755L11.6021 11.5538C11.0724 11.9953 10.2929 11.9602 9.80531 11.4725L8.52803 10.194C8.04042 9.70642 8.00439 8.92756 8.44585 8.39779L8.82409 7.9442C9.13761 7.56797 9.22019 7.05011 9.03831 6.5954L8.33486 4.83815Z' fill='%23FFFFFF'/%3E%3C/svg%3E");}


/* 종별안내 — 면허 요약 카드 */
.license-float-wrap {margin-top:var(--space-60);}
.license-summary {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; margin:0; padding:0; list-style:none; text-align:left;}
.license-float-bar .license-summary {margin-top:0;}
.license-summary > li {display:flex; align-items:center; gap:var(--space-20); min-height:136px; padding:24px 32px; border-radius:var(--radius-16); background:#FCFCFC;}
.license-summary .summary-icon {flex:0 0 88px; display:flex; align-items:center; justify-content:center; width:88px; height:88px; border-radius:50%; border:1px solid #eee; background:#fff;}
.license-summary .summary-icon i {flex:0 0 40px; width:40px; height:40px; background-position:50% 50%; background-size:contain; background-repeat: no-repeat;}
.license-summary .summary-txt {min-width:0;}
.license-summary .summary-label {display:block; font-size:var(--font-size-18); font-weight:500; letter-spacing:-0.02em; line-height:1.67em; color:#676767;}
.license-summary .summary-val {display:block; margin-top:0; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.03em; line-height:1.6em; color:#2c2c2c;}
.license-summary .ico-summary-id {background-image:url("/images/sub/ico-summary-id.svg");}
.license-summary .ico-summary-period {background-image:url("/images/sub/ico-summary-period.svg");}
.license-summary .ico-summary-exam {background-image:url("/images/sub/ico-summary-exam.svg");}
.license-summary.col-2 {grid-template-columns:repeat(2, minmax(0, 1fr));}
.license-summary .ico-summary-car {background-image:url("/images/sub/ico-summary-car.svg");}
.license-summary .ico-summary-place {background-image:url("/images/sub/ico-summary-place.svg");}
.license-summary .summary-val.is-multi {font-size:var(--font-size-20); letter-spacing:-0.02em; line-height:1.4em;}
.license-summary .summary-val.is-multi span {display:block;}
.license-summary .summary-val.is-multi em {font-style:normal; color:#1a3b91;}
.license-summary .summary-val small {margin-left:8px; font-size:var(--font-size-15); font-weight:400; letter-spacing:-0.02em; line-height:1.07em; color:#505050;}

/* 종별안내 — 3차 탭 */
.sub-heading .sub-tab {margin-top:10px;}
.sub-tab ul {display:flex; gap:10px; margin:0; padding:8px; list-style:none; border-radius:var(--radius-16); background:#FCFCFC;}
.sub-tab li {flex:1 1 0; min-width:0;}
.sub-tab a {display:flex; align-items:center; justify-content:center; min-height:68px; padding:10px 16px; border-radius:var(--radius-12); font-size:var(--font-size-22); font-weight:700; letter-spacing:-0.02em; line-height:1.2em; color:#737889; text-align:center; transition:background .2s, color .2s;}
.sub-tab li.active a {background:#081b4b; color:#fff;}
.sub-tab a:hover {color:#2c2c2c;}
.sub-tab li.active a:hover {color:#fff;}
.sub-tab a:has(.combo-tab-label) {flex-direction:column;}
.sub-tab .combo-tab-label {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; line-height:1.25; text-align:center;}
.sub-tab .combo-tab-label > span {display:block; white-space:nowrap;}
.sub-tab .combo-tab-label wbr {display:none;}

/* 종별안내 — 섹션 타이틀 */
.s-tit {position:relative; padding-left:20px; margin:0 0 var(--space-40); font-size:var(--font-size-32); font-weight:700; letter-spacing:-0.03em; line-height:1.3em; color:#2c2c2c;}
.s-tit:before {content:''; position:absolute; top:.19em; left:0; width:4px; height:var(--font-size-28); border-radius:10px; background: #E82779;}
.s-tit small {margin-left:var(--space-12); font-size:var(--font-size-18); font-weight:400; letter-spacing:-0.02em; color:#676767;}
.s-tit .muted {margin-left:var(--space-16); color:#a8a8a8;}
.s-tit-row {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px var(--space-20); margin-bottom:var(--space-40);}
.s-tit-row .s-tit {margin-bottom:0;}

/* 종별안내 — 교육과정 플로우 */
.license-course {position:relative;}
.course-flow {position:relative; display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:24px; margin:0; padding:0; list-style:none;}
.course-flow::before {content:""; position:absolute; left:calc(100% / 12); right:calc(100% / 12); top:92px; border-top:2px dotted #505050; z-index:0;}
.course-flow.col-3 {grid-template-columns:repeat(3, minmax(0, 1fr));}
.course-flow.col-3::before {left:calc(100% / 6); right:calc(100% / 6);}
.course-flow.col-2 {grid-template-columns:repeat(2, minmax(0, 1fr));}
.course-flow.col-2::before {left:25%; right:25%;}
.course-flow.col-4 {grid-template-columns:repeat(4, minmax(0, 1fr));}
.course-flow.col-4::before {left:12.5%; right:12.5%;}
.course-item {position:relative; z-index:1; display:flex; flex-direction:column; min-height:294px; padding:16px; border:1px solid #eee; border-radius:var(--radius-16); background:#fff;}
.course-visual {display:flex; align-items:center; justify-content:center; padding:var(--space-24); margin-bottom:24px; border-radius:var(--radius-12); background:#F7F8F9;}
.course-icon {display:flex; align-items:center; justify-content:center; width:96px; height:96px; border-radius:50%; background:#fff;}
.course-icon img {display:block; width:48px; height:48px; object-fit:contain;}
.course-info {display:flex; flex-direction:column; align-items:center; text-align:center;}
.course-step {display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:10px; border-radius:var(--radius-10); font-size:var(--font-size-14); font-weight:500; letter-spacing:0; line-height:1;}
.course-item.step-01 .course-step {background:#feeef5; color:#e82779;}
.course-item.step-02 .course-step {background:#f5f0fb; color:#7d4fb2;}
.course-item.step-03 .course-step {background:#e9eef8; color:#081b4b;}
.course-item.step-04 .course-step {background:#eff9ef; color:#57ba5f;}
.course-name {display:block; margin-top:8px; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.03em; line-height:1.43em; color:#2c2c2c;}

/* 종별안내 — 교육시간 */
.license-hours {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px 24px;}
.license-hours.col-3 {grid-template-columns:repeat(3, minmax(0, 1fr));}
.hours-card {padding:40px; border:1px solid #dfdfdf; border-radius:var(--radius-16); background:#fff;}
.hours-head {display:flex; align-items:center; justify-content:space-between; gap:var(--space-20); padding-bottom:32px; margin-bottom:32px; border-bottom:1px dashed #ddd;}
.hours-sub {margin:0; font-size:var(--font-size-18); font-weight:500; letter-spacing:-0.02em; line-height:1.5em; color:#081B4B; text-align:left;}
.hours-name {margin:8px 0 0; font-size:var(--font-size-32); font-weight:700; letter-spacing:-0.04em; line-height:1.38em; color:#2c2c2c; text-align:left; text-align-last:left; width:fit-content; max-width:100%;}
.hours-total {flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px 20px 18px; border-radius:var(--radius-12); background:#f7f8f9; text-align:center;}
.hours-total .num {font-size:var(--font-size-36); font-weight:600; letter-spacing:-0.02em; line-height:1.39em; color:var(--color-primary);}
.hours-total .lbl {font-size:var(--font-size-15); font-weight:500; letter-spacing:-0.02em; line-height:1.33em; color:#737889;}
.hours-list {margin:0;}
.hours-row {display:flex; align-items:center; justify-content:space-between; gap:var(--space-16); min-height:40px;}
.hours-row + .hours-row {margin-top:16px;}
.hours-row dt {margin:0; font-size:var(--font-size-24); font-weight:400; letter-spacing:-0.02em; line-height:1.67em; color:#505050;}
.hours-row dd {margin:0; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.02em; line-height:1.67em; color:#2c2c2c;}
.license-hours.col-1 {grid-template-columns:minmax(0, 1fr);}
.hours-card.is-row {display:flex; align-items:stretch;}
.hours-card.is-row .hours-head {flex:1 1 0; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:32px; min-width:0; margin:0; padding:0 32px 0 0; border-bottom:0; border-right:1px dashed #ddd;}
.hours-card.is-row .hours-list {flex:1 1 0; display:flex; flex-direction:column; justify-content:center; min-width:0; padding-left:32px;}
.hours-col {display:contents;}
.hours-note {grid-column:2; display:flex; align-items:center; gap:8px; margin:0; font-size:var(--font-size-18); font-weight:400; letter-spacing:-0.02em; line-height:1.67em; color:#878787;}
.hours-note:before {content:""; flex:0 0 16px; width:16px; height:16px; background:url("/images/sub/ico-info.svg") 50% 50%/contain no-repeat;}

/* 종별안내 — 운전가능차량 */
.license-vehicle {margin:0; padding:0; list-style:none;}
.license-vehicle > li {display:flex; align-items:center; padding:40px 0; border-top:1px solid #eee;}
.license-vehicle > li:first-child {border-top:2px solid var(--color-primary);}
.license-vehicle > li:last-child {padding-bottom:0;}
.vehicle-cat {flex:0 0 auto; display:flex; align-items:center; gap:20px;}
.vehicle-cat .num {flex:0 0 34px; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#f9edf2; color:var(--color-primary); font-size:var(--font-size-14); font-weight:600; letter-spacing:-0.02em; line-height:1;}
.vehicle-cat .tit {width:400px; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.02em; line-height:1.67em; color:#2c2c2c;}
.vehicle-desc {flex:1 1 0; min-width:0; margin:0; font-size:var(--font-size-24); font-weight:400; letter-spacing:-0.02em; line-height:1.67em; color:#505050;}

/* 종별안내 — 도로 연수 교육 대상자 */
.training-target {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; margin:0; padding:0; list-style:none;}
.target-card {padding:40px; border:1px solid #dfdfdf; border-radius:var(--radius-16); background:#fff;}
.target-icon {display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:var(--radius-16); background:#feeef5;}
.target-icon img {display:block; max-width:28px; max-height:28px;}
.target-tit {margin:24px 0 0; font-size:var(--font-size-32); font-weight:700; letter-spacing:-0.02em; line-height:1.44em; color:#2c2c2c;}
.target-who {display:flex; align-items:flex-start; gap:10px; margin:24px 0 0; font-size:var(--font-size-18); font-weight:500; letter-spacing:-0.02em; line-height:1.67em; color:#3f4c65;}
.target-who:before {content:""; flex:0 0 16px; width:16px; height:16px; margin-top:0.35em; background:url("/images/sub/ico-check.svg") 50% 50%/contain no-repeat;}
.target-desc {margin:24px 0 0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.7em; color:#505050;}

/* 종별안내 — 알아두기 */
.license-tip {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px;}
.tip-card {display:flex; align-items:flex-start; gap:16px; padding:40px; border:1px solid transparent; border-radius:var(--radius-16); background:linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #e82779 0%, #081b4b 100%) border-box;}
.tip-icon {flex:0 0 32px; width:32px; height:32px; margin-top:4px;}
.tip-icon img {display:block; width:32px; height:32px; object-fit:contain;}
.tip-tit {margin:0; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.03em; line-height:1.66em; color:#081b4b;}
.tip-desc {margin:12px 0 0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.7em; color:#505050;}

/* 종별안내 — 시험안내 */
.exam-cards {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px;}
.exam-card {overflow:hidden; border:1px solid #dfdfdf; border-radius:var(--radius-16); background:#fff;}
.exam-head {display:flex; align-items:center; gap:12px; min-height:89px; padding:24px 32px; background:#f7f8f9; border-bottom: 1px solid #EEE;}
.exam-icon {flex:0 0 28px; display:flex; align-items:center; justify-content:center; width:28px; height:28px;}
.exam-icon i {display:block; width:28px; height:28px; background:50% 50%/contain no-repeat;}
.exam-icon .ico-exam-written {background-image:url("/images/sub/ico-exam-written.svg");}
.exam-icon .ico-exam-skill {background-image:url("/images/sub/ico-exam-skill.svg");}
.exam-icon .ico-exam-road {background-image:url("/images/sub/ico-exam-road.svg");}
.exam-name {margin:0; font-size:var(--font-size-24); font-weight:700; letter-spacing:-0.03em; line-height:1.67em; color:#2c2c2c;}
.exam-body {padding:24px 32px 32px;}
.exam-info {margin:0; padding:0;}
.exam-info .exam-row + .exam-row {margin-top:16px;}
.exam-score {margin:25px 0 0; padding:25px 0 0; border-top:1px dotted #d9d9d9;}
.exam-row {display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin:0;}
.exam-row dt {flex:0 0 auto; margin:0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.7em; color:#676767;}
.exam-info .exam-row dd {margin:0; font-size:var(--font-size-20); font-weight:600; letter-spacing:-0.02em; line-height:1.7em; color:#2c2c2c; text-align:right;}
.exam-score .exam-row {align-items:flex-start;}
.exam-score dd {display:flex; flex-direction:column; align-items:flex-end; gap:0; margin:0;}
.exam-score .score-line {display:flex; align-items:center; justify-content:flex-end; gap:4px; min-height:40px; font-size:var(--font-size-24); font-weight:700; letter-spacing:-0.03em; line-height:1.67em; color:#081b4b;}
.exam-score .score-up {flex:0 0 20px; width:20px; height:20px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='16' viewBox='0 0 9 16' fill='none'%3E%3Cpath d='M4.5 1L4.5 15M4.5 1L1 5.5M4.5 1L8 5.5' stroke='%23081B4B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50%/contain no-repeat;}
.exam-cards.col-1 {grid-template-columns:minmax(0, 1fr);}
.exam-card.is-row {display:flex;}
.exam-card.is-row .exam-head {flex:0 0 260px; justify-content:center; padding:32px; border-bottom:0;}
.exam-card.is-row .exam-body {flex:1 1 0; display:flex; align-items:center; min-width:0; padding:32px 0 32px 40px;}
.exam-card.is-row .exam-info {flex:1 1 0; display:flex; gap:60px; min-width:0;}
.exam-card.is-row .exam-row {flex-direction:column; justify-content:flex-start; gap:4px;}
.exam-card.is-row .exam-info .exam-row + .exam-row {margin-top:0;}
.exam-card.is-row .exam-row dt {color:#505050;}
.exam-card.is-row .exam-info .exam-row dd {text-align:left;}
.exam-card.is-row .exam-score {flex:0 0 320px; margin:0; padding:0 0 0 40px; border-top:0; border-left:1px solid #dfdfdf;}
.exam-card.is-row .exam-score dd {align-items:flex-start;}
.exam-card.is-row .exam-score .score-line {font-weight:600;}
.exam-cards.col-1 + .exam-note {margin-top:24px;}
.exam-note.is-gray {margin-top:0; border:0; background:#eff0f1;}
.exam-note.is-gray .exam-note-tit {margin-bottom:12px;}
.exam-note.is-gray .exam-note-desc {line-height:1.7em;}
.exam-note {margin-top:var(--space-40); padding:var(--space-40); padding:40px; border:1px solid transparent; border-radius:var(--radius-16); background:linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #e82779 0%, #081b4b 100%) border-box;}
.exam-note-tit {margin:0 0 16px; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.03em; line-height:1.67em; color:#081b4b;}
.exam-note-desc {margin:0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.5em; color:#505050;}

/* 종별안내 — 장내 채점기준 (Figma 144:9581) */
.score-criteria {overflow:hidden; border:1px solid #dfdfdf; border-radius:var(--radius-16); background:#fff;}
.score-criteria-head {padding:24px 32px; border-bottom:1px solid #eee; background:#f7f8f9;}
.score-criteria-tit {margin:0; font-size:var(--font-size-24); font-weight:700; letter-spacing:-0.02em; line-height:1.67em; color:#081b4b;}
.score-criteria-desc {margin:4px 0 0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.7em; color:#505050;}
.score-criteria-body {padding:32px;}
.score-group + .score-group {margin-top:60px;}
.score-group-tit {display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; margin:0; padding:0 16px 0 0; border:0; background:none; color:#2c2c2c; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.02em; line-height:1.67em; text-align:left; cursor:pointer;}
.score-group-tit .ico-toggle {flex:0 0 12px; width:12px; height:6px; background:url("/images/sub/ico-score-toggle.svg") 50% 50%/contain no-repeat; transition:transform .3s ease;}
.score-group.is-open .score-group-tit .ico-toggle {transform:scaleY(-1);}
.score-group-cont {display:none; padding-top:24px;}
.score-group.is-open .score-group-cont {display:block;}
.score-list {margin:0; padding:0; list-style:none;}
.score-item {display:flex; flex-direction:column; gap:12px; padding:24px 0; border-top:1px solid #eee;}
.score-item:first-child {border-top:2px solid var(--color-primary);}
.score-item:last-child {padding-bottom:0;}
.score-item-head {display:flex; flex-wrap:wrap; align-items:center; gap:10px;}
.score-item-name {font-size:var(--font-size-22); font-weight:700; letter-spacing:-0.02em; line-height:1.64em; color:#081b4b;}
.score-badge {display:inline-flex; align-items:center; justify-content:center; padding:4px 12px; border-radius:500px; background:var(--color-primary); color:#fff; font-size:var(--font-size-16); font-weight:700; letter-spacing:-0.02em; line-height:1.5em;}
.score-item-desc {margin:0; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.7em; color:#505050;}
.score-rule {display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none;}
.score-rule > li {display:flex; align-items:center; gap:12px;}
.score-rule .score-badge {flex:0 0 auto; min-width:86px;}
.score-fail {margin-top:40px; padding:40px; border-radius:var(--radius-24); background:#eff0f1;}
.score-fail-tit {margin:0 0 16px; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.02em; line-height:1.67em; color:var(--color-primary);}
.score-fail-list {margin:0; padding:0; list-style:none;}
.score-fail-list > li {position:relative; padding-left:22px; font-size:var(--font-size-20); font-weight:400; letter-spacing:-0.02em; line-height:1.7em; color:#505050;}
.score-fail-list > li + li {margin-top:8px;}
.score-fail-list > li:before {content:""; position:absolute; left:0; top:0.85em; width:6px; height:6px; margin-top:-3px; border-radius:50%; background:#ccc;}
.sub-heading.is-fee {margin-bottom:var(--space-100);}
.sub-heading.is-fee .desc {font-weight:500; line-height:1.67em;}
.sub-heading .sub-tab.is-fee {margin-top:var(--space-60);}
.sub-tab.is-fee ul {background:#f7f8f9;}
.sub-tab.is-fee a {flex-direction:column; min-height:92px; padding:16px 10px; line-height:1.64em;}
.sub-tab.is-fee a small {display:block; font-size:var(--font-size-16); font-weight:700; line-height:1.5em;}
.fee-vat-note {margin-top:24px;}
.fee-vat-note em {font-style:normal; color:#081b4b;}
.fee-cards {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px;}
.fee-cards.col-1 {grid-template-columns:minmax(0, 1fr);}
.fee-card {display:flex; flex-direction:column; gap:48px; padding:40px; border:1px solid #dfdfdf; border-radius:var(--radius-16); background:#fff;}
.fee-name {margin:0; font-size:var(--font-size-22); font-weight:600; letter-spacing:-0.02em; line-height:1.64em; color:var(--color-primary);}
.fee-price {display:flex; align-items:flex-end; gap:4px; margin:8px 0 0;}
.fee-price strong {font-size:var(--font-size-40); font-weight:700; letter-spacing:-0.02em; line-height:1.35em; color:#2c2c2c;}
.fee-price span {font-size:var(--font-size-24); font-weight:700; letter-spacing:-0.02em; line-height:2em; color:#676767;}
.fee-course {margin:16px 0 0; font-size:var(--font-size-18); font-weight:500; letter-spacing:-0.02em; line-height:1.67em; color:#878787;}
.fee-label {margin:0; font-size:var(--font-size-18); font-weight:600; letter-spacing:-0.02em; line-height:1.67em; color:#081b4b;}
.fee-list {display:flex; flex-direction:column; gap:16px; margin:16px 0 0; padding-top:32px; border-top:1px dashed #ddd;}
.fee-row {display:flex; align-items:center; justify-content:space-between; gap:16px;}
.fee-row dt {font-size:var(--font-size-24); font-weight:400; letter-spacing:-0.02em; line-height:1.67em; color:#505050;}
.fee-row dd {margin:0; font-size:var(--font-size-24); font-weight:600; letter-spacing:-0.02em; line-height:1.67em; color:#2c2c2c; text-align:right;}
.fee-vat {margin:32px 0 0; font-size:var(--font-size-16); font-weight:500; letter-spacing:-0.02em; line-height:1.5em; color:#878787;}
.fee-card.is-row {flex-direction:row; gap:0;}
.fee-card.is-row .fee-head {flex:1 1 0; min-width:0; padding-right:32px; border-right:1px dashed #ddd;}
.fee-card.is-row .fee-body {flex:1 1 0; min-width:0; padding-left:32px;}
.real-cont:has(.fee-notice) {padding-bottom:0;}
.fee-notice {position:sticky; bottom:0; z-index:20; margin-top:40px; border-top:1px solid #dfdfdf; background:#fff;}
.fee-notice .contain {display:flex; align-items:center; gap:40px;}
.fee-notice-tit {display:flex; flex:0 0 auto; align-items:center; gap:8px; margin:0; padding:40px 0; font-size:var(--font-size-18); font-weight:600; letter-spacing:-0.02em; line-height:1.67em; color:#2c2c2c;}
.fee-notice-tit:before {content:""; flex:0 0 16px; width:16px; height:16px; background:url("/images/sub/ico-info.svg") 50% 50%/contain no-repeat;}
.fee-notice-list {display:flex; flex-direction:column; gap:4px; margin:24px 0; padding:0 0 0 30px; border-left:1px solid #eee; list-style:none;}
.fee-notice-list > li {position:relative; padding-left:20px; font-size:var(--font-size-18); font-weight:400; letter-spacing:-0.02em; line-height:1.67em; color:#676767;}
.fee-notice-list > li:first-child {font-weight:500; color:#505050;}
.fee-notice-list > li:before {content:""; position:absolute; left:0; top:0.835em; width:4px; height:4px; margin-top:-2px; border-radius:50%; background:#ccc;}

/* 무료셔틀 */
.shuttle-banner {display:flex; flex-direction:column; align-items:flex-start; gap:40px; padding:80px 60px; border-radius:var(--radius-24); background:#000 url("/images/sub/shuttle-detail-banner.jpg") 50% 50%/cover no-repeat;}
.shuttle-banner .label {display:flex; align-items:center; gap:8px; margin:0 0 16px; font-size:var(--font-size-16); font-weight:600; letter-spacing:-0.02em; line-height:1.5em; color:rgba(255,255,255,0.7);}
.shuttle-banner .label:before {content:""; flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:var(--color-primary);}
.shuttle-banner .tit {margin:0 0 16px; font-size:var(--font-size-32); font-weight:700; letter-spacing:-0.02em; line-height:1.44em; color:#fff;}
.shuttle-banner .desc {margin:0; font-size:var(--font-size-20); font-weight:500; letter-spacing:-0.02em; line-height:1.7em; color:#fff;}
.shuttle-banner .btn {display:inline-flex; align-items:center; gap:6px; padding:10px 24px 10px 16px; border-radius:500px; background:var(--color-primary); font-size:var(--font-size-18); font-weight:700; letter-spacing:-0.02em; line-height:1.67em; color:#fff; transition:background .2s;}
.shuttle-banner .btn:hover {background:#081b4b;}
.shuttle-tab {padding:8px; border:1px solid #dfdfdf; border-radius:var(--radius-16); background:#fff;}
.shuttle-tab ul {display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:10px; margin:0; padding:0; list-style:none;}
.shuttle-tab.is-line ul {grid-template-columns:repeat(8, minmax(0, 1fr));}
.shuttle-tab button {display:flex; align-items:center; justify-content:center; gap:6px; width:100%; min-height:68px; padding:16px 10px; border:0; border-radius:var(--radius-12); background:#f7f8f9; font-size:var(--font-size-22); font-weight:700; letter-spacing:-0.02em; line-height:1.64em; color:#737889; text-align:center; cursor:pointer; transition:background .2s, color .2s;}
.shuttle-tab button:hover {color:#2c2c2c;}
.shuttle-tab li.active button {background:#081b4b; color:#fff;}
.shuttle-tab.is-line li.active button {background:var(--line);}
.line-1 {--line:#263c96;}
.line-2 {--line:#3cb44a;}
.line-3 {--line:#f06e00;}
.line-5 {--line:#8936e0;}
.line-6 {--line:#b5500b;}
.line-7 {--line:#697215;}
.line-9 {--line:#d1a62c;}
.line-gj {--line:#7cc4a5;}
.line-ico {flex:0 0 24px; width:24px; height:24px; background:var(--line); -webkit-mask:url("/images/sub/ico-subway.svg") 50% 50%/18px 22px no-repeat; mask:url("/images/sub/ico-subway.svg") 50% 50%/18px 22px no-repeat;}
.shuttle-tab li.active .line-ico {background:#fff;}
.region-panel {margin-top:var(--space-60);}
.shuttle-areas {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px;}
.shuttle-areas.col-1 {grid-template-columns:minmax(0, 1fr);}
.area-card {padding:32px; border:1px solid #dfdfdf; border-radius:var(--radius-16); background:#fff;}
.area-name {margin:0 0 24px; font-size:var(--font-size-22); font-weight:600; letter-spacing:-0.02em; line-height:1.64em; color:#081b4b;}
.area-chips {display:flex; flex-wrap:wrap; gap:10px 8px; margin:0; padding:0; list-style:none;}
.area-chips > li {padding:8px 10px; border-radius:10px; background:#f6f6f6; font-size:var(--font-size-16); font-weight:500; letter-spacing:-0.02em; line-height:1.5em; color:#878787;}
.area-chips > li.is-station {background:#feeef5; color:var(--color-primary);}
.line-panel {display:flex; flex-direction:column; gap:40px; margin-top:16px; padding:32px; border:1px solid #dfdfdf; border-radius:var(--radius-16); background:#fff;}
.line-panel[hidden] {display:none;}
.line-head {display:flex; align-items:center; gap:16px; margin-bottom:32px;}
.line-badge {display:flex; flex:0 0 56px; align-items:center; justify-content:center; width:56px; height:56px; border-radius:var(--radius-16); background:var(--line);}
.line-badge .line-ico {flex-basis:28px; width:28px; height:28px; background:#fff; -webkit-mask-size:20px 26px; mask-size:20px 26px;}
.line-tit {margin:0; font-size:var(--font-size-26); font-weight:700; letter-spacing:-0.02em; line-height:1.54em; color:#2c2c2c;}
.line-desc {margin:0; font-size:var(--font-size-16); font-weight:500; letter-spacing:-0.02em; line-height:1.5em; color:#878787;}
.line-stations {display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none;}
.line-stations > li {display:flex; align-items:center; gap:8px; padding:12px 24px; border:1px solid #dfdfdf; border-radius:10px; font-size:var(--font-size-18); font-weight:600; letter-spacing:-0.02em; line-height:1.67em; color:var(--line);}
.line-stations > li:before {content:""; flex:0 0 20px; width:20px; height:20px; background:var(--line); -webkit-mask:url("/images/sub/ico-pin.svg") 50% 50%/16px 18px no-repeat; mask:url("/images/sub/ico-pin.svg") 50% 50%/16px 18px no-repeat;}
.line-off {display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding-top:24px; border-top:1px dashed #ddd; font-size:var(--font-size-18); font-weight:400; letter-spacing:-0.02em; line-height:1.67em; color:#878787;}
.line-off:before {content:""; flex:0 0 16px; width:16px; height:16px; background:url("/images/sub/ico-info.svg") 50% 50%/contain no-repeat;}
.line-off strong {font-weight:500; color:#2c2c2c;}

/* 도로주행 코스 */
.course-sec {margin-bottom:var(--space-100);}
.course-map {overflow:hidden; border:1px solid #dfdfdf; border-radius:var(--radius-24); background:#fbfbfb;}
.course-map img {display:block; width:71.43%; height:auto; mix-blend-mode:darken;}
.course-map .map-img {margin:0 auto;}
.course-videos {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; margin:0; padding:0; list-style:none;}
.video-thumb {display:block; overflow:hidden; aspect-ratio:16 / 9; border-radius:var(--radius-16);}
.video-thumb img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s;}
.video-thumb:hover img {transform:scale(1.03);}
.video-tit {display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 0; font-size:var(--font-size-26); font-weight:700; letter-spacing:-0.02em; line-height:1.54em; color:#2c2c2c;}