body { overflow: hidden; margin: 0;font-family: "Pretendard", sans-serif;text-rendering: optimizeLegibility; } 

.wrap {position: relative;overflow: hidden;transition: 1s cubic-bezier(0.5, 0, 0.5, 1); } 

/* .top {font-size: 80%;color: hsla(0, 0%, 100%, .25);position: relative;top: -.2em;cursor: pointer; } */



.panel {overflow: hidden; height: 100vh; padding: 130px 130px 115px 130px; position: relative; box-sizing: border-box; cursor: default; } 
.panel:nth-child(1) {background: #000; } 
.panel:nth-child(2) {background: #000; } 
.panel:nth-child(3) {background: #fff; } 
.panel:nth-child(4) {background: #000 url("../asset/img/bg1.png") no-repeat center / cover; } 
.panel:nth-child(5) {background: #fff; } 
.panel:nth-child(6) {background: #fff; } 
.panel:nth-child(7) {background: #fff; } 
.panel:nth-child(8) {background: #fff; } 
.panel:nth-child(9) {background: #fff; } 
.panel:nth-child(10) {background: url("../asset/img/bg2.png") no-repeat center / cover; } 
.panel:nth-child(10)::after{content: "";  width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: rgba(0, 0, 0, 1); transition: background 1s; transition-delay: 1s;}
.panel:nth-child(10).on::after{ background: rgba(0, 0, 0, 0.5); transition: background 1s; transition-delay: 1s} 
.panel:nth-child(11) {background: #fff; } 
.panel:nth-child(12) {background: #000; } 

/* 페이지 공통 모듈 */
.panel .title{display: block; width: 100%; margin-bottom: 20px; font-size: 48px; font-weight: 900;}

.panel:nth-child(2) .title{width: auto; position: relative; right: 200px; opacity: 0; transition: right 1s ease, opacity 1s ease;}
.panel:nth-child(2) .title.fade-in {transition: right 1s ease, opacity 1s ease; right: 0px; opacity: 1;}

.panel:nth-child(3) .title, .panel:nth-child(3) .sub-text{ position: relative; top: 200px; opacity: 0; transition: top 1s ease, opacity 1s ease;}
.panel:nth-child(3) .title.fade-up, .panel:nth-child(3) .sub-text.fade-up{top: 0; transition: top 1s ease, opacity 1s ease; opacity: 1;}

.panel .sub-title{margin-bottom: 20px; font-size: 32px; font-weight: 700; color: #000;}

.panel .main-text{font-size: 36px; font-weight: 700; line-height: 64px; color: #fff;}

.panel:nth-child(4) .main-text{opacity: 0; transition: opacity 1s;}
.panel:nth-child(4) .main-text.on{opacity: 1;}
.panel .main-text .marker{position: relative;}
.panel .main-text .marker::after{content: ""; display: block; width: 0%; height: 18px; position: absolute; top:25px; left: 0; background-color: rgba(255, 255, 255, 0.50);
transition: width 1s; transition-delay: 1s;}
.panel .main-text .marker.on::after{width: 100%;}
.panel .sub-text{display: block; width: 100%; font-size: 24px; font-weight: 500; color: #888; white-space: pre-line; line-height: normal;} 
.panel .sub-text.type2{font-size: 18px;}
.panel hr{ width: 100%; height: 1px; margin: 50px 0 73px; border: 0; background-color : #eaeaea;}
.panel .content{width: 100%; height: auto; padding: 20px; background-color: #fcfcfc; border-radius: 4px;}
.panel .content:not(:last-child){margin-bottom: 50px;}
.panel .content > p{font-size: 20px;}


.bullet-list + .bullet-list{margin-top: 50px;}
.bullet-list li{font-weight: 500; font-size: 20px; line-height: 1.2;}
.bullet-list li b {font-weight: 800;}
.bullet-list li .fine{display: inline-block; position: relative;}
.bullet-list li .fine::after{content: ""; display: inline-block; width: 0; height: 24px; position: absolute; top:0; left: 0; background-color: rgba(0, 66, 241, 0.34); transition: width 1s; transition-delay: 0.5s;}
.bullet-list li .fine.on::after{width: 100%; transition: width 1s; transition-delay: 0.5s;}
.bullet-list li:not(:last-child){margin-bottom: 10px;}


.table{position: relative; border-top: 1px solid #ddd;}
.table table{width: 100%; height: 100%; table-layout: fixed;}
.table table caption{overflow: hidden; width: 1px; height: 1px; position: absolute; clip: rect(0 0 0 0);}
.table table thead th{height: 54px; font-size: 18px; font-weight: 600; color: #888; background-color: #eaeaea; vertical-align: middle;}
.table table thead th:first-child{border-left: 1px solid #ddd;}
.table table thead th:last-child{border-right: 1px solid #ddd;}
.table table tbody th, .table table tbody td{height: 38px; vertical-align: middle; border: 1px solid #ddd;}
.table table tbody th{font-weight: 600;}
.table table tbody td{padding: 0 20px; font-weight: 500;}

/* 첫번째 페이지 */
.panel:nth-child(1){display: flex; flex-wrap: wrap; align-content: space-between;}
.panel:nth-child(1) h1{width: 100%; font-size: 80px; font-weight: 800; color: #fff;}
.panel:nth-child(1) .bottom{display: flex; justify-content: space-between; width: 100%; align-items: center;}
.panel:nth-child(1) .bottom p{font-size: 28px; font-weight: 700; color: #fff;}
.panel:nth-child(1) .bottom img{height: 150px; object-fit: cover;}


/* 두번째 페이지 */
.panel:nth-child(2){display: flex; align-items: center;}
.panel:nth-child(2) h2{margin: 0 156px 0 0; color: #fff;}
.panel:nth-child(2) .chapter{display: flex; flex-wrap: wrap; gap: 142px 135px; width: calc(100% - 300px);}
.panel:nth-child(2) .chapter li{width: calc(50% - 67.5px);  position: relative; top: 200px; opacity: 0; transition: top 1s ease, opacity 1s ease;}
.panel:nth-child(2) .chapter li.fade-up{top: 0; transition: top 1s ease, opacity 1s ease; opacity: 1;}
.panel:nth-child(2) .chapter li:nth-child(1).fade-up{transition-delay: 0.1s;}
.panel:nth-child(2) .chapter li:nth-child(2).fade-up{transition-delay: 0.3s;}
.panel:nth-child(2) .chapter li:nth-child(3).fade-up{transition-delay: 0.5s;}
.panel:nth-child(2) .chapter li:nth-child(4).fade-up{transition-delay: 0.7s;}
.panel:nth-child(2) .chapter p{margin-bottom: 8px; font-size: 24px; font-weight: 700; color: #527FF7;}
.panel:nth-child(2) .chapter h3{font-size: 36px; font-weight: 700; color: #fff;}

/* 세번째 페이지 */
.panel:nth-child(3){display: flex; align-items: center;}

/* 네번째 페이지 */
.panel:nth-child(4){display: flex; align-items: center;}


/*열번째 페이지 */
.panel:nth-child(10) .center{width: 70%; position: absolute; top: 50%; left: 50%; z-index: 1; color: #fff; text-align: center; transform: translate(-50%,-50%);}
.panel:nth-child(10) .center .center-sub{width: 100%; height: 100%; position: relative; font-size: 36px; font-weight: 500; line-height: 36px; white-space: pre-line; opacity: 0; transition: opacity 1s; transition-delay: 2s;}
.panel:nth-child(10) .center .center-sub.on{opacity: 1; transition: opacity 1s; transition-delay: 2s;}
.panel:nth-child(10) .center .center-sub::before{content: ""; display: block; width: 28px; height: 25px; position: absolute; top: 0; left: 0; background: url("../asset/img/left.png") no-repeat center / cover;}
.panel:nth-child(10) .center .center-sub::after{content: ""; display: block; width: 28px; height: 25px; position: absolute; bottom: 0; right: 0; background: url("../asset/img/right.png") no-repeat center / cover;}


/*열한번째 페이지*/
.panel:nth-child(11){position: relative;}
.panel:nth-child(11) .title{color: #000;}
.panel:nth-child(11) .center{width: 85%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: 4px; color: #527FF7;}
.panel:nth-child(11) .center li{padding: 30px 20px; background-color: rgba(82, 127, 247, 0.15); position: relative; left: 200px; opacity: 0; transition: left 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s linear;}
.panel:nth-child(11) .center li.fade-left{  transition: left 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s linear; left: 0px; opacity: 1;}
.panel:nth-child(11) .center li:first-child .sub-title{margin-bottom: 0;}
.panel:nth-child(11) .center li:not(:last-child){margin-bottom: 25px;}
.panel:nth-child(11) .sub-title{color: #527FF7;}
.panel:nth-child(11) .center p{font-size: 18px; font-weight: 600; line-height: 25px;}

/* 열두번째 페이지 */
.panel:nth-child(12){display: flex; justify-content: center; align-items: center; }
.panel:nth-child(12) p{font-size: 48px; font-weight: 900; line-height: 54px; color: #fff;}


/* 애니메이션 */
.heartbeat {display: inline-block; -webkit-animation: heartbeat 1s ease-in-out infinite both; animation: heartbeat 1s ease-in-out infinite both;}
.blink-1 {display: inline-block; -webkit-animation: blink-1 1s infinite both; animation: blink-1 1s infinite both;}
.shake-horizontal {display: inline-block; -webkit-animation: shake-horizontal 1.5s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite both; animation: shake-horizontal 1.5s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite both;}


@-webkit-keyframes heartbeat {
    from {
      -webkit-transform: scale(1);
              transform: scale(1);
      -webkit-transform-origin: center center;
              transform-origin: center center;
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
    }
    10% {
      -webkit-transform: scale(0.4);
              transform: scale(0.4);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    17% {
      -webkit-transform: scale(0.6);
              transform: scale(0.6);
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
    }
    33% {
      -webkit-transform: scale(0.87);
              transform: scale(0.87);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    45% {
      -webkit-transform: scale(1);
              transform: scale(1);
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
    }
  }
  @keyframes heartbeat {
    from {
      -webkit-transform: scale(1);
              transform: scale(1);
      -webkit-transform-origin: center center;
              transform-origin: center center;
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
    }
    10% {
      -webkit-transform: scale(0.4);
              transform: scale(0.4);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    17% {
      -webkit-transform: scale(0.6);
              transform: scale(0.6);
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
    }
    33% {
      -webkit-transform: scale(0.87);
              transform: scale(0.87);
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
    }
    45% {
      -webkit-transform: scale(1);
              transform: scale(1);
      -webkit-animation-timing-function: ease-out;
              animation-timing-function: ease-out;
    }
  }


  @-webkit-keyframes blink-1 {
    0%,
    50%,
    100% {
      opacity: 1;
    }
    25%,
    75% {
      opacity: 0;
    }
  }
  @keyframes blink-1 {
    0%,
    50%,
    100% {
      opacity: 1;
    }
    25%,
    75% {
      opacity: 0;
    }
  }
  

  @-webkit-keyframes shake-horizontal {
    0%,
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    10%,
    30%,
    50%,
    70% {
      -webkit-transform: translateX(-10px);
              transform: translateX(-10px);
    }
    20%,
    40%,
    60% {
      -webkit-transform: translateX(10px);
              transform: translateX(10px);
    }
    80% {
      -webkit-transform: translateX(8px);
              transform: translateX(8px);
    }
    90% {
      -webkit-transform: translateX(-8px);
              transform: translateX(-8px);
    }
  }
  @keyframes shake-horizontal {
    0%,
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    10%,
    30%,
    50%,
    70% {
      -webkit-transform: translateX(-10px);
              transform: translateX(-10px);
    }
    20%,
    40%,
    60% {
      -webkit-transform: translateX(10px);
              transform: translateX(10px);
    }
    80% {
      -webkit-transform: translateX(8px);
              transform: translateX(8px);
    }
    90% {
      -webkit-transform: translateX(-8px);
              transform: translateX(-8px);
    }
  }
  