@charset "utf-8";
.sec-tit {font-size: var(--font-size-46); font-weight: 800; line-height: 1.4em; color: var(--dark-color);}
.group-tit {margin-bottom: var(--space-20); font-size: var(--font-size-24); font-weight: 700; line-height: 1.5em; color: var(--dark-color);}
.sec-full {position: relative; margin-bottom: var(--space-160);}
.sec-full .img img {width: 100%;}
.sec-full .contain {position: absolute; bottom: clamp(20px, calc(100 / var(--inner) * 100vw), 100px); left: 50%; transform: translateX(-50%); width: 100%;}
.sec-full .desc {width: max-content; max-width: 100%; margin-left: auto;}

.sec-introduce h2 + p {padding-bottom: var(--space-100); margin-bottom: var(--space-100); border-bottom: 3px solid #DFE3E4;}
.vision-items {display: flex; gap: 30px var(--space-25);}

.system-detail {display: flex; align-items: flex-start; gap: 20px 35px; padding-top: var(--space-50); border-top: 2px solid var(--dark-color)}
.system-cnt {width: 50%;}
.system-cnt .group:not(:last-child) {margin-bottom: var(--space-40); padding-bottom: var(--space-40); border-bottom: 1px solid #eee;}
.system-logo-list {display: flex; gap: 8px; flex-wrap: wrap; margin-top: var(--space-30);}
.system-logo-list .system-logo {width: calc((100% - 24px) / 4);}
.system-box {padding: var(--space-35) var(--space-30); margin-top: var(--space-25); border-radius: var(--radius-16); background: #F2F6F4;}
.system-box h5 {display: flex; gap: 10px; align-items: center; font-size: var(--font-size-18); font-weight: 600; color: var(--gray-color2);}
.system-box h5:before {content: ''; display: block; width: clamp(18px, calc(24 / var(--inner) * 100vw), 24px); height: clamp(18px, calc(24 / var(--inner) * 100vw), 24px); border: clamp(3px, calc(6 / var(--inner) * 100vw), 6px) solid rgba(255, 255, 255, 0.40); background: #8C989D; border-radius: 100%;}
.system-box h5.type2:before {background: var(--primary-color);}
.system-box h5.type3:before {background: var(--dark-color);}
.system-box .hyphen-list {margin-top: var(--space-20);}
.system-box-item:not(:last-child) {margin-bottom: var(--space-35);}
.sec-partners ul {display: flex; flex-wrap: wrap; margin: -10px;}
.sec-partners li {width: 20%; padding: 10px;}

.about-company-item {display: block; padding: var(--space-35); border-radius: var(--radius-16); border: 1px solid #EEE;}
.about-company-item:not(:last-child) {margin-bottom: 10px;}
.about-company-item .area {margin-bottom: 12px; font-size: var(--font-size-16); font-weight: 700; color: var(--gray-color4);}
.about-company-item .cnt {display: flex; justify-content: space-between; gap: 15px 30px;}
.about-company-item .company-name {font-size: var(--font-size-24); font-weight: 700; color: var(--gray-color1); line-height: 1.5em;}
.about-company-item .tags {width: 45.314%; text-align: center;}
.about-company-item .tags ul {display: flex; margin: -3px; flex-wrap: wrap;}
.about-company-item .tags li {width: 33.3335%; padding: 3px; min-width: max-content;}
.about-company-item .tags span {display: block; padding: clamp(8px, calc(12 / var(--inner) * 100vw), 12px) clamp(10px, calc(16 / var(--inner) * 100vw), 16px); background: #F4F5F6; border-radius: 40px; font-size: var(--font-size-15); font-weight: 600; color: var(--gray-color4); line-height: 1em;}

/* 캘린더 스타일 */
.calendar-section {max-width: 1660px; margin: var(--space-80) auto 0; padding: 0 var(--container-space);}
.calendar-container {display: flex; gap: var(--space-80); background: #fff; border: 1px solid #eeeeee; border-radius: var(--radius-24); padding: var(--space-100) var(--space-100) var(--space-90) var(--space-100);}
.calendar-main {flex: 1; max-width: 960px;}
.calendar-header {display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: var(--space-80);}
.calendar-title {font-size: var(--font-size-46); font-weight: 600; color: var(--dark-color); line-height: 1em;}
.calendar-reset {display: flex; align-items: center; gap: var(--space-15); padding: 5px var(--space-15); border-radius: var(--radius-12); background: transparent; border: none; cursor: pointer;}
.calendar-reset span {font-size: var(--font-size-15); font-weight: 600; color: var(--dark-color);}
.calendar-reset img {width: 20px; height: 20px;}
.calendar-grid {display: flex; flex-direction: column; gap: var(--space-40);}
.calendar-weekdays {display: flex; border-bottom: 2px solid var(--dark-color);}
.weekday {width: calc(100% / 7); padding: 0 0 var(--space-70) 0; font-size: var(--font-size-18); font-weight: 400; color: var(--dark-color);}
.weekday:nth-child(4) {color: var(--primary-color);}
.calendar-dates {display: flex; flex-wrap: wrap; gap: var(--space-40) 0; font-family: 'Suit';}
.date-cell {width: calc(100% / 7); display: flex; flex-direction: column; gap: var(--space-20); padding: 0 0 var(--space-20) 0; position: relative; cursor: pointer;}
.date-cell.prev-month {color: #cbd0d2;}
.date-cell.next-month {color: #cbd0d2;}
.date-cell {font-size: var(--font-size-24); font-weight: 600; color: var(--dark-color);}
.event-dots {display: flex; gap: var(--calendar-dot-gap); align-items: center;}
.dot {width: var(--calendar-dot-size); height: var(--calendar-dot-size); background: var(--dark-color); border-radius: 50%;}
.active .dot {background: var(--primary-color);}
.dot.next-month {background: #cbd0d2;}
.calendar-schedule {width: var(--calendar-schedule-width);}
.schedule-title {font-size: var(--font-size-46); font-weight: 600; color: var(--primary-color); line-height: 1em; margin-bottom: var(--space-80);}
.schedule-content {display: flex; flex-direction: column; gap: var(--space-40);}
.schedule-date {padding: 0 0 var(--space-70) 0; border-bottom: 2px solid var(--dark-color); font-size: var(--font-size-18); font-weight: 600; color: var(--primary-color);}
.schedule-list {display: flex; flex-direction: column; gap: 0;}
.schedule-item {padding: 0 0 var(--space-40) 0; margin-bottom: var(--space-40); border-bottom: 1px solid #dfe3e4; display: flex; flex-direction: column; gap: var(--space-20);}
.schedule-item:last-child {border-bottom: none; padding-bottom: 0; margin-bottom: 0;}
.schedule-time {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); font-family:'Suit';}
.schedule-details {display: flex; flex-direction: column;}
.schedule-title-text {font-size: var(--font-size-16); font-weight: 600; color: var(--gray-color3);}
.schedule-location {font-size: var(--font-size-15); font-weight: 400; color: var(--gray-color3);}
.date-cell.active {color: var(--primary-color);}
.no-schedule {padding: var(--space-40) 0; text-align: center; color: var(--gray-color3); font-size: var(--font-size-16);}

.page-guide-support {display: flex; gap: 25px var(--space-80); max-width: 1660px; padding: 0 var(--container-space); margin: 0 auto;}
.page-guide-support .main-provide-info {width: 25%;}
.page-guide-support .main-provide-info>.wrap {padding: var(--space-50) 0; border-top: 3px solid #EEE;}
.page-guide-support .main-provide-slide {display: flex;}
.page-guide-support .main-provide-slide:not(:last-child) {margin-bottom: 10px;}
.page-guide-support .main-provide-slide .tit {flex:1; margin-bottom: 0;}
.page-guide-support .main-provide-slide .tit:after {top: auto; right: auto; left: 0; bottom: 0; width: 38px; height: 38px;}
.page-guide-support .main-provide-slide ol {width: 50%;}
.support-poster {position: relative; width: 100%; margin-bottom: var(--space-15); padding-bottom: 130%; border-radius: var(--radius-24); overflow: hidden;}
.support-poster img {position: absolute; width: 100%; height: 100%; top: 0; left: 0; object-fit: cover; object-position: center;}
.support-poster + a {display: block; width: 100%; padding: 20px; border-radius: 50px; background: #fff; color: #77868C; font-weight: 700; line-height: 1em;}
.support-poster + a:hover {background: #f4f5f6;}
.slogan-box {padding:var(--space-40); background: #F4F5F6; border-radius: var(--radius-16);}
.slogan-list {margin-top: var(--space-35);}
.support-detail .group:not(:last-child) {padding-bottom: var(--space-60); margin-bottom: var(--space-60); border-bottom: 3px solid #DFE3E4;}

.support-indicator-boxes {border: 1px solid #eee; border-radius: var(--radius-16); overflow: hidden;}
.support-indicator-box {padding: var(--space-40) var(--space-35);}
.support-indicator-box:not(:last-child) {border-right: 1px solid #eee;}
.support-indicator-box p strong {font-size: clamp(30px, calc(48 / var(--inner) * 100vw), 48px); font-weight: 800;}

.page-apply {max-width: 1660px; padding: 0 var(--container-space); margin: 0 auto;}
.page-apply .wrap {padding: var(--space-90) var(--space-100); border-radius: var(--radius-24); background: #F4F5F6;}

/* 지원 신청 폼 스타일 */
.apply-form {margin-top: var(--space-50);}
.form-section {display: flex; flex-direction: column; padding:var(--space-30) 0; border-bottom: 1px solid #DFDFDF;}
.form-row {display: flex; gap: 0 var(--space-80);}
.form-row:last-child {border-bottom: none; padding-bottom: 0;}
.form-col {flex: 1; display: flex; align-items: center; padding: var(--space-20) 0;}
.form-label {display: flex; align-items: center; gap: var(--space-15); min-width: 200px; flex-shrink: 0;}
.label-dot {width: 8px; height: 8px; background: var(--primary-color); border-radius: 50%;}
.label-dot.type2 {background: var(--gray-color4);}
.form-label span {font-size: var(--font-size-20); font-weight: 600; color: var(--dark-color);}
.form-content {flex: 1; min-width: 0;}
.checkbox-group {display: flex; gap: var(--space-30); flex-wrap: wrap;}
.checkbox-item {display: flex; align-items: center; gap: var(--space-15); cursor: pointer;}
.checkbox-item input[type="checkbox"] {display: none;}
.check-icon {width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;}
.check-icon img {width: 100%; height: 100%;}
.check-text {font-size: var(--font-size-18); font-weight: 500; color: var(--gray-color2);}
.checkbox-item input[type="checkbox"]:checked + .check-icon + .check-text {color: var(--dark-color);}
.input-row {display: flex; gap: var(--space-15); margin-bottom: var(--space-15);}
.input-row:last-child {margin-bottom: 0;}
.input-group {display: flex; gap: var(--space-15); flex: 1;}
.form-select {flex: 1; height: clamp(44px, calc(56 / var(--inner) * 100vw), 56px); padding: 0 var(--space-20); border: 2px solid #eeeeee; border-radius: var(--radius-12); background: #fff; font-size: var(--font-size-16); color: var(--dark-color); cursor: pointer; position: relative;}
.form-select:focus {border-color: var(--primary-color); outline: none;}
.form-select::after {content: ''; position: absolute; right: var(--space-20); top: 50%; transform: translateY(-50%); width: 6px; height: 10px; background: url('/images/bbs/select.svg') no-repeat  center; background-size: contain;}
.form-content .input {flex: 1; width: 100%; height: clamp(44px, calc(56 / var(--inner) * 100vw), 56px); padding: 13px var(--space-20); border: 2px solid #eeeeee; border-radius: var(--radius-12); background-color: #fff; font-size: var(--font-size-16); color: var(--dark-color);}
.form-input:focus {border-color: var(--primary-color); outline: none;}
.form-input::placeholder {color: #cbd0d2;}
.full-width {flex: 1;}

/* 개인정보 입력 섹션 */
.form-content .checkbox:not(:last-child) {margin-right: clamp(20px, calc(30 / var(--inner) * 100vw), 30px);}

/* 주소 입력 그룹 */
.address-group > *:not(:last-child) {margin-bottom: clamp(7px, calc(12 / var(--inner) * 100vw), 12px);}
.address-row {display: flex; gap: var(--space-15); align-items: center;max-width: 480px;}
.postcode {width: 240px; flex-shrink: 0;}
.postcode-btn {height: clamp(44px, calc(56 / var(--inner) * 100vw), 56px); padding: 0 var(--space-20); background: #121212; color: #fff; border: none; border-radius: var(--radius-12); font-size: var(--font-size-18); font-weight: 700; cursor: pointer; white-space: nowrap;}

/* 자동 등록 방지 섹션 */
.captcha-section .form-row {display: flex; align-items: center; gap: var(--space-30);}
.captcha-group {display: flex; gap: var(--space-15); align-items: center;}
.captcha-image {width: 150px; height: clamp(44px, calc(56 / var(--inner) * 100vw), 56px); border-radius: var(--radius-12); overflow: hidden; flex-shrink: 0;}
.captcha-image img {width: 100%; height: 100%; object-fit: cover;}
.captcha-input {width: 344px; flex-shrink: 0;}

/* 폼 푸터 */
.form-footer {padding-top: var(--space-50);}
.privacy-agreement {margin-bottom: var(--space-40);}
.agreement-checkbox {display: flex; align-items: center; justify-content: center; gap: var(--space-15); cursor: pointer;}
.agreement-checkbox input[type="checkbox"] {display: none;}
.agreement-checkbox .check-icon {width: 24px; height: 24px; border: 1px solid #505050; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.agreement-checkbox input[type="checkbox"]:checked + .check-icon {background: var(--primary-color); border-color: var(--primary-color);}
.agreement-checkbox input[type="checkbox"]:checked + .check-icon::after {content: '✓'; color: #fff; font-size: 14px; font-weight: bold;}
.agreement-text {font-size: var(--font-size-18); font-weight: 500; color: var(--dark-color);}
.agreement-link {color: var(--gray-color4); text-decoration: underline;}
.form-buttons {display: flex; gap: var(--space-15); justify-content: center;}
.btn-list {padding: var(--space-20) var(--space-40); background: #fff; color: #77868c; border: 2px solid #eeeeee; border-radius: 50px; font-size: var(--font-size-18); font-weight: 700; cursor: pointer;}
.btn-submit {padding: var(--space-20) var(--space-40); background: var(--primary-color); color: #fff; border: none; border-radius: 50px; font-size: var(--font-size-18); font-weight: 700; cursor: pointer;}

.page-apply-view {padding-top: var(--space-100); border-top: 1px solid #eee;}
.view-title {padding-bottom: var(--space-50);}
.view-info {display: flex; gap: 10px var(--space-30); margin-top: var(--space-20);}
.apply-view-cnt {border-top: 2px solid #2C2C2C;border-bottom: 1px solid #CCC;}
.apply-view-cnt > *:not(:last-child) { border-bottom: 1px solid #eee;}
.view-inquiry, .view-answer {padding: var(--space-50) var(--space-40);}

.btn-reset {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-15);
    font-weight: 700;
    color: var(--dark-color);
    background: #fff;
    border: 0;
}

.btn-reset:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: url('/images/bbs/icon-reset.png') no-repeat center center / contain;
}