@font-face {
    font-family: 'Escoredream';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-1Thin.woff') format('woff');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Escoredream';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-2ExtraLight.woff') format('woff');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Escoredream';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-3Light.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Escoredream';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-4Regular.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Escoredream';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-5Medium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Escoredream';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-6Bold.woff') format('woff');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Escoredream';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-7ExtraBold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Escoredream';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-8Heavy.woff') format('woff');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Escoredream';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-9Black.woff') format('woff');
    font-weight: 900;
    font-display: swap;
}
@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Thin.woff') format('woff');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Light.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-SemiBold.woff') format('woff');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Black.woff') format('woff');
    font-weight: 900;
    font-display: swap;
}

* {
  box-sizing: border-box;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video, textarea {
  font-family: 'Jua', sans-serif;
  margin: 0;
  color: black;
}

.pc_none {
  display: none;
}

.mb_none {
  display: block;
}

.loading {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #8a8a8a73;
  z-index: 1000;
}

@keyframes rotate {
  100% { transform: rotate(360deg); }
}

.loading img {
  width: 50px;
  height: 50px;
  animation: rotate 4s infinite;
}

.wrapper {
  max-width: 1200px;
  margin: auto
}

/* header */

header .header_right button {
  padding: 0 20px;
  color: #FFF;  
  text-align: center;
  font-family: Inter;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
}

/* ======================== */

.main_banner {
  position: relative;
}

.main_banner_img {
  width: 100%;
  height: auto;
}

.sub_banner {
  position: fixed;
  top: calc(50vh - 150px);
  right: 50px;
  z-index: 100;
}

.sub_banner > img {
  width: 196px;
}

.sub_banner_mb {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
}

.sub_banner_mb img {
  width: 80px;
  height: 80px;
}

.sub_banner_btn_box {
  width: 100%;
  position: absolute;
  bottom: 30px;
  left: 0;
  display: flex;
  justify-content: center;
}

.sub_banner_btn_box a {
  display: inline-block;
  width: calc(100% - 30px);
}

.sub_banner_btn_box img {
  width: 100%;
  height: auto;
}

.ss_1 {
  text-align: center;
  margin-top: 10px;
}

.ss_1_tit {
  margin: 40px 0;
  max-width: 100%;
  height: auto;
}

.ss_btn {
  margin: 60px 0;
  max-width: 100%;
  height: auto;
}

.ss_2 {
  text-align: center;
}

.ss_2_bg {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* shake */

@keyframes shake {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(2deg); }
  50% { transform: rotate(0eg); }
  75% { transform: rotate(-2deg); }
  100% { transform: rotate(0deg); }
}

@keyframes shake2 {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(7deg); }
  50% { transform: rotate(0eg); }
  75% { transform: rotate(-7deg); }
  100% { transform: rotate(0deg); }
}

.shake_ele {
  animation: shake 0.3s infinite;
}

.shake_btn.animate {
  animation: shake2 0.3s;
  animation-delay: 0.2s;
}

/* beat */

@keyframes beat{
  0% { transform: scale(1); }
  70% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

.beat_ele {
  animation: beat 0.7s infinite;
}

/* ================ */

.ref_btn img {
  transition: 0.3s;
}

.ref_btn:hover img {
  transform: scale(1.05);
}

.ss_3 {
  position: relative;
  margin-top: 90px;
}

.ss_3 .ss_3_bg {
  width: 100%;
  height: auto;
}

.ss_3 .btn_box {
  width: 100%;
  position:absolute;
  top: 70%;
  display: flex;
  justify-content: center;
}

.ss_4 {
  padding: 0 120px;
  margin-top: 50px;
}

.ss_4 .ss_4_bg {
  width: 100%;
  height: auto;
}

.footer {
  margin: 60px 0 100px 0;
}

.footer .footer_bg {
  width: 100%;
  height: auto;
}

.form-box {
    width: 100%;
    padding: 60px 10px 100px 10px;
    background: #fff;
    text-align: center;
    border: 1px solid #ccc;
  }
  .form-box form {
    display: block;
    max-width: 800px;
    margin: 0 auto;
  }
  .form-box h2 {
    font-family: 'Escoredream', sans-serif;
    font-size: 58px;
    font-weight: 800;
    letter-spacing: -3px;
    background: linear-gradient(90deg, #0070ff, #273da9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    margin-bottom: 20px;
  }
  .form-box p {
    font-family: 'Pretendard', sans-serif;
    font-size: 32px;
    font-weight: 500;
    color: #666;
    margin-bottom: 10px;
  }
  .form-box .full-width { 
    width: 100%;
    padding: 15px;
    font-size: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 10px;
  }

  .form-box .tel {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    margin-bottom: 40px;
  }
  .form-box .tel input {
    flex: 1;
    min-width: 0;
    padding: 15px;
    font-size: 20px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 5px;
  }

  .form-box .tel span {
    flex: 0 0 auto;
    font-size: 30px;
  }
  .form-box button {
    display: block;
    width: 100%;
    border-radius: 5px;
    border: 0;
    background:#400472;
    color: #fff;
    padding: 22px 0 25px;
    font-size: 30px;
    font-weight: 700;
    cursor: pointer;
    animation: motion-effect 1.5s step-end infinite;
    border-radius: 10px;
  }
  .form-box button:hover {
    background: #5a1198;
  }
  
  @keyframes motion-effect {
      50% {
          border-bottom: 10px solid #11041c;
          box-sizing: content-box;
          margin-top: -10px;
          color: #eaff00;
      }
  }

  .sub_banner_box {
    width: 100%;
    position: absolute;
    bottom: 40px;
    left: 0;
    padding: 0 10px;
    text-align: center;
  }
  .sub_banner_box p {
     font-family: 'Pretendard', sans-serif;
      font-size: 14px;
      font-weight: 500;
      color: #666;
      margin-bottom: 5px;
  }
  .sub_banner_box .tel {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0px;
    margin-bottom: 20px;
  }
  .sub_banner_box .full-width {
    width: 100%;
    padding: 5px 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 5px;
  }

  .sub_banner_box .tel input {
    flex: 1;
    min-width: 0;
    padding: 5px;
    font-size: 14px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 4px;
  }

  .sub_banner_box .tel span {
    flex: 0 0 auto;
    font-size: 16px;
  }
  .sub_banner_box button {
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    background: #1a67c3;
    border: 0;
    border-radius: 15px;
    padding: 20px 15px;
    cursor: pointer;
  }
.sub_banner_box button span {
  color: #fddb7c;
}

/* TABLET  + Mobile */
@media screen and (max-width:1279px){
  .pc_none {
    display: block;
  }
  
  .mb_none {
    display: none;
  }

  .ss_1_tit {
    margin: 20px 0;
    width: 300px;
  }

  .ss_btn {
    margin: 30px 0;
    width: 300px;
  }

  .ss_3 {
    margin-top: 40px;
  }

  .ss_3 .btn_box a img {
    width: 180px;
  }

  .ss_4 {
    padding: 0 20px;
    margin-top: 20px;
  }

  .footer {
    margin: 20px 0 85px 0;
  }
  .form-box {
    padding-bottom: 60px;
  }
  .form-box h2 {
    font-size: 25px;
    letter-spacing: -2px;
  }
  .form-box p {
    font-size: 20px;
  }
  .form-box .full-width { 
    padding: 10px;
  }
  .form-box .tel input {
    padding: 10px;
  }
  .form-box button {
    font-size: 26px;
  }
}
