@charset "utf-8";
@import url("reset.css");


/* 상단 레이아웃 */
#hd {background:#212020}
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}



#header{ display:flex; justify-content: center; align-items: center; position:fixed; top:0; left:0; width:var(--wide-full); z-index:2000; transition:background 0.2s linear; padding-bottom:1.2500vw}
#header.is-active{ background:rgba(0,0,0,0.8); backdrop-filter:blur(10px);}
#header .inner{ width:var(--cont-width); justify-content: space-between; position:relative; padding:2.6042vw 0 0 0;}
#header .inner .header_text{ position:absolute; right:0; top:1.0417vw; font-size:clamp(18px, 1.0417vw, 20px); font-weight:100; text-align: right; }
#header .logo { width:7.0313vw;}
#header .gnb_menu_btn{display:none}
#gnb { position:relative; display:flex; justify-content: flex-end; align-items: center; gap:0 44px}
#gnb li,
#gnb a{ font-size:clamp(16px, 0.9375vw, 18px); }
#gnb a{ transition:color 0.2s linear}
#gnb a:hover{ color:var(--yellow)}

#gnb .gnb_close_btn {background:#fff;color:#b6b9bb;width:2.6042vw;height:2.6042vw;border:0;vertical-align:top;font-size:0.9375vw;position:absolute;top:0;right:0}

#gnb_all {display:none;}

@media (min-width:1024px) and (max-width:1440px){
  
  #header{ padding-bottom:1.2500vw}
  #header .inner{ padding:2.6042vw 0 0 0;}
  #header .inner .header_text{ top:1.0417vw; font-size:1.0417vw; }
  #header .logo { width:7.0313vw;}
  #gnb { gap:0 2.2917vw}
  #gnb a{ font-size:0.9375vw; }

}


@media (max-width:1023px){


#header{ padding-bottom:0; height:5rem; background:rgba(2,2,2,0.8)}
#header.is-active{ background:rgba(2,2,2,0.8); }
#header .inner{ padding:0 1.8rem 0 1rem;}
#header .inner .header_text{ display:none }
#header .logo { width:13.5rem;}
#header .gnb_menu_btn{display:block; width:1.9rem; background:transparent; position:relative; z-index:200}
#header .gnb_menu_btn [class*=bars]{ transition:all 0.2s linear}
#header .gnb_menu_btn.is-active .bars1{ transform:rotate(45deg); transform-origin:top top}
#header .gnb_menu_btn.is-active .bars2{ display:none; }
#header .gnb_menu_btn.is-active .bars3{ transform:rotate(-45deg); transform-origin:left bottom}
#gnb { display:none }

#gnb_all {display:none;position:fixed;width:100vw; height:100vh; top:0; left:0; background:rgba(0,0,0,0.8);z-index:199; padding:7.6rem 1rem 1rem 1rem}
#gnb_all.is-active {display:flex; flex-direction:column; align-items:flex-start}
#gnb_all h2 {font-size:0}
#gnb_all a { width:var(--wide-full); font-size:1.6rem; padding:0.8rem 0 0.8rem 0.8rem}
#gnb_all a + a {border-top:1px solid #444343}

}

/* 레이아웃 */
#wrapper { position:relative}

.inner{ display:flex; justify-content: center; align-items: center; position:relative; z-index:2; margin-left:auto; margin-right:auto}

#container { position:relative; display:block}
#container_title { display:flex; flex-direction: column; align-items: center; width:var(--wide-full); overflow:hidden}
#container_title span { font-size:2.0833vw}
#container_title em { font-size:1.0417vw; margin-top:0.5208vw}

@media (max-width:1023px){

#container_title span { font-size:2.5rem}
#container_title em { font-size:1.4rem; margin-top:1rem}

}

#main{}

.full_width{width:var(--wide-full); height:100vh; max-height:100vh; overflow: hidden; position:relative}
/*.ani:not(.animate__flipInX){opacity:0}*/
@media (max-width:1023px){

.full_width{}

}

.introduction{  }
.introduction .inner{ position:absolute; top:50%; left:50%; transform: translate(-50%,-70%); flex-direction: column; overflow: hidden; }
.introduction h2 { text-align: center; font-size:3.3854vw; font-weight:600; }
.introduction h3,
.introduction h4 { position:relative; font-size:3.3854vw; font-weight:300; padding:0 3.9063vw; text-align: center; white-space:nowrap}
.introduction h3:before,
.introduction h3:after { content:""; width:2.0313vw; height:1.2500vw; display:block; position:absolute}
.introduction h3:before{ background:url(/img/main/icon-main-copy-left.svg) no-repeat center / cover; top:0; left:0;}
.introduction h3:after { background:url(/img/main/icon-main-copy-right.svg) no-repeat center / cover; top:0; right:0}
.introduction h3 strong{ font-weight:600; text-align: center;}
.introduction h3 strong.green{ color:var(--green) }
.introduction h3 strong.yellow{ color:var(--yellow) }
.introduction .scroll{ position:absolute; bottom:8.5%; width:1.6667vw; z-index:2; left:49.167% }
.introduction .scroll svg{ width:100%}
.introduction .scroll .bars{ animation: bar_s 2s infinite linear}

.introduction .bg{ position:absolute; top:50%; left:50%; width:100%; height:100%; display:block; transform: translate(-50%, -50%); z-index:1 }
.introduction .bg img{ width:100%; height:100%; display:block; object-fit: cover;}
.introduction .bg .video{ width:100%; height:0; overflow:hidden; padding-bottom:56.25%; display:flex; position:relative}
.introduction .bg .video iframe{ position:absolute; left:0; top:0; width:100%; height:100%; display:block}


@media (max-width:1023px){

.introduction{ }
.introduction .inner{ width:90%; height:100%; top:0; transform:translate(-50%, 0); padding-bottom:20%}
.introduction h2 { font-size:2.2rem}
.introduction h3,
.introduction h4 { font-size:2.2rem; font-weight:300; padding:0 2rem; }
.introduction h3:before,
.introduction h3:after { content:""; width:1.2rem; height:0.8rem; }
.introduction h3:before{ top:12%; }
.introduction h3:after { top:12%; }
.introduction .scroll{ display:none}

.introduction .bg{ }
.introduction .bg img{ width:100%; height:100%; display:block; object-fit: cover;}
/*.introduction .bg .video{ padding-bottom:205%; }*/
.introduction .bg .video{ padding-bottom:177.78%; }


}

.company{ }
.company .inner{ position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); width:var(--cont-width); display:flex; justify-content: space-between; align-items: center; }
.company .script{ display:flex; flex-direction: column; align-items: flex-start; overflow:hidden; flex-shrink: 1;}
.company .script .title{ font-size:2.8646vw; font-weight:300; }
.company .script .title strong{ font-weight:700 }
.company .script .title strong.green{ color:var(--green) }
.company .script .title strong.yellow{ color:var(--yellow) }
.company .script h3.text{ margin-top:2.6042vw; font-size:1.5625vw; font-weight:500 }
.company .script p.text{ margin-top:1.4583vw; font-size:0.9375vw;  }
.company .movie{ width:38.4375vw; border-radius: 2.2917vw; overflow:hidden; display:flex; flex-shrink: 0; box-shadow: 1.5625vw 1.0417vw 1.0417vw rgba(0,0,0,0.8); }
.company .movie .youtube{width:100%; height:0; padding-bottom:56.25%; overflow: hidden; display:flex; position:relative}
.company .movie .youtube iframe{ position:absolute; width:100%; height:100%; display:block }

@media (max-width:1023px){

.company{ }
.company .inner{ position:static; transform: unset; width:calc(100% - 2rem); flex-direction:column; align-items:flex-start; margin:0 auto; /*padding-top:13.4rem*/ padding-top:0 }
.company .script .title{ font-size:2.2rem;}
.company .script h3.text{ margin-top:1.8rem; font-size:1.8rem }
.company .script p.text{ margin-top:1.2rem; font-size:1.4rem }
.company .movie{ width:100%; border-radius: 2rem; box-shadow: 3rem 2rem 2rem rgba(0,0,0,0.8); margin-top:2.6rem}

}

.about { background:url(/img/main/sc03-bg.jpg) no-repeat center top / 100% auto; display:flex; justify-content: center; align-items: flex-start; position:relative}
.about .inner{ display:grid; grid-template-columns:35% 1fr; width:var(--cont-width); align-items: stretch; gap:1.8750vw 0; padding:3.6458vw 0 0 0; overflow:hidden  }
.about .inner h2.title{ grid-column: 1 / span 2; width:var(--wide-full); font-size:2.8646vw;}
.about .inner .script{display:flex; flex-direction: column; position:relative}
.about .inner .script *{font-size:1.5625vw; font-weight:500}
.about .inner .script .text{ color:var(--yellow); margin-top:1.4583vw}
.about .inner .script .logo{position:absolute; bottom:0; left:0; width:8.3333vw}
.about .inner .ul_inner{ width:var(--wide-full); display:flex; justify-content: flex-end; align-items: flex-start;}
.about .inner ul{ width:var(--wide-full); display:grid; grid-template-columns: repeat(2, calc((100% - 1.5625vw) / 2)); gap:1.3542vw 1.5625vw}
.about .inner ul li{width:var(--wide-full); height:0; position:relative; padding-bottom:70.54%; border-radius: 1.5625vw; background:rgba(226,225,225,0.1); display:flex; flex-direction: column; align-items: center; justify-content: flex-start; overflow: hidden; cursor: pointer;}
.about .inner ul li div,
.about .inner ul li h4{ position:absolute; width:100%; }
.about .inner ul li h4{ transition:transform 0.2s linear}
.about .inner ul li .thumb{ top:0; left:0; height:48.57%; display:flex; justify-content: center; align-items: center; transition:transform 0.2s linear}
.about .inner ul li:hover .thumb{ transform: scale(1.1);}
.about .inner ul li:hover h4{ transform: scale(1.05);}
.about .inner ul li .thumb img{ width:auto; height:100%}
/*.about .inner ul li.s1 .thumb img{ width:22.7% }
.about .inner ul li.s2 .thumb img{ width:19.32% }
.about .inner ul li.s3 .thumb img{ width:22.7% }
.about .inner ul li.s4 .thumb img{ width:18.64% }*/
.about .inner ul li h4{ top:49.42%; font-size:1.5625vw; text-align: center; font-weight:700; color:var(--yellow)}
.about .inner ul li .info{ top:64.29%; font-size:0.9375vw; text-align: center; font-weight:var(--w-l)}
.about .inner ul li .info span{ color:var(--yellow)}
.about .swiper_inner{display:none}


@media (max-width:1023px){

  .about { background:url(/img/main/sc03-bg-m.png) no-repeat center top / 100vw 100vh; /*padding:12rem 0 0 0*/ padding:0}
  .about .inner{ grid-template-columns:1fr; align-items: flex-start; gap:0 0 }
  .about .inner h2.title{ grid-column: 1 / span 1; font-size:2.2rem;}
  .about .inner .script *{font-size:unset; }
  .about .inner .script h3.title{ font-size:1.8rem; margin-top:1.2rem; font-weight:500}
  .about .inner .script .text{ font-size:1.6rem; margin-top:1.7rem}
  .about .inner .script .logo{display:none}
  .about .inner ul{display:none}
  .about .swiper_inner{width:100%; position:relative; display:block; overflow:hidden; margin-top:4.5rem}
  .about .aboutSwiper{width:100%}
  .about .aboutSwiper .swiper-slide{ width:100% !important; height:0 !important; padding-bottom:79.4%; border-radius: 2.4rem; overflow:hidden; background:rgba(255,255,255,0.1); position:relative; display:flex; flex-direction:column; justify-content:flex-start }
  .about .aboutSwiper .swiper-slide .thumb{ width:100%; height:0; padding-bottom:38.18%; display:flex; justify-content: center; align-items: center; overflow:hidden; position:relative}
  .about .aboutSwiper .swiper-slide .thumb img{ width:auto; height:100%; position:absolute; top:0%; left:50%; transform:translate(-50%, 0);}
  /*.about .aboutSwiper .swiper-slide .thumb img{ position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); }*/
  /*.about .aboutSwiper .swiper-slide.s1 .thumb img{ width:7.7rem }
  .about .aboutSwiper .swiper-slide.s2 .thumb img{ width:8.5rem }
  .about .aboutSwiper .swiper-slide.s3 .thumb img{ width:8.5rem }
  .about .aboutSwiper .swiper-slide.s4 .thumb img{ width:8.5rem }*/
  .about .aboutSwiper .swiper-slide h4{ position:absolute; top:50.3%; font-size:2rem; color:var(--yellow); width:var(--wide-full); text-align:center }
  .about .aboutSwiper .swiper-slide .info{ position:absolute; top:64.8%; font-size:1.4rem; text-align:center; width:var(--wide-full); font-weight:300}
  .about .aboutSwiper .swiper-slide .info span{ color:var(--yellow)}
  .about .swiper-pagination{ position:static; width:var(--wide-full); margin-top:2.8rem}
  .about .swiper-pagination .swiper-pagination-bullet{ background:#d9d9d9; opacity:0.4; margin:0 0.8rem; width:0.5rem; height:0.5rem}
  .about .swiper-pagination .swiper-pagination-bullet-active{ background:var(--yellow)}

}

.portfolio{  }
.portfolio .inner{ display:grid; height:100vh; grid-template-columns: 30.93% 1fr; justify-content: flex-start; align-items: stretch; }
.portfolio .title_wrap{ width:var(--wide-full); background:var(--white); 
padding:6.7708vw 0 3.6458vw 4.5833vw; position:relative}
.portfolio .title_wrap h2{ font-size:2.8646vw; font-weight:700; color:#030303}
.portfolio .title_wrap ul{ display:grid; grid-template-columns: repeat(3, 132px); gap:6px; margin-top:2.0833vw}
.portfolio .title_wrap ul li{ background:rgba(0,0,0,0.8); border:2px solid #4A4A4A; font-size:1.0417vw; padding:0.5208vw 0; border-radius:1.2500vw; text-align: center; }
.portfolio .title_wrap .btn_more{ position:absolute; left:88px; bottom:70px; font-size:1.0417vw; color:var(--black); display:flex; justify-content: flex-start; align-items: center; gap:0 8px}
.portfolio .title_wrap .btn_more i{ width:1.1458vw; display:flex; align-items: center;  transition:transform 0.2s linear}
.portfolio .title_wrap .btn_more:hover i{ transform:translateX(10%); }
.portfolio .board_wrap{ width:var(--wide-full); display:flex; justify-content: center; align-items: center; }
.portfolio .board_ul{ display:grid; grid-template-columns: repeat(3, 13.5417vw); gap:1.4583vw 3.1250vw; }
.portfolio .board_ul .thumb{ position:relative; padding-bottom:108.2%; overflow: hidden;}
.portfolio .board_ul .thumb img{ position:absolute; top:0; left:0; width:100%; height:100%; display:block}
.portfolio .board_ul .title{margin-top:0.8333vw; font-size:1.0417vw; font-weight:700}
.portfolio .board_ul p{ margin-top:0.5208vw; }


@media (max-width:1023px){

  .portfolio { height:100vh; max-height:100vh; }
  .portfolio .inner{ grid-template-columns:1fr; grid-template-rows:14rem calc(100vh - 14rem); overflow:hidden}
  .portfolio .title_wrap{ padding:5.5rem 1rem 0 1rem;}
  .portfolio .title_wrap h2{ font-size:2.2rem; }
  .portfolio .title_wrap ul{grid-template-columns: repeat(4, 6.2rem); gap:0.6rem 0.4rem; margin-top:1rem}
  .portfolio .title_wrap ul li{ font-size:1.2rem; padding:0.6rem 0.4rem; border-radius:2.4rem}
  .portfolio .title_wrap .btn_more{ left:unset; right:1rem; bottom:unset; top:10rem; font-size:1.4rem; gap:0 0.5rem}
  .portfolio .title_wrap .btn_more i{ width:2.2rem; }
  .portfolio .board_wrap{ padding:3.2rem 1.2rem 4.2rem 1.2rem; align-items:flex-start; height:fit-content}
  .portfolio .board_ul{ width:80vw; grid-template-columns: repeat(2, calc((100% - 1.2rem)/2)); gap:1.6rem 1.2rem;  }
  .portfolio .board_ul .thumb{ }
  .portfolio .board_ul .title{margin-top:1.6rem; font-size:1.8rem}
  .portfolio .board_ul p{ display:none }
  .portfolio .board_ul li:nth-child(n+5) {display:none}

}

/*퀵*/
#aside { position:fixed; right:5.73%; bottom:14.8%; z-index:500;}
#aside [class*=btn_]{ width:clamp(150px, 7.8646vw, 151px); display:flex; justify-content: center; align-items: center; gap:0 5px; padding:0.7292vw 0; border-radius:1.2500vw; font-size:clamp(18px, 1.0417vw, 20px); font-weight:500; transition: transform 0.2s linear;}
#aside [class*=btn_]:hover{ transform: translateY(-5px);}
#aside [class*=btn_] + [class*=btn_]{ margin-top: 16px}
#aside [class*=btn_] i{ width:clamp(18px, 1.0417vw, 20px); display:flex; align-items: center;}
#aside .btn_cs{background:var(--yellow)}
#aside .btn_tel{background:var(--green)}
#aside .btn_top{background:var(--white); color:var(--green-secondary)}

@media (max-width:1023px){

  #aside { right:unset; left:0; bottom:0; width:var(--wide-full); display:flex; justify-content: space-between;}
  #aside [class*=btn_]{ width:50%; gap:0; padding:2rem 0; border-radius:0; font-size:2rem;}
  #aside [class*=btn_] + [class*=btn_]{ margin-top: 0}
  #aside [class*=btn_] i{ width:2rem; margin-right:0.6rem }

}


/* 하단 레이아웃 */
#footer { display:flex; flex-direction:column; justify-content:flex-start; align-items: center; background:var(--black-basic); width:var(--wide-full); height:100vh; max-height:100vh; position:relative}
#footer .inner{ flex-direction: column; padding:210px 0 0 0 }
#footer h2{font-size:55px; font-weight:700}
#footer .logo{ width:111px; display:block; margin-top:220px}
#footer dl{display:grid; grid-template-columns: 1fr; margin-top:25px; gap:8px 0}
#footer dl dd{ font-size:30px; font-weight:100; display:flex; justify-content: center; text-align: center;}
#footer dl dd span{ font-weight:700; margin-right:4px }
#footer dl dd em + span{ margin-left:16px }
#footer .sns{ margin-top:56px; display:grid; justify-content: center; align-items: center; gap:0 42px; grid-template-columns: repeat(4, 52px);}
#footer .sns img,#footer .sns a{width:100%}
#footer .sns a{ transition:transform 0.2s linear; display:flex}
#footer .sns a:hover{ transform:translateY(-6px)}
#footer .copyright{background:var(--black); width:var(--wide-full); font-size:15px; font-weight:300; text-align: center; padding:16px 0; position:absolute; left:0; bottom:0}
 
#top_btn {position:fixed;bottom:65px; right: 214px; width:40px; height:40px; z-index:90; transition: 0.2s ease; display:flex; justify-content: center;align-items: center; background:var(--brown); border-radius: 20px; }
#top_btn i{ width:18px; transition: 0.2s ease; animation:upup 2s linear infinite}
#top_btn:hover i{ transform:translateY(-4px)}
#footer [data-aos=fade-up] { transform: translate3d(0,100%,0)}
#footer [data-aos^=fade][data-aos^=fade].aos-animate {opacity: 1;transform: translateZ(0)}

a[name]{ position:absolute; top:0; left:0; height:0;}


@media (max-width:1023px){

  #footer { padding-bottom:6.5rem; position:relative; }
  #footer .inner{ padding:14rem 2rem 0 2rem; height:100vh; justify-content:flex-start; }
  #footer h2{font-size:2.5rem; }
  #footer .logo{ width:11.1rem;  margin-top:9rem}
  #footer dl{margin-top:1.4rem; gap:0.4rem 0}
  #footer dl dd{ font-size:1.3rem; }
  #footer dl dd span{ margin-right:0.4rem }
  #footer dl dd em + span{ margin-left:1rem }

  #footer .sns{ margin-top:3.8rem; gap:0 2.4rem; grid-template-columns: repeat(4, 3rem);}

  #footer .copyright{ height:4rem; font-size:1.3rem; padding:0; position:absolute; left:0; bottom:6.5rem; display:flex; justify-content:center; align-items:center}
   
  #top_btn {position:fixed;bottom:65px; right: 214px; width:40px; height:40px; z-index:90; transition: 0.2s ease; display:flex; justify-content: center;align-items: center; background:var(--brown); border-radius: 20px; }
  #top_btn i{ width:18px; transition: 0.2s ease; animation:upup 2s linear infinite}
  #top_btn:hover i{ transform:translateY(-4px)}

  .btn_top{ position:fixed; z-index:50; right:1rem; bottom:10.4rem; font-size:0; width:2.6rem; overflow:hidden; border-radius:1.3rem; padding:0; margin:0}
  .btn_top img{width:2.6rem}

}

/*board :: change space*/
.board_inner{width: var(--cont-width); padding:140px 0 48px 0; margin:0 auto}

@media (max-width:1023px){

.board_inner{padding:8rem 0 1.8rem 0}

}

/*animation*/
.section.active .ani-intro01 {animation: fadeDown 1s 3.5s both;}
.section.active .ani-intro02 {animation: fadeUp 1s 3s both;}
.section.active .ani-intro03 {animation: fadeIn 1s 4s both;}

.section.active .ani-company01 {animation: fadeLeft 1s 0.5s both;}
.section.active .ani-company02 {animation: fadeLeft 1s 1s both;}
.section.active .ani-company03 {animation: fadeLeft 1s 1.5s both}
.section.active .ani-company04 {animation: fadeRight 1s 2s both}

.section.active .ani-about01 {animation: fadeLeft 1s 0.5s both;}
.section.active .ani-about02 {animation: fadeLeft 1s 1s both;}
.section.active .ani-about03 {animation: fadeLeft 1s 1.5s both}
.section.active .ani-about04 {animation: fadeIn 1s 4.5s both; -webkit-animation-name: flipInX;animation-name: flipInX;-webkit-backface-visibility: visible!important;backface-visibility: visible!important}
.section.active .ani-about05 {animation: fadeIn 1s 3s both}
.section.active .ani-about06 {animation: fadeIn 1s 3.5s both}
.section.active .ani-about07 {animation: fadeIn 1s 4s both}
.section.active .ani-about08 {animation: fadeIn 1s 4.5s both}

.section.active .ani-port01 {animation: fadeLeft 1s 0.5s both;}
.section.active .ani-port02 {animation: fadeLeft 1.5s 1s both;}
.section.active .ani-port03 {animation: fadeLeft 1s 1.2s both}
.section.active .ani-port04 {animation: fadeIn 1.5s 0.8s both}

.section.active .ani-footer01 {animation: flipUpX 1s 0.5s both;backface-visibility: hidden;transition-property: transform;}
.section.active .ani-footer02 {animation: fadeUp 1.5s 1s both;}
.section.active .ani-footer03 {animation: fadeIn 1s 1.2s both}

@keyframes fadeIn {
	0%{ opacity: 0;}
	100%{ opacity: 1;}
}
@keyframes fadeUp {
	0% {opacity: 0;-webkit-transform: translate3d(0,100%,0);transform: translate3d(0,100%,0)}
  to {opacity: 1;-webkit-transform: translateZ(0);transform: translateZ(0)}
}
@keyframes fadeDown {
	0% {opacity: 0;-webkit-transform: translate3d(0,-100%,0);transform: translate3d(0,-100%,0)}
  to {opacity: 1;-webkit-transform: translateZ(0);transform: translateZ(0)}
}
@keyframes fadeLeft {
	0% { opacity: 0;-webkit-transform: translate3d(-100%,0,0);transform: translate3d(-100%,0,0)}
  to { opacity: 1;-webkit-transform: translateZ(0);transform: translateZ(0)}
}

@keyframes fadeRight {
	0% { opacity: 0;-webkit-transform: translate3d(100%,0,0);transform: translate3d(100%,0,0)}
  to { opacity: 1;-webkit-transform: translateZ(0);transform: translateZ(0)}
}
@keyframes flipX {
	0% {-webkit-animation-timing-function: ease-in;animation-timing-function: ease-in;opacity: 0;-webkit-transform: perspective(400px) rotateX(90deg);transform: perspective(400px) rotateX(90deg)}
  40% {-webkit-animation-timing-function: ease-in;animation-timing-function: ease-in;-webkit-transform: perspective(400px) rotateX(-20deg);transform: perspective(400px) rotateX(-20deg)}
  60% {opacity: 1;-webkit-transform: perspective(400px) rotateX(10deg);transform: perspective(400px) rotateX(10deg)}
  80% {-webkit-transform: perspective(400px) rotateX(-5deg);transform: perspective(400px) rotateX(-5deg)}
  to {-webkit-transform: perspective(400px);transform: perspective(400px)}
}
@keyframes flipUpX {
  0% {transform: perspective(2500px) rotateX(-100deg); transform-origin: center;}
  100% {transform: perspective(2500px) rotateX(0)}
}


/* 게시물 선택복사 선택이동 */
#copymove {}
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
.copymove_currentbg {background:#f4f4f4}

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}

/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}

/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}

/* ckeditor 태그 기본값 */
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con li {display:list-item}

/* 버튼 */
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
-webkit-transition:background-color 0.3s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}

a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}

.btn_confirm {text-align:right} /* 서식단계 진행 */

.btn_submit {border:0;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px}
.btn_submit:hover {background:#2375eb}
.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff}
a.btn_close {text-align:center;line-height:50px}

a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}

/* 게시판용 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
.btn_b01:hover, .btn_b01:hover {color:#000}
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:#ebedf6}
a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {color:#ff3746}


/* 기본테이블 */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec} 
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8}
.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:#fafafa}
.tbl_head01 a:hover {text-decoration:underline}

.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head02 thead a {color:#383838}
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all}
.tbl_head02 a {}

/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:40px}

.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;margin-right:10px}
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}

/*기본 리스트*/
.list_01 ul {border-top:1px solid #ececec}
.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#f6f6f6}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f9f9f9}
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}

/*폼 리스트*/
.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}

/* 자료 없는 목록 */
.empty_table {padding:50px 0 !important;text-align:center}
.empty_list {padding:20px 0 !important;color:#666;text-align:center}

/* 필수입력 */
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}

/* 테이블 항목별 정의 */
.td_board {width:80px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_group {width:80px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:50px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}

.txt_active {color:#5d910b}
.txt_done {color:#e8180c}
.txt_expired {color:#ccc}
.txt_rdy {color:#8abc2a}

/* 새창 기본 스타일 */
.new_win {position:relative}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:#919191}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}

/* 검색결과 색상 */
.sch_word {color:#fff;background:var(--green);padding:2px 5px 3px;line-height:18px;margin:0 2px; font-size:inherit}

/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}

/* 사이드뷰 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:#333}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}

/* 페이징 */
.pg_wrap { width:var(--wide-full); display:flex; justify-content: center; align-items: center;}
.pg {display:flex; justify-content: center; align-items: center; gap:0 14px}
.pg_page, .pg_current { border:1px solid #B1B1B1; background:#020202; display:flex; justify-content: center; align-items: center;}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#B1B1B1;font-size:13px;height:32px; min-width:32px; padding:0 5px; width:auto; text-decoration:none;border-radius:0}
.pg_page:hover {background-color:#FFFFFF; color:#020202}
.pg_start {text-indent:-999px;overflow:hidden;background:url('/img/icon-board-first.svg') no-repeat 50% 50%;padding:0;border:1px solid #B1B1B1}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('/img/icon-board-prev.svg') no-repeat 50% 50%;padding:0;border:1px solid #B1B1B1}
.pg_end {text-indent:-999px;overflow:hidden;background:url('/img/icon-board-prev.svg') no-repeat 50% 50%;padding:0;border:1px solid #B1B1B1; transform: rotate(180deg);}
.pg_next {text-indent:-999px;overflow:hidden;background:url('/img/icon-board-first.svg') no-repeat 50% 50%;padding:0;border:1px solid #B1B1B1; transform: rotate(180deg);}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#FFFFFF}

.pg_current {background:#FFFFFF;border:1px solid #fff;color:#020202; height:32px; min-width:32px; padding:0 5px; width:auto;}


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

}

@media (max-width:1023px){

  .pg { gap:0 0.5rem}
  .pg_page {font-size:1.3rem;height:2.2rem; min-width:2.2rem; padding:0 0.3rem}
  .pg_start { background-size:80%}
  .pg_prev { background-size:80%}
  .pg_end { background-size:80%}
  .pg_next { background-size:80%}
  
  .pg_current {height:2.2rem; min-width:2.2rem; padding:0 0.3rem; font-size:1.3rem}

}

/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
-webkit-box-sizing:content-box;
-moz-box-sizing:content-box;
box-sizing:content-box;
}

/* Mobile화면으로 */
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}

