/* ======== 복리후생 ======== */
.com_tit {display: flex; flex-direction: column; align-items: flex-start; gap: 15px; width: 30%;}
.com_tit span {font-size: clamp(16px, 2vw, 22px); font-weight: 900; font-family: "DM Sans", sans-serif; color: #1a34c7; text-transform: uppercase;}
.com_tit p {font-size: clamp(22px, 3vw, 44px); font-weight: 600; line-height: 1.3;}

.company_list {width: 100%; display: flex; flex-direction: column; gap: 120px;}

.company_list .com_box {width: 100%; display: flex; align-items: flex-start;}
.company_list.support .com_tit span {color: #E81421;}

.spt_list {width: 70%; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 30px; padding-top: 60px;}
.spt_con {width: 100%; aspect-ratio: 1; border-radius: 16px; border: 2px solid #eee; padding: 35px; background-color: #fff; position: relative; transition: all .2s; box-shadow: none;}
.spt_con dl {display: flex; flex-direction: column; align-items: flex-start; gap: 10px;}
.spt_con dt {font-size: clamp(18px, 1.8vw, 24px); font-weight: 600; line-height: 1.4;}
.spt_con dd {font-size: 16px; line-height: 1.4;}
.spt_con i {position: absolute; width: 30%; bottom: 35px; right: 35px;}
.spt_con i img {width: 100%; display: block;}
.spt_con:hover {border-color: #E81421; box-shadow: 4px 4px 15px #3a0b0b30;}



/* ======== 인사제도 ======== */
.promo_box {padding-top: 60px; width: 70%;}
.promo_box .promo_txt {font-size: clamp(16px, 1.5vw, 20px); line-height: 1.5;}
.promo_box .promo_txt em {font-weight: 800;}
.promo_box .promo_img {margin-top: 50px;}
.promo_box .promo_img img.mo {display: none;}

.promo_box.study {display: flex; flex-direction: column; gap: 30px;}
.study_con {width: 100%; display: flex; border-radius: 16px; border: 2px solid #ddd; overflow: hidden; box-shadow: none; transition: all .1s;}
.study_con:hover {border-color: #1a34c7; box-shadow: 2px 2px 10px #4b4b4b50;}
.study_con .study_info {width: 50%; padding: 40px; display: flex; flex-direction: column; align-items: flex-start; gap: 15px;}
.study_info i {width: 15%; aspect-ratio: 1; display: block;}
.study_info i img {width: 100%; height: 100%; display: block; object-fit: contain;}
.study_info dl {display: flex; flex-direction: column; align-items: flex-start; gap: 10px;}
.study_info dt {font-size: 20px; font-weight: 800;}
.study_info dt em {color: #1a34c7; font-weight: inherit;}
.study_info dd {font-size: 18px; line-height: 1.5;}
.study_list {padding: 40px; display: flex; align-items: flex-start; flex-direction: column; justify-content: center; gap: 12px; width: 50%;}
.study_list p {padding-left: 18px; position: relative; font-size: 18px; line-height: 1.4; color: #fff;}
.study_list p::after {content: ""; display: block; width: 8px; height: 2px; position: absolute; top: 12px; left: 0; background-color: #fff;}
.study_list.bg01 {background: url(https://d23vac1awk897o.cloudfront.net/static/img/sub/study_list01.jpg) no-repeat center/cover;}
.study_list.bg02 {background: url(https://d23vac1awk897o.cloudfront.net/static/img/sub/study_list02.jpg) no-repeat center/cover;}
.study_list.bg03 {background: url(https://d23vac1awk897o.cloudfront.net/static/img/sub/study_list03.jpg) no-repeat center/cover;}


.wrap.sub.promotion .promo_box {padding-top: 0;}


/* ======== 회사소개 ======== */
.about_intro {width: 100%; background-image: url(https://d23vac1awk897o.cloudfront.net/static/img/sub/bg_about_intro.jpg); background-attachment: fixed; position: relative; background-repeat: no-repeat; background-position: center; background-size: 105% 105%; transition: all 3s linear; overflow: hidden;}
.about_intro.active {background-size: 101% 101%;}
.about_intro::after {content: ""; display: block; width: 100%; height: 20%; position: absolute; left: 0; bottom: 0; background: linear-gradient(to top, #060929, #06092900);}
.about_intro .intro_con {height: 100vh; width: 100%; position: relative; z-index: 2;}
.intro_con .txtbox {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #fff; width: 100%;}
/* .intro_con .txtbox.txt1 {display: flex; flex-direction: column;} */
.intro_con .txtbox.txt1 p {position: relative; width: 100%; overflow: hidden;}
.intro_con .txtbox.txt1.active span {transform: translateY(0); transition-delay: .1s;}
.intro_con .txtbox.txt1 p span {font-size: clamp(24px, 5vw, 64px); font-weight: 400; line-height: 1.3; position: relative; transform: translateY(100%); transition: all 1s cubic-bezier(.67,.11,.39,.97); display: inline-block;}
.intro_con .txtbox.txt1 p span em {font-weight: 800;}
.intro_con .txtbox.txt2 {padding-bottom: 140px;margin-bottom: -140px;}
.intro_con .txtbox.txt2 p {font-size: clamp(18px, 2.2vw, 32px); line-height: 1.5; padding: 0 30px;}

.about_cate {width: 100%; background: url(https://d23vac1awk897o.cloudfront.net/static/img/sub/bg_about_cate1.jpg) no-repeat center/cover; padding: 10% 0; position: relative;}
.about_cate::after {content: ""; display: block; width: 100%; height: 5%; background: linear-gradient(to bottom, #12174800, #121748); position: absolute; bottom: 0; left: 0;}
.cateSwiper {cursor: none !important; padding: 0 calc((100% - 1440px) / 2) !important;}
.cateSwiper .cursor {position:fixed; z-index:1000; pointer-events:none}
.cateSwiper .cursor .bg {width: 140px; aspect-ratio: 1; background: url(https://d23vac1awk897o.cloudfront.net/static/img/sub/cursor_swipe.png) no-repeat center/contain; opacity: 0; transition: all .1s;}
.cateSwiper .cursor.on .bg {opacity: 1;}
.cate_box {width: 100%; display: flex; align-items: center;}
.cate_box .cate_img {width: 50%; display: flex; align-items: flex-start; gap: 20px;}
.cate_box .cate_img span {writing-mode: vertical-lr; font-family: "DM Sans", sans-serif; font-style: italic; opacity: .5; color: #fff; font-weight: 900; font-size: clamp(30px, 3.2vw, 60px); transform: rotate(180deg); line-height: 1; padding-bottom: 2px; letter-spacing: 4px;}
.cate_box .cate_img .img_box {aspect-ratio: 3 / 2; border-radius: 16px; overflow: hidden; height: 45vh;}
.cate_box .cate_img .img_box img {width: 100%; height: 100%; display: block; object-fit: cover;}
.cate_box .cate_text {width: 50%; display: flex; flex-direction: column; align-items: flex-start; gap: 30px; padding-left: 5%;}
.cate_box .cate_text .name {font-size: clamp(22px, 2.2vw, 36px); font-weight: 800; color: #fff;}
.cate_box .cate_text .cate_txt {display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 15px; color: #fff; font-size: 18px; line-height: 1.5;}


.location {width: 100%; z-index: 30; position: relative; background-color: #121748; padding-top: 150px;}
.loca_info {width: 100%; display: flex; gap: 150px; padding-bottom: 80px;}
/* .loca_info {width: 45%; display: flex; gap: 80px; flex-direction: column; align-items: flex-start;} */
.loca_info .tit {font-size: clamp(32px, 5vw, 80px); font-family: "DM Sans", sans-serif; text-transform: uppercase; font-weight: 900; line-height: 1; color: #fff;}
.info_detail {display: flex; flex-direction: column; align-items: flex-start; color: #fff;}
.info_detail p {font-size: clamp(20px, 2.2vw, 28px); line-height: 1.4; font-weight: 600;}
.info_detail p.eng {font-size: clamp(18px, 2vw, 20px); font-family: "DM Sans", sans-serif; padding-top: 10px; font-weight: normal;}
.info_detail .sub {display: flex; align-items: center; gap: 20px; padding-top: 30px; flex-wrap: wrap; row-gap: 6px;}
.info_detail .sub span {display: inline-block; position: relative; padding-left: 15px; font-size: 16px; line-height: 1.6; color: #ffffff80; font-weight: 400;}
.info_detail .sub span::after {content: "*"; display: block; font-size: 20px; color: #E81421; line-height: 1; position: absolute; top: 5px; left: 0;}
.info_detail .contact {display: flex; align-items: center; gap: 50px; padding-top: 25px; flex-wrap: wrap; row-gap: 0;}
.info_detail .contact span {font-size: 20px; font-family: "DM Sans", sans-serif; color: #fff;}

.location_wrap {width: 100%; display: flex;}
.loca_img {width: 55%; padding-left: 5%;}

.map_box {width: 100%; position: relative; height: 45vh;}
/* .map_box .deco {display: inline-block; position: absolute; bottom: calc(100% - 20px); right: 3%; z-index: 0;} */
.map_box iframe {z-index: 2; position: relative;}



/* HMM way */

.way_list {width:70%;}

.way_ment {font-size: clamp(16px, 1.5vw, 20px);display: flex;flex-direction: column;gap:20px;line-height: 1.4;margin-bottom:50px;}


.way-con-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:30px;
}

.way-con-box {
    display: flex;
    flex-direction: column;
    gap:30px;
}

.way-con {
    padding:20px 20px 0;
    border-radius:15px;
    overflow:hidden;
    border:2px solid #ddd;
    transition: 0.2s ease-in-out;
    cursor: pointer;
}

.way-con.active {
    border-color:#121C57;
}

.way-con:hover {
    box-shadow:0 0 10px #1c2e9833;
}

.way-con-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin:20px 20px 40px;
    gap:15px;
}

.way-con-title {
    margin-bottom:15px;
    display:flex;
    gap:10px;
    align-items: baseline;
    font-size:20px;
}

.way-con h4 {
    font-size: clamp(18px, 1.8vw, 24px); 
    font-weight:600;
}

.way-con .way-con-title i {
    color:#999;
    transition:0.2s ease-in-out;
}

.way-con.active .way-con-title i {
    transform: rotate(180deg);
}

.way-con .way-con-flex p {
    font-size: clamp(15px, 1.5vw, 18px);
    line-height:1.4;
}

/* .way-con figure {height:80px;width:fit-content;} */
.way-con figure img {height:80px; width:auto;max-width:unset;}


.way-con .way-con-list {
    max-height: 0;
    overflow: hidden;
    transition: 0.2s ease-in-out;
}

.way-con.active .way-con-list {
    max-height: 1000px;
    margin-bottom:40px;
}

.way-con-list ul {
    display: flex;
    flex-direction: column;
    gap:10px;
}

.way-con-o {
    margin-bottom:25px;
}

.way-con-list ul li {
    display: flex;
    gap:10px;
    align-items: center;
    border-radius:55px;
    padding:8px;
}

.way-con-o li {
    border:1px solid #121C57;
}

.way-con-x li {
    border:1px solid #aaa;
}

.way-con-list ul li span {
    border-radius:100px;
    width:30px;
    height:30px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.way-con-o span {
    background:#121C57;
}

.way-con-x span {
    background:#aaa;
}

.way-con-list ul li i {
    color:#fff;
    font-weight:700;
    font-size:20px;
}

.way-con-list ul li p {
    line-height:1.4;
    padding-top:2px;
}

.way-con-o li p {
    color:#121C57;
}

.way-con-x li p {
    color:#666;
}



    .mo-none {display:block;}




@media screen and (max-width: 1440px) {
    /* 사업분야 */
    .cate_box {align-items: flex-start;}


    /* 오시는길 */
    .loca_info {gap: 60px;}


    /* 인사지원제도 */
    .study_con .study_info {padding: 30px;}
    .study_info dd {font-size: 16px;}
    .study_list p {font-size: 16px;}
    .study_list p::after {top: 9px;}
    .study_list {gap: 6px; padding: 30px;}
    .study_info i {width: 12%; min-width: 45px;}


    .way .com_tit {width:25%;}
    .way .way_list {width:75%;}
    .way-con figure img {height:70px;}
    .way-con-wrap,.way-con-box {gap:20px;}


}


@media screen and (max-width: 1280px) {
    /* 복리후생제도 */
    .spt_con {padding: 25px;}
    .spt_list {gap: 20px;}
    .spt_con i {width: 22%;}
}



@media screen and (max-width: 1080px) {
    /* 인트로 */
    .about_intro {background-size: cover; transition: none;}
    .about_intro.active {background-size: cover; background-attachment: initial;}
    

    /* 사업분야 */
    .cate_box {flex-direction: column; gap: 40px;}
    .cate_box .cate_text {gap: 20px; padding-left: 52px; width: 100%;}
    .cate_box .cate_text .cate_txt {font-size: 16px;}
    .cate_box .cate_img {width: 100%;}
    .cate_box .cate_img .img_box {width: 100%; height: initial; aspect-ratio: 2 / 1; min-height: 180px;}


    /* 오시는길 */
    .location {padding-top: 120px;}
    .loca_info {gap: 40px; flex-direction: column; padding-bottom: 50px;}
    .info_detail .sub span {font-size: 15px;}
    .info_detail .contact span {font-size: 18px;}



    /* 복리후생제도 */
    .company_list .com_box {flex-direction: column;}
    .com_tit {width: 100%; gap: 10px;}
    .spt_list {width: 100%; gap: 15px;}



    /* 인사지원제도 */
    .wrap.sub.promotion .promo_box {width: 100%; padding-top: 40px;}




    .way .way_list {padding-top:60px; width:100%;}
    .way .com_tit {width:100%;}



}


@media screen and (max-width:900px) {

    .way-con-flex {margin:5px 5px 25px;}
    .way-con.active .way-con-list {margin-bottom:25px;}
    .way-con figure img {height:60px;}
    .way-con-wrap, .way-con-box {gap:15px;}

}


@media screen and (max-width:800px) {

    .way-con-wrap {grid-template-columns: 1fr;}
    .way-con-list ul li span {width:26px;height:26px;}
    .way-con-list ul li i {font-size:18px;}
    .way-con-list ul li p {padding-top:0;}
    .way-con-flex {gap:20px;}
    .way-con-o {margin-bottom:15px;}
    .mo-none {display:none;}
    .way-con-list ul {gap:5px;}
    .way .way_list {padding-top:40px;}
    .way_ment {margin-bottom:30px;}
    .way-con-title {margin-bottom:10px;}

}



@media screen and (max-width: 750px) {
    /* 인트로 */
    .intro_con .txtbox.txt2 p br {display: none;}
    .about_intro .intro_con {height: 80vh;}


    /* 사업분야 */
    .cate_box {gap: 30px;}
    .cate_box .cate_img span {writing-mode: initial; transform: initial; padding-bottom: 0; margin-bottom: -10px; padding-left: 5px;}
    .cate_box .cate_img {flex-direction: column; gap: 0;}
    .cate_box .cate_text {padding: 0;}
    .cate_box .cate_text .name {font-weight: 700;}


    /* 오시는길 */
    .info_detail .sub span {font-size: 14px;}
    .location_wrap {flex-direction: column; align-items: flex-start; gap: 30px;}
    .loca_img {width: 100%; padding-left: 0;}
    .loca_info {width: 100%; gap: 30px; padding-bottom: 30px;}

    .map_box {height: 50vh; min-height: 250px;}


    /* 복리후생제도 */
    .spt_con {font-size: 15px; border-radius: 12px;}
    .spt_list {grid-template-columns: 1fr 1fr; padding-top: 40px;} 


    /* 인사지원제도 */
    .study_con {flex-direction: column;}
    .study_con .study_info {width: 100%; gap: 10px; padding: 25px;}
    .study_list {width: 100%; padding: 25px;}
    .study_info i {width: 50px; min-width: 50px;}
    .study_info dl {gap: 15px;}
    .promo_box.study {gap: 20px;}

    .promo_box .promo_img img.mo {display: block;}
    .promo_box .promo_img img.pc {display: none;}

}




@media screen and (max-width: 550px) {
    .spt_list {grid-template-columns: 1fr;}
    .spt_con {aspect-ratio: initial; padding: 20px; padding-right: 20px; padding-bottom: 100px;}
    .spt_con i {bottom: 20px; right: 20px; width: 50px;}
}