#membership {
  background: #edf4fb;
  color: #333;
  padding: 180rem 0;
}
#membership h2 {
  font-size: 37rem;
  text-align: center;
  margin-bottom: 50rem;
  font-weight: 600;
}
#membership button {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#membership .bu_wrap {
  margin-top: 65rem;
  display: flex;
}
#membership section {
  background: #fff;
  width: 611rem;
  padding: 80rem 55rem 100rem;
  border-radius: 10rem;
  box-shadow: 0px 0px 21px 0px rgba(0, 0, 0, 0.08);
  margin: 0 auto;
}
#membership section .tit {
  font-size: 18rem;
  font-weight: 600;
  margin-bottom: 10rem;
}
#membership section .step_wrap {
  display: flex;
  justify-content: center;
  position: relative;
  margin-bottom: 60rem;
}
#membership section .step_wrap::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 51rem;
  width: 350rem;
  height: 2rem;
  background-color: #CADAF2;
  transform: translateX(-50%);
}
#membership section .step_wrap::after {
  content: "";
  position: absolute;
  left: 65rem;
  top: 51rem;
  background-color: #6F96D1;
  width: 0rem;
  height: 2rem;
}
#membership section .step_wrap li {
  text-align: center;
  color: #CADAF2;
}
#membership section .step_wrap li:not(:last-child) {
  margin-right: 45rem;
}
#membership section .step_wrap li .num {
  font-size: 18rem;
  font-weight: 500;
}
#membership section .step_wrap li .cir {
  width: 32rem;
  height: 32rem;
  margin: 15rem auto;
  border-radius: 50rem;
  position: relative;
}
#membership section .step_wrap li .cir span {
  width: 100%;
  height: 100%;
  display: block;
  background: #CADAF2;
  z-index: 999;
  position: relative;
  border-radius: 50rem;
}
#membership section .step_wrap li .tit {
  font-weight: 600;
}
#membership section .step_wrap li.active {
  color: #6F96D1;
}
#membership section .step_wrap li.active .cir span {
  background: #6F96D1;
}
#membership section .step_wrap li.active .cir::before {
  content: "";
  position: absolute;
  width: 40rem;
  height: 40rem;
  background-color: #fff;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  border-radius: 50rem;
}
#membership section .step_wrap li.active .cir::after {
  content: "";
  position: absolute;
  width: 46rem;
  height: 46rem;
  background-color: #CADAF2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  border-radius: 50rem;
}
#membership section .step_wrap li.completCheck {
  color: #6F96D1;
}
#membership section .step_wrap li.completCheck .cir span {
  background: #6F96D1;
}
#membership section .step_wrap li.completCheck .cir::before {
  content: "";
  position: absolute;
  width: 15rem;
  height: 11rem;
  background: url(../images/common/checkIconSmall.svg) no-repeat center/cover;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  border-radius: 50rem;
}
#membership form input {
  width: 100%;
  background: #fafafa;
  border-radius: 5rem;
  font-size: 18rem;
  padding: 15rem 20rem;
}
#membership form input::-moz-placeholder {
  color: #c0c0c0;
  font-weight: 400;
}
#membership form input::placeholder {
  color: #c0c0c0;
  font-weight: 400;
}
#membership.login section {
  width: 45%;
  padding: 90rem 80rem;
  margin: 0 auto;
}
#membership.login form .input {
  position: relative;
  margin-bottom: 15rem;
}
#membership.login form .input img {
  width: 20rem;
  position: absolute;
  left: 23rem;
  top: 50%;
  transform: translateY(-50%);
}
#membership.login form input.text {
  padding-left: 70rem;
}
#membership.login form input.mainCbtn {
  margin-bottom: 40rem;
}
#membership.login form .login_search {
  margin-bottom: 25rem;
  display: flex;
  justify-content: end;
}
#membership.login form .login_search a {
  position: relative;
}
#membership.login form .login_search a:not(:first-child) {
  padding-left: 20rem;
}
#membership.login form .login_search a:not(:first-child)::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 11rem;
  background: #cfcfcf;
  top: 50%;
  left: 10rem;
  transform: translateY(-50%);
}
#membership.login form .auto_wrap {
  text-align: center;
}
#membership.sign_agree .agreeBox {
  background: #F9F9F9;
  overflow-y: auto;
  padding: 30rem;
  border-radius: 10rem;
  height: 125rem;
  line-height: 1.3;
  color: #5F5F5F;
  word-break: break-all;
}
#membership.sign_agree .agreeBox::-webkit-scrollbar {
  display: block !important;
  width: 8rem !important;
}
#membership.sign_agree .agreeBox::-webkit-scrollbar-thumb {
  background-color: #6F96D1;
  border-radius: 50rem;
  width: 8rem !important;
}
#membership.sign_agree .agreeBox::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0);
  padding: 20rem;
}
#membership.sign_agree .agreeBox .txt0 {
  font-size: 16rem;
  font-weight: 500;
}
#membership.sign_agree .agreeBox .txt1 {
  font-size: 14rem;
  word-break: break-all;
}
#membership.sign_agree .agreeBox b {
  font-weight: 500;
  display: block;
}
#membership.sign_agree .agreeBox p {
  margin-bottom: 10rem;
}
#membership.sign_agree .agreeBox.on {
  height: 100%;
}
#membership.sign_agree label {
  display: inline-block;
}
#membership.sign_agree label span {
  font-size: 19rem;
  padding-left: 30rem;
  margin: 45rem 0 20rem;
}
#membership.sign_agree label span::before {
  width: 21rem;
  height: 21rem;
}
#membership.sign_agree label span::after {
  width: 21rem;
  height: 21rem;
}
#membership.sign_agree label.allAgree span {
  margin: 0;
}
#membership.sign_agree .submitBtn {
  background-color: transparent;
}
#membership.sign_self_identification .step_wrap::after {
  width: 112rem;
}
#membership.sign_self_identification .snsCertifiedBox button {
  width: 100%;
  background-repeat: no-repeat;
  padding: 27rem 0 27rem 68rem;
  border-radius: 5rem;
  background-position: center left 35rem;
  font-size: 22rem;
  font-weight: 600;
}
#membership.sign_self_identification .snsCertifiedBox button.bu_kakao {
  background-image: url(../images/common/kakao_icon.svg);
  background-color: #FEE500;
}
#membership.sign_self_identification .snsCertifiedBox button.bu_naver {
  background-image: url(../images/common/naver_icon.svg);
  background-color: #03C75A;
}
#membership.sign_write .step_wrap::after {
  width: 235rem;
}
#membership.sign_write section .eMail > div {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#membership.sign_write section .eMail > div.numWrite {
  position: relative;
}
#membership.sign_write section .eMail > div.numWrite input {
  padding-right: 65rem;
}
#membership.sign_write section .eMail > div.numWrite .time {
  position: absolute;
  right: 188rem;
  top: 50%;
  transform: translateY(-50%);
  color: #6F96D1;
}
#membership.sign_write section .eMail input {
  width: calc(100% - 175rem);
}
#membership.sign_write section .eMail button {
  width: 165rem;
  margin-top: 0;
  background: #e7e7e7;
  border-radius: 5rem;
  font-weight: 500;
}
#membership.sign_write section .password input {
  margin-bottom: 15rem;
}
#membership.sign_write section .password span {
  font-size: 15rem;
  position: absolute;
  left: 0;
  bottom: -13rem;
}
#membership.sign_write section > div {
  margin-bottom: 50rem;
}
#membership.sign_write section > div.pn {
  margin-bottom: 0;
}
#membership.sign_completed {
  text-align: center;
}
#membership.sign_completed .step_wrap::after {
  width: 347rem;
}
#membership.sign_completed .completed .cir {
  width: 115rem;
  height: 115rem;
  margin: 0 auto;
  margin-bottom: 25rem;
  background: #6F96D1;
  border-radius: 100rem;
  position: relative;
  animation: cirAni 0.5s;
}
#membership.sign_completed .completed .cir svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 60rem;
}
#membership.sign_completed .completed .tit {
  font-size: 35rem;
  font-weight: 700;
  margin-bottom: 10rem;
}
#membership.sign_completed .completed .txt {
  font-size: 19rem;
  color: #656565;
}

.line path {
  fill: none;
  stroke: #fff;
  stroke-width: 8;
  stroke-dasharray: 89.8726882935;
  stroke-dashoffset: 0;
  animation-name: dashline;
  animation-duration: 0.8s;
  animation-timing-function: ease-in-out;
}

@keyframes dashline {
  0% {
    stroke-dashoffset: 89.8726882935;
  }
  30% {
    stroke-dashoffset: 89.8726882935;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes cirAni {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@media screen and (max-width: 1280px) {
  #membership {
    padding: 130rem 0 110rem;
  }
  #membership h2 {
    font-size: 28rem;
    margin-bottom: 35rem;
  }
  #membership button {
    width: 100%;
  }
  #membership form input {
    font-size: 16rem;
    padding: 15rem;
  }
  #membership section {
    padding: 60rem 25rem !important;
    width: 100%;
  }
  #membership section .mainCbtn {
    font-size: 18rem;
  }
  #membership section .step_wrap {
    margin-bottom: 40rem;
  }
  #membership section .step_wrap::before {
    display: none;
  }
  #membership section .step_wrap::after {
    display: none;
  }
  #membership section .step_wrap li:not(:last-child) {
    margin-right: 40rem;
  }
  #membership section .step_wrap li .cir {
    margin: 13rem auto;
    width: 26rem;
    height: 26rem;
  }
  #membership section .step_wrap li .num {
    font-size: 16rem;
  }
  #membership section .step_wrap li .tit {
    font-size: 15rem;
  }
  #membership section .step_wrap li.active .cir::after {
    width: 37rem;
    height: 37rem;
  }
  #membership section .step_wrap li.active .cir::before {
    width: 32rem;
    height: 32rem;
  }
  #membership.login section {
    width: 100%;
    max-width: 340rem;
  }
  #membership.login form .input img {
    left: 20rem;
  }
  #membership.login form .input .text {
    padding-left: 60rem;
  }
  #membership.login form input.mainCbtn {
    margin-bottom: 25rem;
  }
  #membership.sign_agree label span {
    font-size: 17rem;
    margin: 30rem 0 15rem;
    padding-left: 27rem;
  }
  #membership.sign_agree .agreeBox {
    padding: 15rem;
    height: 120rem;
  }
  #membership.sign_agree .agreeBox p {
    margin-bottom: 5rem;
  }
  #membership.sign_agree .agreeBox .txt0 {
    font-size: 15rem;
  }
  #membership.sign_agree .agreeBox::-webkit-scrollbar {
    display: block !important;
    width: 8rem !important;
  }
  #membership.sign_agree .agreeBox::-webkit-scrollbar-thumb {
    background-color: #6F96D1;
    border-radius: 50rem;
    width: 8rem !important;
    border: 3rem solid #F9F9F9;
  }
  #membership.sign_agree .agreeBox::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0);
    padding: 20rem;
  }
  #membership.sign_self_identification .snsCertifiedBox button {
    font-size: 18rem;
    background-size: 25rem;
    background-position: center left 26rem;
  }
  #membership.sign_write section > div {
    margin-bottom: 40rem;
  }
  #membership.sign_write section .tit {
    font-size: 17rem;
  }
  #membership.sign_write section .eMail > div {
    display: block;
  }
  #membership.sign_write section .eMail > div.numWrite .time {
    right: 15rem;
    transform: none;
    top: 17rem;
  }
  #membership.sign_write section .eMail input {
    width: 100%;
  }
  #membership.sign_write section .eMail button {
    width: 100%;
    margin-top: 5rem;
    padding: 10rem 0;
  }
  #membership.sign_completed .completed .cir {
    width: 90rem;
    height: 90rem;
    margin-bottom: 20rem;
  }
  #membership.sign_completed .completed .cir svg {
    width: 48rem;
  }
  #membership.sign_completed .completed .tit {
    font-size: 28rem;
  }
  #membership.sign_completed .completed .txt {
    font-size: 17rem;
  }
}/*# sourceMappingURL=membership.css.map */