/* sub_top */
.sub_visual { position: relative; height: 430px; overflow: hidden; }
.sub_visual .bg { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform-origin: center; }
.sub_visual .bg { animation: suv_bg forwards linear 5s; }
@keyframes suv_bg {
    0% { transform: scale(1.1); }
    100% { transform: scale(1); }
}
.sub_visual.sub1 .bg { background: url(/image/sub/subcommon/subtop_bg1.jpg) no-repeat center/cover; }
.sub_visual.sub2 .bg { background: url(/image/sub/subcommon/subtop_bg2.jpg) no-repeat center/cover; }
.sub_visual.sub3 .bg { background: url(/image/sub/subcommon/subtop_bg3.jpg) no-repeat center/cover; }
.sub_visual.sub4 .bg { background: url(/image/sub/subcommon/subtop_bg4.jpg) no-repeat center/cover; }
.sub_visual.sub5 .bg { background: url(/image/sub/subcommon/subtop_bg5.jpg) no-repeat center/cover; }

.sub_visual .frame { z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.45); }
.sub_visual .txtbox { z-index: 3; position: relative; top: 100px; height: calc(100% - 245px); padding: 0 20px; }
.sub_visual .txtbox .texts { position: relative; top: 50%; transform: translateY(-50%); text-align: center; }
.sub_visual .txtbox .text1 { font-weight: 700; font-size: 40px; color: #fff; letter-spacing: -0.01em; }
@media (max-width: 1660px) {
    .sub_visual { height: 440px; }
    .sub_visual .txtbox { top: 90px; height: calc(100% - 135px); }
}
@media (max-width: 1440px) {
    .sub_visual { height: 400px; }
    .sub_visual .txtbox { top: 80px; height: calc(100% - 125px); }
}
@media (max-width: 1279px) {
    .sub_visual { height: 380px; }
    .sub_visual .txtbox { top: 70px; height: calc(100% - 115px); }
}
@media (max-width: 1023px) {
    .sub_visual { height: 330px; }
    .sub_visual .txtbox { top: 60px; height: calc(100% - 130px); }
}
@media (max-width: 767px) {
    .sub_visual { height: 280px; }

    .sub_visual.sub4 .bg { background-position-x: 80%; }
    .sub_visual.sub5 .bg { background-position-x: 80%; }
}

.subtop { position: relative; z-index: 10; margin-top: -45px; height: 45px; background-color: rgba(0, 0, 0, 0.7); }
.subtop .contwrap { height: 100%; }
.subtop .subtop_flex { display: flex; flex-wrap: nowrap; height: 100%; }
.subtop .subtop_flex .top_cont { position: relative; }
.subtop .subtop_flex .top_cont1 { position: relative; display: block; width: 45px; height: 100%; border-right: 1px solid #666; border-left: 1px solid #666; transition: background-color 0.3s; }
.subtop .subtop_flex .top_cont1:hover { background-color: #000; }
.subtop .subtop_flex .top_cont1 a { position: relative; display: block; height: 100%; color: #fff; }
.subtop .subtop_flex .top_cont1 img { display: inline-block; position: relative; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 18px; }
.subtop .subtop_flex .top_cont2 { width: 300px; height: 100%; border-right: 1px solid #666; }
.subtop .subtop_flex .top_cont3 { width: 400px; height: 100%; border-right: 1px solid #666; }
.subtop.noSub .subtop_flex .top_cont3 { display: none !important; }

.subtop .subtop_flex .top_cont .top_contin { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 14px; height: 100%; font-size: 15px; color: #fff; transition: background-color 0.3s; }
.subtop .subtop_flex .top_cont .top_contin:hover { background-color: #000; }

.subtop .subtop_flex .donw_arrow { transform-origin: center; width: 12px; }
.subtop .subtop_flex .active .donw_arrow { transform: rotateZ(180deg); }

.subtop .subtop_flex .top_cont .top_subs { z-index: 10; display: none; position: absolute; left: -1px; width: calc(100% + 2px); background-color: #333; border: 1px solid #666;  }
.subtop .subtop_flex .top_cont .top_subs a { display: block; padding: 10px 14px; text-align: left; font-size: 14px; color: #fff; }
.subtop .subtop_flex .top_cont .top_subs a:hover { background-color: #000; }

@media (max-width: 1023px) {
    .subtop { height: 70px; margin-top: -70px; }
    .subtop .subtop_flex { flex-wrap: wrap; }
    .subtop .subtop_flex .top_cont1 { width: 35px; height: 35px; }
    .subtop .subtop_flex .top_cont2 { width: calc(100% - 35px); height: 35px; }
    .subtop .subtop_flex .top_cont3 { width: 100%; height: 35px; border-left: 1px solid #666; border-top: 1px solid #666; }

    .subtop .subtop_flex .top_cont .top_contin { font-size: 13px; }

    .subtop.noSub { height: 35px; margin-top: -35px; }
}

/* sub_common */
.sub_sect { position: relative; padding: 80px 0; overflow: hidden; }
.sub_sect .sub_tit { padding-bottom: 40px; text-align: center; font-weight: 600; font-size: 36px; color: #000; line-height: 1.4; }


/* sub1_1 */
.sub1_1 .content{background-color: #f7f7f7;}
.sub1_1 .content:last-of-type{margin-top: 105px;}
.sub1_1 .content .img_box{display: flex;gap: 0 25px;justify-content: space-between; align-items: center;}
.sub1_1 .content .img_box .text{width: 100%;}
.sub1_1 .content .img_box .text1 {color: #0d0d0d; position: relative; padding-top: 20px;}
.sub1_1 .content .img_box .text1::before{content: ''; display: block; position: absolute; width: 25px; height: 5px; background-color: #8cc63e; top: 0px; left: 0;}
.sub1_1 .content .img_box h3 {color: #8cc63e; font-size: 36px; font-weight: 700; padding: 25px 0;}
.sub1_1 .content .img_box p {color: #010101;font-size: 24px;font-weight: 300;line-height: 1.25;}
.sub1_1 .content .img_box p.bottom_text {text-align: right; font-size: 18px; font-weight: 400; margin-top: 60px;}
.sub1_1 .content .img_box p.bottom_text img {margin-left: 10px;}
.sub1_1 .text2{margin-top: 60px;}
.sub1_1 .text2 p {font-size: 18px; margin-bottom: 35px; line-height: 1.75; color: #4b4b4b;}

@media (max-width: 786px) {
    .sub1_1 .content .img_box{flex-direction: column-reverse; gap: 20px; padding: 20px 0;}
    .sub1_1 .text2 {margin-top: 30px;}
}

/* sub1_2 */
.sub1_2 .business-intro { margin-bottom: 55px; text-align: center; font-size: 20px; line-height: 1.6; color: #555; }
.sub1_2 .business-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.sub1_2 .business-card { min-width: 0; text-align: center; }
.sub1_2 .business-card h3 { padding: 18px 10px; border-radius: 18px 18px 0 0; background: #282363; color: #fff; font-size: 21px; font-weight: 700; }
.sub1_2 .business-card__body { padding: 37px 30px 30px; border-radius: 0 0 18px 18px; background: #eeedf5; }
.sub1_2 .business-icon { display: flex; align-items: center; justify-content: center; width: 145px; height: 145px; margin: 0 auto 33px; overflow: hidden; border-radius: 50%; background: #fff; }
.sub1_2 .business-icon img { display: block; max-width: 70%; max-height: 70%; }
.sub1_2 .business-card ul { text-align: left; }
.sub1_2 .business-card li { position: relative; padding-left: 17px; font-size: 16px; color: #4f4f4f; line-height: 1.8; }
.sub1_2 .business-card li::before { content: '•'; position: absolute; left: 0; color: #282363; }
.sub1_2 .business-card > p { padding-top: 22px; color: #282363; font-size: 18px; font-weight: 600; line-height: 1.6; }

/* sub1_2 history */
.sub1_2 .history-section { max-width: 1000px; margin: 110px auto 0; }
.sub1_2 .history-section h2 { margin-bottom: 65px; text-align: center; font-size: 34px; font-weight: 700; }
.sub1_2 .history-list { position: relative; }
.sub1_2 .history-list::before { content: ''; position: absolute; top: 10px; bottom: 10px; left: 8px; width: 1px; background: #d5dacf; }
.sub1_2 .history-list li { position: relative; display: grid; grid-template-columns: 155px 1fr; gap: 0; min-height: 94px; padding-left: 50px; margin-bottom: 10px;}
.sub1_2 .history-list li::before { content: ''; z-index: 1; position: absolute; top: 5px; left: 0; width: 18px; height: 18px; border: 5px solid #e5f9ca; border-radius: 50%; background: #8dc63d; }
.sub1_2 .history-list time { color: #282363; font-size: 25px; font-weight: 700; line-height: 1.3; }
.sub1_2 .history-list p { color: #4f4f4f; font-size: 17px; line-height: 1.65; }

@media (max-width: 1023px) {
    .sub1_2 .business-list { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; gap: 40px; }
    .sub1_2 .business-card__body { min-height: 0; }
    .sub1_2 .history-section { max-width: 760px; }
}

@media (max-width: 767px) {
    .sub1_2 .business-intro { margin-bottom: 35px;}
    .sub1_2 .business-card__body { padding: 30px 25px; }
    .sub1_2 .history-section { margin-top: 75px; }
    .sub1_2 .history-section h2 { margin-bottom: 45px; font-size: 28px; }
    .sub1_2 .history-list li { grid-template-columns: 1fr; gap: 10px; min-height: 0; padding: 0 0 38px 35px; }
    .sub1_2 .history-list time { font-size: 22px; }
    .sub1_2 .history-list p { font-size: 15px; }
}


/* sub1_3 */
.sub1_3 .mapcont { position: relative; height: 600px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.sub1_3 .mapcont .root_daum_roughmap { width: 100%; height: 100%; }
.sub1_3 .mapcont .root_daum_roughmap .wrap_map { width: 100%; height: 100%; }
.sub1_3 .mapdesc { margin-top: 20px; display: flex; flex-wrap: nowrap; justify-content: space-between; font-weight: 600; font-size: 18px; color: #444; line-height: 1.47; }
.sub1_3 .mapdesc * { font-weight: inherit; font-size: inherit; color: inherit; line-height: inherit; }
.sub1_3 .mapdesc dl { width: 48%; display: flex; flex-wrap: nowrap; align-items: center;}
.sub1_3 .mapdesc dl dt { min-width: max-content; margin-right: 18px; }
.sub1_3 .mapdesc dl dt img { display: inline-block; width: 48px; }
.sub1_3 .mapdesc dl dd p { display: flex; flex-wrap: nowrap; }
.sub1_3 .mapdesc dl dd p span { display: inline-block; }
.sub1_3 .mapdesc dl dd p span:first-of-type { min-width: max-content; }
.sub1_3 .mapdesc dl dd p span:last-of-type { width: 100%; }
.sub1_3 .mapdesc dl dd p .br1 { display: none; }
@media (max-width: 1660px) {
    .sub1_3 .mapcont { height: calc(300px + 17vw); }
    .sub1_3 .mapdesc dl dt { margin-right: 16px; }
    .sub1_3 .mapdesc dl dt img { width: 44px; }
}
@media (max-width: 1440px) {
    .sub1_3 .mapcont { height: calc(260px + 15vw); }
    .sub1_3 .mapdesc dl dt { margin-right: 15px; }
    .sub1_3 .mapdesc dl dt img { width: 40px; }
}
@media (max-width: 1279px) {
    .sub1_3 .mapcont { height: calc(230px + 12vw); }
    .sub1_3 .mapdesc { display: block; font-weight: 500; }
    .sub1_3 .mapdesc dl { width: 100%; }
    .sub1_3 .mapdesc dl:nth-of-type(n + 2) { margin-top: 20px; }
    .sub1_3 .mapdesc dl dt { margin-right: 13px; }
    .sub1_3 .mapdesc dl dt img { width: 35px; }
}
@media (max-width: 767px) {
    .sub1_3 .mapcont { height: calc(200px + 8vw); }
    .sub1_3 .mapdesc dl { display: block; text-align: center; }
    .sub1_3 .mapdesc dl dt { min-width: initial; margin-right: initial; }
    .sub1_3 .mapdesc dl dt img { width: 32px; }
    .sub1_3 .mapdesc dl dd { margin-top: 7px; }
    .sub1_3 .mapdesc dl dd p { justify-content: center; text-align: left; }
    .sub1_3 .mapdesc dl dd p span:last-of-type { width: initial; }
    .sub1_3 .mapdesc dl dd p .br1 { display: inline-block; }
}




/* sub3_1 */
.sub3_1 .text1 {color: #282363; font-size: 18px; text-align: center; font-weight: 700; margin-bottom: 40px;}
.sub3_1 .text_box {padding: 40px 35px; background-color: #f7f7f7;}
.sub3_1 .text_box h4 {color: #282363; font-size: 18px; font-weight: 700; padding-top: 40px; margin-bottom: 15px;}
.sub3_1 .text_box h4:first-of-type{padding-top: 0;}
.sub3_1 .text_box p {color: #696969; font-size: 16px; line-height: 1.25; margin-bottom: 10px;}
.sub3_1 .text_box ul li{ color: #696969; font-size: 16px; line-height: 1.25; margin-bottom: 10px;}

.sub3_1 .join_btn {display: block; width: 305px; text-align: center; border: 1px solid #282363; border-radius: 15px; padding: 20px; color: #282363; margin: 0 auto; margin-top: 20px; font-size: 18px; line-height: 1.25;} 
.sub3_1 .join_btn img {margin-left: 5px;}
.sub3_1 .join_member { margin-top: 95px; }
.sub3_1 .join_member h3 { padding: 20px 0; position: relative; color: #333333; font-size: 22px; font-weight: 700; }
.sub3_1 .join_member h3::before{content: ''; display: block; position: absolute; width: 25px; height: 5px; background-color: #8cc63e; top: 0px; left: 0;}
.sub3_1 .member-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px 12px; }
.sub3_1 .member-card { min-width: 0; text-align: center; }
.sub3_1 .member-logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 120px; overflow: hidden; border: 1px solid #d6d6d6; border-radius: 10px; background: #fff; }
.sub3_1 .member-logo img { display: block; max-width: 72%; max-height: 72%; object-fit: contain; }
.sub3_1 .member-card p { margin-top: 11px; color: #666; font-size: 16px; line-height: 1.35; }
.sub3_1 .member-names { margin-top: 30px; }

@media (max-width: 1023px) {
    .sub3_1 .member-grid { grid-template-columns: repeat(3, 1fr); gap: 25px 15px; }
}

@media (max-width: 767px) {
    .sub3_1 .join_btn {width: 200px; margin-top: 20px;}
    .sub3_1 .join_btn img{width: 15px;}
    .sub3_1 .join_member { margin-top: 60px; }
    .sub3_1 .member-grid { grid-template-columns: repeat(2, 1fr); gap: 22px 12px; }
    .sub3_1 .member-logo { height: 100px; }
    .sub3_1 .member-card p { font-size: 15px; }
}