.fs-150 {
 font-size: 150px;
}

.fs-100 {
 font-size: 100px;
}

.fs-90 {
 font-size: 90px;
}

.fs-80 {
 font-size: 80px;
}

.fs-60 {
 font-size: 60px;
}

.fs-55 {
 font-size: 55px;
}

.fs-50 {
 font-size: 50px;
}

.fs-42 {
 font-size: 42px;
}

.fs-38 {
 font-size: 38px;
}

.fs-35 {
 font-size: 35px;
}

.fs-30 {
 font-size: 30px;
}

.fs-28 {
 font-size: 28px;
}

.fs-25 {
 font-size: 25px;
}

.fs-22 {
 font-size: 22px;
}

.fs-20 {
 font-size: 20px;
}

.fs-18 {
 font-size: 18px;
}

.fs-16 {
 font-size: 16px;
}

.fs-14 {
 font-size: 14px;
}



.pr-black {
 font-family: 'Pretendard-Black', sans-serif;
}

.pr-extra-bold {
 font-family: 'Pretendard-ExtraBold', sans-serif;
}

.pr-bold {
 font-family: 'Pretendard-Bold', sans-serif;
}

.pr-regular {
 font-family: 'Pretendard-Regular', sans-serif;
}

.pr-light {
 font-family: 'Pretendard-Light', sans-serif;
}

.pr-medium {
 font-family: 'Pretendard-Medium', sans-serif;
}

.pr-semi-bold {
 font-family: 'Pretendard-SemiBold', sans-serif;
}

.g-medium {
 font-family: 'GmarketSansMedium', sans-serif;
}


.w-100vw{
 width: 100vw;
}
.h-100vh{
 height: 100vh;
}
.w-100 {
 width: 100%;
}

.h-100 {
 height: 100%;
}

.w-70 {
 width: 70%;
}

.w-50 {
 width: 50%;
}

.w-fitcontent {
 width: fit-content;
}
.h-fitcontent{
 height: fit-content;
}

.flex {
 display: flex;
}

.row-flex {
 display: flex;
 flex-direction: row;
}

.col-flex {
 display: flex;
 flex-direction: column;
}

.flex-wrap {
 flex-wrap: wrap;
}

.between {
 justify-content: space-between;
}

.justify-center {
 justify-content: center;
}

.align-center {
 align-items: center;
}

.txt-center {
 display: flex;
 justify-content: center;
}

.justify-end {
 justify-content: flex-end;
}

.ws-nowrap {
 white-space: nowrap;
}
.txt-ellipsis{
 overflow: hidden;
text-overflow: ellipsis;
 white-space: nowrap;
}
.pointer {
 cursor: pointer
}

.p-200 {
 padding: 200px;
}

.p-150 {
 padding: 150px;
}

.pl-30 {
 padding-left: 30px;
}

.p-100 {
 padding: 100px;
}

.pb-5 {
 padding-bottom: 5px;
}

.pb-10 {
 padding-bottom: 10px;
}

.pb-30 {
 padding-bottom: 30px;
}

.pb-150 {
 padding-bottom: 150px;
}

.pt-30 {
 padding-top: 30px;
}

.pt-50 {
 padding-top: 50px;
}

.pt-400 {
 padding-top: 400px;
}

.pr-10{
 padding-right:10px;
}

.m-200 {
 margin: 200px;
}

.m-150 {
 margin: 150px;
}

.m-100 {
 margin: 100px;
}

.m-60 {
 margin: 60px;
}

.m-50 {
 margin: 50px;
}

.ml-10 {
 margin-left: 10px;
}

.mr-10 {
 margin-right: 10px;
}

.mr-20 {
 margin-right: 20px;
}

.mr-30 {
 margin-right: 30px;
}

.mb-10 {
 margin-bottom: 10px;
}

.mb-15 {
 margin-bottom: 15px;
}

.mb-20 {
 margin-bottom: 20px;
}
.mb-22{
 margin-bottom: 22px;
}
.mb-25 {
 margin-bottom: 25px;
}

.mb-30 {
 margin-bottom: 30px;
}

.mb-40 {
 margin-bottom: 40px;
}

.mb-50 {
 margin-bottom: 50px;
}

.mb-70 {
 margin-bottom: 70px;
}

.mb-80 {
 margin-bottom: 80px;
}

.mb-90 {
 margin-bottom: 90px;
}

.mb-100 {
 margin-bottom: 100px;
}

.mb-130 {
 margin-bottom: 130px;
}

.mb-150 {
 margin-bottom: 150px;
}

.mb-200 {
 margin-bottom: 200px;
}

.mb-400 {
 margin-bottom: 400px;
}

.mt-385 {
 margin-top: 385px;
}

.mt-150 {
 margin-top: 150px;
}

.mt-130 {
 margin-top: 130px;
}

.mt-150 {
 margin-top: 150px;
}

.mt-100 {
 margin-top: 100px;
}

.mt-80 {
 margin-top: 80px;
}

.mt-70 {
 margin-top: 70px;
}

.mt-50 {
 margin-top: 50px;
}

.mt-40 {
 margin-top: 40px;
}

.mt-30 {
 margin-top: 30px;
}

.mt-15 {
 margin-top: 15px;
}

.mt-5 {
 margin-top: 5px;
}

.gap-20 {
 gap: 20px;
}

.gap-25 {
 gap: 25px;
}

.gap-30 {
 gap: 30px;
}

.gap-40 {
 gap: 40px;
}

.gap-50 {
 gap: 50px;
}

.gap-60 {
 gap: 60px;
}

.gap-70 {
 gap: 70px;
}

.gap-100 {
 gap: 100px;
}

.gap-150 {
 gap: 150px;
}

.gap-170 {
 gap: 170px;
}

.gap-200 {
 gap: 200px;
}

.gap-230 {
 gap: 230px;
}

.gap-270 {
 gap: 270px;
}

.gap-290 {
 gap: 290px;
}

.txt-ellipsis {
 white-space: nowrap;
 text-overflow: ellipsis;
}
.txt-right{
 text-align: right;
}
.txt-left{
 text-align: left;
}
/* mobile */
@media screen and (max-width: 767px) {
 .m-justify-start{
  justify-content: flex-start;
 }
 .m-ws-wrap{
  white-space: wrap;
 }
 .m-none{
  display: none;
 }
 .m-col-flex {
  flex-direction: column;
 }

 .m-row-flex {
  flex-direction: row;
 }

 .m-flex-wrap {
  flex-wrap: wrap;
 }

.m-w-100{
 width: 100%;
}
.m-h-100{
 height: 100%;
}

 .m-mb-20 {
  margin-bottom: 20px;
 }
 .m-mb-50 {
  margin-bottom: 50px;
 }
.m-mt-20{
 margin-top: 20px;
}
 .m-mt-50{
  margin-top: 50px;
 }
 .m-p-0{
  padding:0;
 }

 .m-pl-0{
  padding-left: 0;
 }
 .m-pl-10{
  padding-left:10px;
 }
.m-100{
 margin:50px;
}
 .p-100 {
  padding: 50px;
 }

 .p-200 {
  padding: 100px;
 }

 .pt-50 {
  padding-top: 25px;
 }

 .pb-10 {
  padding-bottom: 5px;
 }

 .pb-150 {
  padding-bottom: 75px;
 }

 .mr-30 {
  margin-right: 15px;
 }

 .mt-70 {
  margin-top: 35px;
 }

 .mt-50 {
  margin-top: 25px;
 }

 .mt-80 {
  margin-top: 40px;
 }

 .mt-150 {
  margin-top: 75px;
 }

 .mb-130 {
  margin-bottom: 65px;
 }

 .mb-90 {
  margin-bottom: 45px;
 }

 .mb-80 {
  margin-bottom: 40px;
 }

 .mb-70 {
  margin-bottom: 35px;
 }

 .mb-30 {
  margin-bottom: 15px;
 }


 .mb-150 {
  margin-bottom: 80px;
 }



 .mt-130 {
  margin-top: 70px;
 }

 .mt-30 {
  margin-top: 15px;
 }

 .mb-15 {
  margin-bottom: 8px;
 }

 .mt-100 {
  margin-top: 50px;
 }

 .mb-100 {
  margin-bottom: 50px;
 }

 .m-gap-10 {
  gap: 10px;
 }

 .m-gap-20 {
  gap: 20px;
 }

 .m-gap-40 {
  gap: 40px;
 }

 .gap-50 {
  gap: 25px;
 }

 .gap-20 {
  gap: 10px;
 }



 .fs-150 {
  font-size: 75px;
 }

 .fs-100 {
  font-size: 50px;
 }

 .fs-90 {
  font-size: 45px;
 }

 .fs-80 {
  font-size: 40px;
 }

 .fs-60 {
  font-size: 30px;
 }

 .fs-55 {
  font-size: 28px;
 }

 .fs-50 {
  font-size: 25px;
 }

 .fs-42 {
  font-size: 22px;
 }

 .fs-35 {
  font-size: 20px;
 }

 .fs-30 {
  font-size: 19px;
 }

 .fs-28 {
  font-size: 20px;
 }

 .fs-25 {
  font-size: 18px;
 }

 .fs-22 {
  font-size: 16px;
 }

 .fs-20 {
  font-size: 14px;
 }

 .fs-18 {
  font-size: 12px;
 }

 .fs-16 {
  font-size: 10px;
 }

 .fs-14 {
  font-size: 10px;
 }

 .gap-30 {
  gap: 15px;
 }

 .gap-70 {
  gap: 35px;
 }

 .gap-100 {
  gap: 50px;
 }

 .gap-150 {
  gap: 75px;
 }

 .gap-200 {
  gap: 100px;
 }

 .m-justify-start {
  justify-content: flex-start;
 }
}

/* tablet */
@media screen and (min-width: 768px) and (max-width: 1024px) {
 .p-200 {
  padding: 150px;
 }

 .pb-10 {
  padding-bottom: 7.5px;
 }

 .fs-150 {
  font-size: 100px;
 }

 .fs-100 {
  font-size: 70px;
 }

 .fs-90 {
  font-size: 70px;
 }

 .fs-80 {
  font-size: 60px;
 }

 .fs-60 {
  font-size: 45px;
 }

 .fs-55 {
  font-size: 40px;
 }

 .fs-50 {
  font-size: 38px;
 }

 .fs-42 {
  font-size: 35px;
 }

 .fs-35 {
  font-size: 30px;
 }

 .fs-30 {
  font-size: 25px;
 }

 .fs-28 {
  font-size: 22px;
 }

 .fs-25 {
  font-size: 20px;
 }

 .fs-22 {
  font-size: 18px;
 }

 .fs-20 {
  font-size: 16px;
 }

 .fs-18 {
  font-size: 14.3px;
 }

 .fs-16 {
  font-size: 13.3px;
 }

 .fs-14 {
  font-size: 12.3px;
 }

 .gap-70 {
  gap: 55px;
 }

 .gap-100 {
  gap: 75px;
 }

 .gap-150 {
  gap: 105px;
 }

 .gap-200 {
  gap: 130px;
 }
}

/* pc */
@media screen and (min-width: 1025px) and (max-width: 1400px) {}