@charset "UTF-8";
/* ^scss에서 수정해주세요!  Don't edit .css file, Only work on the scss*/
@font-face {
  font-family: "Pretendard";
  font-weight: 100;
  font-style: normal;
  src: url(../../common/fonts/Pretendard-Thin.woff2) format("woff2"), url(../../common/fonts/Pretendard-Thin.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  font-weight: 200;
  font-style: normal;
  src: url(../../common/fonts/Pretendard-ExtraLight.woff2) format("woff2"), url(../../common/fonts/Pretendard-ExtraLight.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  font-weight: 300;
  font-style: normal;
  src: url(../../common/fonts/Pretendard-Light.woff2) format("woff2"), url(../../common/fonts/Pretendard-Light.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  font-weight: 400;
  font-style: normal;
  src: url(../../common/fonts/Pretendard-Regular.woff2) format("woff2"), url(../../common/fonts/Pretendard-Regular.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  font-weight: 500;
  font-style: normal;
  src: url(../../common/fonts/Pretendard-Medium.woff2) format("woff2"), url(../../common/fonts/Pretendard-Medium.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  font-weight: 600;
  font-style: normal;
  src: url(../../common/fonts/Pretendard-SemiBold.woff2) format("woff2"), url(../../common/fonts/Pretendard-SemiBold.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  font-weight: 700;
  font-style: normal;
  src: url(../../common/fonts/Pretendard-Bold.woff2) format("woff2"), url(../../common/fonts/Pretendard-Bold.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  font-weight: 800;
  font-style: normal;
  src: url(../../common/fonts/Pretendard-ExtraBold.woff2) format("woff2"), url(../../common/fonts/Pretendard-ExtraBold.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  font-weight: 900;
  font-style: normal;
  src: url(../../common/fonts/Pretendard-Black.woff2) format("woff2"), url(../../common/fonts/Pretendard-Black.woff) format("woff");
  font-display: swap;
}
html {
  /* Prevent font scaling in landscape */
  -webkit-text-size-adjust: none; /*Chrome, Safari, newer versions of Opera*/
  -moz-text-size-adjust: none; /*Firefox*/
  -ms-text-size-adjust: none; /*Ie*/
  -o-text-size-adjust: none; /*old versions of Opera*/
}

html,
a,
button,
input,
textarea,
select,
h1 {
  font-family: "Pretendard", sans-serif, "Malgun Gothic", "맑은 고딕", Roboto, Arial;
}

*,
*::before,
*::after {
  letter-spacing: -0.02em;
  line-height: 1.3;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-break: break-all;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html {
  height: 100vh;
  -webkit-text-size-adjust: none;
  /*Chrome, Safari, newer versions of Opera*/
  -moz-text-size-adjust: none;
  /*Firefox*/
  -ms-text-size-adjust: none;
  /*Ie*/
  -o-text-size-adjust: none;
  /*old versions of Opera*/
}

/*a,body,dd,div,dl,dt,h1,h2,h3,h4,h5,input,li,ol,p,html,ul,button,textarea*/
html,
textarea,
input {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: -0.35px;
  line-height: 1.14;
  word-break: keep-all;
}

a,
body,
dd,
div,
dl,
dt,
h1,
h2,
h3,
h4,
h5,
html,
li,
ol,
p,
ul {
  padding: 0;
  margin: 0;
  color: #fff;
}

li,
ol,
ul {
  list-style: none;
}

a,
img {
  border: none;
}

img {
  max-width: 100%;
}

a + a,
img,
input + a,
input + button {
  vertical-align: middle;
}

a {
  text-decoration: none;
  display: inline-block;
  color: #fff;
  -webkit-text-fill-color: inherit;
}

button {
  color: #fff;
  -webkit-text-fill-color: inherit !important;
  appearance: none;
  -webkit-appearance: none;
}

a:hover {
  text-decoration: none;
}

button:link,
button:visited,
button:hover,
button:active,
a:link,
a:visited,
a:hover,
a:active {
  -webkit-text-fill-color: inherit;
  appearance: none;
  -webkit-appearance: none;
}

input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=date],
input[type=search],
select,
textarea {
  box-sizing: border-box;
  color: #fff;
  font-size: 14px;
  background: #fff;
  vertical-align: middle;
  height: 42px;
  padding-inline: 14px;
  border-radius: 5px;
  border: solid 1px #e7e8ef;
}

input[type=date] {
  padding-right: 5px;
}

input {
  appearance: none;
  -webkit-appearance: none;
  -webkit-border-radius: 0;
}

textarea {
  line-height: 1.5;
  outline: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("../img/icon_arrow_down.png") no-repeat #fff;
  background-position: calc(100% - 10px) center;
  background-size: 10px auto;
  outline: none;
  padding-right: 20px;
}

/*select:disabled { background-image:url('../img/common/select_arrow_off.png'); background-color: #f8f8f8; } */
input[type=chekbox],
input[type=radio] {
  display: none;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=search] {
  padding-inline: 12px 10px;
  height: 40px;
  border: 1px solid #333a48;
  -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

input::-webkit-search-decoration,
input::-webkit-search-cancel-button,
input::-webkit-search-results-button,
input::-webkit-search-results-decoration,
input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  background: url(../img/icon_del.png) center center no-repeat;
  background-size: 10px auto;
  cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

i {
  font-style: normal;
}

*,
::after,
::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}

table {
  border-collapse: collapse;
  width: 100%;
  border-spacing: 0;
}

th {
  text-align: center;
}

td {
  text-align: left;
}

table > caption {
  position: absolute;
  text-indent: -9999px;
}

button {
  border: 0;
  background-color: transparent;
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
}

button,
input,
textarea {
  -webkit-appearance: none;
}

select,
textarea,
input[type=password],
input[type=number],
input[type=tel],
input[type=text] {
  width: 100%;
}

textarea {
  min-height: 150px;
  text-align: left;
  padding: 12px 15px;
}

input[type=tel] {
  min-width: 40px;
  margin-right: 4px;
}

input[type=number] {
  -moz-appearance: textfield;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #c3c0c3;
  opacity: 1;
  font-size: 14px;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #c3c0c3;
  opacity: 1;
  font-size: 14px;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #c3c0c3;
  opacity: 1;
  font-size: 14px;
}

input::placeholder,
textarea::placeholder {
  color: #c3c0c3;
  opacity: 1;
  font-size: 14px;
}

input:disabled {
  border: solid 1px #ececee;
  background-color: #ececee;
  cursor: not-allowed;
}

select:disabled,
input[readonly],
textarea[readonly] {
  border: solid 1px #ececee;
  background-color: #ececee;
  opacity: 1;
}

input[readonly]:focus,
textarea[readonly]:focus {
  outline: none;
}

input:focus {
  outline: none;
}

input:disabled::-webkit-input-placeholder,
input[readonly]::-webkit-input-placeholder,
textarea:disabled::-webkit-input-placeholder,
textarea[readonly]::-webkit-input-placeholder {
  color: #c3c0c3;
  opacity: 1;
}

input:disabled:-ms-input-placeholder,
input[readonly]:-ms-input-placeholder,
textarea:disabled:-ms-input-placeholder,
textarea[readonly]:-ms-input-placeholder {
  color: #c3c0c3;
  opacity: 1;
}

input:disabled::-ms-input-placeholder,
input[readonly]::-ms-input-placeholder,
textarea:disabled::-ms-input-placeholder,
textarea[readonly]::-ms-input-placeholder {
  color: #c3c0c3;
  opacity: 1;
}

input:disabled::placeholder,
input[readonly]::placeholder,
textarea:disabled::placeholder,
textarea[readonly]::placeholder {
  color: #c3c0c3;
  opacity: 1;
}

input::-ms-clear,
input::-ms-reveal,
textarea::-ms-clear,
textarea::-ms-reveal {
  display: none;
}

input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button,
textarea::-webkit-inner-spin-button,
textarea::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

textarea {
  resize: none;
}

img {
  border: 0;
  vertical-align: middle;
}

hr {
  display: block;
  width: 100%;
  height: 1px;
  border: none;
}

main,
section,
article {
  display: block;
}

fieldset,
form {
  border: none;
  outline: none;
}

address {
  font-style: normal;
}

.u-color-point {
  color: #a54ac0 !important;
}

.u-bold {
  font-weight: 600;
}

.u-underline {
  text-decoration: underline;
}

.u-extend {
  flex: 1;
}

.u-ml-auto {
  margin-left: auto !important;
}

.u-text-center {
  text-align: center !important;
}

.u-text-right {
  text-align: right !important;
}

.u-text-left {
  text-align: left !important;
}

.svg-icon {
  transition: all 0.2s;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 0;
}
.svg-icon.icon-push {
  width: 24px;
  min-width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M17.641 14.46c0 1.969.955 2.646 2.426 3.762H3c1.47-1.116 2.426-1.78 2.426-3.762v-4.365C5.426 6.747 8.166 4 11.533 4c3.356 0 6.108 2.747 6.108 6.095zM8.688 21h5.69'/%3E%3C/svg%3E");
  background-size: contain;
}
.svg-icon.icon-search {
  width: 24px;
  min-width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M10.197 18.395a7.197 7.197 0 1 0 0-14.395 7.197 7.197 0 0 0 0 14.395M15.697 16.146l4.343 4.343'/%3E%3C/svg%3E");
  background-size: contain;
}
.svg-icon.icon-del {
  width: 24px;
  min-width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' viewBox='0 0 22 22'%3E%3Cpath fill='%23fff' d='M4.056 16.884a.76.76 0 0 0 0 1.066.74.74 0 0 0 1.056 0l-.528-.533zM18.01 4.92a.76.76 0 0 0 0-1.066.74.74 0 0 0-1.055 0l.528.533zM4.584 17.417l.528.533L18.01 4.92l-.527-.533-.528-.533L4.056 16.884z'/%3E%3Cpath fill='%23fff' d='M16.89 17.95a.74.74 0 0 0 1.055 0 .76.76 0 0 0 0-1.066l-.528.533zM5.045 3.855a.74.74 0 0 0-1.055 0 .76.76 0 0 0 0 1.066l.527-.533zm12.371 13.562.528-.533L5.046 3.855l-.528.533-.527.533L16.889 17.95z'/%3E%3C/svg%3E");
  background-size: contain;
}
.svg-icon.icon-next {
  width: 24px;
  min-width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m5.334 13.333 5.333-5-5.333-5'/%3E%3C/svg%3E");
  background-size: contain;
}
.svg-icon.icon-bar {
  width: 24px;
  min-width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' viewBox='0 0 22 22'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2.75 11h16.5M2.75 5.5h16.5m-16.5 11h16.5'/%3E%3C/svg%3E");
  background-size: contain;
}

.png-icon {
  vertical-align: top;
  font-size: 0;
}

/*!스크롤*/
.scroll {
  overflow: auto;
}
.scroll::-webkit-scrollbar {
  width: 15px;
  height: 15px;
}
.scroll::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border: 4px solid transparent;
  border-radius: 10px;
  background-clip: padding-box;
}
.scroll::-webkit-scrollbar-track {
  background-color: rgba(255, 255, 255, 0);
}
.scroll::-webkit-scrollbar-corner {
  background: rgba(0, 0, 0, 0.08);
}

.scroll-lock {
  touch-action: none;
  overflow-y: hidden !important;
}
.scroll-lock body {
  touch-action: none;
  overflow-y: hidden !important;
}

.scroll--row {
  max-height: auto;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-face-color: transparent; /*스크롤*/
  scrollbar-highlight-color: #999; /*하이라이트*/
  scrollbar-3dlight-color: transparent; /*왼쪽외곽음영*/
  scrollbar-darkshadow-color: transparent; /*오른쪽외곽음영*/
  scrollbar-shadow-color: transparent; /*오른쪽 안쪽음영*/
  scrollbar-arrow-color: transparent; /*화살*/
  scrollbar-track-color: transparent; /*스크롤영역*/
}
.scroll--row::-webkit-scrollbar {
  /*스크롤바*/
  width: 6px;
  height: 6px;
}
.scroll--row::-webkit-scrollbar-button {
  /*스크롤바 버튼(아래 위 화살표)*/
  width: 0px;
  height: 0px;
}
.scroll--row::-webkit-scrollbar-thumb {
  /*스크롤바 핸들*/
  background-color: #999;
  background-clip: padding-box;
  border-radius: 6px;
}
.scroll--row::-webkit-scrollbar-track {
  /*스크롤바 진행줄*/
  background-color: none;
}
.scroll--row::-webkit-scrollbar-track-piece {
  /*진행줄에서 핸들로 덮이지 않은 영역 */
  background-color: none;
}
.dark .scroll--row::-webkit-scrollbar-thumb {
  /*스크롤바 핸들*/
  background-color: #6b6b6b;
}
.dark .scroll--row::-webkit-scrollbar-track-piece {
  /*진행줄에서 핸들로 덮이지 않은 영역 */
  background-color: #6b6b6b;
}
.dark .scroll--row {
  scrollbar-highlight-color: #6b6b6b;
}

.divider-line {
  width: 100%;
  height: 1px;
  background: #333a48;
  display: block;
  margin-block: 20px;
}

.has-link {
  cursor: pointer;
}

.loading-layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  display: none;
  z-index: 9999;
  gap: 25px;
  color: #fff;
  font-size: 18px;
}
.loading-layer.active {
  display: flex;
}
.loading-layer .spinner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
}
.loading-layer .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
  margin: 0 5px;
  animation: pulse 1s infinite ease-in-out;
}
.loading-layer .dot1 {
  animation-delay: 0s;
}
.loading-layer .dot2 {
  animation-delay: 0.33s;
}
.loading-layer .dot3 {
  animation-delay: 0.66s;
}
@keyframes pulse {
  0% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
}

.swiper-slide img {
  width: 100%;
}

a.btn:hover {
  cursor: pointer;
}

.btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  letter-spacing: normal;
  box-sizing: border-box;
  line-height: initial;
  word-break: keep-all;
}
.btn__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  gap: 10px;
}
.btn--full {
  width: 100%;
  min-width: 100%;
}
.btn--extend {
  flex: 1;
}
.btn--point {
  background-color: #a54ac0;
  color: #fff;
}
.btn--line {
  background: #fff;
  border: 1px solid #a54ac0;
  color: #a54ac0;
}

/*!페이징 << < > >> */
.sec-paging {
  overflow: hidden;
  text-align: center;
}
.sec-paging :is(.pg-btn, .btn-page) {
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  color: #222;
}
.sec-paging .pg-btn {
  background-image: url("../img/arrow_right.png");
  background-repeat: no-repeat;
  background-position: center;
  text-indent: -9999px;
}
.sec-paging .pg-btn.disabled {
  cursor: auto;
  opacity: 0.4;
}
.sec-paging .group-prev {
  background-image: url("../img/arrow_last.png");
  transform: rotate(180deg);
}
.sec-paging .group-next {
  background-image: url("../img/arrow_last.png");
}
.sec-paging :is(.group-prev, .prev) {
  transform: rotate(180deg);
}
.sec-paging .btn-page {
  line-height: inherit;
  cursor: pointer;
}
.sec-paging .btn-page.active {
  font-weight: bold;
  color: #a54ac0;
}

.tab {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  white-space: nowrap;
  flex: 1;
}
.tab__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
}
.tab__contents {
  display: none;
}
.tab__contents.is-active {
  display: block;
}

.chk {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  gap: 5px;
  cursor: pointer;
  line-height: initial;
}
.chk__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  gap: 10px 20px;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.chk input[type=checkbox],
.chk input[type=radio] {
  display: inline-block;
  padding-right: 0;
  height: 18px;
}
.chk input[type=checkbox]::before,
.chk input[type=radio]::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("../img/chk_off.png") no-repeat center/18px auto;
  border-radius: 2px;
  cursor: pointer;
}
.chk input[type=checkbox]:checked::before,
.chk input[type=radio]:checked::before {
  background: url("../img/chk_on.png") no-repeat center/18px auto;
  border-color: #a54ac0;
}
.chk input[type=checkbox]:disabled,
.chk input[type=radio]:disabled {
  opacity: 0.4;
}
.chk--circle {
  position: relative;
  margin: 0;
}
.chk--circle input::before {
  background-image: url("../img/radio_off.png");
  border: 0;
}
.chk--circle input:checked::before {
  background-image: url("../img/radio_on.png");
  background-size: 18px auto;
}

.switch__wrap {
  position: relative;
}
.switch {
  display: inline-block;
  -webkit-appearance: none;
  background-color: #dfe5ed;
  border-radius: 100px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease;
  cursor: pointer;
}
.switch:after {
  content: "";
  display: inline-block;
  background-color: #fff;
  border-radius: 50px;
  position: absolute;
  top: 50%;
  left: 2px;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
.switch:checked[type=checkbox] {
  transition: all 0.3s ease;
}
.switch:checked[type=checkbox]:after {
  left: 22px;
  transition: all 0.3s ease;
  border: none;
}

.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100vh;
  z-index: 100;
  display: none;
}
.popup.is-active {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
}
.popup__bg-close {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.7);
}
.popup__container {
  position: relative;
  background: #fff;
  width: calc(100% - 40px);
  margin-inline: auto;
  z-index: 101;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 0 5px 0 rgba(31, 39, 62, 0.24);
}
.popup__content {
  max-height: calc(95vh - 120px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-face-color: transparent; /*스크롤*/
  scrollbar-highlight-color: #999; /*하이라이트*/
  scrollbar-3dlight-color: transparent; /*왼쪽외곽음영*/
  scrollbar-darkshadow-color: transparent; /*오른쪽외곽음영*/
  scrollbar-shadow-color: transparent; /*오른쪽 안쪽음영*/
  scrollbar-arrow-color: transparent; /*화살*/
  scrollbar-track-color: transparent; /*스크롤영역*/
}
.popup__content::-webkit-scrollbar {
  /*스크롤바*/
  width: 6px;
  height: 6px;
}
.popup__content::-webkit-scrollbar-button {
  /*스크롤바 버튼(아래 위 화살표)*/
  width: 0px;
  height: 0px;
}
.popup__content::-webkit-scrollbar-thumb {
  /*스크롤바 핸들*/
  background-color: #999;
  background-clip: padding-box;
  border-radius: 6px;
}
.popup__content::-webkit-scrollbar-track {
  /*스크롤바 진행줄*/
  background-color: none;
}
.popup__content::-webkit-scrollbar-track-piece {
  /*진행줄에서 핸들로 덮이지 않은 영역 */
  background-color: none;
}
.dark .popup__content::-webkit-scrollbar-thumb {
  /*스크롤바 핸들*/
  background-color: #6b6b6b;
}
.dark .popup__content::-webkit-scrollbar-track-piece {
  /*진행줄에서 핸들로 덮이지 않은 영역 */
  background-color: #6b6b6b;
}
.dark .popup__content {
  scrollbar-highlight-color: #6b6b6b;
}
.popup__content {
  text-align: left;
}
.popup__btns {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.popup__tit {
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
}
.popup__close {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0;
}
.popup.type-alert .popup__container {
  padding-top: 30px;
  width: 320px;
}
.popup.type-alert .popup__content {
  padding-top: 0;
}
.popup.type-alert .popup__tit {
  padding-top: 0;
}
.popup.type-alert .popup__alert__txt {
  text-align: center;
  font-size: 15px;
  line-height: 1.5;
  padding-bottom: 20px;
}

body {
  background-color: #1a1e27;
}

main {
  min-height: 77.5vh;
}

.layout-center {
  width: 1430px;
  margin-inline: auto;
}
@media screen and (max-width: 1599.9px) {
  .layout-center {
    width: 100%;
    padding-inline: 20px;
  }
}

.layout-center--wide {
  width: 1720px;
  margin-inline: auto;
}
@media screen and (max-width: 1760px) {
  .layout-center--wide {
    width: 100%;
    padding-inline: 20px;
  }
}

.layout-center--narrow {
  width: 700px;
  margin-inline: auto;
}
@media screen and (max-width: 1023.9px) {
  .layout-center--narrow {
    width: 100%;
    padding-inline: 20px;
  }
}

.layout-container {
  padding-top: 120px;
  padding-bottom: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  min-height: calc(var(--vh, 1vh) * 100);
  width: 100%;
}
.layout-container > * {
  align-self: stretch;
}
.layout-container > .layout-container__bottom {
  margin-top: auto;
}
.layout-container.none-head {
  padding-top: 20px;
}

.pg-tit {
  font-size: 40px;
  font-weight: 700;
}
.pg-tit__wrap {
  text-align: center;
  margin-bottom: 40px;
}
.pg-tit__wrap.show-pg-tit {
  display: block;
}
.pg-tit__wrap.hide-head {
  display: none;
}
.pg-tit__wrap--col {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  gap: 15px;
  margin-top: 50px;
}
.pg-tit__wrap--col .pg-tit__sub:before {
  display: none;
}
.pg-tit__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  gap: 10px;
  height: 100%;
}
.pg-tit__sub {
  font-size: 15px;
  color: #c2c5cc;
  position: relative;
}
.pg-tit__sub::before {
  content: "";
  display: inline-block;
  position: relative;
  width: 1px;
  height: 15px;
  margin-inline: 20px;
  background: #7b7b7b;
  cursor: default;
  vertical-align: middle;
}

.bottom-nav {
  background: #fff;
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 0px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  padding-inline: 7.5px;
  z-index: 3;
}
.bottom-nav__menu {
  width: 25%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  gap: 5px;
  font-size: 12px;
  text-align: center;
}
.bottom-nav__menu, .bottom-nav__menu:hover, .bottom-nav__menu:active, .bottom-nav__menu:visited {
  color: #929292;
}
.bottom-nav__menu.is-active {
  color: #a54ac0;
}

.head {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  border-bottom: 1px solid #333a48;
  z-index: 50;
}
.head__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  height: 100%;
  gap: 30px;
}
@media screen and (max-width: 1279.9px) {
  .head__inner {
    gap: 10px;
  }
}
.head__logo {
  flex: 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
}
.head__logo img {
  display: block;
  height: 40px;
  width: auto;
}
.head__links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  flex: 0 0 auto;
}
.head__link {
  font-size: 15px;
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  line-height: inherit;
}
@media screen and (min-width: 1023.9px) {
  .head__link:not(:last-child) {
    position: relative;
  }
  .head__link:not(:last-child)::after {
    content: "";
    display: inline-block;
    position: relative;
    width: 1px;
    height: 12px;
    margin-inline: 10px;
    background: #7b7b7b;
    cursor: default;
    vertical-align: middle;
  }
}
.head__utils {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  flex: 0 0 auto;
  gap: 30px;
}
@media screen and (max-width: 1279.9px) {
  .head__utils {
    gap: 10px;
  }
}
@media screen and (max-width: 1023.9px) {
  .head__utils {
    gap: 20px;
  }
}
.head__util {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  position: relative;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.head__menu {
  display: none;
}
.head .gnb__close {
  display: none;
}
@media screen and (max-width: 1023.9px) {
  .head {
    height: 52px;
  }
  .head__logo img {
    height: 26px;
  }
  .head__links {
    display: none;
  }
  .head__menu {
    display: inline-flex;
  }
  .head.is-active {
    height: auto;
    background: transparent;
  }
  .head.is-active .head__inner {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 300px;
    height: calc(var(--vh, 1vh) * 100);
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "logo utils" "links links" "gnb gnb";
    align-content: start;
    align-items: center;
    gap: 0;
    padding: 13px 16px;
    background: #1a1e27;
    z-index: 52;
    overflow-y: auto;
    transform: translateX(0);
    transition: transform 0.3s ease;
    animation: gnb-slide-in 0.3s ease;
  }
  .head.is-active.is-closing .head__inner {
    transform: translateX(100%);
    animation: none;
  }
  .head.is-active .head__logo {
    grid-area: logo;
  }
  .head.is-active .head__logo img {
    height: 36px;
  }
  .head.is-active .head__utils {
    grid-area: utils;
    gap: 0;
  }
  .head.is-active .head__util:not(.head__menu) {
    display: none;
  }
  .head.is-active .head__menu {
    display: none;
  }
  .head.is-active .gnb__close {
    display: inline-flex;
  }
  .head.is-active .head__links {
    grid-area: links;
    display: flex;
    gap: 8px;
    margin-top: 23px;
    padding-bottom: 20px;
    border-bottom: 1px solid #333a48;
  }
  .head.is-active .head__link {
    flex: 1;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    align-items: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    height: 42px;
    border: 1px solid #333a48;
    border-radius: 6px;
    color: #fff;
    font-size: 15px;
    font-weight: 400;
  }
  .head.is-active .gnb {
    grid-area: gnb;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 8px;
  }
  .head.is-active .gnb__menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    width: 100%;
    padding: 20px 10px;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
  }
  .head.is-active .gnb__menu::after {
    content: "";
    display: inline-block;
    width: 16px;
    min-width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m5.334 13.333 5.333-5-5.333-5'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.4;
  }
  .head.is-active .gnb__dim {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .head.is-active.is-closing .gnb__dim {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
.head__push-new {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #a54ac0;
  position: absolute;
  top: 0;
  right: 0;
}

.gnb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  flex: 1;
  justify-content: center;
  gap: 40px;
  min-width: 0;
}
@media screen and (min-width: 1023.9px) {
  .gnb {
    height: 100%;
  }
}
@media screen and (max-width: 1279.9px) {
  .gnb {
    gap: 15px;
  }
}
.gnb__menu {
  flex: 0 0 auto;
  font-size: 17px;
  font-weight: 600;
  white-space: nowrap;
  padding-inline: 2px;
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
}
@media screen and (min-width: 1023.9px) {
  .gnb__menu.is-active:after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 4px;
    background: #a54ac0;
    position: absolute;
    bottom: -1px;
    left: 0;
  }
}
.gnb__close .svg-icon.icon-del {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' viewBox='0 0 22 22'%3E%3Cpath fill='%23fff' d='M4.056 16.884a.76.76 0 0 0 0 1.066.74.74 0 0 0 1.056 0l-.528-.533zM18.01 4.92a.76.76 0 0 0 0-1.066.74.74 0 0 0-1.055 0l.528.533zM4.584 17.417l.528.533L18.01 4.92l-.527-.533-.528-.533L4.056 16.884z'/%3E%3Cpath fill='%23fff' d='M16.89 17.95a.74.74 0 0 0 1.055 0 .76.76 0 0 0 0-1.066l-.528.533zM5.045 3.855a.74.74 0 0 0-1.055 0 .76.76 0 0 0 0 1.066l.527-.533zm12.371 13.562.528-.533L5.046 3.855l-.528.533-.527.533L16.889 17.95z'/%3E%3C/svg%3E");
}
.gnb__dim {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 51;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 1023.9px) {
  .gnb {
    display: none;
  }
}

@keyframes gnb-slide-in {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
.footer {
  padding-top: 42px;
  border-top: 1px solid #333a48;
}
.footer__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  justify-content: space-between;
  gap: 40px 174px;
}
.footer__logo {
  flex: 0 0 auto;
}
.footer__logo img {
  display: block;
  height: 46px;
  width: auto;
}
.footer__info {
  flex: 1;
  min-width: 0;
}
.footer__links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.footer__link {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  line-height: 1.4;
  white-space: nowrap;
}
.footer__link:not(:last-child) {
  position: relative;
}
.footer__link:not(:last-child)::after {
  content: "";
  display: inline-block;
  position: relative;
  width: 1px;
  height: 11px;
  margin-inline: 15px;
  background: rgba(255, 255, 255, 0.25);
  cursor: default;
  vertical-align: middle;
}
.footer__company {
  font-size: 13px;
  font-weight: 400;
  color: #c2c5cc;
  line-height: 1.7;
  word-break: keep-all;
}
.footer__company p + p {
  margin-top: 2px;
}
.footer__sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  flex: 0 0 auto;
  gap: 10px;
}
.footer__sns-link {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
}
.footer__sns-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.footer__copy {
  margin-top: 42px;
  text-align: center;
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.02em;
  background: #171b24;
  padding-block: 22px;
}
@media screen and (max-width: 1023.9px) {
  .footer {
    padding: 40px 0 30px;
  }
  .footer__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
  }
  .footer__logo img {
    height: 32px;
  }
  .footer__info {
    width: 100%;
  }
  .footer__links {
    margin-bottom: 16px;
  }
  .footer__link {
    font-size: 13px;
  }
  .footer__link:not(:last-child) {
    position: relative;
  }
  .footer__link:not(:last-child)::after {
    content: "";
    display: inline-block;
    position: relative;
    width: 1px;
    height: 10px;
    margin-inline: 8px;
    background: rgba(255, 255, 255, 0.25);
    cursor: default;
    vertical-align: middle;
  }
  .footer__company {
    font-size: 12px;
    line-height: 1.6;
  }
  .footer__sns-link {
    width: 32px;
    height: 32px;
  }
  .footer__copy {
    margin-top: 32px;
    font-size: 11px;
  }
}

.ellipsis {
  display: block;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.no-data {
  font-weight: 600;
  text-align: center;
}

.error-txt {
  color: #ff474a;
}

.tip-txt--center {
  margin-inline: auto;
  text-align: center;
}

/*common input form*/
.input-form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
}
.input-form__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
}
.input-form__error-txt {
  line-height: 17px;
  color: #ff474a;
}
.input-form__tit-field {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  gap: 15px;
}
.input-form__tit-field .sub {
  color: #767678;
  font-size: 14px;
}
.input-form__input-field {
  margin-bottom: 45px;
}
.input-form__input-field:last-child {
  margin-bottom: 0;
}
.input-form__input-field input[type=text],
.input-form__input-field input[type=password] {
  width: 100%;
}

.add-file {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
.add-file__blind {
  display: none;
}
.add-file__input-form {
  flex: 1; /* input_form이 남은 공간을 꽉 채울 수 있도록 설정 */
}
.add-file__input {
  border: 1px solid #ddd;
  margin-left: 0;
  padding-inline: 10px;
}
.add-file__thumb {
  position: relative;
  display: none;
  margin-top: 5px;
  width: 100%; /* 가로 크기를 100%로 설정하여 줄바꿈이 되도록 함 */
}
.add-file__thumb__item {
  position: relative;
  z-index: 0;
  display: inline-block;
}
.add-file__thumb__preview-img {
  width: 120px;
}
.add-file__thumb__del {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  background: url("../img/icon_del.png") #e8e8e8 center center no-repeat;
  background-size: 9px auto;
  font-size: 0;
  width: 22px;
  height: 22px;
  border-radius: 100%;
}
.add-file__value {
  display: inline-block;
  margin-right: 5px;
  cursor: pointer;
  display: block;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 200px;
}
.add-file + .add-file {
  margin-top: 10px;
}

.add-file__img {
  position: relative;
  margin-top: 5px;
  margin-bottom: 5px;
}
@media screen and (max-width: 575.9px) {
  .add-file__img + .add-file {
    margin-top: 25px;
  }
}
.add-file__img__del {
  background: url("../img/icon_del.png") #e8e8e8 center center no-repeat;
  background-size: 9px auto;
  font-size: 0;
  width: 22px;
  height: 22px;
  border-radius: 100%;
  display: inline-block;
}
.add-file__img__imgarea {
  position: relative;
  max-width: 200px;
  z-index: 0;
  width: 120px;
  aspect-ratio: 3/2;
  object-fit: cover;
}
.add-file__img__btns {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: 5px;
}