@charset "utf-8";

.point {color: var(--main-primary-50);}

/*여권발급*/
.epassport {display: flex;}
.epassport dl {text-align: center; border-radius: 0.8rem; box-sizing: border-box;}
.epassport dl dt {padding: 1.6rem; height: 5.6rem; font-size: 1.6rem; font-weight: 700; letter-spacing: -0.03rem; border-radius: 0.8rem 0.8rem 0 0;}
.epassport dl dd {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; padding: 3.4rem 1rem; width: 100%; min-height: 28.1rem; height: calc(100% - 5.6rem); border-radius: 0 0 0.8rem 0.8rem;}
.epassport dl.before {flex: 0 0 auto; position: relative; margin-right: 4.8rem; width: 34rem; border: 1px solid #CCC; background: #F6F6F6;}
.epassport dl.before::before {content: ''; position: absolute; right: -3.8rem; top: 0; bottom: 0; margin: auto; width: 2.9rem; height: 2.9rem; background: url(../img/contents/epassport-arr.svg) no-repeat center / 2.8rem;}
.epassport dl.before dt {background: #fff;}
.epassport dl.after {flex: 1 1 auto; width: 100%; border: 1px solid transparent; background-image: linear-gradient(#fff, #fff), var(--gra-green); background-origin: border-box; background-clip: content-box, border-box; -webkit-background-clip: content-box, border-box; box-sizing: border-box;}
.epassport dl.after dt {color: #fff; background: var(--gra-green);}

/* 지적재조사사업 */
.resurvey_land .img-list {display: flex; gap: 8rem; margin-top: 2rem;}
.resurvey_land .img-list > li {position: relative; max-width: calc(33.3% - 16rem / 3);}
.resurvey_land .img-list > li::before {content: ''; position: absolute; right: -4rem; top: 0; height: 100%; border-right: 1px solid #eee;}
.resurvey_land .img-list > li:nth-last-child(1):before {display: none;}
.resurvey_land .img-list > li .img {margin-bottom: 4rem;}
.resurvey_land .img-list > li .txt {line-height: 2.4rem; letter-spacing: 0.01rem;}
.resurvey_land .img-list.ver2 {flex-wrap: wrap; gap: 4rem; justify-content: space-between;}
.resurvey_land .img-list.ver2 > li::before {display: none;}
.resurvey_land .img-list.ver2 > li .img {margin-bottom: 1.6rem;}
.resurvey_land .img-list.ver2 > li .tit {display: flex; align-items: center; gap: 1rem; margin: 0 0.4rem 1.2rem; font-size: 1.9rem; font-weight: 500; line-height: 2.4rem; letter-spacing: -0.1rem;}
.resurvey_land .img-list.ver2 > li .tit span {display: inline-block; text-align: center; width: 2.4rem; height: 2.4rem; color: #FFF; font-size: 1.4rem; font-weight: 700; line-height: 2.4rem; border-radius: 0.2rem; background: #2A2A2A;}
.resurvey_land .img-list.ver2 > li .txt {margin-left: 0.4rem; margin-right: 0.4rem;}
.resurvey_land .comparison {margin-top: 2.1rem;}
.resurvey_land .comparison dl {display: flex; justify-content: space-between; gap: 3rem;}
.resurvey_land .comparison dt {display: flex; align-items: center; justify-content: center; padding: 1.6rem; width: 12rem; font-size: 1.6rem; font-weight: 700; line-height: 2.7rem; letter-spacing: -0.03rem; border-radius: 0.8rem; border: 1px solid #CCC;}
.resurvey_land .comparison dd {width: 100%;}
.resurvey_land .comparison ul {display: flex; justify-content: space-between; gap: 1rem;}
.resurvey_land .comparison ul li {display: flex; flex-direction: column; align-items: center; width: calc(33.3% - 2rem / 3); max-width: 26.6rem; font-size: 1.6rem; font-weight: 500; line-height: 2.7rem; letter-spacing: -0.03rem;}
.resurvey_land .comparison ul li .tit {text-align: center; height: 3.8rem; line-height: 3.8rem; width: 100%; border-radius: 0.8rem 0.8rem 0 0; z-index: 1;}
.resurvey_land .comparison ul li .img {margin-top: -3.8rem; border-radius: 0 0 0.8rem 0.8rem; overflow: hidden;}
.resurvey_land .comparison .before ul li .tit {background: #F5F5F5;}
.resurvey_land .comparison .after {margin-top: 3.6rem;}
.resurvey_land .comparison .after dt {position: relative; color: #fff; border-color: #fff; background: var(--gra-green);}
.resurvey_land .comparison .after dt::after {content: ''; position: absolute; left: 0; right: 0; margin: auto; top: -3.2rem; width: 2.8rem; height: 2.8rem; background: url(../img/contents/epassport-arr.svg) no-repeat center / 2.8rem; transform: rotate(90deg);}
.resurvey_land .comparison .after ul li {position: relative;}
.resurvey_land .comparison .after ul li::after {content: ''; position: absolute; left: 0; right: 0; margin: auto; top: -3.2rem; width: 2.8rem; height: 2.8rem; background: url(../img/contents/epassport-arr.svg) no-repeat center / 2.8rem; transform: rotate(90deg);}
.resurvey_land .comparison .after ul li .tit {color: #fff; background: var(--gra-green);}
.resurvey_land .comparison .caption {display: flex; justify-content: center; gap: 4rem; margin-top: 2rem;}
.resurvey_land .comparison .caption p {position: relative; padding-left: 6.8rem; color: #545454; font-weight: 500; line-height: 160%; letter-spacing: -0.03rem;}
.resurvey_land .comparison .caption p::before {content: ''; position: absolute; left: 0; top: calc(50% - 0.9rem); width: 6rem; height: 1.8rem; border-radius: 0.9rem; border: 0.1rem solid #fff;}
.resurvey_land .comparison .caption p::after {content: ''; position: absolute; left: 0.8rem; top: calc(50% - 0.05rem); width: 4.4rem; height: 0.2rem;}
.resurvey_land .comparison .caption p:nth-child(1):before {background: #666;}
.resurvey_land .comparison .caption p:nth-child(1):after {background: #fff;}
.resurvey_land .comparison .caption p:nth-child(2):before {background: #fff; border: 0.1rem solid #CCC;}
.resurvey_land .comparison .caption p:nth-child(2):after {background: #C32727;}

/* 체험/견학신청 */
.sudoguksan .info_box {display: flex; gap: 1.3rem; margin-top: 1rem;}
.sudoguksan .info_box > dl {position: relative; flex: 1 1 auto; border: 0.3rem solid #eee; border-radius: 0.7rem;}
.sudoguksan .info_box > dl dt {margin-bottom: 1rem; font-weight: bold; font-size: 1.8rem;}
.sudoguksan .info_box > dl dd {font-size: 1.6rem;}
.sudoguksan .info_box > dl dd span {font-size: 1.5rem;}
.sudoguksan .info_box.info01 > dl {flex-basis: 50%; padding: 3.5rem 7rem 3.5rem 20%;}
.sudoguksan .info_box.info01 > dl:after {left: 14%; top: calc(50% - 4.2rem); background-color: var(--sub);}
.sudoguksan .info_box.info02 > dl {flex-basis: 33.3%; min-width: 0; text-align: center; padding: 14.3rem 0 3rem 0;}
.sudoguksan .info_box.info02 > dl:after {left: 0; right: 0; top: 3.5rem; margin: auto; background-color: #605ca8;}
.sudoguksan .exclamation li {padding-top: 0.5rem; padding-left: 5rem; background: url(../img/contents/ic_exclamation.png) no-repeat 0.5rem 0.5rem / 2.8rem;}
.sudoguksan .plus li {padding-top: 0.5rem; padding-left: 5rem; background: url(../img/contents/ic_plus.png) no-repeat 0.5rem 0.5rem / 2.7rem;}
.sudoguksan .list_con {margin-top: 2rem; border-top: 0.2rem solid var(--sub);}
.sudoguksan .list_con > li {margin-top: 1.5rem; padding-bottom: 1.6rem; font-size: 1.6rem; border-bottom: 1px dashed #ddd;}
.sudoguksan .ic_time::after {content: ''; position: absolute; width: 8.3rem; height: 8.3rem; border-radius: 100%; background: url(../img/contents/ic_time.svg) center no-repeat;  background-size: 100%;}
.sudoguksan .ic_closed::after {content: ''; position: absolute; width: 8.3rem; height: 8.3rem; border-radius: 100%; background: url(../img/contents/ic_closed.svg) center no-repeat; background-size: 100%;}
.sudoguksan .ic_fee::after {content: ''; position: absolute; width: 8.3rem; height: 8.3rem; border-radius: 100%; background: url(../img/contents/ic_fee.svg) center no-repeat; background-size: 100%;}
.sudoguksan .ic_day::after {content: ''; position: absolute; width: 8.3rem; height: 8.3rem; border-radius: 100%; background: url(../img/contents/ic_day.svg) center no-repeat; background-size: 100%;}
.sudoguksan .ic_incheon::after {content: ''; position: absolute; width: 8.3rem; height: 8.3rem; border-radius: 100%; background: url(../img/contents/ic_day.svg) center no-repeat; background-size: 100%;}
.sudoguksan .ic_allarea::after {content: ''; position: absolute; width: 8.3rem; height: 8.3rem; border-radius: 100%; background: url(../img/contents/ic_day.svg) center no-repeat; background-size: 100%;}
.sudoguksan .noapply {padding: 20px; border: 1px solid var(--krds-light-color-border-point); border-radius: 3px; word-break: keep-all; word-wrap: break-word; font-size: 2rem; text-align: center;}
.sudoguksan .noapply .alert {display: inline-block; padding: 4px 0px 0px; padding-left: 35px; background: url(../img/contents/ic_alert.png) no-repeat left 1px/32px; color: var(--krds-light-color-border-point); font-weight: bold;}
.sudoguksan_reserve {display: flex; flex-wrap: wrap; gap: 1%}
.sudoguksan_reserve > li {text-align: center; margin-top: 1%; width: 49.5%; border: 1px solid #ddd; border-radius: 0.7rem}
.sudoguksan_reserve > li a {display: block; padding: 10% 2%; background: url(../img/contents/ic_reserve_bg.png) no-repeat 38% 10% / 10rem}
.sudoguksan_reserve > li.moon a {background-image: url(../img/contents/ic_reserve_moon.png)}
.sudoguksan_reserve > li.play a {background-image: url(../img/contents/ic_reserve_play.png)}
.sudoguksan_reserve > li.match a {background-image: url(../img/contents/ic_reserve_match.png); background-position-y: 25%}
.sudoguksan_reserve > li a:before {display: block; content: ''; margin: 0px auto 2rem; width: 7rem; height: 7rem; background-repeat: no-repeat; background-position: center center; background-size: 100%}
.sudoguksan_reserve .reserve_tit01:before {background-image: url(../img/contents/ic_reserve01.png)}
.sudoguksan_reserve .reserve_tit02:before {background-image: url(../img/contents/ic_reserve02.png)}
.sudoguksan_reserve .reserve_tit03:before {background-image: url(../img/contents/ic_reserve03.png)}
.sudoguksan_reserve .reserve_tit04:before {background-image: url(../img/contents/ic_reserve04.png)}
.sudoguksan_reserve .reserve_tit05:before {background-image: url(../img/contents/ic_reserve05.png)}
.sudoguksan_reserve .reserve_tit06:before {background-image: url(../img/contents/ic_reserve06.png)}
.sudoguksan_reserve > li .place {display: block}
.sudoguksan_reserve > li .tit {margin-top: 3rem; font-size: 1.8rem; font-weight: bold}
.sudoguksan_reserve > li .place + .tit {margin-top: 0.2rem}

.lifelong .photo-box {border-radius: 0.8rem; width: 100%;}
.lifelong .list-photo {display: flex; gap: 4rem; padding: 2rem 0; border-top: 1px dashed #A9A9A9;}
.lifelong .list-photo:first-of-type {padding-top: 0; border-top: 0;}
.lifelong .list-photo .blet {padding-left: 2.2rem; font-size: 1.8rem; font-weight: 700; background: url(../img/contents/ico_list_photo_blet.svg) no-repeat left center;}
.lifelong .list-photo .photo {max-width: 32rem; font-size: 0; line-height: 0; overflow: hidden;}
.lifelong .list-photo .photo img {border-radius: 0.8rem;}
.lifelong .list-photo > div {width: 100%;}

/*사진*/
h4 + .photo-box {margin-top: 3rem;}
.photo-box {text-align: center;}
.photo-box img {border-radius: 0.8rem; box-shadow: 1.2rem 1.2rem 2rem 0 rgba(0, 0, 0, 0.12);}
.photo-box-list {display: flex; flex-wrap: wrap; gap: 1rem;}
.photo-box-list li {display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; text-align: left; width: calc(33.3% - 2rem / 3); border-radius: 0.8rem; background: #f5f5f5; padding: 3rem 2rem; overflow: hidden;}
.photo-box-list li:only-child {width: 50%;}
.photo-box-list li:first-child:nth-last-child(2)~li,
.photo-box-list li:first-child:nth-last-child(2) {width: calc(50% - 1rem);}
#detail_con .photo-box-list li h3 {margin-bottom: 0;}
.photo-box-list li .tit span {display: inline-block; color: #666; font-size: 1.4rem; padding: 0 1.5rem; word-break: keep-all;}
.photo-box-list li .img {flex: 0 0 auto; width: 100%; height: 22rem; padding: 0; line-height: 0; overflow: hidden; border-radius: 1rem; overflow: hidden;}
.photo-box-list li:only-child .img {height: 30rem;}
.photo-box-list li .img img {display: block; width: 100%; height: 100%; object-fit: cover;}
.photo-box-list li .img02 {height: 28rem;}

/*조직도*/
.organization {position: relative; margin-top: 3rem; --list-width: calc((100% - 5 * 1.6rem) / 6);}
.organization a {display: block; position: relative;}
.organization a::before {content: ''; position: absolute;}

.organization .rank1 {text-align: center; width: 100%;}
.organization .rank1 > a {display: flex; align-items: center; justify-content: center; margin: 0 auto 9rem auto; width: 24rem; height: 5rem; color: #fff; font-size: 1.8rem; border-radius: 8px; background: var(--main-primary-50);}
.organization .rank1 .rank1-1 {position: absolute; left: calc(50% + 16rem); top: 7rem;}
.organization .rank1 .rank1-1 > a {display: flex; align-items: center; justify-content: center; width: 24rem; height: 5rem; font-size: 1.8rem; border-radius: 8px; background: #F5F5F5; border: 1px solid var(--krds-light-color-border-gray);}

.organization .rank2 > a {display: flex; align-items: center; justify-content: center; margin: auto; width: 24rem; height: 5rem; color: #fff; font-size: 1.8rem; border-radius: 8px; background: var(--main-secondary-60);}
.organization .rank2 > a > span {display: inline-block; padding: 0.5rem 0;}
.organization .rank2 > ul {display: flex; justify-content: flex-start; align-items: stretch; gap: 1.6rem; position: relative; margin-top: 2.8rem;}
.organization .rank2 > ul > li {position: relative; display: flex; flex-direction: column; margin-top: 3.2rem; width: 100%; min-width: 0; max-width: 18.6rem; background: #7C8993; border-radius: 1rem; border: 1px solid var(--krds-light-color-border-gray);}
.organization .rank2 .none > p::before {width: 0;}
.organization .rank2 .tit {flex-shrink: 0; display: flex; align-items: center; justify-content: center; height: 5rem; font-size: 1.8rem; color: #fff;}
.organization .rank2 ul ul {text-align: left; padding: 2.2rem 2rem; height: 100%; border-radius: 0.8rem 0.8rem 0.9rem 0.9rem; background: #fff; box-sizing: border-box;}
.organization .rank2 ul ul li {margin-top: 0.6rem;}
.organization .rank2 ul ul li:first-child {margin-top: 0;}
.organization .rank2 ul ul li a {padding-left: 1.2rem; color: var(--krds-light-color-text-subtle); font-weight: 400; font-size: 1.6rem;}
.organization .rank2 ul ul li a::before {left: 0; top: 1rem; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: #E3E3E3;}

.organization .rank2 .part1-1 {border-radius: 0; width: 5rem;}
.organization .rank2 .part1-1 ul {display: flex; gap: 0.8rem; position: relative; text-align: center; padding: 0; border: none;}
.organization .rank2 .part1-1 li {margin-top: 0;}
.organization .rank2 .part1-1 li a {height: 100%; padding: 1.3rem 1.5rem; line-height: 115%; border-radius: 0.2rem;}
.organization .rank2 .part1-1 li a::before {top: -1.9rem; height: 1.6rem;}
.organization .rank2 .part2 > li {flex: 0 0 calc(var(--list-width));}
.organization .rank2 .part2 .dong {flex: 3; max-width: unset;}
.organization .rank2 .part2 .dong ul {display: flex; flex-wrap: wrap; gap: 0 4rem;}
.organization .rank2 .part2 .dong ul li {width: calc(33.3% - 2.7rem);}

.organization .rank1 > a::before {left: 50%; right: 0; top: 100%; width: 1px; height: 200%; background: var(--krds-light-color-border-gray); z-index: -1; transform: translateX(-50%);}
.organization .rank1 .rank1-1 > a::before {left: -67.5%; top: 0; bottom: 0; width: 68%; height: 1px; margin: auto; background: var(--krds-light-color-border-gray); z-index: -1;}
.organization .rank2 > a::before {left: 0; right: 0; top: 100%; width: 1px; height: 2.8rem; margin: auto; background: var(--krds-light-color-border-gray); z-index: -1;}
.organization .rank2 .tit::before {content: ''; position: absolute; left: 0; right: 0; top: -3.2rem; width: 1px; height: 3.2rem; margin: auto; background: var(--krds-light-color-border-gray); z-index: -1;}
.organization .rank2 .part1::before {content: ''; position: absolute; top: 0; left: 50%; width: calc(100% - var(--list-width)); height: 1px; margin: auto; background: var(--krds-light-color-border-gray); z-index: -1; transform: translateX(-50%);}
.organization .rank2 .part1-1 ul::before {content: ''; position: absolute; left: 2.5rem; right: 0; top: -3.3rem; width: 16.1rem; height: 1px; margin: auto; background: var(--krds-light-color-border-gray); z-index: -1;}
.organization .rank2 .part1-1 ul::after {content: ''; position: absolute; left: 0; right: 0; top: -3.3rem; width: 1px; height: 1.6rem; margin: auto; background: var(--krds-light-color-border-gray); z-index: -1;}
.organization .rank2 .part2::before {content: ''; position: absolute; left: calc(var(--list-width) / 2); top: 0; width: calc(var(--list-width) * 3 + 4.8rem); height: 1px; margin: auto; background: var(--krds-light-color-border-gray); z-index: -1;}
.organization .rank2 .part2::after {content: ''; width: 100%; max-width: 18.6rem; flex: 0 0 calc(var(--list-width));}
.organization .rank2 .part2 .tit::before {}

/*대표소셜미디어*/
.sns {display: flex; flex-direction: column; padding: 8rem; border-radius: 3rem; background: #F5F5F5 url(../img/contents/bg_sns_box.png) no-repeat right 8rem top 10.4rem;}
.sns .sns-con {position: relative;}
.sns .sns-con .tit-box dt {font-size: 2.8rem; font-weight: 600;}
.sns .sns-con .tit-box dd {margin-top: 1.2rem; font-size: 1.8rem;}
.sns .sns-con .sns-box {display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 30px;}
.sns .sns-con .sns-box > li {flex: 1; min-width: 0; text-align: center; border-radius: 2rem; overflow: hidden;}
.sns .sns-con .sns-box > li a {display: block; position: relative; padding: 14rem 1rem 5rem 1rem; color: #fff; font-size: 1.8rem; font-weight: 700;}
.sns .sns-con .sns-box > li a::before {content: ''; position: absolute; left: 0; right: 0; top: 5rem; margin: auto; width: 7rem; height: 7rem; background-repeat: no-repeat; background-position: center; background-size: 100%;}
.sns .sns-con .sns-box > li.blog a {color: var(--krds-light-color-text-basic); background: #32B44A;}
.sns .sns-con .sns-box > li.blog a::before {background-image: url(../img/contents/ico_cont_sns_blog.png);}
.sns .sns-con .sns-box > li.facebook a {background: #3B579D;}
.sns .sns-con .sns-box > li.facebook a::before {background-image: url(../img/contents/ico_cont_sns_fb.png);}
.sns .sns-con .sns-box > li.youtube a {background: #CE1312;}
.sns .sns-con .sns-box > li.youtube a::before {background-image: url(../img/contents/ico_cont_sns_yt.png);}
.sns .sns-con .sns-box > li.insta a {background: linear-gradient(320deg, #4264DB 4.7%, #4D60D4 7.43%, #B43D97 33.88%, #DD2F7F 45.73%, #E03675 52.11%, #E84A5A 62.14%, #F6692F 74.9%, #FA7321 78.55%, #FB832E 82.2%, #FDAD4E 88.58%, #FFDB73 95.87%), #32B44A;}
.sns .sns-con .sns-box > li.insta a::before {background-image: url(../img/contents/ico_cont_sns_is.png);}
.sns .sns-con .sns-box > li.kakao a {color: var(--krds-light-color-text-basic); background: #FEE800;}
.sns .sns-con .sns-box > li.kakao a::before {background-image: url(../img/contents/ico_cont_sns_kt.png);}
.sns .sns-con .sns-box > li.carrot a {color: var(--krds-light-color-text-basic); background: #fff;}
.sns .sns-con .sns-box > li.carrot a::before {background-image: url(../img/contents/ico_cont_sns_cr.png);}
.sns .sns-info {padding-top: 4rem; padding-left: 10rem; margin-top: 5rem; border-top: 1px solid var(--krds-light-color-border-disabled); background: url(../img/contents/ico_sns_alert.svg) no-repeat left 4rem;}
.sns .sns-info .tit {margin-bottom: 1rem; font-size: 1.6rem; font-weight: 500;}

/*기계설비*/
.machine_law {display: flex; justify-content: center; width: 100%;}
.machine_law p {position: relative; display: inline-block; margin-top: 5rem; margin-right: 0.8rem; line-height: 0; font-size: 0; border: 1px solid #EEE; box-shadow: 0 0.1rem 2rem 0 rgba(0, 0, 0, 0.04);}
.machine_law p::after {content: ''; position: absolute; right: -0.8rem; bottom: -0.8rem; width: 100%; height: 100%; border: 1px solid #EEE; z-index: -1;}

/*아동친화*/
.cfc-tbox {position: relative; padding: 2rem 0 0 2rem; border-radius: 3rem; background: linear-gradient(180deg, #96C0FF 0%, #ED926B 100%);}
.cfc-tbox .con {display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 3rem 3rem 3rem 15rem; min-height: 16rem; background: #fff url(../img/contents/ico_cfc_child.png) no-repeat left 3rem center; border-radius: 3rem 3rem 0 0; line-height: 1.5;}
.cfc-tbox .con .tit {font-size: 1.8rem; font-weight: 600;}
.cfc-tbox .con .txt {margin-top: 1.6rem;}
.cfc-introduce .list01 {margin-top: 2rem; padding: 5rem; border-radius: 3rem; background: #F6F9FF;}
.cfc-introduce .list01 .tit {font-size: 2.2rem; text-align: center; font-weight: 600;}
.cfc-introduce .list01 .tit strong {color: var(--main-primary-50);}
.cfc-introduce .list01 ol {position: relative; margin-top: 4rem;}
.cfc-introduce .list01 ol li {padding: 1rem 0; border-bottom: 1px dashed #E2E2E2;}
.cfc-introduce .list01 ol li dl {position: relative; display: flex; align-items: center; gap: 0.6rem; z-index: 1;}
.cfc-introduce .list01 ol li dl dt {color: var(--main-primary-70); font-size: 1.6rem; font-weight: 600; letter-spacing: 0.01rem;}
.cfc-introduce .list01 ol li dl dt span {display: inline-flex; align-items: center; justify-content: center; text-align: center; margin-right: 1.6rem; width: 3rem; height: 3rem; color: #FFF; font-size: 1.6rem; font-weight: 700; line-height: 3rem; border-radius: 4px; background: var(--main-primary-70);}
.cfc-introduce .list01 ol li dl dd {font-size: 1.6rem; letter-spacing: 0.01rem;}
.cfc-introduce .list02 {margin-top: 4rem;}
.cfc-introduce .list02 li {display: flex; align-items: center; margin: 0 2rem 0 3rem; min-height: 11rem; border-bottom: 1px dashed #E2E2E2;}
.cfc-introduce .list02 li:nth-last-child(1) {border-bottom: none;}
.cfc-introduce .list02 dl {position: relative; width: 100%; height: 100%; padding: 1.6rem 0 1.6rem 11rem;}
.cfc-introduce .list02 dl::before {content: ''; position: absolute; left: 0; top: 0; bottom: 0; margin: auto; width: 8rem; height: 8rem; border-radius: 2rem; background: #F8F8F8 url(../img/contents/cfc-introduce-list02.svg) no-repeat center / 64rem;}
.cfc-introduce .list02 li:nth-child(1) dl::before {background-position: 0 0;}
.cfc-introduce .list02 li:nth-child(2) dl::before {background-position: -8rem 0;}
.cfc-introduce .list02 li:nth-child(3) dl::before {background-position: -16rem 0;}
.cfc-introduce .list02 li:nth-child(4) dl::before {background-position: -24rem 0;}
.cfc-introduce .list02 li:nth-child(5) dl::before {background-position: -32rem 0;}
.cfc-introduce .list02 li:nth-child(6) dl::before {background-position: -40rem 0;}
.cfc-introduce .list02 li:nth-child(7) dl::before {background-position: -48rem 0;}
.cfc-introduce .list02 li:nth-child(8) dl::before {background-position: -56rem 0;}
.cfc-introduce .list02 dt {margin-bottom: 1rem; color: var(--main-primary-50); font-size: 1.7rem; font-weight: 500; letter-spacing: -0.03rem;}
.cfc-introduce .list02 dd {letter-spacing: -0.03rem;}
.cfc-introduce .machine_law p {max-width: 94rem;}

.cfc-right .right-list dl {display: flex; gap: 3rem;}
.cfc-right .right-list dl:first-child {margin-bottom: 7.4rem; margin-top: 4rem;}
.cfc-right .right-list dl dt {flex: 0 0 auto; display: flex; align-items: center; text-align: center; padding: 2.4rem; width: 11.9rem; color: #FFF; font-size: 2rem; font-weight: 700; letter-spacing: -0.1rem; border-radius: 1.2rem; background: var(--gra-green);}
.cfc-right .right-list dl dd > ul {display: flex; gap: 1.5rem; flex-wrap: wrap; width: 100%;}
.cfc-right .right-list dl dd > ul > li {width: calc(50% - 1.5rem / 2); border-radius: 1.2rem;}
.cfc-right .right-list dl dd > ul > li .tit {text-align: center; color: var(--main-primary-50); font-size: 1.8rem; font-weight: 500; line-height: 180%; letter-spacing: -0.09rem;}
.cfc-right .right-list dl dd > ul > li .con {margin-top: 1rem;}
.cfc-right .right-list dl.list01 {position: relative;}
.cfc-right .right-list dl.list01:before {content: ''; position: absolute; left: calc(50% + 11.9rem / 2); bottom: -5.2rem; width: 3.4rem; height: 3.4rem; background: url(../img/contents/plan-arr.svg) no-repeat center / 3.3rem;}
.cfc-right .right-list dl.list01 dd > ul > li {display: flex; align-items: center; flex-direction: column; padding: 3.2rem 2rem 3.7rem 2rem; border: 1px solid #59BD7E;}
.cfc-right .right-list dl.list01 dd .tit {position: relative; padding-top: 7.5rem;}
.cfc-right .right-list dl.list01 dd .tit::before {content: ''; position: absolute; left: 0; right: 0; top: 0; margin: auto; width: 7rem; height: 7rem; background: url(../img/contents/cfc-right-list01.svg) no-repeat center / 28rem;}
.cfc-right .right-list dl.list01 dd li:nth-child(1) .tit::before {background-position: 0 0;}
.cfc-right .right-list dl.list01 dd li:nth-child(2) .tit::before {background-position: -7rem 0;}
.cfc-right .right-list dl.list01 dd li:nth-child(3) .tit::before {background-position: -14rem 0;}
.cfc-right .right-list dl.list01 dd li:nth-child(4) .tit::before {background-position: -21rem 0;}
.cfc-right .right-list dl.list01 dd li .txt {text-align: center; line-height: 2.2rem; letter-spacing: -0.075rem;}
.cfc-right .right-list dl.list01 dd li .txt span {display: inline-block; background: linear-gradient(180deg, rgba(218, 255, 220, 0.00) 0%, rgba(218, 255, 220, 0.00) 43.75%, rgba(225, 248, 220, 0.13) 43.76%, rgba(218, 255, 220, 0.64) 43.77%);}
.cfc-right .right-list dl.list01 dd li ul {margin-top: 1rem; max-width: 27rem; gap: 0;}
.cfc-right .right-list dl.list01 dd li li {margin-bottom: 0.2rem; font-size: 1.4rem; line-height: 2.4rem; letter-spacing: 0.01rem;}
.cfc-right .right-list dl.list02 dd > ul > li {padding: 2.6rem 7.4rem; background: #f8f8f8;}
.cfc-right .right-list dl.list02 dd > ul > li:nth-child(2) .tit {color: #412492;}
.cfc-right .right-list dl.list02 dd > ul > li .con {text-align: center;}
.cfc-facility h4 {margin-top: 2.5rem;}
.cfc-facility>div {display: none;}
.cfc-facility>div:nth-of-type(1) {display: block;}
.cfc-facility-tab {display: flex; gap: 1.5rem;}
.cfc-facility-tab li {width: calc(25% - 8rem / 5); border-radius: 1.2rem; border: 2px solid transparent;}
.cfc-facility-tab li a {display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 2rem; padding: 2rem; text-decoration: none;}
.cfc-facility-tab li .tit {display: flex; align-items: center; justify-content: center; height: 6rem;}
.cfc-facility-tab li .photo img {border-radius: 1.2rem;}
.cfc-facility-tab li .more {padding: 0.8rem 3rem; line-height: 160%; letter-spacing: -0.03rem; border-radius: 10rem; background: #fff;}
.cfc-facility-tab li.on .more {color: #fff; font-weight: 700;}
.cfc-facility-tab li:nth-child(1) {background: #BFE6F9; border-color: #BFE6F9;}
.cfc-facility-tab li:nth-child(1).on {border-color: #3C7C9B;}
.cfc-facility-tab li:nth-child(1).on .more {background-color: #3C7C9B;}
.cfc-facility-tab li:nth-child(2) {background: #D0E3C3; border-color: #D0E3C3;}
.cfc-facility-tab li:nth-child(2).on {border-color: #5C8E42;}
.cfc-facility-tab li:nth-child(2).on .more {background-color: #5C8E42;}
.cfc-facility-tab li:nth-child(3) {background: #AADEF6; border-color: #AADEF6;}
.cfc-facility-tab li:nth-child(3).on {border-color: #217FD5;}
.cfc-facility-tab li:nth-child(3).on .more {background-color: #217FD5;}
.cfc-facility-tab li:nth-child(4) {background: #FCD6D3; border-color: #FCD6D3;}
.cfc-facility-tab li:nth-child(4).on {border-color: #F06B63;}
.cfc-facility-tab li:nth-child(4).on .more {background-color: #F06B63;}
.cfc-facility-tab li:nth-child(5) {background: #E4D5E8; border-color: #E4D5E8;}
.cfc-facility-tab li:nth-child(5).on {border-color: #92689F;}
.cfc-facility-tab li:nth-child(5).on .more {background-color: #92689F;}

.facility-con {display: flex; flex-direction: column; align-items: flex-start; gap: 4rem}

/*청사안내*/
.office-box {position: relative;}
.office-box .office-btn {margin-left: 1rem;}
.office-box .office-map {display: none; position: absolute; left: 0; right: 0; top: 5rem; text-align: center; margin: auto; padding-top: 3.3rem; padding-bottom: 4rem; max-width: 58rem; border: 3px solid #000; border-radius: 1.2rem; background: #fff; box-sizing: border-box; z-index: 99;}
.office-box .office-map .btn-wrap {margin-top: 2rem;}
.office-photo {text-align: center;}
.office-photo img {border-radius: 2rem;}

/*적극행정*/
.plan dl {display: flex; gap: 2rem;}
.plan dl dt {flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 8.4rem; color: #FFF; font-size: 2rem; font-weight: 700; letter-spacing: -0.1rem; border-radius: 1.2rem; background: var(--gra-green);}
.plan dl dd {width: 100%;}
.plan dl.vision {padding: 4.8rem 4rem 5.4rem; background: url(../img/contents/plan-arr.svg) no-repeat center bottom 1rem / 3.4rem;}
.plan dl.vision dd {position: relative; padding: 2.6rem 7.4rem; text-align: center; font-size: 1.8rem; font-weight: 500; letter-spacing: -0.09rem;}
.plan dl.vision dd:after {content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border-radius: 1.2rem; border: 0.2rem solid transparent; background-image: linear-gradient(#fff, #fff), var(--gra-green); background-origin: border-box; background-clip: content-box, border-box; -webkit-background-clip: content-box, border-box; box-sizing: border-box; z-index: -1;}
.plan dl.strategy {padding: 4rem; background: #F5F5F5;}
.plan dl.strategy ul {display: flex; gap: 1.2em;}
.plan dl.strategy li {display: flex; align-items: center; justify-content: center; text-align: center; padding: 2.8rem 2rem; width: calc(25% - 0.9rem); font-size: 1.6rem; line-height: 180%; letter-spacing: -0.08rem; word-break: keep-all; border-radius: 1.2rem; background: #FFF;}

/* 고향사랑기부제 명예의전당 */
.hof-wrap {padding: 8rem; border-radius: 3rem; background: url(../img/contents/bg_hof_deco.png) no-repeat center top/cover, radial-gradient(56.28% 54.22% at 49.73% 12.58%, #263770 0.46%, #1E1D3B 100%);}
.hof-wrap .title {margin-bottom: 8rem;}
.hof-wrap .exhibit {display: flex; align-items: stretch; gap: 1.6rem;}
.hof-wrap .exhibit li {display: flex; flex-direction: column; justify-content: space-between;	flex: 1; padding: 4rem 0 0; border-radius: 3rem; color: #fff; background: rgba(0,0,0,0.2); overflow: hidden;}
.hof-wrap .exhibit li .img {position: relative; width: 16.3rem; height: 17.8rem; margin: 0 auto; padding: 2rem 2.2rem;}
.hof-wrap .exhibit li .img:after {content: ''; position: absolute; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; background: url(../img/contents/ico_exhibit_img.svg) no-repeat center/100%;}
.hof-wrap .exhibit li .img img {border-radius: 50%;}
.hof-wrap .exhibit li .con {padding: 3rem 0; text-align: center; margin-top: 1.6rem; font-size: 1.8rem; background: linear-gradient(180deg, rgba(22, 24, 36, 0) -0.02%, rgba(6, 54, 143, 0.90) 100%);}
.hof-wrap .exhibit li .con strong {display: block;}

/*공장등록안내/신청*/
.factory {display: flex; margin-left: 3rem; margin-top: 8rem; --blue: var(--main-primary-60);}
.factory ol {display: flex; flex-direction: column; gap: 5rem; width: calc(50% - 4.8rem);}
.factory ol > li {position: relative; flex: 0 0 auto; display: flex; flex-direction: column; text-align: center; padding: 1.8rem 0rem; border-radius: 0.8rem; border: 1px solid #000; background: #FFF;}
.factory ol > li::after {content: ''; position: absolute; left: 0; right: 0; bottom: -3.3rem; margin: auto; width: 2.1rem; height: 1.1rem; background: url(../img/contents/factory-arr.svg) no-repeat center / 100%;}
.factory ol > li:nth-last-child(1):after {display: none;}
.factory ol > li .tit {padding: 1.8rem 0; color: #fff; border-radius: 0.8rem 0.8rem 0 0;}
.factory ol > li .con {border-radius: 0 0 0.8rem 0.8rem; background: #F6F6F6;}
.factory ol > li .con a + a {margin-left: 10px;}
.factory ol > li .point-blet {display: inline-block; margin-top: 0;}
.factory ol:nth-child(1) {margin-right: 4.8rem; padding-right: 4.8rem; font-weight: 500; letter-spacing: -0.03rem; border-right: 1px dashed #DCDCDC;}
.factory ol:nth-child(1) > li {color: var(--blue); border-color: var(--blue);}
.factory ol:nth-child(1) > li:first-child, .factory ol:nth-child(1)>li:nth-last-child(1) {padding: 0; border-color: #fff;}
.factory ol:nth-child(1) > li:nth-child(5) {padding-bottom: 0;}
.factory ol:nth-child(1) > li:first-child .tit, .factory ol:nth-child(1)>li:nth-last-child(1) .tit {background: #405ED7;}
.factory ol:nth-child(1) > li:nth-last-child(1) .tit {border-radius: 0.8rem;}
.factory ol:nth-child(1) > li:first-child .con {padding: 1.5rem 0rem;}
.factory ol:nth-child(1) > li:nth-child(5) .con {margin-top: 1.8rem; padding: 1.8rem 0rem;}
.factory ol:nth-child(1) > li:first-child .point-blet {margin-bottom: 1rem;}
.factory ol:nth-child(2) > li {color: #9E3474; border-color: #9E3474;}
.factory ol:nth-child(2) > li:first-child {padding: 0; border-color: #fff;}
.factory ol:nth-child(2) > li:nth-last-child(1) {flex-shrink: 1; height: 100%; padding-bottom: 0; overflow: hidden;}
.factory ol:nth-child(2) > li:first-child .tit {background: #9E3474;}
.factory ol:nth-child(2) > li:first-child .con {padding: 1.5rem 0rem;}
.factory ol:nth-child(2) > li:nth-last-child(1) .con {flex: 0 0 auto; height: 100%; margin-top: 1.8rem; padding: 3rem;}
.factory ol:nth-child(2) > li:first-child .point-blet {margin-bottom: 1rem;}
.factory ol:nth-child(2) > li .bl04 {text-align: left;}
.factory ol:nth-child(2) > li .bl04 li {margin-bottom: 2rem; color: #222; font-size: 1.4rem; line-height: 2rem; letter-spacing: 0.01rem;}
.factory ol:nth-child(2) > li .info-list dash {margin-bottom: 0;}
.factory ol:nth-child(2) > li .info-list dash li {color: #222; font-size: 1.4rem; line-height: 2.4rem; letter-spacing: 0.01rem;}

/*드림스타트*/
.dreamstart .target {text-align: center;}
.dreamstart .target p.tit {position: relative; display: inline-block; width: 22rem; height: 22rem; padding: 5.5rem 3rem; font-size: 2.2rem; font-weight: 500; border-radius: 50%; border: 0.8rem solid #3A83F2; margin-bottom: 4rem;}
.dreamstart .target p.tit::before {display: block; content: ''; position: absolute; bottom: -4.8rem; left: 50%; width: 0.1rem; height: 4rem; background: var(--grayline);}
.dreamstart .target p.tit span {position: relative; display: block; margin-top: 2rem; font-size: 1.4rem; font-weight: normal; word-break: keep-all;}
.dreamstart .target p.tit span::before {content: ""; position: absolute; left: calc(50% - 1.5rem); top: -1.2rem; width: 3rem; height: 0.2rem; background: #3A83F2;}
.dreamstart .target .con {position: relative; display: flex; justify-content: space-between; align-items: center; padding-top: 4rem;}
.dreamstart .target .con p.arrow {width: 1.2rem; height: 2.2rem;}
.dreamstart .target .con::before {display: block; content: ''; position: absolute; top: 0rem; left: 16%; width: 68%; height: 0.1rem; background: var(--grayline);}
.dreamstart .target .con dl {position: relative; width: 30%; padding: 8rem 2rem 2rem 2rem; border: 1px solid #3A83F2; border-radius: 1rem; background: url(../img/contents/dream01.png) no-repeat center 2.5rem / 4.4rem; word-break: keep-all;}
.dreamstart .target .con dl.ic02 {background: url(../img/contents/dream02.png) no-repeat center 2.5rem / 4.2rem;}
.dreamstart .target .con dl.ic03 {background: url(../img/contents/dream03.png) no-repeat center 2.5rem / 4.2rem;}
.dreamstart .target .con dl::before, .dreamstart .target .con dl::after {display: block; content: ''; position: absolute;}
.dreamstart .target .con dl::before {top: -5rem; left: calc(50% - 1rem); width: 2rem; height: 2rem; border: 4px solid #ebebeb; border-radius: 50%; background: #3A83F2;}
.dreamstart .target .con dl.ic03::after {display: none;}
.dreamstart .target .con dt {text-align: center; margin-bottom: 0.5rem; font-weight: 500; font-size: 1.8rem;}
.dreamstart .target .con dd {font-size: 1.4rem;}
.dreamstart .service {text-align: center; margin-top: 5rem;}
.dreamstart .service p.tit {position: relative; display: inline-block; width: 24rem; height: 24rem; padding: 8.5rem 3rem; font-size: 2.2rem; font-weight: 500; border-radius: 50%; margin-bottom: 4rem; background: #ededed; line-height: 3.2rem;}
.dreamstart .service p.tit::before {display: block; content: ''; position: absolute; bottom: -4rem; left: 50%; width: 0.1rem; height: 4rem; background: var(--grayline);}
.dreamstart .service .con {position: relative; text-align: center; display: flex; justify-content: space-between; padding-top: 4rem;}
.dreamstart .service .con::before {display: block; content: ''; position: absolute; top: 0rem; left: 12%; width: 75%; height: 0.1rem; background: var(--grayline);}
.dreamstart .service .con > li {position: relative; width: 24%;}
.dreamstart .service .con > li::before {display: block; content: ''; position: absolute; top: -5rem; left: calc(50% - 1rem); width: 2rem; height: 2rem; border: 4px solid #ebebeb; border-radius: 50%; background: #ffc33c;}
.dreamstart .service .con > li.ic02::before {background: #55A3FF;}
.dreamstart .service .con > li.ic03::before {background: #F56969;}
.dreamstart .service .con > li.ic04::before {background: #74BF39;}
.dreamstart .service .con > li > p {width: 16rem; height: 16rem; margin: 0 auto; padding-top: 9.5rem; font-size: 2rem; /* color: #fff; */ color:#010101; font-weight: 500; border-radius: 50%; background: url(../img/contents/dream04.png) no-repeat center 4rem #ffc33c; background-size: 4.5rem;}
.dreamstart .service .con > li.ic02 > p {background: url(../img/contents/dream05.png) no-repeat center 4rem #55A3FF; background-size: 4rem;}
.dreamstart .service .con > li.ic03 > p {background: url(../img/contents/dream06.png) no-repeat center 4rem #F56969; background-size: 4rem;}
.dreamstart .service .con > li.ic04 > p {background: url(../img/contents/dream07.png) no-repeat center 4.2rem #74BF39; background-size: 4.2rem;}
.dreamstart .service .con > li .txt {border: 1px solid #ddd; border-radius: 1rem; margin-top: 2rem; padding: 3rem 1rem;}
.dreamstart .service .con > li .txt > p {padding-bottom: 1rem; color: #a26901; font-weight: 500; font-size: 1.8rem;}
.dreamstart .service .con > li.ic02 .txt > p {color: #3e77ba; ;}
.dreamstart .service .con > li.ic03 .txt > p {color: #c05252;}
.dreamstart .service .con > li.ic04 .txt > p {color: #4f8227;}
.dreamstart .service .last {position: relative; display: inline-block; text-align: center; margin: 1rem auto; padding: 1rem 4rem; color: #fff; font-size: 2.4rem; font-weight: 500; border: 0.8rem solid #f1f1f1; border-radius: 50px; background: #666;}
.dreamstart .service .arrow img {margin-top: 3rem; width: 3rem; transform: rotate(90deg);}

/*상징물*/
.symbol-box {display: flex; align-items: center; justify-content: center; position: relative; text-align: center; margin-top: 2rem; padding: 7rem; min-height: 11.2rem; border: 1px solid #ccc; border-radius: 0.8rem; overflow: hidden;}
.symbol-box.character img {width: 36.2rem;}
.symbol-box::before {content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #fff; background-image: repeating-linear-gradient(90deg, transparent, transparent 1.8rem, #f5f5f5 1.8rem, #f5f5f5 1.9rem), repeating-linear-gradient(0deg, transparent, transparent 1.8rem, #f5f5f5 1.8rem, #f5f5f5 1.9rem); z-index: -1;}
.symbol-box + .btnBox {margin-top: 4rem; margin-bottom: 4rem;}
.symbol-symbol {display: flex; gap: 4rem;}
.symbol-symbol img {margin-top: 2.5rem; margin-bottom: 2.5rem; border-radius: 0.8rem; max-width: none; width: 100%;}
.symbol-symbol .bl04 {margin: 0; letter-spacing: -0.03rem; line-height: 160%;}

/*전통시장*/
.symbol-box.market {flex-direction: column; gap: 5rem;}
.symbol-box.market ul {display: flex; justify-content: center; gap: 9rem; width: 100%;}
.symbol-box.market ul li span {display: inline-block; width: 10.8rem; height: 3.7rem; font-size: 1.6rem; font-weight: 500; line-height: 3.5rem; border: 1px solid #CCC; background: #F5F5F5;}
.symbol-box.market ul li:nth-child(2) {display: flex; flex-direction: column; gap: 7.5rem;}
.symbol-box.market > p {position: relative; padding-left: 1.1rem;}
.symbol-box.market > p::before {content: ''; position: absolute; left: 0; top: 0.9rem; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--gra-green);}

/* 전문상가 */
.photo-tbox {padding: 6rem 0 0 5rem; border-radius: 3rem; background: url(/share/images/ico_logo_symbol.svg) no-repeat right -0.5rem top 1.6rem/31rem, linear-gradient(180deg, #EAEFFB 0%, #E2FAFB 100%);}
.photo-tbox dl dt {padding-left: 3rem; margin-bottom: 2rem;}
.photo-tbox dl dt .tit {font-size: 3.2rem; font-weight: 700; color: var(--main-primary-70);}
.photo-tbox dl dd {padding: 5rem; background: #fff; border-radius: 3rem 3rem 3rem 0;}
.photo-tbox dl dd .con-box {display: flex; align-items: flex-start; gap: 5rem; margin-bottom: 2rem;}
.photo-tbox dl dd .con-box .con p + p {margin-top: 1.6rem;}
.photo-tbox dl dd .con-box .pic {flex-shrink: 0; width: 100%; max-width: 37rem; border-radius: 1rem; overflow: hidden;}
.photo-tbox dl dd .tit {font-size: 1.8rem; font-weight: 600; margin-bottom: 3rem;}

.bbegi-btn {display: inline-flex; align-items: center; padding: 0 1rem 0 3.8rem; height: 3.2rem; border-radius: 4px; font-size: 1.5rem; font-weight: 600; color: #fff; background: var(--main-primary-50) url(../img/contents/ico_bbegi.png) no-repeat left 1rem center/2rem;}
.bbegi-btn:hover {color: #fff; text-decoration: underline;}
.bbegi-btn .svg-icon {width: 1.6rem; height: 1.6rem; margin-left: 8px; background: #fff; mask-size: 100%;}

/*청소/환경*/
.waste_box {display: flex; padding: 2.5rem; margin-top: 1rem; justify-content: space-between; align-items: center; border: 1px solid var(--krds-light-color-border-gray);}
.waste_box > div {display: flex; gap: 1rem; flex-direction: column; align-items: center;}
.waste_box img {width: 5rem;}
.waste_box span {display: inline-block; padding: 0 1rem; color: var(--main-primary-50); border: 2px solid var(--main-primary-50); border-radius: 5rem;}

/*음식점 위생등급제*/
.hygiene_grade {display: flex; margin-top: 0.8rem; margin-left: 1.2rem; gap: 2rem;}
.hygiene_grade p {text-align: center; padding: 1.2rem 0rem; border-radius: 0.4rem 0.4rem 0 0; background: var(--gra-green); color: #FFF; font-weight: 700; letter-spacing: 0.01rem;}

/*재난대비*/
.calamity_insurance {display: flex; gap: 2rem; margin-top: 2rem;}
.calamity_insurance .btn-wrap {margin-top: 1rem;}
.safety_central {position: relative; --box-width: calc((100% - 9.6rem) / 7);}
.safety_central li {position: relative; text-align: center;}
.safety_central p {display: flex; align-items: center; justify-content: center; gap: 4px; margin: auto;}
.safety_central .rank1::before {content: ''; position: absolute; left: 0; right: 0; top: 0; margin: auto; width: 1px; height: 60.5%; background: #ccc; z-index: -1;}
.safety_central .rank1 > p {gap: 0.4rem; border-radius: 8px; width: 24rem; height: 5rem; margin: auto; color: #FFF; background: var(--main-primary-50);}
.safety_central .rank2 {margin-top: 2rem;}
.safety_central .rank2 > p {position: relative; display: flex; justify-content: center; align-items: center; width: 24rem; height: 5rem; margin-bottom: 2rem; color: #fff; border-radius: 8px; background: var(--main-secondary-60);}
.safety_central .rank2 > p:first-child {margin-bottom: 9rem;}
.safety_central .rank2 > p span {margin-bottom: 1.2rem; width: 100%; border-radius: 0 1.2rem 0 0; padding: 0.8rem; background: var(--gra-green);}
.safety_central .rank2::before {content: ''; position: absolute; left: 50%; top: 9.5rem; margin: auto; width: 26rem; height: 1px; background: #ccc; z-index: -1;}
.safety_central .rank2 .rank2-1 {position: absolute; left: calc(50% + 26rem); top: 7rem; margin: 0; color: #fff; font-size: 1.6rem; background: var(--gra-green);}
.safety_central .rank2 .rank2-1 span {margin-bottom: 0; font-size: 1.3rem;}
.safety_central .rank3 {position: relative; display: flex; gap: 1.6rem; margin-top: 6rem;}
.safety_central .rank3::before {content: ''; position: absolute; left: calc(var(--box-width) / 2); top: -2rem; margin-left: 2px; width: calc(100% - var(--box-width)); height: 1px; background: #ccc; z-index: -1;}
.safety_central .rank3-2::before {width: calc(100% - var(--box-width) * 2 - 1.6rem);}
.safety_central .rank3 li {display: flex; flex-direction: column; flex: 0 0 var(--box-width); min-width: 0; position: relative; text-align: center; border-radius: 1rem; border: 1px solid var(--krds-light-color-border-gray);; background: #7C8993; word-break: break-all;}
.safety_central .rank3 li::before {content: ''; position: absolute; left: calc(50% + 2px); top: -2rem; width: 1px; height: 3rem; margin: auto; background: #ccc; z-index: -1;}
.safety_central .rank3 li span {flex-shrink: 0; display: flex; align-items: center; justify-content: center; height: 5rem; color: #fff;}
.safety_central .rank3 li p {width: 100%; height: 100%; padding: 2.2rem 0; background: #fff; border-radius: 0.9rem; word-break: break-all;}

.safety_central .rank3:first-of-type li:nth-child(4)::before {display: none;}

/*안전신문고*/
.request {display: flex; flex-wrap: wrap; gap: 2rem; margin-top: 2rem;}
.request > li {display: flex; flex-direction: column; gap: 2rem; justify-content: space-between; align-items: center; text-align: center; padding: 6rem 0; width: calc(50% - 1rem); border-radius: 1.2rem; border: 1px solid #E6E6E6; background: #F5F5F5;}
.request > li:nth-child(1), .request > li:nth-child(2) {min-height: 54rem;}
.request > li:nth-child(3), .request > li:nth-child(4) {padding: 2.4rem 4rem; width: 100%;}
.request > li .tit {font-size: 1.9rem; font-weight: 500; letter-spacing: -0.019rem; background: var(--gra-green); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.request > li .txt {margin-top: 2rem; font-weight: 500; line-height: 160%; letter-spacing: -0.015rem;}
.request > li .conbtn {margin: 0 0 0 1rem !important; line-height: 1.5rem; background: #fff;}
.request .request-step {display: flex; gap: 5rem;}
.request .request-step > li {position: relative;}
.request .request-step > li::before {content: ''; position: absolute; right: -4.2rem; top: calc(50% - 3.4rem / 2); width: 3.4rem; height: 3.4rem; background: url(../img/contents/plan-arr.svg) no-repeat center / 3.3rem; transform: rotate(90deg);}
.request .request-step > li:nth-last-child(1):before {display: none;}

/*웹접근성*/
.accessibility {display: flex; flex-direction: row-reverse; gap: 3rem;}
.accessibility .img {width: 50%;}
.accessibility .img img {border: 1px solid #ccc; border-radius: 0.8rem;}

/*개인정보처리방침*/
.individualBox {margin-top: 3rem; border: 1px solid var(--sub); border-radius: 1rem; overflow: hidden;}
.individualBox>.tit {text-align: center; padding: 1.6rem; color: #fff; font-size: 1.6rem; font-weight: 500; background: var(--gra-green);}
.individualBox .labelling {display: flex; flex-wrap: wrap;}
.individualBox .labelling > li {text-align: center; width: 20%; border-bottom: 1px dashed #CCC; border-right: 1px dashed #ccc;}
.individualBox .labelling > li:nth-child(5n) {border-right: 0;}
.individualBox .labelling > li:nth-last-child(-n+4) {border-bottom: 0;}
.individualBox .labelling > li > a {display: block; padding: 1.5rem;}
.individualBox .labelling > li > a:hover {text-decoration: underline; text-underline-position: under;}
.individualBox .labelling > li > a > span {display: block; margin-top: 0.5rem;}
.individualBox .indexCon {display: flex; flex-wrap: wrap;}
.individualBox .indexCon > li {width: 50%; border-bottom: 1px dashed #ccc; border-right: 1px dashed #ccc;}
.individualBox .indexCon>li:nth-child(2n) {border-right: 0;}
.individualBox .indexCon>li:nth-last-child(-n+2) {border-bottom: 0;}
.individualBox .indexCon > li > a {display: block; padding: 1rem 2rem;}
.personal h4 {position: relative; display: inline-block; padding-right: 5rem;}
.personal h4 .labelling {position: absolute; top: -0.5rem; right: 0; height: 4rem;}

/*아동 청소년 참여*/
.child_photo {display: flex; justify-content: space-between; margin-top: 1rem; padding: 2rem; border-radius: 0.8rem; background: #f8f8f8;}
.child_photo li {width: 24%;}

.flex-box {display: flex; justify-content: space-between;}
.flex-box .photo-box {margin-left: 1rem; max-width: 50rem;}

/*정보공개*/
.tline { margin-left: 1.5rem; margin-top: 3rem; padding-top: 3rem; border-top: 1px dotted #0995A3; }
.private_tab { display: flex; flex-wrap: wrap; margin-top: 2rem; padding: 2rem 4rem; border: 1px solid #0797AD; border-radius: 0.5rem; }
.private_tab li { width: 50%; margin-bottom: 0.5rem; padding-left: 2rem; }
table.list_table tr:nth-child(even) td { border-bottom: 2px solid #0C7260; }
table.list_table tbody tr th:first-child { border-bottom: 2px solid #0C7260; }

/* 연혁 */
.history.ver1 {background: url(../img/contents/history-img01.png) no-repeat 5% 20% / 24.4rem, url(../img/contents/history-img02.png) no-repeat right 0 top 30% / 27.8rem;}
.history.ver2 {background: url(../img/contents/history-img03.png) no-repeat 5% 25% / 24.4rem, url(../img/contents/history-img04.png) no-repeat right 10% top 15% / 19.5rem;}
.history ol {display: flex; flex-direction: column; align-items: center;}
.history ol li {position: relative; display: flex; flex-direction: column; min-height: 8.5rem; width: calc(50% - 7.8rem / 2); color: #666; font-size: 1.6rem; letter-spacing: -0.064rem;}
.history ol li::after {content: ''; position: absolute; top: -7rem; left: -6rem; width: 0.2rem; height: calc(100% + 8.5rem); background: #0076FB;}
.history ol li:nth-last-child(1)::after {height: 100%;}
.history ol li:nth-child(1):after {top: 2rem;}
.history ol li:nth-child(odd)::after {right: -5.9rem; left: auto;}
.history ol li::before {content: ''; position: absolute; top: 0.8rem; width: 1rem; height: 1rem; border-radius: 1rem; border: 0.2rem solid #0059BC; background: #FFF; z-index: 1; box-sizing: content-box;}
.history ol li:nth-child(odd)::before {right: -6.5rem;}
.history ol li:nth-child(even)::before {left: -6.6rem;}
.history ol li:nth-child(odd) {align-items: flex-end; text-align: right; margin-right: calc(50% + 7.8rem);}
.history ol li:nth-child(even) {align-items: flex-start; text-align: left; margin-left: calc(50% + 7.8rem);}
.history ol li .year {position: relative; margin-bottom: 0.5rem; font-size: 2rem; font-weight: 500;}
.history ol li .year::before {content: ''; position: absolute; top: 50%; width: 3rem; height: 0.1rem; background: #ccc;}
.history ol li:nth-child(odd) .year::before {right: -5.7rem;}
.history ol li:nth-child(even) .year::before {left: -5.8rem;}
.history ol li .point {margin-top: 0.3rem; color: #C34C4C; font-size: 1.3rem; letter-spacing: -0.052rem;}

.info-img {text-align: center;}
.info-img img {max-width: 82rem; width: 100%;}

.support .poster,
.support .main-none {display: none;}
.support .con {width: 100%;}
.support .section {margin-bottom: 4rem;}
.support .section:nth-last-child(1) {margin-bottom: 0;}

#mypage #detail_con {margin-bottom: 7rem;}
#mypage .link-box {display: flex; flex-wrap: wrap; gap: 1rem;}

/********************************************************************************** 반응형*********************************************************************/
@media (max-width: 1607px) {
	.photo-tbox dl dd .con-box .pic {max-width: 30%;}
	.safety_central .rank2 .rank2-1 {left: initial; right: 0;}
	.safety_central .rank2::before {width: 50%;}
}

@media (max-width: 1199px) {
}

@media (max-width: 1023px) {
	.organization .rank2 .part2 .dong {width: 20.5rem;}
  .organization .rank2 .part2 .dong ul li {width: 100%;}

	.hof-wrap {padding: 6rem;}

	.photo-tbox {background-size: 20rem;}
	.history.ver1,
	.history.ver2 {background: none;}
}

@media (max-width: 767px) {
	.epassport {flex-direction: column;}
	.epassport dl.before {width: 100%; margin-right: 0; margin-bottom: 4.8rem;}
	.epassport dl.before::before {left: 0; right: 0; top: auto; bottom: -3.8rem; transform: rotate(90deg);}

	.resurvey_land .img-list {flex-direction: column;}
  .resurvey_land .img-list > li {display: flex; gap: 2rem; align-items: center; max-width: 100%;}
  .resurvey_land .img-list > li .img {flex: 0 0 auto; margin-bottom: 0 !important; width: 30%;}
  .resurvey_land .comparison dl {gap: 1rem;}
  .resurvey_land .comparison dt {width: 100%;}
  .resurvey_land .comparison .before {flex-direction: column;}
  .resurvey_land .comparison .after {flex-direction: column-reverse;}
  .resurvey_land .comparison .after dt::after {display: none;}

	.sudoguksan .info_box > dl {padding: 15rem 3.5rem 3.5rem 3.5rem !important;}
  .sudoguksan .info_box.info01 > dl {text-align: center}
  .sudoguksan .info_box.info01 > dl::after {left: 0; right: 0; top: 3.5rem; margin: auto;}

	.lifelong .list-photo {flex-direction: column; gap: 2rem;}
  .lifelong .list-photo .photo {max-width: 100%; width: 100%;}

	.photo-box-list {flex-direction: column;}
	.photo-box-list li {width: 100%;}
	.photo-box-list li .img {height: auto;}

  .organization .rank1 > a {width: 10rem; height: 6rem; margin-bottom: 6rem;}
  .organization .rank1 .rank1-1 {left: calc(50% + 6.4rem); top: 6rem;}
  .organization .rank1 .rank1-1 > a {width: 10rem; height: 6rem;}
  .organization .rank2 > a {width: 10rem; height: 6rem;}
  .organization .rank2 > a > span {padding-top: 1.5rem; padding-bottom: 1.5rem;}
  .organization .rank2 > ul {flex-wrap: wrap; gap: 10px; margin-top: 30px;}
  .organization .rank2 > ul > li {margin-top: 0; width: calc(50% - 5px); max-width: unset;}
  .organization .rank2 .part1-1 ul {flex-direction: column;}
  .organization .rank2 .part1-1 ul li {width: 100%; height: 100%;}
  .organization .rank2 .part1-1 ul li a {display: flex; align-items: flex-start; justify-content: center;}
	.organization .rank2 .part2 {margin-top: 10px;}
	.organization .rank2 .part2 > li {flex: none; width: calc(50% - 5px); max-width: unset;}
  .organization .rank2 .part2 .dong {flex: none; width: 100%;}
  .organization .rank2 .part2 .dong ul li {width: calc(33.3% - 2.7rem); margin-top: 0; margin-bottom: 0.6rem;}

	.organization a::before,
  .organization ul::before,
  .organization ul::after,
  .organization .tit::before,
  .organization .rank2 .part1-1 ul li a::before {}
  .organization .rank2 ul ul li a::before {}

	.organization .rank2 > a::before {height: 10px;}
	.organization .rank2 .part1::before {top: -20px; width: calc(50% + 5px);}
	.organization .rank2 .part2::before {display: none;}
	.organization .rank2 .tit::before {display: none; top: -20px; height: 20px;}
	.organization .rank2 > .part1 > li:first-child .tit::before,
	.organization .rank2 > .part1 > li:nth-child(2) .tit::before {display: block;}

	.office-box .office-map .btn-wrap {flex-direction: row;}

	.sns {padding: 2.6rem 1.6rem; border-radius: 10px; background: #f5f5f5;}
	.sns .sns-con .tit-box dt {font-size: 2.4rem;}
	.sns .sns-con .tit-box dd {font-size: 1.6rem;}
	.sns .sns-con .sns-box {gap: 10px;}
	.sns .sns-con .sns-box > li {flex: none; width: calc(50% - 5px); border-radius: 6px;}
	.sns .sns-con .sns-box > li a {padding: 80px 10px 20px;}
	.sns .sns-con .sns-box > li a::before {top: 2rem; width: 40px; height: 40px;}
	.sns .sns-info {padding-top: 3rem; padding-left: 5.8rem; background-size: 4.4rem;}

	.plan dl.strategy ul {flex-wrap: wrap;}
  .plan dl.strategy li {width: calc(50% - 1.2rem);}

	.hof-wrap {padding: 2rem;}
	.hof-wrap .title {margin-bottom: 4rem;}
	.hof-wrap .exhibit {flex-direction: column; padding: 0 4rem;}

	.factory {flex-direction: column; margin-left: 0; margin-top: 4rem;}
	.factory ol {width: 100%;}
	.factory ol:nth-child(1) {margin-right: 0; margin-bottom: 4.8rem; padding-right: 0; padding-bottom: 4.8rem; border-right: none; border-bottom: 1px dashed #DCDCDC;}
	.factory ol:nth-child(2) {margin-top: 0;}

	.dreamstart .target .con, .dreamstart .service .con {flex-direction: column; align-items: center; padding-top: 0;}
	.dreamstart .target .con dl {width: 80%; margin-bottom: 2rem;}
	.dreamstart .target .con dl::before, .dreamstart .target .con dl::after {display: none;}
	.dreamstart .service .con {width: 80%; margin: 0 auto;}
	.dreamstart .service .con > li {width: 100%; margin-bottom: 2rem;}
	.dreamstart .service .con > li::before {display: none;}
	.dreamstart .service .con > li > p {margin: 0; width: 100%; height: auto; padding: 8rem 0 2rem; border-radius: 10px; background-position: center 2.5rem;}
	.dreamstart .service .con > li.ic02 > p, .dreamstart .service .con > li.ic03 > p {background-position: center 2.5rem;}
	.dreamstart .service .con > li.ic04 > p {background-position: center 3rem;}
	.dreamstart .service .con > li .txt {margin-top: 1rem;}
	.dreamstart .service .last {margin: 6rem auto 0;}

	.symbol-box.market ul {flex-direction: column; gap: 3rem;}
	.symbol-box.market ul li:nth-child(2) {gap: 3rem;}

	.photo-tbox {padding: 26px 0 0 20px; background-size: 190px; background-position: right -60px top 16px, 0 0; border-radius: 16px;}
	.photo-tbox dl dt {padding-left: 10px; padding-right: 126px; margin-bottom: 10px;}
	.photo-tbox dl dt .tit {font-size: 22px; letter-spacing: -0.1rem;}
	.photo-tbox dl dd {padding: 20px; border-radius: 10px 10px 10px 0;}
	.photo-tbox dl dd .tit {margin-bottom: 10px;}
	.photo-tbox dl dd .con-box {flex-direction: column; gap: 30px;}
	.photo-tbox dl dd .con-box .pic {max-width: 100%;}
	.photo-tbox dl dd .btn {text-align: center;}

	.safety_central .rank1::before {height: 27%;}
	.safety_central .rank1 > p {width: 20rem;}
	.safety_central .rank2 > p {width: 20rem;}
	.safety_central .rank3 {flex-wrap: wrap; justify-content: space-between;}
	.safety_central .rank3 li {flex: 0 0 calc(50% - 1.6rem);}
	.safety_central .rank3::before {left: 50%; width: calc(50% + 1.6rem); transform: translateX(-50%);}

	.request > li {width: 100% !important;}

	.cfc-tbox .con {background-size: 50px; background-position: 3rem 3rem; padding: 3rem 3rem 3rem 11rem;}
	.cfc-introduce .cfc-tbox br {display: none;}
	.cfc-introduce .list01 ol li dl {flex-direction: column; align-items: flex-start;}
	.cfc-introduce .list02 li {margin: 0;}
	.cfc-right .cfc-tbox br {display: none;}
	.cfc-right .right-list dl {flex-direction: column;}
	.cfc-right .right-list dl dt {justify-content: center; width: 100%;}
	.cfc-right .right-list dl dt br {display: none;}
	.cfc-right .right-list dl.list01:before {left: 0; right: 0; margin: auto;}

	.accessibility {flex-direction: column; gap: 0;}
	.accessibility .img {text-align: center; width: 100%;}

	/* 개인정보 처리방침 */
	.individualBox .labelling > li {width: 33.33%;}
  .individualBox .labelling > li:nth-child(5n) {border-right: 1px dashed #ccc;}
  .individualBox .labelling > li:nth-last-child(-n+4) {border-bottom: 1px dashed #ccc;}
  .individualBox .labelling > li:nth-child(3n) {border-right: 0;}
  .individualBox .labelling > li:nth-last-child(-n+2) {border-bottom: 0;}
  .individualBox .indexCon > li {width: 100%; border-right: 0;}
  .individualBox .indexCon > li:nth-last-child(-n+2) {border-bottom: 1px dashed #ccc;}
  .individualBox .indexCon > li:last-child {border-bottom: 0;}

	.calamity_insurance {flex-direction: column;}

	.cfc-facility-tab {flex-direction: column;}
	.cfc-facility-tab li {width: 100%;}

	.child_photo {justify-content: center; flex-wrap: wrap; gap: 1.5rem;}
	.child_photo li {width: 47%;}

	.flex-box {flex-direction: column; align-items: center;}
	.flex-box > div {width: 100%;}
}

@media (max-width: 359px){
}
