@charset "utf-8";

:root {
  color-scheme: only light;
  --black: #17233B;
  --text: #3E4A5E;
  --line: #E3E9F0;
  --brown: #6B5A10;
  --theme: #FFD452;
  --theme-hover: #FDD868;
  --theme-light: #FFFBE6;
  --white: #FFFFFF;
  --res: min(100px, 7.8125vw);
}

@media screen and (max-width:1279px) {
  :root {
    --res: min(12.5vw, 160px);
  }
}


/* default */
* {
  text-rendering: optimizeLegibility;
  font-family: 'Pretendard', sans-serif;
  font-style: normal;
  font-weight: 400;
  word-wrap: break-word;
  word-break: keep-all;
  -webkit-font-smoothing: antialiased;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  color: var(--text);
  font-size: var(--res);
  background: var(--white);
}

body {
  visibility: hidden;
}

body[data-font-loaded="true"] {
  visibility: visible;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
p,
table,
th,
td,
span,
small,
strong,
form,
fieldset,
legend,
select,
button,
input,
textarea,
figure,
figcaption {
  margin: 0;
  margin-block: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
  font-weight: inherit;
  font-style: inherit;
  color: inherit
}

fieldset,
li,
img {
  border: 0;
  vertical-align: baseline;
}

ul,
ol {
  list-style: none;
}

input,
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button {
  box-shadow: none;
  outline: 0;
  border: 0 none;
  background: transparent;
  cursor: pointer;
}

button::-moz-focus-inner {
  padding: 0;
}

a,
a:focus,
a:active,
a:hover {
  outline: none;
  box-shadow: none;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

a {
  display: inline-block
}

select::-ms-expand {
  display: none;
}

select {
  -o-appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0 none;
  outline: 0 none;
}

img,
video,
picture,
svg {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.screen-out {
  position: absolute;
  display: block;
  right: 100%;
  bottom: 100%;
  width: 1px;
  height: 1px;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}

[data-title="true"],
[data-title="true"] * {
  font-family: 'Cafe24Ssurround', sans-serif !important;
  font-weight: 700;
  color: var(--black);
  letter-spacing: -.02em;
}

/* common */
body {
  overflow-x: clip
}

.sec {
  display: block;
  position: relative;
  height: auto;
  z-index: 1;
  overflow-x: clip;
  height: auto;
}

.sec-bg {
  position: absolute;
  left: 0;
  z-index: -1;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.sec-wrap {
  height: auto;
  z-index: 1;
}

.sec-wrap {
  position: relative;
  width: 100%;
  margin: 0 auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media (min-width:1280px) {
  .sec-wrap {
    width: calc(100% - 1.04rem);
    max-width: 16rem
  }

  .mo-only {
    display: none
  }

  .pc-only {
    display: block
  }
}

@media (max-width:1279px) {
  .sec-wrap {
    padding: 0 .7rem
  }

  .mo-only {
    display: block
  }

  .pc-only {
    display: none
  }
}


.icon-light {
  background: var(--theme);
  border-radius: 100%;
  display: inline-block;
  flex: none;
  width: .13rem;
  height: .13rem;
  position: relative;
  z-index: 2;
}

.icon-light::before {
  z-index: -1;
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 160%;
  height: 160%;
  border-radius: 100%;
  background: #FFD60A;
  transform: translate3d(-50%, -50%, 0) scale(.75);
  opacity: .3;
  filter: blur(.1rem);
  will-change: transform, opacity;
}

.init .sec-wrap[data-visible="true"] .icon-light::before {
  animation: icon-light-ani 2.5s .6s ease-in-out infinite;
}

@keyframes icon-light-ani {

  0%,
  100% {
    transform: translate3d(-50%, -50%, 0) scale(.75);
    opacity: .3
  }

  45%,
  55% {
    transform: translate3d(-50%, -50%, 0) scale(1);
    opacity: 1;
  }
}

.sec-name {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  gap: .16rem;
  height: .22rem;
}

.sec-name>strong {
  display: block;
  flex: none;
  color: var(--text);
  font-weight: 700;
  letter-spacing: .12em;
  font-size: .19rem;
  line-height: 100%;
  letter-spacing: .12em;
  padding-top: .02rem
}

.sec-dc,
.sec-dc>* {
  word-wrap: break-word;
  word-break: keep-all
}

.sec-dc>* {
  font: inherit;
}

.sec-dc>strong {
  font-weight: 700;
  color: var(--black)
}

.t-light,
.sec-title .gold,
.sec-title .on {
  color: var(--theme) !important;
  display: inline-block;
  position: relative;
  font-weight: 700
}

.sec-title .gold::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  background: url(../img/gold-line.svg) no-repeat 0 0 / auto 100%;
  width: 100%
}

.reveal .gold::before {
  clip-path: inset(0 100% 0 0);
  transition: clip-path .3s ease-in-out;
}

.init .reveal[data-visible="true"] .gold::before {
  clip-path: inset(0 0 0 0)
}

.sec-title>strong {
  display: block;
  font: inherit
}

.sec-title .on>span {
  display: inline-block;
  vertical-align: top;
  position: relative
}

.ci {
  display: block;
  position: relative
}

.star {
  position: absolute;
  width: .2rem
}

.has-line {
  display: inline-block;
  position: relative;
  z-index: -1
}

.has-line>em {
  position: relative;
  z-index: 1
}

.has-line::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  left: -.1em;
  right: -.05rem;
  bottom: .2em;
  background: var(--theme);
  height: .55em
}

.cmp-topic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  background: var(--black);
  border-radius: .4rem
}

.cmp-topic .icon-light {
  flex: none
}

.cmp-topic>strong {
  flex: none;
  color: var(--white);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 100%
}

@media (min-width:1280px) {
  .ci {
    width: 2.56rem
  }

  .cmp-topic .icon-light {
    width: .16rem;
    height: .16rem
  }
}

@media (max-width:1279px) {
  .ci {
    width: 1.92rem
  }

  .cmp-topic .icon-light {
    width: .22rem;
    height: .22rem
  }
}



/* main */
.main {
  background: #FFFAE6;
  z-index: 3
}

.main::before {
  content: "";
  display: block;
  background: var(--theme);
  bottom: 0;
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
}

.main .child,
.main .door,
.main .star,
.main .dsc-01,
.main .dsc-02,
.main .mark {
  position: absolute;
}

.main .star,
.main .disc,
.main .mark{
  transform:translate3d(-50%,-50%, 0)
}
.main .star > img,
.main .disc > img{
  opacity:0;
  transform:scale(0.3);
  will-change:transform, opacity;
}
.main .mark > img{
  opacity:0;
  transform-origin:150% 60%;
  will-change:opacity;
}
.init .main [data-visible="true"] .star > img,
.init .main [data-visible="true"] .disc > img{
  animation-name:main-twinkle-ani;
  animation-timing-function: cubic-bezier(0.23, 1.15, 0.32, 1);
  animation-iteration-count: infinite;
}
.init .main [data-visible="true"] .mark > img{
  animation:main-blink-ani 3.2s 0s ease-out infinite;
}
.init .main [data-visible="true"] .star.wht > img{animation-duration:2s;animation-delay:.5s}
.init .main [data-visible="true"] .dsc-01 > img{animation-duration:2s;animation-delay:.7s}
.init .main [data-visible="true"] .dsc-02 > img{animation-duration:2s;animation-delay:.65s}
.init .main [data-visible="true"] .star.blue-01 > img{animation-duration:2.3s;animation-delay:.6s}
.init .main [data-visible="true"] .star.blue-02 > img{animation-duration:2.3s;animation-delay:1s}
.init .main [data-visible="true"] .star.gold-01 > img{animation-duration:2.3s;animation-delay:.75s}
.init .main [data-visible="true"] .star.gold-02 > img{animation-duration:2.3s;animation-delay:.9s}

@keyframes main-twinkle-ani {

  0%,
  10%,
  90%,
  100% {
    transform: scale(.3);
    opacity: 0
  }

  40%,
  60% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes main-blink-ani {

  0%,
  40%,
  100% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: scale(.7);
    opacity: 0
  }
}

.main .door {
  background: var(--theme);
}

.main .door::before {
  content: "";
  display: block;
  width: 100%
}

.main .cmp-topic {
  background: #1D2432;
}


.main .sec-title .kor {
  color: var(--black);
  font-weight: 700;
  line-height: 130%;
  letter-spacing: -.03em
}

.main .sec-title .eng {
  font-weight: 700;
  line-height: 130%;
  letter-spacing: -.02em
}

.main .sec-title .on>span {
  display: inline-block;
  vertical-align: top
}

.main .sec-dc {
  color: var(--black);
  font-weight: 400;
  line-height: 132%;
  letter-spacing: -.02em
}

.main .cta-btn {
  position: relative;
  z-index: 2;
  text-align: center;
}

.main .cta-btn::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: var(--theme);
  will-change: transform, background-color;
  transition: transform .25s ease-out, background-color .25s ease-out;
}

.is-desktop .main .cta-btn:hover::before {
  transform: scale3d(1.05, 1.05, 1);  
  background-color: var(--theme-hover);
}

.main .cta-btn>span {
  margin: 0 auto;
  color: #1D2432;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 130%;
}

.quick-btn {
  position: absolute;
  z-index: 10;
  will-change:marginBottom;
  transition:margin-bottom .4s ease-out;
}

.quick-btn.sticky {
  position: fixed;
  top: auto;
  bottom:0;
}


.quick-btn::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - .01rem);
  content: "";
  display: block;
  box-shadow: 0px .04rem .3rem 0px #00000040;
}

.quick-btn>picture {
  display: block;
  width: 100%;
  background: var(--white);
  overflow: clip
}

.quick-btn>strong {
  display: block;
  position: relative;
  z-index: 1;
  text-align: center;
  background: var(--theme);
  font-weight: 700;
  color: var(--black);
  letter-spacing: -.02em
}


.is-desktop .quick-btn::before,
.is-desktop .quick-btn>picture,
.is-desktop .quick-btn>strong {
  will-change: transform;
  transition: transform .25s ease-out;
}

.is-desktop .quick-btn:hover::before,
.is-desktop .quick-btn:hover>picture,
.is-desktop .quick-btn:hover>strong {
  transform: translate3d(0, -.15rem, 0);
}



.main .ci,
.main .cmp-topic,
.main .sec-title,
.main .sec-dc,
.main .cta-btn,
.main .child,
.main .door{
  opacity:0;
  transform:translate3d(0,.15rem,0);
  will-change: transform, opacity
}


.init .main [data-visible="true"] .ci,
.init .main [data-visible="true"] .cmp-topic,
.init .main [data-visible="true"] .sec-title,
.init .main [data-visible="true"] .sec-dc,
.init .main [data-visible="true"] .cta-btn{
  animation:reveal-eff .4s 1s ease-out forwards;
}
.init .main .door[data-visible="true"],
.init .main .child[data-visible="true"]{
  animation:reveal-kv-eff .35s 1s ease-in-out forwards;
}

.init .main .door[data-visible="true"]{
  animation-delay:.35s;
}
.init .main .child[data-visible="true"]{
  animation-delay:.2s;
}
.init .main [data-visible="true"] .ci{
  animation-delay:.25s;
}
.init .main [data-visible="true"] .cmp-topic{
  animation-delay:.35s;
}
.init .main [data-visible="true"] .sec-title{
  animation-delay:.5s;
}
.init .main [data-visible="true"] .sec-title .gold::before{
  transition-delay:.6s
}
.init .main [data-visible="true"] .sec-dc{
  animation-delay:.6s;
}

@keyframes reveal-eff {
  0%{
    opacity:0;
    transform:translate3d(0,.15rem,0);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}
@keyframes reveal-kv-eff {
  0%{
    opacity:0;
    transform:translate3d(0,.25rem,0);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

@media (min-width:1280px) {
  .main::before {
    height: .75rem
  }

  .main .sec-wrap {
    max-width: 15.2rem;
    padding: .55rem 0 1.37rem;
  }
  .main .ci{
    margin-bottom:.6rem;
    left:-.1rem
  }

  .main .kv {
    height: 2.3rem
  }

  .main .child {
    width: min(10.57rem, 66.0625vw);
    bottom: .75rem;
    left: 50%;
    margin-left: max(-1.8rem, -5.264vw);
  }

  .main .door {
    width: min(8.27rem, 51.6875vw);
    bottom: .75rem;
    left: 50%;
    margin-left: max(-1.14rem, -2.64vw);
    border-radius: 4.4rem 4.4rem 0 0
  }

  .main .door::before {
    padding-top: 106.5%
  }

  .main .cmp-topic {
    height: .63rem;
    padding: 0 .25rem;
    border-radius: .32rem;
    gap: .13rem
  }

  .main .cmp-topic>strong {
    font-size: .28rem
  }

  .main .sec-title .kor {
    margin-top: .17rem;
    font-size: .96rem;
  }

  .main .sec-title .eng {
    font-size: 1.28rem;
    margin-top: -.1rem
  }

  .main .gold::before {
    height: .36rem
  }

  .main .sec-title .on>span {
    width: .96rem;
    margin-top: .27rem;
  }

  .main .sec-dc {
    font-size: .32rem;
    padding-top: .25rem
  }

  .main .cta-btn {
    width: fit-content;
    position: relative;
    display: block;
    padding: .2rem;
  }

  .main .cta-btn::before {
    border-radius: .2rem;
    box-shadow: 0px 0px .35rem 0px #FFFFFF4D;
  }

  .main .cta-btn>span {
    display: block;
    font-size: .4rem
  }

  .quick-btn {
    bottom:0;
    margin-bottom:0;
    left:min(calc(100% - 2.98rem), calc(50% + 6.64rem));
    width: 2.52rem;
  }

  .quick-btn.sticky{
    margin-bottom:.8rem
  }

  .quick-btn,
  .quick-btn::before {
    border-radius: 1.26rem 1.26rem .14rem .14rem
  }

  .quick-btn>picture {
    margin-bottom: -.28rem;
    border-radius: 1.26rem 1.26rem 0 0
  }

  .quick-btn>strong {
    font-size: .25rem;
    border-radius: .14rem;
    line-height: .31rem;
    padding: .06rem 0
  }

  .init .main [data-visible="true"] .cta-btn{
    animation-delay:.75s;
  }

  .main .star.wht{width:9.92%;left:18%;top:59%}
  .main .dsc-01{width:2.54%;left:12.815%;top:49.6%}
  .main .dsc-02{width:1.693%;left:8.95%;top:55.165%}
  .main .mark{width:14.15%;left:36.64%;top:16%}
  .main .star.blue-01{width:15.6%;left:max(-7.4rem, -89.48%);top:min(4.94rem, 56.01%)}
  .main .star.blue-02{width:11.37%;left:min(8.62rem, 104.32%);top:max(-.12rem,-1.362%)}
  .main .star.gold-01{width:9.55%;left:min(.07rem, 0.85%);top:min(1.61rem, 18.275%);transform:translate3d(-50%,-50%, 0) rotate(17.5deg)}
  .main .star.gold-02{width:5.32%;left:min(.75rem,9.07%);top:min(.84rem, 9.535%)}
}

@media (max-width:1279px) {
  .main .sec-wrap {
    padding: .68rem 0 0;
    width: 100%;
  }

  .main .ci {
    left:.72rem;
    margin-bottom:1rem
  }
  .main .kv {
    height: 9.28rem
  }

  .main .child {
    width: 7.82rem;
    bottom: 1.43rem;
    left: .78rem;
  }

  .main .door {
    width: 5.78rem;
    bottom: 1.43rem;
    left:1.78rem;
    border-radius: 2.9rem 2.9rem 0 0
  }

  .main .door::before {
    padding-top: 114.2%
  }


  .main .cmp-topic {
    height: .7rem;
    padding: 0 .33rem;
    border-radius: .35rem;
    gap: .17rem;
    position: relative;
    left:.7rem
  }

  .main .cmp-topic>strong {
    font-size: .32rem
  }

  .main .sec-title{
    padding-left:.7rem
  }
  .main .sec-title .kor {
    margin-top: .36rem;
    font-size: .96rem;
  }

  .main .sec-title .eng {
    font-size: 1.265rem;
    margin-top: -.09rem
  }

  .main .gold::before {
    height: .36rem
  }

  .main .sec-title .on>span {
    width: .96rem;
    margin-top: .27rem;
  }

  .main .sec-dc {
    padding-left:.7rem;
    font-size: .32rem;
    padding-top: .36rem
  }

  .main .cta-btn {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap:.125rem;
    height: 1.44rem
  }

  .main .cta-btn::before {
    box-shadow: 0px 0px .32rem 0px #FFFFFF4D;
  }

  .main .cta-btn>span {
    flex:none;
    margin:0;
    font-weight:700;
    font-size: .48rem
  }
  
  .quick-btn {
    width: 1.88rem;
    left:calc(100% - 2.4rem);
    bottom:-1.8rem;
    margin-bottom:0;
  }
  .quick-btn.sticky{
    margin-bottom:.4rem
  }

  .quick-btn,
  .quick-btn::before {
    border-radius: .94rem .94rem .11rem .11rem
  }

  .quick-btn>picture {
    margin-bottom: -.22rem;
    border-radius: .94rem .94rem 0 0
  }

  .quick-btn>strong {
    font-size: .19rem;
    border-radius: .11rem;
    line-height: .24rem;
    padding: .04rem 0
  }
  
  .init .main [data-visible="true"] .cta-btn{
    opacity:1;
    transform:translate3d(0, 0, 0);
    animation:none
  }

  .main .mark{width:14.83%;left:30%;top:17.27%;transform:translate3d(-50%,-50%, 0) rotate(-5.35deg)}
  .main .star.wht{width:8.62%;left:13.1%;top:57.88%}
  .main .dsc-01{width:2.42%;left:8.62%;top:50%}
  .main .dsc-02{width:1.4%;left:4.83%;top:54.85%}
  .main .star.blue-01{width:10.35%;left:-9.65%;top:84.55%}
  .main .star.blue-02{width:10.35%;left:88.275%;top:2.73%}
  .main .star.gold-01{width:12.4%;left:-13.45%;top:31.515%}
  .main .star.gold-02{width:7.95%;left:-4.5%;top:18.2%}
}



/* why */
.why {
  z-index: 2
}

.why .kv {
  position: relative;
  width: 100%
}

.why .sec-title .kor {
  white-space: nowrap;
  letter-spacing: -.03em
}

.why .sec-dc {
  letter-spacing: -.025em
}

.why .child {
  position: absolute
}

.why .star {
  position: absolute
}

@media (min-width:1280px) {
  .why .sec-wrap {
    padding-left: min(7.6rem, 47.5vw);
    padding-top: 1.95rem;
    padding-bottom: 1.6rem
  }

  .why .child {
    width: 6.5rem;
    right: 100%;
    margin-right: min(1.44rem, 7.5vw);
    top: -1.95rem
  }

  .why .star {
    width: 1.56rem;
    left: 5.83rem;
    top: 5.92rem
  }

  .why .sec-name {
    margin-bottom: .47rem
  }

  .why .sec-title .kor {
    font-size: .73rem;
    line-height: .95rem
  }

  .why .sec-title .eng {
    font-size: 1.05rem;
    line-height: 1.36rem;
    margin-top: -.16rem
  }

  .why .gold::before {
    height: .32rem
  }

  .why .sec-dc {
    font-size: .31rem;
    line-height: .56rem;
    padding-top: .4rem
  }

  .why .sec-dc+.sec-dc {
    padding-top: .96rem
  }
}

@media (max-width:1279px) {
  .why .sec-wrap {
    padding-top: 1.46rem;
    padding-bottom: 1.08rem;
    padding-left: .96rem;
    padding-right: .96rem
  }

  .why .child {
    width: 5.06rem;
    top: .64rem;
    left: 50%;
    margin-left: -2.73rem
  }

  .why .star {
    width: 1.18rem;
    left: 4.76rem;
    top: 4.62rem
  }

  .why .kv {
    height: 7.36rem
  }

  .why .sec-name {
    margin: 0 auto;
    margin-bottom: .19rem
  }

  .why .sec-title {
    width: fit-content;
    margin: 0 auto
  }

  .why .sec-title .kor {
    font-size: .64rem;
    line-height: .84rem
  }

  .why .sec-title .eng {
    font-size: .73rem;
    line-height: .95rem
  }

  .why .gold::before {
    height: .26rem;
    bottom: -.04rem
  }

  .why .sec-dc {
    font-size: .32rem;
    line-height: .52rem;
    padding-top: .52rem;
    word-break: normal;
  }

  .why .sec-dc+.sec-dc {
    font-size: .34rem;
    line-height: .56rem
  }
}


/* lightup */
.lightup-bg {
  position: absolute;
  width: 100%;
  height: auto
}

.lightup .sec-wrap {
  text-align: center
}

.lightup .sec-name,
.lightup .sec-title {
  margin: 0 auto;
  width: fit-content;
  text-align: center;
  position: relative;
}

.lightup .sec-title>strong {
  position: relative;
  letter-spacing: -.03em
}

.lightup .child {
  display: block;
  margin: 0 auto;
  position: relative
}

.lightup .sec-topic {
  text-align: center;
  line-height: 132%;
  letter-spacing: -.02em
}

.lightup__dc-box {
  margin: 0 auto;
  background: #FFFDEF;
  border-radius: 50%
}

.lightup__dc-box>strong,
.lightup__dc-box>p {
  display: block;
  text-align: center;
  color: var(--black);
  letter-spacing: -.02em;
  line-height: 1.5
}

.lightup__dc-box>strong {
  font-weight: 700
}

.lightup .exlink-btn{
  display:flex;
  width:fit-content;
  margin:0 auto;
  align-items: center;
  justify-content: center;
  position:relative;
}

.lightup .exlink-btn::before{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background-color:var(--theme);
  will-change: background-color;
  transition: background-color .25s ease-out;
}
.is-desktop .lightup .exlink-btn:hover::before {
  background-color: var(--theme-hover);
}
.is-desktop .lightup .exlink-btn:hover .go {
  animation: go-icon-move .45s ease-in-out alternate infinite;
}

.lightup .exlink-btn > span{display:block;flex:none;color:var(--black);font-weight:600;line-height:120%;letter-spacing:-.0125em}
.lightup .exlink-btn svg.go {display:block;flex:none;fill: var(--black);}

@media (min-width:1280px) {
  .lightup-bg {
    max-width: 19.2rem;
    left: 50%;
    transform: translateX(-50%);
    bottom: 2.64rem
  }

  .lightup .sec-wrap {
    padding-top: 1.58rem;
    padding-bottom: .64rem
  }

  .lightup .kv {
    padding-top: .43rem;
    padding-bottom: .28rem
  }

  .lightup .child {
    width: 7.91rem;
    left: -.46rem
  }

  .lightup .sec-name {
    margin-bottom: .67rem
  }

  .lightup .sec-title {
    font-size: 0;
    line-height: 0;
    margin-bottom: .72rem
  }

  .lightup .sec-title>strong {
    display: inline-block;
    font-size: .67rem;
    line-height: .87rem
  }

  .lightup .sec-title>strong+strong {
    margin-left: .25em
  }

  .lightup .star {
    position: absolute;
    width: .69rem;
    left: 100%;
    top: -.39rem
  }

  .lightup .sec-topic {
    font-size: .36rem
  }

  .lightup__dc-box {
    width: 12.58rem;
    border-radius: 1.15rem;
    padding: .1rem 0
  }

  .lightup__dc-box>strong {
    font-size: .36rem
  }

  .lightup__dc-box>p {
    font-size: .32rem
  }

  .lightup__dc-box+.lightup__dc-box {
    margin-top: .2rem
  }
  
  .lightup .exlink-btn{width:3.1rem;height:.57rem;gap:.12rem;margin-top:.45rem}
  .lightup .exlink-btn::before{border-radius:.57rem}
  .lightup .exlink-btn > span{font-size:.24rem}
  .lightup .exlink-btn > svg.go{width:.11rem;height:.2rem;margin-top:-.01rem}
}

@media (max-width:1279px) {
  .lightup-bg {
    bottom: 3.12rem;
  }

  .lightup .sec-wrap {
    padding-top: 1.08rem;
    padding-bottom: .4rem
  }

  .lightup .kv {
    padding-top: .43rem;
    padding-bottom: .76rem
  }

  .lightup .child {
    width: 5.2rem;
    left: -.54rem
  }

  .lightup .sec-name {
    margin-bottom: .2rem
  }

  .lightup .sec-title {
    font-size: 0;
    line-height: 0;
    margin-bottom: .48rem
  }

  .lightup .sec-title>strong {
    font-size: .62rem;
    line-height: .82rem
  }

  .lightup .star {
    display: none;
  }

  .lightup .sec-topic {
    font-size: .37rem
  }

  .lightup__dc-box {
    border-radius: .75rem;
    padding: .13rem .28rem
  }

  .lightup__dc-box>strong {
    font-size: .37rem
  }

  .lightup__dc-box>p {
    font-size: .3rem
  }

  .lightup__dc-box+.lightup__dc-box {
    margin-top: .2rem
  }

  .lightup .exlink-btn{width:2.8rem;height:.58rem;gap:.12rem;margin-top:.36rem}
  .lightup .exlink-btn::before{border-radius:.58rem}
  .lightup .exlink-btn > span{font-size:.22rem}
  .lightup .exlink-btn > svg.go{width:.08rem;height:.15rem;margin-top:-.01rem}
}

/* support */

.support .has-line::before {
  height: .44em
}

.support .cmp-topic {
  margin: 0 auto;
}

.support-card-wrap {
  display: flex;
}

.support-card-wrap .card-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  overflow: clip;
  background-color: #FFF6CC;
}

.support-card-wrap .card-item::before {
  content: "";
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../img/support-circle.png) no-repeat 100% 0 / contain
}

.support-card-wrap .card-item>strong,
.support-card-wrap .card-item>p,
.support-card-wrap .card-item>span {
  display: block;
  flex: none
}

.support-card-wrap .card-item>strong {
  color: var(--black);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 120%;
}

.support-card-wrap .card-item>p {
  color: var(--text);
  font-weight: 400;
  letter-spacing: 0;
  word-wrap: break-word;
  word-break: keep-all;
}

.support-card-wrap .icon {
  background: var(--white);
  position: relative;
}

.support-card-wrap .icon::before {
  content: "";
  display: block;
  padding-top: 100%
}

.support-card-wrap .icon>svg {
  position: absolute;
  width: 50%;
  height: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.support-card-wrap .label {
  color: var(--brown);
  font-weight: 700;
  line-height: 120%;
  letter-spacing: .1em;
}

@media (min-width:1280px) {
  .support .sec-wrap {
    padding-top: .64rem;
    padding-bottom: 1.93rem;
  }

  .support .ci {
    left: -.16rem
  }

  .support .sec-name {
    margin-top: .88rem
  }

  .support .sec-title {
    font-size: .67rem;
    padding-top: .295rem;
    line-height: 130%;
    letter-spacing: -.03em;
    padding-bottom: .74rem;
  }

  .support .cmp-topic {
    height: .8rem;
    padding: 0 .43rem;
    border-radius: .4rem;
    gap: .19rem
  }

  .support .cmp-topic>strong {
    font-size: .27rem
  }

  .support-card-wrap {
    gap: .425rem;
    width: 100%;
    margin-bottom: .75rem
  }

  .support-card-wrap .card-item {
    flex: 1;
    border-radius: .54rem;
    padding: .64rem min(.64rem, 3.2vw);
    gap: .295rem
  }

  .support-card-wrap .card-item::before {
    width: 2.4rem;
    height: 2.4rem
  }

  .support-card-wrap .card-item>strong {
    font-size: .43rem
  }

  .support-card-wrap .card-item>p {
    font-size: .24rem;
    line-height: 175%
  }

  .support-card-wrap .icon {
    width: .96rem;
    border-radius: .295rem
  }

  .support-card-wrap .label {
    font-size: .175rem
  }

}

@media (max-width:1279px) {
  .support .sec-wrap {
    padding: .85rem 0 1.54rem;
    text-align: center
  }

  .support .sec-name,
  .support .sec-title {
    margin: 0 auto;
    width: fit-content;
    text-align: center;
    position: relative;
  }

  .support .ci {
    margin-left: 1rem;
    margin-bottom: .33rem
  }

  .support .sec-title {
    font-size: .54rem;
    line-height: 145%;
    letter-spacing: -.05em;
    padding-top: .19rem;
    padding-bottom: .62rem
  }

  .support .cmp-topic {
    height: .6rem;
    padding: 0 .32rem;
    border-radius: .3rem;
    gap: .14rem
  }

  .support .cmp-topic .icon-light {
    width: .11rem;
    height: .11rem;
  }

  .support .cmp-topic>strong {
    font-size: .19rem
  }

  .support-card-wrap {
    flex-direction: column;
    gap: .15rem;
    width: 6rem;
    margin: 0 auto .415rem
  }

  .support-card-wrap .card-item {
    border-radius: .35rem;
    padding: .2rem min(.43rem, 5.375vw);
    gap: .2rem
  }

  .support-card-wrap .card-item::before {
    width: 1.6rem;
    height: 1.6rem
  }

  .support-card-wrap .card-item>strong {
    font-size: .336rem
  }

  .support-card-wrap .card-item>p {
    text-align: left;
    font-size: .224rem;
    line-height: 126%
  }

  .support-card-wrap .icon {
    margin-top: .1rem;
    width: .64rem;
    border-radius: .2rem
  }

  .support-card-wrap .label {
    font-size: .15rem
  }

}


/* turnon */
.turnon .sec-bg {
  background-color: var(--black);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover
}

.turnon .sec-bg::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  left: 0;
  background: linear-gradient(90deg, rgba(25, 25, 25, 0.8) 0%, rgba(25, 25, 25, 0) 100%)
}

.turnon-kv {
  position: absolute;
  left: 50%
}

.turnon-kv .top,
.turnon-kv .btm {
  position: absolute;
  transform: translate3d(-50%, -50%, 0)
}

.turnon .sec-name>strong,
.turnon .sec-title .kor,
.turnon .sec-dc,
.turnon .sec-dc strong {
  color: var(--white)
}

.turnon .sec-title>strong {
  line-height: 1.3;
  letter-spacing: -.03em
}

.turnon-gift {
  display: block;
}

@media (min-width:1280px) {
  .turnon .sec-bg {
    background-image: url(../img/turnon-bg.jpg);
    background-position-y: 35%
  }

  .turnon .sec-bg::before {
    width: 50.6%
  }

  .turnon .sec-wrap {
    padding-top: 1.2rem;
    padding-bottom: 1.28rem
  }

  .turnon-kv {
    width: 11.8rem;
    margin-left: -2.58rem;
    bottom: -.18rem
  }

  .turnon-kv .top {
    width: 1.23rem;
    left: 70.13%;
    top: 12.534%
  }

  .turnon-kv .btm {
    width: 1.14rem;
    left: 34.86%;
    top: 85.15%
  }

  .turnon .ci {
    left: -.1rem
  }

  .turnon .sec-name {
    margin-top: .9rem
  }

  .turnon .sec-title {
    font-size: .67rem;
    margin-top: .44rem
  }

  .turnon .sec-title .on>span {
    width: .52rem;
    margin-top: .14rem;
    filter: drop-shadow(0 0 .16rem rgba(255, 220, 115, 0.6))
  }

  .turnon .sec-title .gold,
  .turnon .sec-title .on {
    filter: drop-shadow(0 0 .18rem rgba(255, 220, 115, 0.6))
  }

  .turnon .sec-dc {
    font-size: .27rem;
    line-height: 1.8;
    padding-top: .4rem;
    padding-bottom: .4rem;
    letter-spacing: -.02em
  }

  .turnon-gift {
    width: 5.93rem;
    border-radius: .27rem;
    background: rgba(255, 255, 255, .85);
    backdrop-filter: blur(0.13rem);
    box-shadow: 0px .13rem .53rem 0px rgba(23, 35, 59, 0.08);
  }
}

@media (max-width:1279px) {
  .turnon .sec-bg {
    background-image: url(../img/m_turnon-bg.jpg);
    background-position-x:100%
  }

  .turnon .sec-bg::before {
    width: 68%
  }

  .turnon .sec-wrap {
    padding-top: .4rem;
    padding-bottom: 1.52rem
  }

  .turnon-kv {
    width: 7.36rem;
    margin-left: -2.08rem;
    bottom: 0
  }

  .turnon-kv .top {
    width: .75rem;
    left: 73.48%;
    top: 20.6%
  }

  .turnon-kv .btm {
    width: .71rem;
    left: 34.1%;
    top: 80.67%
  }

  .turnon .sec-name {
    margin-top: .38rem
  }

  .turnon .sec-title {
    font-size: .6rem;
    margin-top: .46rem
  }

  .turnon .sec-title .on>span {
    width: .48rem;
    margin-top: .12rem;
    filter: drop-shadow(0 0 .12rem rgba(255, 220, 115, 0.6))
  }

  .turnon .sec-title .gold,
  .turnon .sec-title .on {
    filter: drop-shadow(0 0 .16rem rgba(255, 220, 115, 0.6))
  }

  .turnon .sec-dc {
    font-size: .32rem;
    line-height: 1.5;
    padding-top: .24rem;
    padding-bottom: .46rem;
    letter-spacing: -.03em
  }

  .turnon-gift {
    width: 4.45rem;
    border-radius: .24rem;
    background: rgba(255, 255, 255, .75);
    box-shadow: 0px .08rem .32rem 0px rgba(23, 35, 59, 0.08);
    backdrop-filter: blur(0.08rem);
  }
}


/* join */
.join .cta-btn {
  width: 100%;
  display: flex;
  background-color: var(--theme);
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: .24rem;
  will-change: background-color;
  transition: background-color .25s ease-in-out
}

.is-desktop .join .cta-btn:hover {
  background-color: var(--theme-hover)
}

.is-desktop .join .cta-btn:hover .go {
  animation: go-icon-move .45s ease-in-out alternate infinite;
}

.join .cta-btn span,
.join .cta-btn svg {
  flex: none;
  display: block
}

.join .cta-btn span {
  width: fit-content;
  color: var(--black);
  font-weight: 700;
  line-height: 1.2;
  font-size: .4rem;
  letter-spacing: -.03em
}

.join .cta-btn .icon {
  width: .53rem
}

.join .cta-btn .go {
  width: .43rem
}


@media (min-width:1280px) {
  .join .cta-btn {
    height: 1.7rem
  }
}

@media (max-width:1279px) {
  .join .cta-btn {
    height: 1.25rem
  }
}



/* faq */
.faq-list {
  display: flex;
  flex-direction: column;
  height: fit-content
}

.faq-list>li {
  flex: none;
  width: 100%;
  overflow: clip;
  border-style: solid;
  border-color: var(--line);
  background-color: var(--white);
  will-change: height, background-color, border-color;
  transition: background-color .25s ease-in-out, border-color .25s ease-in-out, height .3s ease-in-out
}

.is-desktop .faq-list>li:hover,
.faq-list>li[data-open="true"] {
  background-color: var(--theme-light);
  border-color: var(--theme)
}

.faq-list>li[data-open="true"] {
  height: max-content
}

.faq-detail {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  box-sizing: border-box;
}

.faq-detail>strong {
  flex: none;
  font-weight: 800;
  line-height: 1.2;
  text-align: left
}

.faq-detail>p {
  flex: 1;
  word-break: keep-all;
  word-wrap: break-word;
  text-align: left
}

.faq-detail.question {
  cursor: pointer;
  align-items: center;
}

.faq-detail.answer {
  height: auto;
  align-items: flex-start
}

.faq-detail .icon {
  flex: none;
  position: relative;
  border-radius: 100%;
  background-color: var(--line);
  will-change: background-color;
  transition: background-color .15s ease-in-out
}

.faq-detail .icon::before {
  content: "";
  display: block;
  padding-top: 100%
}

.faq-detail .icon svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  will-change: clip-path, transform;
  transition: clip-path .5s ease-out, transform .25s ease-in-out;
}

.faq-detail .icon .minus,
.faq-list>li[data-open="true"] .faq-detail .icon .plus {
  clip-path: polygon(0 50%, 100% 50%, 100% 50%, 0 50%)
}

.faq-detail .icon .plus,
.faq-list>li[data-open="true"] .faq-detail .icon .minus {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.is-desktop .faq-list>li:hover .faq-detail .icon,
.faq-list>li[data-open="true"] .faq-detail .icon {
  background-color: var(--theme)
}

.is-desktop .faq-list>li:hover .faq-detail .icon .plus,
.faq-list>li[data-open="true"] .faq-detail .icon .minus {
  transform: translate3d(-50%, -50%, 0) scale(1.25)
}

.faq-detail.question>p {
  color: var(--black);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.03em
}

.faq-detail.question>strong {
  color: var(--black)
}

.faq-detail.answer>p {
  color: var(--text);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.02em
}

.faq-detail.answer>strong {
  color: var(--brown)
}

.faq-detail a {
  width: fit-content;
  color: var(--black);
  position: relative;
  font: inherit;
  letter-spacing: -.02em;
  font-weight: 700
}

.faq-detail .faq-link {
  display: block;
  margin: 1em 0 .2em;
}

.faq-detail .faq-link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--black)
}

.faq .sec-dc{
  line-height:150%;letter-spacing:-.02em
}
.faq .sec-dc strong{
  font-weight:600;letter-spacing:0
}
.faq .sec-dc small{
  
  font-weight:400;font-size:.8em
}


@media (min-width:1280px) {
  .faq .sec-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-top: 1.62rem;
    gap:.25rem;
    padding-bottom: 2.4rem
  }

  .faq .sec-head {
    width: fit-content
  }

  .faq .sec-body {
    width: 62%;
    padding-top: 1.46rem
  }

  .faq .ci {
    margin-bottom: .9rem
  }

  .faq .sec-title {
    padding-top: .3rem
  }

  .faq .sec-title .kor {
    font-size: .67rem;
    line-height: .87rem
  }
  .faq .sec-dc {
    font-size:.23rem;
    margin-top:.28rem
  }

  .faq-list {
    gap: .16rem
  }

  .faq-list>li {
    border-width: .02rem;
    border-radius: .32rem;
    height: .96rem
  }

  .faq-detail {
    gap: .36rem;
    padding: 0 .37rem
  }

  .faq-detail>strong {
    font-size: .21rem
  }

  .faq-detail.question {
    min-height: .96rem
  }

  .faq-detail.answer {
    padding-bottom: .34rem
  }

  .faq-detail.question>p {
    font-size: .25rem
  }

  .faq-detail.answer>p {
    font-size: .23rem
  }

  .faq-detail .icon {
    width: .48rem
  }

  .faq-detail .icon svg {
    width: .21rem
  }

  .faq-link::before {
    height: .02rem
  }
}

@media (max-width:1279px) {
  .faq .sec-wrap {
    padding-top: 1.76rem;
    padding-bottom: 1.2rem
  }

  .faq .sec-body {
    padding-top: .8rem
  }

  .faq .ci {
    margin-bottom: .78rem
  }

  .faq .sec-title {
    padding-top: .2rem
  }

  .faq .sec-title .kor {
    font-size: .68rem;
    line-height: 1.17rem
  }
  .faq .sec-dc {
    font-size:.24rem;
    margin-top:-.06rem
  }

  .faq-list {
    gap: .22rem
  }

  .faq-list>li {
    border-width: .03rem;
    border-radius: .43rem;
    height: 1.37rem
  }

  .faq-detail {
    gap: .24rem;
    padding: 0 .5rem
  }

  .faq-detail>strong {
    font-size: .29rem;
    width: .43rem
  }

  .faq-detail.question {
    min-height: 1.37rem
  }

  .faq-detail.answer {
    padding-bottom: .48rem
  }

  .faq-detail.question>p {
    font-size: .24rem
  }

  .faq-list>li[data-open="true"] .faq-detail.question>p {
    font-size: .32rem
  }

  .faq-detail.answer>p {
    font-size: .24rem;
    line-height: 2
  }

  .faq-detail.answer>strong {
    line-height: 1.6
  }

  .faq-detail .icon {
    width: .64rem
  }

  .faq-detail .icon svg {
    width: .29rem
  }

  .faq-link::before {
    height: .03rem
  }
}


@keyframes go-icon-move {
  0% {
    transform: translate3d(0, 0, 0);
  }

  85%,
  100% {
    transform: translate3d(10%, 0, 0);
  }
}