@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap");
* {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul,
li {
  padding: 0;
  -webkit-padding-start: 0px;
          padding-inline-start: 0px;
  list-style: none;
}

/**** VARIABLES ****/
.mb-150 {
  margin-bottom: 150px;
}

.mb-70 {
  margin-bottom: 70px;
}

.mb-50 {
  margin-bottom: 50px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-8 {
  margin-bottom: 8px;
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
* {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul,
li {
  padding: 0;
  -webkit-padding-start: 0px;
          padding-inline-start: 0px;
  list-style: none;
}

/**** VARIABLES ****/
.mb-150 {
  margin-bottom: 150px;
}

.mb-70 {
  margin-bottom: 70px;
}

.mb-50 {
  margin-bottom: 50px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-8 {
  margin-bottom: 8px;
}

/**** VARIABLES ****/
::-webkit-scrollbar {
  width: 10px;
  background-color: #636363;
  /* bar 背景色 */
}

::-webkit-scrollbar-thumb {
  background-color: #c83493;
  /* bar 滑動色 */
}

::-webkit-scrollbar-thumb:hover {
  background-color: #d362aa;
}

html,
body {
  height: 100%;
}

body {
  background-color: #1e1f23;
  font-weight: 500;
  font-family: "Noto Sans TC", sans-serif;
  line-height: 1.3;
  font-size: 18px;
  overflow-x: hidden;
}

p {
  color: white;
  font-size: 1.1rem;
}

.wrapper {
  max-width: 2560px;
  margin: 0 auto;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.wrapper .main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation: bgmove 5s;
          animation: bgmove 5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes bgmove {
  0% {
    scale: 1.03;
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
  50% {
    scale: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes bgmove {
  0% {
    scale: 1.03;
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
  50% {
    scale: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
.wrapper .circle {
  position: absolute;
  width: 20rem;
  height: 20rem;
  z-index: 10;
  mix-blend-mode: screen;
}
@media (max-width: 820px) {
  .wrapper .circle {
    width: 17rem;
    height: 17rem;
  }
}
@media (max-width: 450px) {
  .wrapper .circle {
    width: 10rem;
    height: 10rem;
  }
}
.wrapper .circle::before {
  content: "";
  position: absolute;
  top: 100px;
  left: 100px;
  right: 100px;
  bottom: 100px;
  mix-blend-mode: screen;
  border-radius: 50%;
}
.wrapper .circlePink {
  -webkit-animation: sparkPink1 5s infinite alternate;
          animation: sparkPink1 5s infinite alternate;
}
@-webkit-keyframes sparkPink1 {
  0% {
    left: 50%;
    top: 10%;
  }
  100% {
    left: 60%;
    top: 10%;
  }
}
@keyframes sparkPink1 {
  0% {
    left: 50%;
    top: 10%;
  }
  100% {
    left: 60%;
    top: 10%;
  }
}
.wrapper .circlePink::before {
  content: "";
  position: absolute;
  -webkit-animation: haloPink1 5s linear infinite;
          animation: haloPink1 5s linear infinite;
  -webkit-filter: blur(30px);
          filter: blur(30px);
}
@-webkit-keyframes haloPink1 {
  0% {
    background-color: rgba(255, 139, 189, 0.75);
  }
  20% {
    background-color: rgb(255, 117, 176);
  }
  100% {
    background-color: rgba(255, 99, 151, 0.89);
  }
}
@keyframes haloPink1 {
  0% {
    background-color: rgba(255, 139, 189, 0.75);
  }
  20% {
    background-color: rgb(255, 117, 176);
  }
  100% {
    background-color: rgba(255, 99, 151, 0.89);
  }
}
.wrapper .circlePink2 {
  -webkit-animation: sparkPink2 5s infinite alternate;
          animation: sparkPink2 5s infinite alternate;
}
@-webkit-keyframes sparkPink2 {
  0% {
    right: 10%;
    top: 32%;
  }
  100% {
    right: 15%;
    top: 32%;
  }
}
@keyframes sparkPink2 {
  0% {
    right: 10%;
    top: 32%;
  }
  100% {
    right: 15%;
    top: 32%;
  }
}
.wrapper .circlePink2::before {
  content: "";
  position: absolute;
  -webkit-animation: haloPink2 3s linear infinite;
          animation: haloPink2 3s linear infinite;
  -webkit-filter: blur(25px);
          filter: blur(25px);
}
@media (max-width: 820px) {
  .wrapper .circlePink2::before {
    -webkit-filter: blur(18px);
            filter: blur(18px);
  }
}
@media (max-width: 450px) {
  .wrapper .circlePink2::before {
    -webkit-filter: blur(14px);
            filter: blur(14px);
  }
}
@-webkit-keyframes haloPink2 {
  0% {
    background-color: rgba(255, 97, 189, 0.5);
  }
  20% {
    background-color: rgb(199, 90, 220);
  }
  100% {
    background-color: rgba(211, 59, 180, 0.7);
  }
}
@keyframes haloPink2 {
  0% {
    background-color: rgba(255, 97, 189, 0.5);
  }
  20% {
    background-color: rgb(199, 90, 220);
  }
  100% {
    background-color: rgba(211, 59, 180, 0.7);
  }
}
.wrapper .circlePink3 {
  -webkit-animation: sparkPink3 5s infinite alternate;
          animation: sparkPink3 5s infinite alternate;
}
@-webkit-keyframes sparkPink3 {
  0% {
    right: 30%;
    bottom: 20%;
  }
  100% {
    right: 20%;
    bottom: 20%;
  }
}
@keyframes sparkPink3 {
  0% {
    right: 30%;
    bottom: 20%;
  }
  100% {
    right: 20%;
    bottom: 20%;
  }
}
.wrapper .circlePink3::before {
  content: "";
  position: absolute;
  -webkit-animation: haloPink3 3s linear infinite;
          animation: haloPink3 3s linear infinite;
  -webkit-filter: blur(25px);
          filter: blur(25px);
}
@media (max-width: 820px) {
  .wrapper .circlePink3::before {
    -webkit-filter: blur(18px);
            filter: blur(18px);
  }
}
@media (max-width: 450px) {
  .wrapper .circlePink3::before {
    -webkit-filter: blur(14px);
            filter: blur(14px);
  }
}
@-webkit-keyframes haloPink3 {
  0% {
    background-color: rgba(255, 142, 142, 0.897);
  }
  20% {
    background-color: rgb(255, 123, 123);
  }
  100% {
    background-color: rgba(255, 88, 88, 0.962);
  }
}
@keyframes haloPink3 {
  0% {
    background-color: rgba(255, 142, 142, 0.897);
  }
  20% {
    background-color: rgb(255, 123, 123);
  }
  100% {
    background-color: rgba(255, 88, 88, 0.962);
  }
}
.wrapper .circleBlue1 {
  -webkit-animation: sparkBlue1 5s infinite alternate;
          animation: sparkBlue1 5s infinite alternate;
  width: 17rem;
  height: 17rem;
}
@-webkit-keyframes sparkBlue1 {
  0% {
    left: 5%;
    top: 20%;
  }
  50% {
    left: 15%;
    top: 25%;
  }
  100% {
    left: 10%;
    top: 20%;
  }
}
@keyframes sparkBlue1 {
  0% {
    left: 5%;
    top: 20%;
  }
  50% {
    left: 15%;
    top: 25%;
  }
  100% {
    left: 10%;
    top: 20%;
  }
}
.wrapper .circleBlue1::before {
  content: "";
  position: absolute;
  -webkit-animation: haloBlue1 5s linear infinite;
          animation: haloBlue1 5s linear infinite;
  -webkit-filter: blur(20px);
          filter: blur(20px);
}
@media (max-width: 820px) {
  .wrapper .circleBlue1::before {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
}
@media (max-width: 450px) {
  .wrapper .circleBlue1::before {
    -webkit-filter: blur(12px);
            filter: blur(12px);
  }
}
@-webkit-keyframes haloBlue1 {
  0% {
    background-color: rgb(146, 177, 255);
  }
  20% {
    background-color: rgb(83, 68, 255);
  }
  100% {
    background-color: rgb(132, 169, 255);
  }
}
@keyframes haloBlue1 {
  0% {
    background-color: rgb(146, 177, 255);
  }
  20% {
    background-color: rgb(83, 68, 255);
  }
  100% {
    background-color: rgb(132, 169, 255);
  }
}
.wrapper .circleBlue2 {
  -webkit-animation: sparkBlue2 5s infinite alternate;
          animation: sparkBlue2 5s infinite alternate;
}
@-webkit-keyframes sparkBlue2 {
  0% {
    left: 10%;
    bottom: 15%;
  }
  100% {
    left: 5%;
    bottom: 20%;
  }
}
@keyframes sparkBlue2 {
  0% {
    left: 10%;
    bottom: 15%;
  }
  100% {
    left: 5%;
    bottom: 20%;
  }
}
.wrapper .circleBlue2::before {
  content: "";
  position: absolute;
  -webkit-animation: haloBlue2 7s linear infinite;
          animation: haloBlue2 7s linear infinite;
  -webkit-filter: blur(20px);
          filter: blur(20px);
}
@media (max-width: 820px) {
  .wrapper .circleBlue2::before {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
}
@media (max-width: 450px) {
  .wrapper .circleBlue2::before {
    -webkit-filter: blur(12px);
            filter: blur(12px);
  }
}
@-webkit-keyframes haloBlue2 {
  0% {
    background-color: rgb(77, 34, 255);
  }
  20% {
    background-color: rgb(123, 99, 255);
  }
  100% {
    background-color: rgb(112, 104, 255);
  }
}
@keyframes haloBlue2 {
  0% {
    background-color: rgb(77, 34, 255);
  }
  20% {
    background-color: rgb(123, 99, 255);
  }
  100% {
    background-color: rgb(112, 104, 255);
  }
}
.wrapper .circleBlue3 {
  -webkit-animation: sparkBlue3 3s infinite alternate;
          animation: sparkBlue3 3s infinite alternate;
  width: 19rem;
  height: 19rem;
}
@media (max-width: 820px) {
  .wrapper .circleBlue3 {
    width: 17rem;
    height: 17rem;
  }
}
@-webkit-keyframes sparkBlue3 {
  0% {
    left: 10%;
    top: 30%;
  }
  100% {
    left: 5%;
    top: 30%;
  }
}
@keyframes sparkBlue3 {
  0% {
    left: 10%;
    top: 30%;
  }
  100% {
    left: 5%;
    top: 30%;
  }
}
.wrapper .circleBlue3::before {
  content: "";
  position: absolute;
  -webkit-animation: haloBlue3 7s linear infinite;
          animation: haloBlue3 7s linear infinite;
  -webkit-filter: blur(18px);
          filter: blur(18px);
}
@media (max-width: 820px) {
  .wrapper .circleBlue3::before {
    -webkit-filter: blur(16px);
            filter: blur(16px);
  }
}
@media (max-width: 450px) {
  .wrapper .circleBlue3::before {
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
}
@-webkit-keyframes haloBlue3 {
  0% {
    background-color: rgb(79, 97, 255);
  }
  20% {
    background-color: rgb(79, 85, 255);
  }
  100% {
    background-color: rgb(72, 124, 255);
  }
}
@keyframes haloBlue3 {
  0% {
    background-color: rgb(79, 97, 255);
  }
  20% {
    background-color: rgb(79, 85, 255);
  }
  100% {
    background-color: rgb(72, 124, 255);
  }
}

h1 {
  position: absolute;
  left: 10%;
  top: 2%;
}
@media (max-width: 1400px) {
  h1 {
    left: 5%;
    top: 3%;
  }
}
h1 a {
  display: block;
  background: url("../img/ROMlogo.png") no-repeat;
  width: 11.5rem;
  height: 5.25rem;
  background-size: contain;
  text-indent: 101%;
  overflow: hidden;
  white-space: nowrap;
}
@media (max-width: 1500px) {
  h1 a {
    height: 4rem;
  }
}
@media (max-width: 820px) {
  h1 a {
    height: 3.2rem;
  }
}

h4 {
  position: relative;
  margin: 12rem 0;
}
@media (max-width: 1200px) {
  h4 {
    margin: 9rem 0 2rem 0;
  }
}
@media (max-width: 1023px) {
  h4 {
    margin-bottom: 0;
  }
}
@media (max-width: 450px) {
  h4 {
    width: 70%;
    margin: 0;
  }
}
@media (max-width: 1500px) {
  h4 img {
    width: 85%;
    margin: 0 auto;
  }
}

header {
  position: fixed;
  top: 1em;
  right: 5em;
}
@media (max-width: 1300px) {
  header {
    z-index: 99;
  }
}
header .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1300px) {
  header .menu {
    display: none;
  }
}
header .menu nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  gap: 2em;
  margin-right: 5em;
}
@media (max-width: 1400px) {
  header .menu nav {
    font-size: 1rem;
  }
}
@media (max-width: 1300px) {
  header .menu nav {
    display: none;
  }
}
header .menu nav a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 20px 10px;
  color: #acacac;
  text-decoration: none;
  line-height: 20px;
  letter-spacing: 1.5px;
}
header .menu nav a::after {
  content: "";
  position: absolute;
  display: block;
  right: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background: white;
  -webkit-transition: width 0.5s;
  transition: width 0.5s;
}
header .menu nav a:hover, header .menu nav a:focus {
  color: white;
}
header .menu nav a:hover::after, header .menu nav a:focus::after {
  width: 100%;
}
header .menu nav a.active {
  color: #ffffff;
}
header .menu nav a.active::after {
  width: 100%;
}
header .menuMob {
  display: none;
  /* Hambuger menu */
  /* Main nav menu */
  /* animations & respective classes */
}
@media (max-width: 1300px) {
  header .menuMob {
    display: block;
    position: absolute;
    right: -5rem;
  }
}
header .menuMob .hamburger-container {
  display: block;
  width: 60px;
  height: 35px;
}
header .menuMob .lines-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
header .menuMob .hamburger-container ul .lines {
  display: inline-block;
  height: 2px;
  width: 25px;
  margin-top: 7px;
  background: #ffffff;
}
header .menuMob .menu-container {
  position: fixed;
  top: 0;
  right: -150px;
  z-index: 100;
  background: rgb(29, 25, 25);
  height: 100vh;
  width: 100%;
  display: none;
}
header .menuMob .menu-container .menu-items {
  display: block;
  list-style: none;
  padding: 0;
  margin-top: 12rem;
}
@media (max-width: 1300px) {
  header .menuMob .menu-container .menu-items {
    margin-top: 6rem;
  }
}
header .menuMob .menu-container .menu-items .menu-item {
  cursor: pointer;
  margin: 40px 0;
  text-align: center;
}
header .menuMob .menu-container .menu-items .menu-item a {
  color: white;
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
}
header .menuMob .menu-container .menu-items .menu-item:hover {
  opacity: 0.3;
  color: #c83493;
}
header .menuMob .menu-Wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .menuMob .enterAnimationMainContainer {
  display: block;
  -webkit-animation-name: mainContainerEnterAnimation;
          animation-name: mainContainerEnterAnimation;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes mainContainerEnterAnimation {
  from {
    opacity: 0;
    right: -150px;
    -webkit-transform: scale(0), rotate(-60deg);
            transform: scale(0), rotate(-60deg);
  }
  to {
    opacity: 1;
    right: 0;
    -webkit-transform: scale(1), rotate(0deg);
            transform: scale(1), rotate(0deg);
  }
}
@keyframes mainContainerEnterAnimation {
  from {
    opacity: 0;
    right: -150px;
    -webkit-transform: scale(0), rotate(-60deg);
            transform: scale(0), rotate(-60deg);
  }
  to {
    opacity: 1;
    right: 0;
    -webkit-transform: scale(1), rotate(0deg);
            transform: scale(1), rotate(0deg);
  }
}
header .memberWrap .but {
  padding: 0.7em 1.5em;
}
@media (max-width: 450px) {
  header .memberWrap .but {
    padding: 0.5em 1em;
  }
}
header .memberWrap .loginWrap {
  position: relative;
}
header .memberWrap .loginWrap .loginHover {
  position: absolute;
  background-color: rgba(69, 69, 69, 0.9);
  width: 100%;
  height: 50px;
  bottom: -50px;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
header .memberWrap .loginWrap .loginHover img {
  width: 25px;
  height: 25px;
  cursor: pointer;
  opacity: 0.4;
}
header .memberWrap .loginWrap .loginHover img:hover {
  opacity: 1;
  padding-bottom: 5px;
}
header .memberWrapMob .loginWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header .memberWrapMob .loginWrap .loginHover {
  background-color: rgba(69, 69, 69, 0.9);
  width: 100%;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  padding: 0 1em;
  gap: 1em;
}
header .memberWrapMob .loginWrap .loginHover img {
  width: 25px;
  height: 25px;
  cursor: pointer;
  opacity: 0.4;
}
header .memberWrapMob .loginWrap .loginHover img:hover {
  opacity: 1;
  padding-bottom: 5px;
}
header .loginIN,
header .loginOut {
  background-color: #46acdc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1300px) {
  header .loginIN,
  header .loginOut {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
header .loginIN i,
header .loginOut i {
  margin-left: 5px;
  width: 23px;
  height: 23px;
  background-color: transparent;
}
header .loginOutWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1300px) {
  header .loginOutWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
header .loginOutWrap p {
  margin-right: 1em;
  white-space: nowrap;
  background: rgba(30, 31, 35, 0.7);
  padding: 0.2em 1em;
}

.but {
  cursor: pointer;
  color: aliceblue;
  white-space: nowrap;
  padding: 0.7em 2.5em;
  font-size: 1.1rem;
}
@media (max-width: 1400px) {
  .but {
    font-size: 1rem;
    padding: 0.5em 1.5em;
  }
}
.but:hover {
  border-radius: 20px 0 20px 0;
  -webkit-transition: border-radius 0.3s ease;
  transition: border-radius 0.3s ease;
}

.titleWrap {
  position: absolute;
  z-index: 20;
  top: 40%;
  left: 50%;
  -webkit-transform: translate(-50%, -40%);
          transform: translate(-50%, -40%);
}
@media (max-width: 820px) {
  .titleWrap {
    top: 27%;
  }
}
.titleWrap .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.titleWrap h2 {
  width: 100%;
}
@media (max-width: 1600px) {
  .titleWrap h2 {
    width: 80%;
  }
}
@media (max-width: 1400px) {
  .titleWrap h2 {
    width: 70%;
  }
}
@media (max-width: 820px) {
  .titleWrap h2 {
    width: 60%;
  }
}
@media (max-width: 768px) {
  .titleWrap h2 {
    width: 90%;
  }
}
.titleWrap h2 img {
  -webkit-animation: moveAndRotateAnimation 1.5s ease-in-out;
          animation: moveAndRotateAnimation 1.5s ease-in-out;
  /* 1秒完成動畫 */
}
@-webkit-keyframes moveAndRotateAnimation {
  0% {
    -webkit-transform: translateY(-100vh);
            transform: translateY(-100vh);
    /* 從最上面移動到 y 軸中間 */
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    /* 停留在 y 軸中間 */
  }
  100% {
    -webkit-transform: translateY(0) rotate(720deg);
            transform: translateY(0) rotate(720deg);
    /* 360度 * 2 = 720度，兩圈 */
  }
}
@keyframes moveAndRotateAnimation {
  0% {
    -webkit-transform: translateY(-100vh);
            transform: translateY(-100vh);
    /* 從最上面移動到 y 軸中間 */
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    /* 停留在 y 軸中間 */
  }
  100% {
    -webkit-transform: translateY(0) rotate(720deg);
            transform: translateY(0) rotate(720deg);
    /* 360度 * 2 = 720度，兩圈 */
  }
}
.titleWrap h3 {
  position: relative;
  font-weight: 500;
  color: white;
  font-size: 1.5rem;
  background-color: rgba(49, 45, 62, 0.9);
  padding: 0.9rem 4rem 0.9rem 3rem;
  border-radius: 20px 0 20px 0;
  margin-right: 30px;
  border: 1px solid white;
}
@media (max-width: 1400px) {
  .titleWrap h3 {
    font-size: 1.1rem;
  }
}
@media (max-width: 820px) {
  .titleWrap h3 {
    padding: 0.5rem 2rem 0.5rem 1rem;
  }
}
@media (max-width: 375px) {
  .titleWrap h3 {
    padding: 0.5rem 2rem 0.5rem 1.5rem;
    font-size: 1rem;
  }
}
.titleWrap h3 a {
  position: absolute;
  display: block;
  background-color: #c83493;
  color: white;
  border-radius: 50%;
  padding: 1.5rem;
  font-weight: 600;
  top: -10%;
  right: -2em;
  -webkit-transition: 1s;
  transition: 1s;
}
@media (max-width: 820px) {
  .titleWrap h3 a {
    padding: 1rem;
  }
}
.titleWrap h3 a:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
  scale: 1.1;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#c83493), color-stop(19%, #c83493), color-stop(60%, #dd46a8), to(#f06ec2));
  background-image: linear-gradient(to top, #c83493 0%, #c83493 19%, #dd46a8 60%, #f06ec2 100%);
}

.content {
  max-width: 880px;
  margin: 0 auto;
  background-color: rgba(0, 0, 0, 0.7);
  border: 1px solid rgba(177, 177, 177, 0.5);
  padding: 2em 3em;
}
.content p {
  color: #a2a2a2;
}

.contentTitle {
  text-align: center;
  color: white;
  font-size: 2rem;
  margin-bottom: 40px;
}
@media (max-width: 450px) {
  .contentTitle {
    font-size: 1.5rem;
  }
}

.anCh01 {
  -webkit-animation: chmove01 infinite 8s linear;
          animation: chmove01 infinite 8s linear;
}
@-webkit-keyframes chmove01 {
  0% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
  }
  20% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }
  75% {
    -webkit-transform: translate(-10px);
    transform: translate(-10px);
  }
  100% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
  }
}
@keyframes chmove01 {
  0% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
  }
  20% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }
  75% {
    -webkit-transform: translate(-10px);
    transform: translate(-10px);
  }
  100% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
  }
}

.anCh02 {
  -webkit-animation: chmove02 infinite 8s linear;
          animation: chmove02 infinite 8s linear;
}
@-webkit-keyframes chmove02 {
  0% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
  }
  20% {
    -webkit-transform: translate(8px, 1px);
    transform: translate(8px, 1px);
  }
  75% {
    -webkit-transform: translate(-10px);
    transform: translate(-10px);
  }
  100% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
  }
}
@keyframes chmove02 {
  0% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
  }
  20% {
    -webkit-transform: translate(8px, 1px);
    transform: translate(8px, 1px);
  }
  75% {
    -webkit-transform: translate(-10px);
    transform: translate(-10px);
  }
  100% {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
  }
}

.anCh03 {
  -webkit-animation: chmove infinite 8s linear;
          animation: chmove infinite 8s linear;
}
@-webkit-keyframes chmove {
  0% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
  }
  20% {
    -webkit-transform: translate(5px, 5px);
    transform: translate(5px, 5px);
  }
  75% {
    -webkit-transform: translate(-5px);
    transform: translate(-5px);
  }
  100% {
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
  }
}
@keyframes chmove {
  0% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
  }
  20% {
    -webkit-transform: translate(5px, 5px);
    transform: translate(5px, 5px);
  }
  75% {
    -webkit-transform: translate(-5px);
    transform: translate(-5px);
  }
  100% {
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
  }
}

.lch01 {
  position: absolute;
  bottom: 0;
  z-index: 3;
  left: 0;
  width: 50%;
}
@media (max-width: 768px) {
  .lch01 {
    left: -26%;
    width: 100%;
  }
}

.lch02 {
  position: absolute;
  bottom: 0;
  z-index: 2;
  left: 4%;
  bottom: 25%;
  width: 28%;
}
@media (max-width: 768px) {
  .lch02 {
    left: -13%;
    bottom: 18%;
    width: 65%;
  }
}

.lch03 {
  position: absolute;
  top: 15%;
  z-index: 1;
  left: 9%;
  width: 25%;
}
@media (max-width: 768px) {
  .lch03 {
    top: 24%;
    left: -12%;
    width: 62%;
  }
}

.rch01 {
  position: absolute;
  bottom: 0;
  z-index: 3;
  width: 42%;
  right: 5%;
}
@media (max-width: 768px) {
  .rch01 {
    width: 86%;
    right: -11%;
  }
}

.rch02 {
  position: absolute;
  bottom: 24%;
  z-index: 2;
  width: 28%;
  right: 6%;
}
@media (max-width: 768px) {
  .rch02 {
    bottom: 20%;
    width: 61%;
    right: -3%;
  }
}
@media (max-width: 390px) {
  .rch02 {
    right: -7%;
  }
}

.rch03 {
  position: absolute;
  top: 11%;
  z-index: 1;
  width: 20%;
  right: 12%;
}
@media (max-width: 768px) {
  .rch03 {
    top: 21%;
    width: 44%;
    right: -10%;
  }
}

.kv {
  display: block;
}
@media (max-width: 768px) {
  .kv {
    display: none;
  }
}

.mKv {
  display: none;
}
@media (max-width: 768px) {
  .mKv {
    display: block;
  }
}

.mBg {
  display: none;
}
@media (max-width: 768px) {
  .mBg {
    display: block;
  }
}

.deco {
  position: absolute;
}

.decoLineR {
  -webkit-transform: scalex(-1);
          transform: scalex(-1);
  right: 5%;
  top: 30%;
  opacity: 0.7;
  -webkit-animation: decoMove infinite 5s ease-in-out;
          animation: decoMove infinite 5s ease-in-out;
}
@media (max-width: 1023px) {
  .decoLineR {
    right: 0;
  }
}
@media (max-width: 768px) {
  .decoLineR {
    display: none;
  }
}

.decoLineL {
  -webkit-transform: scalex(-1);
          transform: scalex(-1);
  left: 5%;
  top: 30%;
  opacity: 0.5;
  -webkit-animation: decoMove infinite 5s ease-in-out;
          animation: decoMove infinite 5s ease-in-out;
}
@media (max-width: 1023px) {
  .decoLineL {
    left: 0;
  }
}
@media (max-width: 768px) {
  .decoLineL {
    display: none;
  }
}

@-webkit-keyframes decoMove {
  50% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0.8;
  }
}

@keyframes decoMove {
  50% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0.8;
  }
}
.dot {
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .dot {
    display: none;
  }
}
.dot::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: block;
  margin-top: 1.5em;
  -webkit-animation: decoOpac infinite 0.8s linear;
          animation: decoOpac infinite 0.8s linear;
  opacity: 1;
}
@-webkit-keyframes decoOpac {
  50% {
    opacity: 0.8;
  }
}
@keyframes decoOpac {
  50% {
    opacity: 0.8;
  }
}
.dot::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: block;
  margin-top: 1em;
  -webkit-animation: decoOpac infinite 0.4s linear;
          animation: decoOpac infinite 0.4s linear;
  opacity: 1;
}
@keyframes decoOpac {
  50% {
    opacity: 0.8;
  }
}

.dotR {
  right: 10%;
  background-color: rgb(127, 93, 154);
}
@media (max-width: 1200px) {
  .dotR {
    right: 2%;
  }
}
.dotR::before {
  content: "";
  background-color: rgb(115, 76, 150);
}
.dotR::after {
  content: "";
  background-color: rgb(93, 76, 150);
}

.dotL {
  top: 60%;
  left: 10%;
  background-color: rgb(93, 106, 154);
}
@media (max-width: 1200px) {
  .dotL {
    left: 2%;
  }
}
.dotL::before {
  content: "";
  background-color: rgb(76, 87, 150);
}
.dotL::after {
  content: "";
  background-color: rgb(76, 87, 150);
}

.wrapper .main {
  background: url("../img/bg_organize.jpg") no-repeat top #030304;
  background-size: contain;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation: bgmove 5s;
          animation: bgmove 5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  padding-bottom: 5em;
}
.wrapper h1 {
  top: 1.5%;
}
@media (max-width: 450px) {
  .wrapper h1 {
    top: 1%;
  }
}
@media (max-width: 450px) {
  .wrapper h1 a {
    height: 3rem;
  }
}

.organizeButWrap {
  margin: 0 auto;
  max-width: 600px;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 25px;
}
.organizeButWrap .organizeBut {
  font-size: 1.2rem;
  padding: 0.8em 2.2em;
  cursor: pointer;
  text-align: center;
  color: white;
  background-color: black;
}
@media (max-width: 450px) {
  .organizeButWrap .organizeBut {
    font-size: 1rem;
    padding: 0.8em 0.7em;
  }
}
.organizeButWrap .orActive {
  border-radius: 20px 0 20px 0;
  -webkit-transition: border-radius 0.3s ease;
  transition: border-radius 0.3s ease;
  background-color: #c83493;
}

.listItemWrap span {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.5);
}
.listItemWrap .listItem {
  background-color: #1c1616;
  padding: 1.5em 1.5em 2em 1.5em;
  margin-bottom: 15px;
}
@media (max-width: 450px) {
  .listItemWrap .listItem {
    margin-bottom: 30px;
    padding: 1em 1.5em 1.5em 1.5em;
  }
}
.listItemWrap .itemState {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  color: white;
  font-size: 1.2rem;
}
@media (max-width: 450px) {
  .listItemWrap .itemState {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.listItemWrap .itemState p {
  color: white;
  font-size: 1.1rem;
}
.listItemWrap .state {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #dc4646;
}
@media (max-width: 450px) {
  .listItemWrap .state {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}
.listItemWrap .state img {
  margin-left: 10px;
  cursor: pointer;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.listItemWrap .state img:hover {
  scale: 1.1;
}
@media (max-width: 450px) {
  .listItemWrap .state img {
    margin-left: 80px;
  }
}
.listItemWrap .pass {
  color: #46acdc;
}

.contentWrap {
  max-width: 850px;
  width: 100%;
}
@media (max-width: 860px) {
  .contentWrap {
    max-width: 780px;
  }
}
@media (max-width: 820px) {
  .contentWrap {
    max-width: 750px;
  }
}
@media (max-width: 768px) {
  .contentWrap {
    max-width: 700px;
  }
}
@media (max-width: 450px) {
  .contentWrap {
    max-width: 400px;
  }
}
@media (max-width: 414px) {
  .contentWrap {
    max-width: 350px;
  }
}
@media (max-width: 390px) {
  .contentWrap {
    max-width: 310px;
  }
}
@media (max-width: 860px) {
  .contentWrap .content {
    max-width: 660px;
    padding: 2em 1em;
  }
}
@media (max-width: 450px) {
  .contentWrap .content {
    max-width: 332px;
  }
}
.contentWrap .fromGroup {
  padding: 1.5em 1.5em 2em 1.5em;
}
@media (max-width: 450px) {
  .contentWrap .fromGroup {
    padding: 1.2em 0.3em 1.7em 0.3em;
    font-size: 0.9rem;
  }
}
.contentWrap .fromGroup .control-label {
  color: rgba(255, 255, 255, 0.5);
  display: block;
}
.contentWrap .fromGroup select {
  display: block;
  width: 100%;
  padding: 1.2rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  margin-top: 5px;
  box-shadow: none;
  -webkit-box-shadow: none;
  background: none;
  border: none;
  color: white;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
.contentWrap .fromGroup select::-webkit-input-placeholder {
  color: red;
}
.contentWrap .fromGroup select::-moz-placeholder {
  color: red;
}
.contentWrap .fromGroup select:-ms-input-placeholder {
  color: red;
}
.contentWrap .fromGroup select::-ms-input-placeholder {
  color: red;
}
.contentWrap .fromGroup select::placeholder {
  color: red;
}
.contentWrap .fromGroup input {
  display: block;
  width: 100%;
  padding: 1.2rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  margin-top: 5px;
  box-shadow: none;
  -webkit-box-shadow: none;
  background: none;
  border: none;
  color: white;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
.contentWrap .fromGroup input::-webkit-input-placeholder {
  color: rgb(79, 79, 79);
}
.contentWrap .fromGroup input::-moz-placeholder {
  color: rgb(79, 79, 79);
}
.contentWrap .fromGroup input:-ms-input-placeholder {
  color: rgb(79, 79, 79);
}
.contentWrap .fromGroup input::-ms-input-placeholder {
  color: rgb(79, 79, 79);
}
.contentWrap .fromGroup input::placeholder {
  color: rgb(79, 79, 79);
}
.contentWrap .fromGroup select option {
  background-color: #d4c5ff;
  color: #000000;
  padding: 5px;
}
.contentWrap .fromGroup :focus, .contentWrap .fromGroup :focus {
  outline: none;
}
.contentWrap .fromGroup select:focus, .contentWrap .fromGroup input:focus {
  border: solid rgba(87, 87, 87, 0.1) 1px;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}
.contentWrap .fromGroup span {
  font-size: 1rem;
}

.userTeam {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 25px;
}
.userTeam img {
  width: 167px;
  height: 167px;
}
@media (max-width: 450px) {
  .userTeam img {
    width: 30%;
    height: auto;
  }
}
.userTeam .teamInfo {
  padding-left: 2rem;
  color: white;
  font-size: 2rem;
  font-weight: 600;
}
@media (max-width: 450px) {
  .userTeam .teamInfo {
    font-size: 1.1rem;
    padding-left: 1.5rem;
  }
}
.userTeam .teamInfo p {
  font-weight: 400;
}
.userTeam .teamInfo span {
  font-size: 2.2rem;
  font-weight: 700;
  display: block;
  color: #c83493;
}
.userTeam .teamInfo span::before {
  content: "";
  background: url("../img/shield.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 5px;
}

.enterBut {
  text-align: center;
  background-color: #c83493;
}

.orInfoContent .teamMemberGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.orInfoContent .teamMemberGroup .fromGroup {
  width: 40%;
}
.orInfoContent .captain::before {
  content: "";
  background: url("../img/captain.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 5px;
}
.orInfoContent .powerpoint {
  font-weight: 900;
  font-size: 1.7rem;
  color: #c83493;
}
@media (max-width: 450px) {
  .orInfoContent .powerpoint {
    font-size: 1.5rem;
  }
}
.orInfoContent .powerpoint::before {
  content: "";
  background: url("../img/shield.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 5px;
}
.orInfoContent .listNum01::before {
  content: "";
  background: url("../img/01.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 5px;
}
.orInfoContent .listNum02::before {
  content: "";
  background: url("../img/02.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 5px;
}
.orInfoContent .listNum03::before {
  content: "";
  background: url("../img/03.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 5px;
}
.orInfoContent .listNum04::before {
  content: "";
  background: url("../img/04.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 5px;
}
.orInfoContent .listNum05::before {
  content: "";
  background: url("../img/05.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 5px;
}
.orInfoContent .listNum06::before {
  content: "";
  background: url("../img/06.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 5px;
}
.orInfoContent .listNum07::before {
  content: "";
  background: url("../img/07.png") no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 5px;
}

.dotR {
  background-color: rgb(146, 93, 154);
}
.dotR::before {
  content: "";
  background-color: rgb(134, 76, 150);
}
.dotR::after {
  content: "";
  background-color: rgb(144, 76, 150);
}

.dotL {
  top: 60%;
  background-color: rgb(154, 93, 111);
}
.dotL::before {
  content: "";
  background-color: rgb(150, 76, 106);
}
.dotL::after {
  content: "";
  background-color: rgb(150, 76, 91);
}