/* ------------------------------ PC Guide ------------------------------ */
@media screen and (max-width:1440px){
/* header */
	.header .sitemap {padding-left:25%;}
	.header .sitemap .img {width:25%;}
	.header .sitemap .manus {padding:140px 60px; gap:60px;}
	.header .sitemap .menu {padding-left:20px;} 
	.header .sitemap .menu + .menu:before {height:calc(100% + 60px);}
	.header .sitemap .menu > button,
	.header .sitemap .menu > a {font-size:32px; margin-bottom:30px;}
	.header .sitemap .menu > button:before,
	.header .sitemap .menu > a:before {left:-20px; height:30px;}
	.header .sitemap .snb {gap:10px 40px;}
	.header .sitemap .link_privacy_policy {bottom:40px; right:60px; font-size:15px;}
/* main */
	.mvisual_wrap .mv_txt strong {font-size:6.5vw; padding-bottom:20px; margin-bottom:20px;}
	.mvisual_wrap .mv_txt p {font-size:20px;}
	.mvisual_wrap .navi {margin-top:50px;}
	.mcon {padding:120px 0;}
	.mtit span {font-size:20px; letter-spacing:11px; margin-bottom:14px;}
	.mtit strong {font-size:3.8vw;}
	.mc01 .count_area dd {font-size:40px;}
	.mc03_slide {margin:0 -15vw;}
	.mc03_slide .swiper-slide {padding:0 8px;}
/* sub */
	.svisual {height:480px;}
	.svisual .txt span {font-size:18px; margin-bottom:14px;}
	.svisual .txt strong {font-size:50px;}
	.container {padding:100px 0 160px; font-size:16px;}
/* 타이틀 */	
	.stitle {font-size:46px; margin-bottom:70px;}
	.stit {font-size:40px;}
	.stit.mtb {margin:120px 0 36px;}
	.btit {font-size:22px;}
/* 테이블 */
	.tbl col.w100 {width:80px;}
	.tbl col.w130 {width:100px;}
	.tbl col.w180 {width:160px;}
	.tbl th,
	.tbl td {font-size:16px;}
	.tbl td.tal {padding-left:20px;}
	.tbl td span {display:block; margin-left:0;}
/* 기타 */
	.gbox {padding:100px 0;}
/* 인사말 */
	.greeting .tit {font-size:2.8vw; margin-bottom:30px; padding-top:45px;}
	.greeting p {font-size:18px;}
	.greeting p + p {margin-top:26px;}
/* 회사개요 */
	.overview_top .txt:before {right:-20px;}
	.overview_top .txt .tit {font-size:36px; margin-top:30px;}
	.overview_top .txt p {font-size:16px;}
	.overview_top .counts {gap:16px; margin-top:60px;}
	.overview_top .counts li {width:calc((100% - 48px)/4); padding:30px 10px 40px; font-size:18px;}
	.overview_top .counts li span {font-size:16px; margin-bottom:20px;}
	.overview_top .counts li .flex {gap:6px;}
	.overview_top .counts li strong {font-size:34px;}
	.overview_top .counts li.i4 p {font-size:15px; line-height:30px; height:30px; width:calc((100% - 12px)/3);}
	.overview_mid {margin-top:100px; margin-bottom:100px;}
	.misson_vision {gap:5vw;}
	.misson_vision .wbox {width:25vw; box-shadow:#0000001a 0 4px 50px;}
	.misson_vision .wbox:after {width:5vw; height:8px;}
	.misson_vision .left:after {right:-5vw;}
	.misson_vision .center .inbox:before {height:90px;}
	.misson_vision .right:after {left:-5vw;}
	.misson_vision strong {font-size:24px; margin:10px 0 20px;}
	.misson_vision p {font-size:16px;}
	.misson_vision .center {padding:30px; width:calc(40vw - 40px);}
	.misson_vision .center:before {width:calc(100% + 60px);}
	.misson_vision .center .inbox {box-shadow:#05447780 0 4px 20px;}
	.misson_vision .center strong {margin:20px 0 0;}
	.overview_mid .btit {margin:100px 0 20px;}
	.values_list {gap:10px;}
	.values_list li {width:calc((100% - 40px)/5); height:360px; padding:20px;}
	.values_list li span {font-size:15px;}
	.values_list li strong {font-size:24px;}
	.lrbox .tit {width:30%;}
	.lrbox .con {width:70%;}
	.company_info dl {font-size:18px;}
/* 안전·보건 방침 및 목표 */
	.safety_health_top {height:280px; padding:0 60px; margin-bottom:60px; font-size:36px;}
	.safety_health_top span {padding:0 30px;}
	.safety_health_top span:after {bottom:30px;}
	.safety_health_list {gap:50px 20px;}
	.safety_health_list button {width:calc((100% - 40px)/3);}
	.safety_health_list .txt {padding-top:20px;}
	.safety_health_list .txt strong {font-size:20px;}
	.safety_health_list .txt .date {font-size:16px; margin-top:10px;}
/* 주요사업안내 */
	.projects_mid {margin:100px 0;}
	.projects_mid .txt {padding:20px;}
	.projects_mid strong {font-size:20px; margin-bottom:10px;}
	.projects_mid p {font-size:14px;}
	.projects_btm ul {gap:16px;}
	.projects_btm li {width:calc(50% - 8px); padding:30px 32px;}
	.projects_btm strong {font-size:24px; margin-right:20px;}
	.projects_btm strong:before {height:24px; margin-right:12px;}
	.projects_btm p {font-size:18px;}
/* 주요공사현황 */
	.gall_list {gap:40px 20px;}
	.gall_list li {width:calc((100% - 40px)/3);}
	.gall_list .txt {margin-top:20px;}
	.gall_list strong {font-size:20px; margin-bottom:10px;}
	.gall_list p {font-size:16px;}
/* 게시판 상세 */
	.board_view .tit {padding:26px 20px;}
	.board_view .tit strong {font-size:26px;}
	.board_view .con {font-size:16px; padding:30px 20px 60px;}
	.prevnext a,
	.prevnext p {font-size:16px;}
/* 공사실적 */
	.tabs a {font-size:18px;}
}

/* ------------------------------ Hover ------------------------------ */
@media screen and (min-width:1024px){
	.header .gnb .snb a:hover {color:#054477; font-weight:600; background:#F8F8F8;}
	.header .sitemap .menu:hover > a:before {opacity:1;}
	.header .sitemap .snb a:hover {color:#222; font-weight:600; text-decoration:underline;}
	.btn_more i:hover {background:#054477;}
	.btn_more i:hover:before {background:#fff;}
	.mc03_slide a:hover .before {opacity:0;}
	.mc03_slide a:hover .after {opacity:1;}
	.svisual .g dd a:hover {color:#054477; font-weight:600; background:#F8F8F8;}
	.svisual .s dd a:hover {color:#fff; font-weight:700;}
	.svisual .s dd a:hover:before {width:100%;}
	.board_bottom .paging a:hover {background:#222; color:#fff; font-weight:500;}
	.tabs a:hover {color:#fff; font-weight:600; background:#054477;}
}

/* ------------------------------ Tablet PC ------------------------------ */
@media screen and (max-width:1023px){
/* header */
	.header .inner {height:80px;}
	.header .logo {width:170px;}
	.header .logo:before {content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:#222; mask:url('/pub/images/logo.svg') no-repeat 50% 50% / contain; -webkit-mask:url('/pub/images/logo.svg') no-repeat 50% 50% / contain; opacity:0; transition:.2s linear;}
	.header .gnb {display:none;}
	.header .sitemap {padding:80px 0 0; background-size:50%;}
	.header .sitemap .img {display:none;}
	.header .sitemap .manus {padding:48px 20px; gap:0; border-top:#ebebeb 1px solid;}
	.header .sitemap .menu {padding-left:16px; border-bottom:#ebebeb 1px solid;}
	.header .sitemap .menu:before {display:none;}
	.header .sitemap .menu + .menu:before {height:100%;}
	.header .sitemap .menu > .pc_vw {display:none !important;}
	.header .sitemap .menu > .mo_vw {display:block !important;}
	.header .sitemap .menu > button {font-size:26px; margin-bottom:0; padding:26px 0; width:100%; text-align:left;}
	.header .sitemap .menu > button:before {left:-16px; width:2px; height:24px;}
	.header .sitemap .menu > button:after {content:""; position:absolute; top:0; right:0; width:22px; height:100%; background:#222; mask:url('/pub/images/arrow_gnb.svg') no-repeat 50% 50% / contain; -webkit-mask:url('/pub/images/arrow_gnb.svg') no-repeat 50% 50% / contain; transition:.2s linear;}
	.header .sitemap .menu.open > button:after,
	.header .sitemap .menu.on > button:after {transform:rotate(180deg);}
	.header .sitemap .menu.on.open > button:after {transform:rotate(0deg);}
	.header .sitemap .menu.open > *:before {opacity:1;}
	.header .sitemap .menu.on.open > *:before {opacity:0;}
	.header .sitemap .snb {padding:10px 12px; gap:0; border-top:#ebebeb 1px solid; display:none;}
	.header .sitemap .on .snb {display:block;}
	.header .sitemap .snb a {position:relative; font-size:18px; line-height:1.2; padding:10px 0 10px 10px; display:block;}
	.header .sitemap .snb a:before {content:""; position:absolute; top:19px; left:0; width:3px; height:3px; background:#666; border-radius:50%;}
	.header .sitemap .link_privacy_policy {bottom:24px; right:auto; left:24px; font-size:14px; line-height:34px; height:36px; padding:0 16px; display:flex; gap:4px; background:#fff; border:#ddd 1px solid; border-radius:18px;}
	.header .sitemap .link_privacy_policy:after {content:""; display:block; width:16px; height:100%; background:url('/pub/images/arrow_links.svg') no-repeat 50% 50% / contain;}
	.header.on .logo:before {opacity:1;}
	.header.on .logo img {opacity:0;}
/* footer */
	.footer .gotop {top:-30px; right:20px; width:60px; font-size:13px;}
	.footer .gotop:before {height:6px; margin-bottom:5px;}
	.footer .fbanner_wrap .tit {width:170px; height:60px; gap:4px;}
	.footer .fbanner_wrap .tit strong {font-size:16px; padding-right:10px;}
	.footer .fbanner_wrap .fbanner {width:calc(100% - 170px);}
	.footer .fbanner_wrap .fbanner .swiper-slide {height:60px; padding:15px 10px;}
	.footer .fbanner_wrap .fbanner .swiper-slide img {max-height:100%;}
	.footer .finfo {padding:36px 0 50px;}
	.footer .finfo .info {padding-left:220px; font-size:15px;}
	.footer .finfo .info ul {gap:19px;}
	.footer .finfo .info li + li:before {left:-10px; height:12px;}
	.footer .copy {font-size:13px;}
/* main */
	.mvisual_wrap .mv_txt {bottom:150px;}
	.mvisual_wrap .mv_txt strong {padding-bottom:15px; margin-bottom:15px;}
	.mvisual_wrap .mv_txt p {font-size:18px;}
	.mvisual_wrap .navi {margin-top:40px;}
	.mcon {padding:100px 0;}
	.mtit span {font-size:16px; letter-spacing:10px; margin-bottom:12px;}
	.mtit strong {font-size:3.2vw;}
	.btn_more {font-size:16px; line-height:32px; padding-right:40px;}
	.btn_more i {width:32px; height:32px;}

	.mc01 {background-size:60%;}
	.mc01 .inner {gap:40px;}
	.mc01 .mtit {width:50%;}
	.mc01 .btn_more {margin-top:40px;}
	.mc01 .count_area {width:calc(50% - 40px);}
	.mc01 .count_area dl {padding:20px 0; background-size:30px;}
	.mc01 .count_area dt {font-size:16px;}
	.mc01 .count_area dd {font-size:32px; margin-top:8px;}

	.mc02 {height:300vh;}
	.mc02 .img_area .txt {font-size:120px; line-height:140px; height:140px; margin-top:-80px; gap:16px;}
	.mc02_slide .txt {bottom:180px;}
	.mc02_slide .tit {gap:20px; font-size:48px; margin-top:20px;}
	.mc02_slide .tit a {width:50px;}
	.mc02_slide_navi .swiper-slide {gap:5px; font-size:15px;}

	.mc03 .mtit {margin-bottom:60px;}
	.mc03_slide .swiper-slide {padding:0 5px;}
	.mc03_slide .before,
	.mc03_slide .after {padding:0 20px;}
	.mc03_slide .before strong {font-size:24px; margin-bottom:5px;}
	.mc03_slide .before p {font-size:16px;}
	.mc03 .navi {margin-top:40px; gap:8px;}
	.mc03 .navi .paging {width:calc(100% - 180px); margin-right:20px;}
	.mc03 .navi button {width:40px; height:40px;}
/* sub */
	.svisual {height:400px; padding:80px 0 60px;}
	.svisual .txt span {font-size:16px; margin-bottom:10px;}
	.svisual .txt strong {font-size:40px;}
	.svisual .aside .inner {padding:0;}
	.svisual .home {width:60px; height:60px; background-size:20px; margin:0;}
	.svisual dl {width:calc(50% - 30px); border-left:#FFF3 1px solid;}
	.svisual dt button,
	.svisual .g dt button {font-size:15px; color:#fff; line-height:60px; width:100%; padding:0 12px; text-align:left;}
	.svisual dt button:after,
	.svisual .g dt button:after {content:""; position:absolute; top:50%; right:12px; width:18px; height:18px; margin-top:-9px; background:url('/pub/images/arrow_aside.svg') no-repeat 50% 50%;}
	.svisual dd,
	.svisual .g dd {width:100%;}
	.svisual .g dd a,
	.svisual .s dd a {display:block; font-size:15px; color:#777; line-height:30px; padding:5px 12px;}
	.svisual .s {margin-left:0;}
	.svisual .s dt {display:block; text-align:left;}
	.svisual .s dd {position:absolute; top:100%; left:0; width:100%; background:#fff; border:#ddd 1px solid; display:none; gap:0;}
	.svisual .s dd a.on {color:#222; text-decoration:underline;}
	.svisual .s dd a:before {display:none;}
	.container {padding:80px 0 120px; font-size:15px;}
/* 타이틀 */	
	.stitle {font-size:38px; margin-bottom:50px;}
	.stit {font-size:30px;}
	.stit.mtb {margin:80px 0 20px;}
	.btit {font-size:20px;}
/* 테이블 */
	.tbl col.w100 {width:50px;}
	.tbl col.w130 {width:80px;}
	.tbl col.w180 {width:120px;}
	.tbl th,
	.tbl td {font-size:14px;}
	.tbl td.tal {padding-left:10px;}
	.tbl td span {font-size:13px;}
	.tbl.th_thin thead th {height:30px; padding:5px 0;}
/* 기타 */
	.gbox {padding:80px 0;}
	.glbox {padding:20px;}
/* 게시판 상단 */
	.board_top {margin-bottom:20px;}
	.board_top.mb16 {margin-bottom:12px;}
	.board_top .total {font-size:14px;}
	.board_top .search_area {gap:8px;}
	.board_top .search_area select {width:120px; height:50px; line-height:48px;}
	.board_top .search_area input {width:280px; height:50px; padding:0 16px;}
	.board_top .search_area .btn {width:50px; height:50px;}
/* 팝업 */
	.popup .tit {font-size:20px;}
/* 인사말 */
	.greeting {gap:30px; flex-direction:column;}
	.greeting .imgfit {width:100%; height:200px;}
	.greeting .txt {width:100%;}
	.greeting .tit {font-size:22px; margin-bottom:25px; padding-top:35px;}
	.greeting p {font-size:16px;}
	.greeting p + p {margin-top:20px;}
	.greeting .name {gap:16px; margin-top:40px; font-size:18px;}
/* 회사개요 */
	.overview_top .txt:before {top:80px; width:50vw; height:auto; aspect-ratio:803/581; background-size:contain;}
	.overview_top .txt .tit {font-size:30px; margin-top:20px;}
	.overview_top .txt p {font-size:15px; margin-top:20px;}
	.overview_top .counts {gap:10px; margin-top:40px;}
	.overview_top .counts li {width:calc((100% - 30px)/4); padding:20px 10px 30px; font-size:16px;}
	.overview_top .counts li:before {height:30px; margin-bottom:10px; background-size:contain;}
	.overview_top .counts li span {font-size:14px; margin-bottom:15px;}
	.overview_top .counts li strong {font-size:30px;}
	.overview_top .counts li.i4 p {font-size:13px; line-height:26px; height:26px; width:auto; padding:0 10px;}
	.overview_mid {margin-top:80px; margin-bottom:80px;}
	.misson_vision .wbox:before {height:24px;}
	.misson_vision .wbox:after {background-size:80%;}
	.misson_vision .center .inbox:before {height:70px;}
	.misson_vision strong {font-size:20px; margin:8px 0 16px;}
	.misson_vision p {font-size:15px; padding:0 20px;}
	.misson_vision p br {display:none;}
	.misson_vision .center {padding:25px; width:calc(40vw - 30px);}
	.misson_vision .center:before {width:calc(100% + 40px);}
	.misson_vision .center .inbox {box-shadow:#05447780 0 4px 15px;}
	.misson_vision .center strong {margin-top:15px;}
	.overview_mid .btit {margin:80px 0 15px;}
	.values_list {gap:4px;}
	.values_list li {width:calc((100% - 16px)/5); height:300px; gap:6px; padding:15px;}
	.values_list li span {font-size:14px;}
	.values_list li strong {font-size:20px;}
	.lrbox .tit {width:25%;}
	.lrbox .con {width:75%;}
	.company_info dl {font-size:16px; padding:20px 0;}
	.company_info dt {width:120px;}
	.company_info dd {width:calc(100% - 120px);}
/* 조직도 */
	.organizational {padding:40px;}
	.organizational .ceo {font-size:22px; width:160px;}
	.organizational ul {gap:40px; margin-top:50px;}
	.organizational ul:before {top:-50px; height:50px;}
	.organizational ul:after {width:calc(100% - ((100% - 80px)/3));}
	.organizational li {width:calc((100% - 80px)/3);}
	.organizational .box {font-size:16px; line-height:58px; height:60px;}
	.organizational .c4 {margin:50px 0 16px;}
/* 안전·보건 방침 및 목표 */
	.safety_health_top {height:220px; padding:0 40px; margin-bottom:40px; font-size:28px;}
	.safety_health_top span {padding:0 24px;}
	.safety_health_top span:before,
	.safety_health_top span:after {width:16px; height:15px;}
	.safety_health_top span:after {bottom:20px;}
	.safety_health_mid {margin-bottom:100px;}
	.safety_health_mid .glbox {margin-top:20px;}
	.safety_health_mid .stit {margin-bottom:12px;}
	.num_list li + li {margin-top:12px;}
	.safety_health_list {gap:40px 16px;}
	.safety_health_list button {width:calc((100% - 32px)/3);}
	.safety_health_list .txt {padding-top:15px;}
	.safety_health_list .txt strong {font-size:18px;}
	.safety_health_list .txt .date {font-size:14px; margin-top:8px;}
/* 오시는 길 */
	.map_wrap .wrap_map {height:360px !important;}
	.map_text {margin-top:25px;}
	.map_text strong {font-size:24px;}
	.map_text .flex {margin-top:12px; padding-top:12px; gap:20px;}
	.map_text dl {gap:12px; font-size:16px;}

/* 주요사업안내 */
	.itit {font-size:24px; padding-left:34px; margin-bottom:15px;}
	.itit.i1 {margin-top:40px;}
	.itit.i2 {margin-top:60px;}
	.projects_top ul {gap:50px; padding:30px;}
	.projects_top li p {font-size:18px; margin-top:12px;}
	.projects_mid {margin:80px 0;}
	.projects_mid .stit {margin-bottom:20px;}
	.projects_mid ul {gap:30px 20px;}
	.projects_mid li {width:calc((100% - 40px)/3);}
	.projects_mid .txt {padding:16px;}
	.projects_mid strong {font-size:18px; margin-bottom:8px;}
	.projects_mid p {font-size:13px;}
	.projects_btm ul {gap:12px;}
	.projects_btm li {width:calc(50% - 6px); padding:25px; flex-wrap:wrap;}
	.projects_btm strong {font-size:20px; margin:0 0 10px 0; width:100%;}
	.projects_btm strong:before {height:22px; margin-right:12px;}
	.projects_btm p {font-size:16px;}
	.projects_btm p + p {margin-left:16px;}
	.projects_btm p + p:before {left:-9px; height:14px;}
	.projects_btm .i1 strong:before {width:48px;}
	.projects_btm .i2 strong:before {width:24px;}
/* 주요공사현황 */
	.gall_list {gap:30px 10px;}
	.gall_list li {width:calc((100% - 20px)/3);}
	.gall_list .txt {margin-top:15px;}
	.gall_list strong {font-size:18px; margin-bottom:8px;}
	.gall_list p {font-size:14px;}
/* 게시판 상세 */
	.board_view .tit {padding:20px 0;}
	.board_view .tit strong {font-size:22px;}
	.board_view .tit dl {gap:6px; font-size:15px; margin-top:14px;}
	.board_view .con {font-size:15px; padding:20px 0 40px;}
	.prevnext a {padding-left:100px; font-size:15px; line-height:60px; height:61px;}
	.prevnext span {padding-left:35px;}
	.prevnext span:before {left:10px; width:14px;}
	.prevnext p {font-size:15px;}
	.btn_list {font-size:16px; line-height:50px; height:50px; width:200px; margin-top:60px;}
/* 공사실적 */
	.tabs {gap:4px; margin-bottom:60px;}
	.tabs li {width:calc((100% - 12px)/4);}
	.tabs a {font-size:16px; line-height:50px; height:50px;}
}

/* ------------------------------ Mobile ------------------------------ */
@media screen and (max-width:767px){
	.pc_vw {display:none !important;}
	.mo_vw {display:block !important;}
/* header */
	.header .inner {height:64px;}
	.header .logo {width:115px;}
	.header .btn_menu {width:22px; height:22px; margin-top:-11px;}
	@keyframes headbtn {
		0% {transform:scale(1);}
		50% {transform:scale(1.2);}
		100% {transform:scale(1);}
	}
	.header .sitemap {padding:64px 0 0; background-size:50%;}
	.header .sitemap .manus {padding:24px 20px;}
	.header .sitemap .menu {padding-left:14px;}
	.header .sitemap .menu > button {font-size:22px; padding:16px 0;}
	.header .sitemap .menu > button:before {left:-14px; height:20px;}
	.header .sitemap .snb a {font-size:15px; padding:10px 0 10px 10px;}
	.header .sitemap .link_privacy_policy {font-size:13px; line-height:30px; height:32px;}
/* footer */
	.footer .gotop {top:-27px; width:54px; font-size:12px;}
	.footer .gotop:before {height:10px; margin-bottom:4px;}
	.footer .fbanner_wrap .tit {width:142px; gap:2px;}
	.footer .fbanner_wrap .tit strong {font-size:13px; padding-right:6px;}
	.footer .fbanner_wrap .fbanner {width:calc(100% - 142px);}
	.footer .fbanner_wrap .fbanner .swiper-slide {padding:15px 10px;}
	.footer .finfo {padding:36px 0 36px;}
	.footer .finfo .info {padding:52px 0 0; font-size:12px; background-size:auto 32px;}
	.footer .finfo .info ul {gap:2px 15px; flex-wrap:wrap; overflow:hidden;}
	.footer .finfo .info ul + ul {margin-top:2px;}
	.footer .finfo .info .name {width:100%;}
	.footer .finfo .info li + li:before {left:-8px; height:10px;}
	.footer .copy {font-size:12px; line-height:16px; padding-top:16px; margin-top:16px;}
/* main */
	.mvisual_wrap .mv_txt {bottom:auto; top:50%; transform:translate(-50%,-10%);}
	.mvisual_wrap .mv_txt strong {font-size:44px; line-height:1.22; padding-bottom:12px; margin-bottom:12px;}
	.mvisual_wrap .mv_txt p {font-size:16px; line-height:1.65;}
	.mvisual_wrap .navi {margin-top:48px;}
	.mvisual_wrap .navi .paging {gap:12px;}
	.mvisual_wrap .navi .paging .swiper-pagination-bullet {width:5px; height:5px;}
	.mvisual_wrap .navi button {width:20px; height:20px;}
	.mcon {padding:64px 0;}
	.mtit span {font-size:14px; letter-spacing:5.6px; margin-bottom:8px;}
	.mtit strong {font-size:28px;}
	.mtit strong br {display:none;}
	.btn_more {font-size:14px; line-height:30px; padding-right:38px;}
	.btn_more i {width:30px; height:30px;}

	.mc01 {background-size:contain;}
	.mc01 .inner {flex-direction:column;}
	.mc01 .mtit {width:100%;}
	.mc01 .btn_more {margin-top:24px;}
	.mc01 .count_area {width:100%;}
	.mc01 .count_area dl {padding:16px 0;}
	.mc01 .count_area dt {font-size:14px;}

	.mc02 .img_area {height:320px; margin-top:48px;}
	.mc02 .img_area .txt {opacity:0;}
	.mc02 .img_area .img {width:140px; height:320px;}
	.mc02_slide .imgfit:before {background:linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.4) 80%), linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 50%);}
	.mc02_slide .txt {bottom:120px;}
	.mc02_slide .logo img {max-height:24px;}
	.mc02_slide .tit {gap:12px; font-size:30px; margin-top:16px;}
	.mc02_slide .tit a {width:28px;}
	.mc02_slide .tit a:before {background-size:12px;}
	.mc02_slide_navi .swiper-slide {gap:4px; font-size:12px; height:44px;}

	.mc03 .mtit {margin-bottom:40px;}
	.mc03 .mtit .btn_more {position:relative; margin-top:24px;}
	.mc03_slide {margin:0 calc(-100vw + 80px);}
	.mc03_slide .swiper-slide {padding:0 8px;}
	.mc03_slide .txt {max-width:calc(100vw - 68px); aspect-ratio:121/145;}
	.mc03_slide .before strong {font-size:22px; margin-bottom:6px;}
	.mc03_slide .before p {font-size:14px;}
	.mc03 .navi {margin-top:24px; gap:4px;}
	.mc03 .navi .paging {width:calc(100% - 128px); margin-right:12px;}
	.mc03 .navi button {width:36px; height:36px;}
/* sub */
	.svisual {height:260px; padding:64px 0 48px;}
	.svisual:before {background:linear-gradient(176deg, rgba(0, 0, 0, 0.00) 62.12%, rgba(0, 0, 0, 0.20) 93.81%), linear-gradient(270deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 55%);}
	.svisual .txt span {font-size:12px; margin-bottom:8px;}
	.svisual .txt strong {font-size:34px;}
	.svisual .home {width:48px; height:48px; background-size:12px;}
	.svisual dl {width:calc(50% - 24px);}
	.svisual dt button,
	.svisual .g dt button {font-size:13px; line-height:48px;}
	.svisual dt button:after,
	.svisual .g dt button:after {width:16px; height:16px; margin-top:-8px;}
	.svisual .g dd a,
	.svisual .s dd a {font-size:13px; line-height:30px; padding:8px 12px;}
	.container {min-height:calc(100vh - 552px); padding:48px 0 60px; font-size:13px;}
/* 타이틀 */	
	.stitle {display:none;}
	.stit {font-size:24px;}
	.stit.mtb {margin:64px 0 24px;}
	.btit {font-size:18px;}
/* 테이블 */
	.tbl col.w100 {width:50px;}
	.tbl col.w130 {width:70px;}
	.tbl col.w180 {width:140px;}
	.tbl th,
	.tbl td {font-size:14px; height:46px; line-height:26px; padding:10px 0;}
	.tbl td.tal {padding-left:12px;}
	.tbl td span {font-size:12px; display:inline-block; vertical-align:middle;}
/* 기타 */
	.gbox {padding:64px 0;}
	.glbox {padding:16px;}
/* 게시판 상단 */
	.board_top {margin-bottom:16px; flex-wrap:wrap; gap:6px 0;}
	.board_top.mb16 {margin-bottom:10px;}
	.board_top .total {font-size:13px; width:100%;}
	.board_top .search_area {gap:6px; width:100%;}
	.board_top .search_area select {width:100px; height:40px; line-height:38px;}
	.board_top .search_area input {width:calc(100% - 152px); height:40px; padding:0 12px;}
	.board_top .search_area .btn {width:40px; height:40px;}
/* 게시판 하단 */
	.board_bottom .paging {gap:2px; margin-top:50px;}
	.board_bottom .paging a {width:30px; height:30px; line-height:30px; font-size:13px;}
	.board_bottom .paging .prev {margin-right:2px;}
	.board_bottom .paging .next {margin-left:2px;}
/* 팝업 */
	.popup .inbox {border-radius:8px;}
	.popup .btn_close {width:50px; height:50px;}
	.popup .btn_close:before,
	.popup .btn_close:after {width:20px;}
	.popup .tit {font-size:16px; line-height:24px; margin-bottom:12px; padding:0 10px;}
/* 인사말 */
	.greeting {gap:24px;}
	.greeting .imgfit {height:180px;}
	.greeting .tit {font-size:26px; margin-bottom:20px; padding-top:30px; background-size:auto 16px;}
	.greeting p {font-size:14px;}
	.greeting p + p {margin-top:14px;}
	.greeting .name {gap:12px; margin-top:30px; font-size:16px;}
/* 회사개요 */
	.overview_top img {height:180px; object-fit:cover;}
	.overview_top .txt:before {display:none;}
	.overview_top .txt .tit {font-size:26px; margin-top:24px;}
	.overview_top .txt p {font-size:14px; margin-top:16px;}
	.overview_top .counts {gap:8px; flex-wrap:wrap; margin-top:48px;}
	.overview_top .counts li {width:calc(50% - 4px); padding:24px 10px 42px; font-size:14px;}
	.overview_top .counts li:before {height:30px; margin-bottom:8px;}
	.overview_top .counts li span {font-size:14px; margin-bottom:12px;}
	.overview_top .counts li .flex {gap:4px; font-size:15px;}
	.overview_top .counts li strong {font-size:24px;}
	.overview_top .counts li.i3 .flex {height:74px; align-items:center;}
	.overview_top .counts li.i4 p {font-size:11px; line-height:22px; height:22px; padding:0 8px;}
	.overview_mid {margin-top:64px; margin-bottom:64px;}
	.overview_mid .stit {margin-bottom:24px;}
	.misson_vision {flex-direction:column; gap:74px;}
	.misson_vision .wbox {width:200px; box-shadow:#0000001a 0 3px 75px;}
	.misson_vision .wbox:before {height:22px;}
	.misson_vision .wbox:after {width:74px; height:74px; background-size:60%;}
	.misson_vision .left:after {right:auto; top:auto; bottom:-74px; transform:rotate(90deg);}
	.misson_vision .center .inbox:before {height:67px;}
	.misson_vision .right:after {left:auto; top:-74px; transform:rotate(-90deg);}
	.misson_vision strong {font-size:22px; margin:8px 0 18px;}
	.misson_vision p {font-size:14px; padding:0 30px;}
	.misson_vision .center {padding:26px; width:252px; height:252px;}
	.misson_vision .center:before {width:calc(100% + 68px);}
	.misson_vision .center .inbox {box-shadow:#05447780 0 3px 18px;}
	.misson_vision .center strong {margin-top:14px;}
	.overview_mid .btit {margin:64px 0 16px;}
	.values_list {gap:8px; flex-direction:column;}
	.values_list li {width:100%; height:140px; gap:4px; padding:18px;}
	.values_list li span {font-size:12px;}
	.values_list li strong {font-size:20px;}
	.values_list li.i1 {background-image:url('/pub/images/img_values01_m.jpg');}
	.values_list li.i2 {background-image:url('/pub/images/img_values02_m.jpg');}
	.values_list li.i3 {background-image:url('/pub/images/img_values03_m.jpg');}
	.values_list li.i4 {background-image:url('/pub/images/img_values04_m.jpg');}
	.values_list li.i5 {background-image:url('/pub/images/img_values05_m.jpg');}
	.lrbox {flex-direction:column; gap:24px;}
	.lrbox .tit,
	.lrbox .con {width:100%;}
	.company_info dl {font-size:15px; padding:18px 0;}
	.company_info dt {width:80px;}
	.company_info dd {width:calc(100% - 80px); text-align:right;}
/* 넘치는 테이블 */
	.over_tbl {position:relative;}
	.over_tbl:before {content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url('/pub/images/icon_hand.svg') no-repeat rgba(0,0,0,.5) 50% 50%/ auto 68px; z-index:3; pointer-events:none; transition:.5s linear;}
	.over_tbl.on:before {opacity:0;}
	.over_tbl .scroll {overflow:auto hidden;}
	.over_tbl .scroll > * {width:920px;}
/* 조직도 */
	.organizational {padding:30px 16px;}
	.organizational .ceo {font-size:18px; width:120px;}
	.organizational .ceo:before {width:calc(100% + 20px); height:calc(100% + 20px);}
	.organizational ul {gap:10px; padding-top:20px; margin-top:30px;}
	.organizational ul:before {top:-30px; height:30px;}
	.organizational ul:after {width:calc(100% - ((100% - 20px)/3));}
	.organizational li {width:calc((100% - 20px)/3);}
	.organizational li:before {top:-21px; height:20px;}
	.organizational li:after {top:-25px; width:8px; height:8px;}
	.organizational .box {font-size:13px; line-height:38px; height:40px;}
	.organizational .c4 {margin:30px 0 12px;}
	.organizational .c4:after {top:-4px; width:8px; height:8px;}
	.organizational .c5 {margin-bottom:4px;}
	.organizational .right:before {height:calc(100% + 40px);}
	.organizational .right li:before {left:calc(-50% - 10px); width:calc(50% + 10px);}
	.organizational .right li:after {left:-4px;}
	.organizational .detail li:before {height:calc(100% + 30px);}
/* 안전·보건 방침 및 목표 */
	.safety_health_top {height:180px; padding:0 20px; margin-bottom:20px; font-size:18px;}
	.safety_health_top span {padding:0 16px;}
	.safety_health_top span:before,
	.safety_health_top span:after {width:12px; height:11px;}
	.safety_health_top span:after {bottom:10px;}
	.safety_health_mid {margin-bottom:64px;}
	.safety_health_mid .glbox {margin-top:16px;}
	.safety_health_mid .stit {margin-bottom:8px;}
	.num_list li {padding-left:28px; line-height:22px;}
	.num_list li + li {margin-top:8px;}
	.num_list li span {top:1px; width:20px; height:20px; line-height:20px; font-size:10px;}
	.safety_health_list {gap:20px;}
	.safety_health_list button {width:100%;}
	.safety_health_list .txt {padding-top:10px;}
	.safety_health_list .txt strong {font-size:14px;}
	.safety_health_list .txt .date {font-size:12px; margin-top:4px;}
/* 오시는 길 */
	.map_wrap .wrap_map {height:280px !important;}
	.map_text {margin-top:20px;}
	.map_text strong {font-size:20px;}
	.map_text .flex {margin-top:10px; padding-top:20px; gap:20px; flex-direction:column;}
	.map_text dl {gap:10px; font-size:14px; flex-direction:column;}
	.map_text dt {padding-left:22px;}
	.map_text dt:before {width:16px; height:16px;}
/* 주요사업안내 */
	.itit {font-size:18px; padding-left:30px; margin-bottom:10px;}
	.itit.i1 {margin-top:30px;}
	.itit.i2 {margin-top:40px;}
	.projects_top ul {gap:20px; padding:20px;}
	.projects_top li img {width:80px;}
	.projects_top li p {font-size:14px; margin-top:10px;}
	.projects_top .i2 + ul {flex-wrap:wrap;}
	.projects_top .i2 + ul li {width:calc(50% - 10px);}
	.projects_mid {margin:40px 0;}
	.projects_mid .stit {margin-bottom:15px;}
	.projects_mid ul {gap:20px;}
	.projects_mid li {width:100%;}
	.projects_mid .txt {padding:12px;}
	.projects_mid strong {font-size:14px; margin-bottom:4px;}
	.projects_mid p {font-size:12px;}
	.projects_btm ul {gap:10px; flex-direction:column;}
	.projects_btm li {width:100%; padding:15px;}
	.projects_btm strong {font-size:18px; margin-bottom:5px;}
	.projects_btm strong:before {height:20px; margin-right:10px;}
	.projects_btm p {font-size:13px;}
	.projects_btm p + p {margin-left:12px;}
	.projects_btm p + p:before {left:-7px; height:10px;}
	.projects_btm .i1 strong:before {width:36px;}
	.projects_btm .i2 strong:before {width:20px;}
/* 주요공사현황 */
	.gall_list {gap:20px;}
	.gall_list li {width:100%;}
	.gall_list .txt {margin-top:10px;}
	.gall_list strong {font-size:14px; margin-bottom:4px;}
	.gall_list p {font-size:12px;}
/* 게시판 상세 */
	.board_view .tit {padding:16px 0;}
	.board_view .tit strong {font-size:18px;}
	.board_view .tit dl {gap:4px; font-size:13px; margin-top:10px;}
	.board_view .con {font-size:13px; padding:16px 0 30px;}
	.prevnext a {padding-left:80px; font-size:13px; line-height:50px; height:51px;}
	.prevnext span {padding-left:25px;}
	.prevnext span:before {left:5px; width:12px;}
	.prevnext p {font-size:13px;}
	.btn_list {font-size:14px; line-height:40px; height:40px; width:50%; max-width:160px; margin-top:40px;}
/* 공사실적 */
	.tabs {flex-wrap:wrap; margin-bottom:40px;}
	.tabs li {width:calc(50% - 2px);}
	.tabs a {font-size:13px; line-height:40px; height:40px;}
}