/*기본*/
html,body,div,p,h1,h2,h3,h4,h5,h6,dl,dt,dd,ol,ul,li,blockquote,pre,button,fieldset,form,legend,table,caption,tbody,tfoot,thead,tr,th,td,iframe,article,aside,canvas,details,embed,figure,figcaption,header,footer,menu,nav,section,summary,audio,video{ margin:0; padding:0; box-sizing:border-box; color: #4d4d4d;}
a,em,span {margin: 0; padding: 0;}
li {list-style: none;}
a {text-decoration: none; color: #4d4d4d;}



html, body{ position:relative;  letter-spacing: -0.05em; overflow-x: hidden;}
body{height:100%;}
.clearfix{display: block;}
.wrap{width: 1820px; max-width: 100%; margin:0 auto;}

/*반응형*/
@media (min-width: 1024px) {
  .wrap { width: 80%;}
}
@media (min-width: 200px) {
  .wrap { width: 95%; }
}


/* 링크 */
#link_site{background-color: #f4f4f4; height:36px; width:100%;}
#link_site ul{display: flex; justify-content: right; line-height: 36px;}
#link_site ul li{float: left; } 
#link_site ul li:nth-child(1){background-color: #9acf3f;}
#link_site ul li:nth-child(2){background-color: #3fcf75;}
#link_site ul li a{color: #fff; font-size: 14px; display: inline-block; padding: 0 36px;}
#link_site ul li:nth-child(1) a:hover{background-color: #80b12d;}
#link_site ul li:nth-child(2) a:hover{background-color: #29a85a;}
@media all and (max-width:360px){
    #link_site ul li{float: left; padding:0 10px;} 
    #link_site ul li a{padding:0;}
}

/* header */
#header {width: 100%;z-index: 1000;position: relative; /*box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);*/}
#header .wrap {display: flex;/* align-items: end; */position: relative;}
#header .wrap::after { content: ''; width: 100%; height: 0; background-color: rgba(0,0,0,0.8); position: absolute; top: 99px; left: 0; z-index: -1; transition: all 400ms;}
#header .wrap.on::after {height: 160px;}
#header .wrap .logo {width: 20%; display: flex; align-items: center;}
#header .wrap .logo a {display: inline-block;}
#header .wrap .nav {width: 80%;}
#header .wrap .nav > ul {display: flex;justify-content: right;}
#header .wrap .nav > ul > li {position: relative; cursor: pointer; /*height:100px;*/ align-items: center; display: flex;}
#header .wrap .nav > ul > li:last-child{/*padding-right:0;*/}
#header .wrap .nav > ul > li > a {position: relative; text-transform: uppercase; display: block;padding: 0;font-weight: 600;font-size: 20px; line-height: 100px;padding: 0 61px;}

.menu_style a.first_menu { -webkit-transition: color 0.3s; -moz-transition: color 0.3s; transition: color 0.3s;}
.menu_style a.first_menu:before {position: absolute; top: 34%; left: 50%; color: transparent; content: '•'; text-shadow: 0 0 transparent; font-size: 13pt; -webkit-transition: text-shadow 0.3s, color 0.3s; -moz-transition: text-shadow 0.3s, color 0.3s; transition: text-shadow 0.3s, color 0.3s; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); transform: translateX(-50%); pointer-events: none;}
.menu_style a.first_menu:hover:before, .menu_style a.first_menu:focus:before {color: #000; text-shadow: 10px 0 #000, -10px 0 #000;}
.menu_style a:hover, .menu_style a.first_menu:focus {color: #999;}

#header .wrap .nav > ul > li > ul {display:none; position: absolute; right: 0; top: 100px; width: 100%;  height:auto; background-color:#ececec ;}
#header .wrap .nav > ul > li > ul > li > a {padding:15px; display: inline-block; width: 100%; box-sizing: border-box; text-align: center; font-size: 15px;}
#header .wrap .nav > ul > li > ul > li > a:hover {color:#000; background-color: #fff;}
#header .wrap .m_nav{display: none;}

@media all and (max-width:900px){
  #header .wrap .nav {display: none;}
  #header .wrap .m_nav{display: block; width:80%;}

  #m_header{display: flex; justify-content: space-between;}
  #m_header_menu {cursor: pointer; width: 50%; display: flex; justify-content: flex-end;}
  #m_header_menu span {width: 25px; height: 2px; background-color: #767676; position: absolute;  transition: .4s ease-in-out;}

  #m_header_menu span:nth-child(1) {top: 10px;}
  #m_header_menu span:nth-child(2) {top: 17px;}
  #m_header_menu span:nth-child(3) {top: 24px;}

  #m_header_menu.open span:nth-child(1) {top: 20px; transform: rotate(135deg);}
  #m_header_menu.open span:nth-child(2) {opacity: 0;}
  #m_header_menu.open span:nth-child(3) {top: 20px; transform: rotate(-135deg);}

  #m_menu{padding-top: 50px; /*height: 100vh;*/}
  #m_menu .menu_list {position: absolute; width: 100%;  z-index: 999; display: flex; flex-direction: column; border-radius: 0 0 0 50px; background-color: #f4f4f4; padding: 30px;}
  .menu_list01 {display: flex; font-size: 19px; font-weight: bold; line-height: 1.5;  flex-direction: column; width: 100%; height: 100%;}
  .menu_list01 a{position: relative; padding: 10px 10px;}
  .submenu{background-color: #fff; padding: 18px 27px;}
  .submenu li{font-size: 15px; font-weight: normal; line-height: 1.6; color: #767676;}
  .submenu li a {display: block; padding: 5px 0;}
}



.top_button {display: inline-block; background-color: #ee5555; color: #fff; font-size: 20px; align-items: center; width: 30px; height: 30px; line-height: 30px; text-align: center; border-radius: 50px; position: fixed; bottom: 30px; right: 13px; transition: background-color .3s, opacity .5s, visibility .5s; opacity: 0; visibility: hidden; z-index: 1000;}
.top_button:hover {cursor: pointer; background-color: #333;}
.top_button:active {background-color: #555;}
.top_button.show {opacity: 1; visibility: visible;}

@media (min-width: 500px) {
  #top_button {margin: 30px;}
}




/* footer */
#footer{width:100%; height:215px; border-top: 1px solid #dfdfdf;}
.footer_box{display: flex; margin-top: 60px;}
.footer_box .f_logo{width:306px;}
.footer_box .info{width: calc(100% - 610px);}
.footer_box .info span.info_tit{background-color: #efefef; text-align: center; font-weight: 600; display: inline-block; width:118px; padding:4px 0;}
.footer_box .info span{color:#898989;}
.footer_box .info .contact{margin-top: 17px; position: relative;}
.footer_box .info .contact .info_num{position: absolute; left: 123px; top: 5px; line-height: 22px;}
.footer_box .copy{width:304px; }
.footer_box .copy p{color:#b5b5b5;}


@media all and (max-width:1370px){
    .footer_box .f_logo{width:210px;}
    .footer_box .info{width: calc(100% - 507px);}
    .footer_box .copy{width:302px; }
}

@media all and (max-width:1200px){
    .footer_box{display: block;}
    .footer_box .info{width:100%;}
    .footer_box .info .contact .info_num{position: relative; display: block; margin:-29px 0 20px 0;}
}   

@media all and (max-width:360px){
    .footer_box .info .contact .info_num{margin:0; left: 0; margin-bottom: 20px;}
}