@charset "UTF-8";

/******** S: 공통 */
.page_top {
    padding: 60px 0;
}
/******** 브래드크럼스 (s) */
.breadcrumbs {
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
}
.breadcrumbs li {
    position: relative;
}
.breadcrumbs li:not(:first-child):before {
    content: "/";
    font-weight: 100;
    color: #d9d9d9;
    top: 50%;
    left: -17px;
    transform: translateY(-50%);
    position: absolute;
}
.breadcrumbs select {
    /* 	display: none; */
    border: none;
}

/******** selectbox 커스텀 */
.breadcrumbs .ui-selectmenu-button.ui-button {
    min-width: 60px;
    width: 100%;
    height: 30px;
    font-size: 14px;
    font-weight: 600;
    padding: 0 20px 0 4px;
    border: none;
    background: #fff url(../img/icon/ico_select.svg) no-repeat center right / 22px 6px;
    letter-spacing: -0.5px;
    color: var(--black);
    display: flex;
    align-items: center;
}
.breadcrumbs .ui-button .ui-icon {
    display: none;
}
.ui-selectmenu-open {
    font-size: 14px;
    width: fit-content;
    margin-top: 0;
    z-index: 999;
}
.ui-widget.ui-widget-content {
    margin-top: 10px;
    padding: 10px 0;
    border: none;
    box-shadow: 1px 1px 4px 0px rgb(0 0 0 / 25%);
    border-radius: 10px;
    -webkit-border-radius: 0 0 0 10px;
    -moz-border-radius: 0 0 0 10px;
    -ms-border-radius: 0 0 0 10px;
    -o-border-radius: 0 0 0 10px;
    background-color: #fbfbfb;
}
.ui-menu .ui-menu-item-wrapper {
    position: relative;
    padding: 8px 20px;
    color: var(--grayB);
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    font-weight: 500;
    color: var(--black);
    background-color: transparent;
    border-color: transparent;
}
/******** 브래드크럼스 (e) */

.title {
    text-align: center;
}

/******* E: 공통 */

/******* S: 재단소개 */
/******** 인사말 (s) */
.col-50 {
    display: flex;
}
.col-50 .left,
.col-50 .right {
    flex: 1;
}
.greetings01 {
    padding-bottom: 16px;
    border-bottom: solid 1px var(--grayStr);
}
.greetings01 p {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.5;
}
.greetings01 p strong {
    font-size: 32px;
    letter-spacing: 4px;
    color: var(--main02);
}
.greetings02 .txtbox {
    font-weight: 500;
    color: #464646;
}
.greetings02 .txtbox + .txtbox {
    margin-top: 20px;
}
.greetings03 .imgbox {
    padding-right: 30px;
    padding-bottom: 30px;
    position: relative;
}
.greetings03 .imgbox:after {
    content: "";
    width: 400px;
    height: 400px;
    background-color: var(--main01);
    right: 0;
    bottom: 0;
    position: absolute;
    z-index: -1;
}
.greetings03 .imgbox img {
    max-width: 460px;
    margin-left: auto;
}
/******** 인사말 (e) */

/******** 비전과 미션 (s) */
.vision01 .boxList li {
    padding: 0 100px;
    height: 110px;
    display: flex;
    align-items: center;
    border-radius: 50px 0 50px 0;
    -webkit-border-radius: 50px 0 50px 0;
    -moz-border-radius: 50px 0 50px 0;
    -ms-border-radius: 50px 0 50px 0;
    -o-border-radius: 50px 0 50px 0;
}
.vision01 .boxList li + li {
    margin-top: 20px;
}
.vision01 .boxList li:nth-child(1) {
    color: var(--main01);
    background-color: #ffedef;
}
.vision01 .boxList li:nth-child(2) {
    color: var(--main02);
    background-color: #f0f4ff;
}
.vision01 .boxList li .left {
    font-size: 26px;
    font-weight: 700;
}
.vision01 .boxList li .right {
    flex: 1;
    font-weight: 600;
    text-align: center;
}
.vision02 .boxList {
    display: flex;
}
.vision02 .boxList li {
    flex: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 20px 0;
}
.vision02 .boxList .imgbox {
    width: 150px;
    height: 150px;
    margin: 0 auto;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: solid 1px transparent;
}
.vision02 .boxList .vs2_li01 .imgbox {
    background-color: #fff6f7;
    border-color: #f3d5d8;
}
.vision02 .boxList .vs2_li02 .imgbox {
    background-color: #f7f6ff;
    border-color: #d5d2ec;
}
.vision02 .boxList .vs2_li03 .imgbox {
    background-color: #f8faff;
    border-color: #c9d0e3;
}
.vs2_li01 img {
    width: 45px;
    height: 55px;
}
.vs2_li02 img {
    width: 67px;
    height: 60px;
}
.vs2_li03 img {
    width: 58px;
    height: 57px;
}
.vision02 .boxList .line {
    height: 80px;
    border-right: dashed 3px transparent;
}
.vision02 .boxList .vs2_li01 .line {
    border-color: #a52c50;
}
.vision02 .boxList .vs2_li02 .line {
    border-color: #624081;
}
.vision02 .boxList .vs2_li03 .line {
    border-color: #322f81;
}
.vision02 .boxList .txtbox {
    padding: 32px 43px;
    font-size: 19px;
    color: #fff;
    font-weight: 700;
    width: 100%;
    text-align: center;
}
.vision02 .boxList .vs2_li01 .txtbox {
    border-radius: 100px 0 0 100px;
    -webkit-border-radius: 100px 0 0 100px;
    -moz-border-radius: 100px 0 0 100px;
    -ms-border-radius: 100px 0 0 100px;
    -o-border-radius: 100px 0 0 100px;
    background-color: rgb(172 41 75 / 90%);
}
.vision02 .boxList .vs2_li02 .txtbox {
    background-color: rgb(98 64 129 / 90%);
    position: relative;
}
.vision02 .boxList .vs2_li03 .txtbox {
    border-radius: 0 100px 100px 0;
    -webkit-border-radius: 0 100px 100px 0;
    -moz-border-radius: 0 100px 100px 0;
    -ms-border-radius: 0 100px 100px 0;
    -o-border-radius: 0 100px 100px 0;
    background-color: rgb(44 45 129 / 90%);
    position: relative;
}
.vision02 .boxList li:not(:first-child) .txtbox:before {
    content: "";
    display: block;
    width: 86px;
    height: 86px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    top: 50%;
    left: -43px;
    transform: translateY(-50%);
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 26px 26px;
    background-image: url(../img/icon/ico_plus_white.svg);
}
.vision02 .boxList .vs2_li02 .txtbox:before {
    background-color: #a52c50;
}
.vision02 .boxList .vs2_li03 .txtbox:before {
    background-color: #322f81;
}
.vision03 .boxList {
    display: flex;
    gap: 40px;
}
.vision03 .boxList > li {
    flex: 1;
}
.vision03 .cardboxList {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.vision03 .cardboxList > li {
    padding: 30px;
    height: 240px;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border: solid 1px transparent;
}
.vision03 li:nth-child(1) .cardboxList > li {
    background-color: #fff6f7;
    border-color: #f3d5d8;
}
.vision03 li:nth-child(2) .cardboxList > li {
    background-color: #f7f6ff;
    border-color: #d5d2ec;
}
.vision03 li:nth-child(3) .cardboxList > li {
    background-color: #f8faff;
    border-color: #c9d0e3;
}
.vision03 .cardboxList .title {
    padding-bottom: 10px;
    font-size: 24px;
    line-height: 1.5;
    border-bottom: solid 1px transparent;
    text-align: center;
}
.vision03 li:nth-child(1) .cardboxList .title {
    border-color: #f3d5d8;
}
.vision03 li:nth-child(2) .cardboxList .title {
    border-color: #d5d2ec;
}
.vision03 li:nth-child(3) .cardboxList .title {
    border-color: #c9d0e3;
}
.vision03 .cardboxList .markerList {
    padding-top: 16px;
    font-size: 19px;
    line-height: 1.5;
}
/******** 비전과 미션 (e) */

/******** 설립목적 및 연혁 (s) */
.history01 .txt {
    font-size: 18px;
    line-height: 1.5;
    color: var(--dgray);
    text-align: center;
}
.history02 {
    position: relative;
}
.bg_txt {
    font-size: 150px;
    font-weight: 700;
    line-height: 1;
}
.bg_txt01 {
    color: rgba(44 45 129/ 0.03);
}
.bg_txt02 {
    margin-top: -50px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    color: rgba(772 41 75/ 0.03);
}
.bg_txt02 span {
    margin-top: 12px;
    margin-right: 24px;
    font-size: 100px;
    color: rgba(28 31 26/ 0.03);
}
.history02 .txtbox {
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
}
.history02 .title01 {
    margin-top: 20px;
    font-family: "yangpyeong";
}
.history02 .txtbox .subTit {
    font-size: 24px;
    color: var(--main02);
    font-weight: 900;
    letter-spacing: 2.5px;
}
.scroll_ani span {
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 2.5px;
    color: #d1d1d1;
    display: block;
    text-align: center;
}
.scroll_arr {
    width: 100px;
    height: 75px;
    margin: 0 auto;
    background: #fff;
    position: relative;
    border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
}
.scroll_arr:before {
    content: "";
    width: 20px;
    height: 4px;
    position: absolute;
    left: calc(50% + 6px);
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    background-color: #2c2d81;
    box-shadow: -12px 12px #2c2d81, 12px -12px #2c2d81;
    animation: flashLeft 1s ease-out infinite alternate;
}
.scroll_arr:after {
    content: "";
    width: 20px;
    height: 4px;
    position: absolute;
    left: calc(50% - 6px);
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    background-color: #2c2d81;
    box-shadow: 12px 12px #2c2d81, -12px -12px #2c2d81;
    animation: flashRight 1s ease-out infinite alternate;
}

@keyframes flashRight {
    0% {
        background-color: rgba(44, 45, 129, 0.5);
        box-shadow: 12px 12px rgba(44, 45, 129, 0.5), -12px -12px #2c2d81;
    }
    50% {
        background-color: #2c2d81;
        box-shadow: 12px 12px rgba(44, 45, 129, 0.5), -12px -12px rgba(44, 45, 129, 0.5);
    }
    100% {
        background-color: rgba(44, 45, 129, 0.5);
        box-shadow: 12px 12px #2c2d81, -12px -12px rgba(44, 45, 129, 0.5);
    }
}
@keyframes flashLeft {
    0% {
        background-color: rgba(44, 45, 129, 0.3);
        box-shadow: -12px 12px rgba(44, 45, 129, 0.3), 12px -12px #6d35a8;
    }
    50% {
        background-color: #6d35a8;
        box-shadow: -12px 12px rgba(44, 45, 129, 0.3), 12px -12px rgba(44, 45, 129, 0.3);
    }
    100% {
        background-color: rgba(44, 45, 129, 0.3);
        box-shadow: -12px 12px #6d35a8, 12px -12px rgba(44, 45, 129, 0.3);
    }
}

.history04 {
    background-attachment: fixed;
    /* height: 420px; */
    background-position: center;
    background-color: rgba(5 3 44/ 0.8);
    background-blend-mode: overlay;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 100px 0;
    background-image: url(../img/sub/history_bg.jpg);
    position: relative;
}
.history-sec__line {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    background-color: rgba(255, 255, 255, 0.3);
    height: 100%;
    transition: background-color 0.3s;
    z-index: 10;
}
.history-sec__bar {
    display: block;
    width: 100%;
    height: 0;
    background-color: #fff;
    transition: height 0.3s, background-color 0.3s;
}

.history-sec__list {
    position: relative;
    z-index: 50;
}
.history-sec__item {
    display: flex;
    align-items: flex-start;
    gap: 0 50px;
    position: relative;
    /* min-height: 220px; */
    z-index: 10;
}
.history-sec__item.reverse {
    flex-direction: row-reverse;
}
.history-sec__item.no_imgage::before {
    content: "";
    display: block;
    width: 50%;
}
.history-sec__year {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 8.45070422535211%;
    min-width: 100px;
    text-align: center;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    background-color: #bcbac3;
    transform: translateY(-37%);
    transition: background-color 0.3s;
}
.history-sec__wrap.first .history-sec__year {
    background-color: #444;
}
.history-sec__item.active .history-sec__year {
    background-color: #fff;
}
.history-sec__year::before {
    content: "";
    display: block;
    padding-top: 100%;
}
.history-sec__year-text {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    font-size: 32px;
    color: #444;
    line-height: 1;
    transform: translateY(-50%);
}
.history-sec__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 30px;
    width: 50%;
}
.history-sec__item.reverse .history-sec__inner {
    flex-direction: row-reverse;
}
.history-sec__date-list {
    flex-shrink: 0;
    width: 100%;
    padding-bottom: 160px;
}
.history-sec__list > li:last-child .history-sec__date-list {
    padding-bottom: 0;
}
.history-sec__item.reverse .history-sec__date-item {
    text-align: right;
}
.history-sec__date-item + .history-sec__date-item {
    margin-top: 40px;
}
.history-sec__date {
    opacity: 0.6;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    transition: opacity 0.3s;
}
.history-sec__text-wrap {
    margin-top: 10px;
}
.history-sec__text {
    opacity: 0.6;
    font-size: 17px;
    font-weight: 500;
    color: #fff;
    word-break: keep-all;
    transition: opacity 0.3s;
}
.history-sec__item.active .history-sec__date,
.history-sec__item.active .history-sec__text,
.history-sec__item.active .history-sec__desc {
    opacity: 1;
}
.history-sec__img-wrap {
    width: 50%;
    opacity: 0;
    font-size: 0;
    line-height: 1;
    transform: translateY(10%);
    transition: opacity 0.3s, transform 0.4s linear;
}
.history-sec__item.active .history-sec__img-wrap {
    opacity: 1;
    transform: translateY(-13%);
}
.history-sec__img {
    width: auto;
    max-width: 100%;
    height: auto;
    margin-left: auto;
}
/******** 설립목적 및 연혁 (e) */

/******** 조직 구성도 (s) */
.org02 .imgbox {
    max-width: 1080px;
    margin: 0 auto;
}
.org03 .res_table > thead > tr:first-child > th:nth-child(1),
.org04 .res_table > thead > tr:first-child > th:nth-child(1),
.org05 .res_table > thead > tr:first-child > th:nth-child(1),
.org06 .res_table > thead > tr:first-child > th:nth-child(1) {
    width: 20%;
}
.org03 .res_table > thead > tr:first-child > th:nth-child(2),
.org04 .res_table > thead > tr:first-child > th:nth-child(2),
.org05 .res_table > thead > tr:first-child > th:nth-child(2),
.org06 .res_table > thead > tr:first-child > th:nth-child(2) {
    width: 25%;
}
.org03 .res_table > thead > tr > th,
.org04 .res_table > thead > tr > th,
.org05 .res_table > thead > tr > th,
.org06 .res_table > thead > tr > th,
.org03 .res_table > tbody > tr > td,
.org04 .res_table > tbody > tr > td,
.org05 .res_table > tbody > tr > td,
.org06 .res_table > tbody > tr > td {
    padding: 20px 30px;
    text-align: left;
}
/******** 조직 구성도 (e) */

/******** 관계법령 (s) */
.lawList {
    border-top: solid 1px var(--grayStr);
    border-bottom: solid 1px var(--grayStr);
}
.lawList > li {
    padding: 0 36px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
.lawList > li:not(:first-child) {
    border-top: solid 1px var(--grayStr);
}
.lawList .subtitle {
    font-size: 19px;
}
/******** 관계법령 (e) */

/******** CI (s) */
.gray_bd_box {
    padding: 30px;
    border: solid 1px var(--gray);
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
}
.ci_logoInfoWrap {
    padding: 30px 0;
    padding-left: 40px;
    margin: 0 auto;
    max-width: 840px;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.ci01 .ci_txt {
    padding-left: 220px;
    font-size: 18px;
    line-height: 1.5;
    color: var(--dgray);
    position: relative;
}
.ci01 .ci_txt:before {
    content: "";
    display: block;
    width: 96px;
    height: 1px;
    background-color: #d9d9d9;
    top: 50%;
    left: 96px;
    transform: translateY(-50%);
    position: absolute;
}
.ci01 .ci_txt:after {
    content: "";
    display: block;
    width: 0px;
    height: 0px;
    border-bottom: calc(7px * 1.732) solid #d9d9d9;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    top: 50%;
    left: 190px;
    transform: translateY(-50%) rotate(90deg);
    position: absolute;
}
.ci01 .imgbox {
    max-width: 500px;
    position: relative;
}
.ci01 .imgbox .line {
    height: 270px;
    left: 96px;
    border-left: solid 1px #d9d9d9;
    top: 45%;
    transform: translateY(-50%);
    position: absolute;
    z-index: -1;
}
.ci01 .imgbox img {
    padding: 10px 0;
    background-color: #fff;
}

.ci02 .gradient {
    width: 80px;
    height: 3px;
    background: linear-gradient(to right, #483076, #d73d43);
}
.logoWrap .title {
    text-align: left;
}
.ci02 .logoList {
    display: flex;
    justify-content: center;
}
.ci02 .logoList01 {
    gap: 100px;
}
.ci02 .logoList02 {
    gap: 60px;
}
.ci02 .logoList02 .imgbox {
    height: 60px;
}
/******** CI (e) */

/******** E: 재단소개 */

/******** S: 기부와나눔 */
.subPage_subDescr {
    margin-top: 16px;
    font-size: 20px;
    line-height: 1.5;
    color: #464646;
}
.subPageContsList > li:not(:first-child) {
    margin-top: 20px;
}
.subPageBox {
    display: flex;
    gap: 0 30px;
}
.subPageContTit {
    padding: 0 20px;
    width: 210px;
    min-height: 58px;
    font-size: 22px;
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
    background-color: #f8faff;
    border: solid 1px #c9d0e3;
    border-radius: 12px;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    -ms-border-radius: 12px;
    -o-border-radius: 12px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.subPageContsList > li:first-child .subPageContents {
    border-top: solid 1px #d9d9d9;
}
.subPageContents {
    padding: 20px 0;
    flex: 1;
    position: relative;
}
.subPageContents:after {
    content: "";
    width: 100%;
    height: 1px;
    border-bottom: solid 1px #d9d9d9;
    position: absolute;
    left: 0;
    bottom: -10px;
}
.subPageContents > * + * {
    margin-top: 20px;
}
.subPageContents .circleList {
    font-size: 20px;
    font-weight: 500;
    color: #464646;
}
.circleList > li + li {
    margin-top: 4px;
}
.subPageContents .circleList .txt_l {
    margin-right: 10px;
    color: #727272;
}
.subPageContents .subPageCon_title {
    font-size: 20px;
    font-weight: 700;
    color: #1c1f1a;
    margin-left: 20px;
}
.subPageContents .subPageCon_title::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-size: 15px;
    background: url(../img/icon/ico_subPageCon_title.svg);
    margin-left: -20px;
    margin-right: 6px;
    vertical-align: baseline;
}
.subPageContents .txt {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
}
.subPageTable_list {
    width: 100%;
    border-top: solid 1px #eaeaea;
    border-bottom: solid 1px #eaeaea;
}
.subPageTable_list > * > tr > th {
    padding: 20px;
    border-top: solid 1px #eaeaea;
    border-left: solid 1px #eaeaea;
    color: #74757e;
    background-color: #fcfcfc;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
}
.subPageTable_list > thead > tr:first-child > th {
    border-top: none;
}
.subPageTable_list tbody td {
    padding: 20px;
    border-top: solid 1px #eaeaea;
    border-left: solid 1px #eaeaea;
    color: #74757e;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    word-break: keep-all;
}
.subPageProcessList {
    padding: 60px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px 0;
}
.subPageProcessList > li {
    flex: 0 1 20%;
    min-width: 180px;
    text-align: center;
    position: relative;
}
.subPageProcessList.proc2 > li {
    flex: 0 1 50%;
}
.prcsLabel {
    height: 60px;
    padding: 0 16px;
    width: 80%;
    font-size: 16px;
    margin: 0 auto;
    color: #fff;
    background-color: #2c2d81;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.prcsTxt {
    width: 80%;
    font-size: 19px;
    font-weight: 600;
    margin: 0 auto;
}
.subPageSubList {
    margin-top: 4px;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
}
.subPageTable_write {
    width: 100%;
    border-top: solid 1px #eaeaea;
    border-bottom: solid 1px #eaeaea;
}
.subPageTable_write > * > tr > *:first-child {
    width: 20%;
}
.subPageTable_write > * > tr > th {
    padding: 20px;
    border-top: solid 1px #eaeaea;
    border-left: solid 1px #eaeaea;
    color: #74757e;
    background-color: #fcfcfc;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
}
.subPageTable_write tbody td {
    padding: 20px 40px;
    border-top: solid 1px #eaeaea;
    border-left: solid 1px #eaeaea;
    color: #74757e;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    vertical-align: middle;
    word-break: keep-all;
}
.circle_title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
}
.subPageTable_list .txt_flex,
.subPageTable_write .txt_flex {
    color: #74757e;
}

/* 포토갤러리 (s) */
.cardBoardList {
    margin-top: 30px;
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
    border-top: solid 1px #5e5e5e;
    gap: 30px;
}
.cardBoardList li {
    flex: 1 0 33.33%;
    max-width: calc(100% / 3 - 20px);
}
.cardBoardList.magazine li {
    flex: 1 0 25%;
    max-width: calc(100% / 4 - 22.5px);
}
.cardBoard {
    width: 100%;
    border: solid 1px var(--gray);
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    overflow: hidden;
}
.cardBoardList.magazine .cardBoard {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}
.cardBoard .imgbox {
    width: 100%;
    height: 300px;
    overflow: hidden;
}
.cardBoard .imgbox img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: 0.5s;
}
.cardBoard:hover .imgbox img {
    transform: scale(1.1);
    transition: 0.5s;
}
.cardBoard .txtbox {
    padding: 20px;
    background-color: #fff;
}
.cardBoardTit,
.cardBoardTxt {
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cardBoardTit {
    font-size: 18px;
    font-weight: 600;
    display: block;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--black);
    position: relative;
    width: fit-content;
    max-width: 100%;
}
.cardBoard:hover .cardBoardTit {
    text-decoration: underline;
}
.cardBoardTxt {
    margin-top: 20px;
    font-size: 18px;
}
.cardBoardDate {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
}
.cardBoardDate span {
    color: var(--dgray);
}
.cardBoardList .no_data {
    flex: 1 !important;
    max-width: none !important;
    width: 100%;
    max-width: 100%;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cardBoardDate span + span {
    position: relative;
}
.cardBoardDate span + span:before {
    content: "";
    display: block;
    width: 1px;
    height: 16px;
    background-color: #dfe0e2;
    position: absolute;
    top: 50%;
    left: -10px;
    transform: translateY(-50%);
}
.photoLb {
    padding: 4px 12px;
    margin-right: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--main02);
    background-color: #ddeeff;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
}
/* 포토갤러리 (e) */

/* 일시후원 (s) */
.donaForm01 {
    padding: 40px;
    background-color: var(--bg01);
}
.donaFormBox {
    width: 700px;
    padding: 60px;
    margin: 0 auto;
    background-color: #fff;
    border: solid 1px var(--gray);
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
}
.donaFormBox .tit {
    padding: 0 40px;
    margin: 0 auto;
    width: fit-content;
    text-align: center;
    position: relative;
}
.donaFormBox .tit:before,
.donaFormBox .tit:after {
    content: url(../img/icon/ico_marker.svg);
    width: 31px;
    height: 28px;
    display: block;
    top: 2px;
    position: absolute;
}
.donaFormBox .tit:before {
    left: 0;
}
.donaFormBox .tit:after {
    right: 0;
}
.donaFormBox {
    display: flex;
    flex-direction: column;
    gap: 20px 10px;
}
.donaFormBox .input_labelgroup .input_label {
    flex: 1 0 50%;
    max-width: calc(100% / 2 - 10px);
}
.donaFormBox .subDscr {
    margin-top: 32px;
    font-size: 14px;
    color: var(--dgray);
    text-align: center;
}
.donaFormBox .agree .inputbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 10px;
}
.donaFormBox .agree .input_labelgroup .input_label {
    flex: 1;
    max-width: none;
}
.donaFormBox .agree .input_chk.round {
    width: 28px;
    height: 28px;
}
/* 일시후원 (e) */

/* 후원혜택 (s) */
[class^="sponsorBnf"] .txtbox {
    font-size: 20px;
    font-weight: 500;
    color: #464646;
    line-height: 1.5;
}
.txt_highlight {
    color: var(--black);
    background: linear-gradient(to top, #ffedef 50%, transparent 50%);
}
.ico_jongno {
    margin-right: 4px;
    width: 32px;
    height: 18px;
    display: inline-block;
    background: url(../img/icon/ico_jongno.svg) no-repeat center/ contain;
}
.ico_chest {
    margin-right: 4px;
    width: 18px;
    height: 20px;
    display: inline-block;
    background: url(../img/icon/ico_chest.svg) no-repeat center/ contain;
}
.donetaxTable.table_list > thead > tr > th {
    padding: 12px 20px;
    color: var(--black);
    word-break: break-all;
}
.donetaxTable.table_list > tbody > tr > td {
    padding: 12px 20px;
    color: var(--dgray);
    word-break: break-all;
}
/* 후원혜택 (e) */

/******** E: 기부와나눔 */

/******** S: 소통과 알림 */
.boardTop {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.boardTop .total_post {
    font-size: 18px;
}
/******** E: 소통과 알림 */

/******** S: 개인정보처리방침*/
.policyBox {
    margin-top: 50px;
    height: 250px;
    overflow-y: auto;
    background-color: #fff;
}
.policyBox::-webkit-scrollbar {
    width: 20px;
}
.policyBox::-webkit-scrollbar-thumb {
    height: 42px;
    background: var(--grayStr);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border: 6px solid #fff;
}
.policyBox::-webkit-scrollbar-track {
    border-radius: 0 6px 6px 0;
    -webkit-border-radius: 0 6px 6px 0;
    -moz-border-radius: 0 6px 6px 0;
    -ms-border-radius: 0 6px 6px 0;
    -o-border-radius: 0 6px 6px 0;
    background-color: transparent;
}
.policyConts {
    font-size: 17px;
    line-height: 1.5;
}
.policyConts span {
    margin-bottom: 10px;
    display: block;
}
.policyConts p + strong,
.policyConts p + span {
    margin-top: 20px;
}
.policyBox + div {
    margin-top: 10px;
}
/******** E: 개인정보처리방침 */
/******** S: 후원안내*/
.sponsor_banner_wrap {
    background-color: #f3f9ff;
    border-radius: 0 0 0 50px;
    -webkit-border-radius: 0 0 0 100px;
    -moz-border-radius: 0 0 0 50px;
    -ms-border-radius: 0 0 0 50px;
    -o-border-radius: 0 0 0 50px;
}
.sponsor_banner_wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}
.sponsor_banner_txt {
    margin-right: 32px;
}
.sponsor_banner_txt li strong {
    font-family: "sangjuGotgam";
    font-size: 30px;
    font-weight: 800;
    color: #003675;
}
.sponsor_banner_txt li span {
    font-size: 24px;
    font-weight: 600;
    color: #1d1d1d;
    padding: 32px 0 16px 0;
}
.sponsor_banner_txt li p {
    font-size: 16px;
    color: #1d1d1d;
    padding: 2px 0;
}

.sponsor_bottom_wrap {
    background: url(../img/sub/sponsor_bottom_img.png) right 32px top 32px no-repeat;
    background-size: 520px;
    background-color: #f6f6f6;
    padding: 32px 60px 0 60px;
}
.sponsor_bottom_wrap .sponsor_bottom_title_area {
    display: flex;
    justify-content: flex-start;
}
.sponsor_bottom_wrap .sponsor_bottom_title_area .sponsor_bottom_txt {
    display: flex;
    justify-content: flex-start;
    font-size: 21px;
    line-height: 1.3;
    margin-top: 60px;
}
.sponsor_bottom_wrap .sponsor_bottom_title_area .sponsor_bottom_txt strong {
	padding: 0 24px;
	position: relative;
    font-size: 24px;
    font-weight: 700;
}
.sponsor_bottom_wrap .sponsor_bottom_title_area .sponsor_bottom_txt .quot_mark{
	position: absolute;
	top: -2px;
	left: 0;
}
.sponsor_bottom_wrap .sponsor_bottom_title_area .sponsor_bottom_txt .quot_mark.right{
	left: auto;
	right: 0;
	transform: rotate(180deg);
}
.quot_mark{
	width: 20px;
	height: 20px;
	background: url(../img/icon/ico_quot_mark.svg) no-repeat center / contain;
}
.sponsor_bottom_wrap .sponsor_info_box {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    background-color: #fff;
    border-radius: 30px 30px 0 0;
    -webkit-border-radius: 30px 30px 0 0;
    -moz-border-radius: 30px 30px 0 0;
    -ms-border-radius: 30px 30px 0 0;
    -o-border-radius: 30px 30px 0 0;
    border: 1px solid #dfe0e2;
    border-bottom: 0;
    padding: 40px 60px;
    margin-top: 80px;
}
.sponsor_bottom_wrap .sponsor_info_box dl {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.sponsor_bottom_wrap .sponsor_info_box dl:first-child::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 48px;
    background-color: #d9d9d9;
    margin-top: 20px;
    margin-left: 60px;
}
.sponsor_bottom_wrap .sponsor_info_box dl:nth-child(2) {
    margin-left: 60px;
}
.sponsor_bottom_wrap .sponsor_info_box dl::before {
    content: "";
    display: inline-block;
    width: 90px;
    height: 90px;
    background: url(../img/sub/ico_sponsor_account.svg);
}
.sponsor_bottom_wrap .sponsor_info_box dl:nth-child(2)::before {
    content: "";
    display: inline-block;
    width: 90px;
    height: 90px;
    background: url(../img/sub/ico_sponsor_call.svg);
}
.sponsor_bottom_wrap .sponsor_info_box dl dt {
    font-size: 22px;
    font-weight: 700;
    color: #2c2d81;
    margin-top: 12px;
    margin-left: 20px;
}
.sponsor_bottom_wrap .sponsor_info_box dl dd {
    margin-top: 12px;
    margin-left: 20px;
}
.sponsor_bottom_wrap .sponsor_info_box dl dd strong {
    font-size: 24px;
    font-weight: 800;
    color: #1c1f1a;
    display: block;
}
.sponsor_bottom_wrap .sponsor_info_box dl dd span {
    font-size: 17px;
    font-weight: 500;
    color: #1c1f1a;
    display: block;
    margin-top: 4px;
}
.sponsor_apply_btn {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
}
.sponsor_apply_btn a {
    display: block;
    width: 240px;
    height: 72px;
    line-height: 72px;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
    text-align: center;
    font-size: 20px;
}
.sponsor_apply_btn a::after {
    content: "";
    display: inline-block;
}
.sponsor_apply_btn a:hover {
    opacity: 0.9;
}
.sponsor_apply_btn .long_term_sponsor_btn {
    background-color: #2c2d81;
    color: #fff;
}
.sponsor_apply_btn .short_term_sponsor_btn {
    background-color: #ac294b;
    color: #fff;
}
.sponsor_apply_btn .deposit_sponsor_btn {
    background-color: #464646;
    color: #fff;
}
.sponsor_apply_btn a .ico_link,
.sponsor_apply_btn a .ico_download {
    position: relative;
    top: 3px;
    width: 21px;
    height: 21px;
}
/******** E: 후원안내 */

/******** S: 갤러리 상세 */
.galleryWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.galleryWrap li {
    width: calc(100% / 3 - 15px);
}
.galleryWrap a {
    width: 100%;
    overflow: hidden;
    background-color: #dfe0e2;
    padding-bottom: 100%;
    display: block;
    position: relative;
}
.board_details .middle .conts .galleryWrap a > img {
    width: 100%;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    position: absolute;
}
#imgViewPop .popbox {
    max-width: 60%;
    width: fit-content;
    background-color: #000;
}
#imgViewPop .popbox .imgbox {
    height: 90vh;
}
#imgViewPop .popbox .imgbox img {
    height: 100%;
    object-fit: contain;
}
.videoWrap{
	max-width: 800px;
    margin: 40px auto;
}
.videobox {
    padding-bottom: 56.25%;
    overflow: hidden;
    background-color: #dfe0e2;
    position: relative;
}
.videobox iframe,
.videobox video {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
/******** E: 갤러리 상세 */

/******** S: 찾아오시는 길 */
.location {
    display: flex;
    gap: 20px;
}
.location .left {
    flex: 1;
}
.mapbox {
    width: 100%;
    height: 100%;
    background-color: #f2f2f2;
    box-shadow: 1px 2px 8px 0 hsl(0deg 0% 0% / 10%);
    overflow: hidden;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
}
.location .right {
    padding: 30px;
    width: 500px;
    flex-shrink: 0;
    border: solid 1px #a5a5a5;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
}
.traffic_info {
    margin-top: 54px;
}
.traffic_info > li:first-child {
    padding-bottom: 20px;
    border-bottom: solid 1px;
}
.traffic_info > li + li {
    padding-top: 20px;
}
.traffic_info .tit {
    display: flex;
    align-items: center;
}
[class^="ico_ts"] {
    margin-right: 10px;
    display: block;
    width: 32px;
    height: 32px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.ico_ts_subway {
    background-image: url(../img/icon/ico_ts_subway.svg);
}
.ico_ts_bus {
    background-image: url(../img/icon/ico_ts_bus.svg);
}
.traffic_info .txtList {
    margin-top: 20px;
}
.traffic_info .txtList li {
    font-size: 19px;
}
.traffic_info .txtList li + li {
    margin-top: 10px;
}
.locationMap_info{
    padding: 6px 10px;
    width: 300px;
    height: 40px;
    font-size: 14px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 0 1px 1px rgb(0 0 0 / 15%);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    position: absolute;
    top: -78px;
    left: 50%;
    transform: translate(-50%, 0);
}
.ico_locMarker{
	display: inline-block;
	width: 20px;
	height: 30px;
	background: url(../img/icon/location_marker2.svg) no-repeat center/ contain;
}
/******** E: 찾아오시는 길 */