@charset "UTF-8";

/* ============================================
   화성컨소시엄 RISE사업단 - Final 서브페이지
   sub.html(GNB+LNB) + sub_alt.html(히어로 배너) 통합
   ============================================ */

/* ============================================
   Page Hero Banner (sub_alt 스타일 적용)
   ============================================ */
.final-hero {
    position: relative;
    /* margin-top: 72px; */
    height: 200px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    /* background: linear-gradient(135deg, #0D47A1 0%, #1976D2 40%, #42A5F5 100%); */
    background: linear-gradient(135deg, #0e2241 0%, #1a3049 40%, #072137 100%);
}
.final-hero__bg {
    position: absolute;
    inset: 0;
}
.final-hero__bg img {
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: .5;
    filter: saturate(1.2);
}

.final-hero__bg.sub-visual1 {background:url(../images/sub_visual1.jpg) no-repeat 50% 0;background-size:cover;}
.final-hero__bg.sub-visual2 {background:url(../images/sub_visual2.jpg) no-repeat 50% 0;background-size:cover;}
.final-hero__bg.sub-visual3 {background:url(../images/sub_visual3.jpg) no-repeat 50% 0;background-size:cover;}
.final-hero__bg.sub-visual4 {background:url(../images/sub_visual4.jpg) no-repeat 50% 0;background-size:cover;}
.final-hero__bg.sub-visual5 {background:url(../images/sub_visual5.jpg) no-repeat 50% 0;background-size:cover;}

.final-hero__overlay {
    position: absolute;
    inset: 0;
    /* background: linear-gradient(180deg, rgba(13,71,161,.15) 0%, rgba(25,118,210,.4) 100%); */
    background: linear-gradient(180deg, rgb(9 13 18 / 30%) 0%, rgb(8 11 14 / 40%) 100%);
}
.final-hero__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 20px 48px;
    text-align: center;
}
.final-hero__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
    line-height:1.4;
}
.final-hero__breadcrumb a {
    color: #666;
    transition: color .2s;
}
.final-hero__breadcrumb a.ico-home {position:relative;top:-1px;display:inline-block;width:16px;height:15px;text-indent:-999px;overflow:hidden;background:url(../images/ico_home.png) no-repeat 0 50%;vertical-align:middle;}
.final-hero__breadcrumb a:hover { color: #222; }
.final-hero__breadcrumb .sep { font-size: 10px; opacity: .8; }
.final-hero__breadcrumb .current { color: #222; font-weight: 500; }
@media only all and (max-width:767px) {
    .final-hero__breadcrumb {font-size:12px;}
}
.final-hero__title {
    font-size: 44px;
    font-weight: 600;
    color: #fff;
    letter-spacing: -.03em;
    line-height: 1.2;
    font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.final-hero__title em {
    font-style: normal;
    font-weight: 300;
    font-size: 18px;
    display: block;
    margin-bottom: 6px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #dcf0ff;
}
.final-hero__accent {
    display: inline-block;
    width: 50px; height: 3px;
    background: #e5a517;
    border-radius: 2px;
    margin-top: 16px;
}

/* ============================================
   Sub Page Layout (sidebar + content)
   ============================================ */
.final-layout {
    display: flex;
    /* grid-template-columns: 240px 1fr;
    gap: 40px;*/
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 36px 20px 80px;
    min-height: 600px;
    align-items: flex-start;
}

/* ============================================
   LNB Sidebar
   ============================================ */
.final-sidebar {
    position: sticky;
    top: 88px;
    width:240px;
    margin-right:40px;
    flex: none;
}
.final-sidebar__title {
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    padding: 22px 10px 20px;
    text-align: center;
    /* background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%); */
    background: linear-gradient(135deg, var(--color-primary-dark) 0%, #1b66af 100%);
    border-radius: 20px 10px 0 0;
    letter-spacing: -.01em;
    font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.final-sidebar__menu {
    border: 1px solid var(--color-border);
    border-top: none;
    border-radius: 0 0 20px 0;
    overflow: hidden;
    background: var(--color-white);
}
.final-sidebar__menu li {
    border-bottom: 1px solid #e0e0e0;
}
.final-sidebar__menu li:last-child { border-bottom: none; }
.final-sidebar__menu li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 10px 14px 26px;
    font-size: 16px;
    font-weight: 500;
    /* color: var(--color-text-light); */
    transition: all .2s;
    position: relative;
}
.final-sidebar__menu li a::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: var(--color-primary);
    opacity: 0;
    transition: opacity .2s;
    border-radius: 0 2px 2px 0;
}
.final-sidebar__menu li a:hover,
.final-sidebar__menu li.is-active a {
    background: var(--color-accent-light);
    color: var(--color-primary);
    font-weight: 600;
    padding-left: 30px;
}
.final-sidebar__menu li.is-active a::before,
.final-sidebar__menu li a:hover::before { opacity: 1; }

/* Sidebar Contact */
.final-sidebar__contact {
    margin-top: 16px;
    padding: 20px 22px;
    background: var(--color-bg-light);
    border-radius: 10px;
    border: 1px solid var(--color-border);
}
.final-sidebar__contact h4 {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-primary-dark);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.final-sidebar__contact h4::before {
    content: '';
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--color-accent);
}
.final-sidebar__contact p {
    font-size: 12px;
    color: var(--color-text-light);
    line-height: 1.8;
}

/* ============================================
   Content Area
   ============================================ */
.final-content {width:100%;}

.final-content__header {
    margin-bottom: 30px;
    padding-bottom: 15px;
    padding-top:2px;
    border-bottom: 1px solid #ddd;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    position:relative;
}
.final-content__header h2 {
    font-size: 24px;
    font-weight: 600;
    color: var(--color-primary-dark);
    letter-spacing: -.02em;
    line-height:1.1;
    font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
@media only all and (max-width:767px) {
  .final-content__header h2 {font-size: 20px;}
}
.final-content__header-desc {
    font-size: 13px;
    color: var(--color-text-muted);
}

/* 공유/프린트 아이콘 버튼 */
.final-content__actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.final-content__action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: var(--color-white);
    color: var(--color-text-light);
    cursor: pointer;
    transition: all .2s;
    font-size: 16px;
    text-decoration: none;
}
.final-content__action-btn:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

.final-content__header .sns-group {display:flex;margin-left:auto;z-index:10;}
.final-content__header .sns-group .share {background:url(../images/ico_share.png) no-repeat 7px 50%;}
.final-content__header .sns-group .print {margin-left:10px;background:url(../images/ico_print.png) no-repeat 7px 50%;}
.final-content__header .share-close {position:absolute;right:8px;top:8px;width:14px;height:14px;text-indent:-9999px;overflow:hidden;background:url(../images/ico_share_close.png) no-repeat 50% 50%;}
.final-content__header .sns-group > button {display:inline-block;width:30px;height:30px;text-indent:-9999px;overflow:hidden;}
.final-content__header .sns-group a {display:inline-block;width:40px;height:40px;text-indent:-9999px;overflow:hidden;background-color:#4a4a4a;border-radius:40px;}
.final-content__header .sns-group a.blog {background:#555 url(../images/ico_blog.png) no-repeat 50% 50%;}
.final-content__header .sns-group a.facebook {background:#555 url(../images/ico_facebook.png) no-repeat 50% 50%;}
.final-content__header .sns-group a.instagram {background:#555 url(../images/ico_instagram.png) no-repeat 50% 50%;}
.final-content__header .sns-group a.youtube {background:#555 url(../images/ico_youtube.png) no-repeat 50% 50%;}
.final-content__header .sns-group a.copy {background:#555 url(../images/ico_url.png) no-repeat 50% 50%;text-indent:0;color:#fff;display:flex;justify-content:center;align-items:center;font-size:12px;}
.final-content__header .sns-group a + a {margin-left:5px;}
.final-content__header .share-list {display:none;position:absolute;right:0;top:69px;padding:15px 26px 15px 15px;border:1px solid #ddd;background:#fff;border-radius:10px;}
.final-content__header .share-list a {display:block;float:left;width:38px;height:38px;margin:0 3px;text-indent:-9999px;overflow:hidden;}
.final-content__header .share-list:after {content:"";position:absolute;top:-7px;right:45px;width:12px;height:12px;border-top:1px solid #ddd;border-left:1px solid #ddd;-webkit-transform:rotate(45deg);transform:rotate(45deg);background-color:#fff;}
@media only all and (max-width:767px) {
  .final-content__header .share-list {right:-4px;top:71px;}
}

/* ============================================
   Greeting (인사말)
   ============================================ */
.final-greeting {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    align-items: flex-start;
}
.final-greeting__photo {
    width: 100%;
    aspect-ratio: 3/4;
    background: linear-gradient(135deg, #E8F4FD 0%, #D1E8F8 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: var(--color-text-muted);
    border: 1px solid var(--color-border);
    overflow: hidden;
}
.final-greeting__photo img {
    width: 100%; height: 100%; object-fit: cover;
}
.final-greeting__headline {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-border);
    letter-spacing:-1px;
}
.final-greeting__headline span {color: #13B7A6;}
.final-greeting__headline strong {
    font-weight: 700;
    font-size: 24px;
    display: block;
    line-height: 1.2;
}
.final-greeting__body p {
    margin-bottom: 16px;
}
.final-greeting__body strong {font-weight:600;}
.final-greeting__sign {
    margin-top: 30px;
    display: flex;
    align-items: baseline;
    justify-content: end;
    gap: 16px;
}
.final-greeting__sign-title {
    color: var(--color-text-light);
}
.final-greeting__sign-name {
    font-size: 20px;
    font-weight: 600;
}

/* ============================================
   Board (공지사항)
   ============================================ */
.final-board-controls {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 10px;
    flex-wrap: wrap;
    gap: 10px;
}
.final-board-controls__count {
    font-size: 14px; color: var(--color-text-light);
}
.final-board-controls__count strong {
    color: var(--color-primary); font-weight: 700;
}

select {-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url('../images/icon_arrow_down.svg') no-repeat right 10px center;}

.final-board-controls__search { display: flex; gap: 6px; }
.final-board-controls__search .btn-search { padding:8px 18px; background:var(--color-primary); color:#fff; font-weight:600; border-radius: 4px; font-size: 14px; transition: all 0.3s;flex: none;}
.final-board-controls__search .btn-search:hover {background:#043d75;}
.final-board-controls__search select,
.final-board-controls__search input {
    padding: 8px 12px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    font-size: 14px;
}
.final-board-controls__search select {padding: 8px 30px 8px 12px;}
.final-board-controls__search input { width: 200px; }
.final-board-controls__search input:focus {
    outline: none; border-color: var(--color-primary);
}

.final-board {
    border-top: 2px solid var(--color-primary-dark);
}
.final-board__head {
    display: grid;
    grid-template-columns: 64px 1fr 110px 90px;
    gap: 10px;
    padding: 12px 16px;
    background: var(--color-bg-light);
    border-bottom: 1px solid var(--color-border);
    font-size: 14px;
    font-weight: 500;
    color: #222;
    text-align: center;
}
/* .final-board__head span:nth-child(2) { text-align: left; } */
.final-board__row {
    display: grid;
    grid-template-columns: 64px 1fr 110px 90px;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid #e0e0e0;
    font-size: 15px;
    align-items: center;
    transition: background .15s;
}
.final-board__row:hover { background: #FAFBFD; }
.final-board__row .num {
    text-align: center; color: var(--color-text-muted); font-size: 14px;
}
.final-board__row .title {
    color: var(--color-text); font-weight: 500;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.final-board__row:hover .title { color: var(--color-primary); }
.final-board__row .author {
    text-align: center; color: var(--color-text-light); font-size: 14px;
}
.final-board__row .date {
    text-align: center; color: var(--color-text-muted); font-size: 14px;
}
.final-board__row--notice { background: var(--color-accent-light); }
.final-board__row--notice:hover { background: var(--color-accent-light); }
.final-board__row--notice .num {display: inline-block;
    padding: 0 10px;
    color: #fff;
    text-align: center;
    background-color: #00468b;
    border-radius: 20px;
    position: relative;
    top: -1px;}

.final-pagination {
    display: flex; justify-content: center; gap: 4px; margin-top: 32px;
}
.final-pagination a, .final-pagination span {
    display: flex; align-items: center; justify-content: center;
    min-width: 30px; height: 30px; border-radius: 30px;
    font-size: 13px; font-weight: 500; color: var(--color-text-light); transition: all .2s;padding-top:2px;
}
.final-pagination .prev {margin-right:10px;}
.final-pagination .next {margin-left:10px;}
.final-pagination .prev:hover,.final-pagination .next:hover {background: transparent; color: var(--color-primary);font-weight: 500; }
.final-pagination a:hover { background: var(--color-primary); color: #fff; font-weight: 700; }
.final-pagination .is-active {
    background: var(--color-primary); color: #fff; font-weight: 700;
}

.final-board__row .reply-ing {display:inline-block;height:24px;padding:1px 12px 0 !important;margin-right:5px;color:#333;font-size:14px;text-align:center;line-height:20px;background-color:#fff;border:1px solid #00468B;border-radius:20px;vertical-align:middle;}
.final-board__row .reply-ing:before {display:none;}
.final-board__row .reply-end {display:inline-block;height:24px;padding:0 12px !important;margin-right:5px;color:#fff;font-size:14px;text-align:center;line-height:24px;background-color:#00468B;border-radius:20px;vertical-align:middle;}
.final-board__row .reply-end:before {display:none;}
.final-board__row .not-open {color:#fc0202;}

.detail-question {padding:30px 20px 30px 60px;min-height:150px;position:relative;border-bottom:1px solid #ddd;margin-top:-24px;}
.detail-question span {position:absolute;left:10px;top:25px;display:inline-block;width:36px;height:36px;line-height:36px;font-size:16px;color:#fff;text-align:center;background:#444;border-radius:40px;}
.detail-answer {padding:30px 20px 30px 60px;min-height:150px;position:relative;}
.detail-answer span {position:absolute;left:10px;top:25px;display:inline-block;width:36px;height:36px;line-height:36px;font-size:16px;color:#000;text-align:center;background:#fead05;border-radius:40px;}

.faq-list {border-top:2px solid var(--color-primary-dark);}
.faq-list li {border-bottom:1px solid #dcdcdc;}
.faq-list li .question {position:relative;display:flex;align-items:center;padding:20px 60px 20px 55px;cursor:pointer;}
.faq-list li .question .tit {font-size:15px;}
.faq-list li .question:hover .tit {color:#000;}
.faq-list li.open .question .tit {font-weight:500;color:#000;}
.faq-list li .question:before {content:'';position:absolute;top:50%;right:30px;width:17px;height:2px;background-color:#4d4d4d;transition:0.2s;transform:translateY(-50%);}
.faq-list li .question:after {content:'';position:absolute;top:50%;right:30px;width:17px;height:2px;background-color:#4d4d4d;transition:0.2s;transform:translateY(-50%) rotate(90deg);}
.faq-list li.open .question:after {transform:translateY(-50%) rotate(0deg);}
.faq-list li .answer {display:none;position:relative;border-top:1px solid #ddd;}
.faq-list li .answer .cont {padding:20px 20px 20px 55px;color:#555;font-size:15px;background-color:#f5f5f5;}
.faq-list li .question .tit > span:first-child,
.faq-list li .answer .cont > span:first-child {position:absolute;left:10px;top:16px;display:inline-block;width:36px;height:36px;line-height:36px;font-size:16px;color:#fff;text-align:center;background:#444;border-radius:40px;}
.faq-list li .answer .cont > span:first-child {color:#000;background:#fead05;}

@media (max-width: 767px) {
    .final-board-controls__search input { width: 100%; }
    .final-pagination {
        gap: 2px; margin-top: 25px;
    }
    .final-pagination a, .final-pagination span {
        min-width: 22px; height: 22px;
    }
    .final-pagination .prev {margin-right:5px;}
    .final-pagination .next {margin-left:5px;}

    .detail-question {padding:20px 20px 20px 50px;min-height:120px;}
    .detail-question span {left:10px;top:18px;width:28px;height:28px;line-height:28px;font-size:14px;}
    .detail-answer {padding:20px 20px 20px 50px;min-height:120px;}
    .detail-answer span {left:10px;top:18px;width:28px;height:28px;line-height:28px;font-size:14px;}

    .faq-list li .question {padding:18px 45px 18px 45px;}
    .faq-list li .question .tit {font-size:14px;line-height:1.3;}
    .faq-list li .answer .cont {padding:18px 18px 18px 45px;font-size:14px;}
    .faq-list li .question:before {right:10px;width:14px;}
    .faq-list li .question:after {right:10px;width:14px;}
    .faq-list li .question .tit > span:first-child,
    .faq-list li .answer .cont > span:first-child {left:10px;top:13px;width:28px;height:28px;line-height:28px;font-size:14px;}
}

.confirm-overlay {position:fixed;left:0;top:0;width:100%;height:100%;z-index:999;background:rgba(0,0,0,0.6);line-height:22px;}
.confirm-modal {position:absolute;top:50%;left:50%;width:400px;background:#fff;box-shadow:0 4px 20px 0 rgba(7, 7, 7, 0.4);border-radius:6px;overflow:hidden;transform:translate(-50%,-50%);}
.confirm-head {display:flex;align-items:center;height:56px;padding:0 20px;border-bottom:1px solid #e1e2e6;background:#f8f8f8;}
.confirm-head h2 {font-size:20px;font-weight:bold;letter-spacing:-1px;}
.confirm-cont {padding:20px 20px 20px;overflow-y:auto;max-height:calc(100vh - 9rem);}
.confirm-cont .txt {margin-bottom:10px;}
.confirm-foot {padding:0 20px 20px;text-align:center;}
.confirm-foot button {margin:0 1px;}
.confirm-close {position:absolute;right:18px;top:20px;width:18px;height:18px;text-indent:-9999px;overflow:hidden;background:url('../images/ico_close.png') no-repeat 50% 50%;}
.confirm-cont .form-password {
    width: 100%;
    height: 40px;
    padding: 0 12px;
    font-size: 16px;
    color: #333;
    border: 1px solid #c4c4c4;
    background: #fff;
    outline: none;
    border-radius: 4px;
}
@media only all and (max-width:480px) {
  .confirm-modal {width:90%;}
}

/* ============================================
   Content Page (인력양성 - 도식화)
   ============================================ */
.final-section-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 10px;
}
.final-section-label .num {
    width: 26px; height: 26px;
    border-radius: 50%;
    background: var(--color-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}
.final-section-h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--color-primary-dark);
    margin-bottom: 24px;
}

.final-diagram {
    background: var(--color-bg-light);
    border-radius: 16px;
    padding: 40px;
    border: 1px solid rgba(0,0,0,.04);
    margin-bottom: 40px;
}
.final-diagram__flow {
    display: flex; flex-direction: column; gap: 24px; align-items: center;
}
.final-diagram__vision {
    width: 100%; text-align: center;
    background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
    color: #fff; padding: 26px 32px; border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0,43,91,.15);
}
.final-diagram__vision .label {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .12em; opacity: .7; margin-bottom: 8px;
}
.final-diagram__vision h4 { font-size: 22px; font-weight: 800; }
.final-diagram__arrow {
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--color-white); border: 2px solid var(--color-primary-light);
    display: flex; align-items: center; justify-content: center;
    color: var(--color-primary); font-size: 16px; flex-shrink: 0;
}
.final-diagram__goal {
    width: 100%; text-align: center;
    background: linear-gradient(135deg, #00A8CC, #40C8E0);
    color: #fff; padding: 20px 32px; border-radius: 12px;
}
.final-diagram__goal .label {
    font-size: 11px; font-weight: 700; opacity: .8;
    text-transform: uppercase; letter-spacing: .1em; margin-bottom: 4px;
}
.final-diagram__goal h4 { font-size: 17px; font-weight: 700; }
.final-diagram__strategies {
    width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
.final-strategy {
    background: var(--color-white); border: 1px solid var(--color-border);
    border-radius: 12px; padding: 22px 14px; text-align: center;
    transition: all .3s; position: relative; overflow: hidden;
}
.final-strategy::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0;
    height: 3px; background: var(--color-primary-light); transition: height .3s;
}
.final-strategy:hover {
    border-color: var(--color-primary-light);
    box-shadow: 0 6px 20px rgba(0,70,139,.08);
    transform: translateY(-2px);
}
.final-strategy:hover::before { height: 5px; }
.final-strategy .num {
    width: 30px; height: 30px; border-radius: 50%;
    background: var(--color-primary); color: #fff;
    font-size: 13px; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 10px;
}
.final-strategy h5 {
    font-size: 13px; font-weight: 700;
    color: var(--color-primary-dark); line-height: 1.5;
}
.final-diagram__timeline {
    width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
}
.final-tl {
    border-radius: 12px; overflow: hidden;
    background: var(--color-white); border: 1px solid var(--color-border);
    transition: box-shadow .3s;
}
.final-tl:hover { box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.final-tl__head {
    padding: 12px 16px; color: #fff; font-size: 14px; font-weight: 700; text-align: center;
}
.final-tl--early .final-tl__head { background: linear-gradient(135deg, #3A7BD5, #5C9CE5); }
.final-tl--mid .final-tl__head { background: linear-gradient(135deg, #00A8CC, #40C8E0); }
.final-tl--late .final-tl__head { background: linear-gradient(135deg, #2ECC71, #5ED99A); }
.final-tl__body { padding: 16px; }
.final-tl__body ul { display: flex; flex-direction: column; gap: 8px; }
.final-tl__body li {
    font-size: 12px; color: var(--color-text-light); line-height: 1.5;
    padding-left: 16px; position: relative;
}
.final-tl__body li::before {
    content: ''; position: absolute; left: 0; top: 6px;
    width: 6px; height: 6px; border-radius: 50%;
}
.final-tl--early li::before { background: #3A7BD5; }
.final-tl--mid li::before { background: #00A8CC; }
.final-tl--late li::before { background: #2ECC71; }

/* Detail Section */
.final-detail {
    margin-top: 48px;
}
.final-detail__title {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 24px; padding-bottom: 14px;
    border-bottom: 2px solid var(--color-primary-dark);
}
.final-detail__title .icon {
    width: 30px; height: 30px; border-radius: 8px;
    background: var(--color-accent); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 15px; font-weight: 700;
}
.final-detail__title h3 {
    font-size: 20px; font-weight: 700; color: var(--color-primary-dark);
}
.final-block {
    margin-bottom: 14px; border: 1px solid var(--color-border);
    border-radius: 10px; overflow: hidden; transition: box-shadow .2s;
}
.final-block:hover { box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.final-block__head {
    display: flex; align-items: center; gap: 12px;
    padding: 16px 22px; background: var(--color-white);
    cursor: pointer; transition: background .2s;
    border: none; width: 100%; text-align: left; font: inherit;
}
.final-block__head:hover { background: #FAFBFD; }
.final-block__head .dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--color-primary); flex-shrink: 0;
}
.final-block__head h4 {
    flex: 1; font-size: 15px; font-weight: 700; color: var(--color-primary-dark);
}
.final-block__head .toggle {
    font-size: 18px; color: var(--color-text-muted);
    transition: transform .3s; flex-shrink: 0;
}
.final-block.is-open .final-block__head .toggle { transform: rotate(180deg); }
.final-block__body {
    display: none; padding: 0 22px 20px;
    border-top: 1px solid var(--color-border); padding-top: 16px;
}
.final-block.is-open .final-block__body { display: block; }
.final-block__body ul { display: flex; flex-direction: column; gap: 10px; }
.final-block__body li {
    font-size: 13px; color: #555; line-height: 1.8;
    padding-left: 22px; position: relative;
}
.final-block__body li::before {
    content: '①'; position: absolute; left: 0; top: 1px;
    font-size: 12px; color: var(--color-primary); font-weight: 700;
}
.final-block__body li:nth-child(2)::before { content: '②'; }
.final-block__body li:nth-child(3)::before { content: '③'; }
.final-block__body li:nth-child(4)::before { content: '④'; }

/* ============================================
   인력양성 콘텐츠 퍼블리싱
   ============================================ */

/* Intro */
.hr-intro {
    background: var(--color-bg-light);
    border-left: 4px solid var(--color-primary);
    padding: 20px 24px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 40px;
}
.hr-intro p {
    font-size: 14px;
    color: var(--color-text-light);
    line-height: 1.8;
    margin-bottom: 6px;
}
.hr-intro p:last-child { margin-bottom: 0; }
.hr-intro strong { color: var(--color-primary-dark); }
.hr-intro em { color: var(--color-accent); font-style: normal; font-weight: 600; }

/* Section */
.hr-section {
    margin-bottom: 48px;
}
.hr-section__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 800;
    color: var(--color-primary-dark);
    margin-bottom: 20px;
}
.hr-section__bar {
    width: 4px; height: 20px;
    background: var(--color-primary);
    border-radius: 2px;
    flex-shrink: 0;
}

/* Vision Banner */
.hr-vision-banner {
    text-align: center;
    background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
    color: #fff;
    padding: 18px 24px;
    border-radius: 10px;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 24px;
    letter-spacing: -.01em;
}

/* 4 Pillars */
.hr-pillars {
    display: flex;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 8px;
}
.hr-pillar {
    flex: 1;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 20px 16px;
    text-align: center;
}
.hr-pillar__badge {
    display: inline-block;
    padding: 3px 14px;
    border-radius: 20px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 12px;
}
.hr-pillar__icon {
    font-size: 28px;
    margin-bottom: 10px;
}
.hr-pillar h4 {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-primary-dark);
    margin-bottom: 10px;
    line-height: 1.4;
}
.hr-pillar ul {
    text-align: left;
    padding-left: 2px;
}
.hr-pillar li {
    font-size: 12px;
    color: var(--color-text-light);
    line-height: 1.6;
    padding-left: 10px;
    position: relative;
}
.hr-pillar li::before {
    content: '·';
    position: absolute;
    left: 0;
    color: var(--color-primary);
    font-weight: 700;
}
.hr-pillar__arrow {
    display: flex;
    align-items: center;
    padding: 0 6px;
    color: var(--color-primary-light);
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 60px;
}

/* Program Block */
.hr-program {
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 24px;
    margin-bottom: 20px;
}
.hr-program__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-primary-dark);
    margin-bottom: 6px;
}
.hr-program__desc {
    font-size: 13px;
    color: var(--color-text-light);
    margin-bottom: 16px;
    line-height: 1.6;
}

/* Table */
.hr-table-wrap {
    overflow-x: auto;
}
.hr-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.hr-table th {
    background: var(--color-primary-dark);
    color: #fff;
    padding: 10px 14px;
    font-weight: 600;
    text-align: left;
    font-size: 13px;
}
.hr-table td {
    padding: 14px;
    border-bottom: 1px solid var(--color-border);
    vertical-align: top;
}
.hr-table td ul { padding: 0; }
.hr-table td li {
    font-size: 13px;
    color: var(--color-text-light);
    line-height: 1.7;
    padding-left: 12px;
    position: relative;
}
.hr-table td li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--color-primary);
}

/* Program List */
.hr-program-list {
    margin-bottom: 16px;
}
.hr-program-list__label {
    display: inline-block;
    padding: 4px 12px;
    background: var(--color-accent);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 4px;
    margin-bottom: 10px;
}
.hr-program-list ul { padding: 0; }
.hr-program-list li {
    font-size: 13px;
    color: var(--color-text-light);
    line-height: 1.7;
    padding: 4px 0 4px 14px;
    position: relative;
}
.hr-program-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--color-primary);
    font-weight: 700;
}

/* Flow Diagram */
.hr-flow {
    margin-top: 20px;
    border-top: 1px solid var(--color-border);
    padding-top: 20px;
}
.hr-flow__label {
    display: inline-block;
    padding: 4px 12px;
    background: var(--color-primary-dark);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 4px;
    margin-bottom: 16px;
}
.hr-flow__grid {
    display: grid;
    grid-template-columns: 1fr auto 140px;
    gap: 20px;
    align-items: stretch;
}
.hr-flow__col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.hr-flow__card {
    border-radius: 10px;
    padding: 14px 16px;
    color: #fff;
    position: relative;
}
.hr-flow__card--blue { background: linear-gradient(135deg, #3A7BD5, #5C9CE5); }
.hr-flow__card--teal { background: linear-gradient(135deg, #00796B, #26A69A); }
.hr-flow__card--navy { background: linear-gradient(135deg, #1A237E, #3949AB); }
.hr-flow__year {
    display: inline-block;
    background: rgba(255,255,255,.2);
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 6px;
}
.hr-flow__card strong { display: block; font-size: 14px; margin-bottom: 2px; }
.hr-flow__card small { display: block; font-size: 11px; opacity: .7; margin-bottom: 4px; }
.hr-flow__card p { font-size: 11px; opacity: .8; line-height: 1.4; margin: 0; }
.hr-flow__center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    gap: 8px;
}
.hr-flow__step {
    background: var(--color-bg-light);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-primary-dark);
    text-align: center;
    line-height: 1.4;
}
.hr-flow__step small { display: block; font-weight: 400; color: var(--color-text-light); font-size: 11px; }
.hr-flow__arrow-down {
    color: var(--color-primary-light);
    font-size: 14px;
}
.hr-flow__right {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    justify-content: center;
}
.hr-flow__result-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: 4px;
    text-align: center;
}
.hr-flow__result {
    width: 100%;
    text-align: center;
    padding: 10px 8px;
    background: var(--color-accent-light);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-primary-dark);
    line-height: 1.3;
}
.hr-flow__result--accent {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

/* Steps Flow */
.hr-steps {
    margin-top: 20px;
    border-top: 1px solid var(--color-border);
    padding-top: 20px;
}
.hr-steps__label {
    display: inline-block;
    padding: 4px 12px;
    background: #E67E22;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border-radius: 4px;
    margin-bottom: 16px;
}
.hr-steps__flow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 10px;
}
.hr-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
    min-width: 100px;
}
.hr-step__num {
    width: 30px; height: 30px;
    border-radius: 50%;
    background: var(--color-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hr-step__text {
    font-size: 11px;
    color: var(--color-text-light);
    line-height: 1.4;
    font-weight: 500;
}
.hr-step__arrow {
    color: var(--color-primary-light);
    font-size: 14px;
    padding: 0 8px;
    margin-bottom: 20px;
}
.hr-step__arrow--rev {
    color: var(--color-accent);
}

/* Content Image fallback */
.final-content-image {
    margin-top: 8px;
}
.final-content-image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* 인력양성 Responsive */
@media (max-width: 768px) {
    .hr-pillars { flex-wrap: wrap; gap: 8px; }
    .hr-pillar { min-width: calc(50% - 8px); }
    .hr-pillar__arrow { display: none; }
    .hr-flow__grid { grid-template-columns: 1fr; }
    .hr-steps__flow { flex-wrap: wrap; gap: 8px; justify-content: center; }
    .hr-step__arrow { display: none; }
}

/* ============================================
   Responsive
   ============================================ */
@media (max-width: 1024px) {
    /* .final-layout { grid-template-columns: 220px 1fr; gap: 32px; } */
    .final-hero__title { font-size: 36px; }
    .final-diagram__strategies { grid-template-columns: repeat(2, 1fr); }
    .final-diagram__timeline { grid-template-columns: 1fr; }
    .final-greeting { grid-template-columns: 220px 1fr; gap: 28px; }
    .final-diagram { padding: 28px; }
    .final-sidebar { position: static; display:none;}
}

@media (max-width: 768px) {
    .final-hero { /*margin-top: 60px;*/ height: 130px; }
    .final-hero__title { font-size: 28px; }
    .final-hero__title em { font-size: 14px; }
    .final-hero__content { padding: 0 10px 20px; }

    .final-layout {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 24px 16px 50px;
    }

    .final-sidebar__menu {
        display: flex; flex-wrap: wrap;
        border-radius: 10px; border: 1px solid var(--color-border);
    }
    .final-sidebar__title { border-radius: 10px 10px 0 0; padding: 14px 18px; font-size: 15px; }
    .final-sidebar__menu li { border-bottom: none; border-right: 1px solid #f0f0f0; }
    .final-sidebar__menu li:last-child { border-right: none; }
    .final-sidebar__menu li a { padding: 10px 14px; font-size: 13px; white-space: nowrap; }
    .final-sidebar__contact { display: none; }

    .final-greeting { grid-template-columns: 1fr; }
    .final-greeting__photo { max-width: 200px; }
    .final-greeting__headline { font-size: 20px; }

    .final-board__head { display: none; }
    .final-board__row { grid-template-columns: 1fr; gap: 4px; padding: 12px 12px;position:relative;}
    .final-board__row .num { display: none; }
    .final-board__row .author, .final-board__row .date { text-align: left; }
    .final-board__row .date {position:absolute;right:10px;bottom:10px;}
    .final-board-controls { flex-direction: column; align-items: stretch; }

    .final-diagram { padding: 20px 16px; }
    .final-diagram__strategies { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .final-greeting__photo { margin: 0 auto; }
    .final-greeting__headline {font-size: 18px;}
    .final-greeting__headline strong {font-size: 20px;}
    .final-greeting__sign-name {font-size: 20px;}
}

/* ============================================
   포토갤러리 그리드 목록
   ============================================ */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 32px;
    padding-top:20px;
    border-top: 2px solid var(--color-primary-dark);
}
.gallery-item {
    display: block;
    text-decoration: none;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    background: var(--color-white);
    transition: box-shadow .2s, transform .2s;
    cursor: pointer;
}
.gallery-item:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,.1);
    transform: translateY(-3px);
}
.gallery-item__thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--color-bg-gray);
}
.gallery-item__thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s;
}
.gallery-item:hover .gallery-item__thumb img {
    transform: scale(1.05);
}
.gallery-item__thumb-count {
    position: absolute;
    bottom: 8px; right: 10px;
    background: rgba(0,0,0,.5);
    color: #fff;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.gallery-item__info {
    padding: 12px 14px 14px;
}
.gallery-item__title {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.gallery-item__meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--color-text-muted);
}
@media (max-width: 768px) {
    .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 480px) {
    .gallery-grid { grid-template-columns: 1fr; }
}

/* 카드뉴스 */
.cardnews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 32px;
    padding-top:20px;
    border-top: 2px solid var(--color-primary-dark);
    border-bottom: 1px solid var(--color-border);
    padding-bottom:10px;
}
.cardnews-item {
    display: block;
    text-decoration: none;
    overflow: hidden;
    background: var(--color-white);
    transition: box-shadow .2s, transform .2s;
    cursor: pointer;
}
.cardnews-item:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,.1);
    transform: translateY(-3px);
}
.cardnews-item__thumb {
    position: relative;
    width: 100%;
    /* aspect-ratio: 4/3; */
    overflow: hidden;
    background: var(--color-bg-gray);
}
.cardnews-item__thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s;
}
.cardnews-item:hover .cardnews-item__thumb img {
    transform: scale(1.05);
}
.cardnews-item__thumb-count {
    position: absolute;
    bottom: 8px; right: 10px;
    background: rgba(0,0,0,.5);
    color: #fff;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.cardnews-item__info {
    padding: 12px 14px 14px;
}
.cardnews-item__title {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.cardnews-item__meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--color-text-muted);
}
@media (max-width: 768px) {
    .cardnews-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 480px) {
    .cardnews-grid { grid-template-columns: 1fr; }
}

.detail-cont {padding:0 20px 30px;min-height:300px;}
.detail-cont .thumb {padding-bottom:30px;}

.detail-attach {position:relative;padding:12px 20px 12px 80px;border-top: 1px solid var(--color-border);}
.detail-attach span {position:absolute;left:30px;top:50%;margin-top:-11px;display:block;width:21px;height:22px;text-indent:-9999px;overflow:hidden;background:url('../images/ico_attach.png') no-repeat 50% 50%;}
.detail-attach li {margin:2px 0;}
.detail-attach a:hover {color:#00468B;}

/* ============================================
   포토갤러리 상세 - 이미지 슬라이더
   ============================================ */
.board-detail-header {
    margin-bottom: 24px;
    padding: 15px 20px;
    border-bottom: 1px solid var(--color-border);
    border-top: 2px solid var(--color-primary-dark);
}
.board-detail-header h3 {
    font-size: 22px;
    font-weight: 700;
    /* color: var(--color-primary-dark); */
    margin-bottom: 5px;
}
.board-detail-meta {
    font-size: 14px;
    color: #888;
    display: flex;
    gap: 16px;
}

.gallery-slider {
    position: relative;
    background: #000;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 16/9;
    margin-bottom: 16px;
    margin-left:20px;
    margin-right:20px;
}
.gallery-slider__track {
    display: flex;
    height: 100%;
    transition: transform .4s ease;
}
.gallery-slider__slide {
    min-width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color:#fff;
}
.gallery-slider__slide img {
    /* max-width: 100%;
    max-height: 100%; */
    object-fit: contain;
    display: block;
}
.gallery-slider__btn {
    position: absolute;
    top: 50%; transform: translateY(-50%);
    width: 44px; height: 44px;
    background: rgba(255,255,255,.15);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 50%;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .2s;
    z-index: 10;
}
.gallery-slider__btn {background: #676767;}
.gallery-slider__btn:hover { background: rgba(255,255,255,.35); }
.gallery-slider__btn--prev { left: 16px; }
.gallery-slider__btn--next { right: 16px; }
.gallery-slider__counter {
    position: absolute;
    bottom: 14px; left: 50%; transform: translateX(-50%);
    background: rgba(0,0,0,.5);
    color: #fff;
    font-size: 12px;
    padding: 4px 14px;
    border-radius: 20px;
}

.gallery-thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    margin-bottom: 28px;
    scrollbar-width: thin;
    margin-left:20px;
    margin-right:20px;
}
.gallery-thumb {
    flex-shrink: 0;
    width: 72px; height: 54px;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color .2s;
}
.gallery-thumb.is-active { border-color: var(--color-primary); }
.gallery-thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}

.nav-btns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid var(--color-border);
}
.nav-btns a {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    color: #333;
    font-weight:500;
    text-decoration: none;
    padding: 6px 16px;
    border: 1px solid #c9c9c9;
    border-radius: 4px;
    transition: all .2s;
}
.nav-btns a:hover {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}
.nav-btns__list {
    font-size: 13px;
    color: var(--color-text-light);
    text-decoration: none;
    padding: 8px 20px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    transition: all .2s;
}
.nav-btns__list:hover {
    background: var(--color-bg-light);
}
.no-data {width:100%;padding:100px 0;text-align:center;}
.no-data > p {position:relative;padding-top:90px;text-align:center;font-weight:500;font-size:18px;}
.no-data > p:before {content:'';position:absolute;width:80px;height:80px;top:0;left:50%;margin-left:-40px;background:url('../images/ico_no_data.svg') no-repeat 0 0;background-size:100%;}

@media (max-width: 767px) {
    .board-detail-header {
        padding: 15px 10px;
    }
    .board-detail-header h3 {
        font-size: 18px;
        line-height: 1.3;
    }
    .nav-btns a {font-size: 14px;}
    .detail-cont {padding:0 10px 30px;min-height:200px;}
    .detail-attach {padding:12px 15px 12px 50px;}
	.detail-attach span {left:16px;}

    .no-data {padding:50px 0;}
    .no-data > p {padding-top:65px;font-size:16px;}
    .no-data > p:before {width:60px;height:60px;margin-left:-30px;}

    .gallery-slider,.gallery-thumbs {
        margin-left:0;
        margin-right:0;
    }
}

/* space */
.mt0 {margin-top:0 !important;}
.mt5 {margin-top:5px !important;}
.mt10 {margin-top:10px !important;}
.mt15 {margin-top:15px !important;}
.mt20 {margin-top:20px !important;}
.mt25 {margin-top:25px !important;}
.mt30 {margin-top:30px !important;}
.mt60 {margin-top:60px !important;}
.mt35 {margin-top:35px !important;}
.mt40 {margin-top:40px !important;}
.mt50 {margin-top:50px !important;}
.gap20 {padding:0 20px;}
.gap30 {padding:0 30px;}
.gap50 {padding:0 50px;}
.gap80 {padding:0 80px;}
@media only all and (max-width:767px) {
    .mt10 {margin-top:8px !important;}
    .mt15 {margin-top:12px !important;}
    .mt20 {margin-top:15px !important;}
    .mt25 {margin-top:18px !important;}
    .mt30 {margin-top:20px !important;}
    .mt35 {margin-top:25px !important;}
    .mt40 {margin-top:28px !important;}
    .mt50 {margin-top:30px !important;}
    .gap20 {padding:0 10px;}
    .gap30 {padding:0 10px;}
    .gap50 {padding:0 10px;}
    .gap80 {padding:0 10px;}
}

/* text align */
.text-left {text-align:left !important;}
.text-center {text-align:center !important;}
.text-right {text-align:right !important;}
.img-center {text-align:center !important;}

/* heading */
.h3-tit {position:relative;margin:50px 0 15px;padding-left:12px;font-size:22px;font-weight:700;line-height:1.4;letter-spacing:-1px;}
.h3-tit:before {content:'';position:absolute;left:0;top:4px;display:block;width:5px;height:22px;background-color:#13B7A6;}
/* .h4-tit {position:relative;margin:40px 0 15px;padding-left:20px;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-1px;} */
.h4-tit {position:relative;margin:40px 0 15px;padding-left:20px;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-1px;}

.h4-tit.type2 {margin-bottom:5px;}
.h4-tit:before {content:'';position:absolute;left:0;top:5px;display:block;width:14px;height:20px;background-color:#0045AF;border-radius:3px;}
.h5-tit {margin-bottom:10px;font-size:17px;font-weight:700;line-height:1.4;color:#0045AF;}
.h4-round {text-align: center;}
.h4-round span {display:inline-flex;align-items:center;justify-content:center;padding:10px 30px;min-height:42px;font-size:18px;font-weight:600;color:#fff;line-height:1.2;background-color: #316FCD;border-radius:40px;}
.h4-tit {padding-left:12px;}
.h4-tit:before {width:5px;}

.ptxt1 {padding-left:20px;}
@media only all and (max-width:1280px) {
    .ptxt1.type2 br {display:none;}
}
@media only all and (max-width:767px) {
    .h3-tit {margin:35px 0 10px;font-size:18px;}
    .h3-tit:before {top:3px;width:3px;height:19px;}
    .h4-tit {margin:30px 0 10px;font-size:16px;padding-left:18px;}
    .h4-tit:before {top:5px;width:12px;height:12px;}
    .h5-tit {font-size:16px;}
    .h4-round span {padding:10px 20px;min-height:36px;font-size:16px;}
    .ptxt1 {padding-left:18px;}
}

/* color */
.color1 {color:#13B7A6 !important;}
.color2 {color:#15A9C3 !important;}
.color3 {color:#3673D0 !important;}

/* typo */
.typo1 {text-align:center;font-size:20px;font-weight:600;}
.typo1 span:nth-child(1) {color:#13B7A6;}
.typo1 span:nth-child(2) {color:#15A9C3;}
.typo1 span:nth-child(3) {color:#3673D0;}
@media only all and (max-width:767px) {
	.typo1 {font-size:18px;}
}

/* list */
.ulist1 li {position:relative;padding-left:18px;}
.ulist1 li:before {content:"";position:absolute;top:11px;left:5px;width:4px;height:4px;background:#333;border-radius:4px;}
.ulist1 li strong {font-weight:600;}
.ulist2 li {position:relative;padding-left:20px;font-size: 15px;}
.ulist2 li:before {content:"+";position:absolute;top:0;left:5px;color:#0045AF;}
@media only all and (max-width:767px) {
	.ulist1 li {padding-left:12px;font-size: 14px;}
	.ulist1 li:before {top:11px;left:2px;width:3px;height:3px;}
}

.item-list1 {display:flex;flex-wrap: wrap;margin:0 -10px;}
.item-list1 li {width:calc(100%/3 - 20px); display:flex;justify-content:center;align-items:center;margin:5px 10px;color:#fff;font-weight:500;border-radius:20px;background-color:#13B7A6;line-height:1.2;padding:15px 10px;text-align:center;}
.item-list1 li:nth-child(2),.item-list1 li:nth-child(5) {background-color:#15A9C3;}
.item-list1 li:nth-child(3),.item-list1 li:nth-child(6) {background-color:#3673D0;}
.item-list2 {display:flex;}
.item-list2 li {width:100%;font-weight:500;border-radius:20px;border:3px solid #13B7A6;line-height:1.2;padding:15px 5px;text-align: center;}
.item-list2 li + li {margin-left:20px;}
.item-list2 li:nth-child(2) {border:3px solid #15A9C3;}
.item-list2 li:nth-child(3) {border:3px solid #3673D0;}
.item-list2 li:nth-child(4) {border:3px solid #0045AF;}
.item-list2 li .txt1 span {font-size:24px;font-weight:700;}
.item-list2 li .txt2 {font-size:16px;margin-top:12px;letter-spacing:-1px;}
@media only all and (max-width:767px) {
	.item-list1 {display:block;margin:0;}
    .item-list1 li {width:100%;margin:5px 0px;}
    .item-list2 {display:block;}
    .item-list2 li {margin-bottom:10px;}
    .item-list2 li + li {margin-left:0;}
}

.nav-tab {position:relative;display:flex;justify-content:center;margin-bottom:30px;}
.nav-tab li + li {margin-left:10px;}
.nav-tab li a {display:flex;align-items:center;justify-content:center;padding:0 32px;min-height:45px;color:#666;font-size:17px;background-color:#fff;border-radius:45px;overflow:hidden;transition:all 0.3s;border:2px solid #ccc;min-width:100px;}
.nav-tab li a:hover {font-weight:700;color:#004484;border:2px solid #004484;}
.nav-tab li.on a {font-weight:700;color:#004484;border:2px solid #004484;}
@media only all and (max-width:767px) {
    .nav-tab li a {padding:0 20px;min-height:36px;color:#666;font-size:15px;min-width:80px;}
}

/* table */
table {border-spacing:0;border:0;border-collapse:collapse;}
caption,legend {width:1px;height:1px;margin-top:-1px;line-height:1px;text-indent:-9999px;overflow:hidden;}
.tbl-type {width:100%;border-top:1px solid #333;line-height:1.6;}
.tbl-type th {position:relative;height:50px;padding:10px 5px;font-size:16px;font-weight:500;text-align:center;background:#F5F5F5;border-bottom:1px solid #ddd;}
.tbl-type td {height:48px;padding:10px 5px;font-size:15px;text-align:center;border-bottom:1px solid #ddd;background:#fff;}
.tbl-type .left {text-align:left;}
@media only all and (max-width:767px) {
    .tbl-type {line-height:18px;}
    .tbl-type th {height:42px;padding:8px 5px;font-size:14px;}
    .tbl-type td {height:40px;padding:8px 5px;font-size:14px;}
    .mobile-scroll {overflow-x:auto;}
    .mobile-scroll .tbl-type {width:767px;}
}

.vision-box {position:relative;padding:30px 10px 23px;border:10px solid #F5F5F5;max-width:690px;font-size:21px;text-align: center;margin:0 auto;font-weight:700;background-color:#0e4787;color:#fff;}
.vision-box span {position:absolute;left:50%;top:-21px;width:130px;background-color: #f5f5f5;font-size:20px;color: #0e4787;font-weight:700;transform:translateX(-50%);border-radius: 20px;}
.vision-box:before {content:'';width:40px;height:40px;position:absolute;left:-10px;top:-10px;background:url('../images/ico_vision1.png') no-repeat 0 0;}
.vision-box:after {content:'';width:40px;height:40px;position:absolute;right:-10px;bottom:-10px;background:url('../images/ico_vision2.png') no-repeat 0 0;}
.traffic .map iframe {height:420px;border:1px solid #ddd;}
.guide-box {padding:25px 30px;background:linear-gradient(92.49deg, #1758BD 6.43%, #2393C9 50.88%, #13B7A6 83.4%);font-size:17px;color:#fff;border-radius:20px;}
.guide-box {word-break:keep-all;}
.item-box1 {padding:20px 20px;background:#F5F5F5;border-radius:20px;}
.item-box1.flex {display:flex;justify-content: space-between;}
.item-box1.flex .txt {width:50%;}
.item-box1.flex .img {width:50%;padding-right:30px;}
.col-box {display:flex;}
.col-box.end {align-items:end;}
.col-box .col {width:100%;}
.col-box .col + .col {margin-left:16px;}
.col-box .img {text-align:center;}

.btn-block {margin-top:20px;text-align:center;}
.btn-block.right {margin-top:10px;text-align:right;}
.btn-block a,.btn-block button {margin:0 4px;}

.btn-gray {display:inline-flex;align-items:center;justify-content:center;padding:0 20px;color:#4d4d4d;text-align:center;border-radius:40px;vertical-align:middle;transition:all 0.3s;white-space: nowrap;min-width:120px;height:40px;font-size:16px;color:#fff !important;background:#8E8E8E;transition: all 0.3s;}
.btn-gray:hover {background:#444;}

.btn-dark {display:inline-flex;align-items:center;justify-content:center;padding:0 16px;color:#4d4d4d;text-align:center;border-radius:4px;vertical-align:middle;transition:all 0.3s;white-space:nowrap;min-width:60px;height:36px;font-size:15px;color:#fff !important;background:#00468B;transition: all 0.3s;}
.btn-dark:hover {background:#012d58;}
.btn-light-gray {display:inline-flex;align-items:center;justify-content:center;padding:0 16px;color:#4d4d4d;text-align:center;border-radius:4px;vertical-align:middle;transition:all 0.3s;white-space:nowrap;min-width:60px;height:36px;font-size:15px;color:#000 !important;background:#d4d4d4;transition: all 0.3s;}
.btn-light-gray:hover {background:#b4b4b4;color:#;}

.btn-line {display:inline-flex;align-items:center;justify-content:center;padding:0 16px;color:#4d4d4d;text-align:center;border-radius:4px;vertical-align:middle;transition:all 0.3s;white-space:nowrap;min-width:60px;height:36px;font-size:15px;color:#222;background:#fff;border: 1px solid #c9c9c9;transition: all 0.3s;}
.btn-line:hover {color:#fff;background:#00468B;border: 1px solid #00468B;}

.message-block {display:flex;justify-content:center;align-items:center;height:100%;}
.message-block .inner {max-width:600px;padding:190px 20px 50px;text-align:center;background:url(../images/ico_ing.gif) no-repeat 50% 50px;background-size:120px;}
.message-block dt {margin-bottom:20px;font-size:26px;font-weight:500;color:#222;}
.message-block dt span {font-weight:700;color:#0045AF;}

.final-content:has(.message-block) {height:100%}
.final-layout:has(.message-block) {height:100%}

@media only all and (max-width:767px) {
    .vision-box {font-size:18px;}
    .vision-box span {font-size:18px;}
    .traffic .map iframe {height:300px;}
    .guide-box {padding:20px 20px;font-size:16px;}
    .col-box {display:block;}
    .col-box .col + .col {margin-left:0;margin-top:10px;}
    .item-box1.flex {display:block;}
    .item-box1.flex .txt {width:100%;}
    .item-box1.flex .img {width:100%;padding-right:0;text-align: center;margin-top:20px;}

    .btn-block a,.btn-block button {margin:0 2px;}
    .btn-gray {height:36px;font-size:15px;}

    .message-block {padding:20px;}
    .message-block .inner {width:auto;padding:130px 0 30px;background:url(../images/ico_ing.gif) no-repeat 50% 30px;background-size:80px;}
    .message-block dt {font-size:18px;}
}

.calendar-header {height:60px;display:flex;align-items:center;justify-content:center;}
.calendar-header button {display:inline-block;width:28px;height:28px;text-indent:-999px;overflow:hidden;border:1px solid #e7ecf0;vertical-align:middle;border-radius:20px;}
.calendar-header .btn_prev {margin:0 15px 0 0;background:#00468B url('../images/ico_prev.png') no-repeat 50% 50%;}
.calendar-header .btn_next {margin:0 0 0 15px;background:#00468B url('../images/ico_next.png') no-repeat 50% 50%;}
.calendar-header span {display:inline-block;font-size:22px;vertical-align:middle;font-weight:700;}
.tbl-calendar {width:100%;line-height:18px;}
.tbl-calendar th {height:40px;padding:5px;font-size:14px;color:#222;font-weight:700;border:1px solid #d8dbe2;background:#f3f3f3;}
.tbl-calendar td {height:88px;padding:5px 8px;font-size:14px;color:#6f7084;vertical-align:top;border:1px solid #e3e6ed;}
.tbl-calendar td .date {display:inline-block;margin-bottom:5px;font-size:14px;color:#6f7084;font-style: normal;font-weight:500;}
.tbl-calendar .saturday .date {color:#6479eb;}
.tbl-calendar .sunday .date {color:#f4466f;}
.tbl-calendar .disable .date {color:#c8cdd9;}
.place-notes li {position:relative;font-size:14px;color:#000;padding-left:12px;line-height:20px;}
.place-notes li.ico:before {content:"";position:absolute;left:0;top:6px;display:inline-block;width:8px;height:8px;border-radius:8px;}
.place-notes li span {display:inline-block;cursor:pointer;}
.place-notes li .tooltip {display:none;position:absolute;left:-116px;top:30px;min-width:180px;padding:10px 18px;font-size:13px;color:#fff;line-height:20px;box-shadow:1px 1px 8px 0px rgba(0, 0, 0, 0.25);background-color:#4f5660;border-radius:8px;z-index:1;}
.place-notes li .tooltip:before {content:"";position:absolute;top:-10px;right:10px;border-width:0 30px 15px 0;border-style:solid;border-color:#4f5660 transparent;}
.place-notes li span:hover + .tooltip {display:block;}
.explanatory-notes {display:flex;margin:10px 0;justify-content: end;}
.explanatory-notes li {position:relative;font-size:14px;color:#000;margin-right:30px;padding-left:12px;}
.explanatory-notes li.ico:before {content:"";position:absolute;left:0;top:8px;display:inline-block;width:8px;height:8px;border-radius:8px;}
.explanatory-notes li.ico.state1:before,.place-notes li.ico.state1:before {background-color:#6479eb;}
.explanatory-notes li.ico.state2:before,.place-notes li.ico.state2:before {background-color:#36c2ba;}
.explanatory-notes li.ico.state3:before,.place-notes li.ico.state3:before {background-color:#c29936;}
.explanatory-notes li.ico.state4:before,.place-notes li.ico.state4:before {background-color:#a62ff2;}
.explanatory-notes li.ico.state5:before,.place-notes li.ico.state5:before {background-color:#090caa;}
.explanatory-notes li.ico.state6:before,.place-notes li.ico.state6:before {background-color:#f4466f;}

.list-board {border-top:1px solid #666;}
.list-board li {position:relative;border-bottom:1px solid #ddd;}
.list-board li:hover {background:#f5f5f5;transition:all 0.5s;}
.list-board li a {display:block;padding:20px 15px;}
.list-board li dt {font-size:17px;font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;display:block;}
.list-board li a:hover dt {color:#000;}
.list-board li .notice,.list-board li .category {display:inline-block;padding:0 15px;margin-right:10px;color:#fff;font-size:14px;text-align:center;line-height:22px;background-color:#00468B;border-radius:20px;vertical-align:middle;position:relative;top:-2px;}
.list-board li dd {font-size:16px;color:#666;margin-top:5px;}
.list-board li dd span {position:relative;padding:0 12px;vertical-align:middle;}
.list-board li dd span:first-child {padding-left:0;}
.list-board li dd span:before {content:"";position:absolute;top:6px;left:0;width:1px;height:10px;background:#b7b7ba;}
.list-board li dd span:first-child:before {background:none;}
.list-board li dd span.count {padding-left:34px;background:url('../images/ico_count.png') no-repeat 12px 4px;background-size:16px;}
.list-board li dd span.file {display:inline-block;width:30px;height:20px;background:url('../images/ico_file.png') no-repeat 12px 2px;background-size:14px;}
.list-board li dd .reply-ing {display:inline-block;height:24px;padding:0 12px !important;margin-right:10px;color:#333;font-size:14px;text-align:center;line-height:20px;background-color:#fff;border:1px solid #00468B;border-radius:20px;vertical-align:middle;}
.list-board li dd .reply-ing:before {display:none;}
.list-board li dd .reply-end {display:inline-block;height:24px;padding:0 12px !important;margin-right:10px;color:#fff;font-size:14px;text-align:center;line-height:24px;background-color:#00468B;border-radius:20px;vertical-align:middle;}
.list-board li dd .reply-end:before {display:none;}
.list-board li dd .not-open {color:#fc0202;}
@media only all and (max-width:767px) {
  .list-board li a {padding:15px 10px;}
  .list-board li dt {font-size:15px;}
  .list-board li dd {font-size:13px;margin-top:3px;}
  .list-board li dd span {padding:0 6px;}
  .list-board li dd span:before {top:4px;}
}
.tbl-form .col1 {width:145px;}
.tbl-form {width:100%;line-height:1.6;border-top:1px solid #262626;}
.tbl-form > tbody > tr > th {padding:16px 0 16px 16px;text-align:left;font-size:14px;line-height:22px;font-weight:500;border-bottom:1px solid #DCDCDC;}
.tbl-form > tbody > tr > td {padding:10px 12px;font-size:14px;border-bottom:1px solid #DCDCDC;}
.tbl-form .data-input {position:relative;max-width:360px;}
.tbl-form .address-input {max-width:500px;}
@media only all and (max-width:767px) {
  .tbl-form {line-height:1.4;}
  .tbl-form colgroup {display:none;}
  .tbl-form > tbody > tr > th {padding:15px 5px 0 5px;display:block;border-bottom:0;}
  .tbl-form > tbody > tr > td {padding:8px 5px 15px 5px;display:block;}
}
.tbl-form input {width:100%;height:40px;padding:0 12px;font-size:16px;color:#333;border:1px solid #c4c4c4;background:#fff;outline:none;border-radius:4px;}
.tbl-form input[type=text]::-ms-clear {display:none;}
.tbl-form input[readonly],.tbl-form textarea[readonly] {border:1px solid #C4C4C4;background:#EDEDED;}
.tbl-form input[disabled],.tbl-form textarea[disabled],input[disabled="disabled"],textarea[disabled="disabled"] {color:#c4c4c4;background:#EDEDED;border:1px solid #C4C4C4;}
.tbl-form select {width:100%;height:40px;padding:0 30px 0 12px;font-size:16px;color:#333;border:1px solid #c4c4c4;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url('../images/icon_arrow_down.svg') no-repeat right 14px center;outline:none;border-radius:4px;}
.tbl-form select::-ms-expand {display:none;}
.tbl-form select[disabled], .tbl-form select[disabled="disabled"] {background-color:#EDEDED;color:#7d7d7d;border:1px solid #c4c4c4;opacity:1;}
.tbl-form textarea {width:100%;padding:14px 12px;line-height:1.4;font-size:16px;color:#333;border:1px solid #c4c4c4;background:#fff;overflow:auto;resize:none;outline:none;border-radius:4px;}
.tbl-form input[type=checkbox] {width:18px;height:18px !important;vertical-align:middle;}
.tbl-form input[type=radio] {width:18px;height:18px !important;vertical-align:middle;}
.tbl-form input[type=radio] ~ label {margin-left:4px;font-size:16px;cursor:pointer;vertical-align:middle;}
.tbl-form input[type=checkbox] ~ label {margin-left:5px;font-size:16px;cursor:pointer;vertical-align:middle;}

/* 진행일정 */
.step-box .inner-box {display:flex;gap:30px;text-align:center;background-color:#fff;border-radius:20px;padding:15px 30px;}
.step-box .step-card {border:2px solid #13B7A6;border-radius:20px;background-color:#fff;flex:1;padding:15px;position:relative;}
.step-box .step-card.card6 {border:2px solid #316FCD;}
.step-box .step-card:after {content:'';position:absolute;left:-24px;top:50%;margin-top:-9px;width:15px;height:18px;background:url('../images/step_arrow.png') no-repeat 50% 50%;background-size:100%;}
.step-box .step-card:first-child:after {display:none;}
.step-box .step-badge {display:inline-flex;align-items:center;justify-content:center;min-width:70px;height:30px;background-color:#13B7A6;border-radius:30px;color:#fff;font-size: 14px;}
.step-box .step-card.card6 .step-badge {background-color:#316FCD;}
.step-box .tit {font-size:15px;font-weight:700;margin-top:10px;}
.step-box li {font-size:14px;color:#666;margin-top:5px;line-height:1.3;}
@media only all and (max-width:767px) {
    .step-box .inner-box {display:block;padding:10px 15px;}
    .step-box .step-card + .step-card {margin-top:30px;}
    .step-box .step-card:after {left:50%;top:-25px;margin-top:0;transform:rotate(212deg) translateX(50%);}
}
@media only all and (max-width:768px) {
    .final-content {padding:0 !important;}
    .tbl-calendar td .place-notes li.period-item .tooltip {padding:10px;min-width:130px;font-size:12px;line-height:1.4;}
    .tbl-calendar td:nth-child(6) .place-notes li.period-item .tooltip, .tbl-calendar td:nth-child(7) .place-notes li.period-item .tooltip {right:-20px !important;}
}