@charset "utf-8";
.spec-tbl { width: 100%; border-collapse: collapse;}
.spec-tbl th, .spec-tbl td { padding: var(--space-20) var(--space-20); border: 1px solid #ddd;}
.spec-tbl th {background: #f7f7f7; color: var(--dark-color); font-weight: 700;}

/* faq accordion */
.faq-acco ul { display: flex; flex-direction: column; gap: var(--space-20); }
.faq-acco .card { width: 100%; margin: 0 auto; padding: var(--space-50); background: #fff; border-radius: var(--radius-16); border: 1px solid #ddd; }
.faq-acco .item.active .card { box-shadow: 0 4px 16px rgba(0,0,0,0.20); }
.faq-acco .head { display: flex; justify-content: space-between; align-items: center; gap: 10px; cursor: pointer; }
.faq-acco .bar {display: none;}
.faq-acco .tit {display: flex; gap: 10px; flex: 1; min-width: 0; font-size: var(--font-size-22); font-weight: 700;}
.faq-acco .tit:before {content: ''; display: block; min-width: 4px;  background: var(--primary-color); border-radius: 1px;}
.faq-acco .head .btn { flex: 0 0 clamp(30px, calc(40 / var(--inner) * 100vw), 40px); width: clamp(30px, calc(40 / var(--inner) * 100vw), 40px); height: clamp(30px, calc(40 / var(--inner) * 100vw), 40px); padding: 0; border: none; border-radius: 500px; background: #F5F5F5; cursor: pointer; position: relative; }
.faq-acco .head .btn::before { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 14px; height: 2px; background: var(--gray-color); border-radius: 1px; }
.faq-acco .head .btn::after { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 2px; height: 14px; background: var(--gray-color); border-radius: 1px; }
.faq-acco .item.active .head .btn { background: var(--primary-color); }
.faq-acco .item.active .head .btn::before { background: #fff; }
.faq-acco .item.active .head .btn::after { display: none; }
.faq-acco .cnt { padding: var(--space-25) 0 0 14px; margin-top: var(--space-25); border-top: 1px solid #ddd; font-size: var(--font-size-18); font-weight: 400; line-height: 1.555em; color: #454545; }

.bg-gray {padding: var(--space-150) 0; background: #F9F9F9;}
.page-about .bg-gray {padding: var(--space-100) 0;}
.contact-boxes {gap: var(--space-40);}
.contact-box {padding: var(--space-50); background: #fff; border-radius: var(--radius-16);}
.contact-box:hover {box-shadow: 0 4px 16px rgba(0,0,0,0.20);}
.contact-box .icon {width: fit-content; border-radius: 100%; padding: var(--space-15); background: var(--primary-color);}
.contact-box p {display: flex; justify-content: space-between;}
.contact-box p:after {content: ''; display: block; width: 24px; height: 24px; background: url('/images/sub/contact-arrow.png') no-repeat center center; background-size: contain;}

/* download list */
.download-list ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-40); list-style: none; margin: 0; padding: 0; }
.download-list .card {height: 100%; padding: var(--space-50); background: #fff; border-radius: var(--radius-16); border: 1px solid #ddd; display: flex; flex-direction: column; gap: var(--space-50); text-decoration: none; color: inherit; }
.download-list .card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.20); }
.download-list .inner {flex: 1;}
.download-list .top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: var(--space-25);}
.download-list .icon {width: fit-content; padding: var(--space-15); border-radius: 8px; background: #F5F5F5; flex-shrink: 0; }
.download-list .tag { padding: 12px 14px; background: #FFF5F5; border-radius: 4px; color: var(--primary-color); line-height: 1em;}
.download-list .card:hover .icon {background: var(--primary-color);}
.download-list .card:hover .icon img {filter: brightness(0) invert(1);}
.download-list .tit { font-size: var(--font-size-22); font-weight: 700; color: #454545; margin: 0; }
.download-list .body { display: flex; flex-direction: column; gap: var(--space-20); }
.download-list .langs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.download-list .langs span { padding: 12px 14px; background: #F5F5F5; border-radius: 4px; font-size: var(--font-size-18); font-weight: 500; color: #454545; line-height: 1em;}
.download-list .foot { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #ddd; margin-top: var(--space-15); padding-top: var(--space-15); }
.download-list .date {color: var(--gray-color);}
.download-list .ico { display: block; width: 20px; height: 20px; background: url('/images/sub/icon-download.png') no-repeat center center / contain; overflow: hidden; text-indent: -99999em;}

.page-about .sec:not(:last-child) {margin-bottom: var(--space-100);}
.sec-history .cont { display: flex; justify-content: flex-start; align-items: flex-start; gap: clamp(35px, calc(120 / var(--inner) * 100vw), 120px); }
.history-img {width: 34.15%; max-width: 478px;}
.sec-history .history-body {border-top: 2px solid var(--primary-color);}
.sec-history .year-block { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 48px; width: 100%; }
.sec-history .year-block:not(:last-of-type) { border-bottom: 1px solid #ddd; }
.sec-history .history-body.folded .year-block:nth-of-type(n+4) { display: none; }
.sec-history .year-row { display: flex; padding: var(--space-40); gap: 10px 0; width: 100%; }
.sec-history .year {width: 23.685%; font-size: var(--font-size-22); font-weight: 600; color: var(--primary-color); line-height: 1.5; flex-shrink: 0; }
.sec-history .list {flex: 1 1 auto; min-width: 1%; display: flex; flex-direction: column; gap: var(--space-20); margin: 0; padding: 0; list-style: none; }
.sec-history .list li { display: flex; justify-content: flex-start;}
.sec-history .num { width: 31px; margin-right: 10px; flex-shrink: 0; font-weight: 600; }
.sec-history .btn-wrap { display: flex; justify-content: center; align-items: center; margin-top: vaR(--space-40);}
.sec-history .btn { padding: var(--space-15) var(--space-20); background: var(--gray-color); border: none; border-radius: 8px; color: #fff; font-size: var(--font-size-18); line-height: 1.5em; cursor: pointer; display: inline-flex; align-items: center; gap: 12px;}
.sec-history .btn::after { content: ""; display: block; width: 10px; height: 5px; background: url('/images/sub/history-arrow.png') no-repeat center center / contain;}
.sec-history .history-body:not(.folded) .btn::after { transform: rotate(180deg); }

.value-head:after {content: ''; display: block; width: 1px; height: clamp(30px, calc(60 / var(--inner) * 100vw), 60px); background: var(--primary-color); margin: var(--space-30) auto;}
.value-items {display: grid; grid-template-columns: repeat(2, 1fr); border-top: 2px solid #ddd;}
.value-item {display: flex; align-items: center; gap: 10px clamp(20px, calc(100 / var(--inner) * 100vw), 100px); padding: var(--space-30) var(--space-50);}
.value-item:nth-child(1), .value-item:nth-child(4), .value-item:nth-child(5), .value-item:nth-child(8) {background: #F9F9F9;}

.partner-items {display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-20);}
.partner-item .partner-logo:after {display: none;}
.partner-item .partner-logo {padding-bottom: 0; border-radius: 0; margin-bottom: 5px;}
.partner-item .partner-logo img {position: unset; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; transform: none;}

.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe {width: 100% !important; height: 100% !important;}
.root_daum_roughmap .wrap_controllers, .root_daum_roughmap .cont {display: none;}
.direction-cnt .group { display: flex; gap: 25px clamp(30px, calc(100 / var(--inner) * 100vw), 100px); }
.direction-cnt .group:not(:last-child) {border-bottom: 1px solid #ddd; padding-bottom: var(--space-80); margin-bottom: var(--space-80);}
.direction-map {width: 46.43%; max-width: 650px; border-radius: var(--radius-24); overflow: hidden;}
.direction-txt {flex: 1; min-width: 1%; }
.direction-txt .wrap {border-bottom: 1px solid #ddd; padding-bottom: var(--space-40); margin-bottom: var(--space-40);}
.direction-cnt .list {display: flex; flex-direction: column; gap: var(--space-20); margin: 0; padding: 0; list-style: none; }
.direction-cnt .row { display: flex; align-items: center;}
.direction-cnt .row .txt{flex:1; min-width: 1%;}
.direction-cnt .label {display: flex; align-items: center; gap: 10px; width: 85px; flex-shrink: 0; font-size: var(--font-size-18); font-weight: 600;}
[lang="en"] .direction-cnt .label {width: 122px;}
.direction-cnt .label span {display: flex; align-items: center; flex:1; justify-content: space-between;}
.direction-cnt .label span:after {content: ''; display: block; width: 1px; height: 10px; background: #ddd; margin: 0 10px;}
.direction-cnt .transit-inner { display: flex; gap: var(--space-20); }
.direction-cnt .tag {height: fit-content; padding: 10px var(--space-15); background: #F5F5F5; border-radius: 8px; font-weight: 600; color: #222222; line-height: 1em;}
.direction-cnt .transit {margin-bottom: var(--space-40);}
.direction-cnt .transit .list {flex: 1; display: flex; flex-direction: column; justify-content: center; gap: var(--space-15); margin: 0; padding: 0; list-style: none; }
.direction-cnt .transit .row { display: flex; }
.direction-cnt .station {display: flex; align-items: center;}
.direction-cnt .station:after {content: ''; display: block; width: 1px; height: 10px; background: #ddd; margin: 0 10px;}
.direction-cnt .station:before { content: "•"; margin-right: var(--space-10); font-weight: 900; color: var(--primary-color);}
.direction-cnt .btn-wrap { display: flex; justify-content: flex-start; align-items: flex-start; gap: var(--space-10); }
.direction-cnt .btn { display: inline-flex; align-items: center; justify-content: center; padding: var(--space-15) var(--space-40); border-radius: 8px; font-size: var(--font-size-18); font-weight: 600; line-height: 1em; text-decoration: none; }
.direction-cnt .btn.kakao { background: #FEE500; color: #3C1E1E; }
.direction-cnt .btn.naver { background: #03C75A; color: #fff; }
.direction-cnt .btn.google {background: #4285F4; color: #fff;}

.notice-box {padding: var(--space-40); margin-bottom: var(--space-80); background: #f8f8f8; border-radius: var(--radius-16);}
.notice-box h3 {display: flex; align-items: center; justify-content: center; gap: var(--space-10);}
.notice-box h3:before {content: ''; display: block; width: 18px; height: 18px; background: url('/images/sub/icon-chk.png') no-repeat center center / contain;}
.dot-list.type2 li:not(:last-child) {margin-bottom: 5px;}
.dot-list.type2 li:before {color: var(--primary-color);}

/* career-list (채용공고 카드) */
.career-list { display: flex; flex-direction: column; gap: var(--space-40); }
.career-list .card {padding: var(--space-50); background: #fff; border-radius: var(--radius-16); border: 1px solid #ddd; display: flex; align-items: flex-start; gap: var(--space-40); text-decoration: none; color: inherit; }
.career-list .card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.20); }
.career-list .card .wrap {flex: 1 1 auto; min-width: 1%;}
.career-list .cont { display: flex; flex-direction: column; gap: 24px; flex: 1; min-width: 0; }
.career-list .tit { font-size: var(--font-size-22); font-weight: 700; color: #454545; line-height: 1.5; margin-bottom: var(--space-10); }
.career-list .desc { font-size: var(--font-size-18); color: #454545; line-height: 1.55556em;}
.career-list .btn { display: inline-flex; align-items: center; gap: 12px; padding: var(--space-15) var(--space-20); border-radius: 8px; font-size: var(--font-size-18); line-height: 1em; text-decoration: none; flex-shrink: 0; }
.career-list .card:hover .btn { background: var(--primary-color); color: #fff; border: none; }
.career-list .card:hover .btn::after {filter: brightness(0) invert(1);}
.career-list .btn:not(.primary) { background: transparent; color: var(--gray-color); border: 1px solid #ddd; }
.career-list .btn::after { content: ""; display: block; width: 16px; height: 16px; background: url('/images/sub/icon-apply-arrow.png') no-repeat center center / contain;}
.career-list .card-info { display: flex; gap: 5px var(--space-30); margin-top: var(--space-30); }
.career-list .row { display: flex; justify-content: flex-start; align-items: center; gap: 8px; }
.career-list .ico { width: 18px; height: 18px; flex-shrink: 0;}
.career-list .ico-dept {background: url('/images/sub/icon-dept.png') no-repeat center center / contain;}
.career-list .ico-loc {background: url('/images/sub/icon-loc.png') no-repeat center center / contain;}
.career-list .ico-date {background: url('/images/sub/icon-date.png') no-repeat center center / contain;}
.career-list .txt {color: var(--gray-color);}

/* career-view (채용 상세) */
.career-view { display: flex; flex-direction: column; gap: var(--space-100); }
.career-view .tag { display: inline-flex; align-items: center; padding: 10px 14px; background: var(--primary-color); border-radius: 4px; font-weight: 600; color: #fff; width: fit-content; line-height: 1em;}
.career-view .summary {flex-wrap: wrap; display: flex; gap: var(--space-20) 30px; padding: var(--space-35) 0; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.career-view .summary .item { display: flex; flex-direction: column; gap: var(--space-15);}
.career-view .summary .row { display: flex; align-items: center; gap: 8px; }
.career-view .summary .label {color: var(--gray-color);}
.career-view .summary .value { font-size: var(--font-size-18); font-weight: 600; color: var(--dark-color);}
.career-view .sec { display: flex; flex-direction: column;}
.career-view .sec-tit {padding-bottom: var(--space-20); margin-bottom: var(--space-20); border-bottom: 1px solid #ddd; font-size: var(--font-size-32); font-weight: 700; color: var(--dark-color); line-height: 1.5em;}
.career-view .list { display: flex; flex-direction: column; gap: var(--space-20); margin: 0; padding: 0; list-style: none; }
.career-view .list li { display: flex; align-items: center; gap: var(--space-10); font-size: var(--font-size-18); color: #454545; line-height: 28px; }
.career-view .list li::before { content: ""; display: block; width: 5px; height: 5px; background: var(--primary-color); border-radius: 9999px; flex-shrink: 0; }
.career-view .benefit-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-20); }
.career-view .benefit-item { display: flex; align-items: center; gap: 8px; padding: var(--space-25) var(--space-30); background: #F8F8F8; border-radius: var(--radius-16);}
.career-view .benefit-item .ico { width: 18px; height: 18px; flex-shrink: 0; background: url('/images/sub/icon-benefit-chk.png') no-repeat center center / contain;}
.career-view .btn-wrap { display: flex; justify-content: center; align-items: center; margin-top: var(--space-60); }
.career-view .btn { display: inline-flex; align-items: center; gap: 12px; padding: var(--space-20) var(--space-40); background: var(--primary-color); border-radius: 8px; font-size: var(--font-size-18); font-weight: 600; color: #fff; text-decoration: none; }
.career-view .btn::before { content: ""; display: block; width: 24px; height: 24px; background: url('/images/sub/icon-apply-btn.png') no-repeat center center / contain;}

/* career-apply (지원서 작성 폼) */
.career-apply { display: flex; flex-direction: column; gap: var(--space-80); }
.career-apply .apply-head { display: flex; flex-direction: column; align-items: center; text-align: center; }
.career-apply .tit { font-size: var(--font-size-40); font-weight: 700; color: var(--dark-color); line-height: 1.4;}
.career-apply .subtit { font-size: var(--font-size-22); font-weight: 600; color: var(--primary-color);}
.career-apply .note { font-size: var(--font-size-18); color: #454545; line-height: 28px; margin: 0; }
.career-apply .note .req { color: var(--primary-color); }
.career-apply .form-body { display: flex; flex-direction: column; gap: var(--space-50); }
.career-apply .section {display: flex; flex-direction: column; gap: var(--space-30); padding: var(--space-50); background: #fff; border-radius: var(--radius-16); border: 1px solid #ddd; }
.career-apply .section-tit { display: flex; align-items: center; gap: 12px; font-size: var(--font-size-22); font-weight: 700; color: var(--dark-color); line-height: 1.5; margin: 0; padding: 0; }
.career-apply .section-tit .num { display: flex; align-items: center; justify-content: center; width: clamp(30px, calc(40 / var(--inner) * 100vw), 40px); height: clamp(30px, calc(40 / var(--inner) * 100vw), 40px); background: var(--primary-color); border-radius: 500px; color: #fff; font-size: var(--font-size-18); font-weight: 700; flex-shrink: 0; }
.career-apply .fields { display: flex; flex-direction: column; gap: var(--space-30); }
.career-apply .field { display: flex; flex-direction: column; gap: var(--space-10); }
.career-apply .field.full { width: 100%; }
.career-apply .field.half { flex: 1; min-width: 0; }
.career-apply .field-row { display: flex; gap: var(--space-30); }
.career-apply .field-row .field.half { max-width: 635px; }
.career-apply .label { font-size: var(--font-size-18); font-weight: 600; color: #454545; line-height: 28px; }
.career-apply .label .req { color: var(--primary-color); }
.career-apply .input { width: 100%; padding: var(--space-20); border: 1px solid #ddd; border-radius: 8px; font-size: var(--font-size-18); color: #454545; background: #fff; }
.career-apply .input::placeholder { color: var(--gray-color); }
.career-apply .textarea { width: 100%; padding: var(--space-20); border: 1px solid #ddd; border-radius: 8px; font-size: var(--font-size-18); color: #454545; background: #fff; resize: vertical; min-height: 160px; overflow:auto; resize:none;}
.career-apply .textarea::placeholder { color: var(--gray-color); }
.career-apply .radio-group { display: flex; flex-direction: column; gap: var(--space-10); }
.career-apply .radio-wrap { display: flex; flex-wrap: wrap; gap: 10px; }
.career-apply .radio-label { display: inline-flex; align-items: center; gap: var(--space-10); font-size: var(--font-size-18); color: var(--gray-color); line-height: 28px; cursor: pointer; }
.career-apply .radio-label input { width: 18px; height: 18px; }
.career-apply .field.block { display: flex; flex-direction: column; gap: var(--space-40); }
.career-apply .section-file { background: linear-gradient(180deg, #FFF5F5 0%, #fff 100%); }
.career-apply .file-upload { position: relative; border: 1px solid #ddd; border-radius: var(--radius-16); background: #fff; }
.career-apply .file-upload.dragover { border-color: var(--primary-color); background: #FFF5F5; }
.career-apply .file-input { position: absolute; width: 0; height: 0; opacity: 0; }
.career-apply .file-label { display: flex; flex-direction: column; align-items: center; gap: var(--space-10); width: 100%;  padding: var(--space-100) var(--space-20); cursor: pointer; }
.career-apply .file-tit { font-size: var(--font-size-18); font-weight: 600; color: #454545; text-align: center; }
.career-apply .file-desc { font-size: 14px; color: var(--gray-color); text-align: center; }
.career-apply .file-name { font-size: var(--font-size-18); color: var(--primary-color); font-weight: 600; text-align: center; margin-top: var(--space-10); display: none; }
.career-apply .file-name.has-file { display: block; }
.career-apply .btn-wrap { display: flex; flex-direction: column; align-items: center; gap: var(--space-20); margin-top: var(--space-50);}
.career-apply .btn { padding: var(--space-15) var(--space-40); background: var(--primary-color); border: none; border-radius: 8px; font-size: var(--font-size-18); font-weight: 600; line-height: 1em; color: #fff; cursor: pointer; }
.career-apply .footer-note { font-size: var(--font-size-18); color: #454545; line-height: 24px; text-align: center; margin: 0; }

