@charset "UTF-8";

/* 게시판 상단(페이지 정보 및 검색) */

.boardSearWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4rem;
}

.postInfo {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 0.6rem;
}

.postInfo > div:first-child::after {
    content: '';
    display: inline-flex;
    width: 1px;
    height: 1.5rem;
    background: #ccc;
    margin: 0 1rem;
}

.bdSearch form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.bdSearch .krds-form-select.small {
    color: #1d1d1d;
    border-radius: 0;
    border: 1px solid #dddddd;
}

.bdSearch .krds-form-select:focus {
    border-color: #00879e;
    border-width: 2px;
    outline: none;
    box-shadow: none;
}

.bdSearch .krds-input.small {
    color: #1d1d1d;
    border-radius: 0;
    border: 1px solid #dddddd;
}

.bdSearch .krds-input:focus,
.bdSearch .krds-input.focus {
    border-color: #00879e;
    border-width: 2px;
    outline: none;
    box-shadow: none;
}

.bdSearch .krds-input.small::placeholder {
    color: #808080;
}

.btnSh .krds-btn.small {
    color: #fff;
    background: #00879e;
    border-radius: 0;
    border: 1px solid #00879e;
}

.boardSearWrap.dateSearch {
    justify-content: end;
}

.dateSearch .bdSearch {
    width: 100%;
}

.dateSearch .bdSearch form {
    justify-content: end;
}

.dateSearch .fieldset {
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    gap: 1rem;
}

.hypen {
    text-align: center;
}

@media all and (max-width:1200px) {
    .boardSearWrap {
        margin-bottom: 2.5rem;
    }
}

@media all and (max-width:768px) {
    .boardSearWrap {
        align-items: self-start;
        flex-direction: column;
        gap: 1.5rem;
    }

    .postInfo {
        font-size: 1.5rem;
    }

    .postInfo > div:first-child::after {
        height: 1.3rem;
        margin: 0 .5rem;
    }

    .bdSearch .krds-form-select.small {
        min-width: 9.5rem;
    }

    .dateSearch .bdSearch form {
        justify-content: center;
        align-items: self-start;
        flex-wrap: wrap;
        flex-direction: column;
    }

    .dateSearch .bdSearch .selecCate {
        width: 100%;
    }

    .hasHypen {
        width: 100%;
    }

    .wCst {
        width: 46%;
    }

    .hypen {
        width: 2%;
    }

    .dateSearch .bdSearch .btnSh,
    .dateSearch .bdSearch .btnSh .krds-btn.small {
        width: 100%;
    }
}


/* 게시판 Table */

.boardTitle {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
}

.tableWrap {
    border-top: 2px solid #555555;
}

.table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.table thead th {
    font-weight: 700;
    border-bottom: 1px solid #aaaaaa;
    text-align: center;
    padding: 1.2rem .8rem;
}

.table tbody td {
    color: #1d1d1d;
    padding: 1.7rem .8rem;
    border-bottom: 1px solid #aaaaaa;
    text-align: center;
}

.table tbody td.tdTitle {
    text-align: left;
}

.link {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
    color: #1d1d1d;
    text-decoration: none;
}

.link:hover {
    text-decoration: underline;
}

.badge {
    display: inline-block;
    padding: .2rem .6rem;
    border-radius: 9999px;
    background: #e5e7eb;
    color: #374151;
    font-size: 1.2rem;
    line-height: 1.6rem;
}

.badgeNotice {
    background: #2563eb1a;
    color: #1e40af;
    border: 1px solid #93c5fd;
}

.ico {
    display: inline-block;
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    margin-left: .4rem;
}

.icoFile {
    background: #60a5fa;
}


/* 모바일 반응형 */

@media all and (max-width:768px) {
    .table thead {
        display: none;
    }

    .table,
    .table tbody,
    .table tr,
    .table td {
        display: block;
        width: 100%;
    }

    /* 제목(tdTitle)을 항상 카드의 첫 줄로 */
    .table tbody tr {
        display: flex;
        width: auto;
        flex-direction: column;
        padding: 1.2rem 0;
        border-bottom: 1px solid #e5e7eb;
        background: #fff;
    }

    .table tbody td.tdTitle {
        order: -1;
        /* 제일 위로 올림 */
        padding-bottom: .6rem;
        font-weight: 600;
        font-size: 1.7rem;
    }

    .table tbody td {
        text-align: left;
        border: none;
        padding: .1rem 0;
        font-size: 1.4rem;
    }

    .tdTitle {
        padding-bottom: .6rem;
        font-weight: 600;
    }

    .table tbody td:not(.tdTitle)::before {
        content: attr(data-label);
        display: inline-block;
        min-width: 4.5rem;
        margin-right: .6rem;
        padding: .1rem .6rem;
        font-size: 1.2rem;
        color: #000000;
        background: #f3f4f6;
        border-radius: .4rem;
        text-align: center;
    }

    .table tbody td.file img {
        width: 2.1rem;
    }

    .table tbody td .krds-badge {
        font-size: 1.2rem;
    }
}


/* Pagination */

.krds-pagination .page-links .page-link.active {
    background: #00879e;
}

.krds-pagination .page-navi.first::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    content: "";
    display: inline-flex;
    width: var(--krds-icon--size-medium);
    height: var(--krds-icon--size-medium);
    background-color: var(--krds-light-color-text-basic);
    forced-color-adjust: none;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    -webkit-mask-image: url(/krds/img/icon/ico_foldable.svg);
    mask-image: url(/krds/img/icon/ico_foldable.svg);
    background-color: var(--krds-pagination--color-text);
    transform: rotate(0deg);
}

.krds-pagination .page-navi.end {
    order: 3;
    padding: 0 var(--krds-pagination--prev-btn-padding-left) 0 var(--krds-pagination--prev-btn-padding-right);
}

.krds-pagination .page-navi.end::after {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    content: "";
    display: inline-flex;
    width: var(--krds-icon--size-medium);
    height: var(--krds-icon--size-medium);
    background-color: var(--krds-light-color-text-basic);
    forced-color-adjust: none;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    -webkit-mask-image: url(/krds/img/icon/ico_foldable.svg);
    mask-image: url(/krds/img/icon/ico_foldable.svg);
    background-color: var(--krds-pagination--color-text);
    transform: rotate(180deg);
}

.krds-pagination .page-navi.disabled::before,
.krds-pagination .page-navi.disabled::after {
    background-color: var(--krds-pagination--color-text-disabled);
}

.krds-pagination .page-links .page-link {
    width: auto;
    height: auto;
    padding: .5rem 1.3rem;
}

/* .krds-pagination .page-links .page-link > img {
    min-width: 30px;
} */

@media all and (max-width:768px) {

    .board .krds-pagination,
    .tsCard .krds-pagination {
        gap: 0rem;
        font-size: 1.5rem;
        margin-top: 1rem;
    }

    .krds-pagination .page-navi.first {
        padding: 0 .4rem;
    }

    .krds-pagination .page-navi.end {
        order: 1;
        padding: 0 .4rem;
    }

    .krds-pagination .page-navi.next {
        padding: 0 .4rem;
    }

    .krds-pagination .page-links .page-link {
        padding: .3rem 1rem;
    }

    .krds-pagination .page-links {
        overflow-x: auto;
        gap: 0;
    }
}

/* 게시판 상세 */

.bInfo {
    text-align: center;
    border-top: 2px solid #555;
    border-bottom: 1px solid #d0d0d0;
    padding: 4rem 0;
}

.bContTit {
    font-size: 2.8rem;
    color: #1d1d1d;
    font-weight: 700;
    margin-bottom: 2.5rem;
}

.veiwInfoBox > ul {
    display: flex;
    justify-content: center;
    gap: 3rem;
}

.veiwInfoBox > ul > li {
    color: #1d1d1d;
    font-size: 1.8rem;
    font-weight: 400;
}

.viewContent {
    font-size: 1.8rem;
    font-weight: 500;
    color: #1d1d1d;
    padding: 7rem 0;
}

.viewContent img {
    display: block;
    max-width: 70%;
    margin: 0 auto;
}

.fileBox {
    display: flex;
    align-items: center;
    border-top: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0;
    background: #f7f7f7;
}

.fileTit {
    width: 15%;
    text-align: center;
    color: #1d1d1d;
    font-size: 1.8rem;
    font-weight: 700;
}

.fileList {
    width: 85%;
    background: #fff;
}

.fileList > ul {
    padding: 1.5rem;
}

.fileList > ul > li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .5rem;
}

.fileList > ul > li:last-child {
    margin-bottom: 0;
}

.pagePrevNext {
    border-top: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0;
    margin: 5.5rem 0;
}

.pagePrevNext > ul > li {
    border-bottom: 1px solid #d0d0d0;
    overflow: hidden;
    padding: 2rem;
}

.pagePrevNext > ul > li:last-child {
    border: none;
}

.pagePrevNext > ul > li a {
    max-width: calc(100% - 14.5rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    float: left;
}

.pagePrevNext span {
    float: left;
    color: #1d1d1d;
    font-size: 1.8rem;
    font-weight: 700;
    margin-right: 3rem;
}

.pagePrevNext span::before {
    display: inline-flex;
    content: "";
    width: 2rem;
    height: 2rem;
    forced-color-adjust: none;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    -webkit-mask-image: url(/krds/img/icon/ico_angle.svg);
    mask-image: url(/krds/img/icon/ico_angle.svg);
    background: #000;
    transition: var(--krds-transition-base);
    margin-right: 3rem;
}

.pagePrevNext span.prev::before {
    transform: rotate(180deg);
    mask-position: center -.5rem;
}

.pagePrevNext span.next::before {
    transform: rotate(0deg);
    mask-position: center .2rem;
}

.bdBtns.center {
    text-align: center;
}

.bdBtns .krds-btn.large,
.bdBtns .krds-btn.medium {
    min-width: 9.6rem;
    color: #fff;
    background: #00879e;
    border: 1px solid #00879e
}

.bdBtns .krds-btn.large:hover,
.bdBtns .krds-btn.medium:hover {
    background: #007589;
    border: 1px solid #007589
}

@media all and (max-width:768px) {
    .bInfo {
        padding: 2rem 0;
    }

    .bContTit {
        font-size: 1.8rem;
        margin-bottom: 1rem;
    }

    .veiwInfoBox > ul {
        gap: 1rem;
        flex-wrap: wrap;
        row-gap: 0rem;
    }

    .veiwInfoBox > ul > li {
        font-size: 1.4rem;
    }

    .viewContent {
        font-size: 1.5rem;
        padding: 1.5rem 0;
    }

    .fileBox {
        flex-direction: column;
    }

    .fileTit {
        width: 100%;
        font-size: 1.6rem;
        padding: .5rem 0;
    }

    .fileList {
        width: 100%;
    }

    .fileList > ul {
        padding: 1rem;
    }

    .fileList > ul > li {
        flex-wrap: wrap;
        row-gap: .5rem;
        margin-bottom: 1.5rem;
    }

    .fileInfo {
        font-size: 1.5rem;
    }

    .fileIcon img {
        width: 2.2rem;
    }

    .fileMoreBtns .krds-btn.small {
        font-size: 1.4rem;
        height: 3.5rem;
    }

    .pagePrevNext {
        margin: 2rem 0;
    }

    .pagePrevNext > ul > li {
        padding: 1rem;
    }

    .pagePrevNext > ul > li a {
        max-width: calc(100% - 9.5rem);
        font-size: 1.5rem;
    }

    .pagePrevNext span {
        width: 7.5rem;
        height: 1.5rem;
        font-size: 1.5rem;
        margin-right: 1.5rem;
    }

    .pagePrevNext span::before {
        margin-right: 1rem;
    }

    .pagePrevNext span.prev::before {
        mask-position: center -.2rem;
    }

    .pagePrevNext span.next::before {
        mask-position: center .3rem;
    }

    .bdBtns .krds-btn.large {
        min-width: 7.5rem;
        height: 4.3rem;
        font-size: 1.6rem;
    }
    
    .custom-page-btn-wrap > a img{
        max-width: 7.5rem;
    }
}


/* 갤러리형(목록) */

.galleryWrap {
    border-top: 2px solid #555;
    padding: 3rem 0;
}

.galleryList > ul {
    display: flex;
    gap: 4rem 2%;
    flex-wrap: wrap;
}

.galleryList > ul > li {
    width: 32%;
}

.galleryList > ul > li > a {
    display: block;
}

.gllImg {
    position: relative;
    width: 100%;
    padding-top: 60.6%;
    overflow: hidden;
    border: 1px solid #e2e2e2;
    border-radius: 1rem;
}

.gllImg img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: translate(-50%, -50%) scale(1);
    transition: transform 0.5s ease;
    /* 부드러운 애니메이션 */
}

.gllImg .state {
    top: 1.2rem;
    left: 1.2rem;
    border-radius: 1rem;
}


/* 마우스 오버 시 확대 */

.gllImg:hover img {
    transform: translate(-50%, -50%) scale(1.1);
    /* 10% 확대 */
}

.gTit {
    font-size: 2rem;
    color: #1d1d1d;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 2rem;
}

.gDate {
    font-size: 1.8rem;
    color: #808080;
    font-weight: 400;
}

@media all and (max-width: 1200px) {
    .gTit {
        font-size: 1.8rem;
        margin-top: 1.5rem;
    }

    .gDate {
        font-size: 1.5rem;
        margin-top: .5rem;
    }
}

@media all and (max-width:768px) {
    .galleryWrap {
        padding: 2.5rem 0 0 0;
    }

    .galleryList > ul {
        gap: 1rem 4%;
    }

    .galleryList > ul > li {
        width: 48%;
    }

    .gTit {
        font-size: 1.6rem;
        margin-top: 0.8rem;
    }

    .gDate {
        font-size: 1.3rem;
        margin-top: 0;
    }

    .gllImg .state {
        min-width: 6rem;
        font-size: 1.4rem;
        top: .5rem;
        left: .5rem;
        border-radius: .5rem;
    }
}


/* 사업안내(목록) */

.bsnsList > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
}

.bsnsList > ul > li {
    position: relative;
    width: calc(33.3% - 2.65rem);
    border: 1px solid #e2e2e2;
    border-radius: 1rem;
    padding: 2.5rem;
}

.state {
    position: absolute;
    top: 2.5rem;
    left: 2.5rem;
    min-width: 9rem;
    text-align: center;
    color: #fff;
    padding: 0.8rem 0;
}

.state.s1 {
    background: #004a9b;
}

.state.s2 {
    background: #338b22;
}

.bsnsName {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
    font-size: 2.3rem;
    color: #1d1d1d;
    font-weight: 700;
    border-bottom: 1px solid #d1d1d1;
    padding: 1.5rem 0;
}

.bsnsInfoWrap {
    padding: 1.5rem 0;
}

.bsnsInfoWrap > ul > li {
    position: relative;
    display: flex;
    align-items: flex-start;
    font-size: 1.6rem;
}

.bsnsInfoWrap > ul > li::before {
    content: '';
    position: absolute;
    display: inline-flex;
    top: 1rem;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 0.5rem;
    background: #00879e;
    margin-right: 1rem;
}

.bListImg {
    position: relative;
    width: 100%;
    padding-top: 60.6%;
    overflow: hidden;
}

.bListImg img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%) scale(1);
    transition: transform 0.5s ease;
    /* 부드러운 애니메이션 */
}


/* 마우스 오버 시 확대 */

.bListImg:hover img {
    transform: translate(-50%, -50%) scale(1.1);
    /* 10% 확대 */
}

.bsnsInfoWrap > ul > li span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bsnsInfoWrap > ul > li span.atc {
    min-width: 7.5rem;
    color: #1d1d1d;
    font-weight: 700;
    margin-left: 1.5rem;
}

.bsnsBtns {
    text-align: center;
}

.bsnsBtns .krds-btn {
    width: 49%;
    color: #fff;
    background: #00879e;
    border: 1px solid #00879e;
}

.bsnsBtns .krds-btn:hover {
    background: #007589;
    border: 1px solid #007589;
}

.bsnsBtns .krds-btn.tertiary {
    color: #1d1d1d;
    border: 1px solid #e2e2e2;
    background: #fff;
}

.bsnsBtns .krds-btn.tertiary:hover {
    background: #f2f2f2;
}

@media all and (max-width:1200px) {
    .bsnsList > ul {
        gap: 2rem;
    }

    .bsnsList > ul > li {
        width: calc(33.3% - 1.31rem);
        border: 1px solid #e2e2e2;
        padding: 1.5rem;
    }

    .bsnsList > ul > li .state {
        min-width: 8rem;
        top: 1.5rem;
        left: 1.5rem;
        font-size: 1.5rem;
        padding: 0.6rem 0;
    }

    .bsnsName {
        font-size: 2.0rem;
        padding: 1.2rem 0;
    }

    .bsnsInfoWrap > ul > li {
        font-size: 1.5rem;
    }

    .bsnsBtns .krds-btn {
        width: 48%;
        height: 4rem;
        font-size: 1.6rem;
    }
}

@media all and (max-width: 768px) {
    .bsnsList > ul > li {
        width: calc(50% - 1.0rem);
    }
}

@media all and (max-width: 600px) {
    .bsnsList > ul > li {
        width: 100%;
    }
}


/* 사업안내(상세) */

.bsnsViewDt {
    display: flex;
    gap: 5rem;
    margin-bottom: 3.5rem;
}

.bsnsViewDt > div {
    width: 50%;
}

.bvImg img {
    width: 100%;
}

.bvBox .state {
    position: static;
    display: inline-block;
}

.bvTitle {
    font-size: 3.7rem;
    color: #1d1d1d;
    font-weight: 700;
    margin: 3rem 0;
}

.bvDtText {
    border-top: 1px solid #d1d1d1;
    border-bottom: 1px solid #d1d1d1;
    padding: 4.5rem;
}

.bvDtText .bsnsInfoWrap > ul > li {
    font-size: 1.8rem;
    margin-bottom: 1rem;
}

.bvDtText .bsnsInfoWrap > ul > li:last-child {
    margin-bottom: 0;
}

.conDtSection {
    padding: 3.5rem 0;
}

.DownBtns {
    text-align: right;
    padding: 3rem 0;
}

@media all and (max-width: 1200px) {
    .bsnsViewDt {
        gap: 2rem;
        margin-bottom: 2.5rem;
    }

    .bvTitle {
        font-size: 3.2rem;
        margin: 1.5rem 0;
    }

    .bvDtText {
        padding: 1.5rem;
    }

    .bsnsInfoWrap {
        padding: 0.4rem 0;
    }

    .bvDtText .bsnsInfoWrap > ul > li {
        font-size: 1.6rem;
        margin-bottom: 0.5rem;
    }

    .conDtSection {
        padding: 2.5rem 0;
    }
}

@media all and (max-width: 768px) {
    .bsnsViewDt {
        margin-bottom: 1.5rem;
    }

    .state {
        min-width: 8rem;
        padding: 0.5rem 0;
    }

    .bvTitle {
        font-size: 2.8rem;
        margin: 1rem 0;
    }

    .bvDtText {
        padding: 1rem .5rem;
    }

    .bvDtText .bsnsInfoWrap > ul > li {
        font-size: 1.5rem;
    }

    .conDtSection {
        padding: 1.5rem 0;
    }

    .DownBtns {
        padding: 1.5rem 0;
    }

    .DownBtns .krds-btn.tertiary {
        height: 4.0rem;
        font-size: 1.5rem;
    }
}

@media all and (max-width: 600px) {
    .bsnsViewDt {
        flex-direction: column;
    }

    .bsnsViewDt > div {
        width: 100%;
    }

    .state {
        min-width: 7rem;
        font-size: 1.5rem;
    }

    .bvTitle {
        font-size: 2.5rem;
        margin: .8rem 0;
    }
}


/* 사업안내(상세-슬라이드) */

.imgSwiper {
    width: 100%;
    height: 100%;
}

.imgSwiper .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.imgSwiper .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 60rem;
    object-fit: contain;
}

.imgSwiper .swiper-button-next,
.imgSwiper .swiper-button-prev {
    width: 6.5rem;
    height: 6.5rem
}

.imgSwiper .swiper-button-prev {
    left: 4.5rem;
}

.imgSwiper .swiper-button-next {
    right: 4.5rem;
}

.imgSwiper .swiper-button-next::after,
.imgSwiper .swiper-button-prev::after {
    -webkit-mask-image: url(/krds/img/icon/ico_login_certify_go.svg);
    mask-image: url(/krds/img/icon/ico_login_certify_go.svg);
}

.imgSwiper .swiper-button-next::after {
    transform: rotate(360deg);
}

.imgSwiper .swiper-button-prev::after {
    transform: rotate(180deg);
}

.thumbnailSwiper {
    width: 100%;
    height: 20%;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #e0e0e0;
    padding: 2rem 5rem;
    border-radius: 1.5rem;
    margin-top: 2rem;
}

.thumbnailSwiper .swiper-wrapper {
    align-items: center;
}

.thumbnailSwiper .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: 0.4;
    background-size: cover;
    background-position: center;
    cursor: pointer;
}

.thumbnailSwiper .swiper-slide-thumb-active {
    opacity: 1;
}

.thumbnailSwiper .swiper-slide img {
    display: block;
    width: 100%;
    height: 14.5rem;
    object-fit: cover;
}

.thumbnailSwiper .swiper-button-next,
.thumbnailSwiper .swiper-button-prev {
    width: 4rem;
    height: 4rem
}

@media all and (max-width: 1200px) {
    .imgSwiper .swiper-slide img {
        max-height: 55rem;
    }

    .imgSwiper .swiper-button-prev {
        left: 3.5rem;
    }

    .imgSwiper .swiper-button-next {
        right: 3.5rem;
    }

    .imgSwiper .swiper-button-next,
    .imgSwiper .swiper-button-prev {
        width: 5rem;
        height: 5rem
    }

    .thumbnailSwiper .swiper-button-next,
    .thumbnailSwiper .swiper-button-prev {
        width: 5rem;
        height: 5rem
    }

    .thumbnailSwiper .swiper-button-next,
    .thumbnailSwiper .swiper-button-prev {
        width: 3rem;
        height: 3rem
    }

    .thumbnailSwiper .swiper-slide img {
        height: 11rem;
    }
}

@media all and (max-width: 768px) {
    .imgSwiper .swiper-button-prev {
        left: 1rem;
    }

    .imgSwiper .swiper-button-next {
        right: 1rem;
    }

    .imgSwiper .swiper-button-next,
    .imgSwiper .swiper-button-prev {
        width: 3.5rem;
        height: 3.5rem
    }

    .thumbnailSwiper {
        padding: 1rem 1rem;
        border-radius: 1rem;
        margin-top: 1rem;
    }

    .thumbnailSwiper .swiper-slide img {
        height: 7rem;
    }

    .thumbnailSwiper .swiper-button-next,
    .thumbnailSwiper .swiper-button-prev {
        top: calc(50% + .5rem);
    }
}


/* 자주 묻는 질문(Accodian) */

.board .krds-accordion.type-line .accordion-item .btn-accordion {
    display: flex;
    gap: 1rem;
    padding-left: 2rem;
}

.board .krds-accordion.type-line .accordion-item .accordion-body {
    border-top: 1px solid #cdd1d5;
    padding: 2rem;
}

.board .krds-accordion .accordion-item .btn-accordion.active {
    color: #00879e;
}

.board .accordion-body > div {
    display: flex;
    gap: 1rem;
}

.aBox {
    margin-top: 1rem;
}

@media all and (max-width: 768px) {
    .board .krds-accordion.type-line .accordion-item .btn-accordion {
        padding-left: 1rem;
    }

    .board .krds-accordion .accordion-item .btn-accordion {
        font-size: 1.6rem;
    }

    .board .accordion-body > div > span {
        font-size: 1.6rem;
    }
}


/* 온라인 조회, 발급 */

.tBox {
    background: #ffffff;
    border-radius: .5rem;
    border: 1px solid #dfdfdf;
    padding: 3rem;
    margin: 3rem 0;
}

.tBoxTit {
    display: flex;
    align-items: center;
    font-size: 2rem;
    color: #1d1d1d;
    font-weight: 700;
}

@media all and (max-width:768px) {
    .tBox {
        padding: 1.5rem;
        margin: 2rem 0;
    }

    .tBoxTit {
        font-size: 1.6rem;
    }
}


/* 단지정보 */

.djInfoList > ul > li {
    display: flex;
    align-items: center;
    gap: 3rem;
    border-top: 1px solid #e2e2e2;
    padding: 4rem 0;
}

.djInfoList > ul > li:last-child {
    border-bottom: 1px solid #e2e2e2;
}

.djMap {
    width: 40rem;
    min-width: 40rem;
    position: relative;
    overflow: hidden;
}

.djMap img {
    display: block;
    width: 100%;
    height: auto;
}


/* 반투명 오버레이 */

.djMap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    /* 검은 반투명 */
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
    /* 버튼 클릭 방해 X */
    z-index: 0;
}


/* 중앙 버튼 */

.djMap .mapBtn {
    display: flex;
    align-items: center;
    gap: .5rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(.96);
    opacity: 0;
    transition: opacity .25s ease, transform .25s ease;
    padding: 1.4rem 2.2rem;
    background: #fff;
    color: #111;
    border-radius: 9999px;
    font-weight: 700;
    text-decoration: none;
    line-height: 1;
    box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .18);
    z-index: 1;
}


/* 호버/키보드 포커스 시 표시 */

.djMap:hover::after,
.djMap:focus-within::after {
    opacity: 1;
}

.djMap:hover .mapBtn,
.djMap:focus-within .mapBtn {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.djContWrap {
    width: calc(100% - 40rem);
}

.djContWrap .bsnsInfoWrap > ul > li {
    align-items: flex-start;
    gap: 2rem;
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
}

.djContWrap .bsnsInfoWrap > ul > li:last-child {
    margin-bottom: 0;
}

.djContWrap .bsnsInfoWrap > ul > li span {
    overflow: unset;
    text-overflow: unset;
    white-space: unset;
}

.djContWrap .bsnsInfoWrap > ul > li span.atc {
    min-width: 17rem;
}

.djContWrap .bsnsName {
    text-align: left;
    border-bottom: none;
}

.djViewBtn {
    width: 15%;
    text-align: right;
}

.imgModal.krds-modal .modal-dialog .modal-content {
    background-color: transparent;
    box-shadow: none;
    border: none;
    border-radius: 0;
}

.imgModal.krds-modal .modal-dialog {
    width: 90%;
    max-width: 128rem;
}

.imgModal .modal-conts {
    padding: 0;
}

.imgModal.krds-modal .modal-dialog .modal-btn {
    justify-content: center;
}

.imgModal.krds-modal .modal-dialog .modal-btn .krds-btn {
    border: 1px solid #fff;
    color: #fff;
}

.imgModal.krds-modal .krds-btn.tertiary:hover,
.imgModal.krds-modal .krds-btn.tertiary:active,
.imgModal.krds-modal .krds-btn.tertiary:focus {
    background: rgba(0, 0, 0, 0.5);
}

.imgModal.krds-modal .modal-dialog .modal-conts::-webkit-scrollbar-thumb {
    background-color: #5e5e5e;
    border-radius: 0.8rem;
}

.imgModal.krds-modal .modal-dialog .modal-conts::-webkit-scrollbar-track {
    background-color: transparent;
}


/* 접근성: 모션 최소화 환경 */

@media (prefers-reduced-motion: reduce) {

    .djMap::after,
    .djMap .mapBtn {
        transition: none;
    }
}

@media all and (max-width:900px) {
    .djMap {
        width: 30rem;
        min-width: 30rem;
    }
}

@media all and (max-width:768px) {
    .djInfoList > ul > li {
        flex-direction: column;
        gap: 0;
        padding: 2rem 0;
    }

    .djMap {
        width: 100%;
        min-width: 100%;
    }

    .djContWrap {
        width: 100%;
    }

    .djContWrap .bsnsInfoWrap > ul > li {
        gap: 1rem;
        font-size: 1.5rem;
    }

    .djContWrap .bsnsInfoWrap > ul > li span.atc {
        min-width: 7rem;
    }

    .djViewBtn {
        width: 100%;
        margin-top: 1.5rem;
    }

    .djMap .mapBtn {
        font-size: 1.5rem;
        padding: 1.2rem 2.0rem;
    }

    .djMap .mapBtn .svg-icon {
        width: 1.5rem;
        height: 1.5rem;
    }

    .imgModal.krds-modal .modal-dialog .modal-conts {
        padding: 0;
    }

    .imgModal.krds-modal .modal-dialog .modal-btn {
        padding: 2rem 0 0 0;
    }
}


/* BMC 녹색 랜드마크(리스트) */

.green_mark {
    position: absolute;
    right: 2.2rem;
    top: 2.2rem;
}

.green_mark a {
    display: block;
}

@media all and (max-width:900px) {
    .green_mark {
        position: absolute;
        right: 4.2rem;
        top: 4.2rem;
    }

    .green_mark img {
        max-width: 20rem;
    }
}

@media all and (max-width:768px) {
    .green_mark {
        position: static;
        margin-top: 1rem;
    }
}

/* BMC 녹색 랜드마크(상세) */
.greenSwiper2 {
    height: 80%;
    width: 100%;
}

.greenSwiper {
    height: 20%;
    box-sizing: border-box;
    padding: 10px 0;
}

.greenSwiper .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: 0.4;
}

.greenSwiper .swiper-slide-thumb-active {
    opacity: 1;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gmSlide .swiper {
    z-index: 0;
}

.gmSlide .swiper-button-next,
.gmSlide .swiper-button-prev {
    width: 5rem;
    height: 5rem;
}

.bsnsInfoWrap.greenInfo > ul > li {
    align-items: flex-start;
    gap: 2rem;
    margin-bottom: 2rem;
}

.bsnsInfoWrap.greenInfo > ul > li::before {
    top: 1rem;
}

.bsnsInfoWrap.greenInfo > ul > li span {
    overflow: unset;
    text-overflow: unset;
    white-space: unset;
}

.greenInfo2 > ul > li {
    display: flex;
}

.greenInfo2 > ul > li span.atc2 {
    min-width: 7rem;
    color: #00879e;
    font-weight: 600;
}

@media all and (max-width:768px) {

    .gmSlide .swiper-button-next,
    .gmSlide .swiper-button-prev {
        width: 4rem;
        height: 4rem;
    }

    .bsnsInfoWrap.greenInfo > ul > li {
        flex-direction: column;
        gap: 0;
    }

    .bsnsInfoWrap.greenInfo > ul > li span:last-child,
    .greenInfo2 {
        padding-left: 1.5rem;
    }

    .greenInfo2 > ul > li > span:last-child {
        padding-left: 0 !important;
    }

    .greenInfo2 > ul > li span.atc2 {
        min-width: 5rem;
    }
}

/* 사전정보공표 */
.bookmarkInfo {
    border: 1px solid #e0e0e0;
    padding: 3%;
    margin: 3rem 0;
}

.bmTit {
    font-size: 2.5rem;
    font-weight: 700;
    color: #000;
    border-bottom: 5px solid #f6f6f6;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}

.bmList > ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 2rem;
}

.bmList > ul > li > a {
    display: block;
    border: 1px solid #e0e0e0;
    border-radius: .5rem;
    padding: .5rem 1rem;
}

.bmList > ul > li > a:hover {
    background: #f2f2f2;
}

.numT {
    color: #000;
    font-weight: 700;
}

.bCateList > ul {
    display: flex;
    flex-direction: row;
    gap: 2rem;
    justify-content: center;
    align-items: center;
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    padding: 2rem 0;
    margin-bottom: 3rem;
}

.bCateList > ul > li a:hover {
    font-weight: 700;
    color: #00879e;
    border-bottom: 1px solid #00879e;
}

.bCateList > ul > li.active a {
    font-weight: 700;
    border-bottom: 1px solid #000;
}

@media all and (max-width:900px) {
    .bmTit {
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem;
        font-size: 2.2rem;
    }

    .bmList > ul {
        gap: 1rem;
    }

    .bCateList {
        /* 배경/보더는 컨테이너가 가지게 */
        background: #f9f9f9;
        border: 1px solid #e0e0e0;
        border-radius: .6rem;

        /* 가로 스크롤만 보이게 */
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;

        /* 안쪽 여백(세로)만 주고, 아래 불필요한 큰 여백 제거 */
        padding: 1.2rem 0;
        margin-bottom: 1.6rem;
    }

    .bCateList > ul {
        /* 줄바꿈 없이 가로로 쭉 */
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 1.2rem;

        /* 좌우 패딩은 ul에, 배경/보더는 컨테이너에 */
        padding: 0 1.6rem;

        /* 기본 여백 제거(아래 여백 생기는 원인) */
        margin: 0;
        list-style: none;

        /* 내용 길이만큼만 너비 → 자연스러운 가로 스크롤 */
        width: max-content;

        /* 데스크탑 코드에서 넣은 border/padding은 무력화 */
        border: none;
    }

    .bCateList > ul > li {
        flex: 0 0 auto;
        /* 줄바꿈 방지 */
    }

    .bCateList > ul > li a {
        display: inline-block;
        padding: .5rem;
        font-size: 1.6rem;
        text-decoration: none;
        white-space: nowrap;
        /* 단어 줄바꿈 방지 */
    }

    /* 스크롤바(선택 사항) */
    .bCateList::-webkit-scrollbar {
        height: .3rem;
    }

    .bCateList::-webkit-scrollbar-thumb {
        background: #cfcfcf;
        border-radius: .3rem;
    }

    .bCateList::-webkit-scrollbar-track {
        background: transparent;
    }
}

@media all and (max-width:900px) {
    .bookmarkInfo {
        padding: 5%;
        margin: 1.5rem 0;
    }

    .bmTit {
        margin-bottom: 1rem;
        padding-bottom: 1rem;
        font-size: 1.8rem;
    }

    .bmList > ul > li > a {
        font-size: 1.5rem;
    }

    .bCateList {
        padding: 1rem 0;
    }

    .bCateList > ul > li a {
        font-size: 1.5rem;
    }
}

/* 사전정보공표(아이콘 타입) */
.bIconCateList{
    margin-bottom: 4rem;    
}

.bIconCateList > ul {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.bIconCateList > ul > li {
    width: calc(20% - 1.2rem);
}

.bIconCateList > ul > li > a {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    font-size: 1.7rem;
    color: #000;
    font-weight: 500;
    border-radius: 1rem;
    border: 1px solid #ebebeb;
    padding: 1rem 1.5rem;
}

.bIconCateList > ul > li > a::before{
    content: '';
    width: 3.5rem;
    height: 3.5rem;
    display: inline-flex;
}

.bIconCateList > ul > li.icon.ic1 > a::before{
    background: url("/images/sub/cate_icon1.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li.icon.ic2 > a::before{
    background: url("/images/sub/cate_icon2.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li.icon.ic3 > a::before{
    background: url("/images/sub/cate_icon3.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li.icon.ic4 > a::before{
    background: url("/images/sub/cate_icon4.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li.icon.ic5 > a::before{
    background: url("/images/sub/cate_icon5.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li.icon.ic6 > a::before{
    background: url("/images/sub/cate_icon6.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li.icon.ic7 > a::before{
    background: url("/images/sub/cate_icon7.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li.icon.ic8 > a::before{
    background: url("/images/sub/cate_icon8.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li.icon.ic9 > a::before{
    background: url("/images/sub/cate_icon9.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li.icon.ic10 > a::before{
    background: url("/images/sub/cate_icon10.png") no-repeat;
    background-size: 100%;
}

.bIconCateList > ul > li > a.active,
.bIconCateList > ul > li > a:hover{
    color: #0f6d5b;
    font-weight: 700;    
    background: #e2f9f5;
    border: 1px solid #afe2d8;
}

@media all and (max-width:1200px) {
    .bIconCateList > ul > li {
        width: calc(25% - 1.2rem);
    }
}

@media all and (max-width:900px) {
    .bIconCateList > ul > li {
        width: calc(33.3% - 1rem);
    }
}

@media all and (max-width:786px) {
    .bIconCateList {
        margin-bottom: 1.5rem;
    }
    
    .bIconCateList > ul {
        gap: 1rem;
    }

    .bIconCateList > ul > li {
        width: calc(50% - .5rem);
    }
    
    .bIconCateList > ul > li > a {
        font-size: 1.5rem;
        border-radius: .5rem;
        padding: .8rem 1rem;
    }
    
    .bIconCateList > ul > li > a::before {
        content: '';
        width: 2.5rem;
        height: 2.5rem;
    }
}

/* 민원신청(상세) */
.answerInfoBox {
    background: #f7f7f7;
    border-top: 2px solid #555;
    border-bottom: 1px solid #d0d0d0;
    padding: 2.3rem;
    margin: 5rem 0 0 0;
}

.answerInfoBox {
    display: flex;
    justify-content: space-between;
}

.answerTit {
    font-size: 2rem;
    color: #000;
    font-weight: 700;
}

.answerCont {
    padding: 5rem 0;
}

.surveyWrap {
    margin: 4rem 0;
}

.roundCardWrap {}

.roundCard {
    overflow: hidden;
    border: 1px solid #cdd1d5;
    border-radius: 1.5rem;
    margin-bottom: 3rem;
}

.rcTit {
    text-align: center;
    font-size: 1.8rem;
    color: #000;
    background: #eef2f7;
    font-weight: 700;
    padding: 1.5rem 0;
}

.rcCont {
    padding: 3rem;
}

@media all and (max-width:768px) {
    .surveyWrap {
        margin: 2rem 0;
    }

    .answerInfoBox {
        flex-direction: column;
        padding: 2rem;
        margin: 3rem 0 0 0;
    }

    .answerTit {
        font-size: 1.8rem;
    }

    .answerInfoBox .veiwInfoBox > ul {
        justify-content: flex-start;
    }

    .answerCont {
        font-size: 1.5rem;
        padding: 1.5rem 0;
    }

    .rcTit {
        font-size: 1.6rem;
        padding: 1rem;
    }

    .rcCont {
        padding: 1.5rem;
    }

    .roundCard {
        margin-bottom: 2rem;
    }

    .roundCard .input-group {
        gap: .8rem;
    }

    .roundCard textarea.krds-input,
    .roundCard textarea.krds-input::placeholder {
        font-size: 1.6rem;
    }
}

/* 통합검색(검색창 + Tab) */
.totalSearchBg {
    background: #eef2f7;
    padding: 7rem 0;
    margin: 7rem 0 3rem 0;
}

.tsBgInner {
    width: 80rem;
    max-width: 65%;
    margin: 0 auto;
}

.totalSearchText {
    font-size: 3rem;
    color: #1d1d1d;
    font-weight: 700;
    margin-bottom: 2rem;
}

.totalSearchTab.custom-conts-wrap {
    margin: 0;
}

.totalSearchTab .tab > ul {
    overflow-x: unset;
}

.totalSearchTab .tab.full .btn-tab {
    height: 9rem;
    font-weight: 600;
    line-height: 1.3;
    border-width: .1rem;
}

.keyWordInfo {
    border-bottom: 1px solid #cfd5db;
    padding: 3.5rem 0;
    margin-bottom: 3.5rem;
}

.keyWordInfo {
    display: flex;
}

.kwInfoText {
    font-size: 2.5rem;
    color: #1d1d1d;
    font-weight: 500;
}

.keyWordInfo > div:first-child::after {
    content: '';
    display: inline-flex;
    width: .1rem;
    height: 2.3rem;
    background: #ababab;
    margin: 0 1.8rem;
}

@media all and (max-width:900px) {
    .totalSearchTab .tab.full > ul > li {
        flex: unset;
        width: 33.3%;
        margin-top: -.1rem;
        margin-left: -.1rem;
    }

    .totalSearchTab .tab.fill.full > ul > li:first-of-type .btn-tab,
    .totalSearchTab .tab.fill.full > ul > li:last-of-type .btn-tab {
        border-radius: 0;
    }

    .totalSearchTab .tab.full .btn-tab {
        height: 7rem;
    }

    .totalSearchTab .tab.fill.full > ul > li + li .btn-tab {
        border-left: 1px solid #b1b8be;
    }
}

@media all and (max-width:768px) {
    .totalSearchBg {
        padding: 2rem 0;
        margin: 2rem 0 0 0;
    }

    .tsBgInner {
        width: 85%;
        max-width: 85%;
    }

    .totalSearchText {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .tsBgInner .sch-input .krds-input.xlarge {
        height: 5.5rem;
        padding: 0 5rem 0 1.5rem;
    }

    .tsBgInner .sch-input .krds-input.xlarge,
    .tsBgInner .sch-input .krds-input.xlarge::placeholder {
        font-size: 1.8rem;
    }

    .tsBgInner .krds-btn.icon.xlarge {
        width: 3rem;
        height: 3rem;
    }

    .totalSearchTab .tab.fill.full > ul {
        flex-wrap: wrap;
    }

    .totalSearchTab .tab.full > ul > li {
        width: 50%;
        margin-left: -.1rem;
    }

    .totalSearchTab .tab.fill.full > ul {
        gap: 0;
    }

    .totalSearchTab .tab.fill.full > ul > li .btn-tab {
        border-radius: 0;
    }

    .totalSearchTab .tab.fill.full > ul > li + li .btn-tab {
        border-left: 1px solid #b1b8be;
    }

    .totalSearchTab .tab.full .btn-tab {
        height: 6rem;
        font-size: 1.6rem;
    }

    .keyWordInfo {
        padding: 1.5rem 0;
        margin-bottom: 1.5rem;
    }

    .keyWordInfo {
        flex-direction: column;
    }

    .keyWordInfo > div:first-child::after {
        display: none;
    }

    .kwInfoText {
        font-size: 1.7rem;
    }
}

/* 통합검색(리스트 - 민원신청 상세 기반 css으로 작업) */
.tsCard .rcTit {
    padding: 1.5rem 2.5rem;
}

.tsCard .rcCont {
    padding: 2.5rem;
}

.scResultList > ul > li {
    margin-bottom: 2.5rem;
}

.scResultList > ul > li:last-child {
    margin-bottom: 0;
}

.boldTit {
    color: #000;
    font-size: 1.8rem;
    font-weight: 600;
}

.menuLocation > ul {
    display: flex;
    font-size: 1.6rem;
    color: #515151;
}

.menuLocation > ul > li {
    display: flex;
    align-items: center;
}

.menuLocation > ul > li::after {
    content: "";
    margin-left: var(--krds-gap-2);
    display: inline-flex;
    width: var(--krds-icon--size-small);
    height: var(--krds-icon--size-small);
    background-color: var(--krds-light-color-text-basic);
    forced-color-adjust: none;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    -webkit-mask-image: url(/krds/img/icon/ico_angle.svg);
    mask-image: url(/krds/img/icon/ico_angle.svg);
    transform: rotate(-90deg);
}

.menuLocation > ul > li:last-child::after {
    display: none;
}

.btnPlus {
    margin-top: 2rem;
}

.btnPlus .krds-btn.secondary:not(.icon) .svg-icon {
    background-color: #00879e;
}

.summaryTxt {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 1.6rem;
    color: #515151;
    margin: .5rem 0 1rem 0;
}

.tsTagWrap {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.5rem;
    color: #063a74;
    font-weight: 600;
    margin-bottom: .5rem;
}

.tsTag {
    background: #ecf2fe;
    border-radius: 0.4rem;
    padding: 0.2rem 1rem;
}

.attachedFile .fileList {
    width: 100%;
}

.attachedFile .fileList > ul {
    padding: 0;
}

.attachedFile > ul > li {
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #d0d0d0;
}

@media all and (max-width:768px) {
    .tsCard .rcTit {
        padding: 1rem 1.8rem;
    }

    .tsCard .rcCont {
        padding: 1.8rem;
    }

    .scResultList > ul > li {
        margin-bottom: 1.5rem;
    }

    .boldTit {
        font-size: 1.6rem;
    }

    .menuLocation > ul {
        flex-direction: row;
        flex-wrap: wrap;
        font-size: 1.5rem;
    }

    .menuLocation > ul > li {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .custom-conts-wrap .btnPlus .krds-btn.secondary {
        height: 4.5rem;
        font-size: 1.7rem;
        padding: 0 1.5rem;
    }

    .summaryTxt {
        font-size: 1.5rem;
    }

    .attachedFile .fileMoreBtns {
        margin-bottom: 1rem;
    }
}         

/* 일반계약현황(검색) */
.searhOptionWrap{
    display: flex;
    flex-direction: row;
    gap: 2rem;
    justify-content: center;
    align-items: center;
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    padding: 3rem;
    margin-bottom: 3rem;
    flex-wrap: wrap;  
}

.searhOptionWrap .form-tit{
    font-size: 1.7rem;
    color:#000;
    font-weight: 500;
}

.searhOptionWrap > div {
    width: calc(50% - 1rem);
}

.optionDate{
    display: flex;
    align-items: center;
    gap: 1rem;
}

.optionDepartBox{
    display: flex;
    align-items: center;
    gap: 1rem;    
}

@media all and (max-width:900px) {
    .searhOptionWrap {
        padding: 1.5rem;
    }
    
    .optionDate .form-conts{
        width: 45%;
    }
    
    .searhOptionWrap .form-tit{
        font-size: 1.6rem;
    }
}

@media all and (max-width:768px) {
    .optionDateWrap,
    .optionDepart{
        width: 100% !important;
    }
}  

/* 조직안내 */
.orgSimple,
.orgSimple * {
    box-sizing: border-box;
}

.orgSimple-srOnly {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

.orgRoot {
    --line: #d5d8de;
    --radius: 12px;
    --card: #fff;
    --txt: #0b2533;

    max-width: 1100px;
    margin: 2.4rem auto 3.2rem;
    color: var(--txt);
    position: relative;
    padding: 0 1rem;
}

.orgRoot a{
    display: block;
}

/* ========== 사장(가운데 정렬 보정) ========== */
.orgChief {
    display: flex;
    justify-content: center;
    position: relative;
    margin-bottom: 5rem;
}

.orgChief .orgTitle {
    display: inline-block;
    min-width: 20rem;
    text-align: center;
    border: 1px solid #cfe4e5;
    font-size: 1.8rem;
    color: #515151;
    font-weight: 600;
    background: #E1F5F9;
    background: linear-gradient(270deg, rgba(225, 245, 249, 1) 0%, rgba(252, 255, 244, 1) 100%);
    padding: 1rem 1.6rem;
}

.orgChiefLine {
    position: absolute;
    left: 50%;
    top: 4.8rem;
    width: .1rem;
    background: var(--line);
    height: 24.8rem;
}

/* ========== 중앙 세로 축(스파인) ========== */
.orgAxis {
    position: absolute;
    left: 50%;
    top: 6.2rem;
    bottom: 8.8rem;
    width: 2px;
    background: var(--line);
    transform: translateX(-50%);
    pointer-events: none;
}

/* ========== 중간 레이어 ========== */
.orgMid {
    display: grid;
    grid-template-columns: 1fr minmax(50px, 120px) 1fr;
    /* 가운데는 여백+라인 */
    align-items: center;
    gap: 0;
    margin: 0 auto 2.2rem;
    max-width: 760px;
    position: relative;
}

/* 노드 카드 */
.orgNode {
    min-width: 20rem;
    text-align: center;
    font-size: 1.8rem;
    color: #515151;
    font-weight: 600;
    border: 1px solid #ccdcff;
    padding: 1rem 1.6rem;
}

.orgNode--safety {
    background: #E1F5F9;
    background: linear-gradient(270deg, rgba(225, 232, 249, 1) 0%, rgba(244, 250, 255, 1) 100%);
    justify-self: end;
}

.orgNode--audit {
    background: #E1F5F9;
    background: linear-gradient(270deg, rgba(225, 232, 249, 1) 0%, rgba(244, 250, 255, 1) 100%);
}

.orgNode--auditSub {
    background: #0a56a1;
    opacity: .97;
}

/* 감사 스택 */
.orgStack {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    justify-self: start;
}

/* 중간 가로 연결선(안전관리실 ↔ 감사 스택) */
.orgMidLine {
    position: absolute;
    left: calc(50% - 6.6rem);
    top: 50%;
    width: 6.6rem;
    height: .1rem;
    background: var(--line);
    z-index: -1;
}

.orgMidLine2 {
    position: absolute;
    right: calc(50% - 16rem);
    top: 50%;
    height: 6.1rem;
    width: .1rem;
    background: var(--line);
    transform: translateY(-50%);
    z-index: -1;
}

/* 중앙 빈칸(축 보이게만) */
.orgMidSpacer {
    height: 1px;
}

/* ========== 본부 레이어 ========== */
.orgBranches {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem;
    margin-top: 5rem;
    position: relative;
}

/* 상단 분배 가로선 */
.orgBranchBar {
    position: absolute;
    left: 0;
    right: 0;
    top: 2.8rem;
    height: .1rem;
    background: var(--line);
}

/* 본부 카드 */
.orgBranch {
    background: var(--card);
    border: 1px solid var(--line);
    padding: 1.6rem 1.2rem 1.2rem;
    position: relative;
}

/* 본부 타이틀 */
.orgBranchTitle {
    text-align: center;
    background: #f2f4f7;
    color: #515151;
    font-size: 1.8rem;
    border-bottom: 1px solid var(--line);
    padding: .9rem 1.2rem;
    margin: -1.6rem -1.2rem 1.2rem;
}

/* 하위 부서 리스트 */
.orgList {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .6rem;
}

.orgList > li {
    text-align: center;
    color: #515151;
    padding: .6rem 0;
}

@media all and (max-width: 900px) {
    .orgBranches {
        grid-template-columns: repeat(2, 1fr);
    }

    .orgMidLine {
        left: 41.2%;
        width: 6.6rem;
    }
}

@media all and (max-width: 768px) {

    /* 모바일에선 라인 단순화 */
    .orgAxis,
    .orgChiefLine,
    .orgMidLine,
    .orgMidLine2,
    .orgBranchBar {
        display: none;
    }

    .orgChief {
        margin-bottom: 2rem;
    }

    .orgChief .orgTitle {
        font-size: 1.6rem;
    }

    .orgNode {
        font-size: 1.6rem;
    }

    .orgMid {
        grid-template-columns: 1fr;
        gap: 1rem;
        max-width: none;
    }

    .orgNode--safety,
    .orgStack {
        justify-self: center;
    }

    .orgStack {
        gap: 1rem;
    }

    .orgBranches {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        margin-top: 2rem;
    }

    .orgStack.mGroup {
        border: 1px solid #ccdcff;
        padding: 1rem;
    }

    .orgStack.mGroup .orgNode {
        min-width: 18rem;
    }

    .orgBranchTitle {
        font-size: 1.6rem;
    }

    .orgList > li {
        font-size: 1.5rem;
        padding: 0;
    }
}

/* 조직안내 검색영역 */
.orgSearchWrap{
    display: flex;
    gap: 2rem;
    justify-content: center;
    align-items: center;
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    padding: 3rem;
}

.orgSearchWrap form{
    display: flex;
    gap: 2rem;
    justify-content: center;
    align-items: center;
}

.orgSearchWrap .bdSearch{
    display: flex;
    gap: 1rem;
}

.orgCmnt{
    display: flex;
    gap: .5rem
}

@media all and (max-width: 768px) {
    .orgSearchWrap {
        gap: 1rem;
        align-items: flex-start;
        flex-direction: column;
        padding: 2rem;
    }
    
    .orgSearchWrap form{
        gap: 1rem;
        align-items: flex-start;
        flex-direction: column;
    }
    
    .orgSearchWrap .bdSearch{
        width: 100%;
    }
    
    .orgSearchWrap .inputKeyword{
        width: 100%;
    }
    
    .orgSearchWrap .form-conts{
        width: 100%;
    }
}

/* 부서정보 */
.departmentBox{
    border: 1px solid #e0e0e0;
    margin: 2.5rem 0;
}

.dpmtInfo.top{
    display: flex;
    gap: 8rem;
    border-bottom: 1px solid #e0e0e0;
    padding: 2.5rem;    
}

.contactList > ul{
    display: flex;
    gap: 4rem;
}

.dpmtAricle{
    color: #000;
    font-size: 1.8rem;
    font-weight: 700;
}

.dpmtInfo.bottom{
    padding: 2.5rem;  
}

.workList{
    margin-top: 1rem;
}

@media all and (max-width: 768px) {
    .dpmtInfo.top {
        gap: 1rem;
        flex-direction: column;
        padding: 1.5rem;        
    }
    
    .dpmtInfo.bottom {
        padding: 1.5rem;
    }    
    
    .dpmtAricle {
        font-size: 1.7rem;
    }
    
    .contactList > ul {
        gap: 0rem;
        flex-direction: column;
        font-size: 1.5rem;
    }    
}                         