* {
    letter-spacing: -1px;
}

.r-menu {
    max-height: calc(100vh - 80px);
}

@media (max-width: 1280px) {
    .r-menu {
        max-height: 100vh;
    }
}


/* contents */
.contents {
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 60px;
    overflow: hidden;
    border-bottom: 1px solid #8d8d8e
}

/* 공통 최상단 타이틀 */
.section_title_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.section_title_box .print_button {
    width: 42px;
    height: 42px;
    padding: 0;
    background: url("../images/common/print_icon.png") no-repeat center;
    background-size: contain;
}

.section_title_box .section_title span {
    font: bold 20px/normal 'Pretendard';
    letter-spacing: -1px;
}

.section_title_box .section_title strong {
    font: bold 20px/normal 'Pretendard';
    letter-spacing: -1px;
    color: #2850b1;
}

/* section */
/* 제목 */
.section01 {
    position: relative;
}

.section01 .category_wrapper {
    padding: 21px 0 30px;
    text-align: center;
}

.section01 h4 {
    font-size: 20px;
    color: white;
    line-height: 35px;
    padding: 0 16px;
    background-color: #2850b1;
    border-radius: 50em;
    text-align: center;
    box-sizing: border-box;
    font-family: 'Pretendard';
    display: inline-block;
}

.section01 .article_title {
    font: bold 46px/60px 'Pretendard';
    color: #2f2929;
    text-align: center;
}

.section01 .article_title .sub_tit {
    font: normal 36px/50px 'Pretendard';
    color: #2f2929;
    text-align: center;
}

.section01 .menu_desc {
    font-size: 16px;
    color: #666;
    line-height: 140%;
    margin-top: 20px;
    text-align: center;
}

.section01 .top_pic {
    width: 100%;
    height: 480px;
    background: url(./images/sub/sub_img01.png) no-repeat 43% 0;
    font-size: 0;
}

.section01 .tit { /*font-size: 48px;*/
    color: black;
    line-height: 140%; /* margin-top: 60px; */
    text-align: center;
}

.section01 .person {
    font-size: 24px;
    color: blue;
}

.section01 .introduce_person {
    font-size: 18px;
}

.section01 ul {
}

.section01 ul li {
    font-size: 18px;
    color: black;
    line-height: 140%;
    margin-left: 20px;
}

.section01 ul li:first-child {
    margin-left: 0;
}


/* 서론 */
.border_text {
    border-width: 1px;
    border-style: solid;
    display: block;
    padding: 20px 14px;

}

.section02 {
    margin-top: 57px;
    padding-top: 47px;
    border-top: 2px solid black;
}

.section02 .person_info {
    display: flex;
    justify-content: flex-end;
    font-size: 18px;
    color: #555555;
    line-height: 36px;
    letter-spacing: -0.45px;
}

.section02 .body {
    margin-bottom: 100px;
}

.section02 .body:last-of-type {
    margin-bottom: 187px;
}

.body .para_title {
    padding: 48px 0;
    text-align: initial;
    font: 500 36px/normal 'Pretendard';
}

.body .para_title.orange {
    color: #f39a4f;
}

.body .para_title.tangerine {
    color: #ee781c;
}

.body .para_title.blue2502 {
    color: #527598;
}

.body .para_title.green {
    color: #6abc6e;
}

.body .para_title.bgreen {
    color: #31b370;
}

.body .para_title.darkbrown {
    color: #874139;
}

.body .para_title.brownish {
    color: #8a6243;
}

.body .para_title.darkRose {
    color: #bb3645;
}

.body .para_title.purple {
    color: #99547c;
}

.body .para_title.ypurple {
    color: #8477b5;
}

.body .para_title.purple2503 {
    color: #a674b0;
}

.body .para_title.rosePink2503 {
    color: #ec6d81;
}
.body .para_title.blue2505 {
    color: #12BECA;
}

.body .para_title.blue2507 {
    color: #379AD6;
}

.body .para_title.rbrown {
    color: #ba6561;
}

.body .para_title.darkgreen {
    color: #607956;
}

.body .para_title.pink {
    color: #dc668b;
}

.body .para_title.ddblue{
    color: #0092cd;
}

.body .para_title.yellowbrown {
    color: #b08138;
}

.body .para_title.red {
    color: #b82f30;
}

.body .para_title.yorange {
    color: #ee7951;
}

.body .para_title.ybrown {
    color: #da863d;
}

.body .para_title.dgreen {
    color: #399864;
}

.body .para_title.dblue {
    color: #49729F;
}

/*.body .para_title.purple {*/
/*    color: #925ca3;*/
/*}*/


.body .comb_container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 42px;

}

.emphasis {
    font: bold 46px/53px 'Pretendard';
}

.body .comb_container .text_box {
    width: 50%;
    color: #444444;
    letter-spacing: -0.9px;
}

.body .comb_container .img_box {
    width: 50%;
}

.body .comb_container img {
    width: 100%;
    height: 100%;
    display: block;
}

.body .comb_container.wrap {
    flex-wrap: wrap;
    gap: 48px;
}

.body .comb_container.wrap .text_box, .body .comb_container.wrap .img_box {
    width: 100%;
}

.body .img_box.d_flex {
    display: flex;
}

.body .d_flex.justify_space {
    justify-content: space-between;
}

.body .comb_container .img_box.d_flex img {
    width: 50%;
}

.body .comb_container .img_box.d_flex .caption_container {
    height: 100%;
}

.body .comb_container .img_box.d_flex .caption_container img {
    width: 100%;
}

/* 박스 여러개일때 */
.flex_box {
    display: flex;
    align-items: center;
    justify-content: center;
}

.flex_box.flex_start {
    align-items: flex-start;
}

.flex_box.flex2 li {
    width: 50%
}

.flex_box.flex3 li {
    width: 33%
}

.flex_box.flex4 li {
    width: 25%
}

.flex_box.flex5 li {
    width: 20%
}

/* 이미지 1:1 비율 */
.forward_img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
}

/* custom_article css  :: sub5_01 */

.custom_article .article_title img {
    width: 100%;
}

.custom_article .section02 {
    border: none;
    padding-top: 0;
}

.custom_article .introduction .border_text {
    padding: 0;
    display: flex;
    align-items: stretch;
    min-height: 90px;
    border-color: #b6cce1;
    max-width: 928px;
    width: auto;
    margin: 30px auto;

}

.custom_article .introduction .border_text li {
    padding: 0 24px;
    min-height: 90px;
    max-height: 100%;
    vertical-align: middle;
    background: #f3f4f4;
    display: flex;
    align-items: center;
}

.custom_article .introduction .border_text li:first-child {
    color: #0054a7;
    font: bold 20px/normal 'SCDream6';
    border-right: 1px solid #b6cce1;
    background: #f7c862;
}

.custom_article .body .para_title {
    max-width: 750px;
    width: 100%;
    height: 50px;
    margin: 70px auto 48px;
    position: relative;
    padding: 0;
    text-align: center;
    color: white;
    line-height: 50px;
    font-size: 23px;
    text-transform: uppercase;
    background: linear-gradient(to bottom, #0054a7 50%, #1a67b2 50%);
}

.custom_article .body .para_title:before {
    content: ' ';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-left: 13px solid white;
    border-top: 25px solid #0054a7;
    border-bottom: 25px solid #1a67b2;
}

.custom_article .body .para_title:after {
    content: ' ';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-right: 13px solid white;
    border-top: 25px solid #0054a7;

    border-bottom: 25px solid #1a67b2;
}

.custom_article .info_box {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.custom_article .info_box li {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.custom_article .info_box li .title_box {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 20px;
}

.custom_article .info_box li:first-child .title_box:before {
    content: "";
    background: url(../images/sub/sub05/1/2.png) no-repeat center;
    background-size: contain;
    width: 50px;
    height: 50px;
    display: block;
}

.custom_article .info_box li:last-child .title_box:before {
    content: "";
    background: url(../images/sub/sub05/1/3.png) no-repeat center;
    background-size: contain;
    width: 50px;
    height: 50px;
    display: block;
}

.custom_article .info_box li .title {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    font: bold 32px 'SCDream6';
    color: #0054a7;
    gap: 10px;
}

.custom_article .info_box li .title_detail {
    border: 1px solid #0054a7;
    padding: 4px 8px;
    font-weight: 300;
    margin-top: 12px;
    color: #0054a7;
    display: block;
    line-height: 25px;
    background-color: #f3f4f4;
}

.custom_article .info_box li .info_detail {
    margin-top: auto;
    border-top: 1px solid #0054a7;
    padding-top: 20px;
}

.custom_article .info_icon {
    margin-top: 20px;
}

.custom_article .info_icon li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #0054a7;

}

.custom_article .info_box li .info_detail em {
    font: 300 14px 'Pretendard';
    color: #0054a7;
}

.custom_article .number_list {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    align-items: stretch;

}

.custom_article .number_list li {
    width: calc(50% - 12px);
    position: relative;
}

.custom_article .number_list li:nth-child(n+3) {
    border-top: 1px solid #0054a7;
    padding-top: 20px;
}

.custom_article .number_list li:nth-child(2n):after {
    content: '';
    width: 1px;
    position: absolute;
    height: 100%;
    background-color: #0054a7;
    left: -12px;
    top: 10px;
}

.custom_article .number_list li:last-child {
    width: 100%;
}

.custom_article .point_detail strong {
    font-weight: 700;
}

.custom_article .step_list {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    gap: 24px;
    align-items: stretch;
}

.custom_article .step_list li {
    border: 1px solid #0054a7;
    padding: 25px 14px;
    background-color: #f3f4f4;
    position: relative;
}

.custom_article .step_list .title {
    display: block;
    position: relative;
    text-align: center;
    font: bold 18px 'Pretendard';
    color: #0054a7;
    padding-bottom: 12px;
    border-bottom: 1px solid #0054a7;
}


.custom_article .step_list .title + span {
    padding-top: 12px;
    font-size: 16px;
    display: block;
}

.custom_article .text_badge {
    background: #f7c862;

    position: absolute;
    top: -20px;
    left: -1px;
    z-index: 1;
    height: 40px;
    width: 80px;
    color: #0054a7;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom_article .text_badge::before {
    content: '';
    position: absolute;
    top: 0;
    right: -20px; /* 오른쪽으로 조정 */
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #f7c862;
}

.number_list li {
    counter-increment: number;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.number_list li:before {
    content: counter(number) ' .';
    font: bold 18px 'Pretendard';
    color: #0054a7;
    margin-top: 7px;

}

.number_list li .count_box {
    flex-direction: column;
    display: flex;
    width: calc(100% - 28px);
}

.number_list li .title {
    font-weight: bold;
    color: #0054a7;
}

/* 아래 css 작업 하면서 필요없으면 삭제 할예정 START */

.section02 .person_info > li {
    display: inline-block;
    position: relative;
    font-size: 18px;
}

.section02 .person_info table {
    margin-left: 80px;
}

.section02 .person_info tr {
    text-align: left;
    line-height: 180%;
}

.section02 .person_info tr td:first-child {
    color: #666;
}

.section02 .person_info tr td:last-child {
    color: black;
    padding-left: 20px;
}

.section02 .subTit { /*font-size: 18px;*/
    color: black;
    line-height: 140%;
    margin-top: 50px;
    text-align: center;
}

.section02 .subTit span {
    border-bottom: 1px solid black;
}

.section02 .tit { /*font-size: 32px;*/
    color: black;
    line-height: 140%;
    width: 840px; /*margin:48px auto 0;*/
    text-align: center;
    word-break: keep-all;
}

.section02 .title_wrap {
    word-break: keep-all;
}

.section02 .caption {
    font-size: 16px;
    color: #666;
    line-height: 140%;
    margin-top: 50px;
    text-align: center;
}

.section02 .desc_wrap {
    margin-top: 50px;
}

.section02 .desc {
    text-align: justify;
   /* text-align: left;*/
    font-size: 18px;
    color: #555555;
    line-height: 36px;
    letter-spacing: -0.45px;
}

.section02 .desc:first-child {
    margin-top: 0;
}

.section02 .middle_member_pic {
    width: 100%;
    margin-top: 60px;
}

/* 아래 css 작업 하면서 필요없으면 삭제 할예정 END */


.section03 .subTit {
    font-size: 18px;
    color: black;
    line-height: 140%;
    margin-top: 50px;
    text-align: center;
}

.section03 .subTit span {
    border-bottom: 1px solid black;
}

.section03 .tit {
    font-size: 32px;
    color: black;
    line-height: 140%;
    width: 1010px;
    margin: 48px auto 0;
    text-align: center;
}

.section03 .caption {
    font-size: 16px;
    color: #666;
    line-height: 140%;
    margin-top: 50px;
    text-align: center;
}

.section03 .desc_wrap {
    margin-top: 50px;
}

.section03 .desc {
    font-size: 18px;
    color: #666;
    line-height: 180%;
    word-spacing: 1px;
}

.section03 .desc:first-child {
    margin-top: 0;
}

.section03 .img_wrap {
    margin-top: 57px;
    overflow: hidden;
}

.section03 .img_wrap li {
    float: left;
    margin-left: 40px;
}

.section03 .img_wrap li:first-child {
    margin-left: 0;
}

.section04 .subTit {
    font-size: 18px;
    color: black;
    line-height: 140%;
    margin-top: 50px;
    text-align: center;
}

.section04 .subTit span {
    border-bottom: 1px solid black;
}

.section04 .tit {
    font-size: 32px;
    color: black;
    line-height: 140%;
    width: 1010px;
    margin: 48px auto 0;
    text-align: center;
}

.section04 .caption {
    font-size: 16px;
    color: #666;
    line-height: 140%;
    margin-top: 50px;
    text-align: center;
}

.section04 .desc_wrap {
    margin-top: 50px;
}

.section04 .desc {
    font-size: 18px;
    color: #666;
    line-height: 180%;
    word-spacing: 1px;
}

.section04 .desc:first-child {
    margin-top: 0;
}

.section04 .img_wrap {
    margin-top: 57px;
    overflow: hidden;
}

.section04 .img_wrap li {
    float: left;
    margin-left: 40px;
}

.section04 .img_wrap li:first-child {
    margin-left: 0;
}

.section04 .img_wrap li:last-child {
    float: none;
    margin-left: 0;
    text-align: center;
}

.section04 .img_wrap li:last-child img {
    margin-top: 40px;
}

.section04 .img_wrap_desc {
    font-size: 16px;
    color: #666;
    line-height: 140%;
    margin-top: 30px;
    text-align: center;
}

.article05 {
    margin-top: 60px;
}
.section01 .article_title + h6{
    font-size: 30px!important;
}
.article05 .person_message {
    font-size: 28px;
    color: black;
    line-height: 160%;
    padding: 65px 167px;
    text-align: center;
    background-color: #EFF2F9;
}

.article05 .video_wrap {
    text-align: center;
    margin-top: 60px;
}

.article05 .video_wrap img {
    width: 100%;
}

.thek_message {
    margin-top: 60px;
}

.thek_message p {
    font-size: 16px;
    color: black;
    line-height: 140%;
    margin-top: 20px;
}

.thek_message p:nth-child(2) {
    color: #666;
}

.thek_message p:first-child {
    margin-top: 0;
}


/* 반응형(s) */
@media (max-width: 1150px) {

    .contents {
        margin-left: 24px;
        margin-right: 24px;
    }

    .custom_article .info_box {
        flex-wrap: wrap;
        gap: 50px;
    }

    .custom_article .info_box li {
        width: 100%;
    }

    .section03 .img_wrap li {
        float: none;
        margin: 0;
    }

    .section03 .img_wrap li img {
        width: 100%;
        height: auto;
    }

    .section04 .img_wrap li {
        float: none;
        margin: 0;
    }

    .section04 .img_wrap img {
        width: 100%;
        height: auto;
    }

    .section04 .img_wrap li:last-child img {
        margin: 0;
    }

    .article05 .person_message {
        padding: 35px 80px;
        font-size: 20px;
    }
}

@media (max-width: 1024px) {
    .contents {
        margin-top: 20px
    }
    .section01 .article_title + h6{
        font-size: 24px!important;
    }
    .body .comb_container {
        flex-wrap: wrap;
        gap: 50px;

    }

    .body .comb_container .text_box {
        width: 100%;
        font-size: 16px;
        letter-spacing: -0.8px;
    }

    .body .comb_container .img_box {
        padding: 0 36px;
        width: 100%;

    }

    .section_title_box .section_title strong, .section_title_box .section_title span {
        font-size: 18px;
        letter-spacing: -0.9px;

    }

    .section01 .category_wrapper {
        padding: 70px 0 30px;
    }

    .section01 .article_title, .section01 .article_title .sub_tit, .emphasis {
        font-size: 30px;
        line-height: 36px;
    }

    .section02 {
        margin-top: 28px;
        padding-top: 28px;
    }
   
    .section02 .desc, .section02 .person_info {
        font-size: 16px;
        letter-spacing: -0.4px;
        line-height: 30px;
    }
    

    .section02 .body {
        margin-bottom: 0;
    }

    .section02 .body:last-of-type {
        margin-bottom: 100px;
    }

    .body .para_title {
        padding: 48px 0 26px;
    }

    .section04 .tit {
        width: 100%;
    }

    .flex_box {
        flex-wrap: wrap;
        gap: 24px;
    }

    .flex_box.flex4 li {
        width: 100%;
    }

    .flex_box.flex5 li {
        min-width: 180px;
    }


    .custom_article .number_list {
        flex-wrap: wrap;
    }

    .custom_article .number_list li:nth-child(n+2) {
        border-top: 1px solid #0054a7;
        padding-top: 20px;
    }

    .custom_article .number_list li {
        width: 100%;
    }

    .custom_article .number_list li:nth-child(2n):after {
        border: none;
        display: none;
    }

    .custom_article .step_list {
        gap: 48px;
    }

    .number_list li:before {
        margin-top: 3px;
    }
}

@media (max-width: 768px) {
    .contents {
        margin-left: 16px;
        margin-right: 16px;
    }
    .section01 .article_title + h6{
        font-size: 20px!important;
    }
    .section01 .article_title, .section01 .article_title .sub_tit, .emphasis {
        font-size: 24px;
    }

    .body .comb_container .img_box {
        padding: 0 8px;
    }

    .body .img_box.d_flex {
        flex-wrap: wrap;
    }

    .body .comb_container .img_box.d_flex img {
        width: 100%;
    }

    .body .para_title, .custom_article .body .para_title {
        font-size: 22px;
    }

    .custom_article .introduction .border_text {
        flex-wrap: wrap;
        padding: 24px 0;
    }

    .custom_article .introduction .border_text li {
        background: none;
    }

    .custom_article .introduction .border_text li:first-child {
        background: none;
        height: auto;
        min-height: initial;
        border: none;
        padding-bottom: 8px;
    }
    .section02 .desc, .section02 .person_info #sub_tit{line-height:32px;}
}

/* 반응형 (e) */

.lnk1 {
    width: 60px !important;
    height: 44px;
    background: url(images/ico_thek.png) no-repeat;
    text-indent: -9999999999em;
    background-size: contain;
}
