@charset "utf-8";


/* =========================
   공통
========================= */

/* 준비중 */
.img_ready {display:flex;justify-content:center;align-items:center;}
.img_ready .left img {width:41.7rem;}
.img_ready .right {padding-left:2rem;}
.img_ready .right strong {line-height:1.2;font-size:4rem;color:var(--black);}
.img_ready .right strong em {color:var(--primary);}
.img_ready .right p {margin-top:2.5rem;line-height:1.5;font-size:1.8rem;}
    @media only screen and (max-width:768px) {
        .img_ready {flex-direction:column;gap:4rem;text-align:center;}
        .img_ready .right strong em br {display:none;}
    }

/* 사이트맵 */
.sitemap_container {display:grid;grid-template-columns:repeat(3, 1fr);gap:4rem;}
.sitemap_item {padding:4rem;background:#fff;border:1px solid #eee;transition:all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);position:relative;}
.sitemap_item:is(:hover, :focus, :active) {transform:translateY(-1rem);box-shadow:0 2rem 4rem rgba(0, 0, 0, 0.08);border-color:var(--primary);}
.sitemap_item .dep1 {font-size:3.2rem;font-weight:800;color:var(--primary2);margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:3px solid var(--primary2);position:relative;}
.sitemap_item .dep1::after {content:'';position:absolute;bottom:-3px;left:0;width:0;height:3px;background:linear-gradient(90deg, var(--primary), var(--wm80));transition:width 0.4s ease;}
.sitemap_item:is(:hover, :focus, :active) .dep1::after {width:100%;}
.sitemap_container .sh_lnb_s li {margin:1rem 0;}
.sitemap_container .sh_lnb_s li a {text-decoration:none;font-size:1.8rem;font-weight:500;transition:all 0.3s ease;display:inline-block;position:relative;}
.sitemap_container .sh_lnb_s li a:is(:hover, :focus, :active) {color:var(--primary);transform:translateX(1rem);}
.sitemap_container .sh_lnb_s li a::before {content:'•';position:absolute;left:-1.5rem;opacity:0;color:var(--primary);transition:0.3s;}
.sitemap_container .sh_lnb_s li a:hover::before {opacity:1;}
    @media only screen and (max-width:1024px) {
        .sitemap_container {gap:3rem;}
    }
    @media only screen and (max-width:768px) {
        .sitemap_container {grid-template-columns:repeat(2, 1fr);gap:2rem;}
    }
    @media only screen and (max-width:425px) {
        .sitemap_container {grid-template-columns:repeat(1, 1fr);gap:1.5rem;}
    }


/* =========================
   sub01_회사소개
========================= */

/* 0101_인사말 */
.greeting {height:50rem;overflow:hidden;position:relative;}
.greeting img {position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);}
.greeting_box {display:flex;flex-wrap:wrap;width:100%;}
.greeting_box .greeting_left {width:50%;position:relative;}
.greeting_box .greeting_left:before {content:url("../../images/fs/sub/sub01/greeting_logo.png");position:absolute;left:0;bottom:0;width:100%;height:auto;}
.greeting_box .greeting_left h3 {background:var(--primary);padding:5rem;color:#fff;font-size:3.5rem;font-weight:400;text-wrap:balance;position:absolute;bottom:50%;transform:translateY(-50%);}
.greeting_box .greeting_left h3 span {display:block;font-weight:900;font-size:2rem;letter-spacing:0.06em;margin-bottom:3rem;text-transform:uppercase;}
.greeting_box .greeting_left h3 em {color:var(--wm50);}
.greeting_box .greeting_right {width:50%;padding:6rem 0 0 8rem;font-size:1.8rem;color:var(--black);line-height:3rem;}
.greeting_box .greeting_right p strong {color:var(--primary2);}
.greeting_box .greeting_right p span {color:var(--primary2);background:var(--wm20);font-weight:500;}
.greeting_box .greeting_right .greeting_sign {display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem;}
    @media only screen and (max-width:1024px) {
        .greeting {height:30rem;}
        .greeting_box {gap:4rem;margin-top:-10rem;}
        .greeting_box .greeting_left {width:100%;}
        .greeting_box .greeting_left:before {display:none;}
        .greeting_box .greeting_left h3 {width:100%;font-size:3rem;padding:4rem 3rem;position:static;transform:translateY(0);}
        .greeting_box .greeting_right {width:100%;padding:0;}
    }
    @media only screen and (max-width:768px) {
        .greeting_box .greeting_left h3 {width:100%;padding:3rem;}
        .greeting_box .greeting_left br {display:none;}
    }

/* 0102_연혁 */
#sh_wrapper:has(.history) {overflow:unset;}
.history_top_box {display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:10rem;padding:4rem;height:40rem;background:url("../../images/fs/sub/sub01/history_bg.jpg") no-repeat center top/ cover;text-align:center;}
.history_top_box .p1 {margin-top:3rem;color:#fff;font-size:1.6rem;font-weight:400;opacity:0.7;}
.history_top_box .p2 {margin-top:0.8rem;color:#fff;font-size:3rem;font-weight:500;opacity:1;}
.history_box {position:relative;display:flex;justify-content:right;}
.history_box .bg_fix {position:sticky;left:0;top:12rem;width:58rem;max-height:40rem;}
.history_box .bg_fix span {display:block;font-size:6.4rem;font-weight:900;color:#eee;line-height:1;}
.history_box .bg_fix span em {color:var(--primary);}
.history_box .h_wrp {position:relative;width:calc(100% - 58rem);}
.history_box .h_wrp:before {content:'';position:absolute;left:0;top:0;bottom:0;width:2px;height:100%;background:#eee;}
.history_box .h_wrp .list {display:flex;flex-wrap:wrap;flex-direction:column;width:100%;}
.history_box .h_wrp .list+.list {margin-top:10rem;}
.history_box .h_wrp .list .year {font-size:5.6rem;color:#222;font-weight:900;line-height:1;}
.history_box .h_wrp .list .year span {position:relative;display:inline-block;padding-left:4rem;}
.history_box .h_wrp .list .year span::before {content:'';position:absolute;left:-0.9rem;top:0;bottom:0;margin:auto;background:var(--primary);opacity:.3;border-radius:50%;width:2rem;height:2rem;}
.history_box .h_wrp .list .year span::after {content:'';position:absolute;left:-0.4rem;top:0;bottom:0;margin:auto;background:var(--primary);border-radius:50%;width:1rem;height:1rem;}
.history_box .h_wrp .list .y_list {padding-left:4rem;width:calc(100% - 17rem);margin-top:2rem;}
.history_box .h_wrp .list .y_list li {position:relative;margin-top:1.2rem;font-size:1.8rem;line-height:1.4;padding-left:1.2rem;display:flex;}
.history_box .h_wrp .list .y_list li::before {content:"";position:absolute;left:0;top:1rem;width:.4rem;height:.4rem;transform:rotate(10deg);background:var(--primary2);}
.history_box .h_wrp .list .y_list li .m_list {width:4rem;font-weight:700;color:var(--primary2);}
.history_box .h_wrp .list .y_list li .history_cont {display:inline-block;width:calc(100% - 5.2rem);}
    @media only screen and (max-width:1299px) {
        .history_box .bg_fix {width:45%;}
        .history_box .bg_fix span {font-size:4.8rem;}
        .history_box .h_wrp {width:55%;}
        .history_box .h_wrp .list {display:block;}
        .history_box .h_wrp .list .year {width:100%;}
        .history_box .h_wrp .list .y_list {padding-left:4rem;margin-top:3.5rem;width:100%;}
    }
    @media only screen and (max-width:767px) {
        .history_box {flex-direction:column;padding-left:1rem;margin-top:2rem;}
        .history_box:before {display:none;}
        .history_box .bg_fix {position:unset;width:100%;}
        .history_box .h_wrp {width:100%;margin-top:4rem;}
}

/* 0103_조직·부서 */
.org_box {position:relative;}
.org_box::before {content:'';position:absolute;left:50%;top:0;width:1px;height:53%;background:#ccc;z-index:-1;}
.org_box .ceo {position:relative;display:flex;justify-content:center;align-items:center;width:20rem;height:20rem;margin:0 auto 7rem;background:var(--primary2);transform:rotate(10deg);box-shadow:0 1.6rem 3.2rem rgba(0, 0, 0, .15);}
.org_box .ceo::before {content:'';position:absolute;top:6rem;left:3rem;width:2rem;height:2rem;background:var(--primary3);}
.org_box .ceo span {display:block;transform:rotate(-10deg);color:#fff;font-weight:800;font-size:3.2rem;letter-spacing:.1rem;}
.org_box .group span, .org_box .dep_btn {display:block;width:100%;padding:2rem 1.5rem;text-align:center;}
.org_box ul.group {position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;}
.org_box ul.group::before {content:'';position:absolute;left:0;right:0;top:50%;margin:auto;width:76%;height:1px;background:#ccc;}
.org_box ul.group>li {position:relative;width:24%;}
.org_box ul.group>li .d1-item {background:var(--wm10);padding:1rem 2rem;}
.org_box ul.group>li .d1-item span {padding:1rem 0;color:var(--black);}
.org_box ul.group2 {justify-content:flex-end;}
.org_box ul.group2::before {left:auto;top:25%;width:50%;}
.org_box ul.group2>li .dep_btn {background:var(--primary2);color:#fff;font-weight:600;font-size:1.8rem;}
.org_box ul.group3 {position:relative;padding-top:4rem;margin-top:4rem;}
.org_box ul.group3::before {top:0;}
.org_box ul.group3 .dep_btn {border:1px solid var(--primary);color:var(--primary);transition:.3s;font-weight:600;font-size:1.7rem;background:#fff;}
.org_box ul.group3 button.dep_btn:is(:hover, :focus, :active, .on) {background:var(--primary);color:#fff;}
.org_box ul.group3>li::before {content:'';position:absolute;left:0;right:0;top:-4rem;margin:auto;width:1px;height:4rem;background:#ccc;}
.org_box ul.group3>li>span {border:1px solid var(--primary);color:var(--primary);}
.org_box ul.group3>li ul.other li:not(:last-child) span {border-bottom:1px dashed #ccc;}
.org_box ul.group3 li.dep1 > ul:not(.other) {position:relative;padding-top:2.5rem;}
.org_box ul.group3 li.dep1 > ul:not(.other)::before {content:'';position:absolute;left:0;right:0;top:0;margin:auto;width:1px;height:2.5rem;background:#ccc;}
.org_box .dep2.half {display:grid;grid-template-columns:1fr 1fr;gap:1rem;position:relative;margin-top:2.5rem;}
.org_box .dep2.half::before {top:-2.5rem !important;}
.org_box .dep2.half::after {content:'';position:absolute;left:50%;top:0;width:51.8%;height:1px;transform:translateX(-50%);background:#ccc;margin:auto;}
.org_box .dep2 .dep_btn {padding:1.2rem 1rem;font-size:1.5rem;background:#f9f9f9;border:1px solid #ddd;color:#555;font-weight:600;min-height:auto;width:100%;}
.org_box .dep2 button.dep_btn:is(:hover, :focus, :active, .on) {background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0.5rem 1rem rgba(0,0,0,0.1);}
.org_box .dep2 .d1-item {border:1px solid #eee;border-top:none;}
.org_box ul.dep2 > li {position:relative;}
.org_box .dep2.half > li::before {content:'';position:absolute;left:50%;top:-2.5rem;width:1px;height:2.5rem;background:#ccc;}
.org_box ul.dep2 > li .dep_btn {padding:1rem 0.5rem;}
.org_container {position:relative;}
.org_container .org_cont {display:none;opacity:0;}
.org_container .org_cont.on {display:block;opacity:1;}
.org_guide_box {padding:4rem 2rem;border:1px dashed #ccc;background:#f8f8f8;}
.org_guide_box .guide_title {font-weight:700;font-size:2.4rem;color:var(--black);margin-bottom:1.5rem;}
.org_guide_box .guide_desc {font-size:1.7rem;line-height:1.6;}
.org_guide_box .guide_desc strong {color:var(--primary);}
.dep_card {display:flex;background:#fff;width:100%;box-shadow:0 1rem 2.5rem rgba(0, 0, 0, 0.1);border:1px dashed #ccc;overflow:hidden;}
.dep_card .sidebar {background:linear-gradient(135deg, var(--primary), var(--primary2));width:40rem;padding:3rem;display:flex;flex-direction:column;justify-content:space-between;color:white;flex-shrink:0;}
.dep_card .icon_box {width:5rem;height:5rem;background:rgba(255, 255, 255, 0.2);border-radius:1rem;display:flex;justify-content:center;align-items:center;margin-bottom:2rem;}
.dep_card .icon_box i {font-size:2.4rem;}
.dep_card .title_area h4 {font-size:3.2rem;font-weight:700;margin-bottom:1rem;}
.dep_card .underline {width:5rem;height:.4rem;background:rgba(255, 255, 255, .5);}
.dep_card .profile_box {background:rgba(255, 255, 255, .15);border-radius:1.5rem;padding:2.5rem;margin-top:4rem;}
.dep_card .role {font-weight:500;font-size:1.8rem;opacity:.8;margin-bottom:.5rem;}
.dep_card .name {font-weight:700;font-size:3rem;margin-bottom:15px;}
.dep_card .email_badge {display:inline-block;background:white;color:var(--black);padding:.5rem 2rem;border-radius:2rem;font-size:1.5rem;font-weight:700;text-decoration:none;}
.dep_card .content {padding:5rem 6rem;display:flex;align-items:center;}
.dep_card .content p {font-size:1.8rem;line-height:1.7;}
.dep_card .content p strong {font-weight:600;color:var(--primary2);}
.dep_card .content p span {font-weight:500;color:var(--primary2);background:var(--wm10);padding:.2rem .6rem;}
    @media(max-width:1123px) {
        .org_box::before {height:51.9%;}
    }
    @media(max-width:1024px) {
        .org_box::before {display:none;}
        .org_box ul.group::before, ul.group3>li::before, ul.group3::after {display:none;}
        .org_box ul.group>li {width:100%;}
        .org_box ul.group3 {padding-top:0;gap:2rem;}
        .org_box ul.group3>li {width:calc(50% - 1rem);}
        .org_box ul.group3 li.dep1 > ul:not(.other) {padding-top:1.5rem;margin-top:0;}
        .org_box ul.group3 li.dep1 > ul:not(.other)::before {height:1.5rem;}
        .org_box .dep2.half::after {display:none;}
        .org_box ul.dep2 > li {flex-direction:column;}
        .org_box .dep2.half > li::before {z-index:-1;}
        .org_box .dep2.half::before {display:none;}
        .dep_card {flex-direction:column;}
        .dep_card .sidebar {width:100%;}
        .dep_card .content {padding:3rem 4rem;}
    }
    @media(max-width:575px) {
        .org_box ul.group3 {gap:4rem;}
        .org_box ul.group3>li {width:100%;}
    }

/* 0103_조직·부서(영문) */
:lang(en) .org_box::before {height:51.3%;}
:lang(en) .org_box .dep_btn {display:flex;align-items:center;justify-content:center;min-height:9rem;padding:1rem 1.5rem;line-height:1.3;}
:lang(en) .org_box .dep2 .dep_btn {min-height:5rem;}
    @media (max-width:1469px) {
        :lang(en) .org_box::before {height:50%;}
    }
    @media (max-width:1425px) {
        :lang(en) .org_box::before {height:49.3%;}
    }
    @media (max-width:1093px) {
        :lang(en) .org_box::before {height:48.9%;}
    }
    @media (max-width:1033px) {
        :lang(en) .org_box::before {height:48.2%;}
    }
    @media (max-width:1024px) {
        :lang(en) .org_box .dep_btn {min-height:8rem;padding:1.5rem 1rem;}
    }

/* 0104_ESG경영 */
.esg {position:relative;overflow:hidden;width:100%;max-width:calc(100% - (100% - var(--mainsize)) / 2);margin:12rem 0 0 auto;}
.esg .bg {position:relative;height:40rem;}
.esg .bg div {height:100%;background:url("../../images/fs/sub/sub01/esg_bg.jpg") no-repeat center/cover;}
.esg .bg::after {content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(0, 0, 0, .6), rgba(0, 0, 0, .15));}
.esg .title {position:absolute;left:clamp(2rem, 5vw, 6rem);bottom:clamp(2rem, 5vw, 6rem);width:100%;font-size:clamp(3.2rem, 4.5vw, 6rem);line-height:1.2;font-weight:600;color:#fff;z-index:1;padding:1rem 2rem;}
.esg .title em {font-weight:900;color:var(--primary3);}
.esg .title span {display:block;padding-top:1rem;font-size:2rem;font-weight:400;}
.esg_list {margin:6rem auto 0;}
.esg_list>li {display:flex;align-items:center;gap:clamp(2rem, 4vw, 4rem);padding:clamp(4rem, 6vw, 8rem) clamp(2rem, 4vw, 4rem);border:2px solid transparent;background:linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #e5e9f5, var(--primary)) border-box;transition:transform .35s ease, box-shadow .35s ease;}
.esg_list li:not(:last-child) {margin-bottom:3rem;}
.esg_list li:nth-child(1) {background:linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #d9f5e2, var(--primary3)) border-box;}
.esg_list li:nth-child(2) {background:linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #e1e9ff, var(--primary)) border-box;}
.esg_list li:nth-child(3) {background:linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #e3ecf3, var(--primary2)) border-box;}
.esg_list li .img_box {width:24rem;text-align:center;}
.esg_list li .txtbox {flex:1;}
.esg_list li .txtbox .tit {margin-bottom:2rem;font-weight:500;color:var(--black);}
.esg_list li .txtbox .tit strong {margin-right:.5rem;font-size:5rem;font-weight:900;line-height:1;color:var(--primary);}
.esg_list li:nth-child(1) .txtbox .tit strong {color:var(--primary3);}
.esg_list li:nth-child(2) .txtbox .tit strong {color:var(--primary);}
.esg_list li:nth-child(3) .txtbox .tit strong {color:var(--primary2);}
.esg_list li .txtbox ul li {margin:.5rem 0;padding:1.8rem 2rem;border:1px dashed #ddd;border-radius:1rem;background:#fafafa;transition:background .3s ease;}
.esg_list li .txtbox ul li em {font-size:1.8rem;font-weight:500;color:var(--primary2);}
    @media (max-width:768px) {
        .esg .title {width:95%;}
        .esg_list li {flex-direction:column;text-align:center;}
        .esg_list li:hover {transform:none;box-shadow:0 12px 24px rgba(0, 0, 0, .1);}
    }

/* 0105_부설연구소 */
.rnd_tit {background:url("../../images/fs/sub/sub01/sub0105_bg.png") no-repeat center top/contain;padding-top:14.5rem;display:flex;justify-content:space-between;align-items:flex-end;}
.rnd_tit h4 {font-weight:900;font-size:8rem;line-height:1;color:var(--primary);}
.rnd_tit p {font-size:3rem;line-height:1.6;color:var(--black);text-align:right;text-wrap:balance;}
.rnd_tit p strong {color:var(--primary);}
.rnd_list li {display:grid;grid-template-columns:3fr 2fr;gap:6rem;align-items:center;}
.rnd_list li:not(:first-child) {margin-top:8rem;}
.rnd_list li:nth-child(even) {grid-template-columns:2fr 3fr;}
.rnd_list li:nth-child(even) .rnd_txt {order:2;}
.rnd_txt span {font-weight:900;color:#b0b0b0;}
.rnd_txt h5 {font-weight:800;font-size:4rem;line-height:1.2;color:var(--black);margin-top:2rem;}
.rnd_txt p {position:relative;padding-top:6rem;font-size:1.8rem;line-height:1.7;text-wrap:balance;}
.rnd_txt p:before {content:"";position:absolute;left:0;top:3rem;width:4rem;height:3px;background:var(--primary);}
.rnd_img img {max-width:100%;border-radius:1rem;}
    @media (max-width:1024px) {
        .rnd_list li {display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
        .rnd_list li:nth-child(even) {grid-template-columns:1fr 1fr;}
    }
    @media (max-width:768px) {
        .rnd_tit {flex-direction:column;gap:2rem;}
        .rnd_tit h4 {text-align:right;}
        .rnd_tit p br {display:none;}
        .rnd_list li {display:flex;flex-direction:column;gap:4rem;}
        .rnd_list li:nth-child(even) {flex-direction:column-reverse;}
        .rnd_img img {width:100%;height:400px;object-fit:cover;}
    }

/* 0106_주요고객사 */
.client_list {display:grid;grid-template-columns:repeat(5, 1fr);grid-auto-rows:10rem;gap:2rem 3rem;}
.client_list li {display:flex;justify-content:center;align-items:center;border:1px solid #ccc;padding:2rem;}
.client_list li img {max-width:100%;max-height:100%;object-fit:contain;}
    @media (max-width:1199px) {
        .client_list {grid-template-columns:repeat(4, 1fr);}
    }
    @media (max-width:1024px) {
        .client_list {gap:2rem;}
    }
    @media (max-width:768px) {
        .client_list {grid-template-columns:repeat(3, 1fr);}
    }
    @media (max-width:575px) {
        .client_list {grid-template-columns:repeat(2, 1fr);}
    }

/* 0107_찾아오시는길 */
.map_wrp {position:relative;display:flex;}
.map_wrp .txtbox {width:30%;background:linear-gradient(135deg, var(--primary), var(--primary2));padding:5rem 4rem;}
.map_wrp .txtbox .l_list li {margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px dashed var(--wm80);color:#fff;line-height:1.5;}
.map_wrp .txtbox .l_list li strong {display:block;font-size:1.6rem;font-weight:600;color:var(--wm40);margin-bottom:1rem;}
.map_wrp .txtbox .l_list li em {display:block;font-size:1.8rem;opacity:1;}
.map_wrp .txtbox .l_list li:last-child {margin-bottom:0;padding-bottom:0;border-bottom:0;}
.map_wrp iframe {width:70%;height:500px;}
    @media only screen and (max-width:768px) {
        .map_wrp {flex-direction:column-reverse;}
        .map_wrp .txtbox {width:100%;padding:3rem 2.5rem;}
        .map_wrp .txtbox .l_list li {margin-bottom:1.5rem;padding-bottom:1.5rem;}
        .map_wrp iframe {width:100%;height:400px;}
    }
    @media only screen and (max-width:575px) {
        .map_wrp iframe {height:300px;}
    }


/* =========================
   sub02_사업분야
========================= */

/* sub02 공통 */
.sub02_top {margin-bottom:8rem;}
.sub02_box {position:relative;display:flex;flex-direction:column;align-items:center;}
.sub02_top_bg {width:100%;}
.sub02_top_bg img {width:100%;height:auto;display:block;}
.sub02_top .wrap {margin:-10rem auto 0;width:100%;}
.sub02_top .top_intro {background:#f1f1f1;padding:5rem 6rem;}
.sub02_top .top_intro span {display:block;font-weight:500;color:var(--primary);}
.sub02_top .top_intro strong {color:var(--black);font-size:3.2rem;display:block;font-weight:700;margin:1.5rem 0;line-height:1.4;}
.sub02_top .top_intro p {font-size:1.8rem;line-height:1.8;}
.case_wrap {overflow:hidden;position:relative;}
.case_wrap .case_slide li {border:1px solid #ccc;position:relative;}
.case_wrap .case_slide li .case_pic {display:flex;justify-content:center;align-items:center;aspect-ratio:16/9;overflow:hidden;}
.case_wrap .case_slide li .case_pic img {width:100%;height:100%;object-fit:contain;}
.case_wrap .case_slide li .case_txt {padding:1.5rem;text-align:center;background:rgba(0, 0, 0, .7);position:absolute;bottom:0;width:100%;font-weight:600;font-size:1.8rem;color:#fff;}
.case_wrap .ctrl_slide {position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;justify-content:space-between;padding:0 3rem;width:100%;}
.case_wrap .ctrl_slide button {width:7rem;height:7rem;border-radius:50%;color:#fff;background:rgba(0, 0, 0, .6);transition:all .3s}
.case_wrap .ctrl_slide button:is(:hover, :focus, :active) {background:#fff;color:#000;}
    @media only screen and (max-width:1024px) {
        .case_wrap .ctrl_slide {padding:0 2rem;}
        .case_wrap .ctrl_slide button {width:6rem;height:6rem;}
    }
    @media only screen and (max-width:768px) {
        .sub02_top {margin-bottom:5rem;}
        .sub02_top .wrap {margin-top:-5rem;}
        .sub02_top .top_intro {padding:4rem;}
        .sub02_top .top_intro strong {margin:1rem 0;}
        .case_wrap .ctrl_slide {padding:0 1rem;}
    }


/* =========================
   sub03_홍보센터
========================= */

/* 0301_Smart City */
.platform_header {margin-bottom:6rem;}
.service_tags {display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem;margin-bottom:3rem;}
.service_tags span {background:#fff;border:1px solid #ddd;padding:1.5rem;border-radius:5rem;text-align:center;box-shadow:0 0.4rem 0.6rem rgba(0, 0, 0, 0.05);}
.description_text {font-size:1.8rem;background:#eee;text-align:center;padding:2.5rem;border-radius:1rem;text-wrap:balance;margin-bottom:3rem;}
.top_visual_area {display:flex;gap:2rem;margin-bottom:4rem;align-items:stretch;}
.main_capture {flex:1.5;display:flex;}
.main_capture img {width:100%;height:100%;object-fit:cover;}
.cert_group {flex:1;display:flex;gap:1.5rem;}
.cert_item {flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #eee;padding:1rem;box-sizing:border-box;}
.cert_item img {width:100%;height:100%;object-fit:contain;background:#fff;border:none;}
.content_section:not(:last-child) {margin-bottom:8rem;}
.section_title {position:relative;padding-left:1.5rem;font-size:2.8rem;font-weight:700;color:#333;line-height:1.2;margin-bottom:2.5rem;display:flex;align-items:center;}
.section_title::before {content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:0.4rem;height:2rem;background:var(--primary2);}
.grid_layout {display:grid;grid-template-columns:repeat(auto-fit, minmax(45rem, 1fr));gap:3rem;}
.grid_layout.col_2 {grid-template-columns:repeat(2, 1fr);}
.grid_layout.col_3 {grid-template-columns:repeat(3, 1fr);}
.grid_layout .content_img {width:100%;aspect-ratio:16/9;object-fit:contain;padding:1rem;}
.card_item {background:#fff;border:1px solid #e1e1e1;overflow:hidden;}
.card_header {padding:1.5rem;color:#fff;font-size:2rem;font-weight:600;text-align:center;}
.blue_bg {background-color:var(--primary2);}
.green_bg {background-color:var(--primary3);}
.card_body {padding:2.5rem 3.5rem;}
.list_style:not(:last-child) {margin-bottom:2rem;}
.list_style li {position:relative;padding-left:2.2rem;margin:0 0 1rem;}
.list_style li:last-child {margin-bottom:0;}
.list_style li::before {content:'';position:absolute;left:0;top:0.9rem;width:0.8rem;height:0.8rem;background:var(--primary2);transform:rotate(10deg);opacity:0.5;border-radius:0.1rem;}
.content_img {width:100%;height:auto;display:block;border:1px solid #eee;}
.feature_label {font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;text-align:center;}
    @media (max-width:1024px) {
        .top_visual_area {flex-direction:column;align-items:flex-start;}
        .main_capture, .cert_group {width:100%;}
        .main_capture img {height:auto;}
        .grid_layout.col_3 {grid-template-columns:repeat(2, 1fr);}
    }
    @media (max-width:768px) {
        .service_tags {grid-template-columns:1fr;}
        .grid_layout.col_2, .grid_layout.col_3 {grid-template-columns:1fr;}
        .grid_layout {grid-template-columns:1fr;}
        .main_title {font-size:2.4rem;}
    }

/* 0302_loT플랫폼 */
.iot_intro_box {background:#333;padding:4rem 5rem;border-radius:1.5rem;display:flex;align-items:center;gap:3rem;color:#fff;width:100%;}
.intro_content {flex:1.2;}
.intro_img {flex:1;text-align:right;padding:1rem;background:#fff;border-radius:1rem;}
.intro_img img {max-width:100%;height:auto;}
.intro_sub {font-size:2rem;color:var(--primary3);font-weight:600;margin-bottom:1rem;}
.intro_main {font-size:3.2rem;font-weight:700;line-height:1.3;margin-bottom:2.5rem;color:#fff;}
.intro_list {list-style:none;padding:0;}
.intro_list li {position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:#ddd;line-height:1.5;}
.intro_list li::before {content:'';position:absolute;left:0;top:0.9rem;width:0.5rem;height:0.5rem;background:var(--primary3);transform:rotate(10deg);opacity:0.8;}
.tech_elements {display:flex;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(255, 255, 255, 0.1);}
.tech_item {flex:1;text-align:center;}
.tech_icon {width:6rem;height:6rem;background:rgba(255, 255, 255, 0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;transition:background 0.3s;font-size:2.4rem;}
.tech_item p {font-size:1.5rem;color:#fff;line-height:1.3;font-weight:500;text-wrap:balance;}
.tech_item:is(:hover, :focus, :active) .tech_icon {background:var(--primary3);}
.tech_item:is(:hover, :focus, :active) p {color:var(--primary3);}
.system_diagram_full {margin-top:3rem;}
.system_diagram_full img {padding:3rem;}
.tech_card {border:1px solid #eee;padding:3rem 4rem;}
.tech_card .tech_elements {margin-top:0;padding:0;}
.tech_card .tech_icon {background:var(--wm10);transition:all 0.3s ease;margin:0 0 1.5rem;}
.tech_card .tech_icon i {font-size:3.5rem;color:var(--primary);transition:all 0.3s ease;}
.tech_card.feature_item .tech_item p {font-size:1.8rem;font-weight:600;color:#000;text-align:left;}
.tech_card:is(:hover, :focus, :active) .tech_icon {background:var(--primary2);border-color:var(--primary2);transform:translateY(-5px);}
.tech_card:is(:hover, :focus, :active) .tech_icon i {color:#fff;transform:scale(1.1);transition:0.3s;}
    @media (max-width:1024px) {
        .iot_intro_box {flex-direction:column;padding:3rem;}
        .intro_img {order:-1;margin-bottom:2rem;}
        .intro_main {font-size:2.6rem;}
    }
    @media (max-width:768px) {
        .iot_intro_box .tech_elements {display:grid;grid-template-columns:repeat(3, 1fr);gap:2rem;}
    }

/* 0305_GIS패키지 */
.solution_section {padding-bottom:2rem;}
.section_divider {border:0;height:1px;background:#e1e1e1;margin:6rem 0;}
.solution_section .tech_card {height:auto;min-height:30rem;justify-content:flex-start;padding:3rem;}
.col_span_2 {grid-column:span 2;display:flex;align-items:center;}
.col_span_2 img {width:100%;height:auto;border-radius:1rem;box-shadow:0 1rem 3rem rgba(0, 0, 0, 0.1);}
    @media (max-width:1024px) {
        .col_span_2 {grid-column:span 1;margin-top:2rem;}
        .double_col_list {grid-template-columns:1fr;}
    }


/* =========================
   sub05_홍보센터
========================= */

/* 0505_CI */
.ci_box .sec1 .ci_tit {font-size:7rem;font-weight:700;color:#000;line-height:1.2;text-align:center;margin:10rem 0 5rem;letter-spacing:0;}
.ci_box .sec1 .ci_tit em {font-weight:900;color:var(--primary);}
.ci_box .sec2 {position:relative;padding-bottom:10rem;}
.ci_box .sec2::before {display:block;content:"";position:absolute;bottom:0;left:0;width:100%;height:calc(60% + 10rem);background:#f4f4f4;}
.ci_box .sec2 .grid_wrap {position:relative;}
.ci_box .sec2 .grid_wrap .grid {position:relative;height:29.5rem;background:url('../../images/fs/sub/sub05/grid.jpg') repeat center;border:1px solid #ddd;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;}
.ci_box .sec2 .grid_wrap .grid img {max-width:90%;}
.ci_box .sec2 .grid_wrap .grid img.bi {max-height:80%;}
.ci_box .sec2 .grid_wrap .info {text-align:center;padding-top:4rem;font-size:1.8rem;line-height:1.8;text-wrap:balance;}
.ci_box .sec3 {margin-top:8rem;}
.ci_box .sec3 .gray_box {background:#f5f5f5;padding:4.5rem 4rem;font-size:1.8rem;color:#222;line-height:1.5;text-align:center;}
.ci_box .sec3 .grid_box .box {display:flex;flex-direction:column;width:100%;flex-grow:1;}
.ci_box .sec3 .grid_box .box .h5 {text-align:left;}
.ci_box .sec3 .grid_box .box .imgbox {flex-grow:1;display:flex;align-items:center;justify-content:center;gap:30rem;border:1px solid #ccc;padding:8rem 3rem;background:url('../../images/fs/sub/sub05/grid.jpg');margin-top:.5rem;}
.ci_box .sec3 .palette>ul {display:grid;grid-template-columns:repeat(3, 1fr);gap:1.2rem 4rem;line-height:1.2;}
.ci_box .sec3 .palette>ul>li {display:flex;flex-wrap:wrap;width:100%;border:1px solid #ccc;}
.ci_box .sec3 .palette>ul>li .color {display:flex;align-items:flex-end;width:15rem;height:auto;aspect-ratio:1/1;padding:2rem;}
.ci_box .sec3 .palette>ul>li .color span {font-weight:bold;color:#fff;}
.ci_box .sec3 .palette>ul>li .c_txt {padding:2rem;display:flex;align-items:center;}
.ci_box .sec3 .palette>ul>li .c_txt ul {display:flex;flex-direction:column;gap:5px;}
.ci_box .sec3 .palette>ul>li .c_txt ul li strong {display:inline-block;color:var(--black);width:7rem;}
.ci_box .sec3 .palette>ul.main_color>li:nth-child(1) .color {background:var(--primary2);}
.ci_box .sec3 .palette>ul.main_color>li:nth-child(2) .color {background:#fff;border-right:1px solid #ccc;}
.ci_box .sec3 .palette>ul.main_color>li:nth-child(2) span {color:var(--primary2);}
.ci_box .sec3 .palette>ul.main_color>li:nth-child(3) .color {background:var(--primary3);}
    @media screen and (max-width:1299px) {
        .ci_box .sec3 .palette>ul {gap:1.2rem 3rem;}
        .ci_box .sec3 .palette>ul>li .color {width:100%;aspect-ratio:3/1;}
        .ci_box .sec3 .palette>ul.main_color>li:nth-child(2) .color {border-right:none;border-bottom:1px solid #ccc;}
    }
    @media screen and (max-width:1024px) {
        .ci_box .sec3 .grid_box {flex-wrap:wrap;}
        .ci_box .sec3 .grid_box .box {width:100%;}
        .ci_box .sec3 .grid_box .box .imgbox {gap:15rem;}
        .ci_box .sec3 .grid_box .box .imgbox img {max-width:17rem;}
    }
    @media screen and (max-width:768px) {
        .ci_box .sec2::before {height:85%;}
        .ci_box .sec2 .grid_wrap .grid {height:20rem;}
        .ci_box .sec3 .grid_box .box .imgbox img {max-width:96%;}
        .ci_box .sec3 .palette>ul {grid-template-columns:none;grid-template-rows:repeat(3, 1fr);}
        .ci_box .sec3 .palette>ul>li .color {aspect-ratio:5/1;}
        .ci_box .sec3 .palette>ul>li .c_txt {padding:20px 10px;}
        .ci_box .sec3 .bi_wrp .box1 .grid_box {flex-direction:column;align-items:center;}
        .ci_box .sec3 .grid_box .box .imgbox {flex-direction:column;gap:10rem;padding:4rem 2rem;}
    }


/* =========================
   sub06_인재채용
========================= */

/* 0601_인재상 */
.talent_box .rnd_list li {grid-template-columns:1fr 1fr;}
.talent_box .rnd_list li:nth-child(odd) .rnd_txt {text-align:right;}
.talent_box .rnd_list li:nth-child(odd) .rnd_txt p:before {left:unset;right:0;}
    @media (max-width:768px) {
        .talent_box .rnd_list li .rnd_txt {width:100%;}
        .talent_box .rnd_list li:nth-child(odd) .rnd_txt {text-align:left;}
        .talent_box .rnd_list li:nth-child(odd) .rnd_txt p:before {left:0;right:unset;}
        .talent_box .rnd_img img {height:auto;}
    }

/* 0602_복리후생 */
.benefit_group:not(:last-child) {margin-bottom:8rem;}
.benefit_list {display:grid;grid-template-columns:repeat(auto-fill, minmax(20rem, 1fr));gap:3rem;}
.benefit_list .item {display:flex;flex-direction:column;align-items:center;text-align:center;}
.benefit_list .item .icon-box {width:100%;aspect-ratio:16/9;background-color:var(--wm10);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:all 0.3s ease;}
.benefit_list .item:is(:hover, :focus, :active) .icon-box {background-color:var(--primary);transform:translateY(-1rem);}
.benefit_list .item .icon-box i {font-size:4.8rem;color:var(--primary);}
.benefit_list .item:is(:hover, :focus, :active) .icon-box i {color:#fff;}
.benefit_list .item p {font-size:1.8rem;font-weight:500;}
.benefit_list .item:is(:hover, :focus, :active) p {color:var(--black);}