@charset "UTF-8";
/* 인사말 */
.introduce_page .introduce_bg{
    overflow: hidden;
}
.introduce_page .introduce_bg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.introduce_page .white_box{
    position: relative;
    width: 70%;
    margin-top: -60px;
    background-color: #fff;
    padding: 45px 30px 0 30px;
}
.introduce_page .white_box h4{
    font:400 30px "Pretendard";
    word-break: keep-all;
}
.introduce_page .white_box h4 b{
    font-weight: 700;
    line-height: 46px;
}
.introduce_page .white_box p{
    margin-top: 36px;
    font-size: 18px;
    color: #555;
    word-break: keep-all;
}
.introduce_page .white_box span{
    font-weight: 700;
}
@media all and (max-width:1240px){
    .introduce_page .white_box{
        width: 80%;
        padding: 20px 30px 0;
        margin-top: -40px;
    }
    .introduce_page .white_box p{
        font-size: 16px;
        margin-top: 24px;
    }
    .introduce_page .white_box h4{
        font-size: 24px;
    }
}
@media all and (max-width:768px){
    .introduce_page .introduce_bg{
        height: 137px;
    }
    .introduce_page .white_box{
        width: 100%;
        margin-top: 0;
        padding-left: 0;
        padding-right: 0;
    }
    .introduce_page .white_box h4{
        font-size: 20px;
    }
    .introduce_page .white_box p{
        margin-top: 16px;
        margin-bottom: 30px;
    }
}
/* 연혁 */
.history_page .background_box img{
    width: 100%;
}
.history_page .white_box{
    position: relative;
    width: 70%;
    background-color: #fff;
    margin-top: -80px;
    padding: 56px 40px;
}
.history_page .white_box .history_year_list{
    display: flex;
    flex-direction: column;
    gap: 80px;
}
.history_page .white_box .history_year_list .big_year{
    position: relative;
    font: 600 40px 'TitilliumWeb';
    min-width: 153px;
}
.history_page .white_box .history_year_list > li{
    display: flex;
    gap: 8%;
    word-break: keep-all;
}
.history_page .white_box .history_year_list .big_year::before{
    content: '';
    display: inline-flex;
    margin-right: 24px;
    width: 52px;
    height: 24px;
    background: url('/assets/images/user/sub/history_ball.svg') no-repeat;
    background-size: contain;
}
.history_page .white_box .history_year_list .history_month_list{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.history_page .white_box .history_year_list .history_month_list li{
    display: flex;
    font: 18px "Pretendard";
}
.history_page .white_box .history_year_list .history_month_list .month{
    display: inline-block;
    font: 18px "Pretendard";
    font-weight: 700;
    margin-right: 10px;
    color: #0F356D;
}
/* 주요실적 */
.history_page .logo_box{
    width: auto;
    height: 55px;
}
.history_page .logo_box img{
    width: auto;
    height: 100%;
    object-fit: contain;
}
.history_page .city_result:not(:last-child){
    margin-bottom: 80px;
}
.history_page .city_result .logo_box{
    margin-bottom: 40px;
}
.history_page .city_result .history_year_list{
    position: relative;
}
.history_page .city_result .history_year_list::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-radius: 50px;
    width: 10px;
    height: 100%;
    background-color: #3D709D;
    opacity: 0.1;
}
.history_page .city_result .history_year_list .p_year{
    position: relative;
    display: flex;
    align-items: center;
    gap: 40px;
    font: 26px "Pretendard";
    font-weight: 700;
}
.history_page .city_result .history_year_list .p_year::before{
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #2B5684;
}
.history_page .white_box .history_year_list .history_month_list .inner_list{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
@media all and (max-width:1240px){
    /* 연혁 */
    .history_page .white_box{
        width: 90%;
        padding: 30px;
        margin-top: -60px;
    }
    .history_page .white_box .history_year_list .big_year{
        font-size: 34px;
    }
    .history_page .white_box .history_year_list{
        gap: 60px;
    }
}
@media all and (max-width:768px){
    /* 연혁 */
    .history_page .white_box{
        width: 100%;
        padding: 20px 0;
        margin-top: 0;
    }
    .history_page .background_box{
        height: 140px;
    }
    .history_page .background_box img{
        height: 100%;
        object-fit: cover;
    }
    .history_page .white_box .history_year_list > li{
        flex-direction: column;
        align-items: flex-start !important;
        gap: 0;
    }
    .history_page .white_box .history_year_list .big_year{
        font-size: 30px;
    }
    .history_page .white_box .history_year_list{
        gap: 40px;
    }
    .history_page .white_box .history_year_list .history_month_list li{
        font-size: 16px;
    }
    .history_page .white_box .history_year_list .big_year::before{
        width: 40px;
        height: 19px;
    }
    /* 주요실적 */
    .history_page .logo_box{
        height: 44px;
    }
    .history_page .city_result .history_year_list .p_year{
        gap: 30px;
    }
    .history_page .white_box .history_year_list .history_month_list{
        padding-left: 40px;
        margin-top: 20px;
    }
}
@media all and (max-width:520px){
    /* 주요실적 */
    .history_page .city_result .history_year_list .p_year{
        gap: 20px;
    }
    .history_page .white_box .history_year_list .history_month_list{
        padding-left: 30px;
        margin-top: 15px;
    }
}

/* 인증서 및 특허 */
.certificate_page .certificate_list{
    display: flex;
    flex-wrap: wrap;
    gap: 60px 40px;
}
.certificate_page .certificate_list li{
    width: calc((100% - 120px ) / 4);
    cursor: pointer;
}
.certificate_page .certificate_list li:hover .img_box{
    box-shadow: 3px 8px 30px #00000052;
}
.certificate_page .certificate_list li:hover .img_box::before{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5) url('/assets/images/user/common/magnifying_glass_white.svg') no-repeat center center;
}
.certificate_page .certificate_list .img_box{
    position: relative;
    height: 22.9167vw;
    border: 1px solid #EAEAEA;
    background-color: #FFF;
    overflow: hidden;
}
.certificate_page .certificate_list .img_box.no_image{
    background-color: #eaeaea;    
}
.certificate_page .certificate_list .img_box.no_image > img{
    width: auto;
    height: auto;
}
.certificate_page .certificate_list .img_box img{
    width: 100%;
    height: 100%;
    /* padding: 30px 0; */
    object-fit: cover;
}
.certificate_page .certificate_list p{
    margin-top: 16px;
    text-align: center;
    font: 18px "Pretendard";
}
/* 인증서 팝업 */
.certificate_page .popup_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
	z-index: 1005;
}
.certificate_page .popup_overlay .popup_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
}
.certificate_page .popup_overlay .popup_inner .close_btn{
	display: flex;
	align-items: center;
	justify-content: flex-end;
    margin-bottom: 10px;
	color: #fff;
	font: 18px 'SpoqaHanSansNeo';
	cursor: pointer;
}
.certificate_page .popup_overlay .popup_inner .close_btn img{
	width: 24px;
	height: 24px;
} 
.certificate_page .popup_overlay .popup_image {
    height: 40vw;
    display: block;
    margin: 0 auto;
}
@media all and (max-width:1024px){
    .certificate_page .certificate_list{
        gap: 40px 30px;
    }
    .certificate_page .certificate_list li{
        width: calc((100% - 60px ) / 3);
    }
    .certificate_page .certificate_list .img_box{
        height: 39.0625vw;
    }
    .certificate_page .popup_overlay .popup_image{
        height: 60vw;
    }
}
@media all and (max-width:768px){
    .certificate_page .certificate_list{
        gap: 30px 20px;
    }
    .certificate_page .certificate_list li{
        width: calc((100% - 20px ) / 2);
    }
    .certificate_page .certificate_list .img_box{
        height: 52vw;
    }
    .certificate_page .popup_overlay .popup_image{
        height: 80vw;
    }
}
@media all and (max-width:425px){
    .certificate_page .popup_overlay .popup_image{
        height: 90vw;
    }
}

/* 조직도 */
.organization_page .organ_main .CEO{
    position: relative;
    width: 30%;
    height: 92px;
    border: 2px solid #C3D3E1;
    border-radius: 3px;
    font:700 24px "Pretendard";
    margin: 0 auto;
}
.organization_page .organ_main .CEO::before{
    content: '';
    position: absolute;
    bottom: -90px;
    width: 1px;
    height: 90px;
    border-right: 1px dashed #C2CCDA;
}
.organization_page .organ_main .organ_sub{
    position: relative;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-top: 181px;
}
.organization_page .organ_main .organ_sub::before{
    content: '';
    position: absolute;
    top: -91px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 240px);
    border-bottom: 1px dashed #C2CCDA;
}
.organization_page .organ_main .organ_sub li{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 240px;
    height: 64px;
    border-radius: 100px;
    font: 500 20px "Pretendard";
    color: #fff;
    background-color: #0F356D;
    box-shadow: 3px 3px 5px #0F356D4D;
}
.organization_page .organ_main .organ_sub li::before{
    content: '';
    position: absolute;
    top: -90px;
    /* width: 1px; */
    height: 90px;
    border-right: 1px dashed #C2CCDA;
}
@media all and (max-width:1024px){
    .organization_page .organ_main .CEO{
        width: 300px;
        height: 80px;
    }
    .organization_page .organ_main .organ_sub{
        gap: 10px;
    }
    .organization_page .organ_main .organ_sub::before{
        width: calc(100% - 180px);
    }
    .organization_page .organ_main .organ_sub li{
        width: 180px;
        font-size: 18px;
    }
}
@media all and (max-width:768px){
    .organization_page .organ_main .CEO{
        font-size: 20px;
    }
    .organization_page .organ_main .CEO::before{
        bottom: -80px;
        height: 80px;
    }
    .organization_page .organ_main .organ_sub{
        flex-direction: column;
        align-items: center;
        gap: 20px;
        margin-top: 80px;
    }
    .organization_page .organ_main .organ_sub::before{
        top: 0;
        width: 1px;
        height: 100%;
        border-right: 1px dashed #C2CCDA
    }
    .organization_page .organ_main .organ_sub li{
        width: 60%;
    }
    .organization_page .organ_main .organ_sub li::before{
        border: none;
    }
}
@media all and (max-width:425px){
    .organization_page .organ_main .CEO{
        width: 100%;
    }
    .organization_page .organ_main .organ_sub li{
        width: 80%;
    }
}
/* 오시는 길 */
.map_page .kakao_map{
    position: relative;
    width: 100%;
    margin-top: 60px;
}
#daumRoughmapContainer1696388131347,
#daumRoughmapContainer1696388239369,
#daumRoughmapContainer1709607253538{
    width: 100%;
    height: 100%;
    display: block;
}
.map_page .kakao_map:not(:first-child){
    margin-top: 120px;
}
.map_page .kakao_map .map_wrap{
    width: 100%;
    overflow: hidden;
}
.map_page .adress{
    position: absolute;
    transform: translateY(-50%);
    left: 0;
    border-radius: 5px;
    padding: 20px 30px;
    display: inline-block;
    z-index: 5;
}
.map_page .adress.ad_01{
    background-color: #0F356D;
}
.map_page .adress.ad_02{
    background-color: #62A4CF;
}
.map_page .adress b{
    color: #fff;
}
.map_page .adress p{
    color: #fff;
}
.map_page .adress p span{
    display: inline-block;
    margin-right: 10px;
}
@media all and (max-width:768px){
    .map_page .adress{
        position: relative;
        width: 90%;
        transform: translateY(0);
        padding: 15px;
        margin-bottom: -30px;
    }
    #daumRoughmapContainer1696388131347,
    #daumRoughmapContainer1696388239369{
        height: 240px;
    }
    .map_page .kakao_map{
        margin-top: 0;
    }
    .map_page .kakao_map:not(:first-child){
        margin-top: 40px;
    }
    .map_page .adress b, .map_page .adress p{
        font-size: 16px;
    }
}
@media all and (max-width:425px){
    .map_page .adress{
        width: 100%;
        margin-bottom: -20px;
    }
}