/* font */
@font-face {
    font-family: 'GangwonEducationTteontteon';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEduPowerExtraBoldA.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

/* common */
html, body {overflow: hidden;}

.inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    max-width: 1440px;
    height: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}

#fullpage {
    height: 100%;
    width: 100%;
    position: relative;
    transition: transform 0.8s ease;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    background-color: #fff;
    border-bottom: 1px solid #ebebeb;
    z-index: 2;
}
.header .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.header .logo {width: clamp(140px, 24vw, 203px);}
.header .logo img {width: 100%;}

.header .gnb {
    display: flex;
    align-items: center;
}
.header .gnb .gnb-list {display: flex;}
.header .gnb li {
    padding: 0 20px;
    font-size: 18px;
    font-weight: 700;
}

.header .gnb li:last-child {padding-right: 30px;}

.header .gnb .search {
    position: relative;
}

.header .gnb .search input {
    width: 260px;
    height: 44px;
    padding: 0 46px 0 25px;
    font-size: 18px;
    font-weight: 500;
    border: 1px solid #c9c9c9;
    border-radius: 25px;
    background-color: #f8f8f8;
}
.header .gnb .search input::placeholder, .search.search-mobile input::placeholder {
    color: #cacaca;
}
.header .gnb .search button, .search.search-mobile button {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    width: 23px;
    height: 23px;
    background: url("../../resource/imgs/icn_search.png") no-repeat;
}

.hamburger {display: none; padding: 10px; gap: 5px; }
.hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #111;
    border-radius: 2px;
}

.search-toggle {
    display: none;
    padding-right: 14px;
}
.search.search-mobile {
    display: none;
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 1px solid #ebebeb;
    padding: 12px 20px;
    z-index: 2;
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.search.search-mobile.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.search.search-mobile .field {
    position: relative; max-width: 820px;
    margin: 0 auto;
}
.search.search-mobile input {
    width: 100%;
    height: 44px;
    padding: 0 46px 0 18px;
    font-size: 18px;
    border: 1px solid #c9c9c9;
    border-radius: 25px;
    background: #f8f8f8;
    outline: none;
}
.search.search-mobile button {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    width: 23px; height: 23px;
    border: 0;
    cursor: pointer;
    font-size: 18px;
    }

.drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    z-index: 2; }

.drawer {
  position: fixed;
  top: 0; right: 0;
  width: min(360px, 88vw);
  height: 100vh;
  background: #fff;
  z-index: 60;
  transform: translateX(100%);
  transition: transform .5s ease;
  padding: 18px;
}
.drawer.is-open { transform: translateX(0); }
.drawer-close {
    display: block;
    margin-left: auto;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #fff;
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
}
.drawer-list { list-style: none; margin: 18px 0 0; padding: 0; }
.drawer-list a {
  display: block;
  padding: 14px 8px;
  font-size: 18px;
  font-weight: 700;
  border-bottom: 1px solid #f0f0f0;
  text-decoration: none;
  color: #111;
}

.side-menu {
    position: fixed;
    top: 50%;
    right: 1%;
    transform: translateY(-50%);
    z-index: 2;
}

.side-cta {
    margin-bottom: 20px;
    width: 90px;
    padding: 12px 14px 10px;
    background-color: #050e0d;
    border-radius: 50px;
}

.side-cta li a {
    display: block;
    padding: 20px 0;
    border-bottom: 1px solid #959595;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
}
.side-cta li:last-child a {
    border-bottom: 0;
}

.side-cta .apply a {
    color: #0cf2d8;
}
.side-cta .support a {
    color: #fff;
}
.side-cta .kakao a {
    color: #ffda0f;
}

.side-menu button {
    width: 90px;
    height: 90px;
    border-radius: 50px;
    background-color: #050e0d;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
}
.side-menu button img {
    display: block;
    margin: 0 auto 8px;
}

.section{
    position: relative;
    height: 100vh;
    padding-top: 70px;
    box-sizing: border-box;
}

.section .title-wrap {
    padding-top: 60px;
    text-align: center;
}
.section .title-wrap .sub-title {
    padding-bottom: 4px;
    font-family: 'GangwonEducationTteontteon';
    font-size: clamp(20px, 3.5vw, 36px);
}
.section .title-wrap .title {
    font-family: 'GangwonEducationTteontteon';
    font-size: clamp(32px, 7vw, 74px);
    line-height: 1.1;
    word-break: keep-all;
}

.section .title-wrap p {
    margin-top: -14px;
    font-size: clamp(14px, 2vw, 18px);
    line-height: 1.5;
}

.fade-up{
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .8s ease, transform .6s ease;
}
.on .fade-up{
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1024px) {
  .header .gnb .gnb-list { display: none; }
  .search.search-desktop { display: none; }

  .search-toggle { display: inline-flex; }
  .hamburger { display: inline-flex; flex-direction: column; justify-content: center; }
  .search.search-mobile { display: block; }
}


/* visual */
.visual {
    width: 100%;
    background: url("../../resource/imgs/visual_bg.png") center no-repeat;
    background-size: cover;
}

.visual .speech-bubble {
    position: absolute;
    top: 6.7708vw;
    right: 15.6250vw;
    animation: bboing 0.8s both;
}
.visual .speech-bubble2 {
    position: absolute;
    top: 12.7083vw;
    right: 4.1667vw;
    animation: bboing 0.8s both;
    animation-delay: 0.5s;
}

.visual .title {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
}
.visual .title img {width: clamp(320px, 90vw, 920px);}

@keyframes bboing {
  0%   {transform: scale(0.2); opacity: 0; filter: blur(6px); }
  55%  {transform: scale(1.14); opacity: 1; filter: blur(0); }
  72%  {transform: scale(0.92); }
  85%  {transform: scale(1.06); }
  100% {transform: scale(1);}
}

/* section_one */
.one .title-wrap .title {
    color: #00cab3;
}
.one .content .thinking-steps {
    display: flex;
    justify-content: center;
}

.one .content {
    padding-top: 60px;
}

.one .step {
    width: 370px;
    margin-right: 20px;
    text-align: center;
}
.one .step:last-child {
    margin-right: 0;
}

.one.on .step:nth-child(1){transition-delay: .5s; }
.one.on .step:nth-child(2){transition-delay: 1s; }
.one.on .step:nth-child(3){transition-delay: 1.5s; }

.one.on .step img {
    width: 100%;
}

.one .step .title {
    padding-top: 28px;
    font-size: 32px;
    font-family: 'GangwonEducationTteontteon';
}
.one .step .desc {
    font-size: 20px;
}

.one .unesco {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 60px auto 0;
    width: 140px;
    height: 140px;
    padding: 10px;
    background-color: #0071bd;
    border-radius: 140px;
    overflow: hidden;
    opacity: 0;
    transform: translateY(12px) scale(.96);
    transition: opacity .5s ease, transform .5s ease, width 1.2s ease;
}
.one.on .unesco {
    opacity: 1;
    transform: translateY(0) scale(1);
    width: 800px;
    transition-delay: 2.2s, 2.2s, 2.5s;
}

.one .unesco img {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}

.one .unesco span {
    flex: 1;
    text-align: center;
    padding-right: 10px;
    opacity: 0;
    transform: translateX(-10px);
    color: #fff;
    font-size: clamp(20px, 2vw, 26px);
    line-height: 1.4;
    white-space: nowrap;
    transition: opacity .6s ease, transform .6s ease;
}
.one.on .unesco span {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 3.2s;
}

/* section_two */
.two {
    width: 100%;
    background: url("../../resource/imgs/two_bg.png") center no-repeat;
    background-size: cover;
}

.two .title-wrap {
    position: relative;
    padding-bottom: 30px;
}
.two .title-wrap::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 6px;
    border-bottom: 1px solid #363533;
    border-top: 1px solid #363533;
}

.two .graph-wrap {
    position: relative;
    margin: 50px auto 0;
    width: min(1000px, 92vw);
    height: 540px;
    padding: 50px clamp(60px, 9.375vw, 180px) 40px;
    aspect-ratio: 1000 / 540;
    border: 1px solid #363533;
    background-color: #fff;
}

.two .graph {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 40px 0 0 30px;
}

.two .graph::before{
  content:"";
  position:absolute;
  inset: 0;
  z-index: 0;
  background-image: repeating-linear-gradient(
    to top, rgba(0,0,0,.06) 0px, rgba(0,0,0,.06) 1px, transparent 1px, transparent 35px
  );
}

.two .graph::after{
  content:"";
  position:absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(0,0,0,.12);
  z-index: 0;
}

.two .y-label{
  position:absolute;
  top: 0;
  left: -7%;
  font-size: clamp(14px, 1.4vw, 18px);
  color:#737373;
  font-size: 16px;
}
.two .x-label{
  position:absolute;
  right: 0;
  bottom: -8%;
  font-size: clamp(14px, 1.4vw, 18px);
  color:#737373;
  font-size: 16px;
}

.two .orange-zone {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60px;
    border-top: 1px solid #ff9421;
    background: linear-gradient(
      to top,
      rgba(255,155,33,0),
      rgba(255,155,33,.06),
      rgba(255,192,33,.2)
    );
    z-index: 0;
}

.two .bars{
    display:flex;
    align-items:flex-end;
    gap:6px;
    justify-content:center;
    height:100%;
}
.two .bar {
    --scale: 1;
    width: 20px;
    height: calc(var(--h) * var(--scale));
    transform: scaleY(0);
    transform-origin: bottom;
}

.two .bar.teal {background: #00cab3;}
.two .bar.orange {
    margin-right: 24px;
    height: 60px;
    background: #ff9421;
}

.two.on .bar {animation: grow 1.2s ease-out forwards;}

@keyframes grow {
  to {transform: scaleY(1);}
}

.two.on .bars .bar:nth-child(1) {animation-delay: 0.1s;}
.two.on .bars .bar:nth-child(2) {animation-delay: 0.2s;}
.two.on .bars .bar:nth-child(3) {animation-delay: 0.3s;}
.two.on .bars .bar:nth-child(4) {animation-delay: 0.4s;}
.two.on .bars .bar:nth-child(5) {animation-delay: 0.5s;}
.two.on .bars .bar:nth-child(6) {animation-delay: 0.6s;}
.two.on .bars .bar:nth-child(7) {animation-delay: 0.7s;}
.two.on .bars .bar:nth-child(8) {animation-delay: 0.8s;}
.two.on .bars .bar:nth-child(9) {animation-delay: 0.9s;}
.two.on .bars .bar:nth-child(10) {animation-delay: 1.0s;}
.two.on .bars .bar:nth-child(11) {animation-delay: 1.1s;}
.two.on .bars .bar:nth-child(12) {animation-delay: 1.2s;}
.two.on .bars .bar:nth-child(13) {animation-delay: 1.3s;}
.two.on .bars .bar:nth-child(14) {margin-right: 10px; animation-delay: 1.4s;}

.two .dashed {
  position: absolute;
  right: 60px;
  bottom: 0;
  width: 40px;
  height: 420px;
  border: 2px dashed #ff9421;
  opacity: 0;
}

.two .marker{
  right: 70px;
  bottom: 0;
  width: 50px;
  pointer-events:none;
  opacity: 0;
  transform: translateY(12px) scale(.96);
}

.two.on .marker {
  animation: markerIn .8s ease-out forwards;
  animation-delay: 2.4s;
}

@keyframes markerIn{
  to{opacity:1; transform: translateY(0) scale(1);}
}
.two.on .marker.orange {animation-delay: 2.6s;}

.two.on .marker .dash {
  animation: blink 1s ease-in-out 5 forwards;
  animation-delay: 2.4s;
}

@keyframes blink{
  0%,100%{opacity:0;}
  50%{opacity:1;}
  100%{opacity:1;}
}

.two .marker .dash {
  position:absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 100px;
  width: 20px;
  height: 210px;
  border: 2px dashed #ff9b21;
  opacity: 0;
  background-color: #fff;
}

.two .marker .stem{
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 20px;
  height: 320px;
  background:#00cab3;
}

.two .marker.orange .stem {
    height: 60px;
    background:#ff9b21;
}

.two .marker .badge {
  position:absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 310px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background:#00cab3;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight: 600;
  font-size: 18px;
  z-index: 2;
}

.two .marker.orange .badge {
    bottom: 56px;
    background:#ff9421;
}
.two.on .marker .badge::after {
  animation: pulse 1.8s ease-in-out infinite;
  animation-delay: 2.2s;
}

@keyframes pulse{
    0% {transform: scale(.4); opacity: 0.8;}
    100% {transform: scale(1); opacity: 0;}
}

.two.on .marker .badge::after{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:50%;
  background: rgba(0,202,179,.4);
  z-index:-1;
}

.two.on .marker.orange .badge::after{
  background: rgba(255,155,33,.4);
}

.two.on .box-wrap {
    display: flex;
    justify-content: center;
    padding-top: 30px;
}

.two.on .box {
    width: 210px;
    height: 70px;
    align-content: center;
    text-align: center;
    border-radius: 5px;
    background-color: #ecfffd;
}
.two.on .box.think {
    margin-left: 10px;
    background-color: #fff4e7;
}

.two.on .box .title {
    padding-bottom: 4px;
    font-weight: 700;
    font-size: 18px;
    color: #00cab3;
}
.two.on .box.think .title {
    color: #ff881d;
}

/* section_three */
.three {
    width: 100%;
    background: url("../../resource/imgs/three_bg.png") center no-repeat;
    background-size: cover;
}

.three.on .title-wrap {
    margin-bottom: 20px;
    transition-delay: .5s;
}
.three .title-wrap .sub-title {color: #000;}
.three .title-wrap .title {color: #3535ff;}

.three .arrow-line {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}
.three .arrow-line img{
    width: 100%;
    clip-path: inset(0 50% 0 50%);
}

.three.on .arrow-line img {
    animation: reveal 1.2s ease-out forwards;
    animation-delay: 1s;
}

@keyframes reveal{
  to{ clip-path: inset(0 0 0 0); }
}

.three .circle-wrap {
    display: flex;
    justify-content: space-between;
    margin: 100px 60px 0;
}

.three .circle {
    align-content: center;
    justify-items: center;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    text-align: center;
    transition: opacity 1.4s ease, transform .6s ease;
    transition-delay: 2.4s;
}
.three .circle.teal {
    background-color: rgba(0, 202, 179, 0.8);
}
.three .circle.orange {
    background-color: rgba(255, 108, 0, 0.77);
}

.three .circle .title {
    padding-top: 20px;
    font-family: 'GangwonEducationTteontteon';
    color: #fff;
    font-size: 36px;
}
.three .circle .desc {
    line-height: 30px;
    color: #fff;
    font-size: 20px;
    text-align: left;
}

/* section_four */
.four {
    width: 100%;
    background-color: #d0faff;
}

.four .title {color: #004eff;}

.four .map {
    padding-top: 10px;
    text-align: center;
}
.four .map img {width: clamp(320px, 94%, 1000px);}

/* section_five */
.five {
    width: 100%;
    background: url("../../resource/imgs/five_bg.png") center no-repeat;
    background-size: cover;
}

.five .title-wrap {padding-top: 80px;}

.five .content {
    display: flex;
    justify-content: space-between;
    height: 100%;
    padding: 0 clamp(24px, 9vw, 200px);
}

.five .txt-wrap {
    position: relative;
    padding-top: clamp(60px, 10vw, 150px);
}
.five .txt-wrap p {
    padding-bottom: clamp(20px, 4vw, 40px);
    font-size: clamp(18px, 3vw, 30px);
}
.five .txt-wrap .sub-title {
    display: inline-block;
    position: relative;
    font-size: clamp(30px, 5.2vw, 60px);
    font-family: 'GangwonEducationTteontteon';
}

@property --p {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

.five .circle-reveal{
  display: inline-block;
  position: absolute;
  top: clamp(-32px, -2.2vw, -24px);
  left: clamp(70px, 15vw, 160px);
  transform: translateX(-10px);
}

.five .circle-reveal .circle{
  display: block;

  width: clamp(100px, 14vw, 200px);
  height: auto;

  --p: 0deg;

  -webkit-mask-image: conic-gradient(
    from 30deg,
    #000 0deg,
    #000 var(--p),
    rgba(0,0,0,.4) calc(var(--p) + 6deg),
    transparent calc(var(--p) + 12deg),
    transparent 360deg
  );
  mask-image: conic-gradient(
    from 30deg,
    #000 0deg,
    #000 var(--p),
    rgba(0,0,0,.4) calc(var(--p) + 6deg),
    transparent calc(var(--p) + 12deg),
    transparent 360deg
  );

  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}

.five.on .circle-reveal .circle{
  animation: sweep .8s ease forwards;
  animation-delay: .6s;
}

@keyframes sweep{
    to{ --p: 360deg; }
}


.five .line-reveal {
    display: inline-block;
    position: absolute;
    bottom: clamp(8px, 1.6vw, 14px);
    left: 0;
    transform: translateX(-4px);
}

.five .line-reveal .line {
    display: block;
    position: absolute;
    width: clamp(120px, 12vw, 240px);
    height: auto;
    clip-path: inset(0 100% 0 0);
}

.five.on .line-reveal .line{
    animation: drawLine 0.8s ease-out forwards;
    animation-delay: 1.4s;
}

@keyframes drawLine{
  to{
    clip-path: inset(0 0 0 0);
  }
}

.five .kid-wrap{
    position: absolute;
    bottom: 0;
    right: clamp(24px, 8vw, 170px);
    width: clamp(260px, 44vw, 480px);
}

.five .kid{
    width: 100%;
    display: block;
    position: relative;
    z-index: 2;
}

.five .circle-wrap{
    position: absolute;
    top: -5%;
    left: 68%;
    width: 260px;
    height: 260px;
    transform: translateX(-50%);
    z-index: 1;
}

.five .circle-text{
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    animation: rotate 16s linear infinite;
}

@keyframes rotate{
    to{ transform: rotate(360deg); }
}

.five .circle-text span{
    position:absolute;
    left:50%;
    top:50%;
    font-size: 22px;
    font-weight:700;
    font-family: 'GangwonEducationTteontteon';
    color:#00c7a8;
    white-space:nowrap;
    transform: translate(-50%, -50%) rotate(var(--deg)) translateY(-130px);
    transform-origin: 50% 50%;
}

.five .circle-text span:nth-child(1)  {--deg:   0deg;}
.five .circle-text span:nth-child(2)  {--deg:  30deg;}
.five .circle-text span:nth-child(3)  {--deg:  60deg;}
.five .circle-text span:nth-child(4)  {--deg:  90deg;}
.five .circle-text span:nth-child(5)  {--deg: 120deg;}
.five .circle-text span:nth-child(6)  {--deg: 150deg;}
.five .circle-text span:nth-child(7)  {--deg: 180deg;}
.five .circle-text span:nth-child(8)  {--deg: 210deg;}
.five .circle-text span:nth-child(9)  {--deg: 240deg;}
.five .circle-text span:nth-child(10) {--deg: 270deg;}
.five .circle-text span:nth-child(11) {--deg: 300deg;}
.five .circle-text span:nth-child(12) {--deg: 330deg;}

.five .slogan-reveal{
    position: absolute;
    left: 0;
    right: 0;
    bottom: clamp(40px, 8vw, 100px);
    margin: 0 auto;
    width: clamp(260px, 80vw, 1000px);
    z-index: 2;
}

.five .slogan-reveal .slogan{
  width: 100%;
  height: auto;
  display: block;
  clip-path: inset(0 100% 0 0);
}

.five.on .slogan-reveal .slogan{
  animation: revealLR 1.2s ease-out forwards;
  animation-delay: 2.4s;
}

@keyframes revealLR{
  to{
    clip-path: inset(0 0 0 0);
  }
}

/* section_six */
.six {
    width: 100%;
    background-color: #00b49f;
}

.six .title-wrap {padding-top: 5.7292vw;}
.six .title-wrap .sub-title {color: #c9fcf6;}
.six .title-wrap img {width: 360px;}

.six .video {
    margin: clamp(60px, 6vw, 60px) auto 0;
    width: clamp(280px, 80vw, 700px);
    border: 10px solid #c9fcf6;
}
.six .video img {width: 100%;}

.six .caption {
    margin: 0 auto;
    width: clamp(280px, 80vw, 700px);
    padding-top: clamp(12px, 2vw, 20px);
    text-align: right;
}
.six .caption img {width: clamp(260px, 32vw, 450px);}


/* section_seven */
.seven {
    width: 100%;
    background: url("../../resource/imgs/seven_bg.png") center no-repeat;
    background-size: cover;
}

.step-slider{
    display: flex;
    margin: 50px auto 0;
    width: 100%;
    max-width: 1200px;
    height: 600px;
    overflow: hidden;
}

.panel{
    background: #00b49f;
    color:#fff;
    flex: 1;
    min-width: 160px;
    position: relative;
    cursor: pointer;
    transition: flex .6s ease;
}
.panel.on{
    flex: 3.2;
}

.panel.orange {
    background-color: #ff9421;
}

.panel.purple {
    background-color: #7b4afe;
}

.panel-inner{
    display: flex;
    height: 100%;
    padding: 80px 34px 0;
}

.step-title,
.step-sub, .step-list {
    white-space: nowrap;
}

.step-title{
    color: #fff;
    font-size: 34px;
    font-family: 'GangwonEducationTteontteon';
}
.step-title::after {
    content: '';
    display: block;
    margin: 10px 0 16px;
    width: 20px;
    height: 2px;
    background-color: #c6fff8;
}

.orange .step-title::after {background-color: #fef2e5;}
.purple .step-title::after {background-color: #efeafd;}

.step-sub {
    color: #c6fff8;
    font-size: 18px;
    line-height: 1.4;
}
.orange .step-sub {color: #fef2e5;}
.purple .step-sub {color: #efeafd;}

.panel .content {
    flex: 1;
    justify-items: center;
}

.step-list {
    margin: 10px 0 0;
    padding-left: 20px;
    line-height: 1.6;
    opacity: .95;
}

.step-list li {
    position: relative;
    padding: 0 0 20px 10px;
    color: #fff;
    font-size: 20px;
}
.step-list li::before{
    content: "•";
    position: absolute;
    left: 0;
    top: 0.1em;
    font-size: 16px;
}

.panel:not(.on) .step-list,
.panel:not(.on) .panel-img{
    display: none;
}

.panel-img{
    position: absolute;
    bottom: 0;
    margin-top: auto;
}

@media (max-width: 900px){
  .step-slider{ flex-direction: column; height: auto; }
  .panel{ min-width: 0; }
  .panel.on{ flex: 1; }
}

/* section_eight */
.eight {
    width: 100%;
    background: url("../../resource/imgs/eight_bg.png") center no-repeat;
    background-size: cover;
}
.eight .video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(280px, 86vw, 800px);
    border: clamp(6px, 1vw, 10px) solid #c2c2c2;
}
.eight .video img {width: 100%}

/* section_nine */
.nine {background-color: #fff1e2;}
.nine .title {color: #ff6600;}

.nine .review-wrap {
    position: relative;
    padding: clamp(32px, 6vw, 60px) 100px;
}

.nine .nav-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-5%);
  width: 56px;
  height: 56px;
  border: 1px solid rgba(0,0,0,.35);
  background: transparent;
  cursor: pointer;
  z-index: 10;
}

.nine .nav-btn.prev{left: 0;}
.nine .nav-btn.next{right: 0;}

.nine .nav-btn::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width: 14px;
  height: 14px;
  border-left: 2px solid rgba(0,0,0,.65);
  border-bottom: 2px solid rgba(0,0,0,.65);
  transform: translate(-35%, -50%) rotate(45deg);
}
.nine .nav-btn.next::before{
  transform: translate(-65%, -50%) rotate(-135deg);
}

.nine .review-swiper .swiper-slide{
  padding: 10px 0;
}


.nine .video {
    margin-bottom: clamp(60px, 8vw, 80px);
}
.nine .video img {
    width: 100%;
}

.nine .review {
    position: relative;
    max-height: 270px;
    height: 20vw;
    box-shadow: 0 6px 5px rgba(249,109,16,.08);
    background: #fff;
    border-radius: 8px;
    text-align: center;
}

.nine .avatar{
    position: absolute;
    left: 50%;
    top: -36px;
    transform: translateX(-50%);
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #d9d9d9;
}
.nine .avatar.pink {background: #ffe4f0;}
.nine .avatar.blue {background: #f0faff;}
.nine .avatar img {width: 100%;}

.nine .tag{
    padding-top: clamp(60px, 10vw, 80px);
    font-size: 18px;
    color: rgba(0,0,0,.35);
}

.nine .quote{
  margin: clamp(16px, 2vw, 30px) 0 0;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.35;
  color: #111;
}

/* section_ten */
.ten {
    width: 100%;
    background: url("../../resource/imgs/ten_bg.png") center no-repeat;
    background-size: cover;
}
.ten .title-wrap img {width: clamp(320px, 90vw, 1159px);}
.ten .title-wrap .title {color: #01f3d7;}

.ten .cta-wrap {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}

.ten .cta-wrap p {
    color: #fff;
    font-family: 'GangwonEducationTteontteon';
    font-size: 36px;
    text-align: center;
    transition-delay: .5s;
}

.ten .btn-wrap {
    display: flex;
    justify-content: center;
    padding-top: 14px;
    text-align: center;
    transition-delay: 1s;
}
.ten .btn-wrap button {
    width: 360px;
    height: 84px;
    padding-top: 14px;
    border-radius: 10px;
    color: #fff;
    font-size: 30px;
    font-family: 'GangwonEducationTteontteon';
    transition: all .8s
}
.ten .btn-wrap button:hover {
        transform: translateY(-14px);
}
.ten .btn-wrap .btn-teal {
    margin-right: 30px;
    background-color: #00b49f;
}
.ten .btn-wrap .btn-orange {
    background-color: #ff9421;
}

.ten .btn-wrap .btn-teal:hover {
    background-color: #059d8b;
}
.ten .btn-wrap .btn-orange:hover {
    background-color: #f18512;
}

@media (max-width: 1640px) {
    .side-cta {display: none;}
    .side-menu {top: auto; bottom: 4%; transform: none;}

    .visual .speech-bubble {left: 14vw;}
    .visual .speech-bubble2 {top: 15vw; right: 11vw;}
    .visual .title {top:auto; bottom: 10%; left: 0%; transform: none;}

    .one.on .unesco {width: 700px;}
    .one .unesco {height: 120px;}
    .one .unesco img {width: 100px; height: 100px;}

    .three .arrow-line {width: 96%;}

    .nine .quote{font-size: 20px;}
}

@media (max-width: 1024px) {
    .section .title-wrap {padding-top: 12vw;}

    .visual .speech-bubble {top: 14vw; left: 5vw;}
    .visual .speech-bubble2 {top: 28vw; right: 5vw;}

    .one .step .title {font-size: 30px;}
    .one .step .desc {font-size: 18px;}
    .one.on .unesco {width: 600px; height: 110px;}
    .one .unesco img {width: 90px; height: 90px;}

    .two .graph-wrap {height: 600px; padding: 100px clamp(60px, 9.375vw, 180px) 40px;}
    .two.on .bars .bar:nth-child(3), .two.on .bars .bar:nth-child(4),
    .two.on .bars .bar:nth-child(7), .two.on .bars .bar:nth-child(8) {display: none;}

    .three .arrow-line {width: 90%;}
    .three .circle-wrap {margin: 160px 30px 0;}
    .three .circle {width: 36vw; height: 36vw;}
    .three .circle .title {font-size: 32px;}
    .three .circle .desc {font-size: 22px; line-height: 1.6;}

    .four .title-wrap {padding-top: 8vw;}
    .four .map img {width: 100%; height: auto;}

    .five .txt-wrap {padding-top: 7vw; text-align: center;}
    .five .txt-wrap p {padding-bottom: 3vw;}
    .five .circle-reveal {left: 50%; transform: translateX(calc(-50% - 30px)); top: clamp(-14px, -4vw, -20px); }
    .five .line-reveal {left: 11%; transform: translateX(calc(-50% - 10px)); bottom: clamp(6px, 2vw, 10px);}
    .five .content {flex-direction: column; padding: 0 50px;}
    .five .kid-wrap {width: 56%; right: auto; left: 44%; transform: translateX(-50%);}
    .five .slogan-reveal {width: 86%;}

    .seven .step-slider {flex-direction: column; height: auto; width: 90%;}
    .seven .panel {width: 100%; min-height: 80px;}
    .seven .panel.on {flex: none; height: 54vh;}
    .seven .panel-inner {flex-direction: column; padding: 24px 34px 0;}
    .seven .panel-inner .title {display: flex; align-items: center; padding-bottom: 16px;}
    .seven .step-title {padding: 12px 20px 0 0; font-size: 40px;}
    .seven .step-title::after {display: none;}
    .seven .step-sub{font-size: 26px;}
    .seven .title .step-sub br {display: none;}
    .seven .step-list {width: 100%; padding: 30px 20px; line-height: 1; border-top: 1px solid rgba(255,255,255,0.3);}
    .seven .step-list li {font-size: 26px;}
    .seven .panel-img {align-content: end; margin-top: 10px;}
    .seven .panel-img img {width: 100%;}

    .eight .video {width: 80%;}

    .nine .review-wrap {padding: clamp(32px, 6vw, 60px) 80px;}
    .nine .review {height: 30vw;}
    .nine .tag {font-size: 20px;}
    .nine .quote{font-size: 24px;}

    .ten .title-wrap .title {font-size: clamp(32px, 6vw, 60px);}
}

@media (max-width: 768px) {
    .one .step {margin-bottom: 30px;}

    .two .title-wrap {padding-top: 10vw;}
    .two .graph-wrap {height: 540px; padding: 50px clamp(60px, 9.375vw, 180px) 40px;}

    .three .circle .title {font-size: 28px;}

    .five .kid-wrap {width: 52%;}

    .seven .step-slider {margin: 10px auto 0;}
    .seven .step-title {font-size: 34px;}
    .seven .step-sub {font-size: 22px;}
    .seven .step-list li {padding: 0 0 14px 10px; font-size: 3.8vw;}
    .seven .panel-img img {display: block; margin: 0 auto; width: 80%;}

    .nine .quote {font-size: 22px;}

    .ten .cta-wrap {bottom: 14%;}
    .ten .btn-wrap button {width: 300px; height: 76px;}
}

@media (max-width: 480px) {
    .drawer {width: 70%;}
    .side-menu button {width: 50px; height: 50px; font-size: 14px;}
    .side-menu button img {margin: 0 auto 4px; width: 16px;}
    .column {display: block;}

    .section .title-wrap .sub-title {font-size: 20px;}
    .section .title-wrap .title {font-size: 36px;}
    .section .title-wrap p {margin-top: -6px;}

    .visual {background-position: 66% center;}
    .visual .speech-bubble, .visual .speech-bubble2 {width: 86%;}
    .visual .speech-bubble {top: 24vw;}
    .visual .speech-bubble2 {top: 42vw;}
    .visual .speech-bubble img, .visual .speech-bubble2 img {width: 100%;}

    .one .step {margin-right: 10px;}
    .one .step .title {padding-top: 20px; font-size: 18px;}
    .one .step .desc {font-size: 13px;}
    .one.on .unesco {width: 100%; height: 60px;}
    .one .unesco img {display: none;}
    .one .unesco span {font-size: 14px;}

    .two .title-wrap {padding: 10vw 20px 10px;}
    .two .graph-wrap {margin: 40px auto 0; width: 100%; height: 350px; padding: 30px 40px;}
    .two .graph {padding: 30px 0 0 20px;}
    .two .y-label, .two .x-label {font-size: 14px;}
    .two .y-label {left: -12%;}
    .two.on .bars .bar:nth-child(5), .two.on .bars .bar:nth-child(6) {display: none;}
    .two .bar {--scale: 0.5; width: 12px;}
    .two .bar.orange {margin-right: 10px;}
    .two .marker {width: 30px;}
    .two .marker .stem {width: 12px; height: 180px;}
    .two .marker .dash {bottom: 80px; width: 12px; height: 80px;}
    .two .marker .badge {bottom: 150px; width: 40px; height: 40px; font-size: 14px;}
    .two.on .box {padding: 6px; height: 60px;}
    .two.on .box .title {font-size: 14px;}
    .two.on .box .desc {font-size: 12px; word-break: keep-all;}

    .three .circle-wrap {margin: 160px 0px 0;}
    .three .circle {width: 40vw; height: 40vw;}
    .three .circle .title {font-size: 14px;}
    .three .circle .desc {font-size: 12px;}

    .five .content {padding: 0;}
    .five .circle-wrap { width: 180px; height: 180px; top: -13%; left: 68%; }
    .five .circle-text span { font-size: 14px; transform: translate(-50%, -50%) rotate(var(--deg)) translateY(-70px); }
    .five .circle-wrap {width: 160px; height: 160px;}
    .five .slogan-reveal {bottom: 20px; width: 100%; padding: 0 20px; }

    .six .title-wrap img {width: 240px;}
    .six .video {border-width: 5px;}

    .seven .panel {min-height: 56px;}
    .seven .step-slider {width: 100%;}
    .seven .panel-inner {padding: 10px 30px 0;}
    .seven .panel-inner .title {padding-bottom: 0;}
    .seven .step-title {font-size: 24px;}
    .seven .step-sub {font-size: 16px;}
    .seven .step-list li {font-size: 16px;}
    .seven .panel-img img {width: 50%; padding: 12px 14px 0 0;}

    .eight .video {border-width: 5px;}

    .nine .nav-btn {width: 40px; height: 40px;}
    .nine .review-wrap {padding: clamp(32px, 6vw, 60px) 60px;}
    .nine .review {height: 44vw;}
    .nine .tag {font-size: 14px;}
    .nine .quote {font-size: 16px;}

    .ten .btn-wrap {padding: 14px 20px;}
    .ten .cta-wrap p {font-size: 24px;}
    .ten .btn-wrap button {height: 54px; padding: 10px 10px 0; font-size: 18px;}
    .ten .btn-wrap .btn-teal {margin-right: 10px; padding-top: 7px;}
}

@media (max-width: 360px) {

  html, body { overflow-x: hidden; overflow-y: auto; }
  .step-title,
  .step-sub,
  .step-list { white-space: normal; }
  .seven .panel-inner { padding: 10px 16px 0; }
  .seven .step-list { padding: 18px 10px; }
  .seven .step-list li {
    font-size: clamp(14px, 3.8vw, 16px);
    line-height: 1.5;
    padding-bottom: 10px;
  }
  .panel-img { position: static; margin-top: 8px; text-align: center; }
  .seven .panel-img img { width: 70%; max-width: 220px; padding: 0; }
}

.sub-bg {
    width: 100%;
    min-height: 100%;
    padding: 70px 0;
    background-color: #f8fffd;
}


.apply-box {
    margin: 80px auto 0;
    width: 1000px;
    padding: 60px 110px;
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 0 6px 10px rgba(32, 177, 160, .08);
}

.apply-box .title-wrap {
    margin: 0 auto;
    width: 100%;
    padding-bottom: 24px;
    border-bottom: 1px solid #dee2e6;
    text-align: center;
}
.apply-box .title {
    font-size: 44px;
    font-family: 'GangwonEducationTteontteon';
}
.apply-box .title-wrap p {
    font-size: 20px;
    font-weight: 500;
    word-break: keep-all;
}

.apply-box .form {
    margin: 0 auto;
    width: 500px;
    padding: 30px 0;
}
.apply-box .form > div {
    padding-bottom: 20px;
}

.apply-box .form label, .apply-box .form .source-title {
    display: block;
    padding-bottom: 10px;
    font-size: 18px;
    font-weight: 600;
}
.apply-box .form input[type="text"], .apply-box .form input[type="tel"], .apply-box .form textarea {
    width: 100%;
    padding: 0 20px;
    font-size: 16px;
    border-radius: 6px;
    background-color: #fbfbfb;
    border: 1px solid #dee2e6;
}
.apply-box .form input[type="text"], .apply-box .form input[type="tel"]  {
    height: 40px;
}
.apply-box .form input::placeholder, .apply-box .form textarea::placeholder {
    text-align: center;
    color: #d4d4d4;
}

.apply-box .form textarea {
    height: 120px;
    padding: 20px;
}
.apply-box .form textarea::placeholder {padding-top: 30px;}

.apply-box .form .source-title {padding-bottom: 20px;}

.apply-box .form .checks {
    display: flex;
    flex-wrap: wrap;
}
.apply-box .form .checks .check {
    width: 50%;
    font-size: 18px;
}
.apply-box .form .check  input[type="radio"]{
    appearance: none;
    -webkit-appearance: none;
}

.apply-box .form  .check .d-radio {
    display: inline-block;
    position: relative;
    margin-right: 4px;
    width: 18px;
    height: 18px;
    border: 1px solid #dee2e6;
    border-radius: 50%;
    vertical-align: -3px;
}

.apply-box .form .check input:checked + .d-radio::after {
    content:'';
    position:absolute;
    inset: 4px;
    background: #20b1a0;
    border-radius:50%;
}

.apply-box .form  .btn {
    margin-top: 40px;
    width: 500px;
    height: 70px;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    background-color: #20b1a0;
    border-radius: 35px;
    transition: all .8s;
}
.apply-box .form  .btn:hover {background-color: #059d8b}

@media (max-width: 1024px) {
    .sub-bg {padding: 10px 0 20px;}
    .apply-box {width: 100%; border-radius: 0;}
}

@media (max-width: 768px) {
    .apply-box .title-wrap {width: 80%;}
    .apply-box {padding: 60px 2vw;}
    .apply-box .form {width: 80%;}
    .apply-box .form .btn {width: 100%;}
}

@media (max-width: 645px) {
    .apply-box .title {font-size: 36px;}
    .apply-box .title-wrap p {font-size: 16px;}
    .apply-box .form label, .apply-box .form .source-title, .apply-box .form .checks .check {font-size: 16px;}
    .apply-box .form .checks .check {width: 100%;}
    .apply-box .form .btn {height: 50px; font-size: 18px;}
}
