/* Main { */
.main-section {}
.main-section ~ .main-section {margin-top: 100px;}

.main-title-wrap {display: flex; align-items: center; justify-content: space-between; gap: 10px;}

.main-section-title {color: var(--black-color); font-size: var(--font-35); line-height: 1.2;}
.aos-init .main-section-title {opacity: 0;}
.aos-init.aos-animate .main-section-title {opacity: 1; -webkit-animation: clipPathTop 0.6s both 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); animation: clipPathTop 0.6s both 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.main-section-title > .color {color: var(--point-color);}

.main-section-subtitle {color: var(--black-color); font-size: var(--font-32); line-height: 1.1875;}
.main-section-subtitle > .color {color: var(--point-color);}

.main-more-btn {flex: none; display: inline-flex; align-items: center; justify-content: center; width: 35px; aspect-ratio: 1 / 1; border-radius: 999px; background-color: transparent; border: 1px solid #333333; color: #333333; font-size: var(--font-27); line-height: 1; transition: border-color 0.3s, color 0.3s;}
.main-more-btn:hover {border-color: var(--main-color); color: var(--main-color);}
.main-more-btn > i {transition: transform 0.3s;}
.main-more-btn:hover > i {transform: rotate(90deg);}

.main-empty-block {padding: 7.5vw 20px; text-align: center; border-radius: 5px; background-color: #fbfbfb; border: 1px solid var(--line-color); color: var(--gray-color); font-weight: 500;}

/* 메인비주얼 */
.main-section1 {}
.main-visual-wrap {overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 60px; padding-left: 150px; border-radius: 40px; background: url("../img/visual-bg.png") no-repeat center center / cover;}
.main-search-block {flex: 10;}
.main-search-block > .text-box {margin-bottom: 60px;}
.main-search-block .t1 {line-height: 1.371;}
.main-search-block .t2 {margin-top: 28px; color: var(--black-color); font-weight: 500; font-size: var(--font-20); line-height: 1.2;}
.main-search-block.aos-init .t2 {opacity: 0;}
.main-search-block.aos-init.aos-animate .t2 {opacity: 1; -webkit-animation: clipPathTop 0.6s both 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); animation: clipPathTop 0.6s both 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);}

.main-search-box {}
.main-search-tabs {margin-bottom: 10px; font-size: 0;}
.main-search-tab {display: inline-block; margin-right: 5px;}
.main-search-tab > input[type="radio"] {position: absolute; opacity: 0; width: 0; height: 0;}
.main-search-tab > label {cursor: pointer; display: inline-flex; align-items: center; justify-content: center; min-width: 132px; height: 42px; padding: 4px; border-radius: 999px; background: #c1c3c6; border: none; color: #e5e6e7; font-weight: 600; font-size: var(--font-18); line-height: 1; transition: 0.3s;}
.main-search-tab > label:hover {box-shadow: inset 0 -3em 0 rgba(0, 0, 0, 0.2);}
.main-search-tab > input[type="radio"]:checked + label {background-color: #232332; color: var(--white-color);}
.main-search-tab > input[type="radio"]:focus-visible + label {outline: 3px dotted #ff0000;}

.main-search-input {width: fit-content;}

/* 심의진행 현황 */
.main-deliberation-block {flex: 12; align-self: start; position: relative;}
.main-deliberation-head {display: inline-block; min-width: 195px; padding: 16px 30px; border-radius: 10px 10px 0 0; border: 1px solid var(--black-color); border-bottom: none; font-size: var(--font-22); line-height: 1.2; text-align: center;}
.main-deliberation-body::after {content: ''; position: absolute; left: 194px; top: 0; display: inline-block; width: calc(100% - 195px); height: 1px; background-color: var(--black-color);}
.main-deliberation-body {position: relative; padding-top: 20px;}
.main-deliberation-body .main-empty-block {background-color: rgb(255, 255, 255, 0.6); border: 1px solid var(--white-color); box-shadow: 3px 3px 5px rgb(56, 67, 142, 0.1);}

.main-deliberation-list {}
.main-deliberation-item {}
.main-deliberation-item ~ .main-deliberation-item {margin-top: 12px;}

.main-deliberation-link {display: flex; align-items: center; gap: 10px; width: 100%; padding: 18px 24px; border-radius: 5px; background-color: rgb(255, 255, 255, 0.6); border: 1px solid var(--white-color); box-shadow: 3px 3px 5px rgb(56, 67, 142, 0.1); transition: box-shadow 0.3s;}
.main-deliberation-link:hover {box-shadow: 3px 3px 10px 2px rgba(56, 67, 142, 0.2);}
.main-deliberation-link .main-badge {flex-shrink: 0; transition: 0.3s;}
.main-deliberation-link .title {flex: 1; width: 0; color: var(--black-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: var(--font-18); font-weight: 600; transition: 0.3s;}
.main-deliberation-link:hover .title {transform: translateX(5px);}
.main-deliberation-link .info {display: flex; align-items: center; flex: 0 1 25%; min-width: 0; margin-left: auto;}
.main-deliberation-link .author {display: block; width: 0; flex: 1; color: var(--black-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: var(--font-15); font-weight: 600; text-align: right;}
.main-deliberation-link .year {flex-shrink: 0; position: relative; margin-left: 7px; padding-left: 8px; color: var(--gray-color); font-size: var(--font-15); font-weight: 400;}
.main-deliberation-link .year::before {content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); display: inline-block; width: 1px; height: 11px; background-color: var(--gray-color);}

/* 자주 찾는 서비스 */
.main-quicklink-wrap {display: flex; align-items: center; justify-content: space-between;}
.main-quicklink-wrap .main-section-title {flex: none; width: fit-content; padding: 0 50px; text-align: center;}
.main-quicklink-list {flex: 1; display: flex; vertical-align: middle; align-items: center; justify-content: space-between; gap: 30px; padding: 35px; border-radius: 20px; background-color: var(--white-color); box-shadow: 0 0 20px #E1E1E1;}
.main-quicklink-item {flex: 1;}
.main-quicklink {display: block;}
.main-quicklink > .icon {position: relative; vertical-align: middle; display: inline-block; width: 50px; aspect-ratio: 1 / 1; margin-right: 24px; background-repeat: no-repeat; background-position: center center; background-size: contain; transition: transform 0.3s;}
.main-quicklink > .title {position: relative; vertical-align: middle; color: #333333; font-weight: 600; font-size: var(--font-20); line-height: normal; transition: color 0.3s;}
.main-quicklink > .title::after {content: ''; position: absolute; bottom: -1px; left: 0; display: inline-block; width: 0; height: 2px; background-color: var(--main-color); transition: width 0.3s;}
.main-quicklink-item:hover .title {color: var(--main-color);}
.main-quicklink-item:hover .title::after {width: 100%;}

@media (hover: hover) {
  .main-quicklink-item:hover .icon {transform: translateY(-10px);}
}

.main-quicklink-item:nth-child(1) .icon {background-image: url("../img/main-service-01.png");}
.main-quicklink-item:nth-child(2) .icon {background-image: url("../img/main-service-02.png");}
.main-quicklink-item:nth-child(3) .icon {background-image: url("../img/main-service-03.png");}
.main-quicklink-item:nth-child(4) .icon {background-image: url("../img/main-service-04.png");}

/* 심의일정 / 공고공람 */
.main-grid-col2 {display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: 60px;}
.main-grid-col2 > div {flex: 1; max-width: calc(50% - 30px);}
.main-grid-col2 .main-title-wrap {margin-bottom: 35px;}

.main-calendar-wrap {}
.main-calendar-body {}
.main-calendar-slider {position: relative;}
.main-calendar-container {clip-path: inset(-10px);}
.main-calendar-wrapper {align-items: stretch;}

.main-calendar-slider .arrow {position: absolute; z-index: 2; top: 50%; display: inline-flex; align-items: center; justify-content: center; width: 56px; aspect-ratio: 1 / 1; border-radius: 999px; background-color: rgb(0, 0, 0, 0.8); box-shadow: 0 0 3px rgba(0, 0, 0, 0.25); color: var(--white-color); border: none; font-size: var(--font-24); line-height: 1; transition: 0.2s;}
.main-calendar-slider .arrow:hover {background: var(--main-color); box-shadow: 0 0 3px var(--main-color);}
.main-calendar-slider .arrow.prev {left: 0; transform: translate(-50%, -50%);}
.main-calendar-slider .arrow.next {right: 0; transform: translate(50%, -50%);}

.main-calendar-pagination {position: static; margin-top: 24px; font-size: 0;}
.main-calendar-pagination .swiper-pagination-bullet {opacity: 1; width: 12px; height: 12px; margin: 0 5.5px !important; background: rgba(0, 0, 0, 0.12);}
.main-calendar-pagination .swiper-pagination-bullet-active {background: var(--main-color);}

.main-calendar-slide {height: auto;}
.main-calendar-link {display: block; height: 100%; padding: 30px 30px 60px; border-radius: 15px; border: 1px solid var(--line-color); background-color: var(--white-color); transition: border-color 0.3s, box-shadow 0.3s;}
.main-calendar-link:hover {border-color: var(--main-color); box-shadow: 0 0 10px rgb(204, 192, 194, 0.5);}

.main-calendar-link .top {display: flex; align-items: center; justify-content: space-between;}
.main-badge {display: inline-block; padding: 6px 13px; border-radius: 999px; background-color: var(--line-color); color: #444444; font-weight: 500; font-size: var(--font-14); line-height: 1;}
.main-badge.color1 {background-color: #E9EEF8; color: #4168B6;}
.main-badge.color2 {background-color: #fff1F3; color: #E25569;}
.main-badge.color3 {background-color: #E9F5F4; color: #009B91;}
.main-badge.color4 {background-color: #E5EAF6; color: #267EE3;}
.main-calendar-link .year {display: inline-block; color: var(--black-color); font-weight: 500; font-size: var(--font-15); line-height: 1;}
.main-calendar-link .title {margin: 30px 0 50px; color: var(--black-color); font-weight: 600; font-size: var(--font-20); line-height: 1.2; transition: color 0.3s;}
.main-calendar-link:hover .title {color: var(--main-color);}

.main-calendar-link .bottom {}
.main-calendar-link .row {display: flex; align-items: start; justify-content: start; margin-top: 15px;}
.main-calendar-link .label {flex: none; position: relative; margin-right: 7px; padding-right: 8px; color: var(--black-color); font-size: var(--font-15); font-weight: 600; line-height: 1.2;}
.main-calendar-link .label::before {content: ''; position: absolute; top: 3.5px; right: 0; display: inline-block; width: 1px; height: 11px; background-color: #D4D4D4;}
.main-calendar-link .label > i {margin-right: 5px; font-weight: 400;}
.main-calendar-link .value {flex: 1; align-self: center; color: var(--gray-color); font-weight: 400; font-size: var(--font-15); line-height: 1.2;}

.main-announcement-wrap {}
.main-announcement-head {}
.main-announcement-body {}
.main-announcement-list {}
.main-announcement-item {}
.main-announcement-item ~ .main-announcement-item {margin-top: 12px;}
.main-announcement-link {display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 12px 26px; padding-right: 36px; border-radius: 5px; background-color: #f7f7f7; border: 1px solid var(--line-color); transition: transform 0.3s, box-shadow 0.3s;}

@media (hover: hover) {
  .main-announcement-item:hover .main-announcement-link {transform: translateX(20px); box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);}
}

.main-announcement-link .text-box {font-size: 0;}
.main-announcement-link .title {height: 2.3em; color: var(--black-color); font-weight: 500; font-size: var(--font-18); line-height: 1.1667; text-underline-offset: 3px;}
.main-announcement-item:hover .title {text-decoration: underline;}
.main-announcement-link .date {display: inline-block; margin-top: 15px; color: var(--gray-color); font-weight: 400; font-size: var(--font-14); line-height: 1;}

/* 공지사항 / 자료실 */
.main-section04 {padding-top: 30px;}
.main-section04 .main-grid-col2 {gap: 40px;}
.main-section04 .main-grid-col2 > div {max-width: calc(50% - 20px);}
.main-board-wrap .main-title-wrap {margin-bottom: 20px;}

.main-board-wrap {}
.main-board-wrap .main-empty-block {padding: 6.5vw 20px;}
.main-board-head {}
.main-board-body {}
.main-board-list {border-top: 2px solid var(--black-color);}
.main-board-item {display: flex; align-items: center; justify-content: start; gap: 30px; height: 70px; padding: 20px 10px; border-bottom: 1px solid var(--line-color);}

.main-board-item .board-badge {flex: none; font-weight: 600;}
.main-board-item .title {position: relative; margin-right: auto; color: var(--black-color); font-weight: 500; font-size: var(--font-18); line-height: 1; text-underline-offset: 2px;}
.main-board-item .title:hover {color: var(--main-color); text-decoration: underline;}
.main-board-item .title.dot::before {background: var(--black-color); top: 6px;}
.main-board-item .date {color: var(--gray-color); font-weight: 400; font-size: var(--font-15); line-height: 1;}
/* } Main */

/* Sub Common { */
.sub, .main {padding-top: var(--header-height); padding-bottom: 160px;}
.sub-content {padding-top: 40px;}
.sub-section ~ .sub-section {margin-top: 60px;}
.sub-subsection {margin-top: 96px;}

/* Sub Breadcrumbs { */
.sub-breadcrumbs {position: relative; z-index: 1; margin-top: 30px;}
.sub-breadcrumbs::before {content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 1px; background-color: #d9d9d9; z-index: -1;}
.sub-breadcrumbs-list {display: flex; align-items: center; justify-content: end; flex-wrap: wrap; gap: 25px; width: fit-content; margin-left: auto; background-color: var(--white-color);}
.sub-breadcrumbs-item {position: relative; margin: 0 1rem;}
.sub-breadcrumbs-item ~ .sub-breadcrumbs-item::before {content: '\EA6E'; font-family: 'remixicon' !important; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: absolute; top: 50%; right: calc(100% + 1rem); transform: translate(-50%, -50%);}

.sub-breadcrumbs-link {color: var(--black-color); font-weight: 500; font-size: var(--font-18);}
.sub-breadcrumbs-link.home {display: inline-flex; align-items: center; justify-content: center; width: 31px; aspect-ratio: 1 / 1; border-radius: 999px; border: 1px solid var(--line-color); background-color: var(--white-color); color: var(--main-color); font-size: var(--font-20); line-height: 1; transition: border-color 0.3s;}
.sub-breadcrumbs-link.home:hover {border-color: var(--main-color);}
.sub-breadcrumbs-item:last-child .sub-breadcrumbs-link:not(.home) {display: inline-flex; align-items: center; justify-content: start; gap: 10px; position: relative; min-width: 215px; height: 44px; padding: 5px 20px; border-radius: 999px; background-color: var(--point-color); border: none; color: var(--white-color); font-weight: 600; line-height: 1; transition: box-shadow 0.3s;}
.sub-breadcrumbs-item:last-child .sub-breadcrumbs-link:not(.home):hover {box-shadow: 0 0 10px var(--main-color);}
button.sub-breadcrumbs-link::after {content: '\EA4E'; font-family: 'remixicon' !important; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; margin-left: auto; font-weight: 400; transition: transform 0.3s;}
button.sub-breadcrumbs-link.on::after {transform: rotate(-180deg);}

.sub-breadcrumbs-list-dep2 {display: none; position: absolute; top: calc(100% + 10px); right: 0; width: fit-content; min-width: 100%; padding: 10px 20px; border-radius: 15px; background-color: var(--point-color); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.10);}
.sub-breadcrumbs-link-dep2 {position: relative; display: inline-block; padding: 5px 0; color: var(--white-color); font-weight: 600; font-size: 1rem;}
.sub-breadcrumbs-link-dep2::before {content: ''; position: absolute; bottom: 5px; left: 0; width: 0; height: 2px; background-color: var(--white-color); transition: width 0.3s;}
.sub-breadcrumbs-link-dep2:hover::before {width: 100%;}
/* } Sub Breadcrumbs */

/* Sub Top { */
.sub-common-top {}
.sub-common-top-wrap {position: relative; padding: 50px 0;}
.sub-common-top-wrap::after {content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background-color: #2d2d2d; transition-property: width; transition-duration: 1.5s; transition-timing-function: ease-out; transition-delay: 0.8s;}
.sub-page-title {width: fit-content; font-size: var(--font-40); font-weight: 500;}
.sub-page-desc {width: fit-content; margin-top: 5px; font-size: var(--font-20); color:#666666; font-weight: 500;}

.sub-page-title {-webkit-animation: clipPathRight 0.6s both 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); animation: clipPathRight 0.6s both 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.sub-page-desc {-webkit-animation: clipPathRight 0.8s both 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); animation: clipPathRight 0.8s both 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
.sub-common-top-wrap::after {-webkit-animation: clipPathRight 1.2s both 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); animation: clipPathRight 1.2s both 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
/* } Sub Top */

/* Sub Typography { */
.sub-section-title {margin-bottom: 40px; font-size: var(--font-28); font-weight: 700;}
.sub-content:is(#info-view, #announcement-view) .sub-section-title {margin-bottom: 20px;}
.sub-section-subtitle {position: relative; margin-bottom: 16px; color: var(--black-color); font-weight: 600; font-size: var(--font-24); line-height: 1.21;}
.sub-section-subtitle::before {content: ''; position: absolute; top: -8px; left: 0; display: inline-block; width: 21px; height: 3px; border-radius: 999px; background-color: var(--main-color);}

.desc-title {color: var(--black-color); font-weight: 600; font-size: var(--font-18);}
.desc-item ~ .desc-item {margin-top: 24px;}
.desc-text {position: relative; color: var(--black-color); font-weight: 400; font-size: var(--font-18); line-height: 1.5556;}
.sub-paragraph-wrap .desc-text {color: #444444;}
.sub-paragraph-wrap .desc-text ~ .desc-text {margin-top: 30px;}

.dot {padding-left: 0.775em; position: relative;}
.bar {padding-left: 0.775em; position: relative;}
.dot::before {content: ""; display: block; width: 5px; height: 5px; border-radius: 50%; background-color: var(--main-color); position: absolute; top: 10px; left: 0;}
.bar::before {content: "-"; display: inline-block; position: absolute; top: 0; left: 0;}
/* } Sub Typography */

.scroll-container {overflow: hidden;}
.scroll-container::before {content: '← 좌우로 드래그하세요. →'; display: none; margin-bottom: 10px; color: var(--gray-color); font-weight: 400; text-align: center;}
.scroll-container .img-box {overflow: hidden; width: fit-content; max-width: 100%; margin: 0 auto; border-radius: 15px; border: 1px solid var(--line-color); font-size: 0;}
/* } Sub Common */

/* 환경영향평가 안내 */
.sub-info-box {display: flex; align-items: center; justify-content: start; gap: 30px; padding: 35px 50px; background-color: #f5f5f5; border: 1px solid #d5d5d5; border-left: 3px solid var(--point-color);}
.sub-info-box > .icon {flex: none; display: inline-block; width: 110px; aspect-ratio: 1 / 1; border-radius: 999px; background-color: var(--white-color); background-repeat: no-repeat; background-position: center center; background-size: cover;}
#introduce .sub-info-box > .icon {background-image: url('../img/enviro-icon.png');}
.sub-info-box > .text-box {}
.sub-info-box .title {color: var(--black-color); font-weight: 700; font-size: var(--font-24); line-height: 1.125;}
.sub-info-box .desc {margin-top: 10px; color: #555; font-weight: 400; font-size: var(--font-18); line-height: 1.5;}

/* 그리드 형태 표 { */
.grid-list-ul {border-radius: 15px; overflow: hidden; border: 1px solid var(--line-color); margin-top: 15px;}
.grid-list-item {display: flex; align-items: stretch;}
.grid-list-head {background-color: #f6f7f7;}
.grid-list-td {flex: 1; display: flex; align-items: center; justify-content: center; min-height: 55px; padding: 6px 15px; color: #444444; text-align: center; font-size: var(--font-18); font-weight: 500;}
.grid-list-head .grid-list-td {color: var(--black-color); font-size: var(--font-20); font-weight: 600;}
.grid-list-td ~ .grid-list-td {border-left: 1px solid var(--line-color);}
.grid-list-item ~ .grid-list-item  {border-top: 1px solid var(--line-color);}
/* } 그리드 형태 표 */

/* 단계별 박스 { */
.box-list {display: flex; gap: 25px; align-items: stretch; justify-content: space-between;}
.grid-list-ul + .box-list {margin-top: 40px;}
.box-list-item {flex: 1; display : inline-flex; align-items: center; justify-content: center; position: relative; padding: 55px 20px 30px; border-radius: 15px; background-color: var(--white-color); border: 1px solid var(--line-color);}
.box-list-item::after {content: '\EA6C'; font-family: 'remixicon' !important; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; display: inline-block; width: 26px; text-align: center; font-size: var(--font-24); line-height: 1; position: absolute; left: 100%; top: 50%; transform: translateY(-50%);}
.box-list-item:last-child:after {display: none;}
.box-list-item > .step {position: absolute; top: 0; left: 0; display: inline-block; padding: 5px 30px; border-top-left-radius: 15px; border-bottom-right-radius: 15px; background-color: var(--main-color); color: var(--white-color); font-size: var(--font-18); font-weight: 600; text-align: center;}
.box-list-desc {color: var(--black-color); text-align: center; font-weight: 500; font-size: var(--font-18); line-height: 1.167;}
/* } 단계별 박스 */

/* 뱃지 모양 레이블 달린 그리드 레이아웃 { */
.sub-rowsec-wrap {display: grid; grid-template-columns: 122px 1fr; gap: 25px; align-items: center;}
.sub-rowsec-wrap ~ .sub-rowsec-wrap {margin-top: 30px;}
.sub-rowsec-title {align-self: start; display: inline-block; padding: 4px; border-radius: 999px; background-color: var(--sub-color); border: 2px solid var(--main-color); color: var(--black-color); text-align: center; font-size: var(--font-18); font-weight: 600;}
.seb-rowsec-desc {color: var(--black-color); font-weight: 500; font-size: var(--font-18);}
/* } 뱃지 모양 레이블 달린 그리드 레이아웃 */

/* 게시판 공통 */
/* 게시판 검색 영역 { */
.board-search-wrap {display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: 16px 100px; padding: 40px 48px; border-radius: 10px; background-color: #f0f0f0;}
.board-search-item {position: relative; display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; width: calc((100% - 100px) / 2);}
.board-search-label {display: inline-block; position: relative; padding-left: 1em; color: var(--black-color); font-weight: 500; font-size: var(--font-18); line-height: normal; word-wrap: break-word; word-break: break-all;}
.board-search-label::before {content: ''; position: absolute; top: 8px; left: 0; display: inline-block; width: 5px; height: 5px; border-radius: 999px; background-color: var(--black-color);}
.board-search-item .sub-btn {position: absolute; left: calc(100% + 18px);}

.board-search-inner {margin: 0 auto; font-size: 0;}
.board-search-inner > * {vertical-align: middle;}
.board-search-inner .i-input {margin: 0 1rem;}
.board-search-inner .i-select {width: 222px;}

.board-search {font-size: 0;}
.board-search > * {vertical-align: middle;}
.board-search .i-input {width: 310px; margin-right: 6px;}
.board-search .sub-btn {min-width: 53px; font-size: var(--font-25);}
/* } 게시판 검색 영역 */

/* 게시판 목록 상단 { */
.board-top {display: flex; align-items: center; justify-content: space-between; gap: 10px 30px; margin-bottom: 16px;}
.board-info {color: var(--black-color); font-weight: 500; line-height: 1.1875;}
/* } 게시판 목록 상단 */

/* 게시판 목록 { */
.board-wrap {}
.board-list {border-top: 2px solid var(--black-color);}
.board-list-item {display: flex; align-items: stretch; justify-content: start;}
.board-list-item ~ .board-list-item {border-bottom: 1px solid var(--line-color);}
.board-list-item.board-head-item {background-color: #F6F7F7;}
.board-list-item.board-head-item .board-col {color: var(--black-color); font-weight: 600; text-align: center;}
.board-list-item:hover {background-color: #F7F6F6;}
.board-list-item:not(.board-head-item):hover .board-col[data-th="승인기관"], .board-list-item:not(.board-head-item):hover .board-col > a {color: var(--black-color); font-weight: 500; text-decoration: underline;}

.board-col {display: inline-flex; align-items: center; justify-content: center; min-height: 60px; padding: 5px 15px; color: #444444; text-align: center; line-height: 1.278; font-weight: 400; font-size: var(--font-18); word-wrap: break-word; word-break: break-all;}
.board-col ~ .board-col {border-left: 1px solid var(--line-color);}
.board-col-min {width: 100px;}
.board-col-num {width: 70px;}
.board-col-s {width: 120px;}
.board-col-m {width: 190px;}
.board-col-l {width: 260px;}
.board-col-max {flex: 1; min-width: 0;}
.board-list-item:not(.board-head-item) .board-col.align-left {justify-content: start;}
.board-col-max > a {max-width: 100%; white-space: normal; overflow: hidden; max-height: 1.3em; text-align: left; word-wrap: break-word; word-break: break-all; display: -webkit-box; -webkit-line-clamp: 1; line-clamp: 1; -webkit-box-orient: vertical;}
.board-notice-item .board-col-max > a {color: var(--sky-color) !important;}
.board-col-date {width: 135px;}

.company-list > li::after {content: ',';}
.company-list > li:last-child::after {display: none;}

.status-badge {padding: 6px; min-width: 56px; border-radius: 999px; background-color: var(--line-color); color: var(--gray-color); text-align: center; font-weight: 600; font-size: 1rem; line-height: 1; white-space: nowrap;}
.status-badge.color1 {background-color: #E9F5F4; color: #009B91;}
.status-badge.color2 {background-color: #F6EAE0; color: #E36200;}
.status-badge.color3 {background-color: #E5EAF6; color: #267EE3;}
.status-badge.color4 {background-color: #F6E8ED; color: #D5000B;}
.status-badge.color5 {background-color: #FAEEFB; color: #7f1dc1;}
.status-badge.color6 {background-color: #EDFEFD; color: #00ABD5;}
.status-badge.color7 {background-color: #D3F6DE; color: #589900;}
.status-badge.color8 {background-color: #EDEFFE; color: #003CD5;}
.status-badge.color9 {background-color: #F0F5E9; color: #969B00;}
.status-badge.color10 {background-color: #FFEBFE; color: #BC47F6;}

/* 파일유형 */
.icon-filetype {flex: none; display: inline-block; width: 29px; aspect-ratio: 286 / 264;}
.icon-filetype.doc {background: url("../img/doc-icon.svg") no-repeat center center / contain;}
.icon-filetype.pdf {background: url("../img/pdf-icon.svg") no-repeat center center / contain;}
.icon-filetype.file {background: url("../img/file-icon.svg") no-repeat center center / contain;}
.icon-filetype.xls {background: url("../img/xls-icon.svg") no-repeat center center / contain;}
.icon-filetype.img {background: url("../img/img-icon.svg") no-repeat center center / contain;}
.icon-filetype.ppt {background: url("../img/ppt-icon.svg") no-repeat center center / contain;}
.icon-filetype.hwp {background: url("../img/hwp-icon.svg") no-repeat center center / contain;}
.icon-filetype.zip {background: url("../img/zip-icon.svg") no-repeat center center / contain;}
.icon-filetype.vod {background: url("../img/vod-icon.svg") no-repeat center center / contain;}

/* 첨부파일 */
.attachment-list {}
.attachment-list > li {display: flex; align-items: start; gap: 17px;}
.attachment-list > li ~ li {margin-top: 12px;}
.attachment-link {flex: 1; align-self: center; position: relative; padding-left: 1.7em; color: #267EE3; line-height: 1.2; word-wrap: break-word; word-break: break-all; text-underline-offset: 3px;}
.attachment-link:hover {text-decoration: underline;}
.attachment-link::before {content: '\EEB2'; font-family: 'remixicon' !important; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: absolute; top: 0; left: 0;}

/* 뱃지 */
.board-badge {display: inline-block; min-width: 48px; padding: 3px 10px; border-radius: 3px; background-color: var(--sub-color); color: var(--main-color); line-height: 1.4375; font-weight: 500; text-align: center; font-size: 1rem;}
.badge-list {display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 5px 9px;}

/* 게시물 없음 */
.board-empty {padding: clamp(50px, 10vw, 80px) 1rem; background-color: #fafafa; border-top: 2px solid var(--black-color); border-bottom: 1px solid var(--line-color); color: var(--black-color); font-size: var(--font-18); text-align: center;}
/* } 게시판 목록 */

/* 게시판 - 페이징 { */
.board-pagination {margin-top: 60px;}
.board-pagination-list {display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px;}
.board-pagination-list .page-link {display: inline-flex; align-items: center; justify-content: center; width: 40px; aspect-ratio: 1 / 1; border-radius: 0px; color: var(--gray-color); line-height: 1;}
.board-pagination-list > .i.disabled > .page-link {opacity: 0.6; cursor: default; pointer-events: none;}
.board-pagination-list > .i > .page-link {border: 1px solid var(--line-color); font-size: var(--font-20);}

.board-pagination-list > .num {}
.board-pagination-list > .num > .page-link {border: 1px solid var(--line-color); font-size: var(--font-15); font-weight: 400; transition: 0.3s;}
.board-pagination-list > .num > .page-link:where(:hover, :active, :focus) {background-color: #f4f4f4;}
.board-pagination-list > .num.active {}
.board-pagination-list > .num.active > .page-link {background-color: #3a3a3a; color: var(--white-color);}
/* } 게시판 - 페이징 */

/* 게시판 목록 하단 { */
.board-btns-wrap {display: flex; align-items: center; justify-content: end; gap: 8px;}
.board-btns-wrap.center {justify-content: center;}
.sub-table-wrap .board-btns-wrap {margin-top: 100px;}
/* } 게시판 목록 하단 */

/* 서브페이지 테이블 { */
.sub-table-wrap {}
.sub-table {border-top: 2px solid var(--black-color);}
.sub-table {display: flex; align-items: stretch; justify-content: start; flex-wrap: wrap;}
.sub-table-item {display: grid; grid-template-columns: 260px 1fr; width: 50%; border-bottom: 1px solid var(--line-color);}
.sub-table-item:nth-child(even) {border-left: 1px solid var(--line-color);}
.sub-table-item.full {border-left: none; width: 100%;}

.sub-table-item > div {display: inline-flex; align-items: center; justify-content: start; min-height: 52px; padding: 12px 16px;}
.sub-table-item > .th {justify-content: center; background-color: #F6F7F7; border-right: 1px solid var(--line-color); color: var(--black-color); text-align: center; font-weight: 600; font-size: var(--font-18);}
.sub-table-item > .td {justify-content: start; text-align: left; color: #444444; font-weight: 400; font-size: var(--font-18);}
/* } 서브페이지 테이블 */

/* 서브페이지 섹션 탭 { */
.sub-tabs-wrap {margin-bottom: 64px;}
.sub-tabs-ul {display: flex; align-items: end; gap: 16px;}
.sub-tabs-li {flex: 1;}
.sub-tab-btn {width: 100%; min-height: 55px; padding: 5px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; border: 1px solid var(--line-color); background-color: var(--white-color); color: var(--black-color); font-weight: 600; font-size: var(--font-20); line-height: 1; word-wrap: break-word; word-break: break-all; transition: box-shadow 0.3s;}
.sub-tab-btn:hover {box-shadow: inset 0 -4em 0 rgba(0, 0, 0, 0.1);}
.sub-tab-btn.active {border-color: #484848 !important; background-color: #484848; color: var(--white-color);}

.info-view-content {display: none;}
.info-view-content.active {display: block;}
/* } 서브페이지 섹션 탭 */

/* 주민의견수렴 */
.sub-summary-block {}
.sub-table-wrap + .sub-summary-block {margin-top: 64px;}
.sub-summary-block > .label {display: inline-flex; align-items: center; justify-content: center; min-width: 260px; min-height: 54px; padding: 5px; background-color: #ebebeb; border: 1px solid var(--line-color); border-bottom: none; border-radius: 5px 5px 0 0; text-align: center; font-weight: 600; font-size: var(--font-18); line-height: normal;}
.sub-summary-block > .content {min-height: 160px; padding: 26px 28px; background-color: var(--white-color); border: 1px solid var(--line-color);}

/* 서브페이지 배너 */
.sub-banner {display: flex; align-items: center; justify-content: center; gap: 30px; padding: 40px 90px 50px; border-radius: 10px; background-color: var(--sub-color); border: 1px solid #C3D1F0; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); text-align: center;}
.sub-banner > .icon {flex: none; display: inline-block; width: 111px; aspect-ratio: 111 / 107; margin-right: auto; background: url("../img/illust-folder.png") no-repeat center center / contain;}
.sub-banner:has(> .icon)::after {content: ''; flex: none; display: inline-block; width: 111px;} /* 여백 비율 및 텍스트 위치를 잡기 위함 */
.sub-banner > .text-wrap {flex: 1;}
.sub-banner .t1 {color: #444444; line-height: 1.2778; font-size: var(--font-18); font-weight: 500;}
.sub-banner .t2 {width: fit-content; margin: 0 auto; position: relative; padding-left: 1.4em; line-height: 1.4375; font-weight: 500;}
.sub-banner .t1 + .t2 {margin-top: 28px;}
.sub-banner .t2 > i {position: absolute; top: 0; left: 0;}

/* 게시판 작성 폼 { */
.sub-table-item .i-select {padding-left: 13px;}
.sub-table-item .i-input {padding: 0 13px;}
.sub-table-item .i-textarea {padding: 13px;}
.sub-table-item :where(.i-select, .i-input, .sub-btn) {height: 40px;}
.sub-table-item :where(.i-select, .i-input, .sub-btn, .i-textarea) {border-radius: 3px;}
/* } 게시판 작성 폼 */

/* 게시판 상세 { */
.board-view-wrap {border-bottom: 2px solid var(--black-color);}
.board-view-head {padding: 0 40px 20px; border-bottom: 1px solid var(--line-color);}
.board-view-title {margin-bottom: 30px; color: var(--black-color); font-size: var(--font-23); font-weight: 500; line-height: 1.174;}
.board-view-info-ul {display: flex; align-items: center; flex-wrap: wrap;}
.board-view-info-li {position: relative; font-size: 1rem; font-weight: 500;}
.board-view-info-li:first-child {margin-right: auto;}
.board-view-info-li ~ .board-view-info-li {padding-right: 20px; margin-right: 20px;}
.board-view-info-li ~ .board-view-info-li::after {content: ''; position: absolute; top: 50%; left: 100%; transform: translateY(-50%); display: inline-block; width: 2px; height: 11px; background-color: var(--line-color);}
.board-view-info-li:last-child {padding-right: 0; margin-right: 0;}
.board-view-info-li:last-child::after {display: none;}
.board-view-info-li > .label {margin-right: 5px; color: var(--black-color);}
.board-view-info-li > .value {color: var(--gray-color);}

.board-view-body {padding: 40px 30px 60px;}
.board-view-content {color: #444444; font-weight: 500; font-size: var(--font-18); line-height: 1.5;}

.board-view-foot {}
.board-view-foot .sub-table-item {grid-template-columns: 160px 1fr; border-top: 1px solid var(--line-color); border-bottom: none;}
/* } 게시판 상세 */

/* 관련 법령 및 규정 { */
.regulation-page-title {font-weight: 400; font-size: 28px; color: var(--black-color); line-height: 1;}
.regulation-page-desc {font-weight: 400; font-size: 18px; color: #444444; line-height: 1.55; margin-top: 10px;}

.regulation-paragraph-head {}
.regulation-paragraph-head .head-title {display: flex; align-items: flex-start; gap: 0 10px; font-weight: 700; font-size: 20px; color: var(--black-color); line-height: 1.4;}
.regulation-paragraph-head .head-title .icon {display: flex; align-items: center; justify-content: center; width: 28px; aspect-ratio: 1 / 1; border-radius: 50%; border: 3px solid var(--black-color); font-size: 15px; line-height: 1;}
.regulation-paragraph-head .head-title span:last-child {flex: 1;}
.regulation-paragraph-body {padding-top: 14px; padding-left: 37px;}
.regulation-paragraph-body .r-text-list {}
.regulation-paragraph-body .r-text-list li {position: relative; padding-left: 11px;}
.regulation-paragraph-body .r-text-list li ~ li {margin-top: 8px;}

.regulation-paragraph-body .round-num-type {padding-top: 5px;}
.regulation-paragraph-body .round-num-type > li {padding-left: 35px;}

.regulation-paragraph-body .num-type {padding-top: 8px;}
.regulation-paragraph-body .num-type > li {padding-left: 16px;}
.regulation-paragraph-body .num-type > li ~ li {margin-top: 2px;}

.regulation-paragraph-body .dot-text {font-weight: 400; font-size: 16px; color: #444444; line-height: 1.75;}
.regulation-paragraph-body .dot-text::before {content: ''; width: 4px; aspect-ratio: 1 / 1; border-radius: 50%; background-color: var(--black-color); position: absolute; top: 11px; left: 0;}

.regulation-paragraph-body .round-num-text {font-weight: 400; font-size: 17px; color: #444444; line-height: 1.647;}
.regulation-paragraph-body .round-num-text::before {content: attr(data-num); display: flex; align-items: center; justify-content: center; width: 24px; aspect-ratio: 1 / 1; border-radius: 50%; background-color: var(--point-color); font-weight: 600; font-size: 14px; color: var(--white-color); position: absolute; top: 2px; left: 0;}

.regulation-paragraph-body .num-text {font-weight: 400; font-size: 17px; color: #444444; line-height: 1.647;}
.regulation-paragraph-body .num-text::before {content: attr(data-num); position: absolute; top: 0; left: 0;}
/* } 관련 법령 및 규정 */