/* cursor custom */

#cursor {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  pointer-events: none;
  will-change: transform;
}
#cursor .cur_cir { 
  width: 32px;
  height: 32px;
  margin-top: -50%;
  margin-left: -50%;
  border-radius: 50%;
  transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1), background-color 0.3s cubic-bezier(0.25, 1, 0.5, 1), width 0.3s cubic-bezier(0.25, 1, 0.5, 1), height 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  opacity: 0;
}
#cursor.overlay {
  mix-blend-mode: normal;
}
#cursor.overlay .cur_cir {
  width: 117px;
  height: 117px;
  transform: rotate(0) scale(1) translate(0, 0) !important;
  position: relative;
  opacity: 1;
  background-color: #406eb6;
}
#cursor.overlay .cur_cir::before {
  content: "view";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 20px;
  font-family: "Play", sans-serif;
  font-weight: 700;
  letter-spacing: -0.03em;
}
#cursor.overlay.close .cur_cir {
  background-color: #db590f;
}
#cursor.overlay.close .cur_cir::before {
  content: "close";
}
#cursor.overlay.close.pointer .cur_cir {
  width: 150px;
  height: 150px;
  background-color: rgba(64, 110, 182, 0.7);
  opacity: 1;
}
#cursor.overlay.close.pointer .cur_cir::before {
  content: "more";
}
#cursor.pointer .cur_cir {
  width: 117px;
  height: 117px;
  transform: rotate(0) scale(1) translate(0, 0) !important;
  position: relative;
  opacity: 1;
  background-color: #406eb6;
}
#cursor.pointer .cur_cir::before {
  content: "more";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 20px;
  font-family: "Play", sans-serif;
  font-weight: 700;
  letter-spacing: -0.03em;
}


/* 헤더----------------------------------------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition-duration: 0.2s;
  z-index: 998;
  color: #fff;
}
.header .wrap {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.header .logo {
  flex-shrink: 0;
  position: relative;
  z-index: 999;
}
.header .logo > a {
  width: 115px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 45px 0;
  transition-duration: 0.6s;
}
.header .logo > a img {
  width: 115px;
}
.header .logo > a img._w {
  display: none;
}
.header nav {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.6s;
}
.header nav .mainmenu {
  display: flex;
  font-weight: 500;
  letter-spacing: -0.045em;
  height: 100%;
  width: 100%;
  justify-content: center;
  transform: translateX(30%);
  transition-duration: 0.6s;
}
.header nav .mainmenu > li {
  height: 100%;
  color: #fff;
  position: relative;
  transition-duration: 0.1s;
  transition-delay: 0.1s;
}
.header nav .mainmenu > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 45px;
  box-sizing: border-box;
  height: 100%;
  transition: 0.2s;
  position: relative;
  z-index: 5;
  font-size: 16px;
  letter-spacing: -0.025em;
}

.header nav .mainmenu > li > a::after{ content: ''; display: block; width: 100%; height: 1px; background-color: #406eb6; transition-duration: 0.4s; position: absolute; top: 100%; left: 0; transform-origin: 0 0; transform: scaleX(0); }


.header nav .mainmenu > li .depth2{ pointer-events: none; position: absolute; top: 0; left: 50%; transform: translateX(-50%); white-space: nowrap; min-width: 100%; width: 200px; text-align: center; padding-top: 101px; padding-bottom: 15px; display: none; z-index: -1; }
.header.act nav .mainmenu > li .depth2 {pointer-events: all;}

.header nav .mainmenu > li .depth2::before{ content: ''; display: block; width: 100%; position: absolute; top: 0; left: 0; background-color: #fff; height: 100%; z-index: 0; box-shadow: 3px 3px 10px rgba(0,0,0,0.05); }

.header nav .mainmenu > li .depth2 > li{ position: relative; opacity: 0; transition-duration: 0.2s; transition-delay: 0.15s; }
.header nav .mainmenu > li.on .depth2 > li{ opacity: 1; transition-delay: none; }

.header nav .mainmenu > li .depth2 > li > a{ font-size: 16px; letter-spacing: -0.025em; padding: 15px 0; display: block; color: #000; transition-duration: 0.1s; }
.header nav .mainmenu > li .depth2 > li > a i{ margin-left: 10px; color: #aaaaaa; transition-duration: 0.1s; }


.header nav .mainmenu > li .depth2 > li .depth3{ position: absolute; top: 0; left: 100%; width: 200px; min-width: 100%; box-sizing: border-box; opacity: 0; transform: translateX(-100%); transition-duration: 0.3s; z-index: -1; }
.header nav .mainmenu > li .depth2 > li .depth3::before{ content: ''; display: block; width: 100%; position: absolute; top: -15px; left: 0; background-color: rgba(255,255,255,0.7); height: calc(100% + 30px); z-index: 0; box-shadow: 3px 3px 10px rgba(0,0,0,0.05); }

.header nav .mainmenu > li .depth2 > li .depth3 li{ position: relative; }
.header nav .mainmenu > li .depth2 > li .depth3 li > a{ color: #555555; display: block; padding: 13px 0; transition-duration: 0.1s; line-height: 1.4; font-size: 16px; letter-spacing: -0.025em; }

    /* 너무 긴 메뉴 위치조정 */
.header nav .mainmenu > li.exdep .depth2 > li:nth-of-type(5) .depth3{ top: -192px; }
.header nav .mainmenu > li.exdep .depth2 > li:nth-of-type(9) .depth3{ top: auto; bottom: 0; }

@media screen and (min-width: 821px) {
    .header nav .mainmenu > li:hover > a {
      color: #406eb6;
    }
    .header nav .mainmenu > li:hover .depth2::before{ transform: scaleY(1); }
    .header nav .mainmenu > li:hover > a::after{ transform: scaleX(1); }
    .header nav .mainmenu > li .depth2 > li:hover > a{ color: #406eb6; }
    .header nav .mainmenu > li .depth2 > li:hover > a i{ color: #406eb6; }
    .header nav .mainmenu > li .depth2 > li:hover .depth3{ transform: translateX(0); opacity: 1; }
    .header nav .mainmenu > li .depth2 > li .depth3 li:hover > a{ color: #406eb6; }
}



.header nav .hamWrap {
  width: 34px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
.header nav .hamWrap .hambtn {
  width: 100%;
  height: 22px;
  position: relative;
}
.header nav .hamWrap .hambtn span {
  width: 100%;
  height: 4px;
  background-color: #fff;
  position: absolute;
  left: 0;
  transition-duration: 0.4s;
  transform-origin: 50% 50%;
  transform: translateY(-50%);
}
.header nav .hamWrap .hambtn span:nth-of-type(1) {
  top: 0;
}
.header nav .hamWrap .hambtn span:nth-of-type(2) {
  top: 50%;
}
.header nav .hamWrap .hambtn span:nth-of-type(3) {
  top: 100%;
}



.header.set {
  border-bottom: 1px solid rgba(255, 255, 255, 0.43);
  background-color: rgba(0, 0, 0, 0.1);
}
.header.set .logo > a {
  width: 87px;
  padding: 25px 0;
}
.header.set .logo > a img {
  width: 87px;
}
.header.set .logo > a img:first-of-type {
  display: none;
}
.header.set .logo > a img._w {
  display: block;
}
.header.set nav {
  pointer-events: unset;
  opacity: 1;
}
.header.set nav .mainmenu {
  transform: translateX(0);
}


.header.set.ham{ background-color: rgba(0,0,0,0); border-color: rgba(255,255,255,0); }

.header.ham ~ .totalWrap{ transform: translateY(0); opacity: 1; }
.header.ham ~ .totalWrap .rel > h1{ top: 20%; }
.header.ham ~ .totalWrap .rel > h1:last-of-type{ top: 0; }
.header.ham nav .mainmenu{ display: none; }

.header.ham nav .hamWrap .hambtn span:nth-of-type(1) {
  top: 50%;
  transform: rotate(135deg);
}
.header.ham nav .hamWrap .hambtn span:nth-of-type(2) {
  transform: translateX(-100%);
  opacity: 0;
}
.header.ham nav .hamWrap .hambtn span:nth-of-type(3) {
  top: 50%;
  transform: rotate(-135deg);
}



.header.set.wht{ background-color: rgba(255,255,255,0.9); border-color: #919191; }
.header.set.wht .logo > a img:first-of-type { display: block; }
.header.set.wht .logo > a img._w { display: none; }
.header.set.wht nav .mainmenu li{ color: #000; }
.header.set.wht nav .hamWrap .hambtn span{ background-color: #000; }

.header.set.wht.ham{ background-color: rgba(255,255,255,0); border-color: rgba(255,255,255,0);  }
.header.set.wht.ham .logo > a img:first-of-type { display: none; }
.header.set.wht.ham .logo > a img._w { display: block; }
.header.set.wht.ham nav .hamWrap .hambtn span{ background-color: #fff; }


@media screen and (max-width: 1280px) {
    .header nav .mainmenu li a {
        padding: 0 35px;
    }

    .header nav .mainmenu > li .depth2{ width: 160px; padding-top: 76px; padding-bottom: 10px; }
    .header nav .mainmenu > li .depth2 > li > a{ font-size: 14px; padding: 10px 0; }
    .header nav .mainmenu > li .depth2 > li .depth3{ width: 160px; }
    .header nav .mainmenu > li .depth2 > li .depth3::before{ height: calc(100% + 20px); top: -10px; }
    .header nav .mainmenu > li.exdep .depth2 > li:nth-of-type(5) .depth3{ top: -140px; }
    .header nav .mainmenu > li .depth2 > li .depth3 li > a{ font-size: 14px; padding: 8px 0; }

    .header.set .logo > a {
        padding: 15px 0;
    }
}

@media screen and (max-width: 1024px){
    .header nav .mainmenu li a {
        padding: 0 20px; font-size: 14px;
    }

    .header nav .mainmenu > li .depth2{ width: 124px; padding-bottom: 5px; padding-top: 73px; }
    .header nav .mainmenu > li .depth2 > li > a{ font-size: 12px; padding: 7px 2px; box-sizing: border-box; }
    .header nav .mainmenu > li .depth2 > li > a i{ margin-left: 2px; margin-right: -5px; }
    .header nav .mainmenu > li .depth2 > li .depth3{ width: 150px; }
    .header nav .mainmenu > li .depth2 > li .depth3::before{ height: calc(100% + 14px); top: -7px; }
    .header nav .mainmenu > li.exdep .depth2 > li:nth-of-type(5) .depth3{ top: -107px; }
    .header nav .mainmenu > li .depth2 > li .depth3 li > a{ font-size: 12px; padding: 5px 0; }
}


@media screen and (max-width: 820px) {
  .header nav .mainmenu {
    display: none;
  }
  .header .logo > a {
    padding: 25px 0;
    width: 100px;
  }
  .header.set .logo > a {
    padding: 10px 0;
    width: 70px;
  }
}


@media screen and (max-width: 500px) {
  .header nav .hamWrap {
    width: 25px;
  }
  .header nav .hamWrap .hambtn {
    height: 16px;
  }
  .header nav .hamWrap .hambtn span {
    height: 3px;
  }
  .header.set .logo > a {
    width: 60px;
  }
}



/* 전체메뉴------------------------------------------------------------------------- */
.totalWrap{ width: 100%; height: 100vh; position: fixed; top: 0; left: 0; background-color: #406eb6; color: #fff; z-index: 995; transform: translateY(-100%); opacity: 0; transition-duration: 0.4s; }
.totalWrap .rel{ width: 100%; height: 100%; position: relative; }
.totalWrap .rel > h1{ position: absolute; top: 0; left: -0.2em; font-size: 10.42vw; letter-spacing: -0.03em; color: rgba(255,255,255,0.05); font-family: 'Play', sans-serif; font-weight: 700; writing-mode: tb-rl; z-index: -1; transition-duration: 0.6s; transition-delay: 0.2s; white-space: nowrap; }
.totalWrap .rel > h1:last-of-type{ transform: rotate(180deg); left: auto; right: -0.2em; top: 20%; }
.totalWrap .rel .wrap{ display: flex; }
.totalWrap .rel .totalmain{ width: calc(400 / 1600 * 100%); height: 100%; padding-top: 135px; padding-right: 20px; box-sizing: border-box }
.totalWrap .rel .totalmain li{ padding: 25px 0; width: 100%; font-size: 50px; font-weight: 600; letter-spacing: -0.025em; color: rgba(255,255,255,0.4); transition-duration: 0.2s; cursor: pointer; }
.totalWrap .rel .totalmain li.on{ color: #fff; }

.totalWrap .rel .totdepWrap{ width: calc(1200 / 1600 * 100%); height: 100%; padding-top: 135px; }
.totalWrap .rel .totdepWrap .totdep2{ height: 100px; display: flex; flex-wrap: wrap; transform: translateY(50px); opacity: 0; z-index: -1; position: relative; transition-duration: 0.4s; }
.totalWrap .rel .totdepWrap .totdep2.on{ transform: translateY(0); opacity: 1; z-index: 5; }

.totalWrap .rel .totdepWrap .totdep2 > li{ margin-right: 75px; }
.totalWrap .rel .totdepWrap .totdep2 > li:last-of-type{ margin-right: 0; }
.totalWrap .rel .totdepWrap .totdep2 > li > a{ display: flex; height: 100%; align-items: center; font-size: 20px; font-weight: 600; letter-spacing: -0.025em; height: 100px; }
.totalWrap .rel .totdepWrap .totdep2 > li .dep3{ margin-top: -20px; }
.totalWrap .rel .totdepWrap .totdep2 > li .dep3 > li > a{ display: block; padding: 10px 0; color: rgba(255,255,255,0.6); transition-duration: 0.2s; font-size: 16px; letter-spacing: -0.025em; }
.totalWrap .rel .totdepWrap .totdep2 > li .fwr{ display: flex; }
.totalWrap .rel .totdepWrap .totdep2 > li .fwr .dep3{ margin-right: 35px; }
.totalWrap .rel .totdepWrap .totdep2 > li .fwr .dep3:last-of-type{ margin-right: 0; }



/* 모바일 전체메뉴 ~1024px */
.totalWrap .rel .wrap._mob{ display: none; height: 100%; padding-top: 70px; padding-bottom: 20px; box-sizing: border-box; }

.totalWrap .rel .wrap._mob .mainmenu{ width: 100%; height: 100%; overflow: auto; }
.totalWrap .rel .wrap._mob .mainmenu::-webkit-scrollbar{ width: 8px; }
.totalWrap .rel .wrap._mob .mainmenu::-webkit-scrollbar-thumb{ width: 8px; border-radius: 10px; background-color: rgba(255,255,255,0.4); }

.totalWrap .rel .wrap._mob .mainmenu > li > span{ font-size: 22px; letter-spacing: -0.025em; font-weight: 700; padding: 15px 0; display: block; position: relative; border-bottom: 1px solid rgba(255,255,255,0.5); cursor: pointer; }
.totalWrap .rel .wrap._mob .mainmenu > li > span::after{ content: ''; font-family: 'xeicon'; position: absolute; top: 50%; right: 5px; transform: translateY(-50%); }

.totalWrap .rel .wrap._mob .mainmenu > li .depth2{ padding: 20px 0; display: none; }
.totalWrap .rel .wrap._mob .mainmenu > li .depth2 > li > a,
.totalWrap .rel .wrap._mob .mainmenu > li .depth2 > li > em{ display: block; width: 100%; font-size: 18px; font-weight: 500; letter-spacing: -0.025em; padding: 8px 0; position: relative; cursor: pointer; }
.totalWrap .rel .wrap._mob .mainmenu > li .depth2 > li > em i{position: absolute; right: 5px; top: 50%; transform: translateY(-50%); }

.totalWrap .rel .wrap._mob .mainmenu > li .depth2 > li .depth3{ display: none; padding-bottom: 10px; }
.totalWrap .rel .wrap._mob .mainmenu > li .depth2 > li .depth3 li a{ display: block; padding: 5px 0; font-size: 16px; letter-spacing: -0.025em; color: rgba(255,255,255,0.6); }



@media screen and (min-width: 821px){
    .totalWrap .rel .totalmain li:hover{ color: #fff; }
    .totalWrap .rel .totdepWrap .totdep2 > li .dep3 > li > a:hover{ color: #fff; }
}



@media screen and (max-width: 1280px){
    .totalWrap .rel .totalmain{ width: calc(330 / 1600 * 100%); }
    .totalWrap .rel .totalmain li{ font-size: 32px; padding: 20px 0; }

    .totalWrap .rel .totdepWrap{ width: calc(1270 / 1600 * 100%); }
    .totalWrap .rel .totdepWrap .totdep2{ height: 72px; }
    .totalWrap .rel .totdepWrap .totdep2 > li{ margin-right: 33px; }
    .totalWrap .rel .totdepWrap .totdep2 > li > a{ height: 72px; font-size: 18px; }
    .totalWrap .rel .totdepWrap .totdep2 > li .dep3 > li > a{ font-size: 14px; padding: 6px 0; }
    .totalWrap .rel .totdepWrap .totdep2 > li .fwr .dep3{ margin-right: 10px; }
}

@media screen and (max-width: 1024px){
    .totalWrap .rel .wrap{ display: none; }
    .totalWrap .rel .wrap._mob{ display: block; }
    
}

@media screen and (max-width: 500px){
    .totalWrap .rel .wrap._mob .mainmenu > li > span{font-size: 18px; }
    .totalWrap .rel .wrap._mob .mainmenu > li .depth2{ padding: 10px 0; }
    .totalWrap .rel .wrap._mob .mainmenu > li .depth2 > li > a,
    .totalWrap .rel .wrap._mob .mainmenu > li .depth2 > li > em{ font-size: 16px; }
    .totalWrap .rel .wrap._mob .mainmenu > li .depth2 > li .depth3 li a{ font-size: 14px; }
}




/* 푸터----------------------------------------------------------------------------- */

.footer {
  width: 100%;
  background-color: #1b1b1b;
  position: relative;
}
.footer .flexTop {
  display: flex;
  justify-content: space-between;
  padding-top: 80px;
  box-sizing: border-box;
  padding-bottom: 60px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  align-items: flex-start;
}
.footer .flexTop .menulist {
  display: flex;
}
.footer .flexTop .menulist > li {
  min-width: 85px;
  margin-right: 100px;
}
.footer .flexTop .menulist > li > span {
  font-size: 18px;
  letter-spacing: -0.025em;
  font-weight: 700;
  color: #fff;
}
.footer .flexTop .menulist > li .f_sub {
  margin-top: 30px;
  font-size: 13px;
  letter-spacing: -0.025em;
}
.footer .flexTop .menulist > li .f_sub li > a {
  display: block;
  padding: 8px 0;
  box-sizing: border-box;
  color: #929292;
  transition-duration: 0.2s;
}
@media screen and (min-width: 821px) {
  .footer .flexTop .menulist > li .f_sub li > a:hover {
    color: #fff;
  }
}
.footer .flexTop .menulist > li:last-of-type {
  margin-right: 0;
}
.footer .flexTop .topbtn {
  position: relative;
  cursor: pointer;
}
.footer .flexTop .topbtn img {
  animation: rotation 6s infinite linear;
}
.footer .flexTop .topbtn i {
  position: absolute;
  color: #fff;
  font-size: 25px;
  animation: updown 1s alternate-reverse ease-in-out infinite;
  display: block;
}
@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes updown {
  0% {
    transform: translate(-50%, -70%);
    top: 50%;
    left: 50%;
  }
  100% {
    transform: translate(-50%, -10%);
    top: 50%;
    left: 50%;
  }
}
.footer .flexbottom {
  display: flex;
  padding: 30px 0;
}
.footer .flexbottom .lbx {
  width: 100%;
  font-size: 11px;
  letter-spacing: -0.025em;
  color: #6e6e6e;
}
.footer .flexbottom .lbx .f_logo {
  width: 87px;
  display: block;
}
.footer .flexbottom .lbx .inc {
  margin-top: 25px;
  display: flex;
  flex-wrap: wrap;
}
.footer .flexbottom .lbx .inc li {
  font-weight: 300;
  position: relative;
  padding: 0 10px;
  box-sizing: border-box;
  margin-bottom: 10px;
}
.footer .flexbottom .lbx .inc li::after {
  content: "|";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}
.footer .flexbottom .lbx .inc li:first-of-type {
  padding-left: 0;
}
.footer .flexbottom .lbx .inc li:last-of-type::after {
  display: none;
}
.footer .flexbottom .lbx p {
  text-transform: uppercase;
}
.footer .flexbottom .rbx {
  flex-shrink: 0;
}
.footer .flexbottom .rbx .etc {
  display: flex;
}
.footer .flexbottom .rbx .etc li > a {
  display: block;
  padding: 15px;
  font-size: 14px;
  letter-spacing: -0.025em;
  color: #5e5e5e;
}
.footer .flexbottom .rbx .etc li:last-of-type > a {
  padding-right: 0;
}
@media screen and (max-width: 1280px) {
  .footer .flexTop .menulist > li {
    margin-right: 30px;
  }
  .footer .flexTop .menulist > li > span {
    font-size: 16px;
  }
  .footer .flexTop .menulist > li .f_sub {
    margin-top: 20px;
  }
}
@media screen and (max-width: 820px) {
  .footer .flexTop {
    padding: 0;
    border-bottom: none;
  }
  .footer .flexTop .menulist {
    display: none;
  }
  .footer .flexTop .topbtn {
    position: absolute;
    top: 50px;
    right: 5%;
    width: 80px;
  }
  .footer .flexbottom {
    padding-top: 50px;
    padding-bottom: 30px;
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  .footer .flexbottom .lbx {
    width: 100%;
    text-align: center;
  }
  .footer .flexbottom .lbx .f_logo {
    margin: 0 auto;
  }
  .footer .flexbottom .lbx .inc {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .footer .flexbottom .lbx .inc li {
    padding: 0;
    padding-right: 10px;
    margin-right: 10px;
  }
  .footer .flexbottom .rbx {
    width: 100%;
  }
  .footer .flexbottom .rbx .etc {
    justify-content: center;
  }
  .footer .flexbottom .rbx .etc li {
    margin-right: 20px;
  }
  .footer .flexbottom .rbx .etc li > a {
    padding: 15px 0;
    font-size: 12px;
  }
}
@media screen and (max-width: 500px) {
  .footer .flexTop .topbtn {
    width: 50px;
    top: 20px;
  }
  .footer .flexTop .topbtn i {
    font-size: 18px;
  }
  .footer .flexbottom {
    line-height: 1.2;
  }
  .footer .flexbottom .lbx .inc li {
    padding-right: 0;
    margin-right: 0;
  }
  .footer .flexbottom .lbx .inc li::after {
    display: none;
  }
  .footer .flexbottom .rbx .etc li {
    margin-right: 10px;
  }
  .footer .flexbottom .rbx .etc li > a {
    color: #aaa;
  }
}

/* layerPopup */
.layerWrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 99999;
  display: none;
}
.layerWrap .eleBg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}
.layerWrap .inn {
  width: 95%;
  max-width: 1280px;
  height: 60vh;
  margin: 0 auto;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 15px;
  box-sizing: border-box;
  padding: 20px;
}
.layerWrap .inn .cont {
  width: 100%;
  height: 100%;
  position: relative;
}
.layerWrap .inn .cont .close {
  position: absolute;
  bottom: calc(100% + 40px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  cursor: pointer;
  color: #fff;
  font-size: 30px;
}
.layerWrap .inn .cont .p {
  height: 100%;
  line-height: 1.3;
  overflow-y: auto;
}
.layerWrap .inn .cont .p::-webkit-scrollbar {
  width: 8px;
}
.layerWrap .inn .cont .p::-webkit-scrollbar-thumb {
  width: 8px;
  border-radius: 10px;
  background-color: #5e5e5e;
}
@media screen and (max-width: 450px) {
  .layerWrap {
    font-size: 14px;
  }
  .layerWrap .inn {
    padding: 15px;
    padding-right: 5px;
  }
}

/* subVisual */
.subVisual {
  width: 100%;
  position: relative;
  height: 530px;
  padding-top: 220px;
  box-sizing: border-box;
}
.subVisual .bgWrap{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
.subVisual .bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.subVisual .scbx {
  width: 100%;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  filter: invert(1) brightness(10);
  mix-blend-mode: difference;
  margin-bottom: -70px;
}
.subVisual .scbx .scrollDown {
  width: 139px;
  height: 139px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
.subVisual .scbx .scrollDown i {
  font-size: 25px;
  position: absolute;
  animation: updown 1s alternate-reverse ease-in-out infinite;
}
.subVisual .scbx .scrollDown img {
  animation: rotation 8s infinite linear;
}
.subVisual .subTitle {
  position: relative;
  z-index: 1;
}
.subVisual .subTitle h2 {
  font-size: 24px;
  letter-spacing: -0.025em;
  color: rgba(255, 255, 255, 0.7);
}
.subVisual .subTitle h1 {
  font-size: 70px;
  letter-spacing: -0.025em;
  color: #fff;
  font-weight: 700;
  margin-top: 30px;
}
.subVisual .subnav {
  margin-top: 25px;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
}
.subVisual .subnav li {
  color: rgba(255, 255, 255, 0.8);
}
.subVisual .subnav li a {
  display: block;
  width: 100%;
  padding: 10px 30px;
  box-sizing: border-box;
  font-size: 16px;
  letter-spacing: -0.045em;
}
.subVisual .subnav li:first-of-type a {
  padding-left: 0;
}
@media screen and (max-width: 1280px) {
  .subVisual {
    padding-top: 180px;
    height: 410px;
  }
  .subVisual .scbx {
    margin-bottom: -50px;
  }
  .subVisual .scbx .scrollDown {
    width: 100px;
    height: 100px;
  }
  .subVisual .subTitle h2 {
    font-size: 18px;
  }
  .subVisual .subTitle h1 {
    font-size: 50px;
    margin-top: 15px;
  }
}
@media screen and (max-width: 820px) {
  .subVisual {
    padding-top: 130px;
    height: 310px;
  }
  .subVisual .scbx {
    margin-bottom: -40px;
  }
  .subVisual .scbx .scrollDown {
    width: 80px;
    height: 80px;
  }
  .subVisual .subTitle h2 {
    font-size: 16px;
  }
  .subVisual .subTitle h1 {
    font-size: 35px;
    margin-top: 10px;
  }
  .subVisual .subnav li a {
    padding: 8px 20px;
    font-size: 14px;
  }
}
@media screen and (max-width: 500px) {
  .subVisual {
    padding-top: 90px;
    height: 240px;
  }
  .subVisual .scbx {
    margin-bottom: -35px;
  }
  .subVisual .scbx .scrollDown {
    width: 70px;
    height: 70px;
  }
  .subVisual .scbx .scrollDown i {
    font-size: 20px;
  }
  .subVisual .subTitle h2 {
    font-size: 14px;
  }
  .subVisual .subTitle h1 {
    font-size: 28px;
  }
  .subVisual .subnav {
    margin-top: 20px;
  }
  .subVisual .subnav li a {
    padding: 5px 15px;
    font-size: 12px;
  }
}

/* 서브페이지 공통 */

._s {
  background-color: #fff;
}
._s ._s_cont {
  padding-top: 210px;
  padding-bottom: 150px;
}
@media screen and (max-width: 1280px) {
  ._s ._s_cont {
    padding: 170px 0;
  }
}
@media screen and (max-width: 820px) {
  ._s ._s_cont {
    padding: 70px 0;
  }
}


/* 검색창 */
.searchBox {
  display: flex;
  width: 100%;
  max-width: 330px;
  border-radius: 20px;
  border: 1px solid #406eb6;
  box-sizing: border-box;
}
.searchBox input {
  font-size: 16px;
  letter-spacing: -0.03em;
  padding-left: 20px;
  box-sizing: border-box;
  width: 100%;
  border: none;
  background: none;
}
.searchBox input::-moz-placeholder {
  color: #aaaaaa;
}
.searchBox input::placeholder {
  color: #aaaaaa;
}
.searchBox i {
  flex-shrink: 0;
  font-size: 18px;
  color: #406eb6;
  padding: 8px 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 820px) {
  .searchBox i {
    font-size: 16px;
  }
  .searchBox input {
    font-size: 14px;
    padding-left: 15px;
  }
}


/* 페이지네이션 */
.pagination {
  width: 100%;
  justify-content: center;
  display: flex;
  align-items: center;
}
.pagination .btn {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 1px solid #406eb6;
  cursor: pointer;
  margin: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #406eb6;
  padding-bottom: 2px;
  box-sizing: border-box;
}
.pagination .btn._first i:last-of-type {
  margin-left: -0.6em;
}
.pagination .btn._last i:last-of-type {
  margin-left: -0.6em;
}
.pagination .number {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 20px;
}
.pagination .number li {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background-color: #fff;
  color: #999999;
  font-family: "Play", sans-serif;
  overflow: hidden;
  font-size: 18px;
  margin-right: 12px;
}
.pagination .number li:last-of-type {
  margin-right: 0;
}
.pagination .number li a {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}
.pagination .number li.on {
  background-color: #406eb6;
  color: #fff;
}
@media screen and (max-width: 820px) {
  .pagination .btn {
    width: 24px;
    height: 24px;
    font-size: 14px;
    margin: 0 2px;
    padding-bottom: 1px;
  }
  .pagination .number {
    margin: 0 3px;
  }
  .pagination .number li {
    width: 24px;
    height: 24px;
    font-size: 14px;
    margin-right: 5px;
  }
}
@media screen and (max-width: 300px) {
  .pagination .btn {
    font-size: 12px;
    width: 20px;
    height: 20px;
  }
  .pagination .number li {
    font-size: 12px;
    width: 20px;
    height: 20px;
  }
}


/* 보더 버튼 */
.borderBtn {
  display: flex;
  justify-content: center;
}
.borderBtn a {
  display: block;
  padding: 14px 55px;
  box-sizing: border-box;
  border-radius: 25px;
  border: 1px solid #406eb6;
  background-color: #fff;
  color: #406eb6;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.025em;
  transition-duration: 0.2s;
}
@media screen and (min-width: 821px) {
  .borderBtn a:hover {
    background-color: #406eb6;
    color: #fff;
  }
}
@media screen and (max-width: 1280px) {
  .borderBtn a {
    font-size: 18px;
    padding: 12px 35px;
  }
}
@media screen and (max-width: 820px) {
  .borderBtn a {
    font-size: 14px;
  }
}



/* 도트 공통 서브타이틀 */
i.dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #406eb6;
    display: inline-block;
    position: absolute;
    top: 0.1em;
    right: -10px;
}
.dottitleWrap {
    text-align: center;
    border-bottom: 1px solid #000;
    padding-bottom: 35px;
    word-break: keep-all;
}
.dottitleWrap h1 {
    font-size: 30px;
    letter-spacing: -0.03em;
    font-weight: 700;
    font-family: 'Play', sans-serif;
    display: inline-block;
    position: relative;
}
.dottitleWrap p {
    font-size: 26px;
    letter-spacing: -0.025em;
    line-height: 1.3;
    margin-top: 15px;
}
.dottitleWrap p b {
    color: #406eb6; font-weight: 600;
}

@media screen and (max-width: 1280px){
    .dottitleWrap h1{ font-size: 28px; }
    .dottitleWrap p{ font-size: 20px; margin-top: 10px; }
}

@media screen and (max-width: 820px){
    .dottitleWrap h1{ font-size: 26px; }
    .dottitleWrap p{ font-size: 18px; }
}

@media screen and (max-width: 500px){
    .dottitleWrap h1{ font-size: 24px; }
    .dottitleWrap p{ font-size: 14px; }
}