@charset "utf-8";

.template_btn {display:flex; justify-content:space-between; align-items:center; width:170px; height:50px; background:#0466c8; border-radius:25px; font-size:1em; color:#fff; font-weight:700; font-family:'Play'; padding:0 25px 0 40px; transition:all 0.5s; transition-property:background, color;}
.template_btn:after {content:'\2b'; font-size:0.875em; font-weight:400; font-family:'Font Awesome 6 Pro'}
.template_btn:hover {background:#055aaf}
.template_btn.white {background:none; border:2px solid #fff; color:#fff;}
.template_btn.white:hover {background:#fff; color:#055aaf}

@media screen and (max-width:1024px){
    .template_btn {width:150px; height:45px; padding:0 15px 0 20px;}
}

@media screen and (max-width:767px){
    .template_btn {width:125px; height:38px; padding:0 10px 0 15px;}
}


/* header */
#theme0101_header {width:100%; height:85px; border-bottom:1px solid rgba(255,255,255,0.3); position:fixed; left:0; top:0; z-index:300; transition:all 0.5s; transition-property:background, border;}

#theme0101_logo {float:left; width:164px; height:44px; margin-top:20px; transition:all 0.5s; transition-property:background;}
#theme0101_logo a {display:block; width:100%; height:100%;}
#theme0101_logo a img {max-width:100%; max-height:100%;}
#theme0101_logo a img.bl {display:none;}
#theme0101_logo a img.wh {display:block;}

#theme0101_gnb {float:right; position:relative;}
#theme0101_gnb > ul > li {float:left; position:relative;}
#theme0101_gnb > ul > li > a {display:block; font-size:1.125em; color:#fff; line-height:85px; font-weight:600; padding:0 35px; transition:all 0.5s; transition-property:color;}
#theme0101_gnb > ul > li > ul {width:160px; position:absolute; left:50%; top:100%; transform:translateX(-50%); opacity:0; visibility:hidden; transition:all 0.2s; transition-property:opacity, visibility; transition-delay:0.2s}
#theme0101_gnb > ul > li > ul > li {margin-bottom:1px; opacity:0; visibility:hidden; transform:translateY(30%); transition:all 0.5s; transition-property:opacity, visibility, transform;}
#theme0101_gnb > ul > li > ul > li > a {display:block; width:100%; background:rgba(25,25,25,0.8); font-size:1em; color:#fff; line-height:1.5em; text-align:center; padding:10px;}

#theme0101_gnb > ul > li:hover > ul {opacity:1; visibility:visible; transition-delay:0s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(2) {transition-delay:0.1s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(3) {transition-delay:0.2s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(4) {transition-delay:0.3s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(5) {transition-delay:0.4s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(6) {transition-delay:0.5s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(7) {transition-delay:0.6s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(8) {transition-delay:0.7s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(9) {transition-delay:0.8s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(10) {transition-delay:0.9s;}
#theme0101_gnb > ul > li:hover > ul > li:nth-child(11) {transition-delay:1s;}
#theme0101_gnb > ul > li:hover > ul > li {opacity:1; visibility:visible; transform:translateY(0);}

#all_gnb {display:flex; justify-content:center; align-items:center; width:100%; height:100vh; background:#0466c8; position:fixed; left:0; top:0; z-index:310; opacity:0; visibility:hidden; transition:all 0.5s; transition-property:opacity, visibility;}
#all_gnb > div {overflow:hidden;}
#all_gnb h2 {float:left; font-size:3.125em; color:#fff; line-height:1.5em; font-weight:700; font-family:'Play'}
#all_gnb > div > ul {display:flex; width:100%; clear:both; padding-top:30px;}
#all_gnb > div > ul > li {width:25%; border-right:1px solid rgba(255,255,255,0.2); padding:0 20px;}
#all_gnb > div > ul > li:first-child {border-left:1px solid rgba(255,255,255,0.2)}
#all_gnb > div > ul > li > a {display:block; font-size:1.625em; color:#fff; font-weight:600; margin-bottom:10px;}
#all_gnb > div > ul > li > ul > li > a {display:block; font-size:1.125em; color:rgba(255,255,255,0.8); line-height:1.5em; padding:10px 0;}

#menuOpen {float:right; display:block; width:35px; height:20px; margin-left:65px; position:relative; margin-top:33px;}
#menuOpen span {display:block; width:100%; height:2px; background:#fff; position:absolute; right:0; transition:all 0.5s; transition-property:background;}
#menuOpen span:nth-child(1) {top:0;}
#menuOpen span:nth-child(2) {width:20px; top:50%; margin-top:-1px;}
#menuOpen span:nth-child(3) {bottom:0;}

#menuClose {float:right; display:block; width:45px; height:45px; background:#fff; border-radius:50%; position:relative;}
#menuClose:before, #menuClose:after {content:''; display:block; width:20px; height:2px; background:#0466c8; position:absolute; left:50%; top:50%;}
#menuClose:before {transform:translateX(-50%) rotate(45deg)}
#menuClose:after {transform:translateX(-50%) rotate(-45deg)}

#theme0101_header.on #all_gnb {opacity:1; visibility:visible;}


#theme0101_header.sub_header {background:#fff; border-bottom-color:#dcdcdc;}
#theme0101_header.sub_header #theme0101_logo a img.bl {display:block;}
#theme0101_header.sub_header #theme0101_logo a img.wh {display:none;}
#theme0101_header.sub_header #theme0101_gnb > ul > li > a {color:#191919;}
#theme0101_header.sub_header #menuOpen span {background:#191919;}

#theme0101_header.scroll_on {background:#fff; border-bottom-color:#dcdcdc;}
#theme0101_header.scroll_on #theme0101_logo a img.bl {display:block;}
#theme0101_header.scroll_on #theme0101_logo a img.wh {display:none;}
#theme0101_header.scroll_on #theme0101_gnb > ul > li > a {color:#191919;}
#theme0101_header.scroll_on #menuOpen span {background:#191919;}

@media screen and (min-width:1025px){
    #all_gnb > div > ul > li > ul {display:block !important;}
}

@media screen and (max-width:1024px){
    #theme0101_header {height:50px;}

    #theme0101_logo {width:150px; height:40px; margin-top:2px;}

    #theme0101_gnb {display:none;}

    #all_gnb {display:block;}
    #all_gnb > div {position:unset}
    #all_gnb h2 {display:none;}
    #all_gnb > div > ul {display:block; padding-top:50px;}
    #all_gnb > div > ul > li {width:100%; border-right:0; padding:0;}
    #all_gnb > div > ul > li:first-child {border-left:0;}
    #all_gnb > div > ul > li > a {font-size:1.125em; font-weight:500; border-bottom:1px dotted rgba(255,255,255,0.8); padding:13px 0; margin-bottom:0; position:relative}
    #all_gnb > div > ul > li.depth2 > a:before {content:''; display:block; width:10px; height:2px; background:#fff; position:absolute; right:5px; top:50%; margin-top:-1px;}
    #all_gnb > div > ul > li.depth2 > a:after {content:''; display:block; width:2px; height:10px; background:#fff; position:absolute; right:9px; top:50%; transform:translateY(-50%); transition:transform 0.5s;}
    #all_gnb > div > ul > li.depth2 > a.on:after {transform:translateY(-50%) rotate(90deg)}
    #all_gnb > div > ul > li > ul {display:none; background:#055aaf}
    #all_gnb > div > ul > li > ul > li:first-child {padding-top:10px;}
    #all_gnb > div > ul > li > ul > li:last-child {padding-bottom:10px;}
    #all_gnb > div > ul > li > ul > li > a {font-size:0.9375em; padding:5px 13px;}

    #menuOpen {width:26px; height:16px; margin-top:17px;}
    #menuOpen span:nth-child(2) {width:17px;}

    #menuClose {width:32px; height:32px; float:none; position:absolute; right:6%; top:10px;}
    #menuClose:before, #menuClose:after {width:14px;}
}


/* footer */
#theme0101_footer {width:100%; background:#191919; padding:40px 0 70px; position:relative;}
#theme0101_footer .info li {display:inline-block; font-size:1em; color:#828282; line-height:1.75em; margin-right:10px;}
#theme0101_footer .copy {font-size:1em; color:#828282; font-family:'Play'; margin-top:20px; text-transform:uppercase;}
#theme0101_footer .go_top {display:block; width:50px; height:50px; border:2px solid #666; border-radius:50%; font-size:1em; position:absolute; right:30px; bottom:30px;}
#theme0101_footer .go_top:before {content:'\f176'; font-size:1em; color:#a4a4a4; font-weight:300; font-family:'Font Awesome 6 Pro'}
#theme0101_footer .f_member {display:inline-block; font-size:0.75em; color:#a4a4a4; font-weight:500; font-family:'Poppins'; line-height:28px; border:1px solid #a4a4a4; padding:0 10px; margin-top:10px;}

@media screen and (max-width:1024px){
    #theme0101_footer {padding:4% 0;}
    #theme0101_footer .info br {display:none;}
    #theme0101_footer .copy {margin-top:2%;}
    #theme0101_footer .go_top {width:40px; height:40px; font-size:0.875em; right:6%; bottom:20px;}
}

@media screen and (max-width:767px){
    #theme0101_footer .go_top {width:35px; height:35px; bottom:10px;}
	#theme0101_footer .f_member {line-height:25px;}
}


#Quick {position:fixed; right:50px; bottom:50px; z-index:200;}
#Quick a {display:flex; justify-content:center; align-items:center; width:80px; height:80px; border-radius:50%; box-shadow:10px 10px 20px rgba(25,25,25,0.1); margin-bottom:5px; position:relative;}
#Quick a i {font-size:1.125em; color:#fff;}
#Quick a.tel {background:#0466c8}
#Quick a.kakao {background:#f9e000}
#Quick button {display:block; width:50px; height:50px; background:#191919; border-radius:50%; margin:20px auto 0; font-size:1em; color:#fff;}

@media screen and (max-width:1220px){
    #Quick {right:30px; bottom:30px;}
}

@media screen and (max-width:1024px){
    #Quick {right:15px; bottom:15px;}
    #Quick a {width:60px; height:60px;}
    #Quick a i {font-size:1em;}
    #Quick a img {width:24px;}
    #Quick button {width:40px; height:40px; margin-top:10px; font-size:0.875em;}
}

@media screen and (max-width:767px){
    #Quick a {width:40px; height:40px; margin-bottom:3px;}
    #Quick a img {width:17px;}
    #Quick button {width:30px; height:30px; margin-top:5px;}
}


/* main */
#mVisu {width:100%; height:850px;}
.mVisu_slide {width:100%; height:100%; position:relative;}
.mVisu_slide .img_box {width:100%; height:100%; background-repeat:no-repeat; background-position:center center; background-size:cover; position:absolute; left:0; top:0; z-index:0;}
.mVisu_slide .img_box:before {content:''; display:block; width:100%; height:100%; background:rgba(25,25,25,0.5)}
.mVisu_slide .txt_box {position:absolute; left:50%; bottom:230px; margin-left:-600px; color:#fff;}
.mVisu_slide .txt_box .tit, .mVisu_slide .txt_box .txt {opacity:0; transform:translateX(60px); transition:all 0.8s; transition-property:opacity, transform;}
.mVisu_slide .txt_box .tit {font-size:5em; line-height:1.2em; font-weight:700; font-family:'Play';}
.mVisu_slide .txt_box .txt {font-size:1.125em; line-height:1.6em; font-weight:500; margin-top:20px;}
.mVisu_slide .swiper-button-next, .mVisu_slide .swiper-button-prev {width:auto; height:auto; top:auto; bottom:150px; margin-top:0;}
.mVisu_slide .swiper-button-next {right:auto; left:50%; margin-left:-470px;}
.mVisu_slide .swiper-button-prev {left:50%; margin-left:-505px;}
.mVisu_slide .swiper-button-next:after, .mVisu_slide .swiper-button-prev:after {font-size:1.5em; color:#fff; line-height:30px; font-weight:100; font-family:'Font Awesome 6 Pro'}
.mVisu_slide .swiper-button-next:after {content:'\f105'}
.mVisu_slide .swiper-button-prev:after {content:'\f104'}
.mVisu_slide.swiper-container-horizontal>.swiper-pagination-bullets {width:95px; left:50%; bottom:155px; margin-left:-600px; text-align:left;}
.mVisu_slide.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {margin:0 15px 0 0;}
.mVisu_slide .swiper-pagination-bullet {width:8px; height:8px; border-radius:4px; background:#fff; opacity:0.3;}
.mVisu_slide .swiper-pagination-bullet-active {width:25px; opacity:1;}

.mVisu_slide .swiper-slide-active .txt_box .txt {transition-delay:0.2s}
.mVisu_slide .swiper-slide-active .txt_box .tit, .mVisu_slide .swiper-slide-active .txt_box .txt {opacity:1; transform:translateX(0);}

@media screen and (max-width:1220px){
    .mVisu_slide .txt_box {left:6%; margin-left:0;}
    .mVisu_slide .swiper-button-next {left:6%; margin-left:130px;}
    .mVisu_slide .swiper-button-prev {left:6%; margin-left:95px;}
    .mVisu_slide.swiper-container-horizontal>.swiper-pagination-bullets {left:6%; margin-left:0;}
}

@media screen and (max-width:1024px){
    #mVisu {height:670px;}
    .mVisu_slide .txt_box {bottom:160px;}
    .mVisu_slide .txt_box .tit {font-size:3.8em;}
    .mVisu_slide .txt_box .txt {font-size:1em; margin-top:2%;}
    .mVisu_slide .swiper-button-next, .mVisu_slide .swiper-button-prev {bottom:100px;}
    .mVisu_slide.swiper-container-horizontal>.swiper-pagination-bullets {bottom:105px;}
}

@media screen and (max-width:767px){
    #mVisu {height:520px;}
    .mVisu_slide .txt_box {bottom:100px;}
    .mVisu_slide .txt_box .tit {font-size:3em;}
    .mVisu_slide .swiper-button-next, .mVisu_slide .swiper-button-prev {bottom:40px;}
    .mVisu_slide .swiper-button-next {margin-left:90px;}
    .mVisu_slide .swiper-button-prev {margin-left:70px;}
    .mVisu_slide.swiper-container-horizontal>.swiper-pagination-bullets {width:70px; bottom:48px;}
    .mVisu_slide.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {margin-right:8px;}
    .mVisu_slide .swiper-pagination-bullet {width:6px; height:6px; border-radius:3px;}
    .mVisu_slide .swiper-pagination-bullet-active {width:15px;}
}


.main_title span {display:block; font-size:1.5em; color:#0466c8; line-height:1.3em; font-weight:700; font-family:'Play'; margin-bottom:20px; position:relative;}
.main_title h2 {font-size:3.125em; line-height:1.3em; font-weight:600; position:relative;}
.main_title h2.en {font-size:3.75em; line-height:1.1em; font-weight:700; font-family:'Play'}
.main_title.white span {color:rgba(255,255,255,0.5)}
.main_title.white h2 {color:#fff;}

@media screen and (max-width:1024px){
    .main_title span {font-size:1.3em; margin-bottom:2%;}
    .main_title h2 {font-size:2.5em;}
    .main_title h2.en {font-size:3em;}
}

@media screen and (max-width:767px){
    .main_title h2 {font-size:2em;}
    .main_title h2.en {font-size:2.5em;}
}


#mLabor {padding:120px 0 150px;}
#mLabor ul {display:flex; justify-content:space-between; flex-wrap:wrap; width:100%; }
#mLabor ul li {width:calc(33.33% - 50px); text-align:center;}
#mLabor ul li:nth-child(2) {margin-top:50px;}
#mLabor ul li .img_box {width:100%; height:400px; background-repeat:no-repeat; background-position:center center; background-size:cover; border-radius:20px; box-shadow:10px 10px 20px rgba(25,25,25,0.1); position:relative; overflow:hidden;} 
#mLabor ul li .img_box:before {content:''; display:block; width:100%; height:100%; background:#0466c8; opacity:0.7; position:absolute; left:0; top:0; z-index:1;}
#mLabor ul li .img_box:after {content:'\2b'; display:block; width:50px; line-height:50px; background:#fff; border-radius:50%; font-size:1em; color:#197278; font-weight:400; font-family:'Font Awesome 6 Pro'; position:absolute; right:30px; top:30px; z-index:5;}
#mLabor ul li .img_box:before, #mLabor ul li .img_box:after {opacity:0; visibility:hidden; transition:all 0.3s; transition-property:opacity, visibility;}
#mLabor ul li dl {position:relative;}
#mLabor ul li dl dt {font-size:1.25em; line-height:1.5em; font-weight:600; margin-top:30px;}
#mLabor ul li dl dd {font-size:1.125em; color:#666; line-height:1.6em; margin-top:10px;}
#mLabor ul li:hover .img_box {box-shadow:10px 10px 25px rgba(4,102,200,0.2)}
#mLabor ul li:hover .img_box:before {opacity:0.7; visibility:visible;}
#mLabor ul li:hover .img_box:after {opacity:1; visibility:visible;}

@media screen and (max-width:1220px){
    #mLabor ul li .img_box {height:28vw;}
}

@media screen and (max-width:1024px){
    #mLabor {padding:13% 0;}
    #mLabor ul li {width:calc(33.33% - 13.33px)}
    #mLabor ul li:nth-child(2) {margin-top:30px;}
    #mLabor ul li .img_box {height:33vw; border-radius:10px;}
    #mLabor ul li .img_box:after {width:40px; line-height:40px; right:15px; top:15px;}
    #mLabor ul li dl dt {font-size:1.125em; margin-top:15px;}
    #mLabor ul li dl dd {font-size:1em; margin-top:5px;}
}

@media screen and (max-width:767px){
    #mLabor ul {justify-content:center;}
    #mLabor ul li {width:calc(50% - 5px); margin-right:10px;}
    #mLabor ul li:nth-child(even) {margin-right:0;}
    #mLabor ul li:nth-child(2) {margin-top:0;}
    #mLabor ul li:nth-child(2) ~ li {margin-top:7%;}
    #mLabor ul li .img_box {height:50vw;}
    #mLabor ul li .img_box:after {width:35px; line-height:35px; right:10px; top:10px;}
}


#mWho {width:100%; padding-top:100px; position:relative;}
#mWho > .img_box {content:''; display:block; width:100%; height:calc(100% - 50px); background: no-repeat center center; background-size:cover; position:absolute; left:0; top:0; z-index:0;}
#mWho .inner {position:relative; z-index:10;}
#mWho .txt_box {width:50vw; background:#fff; margin-left:50%; position:relative;}
#mWho .txt_box > div {width:600px; padding:100px 0 50px 100px; overflow:hidden;}
#mWho .txt_box p {font-size:1.125em; color:#666; line-height:1.9em; margin-bottom:30px;}
#mWho .txt_box .template_btn {float:right;}

@media screen and (max-width:1220px){
    #mWho .txt_box > div {width:calc(100% - 6vw); padding:60px 0 50px 60px;}
}

@media screen and (max-width:1024px){
    #mWho {padding-top:10%;}
    #mWho > .img_box {height:calc(100% - 30px)}
    #mWho .txt_box {width:100%; margin-left:6vw; margin-top:7%;}
    #mWho .txt_box > div {padding:40px 0 30px 40px;}
    #mWho .txt_box p {font-size:1em; line-height:1.7em; margin-bottom:15px;}
}

@media screen and (max-width:767px){
    #mWho .txt_box {width:calc(100% + 6vw); margin-left:0;}
    #mWho .txt_box > div {padding:5% 0 30px 5%;}
}


#mService {padding:100px 0 200px;}
#mService .main_title {position:relative; z-index:60;}
#mService .box {display:flex; align-items:center; position:relative;}
#mService .box:before {content:''; display:block; width:100%; height:150%; background:#fff; position:absolute; right:100%; top:-25%; margin-right:-420px; z-index:50;}
#mService .tab_box {width:420px; position:relative; z-index:53; counter-reset:counter;}
#mService .tab_box li {margin-bottom:25px; position:relative;}
#mService .tab_box li:last-child {margin-bottom:0;}
#mService .tab_box li button.tab_btn {display:block; font-size:1.125em; font-family:'Noto Sans KR'; text-align:left; position:relative; padding-left:40px; transition:padding-left 0.4s;}
#mService .tab_box li button.tab_btn:before {content:counter(counter, decimal-leading-zero); counter-increment:counter; font-size:1em; font-weight:700; font-family:'Play'; position:absolute; left:0; top:4px; transition:all 0.1s; transition-property:opacity, visibility; transition-delay:0.4s;}
#mService .tab_box li button.tab_btn:after {content:''; display:block; width:0; height:2px; background:#197278; position:absolute; left:0; top:50%; margin-top:-1px; transition:width 0.4s;}
#mService .tab_box li.active button.tab_btn {font-size:1.5em; color:#0466c8; font-weight:600; padding-left:80px;}
#mService .tab_box li.active button.tab_btn:before {opacity:0; visibility:hidden; transition-delay:0s;}
#mService .tab_box li.active button.tab_btn:after {width:50px;}
.mService_slide {width:calc(100% - 420px); position:relative;}
.mService_slide .swiper-slide {height:450px; border-radius:20px; background-repeat:no-repeat; background-position:center center; background-size:cover; box-shadow:10px 10px 25px rgba(25,25,25,0.1); position:relative; overflow:hidden;}
.mService_slide .swiper-slide a:before {content:''; display:block; width:100%; height:100%; mix-blend-mode:multiply; background-image:linear-gradient(to bottom, #fff, #808080); position:absolute; left:0; top:0; z-index:0;}
.mService_slide .swiper-slide a:after {content:'\2b'; display:block; width:50px; line-height:50px; background:#0466c8; border-radius:50%; font-size:1em; color:#fff; font-weight:400; font-family:'Font Awesome 6 Pro'; position:absolute; right:30px; top:30px; z-index:5; text-align:center;}
.mService_slide .swiper-slide a {display:block; width:100%; height:100%; position:relative;}
.mService_slide p {width:50%; font-size:1.125em; color:#fff; line-height:1.9em; font-weight:500; position:absolute; left:60px; bottom:60px; z-index:5;}
.mService_slide.swiper-container-horizontal>.swiper-pagination-bullets {bottom:-48px;}
.mService_slide.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {margin:0 7px;}
.mService_slide .swiper-pagination-bullet {width:8px; height:8px; border-radius:4px; background:#dcdcdc; opacity:1;}
.mService_slide .swiper-pagination-bullet-active {width:25px; background:#191919;}

.mService_slide .swiper-slide {opacity:0.1; transition:opacity 0.4s}
.mService_slide .swiper-slide a:before, .mService_slide .swiper-slide a:after, .mService_slide p {opacity:0; visibility:hidden; transition:all 0.4s; transition-property:opacity, visibility;}
.mService_slide .swiper-slide-active {opacity:1;}
.mService_slide .swiper-slide-active a:before, .mService_slide .swiper-slide-active a:after, .mService_slide .swiper-slide-active p {opacity:1; visibility:visible;}

@media screen and (max-width:1220px){
    #mService .box:before {margin-right:-380px;}
    #mService .tab_box {width:380px;}
    .mService_slide {width:calc(100% - 380px)}
    .mService_slide p {width:100%; left:0; bottom:40px; padding:0 40px;}
}

@media screen and (max-width:1024px){
    #mService {padding:10% 0 15%;}
    #mService .box:before {margin-right:-270px;}
    #mService .tab_box {width:270px;}
    #mService .tab_box li {margin-bottom:15px}
    #mService .tab_box li button.tab_btn {font-size:1em; padding-left:30px;}
    #mService .tab_box li.active button.tab_btn {font-size:1.25em; padding-left:50px;}
    #mService .tab_box li.active button.tab_btn:after {width:35px;}
    .mService_slide {width:calc(100% - 270px)}
    .mService_slide .swiper-slide {height:37vw; border-radius:10px;}
    .mService_slide .swiper-slide a:after {width:40px; line-height:40px; right:15px; top:15px;}
    .mService_slide p {font-size:1em; line-height:1.7em; bottom:20px; padding:0 20px;}
    .mService_slide.swiper-container-horizontal>.swiper-pagination-bullets {bottom:-30px;}
}

@media screen and (max-width:767px){
    .mService_slide.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {margin:0 4px;}
    .mService_slide .swiper-pagination-bullet {width:6px; height:6px; border-radius:3px;}
    .mService_slide .swiper-pagination-bullet-active {width:15px;}
}

@media screen and (max-width:767px){
    #mService .box {display:block;}
    #mService .box:before {display:none;}
    #mService .tab_box {width:100%; margin-bottom:5%;}
    #mService .tab_box li {margin-bottom:10px;}
    #mService .tab_box li.active button.tab_btn {font-size:1.125em;}
    .mService_slide {width:100%;}
    .mService_slide .swiper-slide {height:47vw;}
    .mService_slide .swiper-slide a:after {width:35px; line-height:35px; right:10px; top:10px;}
}


#mContact .map_cont {width:100%; height:400px; background:#f8f9fc; margin-bottom:70px; position:relative;}
#mContact .map_cont > div {width:100% !important; height:100% !important;}
#mContact .map_cont .root_daum_roughmap .wrap_map {height:100% !important;}
#mContact .inner {display:flex; align-items:center; flex-wrap:wrap;}
#mContact .inner > div {width:calc(33.33% - 13.33px); margin-right:20px;}
#mContact .inner > div:last-child {margin-right:0;}
#mContact h2 {font-size:1.5em; line-height:1.3em; font-weight:700; font-family:'Play';}
#mContact .number {font-size:3.125em; line-height:1.3em; font-weight:700; font-family:'Play'; margin-top:5px;}
#mContact .info {margin-top:20px;}
#mContact .info li {font-size:1.125em; color:#666; line-height:1.5em; font-family:'Play'; margin-bottom:5px; padding-left:70px; position:relative;}
#mContact .info li:last-child {margin-bottom:0;}
#mContact .info li strong {display:block; width:70px; color:#191919; font-weight:700; position:absolute; left:0; top:0;}
#mContact .location {height:230px; background:#191919; padding:40px; border-radius:20px;}
#mContact .location .add {font-size:1.125em; color:#fff; line-height:1.6em; margin:30px 0 15px;}
#mContact .location .time {font-size:1em; color:rgba(255,255,255,0.5);}
#mContact .notice {height:230px; background:#0466c8; border-radius:20px;}
#mContact .notice a {display:block; width:100%; height:100%; padding:40px;}
#mContact .notice h2 {display:flex; justify-content:space-between; align-items:center;}
#mContact .notice h2:after {content:'\2b'; font-size:0.6em; color:rgba(255,255,255,0.5); font-weight:400; font-family:'Font Awesome 6 Pro'}
#mContact .notice .subject {font-size:1.125em; color:#fff; line-height:1.6em; margin:30px 0 15px; max-height:3.2em; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
#mContact .notice .date {font-size:1em; color:rgba(255,255,255,0.5); font-family:'Play'}

@media screen and (max-width:1220px){
    #mContact .number {font-size:2.8em;}
    #mContact .location {padding:30px;}
    #mContact .location .add {margin-top:15px;}
    #mContact .notice a {padding:30px;}
    #mContact .notice .subject {margin-top:15px;}
}

@media screen and (max-width:1024px){
    #mContact .map_cont {height:300px; margin-bottom:7%;}
    #mContact .inner {align-items:stretch;}
    #mContact .inner > div {width:calc(50% - 5px); margin-right:10px;}
    #mContact .inner > div:first-child {width:100%; margin:0 0 3%;}
    #mContact h2 {font-size:1.3em;}
    #mContact .number {font-size:2.5em;}
    #mContact .info {margin-top:2%;}
    #mContact .info li {margin-bottom:0;}
    #mContact .location {height:auto; padding:20px; border-radius:10px;}
    #mContact .location .add {font-size:1em; margin:3% 0 2%;}
    #mContact .notice {height:auto; border-radius:10px;}
    #mContact .notice a {padding:20px;}
    #mContact .notice .subject {font-size:1em; margin:3% 0 2%;}
}

@media screen and (max-width:767px){
    #mContact .map_cont {height:220px;}
    #mContact .inner > div {width:100%; margin-right:0;}
    #mContact .inner > div:last-child {margin-top:5px;}
}


#fContact {width:100%; height:250px; background-repeat:no-repeat; background-position:center center; background-size:cover; position:relative; margin-top:150px;}
#fContact:before {content:''; display:block; width:100%; height:100%; background:rgba(25,25,25,0.3); position:absolute; left:0; top:0; z-index:0;}
#fContact .inner {display:flex; justify-content:center; align-items:center; height:100%; position:relative; z-index:10;}
#fContact p {font-size:1.875em; color:#fff; line-height:1.6em; font-weight:600; text-align:center; margin-right:30px;}

@media screen and (max-width:1024px){
    #fContact {height:auto; padding:10% 0; margin-top:13%;}
    #fContact .inner {flex-direction:column;}
    #fContact p {font-size:1.5em; margin:0 0 3%;}
}



/* sub */
#sVisu {width:100%; height:500px; background-repeat:no-repeat; background-position:center center; background-size:cover; position:relative; padding-top:210px; text-align:center;}
#sVisu:before {content:''; display:block; width:100%; height:100%; background:rgba(25,25,25,0.4); position:absolute; left:0; top:0; z-index:0;}
#sVisu > div {position:relative; z-index:10;}
#sVisu h2 {font-size:2.81em; color:#fff; line-height:1.3em; font-weight:600;}
#sVisu p {font-size:1.25em; color:rgba(255,255,255,0.6); font-weight:500; margin-top:10px;}

.sVisu1 {background-image:url(../images/sVisu_img1.jpg)}
.sVisu2 {background-image:url(../images/sVisu_img2.jpg)}
.sVisu3 {background-image:url(../images/sVisu_img3.jpg)}
.sVisu4 {background-image:url(../images/sVisu_img4.jpg)}

@media screen and (max-width:1024px){
    #sVisu {height:350px; padding-top:150px;}
    #sVisu h2 {font-size:2.2em;}
    #sVisu p {font-size:1em; margin-top:5px;}
}

@media screen and (max-width:767px){
    #sVisu {height:250px; padding-top:105px;}
}


.sub_menu_wrap {width:100%; height:70px; margin-top:-70px; position:relative; z-index:50;}
.sub_menu_wrap .s-inner {background:rgba(4,102,200,0.7);}
.sub_menu_wrap .s-inner:after {content:''; display:block; width:100%; clear:both;}
.sub_menu_wrap .home {float:left; display:block; width:76px; height:70px; line-height:70px; font-size:1em; color:#fff; text-align:center;}
.sub_menu_wrap .home:before {content:'\f015'; font-size:1em; font-weight:900; font-family:'Font Awesome 6 Pro'}
.sub_menu_wrap .s-inner > div {float:left; width:calc(50% - 38px); position:relative;}
.sub_menu_wrap .s-inner > div:before {content:''; display:block; width:1px; height:35px; background:rgba(255,255,255,0.4); position:absolute; left:0; top:50%; transform:translateY(-50%)}
.sub_menu_wrap .s-inner > div > a {display:block; width:100%; line-height:70px; font-size:1em; color:#fff; font-weight:500; padding:0 30px; position:relative;}
.sub_menu_wrap .s-inner > div > a:after {content:'\2b'; display:block; width:24px; line-height:24px; background:#fff; border-radius:50%; font-size:0.75em; color:#0466c8; font-weight:900; font-family:'Font Awesome 6 Pro'; text-align:center; position:absolute; right:30px; top:50%; transform:translateY(-50%)}
.sub_menu_wrap .s-inner > div > ul {width:100%; background:#fff; position:absolute; left:0; top:100%; z-index:10; border-left:1px solid #dcdcdc; border-right:1px solid #dcdcdc; opacity:0; visibility:hidden; transition:all 0.3s; transition-property:opacity, visibility;}
.sub_menu_wrap .s-inner > div > ul > li > a {display:block; font-size:1em; line-height:1.5em; padding:13px 30px; border-bottom:1px solid #dcdcdc;}
.sub_menu_wrap .s-inner > div > a.on:after {content:'\f068'}
.sub_menu_wrap .s-inner > div > a.on + ul {opacity:1; visibility:visible;}

@media screen and (max-width:1024px){
    .sub_menu_wrap {height:50px; margin-top:-50px;}
    .sub_menu_wrap .home {width:50px; height:50px; line-height:50px; font-size:0.875em;}
    .sub_menu_wrap .s-inner > div {width:calc(50% - 25px)}
    .sub_menu_wrap .s-inner > div:before {height:20px;}
    .sub_menu_wrap .s-inner > div > a {line-height:50px; padding:0 15px;}
    .sub_menu_wrap .s-inner > div > a:after {width:20px; line-height:20px; right:15px;}
    .sub_menu_wrap .s-inner > div > ul > li > a {padding:10px 15px;}
}

@media screen and (max-width:767px){
    .sub_menu_wrap {height:40px; margin-top:-40px;}
    .sub_menu_wrap .home {width:40px; height:40px; line-height:40px; font-size:0.875em;}
    .sub_menu_wrap .s-inner > div {width:calc(50% - 20px)}
    .sub_menu_wrap .s-inner > div:before {height:15px;}
    .sub_menu_wrap .s-inner > div > a {line-height:40px; padding:0 10px;}
    .sub_menu_wrap .s-inner > div > a:after {width:16px; line-height:16px; right:10px;}
    .sub_menu_wrap .s-inner > div > ul > li > a {padding:7px 10px;}
}



#sub_content h3:not(#bo_v_title) {font-size:2.5em; line-height:1.4em; font-weight:600;}
#sub_content h3:not(#bo_v_title) + p {font-size:1em; color:#666; line-height:1.8em; margin-top:20px;}

.sub_section {padding:100px 0 120px; position:relative;}
.sub_section.line {border-top:1px solid #dcdcdc;}

@media screen and (max-width:1024px){
    #sub_content h3:not(#bo_v_title) {font-size:2em;}
    #sub_content h3:not(#bo_v_title) + p {margin-top:2%;}
    .sub_section {padding:12% 0;}
}


.sub_img_box1 {display:flex; justify-content:center; flex-wrap:wrap;}
.sub_img_box1 > div {width:calc(33.33% - 20px); margin-right:30px;}
.sub_img_box1 > div:last-child {margin-right:0;}
.sub_img_box1 .img_box {width:100%; height:250px; background-repeat:no-repeat; background-position:center center; background-size:cover; border-radius:20px; box-shadow:10px 10px 20px rgba(25,25,25,0.1)}
.sub_img_box1 dl {margin-top:30px; text-align:center;}
.sub_img_box1 dl dt {font-size:1.25em; line-height:1.5em; font-weight:600;}
.sub_img_box1 dl dd {font-size:1em; color:#666; line-height:1.8em; margin-top:10px;}

@media screen and (max-width:1220px){
    .sub_img_box1 .img_box {height:19vw;}
}

@media screen and (max-width:1024px){
    .sub_img_box1 > div {width:calc(33.33% - 6.66px); margin-right:10px;}
    .sub_img_box1 .img_box {border-radius:10px;}
    .sub_img_box1 dl {margin-top:15px;}
    .sub_img_box1 dl dt {font-size:1.125em;}
    .sub_img_box1 dl dd {margin-top:5px;}
}

@media screen and (max-width:767px){
    .sub_img_box1 > div {width:100%; margin-right:0;}
    .sub_img_box1 > div:nth-child(1) ~ div {margin-top:7%;}
    .sub_img_box1 .img_box {height:47vw;}
    .sub_img_box1 dl {margin-top:10px;}
}




.sGreeting_case1 {width:100%; padding-left:400px;}
.sGreeting_case1 .tit {font-size:1.875em; color:#0466c8; line-height:1.5em; font-weight:500; margin-bottom:30px;}
.sGreeting_case1 .txt {font-size:1em; color:#666; line-height:1.8em; margin-bottom:20px;}
.sGreeting_case1 .name {font-size:1.125em; font-weight:500; margin-top:30px; text-align:right;}

.sValue_case1:before {content:''; display:block; width:100%; height:460px; background:#f6f8f9; position:absolute; left:0; top:0;}

.sHistory_case1 {display:flex; justify-content:flex-end}
.sHistory_case1 ul > li {padding-bottom:70px; position:relative;}
.sHistory_case1 ul > li:last-child {padding-bottom:0;}
.sHistory_case1 ul > li:before {content:''; display:block; width:1px; height:100%; background:#dcdcdc; position:absolute; left:134px; top:25px}
.sHistory_case1 ul > li:last-child:before {display:none;}
.sHistory_case1 ul > li:after {content:''; display:block; width:100%; clear:both;}
.sHistory_case1 .year {float:left; width:210px; font-size:2.5em; color:#0466c8; line-height:1.3em; font-weight:700; font-family:'Play'; position:relative;}
.sHistory_case1 .year:before {content:''; display:block; width:8px; height:8px; background:#0466c8; border-radius:50%; position:absolute; left:134px; top:50%; transform:translate(-50%, -50%)}
.sHistory_case1 ul > li:first-child .year:before {width:28px; height:28px; border:8px solid #dceaff;}
.sHistory_case1 ol {float:left; width:calc(100% - 210px)}
.sHistory_case1 ol > li {font-size:1em; color:#666; line-height:1.8em; padding-left:55px; position:relative;}
.sHistory_case1 ol > li .month {display:block; font-size:1.125em; color:#191919; font-weight:700; font-family:'Play'; position:absolute; left:0; top:2px;}

.sLocation_case1 .map_cont {width:100%; height:500px; background:#f8f9fc;}
.sLocation_case1 .map_cont .root_daum_roughmap .wrap_map {height:100% !important;}
.sLocation_case1 .s-inner {margin-top:70px; overflow:hidden;}
.sLocation_case1 h3 {float:left; width:460px;}
.sLocation_case1 .box {float:left; display:flex; justify-content:space-between; width:calc(100% - 460px);}
.sLocation_case1 .box dl {margin-bottom:30px;}
.sLocation_case1 .box dl:last-child {margin-bottom:0;}
.sLocation_case1 .box dl dt {font-size:1.25em; line-height:1.5em ;font-weight:600;}
.sLocation_case1 .box dl dd {font-size:1em; color:#666; line-height:1.8em; margin-top:5px;}

@media screen and (max-width:1220px){
    .sGreeting_case1 {padding-left:200px;}

    .sLocation_case1 h3 {width:300px;}
    .sLocation_case1 .box {width:calc(100% - 300px)}
}

@media screen and (max-width:1024px){
    .sGreeting_case1 {padding-left:0; margin-top:5%;}
    .sGreeting_case1 .tit {font-size:1.5em; margin-bottom:3%;}
    .sGreeting_case1 .txt {margin-bottom:2%;}
    .sGreeting_case1 .name {margin-top:3%;}

    .sValue_case1:before {height:380px;}

    .sHistory_case1 {width:100%; display:block; margin-top:5%;}
    .sHistory_case1 ul > li {padding-bottom:7%;}
    .sHistory_case1 ul > li:before {left:100px; top:20px;}
    .sHistory_case1 .year {width:160px; font-size:2em;}
    .sHistory_case1 .year:before {left:100px;}
    .sHistory_case1 ol {width:calc(100% - 160px)}
    .sHistory_case1 ol > li {padding-left:40px;}

    .sLocation_case1 .map_cont {height:370px;}
    .sLocation_case1 .s-inner {margin-top:7%;}
    .sLocation_case1 h3 {width:220px;}
    .sLocation_case1 .box {width:calc(100% - 220px)}
    .sLocation_case1 .box dl {margin-bottom:15px;}
    .sLocation_case1 .box dl dt {font-size:1.125em;}
}

@media screen and (max-width:767px){
    .sValue_case1:before {height:55vw;}

    .sHistory_case1 ul > li:before {left:80px;}
    .sHistory_case1 .year {width:110px;}
    .sHistory_case1 .year:before {width:6px; height:6px; left:80px;}
    .sHistory_case1 ul > li:first-child .year:before {width:16px; height:16px; border-width:4px;}
    .sHistory_case1 ol {width:calc(100% - 110px)}
    .sHistory_case1 ol > li {padding-left:30px;}
    .sHistory_case1 ol > li .month {top:0;}

    .sLocation_case1 .map_cont {height:220px;}
    .sLocation_case1 h3 {float:none; width:100%; margin-bottom:3%;}
    .sLocation_case1 .box {float:none; display:block; width:100%;}
    .sLocation_case1 .box > div {margin-bottom:15px;}
    .sLocation_case1 .box dl dd {margin-top:3px;}
}



.sMember_case1 > div {width:100%; border-bottom:1px solid #dcdcdc; padding:70px 0; overflow:hidden;}
.sMember_case1 > div:first-child {padding-top:0;}
.sMember_case1 > div:last-child {padding-bottom:0; border-bottom:0;}
.sMember_case1 > div .img_box {float:left; width:350px; height:400px; background-color:#eee;}
.sMember_case1 > div .txt_box {float:left; width:calc(100% - 350px); padding-left:100px; overflow:hidden;}
.sMember_case1 > div .txt_box .name {float:left; width:135px; font-size:1.125em; color:#666; line-height:1.5em; font-weight:500;}
.sMember_case1 > div .txt_box .name strong {display:block; font-size:1.33em; color:#191919; font-weight:500; margin-bottom:10px;}
.sMember_case1 > div .txt_box > div {float:left; width:calc(100% - 135px)}
.sMember_case1 > div .txt_box ul li {font-size:1em; color:#666; line-height:1.8em; padding-left:30px; position:relative; margin-bottom:3px;}
.sMember_case1 > div .txt_box ul li:last-child {margin-bottom:0;}
.sMember_case1 > div .txt_box ul li:before {content:'·'; font-weight:600; position:absolute; left:0; top:0;}

@media screen and (max-width:1220px){
    .sMember_case1 > div .txt_box {padding-left:50px;}
}

@media screen and (max-width:1024px){
    .sMember_case1 > div {padding:7% 0;}
    .sMember_case1 > div .img_box {width:270px; height:320px}
    .sMember_case1 > div .txt_box {width:calc(100% - 270px); padding-left:25px;}
    .sMember_case1 > div .txt_box .name {width:100px; font-size:1em;}
    .sMember_case1 > div .txt_box .name strong {font-size:1.25em; margin-bottom:3px;}
    .sMember_case1 > div .txt_box > div {width:calc(100% - 100px)}
    .sMember_case1 > div .txt_box ul li {margin-bottom:0; padding-left:20px;}
}

@media screen and (max-width:767px){
    .sMember_case1 > div .img_box {float:none; width:100%; height:55vw;}
    .sMember_case1 > div .txt_box {float:none; width:100%; padding-left:0; margin-top:5%;}
    .sMember_case1 > div .txt_box .name {width:80px;}
    .sMember_case1 > div .txt_box > div {width:calc(100% - 80px)}
    .sMember_case1 > div .txt_box ul li {padding-left:10px;}
}