/* ================ 서브 공통 ================ */
#container_title {
    position: absolute;
    top: -5000%;
    left: -5000%;
    text-indent: -5000%;
    width: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
}

.sub-content-title {
    padding: 8.5rem 0;
    overflow: hidden;
}

.sub-content-title .cont-wrap {
    font-size: 4.2rem;
    font-weight: normal;
    line-height: 1.48;
    z-index: 1;
}

.sub-content-title .cont-wrap .title {
    font-size: 4.2rem;
    font-weight: 600;
}

.sub-title__bg {
    height: inherit;
}

.sub-title__bg img {
    max-width: unset;
    width: 100%;
    min-height: 100%;
}

/* breadcrumb */
.breadcrumb-wrap {
    background-color: #f4f5f9;
}

.breadcrumb-wrap .cont-wrap {
    max-width: var(--container-sub-max);
}

.breadcrumb-wrap .breadcrumb {
    padding: 1.35rem;
    font-size: 1.5rem;
    color: var(--color-warm-gray);
}

.breadcrumb-wrap .breadcrumb__toggle {
    display: none;
}

.breadcrumb-wrap .breadcrumb__toggle::before {
    display: none;
}

.breadcrumb-wrap .breadcrumb__menu {}

/* page-container */
#page-container.cont-wrap {
    padding-top: 7.0rem;
    padding-bottom: 10.0rem;
    max-width: var(--container-sub-max);
}

/* page-container > side-menu */
/* ===== side-menu base ===== */
#page-container .side-menu {
    width: 25.1rem;
}

/* head */
.side-menu .side-menu__head {
    margin: 0 auto 2rem;
}

.side-menu .side-menu__head a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 15rem;
    font-size: 2.4rem;
    background: var(--color-blue);
    border-radius: 9px;
    color: #fff;
    text-decoration: none;
}

.side-menu .side-menu__head a:hover,
.side-menu .side-menu__head a:focus-visible {
    background: var(--color-focus);
}

/* item */
.side-menu .side-menu__item {
    border: 1px solid #d9d9d9;
    border-radius: 0.6rem;
}

.side-menu .side-menu__item .side-menu__row {
    position: relative;
}

/* link */
.side-menu .side-menu__item .side-menu__link {
    display: block;
    padding: 1.6rem calc(1.8rem + 2.4rem + 1.5rem) 1.4rem 1.9rem;
    /* 토글 여백 포함 */
    line-height: 1.45;
    font-size: 1.4rem;
    font-weight: 400;
    color: inherit;
    text-decoration: none;
}

.side-menu .side-menu__item .side-menu__row:hover .side-menu__link,
.side-menu .side-menu__item .side-menu__link:hover,
.side-menu .side-menu__item .side-menu__link.is-active,
.side-menu .side-menu__item.is-open .side-menu__link {
    background: var(--color-blue-purple);
    color: #fff;
}

/* 3depth */
.side-menu .side-menu__item .sub-item a {
    display: block;
    padding: 1rem 1.8rem 1rem 2.1rem;
    background: var(--color-dark-white);
    font-size: 1.3rem;
    color: inherit;
    text-decoration: none;
}

.side-menu .side-menu__item .sub-item a:hover,
.side-menu .side-menu__item .sub-item a.is-active {
    background: var(--color-warm-gray);
    color: #fff;
}

/* 4depth */
.side-menu .side-menu__item .d4-list .sub-item a {
    padding-left: 2.8rem;
    background: #fff;
}

.side-menu .side-menu__item .d4-list .sub-item a::before {
    content: "–";
    color: var(--color-text-util);
    top: .1rem;
}

.side-menu .side-menu__item .d4-list .sub-item a:hover,
.side-menu .side-menu__item .d4-list .sub-item a.is-active {
    background: #fff;
    color: var(--primary);
    font-weight: 600;
}

.side-menu .side-menu__item .d4-list .sub-item a:hover::before,
.side-menu .side-menu__item .d4-list .sub-item a.is-active::before {
    color: var(--primary);
}

/* =========================
   SIDE MENU – TOGGLE & ACTIVE/HOVER SYNC (FULL REPLACEMENT)
   목표: 토글 위에 마우스가 있어도(=부모 li hover) a 요소가 hover/active와 동일하게 흰색/배경 적용
   기본 = var(--color-warm-gray), 활성/호버/포커스/열림 = #fff + var(--color-warm-gray) 배경
========================= */

/* 접근성 */
.side-menu .side-menu__link:focus-visible,
.side-menu .side-menu__sublink:focus-visible,
.side-menu .side-menu__toggle:focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
    border-radius: 0.4rem;
}

/* 레이아웃 & 기본값 */
.side-menu .side-menu__row {
    position: relative;
}

.side-menu .side-menu__toggle {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
    width: 2.8rem;
    height: 2.8rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: var(--color-warm-gray);
    /* 기본색 */
    z-index: 3;
    pointer-events: auto;
}

/* 토글 공간만큼 링크 여백 확보(겹침 방지) */
.side-menu .side-menu__link,
.side-menu .side-menu__sublink {
    padding-right: 48px;
}

@media (pointer:coarse) {
    .side-menu .side-menu__toggle {
        width: 2.8rem;
        height: 2.8rem;
    }
}

/* 아이콘(꺾쇠) */
.side-menu .side-menu__toggle::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    transform-origin: 50% 50%;
    opacity: 0.85;
    transform: translate(-50%, -50%) rotate(-45deg);
    /* 접힘 */
}

.side-menu .side-menu__toggle[aria-expanded="true"]::before {
    transform: translate(-50%, -50%) rotate(135deg);
    /* 펼침 */
}

@media (prefers-reduced-motion:no-preference) {
    .side-menu .side-menu__toggle::before {
        transition: transform .18s ease, opacity .18s ease;
    }
}

/* ───────────────────────────────────────────────────────── */
/* 3·4차(= .sub-item) 링크 기본 상태 */
.side-menu .side-menu__item .sub-item > .side-menu__row > a,
.side-menu .side-menu__item .sub-item > .side-menu__row > .side-menu__sublink {
    background: transparent;
    color: var(--color-warm-gray);
    word-break: keep-all;
    overflow-wrap: break-word;
}

/* 3·4차 링크 활성/호버 직접 상태 */
.side-menu .side-menu__item .sub-item > .side-menu__row > a.is-active,
.side-menu .side-menu__item .sub-item > .side-menu__row > .side-menu__sublink.is-active,
.side-menu .side-menu__item .sub-item > .side-menu__row > a:hover,
.side-menu .side-menu__item .sub-item > .side-menu__row > .side-menu__sublink:hover,
.side-menu .side-menu__item .sub-item > .side-menu__row > a:focus-visible,
.side-menu .side-menu__item .sub-item > .side-menu__row > .side-menu__sublink:focus-visible {
    background: var(--color-warm-gray);
    color: #fff;
}

/* 3·4차: 토글/부모 li 상태를 따라 링크도 활성 스타일로 (토글 위에 있어도 a가 흰색/배경 적용) */
.side-menu .side-menu__item .sub-item:is(:hover, :focus-within, .is-open) > .side-menu__row > a,
.side-menu .side-menu__item .sub-item:is(:hover, :focus-within, .is-open) > .side-menu__row > .side-menu__sublink {
    background: var(--color-warm-gray);
    color: #fff;
}

/* 지원 브라우저에서 :has로 토글 상태 직접 추적(보강) */
@supports (selector(:has(*))) {

    .side-menu .side-menu__item .sub-item:has(> .side-menu__row > .side-menu__toggle:is(:hover, :focus-visible, [aria-expanded="true"])) > .side-menu__row > a,
    .side-menu .side-menu__item .sub-item:has(> .side-menu__row > .side-menu__toggle:is(:hover, :focus-visible, [aria-expanded="true"])) > .side-menu__row > .side-menu__sublink {
        background: var(--color-warm-gray);
        color: #fff;
    }
}

/* 토글 자체 색 승급(부모/링크/토글 상태 모두 반영) */
.side-menu .side-menu__item:is(:hover, :focus-within, .is-open) > .side-menu__row > .side-menu__toggle,
.side-menu .sub-item:is(:hover, :focus-within, .is-open) > .side-menu__row > .side-menu__toggle,
.side-menu .side-menu__row > .side-menu__toggle:is(:hover, :focus-visible, [aria-expanded="true"]),
.side-menu .side-menu__row > a:is(.is-active, :hover, :focus-visible) ~ .side-menu__toggle,
.side-menu .side-menu__row > .side-menu__sublink:is(.is-active, :hover, :focus-visible) ~ .side-menu__toggle {
    color: #fff;
}

/* 호버 시 테두리(선택) */
.side-menu .side-menu__toggle:hover {
    border: 1px solid #fff;
    border-radius: 0.5rem;
}

.side-menu .ol {
    margin: 24px auto 0;
}


/* page-container > subpage__body */
#page-container .subpage__body {
    max-width: calc(120.3rem);
    width: calc(100% - 25.1rem - 14.6rem);
}

.subpage__body header .title {
    margin: 0 auto 3.0rem;
    font-size: 2.4rem;
}

.page-content {
    --vr-1: .6rem;
    /* 아주 좁게 */
    --vr-2: 1.0rem;
    /* 좁게 */
    --vr-3: 1.6rem;
    /* 기본 */
    --vr-4: 2.4rem;
    /* 넓게 */
    --vr-5: 3.2rem;
    /* 아주 넓게 */
    --vr-6: 4.0rem;
    /* 아주 넓게 */
}

/* ===== 본문 공통: 이미지 ===== */
.page-content .img-wrap {
    width: 100%;
    margin: 0 auto 5.8rem;
}

.page-content .img-wrap picture,
.page-content .img-wrap img {
    display: block;
    width: 100%;
    height: auto;

    margin: 4% auto;

}

/* ===== 제목 ===== */
.page-content .title {
    margin: 0 0 var(--vr-2);
    font-size: 2.2rem;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: -.01em;
}

.page-content .title:not(:first-child) {
    margin-top: var(--vr-5);
}

.page-content .sub-title {
    margin: var(--vr-4) 0 var(--vr-2);
    font-size: 1.9rem;
    line-height: 1.4;
    font-weight: 700;
}

.page-content .sub-2dep-title {
    margin: var(--vr-4) 0 var(--vr-2);
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 600;
}

/* 본문 문단 */
.page-content .desc {
    color: var(--color-warm-gray);
    font-size: 1.8rem;
    line-height: 1.8;
    margin: 0;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.page-content .desc + .desc {
    margin-top: var(--vr-2);
}

/* 본문 A link */
.page-content a:hover {
    text-decoration: underline;
}

/* 제목 뒤 첫 콘텐츠 여백 */
.page-content .title + .desc,
.page-content .title + .dot-list,
.page-content .title + .blist,
.page-content .sub-title + .desc,
.page-content .sub-title + .dot-list,
.page-content .sub-title + .blist {
    margin-top: var(--vr-1);
}

/* === 점 리스트(뉴트럴 도트) === */
.page-content .dot-list {
    margin: var(--vr-2) 0 var(--vr-3);
    padding: 0;
    list-style: none;
}
.page-content .table-wrap .dot-list,
.page-content table .dot-list {
    margin: var(--vr-2) 0 var(--vr-2);
}

.page-content .dot-list > li {
    position: relative;
    padding-left: 2.0rem;
    margin: var(--vr-1) 0;
    color: var(--color-warm-gray);
    line-height: 1.6;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.page-content .dot-list > li + li {
    margin-top: var(--vr-2);
}

.page-content .dot-list > li::before {
    content: "";
    position: absolute;
    left: .6rem;
    top: 1.0rem;
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    background: var(--color-warm-gray);
}

/* === 불릿 리스트(사이트 톤) — 최대 4단계 === */
.page-content .blist {
    margin: var(--vr-2) 0 var(--vr-3);
    padding: 0;
    list-style: none;
}

.page-content .blist.type__space-below {
    margin: var(--vr-2) 0 var(--vr-6);
}

.page-content .blist li {
    position: relative;
    padding-left: 1.6rem;
    margin: var(--vr-1) 0;
    color: var(--color-text-util);
    line-height: 1.6;
    word-break: keep-all;
    overflow-wrap: break-word; 
}
.page-content .blist li p {
    line-height: 1.6;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.page-content .blist li + li {
    margin-top: var(--vr-2);
}

.page-content .blist li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: .1rem;
    line-height: 1.35;
    color: var(--primary);
}

/* 2~4단계 들여쓰기 & 보조마커 */
.page-content .blist li ul {
    margin: var(--vr-1) 0 0;
    padding: 0 0 0 1.4rem;
    list-style: none;
    margin-bottom: 3%;
}
.page-content .blist li ul > li {
    padding-left: 1.4rem;
}
.page-content .blist li ul > li::before {
    content: "–";
    color: var(--color-text-util);
    top: .1rem;
}
.page-content .blist li ul ul > li::before {
    content: "·";
    opacity: .75;
}
.page-content .blist li ul ul ul > li::before {
    content: "○";
    opacity: .6;
}

.page-content .blist .content-bg-box .blist li {
    position: relative;
    padding-left: 1.6rem;
    margin: var(--vr-1) 0;
    color: var(--color-text-util);
    line-height: 1.6;
    word-break: keep-all;
    overflow-wrap: break-word; 
}
.page-content .blist .content-bg-box .blist li p {
    line-height: 1.6;
    word-break: keep-all;
    overflow-wrap: break-word; 
}
.page-content .blist .content-bg-box .blist li + li {
    margin-top: var(--vr-2);
}
.page-content .blist .content-bg-box .blist li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: .1rem;
    line-height: 1.35;
    color: var(--primary);
}
.page-content .blist .content-bg-box .blist li ul {
    margin: var(--vr-1) 0 0;
    padding: 0 0 0 1.4rem;
    list-style: none;
}
.page-content .blist .content-bg-box .blist li ul > li {
    padding-left: 1.4rem;
}
.page-content .blist .content-bg-box .blist li ul > li::before {
    content: "–";
    color: var(--color-text-util);
    top: .1rem;
}
.page-content .blist .content-bg-box .blist li ul ul > li::before {
    content: "·";
    opacity: .75;
}
.page-content .blist .content-bg-box .blist li ul ul ul > li::before {
    content: "○";
    opacity: .6;
}
.page-content .blist .content-bg-box .blist.blist--none li::before {
    content: "";
}


/* === blist 타입 변형: 별모양 마커 === */
.page-content .blist.blist--star > li::before {
    content: "*";
    color: var(--color-text-util);
    top: .1rem;
}

.page-content .blist.blist--star li ul > li::before {
    content: "–";
    opacity: .9;
}

.page-content .blist.blist--star li ul ul > li::before {
    content: "·";
    opacity: .7;
}

.page-content .blist.blist--star li ul ul ul > li::before {
    content: "○";
    opacity: .6;
}

/* === blist 타입 변형: 대시 마커 === */
.page-content .blist.blist--dash > li::before {
    content: "-";
    color: var(--color-text-util);
    top: .1rem;
}

.page-content .blist.blist--dash li ul > li::before {
    content: "·";
    opacity: .9;
}

.page-content .blist.blist--dash li ul ul > li::before {
    content: "○";
    opacity: .7;
}

/* blist 기본 불릿 제거 + 수동 숫자 표시 */
.page-content .blist.blist--none > li {
    padding-left: 0;
}

.page-content .blist.blist--none > li::before {
    content: none;
}

.page-content .blist.blist--none > li > .n {
    display: inline-block;
    min-width: 1.8rem;
    margin-right: .4rem;
    font-weight: 700;
    color: var(--primary);
}

/* blist number 수동 숫자 표시 */
.page-content .blist.blist--number > li {
    padding-left: 1.4rem;
    text-indent: -1.4rem;
}

.page-content .blist.blist--number > li::before {
    content: none;
}

.page-content .blist.blist--number > li > .n {
    display: inline-block;
    min-width: 1.8rem;
    margin-right: .4rem;
    font-weight: 700;
    color: var(--primary);
}

.page-content .blist.blist--number li .blist--none > li::before {
    content: "";
}


/* 리스트 뒤 문단 간격 */
.page-content .dot-list + .desc,
.page-content .blist + .desc {
    margin-top: var(--vr-2);
}

/* === 참고/근거 노트 (primary 테마) === */
.page-content .ref-note {
    display: block;
    margin: var(--vr-3) 0 0;
    padding: 1.2rem 1.6rem;
    border-left: .4rem solid var(--primary);
    background: #eef3ff;
    /* fallback */
    background: color-mix(in srgb, var(--primary) 12%, #fff);
    color: var(--primary-hover);
    border-radius: .6rem;
    font-size: 1.5rem;
    line-height: 1.55;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.page-content .ref-note + .ref-note {
    margin-top: .8rem;
}

.page-content .desc + .ref-note,
.page-content .dot-list + .ref-note,
.page-content .blist + .ref-note {
    margin-top: var(--vr-4);
}

.page-content .ref-note .ref-label {
    font-weight: 700;
    margin-right: .4rem;
}

.page-content .ref-note .ref-law {
    font-weight: 600;
    color: var(--color-text);
}

.page-content .ref-note .sep {
    margin: 0 .4rem;
    opacity: .6;
}

.page-content .ref-note .ref-source {
    color: var(--color-text-util);
}

/* 타입 컬러 차등 */
.page-content .ref-note.is-ref .ref-label {
    color: var(--primary-hover);
}

/* 참고 */
.page-content .ref-note.is-base .ref-label {
    color: var(--primary);
}

/* 관련 근거 */
/* === 별도 보조 주석(연한 회색) — *표 스타일 === */
.page-content .note-weak {
    margin: var(--vr-2) 0 0;
    padding: .9rem 1.2rem;
    border-left: .3rem solid var(--color-border);
    background: color-mix(in srgb, var(--color-border) 40%, #fff);
    color: var(--color-warm-gray);
    border-radius: .4rem;
    font-size: 1.5rem;
    line-height: 1.55;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

:root {
    --primary: #0066cc;
    /* 브랜드 메인색 (필요에 따라 변경 가능) */
}

.assistive-device-table {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
    font-size: 1.5rem;
    line-height: 1.6;
}

/* 표 제목 */
.assistive-device-table caption {
    font-weight: 700;
    text-align: left;
    margin-bottom: 0.75rem;
    color: #555;
}

/* 헤더(제목행) 스타일 - 옅은 회색 배경 */
.assistive-device-table thead th {
    background-color: #f2f2f2;
    color: #333;
    border: 1px solid #ddd;
    padding: 12px;
    text-align: center;
}

/* 셀 공통 */
.assistive-device-table th,
.assistive-device-table td {
    border: 1px solid #ddd;
    padding: 12px;
    vertical-align: middle;
}

/* 구분(왼쪽 카테고리) 셀 */
.assistive-device-table th.category {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 700;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, #fff);
    width: 15%;
}

:root {
    --primary: #4a68cc;
    /* 포인트 색상 - 필요시 변경 가능 */
}

table.aid-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 16px;
    line-height: 1.7;
}

table.aid-table th,
table.aid-table td {
    border: 1px solid #ddd;
    padding: 12px 10px;
    vertical-align: middle;
}

table.aid-table th {
    background-color: #e9eaef;
    text-align: center;
    font-weight: 700;
}

/* ✅ 종류 (정보접근용 등) */
table.aid-table td:first-child {
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 700;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, #fff);
}

/* ✅ 품목 가운데 정렬 */
table.aid-table td:nth-child(2) {
    text-align: center;
    font-weight: 500;
    background-color: #fafafa;
}

/* ✅ 지원내용 왼쪽 정렬 */
table.aid-table td:nth-child(3) {
    text-align: left;
}

table.aid-table tr:nth-child(even) td {
    background-color: #fcfcfc;
}

/* 목록 정리 */
.assistive-device-table ul {
    margin: 0;
    padding-left: 1.2rem;
}

.assistive-device-table li {
    margin-bottom: 4px;
}

:root {
    --primary: #4a68cc;
    /* 필요 시 색상 변경 가능 */
}

table.aid-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 16px;
    line-height: 1.7;
}

table.aid-table th,
table.aid-table td {
    border: 1px solid #ddd;
    padding: 12px 10px;
    vertical-align: top;
}

table.aid-table th {
    background-color: #e9eaef;
    text-align: center;
    font-weight: 700;
}

/* ✅ 종류 셀 스타일 */
table.aid-table td:first-child {
    width: 15%;
    text-align: center;
    font-weight: 700;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, #fff);
}

/* ✅ 품목 가운데 정렬 */
table.aid-table td:nth-child(2) {
    text-align: center;
    font-weight: 500;
    background-color: #fafafa;
}

/* ✅ 본문 스타일 */
table.aid-table td:nth-child(3) {
    text-align: left;
}

table.aid-table tr:nth-child(even) td {
    background-color: #fcfcfc;
}


/* 꼬리 공백 방지 */
/*.page-content > *:last-child{*/
/*    margin-bottom:5% !important;*/
/*}*/
.page-content > div:not(.popup):last-child {
    margin-bottom: 5% !important;
}

.page-content > section:last-child {
    margin-bottom: 5% !important;
}

.page-content > article:last-child {
    margin-bottom: 5% !important;
}

table.guide-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #f4f5f9;
    font-family: 'Noto Sans KR', sans-serif;
}

.guide-table th,
.guide-table td {
    text-align: center;
    padding: 12px;
    border: 1px solid #d0d1d5;
    vertical-align: middle;
}

.guide-table th {
    background-color: #e8e9ef;
    font-weight: 600;
}

/* 정의(리드) — 중앙, 굵게, 기울임, 강조색 */
.page-content .lead-def {
    margin: var(--vr-3) 0 var(--vr-3);
    font-size: 2.0rem;
    line-height: 1.6;
    font-weight: 700;
    font-style: italic;
    color: var(--accent-pink);
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.page-content .note-aux {
    margin: var(--vr-2) auto 0;
    font-size: 1.7rem;
    line-height: 1.65;
    font-style: italic;
    color: var(--color-text);
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.page-content .note-aux .label {
    font-weight: 600;
}

.page-content .cta-list {
    margin: var(--vr-3) 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--vr-2);
}

.page-content .cta-item {
    display: flex;
    align-items: center;
    gap: var(--vr-2);
    margin-bottom: 5%;
}

.page-content .cta-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.0rem 1.2rem;
    border-radius: .6rem;
    line-height: 1.45;
    text-decoration: none;
    border: 1px solid var(--primary);
    background: color-mix(in srgb, var(--primary) 20%, #fff);
    color: var(--primary);
    font-weight: 700;
}

.page-content .cta-link:hover,
.page-content .cta-link:focus {
    text-decoration: underline;
    outline: none;
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--primary) 25%, #fff);
}

.page-content .cta-anno {
    font-size: 1.5rem;
    color: var(--color-text-util);
}

/* 절차 카드 */
.page-content .proc-steps {
    list-style: none;
    margin: var(--vr-3) 0;
    padding: 0;
    display: flex;
    gap: 1.6rem;
    align-items: stretch;
}

.page-content .proc-steps > li {
    position: relative;
    flex: 1 1 20%;
}

.page-content .blist .proc-steps li::before {
    content: '';
}

/* 카드 사이 화살표(중성 회색) */
.page-content .proc-steps > li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -1.35rem;
    top: 50%;
    transform: translateY(-50%);
    border-left: .9rem solid var(--color-border);
    border-top: .9rem solid transparent;
    border-bottom: .9rem solid transparent;
}

.page-content .step-card {
    border: 1px solid var(--color-border);
    border-radius: .8rem;
    background: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* 상단 라벨 바 */
.page-content .step-head {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .9rem 1.2rem;
    font-weight: 700;
    background: color-mix(in srgb, var(--primary) 10%, #f4f5f9);
    color: var(--color-text);
}

.page-content .step-num {
    font-size: 1.7rem;
    line-height: 1;
}

.page-content .step-title {
    font-size: 1.6rem;
    line-height: 1.25;
}

.page-content .step-desc {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.4rem 1.6rem;
    margin: 0;
    color: var(--color-text);
    font-size: 1.6rem;
    line-height: 1.55;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.page-content .flow-box {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .8rem;
}

/* 3열 그리드(첫 열 고정) + 최소 너비 */
.page-content .flow-head,
.page-content .flow-row {
    display: grid;
    grid-template-columns: 12rem 1fr 1fr;
    min-width: 104rem;
    /* 12 + 46 + 46 */
    column-gap: 1.2rem;
}

/* 헤더 */
.page-content .flow-head {
    margin-bottom: 1.6rem;
}

.page-content .flow-head > div {
    padding: 1.2rem 1.4rem;
    background: color-mix(in srgb, var(--color-border) 38%, #fff);
    border: 1px solid var(--color-border);
    border-radius: .6rem;
    font-weight: 700;
    text-align: center;
    color: var(--color-text);
}

/* 행 간격 */
.page-content .flow-row + .flow-row {
    margin-top: 1.6rem;
}

/* 셀 공통 */
.page-content .flow-row > .cell {
    padding: 1.6rem 1.8rem;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: .6rem;
}

/* 좌측 '절차' 셀 강조 */
.page-content .flow-row > .cell--step {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 700;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, #fff);
    word-break: keep-all;
    overflow-wrap: break-word; 
}

/* 단계 간 화살표 */
.page-content .flow-row + .flow-row .cell--step {
    position: relative;
}

.page-content .flow-row + .flow-row .cell--step::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -1.0rem;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: .7rem solid transparent;
    border-right: .7rem solid transparent;
    border-top: .9rem solid var(--color-border);
}






/* 셀 공통 */
.page-content .flow-row > .cell2 {
    padding: 1.6rem 1.8rem;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: .6rem;
}

/* 좌측 '절차' 셀 강조 */
.page-content .flow-row > .cell--step2 {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 700;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, #fff);
}

/* 단계 간 화살표 */
.page-content .flow-row + .flow-row .cell--step2 {
    position: relative;
}

.page-content .flow-row + .flow-row .cell--step2::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -1.0rem;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: .7rem solid transparent;
    border-right: .7rem solid transparent;
    border-top: .9rem solid var(--color-border);
}


/* 리스트 여백 정리 */
.page-content .flow-row .blist {
    margin: 0;
}

.page-content .flow-row .blist li {
    margin: .5rem 0;
}

.page-content .flow-row .blist li ul {
    margin: .5rem 0 0;
}

/* 구분선 느낌(옵션) — 각 열 내부 위쪽만 살짝 음영 */
.page-content .flow-row > .cell:not(.cell--step) {
    box-shadow: inset 0 .5px 0 rgba(0, 0, 0, .04);
}



/* 구분선 느낌(옵션) — 각 열 내부 위쪽만 살짝 음영 */
.page-content .flow-row > .cell2:not(.cell--step2) {
    box-shadow: inset 0 .5px 0 rgba(0, 0, 0, .04);
}


/* 3열 그리드(첫 열 고정) + 최소 너비 */
.page-content .flow-head2,
.page-content .flow-row2 {
    display: grid;
    grid-template-columns: 12rem 1fr;
    min-width: 104rem;
    /* 12 + 46 + 46 */
    column-gap: 1.2rem;
}

.page-content .flow-head2.type-col3d1 {
    grid-template-columns: 36rem 1fr;
}

.page-content .flow-row2.type-col3d1 {
    grid-template-columns: 36rem 1fr;
}

/* 헤더 */
.page-content .flow-head2 {
    margin-bottom: 1.6rem;
}

.page-content .flow-head2 > div {
    padding: 1.2rem 1.4rem;
    background: color-mix(in srgb, var(--color-border) 38%, #fff);
    border: 1px solid var(--color-border);
    border-radius: .6rem;
    font-weight: 700;
    text-align: center;
    color: var(--color-text);
}

/* 행 간격 */
.page-content .flow-row2 + .flow-row2 {
    margin-top: 1.6rem;
}

/* 셀 공통 */
.page-content .flow-row2 > .cell {
    padding: 1.6rem 1.8rem;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: .6rem;
}

/* 좌측 '절차' 셀 강조 */
.page-content .flow-row2 > .cell--step {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 700;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, #fff);
}

.page-content .flow-row2.type-col3d1 > .cell--step {
    flex-direction: column;
    gap: 0.8rem;
}

/* 단계 간 화살표 */
.page-content .flow-row2 + .flow-row2 .cell--step {
    position: relative;
}

.page-content .flow-row2 + .flow-row2 .cell--step::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -1.0rem;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: .7rem solid transparent;
    border-right: .7rem solid transparent;
    border-top: .9rem solid var(--color-border);
}

/* 리스트 여백 정리 */
.page-content .flow-row2 .blist {
    margin: 0;
}

.page-content .flow-row2 .blist li {
    margin: .5rem 0;
}

.page-content .flow-row2 .blist li ul {
    margin: .5rem 0 0;
}

/* 구분선 느낌(옵션) — 각 열 내부 위쪽만 살짝 음영 */
.page-content .flow-row > .cell:not(.cell--step) {
    box-shadow: inset 0 .5px 0 rgba(0, 0, 0, .04);
}




:root {
    --primary: #4f46e5;
}

.table-wrap-kead {
    width: 100%;
    overflow-x: auto
}

.org-table-kead {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e5e7eb;
    /* 옅은 회색 테두리 */
    background: #fff;
    font-family: "Noto Sans KR", system-ui, sans-serif;
    table-layout: fixed;
}

/* 헤더: 지정 색상 믹스 + 굵게 + 약간 크게 */
.org-table-kead thead th {
    background: color-mix(in srgb, var(--primary) 12%, #fff);
    font-weight: 700;
    font-size: 16px;
    /* 헤더 큰 제목 */
    text-align: center;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    /* 옅은 회색 선 */
    white-space: nowrap;
}

/* 공통 셀 */
.org-table-kead td {
    border: 1px solid #e5e7eb;
    /* 옅은 회색 선 */
    padding: 10px 12px;
    vertical-align: top;
    font-size: 14px;
    line-height: 1.55;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

/* 단체명(세로병합된 왼쪽 큰 셀) */
.table-wrap-kead {
    table-layout: fixed;
}

.org-table-kead .org-name {
    text-align: center;
    font-weight: 600;
    word-break: auto-phrase;
}

/* 칸 내부 1행(공통 ‘사업내용’) */
.org-table-kead .meta {
    /* 필요하면 배경을 아주 옅게 줄 수도 있음 */
    /* background:#fafafa; */
}

/* 칸 내부 2행(각 항목 값) */
.org-table-kead .value {
    margin-top: 6px;
}

/* 링크 줄바꿈 처리 */
.org-table-kead a {
    color: #2563eb;
    text-decoration: none;
    word-break: break-all
}

.org-table-kead a:hover {
    text-decoration: underline
}

@media (max-width:640px) {
    .org-table-kead {
        font-size: 13px
    }

    .org-table-kead thead th {
        font-size: 15px
    }
}


:root {
    --primary: #6b5bd2;
}

/* 프로젝트에 이미 있으면 제거 가능 */

.table-wrap-assist {
    width: 100%;
    overflow-x: auto
}

.org-table-assist {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
    border: 1px solid #e5e7eb;
    /* 옅은 회색 외곽선 */
    font-family: "Noto Sans KR", system-ui, sans-serif;
}

/* 헤더 */
.org-table-assist thead th {
    background: color-mix(in srgb, var(--primary) 12%, #fff);
    font-weight: 700;
    /* 굵게 */
    text-align: center;
    border: 1px solid #e5e7eb;
    /* 옅은 회색 선 */
    padding: 10px 12px;
    font-size: 15px;
    white-space: nowrap;
}

/* 셀 공통 */
.org-table-assist td {
    border: 1px solid #e5e7eb;
    /* 옅은 회색 선 */
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.6;
    vertical-align: top;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

/* 단체명(세로 병합된 왼쪽 큰 셀) */
.org-table-assist .org-name {
    width: 190px;
    text-align: center;
    font-weight: 600;
}

/* 사업내용 행(3칸 합쳐진 셀) */
.org-table-assist .business {
    background: #fafafa;
}

/* 링크 */
.org-table-assist a {
    color: #2563eb;
    text-decoration: none;
    word-break: break-all;
}

.org-table-assist a:hover {
    text-decoration: underline
}

@media (max-width:640px) {
    .org-table-assist {
        font-size: 13px
    }

    .org-table-assist thead th {
        font-size: 14px
    }
}



:root {
    --primary: #6b5bd2;
}

.table-wrap-limit {
    width: 100%;
    overflow-x: auto;
    margin-top: 20px;
}

.support-limit-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e5e7eb;
    font-family: "Noto Sans KR", sans-serif;
    background: #fff;
}

/* 헤더 */
.support-limit-table thead th {
    background: color-mix(in srgb, var(--primary) 12%, #fff);
    font-weight: 700;
    text-align: center;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    font-size: 15px;
}

/* 셀 */
.support-limit-table td {
    border: 1px solid #e5e7eb;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.6;
    vertical-align: top;
}

.support-limit-table td .sub {
    display: block;
    color: #555;
    font-size: 13px;
    margin-top: 4px;
}

.support-limit-table td strong {
    color: #4f46e5;
}

@media (max-width: 640px) {
    .support-limit-table {
        font-size: 13px;
    }

    .support-limit-table thead th {
        font-size: 14px;
    }
}

:root {
    --primary-purple: #9a8de0;
}

.table-wrap-center {
    width: 100%;
    overflow-x: auto;
    margin-top: 20px;
}

.org-table-center {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d4d4d4;
    font-family: "Noto Sans KR", sans-serif;
    background: #fff;
}

/* 헤더 */
.org-table-center thead th {
    background: var(--primary-purple);
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    padding: 10px;
    border: 1px solid #cfcfe8;
}

/* 일반 셀 */
.org-table-center td {
    border: 1px solid #d4d4d4;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.6;
    vertical-align: top;
}

/* 단체명 */
.org-table-center .org-name {
    text-align: center;
    font-weight: 600;
    width: 190px;
    background: #fafafa;
}

/* 사업내용 행 */
.org-table-center .business {
    background: #f6f6fb;
}

/* 링크 스타일 */
.org-table-center a {
    color: #4f46e5;
    text-decoration: none;
    word-break: break-all;
}

.org-table-center a:hover {
    text-decoration: underline;
}

@media (max-width: 640px) {
    .org-table-center {
        font-size: 13px;
    }

    .org-table-center thead th {
        font-size: 14px;
    }
}



/* === 팝업(모달) === */
.page-content .popup {
    position: fixed;
    inset: 0;
    z-index: 1004;
    display: none;
}

.page-content .popup[aria-hidden="false"] {
    display: block;
}

.page-content .popup__bg {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, #000 45%, transparent);
}

.page-content .popup__box {
    position: relative;
    margin: 6vh auto 0;
    max-width: 840px;
    width: min(92vw, 840px);
    background: #fff;
    color: var(--color-text);
    border: 1px solid var(--color-border);
    border-radius: .8rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
    transform: translateY(10px);
    opacity: .0;
    transition: transform .18s ease, opacity .18s ease;
}

.page-content .popup[aria-hidden="false"] .popup__box {
    transform: none;
    opacity: 1;
}

.page-content .popup__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--vr-2);
    padding: 3rem 3rem;
;
    border-bottom: 1px solid var(--color-border);
}

.page-content .popup__title {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 800;
}

.page-content .popup__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--color-border);
    border-radius: .6rem;
    background: #fff;
    color: #000;
    cursor: pointer;
}

.page-content .popup__body {
    padding: 1.5rem 3rem 4rem 3rem;
    max-height: 70vh;
    overflow: auto;
}

.page-content .popup [tabindex]:focus,
.page-content .popup a:focus,
.page-content .popup button:focus {
    outline: 2px solid color-mix(in srgb, var(--primary) 50%, #fff);
    outline-offset: 2px;
}


/* ===== 접근성 유틸 ===== */
.sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

/* =========================
   TABLE 공통: 래퍼/기본
   ========================= */
.table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 2.0rem 0 0;
}

.table-wrap:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.table-wrap > table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    color: var(--color-text, #111);
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 3% auto;
}

.table-wrap > table caption {
    text-align: left;
    font-weight: 700;
    margin: 0 0 .8rem;
    font-size: 1.7rem;
}

.table-wrap > table thead th {
    vertical-align: middle;
    text-align: center;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.table-wrap > table th,
.table-wrap > table td {
    padding: 1.2rem 1.6rem;
    vertical-align: top;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.table-wrap > table th.cross-line {
    background-image: linear-gradient(to left bottom, transparent calc(50% - 1px), var(--color-border), transparent calc(50% + 1px));
    background-size: 120% 120%;
    background-position: center;
}

.cross-title-wrap .label-r {
    width: 100%;
    text-align: right;
}

.cross-title-wrap .label-l {
    width: 100%;
    text-align: left;
}

/* =========================
   tableB: 리스트/보드형
   ========================= */
.tableB {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.tableB th {
    background: #f4f5f9;
    color: #08214c;
    font-weight: 600;
}

.tableB th strong {
    font-size: 1.8rem;
    font-weight: 500;
}

.tableB th p {
    font-size: 1.6rem;
    font-weight: 300;
    margin: .2rem 0 0;
}

.tableB td > label {
    display: block;
    cursor: pointer;
}

.tableB .question_open {
    display: inline-block;
    min-width: 100px;
    height: 36px;
    border: 1px solid #102246;
    color: #102246;
    text-align: center;
    line-height: 34px;
    border-radius: 4px;
    background: #fff;
}

.tableB.center td:last-child {
    text-align: center !important;
}

.tableB.sort {
    text-align: left;
}

.tableB.sort th {
    text-align: center;
}

.tableB.sort td.s_center {
    text-align: center;
}

.tableB.sort2 td {
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.tableB.sort2 td:nth-child(2) {
    text-align: left;
}

.tableB.sort2 td.s_center {
    text-align: center;
}

.tableB.sort3 td:last-child {
    text-align: left;
}

.tableB.ver2 td {
    padding: 1.8rem 1.0rem;
}

.tableB .q_txt {
    color: #3a63b4;
    font-weight: 700;
}

/* 경계선 옵션 */
.tableB.border td {
    border: 1px solid #d9d9d9;
}

.tableB.border td:first-of-type {
    border-left: 0;
}

.tableB.border td:last-of-type {
    border-right: 0;
}

.tableB.border2 td,
.tableB.border2 th {
    border: 1px solid #d9d9d9;
}

.tableB.border2 td:first-of-type {
    border-left: 0;
}

.tableB.border2 td:last-of-type {
    border-right: 0;
}

.tableB.border2 thead tr:first-child th:first-child {
    border-left: 0;
}

.tableB.border2 thead tr:first-child th:last-child {
    border-right: 0;
}

.tableB.border3 td,
.tableB.border3 th {
    border: 1px solid #d9d9d9;
}

.tableB.border3 td:first-of-type {
    border-left: 0;
}

.tableB.border3 td:last-of-type {
    border-right: 0;
}

.tableB.border3 thead tr:first-child th:first-child {
    border-left: 0;
}

.tableB.border3 thead tr:first-child th:last-child {
    border-right: 0;
}

.tableB.border4 td,
.tableB.border4 th {
    border: 1px solid #d9d9d9;
}

/* board 변형(type3) */
.tableB.type3 {
    text-align: center;
}

.tableB.type3 th {
    background: none;
    color: #08214c;
    position: relative;
}

.tableB.type3 th:after {
    content: "";
    width: 1px;
    height: 16px;
    background: #d3d5db;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
}

.tableB.type3 th:last-of-type:after {
    display: none;
}

.tableB.type3 td {
    font-weight: 300;
}

.tableB.type3 tr td {
    text-align: center;
}

.tableB.type3 tr td:last-child {
    text-align: left;
}

.tableB.type3 .btn {
    display: inline-block;
    padding: .6rem 1.0rem;
    border-radius: .4rem;
    background: #658ced;
    color: #fff;
}

/* =========================
   tableA: 상세/폼형
   ========================= */
.tableA {
    width: 100%;
    border-collapse: collapse;
}

.tableA thead th {
    background: #f4f5f9;
    color: #08214c;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    border-bottom: 1px solid #d9d9d9;
}

.tableA tbody tr th,
.tableA tbody tr td {
    padding: 1.2rem 2.0rem;
    border-bottom: 1px solid #d9d9d9;
    border-right: 1px solid #d9d9d9;
    vertical-align: top;
}

.tableA tbody tr th:last-child,
.tableA tbody tr td:last-child {
    border-right: none;
}

.tableA tbody tr th {
    width: 20%;
    /* width: 22rem; */
    background: #f4f5f9;
    color: #08214c;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
}

.tableA tbody tr td {
    text-align: left;
    font-weight: 400;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.tableA tbody tr td.detail {
    padding: 4.0rem 2.0rem;
    word-break: keep-all;
    overflow-wrap: break-word; 
    font-weight: 300;
}

/* 파일/버튼(아이콘 없는 기본형) */
.tableA tbody tr td.file a {
    display: inline-block;
    font-weight: 500;
    margin-right: .6rem;
}

.tableA tbody tr td.file button {
    height: 28px;
    line-height: 26px;
    padding: 0 10px;
    font-size: 1.4rem;
    border-radius: 10px;
    border: 1px solid #bcbcbc;
    background: #fff;
    color: #222;
}

.tableA.table-tb-th-purple tbody th {
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, #fff);
}
.tableA.table-tb-th-purple tbody tr th {
    padding:0.5rem 0.8rem;
}
.tableA.table-tb-th-purple tbody td {
    vertical-align: middle;
}

.tableA tbody td.td-sbj-el {
    padding: 2.0rem 2.0rem;
}

.tableA.tac tbody td {
    text-align: center;
}

.tableA.layout-fixed {
    table-layout: fixed;
}


/* =========================
   포커스 상태
   ========================= */
.tableB .question_open:focus,
.tableB .question_open:hover,
.tableA tbody tr td.file button:focus,
.tableA tbody tr td.file button:hover {
    outline: 2px solid #174bae;
    outline-offset: 2px;
}

/* ===== 퍼센트 열 폭(직관적 네이밍) ===== */
.col-5p {
    width: 5%
}

.col-10p {
    width: 10%
}

.col-12p {
    width: 12%
}

.col-15p {
    width: 15%
}

.col-18p {
    width: 18%
}

.col-20p {
    width: 20%
}

.col-22p {
    width: 22%
}

.col-25p {
    width: 25%
}

.col-30p {
    width: 30%
}

/* 표 하단 출처(표 내부) */
.table-source {
    margin: .8rem 1.6rem 1.2rem;
    font-size: 1.4rem;
    color: #666;
}


/* list-type base */
section.list-type.list-type-bluetop .list-item {
    gap: 38px 20px;
}

.list-type .item {
    flex: 0 1 calc((100% - 48px)/3);
    /* 3열 기준 */
}

.list-type .box {
    background: #fff;
    border: 1px solid var(--color-light-gray, #e8e8e8);
    padding: 2.0rem 2.8rem;
    min-height: 14.4rem;
    /* 배치는 공통 유틸로 처리 */
}

.list-type .title {
    margin: 0;
    width: calc(100% - 2.4rem - 12.5rem);
    font-weight: 700;
    font-size: 2.1rem;
    line-height: 1.45;
    word-break: keep-all;
    overflow-wrap: break-word; 
}

.list-type .more {
    padding: 0 1.8rem;
    width: 12.5rem;
    height: 4.7rem;
    border: 1px solid var(--color-light-gray, #e8e8e8);
    font-size: 1.4rem;
    color: var(--color-warm-gray);
    text-decoration: none;
    background: #fff;
}

.list-type .chev {
    display: inline-block;
    transform: translateY(-2px);
    font-size: 1.8rem;
    color: var(--color-warm-gray);
}

.list-type .more:hover,
.list-type .more:focus {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.list-type .more:hover .chev,
.list-type .more:focus .chev {
    color: #fff;
}

.list-type .more:focus-visible {
    outline: 2px solid var(--color-blue, #3a70c3);
    outline-offset: 2px;
}

.list-type-bluetop .box {
    gap:2.4rem;
    border-top: 3px solid var(--color-blue, #3a70c3);
}


/* =========================
   content-bg-box
   ========================= */
.content-bg-box {
    margin: 0.5rem auto 0;
    padding: 1.2rem 1.6rem;
    border-radius: 0.5rem;
}

.content-bg-box.type-gray {
    background-color: var(--color-thin-light-gray);
}

.content-bg-box.type-purple-bd {
    padding: 0;
    border-radius: 0;
}

.content-bg-box .content-sub-title {
    position: relative;
    padding: 0.5rem 1.0rem;
    margin-left: 0.5rem;
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 700;
}
.content-bg-box .inner-content h5.content-sub-title {
    padding:0 0 1.2rem 0;
    font-size: 1.7rem;
    line-height: 1.65;
    font-weight: 700;
    color: #000;
}

.content-bg-box .content-sub-title.type-purple-box {
    min-width: 16.0rem;
    border-radius: 0.8rem 0.8rem 0 0;
    background-color: var(--color-purple);
}

.content-bg-box.type-purple-bd .inner-content {
    padding: 1.2rem 1.6rem;
    border-radius: 0.5rem;
    border: 1px solid var(--color-purple);
}

/* =========================
   label
   ========================= */
.label-cont-wrap-list {
    gap: 1.2rem;
    padding: 2.4rem;
}

.label-cont-wrap {
    width: 100%;
}

.label-cont-wrap .lc-label {
    margin-bottom: auto;
    padding: 0.5rem 0.4rem;
    width: 10.0rem;
    border: 1px solid var(--color-purple);
    background-color: var(--color-purple);
    border-radius: 0.5rem;
}

.label-cont-wrap .lc-content {
    padding: 0 0 0 1.6rem;
    width: calc(100% - 10.0rem);
    max-width: 80.0rem;
    word-break: keep-all;
    overflow-wrap: break-word; 
}



/* ===== 소개: 웹페이지 소개 (page-about_purpose) ===== */
.page-about_purpose .page-content .title {}

.page-about_purpose .page-content .sub-title {}

.page-about_purpose .page-content .desc {}

/* ===== 소개: 홈페이지 이용 가이드 (page-about_guide) ===== */
.page-about_guide .page-content .title {}

.page-about_guide .page-content .sub-title {}

.page-about_guide .page-content .desc {}

/* ===== 소개: 장애인교원 교육·여건지원·지원팀 사업이란? (page-edusupport) ===== */
.page-edusupport .page-content .title {}

.page-edusupport .page-content .sub-title {}

.page-edusupport .page-content .desc {}

/* ===== 소개: 연구 소개 (page-edusupport_research) ===== */
.page-edusupport_research .page-content .title {}

.page-edusupport_research .page-content .sub-title {}

.page-edusupport_research .page-content .desc {}

/* ===== 인사관리 안내: 복무·성과관리 개요 (page-hr_performance) ===== */
.page-hr_performance .page-content .title {}

.page-hr_performance .page-content .sub-title {}

.page-hr_performance .page-content .desc {}

/* ===== 인사관리 안내: 출장 (page-hr_performance_biztrip) ===== */
.page-hr_performance_biztrip .page-content .title {}

.page-hr_performance_biztrip .page-content .sub-title {}

.page-hr_performance_biztrip .page-content .desc {}

/* ===== 인사관리 안내: 시간외근무 (page-hr_performance_overtime) ===== */
.page-hr_performance_overtime .page-content .title {}

.page-hr_performance_overtime .page-content .sub-title {}

.page-hr_performance_overtime .page-content .desc {}

/* ===== 인사관리 안내: 휴가 (page-hr_performance_vacation) ===== */
.page-hr_performance_vacation .page-content .title {}

.page-hr_performance_vacation .page-content .sub-title {}

.page-hr_performance_vacation .page-content .desc {}

/* ===== 인사관리 안내: 병가 (page-hr_performance_sick) ===== */
.page-hr_performance_sick .page-content .title {}

.page-hr_performance_sick .page-content .sub-title {}

.page-hr_performance_sick .page-content .desc {}

/* ===== 인사관리 안내: 휴직·복직 (page-hr_performance_leave) ===== */
.page-hr_performance_leave .page-content .title {}

.page-hr_performance_leave .page-content .sub-title {}

.page-hr_performance_leave .page-content .desc {}

/* ===== 인사관리 안내: 성과관리 (page-hr_performance_perf) ===== */
.page-hr_performance_perf .page-content .title {}

.page-hr_performance_perf .page-content .sub-title {}

.page-hr_performance_perf .page-content .desc {}

/* ===== 인사관리 지원: 신규 임용 (page-hr_support_newhire) ===== */
.page-hr_support_newhire .page-content .title {}

.page-hr_support_newhire .page-content .sub-title {}

.page-hr_support_newhire .page-content .desc {}

/* ===== 인사관리 지원: 전보 임용 (page-hr_support_transfer) ===== */
.page-hr_support_transfer .page-content .title {}

.page-hr_support_transfer .page-content .sub-title {}

.page-hr_support_transfer .page-content .desc {}

/* ===== 인사관리 지원: 전보 유예 (page-hr_support_rewire) ===== */
.page-hr_support_rewire .page-content .title {}

.page-hr_support_rewire .page-content .sub-title {}

.page-hr_support_rewire .page-content .desc {}

/* ===== 인사관리 지원: 승진 임용 (page-hr_support_promotion) ===== */
.page-hr_support_promotion .page-content .title {}

.page-hr_support_promotion .page-content .sub-title {}

.page-hr_support_promotion .page-content .desc {}

/* ===== 인사관리 지원: 기타(민원/기타) (page-hr_support_mic) ===== */
.page-hr_support_mic .page-content .title {}

.page-hr_support_mic .page-content .sub-title {}

.page-hr_support_mic .page-content .desc {}

/* ===== 편의지원: 시각 — 개요 (page-access_visual) ===== */
.page-access_visual .page-content .title {}

.page-access_visual .page-content .sub-title {}

.page-access_visual .page-content .desc {}

/* ===== 편의지원: 시각 — 인적지원 (page-access_visual_personnel) ===== */
.page-access_visual_personnel .page-content .title {}

.page-access_visual_personnel .page-content .sub-title {}

.page-access_visual_personnel .page-content .desc {}

/* ===== 편의지원: 시각 — 보조공학기기 (page-access_visual_assistivetech) ===== */
.page-access_visual_assistivetech .page-content .title {}

.page-access_visual_assistivetech .page-content .sub-title {}

.page-access_visual_assistivetech .page-content .desc {}

/* ===== 편의지원: 시각 — 편의시설 (page-access_visual_facilities) ===== */
.page-access_visual_facilities .page-content .title {}

.page-access_visual_facilities .page-content .sub-title {}

.page-access_visual_facilities .page-content .desc {}

/* ===== 편의지원: 시각 — 근무환경 (page-access_visual_workenv) ===== */
.page-access_visual_workenv .page-content .title {}

.page-access_visual_workenv .page-content .sub-title {}

.page-access_visual_workenv .page-content .desc {}

/* ===== 편의지원: 청각 — 개요 (page-access_hearing) ===== */
.page-access_hearing .page-content .title {}

.page-access_hearing .page-content .sub-title {}

.page-access_hearing .page-content .desc {}

/* ===== 편의지원: 청각 — 인적/의사소통 지원 (page-access_hearing_personnel) ===== */
.page-access_hearing_personnel .page-content .title {}

.page-access_hearing_personnel .page-content .sub-title {}

.page-access_hearing_personnel .page-content .desc {}

/* ===== 편의지원: 청각 — 보조공학기기 (page-access_hearing_assistivetech) ===== */
.page-access_hearing_assistivetech .page-content .title {}

.page-access_hearing_assistivetech .page-content .sub-title {}

.page-access_hearing_assistivetech .page-content .desc {}

/* ===== 편의지원: 청각 — 의사소통 시스템 (page-access_hearing_comm) ===== */
.page-access_hearing_comm .page-content .title {}

.page-access_hearing_comm .page-content .sub-title {}

.page-access_hearing_comm .page-content .desc {}

/* ===== 편의지원: 청각 — 편의시설 (page-access_hearing_facilities) ===== */
.page-access_hearing_facilities .page-content .title {}

.page-access_hearing_facilities .page-content .sub-title {}

.page-access_hearing_facilities .page-content .desc {}

/* ===== 편의지원: 청각 — 근무환경 (page-access_hearing_workenv) ===== */
.page-access_hearing_workenv .page-content .title {}

.page-access_hearing_workenv .page-content .sub-title {}

.page-access_hearing_workenv .page-content .desc {}

/* ===== 편의지원: 지체·뇌병변 — 개요 (page-access_mobility) ===== */
.page-access_mobility .page-content .title {}

.page-access_mobility .page-content .sub-title {}

.page-access_mobility .page-content .desc {}

/* ===== 편의지원: 지체·뇌병변 — 인적지원 (page-access_mobility_personnel) ===== */
.page-access_mobility_personnel .page-content .title {}

.page-access_mobility_personnel .page-content .sub-title {}

.page-access_mobility_personnel .page-content .desc {}

/* ===== 편의지원: 지체·뇌병변 — 보조공학기기 (page-access_mobility_assistivetech) ===== */
.page-access_mobility_assistivetech .page-content .title {}

.page-access_mobility_assistivetech .page-content .sub-title {}

.page-access_mobility_assistivetech .page-content .desc {}

/* ===== 편의지원: 지체·뇌병변 — 의사소통 지원 (page-access_mobility_comm) ===== */
.page-access_mobility_comm .page-content .title {}

.page-access_mobility_comm .page-content .sub-title {}

.page-access_mobility_comm .page-content .desc {}

/* ===== 편의지원: 지체·뇌병변 — 편의시설 (page-access_mobility_facilities) ===== */
.page-access_mobility_facilities .page-content .title {}

.page-access_mobility_facilities .page-content .sub-title {}

.page-access_mobility_facilities .page-content .desc {}

/* ===== 편의지원: 지체·뇌병변 — 근무환경 (page-access_mobility_workenv) ===== */
.page-access_mobility_workenv .page-content .title {}

.page-access_mobility_workenv .page-content .sub-title {}

.page-access_mobility_workenv .page-content .desc {}

/* ===== 권익옹호: 권리 안내 — 개요 (page-rights_entitlements) ===== */
.page-rights_entitlements .page-content .title {}

.page-rights_entitlements .page-content .sub-title {}

.page-rights_entitlements .page-content .desc {}

/* ===== 권익옹호: 권리 안내 — 장애 관련 (page-rights_entitlements_disability) ===== */
.page-rights_entitlements_disability .page-content .title {}

.page-rights_entitlements_disability .page-content .sub-title {}

.page-rights_entitlements_disability .page-content .desc {}

/* ===== 권익옹호: 권리 안내 — 육아/돌봄 (page-rights_entitlements_childcare) ===== */
.page-rights_entitlements_childcare .page-content .title {}

.page-rights_entitlements_childcare .page-content .sub-title {}

.page-rights_entitlements_childcare .page-content .desc {}

/* ===== 권익옹호: 권리 안내 — 교원 (page-rights_entitlements_faculty) ===== */
.page-rights_entitlements_faculty .page-content .title {}

.page-rights_entitlements_faculty .page-content .sub-title {}

.page-rights_entitlements_faculty .page-content .desc {}

/* ===== 권익옹호: 권리 안내 — 직원 (page-rights_entitlements_employee) ===== */
.page-rights_entitlements_employee .page-content .title {}

.page-rights_entitlements_employee .page-content .sub-title {}

.page-rights_entitlements_employee .page-content .desc {}

/* ===== 권익옹호: 사례 — 개요 (page-rights_cases) ===== */
.page-rights_cases .page-content .title {}

.page-rights_cases .page-content .sub-title {}

.page-rights_cases .page-content .desc {}

/* ===== 권익옹호: 사례 — 차별 (page-rights_cases_discrimination) ===== */
.page-rights_cases_discrimination .page-content .title {}

.page-rights_cases_discrimination .page-content .sub-title {}

.page-rights_cases_discrimination .page-content .desc {}

/* ===== 권익옹호: 사례 — 학대 (page-rights_cases_abuse) ===== */
.page-rights_cases_abuse .page-content .title {}

.page-rights_cases_abuse .page-content .sub-title {}

.page-rights_cases_abuse .page-content .desc {}

/* ===== 권익옹호: 사례 — 교육활동 침해 (page-rights_cases_eduinfringement) ===== */
.page-rights_cases_eduinfringement .page-content .title {}

.page-rights_cases_eduinfringement .page-content .sub-title {}

.page-rights_cases_eduinfringement .page-content .desc {}

/* ===== 권익옹호: 대응 절차 — 개요 (page-rights_response) ===== */
.page-rights_response .page-content .title {}

.page-rights_response .page-content .sub-title {}

.page-rights_response .page-content .desc {}

/* ===== 권익옹호: 대응 절차 — 차별 (page-rights_response_discrim) ===== */
.page-rights_response_discrim .page-content .title {}

.page-rights_response_discrim .page-content .sub-title {}

.page-rights_response_discrim .page-content .desc {}

/* ===== 권익옹호: 대응 절차 — 학대 (page-rights_response_abuse) ===== */
.page-rights_response_abuse .page-content .title {}

.page-rights_response_abuse .page-content .sub-title {}

.page-rights_response_abuse .page-content .desc {}

/* ===== 권익옹호: 대응 절차 — 교육활동 침해 (page-rights_response_eduinfringement) ===== */
.page-rights_response_eduinfringement .page-content .title {}

.page-rights_response_eduinfringement .page-content .sub-title {}

.page-rights_response_eduinfringement .page-content .desc {}

/* ===== 커뮤니티: 공지사항 (page-bbs-notice) ===== */
.page-bbs-notice .page-content .title {}

.page-bbs-notice .page-content .sub-title {}

.page-bbs-notice .page-content .desc {}

/* ===== 커뮤니티: 고충상담 (page-bbs-counsel) ===== */
.page-bbs-counsel .page-content .title {}

.page-bbs-counsel .page-content .sub-title {}

.page-bbs-counsel .page-content .desc {}

/* ===== 커뮤니티: 자유게시판 (page-bbs-free) ===== */
.page-bbs-free .page-content .title {}

.page-bbs-free .page-content .sub-title {}

.page-bbs-free .page-content .desc {}

/* ===== 커뮤니티: 갤러리 (page-bbs-gallery) ===== */
.page-bbs-gallery .page-content .title {}

.page-bbs-gallery .page-content .sub-title {}

.page-bbs-gallery .page-content .desc {}

/* ===== 자료실: 연구자료실 (page-bbs-research) ===== */
.page-bbs-research .page-content .title {}

.page-bbs-research .page-content .sub-title {}

.page-bbs-research .page-content .desc {}

/* ===== 자료실: 언론보도 (page-bbs-press) ===== */
.page-bbs-press .page-content .title {}

.page-bbs-press .page-content .sub-title {}

.page-bbs-press .page-content .desc {}

/* ===== FAQ: 리스트/상세 공통 (page-faq-list, page-faq-*) ===== */
.page-faq-list .page-content .title {}

.page-faq-list .page-content .sub-title {}

.page-faq-list .page-content .desc {}

/* 예시: 특정 fm_id/fa_id가 123일 때 */
.page-faq-123 .page-content .title {}

.page-faq-123 .page-content .sub-title {}

.page-faq-123 .page-content .desc {}



/* ===== BBS SEC ===== */
#bbs-latest-sec {
    background: var(--color-white, #fff)
}

#bbs-latest-sec .wrap {}

#bbs-latest-sec .cont {}

#bbs-latest-sec .head {}

/* 탭 */
#bbs-latest-sec .tabs ul {
    gap:6.0rem;
}
#bbs-latest-sec .tabs .tab {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    font-size:2.4rem;
    font-weight:bold;
    color: var(--color-warm-gray);
    line-height: 1.58;
    box-sizing: border-box;
}
#bbs-latest-sec .tabs .tab.is-active {
    color:var(--color-black);
    border-bottom: 2px solid var(--color-warm-gray);
}
#bbs-latest-sec .tabs .tab:focus-visible {
    outline: 1px solid var(--color-warm-gray);
    outline-offset: 2px
}
#bbs-latest-sec .more {
    padding:0;
    color: var(--color-warm-gray);
    font-weight: normal;
    font-size:2.1rem;
}
#bbs-latest-sec .cont .panel {
    padding:0;
}
/* 리스트 */
.bbs-latest-sec__list {
    min-height: calc(5.0rem * 5);
}

.bbs-latest-sec__list .item {
    min-height: 5.0rem;
}
.bbs-latest-sec__link {
    padding: 1.05rem 0;
    width: 100%;
}
.bbs-latest-sec__list .item:hover a {
    background-color: rgba(170,170,170,0.1);
}

#bbs-latest-sec .title {
    padding:0 0.5rem;
    width: calc(100% - 10rem);
    font-weight: normal;
    font-size: 1.8rem;
    color: var(--color-warm-gray);
}

#bbs-latest-sec .time {
    margin:0 0 0 auto;
    width: 10.0rem;
    font-size: 1.8rem;
    color: var(--color-warm-gray);
}

#bbs-latest-sec .foot {}

/* 보조(웹킷/접근성 유지) */
#bbs-latest-sec a:focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px
}

