/* Reset */
* {margin: 0; padding: 0; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; word-break: keep-all;}
html, body {max-width: 100%; min-height: 100%; font-size: 16px;}
html {-webkit-text-size-adjust: none;}
body {-webkit-print-color-adjust: exact; -webkit-font-smoothing: antialiased; background: #FFFFFF; font-family: 'Pretendard', Pretendard, system-ui, -apple-system, sans-serif; font-style: normal; font-weight: 300; color: #333333; line-height: 1.5; letter-spacing: -0.5px;}
ul, li, dl,dt,dd {margin: 0; padding: 0; list-style: none;}
a {color: inherit; text-decoration: none;}
img {border: 0; font-size: 0; max-width: 100%;}
table, tr, td {border-collapse: collapse;}
p {word-break: keep-all;}
textarea, select {font-family: 'Pretendard', Pretendard, system-ui, -apple-system, sans-serif; font-size: 1em;}
input, button {margin: 0; padding: 0; font-family: 'Pretendard', Pretendard, system-ui, -apple-system, sans-serif; font-size: 1em;}
select, button {color: inherit;}
input[type="submit"], button {cursor: pointer;}
button[disabled] {cursor: default;}
input {border-radius: 0;}

caption, legend {font-size: 0; line-height: 0; height: 0; position: relative;}

:focus-visible { outline: 3px dotted #ff0000; }

/* Color & Font Size */
:root {
  --main-color: #05A784;
  --base-color: #A3DACE;
  --black-color: #000000;
  --white-color: #FFFFFF;
  --gray-color: #707070;
  --line-color: #D8D8D8;
  --border-color: #C8C8C8;
  --corner-radius: 30px;
  --font-65: 65px;
  --font-50: 50px;
  --font-40: 40px;
  --font-30: 30px;
  --font-28: 28px;
  --font-24: 24px;
  --font-22: 22px;
  --font-20: 20px;
  --font-18: 18px;
  --font-17: 17px;
  --font-16: 16px;
  --font-15: 15px;
  --font-14: 14px;
}

.ovh {overflow: hidden !important;}

/* Content Line */
.container {padding-left: 1.5rem; padding-right: 1.5rem; width: 100%;}
.wrapper {width: 1440px; max-width: 100%; margin: 0 auto;}

/* Typography */
h1 {font-size: 3.125rem; font-weight: 800;}
h2 {font-size: 2.5rem; font-weight: 700;}
h3 {font-size: 2.25rem; font-weight: 600;}
h4 {font-size: 1.75rem; font-weight: 500;}
h5 {font-size: 1.25rem; font-weight: 700;}
h6 {font-size: 1rem; font-weight: 700;}
strong {font-weight: 700;}
.gmarketSans {font-family: "GmarketSans", 'Pretendard', Pretendard, system-ui, -apple-system, sans-serif;}

/* Common */
.w-per100 {width: 100%;}
.w-per95 {width: 95%;}
.w-per90 {width: 90%;}
.w-per85 {width: 85%;}
.w-per80 {width: 80%;}
.w-per75 {width: 75%;}
.w-per70 {width: 70%;}
.w-per66 {width: 66.667%;}
.w-per65 {width: 65%;}
.w-per60 {width: 60%;}
.w-per55 {width: 55%;}
.w-per50 {width: 50%;}
.w-per45 {width: 45%;}
.w-per40 {width: 40%;}
.w-per35 {width: 35%;}
.w-per33 {width: 33.333%;}
.w-per30 {width: 30%;}
.w-per25 {width: 25%;}
.w-per20 {width: 20%;}
.w-per15 {width: 15%;}
.w-per10 {width: 10%;}
.w-per5 {width: 5%;}
.wauto {width: auto;}

.h-per100 {height: 100%;}

.round-per50 {border-radius: 50%;}

.round100 {border-radius: 6.25rem;}
.round90 {border-radius: 5.625rem;}
.round80 {border-radius: 5rem;}
.round70 {border-radius: 4.375rem;}
.round60 {border-radius: 3.75rem;}
.round50 {border-radius: 3.125rem;}
.round40 {border-radius: 2.5rem;}
.round30 {border-radius: 1.875rem;}
.round25 {border-radius: 1.563rem;}
.round20 {border-radius: 1.25rem;}
.round15 {border-radius: 0.938rem;}
.round10 {border-radius: 0.625rem;}
.round5 {border-radius: 0.313rem;}

/* sound only */
.sound_only{display: inline-block !important; position: absolute; top: 0; left: 0; width: 0; height: 0; margin: 0 !important; padding: 0 !important; font-size: 0; line-height: 0; border: 0 !important; overflow: hidden !important;}

/* clearfix */
.cf:before,
.cf:after{content: " "; display: table;}
.cf:after{clear: both;}
.cf{*zoom: 1;}

/* text cut */
.tRow1{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.tRow2 {white-space: normal; overflow: hidden; line-height: 1.5; max-height: 3em; text-align: left; word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.tRow3 {white-space: normal; overflow: hidden; line-height: 1.5; max-height: 4.5em; text-align: left; word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;}

/*Column*/
.i-col-0{font-size: 0;}
.i-col-1{font-size: 0;}
.i-col-2{font-size: 0;}
.i-col-3{font-size: 0;}
.i-col-4{font-size: 0;}
.i-col-5{font-size: 0;}
.i-col-6{font-size: 0;}
.i-col-7{font-size: 0;}
.i-col-8{font-size: 0;}
.i-col-9{font-size: 0;}
.i-col-10{font-size: 0;}
.i-col-11{font-size: 0;}
.i-col-12{font-size: 0;}

.i-col-0 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: auto;}
.i-col-1 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 100%;}
.i-col-2 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 50%;}
.i-col-3 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 33.333%;}
.i-col-4 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 25%;}
.i-col-5 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 20%;}
.i-col-6 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 16.666%;}
.i-col-7 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 14.285%;}
.i-col-8 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 12.5%;}
.i-col-9 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 11.111%;}
.i-col-10 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 10%;}
.i-col-11 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 9.09%;}
.i-col-12 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 8.333%;}

/* skip navigation */
#skip_nav { position: absolute; left: 0; top: -1000px; width: 100%; height: 0px; z-index: 1000; line-height: 0px; font-size: 0px; }
#skip_nav a { display: block; text-align: center; width: 100%; line-height: 0px; font-size: 0px; }
#skip_nav a:focus, #skip_nav a:hover, #skip_nav a:active { position: absolute; left: 0px; top: 1000px; padding: 8px 0; display: block; height: 30px; background: #333; font-size: 12px; font-weight: bold; line-height: 18px; color: #fff; }

/* Buttons */
.btn-round {display: flex; align-items: center; justify-content: center; gap: 55px; width: fit-content; padding: 15px 22px; border-radius: 999px; background-color: transparent; border: 1px solid var(--gray-color); color: var(--gray-color); font-size: var(--font-18); font-weight: 700; line-height: 1; transition: border-color 0.3s, color 0.3s;}
.btn-round i {font-weight: 400; transition: 0.3s;}
.btn-round:is(:hover, :active, :focus) {border-color: var(--main-color); color: var(--main-color);}
.btn-round:is(:hover, :active, :focus) i {transform: translateX(5px);}

/* Animation */
.illust-item::before, .illust-item::after {opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.33, 1, 0.68, 1); visibility: hidden;}
.illust-item.is-active::before, .illust-item.is-active::after {opacity: 1; transform: translateY(0); visibility: visible;}

.effect-fadeUp {opacity: 0; transform: translateY(40px); visibility: hidden; will-change: transform, opacity;} /* GSAP */

@keyframes bounce-up {
  0% {transform: translateY(0);}
  30% {transform: translateY(4px);}
  60% {transform: translateY(-6px);}
  80% {transform: translateY(-1px);}
  100% {transform: translateY(0);}
}

/* ====================  반응형 ==================== */
@media screen and (max-width:1440px) {
  html, body {font-size: 15px;}

  /* Color & Font Size */
  :root {
    --corner-radius: 20px;
    --font-65: 50px;
    --font-50: 40px;
    --font-40: 35px;
    --font-30: 26px;
    --font-28: 24px;
    --font-24: 22px;
    --font-22: 20px;
    --font-20: 18px;
    --font-18: 17px;
    --font-17: 16px;
    --font-16: 15px;
  }
}
@media screen and (max-width:1024px) {
  html, body {font-size: 14px;}

  /* Color & Font Size */
  :root {
    --corner-radius: 15px;
    --font-65: 42px;
    --font-50: 34px;
    --font-40: 30px;
    --font-30: 22px;
    --font-28: 20px;
    --font-24: 18px;
    --font-22: 18px;
    --font-20: 16px;
    --font-18: 16px;
    --font-17: 15px;
    --font-16: 14px;
    --font-15: 14px;
    --font-14: 13px;
  }
}
@media screen and (max-width:768px) {
  /* Color & Font Size */
  :root {
    --corner-radius: 10px;
    --font-65: 36px;
    --font-50: 28px;
    --font-40: 24px;
    --font-30: 20px;
    --font-28: 18px;
    --font-24: 16px;
    /* --font-22: 16px; */
    --font-20: 15px;
    --font-18: 15px;
    --font-15: 13px;
  }

  /* Buttons */
  .btn-round {gap: 35px; padding: 12px 18px;}
}
@media screen and (max-width:425px) {
  /* Color & Font Size */
  :root {
    --font-65: 32px;
    --font-50: 25px;
    --font-40: 20px;
    --font-30: 18px;
    --font-28: 16px;
    --font-22: 16px;
    --font-18: 14px;
    --font-17: 14px;
    --font-14: 12px;
  }

  /* Buttons */
  .btn-round {gap: 30px; padding: 10px 15px;}
}