@charset "UTF-8";
/* ==============
 * 가상 css (root)
 * ============== */
:root {
  /* width/height full */
  --full: 100%;
  /* width */
  --w_web: 1420px;
  --w_web-full: 91%;
  --w_mob: calc(100% - 40px);
  /* height */
  --h_header: 8rem;
  --h_menu: 400px;
  --h_input: 5rem;
  /* content setting */
  --center: 0 auto;
  --auto: auto;
  --set1: 150px;
  --set2: 150px 0;
  --set3: 150px auto;
  --mob: 0 20px;
  --header: 80px;
  --input-set: 0 15px;
  /* space setting */
  --space_input-label:5px;
  --space_btn-label: 15px;
  --space_title-b:80px;
  --space_list1: 15px;
  --space_list2: 20px;
  /* space number */
  --0:0;
  --1:1px;
  --5: 5px;
  --10: 10px;
  --15: 15px;
  --20: 20px;
  --30: 30px;
  --40: 40px;
  --50: 50px;
  --60: 60px;
  --80: 80px;
  --100: 100px;
  /* color */
  --color_main:#0075CF;
  --color_main-rgb:0, 117, 207;
  --color_main-hover:#026CFF;
  --color_main-hover-rgb:2, 108, 255;
  --color_sub:#CFD2D3;
  --color_sub-rgb:207, 210, 211;
  --color_font:#434141;
  --color_font-rgb:67, 65, 65;
  --color_font_sub1:#686767;
  --color_font_sub2:#9F9F9F;
  --color_font_sub3:#D9D9D9;
  --color_font-gradient: to right, #69B4FF 5%, #137DE6 38%, #6131BC 60%, #1C0B53 75%;
  --color_border: 1px solid #ddd;
  --color_border-sub: 1px solid #eee;
  --color_white: #fff;
  --color_white-rgb:255, 255, 255;
  --color_footer:#F8F8F8;
  --color_input:#F5F5F5;
  /* toast ui */
  --color_line: #eee;
}
/* ==============
 * setting
 * ============== */
/* color */
.co-m{/*color-main*/
   color: var(--color_main);
}
.co-f{/*color-font*/
   color: var(--color_font);
}
.co-fs{/*color-font_sub*/
    color: var(--color_font_sub2);
 }
.co-w{
    color: var(--color_white);
}
.co-gradient{
    background: -webkit-linear-gradient(var(--color_font-gradient));
    background: linear-gradient(var(--color_font-gradient)); 
	-webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
/* font */
html{
    font-family: 'SUITE', sans-serif;
    font-size: 10px;
    color: var(--color_font);
}
body{
    font-size: 1.8rem;
    width: var(--full);
    overflow-x: hidden;
}
.wrap{
    position: relative;
    width: var(--full);
    height: auto;
    line-height: 1.5;
    overflow-x: hidden;
}
button{
    font-family: 'SUITE', sans-serif;
    font-size: 1.8rem;
    color: inherit;
    -webkit-appearance: none;
}
input[type="text"],
input[type="password"],
input[type="number"],
input[type="submit"],
input[type="search"],
input[type="tel"],
input[type="email"],
input[type="button"],
input[type="reset"],
input[type="date"]{
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    outline: 0;
}
input[type="text"],input[type="password"],input[type="number"],textarea{
    font-family: 'pretendard', sans-serif;
    font-size: 1.6rem;
}
input[type="text"]::placeholder,input[type="password"]::placeholder{
    color: var(--color_font_sub2);
}
.nice .current, .nice .list{
    font-family: 'SUITE', sans-serif;
    font-size: 1.6rem;
}
p{
    font-family: 'pretendard', sans-serif;
    font-size: 1.8rem;
    color: var(--color_font_sub1);
    line-height: 1.8;
}
h2{
   font-size: 4.5rem;
   font-weight: 800;
}
h2 > span{ /* 강조 */
   color: var(--color_font);
}
h3{
   font-size: 4.2rem;
   font-weight: 800;
   text-align: center;
}
h4{
    font-size: 2.8rem;
    font-weight: 700;
}
h5{
    font-size: 2.4rem;
    font-weight: 700;
}
h6{
    font-size: 2rem;
    font-weight: 500;
}
/* ==============
 * header
 * ============== */
/* header_wrap */
.header{
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--h_header);
    background: rgba(var(--color_white-rgb), 0);
    border-bottom: 1px solid rgba(221, 221, 221, 0);
    color: var(--color_white);
    text-align: center;
}
.header:hover,
.header.active,
.header.on{
    background: rgba(var(--color_white-rgb), 1);
    color: var(--color_font);
    border-bottom: 1px solid rgba(221, 221, 221, 1);
    transition: all 0.3s;
}
/* header_inner */
.header_inner{
    width: var(--w_web-full);
    height: var(--h_header);
    display: inline-flex;
    align-items: center;
}
/* logo */
.logo img{
    display: block;
    width: 235px;
}
.header:hover .logo img,
.header.active .logo img,
.header.on .logo img{
    content: url(/web_resources/homepage_images/images_2024/KS_logo.png);
}
/* gnb */
.gnb{
    width: var(--w_web);
    height: var(--full);
    margin: var(--center);
}
/* gnb - menu */
.gnb > ul{
    display: inline-flex;
    height: var(--full);
    align-items: center;
    font-weight: 700;
}
.gnb > ul > li{
    display: inline-flex;
    font-size: 2rem;
    height: var(--full);
    align-items: center;
    padding: 0 20px;
}
.gnb > ul > li > a::after{
    content: "";
    position: absolute;
    top: 52px;
    left: -20px;
    width: 0;
    height: 3px;
    background: var(--color_main-hover);
}
.gnb > ul > li:hover > a{
    position: relative;
    color: var(--color_main-hover);
}
.gnb > ul > li:hover > a::after{
    z-index: 9998;
    width: calc(var(--full) + 40px);
    height: 3px;
    background: var(--color_main-hover);
    transition: all 0.3s ease-in-out;
}
/* gnb - menu_sub */
.header.active .gnb > ul > li:hover > div,
.header.on .gnb > ul > li:hover > div{
    border-bottom: var(--color_border);
}
.gnb > ul > li:hover > div{
    display: flex;
    transition: all 0.3s;
}
.gnb > ul > li > div{
    display: none;
    position: absolute;
    top: calc(var(--h_header) + 1px);
    left: 0;
    width: var(--full);
    min-height: 250px;
    background: #fff;
    color: #000;
    padding: 30px;
    justify-content: center;
    font-weight: 400;
}
.gnb > ul > li > div > div{
    width: 260px;
    height: var(--full);
    text-align: left;
}
.gnb > ul > li > div > div > h2{
    font-size: 3rem;
    padding: 20px 0;
}
.gnb > ul > li > div > div > div{
    font-weight: 700;
    color: var(--color_main-hover);
}
.gnb > ul > li > div > div svg{
    margin-left: var(--10);
}
.gnb > ul > li > div > ul{
    width:350px;
    border-left: var(--color_border-sub);
    padding: 15px 0 15px 50px;
    font-size: 1.8rem;
}
.gnb > ul > li > div > ul > li{
    width: var(--full);
}
.gnb > ul > li > div > ul > li:hover{
    color: var(--color_font_sub2);
    transition: all 0.3s;
}
.gnb > ul > li > div > ul > li~li{
    margin-top: var(--space_list2);
}
.gnb > ul > li > div > ul > li > a{
    width: var(--full);
}
/* m_etc 모바일 기타 메뉴 */
.m_etc{
    display: none;
}

/* btn style */
[class*="btn1"]{
    --width: 100%; /* 기본 너비 100% */
    --bgcolor: rgba(var(--color_main-rgb),1);  /* 기본 색상 main */
    --border: 1px solid var(--color_main); /* white 버튼을 위한 border */

    width: var(--width);
    background: var(--bgcolor);
    border: var(--border);
    height: 45px;
    align-items: center;
    justify-content: center;
    border-radius: 23px;
    font-weight: 600;
    color: var(--color_white);
}
[class*="btn1"]:hover{
    --hover: rgba(var(--color_main-hover-rgb),1);

    background: var(--hover);
    transition: all 0.3s;
}
.w120{--width: 120px;}
.white{
    --bgcolor: rgba(var(--color_main-rgb),0);
    --border: 1px solid var(--color_white);
}
/* header_btn */
.header_btn{
    display: inline-flex;
}
.header_btn > .web_btn{
    display: flex;
}
.header_btn a{
    display: flex;
}
.header_btn a~a{
    margin-left: var(--20);
}
.header:hover .header_btn,
.header.active .header_btn,
.header.on .header_btn{
    color: var(--color_white);
    transition: all 0.3s;
}
.white{
    display: flex;
    align-items: center;
    width: 70px;
    font-weight: 600;
}
/* 로그인 버튼 */
.header:hover .header_btn > .web_btn > .white,
.header.active .header_btn > .web_btn > .white,
.header.on .header_btn > .web_btn > .white{
    color: var(--color_main);
    /* opacity: 0.5; */
    /* border: 1px solid var(--color_main); */
    transition: all 0.3s;
}
.header:hover .header_btn > .web_btn > .white > img,
.header.active .header_btn > .web_btn > .white > img,
.header.on .header_btn > .web_btn > .white > img{
    content: url(/web_resources/homepage_images/images_2024/ch-counsel.svg);
    opacity: 1;
    transition: all 0.3s;
}
.header:hover .header_btn > .web_btn > .white:hover > img,
.header.active .header_btn > .web_btn > .white:hover > img{
    opacity: 0.7;
    transition: all 0.3s;
}
/* mobile menu */
.mobile_menu_btn{display: none;}

/* ==============
 * section
 * ============== */
/* main_visual */
.main_visual{
    position: relative;
}
/* main_slide-wrap */
.main_slide_wrap {
    width: var(--full);
    height: 100vh;
    margin:0 auto;
    overflow:hidden;
    font-size: 0;
}
/* main_slide */
.main_slide{
    position: relative;
    width: var(--full);
    height: 100vh;
}
.main_slide img{
    display: block;
    object-fit: cover;
    width: var(--full);
    height: 100vh;/*svh 지원하지 않는 브라우저를 위한 높이*/
    height: 100svh;/*모바일 viewport 높이*/
    border: none;
}
/* slide_txt */
.slide_txt{
    position: absolute;
    width: var(--w_web-full);
    height: fit-content;
    left: 50%;
    top: 44%;
    transform: translateX(-50%);
}
.inner-txt {
    color: var(--color_white);
    text-align: left;
}
.slide_txt > p{
    font-family: 'SUITE', sans-serif;
    font-size: 5.2rem;
}
.slide_txt > h3{
    font-size: 8.6rem;
    word-break: break-all;
    line-height: 1.3;
}
/* slide fadeup */
.main_slide_wrap .slick-active .slide_txt p.inner-txt{/* .slick-active > 슬라이드 움직일때 애니메이션 실행 */
    animation: fadeup 1s ease-in-out forwards;
}
.main_slide_wrap .slick-active .slide_txt h3.inner-txt{
    animation: fadeup2 1.5s ease-in-out forwards;
}
/* fadeup */
@keyframes fadeup{
	0%{opacity: 0;transform: translateY(30px);}
	30%{opacity: 0;transform: translateY(30px);}
	100%{opacity: 1;transform: translateY(0);}
}
@keyframes fadeup2{
	0%{opacity: 0;transform: translateY(30px);}
	50%{opacity: 0;transform: translateY(30px);}
	100%{opacity: 1;transform: translateY(0);}
}

/* slide_arrow(slick-arrow) */
.main_visual > .slick-arrow{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: fit-content;
    height: fit-content;
}
.main_visual > .slick-arrow:hover svg{
    fill: rgba(var(--color_white-rgb),1);
    transition: all 0.3s;
}
.main_visual > .slick-arrow svg{
    width: 55px;
    height: 55px;
    fill: rgba(var(--color_white-rgb),0.2);
}
.main_visual > .slick-prev{
    left: 1.5%;
}
.main_visual > .slick-next{
    right: 1.5%;
}
/* main_slide_page(pagination) */
.main_slide_page{
    position: absolute;
    bottom: 12%;
    width: var(--full);
    display: inline-flex;
    justify-content: center;
}
.main_slide_page li~li{
    margin-left: var(--space_list1);
}
.main_slide_page li button{
    width: 12px;
    height: 5px;
    background: rgba(var(--color_white-rgb), 0.4);
    font-size: 0;
}
.main_slide_page li.slick-active button{
    width: 24px;
    background: rgba(var(--color_white-rgb), 1);
    transition: all 0.3s;
}
/* scroll down animation */
.scroll-downs {
    position: absolute;
    bottom:3%;
    left: 50%;
    transform: translateX(-50%);
    width :34px;
    height: 50px;
  }
.mousey {
    width: 3px;
    padding: 10px 15px;
    height: 35px;
    border: 2px solid #fff;
    border-radius: 25px;
    opacity: 0.75;
    box-sizing: content-box;
}
.scroller {
    width: 5px;
    height: 10px;
    border-radius: 3px;
    background-color: #fff;
    transform: translateX(-1px);
    animation-name: scroll;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.1,.4,.3,.8);
    animation-iteration-count: infinite;
}
@keyframes scroll {
    0% { opacity: 0; }
    20% { transform: translate(-1px,0); opacity: 1; }
    50% { transform: translate(-1px,0); opacity: 1; }
    100% { transform: translate(-1px,15px); opacity: 0;}
}
.scrollup{
	animation: scrollup 2s ease;
}
@keyframes scrollup {
    0%{opacity: 0;transform: translate(-50%, 10px);}
	70%{opacity: 0;transform: translate(-50%, 10px);}
	100%{opacity: 1;transform: translate(-50%, 0);}
}
/* banner_wrap */
.banner_wrap{
    width: var(--full);
    text-align: center;
    padding-top: var(--h_header);
}
.banner_wrap > .banner_title{
    margin: var(--100);
}
.banner_wrap > .banner_title > div{
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: var(--5);
}
.banner_wrap > .banner_title > h2{
    font-size: 7rem;
}
.banner_wrap .select_btn{/* mobile */
    display: none;
}
.banner_wrap .select_nav{
    width: var(--full);
    display: inline-flex;
    font-size: 2.2rem;
    font-weight: 700;
    justify-content: center;
    padding: 20px;
    border-top: var(--color_border);
    border-bottom: var(--color_border-sub);
}
.banner_wrap .select_nav > li~li{
    margin-left: var(--50);
}
.banner_wrap .select_nav > li:hover > a{
    color: var(--color_main-hover);
    transition: all 0.3s;
}
.banner_wrap .select_nav > li.on{
    color: var(--color_main);
}
.banner_wrap .select_nav > li > a > svg{
    display: none;
}
/* ==============
 * container
 * ============== */
 /* container */
 .container{
    width: var(--full);
 }
 /* content */
 .con-set{
    padding: var(--set2);
 }
 [class*="content"]{
    width: var(--full);
 }
 [class*="content"] h2{
    text-align: center;
    margin-bottom: var(--space_title-b);
 }
 [class*="content"] > .con-title{
    display: inline-flex;
    width: var(--w_web);
    margin-bottom: var(--space_title-b);
 }
 [class*="content"] > .con-title > h2{
    margin-bottom: var(--0);
 }
 [class*="content"] > .con-title > a,
 [class*="content"] > .con-title > div{
    margin-left: var(--auto);
 }
 /* content_btn */
 [class*="con_btn"]{
    --color: rgba(var(--color_font-rgb),1);

    display: flex;
    align-items: center;
    color: var(--color);
    font-size: 3rem;
    font-weight: 800;
 }
 [class*="con_btn"]:hover{
    --hover: rgba(var(--color_font-rgb),0.5);

    color: var(--hover);
    transition: all 0.3s;
 }
 .white{
    --color: rgba(var(--color_white-rgb),1);
 }
 .con_btn.white:hover{
    color: rgba(var(--color_white-rgb),0.7);
 }

[class*="con_btn"] .arrow{
    --bgcolor: rgba(var(--color_main-rgb),1);

    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 23px;
    background: var(--bgcolor);
    margin-left: var(--space_btn-label);
 }
 [class*="con_btn"] .arrow > svg{
    width: 30px;
    height: 30px;
    fill: var(--color_white);
 }
 [class*="con_btn"]:hover .arrow{
    --bgcolor: var(--color_main-hover);

    background: var(--bgcolor);
    transform: translateX(10px);
    transition: all 0.3s ease-in-out;
 }

/* con-box (content1~2) */
 .con-box{
    position: relative;
    width: var(--full);
    height: fit-content;
    background:  linear-gradient(45deg, #060217 5%, #020f27 75%);
    overflow: hidden; 
 }
.fadeup{
    position: relative;
    opacity: 0;
    bottom: -50px;
    transition: all 0.4s ease;
}
.fadeup1{
    animation: fadeup1 1s ease-in-out;
}
.fadeup2{
    animation: fadeup2 1.2s ease-in-out;
}
@keyframes fadeup1{
    0%{
        opacity: 0;
        transform: translateY(30px);
    }
    80%{
        opacity: 1;
        transform: translateY(0);
    }
    100%{
        opacity: 1;
        transform: translateY(0);
    }
 }
 @keyframes fadeup1{
    0%{
        opacity: 0;
        transform: translateY(30px);
    }
    100%{
        opacity: 1;
        transform: translateY(0);
    }
 }
 /* content1 */
 .content1{
    width: var(--w_web);
    height: fit-content;
    margin: 250px auto;
 }
 .content1 > div{
   color: var(--color_white);
   text-align: center;
 }
 .content1 .co-gradient{
    font-size: 6rem;
    text-align: center;
    margin-bottom: var(--50);
 }
 .content1 h3{
    margin-bottom: var(--30);
 }
 .content1 p{
    color: var(--color_white);
    margin-bottom: var(--space_title-b);
 }
 .content1 .con_btn{
    width: fit-content;
    margin: 0 auto;
 }
.content1.company{
    display: grid;
    gap: var(--60);
}
.content1.company > div:nth-child(1) {  
    grid-column: 1 / 3;
    grid-row: 1 / 2;
}
.content1.company > div, .content1.company h3{text-align: left;}
.content1.company .con_btn{
    margin: 0;
}
.content1.company video{
    width: var(--full);
}
/* content2 */
.content2{
    background: url(/web_resources/homepage_images/images_2024/con01.png);
    background-size: cover;
    width: var(--full);
    height: fit-content;
    overflow: hidden;
 }
 .content2 .con-txt{
    z-index: 9997;
    width: var(--w_web);
    margin: 0 auto 100px;
    color: var(--color_white);
 }
 /* content2 count */
 .count_wrap{
    display: inline-flex;
    width: var(--full);
    margin-bottom: 200px;
 }
 .count_wrap > div{
    width: 33.3%;
    text-align: center;
 }
 .count-txt{
    margin-bottom: var(--30);
 }
 .reference > .count_wrap > div > .count-txt,
 .count-txt > span{
    font-size: 3.5rem;
    font-weight: 700;
    margin-right: var(--10);
 }
 .count{
    font-size: 9rem;
    font-weight: 700;
 }
 .count + span{
    font-size: 5rem;
    font-weight: 700;
 }
/* content2 reference */
.reference{
    text-align: center;
}
.reference > div:first-child{
    margin-bottom: 15px;
    font-size: 2.8rem;
}
.reference > .count_wrap{
    flex: grid;
    gap: 20px;
}
.reference > .count_wrap > div{
    background: rgba(var(--color_white-rgb), 0.15);
    border: 1px solid rgba(var(--color_white-rgb), 0.25);
    padding: 30px 20px;
}
.reference > .count_wrap > div > .count-txt,
.reference > .count_wrap > div > div{
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 0;
}
.reference > .count_wrap > div .num{
    font-size: 6rem;
    font-weight: 700;
}
/* content3 */
.content3 .con-txt{
    width: var(--w_web);
    margin: var(--set3);
    text-align: center;
}
.content3 .con-txt .con_btn{
    width: fit-content;
    margin: var(--center) 80px;
}
/* content3 business_menu */
.con_business{
    display: inline-flex;
    width: 100%;
}
.con_business > div{
    width: 25%;
    height: 580px;
    overflow: hidden;
    font-size: 0;
}
.con_business > div > a{
    cursor: default;
    position: relative;
    display: block;
    width: var(--full);
    height: var(--full);
    margin: 0;
    padding: 0;
}
.con_business > div > a > img{
    transform: scale(1);
    object-fit: cover;
    vertical-align: bottom;
}
.con_business > div > a::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: var(--full);
    height: 180px;
    background: var(--color_white);
}
.con_business > div > a::before{
    z-index: 1;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: var(--full);
    height: 120px;
    background: var(--color_white);
}
/* hover */
.con_business > div:hover > a > img{
    object-fit: cover;
    transform: scale(1.1);
    transition: all 0.5s ease-in-out;
}
.con_business > div:hover > a > h3{
    color: var(--color_white);
    transition: all 0.3s;
}
.con_business > div:hover > a::after{
    top: -180px;
    transition: all 0.3s ease-in-out;
}
.con_business > div:hover > a::before{
    bottom: -120px;
    transition: all 0.3s ease-in-out;
}
.con_business > div > a > h3{
    z-index: 1;
    position: absolute;
    top: 5%;
    left: 8%;
    text-align: left;
}
.con_business > div > a > .con_btn{
    position: absolute;
    height: fit-content;
    top: 80%;
    right: 8%;
    opacity: 0;
}
.con_business > div > a > .con_btn .arrow{
    opacity: 0;
}
.con_business > div:hover > a > .con_btn{
    opacity: 1;
    transition: all 0.4s ease;
}
.con_business > div:hover > a > .con_btn .arrow{
    opacity: 1;
    transition: all 0.4s ease;
}
/* content4 */
.content4,.content5,.content6{
    width: var(--full);
    text-align: center;
}
.content4{
    position: relative;
    margin-top: var(--set1);
}
.content4 .con-title > div{
    margin-left: var(--auto);
    display: flex;
}
.content4 .news_wrap{
    width: calc(var(--w_web) + 30px);
    height: 500px;
    margin: var(--center);
    text-align: left;
}
.content4 .news_wrap .news{
    width: 365px;
    padding: 0 var(--15);
}
.content4 .news > div:first-child{
    width: var(--full);
    height: 340px;
    overflow: hidden;
}
.content4 .news > div:last-child > span{
    display: block;
    color: var(--color_main);
    font-weight: 600;
    margin-top: var(--30);
}
.content4 .news > div:last-child > div{
    display: block;
    font-size: 2.8rem;
    font-weight: 700;
    margin-top: var(--15);
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.content4 .news:hover img{
    transform: scale(1.05);
    filter: brightness(80%);
    transition: all 0.3s;
}
.content4 .news:hover > div:last-child > div{
    color: var(--color_font_sub1);
    transition: all 0.3s;
}
.content4 .news_wrap > div{
    padding: 0;
}
.content4 .news_wrap.slick-initialized > div{
    padding: 0;
}
.content4 .slick-slide {height: fit-content;}
.slick-arrow{
    display: flex;
    align-items: center;
    justify-content: center;
    top: -107px;
    width: 45px;
    height: 45px;
    background: var(--color_font_sub3);
    border-radius: 22.5px;
    cursor: pointer;
}
.main_visual > .slick-arrow{
    background: none;
}
.slick-arrow:hover{
    background: var(--color_font_sub2);
    transition: all 0.3s;
}
.main_visual > .slick-arrow:hover{
    background: none;
}
.content4 .news-arrow svg,
.welfare-arrow svg{
    fill: var(--color_white);
}
.content4 .news-arrow.prev,
.welfare-arrow.prev{
    margin-right: var(--10);
}
/* 문장줄임 txt-over_dot */
.txt-over_dot{
    width: var(--full);
    display: table;
    table-layout: fixed;
}
.txt-over_dot > *{
    white-space: nowrap;
    display: table-cell;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* ceo_wrap(CEO인사말) */
.ceo_wrap .greeting,
.em{
    position: relative;
    font-size: 3rem;
    width: 40%;
    word-break: keep-all;
    margin: 40px auto 0;
    font-weight: 700;
    text-align: center;
}
.ceo_wrap .greeting:before,
.ceo_wrap .greeting:after{
    position: absolute;
    content: "";
    background: url(/web_resources/homepage_images/images_2024/quotes.png) 0 0 no-repeat;
    background-size: 100% 100%;
    width: 12px;
    height: 8px;
}
.ceo_wrap .greeting:before{left: 0;}
.ceo_wrap .greeting:after{top: 0;right: 0;}
.ceo_wrap > div:first-child{
    width: var(--w_web);
    margin: var(--center);
    padding: var(--set2);
}
.ceo_wrap > div:nth-child(2){
    position: relative;
    width: var(--full);
    margin: var(--center);
}
/* ceo 사진 */
.ceo_wrap > div:nth-child(2) > div:last-child{
    width: var(--w_web);
    /* padding-left: 38%; */
    margin: var(--center);
}
.ceo_wrap > div:nth-child(3){
    width: var(--w_web);
    margin: var(--center);
    margin-top: var(--80);
    margin-bottom: var(--set1);
}
.ceo_wrap > div:nth-child(3) > div{
    margin-top: var(--20);
}
.ceo_wrap > div:nth-child(3) img{
    height: 60px;
    margin-left: var(--20);
}
.ceo_wrap p~p{
    margin-top: var(--40);
}
.ceo_wrap .bold{
    font-size: 2rem;
    font-weight: 700;
}
.ceo_wrap > div:nth-child(2) .co-m{
    font-size: 2.4rem;
    font-weight: 700;
}
/* vision_wrap(비전) */
/* vision */
.vision{
    width: var(--full);
    color: var(--color_white);
    background: url(/web_resources/homepage_images/images_2024/vision_bg.jpg) 0 0 no-repeat;
    background-size: cover;
    text-align: center;
}
.vision .title > p{color: var(--color_white);}
.core_value > div > ul p, .innovation > div > p, .vision .vision_triangle p{
    color: var(--color_white);
    opacity: 0.8;
}
.vision > div{
    width: var(--w_web);
    margin: var(--auto);
}
.vision > div > .vision_triangle{
    background: rgba(var(--color_white-rgb), 0.15);
    padding: var(--80) 0;
}
.vision > div > .vision_triangle > div{
    width: 50%;
    margin: var(--auto);
    background: url(/web_resources/homepage_images/images_2024/vision_triangle.png) 0 0 no-repeat;
    background-size: contain;
}
.vision > div > .vision_triangle > div > div{
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.vision > div > .vision_triangle > div > div h4{
    margin: var(--15) 0;
}
.vision > div > .vision_triangle > div > div > div~div{
    margin-left: var(--100);
}

/* core_value */
.core_value_wrap{
    width: var(--full);
    background: url(/web_resources/homepage_images/images_2024/core_value_bg.jpg) 0 0 no-repeat;
    background-size: cover;
}
.core_value{
    width: var(--w_web);
    margin: var(--center);
}
.core_value > h3{
    margin-bottom: var(--space_title-b);
    color: var(--color_white);
}
.core_value > div{
    width: var(--full);
    display: inline-flex;
}
.core_value > div > div{
    width: 50%;
}
.core_value > div > ul{
    width: 50%;
    color: var(--color_white);
}
.core_value > div > ul > li{
    margin-left: var(--80);
}
.core_value > div > ul h4{
    font-size: 5rem;
    margin-bottom: var(--40);
}
.core_value > div > .btn_tab_wrap{
    display: inline-flex;
    border: none;
}
.core_value > div > .btn_tab_wrap > .btn_tab{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 250px;
    height: 250px;
    border-radius: 125px;
    font-size: 3rem;
    font-weight: 700;
    color: var(--color_font_sub2);
    background: var(--color_white);
    opacity: 0.5;
}
.core_value > div > .btn_tab_wrap > .btn_tab~.btn_tab{
    margin-left: -20px;
}
.core_value > div > .btn_tab_wrap > .btn_tab.on{
    z-index: 1;
    color: var(--color_main);
    opacity: 1;
    transition: all 0.3s;
}
.tab_con{
    display: none;
}
.tab_con.on{
    display: block;
}
/* innovation */
.innovation{
    width: var(--full);
    background: url(/web_resources/homepage_images/images_2024/innovation_bg.jpg) 0 0 no-repeat;
    background-size: cover;
    padding: var(--set2);
}
.innovation > div{
    width: var(--w_web);
    margin: var(--auto);
    color: var(--color_white);
}
.innovation .video{
    margin: var(--60) auto var(--40);
    width: 60%;
    display: flex;
    justify-content: center;
}
.innovation .video > video{
    width: 100%;
}
.innovation > div > p{
    text-align: center;
}
/* ci_wrap(CI소개) */
.ci_wrap p~p{
    margin-top: var(--10);
}
.ci_wrap > div:first-child{
    background: rgba(var(--color_sub-rgb), 0.2);
}
.ci_wrap > div {
    width: var(--full);
}
.ci_wrap > div > div{
    width: var(--w_web);
    margin: var(--center);
    text-align: center;
}
.ci_wrap > div > div > h3{
    margin-bottom: var(--space_title-b);
}
.ci {
    width: 675px;
    margin: var(--center);
}
.ci div,
.brand_color > div > div:first-child{
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: var(--10);
    text-align: left;
}
.ci img{
    width: 675px;
    margin-bottom: var(--40);
}
.ci + p{
    width: 60%;
    word-break: keep-all;
    margin: var(--center) var(--40);
}
.download_wrap{
    display: inline-flex;
    width: 675px;
    margin: var(--center);
    padding: 0 var(--60);
}
.download_wrap a~a{
    margin-left: var(--auto);
}
.download_btn{
    display:flex;
    width: 250px;
    align-items: center;
    justify-content: center;
    height: 50px;
    background: var(--color_sub);
    text-align: center;
    color: var(--color_white);
}
.download_btn.blue{
    background: var(--color_main);
}
.download_btn svg{
    margin-left: var(--5);
    fill: var(--color_white);
}
.download_btn:hover{
    background: var(--color_font_sub2);
    transition: all 0.3s;
}
.download_btn.blue:hover{
    background: var(--color_main-hover);
    transition: all 0.3s;
}
/* ci_concept */
.ci_concept{
    margin-bottom: var(--40);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ci_concept > div:first-child,
.ci_concept > div:last-child{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 200px;
    border-radius: 100px;
    border: 2px solid var(--color_main);
    font-weight: 700;
}
.ci_concept > div:first-child{
    background: var(--color_main);
    color: var(--color_white);
}
.ci_concept > div:nth-child(2){
    width: 2px;
    height: 50px;
    background: var(--color_main);
    margin: 0 var(--40);
}
.ci_concept > div:last-child{
    color: var(--color_main);
}
/* ci_type */
.ci_type_txt{
    border: var(--color_border);
    padding: var(--30);
    margin-bottom: var(--40);
}
.ci_type_txt .download_btn{
    margin: var(--20) var(--auto) 0;
}
.ci_type{
    width: var(--full);
    display: inline-flex;
}
.ci_type > div~div{
    margin-left: var(--auto);
}
/* brand_color */
.brand_color{
    width: var(--full);
    display: inline-flex;
}
.brand_color > div:first-child{
    width: calc(75% - 80px);
}
.brand_color > div:last-child{
    width: 25%;
    margin-left: var(--auto);
}
/* main_color */
div[class*="brand-"]~div[class*="brand-"],
div[class*="sub-"]~div[class*="sub-"]{
    margin-top: var(--40);
}
div[class*="brand-"]{
    width: var(--full);
    display: inline-flex;
    align-items: center;
    color: var(--color_white);
}
div[class*="brand-"]> div:first-of-type{
    width: 55%;
    height: 200px;
    display: inline-flex;
    align-items: center;
    padding: 0 var(--20);
}
div[class*="brand-"]> div:first-of-type > div,
div[class*="sub-"] > div{
    font-size: 2rem;
    font-weight: 700;
    text-align: left;
}
div[class*="brand-"]> div:first-of-type > ul{
    font-size: 1.6rem;
    margin-left: var(--auto);
    text-align: left;
}
div[class*="brand-"] > div:not(:first-of-type){
    width: 15%;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* main blue */
.brand-blue > div:first-of-type{
    background: var(--color_main);
}
.brand-blue > div:nth-of-type(2){
    background: rgba(var(--color_main-rgb), 0.85);
}
.brand-blue > div:nth-of-type(3){
    background: rgba(var(--color_main-rgb), 0.65);
}
.brand-blue > div:last-of-type{
    background: rgba(var(--color_main-rgb), 0.45);
}
/* main black */
.brand-black > div:first-of-type{
    background: var(--color_font);
}
.brand-black > div:nth-of-type(2){
    background: rgba(var(--color_font-rgb), 0.80);
}
.brand-black > div:nth-of-type(3){
    background: rgba(var(--color_font-rgb), 0.50);
}
.brand-black > div:last-of-type{
    background: rgba(var(--color_font-rgb), 0.20);
}
/* sub_color */
div[class*="sub-"] {
    width: var(--full);
    height: 200px;
    text-align: left;
    border: var(--color_border-sub);
    padding: 20px;
}
div[class*="sub-"] > ul {
    font-size: 1.6rem;
    margin-top: var(--30);
}
.sub-white{
    background: var(--color_white);
}
.sub-gray{
    background: var(--color_sub);
}
/* history(연혁) */
/* history_banner */
.history_banner{
    width: var(--full);
    background: url(/web_resources/homepage_images/images_2024/history_bg.jpg) 100% 0 no-repeat;
    background-size: cover;
    padding: var(--set2);
    text-align: center;
    color: var(--color_white);
}
.history_banner > ul{
    display: inline-flex;
    align-items: center;
}
.history_banner > ul > li~li{
    margin-left: var(--20);
}
.history_banner > h4{
    width: 40%;
    font-size: 4rem;
    margin: var(--40) var(--auto);
    word-break: keep-all;
}
.history_banner > div{
    display: inline-flex;
    align-items: center;
    padding: var(--10) var(--30);
    border-radius: 80px;
    background: rgba(var(--color_white-rgb), 0.1);
}
.history_banner > div > div~div{
    margin-left: var(--15);
}
.history_banner > div > div > img{
    width: 60px;
    margin-bottom: var(--5);
}
.history_banner > div > div > div{
   font-size: 1.4rem;
}
/* history_wrap */
.history_wrap{
    width: var(--w_web);
    margin: var(--center);
}
.history_wrap > h3{
    margin-bottom: var(--space_title-b);
}
.history_wrap .tab_con_wrap{
    margin-top: var(--100);
}
/* history_btn */
.btn_tab_wrap{
    width: var(--full);
    display: inline-flex;
    border: var(--color_border-sub);
}
.btn_tab_wrap > .btn_tab{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    background: var(--color_sub);
    color: var(--color_white);
    font-size: 2rem;
    font-weight: 700;
}
.btn_tab_wrap.history_btn > .btn_tab{
    width: 25%;
}
.btn_tab_wrap > .btn_tab~.btn_tab{
    border-left: 1px solid var(--color_white);
}
.btn_tab_wrap > .btn_tab.on{
    background: var(--color_white);
    color: var(--color_main);
    transition: all 0.3s;
}
/* history */
.history{
    width: var(--full);
}
.history > div{
    position: relative;
    width: var(--full);
    display: inline-flex;
    padding: 40px 0;
}
.history > div::before{
    position: absolute;
    content: "";
    width: 1px;
    height: var(--full);
    top: 0;
    left: calc(25% + 8.5px);
    background: var(--color_font_sub3);
}
.history > div:first-child{
    padding-top: 0;
}
.history > div:first-child::before{
    height: calc(var(--full) -  25px);
    top: 26px;
}
.history > div:last-child{
    padding-bottom: 0;
}
.history > div:last-child::before{
    height: 65px;
    top: 0;
}
.history > div > h4{
    width: 25%;
    display: flex;
    justify-content: center;
    color: var(--color_main);
    font-size: 4rem;
}
.history > div > div{
    z-index: 1;
    margin-top: var(--20);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 9px;
    background: rgba(var(--color_main-hover-rgb), 0.3);
}
.history > div > div > div{
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background: var(--color_main);
}
.history > div > ul {
    width: calc(75% - 18px);
    padding: 0 var(--80);
}
.history > div > ul > li{
    width: var(--full);
    display: inline-flex;
    line-height: 1.8;
}
.history > div > ul > li~li{
    margin-top: var(--10);
}
.history > div > ul > li > b{
    width: 50px;
}
.history > div > ul > li > ul{
    font-family: 'pretendard', sans-serif;
    line-height: 1.8;
}
.fl-ac{
    display: flex;
    align-items: center;
}
/* map(오시는길) */
/* map info */
.map_info{
    width: var(--w_web);
    margin: var(--30) var(--auto) 0;
    padding: var(--30);
    background: rgba(var(--color_sub-rgb), 0.2);
}
.map_info li{
    font-family: 'pretendard', sans-serif;
    color: var(--color_font_sub1);
}
.map_info li~li{
    margin-top: var(--10);
}
.map_info b{
    font-family: 'SUITE', sans-serif;
    color: var(--color_font);
}
.sub5{
    color: #7037d9;
}
.bus{
    color: #00aa41;
}
/* 사옥 */
.mapTab_wrap{
    text-align: center;
}
.mapTab_wrap > .btn_tab_wrap{
    width: var(--w_web);
}
.mapTab_wrap > .btn_tab_wrap > .btn_tab{
    width: 50%;
}
.seoul{
    background: url(/web_resources/homepage_images/images_2024/seoul.png) 0 0 no-repeat;
    background-size: 100%;
}
.companyMap.seoul > .map_info,
.companyMap.seoul > .map_info > div > p,
.companyMap.seoul > .map_info > ul > li,
.companyMap.seoul > .map_info > ul > li > b{
    color: var(--color_white);
}
.companyMap.seoul > .map_info{
    padding-left: 600px;
}
.gangwon{
    background: url(/web_resources/homepage_images/images_2024/gangwon.png) 0 0 no-repeat;
    background-size: 100%;
}
.companyMap.gangwon > .map_info{
    padding-right: 600px;
}
.companyMap > .map_info{
    text-align: left;
    background: none;
    margin: var(--center);
    padding: 250px 0 var(--set1);
}
.companyMap > .map_info > h4{
    font-size: 4rem;
}
.companyMap > .map_info > h4 > span{
    font-size: 1.8rem;
    margin-left: var(--10);
}
.companyMap > .map_info > div{
    margin: var(--20) 0;
}
.companyMap > .map_info > ul{
    padding: var(--30) var(--20);
    background: rgba(var(--color_sub-rgb), 0.2);
}
.companyMap > .map_info > .bold{
    font-size: 2.2rem;
    font-weight: 700;
}
.companyMap > .map_info > .bold > span{
    padding: 0 var(--15);
}
/* map info */
.map_info{
    width: var(--w_web);
    margin: var(--30) var(--auto) 0;
    padding: var(--30);
    background: rgba(var(--color_sub-rgb), 0.2);
}
.map_info li{
    font-family: 'pretendard', sans-serif;
    color: var(--color_font_sub1);
}
.map_info li~li{
    margin-top: var(--10);
}
.map_info b{
    font-family: 'SUITE', sans-serif;
    color: var(--color_font);
}
.sub5{
    color: #7037d9;
}
.bus{
    color: #00aa41;
}/* map info */
.map_info{
    width: var(--w_web);
    margin: var(--30) var(--auto) 0;
    padding: var(--30);
    background: rgba(var(--color_sub-rgb), 0.2);
}
.map_info li{
    font-family: 'pretendard', sans-serif;
    color: var(--color_font_sub1);
}
.map_info li~li{
    margin-top: var(--10);
}
.map_info b{
    font-family: 'SUITE', sans-serif;
    color: var(--color_font);
}
.sub{
    color: #05acc6;
}
.sub5{
    color: #965ffc;
}
.bus{
    color: #00aa41;
}
/* 카카오 지도 */
.map_wrap{
    position: relative;
    width: var(--w_web);
    margin: var(--space_title-b) var(--auto) 0;
}
.companyMap > .map_wrap{
    margin-top: 0;
}
.map,#map{
    width: var(--full);
    height: 500px;
}
/* 지도 컨트롤 */
[class*="custom_typecontrol"] {
	position: absolute;
	top: 10px;
	right: 10px;
	overflow: hidden;
	height: 40px;
	z-index: 1;
	font-size: 1.4rem;
    font-family: 'SUITE', sans-serif;
	border: var(--color_border);
}

[class*="custom_typecontrol"] span {
	display: block;
	width: 65px;
	height: 40px;
	float: left;
	text-align: center;
	line-height: 40px;
	cursor: pointer;
}
[class*="custom_typecontrol"] .btn,
[class*="custom_typecontrol"] .btn2 {
	background: var(--color_white);
	padding: 0px;
	font-size: 1.4rem;
    font-family: 'SUITE', sans-serif;
}
[class*="custom_typecontrol"] .btn:hover,
[class*="custom_typecontrol"] .btn:active,
[class*="custom_typecontrol"] .btn2:hover,
[class*="custom_typecontrol"] .btn2:active {
    background:#f1f1f1;
    transition: all 0.3s;
}
[class*="custom_typecontrol"] .selected_btn,
[class*="custom_typecontrol"] .selected_btn2 {
	color: var(--color_white);
	background:var(--color_main);
	padding: 0px;
}
[class*="custom_zoomcontrol"] {
	position: absolute;
	top: 60px;
	right: 10px;
	width: 36px;
	height: 80px;
	overflow: hidden;
	z-index: 1;
	background-color: var(--color_white);
	border: var(--color_border);
}
[class*="custom_zoomcontrol"] span {
	display: flex;
    align-items: center;
    justify-content: center;
    height: 50%;
    font-size: 1.4rem;
	cursor: pointer;
}
[class*="custom_zoomcontrol"] span:first-child {
    border-bottom: var(--color_border-sub);
}
/* 보유센터 지도 */
.centerMap{
    width: var(--w_web);
    margin: var(--set1) var(--auto) 0;
    text-align: center;
}
.centerMap > img{
    width: 80%;
}

/*#### community ####*/
.community{
    width: var(--w_web);
    margin: var(--center);
}
.community > h3{
    margin-bottom: var(--space_title-b);
}
/* 검색 */
.search{
    width: var(--full);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--50);
}
.search_select,.search_input{
    background: var(--color_input);
    line-height: 50px;
    border: 1px solid var(--color_input);
    border-radius: 0;
}
.search_select{
    height: 50px;
    width: 120px;
    border-right: 1px solid var(--color_white);
}
.search_select > .list{
    width: var(--full);
}
.search_select:hover,.search_select:focus,
.search_input > input:hover,.search_input > input:focus{
    background: var(--color_white);
    border: var(--color_border);
    transition: all 0.3s;
}
.search_input{
    height: 52px;
    display: inline-flex;
    align-items: center;
    width: 350px;
}
.search_input > input{
    width: 300px;
    height: var(--full);
    background: transparent;
    border: 1px solid var(--color_input);
    padding: var(--input-set);
}
.search_input > button{
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color_white);
    background: var(--color_main);
    border: 1px solid var(--color_input);
    font-size: 2rem;
}
.search_input > button:hover{
    background: var(--color_main-hover);
    transition: all 0.3s;
}
/* table_list 케시판 table */
.table_list_wrap{
    width: var(--full);
    border-top: var(--color_border);
    border-bottom: var(--color_border);
}
.table_list,
.table_list tbody{
    width: var(--full);
}
.table_list tr{
    width: var(--full);
    cursor: pointer;
    font-size: 1.8rem;
}
.table_list tr~tr{
    border-top: var(--color_border-sub);
}
.table_list tr:hover{
    background: rgba(var(--color_sub-rgb),0.3);
    color: var(--color_font_sub1);
    transition: all 0.3s;
}
.table_list .mark{
    background: rgba(var(--color_sub-rgb),0.2);
}
.table_list td{
    text-align: center;
    padding: var(--20) 0;
}
.table_list td:first-of-type{
    width: 10%;
}
.table_list td:nth-of-type(2){
    width: 55%;
    text-align: left;
    font-weight: 700;
}
/* icon */
.table_list svg{
    font-size: 2.2rem;
    color: var(--color_sub);
}
.table_list svg.fa-eye{
    font-size: 1.4rem;
    margin-right: var(--5);
}
/* 필독 표시 */
div[class*="mark-"]{
    width: fit-content;
    padding: 3px 8px;
    margin: var(--center);
    font-size: 1.4rem;
    background: var(--color_white);
    font-weight: 700;
}
.mark-red{
    color: #ff0724;
    border: 1px solid #ff0724;
}
.mark-blue{
    color: #0090fe;
    border: 1px solid #0090fe;
}
.mark-green{
    color: #00ab86;
    border: 1px solid #00ab86;
}
/* photo_list (언론보도,사진게시판 ul li list) */
.photo_list{
    width: var(--full);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.photo_list li{
    width: calc(calc(100% - 60px) / 3);
}
.photo_list li~li{
    margin-left: 30px;
}
.photo_list li:nth-child(n+4){
    margin-top: var(--100);
}
.photo_list li:nth-child(3n-2) {
    margin-left: 0;
}
.photo_list li > a:hover > div:first-child > img{
    transform: scale(1.05);
    filter: brightness(80%);
    transition: all 0.3s;
}
.photo_list li > a:hover > div:last-child > div{
    color: var(--color_font_sub1);
    transition: all 0.3s;
}
.photo_list li > a > div:first-child{
    width: 100%;
    height: 340px;
    overflow: hidden;
    margin-bottom: var(--30);
}
.photo_list li > a > div:first-child > img{
    width: var(--full);
    height: var(--full);
    object-fit: cover;
}
.photo_list li > a > div:last-child > span{
    display: block;
    font-weight: 700;
    color: var(--color_main);
    margin-bottom: var(--10);
}
.photo_list li > a > div:last-child > div{
    font-weight: 700;
    font-size: 2.8rem;
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.photo_list + .pagination{
    margin-top: var(--100);
}
/* pagination */
.pagination{
    display: flex ;
    align-items: center;
    margin-left: auto;
    justify-content: flex-end;
    margin-top: var(--50);
}
.pagination > div{
    margin-right: var(--10);
}
.pagination .page{
    display: inline-flex;
    align-items: center;
    margin-right: var(--10);
}
.pagination .page > li{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    padding: var(--5);
    background: var(--color_input);
    color: var(--color_font_sub2);
    cursor: pointer;
}
.pagination .page > li:hover{
    background: rgba(var(--color_sub-rgb),0.5);
    transition: all 0.3s;
}
.pagination .page > li~li{
    margin-left: var(--5);
}
.pagination .page .num.on{
    background: var(--color_main);
    color: var(--color_white);
    transition: all 0.3s;
}
.pagination input[type="number"]{
    width: 120px;
    height: 45px;
    background: url(/web_resources/homepage_images/images_2024/num_arrow.png) 90% 13px no-repeat;
    background-size: 8%;
    background-color: var(--color_input);
    border: 1px solid var(--color_input);
    padding: var(--input-set);
    padding-right: 20px;
}
.pagination input[type="number"]:hover,
.pagination input[type="number"]:focus{
    background-color: var(--color_white);
    border: var(--color_border);
    transition: all 0.3s;
}
.pagination input[type="number"]::-webkit-outer-spin-button,
.pagination input[type="number"]::-webkit-inner-spin-button{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
/* board / in (post) */
.post{
    width: var(--w_web);
    margin: var(--center);
}
.post h3{
    margin-bottom: var(--space_title-b);
}
.post h4{
    padding: var(--15) 0;
    border-bottom: var(--color_border);
}
.post .title_info{
    display: inline-flex;
    align-items: center;
    width: var(--full);
    height: 60px;
    padding: 0 var(--30);
    border-bottom: var(--color_border-sub);
}
.post .title_info > .date{
    margin-right: var(--15);
    color: var(--color_font_sub2);
}
.post .title_info > div[class*="mark-"]{
    position: relative;
    height: fit-content;
    margin: 0;
    margin-left: var(--20);
}
.post .title_info > div[class*="mark-"]::before{
    position: absolute;
    content: "";
    width: 1px;
    height: var(--full);
    background: var(--color_font_sub3);
    top: 0;
    left: -20px;
}
.post .title_info > div:last-child{
    margin-left: var(--auto);
    color: var(--color_font_sub2);
}
.post .title_info > div:last-child > svg{
    color: var(--color_sub);
    font-size: 1.6rem;
    margin-right: var(--5);
}
.post .title_info > div.mark-blue{
    color: #0090fe;
}
.post .clip{
    background: rgba(var(--color_sub-rgb),0.2);
}
.post .clip > div{
    font-weight: 700;
    width: var(--full);
    height: 50px;
    display: inline-flex;
    align-items: center;
    padding: 0 var(--30);
    background: var(--color_white);
    color: var(--color_font);
}
.post .clip > div > svg{
    margin-left: var(--auto);
    color: var(--color_sub);
}
.post .clip > div > div > svg{
    margin-right: var(--5);
    color: var(--color_sub);
}
.toggle_btn > svg{
    transform: rotate(180deg);
}
.toggle_btn.on > svg{
    transform: rotate(0);
    transition: 0.3s;
}
.post .clip > ul{
    font-size: 1.6rem;
    color: var(--color_font_sub1);
    padding: var(--20) var(--30);
}
.post .clip > ul > li~li{
    margin-top: var(--10);
}
.post .clip > ul > li{
    position: relative;
    padding-left: 25px;
}
.post .clip > ul > li.docx::before,
.post .clip > ul > li.doc::before,
.post .clip > ul > li.xlsx::before,
.post .clip > ul > li.pdf::before,
.post .clip > ul > li.hwp::before{
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
}
.post .clip > ul > li.docx::before{
    background: url(/web_resources/homepage_images/images_2024/icon_docx.png) 0 0 no-repeat;
    background-size: cover;
}
.post .clip > ul > li.doc::before{
    background: url(/web_resources/homepage_images/images_2024/icon_doc.png) 0 0 no-repeat;
    background-size: cover;
}
.post .clip > ul > li.xlsx::before{
    background: url(/web_resources/homepage_images/images_2024/icon_xlsx.png) 0 0 no-repeat;
    background-size: cover;
}
.post .clip > ul > li.pdf::before{
    background: url(/web_resources/homepage_images/images_2024/icon_pdf.png) 0 0 no-repeat;
    background-size: cover;
}
.post .clip > ul > li.hwp::before{
    background: url(/web_resources/homepage_images/images_2024/icon_hwp.png) 0 0 no-repeat;
    background-size: cover;
}
.post .clip > ul > li:hover::before{
    filter: brightness(115%);
    transition: all 0.3s;
}
.post .clip > ul > li > a{
    padding-bottom: 2px;
    border-bottom: 1px solid transparent;
}
.post .clip > ul > li > a:hover{
    cursor: pointer;
    color: var(--color_font);
    border-bottom: 1px solid var(--color_font_sub1);
    transition: all 0.3s;
}
/* 내용 */
.post-con{
    font-family: 'pretendard', sans-serif;
    padding: var(--80) var(--30);
    border-top: var(--color_border-sub);
    border-bottom: var(--color_border);
    line-height: 2;
}
.post-con p{
    line-height: 2;
}
.post-con a,
.link{
    color: #0090fe;
    padding-bottom: 2px;
    border-bottom: 1px solid #0090fe;
}
.post-con a:hover,
.link:hover{
    color: var(--color_main-hover);
    border-bottom: 1px solid var(--color_main-hover);
    transition: all 0.3s;
}
/* 언론보도 내용,출처 */
.news-img {
    width: var(--full);
    text-align: center;
    margin-bottom: var(--80);
}
.news-img > img{
    width: 500px;
}
.news-source > div{
    width: var(--full);
    display: inline-flex;
    align-items: center;
    margin-top: var(--20);
}
.news-source img{
    height: 24px;
}
.news-source span{
    color: var(--color_font_sub2);
    margin-left: var(--10);
}
.news-source a{
    display: block;
    height: 30px;
    width: fit-content;
    margin-top: var(--10);
    padding-bottom: 0;
}
/* font style */
.fs-l{
    font-size: 2.4rem;
    color: var(--color_font);
}
.fs-xl{
    font-size: 2.8rem;
    color: var(--color_font);
}
.ta-c{
    text-align: center;
}
.underline{
    text-decoration: underline;
}
.font-red{
    color: #ff0724;
}
.font-blue{
    color: var(--color_main-hover);
}
.bg-yellow{
    background: #ffff54;
}
/* 포토갤러리(사진첩 - slick slide) */
.photo_for{
    width: var(--full);
    overflow: hidden;
    text-align: center;
    margin-bottom: var(--80);
}
.photo_for .slick-slide{
    width: var(--full);
    height: fit-content;
}
.photo_for .slick-slide img{
    max-width: 800px;
    margin: var(--center);
}
.photo_nav_wrap{
    position: relative;
}
.photo_nav {
    position: relative;
    height: 366.45px;
    background: rgba(var(--color_sub-rgb),0.2);
    /* background: rgba(var(--color_font-rgb),0.9); */
}
.photo_nav .photo_slide{
    height: 306.45px;
    overflow: hidden;
    margin: var(--30) 0;
}
.photo_nav .photo_slide img{
    width: 90%;
    margin: var(--center);
    opacity: 0.5;
}
.photo_nav .slick-slide { 
    cursor: pointer; 
}
.photo_nav .slick-slide.is-active img {
	opacity: 1;
}
.photo_nav_wrap .slick-arrow{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 25px;
    background: rgba(var(--color_font-rgb),0.3);
}
.photo_nav_wrap .slick-arrow svg{
    fill: var(--color_white);
    width: 28px;
    height: 28px;
}
.photo_nav_wrap .slick-prev{
    left: -25px;
}
.photo_nav_wrap .slick-next{
    right: -25px;
}

/* 목록으로 btn */
.post footer{
    display: flex;
    justify-content: flex-end;
    width: var(--full);
    padding-top: var(--40);
}
.post footer > a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 50px;
    background: var(--color_main);
    color: var(--color_white);
    font-weight: 700;
}
.post footer > a:hover{
    background: var(--color_main-hover);
    transition: all 0.3s;
}
/* contact 문의하기 */
.contact{
    width: var(--full);
}
.contact > div{
    width: var(--w_web);
    margin: var(--center);
}
.contact > div:first-child{
    text-align: center;
    margin-bottom: var(--space_title-b);
}
.contact > div:first-child h3{
    margin-bottom: var(--20);
}
.contact > div:first-child p{
    line-height: 1.8;
}
.contact .type{
    display: inline-flex;
    width: var(--full);
    border: var(--color_border);
    border-bottom: none;
}
.contact .type > a{
    width: 33.3%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--color_sub-rgb), 0.3);
    color: var(--color_font_sub2);
    font-weight: 700;
    font-size: 2.2rem;
}
.contact .type > a{
    border-left: 1px solid var(--color_white);
    border-right: 1px solid var(--color_white);
}
.contact .type > a:first-child{border-left: none;}
.contact .type > a:last-child{border-right: none;}
/* hover */
.contact .type > a:first-child:hover {border-right: var(--color_border);}
.contact .type > a:nth-child(2):hover{
    border-left: var(--color_border);
    border-right: var(--color_border);
}
.contact .type > a:last-child:hover{border-left: var(--color_border);}

.contact .type > a.on{
    background: var(--color_white);
    color: var(--color_main);
}
.contact .type > a:hover{
    background: var(--color_white);
    color: var(--color_main-hover);
    transition: all 0.3s;
}
/* form */
.contact .form_wrap{
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--full);
    background: var(--color_sub);
    padding: var(--80) 0;
}
.contact form{
    width: 880px;
    padding: var(--40);
    background: var(--color_white);
}
.contact form > div{
    width: var(--full);
    text-align: center;
    display: inline-flex;
    padding-bottom: var(--30);
    border-bottom: var(--color_border-sub);
}
.contact form > div > button{
    background: none;
    color: var(--color_sub);
    font-size: 3rem;
}
.contact form > div > h4{
    width: var(--full);
}
.contact table{
    width: var(--full);
    margin-top: var(--40);
}
.contact table td{
    height: 60px;
    line-height: 60px;
    padding: var(--5) 1px;
}
.contact table th{
    width: 25%;
    font-weight: 700;
}
.contact table th span{
    font-size: 1.4rem;
    font-weight: 400;
    margin-left: var(--5);
}
.contact table td input{
    width: var(--full);
    height: var(--full);
    border: 1px solid transparent;
    border-bottom: 2px solid #eee;
    padding: var(--input-set);
}
.contact table td input::placeholder{
    color: var(--color_font_sub2);
}
.contact table td input:hover,
.contact table td input:focus{
    border-bottom: 2px solid var(--color_main-hover);
    transition: all 0.3s;
}
/* toastui custom */
#toastUi{
    margin-top: var(--15);
    border: var(--color_border-sub);
    height: 600px;
}
#toastUi .toastui-editor-defaultUI{
    width: 800px;
}
.toastui-editor-contents table th{
    background-color: var(--color_sub);
}
.toastui-editor-popup-body{
    background: var(--color_white);
}
.toastui-editor-defaultUI-toolbar{
    background-color: rgba(var(--color_sub-rgb), 0.1);
    border-bottom: var(--color_border-sub);
}
.toastui-editor-defaultUI-toolbar button {
    border: var(--color_border);
}
.toastui-editor-tooltip{
    background-color:#686767;
    line-height: 1.5;
}
.toastui-editor-tooltip .arrow {
    background-color: #686767;
}
.toastui-editor-mode-switch {
    background-color: rgba(var(--color_sub-rgb), 0.1);
    border-top:  var(--color_border-sub);
}
.toastui-editor-mode-switch .tab-item.active {
    background-color: var(--color_white);
    border: var(--color_border-sub);
    border-top: none;
    color: var(--color_font_sub1);
}
.toastui-editor-md-container .toastui-editor-md-preview {
    border-left: var(--color_border-sub);
}
.ProseMirror {
    font-family: 'pretendard', sans-serif;
    font-size: 1.6rem;
}
.toastui-editor-md-container .toastui-editor-md-preview p,
.ProseMirror p{
    font-size: 1.6rem;
}
.toastui-editor-dropdown-toolbar {
    background-color: var(--color_white);
}
/* 개인정보수집 */
.contact table td.privacy{
    height: fit-content;
    padding-top: var(--20);
    border-bottom: var(--color_border-sub);
}
.contact table .privacy p{
    font-size: 1.6rem;
    line-height: 1.8;
}
.contact table .privacy .link svg{
    font-size: 1.3rem;
    transform: translateY(-1px);
    margin-right: var(--5);
}
.privacy table{
    width: var(--full);
    text-align: center;
    margin: var(--20) 0;
}
.privacy table th{
    text-align: center;
    height: 40px;
    border-top: var(--color_border);
    border-bottom: var(--color_border);
    background-color: rgba(var(--color_sub-rgb), 0.3);
}
.privacy table th~th{
    border-left: 1.5px solid var(--color_white);
}
.privacy table td{
    border-bottom: var(--color_border);
}
.privacy table td~td{
    border-left: var(--color_border-sub);
}
.contact table .privacy label{
    display: flex;
    align-items: center;
}
.contact table .privacy label span{
    margin-left: var(--5);
    font-weight: 700;
    color: var(--color_font_sub1);
}
.contact table .privacy input[type="checkbox"]{
    position: relative;
    background-color: var(--color_white);
    border: var(--color_border);
    width: 24px;
    height: 24px;
    border-radius: 5px;
    padding: 0;
}
.contact table .privacy input[type="checkbox"]::after{
    position: absolute;
    content: "";
    background: #CFD2D3;
    mask-image: url("/web_resources/homepage_images/images_2024/check-solid.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
}
.contact table .privacy input[type="checkbox"]:checked{
    background-color: var(--color_main-hover);
    border: 1px solid var(--color_main);
    transition: all 0.3s;
}
.contact table .privacy input[type="checkbox"]:checked::after{
    background: #FFF;
}
/* contact btn */
.contact table td.contact_btn{
    width: var(--full);
    padding: 0;
    padding-top: var(--40);
}
.contact_btn button{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 50px;
    background: var(--color_main);
    color: var(--color_white);
    font-weight: 700;
    margin: var(--center);
}
.contact_btn button:hover{
    background: var(--color_main-hover);
    transition: all 0.3s;
}
/* 블라인드 상담실 게시글 확인 */
.contact_blind{
    border: var(--color_border);
}
.contact_blind tr~tr{
    border-top: var(--color_border);
}
.contact_blind tr th,.contact_blind tr td{
    padding: 0 var(--15);
}
.contact_blind tr th{
    width: 16%;
    border-right: var(--color_border-sub);
    background:rgba(var(--color_sub-rgb), 0.1);
}
.contact_blind tr td{
    width: 34%;
}
.contact_blind th:nth-child(3){
    border-left: var(--color_border);
}
.contact_blind div{
    margin: var(--20) 0;
}
.contact_blind div.txt-over_dot{
    margin: 0;
}
.contact_blind~.contact_blind{
    margin-top: var(--40);
    padding: 30px;
}
/* 블라인드 안내문구 */
.contact form > div.blind_notice{
    text-align: left;
    padding: 30px;
}
.contact form > div.blind_notice > ul > li > ul{
    padding-top: 20px;
    padding-left: 20px;
}
.contact form > div.blind_notice > ul > li > ul > li{
   list-style: disc;
}
.contact form > div.blind_notice > ul > li > ul > li~li{
    margin-top: 10px;
}

/* careers welfare 복지제도 */
.welfare{
    width: var(--full);
    background: url(/web_resources/homepage_images/images_2024/walfare.jpg) 0 0 no-repeat;
    background-size: cover;
    text-align: center;
    color: var(--color_white);
}
.welfare p{
    margin-top: var(--20);
    margin-bottom: var(--space_title-b);
    color: var(--color_white);
}
.welfare > div{
    display: inline-flex;
}
.welfare > div > div{
    position: relative;
    width: 220px;
    height: 220px;
    border-radius: 110px;
    background: rgba(var(--color_white-rgb), 0.2);
    border: 1px solid rgba(var(--color_white-rgb), 0.25);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem;
    font-weight: 700;
}
.welfare > div > div:first-child::after,
.welfare > div > div:nth-child(2)::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    width: 80px;
    height: 3px;
    border-top: 3px dotted var(--color_white);
}
.welfare > div > div~div{
    margin-left: var(--80);
}
.welfare > div > div > img{
    width: 100px;
    margin-bottom: var(--5);
}
.welfare_wrap{
    width: var(--full);
}
.welfare_wrap > div{
    width: var(--w_web);
    margin: var(--center);
}
.welfare_wrap > div:last-child{
    margin: var(--40) auto var(--80);
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(5, 1fr);
}
.welfare_wrap .w_icon{
    border: var(--color_border-sub);
    text-align: center;
    padding: var(--40) 0;
}
.welfare_wrap .w_icon > img{
    width: 40%;
    margin-bottom: var(--20);
}
/* clients 고객사 */
.clients_list_wrap{
    width: var(--w_web);
    margin: var(--set1) var(--auto);
}
.clients_list_wrap:nth-child(2){margin-top: 0;}
.clients_list_wrap h4 > span{
    font-size: 1.8rem;
    color: var(--color_font_sub2);
    margin-left: var(--10);
}
.clients_list_wrap h4{
    font-weight: 800;
}
.clients_list_wrap h3{
    margin-bottom: var(--30);
}
[class*="list_type"]{
    margin-top: var(--50);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
[class*="list_type"] > li{
    width: var(20% - 20px);
    border: var(--color_border-sub);
    box-shadow: 0 5px 5px rgba(var(--color_font-rgb),0.05);
}
[class*="list_type"] > li:nth-child(n+6) {
    margin-top: var(--20);
}
[class*="list_type"] > li > img{
    height: 80px;
    object-fit: cover;
}
.list_type1{position: relative;}
.list_type1 > li > div{
    position: absolute;
    top: 0;
    left: 0;
    width: var(--full);
    height: var(--full);
    opacity: 0;
    background: var(--color_white);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color_font_sub1);
    font-size: 2.2rem;
    font-weight: 800;
}
.list_type1 > li:hover > div{
    opacity: 1;
    transition: all 0.3s;
}
.clients-bg{
    width: var(--full);
    background: rgba(var(--color_sub-rgb), 0.2);
}
.clients-bg > .clients_list_wrap{
    margin: var(--center);
}
.list_type{
    position: relative;
}
.list_type::after{
    position: absolute;
    content: "";
    bottom: -20px;
    left: 0;
    width: var(--full);
    height: 400px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0, rgba(255,255,255,1) 95% );
}
/* careers / careersEdu 인재육성 */
.title{
    text-align: center;
    margin-bottom: var(--space_title-b);
}
.title h3{
    margin-bottom: var(--30);
}
.con_edu_wrap{
    width: var(--full);
    text-align: center;
}
.edu-btn_tab{
    width: var(--w_web);
}
.edu-btn_tab > .btn_tab{
    width: 50%;
}
[class*="con_edu"] > h3{
    margin-bottom: var(--space_title-b);
}
.con_edu1 > h3{
    width: 40%;
    word-break: keep-all;
    margin: var(--center) var(--space_title-b);
}
.con_edu1 > div{
    width: var(--w_web);
    margin: var(--center);
    background:rgba(var(--color_sub-rgb), 0.2);
    padding: var(--40) var(--30);
}
.con_edu1 > div > h4{
    margin-bottom: var(--40);
    font-weight: 800;
}
.con_edu1 > div > div{
    width: var(--full);
    display: inline-flex;
    align-items: center;
}
.con_edu1 > div > div > ul{
    width: 28%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.con_edu1 > div > div > ul > li{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 47%;
    height: 105px;
    background: var(--color_white);
    border: 1px solid var(--color_main);
    color: var(--color_main);
    font-size: 2.6rem;
    font-weight: 800;
}
.con_edu1 > div > div > ul > li:nth-child(n + 3){
    margin-top: var(--20);
}
.con_edu1 > div > div > div{
    width: 70%;
    margin-left: var(--auto);
}
.con_edu2{
    background: url(/web_resources/homepage_images/images_2024/edu2_bg.png) 0 0 no-repeat;
    background-size: cover;
    width: var(--full);
    height: 810px;
    color: var(--color_white);
}
.con_edu2 > ul{
    width: var(--w_web);
    display: inline-flex;
    justify-content: space-between;
}
.con_edu2 > ul:last-child{
    width: 830px;
}
.con_edu2 > ul~ul{
    margin-top: var(--30);
}
.con_edu2 > ul > li{
    background: rgba(var(--color_white-rgb), 0.2);
    border: 1px solid rgba(var(--color_white-rgb), 0.25);
    padding: var(--30) var(--20);
    font-size: 2.2rem;
    font-weight: 700;
}
.con_edu2 > ul > li > svg{
    color: var(--color_main-hover);
    margin-bottom: var(--10);
}
.con_edu2 > ul:nth-child(2) > li{
    width: 32%;
}
.con_edu2 > ul:last-child > li:first-child{
    width: 30%;
}
.con_edu2 > ul:last-child > li:last-child{
    width: 67%;
}
.con_edu3{
    width: var(--full);
    background:rgba(var(--color_sub-rgb), 0.2);
}
.con_edu3 > ul{
    width: var(--w_web);
    display: inline-flex;
    justify-content: space-between;
}
.con_edu3 > ul > li{
    width: 31%;
}
.con_edu3 > ul > li > div{
    text-align: right;
    font-weight: 700;
    margin-bottom: var(--10);
}
.con_edu4 > h3{
    margin-bottom: var(--40);
}
.con_edu4 > p{
    margin-bottom: var(--space_title-b);
}
.con_edu4 > ul{
    width: var(--w_web);
    display: inline-flex;
}
.con_edu4 > ul > li{
    width: 33.3%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: var(--30) 0;
}
.con_edu4 > ul > li > div{
    width: var(--full);
    font-size: 2rem;
    font-weight: 800;
}
.con_edu4 > ul > li > div > img{
    width: 38%;
}
.con_edu4 > ul > li~li{
    border-left: var(--color_border-sub);
}
.con_edu4 > ul > li > ul > li{
    text-align: left;
}
.con_edu4 > ul > li > ul > li~li{
    margin-top: var(--10);
}
.con_edu4 > ul > li > ul > li > svg{
    color: var(--color_main-hover);
    margin-right: var(--5);
}
.con_edu5 > div{
    width: var(--w_web);
    margin: var(--center);
}
.con_edu5 h4{
    margin-bottom: var(--40);
}
.con_edu5 ol{
    width: var(--full);
   display: inline-flex;
   justify-content: space-between;
   text-align: left;
}
.con_edu5 ol > li{
    width: 23%;
    border: var(--color_border);
}
.con_edu5 ol > li > div{
    width: var(--full);
    display: flex;
    align-items: center;
    padding: var(--30);
    border-bottom: var(--color_border-sub);
    font-size: 2.2rem;
    font-weight: 800;
    background: rgba(var(--color_sub-rgb), 0.2);
}
.con_edu5 ol > li > div > span{
    font-size: 3rem;
    color: var(--color_main);
    margin-right: var(--10);
}
.con_edu5 ol > li > ul{
    padding: var(--30);
}
.dot{
    position: relative;
    padding-left: var(--15);
}
.dot~.dot{
    margin-top: var(--10);
}
.dot::after{
    position: absolute;
    content: "";
    top: 10px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 3px;
    background: var(--color_sub);
}
.dot > ul {
    margin-top: var(--5);
    margin-left: var(--5);
}
.dot > ul > li{
    position: relative;
    padding-left: var(--15);
}
.dot > ul > li::after{
    position: absolute;
    content: "";
    top: 12px;
    left: 0;
    width: 6px;
    height: 2px;
    background: var(--color_sub);
}
.con_edu6{
    position: relative;
    width: var(--w_web);
    margin: var(--center);
}
.con_edu6::after{
    position: absolute;
    content: "";
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    background: url(/web_resources/homepage_images/images_2024/arrow.png) 0 0 no-repeat;
    background-size: 100%;
    width: 50px;
    height: 80px;
}
.con_edu6 > ul{
    width: var(--full);
    display: inline-flex;
    justify-content: space-between;
}
.con_edu6 > ul > li{
    width: 32%;
    border: 1px solid var(--color_main);
}
.con_edu6 > ul > li > div{
    width: var(--full);
    height: 80px;
    background: var(--color_main);
    color: var(--color_white);
    font-weight: 800;
    font-size: 2.8rem;
    line-height: 80px;
}
.con_edu6 > ul > li > div > span{
    font-size: 1.8rem;
    font-weight: 400;
    margin-left: var(--10);
}
.con_edu6 > ul > li > ul{
    text-align: left;
    padding: var(--30);
}
.con_edu6 > ul > li > ul > li {
    display: inline-flex;
    width: var(--full);
}
.con_edu6 > ul > li > ul > li~li{
    margin-top: var(--15);
}
.con_edu6 > ul > li > ul > li > div:first-child{
    background: var(--color_font_sub2);
    color: var(--color_white);
    font-weight: 700;
    font-size: 1.5rem;
    width: 17%;
    text-align: center;
    height: fit-content;
    padding: 3px var(--15);
    margin-right: var(--10);
    border-radius: 30px;
}
.con_edu6 > ul > li > ul > li > div:last-child{
    width: 83%;
}
/* careers / careers 채용정보 */
.careers_wrap > h3{
    text-align: center;
    margin-bottom: 80px;
}
.con-careers{
    width: var(--w_web);
    margin: var(--center);
    text-align: left;
}
.con-careers~.con-careers{
    margin-top: var(--set1);
}
.con-careers > h4{
    margin-bottom: var(--30);
}
[class*="recruit"]{
    border: 1px solid var(--color_sub);
    border-top: 8px solid var(--color_sub);
    box-shadow: 0 5px 5px rgba(var(--color_font-rgb), 0.05);
}
[class*="recruit"]:hover{
    border: 1px solid var(--color_main-hover);
    border-top: 8px solid var(--color_main-hover);
    box-shadow: 0 5px 8px rgba(var(--color_font-rgb), 0.2);
    transition: all 0.3s;
}
[class*="recruit"] > a{
    display: flex;
    flex-direction: column;
    width: var(--full);
    height: var(--full);
}
[class*="recruit"] > a > div{
    padding: 0 20px;
}
[class*="recruit"] > a > div:first-child{
    width: var(--full);
    height: 125px;
    padding: 20px;
}
[class*="recruit"] > a > div:first-child > div{
    width: var(--full);
    height: var(--full);
    border: 1px solid #eee;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
[class*="recruit"] .img{
    display: inline-flex;
    align-items: center;
    font-weight: 700;
}
[class*="recruit"] .img > img{
    width: 20px;
    margin-right: var(--5);
}
.recruit_slide_wrap,
.recruit_list_wrap{
    border: none;
    box-shadow: none;
}
.recruit_slide_wrap:hover,
.recruit_list_wrap:hover{
    border: none;
    box-shadow: none;
}
/* 추천공고 */
.recruit_slide_wrap{
    width: calc(100% + 30px);
    height: 380px;
    transform: translateX(-15px);
}
.recruit_slide_wrap .main_slide_page{
    bottom: 0;
}
.recruit_slide_wrap .main_slide_page li button {
    background: rgba(var(--color_sub-rgb), 0.4);
}
.recruit_slide_wrap .main_slide_page li.slick-active button{
    background: rgba(var(--color_sub-rgb), 1);
    transition: all 0.3s;
}
.recruit_slide_wrap .main_slide_page li~li {
    margin-left: var(--10);
}
.recruit_top{
    height: 325px;
    margin: 0 var(--15) var(--10);
    border: 1px solid var(--color_main);
    border-top: 8px solid var(--color_main);
}
.recruit_top:hover{
    transform: translateY(0);
}
.txt_wrap{
    width: var(--full);
    height: var(--full);
    display: flex;
    flex-direction: column;
}
.txt_wrap > .tag {
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
}
.txt_wrap > .tag > span{
    color: var(--color_main);
}
.txt_wrap > .tag > span~span{
    margin-left: var(--10);
}
.txt_wrap > .title{
    font-size: 2.2rem;
    font-weight: 700;
    word-break: keep-all;
    margin: var(--5) 0 0;
    text-align: left;
}
.recruit_top .txt_wrap > div:last-child{
    width: var(--full);
    display: inline-flex;
    align-items: center;
    margin-top: var(--auto);
    font-size: 1.6rem;
    padding-bottom: 20px;
}
.recruit_top .txt_wrap > div:last-child > div:last-child{
    margin-left: var(--auto);
    color: var(--color_font_sub2);
}
.red{
    color: #f00141;
}
/* 채용공고 */
.recruit_list_wrap{
    width: var(--full);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.recruit_list_wrap > .recruit{
    width: calc(calc(100% - 60px) / 4);
    height: 380px;
    margin-left: var(--20);
    transform: translateY(0);
}
.recruit_list_wrap > .recruit:hover{
    transform: translateY(-5px);
    transition: all 0.3s;
}
.recruit_list_wrap > .recruit:nth-child(4n-3){
    margin-left: 0;
}
.recruit_list_wrap > .recruit:nth-child(n+5){
    margin-top: var(--60);
}
.recruit .txt_wrap > div:last-child{
    margin-top: var(--auto);
    padding-bottom: var(--15);
    font-size: 1.6rem;
    color: var(--color_font_sub2);
}
.recruit_list_wrap > .recruit > a > .subsidy{
    padding: var(--15) var(--20);
    border-top: var(--color_border-sub);
    font-size: 1.6rem;
}
/* 추천 */
.recruit_top.rec,
.recruit.rec{
    position: relative;
}
.recruit_top.rec::after,
.recruit.rec::after{
    position: absolute;
    content: "";
    top: -8px;
    right: 15px;
    background: url(/web_resources/homepage_images/images_2024/rec.png) 0 0 no-repeat;
    background-size: cover;
}
.recruit_top.rec::after{
    width: 55px;
    height: 60px;
}
.recruit.rec::after{
    width: 45px;
    height: 50px;
}


/* biz01(주요사업 - 컨택센터 구축 및 운영) */
.biz01_wrap{
    width: var(--w_web);
    margin: var(--center);
}
.biz01_wrap > div{
    display: inline-flex;
    justify-content: space-between;
}
.biz01_wrap > div~div{
    margin-top: var(--set1);
}
.biz01_img{
    position: relative;
    width: 38%;
}
.biz01_img > div{
    position: absolute;
    top: 360px;
    right: 50px;
    font-size: 4rem;
    font-weight: 800;
    color: var(--color_white);
}
.biz01_wrap > div:nth-child(2) > .biz01_img > div{
    top: 80px;
    left: 50px;
}
.biz01_wrap > div:last-child > .biz01_img > div{
    top: 400px;
}
.biz01_img > div > span{
    font-size: 3.2rem;
    font-weight: 500;
}
.biz01_txt{
    width: 52%;
    display: flex;
    flex-direction: column;
}
.biz01_txt > ul{
    width: var(--full);
    margin-top: var(--auto);
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.biz01_txt > ul > li{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48%;
    height: 100px;
    background: rgba(var(--color_sub-rgb), 0.3);
    font-size: 2.4rem;
    font-weight: 700;
}
.biz01_txt > ul > li:nth-child(n + 3){
    margin-top: var(--30);
}
/* code-hive */
.code-hive_wrap{
    width: var(--full);
    text-align: center;
    background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%,rgba(0, 14, 58,1) 60%);
}
.code-hive_img{
    position: relative;
    background: url(/web_resources/homepage_images/images_2024/c-hive_bg.jpg) 0 0 no-repeat;
    background-size: 100%;
    background-attachment: fixed;
    width: var(--full);
    height: 775px;
    color: var(--color_white);
}
.code-hive_img::before{
   position: absolute;
   content: "";
   left: 0;
   bottom: -160px;
   width: var(--full);
   height: 210px;
   background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(0, 14, 58,0.7) 55%, #000c33 75%,  #000c33 90%,rgba(0, 14, 58,0) 100%);
}
.code-hive_img > div{
    width: var(--w_web);
    margin: var(--center);
}
.code-hive_img > div:first-child{
    padding: var(--set1) var(--100) var(--space_title-b);
    text-align: center;
    word-break: keep-all;
}
.code-hive_img > div:first-child > div{
    font-size: 3rem;
    margin-bottom: var(--30);
}
.code-hive_img > div:last-child{
    position: absolute;
    top: 440px;
    left: 50%;
    transform: translateX(-50%);
}
.code-hive_txt{
    display: inline-flex;
    width: var(--w_web);
    margin: 445px var(--auto) 0;
    flex-wrap: wrap;
    justify-content: space-between;
}
.code-hive_txt > div{
    width: 47.5%;
    display: inline-flex;
    background: var(--color_white);
    border: var(--color_border-sub);
    box-shadow: 0 5px 5px rgba(var(--color_font-rgb), 0.05);
    padding: 40px 40px 40px 0;
    text-align: left;
}
.code-hive_txt > div:nth-child(n+3){
    margin-top: var(--40);
}
.code-hive_txt > div:nth-child(even){
    transform: translateY(170px);
}
.code-hive_txt > div > div:first-child{
    width: 45%;
    height: fit-content;
    padding-left: var(--40);
    border-left: 5px solid var(--color_main);
}
.code-hive_txt > div > div:first-child > img{
    width: 150px;
}
.code-hive_txt > div > div:last-child{
    width: 55%;
}
.code-hive_txt > div > div:last-child > div{
   padding-bottom: var(--30);
   border-bottom: var(--color_border-sub);
}
.code-hive_txt h4 > span{
    font-size: 1.8rem;
    margin-left: var(--5);
}
.code-hive_txt ul{
    padding-top: var(--30);
}
.code-hive_txt > .con_btn{
    margin-top: 130px;
}
/* aicc platform */
.aicc_wrap{
    margin-top: var(--set1);
    background: rgba(var(--color_sub-rgb), 0.2);
}
.aicc_wrap > div{
    width: var(--w_web);
    margin: var(--center);
}
.aicc_wrap .aicc01,.aicc_wrap .aicc02{
    width: var(--full);
    display: inline-flex;
    justify-content: space-between;
    text-align: center;
}
.aicc_wrap .aicc01{
    margin-top: var(--space_title-b);
    margin-bottom: var(--30);
}
.aicc_wrap .aicc01 > li{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24%;
    height: 200px;
    color: var(--color_white);
    font-size: 2.4rem;
    font-weight: 700;
}
.aicc_wrap .aicc01 > li:first-child{background: url(/web_resources/homepage_images/images_2024/aicc01-1.jpg) 0 0 no-repeat; background-size: 100% 100%;}
.aicc_wrap .aicc01 > li:nth-child(2){background: url(/web_resources/homepage_images/images_2024/aicc01-2.jpg) 0 0 no-repeat; background-size: 100% 100%;}
.aicc_wrap .aicc01 > li:nth-child(3){background: url(/web_resources/homepage_images/images_2024/aicc01-3.jpg) 0 0 no-repeat; background-size: 100% 100%;}
.aicc_wrap .aicc01 > li:last-child{background: url(/web_resources/homepage_images/images_2024/aicc01-4.jpg) 0 0 no-repeat; background-size: 100% 100%;}
.aicc_wrap .aicc02{
    margin-top: var(--20);
    margin-bottom: 133px;
}
.aicc_wrap .aicc02 > li{
    position: relative;
    text-align: center;
    background: var(--color_white);
    width: 19%;
    padding: var(--40) 0;
}
.aicc_wrap .aicc02 > li > img{
    width: 45%;
    margin: var(--20) 0;
}
.aicc_wrap .aicc02 > li > div{
    position: absolute;
    top: 400px;
    width: 580px;
    height: 100px;
    background: var(--color_white);
    border: var(--color_border-sub);
    display: flex;
    align-items: center;
    padding: var(--10) var(--30);
}
.aicc_wrap .aicc02 > li:first-child > div > img{
    width: 60px;
}
.aicc_wrap .aicc02 > li:first-child > div > img~img{
    margin-left: auto;
}
.aicc_wrap .aicc02 > li:last-child > div{
    right: 0;
    width: 820px;
}
.aicc_wrap .aicc02 > li:last-child > div > div~div{
    margin-left: var(--20);
}
.aicc_wrap .aicc02 > li:first-child > div::after,
.aicc_wrap .aicc02 > li:last-child > div::after{
    content: "";
    position: absolute;
    top: -60px;
    width: 20px;
    height: 50px;
    background: url(/web_resources/homepage_images/images_2024/arrow2.png) 0 0 no-repeat;
    background-size: 100% 100%;
}
.aicc_wrap .aicc02 > li:first-child > div::after{left: 125px;}
.aicc_wrap .aicc02 > li:last-child > div::after{right: 125px;}
.biz01_contact{
    background: url(/web_resources/homepage_images/images_2024/contact_bg.jpg) 0 0 no-repeat;
    background-size: 100% 100%;
    color: var(--color_white);
    text-align: center;
}
.biz01_contact .title p{
    color: var(--color_white);
}
.biz01_contact > div:last-child{
    display: inline-flex;
    text-align: center;
}
.biz01_contact .btn1{
    display: flex;
    width: 210px;
    height: 60px;
    border-radius: 30px;
    font-size: 2.2rem;
}
.biz01_contact .btn1~.btn1{
    margin-left: var(--30);
}
/* ==============
 * footer
 * ============== */
.footer{
    width: var(--full);
    /* height: 595px; */
    background: var(--color_footer);
    text-align: center;
    color: var(--color_font_sub1);
}
/* footer top */
.foot_top{
    display: inline-flex;
    width: var(--w_web-full);
    padding: 60px 0;
    text-align: left;
}
.foot_top .sitemap {
    width: 65%;
}
.foot_top .sitemap > h6{
    font-weight: 800;
}
.foot_top .sitemap > ul{
    font-family: 'pretendard',sans-serif;
    font-size: 1.6rem;
    display: inline-flex;
    margin-top: var(--30);
}
.foot_top .sitemap > ul > li~li{
    margin-left: var(--80);
}
.foot_top .sitemap > ul > li > ul{
    margin-top: var(--20);
}
.foot_top .sitemap > ul > li > ul > li~li{
    margin-top: var(--space_list1);
}
.related_site{
    display: inline-flex;
    justify-content: space-between;
    /* width: 82%; */
    width: fit-content;
    margin-top: var(--30);
    padding: var(--10) var(--20);
    border: var(--color_border-sub);
    background: var(--color_white);
}
.related_site > a{
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 500;
    padding: var(--5) var(--10);
}
.related_site > a:hover{
    background: rgba(var(--color_font-rgb), 0.05);
    border-radius: var(--5);
    transition: all 0.3s;
}
.related_site img{
    width: 40px;
    margin-right: var(--5);
}
/* info (footer 기업정보) */
.info{
    width:35%;
}
.ks_group{
    display: inline-flex;
    width: var(--full);
}
.ks_group a{
    width: 60%;
}
.ks_group .family_site{
    width: 50%;
}
/* 셀렉트박스 커스텀 */
.select{
	position: relative;
	width: var(--full);
}
.select-btn {
    display: inline-flex;
    align-items: center;
	width: 100%;
	height: 48px;
	padding: 0 var(--10);
	font-size: 1.6rem;
	background-color: rgba(var(--color_white-rgb), 0.5);
	border: var(--color_border);
	color: var(--color_font_sub2);
	box-sizing: border-box;
	border-radius: var(--5);
	cursor: pointer;
	text-align: left;
}
.select-btn:after{
    position: absolute;
    content: "\f107";
    display: inline-block;
    right: 0;
    top: 17px;
    transform: rotate(0);
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: auto;
    margin-right: var(--15);
    color: var(--color_sub);
}
.select-btn:hover,
.select-btn:focus {
    background-color: rgba(var(--color_white-rgb), 1);
	box-shadow: 0 0 3px rgba(var(--color_main-rgb), 0.8);
    border: 1px solid var(--color_main);
    transition: all 0.3s;
}
.select-list li button:hover,
.select-list li button:focus {
	background-color: #f4f4f4;
	border-radius: 5px;
}
.select-list {
	display: none;
	z-index: 1;
	position: absolute;
	width: var(--full);
	top: 50px;
	left: 0;
	border: 1px solid rgb(229, 229, 229);
	box-sizing: border-box;
	box-shadow: 0 3px 10px rgba(var(--color_font-rgb), 0.1);
	border-radius: var(--5);
	padding: 0;
	background-color: var(--color_white);
}
.select-list li {
	width: var(--full);
	height: 46px;
}
.select-list li button {
	width: var(--full);
	height: var(--full);
	border: none;
	background-color: var(--color_white);
	border-radius: 8px;
	cursor: pointer;
	text-align: left;
	padding-left: var(--15);
	font-size: 1.6rem;
}
/* on */
.select-btn.light{
	color: var(--color_font);
}
.select-btn.on{
	background-color: var(--color_white);
	color: var(--color_font);
}
.select-btn.on::after{
    color: var(--color_font_sub2);
    transition: all 0.3s;
}
.select-btn.on+.select-list {
	display: block;
}
.select-btn.on:after {
	transform: rotate(180deg);
	transition: all 0.3s;
}
/* sns */
.sns{
    width: 100%;
    display: inline-flex;
    align-items: center;
    padding: 15px 20px;
    background: var(--color_white);
    color: var(--color_font_sub2);
    font-weight: 700;
    margin: var(--20) 0 var(--30);
    border: var(--color_border-sub);
}
.sns .divide{
    padding: 0 var(--15);
}
.sns > div:last-child{
    margin-left: var(--auto);
}
.sns > div > a~a{
    margin-left: var(--15);
}
.sns > div > a:hover{
    filter: brightness(95%);
    transition: all 0.3s;
}
address{
    display: inline-flex;
    margin-bottom: var(--20);
}
address,.contact_number{
    font-family: 'pretendard',sans-serif;
    font-size: 1.6rem;
}
.contact_number > div~div{
    margin-top: var(--20);
}
/* footer_bottom */
.foot_bottom{
    display: inline-flex;
    width: var(--full);
    background: var(--color_main);
    color: var(--color_white);
    padding: 30px 0;
    font-size: 1.6rem;
}
.foot_bottom b{
    color: var(--color_white);
}
.foot_bottom > div{
    display: inline-flex;
    width: var(--w_web-full);
    margin: var(--center);
}
.foot_bottom > div > .foot_bottom_l > a~a{
   margin-left: var(--30);
}
.foot_bottom > div > .foot_bottom_r{
    margin-left: var(--auto);
}
/* ==============
 * top btn
 * ============== */
 .top_btn{
    z-index: 1;
    position: fixed;
    right: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 27px;
    background: var(--color_main);
    box-shadow: 0 5px 15px rgba(var(--color_main-hover-rgb),0.3);
    opacity: 0;
    transition: opacity 0.3s;
 }
 .top_btn svg{
    fill: var(--color_white);
    width: 36px;
    height: 36px;
 }
 .top_btn:hover{
    background: var(--color_main-hover);
    box-shadow: 0 5px 15px rgba(var(--color_main-hover-rgb),0.5);
    transition: all 0.3s;
 }
 .top_btn.show{
    opacity: 1;
    transition: opacity 0.3s;
 }
 .top_btn.on{
    position: absolute;
    box-shadow: none;
}

/* modal - 250515 */
.wrap:has(.modal){
    height: 100%;
    overflow: hidden;
}
