/* 서브 공통 */
body{ overflow-x: hidden; }
#sub{ overflow-x: hidden; }

#sub .sub_visual{ height: 550px; position: relative; border-radius: 0 0 40px 40px; overflow: hidden;  }
#sub .sub_visual .img{ height: 100%; width: 100%; position: relative; } 
#sub .sub_visual .img img{ display: block; height: 100%; width: auto !important; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
#sub .sub_visual .txt{ position: absolute; left: 50%; top: 55%; transform: translate(-50%,-50%); text-align: center; }
#sub .sub_visual .txt strong{ display: inline-block; padding: 14px 50px; border-radius: 100px; background-color: rgba(255,255,255,0.2); backdrop-filter: blur(14px); font-size: 60px; font-weight: 700; color: #fff; letter-spacing: -1px; }
#sub .sub_visual .txt p{ margin-top: 30px; display: flex; align-items: center; gap: 16px; font-size: 36px; font-weight: 700; color: #fff; justify-content: center;  }

#sub .sub_visual .txt strong{ transform: translateY(40px); opacity: 0; transition: transform 1s, opacity 1s; }
#sub .sub_visual.on .txt strong{ transform: translateY(0); opacity: 1; }

#sub .sub_visual .txt p{ transform: translateY(40px); opacity: 0; transition: transform 1s, opacity 1s; transition-delay: .2s; }
#sub .sub_visual.on .txt p{ transform: translateY(0); opacity: 1; }

#sub .sub_visual .img img{ transform:translate(-50%,-50%) scale(1.1); transition: transform 3s; }
#sub .sub_visual.on .img img{ transform:translate(-50%,-50%) scale(1);  }


#sub .s_tit{ text-align: center; margin-bottom: 30px; }
#sub .s_tit em{ display: block; font-size: 20px; font-weight: 700; color:003DAE; letter-spacing: -1px; margin-bottom: 20px; }
#sub .s_tit strong{ display: block; font-size: 40px; font-weight: 700; color: #1f1f1f; letter-spacing: -1px; }
#sub .s_tit p{ font-size: 24px; line-height: 1.6em; color: #595959; letter-spacing: -1px; margin-top: 40px; }
#sub .s_tit .st2{ font-size: 30px; color: #fff; margin-top: 0; }

#sub .s_tit .st3{ font-size: 34px; color: #000; margin-top: 0; }

/* intro */
#sub.intro .con01 .box{  position: relative; padding-top: 165px; } 
#sub.intro .con01 .box:before{ content:""; display: block; width: 350px; height: 350px; background: url('/img/sub/intro_bg.png') center center no-repeat; position: absolute; left: -105px; top: 0; z-index: -1; }
#sub.intro .con01 .box strong{ display: block; font-family: "DM Sans", sans-serif; font-size: 80px; font-weight: 700; color: #1f1f1f; line-height: 1.1em; letter-spacing: -1px; }
#sub.intro .con01 .wrap{ margin-top: 135px; display: flex; gap: 60px; }
#sub.intro .con01 .wrap dl{ width: calc(33.33333% - 20px); }
#sub.intro .con01 .wrap dl dt{ font-size: 20px; font-weight: 700; color: #1f1f1f; line-height: 1.3em; word-break: keep-all; margin-bottom: 15px; }
#sub.intro .con01 .wrap dl dd{ font-size: 17px; line-height: 1.4em; letter-spacing: -1px; color: #595959; word-break: keep-all; }

#sub.intro .con02{ background: url('/img/sub/intro_bg2.jpg') center center no-repeat; background-size: cover; border-radius: 40px; padding: 80px 0; }
#sub.intro .con02 .inner{ display: flex; gap: 40px; flex-flow: column; }
#sub.intro .con02 .box{ border-radius: 999px;background-color: #fff; border: 1px solid rgba(0,61,174,0.2); overflow: hidden; display: flex; align-items: center; flex-flow: row-reverse; justify-content: space-between; box-shadow: 0 4px 48px rgba(172,196,215,0.1); }
#sub.intro .con02 .box .img{ width: 580px; }
#sub.intro .con02 .box .img img{ width: 100%; display: block; border-radius: 999px; }
#sub.intro .con02 .box .txt { padding-left: 80px; }
#sub.intro .con02 .box .txt .tit{ display: flex; align-items: center; gap: 16px; margin-bottom: 25px; }
#sub.intro .con02 .box .txt .tit strong{ font-size: 36px; font-weight: 700; color: #000; }
#sub.intro .con02 .box .txt p{ font-size: 24px; line-height: 1.6em; color: #000; letter-spacing: -1px; }


#sub.intro .con02 .box:nth-child(2){ flex-flow: row; }
#sub.intro .con02 .box:nth-child(2) .txt{ padding-left: 0; padding-right: 80px; text-align: right; }
#sub.intro .con02 .box:nth-child(2) .txt .tit{ flex-flow: row-reverse; }

#sub.intro .con03 .list{ display: flex; gap: 33px; }
#sub.intro .con03 .list  > div{ width: 25%; }
#sub.intro .con03 .list img{ display: block; width: 100%; border-radius: 12px; box-shadow: 0 0 20px rgba(0,0,0,0.1); }


/*history*/
#sub.history .sub_con{ padding-bottom: 130px; }
#sub.history .y_box .inner{ display: flex; align-items: center; }
#sub.history .y_box .year{ width: 50%; display: flex; justify-content: space-between; align-items: center; padding-right: 100px; position: relative; }
#sub.history .y_box .year:before{ content:""; display: block; width: 300%; height: 358px; border-radius: 0 999px 999px 0; background-color: #FBFCFD; position: absolute; right: 150px; top: 50%; transform: translate(0,-50%); z-index: -1; }
#sub.history .y_box:nth-child(even) .year:before{ border-radius: 999px 0 0 999px; background-color: #FBFCFD; position: absolute; left: 150px; top: 50%; transform: translate(0,-50%); z-index: -1; }


#sub.history .y_box .list{ width: 50%; }
#sub.history .y_box .year .txt em{ display: block; font-size: 20px; font-weight: 500; color: #1f1f1f; }
#sub.history .y_box .year .txt strong{ display: block; font-size: 80px; font-weight: 700; color: #003DAE; }
#sub.history .y_box .year .dots{ gap: 18px; }
#sub.history .y_box .year .dots span{ width: 15px; height: 15px; }
#sub.history .y_box .list{ display: flex; flex-flow: column; gap: 16px; }
#sub.history .y_box .list dl{ display: flex; gap: 15px; }
#sub.history .y_box .list dl dt{ width: 30px; font-size: 20px; font-weight: 600; line-height: 1.5em;text-align: center; }
#sub.history .y_box .list dl dd{ font-size: 19px; color: #304c58; line-height: 1.5em; word-break: break-all; text-align: left; width: calc(100% - 45px); word-break: keep-all}

#sub.history .y_box:nth-child(2n) .inner{ flex-flow: row-reverse; }
#sub.history .y_box:nth-child(2n) .year{ flex-flow: row-reverse; padding-right: 0; padding-left: 100px; }
#sub.history .y_box:nth-child(2n) .year .txt{ text-align: right; }
#sub.history .y_box:nth-child(2n) .list dl{ flex-flow: row-reverse; }
#sub.history .y_box:nth-child(2n) .list dl dd{ text-align: right; }

/* business */
#sub.business{ background-color: #1F1F1F; }
#sub.business .s_tit strong{ color: #fff; }
#sub.business .s_tit p{ font-weight: 400; color: #fff; }
#sub.business .s_tit{ margin-bottom: 60px; }
#sub.business .con01 .box{ display: flex; align-items: center; justify-content: space-between; }
#sub.business .con01 .box{ margin-bottom: 14px; }
#sub.business .con01 .box:last-child{ margin-bottom: 0;  }

#sub.business .con02{ border-radius: 40px; background-color: #111; }
#sub.business .con02 .list{ display: flex; flex-flow: wrap; gap: 20px; }
#sub.business .con02 .list > div{ width: calc(50% - 10px); border-radius: 99px; height: 76px; background-color: #003DAE; display: flex; justify-content: center; align-items: center; text-align: center; }
#sub.business .con02 .list > div p{  font-size: 17px; color: #fff; font-weight: 500; line-height: 1.5em; letter-spacing: -1px; }
#sub.business .con02 .step{ display: flex; align-items: center; justify-content: space-between; margin-top: 70px; }
#sub.business .con02 .step ul{ width: 305px; height: 408px; border-radius: 40px; background-color: #2b2b2b; padding: 0 18px; }
#sub.business .con02 .step ul li{ height: 25%; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 17px; line-height: 1.5em; letter-spacing: -1px; color: #fff; border-bottom: 1px solid rgba(255,255,255,0.1); }

#sub.business .con02 .step ul li:last-child{ border-bottom: none; }

#sub.business .con03 .s_tit{ margin-bottom: 40px; }
#sub.business .con03 .inner{ display: flex; flex-flow: column; gap: 80px; }
#sub.business .con03 .img2{ display: flex; gap: 20px; }
#sub.business .con03 .img2 > div{ width: 33.333333%; }
#sub.business .con03 .img2 img{ display: block; width: 100%; }
#sub.business .con03 .box2{ display: flex; gap: 20px;}
#sub.business .con03 .box2 .wrap{ width: 50%; }

#sub.business .con04{ padding-top: 0 !important; }
#sub.business .con04 .s_tit{ margin-bottom: 30px; }
#sub.business .con04 .inner{ display: flex; justify-content: space-between; align-items: center; }
#sub.business .con04 .inner .box{ width: 305px; }
#sub.business .con04 .inner svg{ margin-top: 90px; }

#sub.business .con05{ padding-top: 0 !important; }
#sub.business .con05 .s_tit{ margin-bottom: 40px; }
#sub.business .con05 .img{ display: flex; gap: 20px; }
#sub.business .con05 .img > div{ width: calc(33.33333% - 13.33333333px); }

#sub.business .con06{ padding-top: 0 !important; }
#sub.business .con06 .s_tit{ margin-bottom: 40px; }
#sub.business .con06 .step{ display: flex; justify-content: space-between; }
#sub.business .con06 .step > div{ width: 305px; }
#sub.business .con06 .step > svg{ transform: translateY(160px); }
#sub.business .con06 .step strong{ display: block; font-size: 16px; font-weight: 500; color: #fff; text-align: center; border-radius: 50px; background-color: #003DAE; padding: 10px 0; margin-bottom: 28px; }
#sub.business .con06 p{ margin-top: 20px; min-height: 40px; font-size: 14px; line-height: 1.4em; color: #fff; text-align: center; }



#sub.business .sp1{ display: inline-block; padding: 8px 20px; border-radius: 50px; background-color: #003DAE; color: #fff; font-size: 20px; font-weight: 600; margin-bottom: 55px; }


#sub.bs02 .con02{ background-color: transparent; }
#sub.bs02 .con02 .wrap{ display: flex; gap: 28px; }
#sub.bs02 .con02 .wrap > div{ width: calc(50% - 14px); }
#sub.bs02 .con02 .wrap > div .txt{ padding-top: 40px; text-align: center; }
#sub.bs02 .con02 .wrap > div .txt .dl_box{ display: flex; gap: 32px; flex-flow: column; min-height: 325px; margin-bottom: 40px; }
#sub.bs02 .con02 .wrap > div .txt .dl_box dt{ font-size: 18px; font-weight: 600; color: #fff; letter-spacing: -0.6px; line-height: 1.8em; }
#sub.bs02 .con02 .wrap > div .txt .dl_box dd{ font-size: 18px; font-weight: 400; color: #fff; letter-spacing: -0.6px; line-height: 1.8em; }
#sub.bs02 .con02 .wrap > div .txt p{ font-size: 17px; color: rgba(255,255,255,0.6); line-height: 1.8em; letter-spacing: -0.6px; word-break: keep-all; 0 20px; height: 195px; border-radius: 10px; background-color: #262626; display: flex; justify-content: center; align-items: center; padding: 0 26px; }
#sub.bs02 .con02 .wrap{ margin-bottom: 80px; }
#sub.bs02 .con02 .wrap:last-child > div .txt p{ height: 354px; }

#sub.bs02 .con03{ background-color: #111; }
#sub.bs02 .con03 .s_tit .dots{ justify-content: center; }
#sub.bs02 .con03 .s_tit p{ font-size: 20px; font-weight: 500; color: rgba(255,255,255,0.5); }
#sub.bs02 .con03 .s_tit p span{ display: block; }

#sub.bs03 .con01 .box2 { border-radius: 40px; border: 1px solid #393939; background-color: #262626; padding: 55px 0; }
#sub.bs03 .con01 .box2 ul{ display: flex; flex-flow: wrap; justify-content: center; align-items: center; }

#sub.bs03 .con01 .inner > .dots{ align-items: center; margin: 32px 0; }
#sub.bs03 .con01 .wrap{ margin-top: 64px; display: flex; flex-flow: wrap; gap: 100px 30px; }
#sub.bs03 .con01 .wrap .box{ display: flex; flex-flow: column; gap: 32px; width: calc(50% - 15px); }
#sub.bs03 .con01 .wrap .box .txt{ text-align: center; }
#sub.bs03 .con01 .wrap .box .txt span{ margin-bottom: 40px; }
#sub.bs03 .con01 .wrap .box .txt p{ font-size: 18px; line-height: 1.8em; color: #fff; font-weight: 600; letter-spacing: -0.6px; }

#sub.bs03 .con01 .dev{ margin-top: 100px; }
#sub.bs03 .con01 .dev .dots{ justify-content: center; margin-bottom: 35px; }
#sub.bs03 .con01 .dev p{ font-size: 20px; font-weight: 700; color: rgba(255,255,255,0.5); line-height: 1.5em; text-align: center; margin-bottom: 50px; }

#sub.bs04 .info{ border-radius: 40px; background-color: #262626; border: 1px solid #393939; padding: 60px 20px; }
#sub.bs04 .info ul{ display: flex;  justify-content: space-between; width: 750px; margin: 0 auto; }
#sub.bs04 .info ul{ margin-bottom: 28px; }
#sub.bs04 .info ul:last-child{ margin-bottom: 0; }
#sub.bs04 .info dl{ display: flex; align-items: flex-start; gap: 10px; }
#sub.bs04 .info dl dt{ font-size: 20px; font-weight: 600; color: #fff; letter-spacing: -1px; background-color: #343434; border-radius: 50px; padding: 6px 20px; }
#sub.bs04 .info dl dd{ font-size: 20px; line-height: 1.8em; color: #fff; letter-spacing: -1px; }
#sub.bs04 .info > dl{ width: 750px; margin: 0 auto;margin-top: 70px;  }
#sub.bs04 .con01 .img2{ display: flex; gap: 30px; margin-top: 60px; }
#sub.bs04 .con01 .img2 > div{ width: calc(50% - 15px); }
#sub.bs04 .con01 .img2 > div > img{ width: 100%; display: block; }


#sub.bs04 .con05 ul{ display: flex; flex-flow: column; gap: 20px; margin: 60px 0; }
#sub.bs04 .con05 ul li{ font-size: 20px; font-weight: 400; color:#fff; line-height: 1.8em; letter-spacing: -1px; text-align: center; padding: 20px 8px; border-radius: 99px; background-color: #111111; border: 1px solid #393939; }

#sub.bs04 .con05 .img2{ display: flex; gap: 30px; margin-top: 60px; }
#sub.bs04 .con05 .img2 > div{ width: calc(33.33333333% - 20px); }
#sub.bs04 .con05 .img2 > div img{ width: 100%; display: block; }


#sub.bs05 .con02{ background-color: transparent; text-align: center; padding-top: 0 !important}
#sub.bs05 .con02 .inner > strong{ display: inline-block; font-size: 28px; font-weight: 700; color: #fff; letter-spacing: -1px; color: #fff; padding: 14px 40px; border-radius: 99px; background-color: #003DAE; margin-bottom: 40px; }
#sub.bs05 .con02 .dl_wrap { display: flex; flex-flow: column; gap: 20px; }
#sub.bs05 .con02 .dl_wrap dl{ display: flex; gap: 20px; height: 106px; }
#sub.bs05 .con02 .dl_wrap dl dt{ height: 100%; width: 293px; font-size: 20px; font-weight: 500; color: #fff; letter-spacing: -1px; line-height: 1.5em; background-color:343434; border-radius: 20px; display: flex; justify-content: center; align-items: center; }
#sub.bs05 .con02 .dl_wrap dl dd{ height: 100%; width: calc(100% - 303px); border-radius: 20px; background-color: #262626; display: flex; justify-content: center; align-items: center; color: #fff; font-size: 17px; font-weight: 500; letter-spacing: -1px; line-height: 1.5em; padding: 0 20px; word-break: keep-all; }




#sub.partner .con01 ul{ margin-top: 30px; display: flex; flex-flow: wrap; gap: 50px 33px; }
#sub.partner .con01 ul li{ width: calc(25% - 24.75px); box-shadow: 4px 4px 18px rgba(0,25,43,0.1); border-radius: 12px; overflow: hidden; }
#sub.partner .con01 ul li .txt{ padding: 16px 0; text-align: center; background-color: #fafafa; }
#sub.partner .con01 ul li .txt strong{ display: block; font-size: 18px; font-weight: 600; color: #1f1f1f;  word-break: keep-all}

#sub.recruit .position > div{ position: relative; }
#sub.recruit .position > div .txt{ position: absolute; width: 100%; left: 0; top: 50px; padding-left: 30px; padding-right: 30px; z-index: 1; }
#sub.recruit .position > div .txt strong{ font-size: 34px; line-height: 1.2em; color: #fff; font-weight: 700; display: block; margin-bottom: 30px; }
#sub.recruit .position > div .txt p{ font-size: 17px; font-weight: 400; color: #fff; letter-spacing: -1px; }

#sub.recruit .con01 .position{ display: flex; gap: 30px; flex-wrap: wrap}
#sub.recruit .con01 .position > div{ width: calc(33.333333% - 20px); overflow: hidden; border-radius: 20px; }
#sub.recruit .con01 .position > div img{ display: block; width: 100%; transition: transform .5s; }
#sub.recruit .con01 .position > div a:hover img{ transform: scale(1.05); }
#sub.recruit .con03{ background: url('/img/sub/intro_bg2.jpg') center center no-repeat; background-size: cover; border-radius: 40px; padding: 80px 0; }
#sub.recruit .con03 .inner{ display: flex; gap: 40px; flex-flow: column; }
#sub.recruit .con03 .box{ border-radius: 999px;background-color: #fff; border: 1px solid rgba(0,61,174,0.2); overflow: hidden; display: flex; align-items: center; flex-flow: row-reverse; justify-content: space-between; box-shadow: 0 4px 48px rgba(172,196,215,0.1); }
#sub.recruit .con03 .box .img{ width: 580px; }
#sub.recruit .con03 .box .img img{ width: 100%; display: block; border-radius: 999px; }
#sub.recruit .con03 .box .txt { padding-left: 80px; }
#sub.recruit .con03 .box .txt .tit{ display: flex; align-items: center; gap: 16px; margin-bottom: 25px; }
#sub.recruit .con03 .box .txt .tit strong{ font-size: 36px; font-weight: 700; color: #000; }
#sub.recruit .con03 .box .txt p{ font-size: 24px; line-height: 1.6em; color: #000; letter-spacing: -1px; }


#sub.recruit .con03 .box:nth-child(3){ flex-flow: row; }
#sub.recruit .con03 .box:nth-child(3) .txt{ padding-left: 0; padding-right: 80px; text-align: right; }
#sub.recruit .con03 .box:nth-child(3) .txt .tit{ flex-flow: row-reverse; }
#sub.recruit .con03 .s_tit p{ margin-top: 20px; }


.go_btn{ display: flex; justify-content: center; gap: 10px; margin-top: 80px; }
.go_btn a{ width: 214px; height: 64px; border-radius: 90px; background-color: #003DAE; display: flex; justify-content: center; align-items: center; font-size: 24px; font-weight: 600; color: #fff; letter-spacing: -1px; transition: background .3s; }
.go_btn button{ width: 214px; height: 64px; border-radius: 90px; background-color: #003DAE; display: flex; justify-content: center; align-items: center; font-size: 24px; font-weight: 600; color: #fff; letter-spacing: -1px; transition: background .3s; }

.go_btn a:hover{ background-color: #0B57E3; }
.go_btn button:hover{ background-color: #0B57E3; }

#sub.recruit .box2{ border-radius: 999px; border: 1px solid #dae0e7; background-color: #fbfcfd; padding: 70px 20px; display: flex; flex-flow: column; justify-content: center; align-items: center; gap: 30px; text-align: center; margin-bottom: 40px; position: relative; }
#sub.recruit .box2 strong{ font-size: 30px; font-weight: 700; color: #1f1f1f; letter-spacing: -1px; }
#sub.recruit .box2 p{ font-size: 20px; line-height: 1.8em; color: #000; letter-spacing: -1px; text-align: left; word-break: keep-all}
#sub.recruit .box2:last-child{margin-bottom: 0; }

#sub.recruit .go_btn2 a:last-child{ background-color: #ECECEC; color: #797979; }
#sub.recruit .box2:before{ content:""; display: block; width: 82px; height: 16px; background: url('/img/sub/re_dot1.png') center center no-repeat; position: absolute; left: -100px;; top: 50%; transform: translate(-100%,-50%); }
#sub.recruit .box2:after{ content:""; display: block; width: 82px; height: 16px; background: url('/img/sub/re_dot2.png') center center no-repeat; position: absolute; right: -100px; top: 50%; transform: translate(100%,-50%); }


#sub.location .con01 .map_w2{ width: 100%; position: relative; height: 585px; border-radius: 40px; overflow: hidden; margin-bottom: 40px; }
#sub.location .con01 .map_w2 .root_daum_roughmap{ width: 100%; height: 100%; }
#sub.location .con01 .map_w2 .root_daum_roughmap .wrap_map{ height: 100%; width: 100%; }
#sub.location .con01 .map_w2 .root_daum_roughmap .map_border{ display: none; }
#sub.location .con01 .txt{ display: flex; gap: 30px; }
#sub.location .con01 .txt dl{ border-radius: 999px; border: 1px solid #dae0e7; background-color: #fbfcfd; height: 178px; width: 70%; display: flex; align-items: center; justify-content: center; flex-flow: column; }
#sub.location .con01 .txt dl:last-child{ width: 30%; }
#sub.location .con01 .txt dl dt{ font-size: 30px; font-weight: 700; color: #1f1f1f; letter-spacing: -1px; margin-bottom: 7px; }
#sub.location .con01 .txt dl dd{ font-size: 18xp; color:5A6571; letter-spacing: -1px; }


#sub.form form ul{ display: flex; gap: 30px 40px; flex-flow: wrap; }
#sub.form form ul li{ width: calc(50% - 20px); }
#sub.form form ul li.fw{ width: 100%; }
#sub.form form ul li{ display: flex; gap: 20px; align-items: center; }
#sub.form form ul li label{ width: 70px; font-size: 18px; font-weight: 600; color: #1f1f1f; letter-spacing: -1px; position: relative }
#sub.form form ul li label span{ width: 5px; height: 5px; display: inline-block; border-radius: 50%; background-color: #003DAE; transform: translateY(-15px)}
#sub.form form ul li label + *{ width: calc(100% - 90px); }
#sub.form form ul li .i_box{ font-size: 18px; font-weight: 500; border-radius: 10px; border: 1px solid #dae0e7; background-color: #fbfcfd; height: 52px; padding-left: 20px; }

#sub.form form ul li .wrap{ display: flex; gap: 12px; width: calc(100% - 90px); }
#sub.form form ul li .wrap .i_box{ width: 100%; }

#sub.form form ul li select{ font-size: 18px; font-weight: 500; border-radius: 10px; border: 1px solid #dae0e7; background-color: #fbfcfd; height: 52px; padding-left: 20px; }

#sub.form form ul li textarea{ height: 265px !important; padding-top: 20px; }


#sub.form form ul li .wrap > div{ border-radius: 10px; border: 1px solid #dae0e7; background-color: #fbfcfd; height: 52px; padding-left: 20px; display: flex; align-items: center; width: 100%; }
#sub.form form ul li .file{position: relative; width: 100%; cursor: pointer; }
#sub.form form ul li .file:after{ content:""; display: block; width: 22px; height :22px; background: url('/img/sub/plus.png') center center no-repeat; position: absolute; right: 18px; top: 50%; transform: translate(0,-50%); }
#sub.form form ul li .file input{position: absolute;top: 0;left: 0;width: 100%;height: 100%;opacity: 0; cursor: pointer; z-index: 2; }
#sub.form form ul li .file > *{display: inline-block;vertical-align: middle}
#sub.form form ul li .file span{line-height: 60px;text-align: center;font-size: 18px;color: #000;width: 155px; font-weight: 600; position: relative; }
#sub.form form ul li .file p{font-size: 18px;color: #98ACBF;line-height: 39px;}
#sub.form .per_box{ margin-top: 60px; }
#sub.form .per_box > p{ border: 1px solid rgba(167,178,189,0.7); border-radius: 10px; height: 265px; padding: 20px; overflow-y: scroll; }

#sub.form .chk_w { display: flex; justify-content: center; margin-top: 30px; }
#sub.form .chk_w .chk{position: relative; display: flex; text-align: left; align-items: center; height: 24px; }
#sub.form .chk_w .chk input{width: 14px;height: 14px; top: 0; position: relative;margin-right: 10px;}
#sub.form .chk_w .chk p{color: #1f1f1f;font-size: 16px; font-weight: 600; }
#sub.form .chk_w .chk p span{ font-weight: 600; color:#003DAE; }
#sub.form .chk_w .chk input:after{content: '';display: inline-block;width: 14px;height: 14px;background: #fff url(/img/sub/chk.png);vertical-align: middle;position: absolute;left: 0; top: 0; background: #fff;width: 100%;height: 100%;}
#sub.form .chk_w .chk input:before{content: '';display: inline-block;width: 14px;height: 14px;background: #fff url(/img/sub/chk.png);vertical-align: middle;position: absolute;left: 0; top: 0; ;z-index: 3;width: 100%;height: 100%;background-size: 100% 100%}
#sub.form .chk_w .chk input:checked:before{background: url(/img/sub/chk_on.png);}

@media (min-width: 1920px){
    #sub .sub_visual.on .img img{ height: auto; width: 100% !important; }
}


@media (max-width: 1080px){
    #sub .sub_visual{ height: 400px; border-radius: 0 0 20px 20px; }
    #sub .sub_visual .txt strong{ padding: 8px 25px; font-size: 24px; }
    #sub .sub_visual .txt p{ margin-top: 15px; gap: 10px; font-size: 24px; }
    #sub .s_tit em{ font-size: 15px; margin-bottom: 8px; }
    #sub .s_tit strong{ font-size: 22px; }
    #sub .s_tit p{ font-size: 16px; margin-top: 20px; }
    #sub.intro .con01 .box{ padding-top: 60px; }
    #sub.intro .con01 .box strong{ font-size: 32px; }
    #sub.intro .con01 .box:before{ width :120px; height: 120px; left: -30px; background-size: 100% 100%; }
    #sub.intro .con01 .wrap{ margin-top: 40px; gap: 20px; }
    #sub.intro .con01 .wrap dl dt{ font-size: 16px; margin-bottom: 6px; }
    #sub.intro .con01 .wrap dl dd{ font-size: 14px; }
    #sub.intro .con02 .box .txt .tit strong{ font-size: 24px; }
    #sub.intro .con02 .box .txt p{ font-size: 16px;  }
    #sub.intro .con02 .box .txt .tit{ margin-bottom: 12px; }
    #sub.intro .con02 .box .txt{ padding-left: 50px; }
    #sub.business .con01 .box > div{ width: calc(50% - 15px); }
    #sub.business .con01 .box > div > img{ width: 100%; display: block; }
    #sub.business .con01 .box .dots{ width: 30px; justify-content: center;  }
    #sub .s_tit .st2{ font-size: 24px; }
    #sub.business .s_tit{ margin-bottom: 20px !important; }
    #sub.business .con02 .list > div{ padding: 0 12px; }
    #sub.business .con02 .step ul{ width: calc(33.333% - 20px); }
    #sub.business .con06 .step > div{ width: calc(33.333% - 20px); }
    #sub.business .con01 .box .img{ width: 100%; }
    #sub.business .con01 .box .txt{ width: 100%; }
    #sub.partner .con01 ul{ margin-top: 20px; gap: 20px; }
    #sub.partner .con01 ul li{ width: calc(25% - 15px) }
    #sub.partner .con01 ul li .txt strong{ font-size: 14px; }
    #sub.recruit .con03 .box .txt .tit strong{ font-size: 24px; }
    #sub.recruit .con03 .box .txt p{ font-size: 16px;  }
    #sub.recruit .con03 .box .txt .tit{ margin-bottom: 12px; }
    #sub.recruit .con03 .box .txt{ padding-left: 50px; }
    #sub.form form ul { gap: 30px; }
    #sub.form form ul li{ width: 100%; }
    #sub.form .chk_w{ margin-top: 12px; }
    #sub.business .con06 p{ word-break: keep-all; }
    #sub.business .con06 p br{ display: none; }
    #sub.bs03 .con01 .wrap .box{ align-items: flex-start; justify-content: flex-start; }
    #sub.bs03 .con01 .wrap .box .txt span{ margin-bottom: 20px; }
    #sub.bs03 .con01 .wrap .box .txt p{ font-size: 16px; line-height: 1.5em; font-weight: 500; word-break: keep-all; }
    
}

@media (max-width: 880px){
    #sub.intro .con02 .box{ flex-flow: column !important; gap: 20px !important; border: none; border-radius: 0; background-color: transparent; align-items: flex-start; }
    #sub.intro .con02 .box .img{ width: 100%; }
    #sub.intro .con02 .box .txt{ padding-left: 0; }
    #sub.intro .con02{ padding: 60px 0; border-radius: 20px; }
    #sub.intro .con02 .box:nth-child(2) .txt{ padding-left: 0; padding-right: 0; }
    #sub.intro .con02 .box:nth-child(2) .txt .tit{ flex-flow: row; }
    #sub.intro .con02 .box .txt p{ text-align: left; }
    #sub.intro .con03 .list{ gap: 15px; }
    #sub.history .y_box .list dl dt{ font-size: 16px; }
    #sub.history .y_box .list dl dd{ font-size: 16px; }
    #sub.history .y_box .year .txt em{ font-size: 14px; }
    #sub.history .y_box .year .txt strong{ font-size: 40px; }
    #sub.history .y_box .year .dots{ gap: 8px; }
    #sub.history .y_box .year .dots span{ width: 6px; height: 6px; }
    #sub.business .con05 .img{ width: 100%; }
    #sub.bs04 .info ul{margin-bottom: 15px; }
    #sub.bs04 .info ul{ gap: 8px; width: 100%; justify-content: flex-start; flex-flow: column; }
    #sub.bs04 .info > dl{ width: 100%; margin-top: 0; }
    #sub.bs04 .info ul{ margin-bottom: 10px }
    #sub.bs04 .info dl dt{ font-size: 16px; }
    #sub.bs04 .info dl dd{ font-size: 16px; }
    #sub.bs04 .info{ padding: 20px; border-radius: 20px; }
    #sub.bs04 .con01 .img2{ gap: 20px; margin-top: 30px; }
    #sub.bs04 .con01 .img2 > div{ width: 100%; }
    #sub.bs04 .con05 ul{ margin: 30px 0; gap: 8px; }
    #sub.bs04 .con05 ul li{ font-size: 16px; padding: 12px; word-break: keep-all; }
    #sub.bs04 .con05 .img2{ margin-top: 30px; gap: 20px; }
    #sub.bs04 .con05 .img2 > div{ width: 100%; }
    #sub.bs05 .con02 .dl_wrap dl dt{ width: 200px; font-size: 16px; border-radius: 12px; }
    #sub.bs05 .con02 .dl_wrap dl dd{     width: calc(100% - 200px); padding: 20px; word-break: keep-all; font-size: 16px; border-radius: 12px; }
    #sub.bs05 .con02 .inner > strong{ font-size: 20px; padding: 8px 30px; margin-bottom: 20px; }
    #sub.bs05 .con02 .dl_wrap{ gap: 10px; }
    #sub.bs05 .con02 .dl_wrap dl{ gap: 10px; }
    #sub.recruit .con03 .box{ flex-flow: column !important; gap: 20px !important; border: none; border-radius: 0; background-color: transparent; align-items: flex-start; }
    #sub.recruit .con03 .box .img{ width: 100%; }
    #sub.recruit .con03 .box .txt{ padding-left: 0; }
    #sub.recruit .con03{ padding: 60px 0; border-radius: 20px; }
    #sub.recruit .con03 .box:nth-child(2) .txt{ padding-left: 0; padding-right: 0; }
    #sub.recruit .con03 .box:nth-child(2) .txt .tit{ flex-flow: row; }
    #sub.recruit .con03 .box .txt p{ text-align: left; }
    #sub.recruit .con01 .position{ gap: 12px; }
    #sub.recruit .con01 .position > div{ width: 100%; }
    .go_btn{ margin-top: 30px; }
    .go_btn a{ font-size: 14px; width: auto; display: inline-block; padding: 14px 30px; height: auto; }
    .go_btn button{ font-size: 14px; width: auto; display: inline-block; padding: 14px 30px; height: auto; }
    #sub.recruit .box2 strong{ font-size: 20px; }
    #sub.recruit .box2 p{ font-size: 14px; line-height: 1.5em; }
    #sub.recruit .box2{ gap: 15px; padding: 40px 20px; }
    #sub.location .con01 .map_w2{ height: 400px; border-radius: 20px; }
    #sub.location .con01 .txt dl{ height: 120px; }
    #sub.location .con01 .txt dl dt{ font-size: 20px; }
    #sub.location .con01 .txt dl dd{ font-size: 14px; }
    #sub.location .con01 .txt{ gap: 12px; }
    #sub.form form ul li label{ font-size: 14px; }
    #sub.form form ul li .i_box{ font-size: 13px; height: 42px; padding-left: 15px; border-radius: 8px; }
    #sub.form form ul li select{ font-size: 13px; height: 42px; padding-left: 15px; border-radius: 8px; }
    #sub.form form ul{ gap :12px; }
    #sub.form form ul li .wrap > div{ font-size: 13px; height: 42px; padding-left: 15px; border-radius: 8px; }
    #sub.form form ul li .file p{ font-size: 13px; }
    #sub.form .per_box{ margin-top: 20px;  }
    #sub.form .per_box > p{ padding: 12px; font-size: 13px; height: 140px; }
    #sub.form .chk_w .chk input{ margin-right: 3px; }
    #sub.form .chk_w .chk p{ font-size: 13px; }
    #sub.recruit .position > div .txt{ top: 30px; padding: 0 20px; }
    #sub.recruit .position > div .txt strong{ font-size: 18px; margin-bottom: 10px; }
    #sub.recruit .position > div .txt p{ font-size: 13px; }
    #sub.recruit .con01 .position{ width: 100%; flex-flow: wrap; gap: 20px; }
    #sub.recruit .con01 .position > div{ width: calc(50% - 10px); }
    #sub.bs02 .con02 .wrap > div .txt .dl_box dd br{ display: none; }
    #sub.bs02 .con02 .wrap > div .txt .dl_box dd{ font-size: 16px; line-height: 1.5em; word-break: keep-all; }
    #sub.bs02 .con03 .s_tit p{ font-size: 16px; font-weight: 500; word-break: keep-all; }
    #sub.business .con06 .step strong{ font-size: 14px; }
}

@media (max-width: 640px){
    #sub.business .con06 .step svg{ margin: 0 auto; }
    #sub.intro .con01 .box strong{ font-size: 24px; }
    #sub.intro .con01 .wrap{ flex-flow: column; margin-top: 20px; gap: 12px; }
    #sub.intro .con01 .wrap > dl{ width: 100%; }
    #sub .s_tit strong{ font-size: 18px; }
    #sub .s_tit p{ margin-top: 8px; font-size: 13px; }
    #sub .sub_visual{ height: 320px; }
    #sub .sub_visual .txt p{ font-size: 20px; }
    #sub.intro .con02 .inner{ gap: 20px; }
    #sub.intro .con02 .box{ gap: 10px !important; }
    #sub.intro .con02 .box .txt .tit { gap: 8px; }
    #sub.intro .con02 .box .txt .tit strong{ font-size: 18px; }
    #sub.intro .con02 .box .txt .tit p{ font-size: 13px;  }
    #sub.intro .con02 .box .txt .tit{ margin-bottom: 6px; }
    #sub.intro .con02 .box .txt p br{ display: none; }
    #sub.intro .con03 .list{ flex-flow: wrap; gap: 12px; }
    #sub.intro .con03 .list > div{ width: calc(50% - 6px); }
    #sub.history .y_box .list dl dd{ font-size: 14px }
    #sub.history .y_box .list dl dt{ font-size: 14px; }
    #sub.history .y_box .list{ gap: 12px; }
    #sub.history .y_box .year .txt strong{ font-size: 24px; }
    #sub.history .y_box .year{ flex-flow: column; gap: 8px; align-items: flex-start; padding-right: 0; }
    #sub.history .y_box .inner{ flex-flow: column; align-items: flex-start; gap: 20px;}
    #sub.history .y_box .year{ width: 100%; }
    #sub.history .y_box .list{ width: 100%;  }
    #sub.history .history_wrap{ display: flex; flex-flow: column; gap: 40px; }
    #sub.history .y_box:nth-child(2n) .year{ flex-flow: column; text-align: left; padding-left: 0;  }
    #sub.history .y_box:nth-child(2n) .year .txt{ text-align: left;  }
    #sub.history .y_box:nth-child(2n) .inner{ flex-flow: column; }
    #sub.history .y_box:nth-child(2n) .list dl{ flex-flow: row; }
    #sub.history .con_w{ padding: 0; padding-top: 50px; }
    #sub.history .con02{ padding-top: 0; }
    #sub.history .sub_con{ padding-bottom: 60px; }
    #sub.business .con02 .list { gap: 8px; }
    #sub.business .con02 .list > div{ width: 100%; height: auto; padding: 8px; }
    #sub.business .con02 .list > div p{ font-size: 13px; }
    #sub .s_tit .st2{ font-size: 18px; }
    #sub.business .con02 .step ul li{ font-size: 13px; height: auto; padding: 8px; }
    #sub.business .con02 .step{ flex-flow: column; gap: 10px; }
    #sub.business .con02 .step ul{ width: 100%; height: auto; border-radius: 12px; padding: 10px; }
    #sub.business .con02 .step{ margin-top: 20px; }
    #sub.business .con02{ border-radius: 20px; }
    #sub.business .con03 .img2{ gap: 10px; }
    #sub.business .con03 .box2{ gap: 10px; }
    #sub .s_tit .st2{ font-size: 16px; font-weight: 500; }
    #sub.business .con03 .box2{ gap: 20px; flex-flow: column; }
    #sub.business .s_tit{ margin-bottom: 10px !important; }
    #sub.business .con03 .box2 .wrap{ width: 100%; }
    #sub.business .con04 .inner { flex-flow: column; gap: 10px; }
    #sub.business .con04 .inner .box{ width: 100%; }
    #sub.business .con04 .inner svg{ margin-top: 0; transform: rotate(90deg); }
    #sub.business .con05 .img{ gap: 10px; }
    #sub.business .con05 .img > div{ width: 100%; }
    #sub.business .con06 .step strong{ font-size: 13px; margin-bottom: 12px;  }
    #sub.business .con06 .step > div{ width: 100%; }
    #sub.business .con06 .step{ flex-flow: column; gap: 20px; }
    #sub.business .con06 p{ height: auto; min-height: auto; }
    #sub.business .con06 .step svg{ transform: rotate(90deg); }
    #sub .sub_visual .txt p{ width: 100%; }
    #sub .sub_visual .txt{ width: 100%; }
    #sub.bs02 .con03 .s_tit p{ font-size: 14px; word-break: keep-all; }
    #sub.business .con03 .inner{ gap: 20px; }
    #sub.business .sp1{ font-size: 14px; margin-bottom: 12px; }
    #sub.bs02 .con02 .wrap > div .txt{ padding-top: 15px; }
    #sub.bs02 .con02 .wrap > div .txt .dl_box dt{ font-size: 13px; }
    #sub.bs02 .con02 .wrap > div .txt .dl_box dd{ font-size: 13px; word-break: keep-all; }
    #sub.bs02 .con02 .wrap > div .txt .dl_box dd br{ display: none; }
    #sub.bs02 .con02 .wrap > div .txt .dl_box{ gap: 8px; margin-bottom: 10px; min-height: 220px; }
    #sub.bs02 .con02 .wrap > div .txt p{  font-size: 13px; line-height: 1.5em; word-break: keep-all; }
    #sub.bs03 .con01 .box2 img{ width: 100px; }
    #sub.bs03 .con01 .box2{ padding: 20px; border-radius: 20px; }
    #sub.bs03 .con01 .wrap{ gap: 20px 20px; margin-top: 30px; }
    #sub.bs03 .con01 .wrap .box{ width: calc(50% - 10px); gap: 12px; justify-content: flex-start; }
    #sub.bs03 .con01 .wrap .box .txt span{ margin-bottom: 12px; }
    #sub.bs03 .con01 .wrap .box .txt p{ font-size: 13px; font-weight: 500; }
    #sub.bs03 .con01 .box{ margin-bottom: 0; }
    #sub.bs03 .con01 .dev p{ font-size: 13px; font-weight: 500; word-break: keep-all; margin-bottom: 20px; }
    #sub.bs03 .con01 .dev .dots{ margin-bottom: 12px; }
    #sub.bs03 .con01 .dev{ margin-top: 40px; }
    #sub.bs04 .info dl { flex-flow: column; gap: 3px; }
    #sub.bs04 .info dl dt{ font-size: 13px; }
    #sub.bs04 .info dl dd{ font-size: 13px; width: 100%; }
    #sub.bs04 .con05 ul{ margin: 12px 0; }
    #sub.bs04 .con05 ul li{ font-size: 13px; padding: 8px 20px; line-height: 1.5em; }
    #sub.bs04 .con05 .img2{ margin-top: 20px; }
    #sub.bs04 .con05 .img2{ gap: 10px; }
    #sub.bs05 .con02 .dl_wrap dl{ flex-flow: column; }
    #sub.bs05 .con02 .dl_wrap dl dt{  width: 100%; font-size: 13px; height: 34px; }
    #sub.bs05 .con02 .dl_wrap dl dd{ font-size: 13px; width: 100%; }
    #sub.bs05 .con02 .inner > strong{ font-size: 15px; font-weight: 500; }
    #sub.partner .con01 ul li{ width: calc(50% - 10px); }
    #sub.partner .con01 ul li .txt strong{ font-size: 13px; }
    #sub.recruit .con03 .inner{ gap: 20px; }
    #sub.recruit .con03 .box{ gap: 10px !important; }
    #sub.recruit .con03 .box .txt .tit { gap: 8px; }
    #sub.recruit .con03 .box .txt .tit strong{ font-size: 18px; }
    #sub.recruit .con03 .box .txt .tit p{ font-size: 13px;  }
    #sub.bs05 .con02 .dl_wrap dl{ height: auto; }
    #sub.recruit .con03 .box .txt .tit{ margin-bottom: 6px; }
    #sub.recruit .con03 .box .txt p br{ display: none; }
    #sub .s_tit .st3{ font-size: 18px; }
    #sub.recruit .con03 .s_tit p{ margin-top: 4px; word-break: keep-all; }
    .go_btn { margin-top: 20px; }
/*    #sub.recruit .con01 .position{ flex-flow: column; width: 60%; margin: 0 auto; }*/
    #sub.recruit .box2{ gap: 8px; margin-bottom: 20px;border-radius: 20px; padding: 20px; }
    #sub.recruit .box2 strong{ font-size: 16px; }
    #sub.recruit .box2 p{ font-size: 13px; word-break: keep-all; }
    #sub.location .con01 .txt{ flex-flow: column; gap: 5px; }
    #sub.location .con01 .txt dl{ width: 100% !important;  border-radius: 12px; height: auto; padding: 20px; }
    #sub.location .con01 .txt dl dt{ margin-bottom: 4px; font-size: 14px; }
    #sub.location .con01 .txt dl dd{ font-size: 13px; word-break: keep-all; text-align: center; line-height: 1.5em; }
    #sub.location .con01 .map_w2{ height: 280px; margin-bottom: 12px; }
    #sub.form form ul li{ flex-flow: column; gap: 6px; align-items: flex-start; }
    #sub.form form ul li label{ width: 100%; }
    #sub.form form ul li label + *{ width: 100%; }
    #sub.form form ul li .wrap{ width: 100%; }
    #sub.form form ul li .wrap2{ flex-flow: column; gap: 4px; }
    #sub.history .y_box .year:before{ display: none !important; }
    #sub.history .y_box:nth-child(2n) .list dl dd{ text-align: left; }
    #sub.form form ul li label span{ transform: translateY(-10px)}
}


@media (max-width: 540px){
    #sub.bs02 .con02 .wrap{ gap: 20px; flex-flow: column; }
    #sub.bs02 .con02 .wrap > div{ width: 100%; }
    #sub.bs02 .con02 .wrap > div .txt .dl_box{ min-height: auto; }
    #sub.bs02 .con02 .wrap > div .txt p{ padding: 15px; height: auto; }
    #sub.bs02 .con02 .wrap{ margin-bottom: 40px; }
    #sub.bs02 .con02 .wrap:last-child > div .txt p{ padding: 15px; height: auto; }
    #sub.bs03 .con01 .wrap{ gap: 20px; flex-flow: column; }
    #sub.bs03 .con01 .wrap .box{ width: 100%; }
    #sub.bs03 .con01 .wrap .box .txt span{ margin-bottom: 6px; }
}



