@keyframes anime_drift {
  0%   { transform: translate(0,0) rotate(0); }
  25%  { transform: translate(12px,-10px) rotate(0.5deg); }
  50%  { transform: translate(-8px,8px) rotate(-1deg); }
  75%  { transform: translate(10px,4px) rotate(0.7deg); }
  100% { transform: translate(0,0) rotate(0); }
}
@keyframes anime_rotate {
  0%   { transform: translate(0,0) rotate(0); }
  100% { transform: translate(0,0) rotate(360deg); }
}
@keyframes anime_zoom {
  0%   { transform: translate(0,0) scale(1); }
  100% { transform: translate(0,0) scale(1.5); }
}

.cell {
  animation: anime_drift 22s ease-in-out infinite alternate;
  transform-origin: center;
}

.cell:nth-child(3n)   { animation-duration: 18s; animation-delay: -4s; }
.cell:nth-child(3n+1) { animation-duration: 26s; animation-delay: -8s; }
.cell:nth-child(3n+2) { animation-duration: 32s; animation-delay: -12s; }

.circle {
  animation: anime_rotate 10s ease-in-out infinite alternate;
  transform-origin: center;
}

.zoom_bg {
  animation: anime_zoom 10s ease-in-out infinite alternate;
  transform-origin: center;
}


/* ---------------------------------------------- */

/* bg_wrap */

/* ---------------------------------------------- */

.bg_wrap {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 0;
    overflow: hidden;
}

.bg_obj {
    min-width: 100vw;
    min-height: 100vh;
}

.bg_obj01 {
    width: 15vw;
    height: 15vw;
    min-width: 15vw;
    min-height: 15vw;
    position: absolute;
    left: 15vw;
    top: 80vh;
    z-index: 4;
}

.bg_obj02 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
}

.bg_obj03 {
    display: block;
    width: 100vw;
    height: 100vh;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 2;
}

.bg_obj04 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
    z-index: 1;
    opacity: .4;
}

/* bg_obj02 ------------------------------------- */


.bg_obj02 .cls-1 {
        clip-path: url(#clippath-34);
      }

.bg_obj02 .cls-2 {
        fill: #c9e2b2;
      }

.bg_obj02 .cls-3 {
        fill: #8fa5d5;
      }

.bg_obj02 .cls-4 {
        clip-path: url(#clippath-21);
      }

.bg_obj02 .cls-5 {
        clip-path: url(#clippath-6);
      }

.bg_obj02 .cls-6 {
        clip-path: url(#clippath-7);
      }

.bg_obj02 .cls-7 {
        clip-path: url(#clippath-17);
      }

.bg_obj02 .cls-8 {
        clip-path: url(#clippath-31);
      }

.bg_obj02 .cls-9 {
        clip-path: url(#clippath-15);
      }

.bg_obj02 .cls-10 {
        clip-path: url(#clippath-33);
      }

.bg_obj02 .cls-11 {
        fill: #8490c7;
      }

.bg_obj02 .cls-12 {
        clip-path: url(#clippath-18);
      }

.bg_obj02 .cls-13 {
        clip-path: url(#clippath-4);
      }

.bg_obj02 .cls-14 {
        clip-path: url(#clippath-22);
      }

.bg_obj02 .cls-15 {
        fill: #8198c5;
      }

.bg_obj02 .cls-16 {
        clip-path: url(#clippath-23);
      }

.bg_obj02 .cls-17 {
        opacity: .4;
      }

.bg_obj02 .cls-18 {
        fill: #4eb133;
      }

.bg_obj02 .cls-19 {
        fill: #c3a1ca;
      }

.bg_obj02 .cls-20 {
        opacity: .77;
      }

.bg_obj02 .cls-21 {
        clip-path: url(#clippath-9);
      }

.bg_obj02 .cls-22 {
        clip-path: url(#clippath-10);
      }

.bg_obj02 .cls-23 {
        opacity: .55;
      }

.bg_obj02 .cls-24 {
        fill: #e5b9d5;
      }

.bg_obj02 .cls-25 {
        fill: #b1b0d7;
      }

.bg_obj02 .cls-26 {
        fill: #9da1d0;
      }

.bg_obj02 .cls-27 {
        fill: #a6a3d0;
      }

.bg_obj02 .cls-28 {
        fill: #79318e;
      }

.bg_obj02 .cls-29 {
        fill: #e5b8d5;
      }

.bg_obj02 .cls-30 {
        clip-path: url(#clippath-25);
      }

.bg_obj02 .cls-31 {
        clip-path: url(#clippath-27);
      }

.bg_obj02 .cls-32 {
        opacity: .26;
      }

.bg_obj02 .cls-32, .cls-33, .cls-34 {
        mix-blend-mode: multiply;
      }

.bg_obj02 .cls-35 {
        mix-blend-mode: screen;
        opacity: .24;
      }

.bg_obj02 .cls-36 {
        fill: #b5b1d7;
      }

.bg_obj02 .cls-37 {
        fill: #b9a9d2;
      }

.bg_obj02 .cls-38 {
        opacity: .86;
      }

.bg_obj02 .cls-39 {
        fill: #948bc2;
      }

.bg_obj02 .cls-40 {
        clip-path: url(#clippath-11);
      }

.bg_obj02 .cls-41 {
        fill: #a7a4d0;
      }

.bg_obj02 .cls-42 {
        fill: #dbefeb;
      }

.bg_obj02 .cls-43, .cls-44 {
        fill: none;
      }

.bg_obj02 .cls-45 {
        fill: #e1c0db;
      }

.bg_obj02 .cls-46 {
        fill: #8177b6;
      }

.bg_obj02 .cls-47 {
        clip-path: url(#clippath-28);
      }

.bg_obj02 .cls-48 {
        fill: #9197cb;
      }

.bg_obj02 .cls-49 {
        opacity: .52;
      }

.bg_obj02 .cls-50 {
        fill: #6973b6;
      }

.bg_obj02 .cls-51 {
        fill: #bdabd2;
      }

.bg_obj02 .cls-52 {
        fill: #ad9bc9;
      }

.bg_obj02 .cls-53 {
        clip-path: url(#clippath-1);
      }

.bg_obj02 .cls-54 {
        fill: #6b3b93;
      }

.bg_obj02 .cls-55 {
        fill: #7a96c3;
      }

.bg_obj02 .cls-56 {
        fill: #f6bfd7;
      }

.bg_obj02 .cls-57 {
        fill: #7358a3;
      }

.bg_obj02 .cls-44 {
        stroke: #dbbeda;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

.bg_obj02 .cls-58 {
        fill: #dbbeda;
      }

.bg_obj02 .cls-59 {
        fill: #dcbedb;
      }

.bg_obj02 .cls-60 {
        fill: #9c8ec3;
      }

.bg_obj02 .cls-61 {
        isolation: isolate;
      }

.bg_obj02 .cls-62 {
        fill: #cda9ce;
      }

.bg_obj02 .cls-63 {
        fill: #df94be;
      }

.bg_obj02 .cls-64 {
        clip-path: url(#clippath-5);
      }

.bg_obj02 .cls-65 {
        clip-path: url(#clippath-20);
      }

.bg_obj02 .cls-66 {
        clip-path: url(#clippath-8);
      }

.bg_obj02 .cls-67 {
        opacity: .58;
      }

.bg_obj02 .cls-68 {
        opacity: .6;
      }

.bg_obj02 .cls-69 {
        fill: #e9bad6;
      }

.bg_obj02 .cls-70 {
        fill: #c1afd4;
      }

.bg_obj02 .cls-71 {
        fill: #c7b7d9;
      }

.bg_obj02 .cls-72 {
        clip-path: url(#clippath-3);
      }

.bg_obj02 .cls-73 {
        clip-path: url(#clippath-26);
      }

.bg_obj02 .cls-74 {
        fill: #edc7dd;
      }

.bg_obj02 .cls-75 {
        fill: #dcbbd8;
      }

.bg_obj02 .cls-76 {
        fill: #ccb0d3;
      }

.bg_obj02 .cls-77 {
        clip-path: url(#clippath-12);
      }

.bg_obj02 .cls-78 {
        fill: #ebbbd6;
      }

.bg_obj02 .cls-79 {
        fill: #c4add2;
      }

.bg_obj02 .cls-80 {
        clip-path: url(#clippath-14);
      }

.bg_obj02 .cls-81 {
        fill: #d87aae;
      }

.bg_obj02 .cls-82 {
        fill: #a2abd6;
      }

.bg_obj02 .cls-83 {
        fill: #68268a;
      }

.bg_obj02 .cls-84 {
        fill: #e6b9d5;
      }

.bg_obj02 .cls-85 {
        clip-path: url(#clippath-30);
      }

.bg_obj02 .cls-86 {
        clip-path: url(#clippath-19);
      }

.bg_obj02 .cls-87 {
        fill: #beabd2;
      }

.bg_obj02 .cls-88 {
        fill: #9ba0cf;
      }

.bg_obj02 .cls-89 {
        fill: #b9b2d8;
      }

.bg_obj02 .cls-90 {
        fill: #8c7eb9;
      }

.bg_obj02 .cls-91 {
        fill: #dcb5d4;
      }

.bg_obj02 .cls-92 {
        fill: #979fca;
      }

.bg_obj02 .cls-93 {
        clip-path: url(#clippath-32);
      }

.bg_obj02 .cls-94 {
        fill: #6399d2;
      }

.bg_obj02 .cls-95 {
        fill: #859ac9;
      }

.bg_obj02 .cls-96 {
        fill: #e7b9d5;
      }

.bg_obj02 .cls-97 {
        opacity: .53;
      }

.bg_obj02 .cls-98 {
        fill: #aca5d1;
      }

.bg_obj02 .cls-99 {
        fill: #5cc1ca;
      }

.bg_obj02 .cls-100 {
        fill: #c3b5d9;
      }

.bg_obj02 .cls-101 {
        opacity: .81;
      }

.bg_obj02 .cls-102 {
        fill: #deb6d4;
      }

.bg_obj02 .cls-103 {
        clip-path: url(#clippath-16);
      }

.bg_obj02 .cls-104 {
        fill: #a0a1cb;
      }

.bg_obj02 .cls-105 {
        clip-path: url(#clippath-2);
      }

.bg_obj02 .cls-106 {
        fill: #85a2d4;
      }

.bg_obj02 .cls-107 {
        fill: #7782bf;
      }

.bg_obj02 .cls-108 {
        fill: #9498cb;
      }

.bg_obj02 .cls-109 {
        clip-path: url(#clippath-29);
      }

.bg_obj02 .cls-110 {
        opacity: .41;
      }

.bg_obj02 .cls-111 {
        fill: #a899c9;
      }

.bg_obj02 .cls-112 {
        clip-path: url(#clippath-13);
      }

.bg_obj02 .cls-113 {
        fill: #b1a7d1;
      }

.bg_obj02 .cls-114 {
        fill: #abaed7;
      }

.bg_obj02 .cls-115 {
        opacity: .61;
      }

.bg_obj02 .cls-116 {
        fill: #b7b2d8;
      }

.bg_obj02 .cls-117 {
        clip-path: url(#clippath-24);
      }

.bg_obj02 .cls-118 {
        fill: #a4abd6;
      }

.bg_obj02 .cls-119 {
        clip-path: url(#clippath);
      }

.bg_obj02 .cls-120 {
        fill: #abaad5;
      }

.bg_obj02 .cls-121 {
        fill: #7561a8;
      }

.bg_obj02 .cls-34 {
        opacity: .3;
      }

.bg_obj02 .cls-122 {
        fill: #b5b1d8;
      }


/* bg_obj04 ------------------------------------- */

.bg_obj04 .cls-1 {
        fill: #b8dde9;
      }

.bg_obj04 .cls-2 {
        fill: #3795cb;
      }

.bg_obj04 .cls-3 {
        fill: #47b4dc;
      }

.bg_obj04 .cls-4 {
        fill: #226daf;
      }

.bg_obj04 .cls-5 {
        fill: #0f59a0;
      }

.bg_obj04 .cls-6 {
        clip-path: url(#clippath-6);
      }

.bg_obj04 .cls-7 {
        clip-path: url(#clippath-7);
      }

.bg_obj04 .cls-8 {
        fill: #51b0d7;
      }

.bg_obj04 .cls-9 {
        fill: #327bb8;
      }

.bg_obj04 .cls-10 {
        fill: #d2e9f3;
      }

.bg_obj04 .cls-11 {
        fill: #60bbda;
      }

.bg_obj04 .cls-12 {
        fill: #52b0d6;
      }

.bg_obj04 .cls-13 {
        fill: #c3e3ef;
      }

.bg_obj04 .cls-14 {
        clip-path: url(#clippath-4);
      }

.bg_obj04 .cls-15 {
        fill: #58add4;
      }

.bg_obj04 .cls-16 {
        fill: #589ecf;
      }

.bg_obj04 .cls-17 {
        fill: #2363a8;
      }

.bg_obj04 .cls-18 {
        fill: #2a8ac2;
      }

.bg_obj04 .cls-19 {
        fill: #4eb133;
      }

.bg_obj04 .cls-20 {
        fill: #46acda;
      }

.bg_obj04 .cls-21 {
        fill: #20559e;
      }

.bg_obj04 .cls-22 {
        fill: #8dcbe0;
      }

.bg_obj04 .cls-23 {
        fill: #79c3dd;
      }

.bg_obj04 .cls-24 {
        mix-blend-mode: lighten;
        opacity: .53;
      }

.bg_obj04 .cls-25 {
        fill: #0e68ac;
      }

.bg_obj04 .cls-26 {
        fill: #256bae;
      }

.bg_obj04 .cls-27 {
        fill: #185aa1;
      }

.bg_obj04 .cls-28 {
        fill: #c2e2ee;
      }

.bg_obj04 .cls-29 {
        fill: #3ba8d7;
      }

.bg_obj04 .cls-30 {
        fill: #2b67aa;
      }

.bg_obj04 .cls-31 {
        fill: #31a8d5;
      }

.bg_obj04 .cls-32 {
        fill: #2a75b4;
      }

.bg_obj04 .cls-33 {
        fill: #429ed0;
      }

.bg_obj04 .cls-34 {
        fill: #2959a1;
      }

.bg_obj04 .cls-35 {
        fill: #2a4e98;
      }

.bg_obj04 .cls-36 {
        fill: #2c86bf;
      }

.bg_obj04 .cls-37 {
        fill: #55b7d9;
      }

.bg_obj04 .cls-38 {
        mask: url(#mask);
      }

.bg_obj04 .cls-39 {
        fill: #1f75b4;
      }

.bg_obj04 .cls-40 {
        fill: #3ea4d4;
      }

.bg_obj04 .cls-41 {
        fill: #217fbb;
      }

.bg_obj04 .cls-42 {
        fill: #87c9dd;
      }

.bg_obj04 .cls-43 {
        fill: #68bddb;
      }

.bg_obj04 .cls-44 {
        fill: url(#_gradient_2);
      }

.bg_obj04 .cls-45 {
        fill: #42a0d2;
      }

.bg_obj04 .cls-46 {
        fill: #5badd9;
      }

.bg_obj04 .cls-47 {
        fill: #d9eef6;
      }

.bg_obj04 .cls-48 {
        fill: #87c8de;
      }

.bg_obj04 .cls-49 {
        fill: #36afd9;
      }

.bg_obj04 .cls-50 {
        fill: #58b9d9;
      }

.bg_obj04 .cls-51 {
        fill: #79c3dc;
      }

.bg_obj04 .cls-52 {
        fill: #2982bd;
      }

.bg_obj04 .cls-53 {
        fill: #37aeda;
      }

.bg_obj04 .cls-54 {
        fill: #2789c1;
      }

.bg_obj04 .cls-55 {
        fill: #2b8fc6;
      }

.bg_obj04 .cls-56 {
        fill: #96cfe2;
      }

.bg_obj04 .cls-57 {
        fill: #5fbbde;
      }

.bg_obj04 .cls-58 {
        fill: #1e71b2;
      }

.bg_obj04 .cls-59, .cls-60 {
        fill: none;
      }

.bg_obj04 .cls-61 {
        fill: #9ed2e5;
      }

.bg_obj04 .cls-62 {
        fill: #95cfe2;
      }

.bg_obj04 .cls-63 {
        fill: #a9d6e5;
      }

.bg_obj04 .cls-64 {
        fill: #3e569c;
      }

.bg_obj04 .cls-65 {
        fill: #5cb4db;
      }

.bg_obj04 .cls-66 {
        fill: #1763a7;
      }

.bg_obj04 .cls-67 {
        fill: #1b68ab;
      }

.bg_obj04 .cls-68 {
        fill: #bfe0ea;
      }

.bg_obj04 .cls-69 {
        fill: #b0dae9;
      }

.bg_obj04 .cls-70 {
        fill: #32519b;
      }

.bg_obj04 .cls-71 {
        fill: #6cbbd9;
      }

.bg_obj04 .cls-72 {
        fill: #41a5d6;
      }

.bg_obj04 .cls-73 {
        clip-path: url(#clippath-1);
      }

.bg_obj04 .cls-74 {
        fill: url(#_gradient);
      }

.bg_obj04 .cls-75 {
        fill: #409fd1;
      }

.bg_obj04 .cls-76 {
        fill: #1581be;
      }

.bg_obj04 .cls-77 {
        fill: #24529b;
      }

.bg_obj04 .cls-78 {
        fill: #489dd1;
      }

.bg_obj04 .cls-79 {
        fill: #2c9ccc;
      }

.bg_obj04 .cls-80 {
        fill: #6dbed8;
      }

.bg_obj04 .cls-81 {
        fill: #3e9ace;
      }

.bg_obj04 .cls-82 {
        fill: #85c8d8;
      }

.bg_obj04 .cls-83 {
        isolation: isolate;
      }

.bg_obj04 .cls-84 {
        clip-path: url(#clippath-5);
      }

.bg_obj04 .cls-85 {
        fill: #238bc3;
      }

.bg_obj04 .cls-86 {
        fill: #98d0df;
      }

.bg_obj04 .cls-87 {
        fill: #abd8e8;
      }

.bg_obj04 .cls-88 {
        clip-path: url(#clippath-8);
      }

.bg_obj04 .cls-89 {
        fill: #eaf5f1;
      }

.bg_obj04 .cls-90 {
        fill: #1a71b3;
      }

.bg_obj04 .cls-91 {
        fill: #76c1dc;
      }

.bg_obj04 .cls-92 {
        opacity: .58;
      }

.bg_obj04 .cls-93 {
        fill: #1e73b3;
      }

.bg_obj04 .cls-94 {
        fill: #1fa1d3;
      }

.bg_obj04 .cls-95 {
        clip-path: url(#clippath-3);
      }

.bg_obj04 .cls-96 {
        fill: #3b90c6;
      }

.bg_obj04 .cls-97 {
        fill: #8ccade;
      }

.bg_obj04 .cls-98 {
        fill: #125ca3;
      }

.bg_obj04 .cls-99 {
        fill: #2b4b95;
      }

.bg_obj04 .cls-100 {
        fill: #4397cb;
      }

.bg_obj04 .cls-101 {
        fill: #cbe5f1;
      }

.bg_obj04 .cls-102 {
        fill: #258ec5;
      }

.bg_obj04 .cls-103 {
        fill: #1e5fa5;
      }

.bg_obj04 .cls-104 {
        fill: #2785c0;
      }

.bg_obj04 .cls-60 {
        clip-rule: evenodd;
      }

.bg_obj04 .cls-105 {
        fill: #2e4c97;
      }

.bg_obj04 .cls-106 {
        fill: #2560a5;
      }

.bg_obj04 .cls-107 {
        fill: #145da4;
      }

.bg_obj04 .cls-108 {
        fill: #1b6fb0;
      }

.bg_obj04 .cls-109 {
        fill: #238dc4;
      }

.bg_obj04 .cls-110 {
        fill: #1c87c0;
      }

.bg_obj04 .cls-111 {
        fill: #75c1dd;
      }

.bg_obj04 .cls-112 {
        fill: #2568aa;
      }

.bg_obj04 .cls-113 {
        fill: #7fc5db;
      }

.bg_obj04 .cls-114 {
        fill: #267ab7;
      }

.bg_obj04 .cls-115 {
        fill: #32aed6;
      }

.bg_obj04 .cls-116 {
        fill: #52b3d8;
      }

.bg_obj04 .cls-117 {
        fill: #2070b1;
      }

.bg_obj04 .cls-118 {
        fill: #3991c8;
      }

.bg_obj04 .cls-119 {
        fill: #276daf;
      }

.bg_obj04 .cls-120 {
        fill: #97d0e2;
      }

.bg_obj04 .cls-121 {
        fill: #c6e4f0;
      }

.bg_obj04 .cls-122 {
        fill: #2a79b7;
      }

.bg_obj04 .cls-123 {
        fill: #69b7d7;
      }

.bg_obj04 .cls-124 {
        fill: #3da9d8;
      }

.bg_obj04 .cls-125 {
        fill: #8fcce0;
      }

.bg_obj04 .cls-126 {
        fill: #e0f0f6;
      }

.bg_obj04 .cls-127 {
        fill: #cee8f1;
      }

.bg_obj04 .cls-128 {
        fill: #238ac2;
      }

.bg_obj04 .cls-129 {
        fill: #2966aa;
      }

.bg_obj04 .cls-130 {
        fill: #1b509a;
      }

.bg_obj04 .cls-131 {
        fill: #5ab7de;
      }

.bg_obj04 .cls-132 {
        fill: #61b5d7;
      }

.bg_obj04 .cls-133 {
        fill: #32529b;
      }

.bg_obj04 .cls-134 {
        clip-path: url(#clippath-2);
      }

.bg_obj04 .cls-135 {
        fill: #1869ac;
      }

.bg_obj04 .cls-136 {
        fill: #8ccadd;
      }

.bg_obj04 .cls-137 {
        opacity: .41;
      }

.bg_obj04 .cls-138 {
        fill: #2474b3;
      }

.bg_obj04 .cls-139 {
        fill: #188cc4;
      }

.bg_obj04 .cls-140 {
        fill: #127ebc;
      }

.bg_obj04 .cls-141 {
        fill: #a899c9;
      }

.bg_obj04 .cls-142 {
        fill: #2661a6;
      }

.bg_obj04 .cls-143 {
        opacity: .61;
      }

.bg_obj04 .cls-144 {
        fill: #b2dbea;
      }

.bg_obj04 .cls-145 {
        fill: #2d85be;
      }

.bg_obj04 .cls-146 {
        fill: #1988c1;
      }

.bg_obj04 .cls-147 {
        fill: #bee0ec;
      }

.bg_obj04 .cls-148 {
        fill: #93cde1;
      }

.bg_obj04 .cls-149 {
        fill: #3399cb;
      }

.bg_obj04 .cls-150 {
        fill: #358ec5;
      }

.bg_obj04 .cls-151 {
        fill: #70c0dc;
      }

.bg_obj04 .cls-152 {
        clip-path: url(#clippath);
      }

.bg_obj04 .cls-153 {
        fill: #4583bd;
      }

.bg_obj04 .cls-154 {
        fill: #0f75b5;
      }

.bg_obj04 .cls-155 {
        fill: #46a0d2;
      }

.bg_obj04 .cls-156 {
        fill: #4db6db;
      }

.bg_obj04 .cls-157 {
        fill: #5caad7;
      }

.bg_obj04 .cls-158 {
        fill: #bbe0ed;
      }

.bg_obj04 .cls-159 {
        fill: #53afdb;
      }

.bg_obj04 .cls-160 {
        fill: #6bbedb;
      }

.bg_obj04 .cls-161 {
        fill: #0a5aa2;
      }

.bg_obj04 .cls-162 {
        fill: #5ebadb;
      }

.bg_obj04 .cls-163 {
        fill: #1d79b8;
      }



@media screen and (max-width: 768px) {
    .bg_obj01 {
        width: 40vw;
        height: 40vw;
        position: absolute;
        left: 2vw;
        top: 75vh;
        z-index: 4;
    }

    .bg_obj02 {
        min-width: 110vw;
        min-height: 110vh;
    }

    .bg_obj03 {
        transform: rotate(90deg);
    }

    .bg_obj04 {
        height: 120vh;
        transform: translate(-50%, -50%) rotate(0);
    }
}