@charset "UTF-8";
/*--------- Breakpoints ---------*/
[data-ani] {
  opacity: 0; }

.ani-active {
  opacity: 1; }

.ani-fadeIn {
  -webkit-animation: ani-fadeIn 1s both;
     -moz-animation: ani-fadeIn 1s both;
          animation: ani-fadeIn 1s both; }

@-webkit-keyframes ani-fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes ani-fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes ani-fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.ani-fadeOut {
  -webkit-animation: ani-fadeOut 1s both;
     -moz-animation: ani-fadeOut 1s both;
          animation: ani-fadeOut 1s both; }

@-webkit-keyframes ani-fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-moz-keyframes ani-fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes ani-fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.ani-fadeInLeft {
  -webkit-animation: ani-fadeInLeft 1s both;
     -moz-animation: ani-fadeInLeft 1s both;
          animation: ani-fadeInLeft 1s both; }

@-webkit-keyframes ani-fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-moz-keyframes ani-fadeInLeft {
  0% {
    opacity: 0;
    -moz-transform: translate3d(-50%, 0, 0);
         transform: translate3d(-50%, 0, 0); }
  100% {
    opacity: 1;
    -moz-transform: none;
         transform: none; } }

@keyframes ani-fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0, 0);
       -moz-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
       -moz-transform: none;
            transform: none; } }

.ani-fadeInRight {
  -webkit-animation: ani-fadeInRight 1s both;
     -moz-animation: ani-fadeInRight 1s both;
          animation: ani-fadeInRight 1s both; }

@-webkit-keyframes ani-fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 0);
            transform: translate3d(50%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-moz-keyframes ani-fadeInRight {
  0% {
    opacity: 0;
    -moz-transform: translate3d(50%, 0, 0);
         transform: translate3d(50%, 0, 0); }
  100% {
    opacity: 1;
    -moz-transform: none;
         transform: none; } }

@keyframes ani-fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 0);
       -moz-transform: translate3d(50%, 0, 0);
            transform: translate3d(50%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
       -moz-transform: none;
            transform: none; } }

.ani-fadeInRightCenter {
  -webkit-animation: ani-fadeInRightCenter 1s both;
     -moz-animation: ani-fadeInRightCenter 1s both;
          animation: ani-fadeInRightCenter 1s both; }

@-webkit-keyframes ani-fadeInRightCenter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0%, -50%, 0);
            transform: translate3d(0%, -50%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0); } }

@-moz-keyframes ani-fadeInRightCenter {
  0% {
    opacity: 0;
    -moz-transform: translate3d(0%, -50%, 0);
         transform: translate3d(0%, -50%, 0); }
  100% {
    opacity: 1;
    -moz-transform: translate3d(-50%, -50%, 0);
         transform: translate3d(-50%, -50%, 0); } }

@keyframes ani-fadeInRightCenter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0%, -50%, 0);
       -moz-transform: translate3d(0%, -50%, 0);
            transform: translate3d(0%, -50%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, -50%, 0);
       -moz-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0); } }

.ani-fadeInUp {
  -webkit-animation: ani-fadeInUp 1s both;
     -moz-animation: ani-fadeInUp 1s both;
          animation: ani-fadeInUp 1s both; }

@-webkit-keyframes ani-fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
            transform: translate3d(0, 50%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-moz-keyframes ani-fadeInUp {
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, 50%, 0);
         transform: translate3d(0, 50%, 0); }
  100% {
    opacity: 1;
    -moz-transform: none;
         transform: none; } }

@keyframes ani-fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
       -moz-transform: translate3d(0, 50%, 0);
            transform: translate3d(0, 50%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
       -moz-transform: none;
            transform: none; } }

.ani-fadeOutDown {
  -webkit-animation: ani-fadeOutDown 1s both;
     -moz-animation: ani-fadeOutDown 1s both;
          animation: ani-fadeOutDown 1s both; }

@-webkit-keyframes ani-fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
            transform: translate3d(0, 50%, 0); } }

@-moz-keyframes ani-fadeOutDown {
  0% {
    opacity: 1;
    -moz-transform: none;
         transform: none; }
  100% {
    opacity: 0;
    -moz-transform: translate3d(0, 50%, 0);
         transform: translate3d(0, 50%, 0); } }

@keyframes ani-fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: none;
       -moz-transform: none;
            transform: none; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
       -moz-transform: translate3d(0, 50%, 0);
            transform: translate3d(0, 50%, 0); } }

.ani-fadeInUpCenter {
  -webkit-animation: ani-fadeInUpCenter 1s both;
     -moz-animation: ani-fadeInUpCenter 1s both;
          animation: ani-fadeInUpCenter 1s both; }

@-webkit-keyframes ani-fadeInUpCenter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0); } }

@-moz-keyframes ani-fadeInUpCenter {
  0% {
    opacity: 0;
    -moz-transform: translate3d(-50%, 0%, 0);
         transform: translate3d(-50%, 0%, 0); }
  100% {
    opacity: 1;
    -moz-transform: translate3d(-50%, -50%, 0);
         transform: translate3d(-50%, -50%, 0); } }

@keyframes ani-fadeInUpCenter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
       -moz-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, -50%, 0);
       -moz-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0); } }

.ani-fadeInDown {
  -webkit-animation: ani-fadeInDown 1s both;
     -moz-animation: ani-fadeInDown 1s both;
          animation: ani-fadeInDown 1s both; }

@-webkit-keyframes ani-fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-moz-keyframes ani-fadeInDown {
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, -50%, 0);
         transform: translate3d(0, -50%, 0); }
  100% {
    opacity: 1;
    -moz-transform: none;
         transform: none; } }

@keyframes ani-fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -50%, 0);
       -moz-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
       -moz-transform: none;
            transform: none; } }

.ani-fadeScaleIn {
  -webkit-animation: ani-fadeScaleIn 1s both;
     -moz-animation: ani-fadeScaleIn 1s both;
          animation: ani-fadeScaleIn 1s both; }

@-webkit-keyframes ani-fadeScaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-moz-keyframes ani-fadeScaleIn {
  0% {
    opacity: 0;
    -moz-transform: scale(0.5);
         transform: scale(0.5); }
  100% {
    opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1); } }

@keyframes ani-fadeScaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
       -moz-transform: scale(0.5);
            transform: scale(0.5); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
            transform: scale(1); } }

.ani-fadeScaleInLight {
  -webkit-animation: ani-fadeScaleInLight 1s both;
     -moz-animation: ani-fadeScaleInLight 1s both;
          animation: ani-fadeScaleInLight 1s both; }

@-webkit-keyframes ani-fadeScaleInLight {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    filter: brightness(1); } }

@-moz-keyframes ani-fadeScaleInLight {
  0% {
    opacity: 0;
    -moz-transform: scale(0.5);
         transform: scale(0.5); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1);
    filter: brightness(1); } }

@keyframes ani-fadeScaleInLight {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
       -moz-transform: scale(0.5);
            transform: scale(0.5); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
            transform: scale(1);
    filter: brightness(1); } }

.ani-fadeScaleInRotate {
  -webkit-animation: ani-fadeScaleInRotate 1s both;
     -moz-animation: ani-fadeScaleInRotate 1s both;
          animation: ani-fadeScaleInRotate 1s both; }

@-webkit-keyframes ani-fadeScaleInRotate {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5) rotate(90deg);
            transform: scale(0.5) rotate(90deg); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg); } }

@-moz-keyframes ani-fadeScaleInRotate {
  0% {
    opacity: 0;
    -moz-transform: scale(0.5) rotate(90deg);
         transform: scale(0.5) rotate(90deg); }
  100% {
    opacity: 1;
    -moz-transform: scale(1) rotate(0deg);
         transform: scale(1) rotate(0deg); } }

@keyframes ani-fadeScaleInRotate {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5) rotate(90deg);
       -moz-transform: scale(0.5) rotate(90deg);
            transform: scale(0.5) rotate(90deg); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
       -moz-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg); } }

.ani-fadeScaleInRotateCenter {
  -webkit-animation: ani-fadeScaleInRotateCenter 1s both;
     -moz-animation: ani-fadeScaleInRotateCenter 1s both;
          animation: ani-fadeScaleInRotateCenter 1s both; }

@-webkit-keyframes ani-fadeScaleInRotateCenter {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.5) rotate(90deg);
            transform: translate(-50%, -50%) scale(0.5) rotate(90deg); }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1) rotate(0deg);
            transform: translate(-50%, -50%) scale(1) rotate(0deg); } }

@-moz-keyframes ani-fadeScaleInRotateCenter {
  0% {
    opacity: 0;
    -moz-transform: translate(-50%, -50%) scale(0.5) rotate(90deg);
         transform: translate(-50%, -50%) scale(0.5) rotate(90deg); }
  100% {
    opacity: 1;
    -moz-transform: translate(-50%, -50%) scale(1) rotate(0deg);
         transform: translate(-50%, -50%) scale(1) rotate(0deg); } }

@keyframes ani-fadeScaleInRotateCenter {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.5) rotate(90deg);
       -moz-transform: translate(-50%, -50%) scale(0.5) rotate(90deg);
            transform: translate(-50%, -50%) scale(0.5) rotate(90deg); }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1) rotate(0deg);
       -moz-transform: translate(-50%, -50%) scale(1) rotate(0deg);
            transform: translate(-50%, -50%) scale(1) rotate(0deg); } }

.ani-fadeScaleInCenter {
  -webkit-animation: ani-fadeScaleInCenter 1s both;
     -moz-animation: ani-fadeScaleInCenter 1s both;
          animation: ani-fadeScaleInCenter 1s both; }

@-webkit-keyframes ani-fadeScaleInCenter {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.5);
            transform: translate(-50%, -50%) scale(0.5); }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1); } }

@-moz-keyframes ani-fadeScaleInCenter {
  0% {
    opacity: 0;
    -moz-transform: translate(-50%, -50%) scale(0.5);
         transform: translate(-50%, -50%) scale(0.5); }
  100% {
    opacity: 1;
    -moz-transform: translate(-50%, -50%) scale(1);
         transform: translate(-50%, -50%) scale(1); } }

@keyframes ani-fadeScaleInCenter {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.5);
       -moz-transform: translate(-50%, -50%) scale(0.5);
            transform: translate(-50%, -50%) scale(0.5); }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
       -moz-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1); } }

.ani-bounceIn {
  -webkit-animation: ani-bounceIn 1s both;
     -moz-animation: ani-bounceIn 1s both;
          animation: ani-bounceIn 1s both; }

@-webkit-keyframes ani-bounceIn {
  0%, 100%, 20%, 40%, 60%, 80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

@-moz-keyframes ani-bounceIn {
  0%, 100%, 20%, 40%, 60%, 80% {
    -moz-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
         transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -moz-transform: scale3d(0.3, 0.3, 0.3);
         transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -moz-transform: scale3d(1.1, 1.1, 1.1);
         transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -moz-transform: scale3d(0.9, 0.9, 0.9);
         transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -moz-transform: scale3d(1.03, 1.03, 1.03);
         transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -moz-transform: scale3d(0.97, 0.97, 0.97);
         transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    -moz-transform: scale3d(1, 1, 1);
         transform: scale3d(1, 1, 1); } }

@keyframes ani-bounceIn {
  0%, 100%, 20%, 40%, 60%, 80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
       -moz-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
       -moz-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
       -moz-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
       -moz-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
       -moz-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
       -moz-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
       -moz-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

.ani-rotate360 {
  -webkit-animation: ani-rotate360 1s both;
     -moz-animation: ani-rotate360 1s both;
          animation: ani-rotate360 1s both; }

@-webkit-keyframes ani-rotate360 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg); }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg); } }

@-moz-keyframes ani-rotate360 {
  0% {
    -moz-transform: translate(-50%, -50%) rotate(0deg);
         transform: translate(-50%, -50%) rotate(0deg); }
  100% {
    -moz-transform: translate(-50%, -50%) rotate(360deg);
         transform: translate(-50%, -50%) rotate(360deg); } }

@keyframes ani-rotate360 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
       -moz-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg); }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
       -moz-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg); } }

.ani-fadeInLeftLight {
  -webkit-animation: ani-fadeInLeftLight 1s both;
     -moz-animation: ani-fadeInLeftLight 1s both;
          animation: ani-fadeInLeftLight 1s both; }

@-webkit-keyframes ani-fadeInLeftLight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1);
    -webkit-transform: none;
            transform: none; } }

@-moz-keyframes ani-fadeInLeftLight {
  0% {
    opacity: 0;
    -moz-transform: translate3d(-50%, 0, 0);
         transform: translate3d(-50%, 0, 0); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1);
    -moz-transform: none;
         transform: none; } }

@keyframes ani-fadeInLeftLight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0, 0);
       -moz-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1);
    -webkit-transform: none;
       -moz-transform: none;
            transform: none; } }

.ani-fadeInRightLight {
  -webkit-animation: ani-fadeInRightLight 1s both;
     -moz-animation: ani-fadeInRightLight 1s both;
          animation: ani-fadeInRightLight 1s both; }

@-webkit-keyframes ani-fadeInRightLight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 0);
            transform: translate3d(50%, 0, 0); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1);
    -webkit-transform: none;
            transform: none; } }

@-moz-keyframes ani-fadeInRightLight {
  0% {
    opacity: 0;
    -moz-transform: translate3d(50%, 0, 0);
         transform: translate3d(50%, 0, 0); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1);
    -moz-transform: none;
         transform: none; } }

@keyframes ani-fadeInRightLight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 0);
       -moz-transform: translate3d(50%, 0, 0);
            transform: translate3d(50%, 0, 0); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1);
    -webkit-transform: none;
       -moz-transform: none;
            transform: none; } }

.ani-fadeInUpLight {
  -webkit-animation: ani-fadeInUpLight 1s both;
     -moz-animation: ani-fadeInUpLight 1s both;
          animation: ani-fadeInUpLight 1s both; }

@-webkit-keyframes ani-fadeInUpLight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
            transform: translate3d(0, 50%, 0); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1);
    -webkit-transform: none;
            transform: none; } }

@-moz-keyframes ani-fadeInUpLight {
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, 50%, 0);
         transform: translate3d(0, 50%, 0); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1);
    -moz-transform: none;
         transform: none; } }

@keyframes ani-fadeInUpLight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
       -moz-transform: translate3d(0, 50%, 0);
            transform: translate3d(0, 50%, 0); }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1);
    -webkit-transform: none;
       -moz-transform: none;
            transform: none; } }

.ani-fadeInLight {
  -webkit-animation: ani-fadeInLight 1s both;
     -moz-animation: ani-fadeInLight 1s both;
          animation: ani-fadeInLight 1s both; }

@-webkit-keyframes ani-fadeInLight {
  0% {
    opacity: 0; }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1); } }

@-moz-keyframes ani-fadeInLight {
  0% {
    opacity: 0; }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1); } }

@keyframes ani-fadeInLight {
  0% {
    opacity: 0; }
  50% {
    filter: brightness(2); }
  100% {
    opacity: 1;
    filter: brightness(1); } }

@-webkit-keyframes shakeY {
  0% {
    -webkit-transform: translate3d(0, -25%, 0);
            transform: translate3d(0, -25%, 0); }
  50% {
    -webkit-transform: translate3d(0, 25%, 0);
            transform: translate3d(0, 25%, 0); }
  100% {
    -webkit-transform: translate3d(0, -25%, 0);
            transform: translate3d(0, -25%, 0); } }

@-moz-keyframes shakeY {
  0% {
    -moz-transform: translate3d(0, -25%, 0);
         transform: translate3d(0, -25%, 0); }
  50% {
    -moz-transform: translate3d(0, 25%, 0);
         transform: translate3d(0, 25%, 0); }
  100% {
    -moz-transform: translate3d(0, -25%, 0);
         transform: translate3d(0, -25%, 0); } }

@keyframes shakeY {
  0% {
    -webkit-transform: translate3d(0, -25%, 0);
       -moz-transform: translate3d(0, -25%, 0);
            transform: translate3d(0, -25%, 0); }
  50% {
    -webkit-transform: translate3d(0, 25%, 0);
       -moz-transform: translate3d(0, 25%, 0);
            transform: translate3d(0, 25%, 0); }
  100% {
    -webkit-transform: translate3d(0, -25%, 0);
       -moz-transform: translate3d(0, -25%, 0);
            transform: translate3d(0, -25%, 0); } }

.ani-shakeY {
  -webkit-animation: shakeY infinite 1.5s ease-in-out;
     -moz-animation: shakeY infinite 1.5s ease-in-out;
          animation: shakeY infinite 1.5s ease-in-out; }

@-webkit-keyframes shine {
  0% {
    filter: brightness(1); }
  50% {
    filter: brightness(1.2); }
  100% {
    filter: brightness(1); } }

@-moz-keyframes shine {
  0% {
    filter: brightness(1); }
  50% {
    filter: brightness(1.2); }
  100% {
    filter: brightness(1); } }

@keyframes shine {
  0% {
    filter: brightness(1); }
  50% {
    filter: brightness(1.2); }
  100% {
    filter: brightness(1); } }

.ani-shine {
  -webkit-animation: shine infinite 1.5s ease-in-out;
     -moz-animation: shine infinite 1.5s ease-in-out;
          animation: shine infinite 1.5s ease-in-out; }

@-webkit-keyframes skew {
  0% {
    -webkit-transform: skew(0deg);
            transform: skew(0deg); }
  100% {
    -webkit-transform: skew(0deg);
            transform: skew(0deg); } }

@-moz-keyframes skew {
  0% {
    -moz-transform: skew(0deg);
         transform: skew(0deg); }
  100% {
    -moz-transform: skew(0deg);
         transform: skew(0deg); } }

@keyframes skew {
  0% {
    -webkit-transform: skew(0deg);
       -moz-transform: skew(0deg);
            transform: skew(0deg); }
  100% {
    -webkit-transform: skew(0deg);
       -moz-transform: skew(0deg);
            transform: skew(0deg); } }

/*--------- Layout Set ---------*/
/*--------- Ratio Set ---------*/
/* path */
/* Color */
/* START dev */
/* End dev */
/*@include rwd((width: 10,
            height: 5,
            padding: 10 20 30 5,
            border: 10 solid red));
*/
/*--------- Font Base Set ---------*/
/*--------- Font Family ---------*/
#fla-body * {
  font-family: "Noto Sans TC", "微軟正黑體", Microsoft JhengHei, PingFang T, Arial, sans-serif; }

/*--------- Media ---------*/
/*--------- CSS Set by Media ---------*/
.col-1 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 8.33333%;
  max-width: 8.33333%;
  padding: 0; }

.col-2 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 16.66667%;
  max-width: 16.66667%;
  padding: 0; }

.col-3 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 25%;
  max-width: 25%;
  padding: 0; }

.col-4 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 33.33333%;
  max-width: 33.33333%;
  padding: 0; }

.col-5 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 41.66667%;
  max-width: 41.66667%;
  padding: 0; }

.col-6 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 50%;
  max-width: 50%;
  padding: 0; }

.col-7 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 58.33333%;
  max-width: 58.33333%;
  padding: 0; }

.col-8 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 66.66667%;
  max-width: 66.66667%;
  padding: 0; }

.col-9 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 75%;
  max-width: 75%;
  padding: 0; }

.col-10 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 83.33333%;
  max-width: 83.33333%;
  padding: 0; }

.col-11 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 91.66667%;
  max-width: 91.66667%;
  padding: 0; }

.col-12 {
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
          flex: 0 0 100%;
  max-width: 100%;
  padding: 0; }

@media (min-width: 576px) {
  .col-sm-1 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
    padding: 0; }
  .col-sm-2 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
    padding: 0; }
  .col-sm-3 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
    padding: 0; }
  .col-sm-4 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding: 0; }
  .col-sm-5 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
    padding: 0; }
  .col-sm-6 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
    padding: 0; }
  .col-sm-7 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
    padding: 0; }
  .col-sm-8 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding: 0; }
  .col-sm-9 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
    padding: 0; }
  .col-sm-10 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
    padding: 0; }
  .col-sm-11 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
    padding: 0; }
  .col-sm-12 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
    padding: 0; } }

@media (min-width: 768px) {
  .col-md-1 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
    padding: 0; }
  .col-md-2 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
    padding: 0; }
  .col-md-3 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
    padding: 0; }
  .col-md-4 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding: 0; }
  .col-md-5 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
    padding: 0; }
  .col-md-6 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
    padding: 0; }
  .col-md-7 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
    padding: 0; }
  .col-md-8 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding: 0; }
  .col-md-9 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
    padding: 0; }
  .col-md-10 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
    padding: 0; }
  .col-md-11 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
    padding: 0; }
  .col-md-12 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
    padding: 0; } }

@media (min-width: 992px) {
  .col-lg-1 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
    padding: 0; }
  .col-lg-2 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
    padding: 0; }
  .col-lg-3 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
    padding: 0; }
  .col-lg-4 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding: 0; }
  .col-lg-5 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
    padding: 0; }
  .col-lg-6 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
    padding: 0; }
  .col-lg-7 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
    padding: 0; }
  .col-lg-8 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding: 0; }
  .col-lg-9 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
    padding: 0; }
  .col-lg-10 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
    padding: 0; }
  .col-lg-11 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
    padding: 0; }
  .col-lg-12 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
    padding: 0; } }

@media (min-width: 1200px) {
  .col-xl-1 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 8.33333%;
    max-width: 8.33333%;
    padding: 0; }
  .col-xl-2 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 16.66667%;
    max-width: 16.66667%;
    padding: 0; }
  .col-xl-3 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
    padding: 0; }
  .col-xl-4 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding: 0; }
  .col-xl-5 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 41.66667%;
    max-width: 41.66667%;
    padding: 0; }
  .col-xl-6 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
    padding: 0; }
  .col-xl-7 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 58.33333%;
    max-width: 58.33333%;
    padding: 0; }
  .col-xl-8 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 66.66667%;
    max-width: 66.66667%;
    padding: 0; }
  .col-xl-9 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
    padding: 0; }
  .col-xl-10 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 83.33333%;
    max-width: 83.33333%;
    padding: 0; }
  .col-xl-11 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 91.66667%;
    max-width: 91.66667%;
    padding: 0; }
  .col-xl-12 {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
    padding: 0; } }

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
 * ========================================================================== */
/* Default self style */
* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box; }

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS. */
html {
  -webkit-text-size-adjust: 100%;
  /* 1 */ }

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers. */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE. */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari. */
h1, h2, h3, h4, h5, h6, p, .h1, .h2, .h3, .h4, .h5, .h6 {
  margin: 0;
  padding: 0; }

/* List style */
ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

/* Grouping content
 * ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE. */
hr {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers. */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10. */
a {
  background-color: transparent;
  text-decoration: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -moz-text-decoration: underline dotted;
       text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari. */
b, strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers. */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers. */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
 * ========================================================================== */
/**
 * Remove the border on images inside links in IE 10. */
img {
  border-style: none; }

/* Forms
 * ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge. */
button, input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox. */
button, select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari. */
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox. */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers. */
legend {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+. */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10. */
[type="checkbox"], [type="radio"] {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari. */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
 * Remove the inner padding in Chrome and Safari on macOS. */
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
 * ========================================================================== */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details {
  display: block; }

/* Add the correct display in all browsers. */
summary {
  display: list-item; }

/* Misc
 * ========================================================================== */
/**
 * Add the correct display in IE 10+. */
template, [hidden] {
  display: none; }

/**
 * Add the correct display in IE 10. */
[hidden] {
  display: none; }

/*--------- Layout Set ---------*/
/*--------- Ratio Set ---------*/
/* path */
/* Color */
/* START dev */
/* End dev */
/*@include rwd((width: 10,
            height: 5,
            padding: 10 20 30 5,
            border: 10 solid red));
*/
/*--------- Font Base Set ---------*/
/*--------- Font Family ---------*/
#fla-body * {
  font-family: "Noto Sans TC", "微軟正黑體", Microsoft JhengHei, PingFang T, Arial, sans-serif; }

* {
  -webkit-tap-highlight-color: transparent;
  /* for removing the highlight */ }

body.active {
  overflow: hidden; }

img {
  vertical-align: middle; }

/*--------- Font Size Class ---------*/
.dfz-12 {
  font-size: 1.25vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-12 {
      font-size: 0.46875vw; } }

.dfz-18 {
  font-size: 1.875vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-18 {
      font-size: 0.70312vw; } }

.dfz-20 {
  font-size: 2.08333vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-20 {
      font-size: 0.78125vw; } }

.dfz-26 {
  font-size: 2.70833vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-26 {
      font-size: 1.01562vw; } }

.dfz-28 {
  font-size: 2.91667vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-28 {
      font-size: 1.09375vw; } }

.dfz-30 {
  font-size: 3.125vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-30 {
      font-size: 1.17188vw; } }

.dfz-34 {
  font-size: 3.54167vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-34 {
      font-size: 1.32812vw; } }

.dfz-40 {
  font-size: 4.16667vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-40 {
      font-size: 1.5625vw; } }

.dfz-44 {
  font-size: 4.58333vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-44 {
      font-size: 1.71875vw; } }

.dfz-46 {
  font-size: 4.79167vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-46 {
      font-size: 1.79688vw; } }

.dfz-55 {
  font-size: 5.72917vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-55 {
      font-size: 2.14844vw; } }

.dfz-62 {
  font-size: 6.45833vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-62 {
      font-size: 2.42188vw; } }

.dfz-70 {
  font-size: 7.29167vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-70 {
      font-size: 2.73438vw; } }

.dfz-78 {
  font-size: 8.125vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-78 {
      font-size: 3.04688vw; } }

.dfz-80 {
  font-size: 8.33333vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-80 {
      font-size: 3.125vw; } }

.dfz-88 {
  font-size: 9.16667vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-88 {
      font-size: 3.4375vw; } }

.dfz-98 {
  font-size: 10.20833vw; }
  @media only screen and (min-width: 1200px) {
    .dfz-98 {
      font-size: 3.82812vw; } }

/* Color Class */
.text-blue {
  color: #00b0f0 !important; }

.text-pink {
  color: #e2598d !important; }

.text-dk-gary {
  color: #3c3c3c !important; }

.text-white {
  color: #fff !important; }

.tr-scaleY-88, .content-text-price {
  -webkit-transform-origin: 0 0;
     -moz-transform-origin: 0 0;
          transform-origin: 0 0;
  -webkit-transform: scaleY(0.88);
     -moz-transform: scaleY(0.88);
          transform: scaleY(0.88); }

.tr-scaleY-98, .v2 .t-title {
  -webkit-transform-origin: 0 0;
     -moz-transform-origin: 0 0;
          transform-origin: 0 0;
  -webkit-transform: scaleY(0.95);
     -moz-transform: scaleY(0.95);
          transform: scaleY(0.95); }

.t-block {
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.05em; }

.t-tag {
  display: inline-block;
  color: #e2598d;
  font-weight: bold;
  font-size: 5.625vw; }
  @media only screen and (min-width: 1200px) {
    .t-tag {
      font-size: 2.10938vw; } }

.t-title {
  color: #00b0f0;
  font-size: 6.77083vw; }
  @media only screen and (min-width: 1200px) {
    .t-title {
      font-size: 2.53906vw; } }
  .t-title .point {
    font-size: 1.18em; }
  .v2 .t-title {
    font-weight: 700;
    font-size: 7.91667vw; }
    @media only screen and (min-width: 1200px) {
      .v2 .t-title {
        font-size: 2.96875vw; } }
  .t-title .small {
    font-weight: 700;
    font-size: 7.08333vw; }
    @media only screen and (min-width: 1200px) {
      .t-title .small {
        font-size: 2.65625vw; } }

.content-text {
  padding-left: 16.35417vw;
  padding-right: 5.20833vw;
  letter-spacing: 0.04em;
  text-align: justify;
  line-height: 1.2; }
  @media only screen and (min-width: 1200px) {
    .content-text {
      padding-left: 6.13281vw;
      padding-right: 1.95312vw; } }
  .content-text-subtitle {
    font-size: 4.16667vw;
    position: relative;
    white-space: nowrap;
    display: -webkit-box;
    display: -moz-box;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
            align-items: center;
    font-weight: 500; }
    @media only screen and (min-width: 1200px) {
      .content-text-subtitle {
        font-size: 1.5625vw; } }
    .content-text-subtitle .icon-line {
      display: inline-block;
      width: 100%;
      height: 1px;
      background: #3c3c3c;
      margin: 0 1em; }
  .content-text-price {
    font-size: 10.20833vw;
    color: #e2598d;
    font-weight: bold; }
    @media only screen and (min-width: 1200px) {
      .content-text-price {
        font-size: 3.82812vw; } }
  .content-text-ori {
    font-size: 8.125vw;
    color: #00b0f0;
    font-weight: bold; }
    @media only screen and (min-width: 1200px) {
      .content-text-ori {
        font-size: 3.04688vw; } }

.btn-block {
  display: -webkit-box;
  display: -moz-box;
  display: flex;
  width: 100%; }

.cus-btn {
  color: #fff;
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, rgba(187, 222, 237, 0.4)), to(transparent));
  background: -moz-linear-gradient(top, rgba(187, 222, 237, 0.4) 10%, transparent 100%);
  background: linear-gradient(to bottom, rgba(187, 222, 237, 0.4) 10%, transparent 100%);
  -webkit-box-shadow: 0 0 1em rgba(255, 255, 255, 0.8);
          box-shadow: 0 0 1em rgba(255, 255, 255, 0.8);
  background-color: #00b0f0;
  padding: .5em 0;
  display: inline-block; }
  .cus-btn:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: -moz-linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    background: linear-gradient(-45deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    background-size: 200%;
    background-position: 0 100%;
    -webkit-transition: background-position 0.5s ease-in-out;
    -moz-transition: background-position 0.5s ease-in-out;
    transition: background-position 0.5s ease-in-out; }
  .cus-btn:hover:before {
    -webkit-transition: background-position 0.5s ease-in-out;
    -moz-transition: background-position 0.5s ease-in-out;
    transition: background-position 0.5s ease-in-out;
    background-position: 110% 0; }
  .cus-btn + .cus-btn {
    border-left: 1px solid #fff; }
  .btn-block .cus-btn {
    width: 100%; }

#fla-body * {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none; }

#sKv {
  position: relative;
  width: 100%;
  height: 134.375vw;
  background: url("../images/kv/kv-bg_mb.jpg") 50% 50% no-repeat;
  background-size: cover; }
  @media (min-width: 992px) {
    #sKv {
      height: 40vw;
      background-image: url("../images/kv/kv-bg_pc.jpg"); } }

.kv-title {
  position: absolute;
  left: 7.08333%;
  top: 1.47287%;
  width: 88.85417%; }
  .kv-title > img {
    display: block; }
  @media (min-width: 992px) {
    .kv-title {
      left: 18.86719%;
      top: 6.73828%;
      width: 35.11719%; } }

.kv-t-title {
  width: 92.6143%; }
  @media (min-width: 992px) {
    .kv-t-title {
      width: 93.77086%; } }

.kv-t-subtitle {
  width: 59.90621%; }
  @media (min-width: 992px) {
    .kv-t-subtitle {
      width: 72.08009%; } }

.kv-product-01 {
  position: absolute;
  width: 25.83333%;
  left: 24.375%;
  top: 53.25581%; }
  @media (min-width: 992px) {
    .kv-product-01 {
      width: 12.96875%;
      left: 51.64062%;
      top: 25.19531%; } }

.kv-product-02 {
  position: absolute;
  width: 26.66667%;
  left: 51.77083%;
  top: 56.20155%; }
  @media (min-width: 992px) {
    .kv-product-02 {
      width: 13.39844%;
      left: 65.9375%;
      top: 30.07812%; } }

.kv-product-03 {
  position: absolute;
  width: 24.375%;
  left: 45.52083%;
  top: 42.55814%; }
  @media (min-width: 992px) {
    .kv-product-03 {
      width: 12.03125%;
      left: 63.63281%;
      top: 6.73828%; } }

.kv-supermom {
  position: absolute;
  width: 48.64583%;
  left: 63.54167%;
  top: 38.06202%; }
  .kv-supermom > img {
    -webkit-transform-origin: 80% 100%;
       -moz-transform-origin: 80% 100%;
            transform-origin: 80% 100%; }
  .kv-supermom .bg-heart {
    position: absolute;
    left: 0;
    top: -11.93416%;
    width: 63.81156%;
    height: 121.39918%;
    background: url("../images/kv/supermom-heart_mb.png") 0 0 no-repeat;
    background-size: contain; }
  @media (min-width: 992px) {
    .kv-supermom {
      width: 25.97656%;
      left: 72.42188%;
      top: 5.66406%; }
      .kv-supermom .bg-heart {
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-image: url("../images/kv/supermom-heart_pc.png"); } }

.obj-shadow {
  border-radius: 100%;
  position: absolute;
  height: 1em;
  background: rgba(0, 0, 0, 0.25);
  filter: blur(5px); }
  .kv-product-01 .obj-shadow {
    right: 0;
    top: 115%;
    width: 50%; }
  .kv-product-02 .obj-shadow {
    left: 25%;
    top: 120%;
    width: 40%; }
  .kv-product-03 .obj-shadow {
    left: 25%;
    top: 160%;
    width: 40%; }
  .kv-supermom .obj-shadow {
    width: 60%;
    left: 10%;
    top: 120%; }

.icon-arrow-down {
  display: inline-block;
  font-style: normal;
  background-color: rgba(255, 0, 156, 0.3);
  width: 1em;
  height: 1em;
  vertical-align: -0.1em; }

.icon-arrow-down {
  background: url("../images/commom/arrow-down-blue.png") 100% 0 no-repeat;
  background-size: contain; }

.patten-heart {
  position: absolute;
  background: url("../images/commom/heart.png") 0 0 no-repeat;
  background-size: contain;
  width: 11.25%;
  height: 0;
  padding-top: 11.25%;
  left: 2%; }
  .patten-heart.flip {
    -webkit-transform: scaleX(-1);
       -moz-transform: scaleX(-1);
            transform: scaleX(-1);
    left: inherit;
    right: 2%; }
    #sKv .patten-heart.flip {
      left: 76.35417%;
      top: 4.57364%;
      width: 7.5%;
      padding-top: 6.51163%; }
      @media (min-width: 992px) {
        #sKv .patten-heart.flip {
          left: 53.98438%;
          top: 9.57031%;
          width: 7.14844%;
          padding-top: 7.14844%; } }
  #sKv .patten-heart {
    left: 3.4375%;
    top: 17.75194%;
    width: 5.10417%;
    padding-top: 5.50388%; }
    @media (min-width: 992px) {
      #sKv .patten-heart {
        left: 17.14844%;
        top: 44.04297%;
        width: 5.15625%;
        padding-top: 5.15625%; } }

.disc {
  margin: 0 1em; }
  .disc li {
    list-style-type: disc;
    margin-bottom: .5em; }

.decimal {
  margin: 0 1em;
  counter-reset: num; }
  .decimal li {
    counter-increment: num;
    margin-bottom: .5em;
    position: relative; }
    .decimal li:before {
      content: counter(num) ".";
      position: absolute;
      font-weight: bold;
      right: 100%;
      margin-right: .25em; }

.fla-wrapper {
  font-size: 2.70833vw;
  overflow: hidden; }
  @media only screen and (min-width: 1200px) {
    .fla-wrapper {
      font-size: 1.01562vw; } }

.sbg-v1 {
  background: url("../images/commom/bg-heart-up.png") 100% 0 no-repeat, url("../images/commom/heart.png") 2% 28% no-repeat, url("../images/commom/bg-heart-down.png") 0 100% no-repeat;
  background-size: 24.47917% auto, 11.25% auto, 24.47917% auto;
  position: relative;
  padding: 0.1px 0; }

.sbg-v2 {
  background: url("../images/commom/bg-heart-up.png") 100% 0 no-repeat, url("../images/commom/bg-heart-down-v2.png") 0 100% no-repeat;
  background-size: 16.25% auto, 21.04167% auto;
  position: relative;
  padding: 0.1px 0; }

.sbg-v3 {
  background: url("../images/commom/bg-heart-up.png") 100% 0 no-repeat, url("../images/commom/bg-heart-down.png") 0 100% no-repeat, url("../images/kv/title.png") 86% -moz-calc(100% - 6em) no-repeat, url("../images/kv/subtitle.png") 94% -moz-calc(100% - 3.7em) no-repeat;
  background: url("../images/commom/bg-heart-up.png") 100% 0 no-repeat, url("../images/commom/bg-heart-down.png") 0 100% no-repeat, url("../images/kv/title.png") 86% calc(100% - 6em) no-repeat, url("../images/kv/subtitle.png") 94% calc(100% - 3.7em) no-repeat;
  background-size: 24.47917% auto, 24.47917% auto, 44.6875% auto, 34.47917% auto;
  position: relative;
  padding: 0.1px 0;
  z-index: 0; }

.supermom-circle {
  width: 18.95833vw; }
  @media only screen and (min-width: 1200px) {
    .supermom-circle {
      width: 7.10938vw; } }

.content {
  padding-left: 17.70833vw;
  padding-right: 17.70833vw;
  text-align: justify; }
  @media only screen and (min-width: 1200px) {
    .content {
      padding-left: 6.64062vw;
      padding-right: 6.64062vw; } }

.js-s-lv2 {
  -webkit-transform-origin: 50% 100%;
     -moz-transform-origin: 50% 100%;
          transform-origin: 50% 100%; }

#cursor-mouse {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
     -moz-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 50vw;
  height: 50vw;
  border-radius: 50%;
  pointer-events: none;
  background-color: rgba(168, 224, 254, 0.5);
  z-index: 999999999999;
  opacity: 0;
  -webkit-transition: width 0.5s, height 0.5s, opacity 0.5s, background-color 0.5s !important;
  -moz-transition: width 0.5s, height 0.5s, opacity 0.5s, background-color 0.5s !important;
  transition: width 0.5s, height 0.5s, opacity 0.5s, background-color 0.5s !important; }
  #cursor-mouse.init {
    width: 30px;
    height: 30px;
    opacity: 1; }
  #cursor-mouse.active {
    width: 60px;
    height: 60px; }

body.active {
  overflow: hidden; }

#fla-lightbox {
  display: -webkit-box;
  display: -moz-box;
  display: flex;
  -webkit-box-pack: center;
     -moz-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
     -moz-box-align: center;
          align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s; }
  #fla-lightbox.active {
    opacity: 1;
    pointer-events: initial; }
    #fla-lightbox.active .lightbox-frame {
      -webkit-transform: none;
         -moz-transform: none;
              transform: none; }
  #fla-lightbox .lightbox-frame {
    position: relative;
    background-color: #fff;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
    -webkit-transform: translateY(100%);
       -moz-transform: translateY(100%);
            transform: translateY(100%); }
  #fla-lightbox .lightbox-block {
    display: none;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    transition: all 1s; }
    #fla-lightbox .lightbox-block.active {
      display: block;
      opacity: 1;
      pointer-events: initial; }

#lightbox-close {
  position: absolute;
  cursor: pointer;
  top: 2.08333vw;
  right: 2.08333vw;
  width: 6.25vw;
  height: 6.25vw; }
  @media only screen and (min-width: 1200px) {
    #lightbox-close {
      top: 0.78125vw;
      right: 0.78125vw;
      width: 2.34375vw;
      height: 2.34375vw; } }
  #lightbox-close span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 0.41667vw;
    background-color: #656565; }
    @media only screen and (min-width: 1200px) {
      #lightbox-close span {
        height: 0.15625vw; } }
    #lightbox-close span:nth-of-type(1) {
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
         -moz-transform: translate(-50%, -50%) rotate(45deg);
              transform: translate(-50%, -50%) rotate(45deg); }
    #lightbox-close span:nth-of-type(2) {
      -webkit-transform: translate(-50%, -50%) rotate(-45deg);
         -moz-transform: translate(-50%, -50%) rotate(-45deg);
              transform: translate(-50%, -50%) rotate(-45deg); }

.dg.ac {
  z-index: 999 !important; }

.fla-body {
  position: relative;
  width: 100%;
  overflow: hidden; }

.fla-wrapper {
  position: relative;
  margin: auto;
  width: 100vw; }
  @media only screen and (min-width: 1200px) {
    .fla-wrapper {
      width: 37.5vw; } }

#fla-nav-top {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
     -moz-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100%;
  z-index: 9; }
  #fla-nav-top.fixed {
    position: fixed; }

#fla-nav-bot {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
     -moz-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100%;
  z-index: 9; }
  #fla-nav-bot.fixed {
    position: fixed; }

.nav-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: flex;
  margin: auto;
  border: 1px solid gray;
  width: 100vw; }
  @media only screen and (min-width: 1200px) {
    .nav-wrapper {
      width: 37.5vw; } }
  .nav-wrapper > a {
    position: relative;
    width: 100%;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-align: center;
    background-color: white;
    font-size: 1.875vw;
    line-height: 4.16667vw; }
    @media only screen and (min-width: 1200px) {
      .nav-wrapper > a {
        font-size: 0.70312vw;
        line-height: 1.5625vw; } }
    .nav-wrapper > a:not(:last-child) {
      border-right: 1px solid gray; }
  .nav-wrapper .btn-block {
    position: relative;
    width: 100%;
    background-color: #fff; }
    .nav-wrapper .btn-block:not(:last-child) {
      border-right: 1px solid gray; }
    .nav-wrapper .btn-block a {
      display: block;
      text-align: center; }

.purchase-block {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s; }
  .purchase-block.active {
    opacity: 1;
    pointer-events: initial; }
  .purchase-block a {
    width: 100%;
    background-color: gray;
    color: orange; }
    .purchase-block a:not(:last-child) {
      border-bottom: 1px solid black; }
