@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@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Fascinate&family=Kaisei+Opti&family=Noto+Serif+TC:wght@200..900&family=Sorts+Mill+Goudy:ital@0;1&display=swap");
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ol,
ul {
  list-style: none;
}

a {
  text-decoration: none;
}

img {
  height: auto;
  display: block;
}

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

/**** Variables ****/
:root {
  --footerbg-color: white;
  --bg-color: #dde48e;
  --numbg-color: #ffe292;
  --light-point: #b36108;
  --font-color: #78421e;
  --span: 1.25rem;
  --font-size-XS: 0.95rem;
  --font-size-S: 1rem;
  --font-size-M:1.1rem;
  --font-size-L:1.3rem;
  --font-size-XL:1.56rem;
  --font-size-XXL:1.8rem;
  --font-size-XXXL:2.187rem;
  --body-font: "Noto Sans TC", sans-serif;
  --scrollbar-bg: #ffffff;
  --scrollbar-thumb:#bd8f6a ;
  --scrollbar-thumb-hover: #ffca58;
}

/**** Font ****/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

h2 {
  font-size: calc(var(--font-size-S) * 2.5);
}

h3 {
  font-size: calc(var(--font-size-S) * 1.88);
}

h4 {
  font-size: calc(var(--font-size-S) * 1.57);
}

p {
  font-size: var(--font-size-S);
  line-height: calc(var(--font-size-S) * 1.75);
}

/**** Scrollbar ****/
::-webkit-scrollbar {
  width: 15px;
  background-color: var(--scrollbar-bg);
  /* bar 背景色 */
}

::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
  /* bar 滑動色 */
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--scrollbar-thumb-hover);
}

/**** breakpoint ****/
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--body-font);
  background: url("../img/sparkle.png") no-repeat top/contain, -webkit-gradient(linear, left top, left bottom, from(#e1e489), to(#5de8fd));
  background: url("../img/sparkle.png") no-repeat top/contain, linear-gradient(to bottom, #e1e489, #5de8fd);
  color: #e1e489;
  overflow-x: hidden;
}

a {
  color: #e1e489;
}

main {
  max-width: 2560px;
  margin: 0 auto;
}

h6 {
  font-size: 1.6rem;
  color: #b72c3e;
  text-align: left;
  margin-bottom: 1vw;
}

ul,
ol {
  color: #6f1e28;
  font-size: var(--font-size-XS);
  text-align: left;
  font-weight: 500;
}
ul li,
ol li {
  margin-bottom: 0.5vw;
}

ul li {
  list-style: disc;
}

ol li {
  list-style: decimal;
}

.loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: linear-gradient(135deg, #ffe19a, #efa4a6, #f5c5c8);
  background-size: 400% 400%;
  -webkit-animation: gradientShift 10s ease infinite;
          animation: gradientShift 10s ease infinite;
  opacity: 1;
  -webkit-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
}
.loader.fadeOut {
  opacity: 0;
}
.loader .loaderContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.loader .loaderCake {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  position: relative;
  display: block;
  max-width: 100%;
  width: 75%;
  z-index: 5;
}
@media (max-width: 1920px) {
  .loader .loaderCake {
    width: 55%;
  }
}
@media (max-width: 1024px) {
  .loader .loaderCake {
    width: 100%;
  }
}
.loader .loaderLines {
  max-width: 100%;
  -webkit-animation: swing 5s infinite ease-in-out;
          animation: swing 5s infinite ease-in-out;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media (max-width: 1024px) {
  .loader .loaderLines {
    display: none;
  }
}
.loader .mLoaderLines {
  display: none;
}
@media (max-width: 1024px) {
  .loader .mLoaderLines {
    display: block;
    max-width: 100%;
    -webkit-animation: swing 5s infinite ease-in-out;
            animation: swing 5s infinite ease-in-out;
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}
.loader .cover {
  position: absolute;
  bottom: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f5c5c8, #efa4c1, #a4afef);
  z-index: 1;
  -webkit-transition: bottom 0.8s ease;
  transition: bottom 0.8s ease;
}
.loader .text {
  position: absolute;
  top: 20%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 4rem;
  color: white;
  text-align: center;
  font-weight: bold;
  letter-spacing: 2px;
  opacity: 0;
  z-index: 6;
  font-family: "Fascinate", system-ui;
  font-weight: 400;
}

.kv {
  position: relative;
  background: url("../img/kv.jpg") no-repeat center;
  background-size: cover;
  height: 37vw;
  max-width: 100%;
}
.kv img {
  max-width: 100%;
}
@media (max-width: 1920px) {
  .kv {
    height: 46vw;
  }
}
@media (max-width: 1024px) {
  .kv {
    background: url("../img/M_kv.jpg") no-repeat top;
    background-size: cover;
    height: 183vw;
  }
}
.kv .angelPoring {
  position: absolute;
  left: 30vw;
  top: 2vw;
}
@media (max-width: 1920px) {
  .kv .angelPoring {
    left: 26vw;
    width: 8%;
  }
}
@media (max-width: 1024px) {
  .kv .angelPoring {
    width: 22%;
    left: 7vw;
    top: 11vw;
  }
}
@media (max-width: 821px) {
  .kv .angelPoring {
    width: 22%;
    left: 7vw;
    top: 3vw;
  }
}
@media (max-width: 768px) {
  .kv .angelPoring {
    top: 9vw;
  }
}
.kv h1 {
  position: absolute;
  z-index: 50;
  left: 5vw;
  top: 1vw;
}
.kv h1 a {
  display: inline-block;
  width: 12vw;
  aspect-ratio: 199/84;
  background: url("../img/ROM_LOGO.png") no-repeat center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
@media (max-width: 1920px) {
  .kv h1 a {
    width: 12vw;
  }
}
@media (max-width: 1024px) {
  .kv h1 a {
    width: 37vw;
  }
}
@media (max-width: 821px) {
  .kv h1 a {
    width: 35vw;
  }
}
@media (max-width: 414px) {
  .kv h1 a {
    width: 42vw;
  }
}
@media (max-width: 1920px) {
  .kv h1 {
    left: 1vw;
  }
}
@media (max-width: 1024px) {
  .kv h1 {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    margin-top: 16vw;
    top: 0;
  }
}
@media (max-width: 576px) {
  .kv h1 {
    margin-top: 18vw;
  }
}
.kv .titleWrap {
  position: absolute;
  width: 20vw;
  aspect-ratio: 531/225;
  top: 5vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 1920px) {
  .kv .titleWrap {
    width: 25vw;
  }
}
@media (max-width: 1024px) {
  .kv .titleWrap {
    width: 69vw;
    top: 35vw;
  }
}
@media (max-width: 821px) {
  .kv .titleWrap {
    width: 68vw;
    top: 34vw;
  }
}
@media (max-width: 821px) {
  .kv .titleWrap {
    width: 72vw;
    top: 28vw;
  }
}
@media (max-width: 768px) {
  .kv .titleWrap {
    top: 35vw;
  }
}
.kv .ch {
  position: absolute;
  right: 36vw;
  top: 15vw;
}
.kv .ch .chMain {
  position: relative;
  z-index: 2;
  -webkit-animation: floatRotate 0.7s ease-in-out infinite;
          animation: floatRotate 0.7s ease-in-out infinite;
  -webkit-transform-origin: 20% 100%;
          transform-origin: 20% 100%;
  width: 16vw;
  aspect-ratio: 476/499;
}
@media (max-width: 1920px) {
  .kv .ch .chMain {
    width: 20vw;
  }
}
@media (max-width: 1024px) {
  .kv .ch .chMain {
    width: 43vw;
  }
}
.kv .ch .shadow {
  position: absolute;
  bottom: -0.8vw;
  left: 30%;
  z-index: 1;
  max-width: 100%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-animation: shadowScale 0.7s ease-in-out infinite;
          animation: shadowScale 0.7s ease-in-out infinite;
}
@media (max-width: 576px) {
  .kv .ch .shadow {
    left: 18%;
  }
}
@media (max-width: 1920px) {
  .kv .ch {
    top: 17vw;
    right: 33vw;
  }
}
@media (max-width: 1024px) {
  .kv .ch {
    right: 51vw;
    top: 72vw;
  }
}
.kv .sky {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  z-index: 1;
}

.zoneBg {
  width: 100%;
  position: relative;
  background: url("../img/sparkle.png") repeat top/contain, -webkit-gradient(linear, left top, left bottom, from(#e1e489), to(#5de8fd));
  background: url("../img/sparkle.png") repeat top/contain, linear-gradient(to bottom, #e1e489, #5de8fd);
}
@media (max-width: 1024px) {
  .zoneBg {
    padding-bottom: 4vw;
  }
}
.zoneBg .zoneWidth {
  max-width: 850px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .zoneBg .zoneWidth {
    max-width: 800px;
  }
}
@media (max-width: 821px) {
  .zoneBg .zoneWidth {
    max-width: 670px;
  }
}
@media (max-width: 576px) {
  .zoneBg .zoneWidth {
    max-width: 100%;
    padding: 0 9vw;
  }
}
@media (max-width: 575px) {
  .zoneBg .zoneWidth {
    padding: 0 6vw;
  }
}
.zoneBg .gotop {
  position: absolute;
  right: 4vw;
  bottom: 2vw;
  z-index: 50;
}
.zoneBg .gotop a {
  position: relative;
  width: 6vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: block;
  background-color: #844d8e;
  border: 0.2vw solid #a664c7;
  color: white;
  font-family: "Fascinate", system-ui;
  font-weight: 400;
  font-size: 1.7vw;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  overflow: hidden;
}
.zoneBg .gotop a::before {
  content: "";
  position: absolute;
  top: 10%;
  left: 16%;
  width: 37%;
  height: 22%;
  background: radial-gradient(ellipse at top left, #a570af, #a570af);
  border-radius: 50%;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 1024px) {
  .zoneBg .gotop a {
    width: 11vw;
    font-size: 2.5vw;
  }
}
@media (max-width: 768px) {
  .zoneBg .gotop a {
    width: 14vw;
    font-size: 4.5vw;
  }
}
@media (max-width: 576px) {
  .zoneBg .gotop a {
    width: 22vw;
    font-size: 6.5vw;
  }
}
.zoneBg .gotop .arrow {
  display: block;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.zoneBg .gotop .arrow img {
  width: 1vw;
  aspect-ratio: 19/16;
  color: white;
}
@media (max-width: 1024px) {
  .zoneBg .gotop .arrow img {
    width: 2vw;
  }
}
@media (max-width: 576px) {
  .zoneBg .gotop .arrow img {
    width: 4vw;
  }
}
.zoneBg .gotop .label {
  display: block;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.zoneBg .gotop:hover {
  -webkit-animation: balloonBounce 0.4s ease-in-out;
          animation: balloonBounce 0.4s ease-in-out;
}
.zoneBg .gotop:hover .arrow,
.zoneBg .gotop:hover .label {
  -webkit-animation: floatUp 0.6s ease-in-out;
          animation: floatUp 0.6s ease-in-out;
}
@media (max-width: 1024px) {
  .zoneBg .gotop {
    position: static;
    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;
  }
}
.zoneBg .ribbon {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  max-width: 1920px;
  width: 96vw;
  aspect-ratio: 1858/802;
  pointer-events: none;
}
.zoneBg .balloonLeftWrap,
.zoneBg .balloonRightWrap {
  position: fixed;
  top: 2vw;
  z-index: 15;
  pointer-events: none;
  height: 100vh;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
@media (max-width: 1024px) {
  .zoneBg .balloonLeftWrap,
  .zoneBg .balloonRightWrap {
    display: none;
  }
}
.zoneBg .balloonLeftWrap.active,
.zoneBg .balloonRightWrap.active {
  opacity: 1;
}
.zoneBg .balloonLeftWrap {
  left: 0;
  width: 17vw;
}
.zoneBg .balloonLeftWrap .ballL1 {
  top: 0;
  left: -2vw;
  -webkit-animation: float 3s ease-in-outinfinite;
          animation: float 3s ease-in-outinfinite;
}
.zoneBg .balloonLeftWrap .ballL3 {
  top: 22vh;
  left: 2.8vw;
  -webkit-animation: float2 4s ease-in-out infinite;
          animation: float2 4s ease-in-out infinite;
}
.zoneBg .balloonLeftWrap .ballL2 {
  top: 35vh;
  left: 6vw;
  -webkit-animation: float 4s ease-in-out infinite;
          animation: float 4s ease-in-out infinite;
}
.zoneBg .balloonLeftWrap .ballL4 {
  top: 50vh;
  left: 0vw;
  -webkit-animation: float3 4s ease-in-out infinite;
          animation: float3 4s ease-in-out infinite;
}
.zoneBg .balloonLeftWrap .ballL5 {
  top: 65vh;
  left: -1vw;
  -webkit-animation: float2 4s ease-in-out infinite;
          animation: float2 4s ease-in-out infinite;
}
.zoneBg .balloonRightWrap {
  right: 0;
  width: 17vw;
}
.zoneBg .balloonRightWrap .ballR1 {
  right: 3vw;
  top: 3vw;
  -webkit-animation: float 2s ease-in-out infinite;
          animation: float 2s ease-in-out infinite;
}
.zoneBg .balloonRightWrap .ballR2 {
  right: 0;
  top: 23vw;
  -webkit-animation: float3 4s ease-in-out infinite;
          animation: float3 4s ease-in-out infinite;
}
.zoneBg .bal {
  position: absolute;
  width: 13.5vw;
}
.zoneBg .star {
  position: absolute;
  -webkit-animation: twinkle 1.2s infinite ease-in-out;
          animation: twinkle 1.2s infinite ease-in-out;
  opacity: 1;
}
.zoneBg .starL1 {
  left: 12vw;
  top: 5vw;
}
.zoneBg .starL2 {
  left: 12vw;
  top: 20vw;
  width: 2.5vw;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.zoneBg .starL3 {
  left: 16vw;
  top: 22vw;
  width: 1.8vw;
  -webkit-animation-delay: 0.2;
          animation-delay: 0.2;
}
.zoneBg .starL4 {
  left: 14vw;
  top: 27vw;
  width: 4vw;
}
.zoneBg .starR1 {
  right: 18vw;
  top: 18vw;
}
.zoneBg .starR2 {
  right: 17vw;
  top: 23vw;
  width: 2.5vw;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.zoneBg .starR3 {
  right: 18vw;
  top: 6vw;
  width: 2.2vw;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.zoneBg .starR4 {
  right: 20vw;
  top: 8vw;
  width: 2vw;
}
.zoneBg .starR5 {
  right: 8vw;
  top: 35vw;
  width: 2.7vw;
}

.zone {
  margin: 0 auto;
  text-align: center;
}
.zone h2 {
  margin: 0 auto;
  width: 28vw;
  margin-bottom: 2vw;
}
.zone h2 img {
  width: 100%;
}
@media (max-width: 1024px) {
  .zone h2 {
    width: 68vw;
  }
}
@media (max-width: 576px) {
  .zone h2 {
    width: 100%;
  }
}
.zone h4 {
  margin-bottom: 1vw;
}
.zone h4 img {
  max-width: 100%;
  width: 67%;
  margin: 0 auto;
}
@media (max-width: 1920px) {
  .zone h4 img {
    width: 63%;
  }
}
@media (max-width: 1024px) {
  .zone h4 img {
    width: 80%;
  }
}
@media (max-width: 576px) {
  .zone h4 img {
    width: 100%;
  }
}
@media (max-width: 1920px) {
  .zone h4 {
    margin-bottom: 2vw;
  }
}
@media (max-width: 1024px) {
  .zone h4 {
    margin-bottom: 6vw;
  }
}
@media (max-width: 821px) {
  .zone h4 {
    margin-bottom: 8vw;
  }
}
@media (max-width: 768px) {
  .zone h4 {
    margin-bottom: 3vw;
  }
}
.zone h5 {
  font-size: var(--font-size-M);
  color: #6f1e28;
  background-color: #fccec9;
  display: inline-block;
  padding: 0.3vw 2vw;
  border-radius: 10vw;
  position: relative;
  margin-bottom: 3vw;
}
.zone h5::before {
  content: "";
  display: inline-block;
  left: 0;
  width: 0.6vw;
  height: 0.6vw;
  background-color: #6f1e28;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 0.5vw;
  vertical-align: middle;
}
@media (max-width: 1024px) {
  .zone h5 {
    margin-bottom: 6vw;
  }
}
@media (max-width: 576px) {
  .zone h5 {
    margin-bottom: 11vw;
  }
}
.zone .contentWrap {
  position: relative;
}
.zone .contentWrap .content {
  position: relative;
  background: url("../img/grid.png") no-repeat top #fff9ec;
  background-size: cover;
  border: #9e404c 3px solid;
  border-radius: 20px;
  padding: 7em 3em 3em 3em;
  text-align: left;
}
.zone .contentWrap .content::before {
  content: "";
  position: absolute;
  background: url("../img/contentDeco.png") no-repeat top;
  background-size: contain;
  height: 58px;
  top: 0;
  width: 100%;
  left: 0;
}
.zone .contentWrap .content p {
  font-size: var(--font-size-M);
  color: #6f1e28;
  font-weight: 500;
}
.zone .contentWrap .content .pSmall {
  font-size: 17px;
}
@media (max-width: 1024px) {
  .zone .contentWrap .content {
    padding: 6em 2em 3em 2em;
  }
}
@media (max-width: 575px) {
  .zone .contentWrap .content {
    padding-top: 3em;
    border-radius: 10px;
  }
}

.zone01 {
  padding-top: 5vw;
}
.zone01 span {
  color: var(--font-color);
  font-size: var(--font-size-XL);
  font-weight: 700;
  display: block;
  margin-bottom: 0.7vw;
}
.zone01 .contentWrap .content {
  position: relative;
  padding: 5em 10em 3em 10em;
}
.zone01 .contentWrap .content .point {
  position: relative;
  display: inline;
  font-size: var(--font-size-XXL);
  z-index: 1;
  margin-left: 1vw;
}
.zone01 .contentWrap .content .point:after {
  content: "";
  position: absolute;
  z-index: -1;
  background-color: #ffd0f0;
  border-radius: 1.5vw;
  height: 1.5vw;
  left: -0.5vw;
  bottom: -0.4vw;
  padding: 0 4.3vw;
}
@media (max-width: 450px) {
  .zone01 .contentWrap .content .point:after {
    height: 3.5vw;
    padding: 0 19.3vw;
    bottom: -2vw;
  }
}
@media (max-width: 450px) {
  .zone01 .contentWrap .content .point {
    display: block;
  }
}
.zone01 .contentWrap .content img {
  position: absolute;
  right: 5vw;
  top: 50%;
}
@media (max-width: 576px) {
  .zone01 .contentWrap .content img {
    top: 64%;
  }
}
@media (max-width: 450px) {
  .zone01 .contentWrap .content img {
    top: unset;
    bottom: 6vw;
  }
}
@media (max-width: 821px) {
  .zone01 .contentWrap .content {
    padding: 5em 5em 3em 5em;
  }
}
@media (max-width: 576px) {
  .zone01 .contentWrap .content {
    padding: 4em 3em 11em 3em;
  }
}
@media (max-width: 576px) {
  .zone01 .contentWrap .content {
    padding: 4em 2em 11em 2em;
  }
}
.zone01 .pWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}
.zone01 .pWrap img {
  max-width: 100%;
  width: 36%;
}
@media (max-width: 768px) {
  .zone01 .pWrap img {
    width: 50%;
  }
}
@media (max-width: 768px) {
  .zone01 {
    padding-top: 20vw;
  }
}

.zone02 .infoWrap {
  position: relative;
}
.zone02 .infoWrap .catWrap {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  top: 19vw;
  gap: 37vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
}
.zone02 .infoWrap .catWrap img {
  width: 15vw;
  aspect-ratio: 436/487;
  pointer-events: none;
  z-index: 2;
  -webkit-animation: bounce 1s infinite;
          animation: bounce 1s infinite;
}
@media (max-width: 1920px) {
  .zone02 .infoWrap .catWrap img {
    width: 19vw;
  }
}
@media (max-width: 1440px) {
  .zone02 .infoWrap .catWrap img {
    width: 21vw;
  }
}
@media (max-width: 1024px) {
  .zone02 .infoWrap .catWrap img {
    position: static;
    width: 29vw;
  }
}
@media (max-width: 768px) {
  .zone02 .infoWrap .catWrap img {
    width: 39vw;
  }
}
.zone02 .infoWrap .catWrap .catRight {
  right: -15vw;
}
@media (max-width: 1440px) {
  .zone02 .infoWrap .catWrap .catRight {
    right: -8vw;
  }
}
.zone02 .infoWrap .catWrap .catLeft {
  left: -15vw;
}
@media (max-width: 1440px) {
  .zone02 .infoWrap .catWrap .catLeft {
    left: -10vw;
  }
}
@media (max-width: 1920px) {
  .zone02 .infoWrap .catWrap {
    top: 16vw;
  }
}
@media (max-width: 1440px) {
  .zone02 .infoWrap .catWrap {
    top: 19vw;
    gap: 54vw;
  }
}
@media (max-width: 1024px) {
  .zone02 .infoWrap .catWrap {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 2vw;
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    gap: 0;
  }
}
@media (max-width: 575px) {
  .zone02 .infoWrap .catWrap {
    margin-top: 7vw;
  }
}
.zone02 .timeWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2vw;
}
.zone02 .timeWrap li {
  text-align: center;
  margin-bottom: 0;
  list-style: none;
  width: 12vw;
  aspect-ratio: 296/442;
  padding-top: 2vw;
}
.zone02 .timeWrap li span {
  color: #2d4c0c;
  font-size: 16px;
  line-height: 0.7;
}
.zone02 .timeWrap li p {
  font-size: 1.25rem;
  font-weight: 600;
}
.zone02 .timeWrap li p:last-child {
  margin-top: 1.5vw;
  font-size: var(--font-size-L);
}
@media (max-width: 1920px) {
  .zone02 .timeWrap li p:last-child {
    margin-top: 2.2vw;
  }
}
@media (max-width: 1700px) {
  .zone02 .timeWrap li p:last-child {
    margin-top: 1.2vw;
  }
}
@media (max-width: 1024px) {
  .zone02 .timeWrap li p:last-child {
    margin-top: 3.2vw;
  }
}
@media (max-width: 576px) {
  .zone02 .timeWrap li p:last-child {
    font-size: 18px;
    margin-top: 1vw;
  }
}
.zone02 .timeWrap li:nth-child(1) {
  background: url("../img/time1.png") no-repeat top;
  background-size: contain;
}
.zone02 .timeWrap li:nth-child(1) p {
  color: #822c2d;
}
.zone02 .timeWrap li:nth-child(2) {
  background: url("../img/time2.png") no-repeat top;
  background-size: contain;
}
.zone02 .timeWrap li:nth-child(2) p {
  color: #2e3d90;
}
.zone02 .timeWrap li:nth-child(3) {
  background: url("../img/time3.png") no-repeat top;
  background-size: contain;
}
.zone02 .timeWrap li:nth-child(3) p {
  color: #2d4c0c;
}
@media (max-width: 1024px) {
  .zone02 .timeWrap li {
    width: 23vw;
    padding-top: 4vw;
  }
}
@media (max-width: 768px) {
  .zone02 .timeWrap li {
    width: 26vw;
  }
}
@media (max-width: 576px) {
  .zone02 .timeWrap li {
    padding-top: 4vw;
  }
}
@media (max-width: 450px) {
  .zone02 .timeWrap {
    display: none;
  }
}
.zone02 .day {
  display: none;
}
@media (max-width: 450px) {
  .zone02 .day {
    display: block;
    max-width: 100%;
  }
}
.zone02 .loginWrap {
  background: url("../img/envelope.png") no-repeat top;
  background-size: contain;
  width: 100%;
  aspect-ratio: 900/390;
  padding-top: 2vw;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .zone02 .loginWrap {
    padding-top: 4vw;
  }
}
@media (max-width: 821px) {
  .zone02 .loginWrap {
    padding-top: 3vw;
  }
}
@media (max-width: 576px) {
  .zone02 .loginWrap {
    background: url("../img/M-envelope.png") no-repeat top;
    background-size: contain;
    width: 100%;
    aspect-ratio: 909/563;
    padding-top: 7vw;
  }
}
@media (max-width: 375px) {
  .zone02 .loginWrap {
    padding-top: 5vw;
  }
}
.zone02 .loginWrap button {
  cursor: pointer;
}
.zone02 .loginWrap .loginTitle {
  font-size: var(--font-size-XXXL);
  color: #6f1e28;
  font-weight: 600;
  margin-bottom: 0.5vw;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5vw;
}
.zone02 .loginWrap .loginTitle::before {
  content: "";
  display: inline-block;
  background: url("../img/dot.png") no-repeat top;
  background-size: contain;
  width: 62px;
  aspect-ratio: 62/11;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.zone02 .loginWrap .loginTitle::after {
  content: "";
  display: inline-block;
  background: url("../img/dot.png") no-repeat top;
  background-size: contain;
  width: 62px;
  aspect-ratio: 62/11;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1920px) {
  .zone02 .loginWrap .loginTitle {
    margin-bottom: 2.5vw;
  }
}
@media (max-width: 576px) {
  .zone02 .loginWrap .loginTitle {
    font-size: 30px;
    margin-bottom: 4.5vw;
  }
}
.zone02 .loginWrap .socialLoginList {
  margin-bottom: 2vw;
}
@media (max-width: 1920px) {
  .zone02 .loginWrap .socialLoginList {
    margin-bottom: 3vw;
  }
}
@media (max-width: 1024px) {
  .zone02 .loginWrap .socialLoginList {
    margin-bottom: 5.5vw;
  }
}
.zone02 .loginWrap .socialLoginList button {
  border: 2px #a48b5d solid;
  border-radius: 0.5vw;
  margin: 0.5vw;
  width: 2.5vw;
  height: 2.5vw;
}
@media (max-width: 1920px) {
  .zone02 .loginWrap .socialLoginList button {
    width: 3.6vw;
    height: 3.6vw;
  }
}
@media (max-width: 1024px) {
  .zone02 .loginWrap .socialLoginList button {
    width: 6.6vw;
    height: 6.6vw;
  }
}
@media (max-width: 576px) {
  .zone02 .loginWrap .socialLoginList button {
    margin: 0 2vw;
    width: 10vw;
    height: 10vw;
  }
}
.zone02 .loginWrap .socialLoginList .facebook {
  background: url("../img/facebook.png") no-repeat top #e5cfa3;
  background-size: contain;
}
.zone02 .loginWrap .socialLoginList .facebook:hover {
  background: url("../img/facebook-hover.png") no-repeat top #ffefd0;
  background-size: contain;
}
.zone02 .loginWrap .socialLoginList .google {
  background: url("../img/google.png") no-repeat top #e5cfa3;
  background-size: contain;
}
.zone02 .loginWrap .socialLoginList .google:hover {
  background: url("../img/google-hover.png") no-repeat top #ffefd0;
  background-size: contain;
}
.zone02 .loginWrap .socialLoginList .ios {
  background: url("../img/ios.png") no-repeat top #e5cfa3;
  background-size: contain;
}
.zone02 .loginWrap .socialLoginList .ios:hover {
  background: url("../img/ios-hover.png") no-repeat top #ffefd0;
  background-size: contain;
}
.zone02 .loginWrap .socialLoginList .logOut {
  color: var(--font-color);
  font-weight: 600;
  font-size: var(--font-size-M);
  display: none;
}
.zone02 .loginWrap .socialLoginList .logOut button {
  position: relative;
  font-weight: 500;
  font-size: var(--font-size-S);
  background-color: #908ff3;
  color: white;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4vw 1vw;
  white-space: nowrap;
  height: auto;
  border-radius: 0.2vw;
  border: none;
  -webkit-box-shadow: 0 0 0 2px #b6b4fc, 0 0 0 3px #2d6bc9;
          box-shadow: 0 0 0 2px #b6b4fc, 0 0 0 3px #2d6bc9;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
}
.zone02 .loginWrap .socialLoginList .logOut button::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  pointer-events: none;
  -webkit-transform: scale3d(5, 2, 1) rotate(45deg) translate(-20%, -120%);
          transform: scale3d(5, 2, 1) rotate(45deg) translate(-20%, -120%);
}
.zone02 .loginWrap .socialLoginList .logOut button:hover::before {
  -webkit-transform: scale3d(1.9, 1.4, 1) rotate(45deg) translate(20%, 120%);
          transform: scale3d(1.9, 1.4, 1) rotate(45deg) translate(20%, 120%);
}
@media (max-width: 1024px) {
  .zone02 .loginWrap .socialLoginList .logOut button {
    padding: 0.7vw 2vw;
  }
}
.zone02 .loginWrap .signupBtn {
  margin: 0 auto;
  position: relative;
  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;
  width: 11vw;
  aspect-ratio: 270/63;
  border-radius: 5vw;
  background-color: #ff5656;
  color: white;
  font-size: var(--font-size-L);
  font-weight: 600;
  border: none;
  -webkit-box-shadow: 0 0 0 2px #ffaaaa, 0 0 0 4px #c92d2d;
          box-shadow: 0 0 0 2px #ffaaaa, 0 0 0 4px #c92d2d;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
}
.zone02 .loginWrap .signupBtn::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
  -webkit-transform: scale3d(1.9, 1.4, 1) rotate(45deg);
          transform: scale3d(1.9, 1.4, 1) rotate(45deg);
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  pointer-events: none;
  -webkit-transform: scale3d(1.9, 1.4, 1) rotate(45deg) translate(-20%, -120%);
          transform: scale3d(1.9, 1.4, 1) rotate(45deg) translate(-20%, -120%);
}
.zone02 .loginWrap .signupBtn:hover::before {
  -webkit-transform: scale3d(1.9, 1.4, 1) rotate(45deg) translate(20%, 110%);
          transform: scale3d(1.9, 1.4, 1) rotate(45deg) translate(20%, 110%);
}
@media (max-width: 1920px) {
  .zone02 .loginWrap .signupBtn {
    width: 14vw;
  }
}
@media (max-width: 1024px) {
  .zone02 .loginWrap .signupBtn {
    width: 24vw;
  }
}
@media (max-width: 576px) {
  .zone02 .loginWrap .signupBtn {
    width: 31vw;
  }
}
@media (max-width: 450px) {
  .zone02 .loginWrap .signupBtn {
    width: 37vw;
  }
}

.zone03 .prizeWrap {
  margin-bottom: 2vw;
}
.zone03 .prizeWrap .prize {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1vw;
  margin-bottom: 0.7vw;
}
@media (max-width: 1024px) {
  .zone03 .prizeWrap .prize {
    margin-bottom: 1.7vw;
  }
}
@media (max-width: 576px) {
  .zone03 .prizeWrap .prize {
    -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;
  }
}
.zone03 .prizeWrap .prize img {
  max-width: 100%;
}
@media (max-width: 1920px) {
  .zone03 .prizeWrap {
    margin-bottom: 4vw;
  }
}
@media (max-width: 576px) {
  .zone03 .prizeWrap {
    margin-bottom: 13vw;
  }
}
.zone03 .remark {
  background-color: #f5dbbc;
  padding: 0.4vw 2vw;
  font-weight: 600;
  font-size: var(--font-size-S);
  color: #6f1e28;
}
@media (max-width: 1024px) {
  .zone03 .remark {
    padding: 0.4vw 0 0.4vw 3vw;
  }
}
@media (max-width: 450px) {
  .zone03 .remark {
    padding: 0.4vw 3vw;
  }
}
.zone03 .contentWrap .content .contentInfo {
  text-align: left;
}
.zone03 .contentWrap .content .contentInfo p {
  font-size: var(--font-size-S);
}
.zone03 .contentWrap .content .contentInfo p:last-child {
  background-color: white;
  border-radius: 0.5vw;
  padding: 0.2vw 1vw;
  margin-top: 0.5vw;
}
.zone03 .eventWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.zone03 .eventWrap li {
  list-style: none;
  margin-bottom: 2vw;
  width: 49%;
  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-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1024px) {
  .zone03 .eventWrap li {
    margin-bottom: 5vw;
  }
}
@media (max-width: 576px) {
  .zone03 .eventWrap li {
    width: 100%;
  }
}
.zone03 .eventWrap .pic {
  width: 18vw;
  aspect-ratio: 343/168;
  max-width: 100%;
}
@media (max-width: 1024px) {
  .zone03 .eventWrap .pic {
    width: 100%;
  }
}
.zone03 .eventWrap .eventTitleWrap {
  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;
  margin-bottom: 0.7vw;
  gap: 0.5vw;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.zone03 .eventWrap .eventTitleWrap h6 {
  margin-bottom: 0;
}
.zone03 .eventWrap .eventTitleWrap .num {
  width: 3.5vw;
  aspect-ratio: 107/103;
  max-width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1920px) {
  .zone03 .eventWrap .eventTitleWrap .num {
    width: 4.5vw;
  }
}
@media (max-width: 1024px) {
  .zone03 .eventWrap .eventTitleWrap .num {
    width: 7vw;
  }
}
@media (max-width: 821px) {
  .zone03 .eventWrap .eventTitleWrap .num {
    width: 9vw;
  }
}
@media (max-width: 576px) {
  .zone03 .eventWrap .eventTitleWrap .num {
    width: 14vw;
  }
}
@media (max-width: 768px) {
  .zone03 .eventWrap .eventTitleWrap {
    margin-bottom: 1.7vw;
  }
}
.zone03 .eventWrap .eventTile {
  width: 9vw;
}
@media (max-width: 1920px) {
  .zone03 .eventWrap .eventTile {
    width: 14vw;
  }
}
@media (max-width: 1024px) {
  .zone03 .eventWrap .eventTile {
    width: 28vw;
  }
}
@media (max-width: 576px) {
  .zone03 .eventWrap .eventTile {
    width: 100%;
  }
}
.zone03 .eventWrap p {
  line-height: 1.3;
}
@media (max-width: 576px) {
  .zone03 .eventWrap {
    -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;
  }
}

@media (max-width: 1024px) {
  .zone04 .contentWrap .content {
    padding: 6em 4em 3em 4em;
  }
}
@media (max-width: 576px) {
  .zone04 .contentWrap .content {
    padding-top: 4em;
  }
}
@media (max-width: 575px) {
  .zone04 .contentWrap .content {
    padding: 3em 2em 3em 2em;
  }
}
@media (max-width: 450px) {
  .zone04 .contentWrap .content {
    padding: 3em 1em 3em 2em;
  }
}
.zone04 .contentWrap .content span {
  color: #bd1648;
}
.zone04 .contentWrap .content div:first-child {
  margin-bottom: 3vw;
}
.zone04 .contentWrap .content a {
  position: relative;
  display: inline-block;
  background-color: #ffd0f0;
  border-radius: 2vw;
  color: #bd1648;
  padding: 0 0.3vw;
}
.zone04 .contentWrap .content a:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}

.marqee {
  position: relative;
  background: url(../img/marqee_dot.png) repeat #61cdde;
  overflow-x: clip;
}
.marqee .emoji {
  position: relative;
}
.marqee .emoji img:nth-of-type(2) {
  position: absolute;
  left: 35%;
  bottom: 80%;
}
.marqee .emoji .poringJelly {
  -webkit-animation: jelly 1s both infinite;
          animation: jelly 1s both infinite;
}
.marqee .emoji .emojiBounce {
  display: inline-block;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  -webkit-animation: squishyBounce 1.4s ease-in-out infinite;
          animation: squishyBounce 1.4s ease-in-out infinite;
}
.marqee div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 1.5vw 0;
  z-index: 15;
  width: 100%;
}
@media (max-width: 450px) {
  .marqee div {
    padding: 4.5vw 0;
  }
}
.marqee div.group01 {
  position: relative;
  -webkit-animation: 20s runrunporing01 infinite linear;
          animation: 20s runrunporing01 infinite linear;
}
@media (max-width: 768px) {
  .marqee div.group01 {
    -webkit-animation: 7s runrunporing01 infinite linear;
            animation: 7s runrunporing01 infinite linear;
  }
}
.marqee div.group02 {
  position: absolute;
  top: 0;
  -webkit-animation: 20s runrunporing02 infinite linear;
          animation: 20s runrunporing02 infinite linear;
}
@media (max-width: 768px) {
  .marqee div.group02 {
    -webkit-animation: 7s runrunporing02 infinite linear;
            animation: 7s runrunporing02 infinite linear;
  }
}
@media (max-width: 768px) {
  .marqee .pcMarqee {
    display: none;
  }
}
.marqee img {
  max-width: 100%;
  width: 80%;
}
.marqee img:nth-of-type(2) {
  max-width: 100%;
  width: 50%;
}

.part-mb {
  margin-bottom: 10vw;
}
@media (max-width: 1024px) {
  .part-mb {
    margin-bottom: 20vw;
  }
}
@media (max-width: 821px) {
  .part-mb {
    margin-bottom: 35vw;
  }
}

@media (max-width: 821px) {
  .part-mb.zone04 {
    margin-bottom: 5vw;
  }
}

footer {
  background-color: #3d5d81;
}

@-webkit-keyframes floatRotate {
  0% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(1.2deg);
            transform: translateY(0) rotate(1.2deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
}

@keyframes floatRotate {
  0% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(1.2deg);
            transform: translateY(0) rotate(1.2deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
}
@-webkit-keyframes shadowScale {
  0%, 100% {
    -webkit-transform: translate3d(0px, 0px, 0px) scale(0.95, 1);
            transform: translate3d(0px, 0px, 0px) scale(0.95, 1);
    opacity: 0.4;
  }
  50% {
    -webkit-transform: translate3d(0px, 0vw, 0px) scale(1, 1);
            transform: translate3d(0px, 0vw, 0px) scale(1, 1);
    opacity: 0.25;
  }
}
@keyframes shadowScale {
  0%, 100% {
    -webkit-transform: translate3d(0px, 0px, 0px) scale(0.95, 1);
            transform: translate3d(0px, 0px, 0px) scale(0.95, 1);
    opacity: 0.4;
  }
  50% {
    -webkit-transform: translate3d(0px, 0vw, 0px) scale(1, 1);
            transform: translate3d(0px, 0vw, 0px) scale(1, 1);
    opacity: 0.25;
  }
}
@-webkit-keyframes float {
  0% {
    -webkit-transform: translateY(0) rotate(-1deg);
            transform: translateY(0) rotate(-1deg);
  }
  50% {
    -webkit-transform: translateY(-5px) rotate(1deg);
            transform: translateY(-5px) rotate(1deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(-1deg);
            transform: translateY(0) rotate(-1deg);
  }
}
@keyframes float {
  0% {
    -webkit-transform: translateY(0) rotate(-1deg);
            transform: translateY(0) rotate(-1deg);
  }
  50% {
    -webkit-transform: translateY(-5px) rotate(1deg);
            transform: translateY(-5px) rotate(1deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(-1deg);
            transform: translateY(0) rotate(-1deg);
  }
}
@-webkit-keyframes float2 {
  0% {
    -webkit-transform: translateY(0) rotate(-3deg);
            transform: translateY(0) rotate(-3deg);
  }
  50% {
    -webkit-transform: translateY(-7px) rotate(3deg);
            transform: translateY(-7px) rotate(3deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(-3deg);
            transform: translateY(0) rotate(-3deg);
  }
}
@keyframes float2 {
  0% {
    -webkit-transform: translateY(0) rotate(-3deg);
            transform: translateY(0) rotate(-3deg);
  }
  50% {
    -webkit-transform: translateY(-7px) rotate(3deg);
            transform: translateY(-7px) rotate(3deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(-3deg);
            transform: translateY(0) rotate(-3deg);
  }
}
@-webkit-keyframes float3 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes float3 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes twinkle {
  0%, 100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    opacity: 0.2;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@keyframes twinkle {
  0%, 100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    opacity: 0.2;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@-webkit-keyframes balloonBounce {
  0% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  30% {
    -webkit-transform: scale(1.05, 0.92);
            transform: scale(1.05, 0.92);
  }
  60% {
    -webkit-transform: scale(0.98, 1.06);
            transform: scale(0.98, 1.06);
  }
  100% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
@keyframes balloonBounce {
  0% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  30% {
    -webkit-transform: scale(1.05, 0.92);
            transform: scale(1.05, 0.92);
  }
  60% {
    -webkit-transform: scale(0.98, 1.06);
            transform: scale(0.98, 1.06);
  }
  100% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
@-webkit-keyframes floatUp {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
}
@keyframes floatUp {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
}
@-webkit-keyframes runrunporing01 {
  0% {
    left: 0;
  }
  100% {
    left: 100%;
  }
}
@keyframes runrunporing01 {
  0% {
    left: 0;
  }
  100% {
    left: 100%;
  }
}
@-webkit-keyframes runrunporing02 {
  0% {
    left: -100%;
  }
  100% {
    left: 0;
  }
}
@keyframes runrunporing02 {
  0% {
    left: -100%;
  }
  100% {
    left: 0;
  }
}
/* Bob */
@-webkit-keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@-webkit-keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
.hvr-bob {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
          box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-bob:hover,
.hvr-bob:focus,
.hvr-bob:active {
  -webkit-animation-name: hvr-bob-float, hvr-bob;
  animation-name: hvr-bob-float, hvr-bob;
  -webkit-animation-duration: 0.3s, 1.5s;
  animation-duration: 0.3s, 1.5s;
  -webkit-animation-delay: 0s, 0.3s;
  animation-delay: 0s, 0.3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

@-webkit-keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@-webkit-keyframes swing45 {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  50% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  100% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@keyframes swing45 {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  50% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  100% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@-webkit-keyframes jelly {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  25% {
    -webkit-transform: scale(0.9, 1.1);
            transform: scale(0.9, 1.1);
  }
  50% {
    -webkit-transform: scale(1.1, 0.9);
            transform: scale(1.1, 0.9);
  }
  75% {
    -webkit-transform: scale(0.95, 1.05);
            transform: scale(0.95, 1.05);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes jelly {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  25% {
    -webkit-transform: scale(0.9, 1.1);
            transform: scale(0.9, 1.1);
  }
  50% {
    -webkit-transform: scale(1.1, 0.9);
            transform: scale(1.1, 0.9);
  }
  75% {
    -webkit-transform: scale(0.95, 1.05);
            transform: scale(0.95, 1.05);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes squishyBounce {
  0%, 100% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  25% {
    -webkit-transform: translateY(-30%) scale(1.1, 0.9);
            transform: translateY(-30%) scale(1.1, 0.9);
  }
  50% {
    -webkit-transform: translateY(0) scale(0.95, 1.05);
            transform: translateY(0) scale(0.95, 1.05);
  }
  75% {
    -webkit-transform: translateY(-15%) scale(1.05, 0.95);
            transform: translateY(-15%) scale(1.05, 0.95);
  }
}
@keyframes squishyBounce {
  0%, 100% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
  25% {
    -webkit-transform: translateY(-30%) scale(1.1, 0.9);
            transform: translateY(-30%) scale(1.1, 0.9);
  }
  50% {
    -webkit-transform: translateY(0) scale(0.95, 1.05);
            transform: translateY(0) scale(0.95, 1.05);
  }
  75% {
    -webkit-transform: translateY(-15%) scale(1.05, 0.95);
            transform: translateY(-15%) scale(1.05, 0.95);
  }
}
@-webkit-keyframes bounce {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}
@keyframes bounce {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}