/* header start */
/* top */
.top{position:fixed; top:0px; left:0; z-index:997; width:100%; height:80px; background-color: #fff;}
.top.on{background:#fff; border-bottom:1px solid #ccc;}
.top .menubtn{position:relative; float:right; width:63px; margin-top:16px;}
.top .menubtn ul{position:absolute; top:0; left:0; width:63px; height:50px; padding:4px 16px;}
.top .menubtn ul li{height:1px; margin:10px 0; background:#000; transition:all 0.5s; transform-origin: left center;}
.top .menubtn ul li.on{background:#000;}
.top .menubtn ul li:nth-child(2){width:50%;}
.top .menubtn.on ul .bar_t{transform:rotate(45deg);}
.top .menubtn.on ul .bar_m{width:0;}
.top .menubtn.on ul .bar_b{transform:rotate(-45deg);}
.top .logo{padding-left:15px; padding-top:15px;}
.top .logo img{height:50px;}
.top .logo .logo_c.on{display: none;}
.top .logo .logo_b{display: none;}
.top .logo .logo_b.on{display: block;}
/* sidemenu */
.menubox{position:fixed; top:0; left:-100%; z-index:998; width:100%; height:100%; transition:all 0.3s; background:#fff; overflow:auto;}
.menubox .logo{position: absolute; padding-left:15px; padding-top:15px; z-index: 999;}
.menubox .logo a{display: block; width:100%;}
.menubox .logo img{height:50px;}
.menubox.on{left:0;}
.sidemenu_head{position:relative; padding:40px 16px 40px; margin-bottom:10px; background-color: #333;}
.sidemenu_head ul{position:absolute; top:15px; right:0; width:63px; height:50px; padding:4px 16px;}
.sidemenu_head ul li{height:1px; margin:10px 0; background:#fff; transition:all 0.5s; transform-origin: left center;}
.sidemenu_head ul .bar_t{transform:rotate(45deg);}
.sidemenu_head ul .bar_m{width:0;}
.sidemenu_head ul .bar_b{transform:rotate(-45deg);}
.sidemenu_head p:nth-of-type(1){font-size:30px; color:#000;}
.sidemenu_head p:nth-of-type(2){margin-top:10px; font-size:16px; color:#000;}
.sidemenu_body{padding:0 10px;}
.sidemenu_body .sidemenu{margin-bottom:5px;}
.sidemenu_body .sidemenu p{position:relative; padding:20px; font-size:16px; font-weight:700; color:#fff; background:#fff; border-bottom:1px solid #ccc;transition:all 0.5s;}
.sidemenu_body .sidemenu p:hover{opacity:1;}
.sidemenu_body .sidemenu p .arrow{position:absolute; top:19px; right:15px; width:15px; height:15px; background:url('../img/mplus.png') no-repeat center; transition:all 0.3s;}
.sidemenu_body .sidemenu p.open .arrow{transform:rotate(135deg);}
.sidemenu_body .sidemenu p a{color:#333; display: block;}
.sidemenu_body .sidemenu ul{display:none; padding:5px 0 20px; background:#fff;}
.sidemenu_body .sidemenu ul li{margin-bottom:5px;}
.sidemenu_body .sidemenu ul li a{display:block; padding:15px 35px; font-size:14px; font-weight:400; color:#333; border-bottom:1px solid #ddd;}
/* header end */

/* visual swiper start */
.visual{
  width:100%;
  height:0;
  overflow: hidden;
  padding-top:163.25%;
  position: relative;
  margin-top:80px;
}
.visual iframe{
  position: absolute;
  top:-60px;
  left:0;
  width:100%;
  height:calc(100% + 120px);
  transition: all .3s ease-in-out;
}
.visual::before{
  content: '';
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 9;
}

.typo{
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  z-index: 99;
  text-align: center;
  width:100%;
}

.typo span{
  display:block;
  color:#fff;
  transition:all 1s ease-in-out;
}
.typo span:nth-of-type(1){
  font-size:32px;
  font-weight: 800;
  transition-delay:0s;
}
.typo span:nth-of-type(2){
  font-size:16px;
  font-weight: 200;
  transition-delay:0s;
}
/* visual swiper end */

/* image_show_wrap 공통 */
section .image_show_wrap,
section .image_show_wrap2{
    position: relative;
    top: 0px;
    left: 0%;
    width: 100%;
}
section .image_show_wrap{overflow: hidden; animation-duration: 1.4s;}
section .image_show_wrap2{animation-duration: 1.4s;}

section .show_img01{animation-name: show_img01;}
@keyframes show_img01{
    0%{opacity: 0; transform: translate3d(-100%, 0, 0);}
}
section .show_img02{animation-name: show_img02;}
@keyframes show_img02{
    0%{opacity: 0; transform: translate3d(100%, 0, 0);}
}
section .show_img03{animation-name: show_img03;}
@keyframes show_img03{
    0%{opacity: 0; transform: translate3d(100%, 0, 0);}
}
section .show_img04{animation-name: show_img04;}
@keyframes show_img04{
    0%{opacity: 0; transform: translate3d(-100%, 0, 0);}
}
section .show_img05{animation-name: show_img05;}
@keyframes show_img05{
    0%{opacity: 0; transform: translate3d(0, 100%, 0);}
}
section .show_img06{animation-name: show_img06;}
@keyframes show_img06{
    0%{opacity: 0; transform: translate3d(0, -100%, 0);}
}
/* image_show_wrap 공통 */

/* image 확대 공통 */
.clip-animation {
  clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
  animation: clipExpand 1s cubic-bezier(0.770, 0.000, 0.175, 1.000) forwards;
}
@keyframes clipExpand {
  from {
      clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
  }
  to {
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
/* image 확대 공통 */

/* ------------------------------------- section ------------------------------------- */
/* section1 */
.q_box{padding:60px 0;}
.q_box h2{
  font-size:32px;
  color:#27975c;
  text-align: left;
}
.q_box h2 span{
  font-size:32px;
  color:#df1308;
}
.q_box .inner > p{
  font-size:16px;
  color:#333;
  text-align: left;
  font-weight: 600;
}

/* visual swiper start */
.q_box_list .swiper {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    margin-top:20px;
}

.q_box_list .swiper-slide {
    width:100%;
    text-align: center;
    font-size: 18px;
    background: #fff;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.q_box_list .swiper-slide img{
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    object-fit: cover;
}
.q_box_list .swiper-slide .clip-animation{padding:10px;}
.q_box_list .swiper-slide .tit{padding:20px; text-align: left;}
.q_box_list .swiper-slide .tit h3{
  font-size:20px;
  color:#148330;
  text-align: left;
  margin-bottom:10px;
}
.q_box_list .swiper-slide .tit p{
  font-size:18px;
  color:#0958ba;
  text-align: left;
}
.q_box_list .swiper-slide .tit .q_box_btn{
  display: inline-block;
  margin-top:20px;
  text-align: left;
  font-size:16px;
  color: rgb(28, 62, 112);
  position: relative;
}
.q_box_list .swiper-slide .tit .q_box_btn::before {
  content: "→";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -35px;
  font-size: 24px;
  color: rgb(28, 62, 112);
  transition: 0.3s ease-in-out;
}
/* q_box_list swiper end */

.q_box .q_box_list ul li.on .q_box_img{display: block; animation: focusIssue .8s ease-out;}
@keyframes focusIssue {
  from {
      opacity: 0;
      transform: scale(0);
  }
  to {
      z-index: 2;
      opacity: 1;
      transform: scale(1);
  }
}
/* section1 */



/* section2 */
.main_examp_wrap{
  padding:60px 0 160px 0;
  position: relative;
}
.main_examp_wrap::after{
  content: '';
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background: url(../../img/section2/section2_bg.jpg) no-repeat 50% fixed;
  background-size: cover;
  z-index: -2;
}
.main_examp_wrap::before{
  content: '';
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: -1;
}
.main_example1{margin-bottom:120px;}
.main_example1 h2{
  font-size:32px;
  color:#fff;
  text-align: center;
}
.example_slide1{
  margin-top:30px;
  position: relative;
}
.main_example1 .swiper {
  width: 100%;
  height: 100%;
  padding-top:20px;
}
.main_example1 .swiper-slide {
  text-align: center;
  font-size: 18px;
  background: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main_example1 .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main_example1 .swiper a{display: block; width:100%;}
.main_example1 .slide_img{
  overflow: hidden;
  position: relative;
  padding-top:70%;
  width:100%;
  background-color: #000;
}
.main_example1 .slide_img img{
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  transition: all .3s ease-in-out;
}
.main_example1 .swiper-slide:hover .slide_img img{transform: scale(1.1); opacity: .8;}

.main_example1 .slide_tit p{
  font-size:18px;
  color:#fff;
  text-align: center;
  padding:10px 0;
  transition: all .3s ease-in-out;
  background-color: transparent;
}
.main_example1 .swiper-slide:hover .slide_tit p{color:#bf0b2c;}


.main_example1 .swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background-color: #0b582a;
}
.main_example1 .swiper .swiper-horizontal>.swiper-pagination-progressbar,
.main_example1 .swiper .swiper-pagination-progressbar.swiper-pagination-horizontal,
.main_example1 .swiper .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.main_example1 .swiper .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:2px; background-color: #fff;}


/* button */
.main_example1 .example_buttom_wrap{
  position: absolute;
  bottom:-100px;
  left:50%;
  transform: translateX(-50%);
}
.main_example1 .example_buttom_wrap .example_buttom{
  padding: 15px 30px;
  display: inline-block;
  transform: translate(0%, 0%);
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  letter-spacing: 2.5px;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  /* -webkit-box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5); */
  position: relative;
  margin-top: 40px;
  border: 1px solid #fff;
  transition: all .3s ease-in-out;
}
.main_example1 .example_buttom_wrap .example_buttom:hover{background-color: #0b582a; color:#fff;}

.main_example1 .example_buttom_wrap .example_buttom span {
  position: absolute;
}

.main_example1 .example_buttom_wrap .example_buttom span:nth-child(1) {
  top: 0px;
  left: 0px;
  width: 100%;
  height: 2px;
  background: linear-gradient(to left, rgba(43, 8, 8, 0), #0b582a);
  animation: 2s animateTop linear infinite;
}
@keyframes animateTop {
  0% {transform: translateX(100%);}
  100% {transform: translateX(-100%);}
}

.main_example1 .example_buttom_wrap .example_buttom span:nth-child(2) {
  top: 0px;
  right: 0px;
  height: 100%;
  width: 2px;
  background: linear-gradient(to top, rgba(43, 8, 8, 0), #0b582a);
  animation: 2s animateRight linear -1s infinite;
}
@keyframes animateRight {
  0% {transform: translateY(100%);}
  100% {transform: translateY(-100%);}
}

.main_example1 .example_buttom_wrap .example_buttom span:nth-child(3) {
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, rgba(43, 8, 8, 0), #0b582a);
  animation: 2s animateBottom linear infinite;
}
@keyframes animateBottom {
  0% {transform: translateX(-100%);}
  100% {transform: translateX(100%);}
}

.main_example1 .example_buttom_wrap .example_buttom span:nth-child(4) {
  top: 0px;
  left: 0px;
  height: 100%;
  width: 2px;
  background: linear-gradient(to bottom, rgba(43, 8, 8, 0), #0b582a);
  animation: 2s animateLeft linear -1s infinite;
}
@keyframes animateLeft {
  0% {transform: translateY(-100%);}
  100% {transform: translateY(100%);}
}
/* button */



.main_example2{margin-top:200px;}
.main_example2 h2{
  font-size:32px;
  color:#fff;
  text-align: center;
}
.example_slide2{
  margin-top:30px;
  position: relative;
}
.main_example2 .swiper {
  width: 100%;
  height: 100%;
  padding-top:20px;
}
.main_example2 .swiper-slide {
  text-align: center;
  font-size: 18px;
  background: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main_example2 .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main_example2 .swiper a{display: block; width:100%;}
.main_example2 .slide_img{
  overflow: hidden;
  position: relative;
  padding-top:70%;
  width:100%;
  background-color: #000;
}
.main_example2 .slide_img img{
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  transition: all .3s ease-in-out;
}
.main_example2 .swiper-slide:hover .slide_img img{transform: scale(1.1); opacity: .8;}

.main_example2 .slide_tit p{
  font-size:18px;
  color:#fff;
  text-align: center;
  padding:10px 0;
  transition: all .3s ease-in-out;
  background-color: transparent;
}
.main_example2 .swiper-slide:hover .slide_tit p{color:#bf0b2c;}


.main_example2 .swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background-color: #0b582a;
}
.main_example2 .swiper .swiper-horizontal>.swiper-pagination-progressbar,
.main_example2 .swiper .swiper-pagination-progressbar.swiper-pagination-horizontal,
.main_example2 .swiper .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.main_example2 .swiper .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:2px; background-color: #fff;}


/* button */
.main_example2 .example_buttom_wrap{
  position: absolute;
  bottom:-100px;
  left:50%;
  transform: translateX(-50%);
}
.main_example2 .example_buttom_wrap .example_buttom{
  padding: 15px 30px;
  display: inline-block;
  transform: translate(0%, 0%);
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  letter-spacing: 2.5px;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  /* -webkit-box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5); */
  position: relative;
  margin-top: 40px;
  border: 1px solid #fff;
  transition: all .3s ease-in-out;
}
.main_example2 .example_buttom_wrap .example_buttom:hover{background-color: #0b582a; color:#fff;}

.main_example2 .example_buttom_wrap .example_buttom span {
  position: absolute;
}

.main_example2 .example_buttom_wrap .example_buttom span:nth-child(1) {
  top: 0px;
  left: 0px;
  width: 100%;
  height: 2px;
  background: linear-gradient(to left, rgba(43, 8, 8, 0), #0b582a);
  animation: 2s animateTop linear infinite;
}
@keyframes animateTop {
  0% {transform: translateX(100%);}
  100% {transform: translateX(-100%);}
}

.main_example2 .example_buttom_wrap .example_buttom span:nth-child(2) {
  top: 0px;
  right: 0px;
  height: 100%;
  width: 2px;
  background: linear-gradient(to top, rgba(43, 8, 8, 0), #0b582a);
  animation: 2s animateRight linear -1s infinite;
}
@keyframes animateRight {
  0% {transform: translateY(100%);}
  100% {transform: translateY(-100%);}
}

.main_example2 .example_buttom_wrap .example_buttom span:nth-child(3) {
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, rgba(43, 8, 8, 0), #0b582a);
  animation: 2s animateBottom linear infinite;
}
@keyframes animateBottom {
  0% {transform: translateX(-100%);}
  100% {transform: translateX(100%);}
}

.main_example2 .example_buttom_wrap .example_buttom span:nth-child(4) {
  top: 0px;
  left: 0px;
  height: 100%;
  width: 2px;
  background: linear-gradient(to bottom, rgba(43, 8, 8, 0), #0b582a);
  animation: 2s animateLeft linear -1s infinite;
}
@keyframes animateLeft {
  0% {transform: translateY(-100%);}
  100% {transform: translateY(100%);}
}
/* button */
/* section3 */



/* section3 */
.banner{padding:60px 0;}
.banner .inner > span{
  display: block;
  text-align: center;
}
.banner .inner > span img{width:250px;}
.banner h2{
  font-size:32px;
  color:#000;
  text-align: center;
  margin-top:30px;
}
.banner ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top:30px;
}
.banner ul li{width:100%; margin:10px 0;}
.banner ul li .img{
  position: relative;
  border:3px solid #148330;
  width:300px;
  height:300px;
  margin:0 auto;
  border-radius: 50%;
  overflow: hidden;
}
.banner ul li .img::before{
  content: '';
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 0;
}
.banner ul li .img .tit{
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  width:100%;
  z-index: 1;
}
.banner ul li .img .tit h4 span{
  display: block;
  font-size:18px;
  font-weight: 400;
  color:#fff;
  text-align: center;
}
.banner ul li .img .tit h4{
  font-size:24px;
  color:#fff;
  text-align: center;
  line-height:24px;
}
.banner ul li p{
  font-size:18px;
  color:#333;
  text-align: center;
  padding:20px;
  line-height:32px;
  margin-top:10px;
}
/* section3 */



/* section4 */
.custommer{
  padding:60px 0;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.custommer::after{
  content: '';
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: -1;
}
.custommer::before{
  content: '';
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background: url(../../img/section4/section4_bg.jpg) no-repeat 50% fixed;
  background-size: cover;
  z-index: -2;
}
.custommer h2{
  font-size:32px;
  color:#fff;
  text-align: center;
}
.custommer h2::before{background-color: #333;}
.custommer > p{
  font-size:16px;
  color:#fff;
  text-align: center;
  padding:20px 0;
  line-height:32px;
}
.custommer_icon{
  margin-top:60px;
  text-align: center;
}
.custommer_icon ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap:10px;
}
.custommer_icon ul li{width:48%; margin:20px 0}
.custommer_icon .s_icon{height:100px;}
.custommer_icon .s_icon img{vertical-align: middle; transition: all .3s ease-in-out;}
.custommer_icon h3{
  font-size:24px;
  color:#fff;
  padding:20px 0;
}
.custommer_icon p{
  font-size:16px;
  line-height:30px;
  color:#fff;
}
.custommer_icon span{
  display: block;
  margin-top:60px;
}
.custommer_icon span a{
  font-size:16px;
  color:#fff;
  text-align: left;
  background-color: #000;
  transition: all .3s ease-in-out;
  padding:10px 60px 10px 20px;
  position: relative;
}
.custommer_icon span a::before{
  position: absolute;
  content: '';
  top:50%;
  transform: translateY(-50%);
  right:20px;
  background: url(../../img/section4/arrow.png) no-repeat;
  width:29px;
  height:6px;
  transition: all .3s ease-in-out;
}

.custommer_icon span:hover a{background-color: #148330;}
.custommer_icon span:hover a::before{right:10px;}
/* section4 */


/* footer */
.footer{
  padding:30px 0;
  background-color: #333;
}
.footer ul:nth-of-type(1){margin-bottom:30px;}
.footer li{text-align: center;}
.footer li img{width:200px;}
.footer li p{
  font-size:12px;
  line-height: 28px;
  color:#ccc;
  font-weight: 300;
  letter-spacing: -1px;
}
.footer li span{
  display: block;
  font-size:11px;
  color:#ccc;
  text-align: center;
}
/* footer */

/* ------------------------------------- section ------------------------------------- */

/* top_btn */
.topbtn{
  position: fixed;
  bottom:70px;
  right:20px;
  z-index:9999999;
  width:30px;
  height:30px;
  border-radius: 40px;
  background-color:  #148330;
  transition: all 0.5s ease;
  opacity: 0;
}
.topbtn.on{opacity: 1;}

.topbtn img{
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  width:20px;
}

.topbtn:active,
.topbtn:hover
{color:#fff; transition:all 0.5s ease; background-color: #151515;}
/* top_btn */

/* m_phone */
.m_phone{
  width:100%;
  max-width:800px;
  min-width:300px;
  position: fixed;
  bottom:0;
  z-index: 99999999999999999;
  text-align: center;
}