/* 공통 */
.sub_bg{background-color: #fafafa; padding:10rem 0}
.pb{padding-bottom: var(--bmb) !important;}
.comm_top{ position:relative; text-align:center;}
.tar{text-align: right;}
.tac{text-align: center;}
.fss{font-size: 0.8em;}
.mo_only{display: block;}
.mb10{margin-bottom: 10px !important;}
.w1200{max-width: 1200px; margin: 0 auto;}

.comm_top .tit {font-size:1.2em; font-weight:700; margin-bottom:20px; color:#000000; position:relative;}
.comm_top .tit span.deco{padding-left:10px; margin-left:10px; font-size:0.7em; color:#808080; position:relative;}
.comm_top .tit span.deco:before{content:''; width:1px; height:80%; position:absolute; left:0; top:0; bottom:0; margin:auto; background:#e6e6e6}
.comm_top .txt{font-size:1.05em}
.pointTxt{color: var(--point_color);}


.comm_li{position: relative; display: flex; flex-wrap: wrap; gap: 2%;}
.comm_li li{width: 49%; margin-bottom: 10px;}
.comm_li li img{width: 100%;}
.comm_li li span{display: block; padding: 2px 0;}
.comm_li.bg li {border: 2px solid var(--bdColor);}
.comm_li.bg li span{background: var(--bgColor);}

.move_table{position:relative; overflow-y:scroll}
.move_table2{position:relative; overflow-y:scroll}
.move_table table{min-width:768px;}
.move_table2 table{min-width:768px;}

.dot_li li{position: relative; padding-left: 10px;}
.dot_li li:before{content:''; width:3px; height: 3px; position: absolute; left: 0; top: 9px; background: var(--bdColor);}

.comm_dl {position: relative; display: flex; flex-wrap: wrap; font-size: 0.95em;}
.comm_dl dt{width: 30%; margin-right: 5%; color: var(--main_color); font-weight: 600; max-width: 135px;}
.comm_dl dd{width: 65%;}
.comm_dl{margin-bottom: 3px;}
.comm_dl:last-child{margin-bottom: 0px;}

.halfcon{position: relative;}

@media all and (min-width:768px) {    
.comm_top{}
.comm_top .tit{font-size:1.4em;}
.comm_top .tit span.deco{padding-left:20px; margin-left:20px}
.comm_top .txt{font-size:1.1em;  letter-spacing:-1px}

.comm_li li{margin-bottom: 20px;}
.comm_li.list04 li{width: 23.5%;}

.move_table2{overflow:visible}
.move_table2 table{min-width:auto}

.move_table{overflow:visible}
.move_table table{min-width:auto}
.mo_only{display: none;}

}
    
@media all and (min-width:1200px) {

.comm_top .tit{font-size:1.8em; }
.comm_top .txt{font-size:1.1em;}
    

.comm_li li{margin-bottom: 30px;}

.halfcon{position: relative; display: flex; flex-wrap: wrap;}
.halfcon .halfbox{width: 50%;}
.halfcon .w60{width: 60% !important;}   
.halfcon .w65{width: 65% !important;}   
.halfcon .w40{width: 40% !important;}   
.halfcon .w35{width: 35% !important;}   
}
    


/*사업영역*/
.business_term{position: relative; border-top: 1px solid #e6e6e6;}
.business_term .info{padding: 50px 5%;}
.business_term .info h3{color: var(--main_color); font-weight: 700; margin-bottom: 20px; font-size: 1.4em; position: relative; }
.business_term .info h3 sup{position: absolute; font-weight: 800; font-family: var(--font-eng); color: var(--gr_color); font-size: 3em; line-height: 1; opacity: 0.3; z-index: -1; top: 0; right: 0;}
.business_term .info ul{font-size: 0.95em; font-weight: 600; color: #4A4444;}


@media all and (min-width:860px) {
.business_term .box{display: flex; flex-wrap: wrap; align-items:center}
.business_term .info h3{font-size: 1.5em;}
.business_term .info,
.business_term .photo{width: 50%;}
.business_term .info{padding: 0 5%;}
.business_term .box:nth-child(even){flex-direction: row-reverse;}

.business_term .box.long .photo,
.business_term .box.long .info{width: 100%;}
.business_term .box.long .halfcon{position: relative; display: flex; padding-top: 40px;}
.business_term .box.long .halfcon .halfbox{width: 50%; }
.business_term .box.long .halfcon .halfbox .w35{width: 35%; }
.business_term .box.long .halfcon .halfbox .w65{width: 65%; }
}

@media all and (min-width:1024px) {


}



@media all and (min-width:1200px) {
.business_term .info h3{font-size: 1.8em;}
.business_term .info ul{font-size: 1em;}

.business_term .box.long .halfcon{padding-top: 0;}
.business_term .box.long .photo,
.business_term .box.long .info{width: 50%;}
}



/* 인사말 */
.greetings{display: flex; gap:5rem; padding-bottom: 10rem;}
.greetings p{flex-basis: 50%; position: relative; padding:0 0 5rem 5rem ;}
.greetings p::before{content: ''; width: 50%; height: 50%; border-radius: 0 0 10rem 0; background: var(--main_color); position:absolute; bottom: 0; left: 0; z-index: -1;}
.greetings dl{flex:1}
.greetings dl dt{font-weight: bold; font-size:3.6rem; padding-bottom: 2rem;}

.greetings dl dd span{ color:var(--sub_color)}
.greetings dl dd em{text-align: right; font-weight: bold; font-size: 2.4rem; display: block;}
.greetings dl dd em img{max-width: 150px; width: 100%;}

/*회사개요*/
.about_bg{background: url(../images/company/about_bg.jpg) no-repeat center bottom ; background-size: cover !important;}
.common_info{ box-sizing:border-box;}

.common_info dl{padding-left:70px; background-position:10px center; background-repeat:no-repeat; background-size:40px !important; box-sizing:border-box; min-height:50px}
.common_info dt{font-weight:700; font-size:0.9em;  margin-bottom:10px; color:#212121}
.common_info dd.tit{font-size:1.1em; font-weight:500; line-height:1.4}
.common_info dd{margin-bottom:5px;}
.common_info dd:last-child{margin-bottom:0;}
.common_info .info_box{padding:20px; 
    -webkit-backdrop-filter: saturate(180%) blur(15px);
    backdrop-filter: saturate(180%) blur(15px);
    background-color: rgba(255, 255, 255, 0.4); margin-bottom: var(--mb); border-radius: var(--bdr);}
.common_info .info_box:first-child{border-top:0; margin-top:0; }

.common_info dl.company01{background-image:url(../images/company/ic_company01.png)}
.common_info dl.company02{background-image:url(../images/company/ic_company02.png)}
.common_info dl.company03{background-image:url(../images/company/ic_company03.png)}
.common_info dl.company04{background-image:url(../images/company/ic_company04.png)}


@media all and (min-width:768px) {
.common_info{padding:0px 0px; border-width:5px; display:flex; flex-wrap:wrap; gap: 2%; }
.common_info .info_box{width:23.5%; margin:0; border:0; padding:0 20px; position:relative;  text-align:center; margin-bottom: 0;}
.common_info dl{padding:0px; padding-top:95px; padding-bottom:30px; background-position: center 30px !Important;  background-size:50px !important; box-sizing:border-box}
.common_info dd{background:none; padding-left:0}
.common_info dd.tit{font-size:1.2em;}
}

@media all and (min-width:1200px) {
.common_info dt{font-size:1em}
.common_info dl{background-size:60px !important; }
}

/*조직도*/


/*조직도*/
.organization{text-align:center; position:relative; max-width:1300px; margin:0 auto}
.organization:before{content:''; width:1px; height:300px; left:0; right:0; top:0; margin:auto;  position:absolute; display:block; background:var(--bdColor)}
.organization .ordep{position:relative; margin-bottom:var(--mb) !important}

.organization .ordep.or01{}
.organization .ordep.or02{display: flex; justify-content: space-between; max-width: 600px; margin: 0 auto;}
.organization .ordep span{display: block; font-size: 0.6em;}
.organization .ordep .orhd{display:block; padding:15px 10px; background:#808080; color:#fff; position:relative;  font-weight:600; }

.organization .or01 .orhd{background:var(--main_color); padding:15px 30px; font-size:1.2em; width:180px; left:50%; margin-left:-90px}
.organization .or02 .orhd{background:var(--sub_color)  }

.organization .ordep.or03{margin-bottom:50px}
.organization .or03 .orhd{background:#3b4315; }
.organization .or04 .orhd{background:var(--gr_color3); }

.organization .ordep .orhd:before{position: absolute; top: -6px; left: 50%; margin-left: -6px; display: block; content: ''; width: 5px; height:5px; border:3px solid #fff;  background-color: var(--bdColor); -webkit-border-radius: 100%; box-sizing: content-box; }
.organization .or01 .orhd:before{background:var(--main_color);; top:auto; bottom:-6px}
.organization .or02 .orhd:before{background:var(--sub_color); top:50%; right:0; margin-top:-5px; margin-left: auto; margin-right: -6px;}
.organization .or02 .orhd.right:before{right:auto; left: 0; margin-left: -6px; margin-right: auto;}
.organization .or03 .orhd:before{background:#3b4315; left:0; top:50%; margin-top:-5px}
.organization .or04 .orhd:before{background:var(--gr_color3);;}

.organization .or01 .orhd,
.organization .or02 .orhd,
.organization .or03 .orhd{webkit-box-shadow: 0px 0px 30px -5px rgba(0,0,0,0.2);
-moz-box-shadow: 0px 0px 30px -5px rgba(0,0,0,0.2);
box-shadow: 0px 0px 30px -5px rgba(0,0,0,0.2);}

.organization .or02 .orhd{padding:15px; width:100%; width:120px;  font-size:1.1em; text-align: center;}
.organization .or02 .orhd.right{}
.organization .or02:before{content:''; width:80%; height:1px; left: 0; right:0%; bottom:0; top:0; margin:auto;  position:absolute; display:block; background:var(--bdColor); max-width:500px}


.organization .or03{position:relative; max-width:800px; margin:0 auto; margin-bottom:30px}
.organization .or03:before{content:''; width:50%; height:1px; right:0%; bottom:0; top:0; margin:auto;  position:absolute; display:block; background:var(--bdColor); max-width:500px}
.organization .or03 .orhd{width:30%;  max-width:180px}
.organization .or03 .orhd.right{margin:0; margin-left:70%; float:right}

.organization .or04 .orhd{width:100%; padding:12px 5px; margin-bottom:10px}

.organization .or04{overflow:hidden;}
.organization .or04{text-align:center; padding-top:50px; position:relative; font-size:0.9em}
.organization .or04:before{content:''; width:66.66%; height:1px; background:var(--bdColor); top:0px; left:0; right:0; margin:auto; display:block; position:absolute; }

.organization .ordep{margin-bottom: var(--mb);}
.organization .ordep .ortree{ margin:0 auto; margin-bottom:30px; }
.organization .ordep .ortree:last-child{margin-bottom:0}
.organization .ordep .ortree ul li{padding:10px; background:#f7f7fa; margin-bottom:10px; border:1px solid var(--bdColor)}

.organization .ordep .ortree{width:31.33%; margin: 0 1%; float:left; vertical-align:top; position:relative;}
.organization .ordep .ortree:before{content:''; display:block; width:1px; height:60px; background:var(--bdColor);  left:0; top:-60px; right:0; margin:auto; position:absolute;}

.organization .or04 .ortree:nth-child(2):before{display: none;}


@media all and (min-width:768px) {

.organization:before{height:400px}
.organization .ordep{margin-bottom:var(--mb) !important}
.organization .ordep .orhd{padding:20px 20px !important; font-size: 1.2em}
.organization .or01 .orhd{font-size:1.4em; width:250px;  margin-left:-125px}
.organization .ordep.or02{max-width: 80%; margin: 0 auto;}
.organization .or02 .orhd{font-size:1.4em; width:230px;}



.organization .or04{padding-top:var(--mb); margin:0 auto; font-size:1em}
.organization .ordep .ortree ul li{padding: 15px 10px}
.organization .ordep .ortree:before{height:80px; top:-80px}
}

@media all and (min-width:1200px) {
.organization:before{height:500px}
.organization .ordep .ortree ul{ min-height:120px}
.organization .ordep.or02{max-width: 70%;}
}






/* 연혁 */
.history_con{display: flex; flex-wrap: wrap; position: relative; padding:5rem 0}
.history_con::before{content: ''; width: 1rem; height: 100%; background:var(--main_color); position: absolute; top: 0; left: 50%; transform: translateX(-50%);}
.history_con dl{width:50%; /*display: flex; gap:3rem; align-items: center; */position: relative; padding:0 10rem;  margin-top:15rem;}
.history_con dl::before{content: ''; width: 1.5rem; height: 1.5rem; background:#fff; border: 3px solid var(--main_color); border-radius: 100%; position: absolute; top: 0; left:-.7rem; z-index: 1;}
.history_con dl::after{content: ''; width: 5rem; height:1px; background: var(--main_color); position: absolute; top:.5rem; left: 0; }
.history_con dl dt{font-family: var(--font-eng); font-weight: bold; font-size:4rem; color:var(--main_color); margin-bottom: 2rem;}
.history_con dl:nth-child(odd){text-align:right;  margin-top:5rem;}
.history_con dl:nth-child(odd)::before{left:auto; right:-.7rem}
.history_con dl:nth-child(odd)::after{left:auto; right: 0;}
.history_con dl dd{display: inline-block; position: relative; padding-left: 1.5rem;}
.history_con dl dd::before{content: ''; width: .3rem;  height: .3rem; background: #333; border-radius: 10rem; position: absolute; top: 1rem; left:0}
.history_con dl dd p{padding:2rem 0}
.history_img::before{display: none;}



/*오시는길*/
.global_map{position:relative; text-align:center}
.global_map img{width:100%; max-width:800px; margin:0 auto;}

.root_daum_roughmap { width: 100% !important }
.root_daum_roughmap .cont .section { padding: 20px !important; background: #ffffff; margin: 0 !Important }

.mapinfo{position:relative;}
.mapinfo:after{content:''; display:block; clear:both;}
.mapinfo .map{position:relative}
.mapinfo .infobox{padding:30px 20px; position:relative; background:var(--main_color);  color:#ffffff}
.mapinfo .infobox h4{font-size:1.5em; margin-bottom:10px; font-weight:600}
.mapinfo .infobox p.add_txt{font-size:1.1em; position:relative; margin-bottom:15px; padding-bottom:15px; border-bottom:1px solid var(--bdColor); border-color:rgba(255,255,255,0.2)}
.mapinfo .infobox p.add_txt:before{ font-family: var(--icon); content:'\e55e';  margin-right: 5px; display: inline-block; vertical-align: middle;}

.mapinfo .infobox .map_txt{position:relative; margin-bottom:30px}
.mapinfo .infobox .map_txt h4{font-size:1.1em; color:#ffffff; font-weight:700; margin-bottom:10px; position:relative; text-transform:uppercase; letter-spacing:0}
.mapinfo .infobox .map_txt ul li{margin-bottom:2px; overflow:hidden; letter-spacing:0}
.mapinfo .infobox .map_txt ul li b{float:left; width:50px; font-weight:700 }
.mapinfo .infobox .map_txt ul li span{float:left; width:calc(100% - 50px);}
.mapinfo .infobox .map_txt ul li:last-child{margin-bottom:0px; }

.mapinfo .infobox a.link_road{display:block; text-align:center; font-weight:500; border:1px solid #ffffff; border-color:rgba(255,255,255,0.3); color:#ffffff; line-height:45px; }

.map_img{padding:20px; background:#f8f8f8}
.map_img img{width:100%;}

.mapinfo .map iframe{width: 100%;}

@media all and (min-width:1024px) {
.mapinfo {display: flex; flex-wrap: wrap;}
.mapinfo .infobox{width: 30%;}
.mapinfo .map{width: 70%;}
.mapinfo .infobox{padding:30px 40px; }
.mapinfo .infobox h4{font-size:1.8em}
.mapinfo .map iframe{height: 100%;}
}


@media all and (min-width:1200px) {
.mapinfo:after{content:''; display:block; clear:both}
.mapinfo .infobox{padding:50px; max-width: 30%;}

.mapinfo .infobox p.add_txt{font-size:1.1em}
}



/*인증현황*/
.certi_li{position:relative; display:flex; flex-wrap: wrap; gap: 2%; }
.certi_li:after{content:''; clear:both; display:block;}
.certi_li li{position:relative; width:49%; margin-bottom:20px; ; text-align:center}

.certi_li li img{width:100%; margin-bottom:5px; border: 3px solid var(--bgColor);}
.certi_li li span{display:block; letter-spacing:0; font-weight:700;  font-size:0.95em; }
.certi_li li span i{display: block; font-size: 0.9em;}

.certi_li.list02 li{width:49%;}

@media all and (min-width:768px) {
.certi_li li{width:32%;}
.certi_li li span{padding:5px;}
}

@media all and (min-width:1200px) {
.certi_li li{width:23.5%;}
}

@media all and (min-width:1400px) {
.certi_li li{width:18.4%;}
}
    

/*담당자연락처*/

.comm_table{width:100%; border-top:1px solid #4e5463; font-size:0.95em;}
.comm_table th, .comm_table td{border:1px solid #dcdcdc; padding:15px 3px; vertical-align:middle}
.comm_table th:first-child {border-left:none;}
.comm_table th:last-child {border-right:none;}
.comm_table td:first-child {border-left:none;}
.comm_table td:last-child {border-right:none;}

.comm_table .bl, .comm_table tr.bl td, .comm_table tr.bl th{border-left:1px solid #dcdcdc}

.comm_table .bli{border-left:1px solid #dcdcdc !important}
.comm_table th{font-weight:600; background:#fafafa; color:#000000}
.comm_table td.tit{font-size:1.05em; font-weight:600}

.comm_table tr.total td{background:#f8f8f8; font-weight:500}
@media all and (min-width:768px) {
.comm_table{font-size:1em;}
.comm_table th{padding:20px 10px}
.comm_table td{padding:15px 10px}
}

@media all and (min-width:1200px) {
.comm_table th{padding:20px 20px}
.comm_table td{padding:15px 20px}
}


/* 온라인문의 */
.online_form{display: flex; gap:5rem}
.online_form h3{flex-basis: 30%;  font-size:1.6rem; font-weight: normal; padding:0 0 2rem 0}
.online_form h3 span{display: block; font-weight: bold; color:var(--main_color); font-size: 3rem;}
.online_form h3 p{position: relative;}



/* 라디오버튼 */
.radio_wrap {display: inline-block; position: relative; padding-left: 3rem; margin-right: 1rem; margin-bottom: 1.2rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
.radio_wrap input {position: absolute; opacity: 0; cursor: pointer;}
.checkmark {position: absolute; top: 0;left: 0; height: 2rem; width: 2rem; background-color: #eee; border-radius: 50%;}
.radio_wrap:hover input ~ .checkmark {background-color: #ccc;}
.radio_wrap input:checked ~ .checkmark {background-color:var(--sub_color);}
.checkmark:after {content: ""; position: absolute; display: none; }
.radio_wrap input:checked ~ .checkmark:after { display: block;  }
.radio_wrap .checkmark:after { top: 50%; left: 50%; transform: translate(-50%, -50%);  width: 8px;  height: 8px; border-radius: 50%; background: white; }

.form_area{width: 70%;}
.online_form p{padding-top: 2rem;}
.online_form dl{display:flex; align-items: center; padding:3rem 0; border-bottom:1px dotted #ccc}
.online_form dl dt{width:20%; text-align: center;}
.online_form dl dd{width: 80%;}
.form_input{border: 1px solid #ccc; padding:1rem; width:100%; font-size:1.4rem}
.form_text{border: 1px solid #ccc; padding:2rem; width:100%; height: 30rem; overflow-y: auto;  font-size:1.4rem}
#btn_submit{background: var(--sub_color); color:#fff; padding:1rem 2rem}



/* 아코디언 */
.beefup {margin: 1em 0; border: 1px solid #ddd; border-radius: 4px; }
.beefup:hover {border-color: #ccc;}
.beefup:first-child {margin-top: 0;}
.beefup__head, .beefup__body {padding: 2rem;}
.beefup__head {cursor: pointer; position: relative; margin: 0; padding-right: 50px;}
.beefup__head span{display: inline-flex; justify-content: center; align-items: center; width: 5rem; height: 5rem; margin-right: 3rem; border-radius: 100%; background: var(--sub_color); color:#fff; font-family: var(--font-eng);}
button.beefup__head, .beefup__head > button { cursor: pointer; display: block; width: 100%; background: none; border: 0; font: inherit; text-align: inherit;}
button.beefup__head[aria-disabled], .beefup__head > button[aria-disabled] {cursor: default; outline: 0; }
.beefup__head > button{position: relative; z-index: 1; margin: -10px -50px -10px -20px; padding: inherit; width: calc(100% + 70px); background: inherit; border: inherit;}
.beefup__head::after {transition: transform 0.2s ease-out; content: ""; transform: translate(0, -50%) rotate(45deg); position: absolute; top: 50%; right: 20px; z-index: 0; margin-top: -2px; padding: 3px; border-width: 0 2px 2px 0; border-style: solid; color: #ccc;}
.beefup.is-open > .beefup__head::after {transform: translate(0, -50%) rotate(225deg); margin-top: 2px;}
.mockup{background: #fafafa; padding:2rem}  







