* {word-break: keep-all;}

.sect_space {padding: 140px 0;}

::selection {background-color: #20265B; color: #fff;}
::-webkit-scrollbar {width: 0;}

/* 버튼 */
div[class*="move_"] {width: 50px; height: 50px; border-radius: 100%; position: relative; cursor: pointer;}
div[class*="move_"].wh {background-color: #fff;}
div[class*="move_"]::after {content: ""; display: block; width: 16px; aspect-ratio: 1; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.move_next.wh::after {background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/next_bl.png) no-repeat center/contain;}
.move_prev.wh::after {background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/prev_bl.png) no-repeat center/contain;}
div[class*="move_"].bl {background-color: #1A34C7;}
.move_next.bl::after {background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/next_wh.png) no-repeat center/contain;}
.move_prev.bl::after {background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/prev_wh.png) no-repeat center/contain;}

.btn_box {width: 100%; display: flex;}
button {font-family: inherit; transition: all .2s;}
button.btn {padding: 14px 20px; text-align: center; width: 100%; line-height: 1; border: 2px solid transparent; border-radius: 80px;}
button.lg {font-size: clamp(16px, 1.6vw, 20px); font-weight: 600;}
button.main {border-color: #1A34C7; color: #1A34C7; background-color: #fff;}
button.main:hover {background-color: #1A34C7; color: #fff;}
button.type1 {background-color: #f4f4f4; color: #888; border-color: #f4f4f4;}
button.type1:hover {background-color: #e5e5e5; border-color: #e5e5e5;}
button.type2 {background-color: #ddd; color: #666; border-color: #ddd;}
button.type2:hover {background-color: #ccc; color: #555; border-color: #ccc;}
button.type3 {background-color: #b4b5bd; color: #79797e; border-color: #b4b5bd; cursor: default;}


/* 메인 타이틀 */
.main_title {display: flex; flex-direction: column; align-items: flex-start;}
.main_title span {font-size: clamp(16px, 3vw, 22px); font-weight: bold; font-family: "DM Sans", sans-serif; color: #1A34C7; line-height: 1;}
.main_title .main {font-size: clamp(24px, 3.8vw, 60px); font-weight: 700; line-height: 1.4; padding: 10px 0 22px;}
.main_title .sub {font-size: clamp(15px, 2.5vw, 20px); color: #777; line-height: 1.4;}
.main_title.wh span, .main_title.wh .main, .main_title.wh .sub {color: #fff;}


/* 자세히보기 버튼 */
.more_btn {display: inline-block; min-width: max-content; padding: 15px 40px; border-radius: 80px; border: 3px solid #ddd; color: #333; font-size: clamp(15px, 1.3vw, 20px); text-align: center; line-height: 1; font-weight: 500; transition: all .2s; background-color: transparent;}
.more_btn:hover {background-color: #fff; border-color: #1A34C7;}
.more_btn.st2 {border-color: #fff; color: #fff;}
.more_btn.st2:hover {border-color: #1A34C7; color: #1A34C7;}
.more_btn.st3 {border-color: #1A34C7; background-color: #fff; color: #1A34C7;}
.more_btn.st3:hover {background-color: #1A34C7; color: #fff;}



input {outline: none;}


.flex {display: flex; width: 100%;}
.flex.hr {align-items: center; justify-content: space-between;}
.flex.ver {flex-direction: column; align-items: flex-start; gap: 70px;}



/* -------- 메인비주얼 -------- */
.main_visual {width: 100%; height: 100vh; position: relative;}

.mainSwiper {position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-color: #000;}
.mainSwiper .swiper-slide {width: 100%; height: 100%; position: relative;}
.mainSwiper .swiper-slide img {position: absolute; width: 100%; height: 100%; display: block; object-fit: cover; z-index: -1; transition: ease-out 4.5s; scale: 1;}
.mainSwiper .swiper-slide-active img {scale: 1.04;}
.mainSwiper .swiper-slide .bd-lg {height: 100%;}
.mainSwiper .swiper-slide .main_txt {position: absolute; left: 0; top: 50%; color: #fff;}
/* .mainSwiper .swiper-slide .main_txt p {position: relative; width: 100%; overflow: hidden;}
.mainSwiper .swiper-slide .main_txt span {font-size: clamp(20px, 4vw, 40px); font-weight: 300; line-height: 1.4; position: relative; transform: translateY(100%); transition: all 1s cubic-bezier(.67,.11,.39,.97); display: inline-block;} */
.mainSwiper .swiper-slide .main_txt p {position: relative; width: 100%;}
.mainSwiper .swiper-slide .main_txt span {font-size: clamp(20px, 4vw, 36px); font-weight: 500; line-height: 1.4; display: inline-block;}
/* .mainSwiper .swiper-slide-active .main_txt span {transform: translateY(0); transition-delay: .1s;} */
/* .mainSwiper .swiper-slide-active .main_txt .main {transition-delay: initial;} */
.mainSwiper .swiper-slide .main_txt .main {font-size: clamp(28px, 5.5vw, 70px); font-weight: 700; line-height: 1.3; padding-top: 12px;}
.mainSwiper .swiper_control {position: absolute; top: 85%; left: calc((100% - 1440px) / 2); display: flex; align-items: center; min-width: max-content;}
.swiper-pagination {position: static !important;}
.pagination_progress {background-color: #ffffff50 !important; width: 150px !important; margin-right: 15px; height: 5px;}
.pagination_progress .swiper-pagination-progressbar-fill {
    background: #1A34C7; /* 프로그레스바 색상 */
    height: 100%;
    width: 100%;
    transform-origin: left center;
    transform: scaleX(0); /* 시작 시 초기화 */
    transition: transform 0.2s linear;
}

.swiper-pagination-fraction {width: auto !important; color: #fff !important; font-size: 18px; font-family: "DM Sans", sans-serif; font-weight: bold; margin: 0 10px; display: flex; align-items: center; gap: 6px; width: 72px !important; justify-content: center;}
.mainSwiper div[class*="move_"] {right: initial !important; left: initial !important; margin: 0 !important; width: 30px !important; height: 30px !important; background-color: #ffffff80;}
.mainSwiper div[class*="move_"]::after {width: 9px; height: 9px; aspect-ratio: initial; background: none !important; border-top: 2px solid #1A34C7; border-left: 2px solid #1A34C7;}
.mainSwiper .swiper-button-prev::after,
.mainSwiper .swiper-button-next::after {content: "" !important; font-family: initial !important; font-size: 0 !important;}
.mainSwiper .swiper-button-prev svg,
.mainSwiper .swiper-button-next svg {display: none !important;}
.mainSwiper .move_prev::after {transform: translate(-35%, -50%) rotate(-45deg);}
.mainSwiper .move_next::after {transform: translate(-65%, -50%) rotate(135deg);}


.main_menu {position: absolute; top: 98px; right: 0; width: 20vw; display: grid; grid-template-rows: 1fr 1fr 1fr 1fr; height: calc(100vh - 98px); border-left: 1px solid #fff; z-index: 1;}
.main_menu a {background-color: #00000025; padding: 40px; border-bottom: 1px solid #fff; width: 100%; display: flex; align-items: center;}
.main_menu a:last-child {border-bottom: none; background-color: #20265B;}
.main_menu a dl {display: flex; align-items: baseline; justify-content: space-between; width: 100%;}
.main_menu a:last-child dl {align-items: center;}
.main_menu dl dt {font-size: clamp(18px, 1.6vw, 25px); line-height: 1; color: #fff;}
.main_menu dl dd {display: flex; align-items: baseline; gap: 10px;}
.main_menu dd span {font-size: clamp(16px, 1.4vw, 21px); line-height: 1; color: #fff;}
.main_menu dd span:first-child {font-size: clamp(22px, 3.2vw, 52px); font-family: "DM Sans", sans-serif; font-weight: bold;}




/* -------- 공고 -------- */
.apply {background-color: #f5f5f5;}
.apply .flex {padding-bottom: 60px;}

.apply_list {display: flex; flex-wrap: wrap; width: 100%; border-radius: 16px; overflow: hidden; background-color: #e9e9e9;}
.apply_con {display: flex; flex-direction: column; width: 25%; padding: 35px; border-right: 1px solid #e5e5e5; border-top: 1px solid #e5e5e5; cursor: pointer; background-color: #fff;}
.apply_con:nth-of-type(4n) {border-right: none;}
.apply_con:nth-of-type(1), .apply_con:nth-of-type(2), .apply_con:nth-of-type(3), .apply_con:nth-of-type(4) {border-top: none;}
.apply_con dl {display: flex; width: 100%; justify-content: space-between; align-items: center; padding-bottom: 16px; border-bottom: 1px solid #ddd; margin-bottom: 16px;}
.apply_con dl dt {font-size: clamp(18px, 1.6vw, 27px); font-weight: bold; color: #1A34C7; font-family: "DM Sans", sans-serif; line-height: 1;}
.apply_con dl dd {font-size: clamp(14px, 1.3vw, 19px); color: #333; line-height: 1;}
.apply_con .apply_info {display: flex; width: 100%; flex-direction: column; gap: 50px;}
.apply_con .apply_info .tit {font-size: clamp(18px, 1.8vw, 25px); font-weight: 700; line-height: 1.4; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
.apply_con .apply_info ul {display: flex; align-items: center; gap: 16px; flex-wrap: wrap; row-gap: 8px;}
.apply_con .apply_info li {color: #888; font-size: 16px; line-height: 1; position: relative;}
.apply_con .apply_info li::after {content: ""; display: block; width: 1px; height: 12px; background-color: #ddd; position: absolute; right: -8px; top: 50%; transform: translateY(-50%);}
.apply_con .apply_info li:last-child::after {display: none;}
/* .apply_con.no {background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/apply_no.jpg) no-repeat center/cover; cursor: default; position: relative;} */
.apply_con.no {background-color: #fafafa; position: relative; overflow: hidden; border: none;}
.apply_con.no::after {content: ""; display: block; width: 40%; background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/apply_no.jpg) no-repeat center/contain; top: 50%; left: 50%; transform: translate(-50%, -50%); position: absolute; aspect-ratio: 3 / 2; min-width: 120px;}
.apply > .more_btn {display: none;}


/* -------- 직무소개 -------- */
.work {width: 100%; background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/work_bg.jpg) no-repeat center top/cover;}
.work .main_title {padding-bottom: 80px;}

.work_list {display: flex; flex-direction: column; width: 100%; gap: 35px;}
.work_box {display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 35px;}
.work_con {width: 100%; aspect-ratio: 3 / 2.2; display: flex; flex-direction: column; justify-content: space-between; position: relative; padding: 30px; border-radius: 16px; border: 1px solid #ffffff30; background-color: #ffffff15; color: #fff; cursor: pointer; box-shadow: none; transition: all .1s;}
.work_con:hover {box-shadow: 2px 2px 15px #ffffff20;}
.work_con dl {display: flex; flex-direction: column; width: 100%; align-items: flex-start; gap: 6px;}
.work_con dt {font-size: 16px; font-weight: bold; font-family: "DM Sans", sans-serif; line-height: 1.3;}
.work_con dd {font-size: clamp(20px, 2vw, 38px); font-weight: 800; line-height: 1.3;}
.work_con i {display: block; position: absolute; bottom: 30px; right: 30px;}
.work_con.all {background-color: #1A34C7; border-color: #1A34C7;}


/* -------- 회사소개 -------- */
.about {width: 100%; background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/about_bg.jpg) no-repeat center top/cover; padding-bottom: 160px;}
.about .flex {padding-bottom: 80px;}

.about_list {width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px;}
.about_con {width: 100%; cursor: pointer;}
.about_con .thumb {width: 100%; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden;}
.about_con .thumb img {width: 100%; height: 100%; display: block; object-fit: cover; scale: 1; transition: all .3s ease-out;}
.about_con:hover .thumb img {scale: 1.03;}
.about_con .about_tit {display: flex; align-items: center; justify-content: space-between; width: 100%; padding-top: 25px;}
.about_con .about_tit span {font-size: clamp(20px, 2vw, 36px); font-weight: 700; color: #fff; line-height: 1;}
.about_list + .more_btn {display: none;}


/* -------- 바로가기 -------- */
.quick {width: 100%; background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/quick_bg.jpg) no-repeat center/cover;}

.quick_wrap {width: 100%; display: flex; align-items: flex-start;}
.quick_wrap .flex {width: 50%;}
.quick_list {width: 50%; padding-left: 5%; display: flex; flex-wrap: wrap; justify-content: space-between; row-gap: 30px;}
.quick_con {display: flex; width: 48%; flex-direction: column; align-items: flex-end; gap: 60px; border-radius: 16px; background-color: #20265B; padding: 30px; box-shadow: none; transition: all .2s; cursor: pointer;}
.quick_con:hover {box-shadow: 2px 2px 10px #0d208b80;}
.quick_con dl {display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 10px;}
.quick_con dt {font-size: clamp(14px, 1.2vw, 18px); font-weight: bold; color: #ffffff80; font-family: "DM Sans", sans-serif;}
.quick_con dd {font-size: clamp(20px, 2.2vw, 38px); font-weight: 600; color: #fff;}
.quick_con.st1 {background-color: #f2f2f2; border: 1px solid #bbb;}
.quick_con.st1:hover {box-shadow: 2px 2px 10px #4b4b4b50;}
.quick_con.st1 dt {color: #bbb;}
.quick_con.st1 dd {color: #111;}
.quick_vid {width: 100%; border-radius: 16px; overflow: hidden; aspect-ratio: 2 / 1; display: flex; align-items: center; justify-content: center;}


/* -------- 유튜브영상 -------- */
.movie {width: 100%; max-height: 1080px; aspect-ratio: 1920 / 1080;}
.movie iframe {width: 100%; height: 100%; display: block;}




@media screen and (max-width: 1440px) {
    div[class*="move_"] {width: 40px; height: 40px;}
    div[class*="move_"]::after {width: 14px;}

    .more_btn {padding: 12px 30px;}

    /* 메인비주얼 */
    .main_menu dl dd {gap: 5px;}
    .main_menu a {padding: 30px;}
    .main_menu {width: 25vw;}
    .mainSwiper .swiper-slide .main_txt {left: 16px;}
    .mainSwiper .swiper_control {left: 16px;}
}


@media screen and (max-width: 1280px) {
    /* 공고 */
    .apply_con {padding: 25px;}
    .apply_con dl {padding-bottom: 12px; margin-bottom: 12px;}
    .work_list {gap: 20px;}
    .apply_con .apply_info {gap: 40px;}


    /* 직무소개 */
    .work_con {padding: 25px;}
    .work_con dt {font-size: 15px;}
    .work_box {gap: 20px;}
    .work_con i {bottom: 20px; right: 20px;}


    /* 회사소개 */
    .about_list {gap: 25px;}
    .about_con .about_tit {padding-top: 15px;}


    /* 바로가기 */
    .quick_list {row-gap: 20px;}
    .quick_con dl {gap: 0;}
}




@media screen and (max-width: 1080px){
    button.btn {padding: 12px 15px;}

    .flex .more_btn {display: none;}

    div[class*="move_"] {width: 35px; height: 35px;}
    .sect_space {padding: 120px 0;}

    
    /* 메인비주얼 */
    .main_visual {height: 95vh;}
    .main_menu {top: initial; height: auto; bottom: 0; left: 0; right: initial; width: 100vw; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; border-top: 1px solid #fff; border-left: none;}
    .main_menu a:nth-of-type(2n-1) {border-right: 1px solid #fff;}
    .mainSwiper .swiper-slide .main_txt .main {padding-top: 8px;}
    .mainSwiper .swiper-slide .main_txt {top: initial; bottom: 320px;}
    .mainSwiper .swiper_control {top: initial; bottom: 250px;}
    .main_menu a dl {align-items: center;}
    .main_menu dl dd {align-items: center;}


    /* 공고 */
    .apply .flex {padding-bottom: 40px; align-items: flex-end;}
    .apply .flex .more_btn {display: block;}

    .apply .main_title .main {padding: 10px 0 0;}
    .apply_con {width: 33.33%;}
    .apply_con .apply_info ul {row-gap: 0;}
    .apply_con .apply_info li {font-size: 15px; line-height: 1.5;}
    .apply_con:nth-of-type(4) {border-top: 1px solid #e5e5e5;}
    .apply_con:nth-of-type(4n) {border-right: 1px solid #e5e5e5;}
    .apply_con:nth-of-type(3n) {border-right: none;}
    .apply_con:nth-of-type(6) {border-bottom: 1px solid #e5e5e5}
    .apply_list + .more_btn {display: block; margin: 30px auto 0; width: max-content;}

    


    /* 직무소개 */
    .work .main_title {padding-bottom: 60px;}
    .work_con dt {font-size: 14px;}
    .work_con dd br {display: none;}
    .work_con {aspect-ratio: initial; border-radius: 12px; flex-direction: row; justify-content: space-between; align-items: center;}
    .work_con i {position: relative; bottom: initial; right: initial;}
    .work_box:last-child .work_con i {width: 12%; min-width: 50px;}
    .work_box {grid-template-columns: 1fr 1fr;}

    /* 회사소개 */
    .about .flex {padding-bottom: 60px;}
    .about_list {gap: 20px;}
    .about_list + .more_btn {display: block; width: max-content; margin: 60px auto 0;}
    .about_con .thumb {border-radius: 12px; aspect-ratio: 3 / 2;}


    /* 바로가기 */
    .quick_con {padding: 20px; border-radius: 12px;}
    .quick_wrap {gap: 40px; flex-direction: column;}
    .quick_vid {width: 48%; aspect-ratio: 2 / .6; border-radius: 12px;}
    .quick_con {width: 25%; justify-content: space-between;}
    .quick_list {width: 100%; padding-left: 0;}
    .quick_wrap .flex {width: 100%;}
}




@media screen and (max-width: 750px) {
    .more_btn {padding: 10px 25px;}

    .flex.hr {justify-content: center;}
    .main_title {align-items: center; width: 100%;}
    .main_title span {text-align: center;}
    .main_title .main {text-align: center; padding: 15px 0;}
    .main_title .sub br {display: none;}


    /* 메인비주얼 */
    .main_menu a {padding: 30px 20px; background-color: #00000050;}
    .mainSwiper div[class*="move_"] {width: 25px !important; height: 25px !important;}
    .swiper-pagination-fraction {margin: 0; font-size: 16px;}
    .pagination_progress {width: 100px !important;}
    .main_menu dl dt {line-height: 1.6; width: 100%; text-align: left;}


    /* 공고 */
    .apply_con .apply_info li {font-size: 14px;}
    .apply_con {width: 100%;}
    .apply_con:nth-of-type(2), .apply_con:nth-of-type(3) {border-top: 1px solid #e5e5e5;}
    .apply_con:nth-of-type(6) {border-bottom: none;}
    .apply_con {border-right: none !important; padding: 20px;}
    .apply .flex .more_btn {display: none;}
    /* .apply_list + .more_btn {display: block;} */
    .apply > .more_btn {display: block; width: max-content; margin: 20px auto 0;}




    /* 직무소개 */
    .work {background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/work_bg_mo1.jpg) no-repeat top right/cover;}
    .work .main_title {align-items: flex-start; padding-bottom: 40px;}
    .work .main_title .main {text-align: left;}
    .work_list {flex-direction: column-reverse;}
    .work_box:first-child {grid-template-columns: 1fr;}
    .work_box:last-child .work_con i {width: 50px; max-height: 50px !important; min-width: initial;}
    .work_con {padding: 20px;}


    /* 회사소개 */
    .about .main_title .sub {text-align: center;}
    .about .flex {padding-bottom: 60px;}
    .about_list {grid-template-columns: 1fr 1fr; row-gap: 30px;}
    .about_con .thumb {aspect-ratio: 2 / .8; position: relative;}
    .about_con .thumb::after {content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, transparent, #00000070);}
    .about_con {position: relative;}
    .about_con .about_tit {position: absolute; bottom: 0; left: 0; padding: 20px;}
    .about_list + .more_btn {margin: 30px auto 0;}


    /* 바로가기 */
    .quick_list {row-gap: 15px;}
    .quick_vid {width: 100%; aspect-ratio: 2 / .5;}
    .quick_con {width: 49%; gap: 0; flex-direction: row; }
    .quick .main_title .sub {text-align: center;}
    .quick_con dl {width: auto;}
}



@media screen and (max-width: 550px) {
    .sect_space {padding: 100px 0;}

    .main_menu div[class*="move_"].wh {display: none;}


    /* 직무소개 */
    .work {background: url(https://d23vac1awk897o.cloudfront.net/static/img/main/work_bg_mo2.jpg) no-repeat top right/cover;}
    .work_list {gap: 15px;}
    .work_box {grid-template-columns: 1fr; gap: 15px;}


    /* 회사소개 */
    .about_list {grid-template-columns: 1fr; row-gap: 20px;}
    .about .flex {padding-bottom: 40px;}


    /* 바로가기 */
    .quick_con {width: 100%;}
    .quick_vid {aspect-ratio: 2 / .5;}
}





@media screen and (max-width: 350px) {
    .main_menu a dl {flex-direction: column; align-items: flex-start; gap: 5px;}
    .main_menu a:last-child dl {gap: 0; align-items: center; justify-content: center; height: 100%;}
    .main_menu a {align-items: flex-start; padding: 20px 16px;}
    .mainSwiper .swiper-slide .main_txt {bottom: 350px;}
    .mainSwiper .swiper_control {bottom: 280px;}
}
