.flare {
  pointer-events: none;
  width: 20vw;
  height: 20vw;
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 50;
  margin: -10vw 0 0 -10vw;
  opacity: .7;
  mix-blend-mode: overlay; }
  .flare::before {
    content: '';
    width: 100%;
    height: 100%;
    border-radius: 100%;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 50;
    transition: all 0.8s ease-in-out;
    /* -webkit-animation: move1 linear 100s alternate infinite;
  	animation: move1 linear 100s alternate infinite; */ }
  .flare.flare01 {
    width: 100px;
    height: 100px;
    margin: -50px 0 0 -50px;
    -webkit-animation: flash01 ease 8s alternate infinite;
    animation: flash01 ease 8s alternate infinite; }
    .flare.flare01::before {
      -webkit-transform: translate3d(-48vw, 5vh, 0);
      transform: translate3d(-48vw, 5vh, 0);
      -webkit-animation: move1 linear 14s alternate infinite;
      animation: move1 linear 14s alternate infinite; }
    .flare.flare01.is-color::before {
      background: #d3f3ff; }
  .flare.flare02 {
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px;
    -webkit-animation: flash02 ease 8s alternate infinite;
    animation: flash02 ease 8s alternate infinite; }
    .flare.flare02::before {
      -webkit-transform: translate3d(-45vw, -1vh, 0);
      transform: translate3d(-45vw, -1vh, 0);
      -webkit-animation: move2 linear 15s alternate infinite;
      animation: move2 linear 15s alternate infinite; }
    .flare.flare02.is-color::before {
      background: #f9e4f9; }
  .flare.flare03 {
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
    -webkit-animation: flash02 ease 8s alternate infinite;
    animation: flash02 ease 8s alternate infinite; }
    .flare.flare03::before {
      -webkit-transform: translate3d(45vw, -40vh, 0);
      transform: translate3d(45vw, -40vh, 0);
      -webkit-animation: move3 linear 16s alternate infinite;
      animation: move3 linear 16s alternate infinite; }
    .flare.flare03.is-color::before {
      background: #d3f3ff; }
  .flare.flare04 {
    width: 100px;
    height: 100px;
    margin: -50px 0 0 -50px;
    opacity: .5;
    -webkit-animation: flash02 ease 8s alternate infinite;
    animation: flash02 ease 8s alternate infinite; }
    .flare.flare04::before {
      -webkit-transform: translate3d(45vw, 40vh, 0);
      transform: translate3d(45vw, 40vh, 0);
      -webkit-animation: move4 linear 15s alternate infinite;
      animation: move4 linear 15s alternate infinite; }
    .flare.flare04.is-color::before {
      background: #d3f3ff; }
  .flare.flare05 {
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    opacity: .5;
    -webkit-animation: flash02 ease 8s alternate infinite;
    animation: flash02 ease 8s alternate infinite; }
    .flare.flare05::before {
      -webkit-transform: translate3d(45vw, 33vh, 0);
      transform: translate3d(47vw, 33vh, 0);
      -webkit-animation: move5 linear 15s alternate infinite;
      animation: move5 linear 15s alternate infinite; }
    .flare.flare05.is-color::before {
      background: #f9e4f9; }
  .flare.flare_load01 {
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    -webkit-animation: flash02 ease 8s alternate infinite;
    animation: flash02 ease 8s alternate infinite;
    mix-blend-mode: inherit; }
    .flare.flare_load01::before {
      background: #d3f3ff;
      -webkit-transform: translate3d(-1vw, -4vh, 0);
      transform: translate3d(-1vw, -4vh, 0);
      -webkit-animation: load1 linear 4s alternate infinite;
      animation: load1 linear 4s alternate infinite; }
  .flare.flare_load02 {
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
    -webkit-animation: flash02 ease 8s alternate infinite;
    animation: flash02 ease 8s alternate infinite;
    mix-blend-mode: inherit; }
    .flare.flare_load02::before {
      background: #f9e4f9;
      -webkit-transform: translate3d(6vw, -1vh, 0);
      transform: translate3d(6vw, -1vh, 0);
      -webkit-animation: load2 linear 7s alternate infinite;
      animation: load2 linear 7s alternate infinite; }
  .flare.flare_load03 {
    width: 100px;
    height: 100px;
    margin: -50px 0 0 -50px;
    -webkit-animation: flash02 ease 8s alternate infinite;
    animation: flash02 ease 8s alternate infinite;
    mix-blend-mode: inherit; }
    .flare.flare_load03::before {
      background: #d3f3ff;
      -webkit-transform: translate3d(0vw, 10vh, 0);
      transform: translate3d(0vw, 10vh, 0);
      -webkit-animation: load3 linear 6s alternate infinite;
      animation: load3 linear 6s alternate infinite; }

@media (max-width: 1000px) {
  .flare.flare01::before {
    -webkit-transform: translate3d(-62vw, 5vh, 0);
    transform: translate3d(-62vw, 5vh, 0);
    -webkit-animation: move1 linear 8s alternate infinite;
    animation: move1 linear 8s alternate infinite; }
  .flare.flare02::before {
    -webkit-transform: translate3d(-52vw, -5vh, 0);
    transform: translate3d(-52vw, -5vh, 0);
    -webkit-animation: move2 linear 9s alternate infinite;
    animation: move2 linear 9s alternate infinite; }
  .flare.flare03::before {
    -webkit-transform: translate3d(50vw, -50vh, 0);
    transform: translate3d(50vw, -50vh, 0);
    -webkit-animation: move3 linear 12s alternate infinite;
    animation: move3 linear 12s alternate infinite; }
  .flare.flare04::before {
    -webkit-transform: translate3d(58vw, 40vh, 0);
    transform: translate3d(58vw, 40vh, 0);
    -webkit-animation: move4 linear 24s alternate infinite;
    animation: move4 linear 24s alternate infinite; }
  .flare.flare05::before {
    -webkit-transform: translate3d(52vw, 33vh, 0);
    transform: translate3d(52vw, 33vh, 0);
    -webkit-animation: move5 linear 24s alternate infinite;
    animation: move5 linear 24s alternate infinite; }
  .flare.flare_load01::before {
    -webkit-transform: translate3d(-10vw, -2vh, 0);
    transform: translate3d(-10vw, -2vh, 0);
    -webkit-animation: load1 linear 3s alternate infinite;
    animation: load1 linear 3s alternate infinite; }
  .flare.flare_load02::before {
    background: #f9e4f9;
    -webkit-transform: translate3d(8vw, -1vh, 0);
    transform: translate3d(8vw, -1vh, 0);
    -webkit-animation: load2 linear 10s alternate infinite;
    animation: load2 linear 10s alternate infinite; }
  .flare.flare_load03::before {
    background: #d3f3ff;
    -webkit-transform: translate3d(1vw, 9vh, 0);
    transform: translate3d(1vw, 9vh, 0);
    -webkit-animation: load3 linear 5s alternate infinite;
    animation: load3 linear 5s alternate infinite; } }

@-webkit-keyframes flash01 {
  0% {
    -webkit-filter: blur(3px);
    filter: blur(3px); }
  100% {
    -webkit-filter: blur(4px);
    filter: blur(4px); } }

@keyframes flash01 {
  0% {
    -webkit-filter: blur(3px);
    filter: blur(3px); }
  100% {
    -webkit-filter: blur(4px);
    filter: blur(4px); } }

@-webkit-keyframes flash02 {
  0% {
    -webkit-filter: blur(3px);
    filter: blur(3px); }
  100% {
    -webkit-filter: blur(5px);
    filter: blur(5px); } }

@keyframes flash02 {
  0% {
    -webkit-filter: blur(3px);
    filter: blur(3px); }
  100% {
    -webkit-filter: blur(5px);
    filter: blur(5px); } }

@-webkit-keyframes move1 {
  0 {
    -webkit-transform: translate3d(-48vw, 5vh, 0);
    transform: translate3d(-48vw, 5vh, 0); }
  to {
    -webkit-transform: translate3d(-42vw, -36vh, 0);
    transform: translate3d(-42vw, -36vh, 0); } }

@keyframes move1 {
  0 {
    -webkit-transform: translate3d(-48vw, 5vh, 0);
    transform: translate3d(-48vw, 5vh, 0); }
  to {
    -webkit-transform: translate3d(-42vw, -36vh, 0);
    transform: translate3d(-42vw, -36vh, 0); } }

@-webkit-keyframes move2 {
  0 {
    -webkit-transform: translate3d(-45vw, -1vh, 0);
    transform: translate3d(-45vw, -1vh, 0); }
  to {
    -webkit-transform: translate3d(-40vw, -40vh, 0);
    transform: translate3d(-40vw, -40vh, 0); } }

@keyframes move2 {
  0 {
    -webkit-transform: translate3d(-45vw, -1vh, 0);
    transform: translate3d(-45vw, -1vh, 0); }
  to {
    -webkit-transform: translate3d(-40vw, -40vh, 0);
    transform: translate3d(-40vw, -40vh, 0); } }

@-webkit-keyframes move3 {
  0 {
    -webkit-transform: translate3d(50vw, -40vh, 0);
    transform: translate3d(50vw, -40vh, 0); }
  to {
    -webkit-transform: translate3d(44vw, -15vh, 0);
    transform: translate3d(44vw, -15vh, 0); } }

@keyframes move3 {
  0 {
    -webkit-transform: translate3d(50vw, -40vh, 0);
    transform: translate3d(50vw, -40vh, 0); }
  to {
    -webkit-transform: translate3d(44vw, -15vh, 0);
    transform: translate3d(44vw, -15vh, 0); } }

@-webkit-keyframes move4 {
  0 {
    -webkit-transform: translate3d(45vw, 40vh, 0);
    transform: translate3d(45vw, 40vh, 0); }
  to {
    -webkit-transform: translate3d(45vw, 0vh, 0);
    transform: translate3d(45vw, 0vh, 0); } }

@keyframes move4 {
  0 {
    -webkit-transform: translate3d(45vw, 40vh, 0);
    transform: translate3d(45vw, 40vh, 0); }
  to {
    -webkit-transform: translate3d(45vw, 0vh, 0);
    transform: translate3d(45vw, 0vh, 0); } }

@-webkit-keyframes move5 {
  0 {
    -webkit-transform: translate3d(45vw, 33vh, 0);
    transform: translate3d(47vw, 33vh, 0); }
  to {
    -webkit-transform: translate3d(40vw, -2vh, 0);
    transform: translate3d(40vw, -2vh, 0); } }

@keyframes move5 {
  0 {
    -webkit-transform: translate3d(45vw, 33vh, 0);
    transform: translate3d(47vw, 33vh, 0); }
  to {
    -webkit-transform: translate3d(40vw, -2vh, 0);
    transform: translate3d(40vw, -2vh, 0); } }

@-webkit-keyframes load1 {
  0 {
    -webkit-transform: translate3d(-1vw, -4vh, 0);
    transform: translate3d(-1vw, -4vh, 0); }
  to {
    -webkit-transform: translate3d(-2vw, -8vh, 0);
    transform: translate3d(-2vw, -8vh, 0); } }

@keyframes load1 {
  0 {
    -webkit-transform: translate3d(-1vw, -4vh, 0);
    transform: translate3d(-1vw, -4vh, 0); }
  to {
    -webkit-transform: translate3d(-2vw, -8vh, 0);
    transform: translate3d(-2vw, -8vh, 0); } }

@-webkit-keyframes load2 {
  0 {
    -webkit-transform: translate3d(6vw, -1vh, 0);
    transform: translate3d(6vw, -1vh, 0); }
  to {
    -webkit-transform: translate3d(4vw, -18vh, 0);
    transform: translate3d(4vw, -18vh, 0); } }

@keyframes load2 {
  0 {
    -webkit-transform: translate3d(6vw, -1vh, 0);
    transform: translate3d(6vw, -1vh, 0); }
  to {
    -webkit-transform: translate3d(4vw, -18vh, 0);
    transform: translate3d(4vw, -18vh, 0); } }

@-webkit-keyframes load3 {
  0 {
    -webkit-transform: translate3d(0vw, 10vh, 0);
    transform: translate3d(0vw, 10vh, 0); }
  to {
    -webkit-transform: translate3d(4vw, -10vh, 0);
    transform: translate3d(4vw, -10vh, 0); } }

@keyframes load3 {
  0 {
    -webkit-transform: translate3d(0vw, 10vh, 0);
    transform: translate3d(0vw, 10vh, 0); }
  to {
    -webkit-transform: translate3d(4vw, -10vh, 0);
    transform: translate3d(4vw, -10vh, 0); } }

@media (max-width: 1000px) {
  @-webkit-keyframes move1 {
    0 {
      -webkit-transform: translate3d(-62vw, 5vh, 0);
      transform: translate3d(-62vw, 5vh, 0); }
    to {
      -webkit-transform: translate3d(-52vw, -13vh, 0);
      transform: translate3d(-52vw, -13vh, 0); } }
  @keyframes move1 {
    0 {
      -webkit-transform: translate3d(-62vw, 5vh, 0);
      transform: translate3d(-62vw, 5vh, 0); }
    to {
      -webkit-transform: translate3d(-52vw, -13vh, 0);
      transform: translate3d(-52vw, -13vh, 0); } }
  @-webkit-keyframes move2 {
    0 {
      -webkit-transform: translate3d(-52vw, -5vh, 0);
      transform: translate3d(-52vw, -5vh, 0); }
    to {
      -webkit-transform: translate3d(-50vw, -24vh, 0);
      transform: translate3d(-50vw, -24vh, 0); } }
  @keyframes move2 {
    0 {
      -webkit-transform: translate3d(-52vw, -5vh, 0);
      transform: translate3d(-52vw, -5vh, 0); }
    to {
      -webkit-transform: translate3d(-50vw, -24vh, 0);
      transform: translate3d(-50vw, -24vh, 0); } }
  @-webkit-keyframes move3 {
    0 {
      -webkit-transform: translate3d(50vw, -50vh, 0);
      transform: translate3d(50vw, -50vh, 0); }
    to {
      -webkit-transform: translate3d(44vw, -15vh, 0);
      transform: translate3d(44vw, -15vh, 0); } }
  @keyframes move3 {
    0 {
      -webkit-transform: translate3d(50vw, -50vh, 0);
      transform: translate3d(50vw, -50vh, 0); }
    to {
      -webkit-transform: translate3d(44vw, -15vh, 0);
      transform: translate3d(44vw, -15vh, 0); } }
  @-webkit-keyframes move4 {
    0 {
      -webkit-transform: translate3d(58vw, 15vh, 0);
      transform: translate3d(58vw, 15vh, 0); }
    to {
      -webkit-transform: translate3d(54vw, 15vh, 0);
      transform: translate3d(54vw, 15vh, 0); } }
  @keyframes move4 {
    0 {
      -webkit-transform: translate3d(58vw, 15vh, 0);
      transform: translate3d(58vw, 15vh, 0); }
    to {
      -webkit-transform: translate3d(54vw, 15vh, 0);
      transform: translate3d(54vw, 15vh, 0); } }
  @-webkit-keyframes move5 {
    0 {
      -webkit-transform: translate3d(52vw, 33vh, 0);
      transform: translate3d(52vw, 33vh, 0); }
    to {
      -webkit-transform: translate3d(48vw, 0vh, 0);
      transform: translate3d(48vw, 0vh, 0); } }
  @keyframes move5 {
    0 {
      -webkit-transform: translate3d(52vw, 33vh, 0);
      transform: translate3d(52vw, 33vh, 0); }
    to {
      -webkit-transform: translate3d(48vw, 0vh, 0);
      transform: translate3d(48vw, 0vh, 0); } }
  @-webkit-keyframes load1 {
    0 {
      -webkit-transform: translate3d(-10vw, -2vh, 0);
      transform: translate3d(-10vw, -2vh, 0); }
    to {
      -webkit-transform: translate3d(-14vw, -8vh, 0);
      transform: translate3d(-14vw, -8vh, 0); } }
  @keyframes load1 {
    0 {
      -webkit-transform: translate3d(-10vw, -2vh, 0);
      transform: translate3d(-10vw, -2vh, 0); }
    to {
      -webkit-transform: translate3d(-14vw, -8vh, 0);
      transform: translate3d(-14vw, -8vh, 0); } }
  @-webkit-keyframes load2 {
    0 {
      -webkit-transform: translate3d(8vw, -1vh, 0);
      transform: translate3d(8vw, -1vh, 0); }
    to {
      -webkit-transform: translate3d(12vw, -12vh, 0);
      transform: translate3d(12vw, -12vh, 0); } }
  @keyframes load2 {
    0 {
      -webkit-transform: translate3d(8vw, -1vh, 0);
      transform: translate3d(8vw, -1vh, 0); }
    to {
      -webkit-transform: translate3d(12vw, -12vh, 0);
      transform: translate3d(12vw, -12vh, 0); } }
  @-webkit-keyframes load3 {
    0 {
      -webkit-transform: translate3d(1vw, 9vh, 0);
      transform: translate3d(1vw, 9vh, 0); }
    to {
      -webkit-transform: translate3d(6vw, 0vh, 0);
      transform: translate3d(6vw, 0vh, 0); } }
  @keyframes load3 {
    0 {
      -webkit-transform: translate3d(1vw, 9vh, 0);
      transform: translate3d(1vw, 9vh, 0); }
    to {
      -webkit-transform: translate3d(6vw, 0vh, 0);
      transform: translate3d(6vw, 0vh, 0); } } }
