@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap");
:root {
  --color-primary: #f95523;
  --color-primary-border: #ca3f14;
}
html {
  font-size: 10px;
}
html[lang=ko-KR], html[lang=ko] {
  font-family: "Noto Sans KR", sans-serif;
}
html[lang=en],
html *[lang=en] {
  font-family: "Noto Sans KR", Arial, sans-serif, serif;
}
html[lang=en] body,
html *[lang=en] body {
  font-size: 22px;
  font-weight: 400;
}
html body {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  color: #000;
  letter-spacing: -0.04em;
}

/* ====================================================================== */
/* [Web Font]
/* ====================================================================== */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  -webkit-text-size-adjust: 100%;
}

main {
  display: block;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bold;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

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

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/* reset */
html * {
  box-sizing: border-box;
  word-wrap: break-word;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
figure,
legend,
input,
textarea,
button,
p,
blockquote,
th,
td,
form,
fieldset,
blockquote,
iframe {
  margin: 0;
  padding: 0;
  text-size-adjust: 100%;
}

article,
aside,
canvas,
details,
embed,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
  display: block;
}

command,
datalist,
keygen,
mark,
meter,
progress,
rp,
rt,
ruby,
time,
wbr {
  display: inline;
}

img {
  display: inline-block;
  vertical-align: top;
  max-width: 100%;
  border: 0;
  image-rendering: -moz-crisp-edges; /* firefox */
  image-rendering: -o-crisp-edges; /* opera */
  image-rendering: -webkit-optimize-contrast; /* chrome(비표준) */
  image-rendering: crisp-edges;
  transform: translateZ(0);
}

fieldset {
  border: 0;
}

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

pre {
  white-space: pre-wrap;
}

legend,
caption {
  position: relative;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clear: both;
}

a {
  color: inherit;
  cursor: pointer;
  background-color: transparent;
}
a:link {
  text-decoration: none;
}
a:hover, a:focus, a:active, a:visited {
  text-decoration: none;
}

em,
i,
address,
cite {
  font-style: normal;
  font-weight: normal;
}

input,
textarea,
select,
button,
table {
  font-size: inherit;
  font-family: inherit;
  border: 0;
  background-color: transparent;
}

button,
select {
  cursor: pointer;
}

textarea,
input,
select {
  border-radius: 0;
  border: 0;
  outline-color: -moz-use-text-color;
  outline-width: medium;
}

textarea {
  resize: none;
  appearance: none;
}

label {
  cursor: pointer;
  -webkit-touch-callout: none;
  user-select: none;
}

table {
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td {
  border-collapse: collapse;
}

select::-ms-expand {
  display: none;
}

/**
 * 반응형 폰트 크기 (responsive font)
 * @param {number} $min-px - 최소 폰트 크기 (px)
 * @param {number} $max-px - 최대 폰트 크기 (px)
 * @param {number} $min-vw - 최소 뷰포트 너비 (기본값: 375px)
 * @param {number} $max-vw - 최대 뷰포트 너비 (기본값: 1920px)
 */
/**
 * 박스 그림자 (box-shadow)
 * @param {number} $x - X 오프셋 (기본값: 0px)
 * @param {number} $y - Y 오프셋 (기본값: 3px)
 * @param {number} $blur - 블러 반경 (기본값: 6px)
 * @param {number} $spread - 확산 반경 (기본값: 0px)
 * @param {color} $color - 색상 (기본값: rgba(0, 0, 0, 0.25))
 * @param {boolean} $important - !important 사용 여부 (기본값: false)
 */
/**
 * 텍스트 그림자(text-shadow)
 * @param {number} $x - X 오프셋 (기본값: 0px)
 * @param {number} $y - Y 오프셋 (기본값: 1px)
 * @param {number} $blur - 블러 반경 (기본값: 0px)
 * @param {color} $color - 색상 (기본값: rgba(0, 0, 0, 0.25))
 * @param {boolean} $important - !important 사용 여부 (기본값: false)
 */
/**
 * 미디어 쿼리 mixin
 * @param {string|number} $width - 브레이크포인트 이름 또는 픽셀 값
 * @param {string} $type - 'min' 또는 'max'
 * @example
 *   @include mq('desktop') { ... }
 *   @include mq(1920px) { ... }
 *   @include mq('tablet', 'max') { ... }
 */
/**
 * 배경 이미지 커버
 * @param {string} $url - 배경 이미지 경로
 */
/**
 * 그라디언트 박스
 * @param {number|string} $direction - 그라디언트 방향 (기본값: 90deg)
 * @param {color} $color1 - 시작 색상
 * @param {color} $color2 - 끝 색상
 */
/**
 * 리스트 불릿 스타일
 * @param {number} $padding-left - 왼쪽 패딩 (기본값: 20px)
 * @param {color} $color - 불릿 색상 (기본값: #fff)
 * @param {number} $opacity - 불릿 투명도 (기본값: 0.6)
 */
html {
  scroll-behavior: smooth;
}
html.is-locked body {
  height: calc(var(--window-inner-height) - 1px);
  overflow: hidden;
  box-sizing: border-box;
}
html body {
  margin: 0;
  padding: 0;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  padding: 0 48px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.2), transparent);
  transition: all 0.3s ease;
  z-index: 99;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 991px) {
  .header {
    height: 48px;
    padding: 0 8px 0 16px;
  }
}
.header-right {
  gap: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header h1 {
  z-index: 1;
}
.header h1 a {
  display: block;
  width: 90px;
  height: 22px;
  background: url(../img/logo_kngil.svg) center no-repeat;
  background-size: contain;
  text-indent: -9999px;
  color: transparent;
  font-size: 1px;
  overflow: hidden;
}
.header .menu-box,
.header .menu-user,
.header .menu-all,
.header .menu-admin {
  position: relative;
}
.header .menu-box {
  padding: 10px 0;
}
.header .menu-list {
  display: none;
  background: #fff;
  border-radius: 4px;
  box-sizing: border-box;
  border: 1px solid #131313;
  position: absolute;
  left: 50%;
  top: 50px;
  padding: 4px;
}
.header .menu-list.show {
  display: flex;
  animation: menuListShow 0.3s ease forwards;
}
.header .menu-list::before {
  content: " ";
  background: url(../img/tri_img.svg) no-repeat;
  background-size: cover;
  width: 12px;
  height: 10px;
  position: absolute;
  top: -9px;
  left: calc(50% - 6px);
}
.header .menu-list li {
  width: 68px;
  height: 32px;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.header .menu-list li:hover {
  background: var(--color-yellow);
}
.header .menu-list li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header .menu-all {
  cursor: pointer;
  display: block;
  width: 32px;
  height: 32px;
  position: relative;
  z-index: 1;
}
.header .menu-all.open span:nth-child(1) {
  transform: translateY(8px) rotate(-45deg);
}
.header .menu-all.open span:nth-child(2) {
  opacity: 0;
}
.header .menu-all.open span:nth-child(3) {
  transform: translateY(-8px) rotate(45deg);
}
.header .menu-all span {
  width: 24px;
  height: 2px;
  position: absolute;
  left: 4px;
  background-color: #fff;
  transition: all 0.2s linear;
}
.header .menu-all span:nth-child(1) {
  top: 7px;
}
.header .menu-all span:nth-child(2) {
  top: 15px;
}
.header .menu-all span:nth-child(3) {
  bottom: 7px;
}

.sitemap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--window-inner-height);
  background-color: #111;
  display: flex;
  justify-content: center;
  overflow: hidden;
  gap: 16px;
  padding: 20px;
  pointer-events: none;
  animation: enableHover 0.8s forwards;
  animation-delay: 0.3s;
  display: none;
}
.sitemap.open {
  display: flex;
}
.sitemap.open ~ * {
  overflow: hidden !important;
}
@media only screen and (max-width: 1279px) {
  .sitemap {
    flex-direction: column;
    justify-content: space-between;
  }
  .sitemap li {
    height: 100%;
  }
  .sitemap li span {
    text-align: center;
  }
  .sitemap li:has(.bg-line) {
    display: none;
  }
}
.sitemap div[class*=bg-line] {
  position: relative;
  width: 1px;
  height: 100%;
  background-color: #fff;
  animation-duration: 0.8s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}
.sitemap .bg-line.down {
  animation-name: slideDown;
}
.sitemap .bg-line.up {
  animation-name: slideup;
}
.sitemap li:has(:not(.bg-line)) {
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.5s;
  width: 20%;
  z-index: 1;
}
.sitemap li:has(:not(.bg-line)).value {
  background-image: url(../img/img_sitemap_01.jpg);
  background-position: left 42% center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sitemap li:has(:not(.bg-line)).value a::before {
  background-color: rgba(0, 0, 0, 0.3);
}
.sitemap li:has(:not(.bg-line)).provided {
  background-image: url(../img/img_sitemap_02.jpg);
  background-position: left 32% center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sitemap li:has(:not(.bg-line)).provided a::before {
  background-color: rgba(0, 0, 0, 0.2);
}
.sitemap li:has(:not(.bg-line)).primary {
  background-image: url(../img/img_sitemap_03.jpg);
  background-position: left 58% center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sitemap li:has(:not(.bg-line)).analysis {
  background-image: url(../img/img_sitemap_04.jpg);
  background-position: left 38% center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sitemap li:has(:not(.bg-line)).analysis a::before {
  background-color: rgba(0, 0, 0, 0.4);
}
.sitemap li:has(:not(.bg-line)).results {
  background-image: url(../img/img_sitemap_05.jpg);
  background-position: left 2% center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sitemap li:has(:not(.bg-line)) a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding-left: 24px;
  padding-top: 20px;
  width: 100%;
  height: 100%;
  color: #fff;
  white-space: nowrap;
  transform-origin: left;
  text-decoration: none;
  position: relative;
  z-index: 2;
}
.sitemap li:has(:not(.bg-line)) a::before, .sitemap li:has(:not(.bg-line)) a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sitemap li:has(:not(.bg-line)) a::before {
  background-color: rgba(0, 0, 0, 0.5);
  transition: 0.5s ease;
  z-index: -1;
}
.sitemap li:has(:not(.bg-line)) a::after {
  background-color: #111;
  z-index: 1;
  animation: slideRight 0.5s ease-in forwards;
  animation-delay: 0.1s;
}
.sitemap li:has(:not(.bg-line)) a span {
  position: relative;
  font-size: 42px;
  font-weight: 900;
  line-height: 1.2;
  z-index: 2;
}
@media only screen and (max-width: 1023px) {
  .sitemap li:has(:not(.bg-line)) a span {
    font-size: 2.8rem;
  }
}
.sitemap li:has(:not(.bg-line)) a span::before {
  position: absolute;
  top: -100px;
  left: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  font-weight: 900;
  line-height: 80%;
  font-size: 80px;
  display: none;
  z-index: -1;
}
@media only screen and (max-width: 1279px) {
  .sitemap li:has(:not(.bg-line)) a span::before {
    display: block;
    top: -50%;
    left: 0;
    width: max-content;
    line-height: 1;
    font-size: 60px;
  }
}
@media only screen and (max-width: 991px) {
  .sitemap li:has(:not(.bg-line)) a span::before {
    font-size: 3.8rem;
  }
}
@media only screen and (max-width: 575px) {
  .sitemap li:has(:not(.bg-line)) a span::before {
    display: none;
  }
}
.sitemap li:has(:not(.bg-line)) a p {
  font-size: 16px;
  font-weight: 400;
  margin: 0;
  color: #fff;
}
@media only screen and (max-width: 1279px) {
  .sitemap li:has(:not(.bg-line)) a p {
    display: none;
  }
}
.sitemap li:has(:not(.bg-line)) a em {
  font-weight: 700;
  color: #fff;
}
.sitemap li:has(:not(.bg-line)).value a span::before {
  content: "\aValue of";
  white-space: pre;
}
@media only screen and (max-width: 1279px) {
  .sitemap li:has(:not(.bg-line)).value a span::before {
    content: "Value of";
  }
}
.sitemap li:has(:not(.bg-line)).provided a span::before {
  content: "Provided\a Data";
  white-space: pre;
}
@media only screen and (max-width: 1279px) {
  .sitemap li:has(:not(.bg-line)).provided a span::before {
    content: "Provided Data";
  }
}
.sitemap li:has(:not(.bg-line)).primary a span::before {
  content: "Key \a Features";
  white-space: pre;
}
@media only screen and (max-width: 1279px) {
  .sitemap li:has(:not(.bg-line)).primary a span::before {
    content: "Key Features";
  }
}
.sitemap li:has(:not(.bg-line)).analysis a span::before {
  content: "Data\a Analysis";
  white-space: pre;
}
@media only screen and (max-width: 1279px) {
  .sitemap li:has(:not(.bg-line)).analysis a span::before {
    content: "Data Analysis";
  }
}
.sitemap li:has(:not(.bg-line)).results a span::before {
  content: "Exploration\aResults";
  white-space: pre;
}
@media only screen and (max-width: 1279px) {
  .sitemap li:has(:not(.bg-line)).results a span::before {
    content: "Exploration Results";
  }
}
@media only screen and (min-width: 1280px) {
  .sitemap li:has(:not(.bg-line)):hover {
    width: 60%;
  }
}
@media only screen and (min-width: 1280px) {
  .sitemap li:has(:not(.bg-line)):hover a {
    opacity: 1;
    transform: scale(1.3);
  }
}
.sitemap li:has(:not(.bg-line)):hover a::before {
  opacity: 0;
  background-color: transparent;
}
@media only screen and (min-width: 1280px) {
  .sitemap li:has(:not(.bg-line)):hover a span::before {
    display: initial;
  }
  .sitemap li:has(:not(.bg-line)):hover a em {
    color: var(--color-yellow);
  }
}
@media only screen and (max-width: 1279px) {
  .sitemap li:has(:not(.bg-line)) {
    width: 100%;
  }
}

@keyframes menuListShow {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
.sitemap.open ~ *,
body:has(.sitemap.open),
html:has(.sitemap.open) {
  overflow: hidden !important;
}
.sitemap.open ~ *.lenis-scrolling, .sitemap.open ~ *.lenis,
body:has(.sitemap.open).lenis-scrolling,
body:has(.sitemap.open).lenis,
html:has(.sitemap.open).lenis-scrolling,
html:has(.sitemap.open).lenis {
  overflow: hidden !important;
}

/* common */
.wrap {
  position: relative;
  width: 100%;
  min-height: var(--window-inner-height);
  overflow: hidden;
  flex-direction: column;
  max-width: 1920px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wrap.main {
  height: var(--window-inner-height);
  min-height: var(--window-inner-height);
}

.inner {
  max-width: 1440px;
  margin: 0 auto;
}

.container {
  position: relative;
  width: 100%;
  flex-grow: 1;
}
.container section {
  max-width: 1920px;
  margin: 0 auto;
}

.footer {
  position: relative;
  width: 100%;
  background: #14100c;
  color: var(--text-white);
  padding: 16px 60px;
  z-index: 9;
}
@media only screen and (max-width: 1279px) {
  .footer {
    padding: 16px 32px;
  }
}
@media only screen and (max-width: 767px) {
  .footer {
    padding: 40px 32px;
  }
}
.footer-wrap {
  width: 100%;
  gap: 40px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media only screen and (max-width: 1279px) {
  .footer-wrap {
    gap: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .footer-wrap {
    flex-direction: column;
  }
}
.footer-menu {
  gap: 32px;
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 1439px) {
  .footer-menu {
    display: none;
  }
}
.footer-close {
  display: none;
}
.footer .comp-info {
  min-width: 240px;
  flex-direction: column;
  color: rgba(255, 255, 255, 0.5019607843);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}
.footer .comp-info .logo {
  width: 200px;
  height: 45px;
  opacity: 0.8;
}
.footer .comp-info .logo img {
  vertical-align: middle;
}
.footer .comp-info .ceo {
  font-size: 14px;
}
.footer .comp-info .ceo em {
  font-size: 18px;
  font-weight: 500;
  margin-left: 4px;
}
@media only screen and (max-width: 767px) {
  .footer .comp-info .ceo em {
    font-size: 14px;
  }
}
.footer .comp-inner {
  width: 100%;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.5019607843);
  gap: 8px;
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .footer .comp-inner {
    display: grid;
    grid-template-columns: 100%;
    gap: 16px;
    font-size: 14px;
  }
}
.footer .comp-contact {
  width: max-content;
  gap: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 1279px) {
  .footer .comp-contact {
    justify-content: end;
  }
}
@media only screen and (max-width: 767px) {
  .footer .comp-contact {
    width: inherit;
    max-width: 400px;
    grid-row: 3;
  }
}
.footer .privacy-box {
  font-size: 18px;
  font-weight: 500;
  gap: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
  .footer .privacy-box {
    font-size: 14px;
  }
}
.footer .privacy-box .privacy {
  position: relative;
  color: #fff;
  opacity: 0.9;
}
.footer .privacy-box .privacy::after {
  position: absolute;
  content: "|";
  font-weight: 300;
  font-size: 16px;
  color: #aaa;
  top: 1px;
  right: -22px;
}
@media only screen and (max-width: 767px) {
  .footer .privacy-box .privacy::after {
    font-size: 12px;
  }
}
.footer .footer-family {
  position: relative;
  width: 160px;
}
@media only screen and (max-width: 767px) {
  .footer .footer-family {
    width: 100%;
    max-width: 400px;
  }
}
.footer .footer-family .btn-family {
  position: relative;
  min-width: 160px;
  width: 100%;
  color: #fff;
  font-weight: 500;
  background: #2c2121;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer .footer-family .btn-family.open::after {
  transform: scaleY(1);
}
.footer .footer-family .btn-family::after {
  content: "";
  width: 12px;
  aspect-ratio: 1/1;
  background-image: url(../img/ico/ico_angle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: scaleY(-1);
  transition: 0.2s;
}
.footer .footer-family .family-list {
  position: absolute;
  left: 0;
  bottom: 100%;
  width: 100%;
  padding: 0 10px;
  background: #fff;
  border-radius: 4px 4px 0 0;
  color: #777;
  font-size: 12px;
  box-sizing: border-box;
  box-shadow: 0px -2px 10px rgba(0, 0, 0, 0.1333333333);
  display: none;
}
.footer .footer-family .family-list.open {
  display: block;
}
.footer .footer-family .family-list li {
  padding: 8px 0;
  border-bottom: 1px solid #ddd;
}
.footer .address {
  color: rgba(255, 255, 255, 0.6666666667);
  display: flex;
  flex-wrap: wrap;
  gap: 2px 24px;
  min-width: 60%;
}
@media only screen and (max-width: 1279px) {
  .footer .copyright {
    font-size: 13px;
  }
}

.main .footer {
  display: none;
  height: max-content;
  background: rgba(20, 16, 12, 0.8666666667);
}
@media only screen and (max-width: 767px) {
  .main .footer {
    display: none !important;
  }
}
.main .footer.on {
  position: absolute;
  bottom: 0;
  display: block;
  animation: slideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.main .footer .footer-close {
  background: url(../img/ico/ico_footer_close.svg) no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  width: 40px;
  height: 36px;
  top: -36px;
  left: 0;
  display: block;
  text-indent: -9999px;
  color: transparent;
  font-size: 1px;
  overflow: hidden;
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.floating-menu {
  width: 80px;
  position: fixed;
  top: 96px;
  right: 0px;
  z-index: 98;
  padding: 61px 0 61px 8px;
  background-image: url(../img/bg_floating_menu.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: drop-shadow(-4px 4px 10px rgba(0, 0, 0, 0.25));
  overflow: hidden;
}
@media only screen and (max-width: 1439px) {
  .floating-menu {
    width: 64px;
    padding: 52px 0 52px 6px;
  }
}
.floating-menu ul {
  width: 100%;
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  position: relative;
  z-index: 1;
}
.floating-menu li {
  position: relative;
  width: 75px;
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}
@media only screen and (max-width: 1439px) {
  .floating-menu li {
    width: 60px;
    height: 62px;
  }
}
.floating-menu li a {
  width: 100%;
  height: 100%;
  text-align: center;
  font-weight: 700;
  gap: 4px;
  flex-direction: column;
  position: relative;
  z-index: 10;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.floating-menu li a:hover span {
  color: #FFD700;
}
.floating-menu li a:hover .ico-buy {
  background-color: #FFD700;
}
.floating-menu li a:hover .ico-faq {
  background-color: #FFD700;
}
.floating-menu li span {
  display: block;
  color: #ffffff;
  font-weight: 500;
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.5px;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 1439px) {
  .floating-menu li span {
    font-size: 12px;
  }
}
.floating-menu li i {
  width: 28px;
  height: 28px;
}
@media only screen and (max-width: 1439px) {
  .floating-menu li i {
    width: 24px;
    height: 24px;
  }
}
.floating-menu li i.ico-buy {
  background-color: #fff;
  -webkit-mask-image: url("../img/ico/ico_floating_buy.svg");
  mask-image: url("../img/ico/ico_floating_buy.svg");
  background-size: cover;
  -webkit-background-size: cover;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.floating-menu li i.ico-faq {
  background-color: #fff;
  -webkit-mask-image: url("../img/ico/ico_floating_faq.svg");
  mask-image: url("../img/ico/ico_floating_faq.svg");
  background-size: cover;
  -webkit-background-size: cover;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.btn-wrap {
  width: 100%;
  gap: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.btn-wrap.right {
  justify-content: flex-end;
}

.btn-cancel {
  background-color: #eee;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  height: 45px;
  padding: 0 16px;
  font-size: 16px;
  color: #000;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.062745098);
  transition: background-color 0.3s ease-out;
}

.btn-primary {
  width: 120px;
  background-color: rgb(39, 36, 29);
  color: #fff;
  border-radius: 4px;
  padding: 0 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 12px;
  height: 45px;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.062745098);
  transition: background-color 0.3s ease-out;
}
.btn-primary:hover {
  opacity: 0.9;
}

.btn-secondary {
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  height: 45px;
  padding: 0 16px;
  font-size: 16px;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.062745098);
  transition: background-color 0.3s ease-out;
  color: #fff;
  font-weight: 700;
  background: rgb(14, 60, 46);
  border-radius: 4px;
  padding: 0 16px;
}
.btn-secondary:hover {
  background-image: linear-gradient(120deg, rgba(255, 255, 255, 0.2509803922) 0%, rgba(39, 36, 29, 0) 80%);
}

.btn-save {
  padding: 4px 20px;
  height: 40px;
  background-origin: border-box;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background: linear-gradient(90deg, #53472e 0%, #3b3123 100%), linear-gradient(180deg, #886d35 0%, #423625 9%, #f3dba8 26%, #0e0b06 84%, #574b30 100%);
}
.btn-save:hover {
  background-color: rgb(39, 36, 29);
  background-image: linear-gradient(120deg, rgba(255, 255, 255, 0.2509803922) 0%, rgba(39, 36, 29, 0) 80%);
}

.btn-full {
  width: 100%;
  height: 48px;
  background-color: #0e3c2e;
  color: #fff;
  border-radius: 4px;
  padding: 0 16px;
}

.btn-top {
  position: fixed;
  bottom: 60px;
  right: 60px;
  z-index: 10;
  width: 60px;
  height: 60px;
  background-color: #14100c;
  cursor: pointer;
  border-radius: 50%;
  opacity: 0;
  text-indent: -9999px;
  color: transparent;
  font-size: 1px;
  overflow: hidden;
}
.btn-top::before {
  content: "";
  background: #fff;
  width: 30px;
  height: 2px;
  display: block;
  position: absolute;
  top: 12px;
  left: calc(50% - 15px);
  border-radius: 20px;
}
.btn-top .arrow {
  width: 2px;
  height: 32px;
  background-color: #fff;
  position: absolute;
  bottom: 8px;
  left: 50%;
  border-radius: 20px;
}
.btn-top .arrow::after, .btn-top .arrow::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 2px;
  background-color: #fff;
  top: 6px;
  left: 50%;
}
.btn-top .arrow::after {
  transform: translateX(calc(-50% + 6px)) rotate(45deg);
}
.btn-top .arrow::before {
  transform: translateX(calc(-50% - 6px)) rotate(-45deg);
}
.btn-top:hover .arrow {
  bottom: 14px;
  background-color: var(--color-yellow);
  transition: 0.2s;
}
.btn-top:hover .arrow::after, .btn-top:hover .arrow::before {
  bottom: 8px;
  background-color: var(--color-yellow);
  transition: 0.2s;
}
.btn-top:hover::before {
  background: var(--color-yellow);
}
.btn-top.topbtn-off {
  transition: opacity 0.3s;
  opacity: 0;
}
.btn-top.topbtn-on {
  transition: opacity 0.3s;
  opacity: 1;
}

.main .btn-top.topbtn-off {
  visibility: hidden;
}

label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

[type=checkbox] {
  width: 16px;
  aspect-ratio: 1/1;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='17' viewBox='0 0 16 17' fill='none'%3E%3Crect x='0.828125' y='1.33093' width='14.3382' height='14.3382' rx='0.642857' stroke='black' stroke-opacity='0.13'/%3E%3Cpath d='M11.6885 6.51624C11.6612 6.57757 11.6218 6.63277 11.5726 6.67855L7.0693 11.1759C6.97555 11.2695 6.84847 11.3221 6.71597 11.3221C6.58346 11.3221 6.45638 11.2695 6.36263 11.1759L4.53263 9.34522C4.44431 9.25043 4.39623 9.12507 4.39852 8.99554C4.4008 8.866 4.45328 8.74241 4.54488 8.6508C4.63649 8.55919 4.76008 8.50672 4.88962 8.50443C5.01915 8.50215 5.14452 8.55023 5.2393 8.63855L6.7173 10.1159L10.866 5.97188C10.9117 5.92276 10.9669 5.88336 11.0283 5.85603C11.0896 5.8287 11.1558 5.81401 11.2229 5.81282C11.2901 5.81164 11.3568 5.82399 11.419 5.84913C11.4813 5.87428 11.5378 5.91171 11.5853 5.95919C11.6328 6.00667 11.6702 6.06323 11.6954 6.12548C11.7205 6.18774 11.7329 6.25443 11.7317 6.32156C11.7305 6.3887 11.7158 6.45491 11.6885 6.51624Z' fill='white'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='17' viewBox='0 0 16 17' fill='none'%3E%3Crect x='0.328125' y='0.830933' width='15.3382' height='15.3382' rx='1.14286' fill='%231B7F63'/%3E%3Cpath d='M11.6885 6.51624C11.6612 6.57757 11.6218 6.63277 11.5726 6.67855L7.0693 11.1759C6.97555 11.2695 6.84847 11.3221 6.71597 11.3221C6.58346 11.3221 6.45638 11.2695 6.36263 11.1759L4.53263 9.34522C4.44431 9.25043 4.39623 9.12507 4.39852 8.99554C4.4008 8.866 4.45328 8.74241 4.54488 8.6508C4.63649 8.55919 4.76008 8.50672 4.88962 8.50443C5.01915 8.50215 5.14452 8.55023 5.2393 8.63855L6.7173 10.1159L10.866 5.97188C10.9117 5.92276 10.9669 5.88336 11.0283 5.85603C11.0896 5.8287 11.1558 5.81401 11.2229 5.81282C11.2901 5.81164 11.3568 5.82399 11.419 5.84913C11.4813 5.87428 11.5378 5.91171 11.5853 5.95919C11.6328 6.00667 11.6702 6.06323 11.6954 6.12548C11.7205 6.18774 11.7329 6.25443 11.7317 6.32156C11.7305 6.3887 11.7158 6.45491 11.6885 6.51624Z' fill='white'/%3E%3C/svg%3E");
}

.popup-wrap {
  display: none;
  z-index: 1000;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.popup-wrap::before {
  content: "";
  background: rgba(0, 0, 0, 0.6666666667);
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

.popup-in {
  position: relative;
}
.popup-in .btn-close {
  position: absolute;
  top: -42px;
  right: 0;
  z-index: 10000;
  width: 107px;
  height: 48px;
  background: transparent;
  background-image: url("../img/bg_close.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  text-align: right;
  padding-right: 26px;
  padding-top: 4px;
  cursor: pointer;
}
.popup-in .btn-close img {
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .popup-in .btn-close {
    background: none;
    filter: invert(99%) sepia(100%) saturate(2%) hue-rotate(82deg) brightness(106%) contrast(100%);
    top: 16px;
    right: 20px;
    width: 28px;
    height: 28px;
    padding: 0;
  }
}
.popup-in.member {
  width: 1140px;
}
.popup-in.member .pop-body {
  width: 100%;
  padding: 80px 24px;
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 1279px) {
  .popup-in.member .pop-body {
    padding: 40px 20px;
  }
}
.popup-in.member .pop-body .form-wrap,
.popup-in.member .pop-body form {
  width: 100%;
  height: 100%;
  max-width: 480px;
  gap: 24px;
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 1279px) {
  .popup-in.member .pop-body .form-wrap,
  .popup-in.member .pop-body form {
    max-width: 100%;
    gap: 16px;
  }
}
.popup-in.member .pop-body .form-wrap:has(.terms-area),
.popup-in.member .pop-body form:has(.terms-area) {
  gap: 32px;
}
@media only screen and (max-width: 1279px) {
  .popup-in.member .pop-body .form-wrap:has(.terms-area),
  .popup-in.member .pop-body form:has(.terms-area) {
    gap: 20px;
  }
}
.popup-in.mypage {
  width: 1300px;
}
.popup-in.mypage .popup-container.edit .pop-body {
  padding: 80px 82px;
  z-index: 1;
}
.popup-in.mypage .popup-container .pop-body {
  padding: 80px 48px;
}
.popup-in.mypage .popup-container .pop-body .form-wrap,
.popup-in.mypage .popup-container .pop-body form {
  width: 100%;
  max-width: 100%;
}
.popup-in.mypage .popup-container.cancel .pop-body {
  padding: 80px;
}
.popup-in.mypage .pop-body {
  width: 100%;
  padding: 80px 24px;
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-body {
    padding: 40px 20px;
  }
}
.popup-in.mypage .pop-body .form-wrap,
.popup-in.mypage .pop-body form {
  width: 100%;
  height: 100%;
  max-width: 480px;
  gap: 24px;
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-body .form-wrap,
  .popup-in.mypage .pop-body form {
    max-width: 100%;
    gap: 16px;
  }
}
.popup-in.mypage .pop-body .form-wrap:has(.terms-area),
.popup-in.mypage .pop-body form:has(.terms-area) {
  gap: 32px;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-body .form-wrap:has(.terms-area),
  .popup-in.mypage .pop-body form:has(.terms-area) {
    gap: 20px;
  }
}
.popup-in.mypage .pop-body.password .center-wrap {
  max-width: 480px;
}
.popup-in.mypage .pop-body.password .input-box {
  padding: 16px 0;
}
.popup-in.mypage .pop-body .my-info {
  width: 100%;
  flex-direction: column;
  gap: 32px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.popup-in.mypage .pop-body .my-info .name {
  gap: 8px;
  font-size: 28px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.popup-in.mypage .pop-body .my-info .name .user-id {
  color: #777;
}
.popup-in.mypage .pop-body .my-info .name .btn-sm {
  min-width: 94px;
  width: 94px;
  font-size: 14px;
  border-radius: 4px;
}
.popup-in.mypage .pop-body .my-info .detail {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.popup-in.mypage .pop-body .my-info .detail li {
  width: 100%;
  padding: 0 24px;
}
.popup-in.mypage .pop-body .my-info .detail li:not(:last-child) {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.popup-in.mypage .pop-body .my-info .detail li h5 {
  font-size: 18px;
  font-weight: 500;
  color: #000;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}
.popup-in.mypage .pop-body .my-info .detail li h5 i {
  width: 22px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.popup-in.mypage .pop-body .my-info .detail li h5 i.tel {
  background-image: url(../img/ico/ico_tel.svg);
}
.popup-in.mypage .pop-body .my-info .detail li h5 i.company {
  background-image: url(../img/ico/ico_company.svg);
}
.popup-in.mypage .pop-body .my-info .detail li h5 i.usage {
  background-image: url(../img/ico/ico_usage.svg);
}
.popup-in.mypage .pop-body .my-info .detail p {
  font-size: 16px;
  font-weight: 400;
  color: #000;
}
.popup-in.mypage .pop-body .my-info .detail p:not(:last-child) {
  margin-bottom: 8px;
}
.popup-in.mypage .pop-body .my-info .detail p span {
  margin-right: 16px;
  color: #777;
}
.popup-in.mypage .pop-body .my-info .detail p em {
  font-size: 16px;
  font-weight: 700;
  color: #1A543D;
}
.popup-in.mypage .pop-body .my-history {
  padding: 0;
  width: 100%;
  margin-top: 40px;
}
.popup-in.mypage .pop-body .my-history h5 {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  margin-bottom: 16px;
}
.popup-in.mypage .pop-body .my-history .board-list {
  flex-direction: column;
  gap: 14px;
  height: 395px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.popup-in.mypage .pop-body .my-history table {
  min-width: 100%;
  border: none;
  border-top: 2px solid #000;
  border-bottom: 2px solid rgba(0, 0, 0, 0.2);
}
.popup-in.mypage .pop-body .my-history table thead tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.4);
}
.popup-in.mypage .pop-body .my-history table thead tr th {
  width: auto;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  height: 52px;
  vertical-align: middle;
}
.popup-in.mypage .pop-body .my-history table tbody tr {
  background: none;
}
.popup-in.mypage .pop-body .my-history table tbody tr td {
  padding: 16px 0;
  color: rgb(0, 0, 0);
  font-weight: 500;
  text-align: center;
  font-size: 14px;
  height: 56px;
  vertical-align: middle;
}
.popup-in.mypage .pop-body .my-history table tbody tr td.tit {
  text-align: left;
}
.popup-in.mypage .edit .pop-header .tit {
  letter-spacing: -0.08em;
}
.popup-in.mypage .edit .btn-wrap {
  margin-top: 48px;
}
.popup-in.mypage .board-list table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid rgba(0, 0, 0, 0.1254901961);
}
.popup-in.mypage .board-list table thead tr {
  border-bottom: 1px solid #000;
  background: rgba(255, 255, 255, 0.5019607843);
}
.popup-in.mypage .board-list table thead tr th {
  padding: 10px 0;
  font-size: 18px;
  text-align: center;
  white-space: nowrap;
}
.popup-in.mypage .board-list table tbody tr {
  border-bottom: 1px solid #777;
  background: rgba(255, 255, 255, 0.2);
}
.popup-in.mypage .board-list table tbody tr:last-child {
  border-bottom: none;
}
.popup-in.mypage .board-list table tbody tr td {
  padding: 16px 0;
  color: rgba(0, 0, 0, 0.5019607843);
  font-weight: 500;
  text-align: center;
}
.popup-in.mypage .pagination {
  gap: 30px;
  font-size: 18px;
  font-weight: 500;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-in.mypage .pagination .btn-prev,
.popup-in.mypage .pagination .btn-next {
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
  padding: 0;
  color: #000;
  font-size: 0;
  text-indent: -9999px;
  overflow: hidden;
}
.popup-in.mypage .pagination .btn-prev {
  background-image: url(../img/ico/ico_arrow_page_left.svg);
}
.popup-in.mypage .pagination .btn-next {
  background-image: url(../img/ico/ico_arrow_page_right.svg);
}
.popup-in.mypage .pagination-list {
  gap: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-in.mypage .pagination-list .on {
  width: 30px;
  height: 30px;
  background-color: #000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-in.mypage .pagination-list .on a {
  color: #fff;
}
.popup-in.mypage .pagination-list a {
  color: #000;
}
.popup-in.mypage .my_qna tbody tr td.td_name {
  padding: 10px 8px;
  color: #000;
  text-align: left;
}
.popup-in.mypage .my_qna tbody tr td.td_stat .txt_done {
  color: #000;
}
.popup-in.mypage .my_qna tbody tr td.td_stat .txt_rdy {
  color: #777;
}
.popup-in.mypage .my_qna tbody tr td .bo_cate_link {
  float: none;
  margin-right: 0;
  background: transparent;
  color: #000;
  height: auto;
  padding: 8px;
  display: inline-block;
  border-radius: 5px;
  line-height: 10px;
}
.popup-in.mypage .my_qna tbody tr.answer {
  background-color: rgba(255, 221, 0, 0.1333333333);
}
.popup-in.mypage .my_qna tbody tr.answer td em {
  color: rgba(0, 0, 0, 0.5019607843);
  font-weight: 500;
}
.popup-in.mypage .my_qna tbody tr.answer td.tit a {
  display: flex;
  justify-content: left;
  align-items: center;
  gap: 8px;
}
.popup-in.mypage, .popup-in.member {
  position: absolute;
  top: 72px;
  right: 86px;
  height: 805px;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage, .popup-in.member {
    width: 100%;
    max-width: 100%;
    height: var(--window-inner-height);
    max-height: var(--window-inner-height);
    top: auto;
    right: auto;
    overflow-y: auto;
  }
  .popup-in.mypage .btn-close, .popup-in.member .btn-close {
    background: none;
    filter: invert(99%) sepia(100%) saturate(2%) hue-rotate(82deg) brightness(106%) contrast(100%);
    top: 16px;
    right: 20px;
    width: 28px;
    height: 28px;
    padding: 0;
  }
  .popup-in.mypage .popup-container, .popup-in.member .popup-container {
    flex-direction: column;
  }
}
.popup-in.mypage .pop-header, .popup-in.member .pop-header {
  position: relative;
  min-width: 420px;
  display: flex;
  flex-direction: column;
  padding: 120px 0 90px 48px;
  background-image: url(../img/bg_pop.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top left;
  color: #fff;
  gap: 38px;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-header, .popup-in.member .pop-header {
    min-width: auto;
    padding: 40px 24px;
    gap: 20px;
    min-height: 160px;
    justify-content: center;
  }
}
.popup-in.mypage .pop-header::before, .popup-in.mypage .pop-header::after, .popup-in.member .pop-header::before, .popup-in.member .pop-header::after {
  position: absolute;
  top: 10px;
  font-size: 120px;
  font-weight: 900;
  white-space: nowrap;
  letter-spacing: -0.02em;
  opacity: 0.5;
  z-index: 1;
  text-shadow: 0 0 50px rgba(0, 0, 0, 0.05);
}
.popup-in.mypage .pop-header::before, .popup-in.member .pop-header::before {
  right: 6px;
  color: rgba(255, 255, 255, 0.15);
}
.popup-in.mypage .pop-header::after, .popup-in.member .pop-header::after {
  left: 410px;
  color: rgba(255, 255, 255, 0.3);
}
.popup-in.mypage .pop-header h2, .popup-in.member .pop-header h2 {
  font-size: 67px;
  font-weight: 900;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-header h2, .popup-in.member .pop-header h2 {
    font-size: 34px;
    text-align: center;
  }
}
.popup-in.mypage .pop-header p, .popup-in.member .pop-header p {
  font-size: 20px;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-header p, .popup-in.member .pop-header p {
    font-size: 16px;
    text-align: center;
    text-wrap: balance;
    word-break: keep-all;
  }
}
@media only screen and (max-width: 575px) {
  .popup-in.mypage .pop-header p, .popup-in.member .pop-header p {
    display: none;
  }
}
.popup-in.mypage .pop-header br.pc-only, .popup-in.member .pop-header br.pc-only {
  display: block;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-header br.pc-only, .popup-in.member .pop-header br.pc-only {
    display: none;
  }
}
.popup-in.mypage .pop-body, .popup-in.member .pop-body {
  width: 100%;
  max-width: calc(100% - 420px);
  width: 100%;
  padding: 80px 24px;
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-body, .popup-in.member .pop-body {
    padding: 40px 20px;
  }
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-body, .popup-in.member .pop-body {
    max-width: 100%;
  }
}
.popup-in.mypage .pop-body .form-wrap,
.popup-in.mypage .pop-body form, .popup-in.member .pop-body .form-wrap,
.popup-in.member .pop-body form {
  width: 100%;
  height: 100%;
  max-width: 480px;
  gap: 24px;
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-body .form-wrap,
  .popup-in.mypage .pop-body form, .popup-in.member .pop-body .form-wrap,
  .popup-in.member .pop-body form {
    max-width: 100%;
    gap: 16px;
  }
}
.popup-in.mypage .pop-body .form-wrap:has(.terms-area),
.popup-in.mypage .pop-body form:has(.terms-area), .popup-in.member .pop-body .form-wrap:has(.terms-area),
.popup-in.member .pop-body form:has(.terms-area) {
  gap: 32px;
}
@media only screen and (max-width: 1279px) {
  .popup-in.mypage .pop-body .form-wrap:has(.terms-area),
  .popup-in.mypage .pop-body form:has(.terms-area), .popup-in.member .pop-body .form-wrap:has(.terms-area),
  .popup-in.member .pop-body form:has(.terms-area) {
    gap: 20px;
  }
}
.popup-in.mypage select,
.popup-in.mypage input[type=text],
.popup-in.mypage input[type=password],
.popup-in.mypage input[type=tel], .popup-in.member select,
.popup-in.member input[type=text],
.popup-in.member input[type=password],
.popup-in.member input[type=tel] {
  width: 100%;
  height: 48px;
  font-size: 18px;
  border-bottom: 1px solid #000;
}
.popup-in.mypage .select-box, .popup-in.member .select-box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}
.popup-in.mypage .input-box, .popup-in.member .input-box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}
.popup-in.mypage .input-box:has(input[type=radio]), .popup-in.member .input-box:has(input[type=radio]) {
  height: 48px;
}
.popup-in.mypage .input-box i, .popup-in.member .input-box i {
  display: inline-block;
  width: 32px;
  aspect-ratio: 1/1;
  margin-left: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.popup-in.mypage .input-box i.id, .popup-in.member .input-box i.id {
  background-image: url(../img/ico/ico_id.svg);
}
.popup-in.mypage .input-box i.pw, .popup-in.member .input-box i.pw {
  background-image: url(../img/ico/ico_pw.svg);
}
.popup-in.mypage .input-box i.phone, .popup-in.member .input-box i.phone {
  background-image: url(../img/ico/ico_phone.svg);
}
.popup-in.mypage .input-box.group, .popup-in.member .input-box.group {
  border-bottom: 1px solid #000;
}
.popup-in.mypage .input-box.group input, .popup-in.member .input-box.group input {
  border-bottom: none;
  flex: 1;
}
.popup-in.mypage .input-box.group:focus-within, .popup-in.member .input-box.group:focus-within {
  border-color: #000;
}
.popup-in.mypage .input-box.group.has-value, .popup-in.member .input-box.group.has-value {
  border-color: #000;
}
.popup-in.mypage .input-box:has(input[type=radio]), .popup-in.member .input-box:has(input[type=radio]) {
  gap: 40px;
}
.popup-in.mypage .input-box:has(input[type=radio]) label, .popup-in.member .input-box:has(input[type=radio]) label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
  color: #333;
  cursor: pointer;
  user-select: none;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio], .popup-in.member .input-box:has(input[type=radio]) label input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 2px solid #C5C5C5;
  border-radius: 50%;
  background: transparent;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio]::after, .popup-in.member .input-box:has(input[type=radio]) label input[type=radio]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #00832A;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio]:checked, .popup-in.member .input-box:has(input[type=radio]) label input[type=radio]:checked {
  border-color: #00832A;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio]:checked::after, .popup-in.member .input-box:has(input[type=radio]) label input[type=radio]:checked::after {
  opacity: 1;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio]:disabled, .popup-in.member .input-box:has(input[type=radio]) label input[type=radio]:disabled {
  border-color: #999;
  cursor: not-allowed;
  pointer-events: none;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio]:disabled:checked, .popup-in.member .input-box:has(input[type=radio]) label input[type=radio]:disabled:checked {
  border-color: #999;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio]:disabled:checked::after, .popup-in.member .input-box:has(input[type=radio]) label input[type=radio]:disabled:checked::after {
  background: #999;
  opacity: 1;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio]:disabled + span, .popup-in.member .input-box:has(input[type=radio]) label input[type=radio]:disabled + span {
  color: #999;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio]:hover:not(:disabled), .popup-in.member .input-box:has(input[type=radio]) label input[type=radio]:hover:not(:disabled) {
  border-color: #00832A;
}
.popup-in.mypage .input-box:has(input[type=radio]) label input[type=radio]:hover:not(:disabled)::after, .popup-in.member .input-box:has(input[type=radio]) label input[type=radio]:hover:not(:disabled)::after {
  background: #00832A;
}
.popup-in.mypage .timer, .popup-in.member .timer {
  color: #FB3C00;
  font-size: 18px;
  font-weight: 500;
}
.popup-in.mypage .complete-msg, .popup-in.member .complete-msg {
  color: var(--text-success);
  font-size: 18px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}
.popup-in.mypage .complete-msg .ico-check, .popup-in.member .complete-msg .ico-check {
  width: 20px;
  height: 20px;
  display: inline-block;
  background-color: var(--text-success);
  mask-image: url(../img/ico/ico_check.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(../img/ico/ico_check.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
.popup-in.mypage .go-signup,
.popup-in.mypage .go-find, .popup-in.member .go-signup,
.popup-in.member .go-find {
  color: var(--text-body);
  font-size: 18px;
  font-weight: 700;
  gap: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-in.mypage .go-signup .arrow-r,
.popup-in.mypage .go-find .arrow-r, .popup-in.member .go-signup .arrow-r,
.popup-in.member .go-find .arrow-r {
  width: 16px;
  height: 16px;
  background-image: url(../img/ico/ico_arrow_r.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.popup-in.mypage .go-signup:first-child:last-child, .popup-in.member .go-signup:first-child:last-child {
  margin-left: auto;
}
.popup-in.mypage .check-box, .popup-in.member .check-box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.popup-in.mypage .check-box label, .popup-in.member .check-box label {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-base);
}
.popup-in.mypage .check-box input, .popup-in.member .check-box input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 28px;
  aspect-ratio: 1/1;
  border-radius: 2px;
  position: relative;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.6666666667);
  box-shadow: inset 0px 0px 1px rgba(0, 0, 0, 0.1333333333);
  padding: 0;
  display: inline-block;
}
.popup-in.mypage .check-box input:checked, .popup-in.member .check-box input:checked {
  background-image: url(../img/ico/ico_check.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: var(--color-green);
  box-shadow: inset 0px 0px 1px rgba(0, 0, 0, 0.1333333333);
}
.popup-in.mypage .check-box input.chk-all, .popup-in.member .check-box input.chk-all {
  background-color: #f7e4e8;
}
.popup-in.mypage .check-box input.chk-all:checked, .popup-in.member .check-box input.chk-all:checked {
  background-color: var(--color-green);
}
.popup-in.mypage .terms-box, .popup-in.member .terms-box {
  width: 100%;
  height: 128px;
  border-radius: 4px;
  padding: 10px 16px;
  margin-top: 8px;
  font-size: 14px;
  text-align: left;
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background-color: rgba(255, 255, 255, 0.3333333333);
  overflow-y: auto;
}
.popup-in.privacy {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  max-width: 800px;
  height: 662px;
  max-height: 700px;
  translate: -50% -50%;
}
@media only screen and (max-width: 767px) {
  .popup-in.privacy {
    width: 100%;
    height: var(--window-inner-height);
    max-height: var(--window-inner-height);
    overflow-y: auto;
  }
}
.popup-in.privacy .pop-contents {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  background-image: url(../img/bg_pop.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top left;
}
@media only screen and (max-width: 767px) {
  .popup-in.privacy .pop-contents {
    padding: 56px 16px 16px;
    gap: 16px;
  }
}
.popup-in.privacy .list-1 > li {
  margin-bottom: 40px;
}
.popup-in.privacy .list-2 {
  margin-top: 16px;
}
.popup-in.privacy .list-2 > li {
  list-style: square;
  padding-left: 8px;
  margin-left: 32px;
  margin-bottom: 16px;
}
.popup-in.privacy .list-3 {
  margin-left: 8px;
  margin-top: 8px;
}
.popup-in.privacy .list-3 > li {
  list-style-type: "- ";
  margin-bottom: 4px;
}
.popup-in.privacy .tab-menu {
  background-color: #eee7dd;
}
.popup-in.privacy .tab-content {
  color: #fff;
  padding: 40px;
}
@media only screen and (max-width: 767px) {
  .popup-in.privacy .tab-content {
    font-size: 16px;
  }
}

.popup-container {
  width: 100%;
  height: 100%;
  box-shadow: 20px -20px 50px rgba(0, 0, 0, 0.8);
  border: 4px solid #1A543D;
  border-radius: 5px 0 5px 5px;
  display: flex;
  z-index: 100;
  overflow: hidden;
  background: #EAE4D9;
}
.popup-container.login .pop-body form {
  justify-content: center;
}
.popup-container.login .pop-body .input-box {
  gap: 16px;
  height: 80px;
  padding: 16px 0;
  border-bottom: 1px solid #000;
}
.popup-container.login .pop-body .input-box .timer {
  font-size: 24px;
  margin-right: 24px;
}
.popup-container.login .pop-body input[type=text],
.popup-container.login .pop-body input[type=tel],
.popup-container.login .pop-body input[type=password] {
  padding: 0 16px;
  font-size: 24px;
  border-bottom: none;
}
.popup-container.login .tab-content {
  padding: 40px 0;
}
.popup-container .messages {
  width: 100%;
  flex-grow: 1;
  flex-direction: column;
  text-align: center;
  gap: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-container .messages .ico-pw {
  margin-bottom: 16px;
}
.popup-container.search .hidden {
  display: none;
}
.popup-container.search .radio-wrap {
  width: 100%;
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 48px;
  margin-bottom: 24px;
}
.popup-container.search .radio-wrap label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  font-weight: 500;
  color: #333;
  cursor: pointer;
  user-select: none;
}
.popup-container.search .radio-wrap label input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 29px;
  height: 29px;
  margin: 0;
  padding: 0;
  border: 2px solid #C5C5C5;
  border-radius: 50%;
  background: transparent;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.popup-container.search .radio-wrap label input[type=radio]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #00832A;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.popup-container.search .radio-wrap label input[type=radio]:checked {
  border-color: #00832A;
}
.popup-container.search .radio-wrap label input[type=radio]:checked::after {
  opacity: 1;
}
.popup-container.search .radio-wrap label input[type=radio]:hover {
  border-color: #00832A;
}
.popup-container.search .radio-wrap label input[type=radio]:hover::after {
  background: #00832A;
}
.popup-container.search .radio-wrap label input[type=radio].on {
  border-color: #00832A;
}
.popup-container.search .radio-wrap label input[type=radio].on::after {
  opacity: 1;
}
.popup-container .contents-wrap {
  width: 100%;
  max-width: 480px;
  margin-top: 92px;
  flex-grow: 1;
}
.popup-container .center-wrap {
  width: 100%;
  height: 100%;
  flex-direction: column;
  gap: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-container .terms-wrap {
  gap: 32px;
  flex-direction: column;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-container table {
  width: 100%;
  border-collapse: separate;
}
.popup-container table tr:not(:last-child) th,
.popup-container table tr:not(:last-child) td {
  padding-bottom: 20px;
}
.popup-container table th {
  width: 25%;
  text-align: left;
  font-size: 18px;
  font-weight: 500;
  vertical-align: top;
  padding-top: 12px;
}
.popup-container table tr.disabled {
  color: #999;
}
.popup-container table tr.disabled input:disabled {
  color: #999;
  border-bottom-color: #999;
  cursor: not-allowed;
  pointer-events: none;
}
.popup-container table tr.disabled input:disabled::placeholder {
  color: #999;
  opacity: 1;
}
.popup-container table tr.disabled input:disabled::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}
.popup-container table tr.disabled input:disabled::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.popup-container table tr.disabled input:disabled:-ms-input-placeholder {
  color: #999;
  opacity: 1;
}
.popup-container table tr.disabled input[type=radio]:disabled {
  border-color: #999;
  cursor: not-allowed;
  pointer-events: none;
}
.popup-container table tr.disabled input[type=radio]:disabled:checked {
  border-color: #999;
}
.popup-container table tr.disabled input[type=radio]:disabled:checked::after {
  background: #999;
  opacity: 1;
}
.popup-container table tr.disabled input[type=radio]:disabled + span {
  color: #999;
}
.popup-container table tr.disabled label {
  color: #999;
  cursor: not-allowed;
}
.popup-container table tr.disabled button:disabled,
.popup-container table tr.disabled .btn-sm:disabled,
.popup-container table tr.disabled .btn-full:disabled,
.popup-container table tr.disabled .btn-cancel:disabled {
  color: #999;
  background: #f5f5f5;
  cursor: not-allowed;
  opacity: 0.6;
}
.popup-container table tr.company-group.disabled {
  color: #999;
}
.popup-container table tr.company-group.disabled input:disabled {
  color: #999;
  border-bottom-color: #999;
  cursor: not-allowed;
  pointer-events: none;
}
.popup-container table tr.company-group.disabled input:disabled::placeholder {
  color: #999;
  opacity: 1;
}
.popup-container table tr.company-group.disabled input:disabled::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}
.popup-container table tr.company-group.disabled input:disabled::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.popup-container table tr.company-group.disabled input:disabled:-ms-input-placeholder {
  color: #999;
  opacity: 1;
}
.popup-container .btn-wrap {
  margin-top: 16px;
  display: flex;
  gap: 8px;
}
.popup-container .btn-full {
  font-size: 24px;
  font-weight: 700;
  height: 80px;
  background: linear-gradient(92deg, rgba(255, 234, 198, 0.4) 0%, rgba(255, 255, 255, 0) 100%), #856120;
  backdrop-filter: blur(5px);
}
.popup-container .btn-full:hover {
  background: linear-gradient(92deg, rgba(0, 144, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%), #1A543D;
}
.popup-container .btn-sm {
  min-width: 74px;
  font-size: 16px;
  padding: 4px 8px;
  height: 32px;
  background: #1A543D;
  color: #fff;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  white-space: nowrap;
}
.popup-container .btn-sm.light {
  background: var(--text-success);
}
.popup-container .btn-sm.change {
  min-width: 110px;
}
.popup-container .btn-sm.btn-cancel {
  background: #999;
  padding: 4px 8px;
  height: 32px;
  border-radius: 2px;
  font-size: 16px;
}
.popup-container .btn-cancel {
  padding: 0 30px;
  height: 80px;
  font-size: 24px;
  color: #fff;
  border-radius: 4px;
  background: #4E4E4E;
  white-space: nowrap;
  backdrop-filter: blur(5px);
}
.popup-container button:disabled,
.popup-container .btn-sm:disabled,
.popup-container .btn-full:disabled,
.popup-container .btn-cancel:disabled {
  color: #999;
  background: #f5f5f5;
  cursor: not-allowed;
  opacity: 0.6;
  pointer-events: none;
}
.popup-container .sign-out {
  color: #766C5A;
  font-size: 16px;
  font-weight: 700;
  text-align: right;
  margin-top: 20px;
}
.popup-container .sign-out a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.popup-container .sign-out .ico-signout {
  width: 24px;
  height: 24px;
  display: inline-block;
  background-image: url(../img/ico/ico_sign_out.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.popup-container .point {
  color: var(--text-accent);
}
.popup-container .txt-done {
  color: #00832A;
}
.popup-container .info-msg {
  font-size: 12px;
  color: var(--text-accent);
  margin-bottom: 16px;
}
.popup-container .info-msg.txt-right {
  display: block;
  text-align: right;
}
.popup-container .tbl-wrap > .info-msg {
  text-align: right;
}
.popup-container .tab-menu {
  width: 100%;
  min-height: 67px;
  border-radius: 6px;
  border: 2px solid #FFF;
  box-sizing: border-box;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.25) 100%);
  display: flex;
  gap: 4px;
}
.popup-container .tab-menu.round {
  padding: 0;
  border-radius: 50px;
  border: 1px solid rgba(176, 176, 176, 0.5);
  overflow: hidden;
  position: relative;
}
.popup-container .tab-menu.round::before {
  content: " ";
  position: absolute;
  top: 0px;
  left: 0%;
  width: 50%;
  height: 100%;
  border-radius: 50px;
  background: linear-gradient(92deg, rgba(0, 144, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%), #1A543D;
  background-blend-mode: plus-lighter, normal;
  backdrop-filter: blur(5px);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
  pointer-events: none;
  transform: translateX(var(--tab-indicator-position, 0));
}
.popup-container .tab-menu.round li {
  border-radius: inherit;
  position: relative;
  z-index: 1;
  color: #7A7A7A;
  transition: color 0.3s ease, background 0.25s ease;
}
.popup-container .tab-menu.round li.on {
  background: transparent;
  color: #fff;
}
.popup-container .tab-menu.round:has(.tab-phone.on) .tab-id:not(.on):hover {
  background: linear-gradient(90deg, transparent 0%, #dbcbb4 100%);
  background-color: transparent;
}
.popup-container .tab-menu.round:has(.tab-id.on) .tab-phone:not(.on):hover {
  background: linear-gradient(90deg, #dbcbb4 0%, transparent 100%);
  background-color: transparent;
}
.popup-container .tab-menu li {
  position: relative;
  width: 50%;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #7A7A7A;
}
.popup-container .tab-menu li:not(.on):hover {
  background-color: #dbcbb4;
}
.popup-container .tab-menu .on {
  background-color: #1A543D;
  color: #fff;
}
.popup-container .tab-content {
  display: none;
  position: relative;
  width: 100%;
  flex-grow: 1;
  border-radius: 4px;
  padding: 40px 0;
  font-size: 16px;
  text-align: left;
  box-sizing: border-box;
  overflow-y: scroll;
}
@media only screen and (max-width: 767px) {
  .popup-container .tab-content {
    padding: 20px;
    font-size: 14px;
  }
}
.popup-container .tab-content.show {
  display: block;
}
.popup-container .tab-content .inquiry {
  font-size: 14px;
  color: #555;
}
.popup-container .tab-content .info-box {
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.4);
  width: 100%;
  padding: 16px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.popup-container .tab-content .info-box p {
  text-align: center;
  word-break: keep-all;
}

@media only screen and (min-width: 1280px) {
  .login .pop-header::before {
    content: "Logi";
  }
  .login .pop-header::after {
    content: "n";
  }
  .join .pop-header::before {
    content: "Sign u";
  }
  .join .pop-header::after {
    content: "p";
  }
  .mypage .pop-header::before {
    content: "My pa";
  }
  .mypage .pop-header::after {
    content: "ge";
  }
  .search .pop-header::before {
    content: "ID/P";
  }
  .search .pop-header::after {
    content: "W";
  }
  .cancel .pop-header::before {
    content: "Cancel";
  }
  .cancel .pop-header::after {
    content: "Memvership";
  }
}
.condition {
  padding: 120px 0;
  width: 100%;
  max-width: 100%;
}

.diagram-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  position: relative;
  width: max-content;
  max-width: 100%;
  margin: auto;
}
.diagram-wrap .dia-element {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
.diagram-wrap .dia-element .dia-tit {
  font-size: 20px;
  font-weight: 500;
  white-space: nowrap;
  flex-direction: column;
  gap: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.diagram-wrap .dia-element .dia-text {
  font-size: 18px;
  font-weight: 500;
}
.diagram-wrap .dia-element .line {
  background-color: #ffffff;
  position: absolute;
}
.diagram-wrap .dia-circles-wrap {
  position: relative;
  width: 324px;
  aspect-ratio: 1/1;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .diagram-wrap .dia-circles-wrap {
    width: 240px;
  }
}
@media only screen and (max-width: 575px) {
  .diagram-wrap .dia-circles-wrap {
    width: 190px;
  }
}
.diagram-wrap .dia-circles-wrap::after {
  position: absolute;
  content: "";
  width: 110%;
  aspect-ratio: 1/1;
  border-radius: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px dashed #B6D0C9;
  opacity: 0.5;
  z-index: -1;
}
.diagram-wrap .dia-circles-wrap div[class^=circle-] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.diagram-wrap .dia-circles-wrap .circle-belt {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #b6d0c9;
  background: #f0f7f5;
}
.diagram-wrap .dia-circles-wrap .circle-core {
  width: 80%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: linear-gradient(180deg, #01935B 0%, #06584C 94.21%);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1333333333);
  filter: drop-shadow(-4px 8px 8px rgba(0, 0, 0, 0.2));
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
}
@media only screen and (max-width: 575px) {
  .diagram-wrap .dia-circles-wrap .circle-core {
    font-size: 2rem;
  }
}
.diagram-wrap .dia-circles-wrap .circle-core span:first-child {
  font-size: 20px;
  font-weight: 400;
}
@media only screen and (max-width: 575px) {
  .diagram-wrap .dia-circles-wrap .circle-core span:first-child {
    font-size: 1.4rem;
  }
}
.diagram-wrap .dia-circles-wrap .circle-dash {
  border: 1px dashed #b6d0c9;
  width: 110%;
  height: 110%;
  border-radius: 50%;
}
.diagram-wrap .dia-circles-wrap .circle-dots {
  width: 100%;
  height: 100%;
}
.diagram-wrap .dia-circles-wrap .circle-dots.move {
  top: 0;
  left: 0;
  opacity: 0.3;
  animation-duration: 12s;
  animation-iteration-count: infinite;
  animation-name: dot-rotate;
}
.diagram-wrap .dia-circles-wrap .circle-dots.move .dot {
  width: 8px;
  height: 8px;
}
@media only screen and (max-width: 575px) {
  .diagram-wrap .dia-circles-wrap .circle-dots.move .dot {
    width: 5px;
    height: 5px;
  }
}
.diagram-wrap .dia-circles-wrap .circle-dots.move .dot::after {
  display: none;
}
.diagram-wrap .dia-circles-wrap .circle-dots .dot {
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background-color: rgba(56, 56, 56, 0.3019607843);
}
@media only screen and (max-width: 575px) {
  .diagram-wrap .dia-circles-wrap .circle-dots .dot {
    width: 6px;
    height: 6px;
  }
}
.diagram-wrap .dia-circles-wrap .circle-dots .dot:nth-child(1) {
  top: 50%;
  left: -4px;
  right: initial;
  transform: translateY(-50%);
}
.diagram-wrap .dia-circles-wrap .circle-dots .dot:nth-child(2) {
  top: 50%;
  left: initial;
  right: -4px;
  transform: translateY(-50%);
}

.layout-fix-left {
  width: 100%;
  display: flex;
  position: relative;
}
.layout-fix-left .left {
  min-width: 700px;
  height: 200%;
  padding: 100px 0 0 200px;
  position: sticky;
  top: 0;
  left: 0;
  overflow: hidden;
}
.layout-fix-left .left .bg {
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.layout-fix-left .left .bg.on {
  z-index: -1;
}
.layout-fix-left .left .mid-tit {
  color: #fff;
  display: block;
}
.layout-fix-left .right {
  width: 100%;
  max-width: 1373px;
}
.layout-fix-left:not(.is-single) .left .mid-tit {
  opacity: 0.5;
}
.layout-fix-left:not(.is-single) .left .mid-tit.on {
  opacity: 1;
}
.layout-fix-left:not(.is-single) .left .js-fixLeft-tit > li:not(.on) {
  opacity: 0.5;
}

.mouse-mark {
  position: fixed;
  width: 64px !important;
  height: 64px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 114, 67, 0.8);
  border-radius: 50%;
  transform: translate(-65%, -65%) !important;
  pointer-events: none;
  z-index: 100;
  transition: opacity 0.2s;
}
.mouse-mark span {
  position: relative;
  letter-spacing: 0.07rem;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
}
.mouse-mark span::before, .mouse-mark span::after {
  content: "";
  width: 4px;
  height: 4px;
  display: block;
  position: absolute;
  left: calc(50% - 2px);
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  animation: arrow 1.5s infinite ease;
}
.mouse-mark span::before {
  bottom: -10px;
}
.mouse-mark span::after {
  bottom: -16px;
  animation-delay: 0.35s;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  letter-spacing: -0.04em;
  scroll-behavior: smooth;
  user-select: auto;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
  -webkit-transition: background-color 9999s ease-out;
  -webkit-box-shadow: 0 0 0px 1000px rgba(255, 255, 255, 0) inset !important;
}

video::-webkit-media-controls {
  display: none !important;
}

::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

::-webkit-scrollbar-thumb {
  background-color: #bbb;
  background-clip: padding-box;
  border: 2px solid transparent;
  border-radius: 10px;
}

a {
  color: inherit;
}

em, strong {
  font-weight: 700;
}

br.pc-only {
  display: block;
}
@media only screen and (max-width: 1023px) {
  br.pc-only {
    display: none;
  }
}
br.mo-only {
  display: none;
}
@media only screen and (max-width: 1023px) {
  br.mo-only {
    display: block;
  }
}

h2 {
  font-size: 70px;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  h2 {
    font-size: 3.6rem;
  }
}

.big-tit {
  font-size: 64px;
  font-weight: 700;
}
@media only screen and (max-width: 1439px) {
  .big-tit {
    font-size: 4.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .big-tit {
    font-size: 3rem;
  }
}

.grand-tit {
  font-size: 64px;
  font-weight: 700;
}
@media only screen and (max-width: 1439px) {
  .grand-tit {
    font-size: 4.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .grand-tit {
    font-size: 3rem;
  }
}

.mid-tit {
  font-size: 52px;
  font-weight: 700;
}
@media only screen and (max-width: 1439px) {
  .mid-tit {
    font-size: 3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .mid-tit {
    font-size: 2.4rem;
  }
}

.sub-text {
  font-size: 20px;
  line-height: 30px;
  display: block;
  text-align: justify;
}
@media only screen and (max-width: 767px) {
  .sub-text {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

.txt-border {
  filter: drop-shadow(-1px 0 0 #000) drop-shadow(0 -1px 0 #000) drop-shadow(1px 0 0 #000) drop-shadow(0 1px 0 #000);
}

.tc-red {
  color: #f00;
}

.tit-box h3 {
  font-size: 32px;
  color: var(--text-title);
}
.tit-box p {
  font-size: 20px;
}

.sec-title h4 {
  font-size: 52px;
  color: var(--text-white);
}
.sec-title h4 em {
  color: var(--text-title);
}

.txt-box h3 {
  color: var(--text-title);
  font-size: 42px;
}
.txt-box h4 {
  color: var(--text-title);
  font-size: 32px;
}
.txt-box p {
  color: var(--text-sub);
  font-size: 20px;
}

.sub-header {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 96px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.sub-header .page-title {
  width: 100%;
  height: 480px;
  padding-bottom: 130px;
  gap: 12px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  text-align: center;
}
@media only screen and (max-width: 1023px) {
  .sub-header .page-title {
    height: 22rem;
    padding-bottom: 5rem;
  }
}
.sub-header .page-title h2 {
  color: var(--text-white);
  font-size: 70px;
  text-shadow: 0 0 12px rgba(0, 44, 30, 0.25);
}
@media only screen and (max-width: 1023px) {
  .sub-header .page-title h2 {
    font-size: 3.6rem;
    line-height: 1.2;
  }
}
.sub-header .page-title .sub-txt {
  font-size: 22px;
  color: var(--text-white);
}
@media only screen and (max-width: 1023px) {
  .sub-header .page-title .sub-txt {
    font-size: 1.4rem;
  }
}

.sub-content {
  position: relative;
  padding-top: 160px;
  padding-bottom: 250px;
  margin: 0 auto;
  flex-direction: column;
  text-align: center;
  gap: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 1023px) {
  .sub-content {
    padding-bottom: 180px;
  }
}
.sub-content::before {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 140px;
  opacity: 0.05;
  font-weight: 900;
  white-space: pre;
  text-align: left;
  line-height: 0.8em;
  letter-spacing: -0.04em;
}
@media only screen and (max-width: 1023px) {
  .sub-content::before {
    font-size: 6rem;
    bottom: 20px;
    text-align: right;
    left: auto;
    right: 1.4rem;
  }
}

.sub-tit-box {
  position: relative;
}
.sub-tit-box::before {
  content: "";
  position: absolute;
  top: -67px;
  left: calc(50% - 50px);
  width: 100px;
  height: 25px;
  background: url(../img/ico_title_obj.svg) no-repeat center center;
}
.sub-tit-box .sub-tit {
  font-weight: 400;
}

.sub-tit {
  display: block;
  font-size: 32px;
  font-weight: 700;
  text-wrap: balance;
  word-break: keep-all;
}
@media only screen and (max-width: 1023px) {
  .sub-tit {
    font-size: 2rem;
  }
}

i {
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.logo-c {
  display: block;
  background-image: url(../img/loco_kngil_c.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  text-indent: -9999px;
  color: transparent;
  font-size: 1px;
  overflow: hidden;
}

.clearfix {
  /* IE 지원 방식 : *zoom: 1; */
}
.clearfix:before, .clearfix:after {
  content: "";
  display: block;
}
.clearfix:after {
  clear: both;
}

.blind {
  position: absolute;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  white-space: nowrap;
}

.d-none {
  display: none !important;
}

.modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: auto;
  z-index: 30;
}
.modal .modal-content {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: #f6f1e9;
  padding: 40px 20px 20px 20px;
  border: 1px solid #888;
  width: 470px;
  min-height: 500px;
  border-radius: 8px;
  text-align: center;
}
.modal .close {
  color: #000;
  float: right;
  font-size: 26px;
  font-weight: bold;
  position: absolute;
  right: 12px;
  top: 12px;
  display: block;
  margin-left: auto;
  width: 26px;
  height: 26px;
  background: none;
  line-height: 1;
  filter: var(--text-shadow);
  transition: all 0.1s ease-in-out;
}
.modal .close:hover, .modal .close:focus {
  color: #e00400;
  text-decoration: none;
  cursor: pointer;
  text-shadow: var(--text-stroke);
}

.dim-background {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: var(--window-inner-height);
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1;
}

@keyframes dot-rotate {
  0% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(90deg);
  }
  50% {
    transform: rotate(180deg);
  }
  75% {
    transform: rotate(270deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dot-rotate3 {
  0% {
    transform: rotate(0deg);
  }
  35% {
    transform: rotate(120deg);
  }
  70% {
    transform: rotate(240deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes expand {
  1% {
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    width: 750%;
    height: 750%;
    opacity: 0;
    border: 2px solid #fff;
  }
}
@keyframes slideDown {
  0% {
    top: -1000px;
    opacity: 80%;
  }
  100% {
    top: 0;
    opacity: 20%;
  }
}
@keyframes slideup {
  0% {
    bottom: -1000px;
    opacity: 80%;
  }
  100% {
    bottom: 0;
    opacity: 20%;
  }
}
@keyframes slideRight {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes arrow {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    margin-top: 10px;
  }
}
@keyframes txt_mask {
  0% {
    top: 80px;
    opacity: 0;
  }
  100% {
    top: 0px;
    opacity: 1;
  }
}
@keyframes clip_play {
  0% {
    clip-path: inset(50% 50% round 10px 10px 10px 10px);
    top: -150px;
  }
  30% {
    clip-path: inset(49.5% 45% round 10px 10px 10px 10px);
    top: -150px;
  }
  60% {
    clip-path: inset(45% 45% round 10px 10px 10px 10px);
    top: -193px;
  }
  100% {
    clip-path: inset(0% 0% round 0px 0px 0px 0px);
    top: 0;
  }
}
@keyframes h-draw {
  0% {
    width: 0;
  }
  30% {
    width: 0;
  }
  70% {
    width: 50%;
  }
  100% {
    width: 100%;
  }
}
@keyframes v-center {
  0% {
    top: 0;
  }
  30% {
    top: 0;
    height: 80px;
  }
  100% {
    top: 0;
    height: 100%;
  }
}
@keyframes v-side {
  0% {
    height: 0;
  }
  70% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
@keyframes dot-center {
  0% {
    top: 0;
    left: calc(50% - 3px);
  }
  30% {
    top: 77px;
    left: calc(50% - 3px);
  }
  100% {
    top: 77px;
    left: calc(50% - 3px);
  }
}
@keyframes dot-side-left {
  0% {
    top: 0;
    left: calc(50% - 3px);
  }
  30% {
    top: 77px;
    left: calc(50% - 3px);
  }
  70% {
    top: 77px;
    left: calc(25% - 3px);
  }
  100% {
    top: 77px;
    left: calc(25% - 3px);
  }
}
@keyframes dot-side-right {
  0% {
    top: 0;
    left: calc(50% - 3px);
  }
  30% {
    top: 77px;
    left: calc(50% - 3px);
  }
  70% {
    top: 77px;
    left: calc(75% - 3px);
  }
  100% {
    top: 77px;
    left: calc(75% - 3px);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes pulseCircle {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.7;
  }
}
@keyframes enableHover {
  to {
    pointer-events: auto;
  }
}
@media all and (min-width: 1024px) and (max-width: 1920px) {
  html {
    font-size: 10px;
  }
}
@media all and (max-width: 1023px) {
  html {
    font-size: 14px;
  }
  html body {
    font-size: 1.6rem;
  }
}
@media all and (max-width: 767px) {
  html {
    font-size: 13px;
  }
}
@media all and (max-width: 639px) {
  html {
    font-size: 12px;
  }
}
@media all and (max-width: 479px) {
  html {
    font-size: 10px;
  }
}
@media all and (max-width: 359px) {
  html {
    font-size: 9px;
  }
}
@media all and (max-width: 319px) {
  html {
    font-size: 8px;
  }
}
