@charset "utf-8";








/* =========================
   서브 비주얼 영역
   ========================= */








.sub-visual-area {
    position: relative;
    width: 100%;
    height: 450px;
    overflow: visible;
}








.sub-visual-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
}








.sub-visual-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.1) translate3d(0, 0, 0);
    transform-origin: center center;
    animation: subVisualZoom 9s ease-in-out infinite;
    will-change: transform, filter;
}








.sub-visual-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.16) 40%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 2;
}








/* 서브 비주얼 "빛 스윕" + "잔광" 효과 */
.sub-visual-overlay::before{
    content: '';
    position: absolute;
    inset: -40%;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.18) 50%, rgba(255, 255, 255, 0) 70%);
    transform: translate3d(-20%, 0, 0) rotate(-6deg);
    opacity: 0.75;
    animation: subOverlaySweep 3.6s ease-in-out infinite;
    z-index: 1;
    pointer-events: none;
}








.sub-visual-overlay::after{
    content: '';
    position: absolute;
    inset: 0;
    background:
            radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 55%),
            radial-gradient(circle at 80% 60%, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0) 50%);
    opacity: 0.9;
    animation: subOverlayPulse 4.8s ease-in-out infinite;
    z-index: 1;
    pointer-events: none;
}








.sub-visual-inner {
    position: relative;
    z-index: 3;
    height: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 200px 40px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    color: #fff;
}








.sub-visual-subtitle {
    font-size: 18px;
    font-weight: 200;
}








.sub-visual-title {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px;
    font-family: 'SCDream';
}








/* 서브 비주얼 "글자 단위 낙하"용 */
.sub-visual-subtitle .split-char,
.sub-visual-title .split-char{
    display: inline-block;
    white-space: pre;
}








@keyframes subVisualZoom {
    0% {
        transform: scale(1.12) translate3d(0px, 0px, 0);
        filter: brightness(1.05) saturate(1.02);
    }








    45%{
        transform: scale(1.06) translate3d(0px, -10px, 0);
        filter: brightness(1.0) saturate(1.0);
    }








    70%{
        transform: scale(1.02) translate3d(0px, -6px, 0);
        filter: brightness(1.02) saturate(1.01);
    }








    100% {
        transform: scale(1.0) translate3d(0px, 0px, 0);
        filter: brightness(1.0) saturate(1.0);
    }
}








@keyframes subOverlaySweep{
    0%{
        transform: translate3d(-25%, 0, 0) rotate(-6deg);
        opacity: 0;
    }
    25%{
        opacity: 0.7;
    }
    60%{
        opacity: 0.55;
    }
    100%{
        transform: translate3d(25%, 0, 0) rotate(-6deg);
        opacity: 0;
    }
}








@keyframes subOverlayPulse{
    0%{ opacity: 0.65; }
    35%{ opacity: 1; }
    70%{ opacity: 0.75; }
    100%{ opacity: 0.65; }
}








@media (prefers-reduced-motion: reduce){
    .sub-visual-bg img{
        animation: none !important;
    }
    .sub-visual-overlay::before,
    .sub-visual-overlay::after{
        animation: none !important;
    }
}








/* =========================
   브레드크럼프 + 드롭다운
   ========================= */








.sub-breadcrumb-wrap {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 500;
    margin-top: 0;
}








.sub-breadcrumb-inner {
    max-width: 1400px;
    margin: 0 auto;
}








.sub-breadcrumb {
    position: relative;
    display: flex;
    align-items: stretch;
    background: rgba(0, 131, 217, 0.8);
    min-height: 64px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
    overflow: visible;
}








.sub-breadcrumb-1 {
    background-color: #08B996;
}








.bsns-lnb-list-1 li.active a,
.bsns-lnb-list-1 a:hover,
.bsns-tabs-1 li.active a,
.bsns-tabs-1 li a:hover {
    color: #08B996 !important;
}
















.sub-breadcrumb-2 {
    background-color: #047CC7;
}








.bsns-lnb-list-2 li.active a,
.bsns-lnb-list-2 a:hover,
.bsns-tabs-2 li.active a,
.bsns-tabs-2 li a:hover {
    color: #047CC7 !important;
}








.sub-breadcrumb-3 {
    background-color: #7263B6;
}








.bsns-lnb-list-3 li.active a,
.bsns-lnb-list-3 a:hover,
.bsns-tabs-3 li.active a,
.bsns-tabs-3 li a:hover {
    color: #7263B6 !important;
}








.bc-home {
    /* flex: 0; */
    background: #0a2a6b;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    margin-right: 40px;
}








.bc-home a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}








.bc-dropdown {
    position: relative;
    margin-right: 24px;
}








/*카테고리 덮히는 현상 수정 */
.bc-dropdown.depth-1 {
    z-index: 104 !important;
}








.bc-dropdown.depth-2 {
    z-index: 103 !important;
}








.bc-dropdown.depth-3 {
    z-index: 102 !important;
}








.bc-dropdown.depth-4 {
    z-index: 101 !important;
}








.bc-dropdown:last-child {
    margin-right: 0;
    margin-left: 20px;
}








.bc-dropdown:last-child {
    margin-right: 0;
    margin-left: 20px;
}








.bc-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    height: 64px;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
    white-space: nowrap;
}








.bc-btn:hover,
.bc-dropdown.active .bc-btn {
    transform: translateY(-1px);
}








.bc-label {
    font-family: 'SCDream';
}








.bc-arrow {
    width: 10px;
    height: 6px;
    display: inline-block;
    margin-left: 6px;
    background: url('../images/common/ico_sel_w.svg') no-repeat center center;
    background-size: contain;
    transition: transform 0.2s ease;
}








.bc-arrow::before {
    content: none;
}








.bc-dropdown.active .bc-arrow {
    transform: rotate(180deg);
}








.bc-divider {
    display: block;
    align-self: center;
    width: 1px;
    height: 26px;
    background: rgba(255, 255, 255, 0.4);
    margin: 0 10px;
}








.bc-menu {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px;
    min-width: 200px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    list-style: none;
    padding: 8px 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 20;
}








.bc-dropdown.active .bc-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}








.bc-menu li {
    margin: 0;
}








.bc-menu li a {
    display: block;
    padding: 9px 16px;
    font-size: 14px;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease;
}








.bc-menu li a:hover {
    background: #f1f5ff;
    color: #2d4fd4;
}








#sub {
    padding: 100px 0;
}
















@media (max-width: 768px) {
    .vsgoal-text {
        font-size: 18px;
        padding: 0 16px 28px;
        margin: 28px auto 60px;
    }
}








/* =========================
   BOARD : 게시판 리스트 (카드형 한 줄 리스트) + 상세보기
   ========================= */








.board {
    background-color: #fff;
}








.board .inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px 120px;
}








.board-list-header {
    margin-bottom: 40px;
}








.board-rise-promo {
    margin: 0 auto 100px;
    text-align: center;
}








.board-rise-promo .rise-promo-subtitle {
    font-size: 20px;
    font-weight: 600;
    color: #8e8e8e;
    margin-bottom: 12px;
}








.board-rise-promo .rise-promo-title {
    font-size: 40px;
    font-weight: 800;
    font-family: 'SCDream';
    color: #111;
    display: inline-block;
    line-height: 1.25;
    padding-bottom: 10px;
    margin-bottom: 28px;
    position: relative;
}








.board-rise-promo .rise-promo-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background-color: #111;
    transform-origin: left center;
    transform: scaleX(0);
    animation: risePromoUnderline 0.8s 0.1s ease-out forwards;
}








.board-rise-promo .rise-promo-heading {
    font-size: 24px;
    font-weight: 800;
    color: #0a74d5;
    margin: 0 0 12px;
}








.board-rise-promo .rise-promo-text {
    color: #666;
    word-break: keep-all;
}








@media (max-width: 768px) {
    .board-rise-promo .rise-promo-subtitle {
        font-size: 16px;
    }








    .board-rise-promo .rise-promo-title {
        font-size: 28px;
        margin-bottom: 18px;
    }








    .board-rise-promo .rise-promo-heading {
        font-size: 18px;
    }
}








@keyframes risePromoUnderline {
    0% {
        transform: scaleX(0);
    }
    100% {
        transform: scaleX(1);
    }
}








/* 홍보자료: rise-promo-list 카드 */
.rise-promo-list {
    margin-top: 30px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 26px;
}








.rise-promo-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 0 1 calc((100% - 26px) / 2);
    min-width: 0;
    padding: 20px;
    border-radius: 18px;
    overflow: hidden;
    background: #f4f6f9;
}








.rise-promo-thumb {
    position: relative;
    z-index: 1;
    background: #d9d9d9;
    border-radius: 14px;
    flex: 0 0 40%;
    height: 220px;
    align-self: center;
    max-width: 380px;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
    padding: 0;
    overflow: hidden;
}








.rise-promo-thumb .rise-promo-swiper,
.rise-promo-thumb .swiper-wrapper,
.rise-promo-thumb .swiper-slide {
    width: 100%;
    height: 100%;
}








.rise-promo-thumb .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #555;
    background: linear-gradient(135deg, #f0f0f0, #d9d9d9);
}








.rise-promo-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 0 0 0 24px;
    text-align: left;
}








.rise-promo-num {
    font-size: 30px;
    font-weight: 800;
    color: #c9c9c9;
    letter-spacing: 0.5px;
}








.rise-promo-box-title {
    font-size: 26px;
    font-weight: 900;
    color: #111;
    font-family: 'SCDream';
    margin: 0;
    line-height: 1.25;
}








.rise-promo-box-desc {
    color: #666;
    line-height: 1.85;
    word-break: keep-all;
}








@media (max-width: 768px) {
    .rise-promo-item {
        flex: 1 1 100%;
        flex-direction: column;
    }








    .rise-promo-thumb {
        width: 100%;
        max-width: none;
        height: 180px;
    }








    .rise-promo-box-title {
        font-size: 20px;
    }
}








/* BOARD : 리스트 상단 필터/검색 영역 */
.bd-search-box {
    margin-bottom: 30px;
}








.board-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    border: 1px solid #eaeaea;
    background-color: #e5ebf0;
    padding: 20px;
    border-radius: 10px;
}








.board-header-text {
    max-width: 520px;
    color: #666;
    font-size: 15px;
    line-height: 1.6;
}








.board-utils {
    display: flex;
    align-items: center;
    gap: 12px;
}








.board-filter {
    display: flex;
    gap: 8px;
}








.board-select {
    min-width: 150px;
    border: 1px solid #ddd;
    font-size: 14px;
    color: #333;
    background-color: #fff;
}








.board-search {
    display: flex;
    align-items: center;
    gap: 8px;
}








.board-search-input input {
    min-width: 220px;
    padding: 10px 14px;
    border: 1px solid #ddd;
    font-size: 14px;
}
















.board-search .search-btn {
    width: 50px;
    height: 50px;
    border-radius: 50px;
    background-color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}








.board-search .search-btn svg,
.board-search .search-btn img {
    width: 20px;
    height: 20px;
    fill: #fff;
    filter: brightness(0) invert(1);
}








.board-list-title {
    font-size: 48px;
    font-weight: 700;
    font-family: 'SCDream';
    color: #111;
}








.board-items {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #111;
    border-bottom: 1px solid #e1e1e1;
}








.board-item {
    border-bottom: 1px solid #e1e1e1;
}








.board-item:last-child {
    border-bottom: none;
}








.board-item-link {
    display: flex;
    align-items: center;
    gap: 60px;
    padding: 50px 0;
    text-decoration: none;
    color: inherit;
}








.board-item-date {
    width: 120px;
    text-align: center;
    color: var(--blue);
    font-family: 'SCDream';
}








.board-item-day {
    display: block;
    font-size: 56px;
    line-height: 1;
    font-weight: 700;
}








.board-item-ym {
    display: block;
    margin-top: 8px;
    font-size: 18px;
}








.board-item-main {
    flex: 1;
    border-left: 1px solid #e1e1e1;
    padding-left: 40px;
}








.board-item-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 14px;
    color: #222;
    word-break: keep-all;
}








.board-item-text {
    font-size: 15px;
    color: #777;
    line-height: 1.8;
    word-break: keep-all;
}








.board-item-arrow {
    width: 72px;
    height: 72px;
    border-radius: 999px;
    border: 1px solid #d0d0d0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}








.board-item-arrow-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
}








.board-item-arrow-icon::before {
    content: '→';
    font-size: 20px;
    color: var(--blue);
}








.board-item-link:hover .board-item-title {
    color: var(--blue);
}








.board-item-link:hover .board-item-arrow {
    border-color: var(--blue);
    transform: translateX(4px);
}








.board-pagination {
    margin-top: 40px;
    text-align: center;
}








.board-page-num {
    position: relative;
    min-width: auto;
    height: auto;
    border: 0;
    background: none;
    padding: 0 4px 8px;
    font-size: 16px;
    color: #999;
    cursor: pointer;
}








.board-page-num::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: var(--blue);
    transform: translateX(-50%);
    transition: width 0.2s ease;
}








.board-page-num.active {
    color: var(--blue);
}








.board-page-num.active::after {
    width: 16px;
}








/* =========================
   GALLERY : 갤러리 게시판
   ========================= */








.gallery-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}








.gallery-item {
    margin: 0;
}








.gallery-item-link {
    display: block;
    text-decoration: none;
    color: inherit;
    border-radius: 12px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}








.gallery-item-link:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}








.gallery-item-img {
    width: 100%;
    height: 250px;
    overflow: hidden;
    background-color: #f5f5f5;
}








.gallery-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}








.gallery-item-link:hover .gallery-item-img img {
    transform: scale(1.05);
}








.gallery-item-info {
    padding: 20px;
}








.gallery-item-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #222;
    word-break: keep-all;
    line-height: 1.5;
}








.gallery-item-date {
    display: block;
    font-size: 14px;
    color: #888;
}








/* =========================
   BOARD VIEW : 상세 보기
   ========================= */








.board-view {
    border-top: 1px solid #111;
    border-bottom: 1px solid #e1e1e1;
    padding: 20px 0 30px;
}








.board-view-header {
    margin-bottom: 30px;
}








.board-view-title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    color: #111;
    margin-bottom: 16px;
    font-family: 'SCDream';
    word-break: keep-all;
}








.board-view-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    padding: 12px 0;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
    color: #777;
}








.board-view-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}








.board-view-meta-label {
    color: #444;
    font-weight: 600;
}








.board-view-content {
    padding: 30px 0 10px;
    color: #444;
    line-height: 1.9;
    word-break: keep-all;
    min-height: 240px;
}








.board-view-content p {
    margin: 0;
}








.board-view-bottom {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #f3f3f3;
    display: flex;
    gap: 30px;
    align-items: flex-start;
    justify-content: space-between;
}








.board-view-nav {
    flex: 1;
}








.board-view-nav-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 10px 0;
    border-bottom: 1px solid #f5f5f5;
    text-decoration: none;
    color: #555;
}








.board-view-nav-item:last-child {
    border-bottom: none;
}








.board-view-nav-label {
    flex: 0 0 60px;
    color: #999;
}








.board-view-nav-title {
    flex: 1;
    color: #444;
    word-break: keep-all;
}








.board-view-nav-item:hover .board-view-nav-title {
    color: var(--blue);
}








.board-view-buttons {
    flex-shrink: 0;
}








.subIntro .greet {
    display: flex;
    gap: 0 50px;
}








.subIntro .greet .tbox {
    margin-top: 100px;
}








.subIntro .img-bdbox.vision img {
    max-width: 100%;
    width: 1160px;
    margin: 50px auto;
}








.top-title {
    background: url("../images/sub/top-title-icon.svg") left center no-repeat;
    background-size: 30px auto;
    padding-left: 40px;
    font-family: 'SCDream';
    margin-bottom: 50px;
}
















.sub-1 {
    position: relative;
    background-color: #f7fbff;
}








/* 오른쪽 전체 배경은 화면 100% 너비, 내용은 max-width 안에서 정렬 */
.sub-1::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    right: 0;
    background: #E9F3FA;
    z-index: 0;
}








.sub1-inner {
    position: relative;
    z-index: 1;
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px 120px;
}








.sub1-layout {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}








.sub1-left {
    position: relative;
    flex: 0 0 40%;
}








.sub-1 .rise-txt {
    position: absolute;
    top: -109px;
    right: -83px;
}








.sub1-right {
    flex: 0 0 60%;
}








.sub1-label {
    color: #0083d9;
    font-family: 'SCDream';
}
















.sub1.sub1-2 .sub1-label {
    color: #7263B6;
}








.sub1.sub1-3 .sub1-label {
    color: #7263B6;
}








.sub1.sub1-4 .sub1-label {
    color: #34368d;
}
















.sub1-title {
    font-size: 28px;
    line-height: 1.4;
    font-family: 'SCDream';
    margin-bottom: 32px;
}








.sub1-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #e5edf5;
}








.sub1-item {
    border-bottom: 1px solid #e5edf5;
    position: relative;
}








.sub1-item:last-child {
    border-bottom: 0;
}








.sub1-item button {
    width: 100%;
    padding: 18px 24px;
    text-align: left;
    display: flex;
    align-items: center;
    border: 0;
    background: transparent;
    font-size: 20px;
    color: #555;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
    position: relative;
}








/* hover 시 버튼 아래에서 0 → 100%로 생기는 그라데이션 라인 */
.sub1-item::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, #3c61e9 0%, #6fd14b 100%);
    transform-origin: left center;
    transform: scaleX(0);
    opacity: 0;
    transition: transform 0.25s ease, opacity 0.25s ease;
}








.sub1-item.active::after,
.sub1-item:hover::after {
    transform: scaleX(1);
    opacity: 1;
}








.sub1-item.active button,
.sub1-item button:hover {
    background: rgba(233, 243, 255, 0.7);
}








.sub1-list-text {
    display: inline-block;
    position: relative;
    z-index: 1;
}








/* active 시 폰트 그라데이션 */
.sub1-item.active .sub1-list-text {
    background: linear-gradient(90deg, #3c61e9 0%, #6fd14b 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 600;
}








/* 원 안의 화살표 아이콘 (우측) */
.sub1-item button::after {
    content: '';
    width: 32px;
    height: 32px;
    border-radius: 50%;
    margin-left: auto;
    border: 1px solid #d0d9e8;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 11px auto;
    background-image: none;
    box-shadow: none;
    opacity: 0;
    transform: translateX(0) scale(0.9);
    transition: opacity 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}








.sub1-item.active button::after,
.sub1-item button:hover::after {
    opacity: 1;
    background-image: url('../images/common/arr-fwd.svg'), linear-gradient(135deg, #3c61e9 0%, #6fd14b 100%);
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
    background-size: 11px auto, 100% 100%;
    box-shadow: 0 10px 24px rgba(60, 97, 233, 0.45);
    transform: translateX(0) scale(1);
}








/* 2차메뉴 스타일 */
.sub1-submenu {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    background-color: #f8fafc;
    border-top: 1px solid #e5edf5;
}








.sub1-item:hover .sub1-submenu,
.sub1-item.active .sub1-submenu {
    max-height: 500px;
    opacity: 1;
    padding: 12px 0;
}








.sub1-submenu li {
    margin: 0;
    padding: 0;
}








.sub1-submenu li a {
    display: block;
    padding: 10px 24px 10px 48px;
    color: #666;
    font-size: 16px;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
    position: relative;
}








.sub1-submenu li a::before {
    content: '·';
    position: absolute;
    left: 32px;
    color: #999;
}








.sub1-submenu li a:hover {
    color: var(--blue);
    background-color: rgba(233, 243, 255, 0.5);
}








.sub1-visual {
    position: relative;








}








.sub1-visual-img {
    border-radius: 100px 0 0 0;
    overflow: hidden;
}








.sub1-visual-img img {
    display: block;
    width: 100%;
    height: auto;
    transform: scale(1);
    transition: transform 0.6s ease;
}








.sub1-visual:hover .sub1-visual-img img,
.sub1-visual.zoom-from-list .sub1-visual-img img {
    transform: scale(1.02);
}








.sub1-visual-button-wrap {
    position: absolute;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    width: calc(100% - 80px);
}








.sub1-visual-button {
    /* width: 100%; */
    padding: 10px 30px;
    border-radius: 10px;
    border: 0;
    background: linear-gradient(90deg, #17a4ff 0%, #3ecb4d 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    font-family: 'SCDream';
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.25);
    transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
    margin-left: auto;
}








.sub1-visual-button::after {
    content: '';
    width: 20px;
    height: 20px;
    background: url('../images/common/arr-fwd.svg') no-repeat center center;
    background-size: 100% auto;
    margin-left: 40px;
}








.sub1-visual-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.3);
}








.sub1-desc {
    margin-top: 26px;
}








.sub1-desc-title {
    font-size: 20px;
    margin-bottom: 20px;
    font-family: 'SCDream';
    text-align: right;
    color: #fff;
}








.sub1-desc-title::before {
    content: '# ';
}








.sub1-desc-text {
    /* font-size: 14px; */
    color: #555;
    line-height: 1.6;
    text-align: right;
    color: #fff;
    display: none;
}








/* =========================
   BSNS PAGE : 사업 상세 페이지
   ========================= */








.bsns-page {
    background-color: #fff;
}








.bsns-inner {
    max-width: 1400px;
    margin: 0 auto;
}








.bsns-layout {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}








.bsns-lnb {
    flex: 0 0 300px;
    align-self: flex-start;
    position: sticky;
    top: 40px;
    /* 헤더 + 서브비주얼 여백 보정값 */
}








.bsns-lnb-label {
    margin-bottom: 18px;
    font-family: 'SCDream';
}








.bsns-lnb-list {
    list-style: none;
    margin: 0;
    padding: 4px 0;
    position: relative;
}








.bsns-lnb-list li {
    position: relative;
    padding: 6px 0;
    padding-left: 16px;
}








.bsns-lnb-list a {
    display: block;
    color: #777;
    text-decoration: none;
    transition: color 0.2s ease;
    font-size: 16px;
}








.bsns-lnb-list li.active a,
.bsns-lnb-list a:hover {
    color: #0083d9;
    font-weight: 600;
}








/* LNB 전체 세로 라인 (연회색) */
.bsns-lnb-list::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    background: #e2e6f0;
}








/* 활성 항목에만 파란 세로 라인 오버레이 */
.bsns-lnb-list li.active::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: #0083d9;
}








.bsns-content {
    flex: 1;
    position: relative;
}








.bsns-header {
    position: sticky;
    top: 0;
    /* LNB 스티키 기준과 맞춤 */
    padding-bottom: 16px;
    background-color: #fff;
    z-index: 5;
    padding-top: 20px;
}








.bsns-header-label {
    font-size: 13px;
    color: #777;
    margin-bottom: 8px;
}








.bsns-header-title {
    font-size: 30px;
    font-family: 'SCDream';
    margin-bottom: 20px;
    background: url(../images/sub/top-title-icon.svg) left center no-repeat;
    background-size: 30px auto;
    padding-left: 40px;
}








.bsns-header-sub {
    color: #888;
    margin-bottom: 24px;
}








.bsns-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
}








.bsns-tabs li {
    border-radius: 10px;
    background-color: #fff;
}








.bsns-tabs li a {
    display: inline-block;
    padding: 10px 18px;
    font-size: 16px;
    color: #555;
    border: 1px solid #ddd;
    background-color: #fff;
    border-radius: 10px;
    background: transparent;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    font-weight: 500;
    font-family: 'SCDream';
}








.bsns-tabs li.active a,
.bsns-tabs li a:hover {
    color: #0083d9;
    border-color: #0083d9;
    background: rgba(0, 131, 217, 0.08);
}








.bsns-content .txt-rise {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}








.bsns-hero {
    margin-bottom: 40px;
    border-radius: 20px;
    overflow: hidden;
}








.bsns-hero-logo {
    position: absolute;
    top: -70px;
    right: -40px;
    z-index: 9;
    width: 180px;
    height: auto;
    pointer-events: none;
}








.bsns-hero img {
    display: block;
    width: 100%;
    height: auto;
}








.bsns-section {
    position: relative;
    margin-bottom: 100px;
}
















#bsns-sec1 .top {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eaeaea;
    word-break: keep-all;
}








#bsns-sec1 .top h1 {
    font-family: 'SCDream';
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 20px;
    word-break: keep-all;
    width: 80%;
    line-height: 1.6;
}








.bsns-section-title {
    font-size: 1.5rem;
    margin-bottom: 16px;
    font-family: 'SCDream';
    font-weight: 500;
}








.bsns-section-text {
    line-height: 1.8;
    color: #444;
    word-break: keep-all;
}








.line-title {
    position: relative;
    font-family: 'SCDream';
    padding-left: 15px;
    font-weight: 300;
    margin-bottom: 20px;
}








.line-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 70%;
    background-color: currentColor;
}








.cards {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 50px;
    height: auto;
}








.custom-card {
    position: relative;
    width: 100%;
    height: 380px;
    margin-bottom: 40px;
    padding: 60px 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    background-size: cover;
    background-position: center;
    flex-direction: column;
    color: #fff;








}








.custom-card span {
    display: block;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    border-radius: 50px;
    padding: 4px 34px;
    font-weight: 400;








}








.custom-card.card1 span {
    background-color: #001E61;
}








.custom-card.card2 span {
    background-color: #0071CE;
}








.custom-card.card3 span {
    background-color: #8FC426;
}








.custom-card p {
    width: 50%;
    word-break: keep-all;
    text-align: center;
    font-size: 25px;
}








.card2 {
    z-index: 1;
}








/*농수산 애니메이션 제거 */
/*.opacity {*/
/*    -moz-transition: 0.4s ease;*/
/*    -ms-transition: 0.4s ease;*/
/*    -o-transition: 0.4s ease;*/
/*    transition: 0.4s ease;*/
/*    -webkit-transition: 0.4s ease;*/
/*    opacity: 0.6;*/
/*}*/








/*.scale {*/
/*    -moz-transition: 0.4s ease;*/
/*    -ms-transition: 0.4s ease;*/
/*    -o-transition: 0.4s ease;*/
/*    transition: 0.4s ease;*/
/*    -webkit-transition: 0.4s ease;*/
/*    width: 95%;*/
/*}*/








.vision .card1 {
    background-image: url("../images/sub/vision-bg-1.png");
}








.vision .card2 {
    background-image: url("../images/sub/vision-bg-2.png");
}








.vision .card3 {
    background-image: url("../images/sub/vision-bg-3.png");
}
























.img-bdbox {
    border: 1px solid #eaeaea;
    padding: 20px;
    border-radius: 20px;
    background-color: #fff;
}








.img-bdbox img {
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    display: block;
}








.vision .img-bdbox {
    margin: 50px auto;
    border: none;
}








.org-img {
    display: block;
    margin: 0 auto;
    width: 742px;
    max-width: 100%;
}








/* 조직도 퍼블리싱 (이미지 구조·색상 동일) */
.org-page {
    padding: 32px 24px 40px;
    background: #fff;
    border-radius: 12px;
    margin-bottom: 40px;
    margin-top: 50px;
}








/* 조직도: 고정폭으로 라인 좌표 일치 (중앙열 800px, 간격 32px, 우측열) */
.org-chart {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 1032px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    word-break: keep-all;
}








.org-chart .list_dot_style li {
    font-size: 16px;
    text-align: left;
    border: 1px solid #eaeaea;
    background-color: #f5f5f5;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
}








.org-chart .list_dot_style li::before{
    display: none;
}








.org-top {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    position: relative;
    z-index: 1;
}








.org-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    gap: 0;
    width: 800px;
}








.org-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin-left: 32px;
    flex: 0 0 auto;
}








/* 총장→추진위원회 세로선(44~88px) 끝에 박스가 오도록 */
.org-right__top {
    display: flex;
    align-items: flex-start;
    padding-top: 30px;
    min-height: 136px;
    margin-left: 0;
}








.org-right__mid {
    display: flex;
    align-items: flex-start;
    padding-top: 0;
    margin-top: 0;
}








.org-committees {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-left: 14px;
    margin-top: 8px;
}








/* 노드 공통 */
.org-node {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}








.org-node__item {
    display: block;
    padding: 12px 24px;
    border-radius: 12px;
    text-align: center;
    color: #fff;
    box-sizing: border-box;
    white-space: nowrap;
    font-family: 'SCDream';
    z-index: 1;
    font-size: 16px;
}








/* 중앙 열 노드 간 간격(연결선과 정확히 맞춤) */
.org-node--team {
    margin-top: 20px;
}








.org-node--office {
    margin-top: 20px;
}








.org-bottom {
    margin-top: 66px;
}








/* 첫 번째 노드(총장/과제책임자): 원형 + halo */
.org-node--first {
    position: relative;
    margin-bottom: 50px;
}








.org-node--first::before {
    content: '';
    position: absolute;
    inset: -24px;
    border-radius: 50%;
    background: #e0f7fa;
    z-index: 0;
}








.org-node--first .org-node__item {
    width: 150px;
    height: 150px;
    line-height: 150px;
    padding: 0;
    border-radius: 50%;
    background: #0099D9;
    color: #fff;
    font-weight: 700;
    position: relative;
    z-index: 1;
}








/* RISE 사업단: 보라 */
.org-node--team .org-node__item {
    background: #1A2E5B;
    min-width: 260px;
}








/* RISE 사업실: 진한 파랑 */
.org-node--office .org-node__item {
    background: #1A2E5B;
    min-width: 260px;
    margin-bottom: 70px;
}








/* RISE 사업추진위원회: 진한 파랑 */
.org-node--committee .org-node__item {
    background: #0d47a1;
    min-width: 200px;
    width: 260px;
}








/* 3개 위원회: 빨강 */
.org-node--committee2 .org-node__item {
    background: #88bd13;
    min-width: 200px;
    white-space: normal;
    width: 260px;








}








/* 연결선: 각 요소의 ::before / ::after (1px, #34368d) */
.org-chart,
.org-top,
.org-center,
.org-right {
    overflow: visible;
}








.org-node--first,
.org-node--team,
.org-node--office,
.org-bottom,
.org-panel,
.org-right__top,
.org-committees,
.org-node--committee2 {
    position: relative;
}








.org-node--first::after,
.org-node--team::after,
.org-node--team::before,
.org-node--office::after,
.org-bottom::before,
.org-panel--blue::before,
.org-panel--green::before,
.org-right__top::before,
.org-right__top::after,
.org-committees::before,
.org-node--committee2::before,
.org-panel__head::after {
    content: '';
    position: absolute;
    display: block;
    background: #cccccc;
    pointer-events: none;
    z-index: 0;
}








/* 첫 번째 노드 → 두 번째 노드 세로 (v1) */
.org-node--first::after {
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    width: 1px;
    height: 137%;
}








/* 합천군 조직도: 첫 번째 노드 세로 라인 길이 조정 */
.org-chart--hapcheon .org-node--first::after {
    height: 74%;
}








/* 의대 교육혁신 지원 조직도: 첫 번째 노드 세로 라인 길이 조정 */
.org-chart--med .org-node--first::after {
    height: 185%;
}








/* 총장 오른쪽 가로 (h1) → 우측열 */
.org-right__top::before {
    left: -418px;
    top: 54px;
    width: 421px;
    height: 1px;
}








/* 사업단 오른쪽 가로 (h2) → stem */
.org-node--team::before {
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 302px;
    height: 1px;
}








/* 사업단 → 사업실 세로 (v2) */
.org-node--team::after {
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
}








/* stem: 3위원회 왼쪽 공통 세로 */
.org-committees::before {
    left: -14px;
    top: 25px;
    width: 1px;
    height: 125px;
}








/* stem → 각 위원회 가로 분기 (b1,b2,b3) */
.org-node--committee2::before {
    left: -14px;
    top: 50%;
    transform: translateY(-50%);
    width: 84px;
    height: 1px;
}








/* 사업실 → T 세로 (v3) */
.org-node--office::after {
    left: 50%;
    top: 50px;
    transform: translateX(-50%);
    width: 1px;
    height: 33px;
}








/* T 가로선 (h3) */
.org-bottom::before {
    left: 50%;
    top: -38px;
    transform: translateX(-50%);
    width: 413px;
    height: 1px;
}








/* T → 파란 패널 세로 (v4) */
.org-panel--blue::before {
    left: 50%;
    top: -38px;
    transform: translateX(-50%);
    width: 1px;
    height: 39px;
}








/* T → 초록 패널 세로 (v5) */
.org-panel--green::before {
    left: 50%;
    top: -38px;
    transform: translateX(-50%);
    width: 1px;
    height: 46px;
}








.org-panel__head {
    position: relative;
}








/* 하단: 세부과제 2단 */
.org-bottom {
    display: flex;
    gap: 24px;
    width: 100%;
    max-width: 800px;
    margin-top: 0;
}








.org-panel {
    flex: 1;
    border-radius: 12px;
    overflow: visible;
    border: 1px solid #e0e0e0;
    position: relative;
    z-index: 1;
}








.org-panel__head {
    padding: 14px 20px;
    font-family: 'SCDream';
    color: #fff;
    text-align: center;
    border-radius: 12px 12px 0 0;
}








.org-panel--blue .org-panel__head {
    background: #575757;
}








.org-panel--green .org-panel__head {
    background: #575757;
}








.org-panel__body {
    position: relative;
    z-index: 1;
    padding: 20px 24px;
    background: #fff;
    line-height: 1.8;
    min-height: 120px;
    border-radius: 0 0 12px 12px;
    text-align: center;
}








/* 조직도: 지역산업농수산 (2_1_4) - 이미지 구조·색상 동일, 라인 ::before/::after */
.org-chart--farm {
    width: 1032px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
}








.org-chart--farm .org-node__item {
    white-space: normal;
}








.org-farm__leader {
    position: relative;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}








.org-farm__leader-label {
    color: #1A2E5B;
    font-weight: 600;
}








.org-farm__leader-logo {
    font-weight: 700;
    color: #1A2E5B;
}








.org-farm__leader-logo em {
    font-style: normal;
    color: #70AD47;
    vertical-align: super;
    margin-left: 2px;
}








/* 과제 책임자 원: 1_3 조직도의 .org-node--first .org-node__item 스타일 사용 */








.org-farm__leader .org-node--first::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    width: 1px;
    height: 28px;
    background: #CCCCCC;
    pointer-events: none;
    z-index: 0;
}








.org-farm__branch {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 48px;
    margin-bottom: 24px;
    padding-top: 16px;
}








.org-farm__branch::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -47px;
    transform: translateX(-50%);
    width: 1px;
    height: 46px;
    background: #CCCCCC;
    pointer-events: none;
    z-index: 0;
}








.org-farm__branch::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 0%;
    transform: translate(-50%, -50%);
    width: calc(100% - 175px);
    height: 1px;
    background: #CCCCCC;
    pointer-events: none;
    z-index: 0;
}








.org-farm__node {
    position: relative;
    flex-direction: column;
    gap: 4px;
}








.org-farm__node .org-node__item {
    padding: 12px 20px;
    border-radius: 12px;
    color: #fff;
    width: 100%;
}








.org-farm__sub {
    display: block;
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
}








.org-farm__node--committee::before,
.org-farm__node--admin::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -16px;
    transform: translateX(-50%);
    width: 1px;
    height: 17px;
    background: #CCCCCC;
    pointer-events: none;
    z-index: 0;
}
















.org-farm__node--committee::before {
    left: 62%;
}








.org-farm__node--committee .org-node__item {
    background: #1A2E5B;
}








.org-farm__node--admin .org-node__item {
    background: #1A2E5B;
}








.org-farm__node--agri .org-node__item {
    background: #1A2E5B;
}








.org-farm__node--livestock .org-node__item {
    background: #1A2E5B;
}








.org-farm__node--fishery .org-node__item {
    background: #1A2E5B;
}








.org-farm__centers {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-bottom: 20px;
}








.org-farm__centers::before {
    content: '';
    position: absolute;
    left: 49.9%;
    top: -28px;
    transform: translateX(-50%);
    width: 394px;
    max-width: 462px;
    height: 1px;
    background: #CCCCCC;
    pointer-events: none;
    z-index: 0;
}








.org-farm__group {
    flex: 1;
    max-width: 260px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
}








/* 각 특성화 센터 위로 세로 라인 (상단 가로선과 연결) */
.org-farm__group::before {
    content: '';
    position: absolute;
    left: 52%;
    top: -27px;
    transform: translateX(-50%);
    width: 1px;
    height: 28px;
    background: #CCCCCC;
}








.org-farm__content-box {
    position: relative;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    color: #333;
    line-height: 1.6;
    z-index: 1;
}








.org-farm__convergence {
    position: relative;
    margin-bottom: 20px;
    width: 100%
}








.org-farm__convergence .org-node__item {
    background: #555;
    padding: 14px 32px;
    border-radius: 12px;
    color: #fff;
    font-weight: 600;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}








.org-farm__convergence::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -21px;
    transform: translateX(-50%);
    width: 1px;
    height: 28px;
    background: #CCCCCC;
    pointer-events: none;
    z-index: 0;
}








.org-farm__content-bottom {
    position: relative;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    line-height: 1.7;
    z-index: 1;
    width: 100%;
    text-align: center;
}








/* 조직도: 1_3 RISE PLUS+ GNU (추진체계, org-farm 리더·브랜치 패턴 재사용) */
.org-chart--rise-gnu {
    width: 1180px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
}


.org-chart--rise-gnu .org-node__item {
    white-space: normal;
}


.org-rise-gnu__intro {
    text-align: center;
    margin-bottom: 100px;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}




.org-rise-gnu__intro .logo{
    width: 350px;
    max-width: 80%;
    margin: 0 auto 50px auto;
}


.org-rise-gnu__text {
    line-height: 1.75;
    color: #444;
    word-break: keep-all;
}


/* 리더 + 주축 + 브랜치 묶음: 이중 원형일 때 가상요소 한 줄로는 길이 부족 → 실선 요소 사용 */
.org-rise-gnu__tree {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    position: relative;
    z-index: 1;
}


.org-farm__leader--rise-gnu {
    margin-bottom: 0;
}


.org-farm__leader--rise-gnu .org-node--first {
    margin-bottom: 0;
}


/* 총장 → 단장 */
.org-farm__leader--rise-gnu .org-node--first::after {
    height: 500px;
}


.org-node--rise-director {
    position: relative;
    margin-top: 8px;
    margin-bottom: 0;
}


.org-node--rise-director .org-node__item {
    width: 150px;
    height: 150px;
    line-height: 150px;
    padding: 0;
    border-radius: 50%;
    background: #001e61;
    color: #fff;
    font-weight: 700;
    margin: 50px auto;
}






.org-chart--rise-gnu .org-farm__branch--rise-gnu::before {
    display: none;
}


.org-farm__branch--rise-gnu {
    margin-bottom: 36px;
    width: 100%;
    max-width: 720px;
}


/*
 * 기본 .org-farm__branch::after 는 width: calc(100% - 175px) 로 넓은 트리용.
 * rise-gnu 는 노드 2개 + gap 48 만 있어 가로선이 과하게 길어짐.
 * 세로: translateY(-50%) 제거해 상단(main-vline 접점)과 맞춤.
 * 가로: 두 박스 중심선에 가깝게 calc(100% - 152px) (720px 컨테이너에서 여백 반영), 좁은 폭은 clamp.
 */
.org-farm__branch--rise-gnu::after {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 248px;
    height: 1px;
    background: #CCCCCC;
}


.org-farm__node--rise-left .org-node__item,
.org-farm__node--rise-right .org-node__item {
    background: #0071ce;
    border-radius: 12px;
    min-width: 200px;
}


/* 가로선 → 각 노드 (양쪽 노드 중심에 맞춤) */
.org-farm__branch--rise-gnu .org-farm__node--rise-left::before,
.org-farm__branch--rise-gnu .org-farm__node--rise-right::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -16px;
    transform: translateX(-50%);
    width: 1px;
    height: 17px;
    background: #CCCCCC;
    pointer-events: none;
    z-index: 0;
}


.org-rise-gnu__columns {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 18px;
    width: 100%;
    position: relative;
    z-index: 1;
}


.org-rise-gnu__col {
    flex: 1 1 0;
    min-width: 0;
    max-width: 380px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}


.org-rise-gnu__card {
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}


.org-rise-gnu__col--support .org-rise-gnu__card-head {
    background: #E8F5E9;
    color: #1b5e20;
}


.org-rise-gnu__col--core .org-rise-gnu__card-head {
    background: #dcecf7;
    color: #0d47a1;
}


.org-rise-gnu__col--advisory .org-rise-gnu__card-head {
    background: #daf3f0;
    color: #36a799;
}


.org-rise-gnu__card-head {
    padding: 12px 14px;
    font-weight: 800;
    font-size: 15px;
    text-align: center;
    font-family: 'SCDream', sans-serif;
}


.org-rise-gnu__card-body {
    padding: 14px 16px 16px;
}




.org-rise-gnu__lead {
    text-align: center;
    margin: 0 0 12px;
    font-weight: 800;
    line-height: 1.45;
    font-size: 16px;
}


.org-rise-gnu__card-foot {
    padding: 10px 14px 12px;
    color: #2e7d32;
    font-weight: 600;
    text-align: center;
    border-top: 1px dashed rgba(46, 125, 50, 0.35);
    background: #fafcfa;
    font-size: 16px;
}


.org-rise-gnu__card--emph .org-rise-gnu__card-head {
    background: #dcecf7;
    color: #0d47a1;
}








/* 조직도: 대학의 산학친화적 프로그램 운영 (2_2_1) */
.org-chart--plus {
    width: 750px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
}








.org-chart--plus .org-node__item {
    white-space: normal;
}








/* 과제 책임자 (원형) */
.org-plus__leader {
    position: relative;
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
}








.org-plus__leader .org-node--first::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    width: 1px;
    height: 603px;
    background: #CCCCCC;
    pointer-events: none;
    z-index: 0;
}








/* 과제부책임자 / 실무 추진단 */
.org-plus__branch {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 120px;
    margin-bottom: 32px;
}








/* 리더 아래 세로선 → 브랜치 상단까지 */








/* 브랜치 중앙 가로선 (실무 추진단 ↔ 과제부책임자) */
.org-plus__branch::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 160px);
    height: 1px;
    background: #CCCCCC;
    pointer-events: none;
}








.org-plus__node {
    position: relative;
}








.org-plus__node .org-node__item {
    width: 100%;
}








.org-plus__node--exec .org-node__item {
    background: #1A2E5B;
}








.org-plus__node--sub .org-node__item {
    background: #1A2E5B;
}








/* 산학연구 / 교육과정 운영팀 */
.org-plus__teams {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 24px;
}








.org-plus__teams::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 25px;
    transform: translateX(-50%);
    width: calc(100% - 160px);
    height: 1px;
    background: #CCCCCC;
}








.org-plus__group {
    position: relative;
    flex: 1;
    max-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 1;
}








/* 각 팀 위로 세로선 (상단 가로선 ↔ 팀 박스) */
.org-plus__group::before {
    content: '';
    position: absolute;
    left: 49%;
    top: -31px;
    transform: translateX(-50%);
    width: 1px;
    height: 32px;
    background: #CCCCCC;
}








.org-plus__node--team .org-node__item {
    background: #1A2E5B;
}








.org-plus__content-box {
    position: relative;
    min-height: 80px;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
}








/* 지속가능 발전포럼 */
.org-plus__forum {
    position: relative;
    margin-bottom: 16px;
    width: 100%;
}








.org-plus__forum .org-node__item {
    background: #1A2E5B;
    width: 100%;
}








.org-plus__forum-box {
    position: relative;
    min-height: 100px;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    width: 100%;
    z-index: 1;
}








/* 조직도: 취업역량 강화 프로그램 (2_2_2) */
.org-chart--career {
    width: 600px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
}








.org-career__stack {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}








/* 진로취업지원실 원형 아래 세로선 + 아래 노드들까지 하나로 연결 */
.org-career__stack::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 90px;
    transform: translateX(-50%);
    width: 1px;
    height: calc(100% - 90px);
    background: #CCCCCC;
    pointer-events: none;
}








.org-career__node {
    position: relative;
}








.org-career__node .org-node__item {
    width: 100%;
    white-space: normal;
}








.org-career__node--partner .org-node__item {
    background: #1A2E5B;
    margin-left: 300px;
    position: relative;
}








.org-career__node--partner .org-node__item::before {
    content: '';
    position: absolute;
    left: -50px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 1px;
    background: #CCCCCC;
}








.org-career__node--owner .org-node__item {
    background: #1A2E5B;
    width: 200px;
}








.org-career__node--middle .org-node__item {
    background: #757575;
    width: 200px;
}








.org-career__node--staff .org-node__item {
    background: #616161;
    width: 200px;
}








/* 조직도: 공유대학 2.0 체계 및 융합학위과정 운영 (2_3) */
.org-chart--usg {
    width: 1032px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-usg__stack {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
}








/* 중앙 세로선: 라이즈사업단 → 지역교육혁신센터 → USG공유대학 */
.org-usg__stack::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 90px;
    transform: translateX(-50%);
    width: 1px;
    height: calc(100% - 90px);
    background: #CCCCCC;
}








.org-usg__node {
    position: relative;
}








.org-usg__node .org-node__item {
    width: 200px;
    white-space: normal;
}








.org-usg__node .org-node__item img {
    width: 100%;
}








.org-usg__node--center .org-node__item {
    background: #1A2E5B;
}








/* 우측 위원회 블록 (USG공유대학 오른쪽) */
.org-usg__side {
    position: absolute;
    right: 0;
    top: 205px;
}








.org-usg__side .org-node__item {
    background: #1A2E5B;
    width: 280px;
}








.org-usg__side .org-node__item::before {
    content: '';
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 140px;
    height: 1px;
    background: #CCCCCC;
}








/* 하단: 3개 대학 및 전공 */
.org-usg__bottom {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 8px;
}








/* USG공유대학 → 하단 가로선 */
.org-usg__bottom::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -42px;
    transform: translateX(-50%);
    width: 1px;
    height: 46px;
    background: #CCCCCC;
}








.org-usg__bottom::after {
    content: '';
    position: absolute;
    left: 50%;
    top: -24px;
    transform: translateX(-50%);
    width: 449px;
    height: 1px;
    background: #CCCCCC;
}








.org-usg__col {
    position: relative;
    flex: 1;
    max-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}








/* 가로선에서 각 대학 박스로 내려오는 세로선 */
.org-usg__col::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -24px;
    transform: translateX(-50%);
    width: 1px;
    height: 24px;
    background: #CCCCCC;
}








.org-usg__col--center::before {
    display: none;
}








.org-usg__node--univ .org-node__item {
    background: #757575;
    width: 200px;
}








.org-usg__box {
    position: relative;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    color: #333;
    line-height: 1.6;
    box-sizing: border-box;
    z-index: 1;
}








.org-intl__box {
    position: relative;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    box-sizing: border-box;
    z-index: 1;
    width: 100%;
}








/* 조직도: 연구특화 워케이션 선도대학 육성 (2-2) */
.org-chart--workation {
    width: 1032px;
    max-width: 100%;
    margin: 0 auto 30px auto;
    overflow: visible;
    position: relative;
}








.org-page--workation {
    margin-top: 40px;
}








.org-chart--workation .org-node__item,
.org-chart--workation .list_dot_style li {
    white-space: normal;
}








.org-chart--workation .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








/* 상단: 다른 조직도와 동일 스택 + 원형 첫 노드 */
.org-work__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 0;
}








/* .org-work__stack::before{
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 48px;
    background: #CCCCCC;
    z-index: 0;
} */
/* 권역 거점 5개 */
.org-work__bases {
    position: relative;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 48px;
    padding: 0 8px;
}








/* .org-work__bases::before{
    content: '';
    position: absolute;
    top: -48px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 48px;
    background: #CCCCCC;
    z-index: 0;
} */








.org-work__bases::after {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 769px;
    max-width: 100%;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-work__base {
    position: relative;
    flex: 0 0 180px;
    max-width: 200px;
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: visible;
    z-index: 1;
}








.org-work__base::before {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 24px;
    background: #CCCCCC;
    z-index: 0;
}








.org-work__base-title {
    padding: 12px 14px;
    text-align: center;
    font-weight: 700;
    color: #fff;
    font-size: 15px;
    border-radius: 12px 12px 0 0;
}








/* 권역 컬러: 다른 조직도 팔레트와 통일 (farm/plus/research 등) */
.org-work__base--namhae .org-work__base-title {
    background: #1A2E5B;
}








.org-work__base--sacheon .org-work__base-title {
    background: #1A2E5B;
}








.org-work__base--tongyeong .org-work__base-title {
    background: #1A2E5B;
}








.org-work__base--tongyeong::before {
    display: none;
}








.org-work__base--goseong .org-work__base-title {
    background: #1A2E5B;
}








.org-work__base--geoje .org-work__base-title {
    background: #1A2E5B;
}








.org-work__base-box {
    position: relative;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-top: none;
    border-radius: 0 0 12px 12px;
    background: #fff;
    margin: 0;
    z-index: 1;
    height: 100%;
}








.org-work__base-subtitle {
    font-weight: 600;
    margin-bottom: 8px;
    line-height: 1.4;
}








.org-work__base-box .list_dot_style li {
    font-size: 16px;
    margin-bottom: 4px;
}








/* 하단 5개 독립 박스 (연결선 없음) */
.org-work__foot {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
    padding: 0 8px;
}








.org-work__foot-item {
    flex: 0 0 180px;
    max-width: 200px;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    box-sizing: border-box;
}








.org-work__foot-desc {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: #555;
}








/* 워케이션 이전 추진체계 (과제 책임자 + 1행 3개 + 2행 2개) */
.org-legacy-title {
    margin-top: 48px;
    margin-bottom: 24px;
    font-size: 18px;
    font-weight: 700;
    color: #333;
    text-align: center;
}








.org-chart--workation-legacy .org-node--first::after {
    /* 기본 첫 노드 세로 라인(137%)는 사용하지 않고, 아래 stack::before로만 연결 */
    display: none;
}








.org-chart--workation-legacy .org-work__stack {
    margin-bottom: 40px;
}








.org-chart--workation-legacy .org-work__stack::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 40px;
    background: #CCCCCC;
    z-index: 0;
}








.org-work__bottom {
    position: relative;
    width: 100%;
}








.org-work__row {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}








.org-work__row--top {
    margin-bottom: 40px;
}








.org-work__row--top::after {
    content: '';
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 449px;
    max-width: 95%;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-work__col {
    position: relative;
    flex: 0 0 200px;
    max-width: 220px;
    z-index: 1;
}








.org-work__col::before {
    content: '';
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 40px;
    background: #CCCCCC;
    z-index: 0;
}








.org-work__row--bottom .org-work__col::before {
    display: none;
}








.org-work__node .org-node__item {
    padding: 12px 20px;
    border-radius: 12px;
    background: #1A2E5B;
    color: #fff;
    font-weight: 600;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    white-space: normal;
}








.org-work__box {
    margin-top: 12px;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    z-index: 1;
    position: relative;
    height: 80%;
}








/* 조직도: 경상남도 정주형 연구중심 고급인력 양성사업 (3_1_1) */
.org-chart--research {
    width: 1032px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--research {
    margin-top: 40px;
}








.org-chart--research .org-node__item {
    white-space: normal;
}








.org-research__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-research__subleaders {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 520px;
    margin: 0 auto 40px auto;
    gap: 80px;
}








.org-research__subleaders::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-research__node--sub .org-node__item {
    background: #1A2E5B;
    width: 200px !important;
}








.org-research__bottom {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 40px;
}








.org-research__bottom::after {
    content: '';
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 736px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-research__col {
    position: relative;
    flex: 0 0 auto;
    width: 168px;
}








.org-research__col::before {
    content: '';
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 40px;
    background: #CCCCCC;
    z-index: 0;
}








.org-research__node--center .org-node__item {
    background: #757575;
    width: 100%;
}








.org-research__box {
    position: relative;
    margin-top: 12px;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    z-index: 1;
}








/* 조직도: OPENVLA 기반 산업용 자율로봇 플랫폼 개발(2차) (3_1_2) */
.org-chart--robot {
    width: 1032px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--robot {
    margin-top: 40px;
}








.org-chart--robot .org-node__item {
    white-space: normal;
}








.org-robot__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-robot__committee {
    position: absolute;
    right: 0;
    top: 180px;
}








.org-robot__node--committee .org-node__item {
    background: #1A2E5B;
    width: 270px;
}








.org-robot__node--committee .org-node__item::before {
    content: '';
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 245px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-robot__groups {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 138px;
}








.org-robot__groups::after {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 534px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-robot__group {
    position: relative;
    flex: 0 0 auto;
    width: 250px;
}








.org-robot__group::before {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 24px;
    background: #CCCCCC;
    z-index: 0;
}








.org-robot__node--group .org-node__item {
    background: #1A2E5B;
    width: 100%;
}








.org-robot__teams {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 50px;
}








.org-robot__team {
    position: relative;
    flex: 0 0 auto;
    width: 168px;
}








.org-robot__node--team .org-node__item {
    background: #757575;
    width: 100%;
}








.org-robot__box {
    position: relative;
    margin-top: 12px;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    z-index: 1;
}








.org-robot__title {
    text-align: center;
    font-weight: 600;
    margin-bottom: 8px;
}








.org-robot__advice {
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 30px;
}








.org-robot__node--advice .org-node__item {
    background: #1A2E5B;
    width: 720px;
    max-width: 100%;
}








/* 조직도: 미래 모빌리티용 고전압 양방향 (3_1_4) */
.org-chart--mobility {
    width: 1032px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--mobility {
    margin-top: 40px;
}








.org-chart--mobility .org-node__item {
    white-space: normal;
}








.org-mobility__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-chart--mobility .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








.org-mobility__cols {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 140px;
}








.org-mobility__cols::after {
    content: '';
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    width: 710px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-mobility__col {
    position: relative;
    flex: 0 0 auto;
    width: 220px;
}








.org-mobility__col::before {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 24px;
    background: #CCCCCC;
    z-index: 0;
}








.org-mobility__node--inst .org-node__item {
    background: #1A2E5B;;
    width: 100%;
}








.org-mobility__content {
    position: relative;
    margin-top: 12px;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    z-index: 1;
}








.org-mobility__footer {
    position: relative;
    margin-top: 8px;
    padding: 12px 20px;
    border-radius: 12px;
    background: #757575;
    color: #fff;
    text-align: center;
    z-index: 1;
}








/* 조직도: 평생교육 거점대학 육성 (3-1) */
.org-chart--lifelong {
    width: 1032px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--lifelong {
    margin-top: 40px;
}








.org-chart--lifelong .org-node__item {
    white-space: normal;
}








.org-life__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-chart--lifelong .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








.org-life__middle {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 40px;
    margin-left: 261px;
}








.org-life__mid-center {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}








.org-life__mid-center::before {
    content: '';
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 80px;
    background: #CCCCCC;
    z-index: 0;
}








.org-life__node--center .org-node__item {
    background: #dbeaff;
    width: 260px;
}








.org-life__node--center .org-node__item img{
    width: 80%;
    max-width: 100%;
}








.org-life__node--lifelong .org-node__item {
    background: #1A2E5B;
    width: 260px;
}








.org-life__committee {
    position: relative;
    display: flex;
    align-items: center;
}








.org-life__node--lifelong .org-node__item::after {
    content: '';
    position: absolute;
    right: -40px;
    top: 20%;
    transform: translateY(-50%);
    width: 40px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-life__node--committee .org-node__item {
    background: #5563e9;
    width: 220px;
}








.org-life__bottom {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 40px;
}








.org-life__bottom::before {
    content: '';
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 57px;
    background: #CCCCCC;
    z-index: 0;
}








.org-life__bottom::after {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 710px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-life__col {
    position: relative;
    flex: 0 0 auto;
    width: 220px;
}








.org-life__col::before {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 24px;
    background: #CCCCCC;
    z-index: 0;
}








.org-life__node--univ .org-node__item {
    background: #757575;
    width: 100%;
}








.org-life__content {
    position: relative;
    margin-top: 12px;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    z-index: 1;
    text-align: center;
    font-size: 16px;
}








/* 조직도: 진주시 (4-2-1) */
.org-chart--jinju {
    width: 600px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--jinju {
    margin-top: 40px;
}








.org-chart--jinju .org-node__item {
    white-space: normal;
}








.org-jinju__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-chart--jinju .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








.org-jinju__stack::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 260px;
    background: #CCCCCC;
    z-index: 0;
}








.org-jinju__office {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-jinju__panel {
    position: relative;
    padding: 16px;
    border-radius: 24px;
    background: #F5F5F5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}








.org-jinju__node {
    position: relative;
}








.org-jinju__node--dept .org-node__item {
    background: #00398A;
    width: 260px;
}








.org-jinju__node--chief .org-node__item {
    background: #1A2E5B;
    width: 260px;
}








.org-jinju__node--leader .org-node__item {
    background: #34368d;
    width: 260px;
}








.org-jinju__middle {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 80px;
    width: 520px;
    margin: 0 auto 40px auto;
}








.org-jinju__middle::before {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-jinju__middle .org-jinju__node::before {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 24px;
    background: #CCCCCC;
    z-index: 0;
}








.org-jinju__node--support .org-node__item {
    background: #00398A;
    width: 220px;
}








.org-jinju__bottom {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 40px;
}








.org-jinju__bottom::before {
    content: '';
    position: absolute;
    top: -171px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 148px;
    background: #CCCCCC;
    z-index: 0;
}








.org-jinju__bottom::after {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 390px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-jinju__col {
    position: relative;
    flex: 0 0 auto;
    width: 180px;
}








.org-jinju__col::before {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 24px;
    background: #CCCCCC;
    z-index: 0;
}








.org-jinju__node--welfare .org-node__item {
    background: #757575;
    width: 100%;
}








/* 조직도: 통영시 (4-2-2) */
.org-chart--tong {
    width: 1032px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--tong {
    margin-top: 40px;
}








.org-chart--tong .org-node__item {
    white-space: normal;
}








.org-ty__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-chart--tong .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








.org-ty__cols {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 140px;
}








.org-ty__cols::before {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 767px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-ty__col {
    position: relative;
    flex: 0 0 auto;
    width: 240px;
}








.org-ty__col::before {
    content: '';
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 24px;
    background: #CCCCCC;
    z-index: 0;
}








.org-ty__node--cat .org-node__item {
    background: #757575;
    width: 100%;
}








.org-ty__content {
    position: relative;
    margin-top: 12px;
    padding: 16px 20px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    z-index: 1;
    font-size: 16px;
}








/* 조직도: 산청군 (4-2-3) */
.org-chart--san {
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-chart--san .org-node__item {
    white-space: normal;
}








.org-san__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-chart--san .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








.org-san__advisory {
    position: absolute;
    left: 0;
    top: 180px;
}








.org-san__node--advisory .org-node__item {
    background: #1A2E5B;
    width: 200px;
}








.org-san__node--advisory .org-node__item::before {
    content: '';
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 200px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-san__middle {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 80px;
    margin-top: 90px;
}








.org-san__center {
    position: relative;
    display: flex;
    justify-content: center;
}








.org-san__node--center .org-node__item {
    background: #00398A;
    width: 200px;
}








.org-san__center::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(0, -50%);
    width: 200px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-san__right {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}








.org-san__node--plan .org-node__item {
    background: #1A2E5B;
    width: 200px;
}








.org-san__node--admin .org-node__item {
    background: #757575;
    width: 200px;
}








.org-san__node--admin .org-node__item::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 50px;
    transform: translateX(-50%);
    width: 1px;
    height: 16px;
    background: #CCCCCC;
    z-index: 0;
}








/* 조직도: 함양군 (4-2-4) */
.org-chart--hamyang {
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--hamyang {
    margin-top: 40px;
}








.org-chart--hamyang .org-node__item {
    white-space: normal;
}








.org-chart--hamyang .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








.org-ham__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-ham__stack::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 160px;
    background: #CCCCCC;
    z-index: 0;
}
.org-ham__advisory {
    position: absolute;
    left: 0;
    top: 160px;
}
.org-ham__node--advisory .org-node__item::before {
    content: '';
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 200px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}
.org-ham__node--advisory .org-node__item {
    background: #1A2E5B;
    width: 200px;
}








.org-ham__roles {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}








.org-ham__node {
    position: relative;
}
























.org-ham__node--lead .org-node__item {
    background: #00398A;
    width: 260px;
}








.org-ham__node--teacher .org-node__item {
    background: #1A2E5B;
    width: 260px;
}








.org-ham__node--staff .org-node__item {
    background: #757575;
    width: 260px;
}








.org-ham__node--lead .org-node__item::before,
.org-ham__node--teacher .org-node__item::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background: #CCCCCC;
    z-index: 0;
}








/* 조직도: 합천군 (4-2-5) */
.org-chart--hapcheon {
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--hapcheon {
    margin-top: 40px;
}








.org-chart--hapcheon .org-node__item {
    white-space: normal;
}








.org-chart--hapcheon .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








.org-hap__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 80px;
}








.org-hap__bottom {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 120px;
}








.org-hap__bottom::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 381px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-hap__col {
    position: relative;
}








.org-hap__col::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background: #CCCCCC;
    z-index: 0;
}








.org-hap__node {
    position: relative;
}








.org-hap__node--county .org-node__item {
    background: #1A2E5B;
    width: 260px;
}








.org-hap__node--coop .org-node__item {
    background: #1A2E5B;
    width: 260px;
}
















/* 조직도: 의대 교육혁신 지원 (4-2-6) */
.org-chart--med {
    width: 1032px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--med {
    margin-top: 40px;
}








.org-chart--med .org-node__item {
    white-space: normal;
}








.org-chart--med .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








.org-med__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-med__middle {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 120px;
}








.org-med__middle::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 381px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-med__node {
    position: relative;
}








.org-med__node--center .org-node__item {
    background: #1A2E5B;
    width: 260px;
}








.org-med__node--kamc .org-node__item {
    background: #1A2E5B;
    width: 260px;
}








.org-med__node--center .org-node__item::before,
.org-med__node--kamc .org-node__item::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background: #CCCCCC;
    z-index: 0;
}








.org-med__bottom {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
    margin-top: 80px;
}








.org-med__bottom::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 828px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-med__col {
    position: relative;
}








.org-med__col::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background: #CCCCCC;
    z-index: 0;
}








.org-med__node--research .org-node__item {
    background: #555;
    width: 260px;
}








.org-med__node--edu .org-node__item {
    background: #555;
    width: 260px;
}








.org-med__node--clinic .org-node__item {
    background: #555;
    width: 260px;
}








.org-med__node--region .org-node__item {
    background: #555;
    width: 260px;
}








.org-med__footer {
    position: relative;
    margin-top: 20px;
    display: flex;
    justify-content: center;
}








.org-med__node--team .org-node__item {
    background: #0d47a1;
    width: 1088px;
    max-width: 100%;
}
















/* 조직도: 외국인 유학생 (3-2) */
.org-chart--intl {
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    position: relative;
}








.org-page--intl {
    margin-top: 40px;
}








.org-chart--intl .org-node__item {
    white-space: normal;
}








.org-chart--intl .org-node--first .org-node__item {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    white-space: normal;
    padding: 0 16px;
}








.org-intl__stack {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}








.org-intl__top {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 160px;
    margin-top: 135px;
}








.org-intl__top::before {
    content: '';
    position: absolute;
    top: -21px;
    left: 50%;
    transform: translateX(-50%);
    width: 421px;
    height: 1px;
    background: #CCCCCC;
    z-index: 0;
}








.org-intl__col {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    z-index: 1
}








.org-intl__col::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background: #CCCCCC;
    z-index: 0;
}








.org-intl__node {
    position: relative;
}








.org-intl__node--dept .org-node__item {
    background: #00398A;
    width: 260px;
}








.org-intl__node--dept .org-node__item::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background: #CCCCCC;
    z-index: 0;
}








.unv-box{
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 10px;
}








.unv-box li{
    width: 200px;
    height: 52px;
    border: 1px solid #CCCCCC;
    border-radius: 12px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 10px;








}
















.unv-box li img{
    height: 28px;
}








/* farm / plus / usg / workation / research / robot / mobility / lifelong / jinju / tong / san 조직도 반응형: 세로 배치, 라인 단순화 */
@media screen and (max-width: 1200px) {








    .org-chart--farm,
    .org-chart--rise-gnu,
    .org-chart--plus,
    .org-chart--usg,
    .org-chart--workation,
    .org-chart--research,
    .org-chart--robot,
    .org-chart--mobility,
    .org-chart--lifelong,
    .org-chart--jinju,
    .org-chart--tong,
    .org-chart--san,
    .org-chart--hamyang,
    .org-chart--hapcheon,
    .org-chart--med,
    .org-chart--intl {
        position: relative;
    }








    .org-chart--farm::after,
    .org-chart--rise-gnu::after,
    .org-chart--plus::after,
    .org-chart--usg::after,
    .org-chart--workation::after,
    .org-chart--research::after,
    .org-chart--robot::after,
    .org-chart--mobility::after,
    .org-chart--lifelong::after,
    .org-chart--jinju::after,
    .org-chart--tong::after,
    .org-chart--san::after,
    .org-chart--hamyang::after,
    .org-chart--hapcheon::after,
    .org-chart--med::after,
    .org-chart--intl::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
        width: 1px;
        height: 95%;
        background: #CCCCCC;
        pointer-events: none;
        z-index: 0;
    }








    .org-farm__leader::after,
    .org-farm__branch::before,
    .org-farm__branch::after,
    .org-farm__centers::before,
    .org-farm__convergence::before,
    .org-farm__node--committee::before,
    .org-farm__node--admin::before,
    .org-farm__branch--rise-gnu .org-farm__node--rise-left::before,
    .org-farm__branch--rise-gnu .org-farm__node--rise-right::before,
    .org-rise-gnu__main-vline,
    .org-plus__leader .org-node--first::after,
    .org-plus__branch::before,
    .org-plus__branch::after,
    .org-plus__teams::before,
    .org-plus__group::before,
    .org-plus__forum::before,
    .org-usg__stack::before,
    .org-usg__side .org-node__item::before,
    .org-usg__bottom::before,
    .org-usg__bottom::after,
    .org-usg__col::before,
    .org-work__head::after,
    .org-work__bases::before,
    .org-work__bases::after,
    .org-work__base::before,
    .org-chart--workation-legacy .org-work__stack::before,
    .org-work__row--top::after,
    .org-work__row--bottom::before,
    .org-work__row--bottom::after,
    .org-work__col::before,
    .org-research__stack::before,
    .org-research__subleaders::before,
    .org-research__bottom::after,
    .org-research__col::before,
    .org-robot__stack::before,
    .org-robot__node--committee .org-node__item::before,
    .org-robot__groups::after,
    .org-robot__group::before,
    .org-robot__teams::after,
    .org-robot__team::before,
    .org-robot__advice::before,
    .org-mobility__stack::before,
    .org-mobility__cols::after,
    .org-mobility__col::before,
    .org-life__mid-center::before,
    .org-life__bottom::before,
    .org-life__bottom::after,
    .org-life__col::before,
    .org-life__node--lifelong .org-node__item::after,
    .org-jinju__stack::before,
    .org-jinju__middle::before,
    .org-jinju__middle .org-jinju__node::before,
    .org-jinju__bottom::before,
    .org-jinju__bottom::after,
    .org-jinju__col::before,
    .org-ty__stack::before,
    .org-ty__cols::before,
    .org-ty__col::before,
    .org-san__stack::before,
    .org-san__node--advisory .org-node__item::before,
    .org-san__center::after,
    .org-san__node--plan .org-node__item::before,
    .org-san__node--admin .org-node__item::before,
    .org-ham__stack::before,
    .org-ham__node--lead .org-node__item::before,
    .org-ham__node--teacher .org-node__item::before,
    .org-hap__stack::before,
    .org-hap__bottom::before,
    .org-hap__col::before,
    .org-med__stack::before,
    .org-med__middle::before,
    .org-med__node--center .org-node__item::before,
    .org-med__node--center .org-node__item::after,
    .org-med__node--kamc .org-node__item::before,
    .org-med__bottom::before,
    .org-med__col::before,
    .org-med__footer::before,
    .org-intl__stack::before,
    .org-intl__top::before,
    .org-intl__col::before,
    .org-intl__node--dept .org-node__item::after {
        display: none;
    }








    .org-farm__branch {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        border-top: none;
        padding-top: 0;
    }








    .org-farm__centers {
        flex-direction: column;
        align-items: center;
    }








    .org-farm__group {
        max-width: 100%;
        width: 100%;
    }


    .org-farm__group::before {
        left: 50%;
    }








    .org-rise-gnu__columns {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
    }








    .org-rise-gnu__col {
        max-width: 100%;
        width: 100%;
    }








    .org-farm__content-box {
        width: 100%;
    }








    .org-farm__node .org-node__item,
    .org-farm__convergence .org-node__item {
        width: 100%;
        box-sizing: border-box;
    }








    /* 대학의 산학친화적 프로그램 운영 조직도: 모바일에서는 세로 스택 */
    .org-plus__branch {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-bottom: 24px;
    }








    .org-plus__teams {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        margin-bottom: 24px;
    }








    .org-plus__group {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }








    .org-plus__content-box,
    .org-plus__forum-box {
        width: 100%;
        max-width: 320px;
    }








    /* 워케이션 조직도: 모바일에서는 세로 스택 */
    .org-work__head {
        width: 100%;
        max-width: 280px;
    }








    .org-work__bases {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 24px;
    }








    .org-work__base {
        max-width: 100%;
        width: 100%;
        flex: 1 1 auto;
    }








    .org-work__foot {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        margin-top: 24px;
    }








    .org-work__foot-item {
        max-width: 100%;
        width: 100%;
        flex: 1 1 auto;
    }








    .org-legacy-title {
        margin-top: 32px;
        margin-bottom: 16px;
        font-size: 16px;
    }








    .org-work__row {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }








    .org-work__row--top {
        margin-bottom: 24px;
    }








    .org-work__col {
        max-width: 280px;
        width: 100%;
        flex: 1 1 auto;
    }








    /* 연구중심 조직도: 모바일에서는 세로 스택 */
    .org-research__subleaders {
        flex-direction: column;
        width: 100%;
        margin: 0 0 24px 0;
        gap: 16px;
        align-items: center;
    }








    .org-research__bottom {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        margin-top: 24px;
    }








    .org-research__col {
        width: 100%;
        max-width: 100%;
    }








    .org-research__node .org-node__item,
    .org-research__node--center .org-node__item {
        width: 200px;
        box-sizing: border-box;
    }








    .org-research__box {
        width: 100%;
    }








    /* 로봇 조직도: 모바일에서는 세로 스택 */
    .org-robot__committee {
        position: static;
        margin-top: 16px;
        display: flex;
        justify-content: center;
    }








    .org-robot__groups,
    .org-robot__teams {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        margin-top: 40px;
    }








    .org-robot__group,
    .org-robot__team {
        width: 100%;
        max-width: 100%;
    }








    .org-robot__node--group .org-node__item,
    .org-robot__node--team .org-node__item,
    .org-robot__node--advice .org-node__item {
        width: 100%;
        box-sizing: border-box;
    }








    .org-robot__box {
        width: 100%;
    }








    /* 모빌리티 조직도: 모바일에서는 세로 스택 */
    .org-mobility__cols {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        margin-top: 40px;
    }








    .org-mobility__col {
        width: 100%;
        max-width: 100%;
    }








    .org-mobility__node--inst .org-node__item {
        width: 100%;
        box-sizing: border-box;
    }








    .org-mobility__content,
    .org-mobility__footer {
        width: 100%;
        box-sizing: border-box;
    }








    /* 평생교육 조직도: 모바일에서는 세로 스택 */
    .org-life__middle {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-bottom: 24px;
        margin-left: 0;
        width: 200px;
    }
















    .org-life__bottom {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        margin-top: 24px;
    }








    .org-life__col {
        width: 100%;
        max-width: 100%;
    }








    .org-life__node--center .org-node__item,
    .org-life__node--lifelong .org-node__item,
    .org-life__node--committee .org-node__item,
    .org-life__node--univ .org-node__item {
        width: 200px;
        box-sizing: border-box;
    }








    .org-life__content {
        box-sizing: border-box;
    }








    /* 진주시 조직도: 모바일 세로 스택 */
    .org-jinju__office {
        margin-bottom: 24px;
    }








    .org-jinju__middle {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        width: 100%;
        margin: 0 0 24px 0;
    }








    .org-jinju__bottom {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 24px;
    }








    .org-jinju__col {
        width: 100%;
        max-width: 100%;
    }








    .org-jinju__node--support .org-node__item,
    .org-jinju__node--welfare .org-node__item {
        width: 200px;
        box-sizing: border-box;
    }








    /* 통영시 조직도: 모바일 세로 스택 */
    .org-ty__cols {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        margin-top: 24px;
    }








    .org-ty__col {
        width: 100%;
        max-width: 100%;
    }








    .org-ty__node--cat .org-node__item {
        width: 100%;
        box-sizing: border-box;
    }








    .org-ty__content {
        width: 100%;
        box-sizing: border-box;
    }








    /* 산청군 조직도: 모바일 세로 스택 */
    .org-san__middle {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 0;
    }








    .org-san__advisory {
        position: static;
        margin-top: 16px;
        display: flex;
        justify-content: center;
    }








    .org-san__center {
        margin-top: 24px;
    }








    .org-san__right {
        margin-top: 24px;








        margin-left: 0;
        align-items: center;
    }








    .org-san__node--advisory .org-node__item,
    .org-san__node--center .org-node__item,
    .org-san__node--plan .org-node__item,
    .org-san__node--admin .org-node__item {
        width: 200px;
        box-sizing: border-box;
    }








    /* 합천군 조직도: 모바일 세로 스택 */
    .org-hap__bottom {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 24px;
    }








    .org-hap__col {
        width: 100%;
        max-width: 260px;
        box-sizing: border-box;
    }








    /* 외국인 유학생 조직도: 모바일 세로 스택 */
    .org-intl__top {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 24px;
    }








    .org-intl__col {
        width: 100%;
        box-sizing: border-box;
    }








    .org-intl__box {
        width: 100%;
    }








    /* 의대 교육혁신 지원 조직도: 모바일 세로 스택 */
    .org-med__middle {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 24px;
    }








    .org-med__bottom {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 24px;
    }








    .org-med__footer {
        margin-top: 40px;
    }








    .org-med__node--center .org-node__item,
    .org-med__node--kamc .org-node__item,
    .org-med__node--research .org-node__item,
    .org-med__node--edu .org-node__item,
    .org-med__node--clinic .org-node__item,
    .org-med__node--region .org-node__item,
    .org-med__node--team .org-node__item {
        width: 260px;
        box-sizing: border-box;
        position: relative;
        z-index: 1;
    }








    /* 모바일: 첫 번째 노드 마진 간격 조정 */
    .org-node--first {
        margin-bottom: 30px;
    }








    /* 모바일: 모든 조직도 노드 가로값 280px */
    .org-chart .org-node__item {
        width: 320px !important;
        max-width: 100%;
        box-sizing: border-box;
    }




    .org-node--rise-director .org-node__item{
        width: 150px !important;
    }




    .org-usg__node .org-node__item img {
        width: 100%;
        height: 25px;
        width: auto;
    }








    /* 원형 첫 노드는 기존 크기 유지 */
    .org-node--first .org-node__item {
        width: 150px !important;
        height: 150px;
        line-height: 150px;
    }








    /* 취업역량 강화 조직도: 모바일에서는 센터 박스를 중앙 정렬, 가로 라인 제거 */
    .org-career__node--partner .org-node__item {
        margin-left: 0;
        width: 200px;
    }








    .org-career__node--partner .org-node__item::before {
        display: none;
    }








    /* 공유대학 2.0 조직도: 위원회 블록을 흐름 안으로 정렬 */
    .org-usg__side {
        position: static;
        margin-top: 16px;
        display: flex;
        justify-content: center;
    }








    .org-usg__side .org-node__item {
        max-width: 100%;
    }








    /* 공유대학 2.0 조직도: 하단 3개 컬럼 세로 스택 */
    .org-usg__bottom {
        flex-direction: column;
        align-items: center;
    }








    .org-usg__col {
        max-width: 100%;
        width: 100%;
    }








    /* 모바일: 조직도 텍스트 사이즈 14px */
    .org-node__item {
        font-size: 14px;
    }








    .org-panel__head {
        font-size: 14px;
    }
}








/* PC 이상에서는 plus 조직도의 가로 라인 숨김 (모바일 전용) */
/* 조직도 반응형: 고정폭보다 작으면 연결선(::before/::after) 숨김 */
@media screen and (max-width: 1031px) {








    .org-node--team::before,
    .org-node--team::after,
    .org-node--office::after,
    .org-bottom::before,
    .org-panel--blue::before,
    .org-panel--green::before,
    .org-right__top::before,
    .org-right__top::after,
    .org-committees::before,
    .org-node--committee2::before,
    .org-panel--blue .org-panel__head::after,
    .org-panel--green .org-panel__head::after {
        display: none;
    }
}








@media screen and (max-width: 1200px) {
    .org-chart {
        width: 100%;
    }


    .org-chart--rise-gnu::after{
        display: none;
    }






    .org-top {
        flex-direction: column;
        align-items: center;
    }








    .org-center {
        width: 100%;
        max-width: 100%;
        position: relative;
    }








    /* 모바일: org-center 한 줄로 길게 (요소별 라인 대신) */
    .org-center::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
        width: 1px;
        height: 100%;
        background: #cccccc;
        pointer-events: none;
        z-index: 0;
    }








    .org-node--president::after,
    .org-node--team::before,
    .org-node--team::after,
    .org-node--office::after,
    .org-bottom::before,
    .org-panel--blue::before,
    .org-panel--green::before,
    .org-panel--blue .org-panel__head::after,
    .org-panel--green .org-panel__head::after {
        display: none;
    }








    .org-right {
        margin-left: 0;
        margin-top: 0;
        width: 100%;
        max-width: 280px;
        align-items: center;
        position: relative;
    }








    /* 모바일: org-right 한 줄로 길게 */
    .org-right::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
        width: 1px;
        height: 100%;
        background: #cccccc;
        pointer-events: none;
        z-index: 0;
    }








    .org-right__top {
        flex-direction: column;
        width: 100%;
        align-items: center;
        justify-content: center;
    }








    .org-right__mid {
        flex-direction: column;
    }








    .org-committees {
        margin-left: 0;
    }








    .org-node__item {
        width: 100%;
        white-space: normal;
    }








    .org-bottom {
        flex-direction: column;
        margin-top: 0;
        width: 320px;
        margin-left: auto;
        margin-right: auto;
    }








    .org-panel__body {
        min-height: 0;
    }








    .org-right__top::before,
    .org-right__top::after,
    .org-committees::before,
    .org-node--committee2::before {
        display: none;
    }
}








@media screen and (max-width: 480px) {
    .org-page {
        padding: 20px 12px 28px;
    }








    .org-node__item {
        padding: 10px 16px;
    }








    .org-node--committee2 .org-node__item {
        min-width: 0;
    }








    .org-panel__head {
        padding: 12px 16px;
    }








    .org-panel__body {
        padding: 16px;
    }
}








.img-gap {
    margin: 30px auto;
    max-width: 100%;
}








.sub2-1-3 #bsns-sec1 img{
    max-width: 100%;
}








.sub2-1-3 .logo-list {
    display: flex;
    gap: 20px;
}








.sub2-1-3 .logo-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
    margin-top: 20px;
}








.sub2-1-3 .logo-list li {
    border: 1px solid #eaeaea;
    padding: 10px;
    border-radius: 10px;
    width: calc(25% - 15px);
    /* 4 per row with gap */
    display: flex;
    justify-content: center;
    align-items: center;
}








.check-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}








.check-list li {
    border-radius: 10px;
    border: 1px solid #eaeaea;
    padding: 10px 10px 10px 60px;
    background: url("../images/sub/check-icon.svg") no-repeat 20px center;
    word-break: keep-all;
}








.partDepart-area {
    border: 2px solid #0071CE;
    background-color: #EEFAFF;
    border-radius: 20px;
    padding: 40px;
    display: flex;
    gap: 60px;
    align-items: flex-start;
}








.partDepart-left {
    flex: 0 0 auto;
    display: flex;
    gap: 30px;
    padding-right: 60px;
    border-right: 1px solid #E3E3E3;
}








.partDepart-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}








.partDepart-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #fff;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}








.partDepart-label {
    font-size: 14px;
    color: #999;
    font-family: 'SCDream';
    font-weight: 300;
}








.partDepart-number {
    font-size: 24px;
    font-weight: 700;
    color: #0071CE;
    font-family: 'SCDream';
    font-weight: 100;
}








.partDepart-date {
    font-size: 12px;
    color: #999;
    margin-top: 4px;
}








.partDepart-right {
    flex: 1;
}








.partDepart-title {
    font-size: 24px;
    margin-bottom: 20px;
    font-family: 'SCDream';
}








.partDepart-list {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}








/* =========================
   BSNS 테이블 영역
   ========================= */








.bsns-table-area {
    position: relative;
    margin-top: 30px;
}
















.bsns-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    min-width: 800px;
    font-size: 17px;
    word-break: break-all;
}
















.bsns-table th,
.bsns-table td {
    padding: 16px 20px;
    text-align: left;
    border-right: 1px solid #E3E3E3;
}








.bsns-table th {
    border-right: 1px solid #528fc0;
}








.bsns-table thead th {
    background-color: #66ace5;
    color: #fff;
    border-bottom: none;
}








.bsns-table thead th:first-child,
.bsns-table tbody td:first-child {
    border-left: none;
}








.bsns-table thead th:last-child,
.bsns-table tbody td:last-child {
    border-right: none;
}








.bsns-table tbody td {
    color: #444;
    line-height: 1.6;
    border-bottom: 1px solid #E3E3E3;
    word-break: keep-all;
}








.bsns-table tbody tr:nth-child(even) {
    background-color: #FAFAFA;
}








.vtc-md {
    vertical-align: middle;
}








/* RISE 수행체계 표 (1_3.조직도) */
.bsns-table--rise-system {
    min-width: 960px;
}


.bsns-table--rise-system tbody tr:nth-child(even) {
    background-color: #fff;
}




.bsns-table--rise-system thead th {
    text-align: center;
}


.bsns-table--rise-system thead th:nth-child(4) {
    text-align: left;
}








.bsns-table--rise-system thead th:last-child,
.bsns-table--rise-system tbody td:last-child {
    white-space: nowrap;
    word-break: normal;
}








.bsns-table--rise-system .cell-center {
    text-align: center;
}


/* 위치 열: 전화번호 열 직전 셀(행마다 rowspan 등으로 칸 수가 달라도 nth-last-child(2)로 고정) */
.bsns-table--rise-system tbody td.cell-center:nth-last-child(2) {
    text-align: left;
}








.bsns-table--rise-system .rise-cell-project {
    background-color: #e8eef7;
    font-weight: 600;
    width: 200px;
}








.bsns-table--rise-system .rise-cell-detail {
    text-align: left;
}








.bsns-table--rise-system .rise-sub {
    margin: 0 0 8px;
    font-weight: 600;
    color: #333;
}








.bsns-table--rise-system .rise-badge {
    display: inline-block;
    margin-right: 4px;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
    vertical-align: middle;
}








.bsns-table--rise-system .rise-badge--consortium {
    background-color: #0099D9
}








.bsns-table--rise-system .rise-badge--designated {
    background-color: #1A2E5B;
}


/* 모바일 슬라이드 안내 팝업 */
.table-slide-hint {
    display: none;
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #0071CE;
    color: #fff;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
}








.table-slide-hint::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #0071CE;
}








.table-slide-hint.show {
    display: block;
    animation: slideDown 0.3s ease-out;
}








.table-hint-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    padding: 0;
    margin-left: 12px;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.2s;
}








.table-hint-close:hover {
    opacity: 1;
}








.slide-arrow {
    display: inline-block;
    animation: slideLeftRight 1.5s ease-in-out infinite;
}








@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-10px);
    }








    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}








@keyframes slideLeftRight {








    0%,
    100% {
        transform: translateX(0);
    }








    50% {
        transform: translateX(-8px);
    }
}
















.sub2-1-4 .card1 {
    background-image: url("../images/sub/sub-2-1-4-img-1.png");
}








.sub2-1-4 .card2 {
    background-image: url("../images/sub/sub-2-1-4-img-2.png");
}








.sub2-1-4 .card3 {
    background-image: url("../images/sub/sub-2-1-4-img-3.png");
}








.sub2-1-4 #bsns-sec6 img{
    width: 862px;
    max-width: 100%;
}








.bd-right {
    border-right: 1px solid #E3E3E3 !important;
}
















.sub2-1-4 .org-img {
    width: 810px;
    max-width: 100%;
}








.img-bdbox {
    margin: 30px auto;
}








/*.sub2-1-4 #bsns-sec6 .img-bdbox img {*/
/*    width: 862px;*/
/*    max-width: 100%;*/
/*}*/








/*.sub2-2 #bsns-sec4 .cbox-row {*/
/*    margin-top: 80px;*/
/*}*/








.sub2-2-1 #bsns-sec2 .card1 {
    background-image: url("../images/sub/sub-2-2-1-img.png");
}








.sub2-2-1 #bsns-sec2 .img {
    width: 924px;
    max-width: 100%;
}








.sub2-2-2 #bsns-sec2 .img {
    width: 919px;
    max-width: 100%;
}








.sub2-2-2 #bsns-sec3 .img {
    width: 938px;
    max-width: 100%;
}








.sub2-2-2 #bsns-sec5 .org-img {
    width: 479px;
    max-width: 100%;
}








.sub2-3 #bsns-sec5 .org-img {
    width: 880px;
    max-width: 100%;
}








.sub2-2 #bsns-sec2 .check-list {
    margin-bottom: 30px;
}








.link-btn{
    /* 아이콘 + 텍스트 가로/세로 가운데 정렬 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    line-height: 1.2;
}








.sub3-1-1-1 #bsns-sec2 .img-1 {
    width: 897px;
    margin-top: 30px;
    max-width: 100%;
}








.sub3-1-1-1 #bsns-sec2 .img-2 {
    width: 891px;
    margin-top: 30px;
    max-width: 100%;
}
















.sub3-1-2 #bsns-sec2 .img-1 {
    width: 897px;
    margin-top: 30px;
    max-width: 100%;
}








.sub3-1-2 #bsns-sec2 .img-2 {
    width: 893px;
    margin-top: 30px;
    max-width: 100%;
}








.sub3-1-2 #bsns-sec3 .card1 {
    background-image: url("../images/sub/sub-3-1-2-img-3.png");
}








.sub3-1-2 #bsns-sec3 .card2 {
    background-image: url("../images/sub/sub-3-1-2-img-4.png");
}








.sub3-1-2 #bsns-sec3 .card3 {
    background-image: url("../images/sub/sub-3-1-2-img-5.png");
}








.sub3-1-3 #bsns-sec2 .img-1 {
    width: 891px;
    max-width: 100%;
}








.sub3-1-3 #bsns-sec5 .img {
    width: 936px;
    max-width: 100%;
}








.sub3-2 #bsns-sec2 .img-2 {
    width: 840px;
}








.sub3-2 #bsns-sec2 .img-3 {
    width: 854px;
}








.sub3-2 #bsns-sec2 .img-4 {
    width: 683px;
}








.sub4-2-1 #bsns-sec2 .img-1 {
    width: 891px;
}








.sub4-2-1 .cooperation-img {
    display: block;
    width: auto;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}








.sub4-2-1 #bsns-sec2 .img-2 {
    width: 975px;
}








.sub2-3 #bsns-sec2 .img-1 {
    width: 891px;
}








.sub2-3 #bsns-sec2 .img-2 {
    width: 100%;
    margin-bottom: 20px;
}








.sub2-3 #bsns-sec4 .img-3 {
    width: 953px;
}








.sub2-3 #bsns-sec6 .bsns-table {
    border-top: 1px solid #528fc0;
}








.sub2-3 #bsns-sec6 th {
    background-color: #66ace5;
    color: #fff;
}








.sub2-3 #bsns-sec6 th:not(:last-child) {
    border-bottom: 1px solid #528fc0;
}








.sub3-1 #bsns-sec2 .img-1 {
    width: 891px;
    max-width: 100%;
    margin: 0 auto;
    display: block;
}








.sub3-1 #bsns-sec4 .img-2 {
    width: 980px;
    max-width: 100%;
}








.sub3-1 #bsns-sec5 .bsns-table td strong {
    display: block;
    margin-bottom: 10px;
}








.link-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid var(--blue);
    color: var(--blue);
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 20px;
}








.link-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--blue);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
    z-index: -1;
}








.link-btn:hover::before {
    transform: scaleX(1);
}








.link-btn {
    background-color: transparent;
    z-index: 0;
    transition: color .35s ease;
}








.link-btn:hover {
    color: #fff;
}








.link-btn.usg {
    border-color: #c9c9c9;
}








.link-btn.usg .logo {
    display: inline-block;
    background-image: url("../images/sub/univ-img02.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 140px;
    height: 30px;
    transform: translateY(0);
}








.link-btn.usg:hover .logo {
    background-image: url("../images/sub/univ-img02-w.png");
}








.link-btn.usg .ico-openin{
    background-image: url("../images/sub/ico-openin-333.svg");
}








.link-btn .ico-openin {
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url("../images/sub/ico-openin.svg");
    background-size: 21px;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(0);
}








/* sub3-1에서만 아이콘 세로 중앙 정렬 */
.sub3-1 .link-btn .ico-openin{
    transform: translateY(0);
}








.link-btn:hover .ico-openin {
    background-image: url("../images/sub/ico-openin-w.svg");
}








.subLocation .top {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    margin-bottom: 30px;
}








.subLocation .top h2 {
    font-size: 24px;
    font-weight: 700;
    font-family: 'SCDream';
    margin-bottom: 0;
}








.subLocation .top ul {
    display: flex;
    gap: 0 10px;
}








.subLocation .top ul li a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: 999px;
    border: 1px solid #e3e3e3;
    background-color: #fff;
    text-decoration: none;
    color: #222;
    font-size: 15px;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}








.subLocation .top ul li a::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}








.subLocation .top ul li.naver a::before {
    background-image: url("../images/sub/btn-map-nv.svg");
}








.subLocation .top ul li.kakao a::before {
    background-image: url("../images/sub/btn-map-kko.svg");
}








.subLocation .top ul li a:hover {
    border-color: #ccc;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
}








.subLocation .map-area {
    width: 100%;
    height: 550px;
    background-color: #9095a0;
}








.sub2-1-2 #bsns-sec2 .img-1 {
    width: 895px;
    max-width: 100%;
}








.sub4-2-4 #bsns-sec4 .org-img {
    width: auto;
}








.sub4-2-2 #bsns-sec2 .bsns-vision-area img,
.sub4-2-6 #bsns-sec2 .bsns-vision-area img {
    width: auto !important;
}
























.sub4-2-2 #bsns-sec4>ul,
.sub4-2-6 #bsns-sec4>ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
}








.sub4-2-2 #bsns-sec4>ul li,
.sub4-2-6 #bsns-sec4>ul li {
    border: 1px solid #ccc;
    border-radius: 12px;
    padding: 10px 20px;
    flex: 0 0 22%;
    max-width: 25%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}








@media screen and (max-width: 768px) {
    .sub4-2-2 #bsns-sec4>ul li {
        flex: 0 0 30%;
        max-width: 30%;
    }
}








.sub4-2-2 #bsns-sec4>ul li img,
.sub4-2-6 #bsns-sec4>ul li img {
    height: 29px;
}








@media screen and (max-width: 768px) {
    .sub4-2-2 #bsns-sec4>ul li img {
        height: auto;
        width: 100%;
    }
}








.sub3-1-4 #bsns-sec6 table {
    border-top: 1px solid #528fc0;
}








.sub3-1-4 #bsns-sec6 .bsns-table th {
    border-right: 1px solid #E3E3E3;
    border-bottom: 1px solid #528fc0;
    background-color: #66ace5;
    color: #fff;
    text-align: center;
}
















.subRiseintro {
    padding-bottom: 0 !important;
}








.subRiseintro .sec-1 {
    position: relative;
    padding-top: 20px;
    padding-bottom: 100px;
    background-color: #fff;
}








.subRiseintro .sec-1 .tit-box {
    text-align: center;
    margin: 0 auto 50px auto;
}








.subRiseintro .sec-1 .title {
    font-size: 2rem;
    font-weight: 700;
    font-family: 'SCDream';
    margin-bottom: 20px;
}








.subRiseintro .sec-1 .sub-title {
    font-family: 'SCDream';
}
















.subRiseintro .sec-1 .simbol-img,
.subRiseintro .sec-1 .img-1 {
    display: block;
    margin: 0 auto;
}








.subRiseintro .sec-1 .img-1 {
    margin: 80px auto !important;
    max-width: 100%;
}








.subRiseintro .sec-1 .simbol-img {
    max-width: 50%;
    margin-bottom: 50px !important;
}








.subRiseintro .sec-1 .txt {
    margin-top: 50px;
}








.subRiseintro .sec-1 .txt-box {
    position: relative;
    border: 1px solid #0071CE;
    background-color: #E6F1F6;
    padding: 50px 50px 50px 200px;
    border-radius: 20px;
    margin-top: 50px;
}








.subRiseintro .sec-1 dl {
    display: flex;
}








.subRiseintro .sec-1 dl:not(:last-child) {
    margin-bottom: 20px;
}








.subRiseintro .sec-1 dt {
    width: 200px;
}








.subRiseintro .sec-1 dd {
    flex: 1;
}








.subRiseintro .sec-1 .crt-img {
    position: absolute;
    bottom: 0;
    right: 0;
}








.bd-top-line {
    border-top: 1px solid #000 !important;
}








.sub_ready .inner{
    text-align: center;
    width: 800px;
    max-width: 100%;
}








.sub_ready .inner img{
    display: block;
    width: 50%;
    margin: 0 auto 50px auto;
    animation: subReadyBounceUp 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}








@keyframes subReadyBounceUp{
    0%{
        opacity: 0;
        transform: translateY(80px) scale(0.96);
    }
    60%{
        opacity: 1;
        transform: translateY(-14px) scale(1.01);
    }
    80%{
        transform: translateY(6px) scale(0.995);
    }
    100%{
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}








.sub_ready .inner h1{
    border: 1px solid #eaeaea;
    padding: 30px;
    font-family: 'SCDream';
    margin-bottom: 30px;
    font-size: 1.8rem;
    border-radius: 10px;
}








.sub_ready .inner h1 span{
    color: #1A2E5B;
}








.sub_ready .inner p{
    font-size: 1.15rem;
}








.vision-top-area{
    position: relative;
    padding: 200px 20px;
    background: url("../images/main/sec-2-bg.png") bottom center / cover no-repeat;
    text-align: center;
    color: #fff;
}








.vision-top-area .box{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}








.vision-top-area .logo{
    width: 450px;
    max-width: 80%;
}
















.vision-top-area p{
    font-family: 'SCDream';
    margin-top: 40px;
    font-size: 1.5rem;
}








.vision-top-area .img{
    position: absolute;
    top: 10%;
    right: 10%;
    will-change: transform;
}








/* vision-top-area ↔ 본문 연결 세로선 (히어로 하단과 겹침 · 스크롤 드로잉 GSAP scaleY) */
.visiongoal .vision-connector {
    position: relative;
    height: 120px;
    margin: -60px auto 0;
    max-width: var(--layoutwidth, 1400px);
    pointer-events: none;
    z-index: 3;
}








.visiongoal .vision-connector__line {
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    width: 3px;
    height: 100%;
    margin-left: -1.5px;
    border-radius: 2px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.45) 0%, #b3b3b3 38%, #fbf2f2 100%);
    transform: scaleY(0);
    transform-origin: top center;
    will-change: transform;
}








@media (prefers-reduced-motion: reduce) {
    .visiongoal .vision-connector__line {
        transform: scaleY(1);
    }
}








@media screen and (max-width: 768px) {
    .visiongoal .vision-connector {
        height: 88px;
        margin-top: -44px;
    }








    .visiongoal .vision-connector__line {
        width: 2px;
        margin-left: -1px;
    }
}
















.visiongoal .section-01 {
    padding: 72px 0 96px;
}








.visiongoal .section-01 .lead {
    margin: 0 auto 40px;
    text-align: center;
    font-family: 'SCDream';
}








.visiongoal .section-01 .gwrap {
    width: 100%;
}








.visiongoal .section-01 .grid {
    display: grid;
    grid-template-columns: minmax(152px, 1.05fr) repeat(4, minmax(0, 1fr));
    grid-template-rows: auto auto auto;
    gap: 14px 16px;
    align-items: stretch;
}








.visiongoal .section-01 .cat {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 22px 14px;
    border-radius: 18px;
    color: #fff;
    font-weight: 700;
    line-height: 1.45;
}








.visiongoal .section-01 .cat.proj {
    background: #0091d4;
}








.visiongoal .section-01 .cat.strat {
    background: #0066c3;
}








.visiongoal .section-01 .box {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 14px;
    border-radius: 18px;
    border: 2px solid #0066c3;
    color: #0066c3;
    font-weight: 600;
    line-height: 1.5;
    word-break: keep-all;
}








.visiongoal .section-01 .box.top {
    background: #fff;
    border-color: rgba(0, 102, 195, 0.45);
}








.visiongoal .section-01 .box.bottom {
    background: #ebefff;
}








.visiongoal .section-01 .spacer {
    min-height: 1px;
}








.visiongoal .section-01 .sym {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
}








.visiongoal .section-01 .sym span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #0066c3;
    color: #fff;
    font-size: 1.15rem;
    line-height: 1;
    font-weight: 400;
}








.rise-intro .section-01{
    position: relative;
    padding: 150px 0;
}








.rise-intro .section-01 .inner{
    position: relative;
}








.rise-intro .section-01 .simbol{
    position: absolute;
    right: clamp(1rem, 3vw, 3rem);
    top: 0;
    width: clamp(120px, 16vw, 220px);
    height: auto;
    transform: translateY(-50%);
    transform-origin: center center;
    opacity: 0.35;
    pointer-events: none;
    z-index: 1;
    animation: rise-simbol-spin 18s linear infinite;
}








.rise-intro .section-01 .rise-txt{
    position: absolute;
    top: -60%;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: -1;
}








.rise-intro .section-01 h1{
    font-size: clamp(1.15rem, 5.4vw, 4.5rem);
    font-weight: 700;
    font-family: 'SCDream';
    line-height: 1.2;
    margin-bottom: 20px;
    word-break: keep-all;
    color: #333;
}








.rise-intro .section-01 h1 .rise-h1-char {
    display: inline;
    color: #333;
}








.rise-intro .section-01 p{
    font-size: 1.8rem;
    word-break: keep-all;
    color: #666;
}








@keyframes rise-simbol-spin {
    from {
        transform: translateY(-50%) rotate(0deg);
    }
    to {
        transform: translateY(-50%) rotate(360deg);
    }
}








/* RISE 소개 section-02: 세로 스크롤 → 가로 패널(01·02·03) */
.rise-intro .section-02 {
    --rise-h2-line: #fff;
    --rise-h2-panel-max: 1200px;
    /* 단선·도트·스파인 공통 위로 보정 — 변수 없으면 translateY가 무효로 풀림 */
    --rise-h2-connector-nudge: -32px;
    position: relative;
    background: url("../images/main/sec-3-bg.png") center / cover no-repeat;
    overflow: hidden;
}








.rise-intro .section-02 .rise-h2-viewport {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
}








/* 참고 레이아웃: 와이어프레임형 그리드 오버레이 */
.rise-intro .section-02 .rise-h2-viewport::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0.35;
    background-image:
            linear-gradient(rgba(0, 145, 212, 0.07) 1px, transparent 1px),
            linear-gradient(90deg, rgba(0, 145, 212, 0.06) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 75% 65% at 50% 45%, #000 20%, transparent 72%);
}








.rise-intro .section-02 .rise-h2-track {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    will-change: transform;
    gap: clamp(1.25rem, 3.5vw, 3rem);
    padding-left: clamp(1.25rem, 5vw, 3.75rem);
    padding-right: clamp(1.25rem, 5vw, 3.75rem);
    box-sizing: border-box;
}








/* 패널(01·02·03)을 가로로 잇는 연속 라인 — JS로 --rise-h2-spine-y 정렬 */
.rise-intro .section-02 .rise-h2-spine {
    position: absolute;
    left: 0;
    top: var(--rise-h2-spine-y, 46%);
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
    border-radius: 1px;
    background: rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.3) !important;
    pointer-events: none;
    z-index: 1;
}








.rise-intro .section-02 .rise-h2-panel {
    position: relative;
    flex: 0 0 auto;
    width: min(var(--rise-h2-panel-max), calc(100vw - clamp(2.5rem, 12vw, 7.5rem)));
    max-width: var(--rise-h2-panel-max);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    padding: clamp(2.5rem, 7vh, 4.5rem) 0;
    z-index: 2;
}








.rise-intro .section-02 .rise-h2-panel-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}








.rise-intro .section-02 .rise-h2-head {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-start;
    gap: 0 1.5rem;
    margin-bottom: 0;
}








.rise-intro .section-02 .rise-h2-text {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}








.rise-intro .section-02 .rise-h2-num {
    flex: 0 0 auto;
    font-family: 'SCDream', sans-serif;
    font-size: clamp(3.5rem, 11vw, 7.5rem);
    font-weight: 700;
    line-height: 1;
    color: #fff;
    letter-spacing: -0.02em;
}








.rise-intro .section-02 .rise-h2-connector {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 2rem;
    max-width: min(22rem, 32vw);
    margin-top: 0.35em;
    transform: translateY(var(--rise-h2-connector-nudge, -32px));
}








.rise-intro .section-02 .rise-h2-line {
    display: block;
    flex: 1 1 auto;
    height: 2px;
    min-width: 1.5rem;
}








.rise-intro .section-02 .rise-h2-dot {
    position: relative;
    z-index: 0;
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50px;
    margin-left: -1px;
    background: #fff !important;
}








.rise-intro .section-02 .rise-h2-dot::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 50%;
    width: 28px;
    height: 28px;
    margin: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.32);
    transform: translate(-50%, -50%) scale(1);
    transform-origin: center center;
    pointer-events: none;
    animation: rise-h2-dot-ripple 2.4s ease-out infinite;
}








@keyframes rise-h2-dot-ripple {
    0% {
        transform: translate(-50%, -50%) scale(0.9);
        opacity: 0.55;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.85);
        opacity: 0;
    }
}








#sub.rise-intro{
    padding-bottom: 0;
}








.rise-intro .section-02 .rise-h2-title {
    width: 100%;
    margin: 0;
    font-family: 'SCDream', sans-serif;
    font-size: clamp(1.35rem, 2.5vw, 2.65rem);
    font-weight: 700;
    line-height: 1.35;
    color: #fff;
    word-break: keep-all;
}








.rise-intro .section-02 .rise-h2-title .hl {
    font-style: normal;
    color: #0091d4;
}








.rise-intro .section-02 .rise-h2-desc {
    margin: 0.85rem 0 0;
    max-width: 52rem;
    width: 100%;
    text-align: left;
    font-size: clamp(0.95rem, 1.25vw, 1.2rem);
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.78);
    word-break: keep-all;
}








.rise-intro .section-03 {
    padding: 200px 0 100px 0;
    overflow: hidden;
}








.section-03 .rise-logo{
    width: 350px;
    max-width: 100%;
    margin-bottom: 100px;
}








.rise-intro .section-03 .top-text{
    text-align: center;
}








.rise-intro .section-03 .top-text h1{
    font-size: 4rem;
    font-family: 'SCDream';
}








.rise-intro .section-03 .top-text h1 span{
    color: #333;
}








.rise-intro .section-03 .rise-marquee-wrap {
    display: grid;
    row-gap: 18px;
}








.rise-intro .section-03 .rise-marquee-row {
    display: flex;
    width: max-content;
    flex-wrap: nowrap;
    will-change: transform;
}








.rise-intro .section-03 .rise-marquee-row:hover {
    animation-play-state: paused;
}








.rise-intro .section-03 .rise-marquee-track {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2.6vw, 2.2rem);
    padding-right: clamp(1rem, 2.4vw, 2rem);
}








.rise-intro .section-03 .rise-marquee-track .item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: clamp(110px, 13vw, 165px);
    height: clamp(44px, 4.4vw, 56px);
    padding: 0 1.2em;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    color: #333;
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    font-weight: 600;
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(2px);
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}








.rise-intro .section-03 .rise-marquee-track .item:hover,
.rise-intro .section-03 .rise-marquee-track .item:focus-visible {
    background: #0071CE;
    border-color: #0071CE;
    color: #fff;
    outline: none;
    box-shadow: 0 0 10px rgba(0, 113, 206, 0.3);
}








.rise-intro .section-03 .row-top {
    animation: rise-marquee-right 30s linear infinite;
}








.rise-intro .section-03 .row-bottom {
    animation: rise-marquee-left 30s linear infinite;
}








@keyframes rise-marquee-right {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0%);
    }
}








@keyframes rise-marquee-left {
    from {
        transform: translateX(0%);
    }
    to {
        transform: translateX(-50%);
    }
}








.rise-intro .section-04 {
    position: relative;
    height: 220vh;
    background: transparent;
}








.rise-intro .section-04 .rise-s4-pin {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
}








.rise-intro .section-04 .rise-s4-media {
    position: relative;
    width: 80vw;
    height: 80vh;
    margin: 10vh auto 0;
    overflow: hidden;
    border-radius: 20px;
    will-change: width, height, margin, border-radius, transform;
}








.rise-intro .section-04 .rise-s4-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
}








.rise-intro .section-04 .rise-s4-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}








.rise-intro .section-04 .rise-s4-content {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(1120px, calc(100% - 4rem));
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    z-index: 2;
    opacity: 0;
}








.rise-intro .section-04 .rise-s4-content p {
    margin: 0;
    font-size: clamp(1rem, 1.35vw, 1.35rem);
    line-height: 1.85;
    font-weight: 400;
    word-break: keep-all;
}








@media (prefers-reduced-motion: reduce) {
    .rise-intro .section-02 .rise-h2-dot::after {
        animation: none;
        opacity: 0;
    }








    .rise-intro .section-03 .row-top,
    .rise-intro .section-03 .row-bottom {
        animation: none;
        transform: none;
    }








    .rise-intro .section-04 {
        height: auto;
    }








    .rise-intro .section-04 .rise-s4-pin {
        position: relative;
        height: auto;
    }








    .rise-intro .section-04 .rise-s4-media {
        width: 100%;
        height: auto;
        margin: 0;
        border-radius: 0;
    }








    .rise-intro .section-04 .rise-s4-media img {
        aspect-ratio: 16 / 9;
    }








    .rise-intro .section-04 .rise-s4-overlay {
        background: rgba(0, 0, 0, 0.34);
    }








    .rise-intro .section-04 .rise-s4-content {
        opacity: 1;
    }








    .rise-intro .section-02 .rise-h2-track {
        flex-direction: column;
        transform: none !important;
    }








    .rise-intro .section-02 .rise-h2-panel {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding: 3rem 0;
    }








    .rise-intro .section-02 .rise-h2-viewport {
        min-height: 0;
    }
}




.rise-intro .section-04 .logo-img{
    width: 450px !important;
    max-width: 80%;
    margin: 0 auto 50px auto;
}


.rise-intro .section-04 ul li{
    background-color: #fff;
    padding: 30px 20px;
    border-radius: 10px;
    margin-bottom: 10px;
    font-size: 1.2rem;
    font-weight: 500;
    color: #333;
    line-height: 1.5;
    word-break: keep-all;
}


.bsns-page p{
    word-break: keep-all;
}


.org-work__base-subtitle{
    text-align: center;
}


@media screen and (max-width: 1200px) {
    .rise-intro .section-02 {
        overflow: visible;
        padding: 20px 0;
    }








    .rise-intro .section-02 .rise-h2-viewport {
        min-height: 0;
        overflow: visible;
    }








    .rise-intro .section-02 .rise-h2-track {
        display: block;
        transform: none !important;
        padding-left: 1rem;
        padding-right: 1rem;
    }








    .rise-intro .section-02 .rise-h2-spine {
        display: none;
    }








    .rise-intro .section-02 .rise-h2-panel {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding: 1.35rem 0;
    }








    .visiongoal .section-01 .gwrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
        margin-left: -1rem;
        margin-right: -1rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }








    .visiongoal .section-01 .grid {
        min-width: 920px;
    }
}








@media screen and (max-width: 768px) {








    .rise-intro .section-01 {
        padding: 150px 0 50px;
    }








    .rise-intro .section-01 .rise-txt {
        position: absolute;
        top: -68%;
    }








    .rise-intro .section-01 .simbol{
        right: 2rem;
        top: -70%;
        width: 110px;
        opacity: 0.22;
    }








    .rise-intro .section-01 p{
        font-size: 1rem;
    }








    .rise-intro .section-02 .rise-h2-head {
        flex-wrap: wrap;
        row-gap: 0.75rem;
    }








    .rise-intro .section-02 .rise-h2-connector {
        order: 3;
        flex: 1 0 100%;
        max-width: none;
        margin-left: 0;
    }








    .rise-intro .section-02 .rise-h2-dot,
    .rise-intro .section-02 .rise-h2-dot::after {
        display: none;
    }








    .rise-intro .section-02 .rise-h2-text {
        flex: 1 1 calc(100% - 5rem);
        min-width: 0;
    }








    .rise-intro .section-03 {
        padding: 56px 0 0;
    }








    .rise-intro .section-03 .top-text h1{
        font-size: 2rem;
        line-height: 1.35;
        margin-bottom: 28px;
    }








    .rise-intro .section-04 .rise-s4-content {
        width: calc(100% - 2rem);
    }








    .rise-intro .section-04 .rise-s4-content p {
        font-size: 0.95rem;
        line-height: 1.75;
    }








    .visiongoal .section-01 {
        padding: 48px 0 64px;
    }








    .visiongoal .section-01 .lead {
        font-size: 1rem;
        margin-bottom: 28px;
    }








    .visiongoal .section-01 .grid {
        min-width: 780px;
        gap: 10px 10px;
    }








    .visiongoal .section-01 .cat {
        font-size: 0.85rem;
        padding: 16px 10px;
    }








    .visiongoal .section-01 .box {
        font-size: 0.8rem;
        padding: 14px 10px;
    }


    .org-life__node--center .org-node__item img{
        width: 50%;
    }
}








/* 비전·목표 section-02: 주요목표 */
.visiongoal .section-02 {
    position: relative;
    padding: 64px 0 88px;
    margin-top: 8px;
}








.visiongoal .section-02::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    top: 0;
    bottom: 0;
    background: #f4f5f7;
    pointer-events: none;
}








.visiongoal .section-02 > * {
    position: relative;
    z-index: 1;
}








.visiongoal .section-02 .title {
    margin: 0 0 36px;
    font-size: 1.35rem;
    font-weight: 700;
    color: #111;
}








.visiongoal .section-02 .mark {
    margin-right: 6px;
    font-weight: 700;
    color: #111;
}








.visiongoal .section-02 .list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 22px;
}








.visiongoal .section-02 .item {
    display: flex;
    align-items: center;
    gap: 18px;
}








.visiongoal .section-02 .label {
    position: relative;
    flex: 0 1 300px;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 22px 28px;
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
}








.visiongoal .section-02 .sub {
    letter-spacing: 0.04em;
}








.visiongoal .section-02 .item.i1 .label {
    background-color: #0070c0;
}








.visiongoal .section-02 .item.i2 .label {
    background: #00a0e3;
    background-image: url("../images/sub/simbol-img-2.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}








.visiongoal .section-02 .item.i3 .label {
    background-color: #2e4072;
    background-image: url("../images/sub/simbol-img-2.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
}








.visiongoal .section-02 .item.i4 .label {
    background: #00c1a3;
}








.visiongoal .section-02 .sym {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}








.visiongoal .section-02 .sym span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1;
    font-weight: 400;
}








.visiongoal .section-02 .item.i1 .sym span {
    background: #0070c0;
}








.visiongoal .section-02 .item.i2 .sym span {
    background: #00a0e3;
}








.visiongoal .section-02 .item.i3 .sym span {
    background: #2e4072;
}








.visiongoal .section-02 .item.i4 .sym span {
    background: #00c1a3;
}








.visiongoal .section-02 .desc {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 16px 32px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e0e2e6;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}








.visiongoal .section-02 .vision{
    margin-top: 100px;
}








@media screen and (max-width: 1024px) {
    .visiongoal .section-02 .item {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        gap: 14px 16px;
        align-items: center;
    }








    .visiongoal .section-02 .label {
        grid-column: 1;
        grid-row: 1;
        flex: none;
        max-width: none;
    }








    .visiongoal .section-02 .sym {
        grid-column: 2;
        grid-row: 1;
    }








    .visiongoal .section-02 .desc {
        grid-column: 1 / -1;
        grid-row: 2;
        flex: none;
    }
}








@media screen and (max-width: 768px) {
    .visiongoal .section-02 {
        padding: 44px 0 56px;
    }








    .visiongoal .section-02 .title {
        font-size: 1.15rem;
        margin-bottom: 24px;
    }








    .visiongoal .section-02 .list {
        gap: 18px;
    }








    .visiongoal .section-02 .item {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }








    .visiongoal .section-02 .label {
        grid-column: 1;
        grid-row: 1;
        padding: 14px 20px;
        font-size: 0.9rem;
    }








    .visiongoal .section-02 .sym {
        grid-column: 1;
        grid-row: 2;
        justify-self: center;
    }








    .visiongoal .section-02 .desc {
        grid-column: 1;
        grid-row: 3;
        padding: 14px 20px;
        font-size: 0.9rem;
    }


    .vision-top-area p{
        font-size: 1.2rem;
    }
}








/* 비전·목표 section-03: 핵심요소 카드 */
.visiongoal .section-03 {
    padding: 56px 0 88px;
}








.visiongoal .section-03 .line-title {
    margin-bottom: 28px;
}








.visiongoal .section-03 .card-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}








.visiongoal .section-03 .card-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 86px 24px;
    border-radius: 26px;
    color: #fff;
}








.visiongoal .section-03 .card-item.blue {
    background: #0072ce;
}








.visiongoal .section-03 .card-item.navy {
    background: #232d5c;
}








.visiongoal .section-03 .card-item.teal {
    background: #00bfa5;
}








.visiongoal .section-03 .point-label {
    margin: 0 0 20px;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    font-family: 'SCDream';
}


.visiongoal .section-03 .point-label .point-word {
    opacity: 0.5;
}








.visiongoal .section-03 .icon-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 150px;
    margin-bottom: 24px;
    overflow: hidden;
}








.visiongoal .section-03 .icon-box img {
    display: block;
    max-width: 100%;
    max-height: 140px;
    width: auto;
    height: auto;
    object-fit: contain;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}








.visiongoal .section-03 .icon-box svg {
    width: 88px;
    height: 88px;
    max-width: 100%;
}








.visiongoal .section-03 .desc-text {
    font-family: "SCDream";
    line-height: 1.55;
    word-break: keep-all;
}




.no-data-area{
    box-shadow: 1px 1px 10px 0 rgba(0, 0, 0, 0.1);
    padding: 100px 0;
    text-align: center;
    font-size: 1.25rem;
    font-weight: 500;
    color: #666;
    border-radius: 20px;
    margin: 50px auto;
}


.no-data-area .img {
    display: block;
    width: 80px;
    margin: 0 auto 30px auto;
    animation: no-data-float 2.4s ease-in-out infinite;
}


.no-data-area p{
    font-family: 'SCDream';
    font-size: 1.25rem;
    color: #666;
}


@keyframes no-data-float {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-9px);
    }
    100% {
        transform: translateY(0);
    }
}


/* =========================
   반응형
   ========================= */








@media screen and (max-width: 1300px) {
    .bsns-inner {
        padding: 0 24px;
    }








    .bsns-layout {
        flex-direction: column;
        gap: 30px;
    }








    .bsns-lnb {
        flex: none;
        position: static;
        width: 100%;
        margin-bottom: 20px;
    }








    .bsns-content {
        flex: none;
        width: 100%;
    }








    .bsns-lnb-list {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        padding: 0;
    }








    .bsns-lnb-list::before {
        display: none;
    }








    .bsns-lnb-list li {
        padding: 0;
        padding-left: 0;
    }








    .bsns-lnb-list li.active::before {
        display: none;
    }








    .bsns-lnb-list a {
        padding: 8px 16px;
        background-color: #f5f5f5;
        border-radius: 6px;
        font-size: 14px;
    }








    .bsns-lnb-list li.active a {
        background-color: #0083d9;
        color: #fff !important;
    }








    .bsns-header-title {
        font-size: 26px;
    }








    .bsns-tabs {
        gap: 0 20px;
    }








    .bsns-tabs li a {
        font-size: 15px;
    }








    .bsns-section {
        margin-bottom: 80px;
    }








    .bsns-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }








    .bsns-hero-logo {
        width: 140px;
        top: -30px;
        right: -30px;
    }








    .bsns-content .txt-rise {
        width: 120px;
    }








    .sub-breadcrumb-wrap {
        padding: 0;
    }








    .sub-breadcrumb-inner {
        padding: 0 24px;
    }








    .sub-breadcrumb {
        min-height: 56px;
    }








    .bc-home {
        padding: 16px;
        margin-right: 24px;
    }








    .bc-btn {
        height: 56px;
        font-size: 13px;
    }








    .bsns-tabs {
        flex-wrap: wrap;
        gap: 8px 12px;
        margin-bottom: 24px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
    }








    .bsns-tabs::-webkit-scrollbar {
        height: 4px;
    }








    .bsns-tabs::-webkit-scrollbar-thumb {
        background-color: #ddd;
        border-radius: 2px;
    }








    .bsns-tabs li a {
        font-size: 14px;
        white-space: nowrap;
    }








    .bsns-content .txt-rise,
    .bsns-hero-logo {
        display: none;
    }








    .bsns-section {
        margin-bottom: 60px;
    }








}








@media screen and (max-width: 1200px) {
    .grt-img {
        width: 50%;
    }
}








@media screen and (max-width: 1024px) {
    #sub {
        padding-top: 50px;
    }








    .sub-visual-area {
        height: 360px;
    }








    .sub-visual-inner {
        padding: 100px 24px 0;
        justify-content: center;
    }








    .sub-visual-title {
        font-size: 32px;
    }




















    .board .inner {
        padding: 60px 24px 100px;
    }








    .board-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }








    .board-header-text {
        max-width: 100%;
    }








    .board-utils {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        width: 100%;
    }
















    .board-search {
        justify-content: flex-start;
    }








    .board-search-input input {
        min-width: 0;
    }








    .subIntro .greet {
        gap: 30px 0;
        flex-direction: column-reverse;
    }








    .subIntro .greet .tbox {
        margin-top: 60px;
    }








    .custom-card p {
        width: 80%;
    }








    .custom-card span,
    .custom-card p {
        font-size: 17px;
    }








    .cards {
        gap: 16px;
        margin-bottom: 32px;
    }








    .custom-card {
        margin-bottom: 16px;
    }








    .sub1-inner {
        padding: 60px 24px 80px;
    }








    .sub1-layout {
        flex-direction: column;
        gap: 40px;
    }








    .sub1-left {
        flex: none;
        width: 100%;
    }








    .sub-1 .rise-txt {
        position: static;
        width: 100px;
        margin: 20px 0;
    }








    .sub1-right {
        flex: none;
        width: 100%;
    }








    .sub1-title {
        font-size: 24px;
    }








    .sub1-item button {
        font-size: 18px;
        padding: 16px 20px;
    }








    .sub1-visual-button {
        font-size: 15px;
        padding: 8px 24px;
    }








    .sub1-desc-title {
        font-size: 18px;
    }








    .sub1-desc-text {
        font-size: 14px;
    }








    .org-work__bases::after {
        width: 574px;
    }
}
















@media screen and (max-width: 900px) {
    .visiongoal .section-03 .card-list {
        grid-template-columns: 1fr;
        gap: 18px;
    }








    .visiongoal .section-03 .card-item {
        padding: 32px 22px 36px;
    }








    .visiongoal .section-03 .icon-box svg {
        width: 76px;
        height: 76px;
    }








    .visiongoal .section-03 .desc-text {
        font-size: 1rem;
    }
}








@media screen and (max-width: 768px) {
    .cards {
        gap: 10px;
        margin-bottom: 24px;
    }








    .custom-card {
        margin-bottom: 10px;
    }








    .board .inner {
        padding: 40px 16px 80px;
    }








    .board-filter {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }








    .board-select {
        width: calc(50% - 4px);
        flex: 0 0 calc(50% - 4px);
    }








    .board-search {
        width: 100%;
        flex-direction: row;
    }








    .board-search-input {
        flex: 1;
        min-width: 0;
    }








    .board-search-input input {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }








    .board-search .search-btn {
        flex-shrink: 0;
    }








    .board-title {
        font-size: 26px;
    }








    .board-desc {
        font-size: 14px;
    }








    .board-list-title {
        font-size: 32px;
    }








    .board-item-link {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        padding: 30px 0;
        position: relative;
    }








    .board-item-date {
        width: auto;
        display: flex;
        align-items: center;
        gap: 12px;
        order: 1;
    }








    .board-item-day {
        font-size: 32px;
    }








    .board-item-ym {
        margin-top: 0;
        font-size: 16px;
    }








    .board-item-main {
        flex: none;
        width: 100%;
        border-left: none;
        padding-left: 0;
        padding-top: 20px;
        order: 2;
    }








    .board-item-title {
        font-size: 18px;
        margin-bottom: 12px;
    }








    .board-item-text {
        font-size: 14px;
        line-height: 1.6;
    }








    .board-item-arrow {
        position: absolute;
        top: 30px;
        right: 0;
        width: 48px;
        height: 48px;
        order: 3;
    }








    .board-item-arrow-icon::before {
        font-size: 16px;
    }








    .gallery-items {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }








    .gallery-item-img {
        height: 200px;
    }








    .gallery-item-info {
        padding: 16px;
    }








    .gallery-item-title {
        font-size: 16px;
        margin-bottom: 10px;
    }








    .gallery-item-date {
        font-size: 13px;
    }








    .sub-visual-inner {
        padding: 70px 16px 0;
        justify-content: center;
    }








    .sub-visual-subtitle {
        font-size: 16px;
    }








    .sub-visual-title {
        font-size: 26px;
    }








    .sub-breadcrumb-wrap {
        padding: 0;
    }








    .sub-breadcrumb-inner {
        padding: 0 16px;
    }








    .sub-breadcrumb {
        flex-wrap: wrap;
        row-gap: 8px;
        border-radius: 0;
        min-height: auto;
    }








    .bc-home {
        padding: 12px;
        margin-right: 12px;
        margin-bottom: 0;
    }








    .bc-btn {
        height: auto;
        padding: 8px 14px;
        font-size: 13px;
        min-height: 44px;
    }








    .bc-dropdown {
        margin-right: 12px;
    }








    .bc-dropdown:last-child {
        margin-left: 0;
    }








    .bc-divider {
        display: none;
    }








    .card-list {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 30px;
    }








    .card-list>div {
        padding: 30px;
    }








    .bc-menu {
        min-width: 180px;
    }








    .board-view-title {
        font-size: 20px;
    }








    .subIntro .greet {
        gap: 30px 0;
    }








    .subIntro .greet .tbox {
        margin-top: 0;
        width: 100%;
    }








    .subIntro .greet img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }








    .top-title {
        margin-bottom: 30px;
    }








    .img-bdbox img {
        width: 100%;
    }








    .bsns-inner {
        padding: 0 16px;
    }








    .bsns-layout {
        flex-direction: column;
        gap: 30px;
    }








    .bsns-lnb {
        flex: none;
        position: static;
        width: 100%;
        margin-bottom: 20px;
    }








    .bsns-content {
        flex: none;
        width: 100%;
    }








    .bsns-lnb-list {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        padding: 0;
    }








    .bsns-lnb-list::before {
        display: none;
    }








    .bsns-lnb-list li {
        padding: 0;
        padding-left: 0;
    }








    .bsns-lnb-list li.active::before {
        display: none;
    }








    .bsns-lnb-list a {
        padding: 8px 16px;
        background-color: #f5f5f5;
        border-radius: 6px;
        font-size: 14px;
    }








    .bsns-lnb-list li.active a {
        background-color: #0083d9;
        color: #fff !important;
    }








    .bsns-header {
        position: sticky;
        top: 0;
        left: 0;
        right: 0;
        margin: 0 -16px;
        padding: 20px 16px;
        background-color: #fff;
        z-index: 5;
    }








    .bsns-header-title {
        font-size: 24px;
        margin-bottom: 16px;
    }












    #bsns-sec1 .top h1 {
        font-size: 24px;
    }








    .bsns-section-title {
        font-size: 1.3rem;
    }








    .sub2-1-3 .logo-list li {
        width: calc(50% - 10px);
    }








    .check-list li {
        padding: 10px 10px 10px 50px;
        background-position: 15px center;
        font-size: 14px;
    }








    .img-gap {
        margin: 20px 0;
        width: 100%;
        height: auto;
    }








    .sub-1::before {
        left: 0 !important;
    }








    .sub1-inner {
        padding: 0 16px !important;
    }








    .sub1-layout {
        gap: 30px;
    }








    .sub1-title {
        font-size: 20px !important;
    }








    .sub-1 .rise-txt {
        width: 80px;
        margin: 16px 0;
        display: none;
    }








    .sub1-label {
        font-size: 14px;
        color: #fff;
    }








    .sub1-list {
        border-bottom: 1px solid #eaeaea;
    }








    .sub1-list-text {
        font-size: 16px;
    }








    .sub1-item.active button,
    .sub1-item button:hover {
        background-color: #fff !important;
    }








    .sub1-list-text {
        color: #fff;
    }








    .sub1-title {
        color: #fff;
        font-size: 22px;
        margin-bottom: 24px;
    }








    .sub1-item button {
        font-size: 16px;
        padding: 14px 18px;
    }








    .sub1-visual-img {
        border-radius: 60px 0 0 0;
    }








    .sub1-visual-button-wrap {
        width: calc(100% - 40px);
        bottom: 20px;
    }








    .sub1-visual-button {
        font-size: 14px;
        padding: 8px 20px;
    }








    .sub1-desc {
        margin-top: 20px;
    }








    .sub1-desc-title {
        font-size: 16px;
        margin-bottom: 16px;
    }








    .sub1-desc-text {
        font-size: 13px;
    }








    .partDepart-area {
        flex-direction: column;
        gap: 40px;
        padding: 30px 20px;
    }








    .partDepart-left {
        flex-direction: row;
        justify-content: center;
        width: 100%;
        padding-right: 0;
        border-right: none;
        border-bottom: 1px solid #E3E3E3;
        padding-bottom: 30px;
    }








    .partDepart-icon {
        width: 80px;
        height: 80px;
    }








    .partDepart-number {
        font-size: 20px;
    }








    .table-slide-hint {
        font-size: 13px;
        padding: 10px 16px;
        top: -45px;
    }








    .bsns-table-wrapper {
        margin: 0 -16px;
        padding: 0 16px;
    }








    .bsns-table {
        font-size: 14px;
    }








    .bsns-table th,
    .bsns-table td {
        padding: 12px 16px;
    }








    .board-view-bottom {
        flex-direction: column;
    }








    .board-view-buttons {
        margin: 0 auto;
    }








    /* .bsns-vision-area,
    .img-bdbox img{
       padding: 20px !important;
    } */








    .sub4-2-2 #bsns-sec2 .bsns-vision-area img,
    .sub4-2-6 #bsns-sec2 .bsns-vision-area img {
        width: 100% !important;
    }








    .subRiseintro .sec-1 .txt-box {
        padding: 20px;
    }








    .subRiseintro .sec-1 dt {
        width: 120px;
    }








    .subRiseintro .sec-1 {
        padding-bottom: 30px;
    }








    .subRiseintro .sec-1 .crt-img {
        position: relative;
        bottom: 0;
        right: 0;
        width: 40%;
        margin: 20px auto 0 auto;
        display: block;
    }








    .bsns-vision-area {
        padding: 20px !important;
    }








}








@media screen and (max-width: 480px) {
    #sub {
        padding-top: 50px;
        padding-bottom: 50px;
    }








    .board .inner {
        padding: 30px 16px 60px;
    }








    .board-list-title {
        font-size: 26px;
    }








    .board-item-link {
        padding: 24px 0;
        gap: 16px;
    }








    .board-item-date {
        gap: 10px;
    }








    .board-item-day {
        font-size: 28px;
    }








    .board-item-ym {
        font-size: 14px;
    }








    .board-item-main {
        padding-top: 16px;
    }








    .board-item-title {
        font-size: 16px;
        margin-bottom: 10px;
    }








    .board-item-text {
        font-size: 13px;
        line-height: 1.5;
    }








    .board-item-arrow {
        width: 40px;
        height: 40px;
        top: 24px;
    }








    .board-item-arrow-icon::before {
        font-size: 14px;
    }








    .board-pagination {
        margin-top: 30px;
    }








    .board-page-num {
        font-size: 14px;
        padding: 0 3px 6px;
    }








    .gallery-items {
        grid-template-columns: 1fr;
        gap: 20px;
    }








    .gallery-item-img {
        height: 220px;
    }








    .gallery-item-info {
        padding: 14px;
    }








    .gallery-item-title {
        font-size: 15px;
        margin-bottom: 8px;
    }








    .gallery-item-date {
        font-size: 12px;
    }








    .sub-visual-inner {
        padding: 60px 16px 0;
        justify-content: center;
    }








    .sub-breadcrumb-wrap {
        padding: 0;
    }








    .sub-breadcrumb-inner {
        padding: 0 16px;
    }








    .sub-breadcrumb {
        min-height: auto;
    }








    .bc-home {
        padding: 10px;
        margin-right: 8px;
    }








    .bc-btn {
        padding: 6px 2px;
        font-size: 9px;
        min-height: 40px;
    }








    .bc-dropdown {
        margin-right: 8px;
    }








    .subIntro .greet {
        gap: 24px 0;
    }








    .subIntro .greet .tbox {
        margin-top: 0;
    }








    .top-title {
        margin-bottom: 24px;
        font-size: 24px;
    }








    .card-list {
        gap: 20px;
        margin-top: 24px;
    }








    .card-list>div {
        padding: 24px;
    }








    .partDepart-area {
        padding: 24px 16px;
        gap: 30px;
    }








    .partDepart-left {
        gap: 24px;
        padding-right: 0;
        border-right: none;
        border-bottom: 1px solid #E3E3E3;
        padding-bottom: 24px;
    }
















    .partDepart-icon img {
        width: 40px;
    }








    .partDepart-number {
        font-size: 18px;
    }








    .partDepart-title {
        font-size: 20px;
    }








    .partDepart-list li {
        font-size: 14px;
    }








    .table-slide-hint {
        font-size: 12px;
        padding: 8px 14px;
        top: -40px;
        z-index: 1;
    }








    .bsns-table {
        font-size: 13px;
    }








    .bsns-table th,
    .bsns-table td {
        padding: 10px 12px;
    }








    .bsns-inner {
        padding: 0 16px;
    }








    .bsns-content {
        width: 100%;
        max-width: 100%;
    }








    .bsns-lnb-label {
        font-size: 14px;
        margin-bottom: 12px;
    }








    .bsns-lnb-list a {
        padding: 6px 12px;
        font-size: 13px;
    }








    .bsns-header-title {
        font-size: 22px;
    }








    .bsns-tabs {
        gap: 6px 10px;
    }








    .bsns-tabs li a {
        font-size: 13px;
    }








    .bsns-content .txt-rise,
    .bsns-hero-logo {
        display: none;
    }








    .bsns-section {
        margin-bottom: 50px;
    }








    #bsns-sec1 .top h1 {
        font-size: 20px;
    }








    .bsns-section-title {
        font-size: 1.2rem;
    }








    .sub2-1-3 .logo-list li {
        width: 100%;
    }








    .check-list {
        padding-left: 0;
    }








    .check-list li {
        padding: 8px 8px 8px 45px;
        background-position: 12px center;
        background-size: 20px;
    }








    .img-gap {
        margin: 16px 0;
    }








    .sub1-inner {
        padding: 40px 16px 50px;
    }








    .sub1-layout {
        gap: 24px;
    }








    .sub-1 .rise-txt {
        width: 60px;
        margin: 12px 0;
    }








    .sub1-label {
        font-size: 13px;
    }








    .sub1-title {
        font-size: 20px;
        margin-bottom: 20px;
    }








    .sub1-item button {
        font-size: 14px;
        padding: 12px 16px;
    }








    .sub1-visual-img {
        border-radius: 40px 0 0 0;
    }








    .sub1-visual-button-wrap {
        width: calc(100% - 32px);
        bottom: 16px;
    }








    .sub1-visual-button {
        font-size: 13px;
        padding: 6px 16px;
    }








    .sub1-visual-button::after {
        width: 16px;
        height: 16px;
        margin-left: 24px;
    }








    .sub1-desc {
        margin-top: 16px;
    }








    .sub1-desc-title {
        font-size: 15px;
        margin-bottom: 12px;
    }








    .sub1-desc-text {
        font-size: 12px;
    }
















}








.txt-rise {
    pointer-events: none !important;
    z-index: 0;
}








@media screen and (max-width: 768px) {








    .bc-btn {
        width: 100% !important;
        height: 100% !important;
        padding: 0 8px !important;
        justify-content: center !important;
        font-size: 11px !important;
    }








    .unv-box{
        gap: 0 10px;
    }








    .unv-box li{
        width: calc((100% - 20px) / 3);
        height: auto;
    }








    .unv-box li img{
        height: auto;
        width: 100%;
    }








}






