@charset "UTF-8";
@import url("https://fonts.googleapis.com/earlyaccess/notosanstc.css");
@import url("https://fonts.googleapis.com/css2?family=Merriweather:wght@700&display=swap");
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
select,
textarea,
p,
blockquote,
th,
td {
  padding: 0;
  margin: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset,
img {
  border: 0;
  border-style: none; }

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-weight: normal;
  font-style: normal; }

ol,
ul {
  list-style: none; }

caption,
th {
  text-align: left; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  font-size: 100%; }

q:before, q:after {
  content: ""; }

abbr,
acronym {
  border: 0; }

a {
  text-decoration: none;
  color: inherit; }

input,
button,
textarea,
select,
option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit; }

*:focus {
  outline: none; }

@-webkit-keyframes sloganFadeIn {
  0% {
    -webkit-transform: scale(3);
    transform: scale(3);
    opacity: 0; }
  50% {
    opacity: 0.5; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0; } }

@keyframes sloganFadeIn {
  0% {
    -webkit-transform: scale(3);
    transform: scale(3);
    opacity: 0; }
  50% {
    opacity: 0.5; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0; } }

@-webkit-keyframes sloganFadeInLeft {
  0% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0; }
  50% {
    opacity: 0.3; }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1; } }

@keyframes sloganFadeInLeft {
  0% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0; }
  50% {
    opacity: 0.3; }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1; } }

@-webkit-keyframes sloganFadeInRight {
  0% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0; }
  50% {
    opacity: 0.3; }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1; } }

@keyframes sloganFadeInRight {
  0% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0; }
  50% {
    opacity: 0.3; }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1; } }

@-webkit-keyframes sloganFadeInBottom {
  0% {
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    opacity: 0; }
  50% {
    opacity: 0.3; }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1; } }

@keyframes sloganFadeInBottom {
  0% {
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    opacity: 0; }
  50% {
    opacity: 0.3; }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1; } }

@-webkit-keyframes confirmAnimation {
  0% {
    -webkit-transform: translateZ(-1px) scale(1);
    transform: translateZ(-1px) scale(1);
    opacity: 1; }
  100% {
    -webkit-transform: translateZ(-1px) scale(1.8);
    transform: translateZ(-1px) scale(1.8);
    opacity: 0; } }

@keyframes confirmAnimation {
  0% {
    -webkit-transform: translateZ(-1px) scale(1);
    transform: translateZ(-1px) scale(1);
    opacity: 1; }
  100% {
    -webkit-transform: translateZ(-1px) scale(1.8);
    transform: translateZ(-1px) scale(1.8);
    opacity: 0; } }

h1 {
  font-size: 2.5rem;
  font-weight: 700; }

h2 {
  font-size: 2.25rem;
  font-weight: 600; }

h3 {
  font-size: 1.875rem;
  font-weight: 600; }

h4 {
  font-size: 1.375rem;
  font-weight: 600; }

h5 {
  font-size: 1.125rem; }

p {
  font-size: 1rem; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

footer {
  background-color: #2a1d1e; }

html {
  font-size: 16px; }

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto; }

body {
  line-height: 1.5;
  font-family: 'Noto Sans TC', "微軟正黑體", sans-serif;
  overflow-x: hidden;
  color: #422526;
  background-color: #f8f6f9; }
  body::-webkit-scrollbar {
    width: 8px; }
  body::-webkit-scrollbar-thumb {
    background: #45137b; }
  body::-webkit-scrollbar-track {
    background: #e0dce2; }

main {
  overflow: hidden;
  position: relative;
  max-width: 1920px;
  margin: 0 auto; }

.rovMenu {
  position: absolute;
  right: 10px;
  top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  z-index: 2;
  font-size: 0; }
  .rovMenu a {
    display: block; }

header {
  background-image: url(../img/bg_header.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100%;
  height: 49vw;
  max-height: 936px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: relative; }
  header::after {
    content: "";
    display: block;
    position: absolute;
    width: 50%;
    height: 41%;
    background-image: url(../img/bg_s1_dot_01.png);
    background-size: 100%;
    background-repeat: no-repeat;
    left: 0;
    bottom: -24%;
    z-index: -1; }
  header .logo {
    position: absolute;
    left: 1%;
    top: 2%;
    z-index: 10;
    width: 20%;
    max-width: 344px; }
    header .logo img {
      width: 100%; }
    header .logo a {
      position: absolute;
      display: block; }
    header .logo__rov {
      width: 50%;
      height: 100%;
      left: 0;
      top: 0; }
    header .logo__ro1 {
      width: 39%;
      height: 100%;
      right: 0;
      top: 0; }
  header .card_cha {
    position: relative;
    width: 100%;
    height: 100%; }
    header .card_cha img {
      position: absolute !important; }
    header .card_cha .cha_01 {
      width: 50%;
      right: 14.7%;
      top: 7%;
      z-index: 8; }
    header .card_cha .cha_02 {
      width: 33%;
      right: 15%;
      top: 1.5%;
      z-index: 1; }
    header .card_cha .card_01 {
      width: 10.52%;
      left: 22%;
      top: 5%;
      z-index: 7; }
    header .card_cha .card_02 {
      width: 10.26%;
      left: 29.2%;
      top: 28%;
      z-index: 6; }
    header .card_cha .card_03 {
      width: 11.3%;
      right: 47%;
      top: -3.6%;
      z-index: 9; }
    header .card_cha .card_04 {
      width: 11.04%;
      right: 24%;
      top: 30%;
      z-index: 10; }
    header .card_cha .card_05 {
      width: 12.08%;
      left: 22%;
      top: 77%;
      z-index: 10; }
    header .card_cha .card_06 {
      width: 12.08%;
      right: 21%;
      top: 90%;
      z-index: 10; }
    header .card_cha .card_07 {
      width: 5.93%;
      right: 54.3%;
      top: -3.6%;
      z-index: 8; }
  header .slogan img {
    position: absolute; }
  header .slogan_img {
    position: absolute;
    width: 29.11%;
    top: 53%;
    left: 22%;
    opacity: 0;
    -webkit-transform: scale(3);
    -ms-transform: scale(3);
    transform: scale(3); }
    header .slogan_img.animation {
      -webkit-animation: sloganFadeIn 0.8s 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
      animation: sloganFadeIn 0.8s 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards; }
  header .slogan_01 {
    width: 29.11%;
    top: 53%;
    left: 22%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0; }
    header .slogan_01.animation {
      -webkit-animation: sloganFadeInLeft 0.5s 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
      animation: sloganFadeInLeft 0.5s 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards; }
  header .slogan_02 {
    width: 29.11%;
    top: 60.9%;
    left: 22%;
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0; }
    header .slogan_02.animation {
      -webkit-animation: sloganFadeInRight 0.5s 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
      animation: sloganFadeInRight 0.5s 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) forwards; }
  header .slogan_03 {
    width: 29.11%;
    top: 69.2%;
    left: 22%;
    -webkit-transform: translateY(100px);
    -ms-transform: translateY(100px);
    transform: translateY(100px);
    opacity: 0; }
    header .slogan_03.animation {
      -webkit-animation: sloganFadeInBottom 0.4s 1s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
      animation: sloganFadeInBottom 0.4s 1s cubic-bezier(0.39, 0.575, 0.565, 1) forwards; }

section {
  position: relative; }

section .sectionWrap {
  max-width: 1200px;
  margin: 0 auto; }

.signUp {
  padding-top: 2%;
  padding-bottom: 9%;
  background-image: url(../img/character_03.png), url(../img/character_04.png);
  background-size: 33%, 10%;
  background-repeat: no-repeat;
  background-position: left 2% bottom 66px, top 17% right 5%; }
  .signUp::after {
    content: "";
    width: 50%;
    height: 41%;
    background-image: url(../img/bg_s1_dot_01.png);
    background-repeat: no-repeat;
    background-size: 100%;
    -webkit-transform: scale(-1, -1);
    -ms-transform: scale(-1, -1);
    transform: scale(-1, -1);
    z-index: -1;
    position: absolute;
    right: 0;
    bottom: 0; }
  .signUp .title {
    max-width: 900px;
    margin: 0 auto 30px; }
  .signUp .step {
    position: relative; }
    .signUp .step::before {
      display: block;
      background-image: url(../img/character_04.png);
      background-size: contain;
      border: 1px solid #000;
      background-repeat: no-repeat;
      width: 12%;
      height: 34%;
      position: absolute;
      right: -106px;
      top: 19%; }
    .signUp .step__arrow {
      margin: 40px auto;
      display: block; }
    .signUp .step__wrap {
      max-width: 900px;
      margin: 0 auto;
      border: 2px solid #69429a;
      border-radius: 20px;
      overflow: hidden;
      background-color: #fefaee; }
    .signUp .step__info {
      background: #664097;
      background: -webkit-gradient(linear, left top, right top, from(#664097), color-stop(50%, #8a52bb), to(#664097));
      background: -webkit-linear-gradient(left, #664097 0%, #8a52bb 50%, #664097 100%);
      background: -o-linear-gradient(left, #664097 0%, #8a52bb 50%, #664097 100%);
      background: linear-gradient(to right, #664097 0%, #8a52bb 50%, #664097 100%);
      padding: 20px 30px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      .signUp .step__info .text h5 {
        color: #e1c6f8; }
      .signUp .step__info .text p {
        color: #ffcc43; }
      .signUp .step__info .btn img {
        background-color: #fff;
        width: 50px;
        height: 50px;
        border-radius: 100%;
        cursor: pointer;
        -webkit-transition: opacity 0.3s;
        -o-transition: opacity 0.3s;
        transition: opacity 0.3s;
        margin-left: 5px; }
        .signUp .step__info .btn img:hover {
          opacity: 0.7; }
      .signUp .step__info .btn .logOut {
        display: none; }
        .signUp .step__info .btn .logOut h5 {
          cursor: pointer;
          background-color: #fff;
          color: #664097;
          padding: 4px 15px;
          border-radius: 20px;
          -webkit-transition: opacity 0.3s;
          -o-transition: opacity 0.3s;
          transition: opacity 0.3s; }
          .signUp .step__info .btn .logOut h5:hover {
            opacity: 0.7; }
    .signUp .step__form {
      padding: 40px 40px;
      display: none; }
      .signUp .step__form .account,
      .signUp .step__form .rovName {
        background-color: #f6edd1;
        border-radius: 20px;
        padding: 8px 20px; }
        .signUp .step__form .account h5 span,
        .signUp .step__form .rovName h5 span {
          color: #d76a92; }
      .signUp .step__form .account {
        margin-bottom: 15px; }
      .signUp .step__form form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 1.125rem; }
        .signUp .step__form form > div {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          width: 50%; }
        .signUp .step__form form > div:first-child {
          margin-right: 20px; }
        .signUp .step__form form label {
          margin-right: 5px; }
        .signUp .step__form form select {
          border: 1px solid #8a52bb;
          border-radius: 20px;
          padding: 5px 30px 5px 15px;
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
          outline: none;
          background: #fff url(../img/select_arrow.png) no-repeat right 3px center;
          color: #422526;
          -webkit-box-flex: 1;
          -ms-flex-positive: 1;
          flex-grow: 1; }
    .signUp .step__confirm {
      text-align: center; }
      .signUp .step__confirm .confirmBtn {
        cursor: pointer;
        display: inline-block;
        background: #664097;
        background: -webkit-gradient(linear, left top, right top, from(#664097), color-stop(50%, #8a52bb), to(#664097));
        background: -webkit-linear-gradient(left, #664097 0%, #8a52bb 50%, #664097 100%);
        background: -o-linear-gradient(left, #664097 0%, #8a52bb 50%, #664097 100%);
        background: linear-gradient(to right, #664097 0%, #8a52bb 50%, #664097 100%);
        width: 280px;
        height: 66px;
        border-radius: 33px;
        -webkit-box-shadow: -4px -4px 0px #462777 inset;
        box-shadow: -4px -4px 0px #462777 inset;
        margin-top: 50px;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
        position: relative;
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d; }
        .signUp .step__confirm .confirmBtn::after {
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          background-color: #c1ace2;
          border-radius: 33px;
          z-index: -1;
          -webkit-transform: translateZ(-1px);
          transform: translateZ(-1px); }
        .signUp .step__confirm .confirmBtn:hover::after {
          -webkit-animation: confirmAnimation infinite 1s both;
          animation: confirmAnimation infinite 1s both; }
        .signUp .step__confirm .confirmBtn h3 {
          color: #fff;
          line-height: 66px;
          letter-spacing: 2px; }

.info {
  background-color: #63378c;
  background-image: url(../img/bg_s2.jpg);
  padding: 100px 0; }
  .info::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 137px;
    background-image: url(../img/bg_s2_wave.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    left: 0;
    top: -137px;
    border-bottom: solid 1px #61378e;
    pointer-events: none; }
  .info::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 162px;
    background-image: url(../img/bg_s2_wave02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
    left: 0;
    bottom: -160px;
    z-index: 1; }
  .info .title {
    text-align: center;
    margin-bottom: 30px; }
  .info__box, .info__reward {
    margin-bottom: 60px; }
  .info__text {
    background-color: rgba(39, 12, 65, 0.5);
    color: #fff;
    border-radius: 10px;
    max-width: 900px;
    margin: 0 auto;
    padding: 40px; }
  .info__reward02 .achievement {
    position: relative; }
    .info__reward02 .achievement::after {
      content: "";
      position: absolute;
      display: block;
      background-image: url(../img/character_05.png);
      background-repeat: no-repeat;
      background-size: contain;
      width: 190px;
      height: 176px;
      left: -124px;
      top: 219px; }
  .info__reward .achievement {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .info__reward .achievement__box {
      text-align: center;
      width: 20%;
      margin: 10px;
      background-color: #feecd7;
      border-radius: 10px;
      border: 1px solid #231e29;
      -webkit-box-shadow: 1px 2px 2px #31154b;
      box-shadow: 1px 2px 2px #31154b; }
      .info__reward .achievement__box > div {
        border: 5px solid #f8d486;
        border-radius: 10px;
        width: 100%;
        height: 100%; }
      .info__reward .achievement__box h4 {
        background: #f1b22a;
        background: -webkit-gradient(linear, left top, right top, from(#fcc754), to(#f1b22a));
        background: -webkit-linear-gradient(left, #fcc754 0%, #f1b22a 100%);
        background: -o-linear-gradient(left, #fcc754 0%, #f1b22a 100%);
        background: linear-gradient(to right, #fcc754 0%, #f1b22a 100%);
        padding: 16px;
        border-radius: 6px 6px 0 0;
        line-height: 1.2; }
      .info__reward .achievement__box .item {
        padding: 25px 10px 20px; }
        .info__reward .achievement__box .item--img {
          display: inline-block;
          font-size: 0;
          position: relative;
          cursor: pointer; }
          .info__reward .achievement__box .item--img:hover img {
            -webkit-box-shadow: 0px 0px 10px #f5ca99;
            box-shadow: 0px 0px 10px #f5ca99; }
          .info__reward .achievement__box .item--img::after {
            content: "i";
            display: block;
            width: 25px;
            height: 25px;
            position: absolute;
            left: -10px;
            top: 10px;
            background-color: #8a58b7;
            color: #fff;
            border-radius: 100%;
            text-align: center;
            font-size: 18px;
            font-weight: bold;
            line-height: 25px;
            font-family: 'Merriweather', serif;
            cursor: pointer; }
        .info__reward .achievement__box .item img {
          border: 1px solid #f5d3ac;
          border-radius: 10px;
          margin-bottom: 2px;
          -webkit-transition: -webkit-box-shadow 0.5s;
          transition: -webkit-box-shadow 0.5s;
          -o-transition: box-shadow 0.5s;
          transition: box-shadow 0.5s;
          transition: box-shadow 0.5s, -webkit-box-shadow 0.5s; }
    .info__reward .achievement__box4 {
      width: 25%;
      max-width: 260px; }
      .info__reward .achievement__box4 h4 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 88px; }

.notice {
  background-color: #fcc754;
  padding: 250px 0 0;
  background-image: -webkit-gradient(linear, left top, right top, from(#f1b22a), color-stop(50%, #fcc754), to(#f1b22a));
  background-image: -webkit-linear-gradient(left, #f1b22a 0%, #fcc754 50%, #f1b22a 100%);
  background-image: -o-linear-gradient(left, #f1b22a 0%, #fcc754 50%, #f1b22a 100%);
  background-image: linear-gradient(to right, #f1b22a 0%, #fcc754 50%, #f1b22a 100%);
  background-repeat: no-repeat; }
  .notice::before {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../img/bg_s3_dot_01.png);
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: left top;
    position: absolute;
    left: 0;
    top: 0; }
  .notice::after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../img/bg_s3_dot_02.png);
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: right bottom;
    position: absolute;
    left: 0;
    top: 0; }
  .notice .noticeWrap {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1; }
  .notice .title {
    max-width: 900px;
    margin: 0 auto 30px; }
  .notice__content {
    max-width: 900px;
    list-style-type: decimal;
    background-color: #ffd57b;
    border-radius: 20px 20px 0 0;
    padding: 50px 50px 70px;
    margin: 0 auto;
    position: relative; }
    .notice__content li {
      margin-bottom: 4px;
      margin-left: 24px; }
    .notice__content::after {
      content: "";
      display: block;
      position: absolute;
      right: -187px;
      bottom: -97px;
      background-image: url(../img/character_06.png);
      width: 434px;
      height: 640px; }

.itemIngame {
  width: 100%;
  height: 100%;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.7);
  top: 0;
  left: 0;
  -webkit-transition: height 0.3s ease-in;
  -o-transition: height 0.3s ease-in;
  transition: height 0.3s ease-in;
  z-index: 999;
  display: none; }
  .itemIngameWrap {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .itemIngameWrap img {
      border: 5px solid #fbc44e;
      border-radius: 20px; }
    .itemIngameWrap > div {
      position: relative;
      text-align: center; }
    .itemIngameWrap .close {
      width: 45px;
      height: 45px;
      background-color: #664097;
      position: absolute;
      right: 0;
      top: 0;
      border-radius: 0 10px 0 10px;
      cursor: pointer; }
      .itemIngameWrap .close::before, .itemIngameWrap .close::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 30px;
        height: 4px;
        background-color: #fff; }
      .itemIngameWrap .close::before {
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
        -ms-transform: translate(-50%, -50%) rotate(45deg);
        transform: translate(-50%, -50%) rotate(45deg); }
      .itemIngameWrap .close::after {
        -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        -ms-transform: translate(-50%, -50%) rotate(-45deg);
        transform: translate(-50%, -50%) rotate(-45deg); }

.popupWrap {
  width: 100%;
  height: auto;
  max-width: 600px;
  margin: 10px auto 0;
  position: fixed;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1);
  -ms-transform: translate(-50%, -50%) scale(1);
  transform: translate(-50%, -50%) scale(1);
  background-color: #fefff9;
  border-radius: 20px;
  border: 3px solid #475633;
  z-index: 999;
  display: none;
  -webkit-animation: hide-popup 0.3s forwards;
  animation: hide-popup 0.3s forwards; }
  .popupWrap.visible {
    -webkit-animation: show-popup 0.3s;
    animation: show-popup 0.3s; }
  .popupWrap .close {
    width: 40px;
    height: 40px;
    position: absolute;
    right: 10px;
    top: -46px;
    cursor: pointer; }
    .popupWrap .close::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      display: block;
      background-color: rgba(255, 255, 255, 0.2);
      border-radius: 100%;
      left: 0;
      top: 0;
      -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
      transform-origin: center center;
      -webkit-transition: -webkit-transform .2s ease-in-out;
      transition: -webkit-transform .2s ease-in-out;
      -o-transition: transform .2s ease-in-out;
      transition: transform .2s ease-in-out;
      transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
      -webkit-transform: scale(0);
      -ms-transform: scale(0);
      transform: scale(0); }
    .popupWrap .close:hover::after {
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1); }
    .popupWrap .close span {
      position: absolute;
      left: 0;
      display: block;
      background-color: #fff;
      width: 40px;
      height: 3px;
      -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
      transform-origin: left center; }
      .popupWrap .close span:nth-child(1) {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 4px;
        left: 6px; }
      .popupWrap .close span:nth-child(2) {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 32px;
        left: 5px; }

@media only screen and (max-width: 1280px) {
  .signUp {
    background-size: 39%, 11%;
    background-position: left -10% bottom, top 8% right 5%; }
    .signUp .title {
      width: 61%; }
      .signUp .title img {
        width: 220px; }
    .signUp .step__wrap {
      width: 61%; }
    .signUp .step__form form > div:not(:last-child) {
      margin-right: 2%; }
    .signUp .step__form form select {
      width: 100%; }
    .signUp .step__form form label {
      margin-right: 0;
      margin-left: 12px;
      color: #8a52bb; }
    .signUp .step__confirm .confirmBtn {
      width: 200px;
      height: 56px; }
      .signUp .step__confirm .confirmBtn h3 {
        font-size: 26px;
        line-height: 54px;
        letter-spacing: 0px; }
  .info {
    padding: 5%; }
    .info .title img {
      width: 220px; }
    .info__box, .info__reward {
      margin-bottom: 5%; }
    .info__reward02 .achievement::after {
      width: 15%;
      height: auto;
      padding-top: calc(190 / 176 * 15%);
      left: -5%;
      top: 85%; }
    .info__reward .achievement__box {
      margin: 0.5%; }
  .notice {
    padding: 220px 0 0; }
    .notice__content {
      padding: 50px 325px 70px 50px; }
      .notice__content::after {
        right: -85px; } }

@media only screen and (max-width: 1024px) {
  .rovMenu {
    width: 23%; }
    .rovMenu div {
      width: 50%; }
    .rovMenu img {
      width: 100%; }
  .signUp {
    background-image: url(); }
    .signUp .sectionWrap {
      position: relative; }
      .signUp .sectionWrap::after {
        content: "";
        display: block;
        position: absolute;
        background-image: url(../img/character_04.png);
        background-repeat: no-repeat;
        background-size: contain;
        width: 11%;
        padding-top: calc(190 / 201 * 12%);
        right: 3%;
        top: -1%; }
    .signUp .title {
      width: 80%; }
    .signUp .step__wrap {
      width: 80%; }
  .info {
    padding: 5% 0; }
    .info::before {
      height: 14.5vw;
      top: -14.5vw; }
    .info__text {
      width: 80%;
      padding: 20px 30px; }
    .info__reward {
      margin: 0 auto 5%; }
      .info__reward .achievement {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 86%;
        margin: 0 auto; }
        .info__reward .achievement__box {
          width: 30%;
          margin: 1%; }
          .info__reward .achievement__box img {
            max-width: 100%; }
        .info__reward .achievement__box4 {
          width: 47%; } }

@media only screen and (max-width: 768px) {
  html {
    font-size: 14px; }
  .rovMenu {
    width: 100%;
    border: 1px solid #000;
    background-color: #000;
    position: fixed;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    right: 0;
    bottom: 0;
    top: initial; }
    .rovMenu div {
      max-width: 150px;
      margin: 5px 2.5px; }
  header {
    background-image: url(../img/bg_header_m.png);
    max-height: auto;
    height: auto;
    padding-top: 166vw; }
    header::after {
      width: 95%;
      height: 80%;
      bottom: -62%; }
    header .logo {
      width: 47%;
      left: 3%; }
    header .card_cha {
      display: none; }
    header .slogan_img {
      width: 78.11%;
      top: 11%;
      left: 10%; }
    header .slogan_01 {
      width: 78.11%;
      top: 11%;
      left: 10%; }
    header .slogan_02 {
      width: 78.11%;
      top: 16.9%;
      left: 10%; }
    header .slogan_03 {
      width: 78.11%;
      top: 23.4%;
      left: 10%; }
  .signUp::after {
    width: 95%;
    height: 80%; }
  .signUp .sectionWrap {
    position: relative; }
    .signUp .sectionWrap::after {
      width: 15%;
      padding-top: calc(190 / 201 * 16%);
      right: 3%;
      top: -1%; }
  .signUp .title {
    margin: 0 auto 4%; }
    .signUp .title img {
      width: 40%; }
  .signUp .step__info .btn img {
    width: 40px;
    height: 40px; }
  .signUp .step__info .btn .logOut {
    width: 62px; }
  .signUp .step__arrow {
    margin: 3% auto; }
  .signUp .step__confirm .confirmBtn {
    margin-top: 5%;
    margin-bottom: 5%; }
    .signUp .step__confirm .confirmBtn::after {
      display: none; }
  .signUp .step__form form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .signUp .step__form form > div {
      width: 100%; }
      .signUp .step__form form > div:not(:last-child) {
        margin-bottom: 3%; }
      .signUp .step__form form > div label {
        display: block;
        margin-bottom: 5px; }
  .signUp .step__confirm .confirmBtn:hover::after {
    display: none; }
  .signUp .step2 .step__info .btn .logIn {
    width: 145px; }
  .info .title {
    width: 80%;
    margin: 0 auto 3%; }
    .info .title img {
      width: 40%; }
  .info__reward .achievement__box {
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none; }
    .info__reward .achievement__box h4 {
      padding: 10px; }
    .info__reward .achievement__box .item img {
      width: 70%;
      max-width: 100px;
      min-width: 70px; }
    .info__reward .achievement__box .item--img {
      width: 70%;
      max-width: 100px;
      min-width: 70px; }
      .info__reward .achievement__box .item--img img {
        width: 100%; }
  .info__reward .achievement__box4 h4 {
    height: 72px; }
  .notice {
    padding: 14% 0 0; }
    .notice::before {
      background-size: 95%; }
    .notice::after {
      background-size: 95%; }
    .notice .title {
      width: 80%;
      margin: 0 auto 3%; }
      .notice .title img {
        width: 40%; }
    .notice__content {
      width: 80%;
      padding: 50px 210px 40px 50px; }
      .notice__content::after {
        background-size: contain;
        background-repeat: no-repeat;
        width: 344px;
        height: 506px;
        bottom: -43px;
        right: -141px; }
  .itemIngameWrap img {
    width: 94%; }
  .itemIngameWrap .close {
    margin-right: 3%; } }

@media only screen and (max-width: 580px) {
  .signUp .sectionWrap {
    position: relative; }
    .signUp .sectionWrap::after {
      width: 15%;
      padding-top: calc(190 / 201 * 16%);
      right: 3%;
      top: 3%; }
  .signUp .title {
    width: 90%; }
    .signUp .title img {
      width: 45%;
      min-width: 200px; }
  .signUp .step__wrap {
    width: 90%; }
  .signUp .step__info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .signUp .step__info > div {
      width: 100%; }
    .signUp .step__info .text {
      margin-bottom: 3%; }
      .signUp .step__info .text img {
        width: 23%;
        min-width: 80px; }
  .signUp .step__form {
    padding: 30px; }
    .signUp .step__form .account,
    .signUp .step__form .rovName {
      text-align: center; }
      .signUp .step__form .account h5 span,
      .signUp .step__form .rovName h5 span {
        display: block;
        margin: 0; }
  .info .title {
    width: 90%; }
    .info .title img {
      width: 45%;
      min-width: 200px; }
  .info__reward .achievement {
    width: 96%; }
    .info__reward .achievement__box .item {
      padding: 15px 10px; }
      .info__reward .achievement__box .item--img::after {
        width: 18px;
        height: 18px;
        font-size: 14px;
        line-height: 19px;
        left: 0;
        top: 0; }
    .info__reward .achievement__box4 {
      max-width: 190px; }
  .info__reward02 .achievement::after {
    width: 21%;
    padding-top: calc(190 / 176 * 18%); }
  .notice .title {
    width: 90%; }
    .notice .title img {
      width: 45%;
      min-width: 200px; }
  .notice__content {
    width: 90%;
    padding: 20px 30px; }
    .notice__content::after {
      display: none; }
  .itemIngameWrap .close {
    width: 35px;
    height: 35px; }
    .itemIngameWrap .close::before, .itemIngameWrap .close::after {
      width: 24px;
      height: 3px; } }

@media only screen and (max-width: 375px) {
  .info__reward .achievement__box {
    width: 47%; } }
