@charset "UTF-8";
/*---------------------------------------------------------
Theme Name: baycruise free 001
Theme URI: 
Description: baycruise free 001
Author: 
Version: 1.0
---------------------------------------------------------*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Barlow&family=Noto+Sans+JP&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

img {
  vertical-align: top;
  font-size: 0;
  line-height: 0; }

@media only screen and (min-width: 769px) {
  .pconly {
    display: block; }
  .sponly {
    display: none; } }

@media only screen and (max-width: 768px) {
  .sponly {
    display: block; }
  .pconly {
    display: none; } }

.fontjp1, p {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  font-weight: 300; }

.fontjp2 {
  font-family: 'Lora', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 400 !important; }

.fontjp3 {
  font-family: 'Roboto+Condensed', 'Roboto', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  font-weight: 400; }

.fontjp4 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500; }

.font5 {
  font-family: "Barlow Condensed", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif !important;
  font-weight: 500 !important; }

.font6 {
  font-family: "Barlow Condensed", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif !important;
  font-weight: 300 !important; }

.en-font {
  font-family: 'Roboto+Condensed'; }

.en-font3 {
  font-family: 'Montserrat', 'Roboto', sans-serif; }

.jp-font {
  font-family: 'Roboto', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif; }

.jp-font-selif {
  font-family: 'Hiragino Mincho ProN', serif; }

* {
  color: #333;
  box-sizing: border-box; }

h1,
h2,
h3,
li,
dt,
dd {
  line-height: 150%; }

p {
  line-height: 180%; }

ul {
  list-style: none; }

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

table {
  border-collapse: collapse;
  width: 100%; }
  table th,
  table td {
    text-align: center;
    padding: 12px 4px;
    border: 1px solid #999;
    font-size: 14px; }
    @media screen and (max-width: 948px) {
      table th,
      table td {
        font-size: 12px; } }

form > div {
  position: relative; }

form > div + div {
  margin-top: 16px;
  margin-top: 1rem; }

@media only screen and (min-width: 769px) {
  form p.subject {
    line-height: 48px; } }

input,
button,
textarea,
select {
  font-size: 100%;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important; }

textarea,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
select {
  color: #000;
  border: 1px solid #777;
  transition: all .2s ease; }
  textarea:hover, textarea:active,
  input[type="text"]:hover,
  input[type="text"]:active,
  input[type="tel"]:hover,
  input[type="tel"]:active,
  input[type="email"]:hover,
  input[type="email"]:active,
  input[type="password"]:hover,
  input[type="password"]:active,
  select:hover,
  select:active {
    transition: all .2s ease;
    border: 1px solid #2b2b2b; }
  textarea:focus,
  input[type="text"]:focus,
  input[type="tel"]:focus,
  input[type="email"]:focus,
  input[type="password"]:focus,
  select:focus {
    transition: all .2s ease;
    border: 2px solid #2974C3 !important;
    outline: none;
    box-shadow: 0 0 0 3px #2974c3; }
  textarea.error,
  input[type="text"].error,
  input[type="tel"].error,
  input[type="email"].error,
  input[type="password"].error,
  select.error {
    border: 2px solid #840606;
    color: #840606 !important; }
    textarea.error + span,
    input[type="text"].error + span,
    input[type="tel"].error + span,
    input[type="email"].error + span,
    input[type="password"].error + span,
    select.error + span {
      color: #840606 !important; }

textarea,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
select {
  width: 100%;
  color: #000;
  border-radius: 5px;
  padding: 0px 13px;
  line-height: 48px; }
  @media only screen and (min-width: 769px) {
    textarea.small,
    input[type="text"].small,
    input[type="tel"].small,
    input[type="email"].small,
    input[type="password"].small,
    select.small {
      width: 33%; } }
  @media only screen and (min-width: 769px) {
    textarea.medium,
    input[type="text"].medium,
    input[type="tel"].medium,
    input[type="email"].medium,
    input[type="password"].medium,
    select.medium {
      width: 50%; } }

input[type="text"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #2b2b2b;
  font-weight: normal !important; }

input[type="text"]::-moz-placeholder,
input[type="tel"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="password"]::-moz-placeholder,
textarea::-moz-placeholder {
  color: #2b2b2b;
  font-weight: normal !important; }

input[type="text"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="password"]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #2b2b2b;
  font-weight: normal !important; }

input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder,
textarea::placeholder {
  color: #2b2b2b;
  font-weight: normal !important; }

label.text {
  position: relative;
  width: 100%;
  height: 60px;
  display: block; }
  label.text input {
    height: 60px;
    padding-top: 15px; }
  label.text span {
    color: #2b2b2b;
    position: absolute;
    display: block;
    left: 0px;
    top: 0px;
    padding: 0px 13px;
    width: 100%;
    height: 100%;
    line-height: 56px;
    transition: all .2s ease; }
  label.text input:focus + span,
  label.text input.havetext + span,
  label.text input.error + span {
    font-size: 8px;
    line-height: 110%;
    padding-top: 7px;
    transition: all .2s ease; }

input[type="radio"],
input[type="checkbox"] {
  display: none;
  height: 0px;
  width: 0px;
  line-height: 0px;
  margin: 0px; }

input[type="radio"] + label.radio .radiobtn {
  width: 30px;
  height: 30px;
  border-radius: 15px;
  position: relative;
  top: 8px;
  display: inline-block;
  border: 1px solid #777;
  z-index: 1;
  margin-right: 5px;
  transition: all .2s ease; }
  input[type="radio"] + label.radio .radiobtn:before {
    content: "";
    width: 0px;
    height: 0px;
    position: absolute;
    top: 50%;
    left: 50%;
    background: #777;
    z-index: 2;
    transition: all .2s ease; }

input[type="radio"] + label.radio:hover, input[type="radio"] + label.radio:active {
  cursor: pointer; }
  input[type="radio"] + label.radio:hover .radiobtn, input[type="radio"] + label.radio:active .radiobtn {
    border: 1px solid #2b2b2b;
    transition: all .2s ease; }
    input[type="radio"] + label.radio:hover .radiobtn:before, input[type="radio"] + label.radio:active .radiobtn:before {
      content: "";
      width: 10px;
      height: 10px;
      position: absolute;
      top: calc(50% - 5px);
      left: calc(50% - 5px);
      background: #2b2b2b;
      z-index: 2;
      transition: all .2s ease;
      border-radius: 5px; }

input[type="radio"]:checked + label {
  font-weight: bold; }
  input[type="radio"]:checked + label .radiobtn {
    border: 1px solid #2974C3 !important;
    box-shadow: 0 0 0 3px #2974c3 !important; }
    input[type="radio"]:checked + label .radiobtn:before {
      content: "";
      width: 10px;
      height: 10px;
      position: absolute;
      top: calc(50% - 5px);
      left: calc(50% - 5px);
      background: #2974C3 !important;
      border-radius: 5px; }

label.radio2 {
  border: 1px solid #777;
  border-radius: 5px;
  transition: all .2s ease;
  line-height: 46px;
  width: 100%;
  color: #000;
  display: block;
  width: 100%;
  padding: 0px 13px; }
  label.radio2:hover, label.radio2:active {
    cursor: pointer;
    border: 1px solid #2b2b2b;
    transition: all .2s ease; }

input:checked + .radio2 {
  border: 1px solid #2974C3;
  transition: all .2s ease;
  font-weight: bold;
  box-shadow: 0 0 0 3px #2974c3; }

input[type="checkbox"] + label.checkbox1 {
  position: relative; }
  input[type="checkbox"] + label.checkbox1 .checkboxbtn {
    width: 26px;
    height: 26px;
    position: relative;
    border: 1px solid #777;
    border-radius: 5px;
    display: inline-block;
    outline: none;
    top: 8px;
    margin-right: 10px;
    transition: all .2s ease; }
  input[type="checkbox"] + label.checkbox1:hover, input[type="checkbox"] + label.checkbox1:active {
    cursor: pointer; }
    input[type="checkbox"] + label.checkbox1:hover .checkboxbtn, input[type="checkbox"] + label.checkbox1:active .checkboxbtn {
      border: 1px solid #2b2b2b;
      transition: all .2s ease; }
  input[type="checkbox"] + label.checkbox1:checked {
    background: #2974C3; }

input[type="checkbox"]:checked + label.checkbox1 {
  font-weight: bold; }
  input[type="checkbox"]:checked + label.checkbox1 .checkboxbtn {
    top: 3px;
    border-left: 4px solid #2974C3;
    border-bottom: 8px solid #2974C3;
    border-top: 1px solid transparent;
    border-right: 1px solid transparent;
    border-radius: none;
    -webkit-transform: rotate(-45deg) scaleY(0.5);
        -ms-transform: rotate(-45deg) scaleY(0.5);
            transform: rotate(-45deg) scaleY(0.5);
    transition: all .2s ease; }

input[type="checkbox"] + label.checkbox2 {
  position: relative; }
  input[type="checkbox"] + label.checkbox2 .checkboxbtn {
    width: 40px;
    height: 26px;
    position: relative;
    border: 1px solid #777;
    border-radius: 13px;
    content: "";
    display: inline-block;
    background: #777;
    outline: none;
    top: 8px;
    margin-right: 10px; }
    input[type="checkbox"] + label.checkbox2 .checkboxbtn:after {
      content: "";
      display: block;
      border-radius: 9px;
      background: #fff;
      position: absolute;
      z-index: 1;
      top: calc(50% - 9px);
      left: 3px;
      width: 18px;
      height: 18px;
      transition: 0.1s linear; }
  input[type="checkbox"] + label.checkbox2:hover, input[type="checkbox"] + label.checkbox2:active {
    cursor: pointer; }
    input[type="checkbox"] + label.checkbox2:hover .checkboxbtn, input[type="checkbox"] + label.checkbox2:active .checkboxbtn {
      border: 1px solid #2b2b2b;
      background: #444444;
      transition: all .2s ease; }
  input[type="checkbox"] + label.checkbox2:checked {
    background: #2974C3; }

input[type="checkbox"]:checked + label.checkbox2 {
  font-weight: bold; }
  input[type="checkbox"]:checked + label.checkbox2 .checkboxbtn {
    background: #2974c3 !important;
    border: 1px solid #2974C3 !important;
    outline: none;
    box-shadow: 0 0 0 3px #2974c3 !important; }
    input[type="checkbox"]:checked + label.checkbox2 .checkboxbtn:after {
      left: 16px; }

label.checkbox3 {
  border: 1px solid #777;
  border-radius: 5px;
  transition: all .2s ease;
  line-height: 46px;
  width: 100%;
  color: #000;
  display: block;
  width: 100%;
  padding: 0px 13px;
  position: relative; }
  label.checkbox3:hover, label.checkbox3:active {
    cursor: pointer;
    border: 1px solid #2b2b2b;
    transition: all .2s ease; }
  label.checkbox3 .checkboxbtn {
    transition: all .2s ease; }

input:checked + .checkbox3 {
  border: 1px solid #2974C3 !important;
  transition: all .2s ease;
  font-weight: bold;
  box-shadow: 0 0 0 3px #2974c3 !important;
  padding-left: 50px;
  transition: all .2s ease; }
  input:checked + .checkbox3 .checkboxbtn {
    position: absolute;
    width: 26px;
    height: 26px;
    top: 6px;
    left: 13px;
    border-left: 4px solid #2974C3;
    border-bottom: 8px solid #2974C3;
    border-top: 1px solid transparent;
    border-right: 1px solid transparent;
    border-radius: none;
    -webkit-transform: rotate(-45deg) scaleY(0.5);
        -ms-transform: rotate(-45deg) scaleY(0.5);
            transform: rotate(-45deg) scaleY(0.5);
    transition: all .2s ease; }

.select {
  position: relative;
  z-index: 1; }
  .select:after {
    content: "";
    display: block;
    position: absolute;
    right: 18px;
    top: calc(50% - 8px);
    width: 8px;
    height: 8px;
    border-top: solid 2px #2b2b2b;
    border-right: solid 2px #2b2b2b;
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
    z-index: 2; }

textarea {
  min-height: 100px; }

label.textarea {
  position: relative;
  width: 100%;
  display: block; }
  label.textarea textarea {
    padding-top: 20px;
    line-height: 180%; }
  label.textarea span {
    color: #2b2b2b;
    position: absolute;
    display: block;
    left: 0px;
    top: 0px;
    padding: 0px 13px;
    width: 100%;
    height: 56px;
    line-height: 56px;
    transition: all .2s ease; }
  label.textarea textarea:focus + span,
  label.textarea textarea.havetext + span {
    font-size: 8px;
    line-height: 110%;
    padding-top: 7px;
    transition: all .2s ease; }

input[type=submit] {
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  background: #000;
  padding: 15px 20px;
  color: #fff;
  transition: all .25s ease;
  font-size: 15px;
  border: none; }
  input[type=submit]:active {
    opacity: 0.7;
    transition: all .25s ease; }

input[type="image"] {
  max-width: 100%; }

p.error {
  color: #840606;
  line-height: 150%;
  display: block;
  margin: 10px 0 0px 10px; }
  p.error + input,
  p.error + label {
    margin-top: 20px; }

.bold {
  font-weight: bold; }

.marker1 {
  background: linear-gradient(transparent 60%, #E4C546 0%); }

.marker2 {
  display: inline;
  padding: 10px 0px;
  background: #E4C546; }

.marker3 {
  background: linear-gradient(transparent 60%, #840606 0%); }

.taC {
  text-align: center; }

@media only screen and (max-width: 768px) {
  .taCSP {
    text-align: center; } }

@media only screen and (min-width: 769px) {
  .taCPC {
    text-align: center; } }

.taR {
  text-align: right; }

@media only screen and (max-width: 768px) {
  .taRSP {
    text-align: right; } }

@media only screen and (min-width: 769px) {
  .taRPC {
    text-align: right; } }

.taL {
  text-align: left; }

@media only screen and (max-width: 768px) {
  .taLSP {
    text-align: left; } }

@media only screen and (min-width: 769px) {
  .taLPC {
    text-align: left; } }

.fcRed {
  color: #840606; }

.fcWhite {
  color: #fff; }

.fcBlack {
  color: #000; }

.bgWhite {
  background: #fff; }

.bgBlack {
  background: #000; }
  .bgBlack * {
    color: #fff; }

.bgGray {
  background: #F5F5F5; }

.r45 {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg); }

.r90 {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }

.r135 {
  -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
          transform: rotate(135deg); }

.r180 {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

.r225 {
  -webkit-transform: rotate(225deg);
      -ms-transform: rotate(225deg);
          transform: rotate(225deg); }

.r270 {
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg); }

.r315 {
  -webkit-transform: rotate(315deg);
      -ms-transform: rotate(315deg);
          transform: rotate(315deg); }

.mt0 {
  margin-top: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt30 {
  margin-top: 30px; }

.mt40 {
  margin-top: 40px; }

.mt50 {
  margin-top: 50px; }

.mt100 {
  margin-top: 100px; }

@media only screen and (max-width: 768px) {
  .mt0sp {
    margin-top: 0px !important; }
  .mt5sp {
    margin-top: 5px !important; }
  .mt10sp {
    margin-top: 10px !important; }
  .mt20sp {
    margin-top: 20px !important; }
  .mt30sp {
    margin-top: 30px; }
  .mt40sp {
    margin-top: 40px; }
  .mt50sp {
    margin-top: 50px; }
  .mt100sp {
    margin-top: 100px; } }

.mb0 {
  margin-bottom: 0px; }

.mb10 {
  margin-bottom: 10px; }

.mb20 {
  margin-bottom: 20px; }

.mb30 {
  margin-bottom: 30px; }

.mb40 {
  margin-bottom: 40px; }

.mb50 {
  margin-bottom: 50px; }

.mb100 {
  margin-bottom: 100px; }

.pt0 {
  padding-top: 0px; }

.pt10 {
  padding-top: 10px; }

.pt20 {
  padding-top: 20px; }

.pt30 {
  padding-top: 30px; }

.pt40 {
  padding-top: 40px; }

.pt50 {
  padding-top: 50px; }

.pt100 {
  padding-top: 100px; }

.pb0 {
  padding-bottom: 0px; }

.pb10 {
  padding-bottom: 10px; }

.pb20 {
  padding-bottom: 20px; }

.pb30 {
  padding-bottom: 30px; }

.pb40 {
  padding-bottom: 40px; }

.pb50 {
  padding-bottom: 50px; }

.pb100 {
  padding-bottom: 100px; }

@media only screen and (min-width: 769px) {
  .rpt30 {
    padding-top: 30px; } }

@media only screen and (max-width: 768px) {
  .rpt30 {
    padding-top: 20px; } }

@media only screen and (min-width: 769px) {
  .rpt50 {
    padding-top: 50px; } }

@media only screen and (max-width: 768px) {
  .rpt50 {
    padding-top: 30px; } }

@media only screen and (min-width: 769px) {
  .rpt70 {
    padding-top: 70px; } }

@media only screen and (max-width: 768px) {
  .rpt70 {
    padding-top: 35px; } }

@media only screen and (min-width: 769px) {
  .rpt80 {
    padding-top: 80px; } }

@media only screen and (max-width: 768px) {
  .rpt80 {
    padding-top: 40px; } }

@media only screen and (min-width: 769px) {
  .rpt100 {
    padding-top: 100px; } }

@media only screen and (max-width: 768px) {
  .rpt100 {
    padding-top: 50px; } }

@media only screen and (min-width: 769px) {
  .rpb30 {
    padding-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .rpb30 {
    padding-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  .rpb50 {
    padding-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .rpb50 {
    padding-bottom: 30px; } }

@media only screen and (min-width: 769px) {
  .rpb100 {
    padding-bottom: 100px; } }

@media only screen and (max-width: 768px) {
  .rpb100 {
    padding-bottom: 50px; } }

@media only screen and (min-width: 769px) {
  .rp20 {
    padding-top: 20px;
    padding-bottom: 20px; } }

@media only screen and (max-width: 768px) {
  .rp20 {
    padding-top: 10px;
    padding-bottom: 10px; } }

@media only screen and (min-width: 769px) {
  .rp30 {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .rp30 {
    padding-top: 20px;
    padding-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  .rp50 {
    padding-top: 50px;
    padding-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .rp50 {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media only screen and (min-width: 769px) {
  .rp100 {
    padding-top: 100px;
    padding-bottom: 100px; } }

@media only screen and (max-width: 768px) {
  .rp100 {
    padding-top: 50px;
    padding-bottom: 50px; } }

@media only screen and (min-width: 769px) {
  .rmt30 {
    margin-top: 30px; } }

@media only screen and (max-width: 768px) {
  .rmt30 {
    margin-top: 15px; } }

@media only screen and (min-width: 769px) {
  .rmt40 {
    margin-top: 40px; } }

@media only screen and (max-width: 768px) {
  .rmt40 {
    margin-top: 20px; } }

@media only screen and (min-width: 769px) {
  .rmt50 {
    margin-top: 50px; } }

@media only screen and (max-width: 768px) {
  .rmt50 {
    margin-top: 25px; } }

@media only screen and (min-width: 769px) {
  .rmt100 {
    margin-top: 100px; } }

@media only screen and (max-width: 768px) {
  .rmt100 {
    margin-top: 50px; } }

@media only screen and (min-width: 769px) {
  .rmb30 {
    margin-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .rmb30 {
    margin-bottom: 15px; } }

@media only screen and (min-width: 769px) {
  .rmb40 {
    margin-bottom: 40px; } }

@media only screen and (max-width: 768px) {
  .rmb40 {
    margin-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  .rmb50 {
    margin-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .rmb50 {
    margin-bottom: 25px; } }

@media only screen and (min-width: 769px) {
  .pcmb100 {
    margin-bottom: 100px; } }

@media only screen and (min-width: 769px) {
  .pcmb30 {
    margin-bottom: 30px; } }

@media only screen and (min-width: 769px) {
  .pcmb50 {
    margin-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .spmb50 {
    margin-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .spmb20 {
    margin-bottom: 20px; } }

@media only screen and (max-width: 768px) {
  .spmb10 {
    margin-bottom: 10px; } }

@media only screen and (min-width: 769px) {
  .rmb100 {
    margin-bottom: 100px; } }

@media only screen and (max-width: 768px) {
  .rmb100 {
    margin-bottom: 50px; } }

@media only screen and (min-width: 769px) {
  .rm30 {
    margin-top: 30px;
    margin-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .rm30 {
    margin-top: 20px;
    margin-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  .rm40 {
    margin-top: 40px;
    margin-bottom: 40px; } }

@media only screen and (max-width: 768px) {
  .rm40 {
    margin-top: 20px;
    margin-bottom: 20px; } }

@media only screen and (min-width: 769px) {
  .rm50 {
    margin-top: 50px;
    margin-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .rm50 {
    margin-top: 30px;
    margin-bottom: 30px; } }

@media only screen and (min-width: 769px) {
  .rm100 {
    margin-top: 100px;
    margin-bottom: 100px; } }

@media only screen and (max-width: 768px) {
  .rm100 {
    margin-top: 50px;
    margin-bottom: 50px; } }

@media only screen and (min-width: 769px) {
  .p30 {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media only screen and (max-width: 768px) {
  .p30 {
    padding-top: 15px;
    padding-bottom: 15px; } }

@media only screen and (min-width: 769px) {
  .p50 {
    padding-top: 50px;
    padding-bottom: 50px; } }

@media only screen and (max-width: 768px) {
  .p50 {
    padding-top: 25px;
    padding-bottom: 25px; } }

.w20 {
  width: 20% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w30 {
  width: 30% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w40 {
  width: 40% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w50 {
  width: 50% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w60 {
  width: 60% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w70 {
  width: 70% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w80 {
  width: 80% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

.w90 {
  width: 90% !important;
  margin-left: auto !important;
  margin-right: auto !important; }

@media only screen and (min-width: 769px) {
  .w20pc {
    width: 20% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w30pc {
    width: 30% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w40pc {
    width: 40% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w50pc {
    width: 50% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w60pc {
    width: 60% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w70pc {
    width: 70% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w80pc {
    width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  .w90pc {
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important; } }

.youtube,
.iframe {
  position: relative;
  overflow: hidden; }
  .youtube:after,
  .iframe:after {
    content: '';
    display: block;
    padding-top: 56.25%; }
  .youtube iframe,
  .youtube video,
  .iframe iframe,
  .iframe video {
    position: absolute;
    top: 0;
    left: 0;
    height: 100% !important;
    width: 100% !important; }

.fsXXXXL {
  line-height: 125%;
  font-weight: bold; }
  @media only screen and (min-width: 769px) {
    .fsXXXXL {
      font-size: 90px !important; } }
  @media only screen and (max-width: 768px) {
    .fsXXXXL {
      font-size: 32px !important; } }

.fsXXXL {
  line-height: 125%;
  font-weight: bold; }
  @media only screen and (min-width: 769px) {
    .fsXXXL {
      font-size: 70px !important; } }
  @media only screen and (max-width: 768px) {
    .fsXXXL {
      font-size: 32px !important; } }

.fsXXL {
  line-height: 125%;
  font-weight: bold; }
  @media only screen and (min-width: 769px) {
    .fsXXL {
      font-size: 50px !important; } }
  @media only screen and (max-width: 768px) {
    .fsXXL {
      font-size: 26px !important; } }

.fsXL {
  line-height: 135%; }
  @media only screen and (min-width: 769px) {
    .fsXL {
      font-size: 38px !important; } }
  @media only screen and (max-width: 768px) {
    .fsXL {
      font-size: 24px !important; } }

.fsL {
  line-height: 150%; }
  @media only screen and (min-width: 769px) {
    .fsL {
      font-size: 27px !important; } }
  @media only screen and (max-width: 768px) {
    .fsL {
      font-size: 22px !important; } }

@media only screen and (min-width: 769px) {
  .fsML {
    font-size: 24px !important; } }

@media only screen and (max-width: 768px) {
  .fsML {
    font-size: 18px !important; } }

@media only screen and (min-width: 769px) {
  .fsM {
    font-size: 21px !important; } }

@media only screen and (max-width: 768px) {
  .fsM {
    font-size: 17px !important; } }

@media only screen and (min-width: 769px) {
  .fsSM, input[type="radio"],
  input[type="checkbox"], .select select {
    font-size: 18px !important; } }

@media only screen and (max-width: 768px) {
  .fsSM, input[type="radio"],
  input[type="checkbox"], .select select {
    font-size: 15px !important; } }

@media only screen and (min-width: 769px) {
  .fsS, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select, input[type="text"]::-webkit-input-placeholder,
  input[type="tel"]::-webkit-input-placeholder,
  input[type="email"]::-webkit-input-placeholder,
  input[type="password"]::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder, label.radio2, label.checkbox3, p.error, .con .txtbox .fcRed.fonten1, .con .txtbox .sp-menu li.fcRed, .sp-menu .con .txtbox li.fcRed, .con .txtbox .con00 .scroll span.fcRed, .con00 .scroll .con .txtbox span.fcRed {
    font-size: 15px !important; }
  .fsS, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select, input[type="text"]::-moz-placeholder,
  input[type="tel"]::-moz-placeholder,
  input[type="email"]::-moz-placeholder,
  input[type="password"]::-moz-placeholder,
  textarea::-moz-placeholder, label.radio2, label.checkbox3, p.error, .con .txtbox .fcRed.fonten1, .con .txtbox .sp-menu li.fcRed, .sp-menu .con .txtbox li.fcRed, .con .txtbox .con00 .scroll span.fcRed, .con00 .scroll .con .txtbox span.fcRed {
    font-size: 15px !important; }
  .fsS, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select, input[type="text"]:-ms-input-placeholder,
  input[type="tel"]:-ms-input-placeholder,
  input[type="email"]:-ms-input-placeholder,
  input[type="password"]:-ms-input-placeholder,
  textarea:-ms-input-placeholder, label.radio2, label.checkbox3, p.error, .con .txtbox .fcRed.fonten1, .con .txtbox .sp-menu li.fcRed, .sp-menu .con .txtbox li.fcRed, .con .txtbox .con00 .scroll span.fcRed, .con00 .scroll .con .txtbox span.fcRed {
    font-size: 15px !important; }
  .fsS, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select, input[type="text"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="email"]::placeholder,
  input[type="password"]::placeholder,
  textarea::placeholder, label.radio2, label.checkbox3, p.error, .con .txtbox .fcRed.fonten1, .con .txtbox .sp-menu li.fcRed, .sp-menu .con .txtbox li.fcRed, .con .txtbox .con00 .scroll span.fcRed, .con00 .scroll .con .txtbox span.fcRed {
    font-size: 15px !important; } }

@media only screen and (max-width: 768px) {
  .fsS, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select, input[type="text"]::-webkit-input-placeholder,
  input[type="tel"]::-webkit-input-placeholder,
  input[type="email"]::-webkit-input-placeholder,
  input[type="password"]::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder, label.radio2, label.checkbox3, p.error, .con .txtbox .fcRed.fonten1, .con .txtbox .sp-menu li.fcRed, .sp-menu .con .txtbox li.fcRed, .con .txtbox .con00 .scroll span.fcRed, .con00 .scroll .con .txtbox span.fcRed {
    font-size: 14px !important; }
  .fsS, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select, input[type="text"]::-moz-placeholder,
  input[type="tel"]::-moz-placeholder,
  input[type="email"]::-moz-placeholder,
  input[type="password"]::-moz-placeholder,
  textarea::-moz-placeholder, label.radio2, label.checkbox3, p.error, .con .txtbox .fcRed.fonten1, .con .txtbox .sp-menu li.fcRed, .sp-menu .con .txtbox li.fcRed, .con .txtbox .con00 .scroll span.fcRed, .con00 .scroll .con .txtbox span.fcRed {
    font-size: 14px !important; }
  .fsS, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select, input[type="text"]:-ms-input-placeholder,
  input[type="tel"]:-ms-input-placeholder,
  input[type="email"]:-ms-input-placeholder,
  input[type="password"]:-ms-input-placeholder,
  textarea:-ms-input-placeholder, label.radio2, label.checkbox3, p.error, .con .txtbox .fcRed.fonten1, .con .txtbox .sp-menu li.fcRed, .sp-menu .con .txtbox li.fcRed, .con .txtbox .con00 .scroll span.fcRed, .con00 .scroll .con .txtbox span.fcRed {
    font-size: 14px !important; }
  .fsS, textarea,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select, input[type="text"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="email"]::placeholder,
  input[type="password"]::placeholder,
  textarea::placeholder, label.radio2, label.checkbox3, p.error, .con .txtbox .fcRed.fonten1, .con .txtbox .sp-menu li.fcRed, .sp-menu .con .txtbox li.fcRed, .con .txtbox .con00 .scroll span.fcRed, .con00 .scroll .con .txtbox span.fcRed {
    font-size: 14px !important; } }

@media only screen and (min-width: 769px) {
  .fsXS, .sp-menu li {
    font-size: 14px !important; } }

@media only screen and (max-width: 768px) {
  .fsXS, .sp-menu li {
    font-size: 13px !important; } }

@media only screen and (min-width: 769px) {
  .fsXXS, .lp .footer p,
  .lp .footer ul, .lp .footer ul li, .all .txt, .con00 .txt4, #con08 .inner .txt, #con08 a {
    font-size: 12px !important; } }

@media only screen and (max-width: 768px) {
  .fsXXS, .lp .footer p,
  .lp .footer ul, .lp .footer ul li, .all .txt, .con00 .txt4, #con08 .inner .txt, #con08 a {
    font-size: 11px !important; } }

.clearfix:after, .ref-item a:after {
  content: "";
  font-size: 0.1em;
  line-height: 0;
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
  overflow: hidden; }

.clearfix, .ref-item a {
  display: inline-block; }

* html .clearfix, * html .ref-item a, .ref-item * html a {
  height: 1px; }

.clearfix, .ref-item a {
  display: block; }

.absolute100 {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  bottom: 0px;
  right: 0px; }

@media only screen and (min-width: 769px) {
  .flex-pc2,
  .flex-pc3,
  .flex-pc4 {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; } }

@media only screen and (max-width: 768px) {
  .flex-sp2,
  .flex-sp3 {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; } }

.flex-pc1-sp2,
.flex-pc2-sp2,
.flex-pc2-sp1,
.flex-pc3-sp1,
.flex-pc3-sp2,
.flex-pc3-sp3,
.flex-pc4-sp1,
.flex-pc4-sp2,
.flex-pc4-sp4 {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.flex-pc3-sp1 div, .flex-pc3-sp1 li,
.flex-pc3-sp1 div,
.flex-pc3-sp1 li,
.flex-sp1 div,
.flex-sp1 li {
  width: 100%; }

@media only screen and (max-width: 768px) {
  .flex-pc3-sp1,
  .flex-pc3-sp1,
  .flex-sp1 {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .flex-pc3-sp1 > div + div,
    .flex-pc3-sp1 > li + li,
    .flex-pc3-sp1 > div + div,
    .flex-pc3-sp1 > li + li,
    .flex-sp1 > div + div,
    .flex-sp1 > li + li {
      margin-top: 7.7px; } }

@media only screen and (max-width: 768px) {
  .flex-sp2 > div, .flex-sp2 > li,
  .flex-pc2-sp2 > div,
  .flex-pc2-sp2 > li,
  .flex-pc3-sp2 > div,
  .flex-pc3-sp2 > li,
  .flex-pc4-sp2 > div,
  .flex-pc4-sp2 > li {
    width: calc((100% - 7px) / 2); }
  .flex-sp2 > div:nth-child(n+3),
  .flex-sp2 > li:nth-child(n+3),
  .flex-pc2-sp2 > div:nth-child(n+3),
  .flex-pc2-sp2 > li:nth-child(n+3),
  .flex-pc3-sp2 > div:nth-child(n+3),
  .flex-pc3-sp2 > li:nth-child(n+3),
  .flex-pc4-sp2 > div:nth-child(n+3),
  .flex-pc4-sp2 > li:nth-child(n+3) {
    margin-top: 7.7px; } }

@media only screen and (min-width: 769px) {
  .flex-pc2 > div, .flex-pc2 > li,
  .flex-pc2-sp1 > div,
  .flex-pc2-sp1 > li,
  .flex-pc2-sp2 > div,
  .flex-pc2-sp2 > li {
    width: calc((100% - 10px) / 2); }
  .flex-pc2 > div:nth-child(n+3), .flex-pc2 > li:nth-child(n+3),
  .flex-pc2-sp1 > div:nth-child(n+3),
  .flex-pc2-sp1 > li:nth-child(n+3),
  .flex-pc2-sp2 > div:nth-child(n+3),
  .flex-pc2-sp2 > li:nth-child(n+3) {
    margin-top: 10px; } }

@media only screen and (min-width: 769px) {
  .flex-pc3 > div, .flex-pc3 > li,
  .flex-pc3-sp1 > div,
  .flex-pc3-sp1 > li,
  .flex-pc3-sp2 > div,
  .flex-pc3-sp2 > li,
  .flex-pc3-sp3 > div,
  .flex-pc3-sp3 > li {
    width: calc((100% - 10px - 10px) / 3); }
  .flex-pc3 > div:nth-child(n+4), .flex-pc3 > li:nth-child(n+4),
  .flex-pc3-sp1 > div:nth-child(n+4),
  .flex-pc3-sp1 > li:nth-child(n+4),
  .flex-pc3-sp2 > div:nth-child(n+4),
  .flex-pc3-sp2 > li:nth-child(n+4),
  .flex-pc3-sp3 > div:nth-child(n+4),
  .flex-pc3-sp3 > li:nth-child(n+4) {
    margin-top: 10px; } }

@media only screen and (max-width: 768px) {
  .flex-pc3-sp3 > div, .flex-pc3-sp3 > li {
    width: calc((100% - 10px - 10px) / 3); }
  .flex-pc3-sp3 > div:nth-child(n+4), .flex-pc3-sp3 > li:nth-child(n+4) {
    margin-top: 10px; } }

@media only screen and (min-width: 769px) {
  .flex-pc4.flex-pc4-sp1 > div, .flex-pc4.flex-pc4-sp1 > li,
  .flex-pc4-sp2 > div,
  .flex-pc4-sp2 > li,
  .flex-pc4-sp4 > div,
  .flex-pc4-sp4 > li {
    width: calc((100% - 10px - 10px - 10px) / 4); }
  .flex-pc4.flex-pc4-sp1 > div:nth-child(n+5), .flex-pc4.flex-pc4-sp1 > li:nth-child(n+5),
  .flex-pc4-sp2 > div:nth-child(n+5),
  .flex-pc4-sp2 > li:nth-child(n+5),
  .flex-pc4-sp4 > div:nth-child(n+5),
  .flex-pc4-sp4 > li:nth-child(n+5) {
    margin-top: 10px; } }

@media only screen and (max-width: 768px) {
  .flex-pc4.flex-pc4-sp1 > div, .flex-pc4.flex-pc4-sp1 > li,
  .flex-pc4-sp2 > div,
  .flex-pc4-sp2 > li,
  .flex-pc4-sp4 > div,
  .flex-pc4-sp4 > li {
    width: calc((100% - 7px - 7px - 7px) / 4); }
  .flex-pc4.flex-pc4-sp1 > div:nth-child(n+5), .flex-pc4.flex-pc4-sp1 > li:nth-child(n+5),
  .flex-pc4-sp2 > div:nth-child(n+5),
  .flex-pc4-sp2 > li:nth-child(n+5),
  .flex-pc4-sp4 > div:nth-child(n+5),
  .flex-pc4-sp4 > li:nth-child(n+5) {
    margin-top: 7px; } }

.centery {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.order1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.order2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.order3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.order4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.order5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.order6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

.order7 {
  -webkit-order: 7;
      -ms-flex-order: 7;
          order: 7; }

.order8 {
  -webkit-order: 8;
      -ms-flex-order: 8;
          order: 8; }

@media only screen and (min-width: 769px) {
  .orderpc1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .orderpc2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .orderpc3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .orderpc4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .orderpc5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .orderpc6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .orderpc7 {
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7; }
  .orderpc8 {
    -webkit-order: 8;
        -ms-flex-order: 8;
            order: 8; } }

@media only screen and (max-width: 768px) {
  .ordersp1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .ordersp2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .ordersp3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .ordersp4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .ordersp5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .ordersp6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; }
  .ordersp7 {
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7; }
  .ordersp8 {
    -webkit-order: 8;
        -ms-flex-order: 8;
            order: 8; } }

.flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.flex-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.flex-y {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-left {
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.flex-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.flex-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.flex-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.flexself_center {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.flexself_left {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.flexself_right {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

@media screen and (max-width: 948px) {
  .all {
    max-width: 100%; } }

/*
.menu-ico //メニューアイコン基本クラス
.two//2本線
.three//3本線
.cross//Xになるアニメーション
.minus//-になるアニメーション
.txt1//テキスト表示あり
.txt2//テキスト変化あり


出てくるナビは下部
*/
.menu-ico {
  position: fixed;
  z-index: 100; }
  @media only screen and (min-width: 769px) {
    .menu-ico {
      right: 11px;
      top: 6px; } }
  @media only screen and (max-width: 768px) {
    .menu-ico {
      right: 2vw;
      top: 0px; } }

.menu-ico {
  height: 50px;
  width: 50px;
  cursor: pointer; }
  .menu-ico.txt .txt1 {
    opacity: 1;
    transition: all .2s linear; }
  .menu-ico.txt .txt2 {
    opacity: 0;
    transition: all .2s linear; }
  .menu-ico .txt {
    position: absolute;
    top: calc(100% + 0px);
    left: 0px;
    width: 100%;
    text-align: center; }

.menu-ico.three:before, .menu-ico.three:after,
.menu-ico.three .ico,
.nav-on .menu-ico.three:before,
.nav-on .menu-ico.three:after,
.nav-on .menu-ico.three .ico {
  transition: all 0.2s linear;
  width: 60%;
  height: 1px;
  border-radius: 0px;
  content: '';
  background: #000;
  display: block;
  left: 20%;
  position: absolute;
  z-index: 2; }

.menu-ico.three:before,
.nav-on .menu-ico.three:before {
  top: 32%; }

.menu-ico.three .ico,
.nav-on .menu-ico.three .ico {
  top: calc(50% - 1px / 2); }

.menu-ico.three:after,
.nav-on .menu-ico.three:after {
  bottom: 33%; }

.menu-ico.two .ico {
  display: none; }

.menu-ico.two:before, .menu-ico.two:after {
  transition: all 0.2s linear;
  width: 60%;
  height: 1px;
  border-radius: 0px;
  content: '';
  background: #000;
  display: block;
  left: 20%;
  position: absolute; }

.menu-ico.two:before {
  top: 37%; }

.menu-ico.two:after {
  bottom: 37%; }

.navon .menu-ico:after,
.navon .menu-ico:before,
.navon .menu-ico .ico {
  background: #fff; }

.navon .menu-ico .txt {
  color: #fff; }

.navon .menu-ico.txt .txt1 {
  opacity: 0;
  transition: all .2s linear; }

.navon .menu-ico.txt .txt2 {
  opacity: 1;
  transition: all .2s linear; }

.navon .menu-ico.cross .ico {
  opacity: 0;
  transition: all .2s linear; }

.navon .menu-ico.cross:before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 50%;
  transition: all .2s linear; }

.navon .menu-ico.cross:after {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 50%;
  transition: all .2s linear; }

.navon .menu-ico.minus .ico {
  opacity: 0;
  transition: all .2s linear; }

.navon .menu-ico.minus:before {
  top: calc(50% - 0.5px);
  transition: all .2s linear; }

.navon .menu-ico.minus:after {
  top: calc(50% - 0.5px);
  transition: all .2s linear; }

.sp-menu .ico {
  width: 20px;
  margin-top: 10px;
  display: inline-block;
  height: auto; }

@media only screen and (max-width: 768px) {
  .sp-menu {
    position: fixed;
    opacity: 0;
    transition: all 0.6s cubic-bezier(0.42, 0, 0.2, 1) 0s;
    height: 100%;
    background: #000000;
    background: rgba(0, 0, 0, .9);
    top: 0px;
    right: 0px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 5%;
    z-index: 10;
    width: 50vw;
    -webkit-transform: translateX(60vw);
        -ms-transform: translateX(60vw);
            transform: translateX(60vw); }
    .sp-menu ul {
      width: 100%;
      height: 200px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-justify-content: space-around;
          -ms-flex-pack: distribute;
              justify-content: space-around;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start; }
    .sp-menu li {
      line-height: 170%;
      text-align: left;
      -webkit-transform: translateX(10px);
          -ms-transform: translateX(10px);
              transform: translateX(10px); }
    .sp-menu li a {
      font-size: 12px;
      color: #fff;
      text-decoration: none; }
      .sp-menu li a span {
        color: #fff; }
    .sp-menu .insta {
      width: 20px; }
    .sp-menu.center {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
    .sp-menu.animation li {
      opacity: 0; } }

.navon .sp-menu {
  opacity: 1;
  -webkit-transform: translateX(0vw);
      -ms-transform: translateX(0vw);
          transform: translateX(0vw);
  transition: all 0.5s cubic-bezier(0.47, 0.01, 1, 0.45) 0s; }
  .navon .sp-menu.animation li {
    opacity: 1;
    -webkit-transform: translateX(0vw);
        -ms-transform: translateX(0vw);
            transform: translateX(0vw);
    transition: all 0.4s cubic-bezier(0.42, 0, 0.2, 1); }
    .navon .sp-menu.animation li:nth-child(1) {
      transition-delay: .5s; }
    .navon .sp-menu.animation li:nth-child(2) {
      transition-delay: .55s; }
    .navon .sp-menu.animation li:nth-child(3) {
      transition-delay: .6s; }
    .navon .sp-menu.animation li:nth-child(4) {
      transition-delay: .65s; }
    .navon .sp-menu.animation li:nth-child(5) {
      transition-delay: .7s; }
    .navon .sp-menu.animation li:nth-child(6) {
      transition-delay: .75s; }
    .navon .sp-menu.animation li:nth-child(7) {
      transition-delay: .8s; }
    .navon .sp-menu.animation li:nth-child(8) {
      transition-delay: .85s; }
    .navon .sp-menu.animation li:nth-child(9) {
      transition-delay: .9s; }
    .navon .sp-menu.animation li:nth-child(10) {
      transition-delay: .95s; }
    .navon .sp-menu.animation li:nth-child(11) {
      transition-delay: 1s; }
    .navon .sp-menu.animation li:nth-child(12) {
      transition-delay: 1.05s; }

@media only screen and (max-width: 768px) {
  .lp .container {
    max-width: 100%; } }

.lp .container .inner {
  margin: 0px auto; }
  @media only screen and (min-width: 769px) {
    .lp .container .inner {
      width: 95%;
      max-width: 1050px; } }
  @media only screen and (max-width: 768px) {
    .lp .container .inner {
      width: 92%; } }

.lp .container .inner1280 {
  margin: 0px auto; }
  @media only screen and (min-width: 769px) {
    .lp .container .inner1280 {
      width: 1280px; } }
  @media only screen and (max-width: 768px) {
    .lp .container .inner1280 {
      width: 90%; } }

.lp .container .inner p + p,
.lp .container .inner1280 p + p {
  margin-top: 20.8px;
  margin-top: 1.3rem; }

@media only screen and (min-width: 769px) {
  .lp .container .inner .floatR,
  .lp .container .inner1280 .floatR {
    float: right;
    margin: 0px 0px 20px 20px;
    max-width: calc(50% - 20px); } }

@media only screen and (max-width: 768px) {
  .lp .container .inner .floatR img,
  .lp .container .inner1280 .floatR img {
    width: 100%;
    height: auto; } }

@media only screen and (min-width: 769px) {
  .lp .container .inner .floatL,
  .lp .container .inner1280 .floatL {
    float: left;
    margin: 0px 20px 20px 0px;
    max-width: calc(50% - 20px); } }

@media only screen and (max-width: 768px) {
  .lp .container .inner .floatL img,
  .lp .container .inner1280 .floatL img {
    width: 100%;
    height: auto; } }

.lp .btn {
  display: block;
  margin: 0px auto;
  text-align: center;
  text-decoration: none;
  line-height: 50px; }
  .lp .btn.red {
    border-radius: 0;
    padding: 10px;
    background: #840606;
    color: #fff; }
  .lp .btn.blue {
    border-radius: 0;
    padding: 10px;
    background: #2974C3;
    color: #fff; }
  .lp .btn.black {
    border-radius: 0;
    padding: 10px;
    background: #000;
    color: #fff; }
  .lp .btn.arrow {
    position: relative; }
    .lp .btn.arrow:before, .lp .btn.arrow:after {
      position: absolute;
      content: "";
      right: 15px;
      display: block;
      width: 12px;
      height: 3px;
      background: #fff;
      transition: all .25s ease; }
    .lp .btn.arrow:before {
      top: calc(50% - 5px);
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    .lp .btn.arrow:after {
      top: calc(50% + 1px);
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .lp .btn.arrow:hover:before, .lp .btn.arrow:hover:after {
      right: 10px;
      transition: all .25s ease; }
  .lp .btn.w200 {
    width: 200px; }
  .lp .btn.w300 {
    width: 300px; }
  @media only screen and (min-width: 769px) {
    .lp .btn.w400 {
      width: 400px; } }
  @media only screen and (min-width: 769px) {
    .lp .btn.w500 {
      width: 500px; } }
  .lp .btn.center {
    margin-left: auto !important;
    margin-right: auto !important; }
  .lp .btn.left {
    margin-left: 0px !important;
    margin-right: auto !important; }
  .lp .btn.right {
    margin-left: auto !important;
    margin-right: 0px !important; }
  @media only screen and (min-width: 769px) {
    .lp .btn.PCcenter {
      margin-left: auto !important;
      margin-right: auto !important; }
    .lp .btn.PCleft {
      margin-left: 0px !important;
      margin-right: auto !important; }
    .lp .btn.PCright {
      margin-left: auto !important;
      margin-right: 0px !important; } }
  @media only screen and (max-width: 768px) {
    .lp .btn.SPcenter {
      margin-left: auto !important;
      margin-right: auto !important; }
    .lp .btn.SPleft {
      margin-left: 0px !important;
      margin-right: auto !important; }
    .lp .btn.SPright {
      margin-left: auto !important;
      margin-right: 0px !important; } }

.lp .op {
  transition: all .25s ease; }
  .lp .op:hover {
    opacity: 0.7;
    transition: all .25s ease; }

.lp .push {
  position: relative;
  top: 0px;
  transition: all .25s ease; }
  .lp .push:hover, .lp .push:active {
    top: 5px;
    transition: all .25s ease; }
  .lp .push.red {
    box-shadow: 0 6px 0 #220202; }
    .lp .push.red:hover, .lp .push.red:active {
      box-shadow: 0 1px 0 #220202; }

.lp .bg-white {
  background: #fff; }
  .lp .bg-white p {
    color: #000 !important; }

.lp .bg-gray {
  background: #e1e1e1; }

.lp .bg-black {
  background: #000; }
  .lp .bg-black p {
    color: #fff; }

@media only screen and (max-width: 768px) {
  .lp .container {
    max-width: 100%; } }

.lp .container .img100 img,
.lp .container img.img100 {
  width: 100%;
  height: auto; }

.lp .container .img100r {
  width: 100%;
  overflow: hidden;
  height: auto; }
  .lp .container .img100r img {
    width: 100%;
    height: auto; }
    @media only screen and (max-width: 768px) {
      .lp .container .img100r img {
        width: 140%;
        max-width: 140%;
        height: auto;
        margin-left: -20%; } }

@media only screen and (min-width: 769px) {
  .lp .container.title {
    padding: 30px 0; } }

@media only screen and (max-width: 768px) {
  .lp .container.title {
    padding: 15px 0; } }

.lp .container.title p {
  margin: 0px; }

.lp .container.title.bgimg {
  background-size: cover; }
  .lp .container.title.bgimg p {
    text-shadow: 0px 0px 20px white, 0px 0px 20px white, 0px 0px 20px white, 0px 0px 20px white, 0px 0px 20px white; }

.lp .container.arrow {
  color: #fff;
  background: #000;
  position: relative; }
  @media only screen and (min-width: 769px) {
    .lp .container.arrow {
      padding: 30px 0px; } }
  @media only screen and (max-width: 768px) {
    .lp .container.arrow {
      padding: 20px 0px; } }
  .lp .container.arrow p {
    margin-bottom: 0px; }
  .lp .container.arrow:after {
    position: absolute;
    z-index: 1;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #000 transparent transparent transparent; }
    @media only screen and (min-width: 769px) {
      .lp .container.arrow:after {
        border-width: 50px 50px 0 50px;
        bottom: -50px;
        left: calc(50% - 50px); } }
    @media only screen and (max-width: 768px) {
      .lp .container.arrow:after {
        border-width: 25px 25px 0 25px;
        bottom: -25px;
        left: calc(50% - 25px); } }
  .lp .container.arrow.red {
    background: #840606; }
    .lp .container.arrow.red:after {
      border-color: #840606 transparent transparent transparent; }
  .lp .container.arrow.blue {
    background: #2974C3; }
    .lp .container.arrow.blue:after {
      border-color: #2974C3 transparent transparent transparent; }
  @media only screen and (min-width: 769px) {
    .lp .container.arrow + .container {
      padding-top: 80px; } }
  @media only screen and (max-width: 768px) {
    .lp .container.arrow + .container {
      padding-top: 35px; } }

.lp .container.arrow100 {
  color: #fff;
  background: #000;
  position: relative; }
  .lp .container.arrow100 p {
    margin-bottom: 0px; }
  @media only screen and (min-width: 769px) {
    .lp .container.arrow100 {
      padding: 30px 0px 10px; } }
  @media only screen and (max-width: 768px) {
    .lp .container.arrow100 {
      padding: 20px 0px 5px; } }
  .lp .container.arrow100:after {
    position: absolute;
    z-index: 1;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #000 transparent transparent transparent; }
    @media only screen and (min-width: 769px) {
      .lp .container.arrow100:after {
        bottom: -100px;
        border-width: 100px 50vw 0 50vw; } }
    @media only screen and (max-width: 768px) {
      .lp .container.arrow100:after {
        bottom: -50px;
        border-width: 50px 50vw 0 50vw; } }
  .lp .container.arrow100.red {
    background: #840606; }
    .lp .container.arrow100.red:after {
      border-color: #840606 transparent transparent transparent; }
  .lp .container.arrow100.blue {
    background: #2974C3; }
    .lp .container.arrow100.blue:after {
      border-color: #2974C3 transparent transparent transparent; }
  .lp .container.arrow100.gray {
    background: #e1e1e1; }
    .lp .container.arrow100.gray:after {
      border-color: #e1e1e1 transparent transparent transparent; }
  @media only screen and (min-width: 769px) {
    .lp .container.arrow100 + .container {
      padding-top: 130px; } }
  @media only screen and (max-width: 768px) {
    .lp .container.arrow100 + .container {
      padding-top: 60px; } }

@media only screen and (min-width: 769px) {
  .lp .container .flex2 {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .lp .container .flex2 > div {
      width: 50%; }
    .lp .container .flex2 .flex-inner {
      padding: 3%; } }

.lp .footer {
  background: #000;
  padding: 30px; }
  @media only screen and (max-width: 768px) {
    .lp .footer {
      padding: 10px 10px 1px; } }
  .lp .footer p,
  .lp .footer ul {
    text-align: center;
    line-height: 200%;
    color: #fff; }
  .lp .footer p {
    margin-bottom: 0px; }
  .lp .footer ul li {
    text-align: center;
    color: #fff;
    display: inline-block; }
    .lp .footer ul li + li {
      border-left: 1px solid #999;
      padding-left: 10px;
      margin-left: 10px; }
    .lp .footer ul li a {
      color: #fff; }

.ref-item {
  margin-bottom: 10px; }
  .ref-item .thumb {
    float: left;
    width: 50px; }
  .ref-item .brand,
  .ref-item .name,
  .ref-item .price {
    margin-left: 70px;
    margin-bottom: 5px;
    font-size: 10px;
    line-height: 120%; }

textarea,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"] {
  width: 100%;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  color: #000; }

.wave-btn {
  width: 80%;
  height: auto;
  margin: 0px auto;
  position: relative; }
  .wave-btn .btn {
    position: relative;
    z-index: 2; }
    .wave-btn .btn:hover, .wave-btn .btn:active {
      opacity: 0.7;
      transition: all .25s ease; }
  .wave-btn .wave {
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 60px;
    box-shadow: 0 0 5px white;
    -webkit-animation-name: waveAnimation;
            animation-name: waveAnimation;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-duration: 2s;
            animation-duration: 2s; }

@-webkit-keyframes waveAnimation {
  0% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    opacity: 0.6; }
  100% {
    -webkit-transform: scale(1.2, 1.2);
            transform: scale(1.2, 1.2);
    opacity: 0; } }

@keyframes waveAnimation {
  0% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    opacity: 0.6; }
  100% {
    -webkit-transform: scale(1.2, 1.2);
            transform: scale(1.2, 1.2);
    opacity: 0; } }

.blink {
  -webkit-animation-name: blink;
          animation-name: blink;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

@-webkit-keyframes blink {
  0%,
  40% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

.shake {
  -webkit-animation-name: shake;
          animation-name: shake;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

@keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px); } }

.pulse {
  -webkit-animation-name: pulse;
          animation-name: pulse;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

@keyframes pulse {
  0% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); } }

.btn.shine {
  position: relative;
  overflow: hidden;
  border-radius: 20px; }
  @media only screen and (max-width: 768px) {
    .btn.shine {
      border-radius: 5px; } }
  .btn.shine:before {
    -webkit-animation-name: shine;
            animation-name: shine;
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    content: "";
    background-color: #ffffff;
    background-color: rgba(255, 255, 255, .5);
    height: 200%;
    width: 10%;
    display: block;
    position: absolute;
    -webkit-transform: skewX(-30deg);
        -ms-transform: skewX(-30deg);
            transform: skewX(-30deg);
    top: -67%;
    left: -20%; }

@-webkit-keyframes shine {
  0% {
    -webkit-transform: skewX(-30deg) translateX(0);
            transform: skewX(-30deg) translateX(0); }
  30%,
  100% {
    -webkit-transform: skewX(-30deg) translateX(1100px);
            transform: skewX(-30deg) translateX(1100px); } }

@keyframes shine {
  0% {
    -webkit-transform: skewX(-30deg) translateX(0);
            transform: skewX(-30deg) translateX(0); }
  30%,
  100% {
    -webkit-transform: skewX(-30deg) translateX(1100px);
            transform: skewX(-30deg) translateX(1100px); } }

.fonten1, .sp-menu li, .con00 .scroll span {
  font-family: acumin-pro, sans-serif;
  font-weight: 700;
  font-style: normal; }

.fonten2, .pace .pace-progress:after, #loader p, .con .num .number, #con08 .h2box h2, #con08 .copy, #con08 li {
  font-family: operetta-8, serif;
  font-weight: 700;
  font-style: normal; }

.fonten3, .sp-menu li {
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-style: normal; }

.fontjp1, p {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", 'Noto Sans JP', "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 300; }

.fontjp2 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, 'Noto Serif JP', "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 300; }

h2,
p,
span {
  color: #41403C; }

.pace {
  position: fixed;
  width: 100vw;
  height: 100%;
  z-index: 1001;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.pace .pace-progress {
  width: 100%;
  height: 100%;
  top: 0px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  -webkit-transform: translate3d(0px, 0px, 0px) !important;
          transform: translate3d(0px, 0px, 0px) !important; }

.pace .pace-progress:after {
  display: block;
  position: fixed;
  text-align: center;
  content: attr(data-progress-text);
  line-height: 100%;
  width: 130px;
  left: calc(50% - 65px);
  top: calc(50% + 30px);
  color: #000; }
  @media only screen and (min-width: 769px) {
    .pace .pace-progress:after {
      font-size: 16px; } }
  @media only screen and (max-width: 768px) {
    .pace .pace-progress:after {
      font-size: 14px; } }

.done #loader {
  opacity: 0;
  -webkit-transform: translateY(-100vh);
      -ms-transform: translateY(-100vh);
          transform: translateY(-100vh);
  transition: opacity .5s ease, -webkit-transform .5s ease 1s;
  transition: transform .5s ease 1s, opacity .5s ease;
  transition: transform .5s ease 1s, opacity .5s ease, -webkit-transform .5s ease 1s; }

#loader {
  position: fixed;
  width: 100vw;
  height: 100%;
  top: 0px;
  background: #F2F2F2;
  z-index: 1000;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #loader .logo {
    position: absolute;
    z-index: 5; }
    @media only screen and (min-width: 769px) {
      #loader .logo {
        width: 160px;
        top: calc(50% - 17px);
        left: calc(50% - 80px); } }
    @media only screen and (max-width: 768px) {
      #loader .logo {
        width: 120px;
        top: calc(50% - 8px);
        left: calc(50% - 60px); } }
  #loader p {
    width: 100%;
    text-align: center;
    color: #000;
    font-weight: 400;
    font-size: 11px; }

.pace-done .pace-progress:after {
  opacity: 0;
  transition: all 0.6s cubic-bezier(0.42, 0, 0.2, 1) 0s; }

.pace-done #loader {
  opacity: 0;
  background: #fff;
  transition: opacity 1.4s cubic-bezier(0.42, 0, 0.2, 1) 1.3s, background 1.4s cubic-bezier(0.42, 0, 0.2, 1) 1.3s, -webkit-transform 0s 3s;
  transition: opacity 1.4s cubic-bezier(0.42, 0, 0.2, 1) 1.3s, background 1.4s cubic-bezier(0.42, 0, 0.2, 1) 1.3s, transform 0s 3s;
  transition: opacity 1.4s cubic-bezier(0.42, 0, 0.2, 1) 1.3s, background 1.4s cubic-bezier(0.42, 0, 0.2, 1) 1.3s, transform 0s 3s, -webkit-transform 0s 3s; }
  .pace-done #loader .txtB {
    opacity: 0;
    transition: all 0.6s cubic-bezier(0.42, 0, 0.2, 1) 0.3s; }

.logo {
  position: absolute;
  width: 120px;
  z-index: 100; }
  @media only screen and (min-width: 769px) {
    .logo {
      top: 30px;
      left: 30px; } }
  @media only screen and (max-width: 768px) {
    .logo {
      width: 100px;
      top: 5vw;
      left: 5vw; } }
  .logo img {
    position: absolute;
    width: 100%;
    left: 0px;
    top: 0px;
    height: auto; }

.all {
  width: 100vw;
  height: auto;
  overflow: hidden; }

.sp-menu li {
  text-align: right;
  line-height: 200%; }

@media only screen and (min-width: 769px) {
  .sp-menu {
    position: fixed;
    z-index: 5;
    right: 50px;
    top: 50px; } }

.con00 {
  background: #F2F2F2;
  position: relative; }
  .con00 .img1 {
    position: absolute; }
    @media only screen and (min-width: 769px) {
      .con00 .img1 {
        left: 20%;
        width: 60%;
        height: 100%;
        top: 19%;
        z-index: 1; } }
    @media only screen and (max-width: 768px) {
      .con00 .img1 {
        left: 10%;
        width: 80vw;
        height: 100vw;
        top: 12%;
        z-index: 2;
        overflow: hidden; } }
    .con00 .img1 img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  .con00 .txtbox {
    position: absolute;
    text-align: center; }
    @media only screen and (min-width: 769px) {
      .con00 .txtbox {
        left: calc(50% - 265px);
        top: calc(19% - 70px);
        width: 530px;
        z-index: 3; } }
    @media only screen and (max-width: 768px) {
      .con00 .txtbox {
        left: calc(50% - 120px);
        top: 9%;
        width: 240px;
        z-index: 3; } }
    .con00 .txtbox p {
      line-height: 90%; }
    .con00 .txtbox .txt1 {
      text-align: right; }
      .con00 .txtbox .txt1 .large {
        display: block;
        text-align: center; }
      @media only screen and (min-width: 769px) {
        .con00 .txtbox .txt1 {
          font-size: 40px; }
          .con00 .txtbox .txt1 .large {
            font-size: 100px; }
          .con00 .txtbox .txt1 .small {
            font-size: 40px; } }
      @media only screen and (max-width: 768px) {
        .con00 .txtbox .txt1 {
          font-size: 20px; }
          .con00 .txtbox .txt1 .large {
            font-size: 45px; }
          .con00 .txtbox .txt1 .small {
            font-size: 20px; } }
    .con00 .txtbox .txt2 {
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      text-align: center; }
      @media only screen and (min-width: 769px) {
        .con00 .txtbox .txt2 {
          font-size: 16px;
          margin-top: 30px;
          padding: 10px 0px; } }
      @media only screen and (max-width: 768px) {
        .con00 .txtbox .txt2 {
          font-size: 12px;
          margin-top: 15px;
          padding: 8px 0px; } }
  .con00 .txt3 {
    position: absolute;
    z-index: 3;
    line-height: 105%; }
    @media only screen and (min-width: 769px) {
      .con00 .txt3 {
        font-size: 40px;
        width: 280px;
        z-index: 3;
        left: 18%;
        top: 37%; } }
    @media only screen and (max-width: 768px) {
      .con00 .txt3 {
        font-size: 20px;
        left: 5%;
        top: 32%;
        z-index: 3; } }
  .con00 .txt4 {
    position: absolute; }
    @media only screen and (min-width: 769px) {
      .con00 .txt4 {
        width: 280px;
        z-index: 3;
        left: 68%;
        bottom: 15%; } }
    @media only screen and (max-width: 768px) {
      .con00 .txt4 {
        font-size: 18px;
        left: 10%;
        width: 80%;
        top: calc(12% + 105vw);
        z-index: 3; } }
  .con00 .scroll {
    position: absolute;
    z-index: 2; }
    @media only screen and (min-width: 769px) {
      .con00 .scroll {
        width: 22px;
        left: 50px;
        bottom: 30px; } }
    @media only screen and (max-width: 768px) {
      .con00 .scroll {
        left: calc(50% - 10px);
        width: 20px;
        bottom: 5vw; } }
    .con00 .scroll img {
      width: 100%;
      height: auto; }
    .con00 .scroll span {
      text-align: center;
      width: 80px;
      position: absolute;
      left: calc(50% - 40px);
      top: -15px;
      font-size: 10px; }

.con00b {
  background: linear-gradient(to bottom, #F2F2F2 50%, #fff 50.1%); }
  @media only screen and (min-width: 769px) {
    .con00b {
      padding-top: calc(16vh + 100px);
      padding-bottom: 100px; } }
  @media only screen and (max-width: 768px) {
    .con00b {
      padding: 50px 0; } }
  @media only screen and (min-width: 769px) {
    .con00b p {
      position: relative;
      left: 20%;
      width: 270px; } }
  @media only screen and (max-width: 768px) {
    .con00b p {
      position: relative;
      left: calc(50% - 40vw);
      width: 80vw; } }

.bgWhite {
  position: relative;
  z-index: 2;
  background: #fff; }

#con01 .txtbox,
#con03 .txtbox,
#con05 .txtbox,
#con07 .txtbox {
  background: #F2F2F2; }

#con02:before,
#con04:before,
#con06:before,
#con08:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  width: 100%;
  background: #F2F2F2; }
  @media only screen and (min-width: 769px) {
    #con02:before,
    #con04:before,
    #con06:before,
    #con08:before {
      top: 300px;
      height: calc(100% - 600px); } }
  @media only screen and (max-width: 768px) {
    #con02:before,
    #con04:before,
    #con06:before,
    #con08:before {
      top: 150px;
      height: calc(100% - 300px); } }

#con02 .txtbox,
#con04 .txtbox,
#con06 .txtbox,
#con08 .txtbox {
  background: #fff; }

.con {
  position: relative; }
  .con .num {
    z-index: 2; }
    .con .num .number {
      z-index: 3;
      line-height: 80%; }
      @media only screen and (min-width: 769px) {
        .con .num .number {
          font-size: 100px; } }
      @media only screen and (max-width: 768px) {
        .con .num .number {
          font-size: 40px; } }
    .con .num .fcRed.fonten2, .con .num .pace .fcRed.pace-progress:after, .pace .con .num .fcRed.pace-progress:after, .con .num #loader p.fcRed, #loader .con .num p.fcRed, .con .num .fcRed.number, .con .num #con08 .h2box h2.fcRed, #con08 .h2box .con .num h2.fcRed, .con .num #con08 .fcRed.copy, #con08 .con .num .fcRed.copy, .con .num #con08 li.fcRed, #con08 .con .num li.fcRed {
      line-height: 94%; }
      @media only screen and (min-width: 769px) {
        .con .num .fcRed.fonten2, .con .num .pace .fcRed.pace-progress:after, .pace .con .num .fcRed.pace-progress:after, .con .num #loader p.fcRed, #loader .con .num p.fcRed, .con .num .fcRed.number, .con .num #con08 .h2box h2.fcRed, #con08 .h2box .con .num h2.fcRed, .con .num #con08 .fcRed.copy, #con08 .con .num .fcRed.copy, .con .num #con08 li.fcRed, #con08 .con .num li.fcRed {
          font-size: 24px; } }
      @media only screen and (max-width: 768px) {
        .con .num .fcRed.fonten2, .con .num .pace .fcRed.pace-progress:after, .pace .con .num .fcRed.pace-progress:after, .con .num #loader p.fcRed, #loader .con .num p.fcRed, .con .num .fcRed.number, .con .num #con08 .h2box h2.fcRed, #con08 .h2box .con .num h2.fcRed, .con .num #con08 .fcRed.copy, #con08 .con .num .fcRed.copy, .con .num #con08 li.fcRed, #con08 .con .num li.fcRed {
          margin-top: 7px !important;
          font-size: 12px;
          margin-bottom: 3vw; } }
  .con .img1,
  .con .img2,
  .con .img3,
  .con .img4 {
    position: relative; }
  .con .txtbox {
    position: relative; }
    @media only screen and (min-width: 769px) {
      .con .txtbox {
        padding: 20px; } }
    @media only screen and (max-width: 768px) {
      .con .txtbox {
        margin-top: 5vw;
        padding: 10px; } }
    .con .txtbox p + p {
      margin: 0px !important; }
  .con .inner {
    position: relative;
    z-index: 2;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (min-width: 769px) {
      .con .inner {
        width: 1080px; } }
    @media only screen and (max-width: 768px) {
      .con .inner {
        width: 86% !important; } }
  .con .detail {
    position: relative; }
    @media only screen and (min-width: 769px) {
      .con .detail {
        margin-top: 50px; } }
    @media only screen and (max-width: 768px) {
      .con .detail {
        margin-top: 7vw !important; } }

@media only screen and (min-width: 769px) {
  #con01 .img1 {
    width: 80%;
    margin-left: 2%; }
  #con01 .img2 {
    width: 40%;
    margin-top: 100px;
    margin-left: -10%; }
  #con01 .img3 {
    position: absolute;
    top: 750px;
    width: 25%;
    margin-left: 75%; }
  #con01 .img4 {
    margin-top: 100px;
    width: 65%;
    margin-left: 35%; }
  #con01 .num {
    position: absolute;
    width: 400px;
    top: 200px;
    right: 0px; }
    #con01 .num * {
      width: 100%;
      text-align: right; }
  #con01 .txtbox {
    position: absolute;
    width: 440px;
    top: 1200px;
    left: 25%; }
  #con01 .detail {
    margin-top: 30px;
    width: 65%;
    margin-left: 35%; } }

@media only screen and (max-width: 768px) {
  #con01 .img1 {
    width: 100vw;
    left: calc(50% - 50vw); }
  #con01 .img2 {
    margin-top: 10vw; }
  #con01 .img3 {
    margin-top: 14vw;
    width: 60%; }
  #con01 .img4 {
    margin-top: 10vw;
    width: 100vw;
    left: calc(50% - 50vw); } }

@media only screen and (min-width: 769px) {
  #con02 .img1 {
    width: 50%;
    margin-left: 25%; }
  #con02 .img2 {
    margin-top: 30px;
    width: 80%;
    margin-left: 2%; }
  #con02 .img3 {
    margin-top: 40px;
    width: 80%;
    margin-left: 20%; }
  #con02 .img4 {
    margin-top: 100px;
    width: 45%;
    margin-left: 55%; }
  #con02 .num {
    position: absolute;
    width: 400px;
    top: 120px;
    left: 30px; }
  #con02 .txtbox {
    width: 410px;
    top: -50px;
    left: 0px;
    z-index: 2; }
  #con02 .detail {
    position: absolute;
    left: 0px;
    bottom: 100px;
    width: 50%; } }

@media only screen and (max-width: 768px) {
  #con02 .num {
    position: absolute;
    width: 250px;
    top: 100px;
    left: -2vw; }
    #con02 .num * {
      width: 100%; }
  #con02 .img1 {
    width: 80%;
    left: 20%; }
  #con02 .img2 {
    margin-top: 10vw;
    width: 80vw;
    left: calc(50% - 50vw); }
  #con02 .img3 {
    margin-top: -5vw;
    width: 80vw;
    left: calc(50% - 30vw); }
  #con02 .img4 {
    margin-top: 10vw;
    width: 80%;
    left: 10%; } }

@media only screen and (min-width: 769px) {
  #con03 .img1 {
    width: 80%;
    margin-left: 2%; }
  #con03 .img2 {
    width: 40%;
    margin-top: 100px;
    margin-left: 7%; }
  #con03 .img3 {
    position: absolute;
    top: 450px;
    width: 25%;
    margin-left: 75%;
    z-index: 2; }
  #con03 .img4 {
    margin-top: 100px;
    width: 65%;
    margin-left: 35%; }
  #con03 .num {
    position: absolute;
    width: 370px;
    top: 100px;
    right: 0px; }
    #con03 .num * {
      width: 100%;
      text-align: right; }
  #con03 .txtbox {
    position: absolute;
    width: 400px;
    top: 950px;
    left: 40%; }
  #con03 .detail {
    margin-top: 30px;
    width: 65%;
    margin-left: 35%; } }

@media only screen and (max-width: 768px) {
  #con03 .num {
    position: absolute;
    width: 250px;
    top: 180px;
    right: 0px;
    z-index: 2; }
    #con03 .num * {
      width: 100%;
      text-align: right; }
  #con03 .img1 {
    width: 100vw;
    left: calc(50% - 50vw); }
  #con03 .img2 {
    margin-top: 10vw;
    width: 80%;
    left: 10%; }
  #con03 .img3 {
    margin-top: -5vw;
    width: 60%;
    left: 40%; }
  #con03 .img4 {
    margin-top: 10vw;
    width: 100vw;
    left: calc(50% - 50vw); } }

@media only screen and (min-width: 769px) {
  #con04 {
    width: 100%; }
    #con04:before {
      top: 400px;
      height: calc(100% - 400px); }
    #con04 .img1 {
      width: 80%;
      margin-left: 20%; }
    #con04 .img2 {
      margin-top: 80px;
      width: 80%;
      margin-left: 2%; }
    #con04 .img4 {
      position: absolute;
      top: 1300px;
      width: 48%;
      margin-left: 52%; }
    #con04 .img3 {
      margin-top: 100px;
      width: 48%;
      margin-left: 0px; }
    #con04 .num {
      position: absolute;
      width: 400px;
      top: 200px;
      left: 30px;
      z-index: 2; }
    #con04 .txtbox {
      width: 440px;
      top: -50px;
      left: 6%;
      z-index: 2; }
    #con04 .detail {
      left: 55%;
      top: -100px;
      width: 45%; } }

@media only screen and (max-width: 768px) {
  #con04 .img1 {
    width: 80vw;
    left: calc(50% - 50vw); }
  #con04 .img2 {
    margin-top: 5vw;
    width: 80vw;
    left: calc(50% - 30vw); }
  #con04 .img3 {
    margin-top: 5vw;
    width: 49vw;
    left: calc(50% - 50vw); }
  #con04 .img4 {
    margin-top: -30vw;
    width: 49vw;
    left: calc(50% + 1vw); } }

@media only screen and (min-width: 769px) {
  #con05 .img1 {
    width: 80%;
    margin-left: 2%; }
  #con05 .img2 {
    width: 40%;
    margin-top: 100px;
    margin-left: 7%; }
  #con05 .img3 {
    position: absolute;
    top: 450px;
    width: 25%;
    margin-left: 75%;
    z-index: 2; }
  #con05 .img4 {
    margin-top: 100px;
    width: 65%;
    margin-left: 35%; }
  #con05 .num {
    position: absolute;
    width: 400px;
    top: 100px;
    right: 0px; }
    #con05 .num * {
      width: 100%;
      text-align: right; }
  #con05 .txtbox {
    position: absolute;
    width: 500px;
    top: 950px;
    left: 40%; }
  #con05 .detail {
    margin-top: 30px;
    width: 65%;
    margin-left: 35%; } }

@media only screen and (max-width: 768px) {
  #con05 .img1 {
    width: 100vw;
    left: calc(50% - 50vw); }
  #con05 .img2 {
    margin-top: 10vw;
    width: 80%;
    left: 10%;
    z-index: 2; }
  #con05 .img3 {
    margin-top: -5vw;
    width: 60%;
    left: 40%; }
  #con05 .img4 {
    margin-top: 10vw;
    width: 100vw;
    left: calc(50% - 50vw); } }

@media only screen and (min-width: 769px) {
  #con06:before {
    top: 400px;
    height: calc(100% - 400px); }
  #con06 .img1 {
    width: 50%;
    margin-left: 15%; }
  #con06 .img2 {
    margin-top: 60px;
    width: 65%;
    margin-left: 35%; }
  #con06 .img3 {
    margin-top: 40px;
    width: 65%;
    margin-left: 0%; }
  #con06 .img4 {
    margin-top: 100px;
    width: 45%;
    margin-left: 55%; }
  #con06 .num {
    position: absolute;
    width: 400px;
    top: 480px;
    left: 30px;
    z-index: 2; }
  #con06 .txtbox {
    position: absolute;
    width: 420px;
    top: 1450px;
    left: 50%;
    z-index: 2; }
  #con06 .detail {
    position: absolute;
    left: 0px;
    bottom: 300px;
    width: 50%; } }

@media only screen and (max-width: 768px) {
  #con06 .num {
    position: absolute;
    width: 250px;
    top: 180px;
    right: -2vw; }
    #con06 .num * {
      width: 100%;
      text-align: right; }
  #con06 .img1 {
    width: 80%;
    left: -3vw; }
  #con06 .img2 {
    margin-top: 10vw;
    width: 80vw;
    left: calc(50% - 30vw);
    z-index: 2; }
  #con06 .img3 {
    margin-top: 10vw;
    width: 80vw;
    left: calc(50% - 50vw);
    z-index: 1; }
  #con06 .img4 {
    margin-top: 10vw;
    width: 80%;
    left: 10%; } }

@media only screen and (min-width: 769px) {
  #con07 .img1 {
    margin-top: 30px;
    width: 80%;
    margin-left: 2%; }
  #con07 .img2 {
    margin-top: 40px;
    width: 80%;
    margin-left: 20%; }
  #con07 .num {
    position: absolute;
    width: 400px;
    top: 200px;
    right: 0px; }
    #con07 .num * {
      width: 100%;
      text-align: right; }
  #con07 .txtbox {
    position: absolute;
    width: 330px;
    top: 900px;
    left: 64%;
    z-index: 2;
    background: #fff; }
  #con07 .detail {
    margin-left: 20%;
    width: 80%; } }

@media only screen and (max-width: 768px) {
  #con07 .img1 {
    margin-top: 5vw; }
  #con07 .img2 {
    margin-top: 10vw;
    width: 80vw;
    left: calc(50% - 50vw);
    z-index: 2; }
  #con07 .img3 {
    margin-top: 10vw;
    width: 80vw;
    left: calc(50% - 30vw);
    z-index: 1; } }

#con08 {
  position: relative; }
  @media only screen and (min-width: 769px) {
    #con08:before {
      top: 40px;
      height: calc(100% - 550px); } }
  @media only screen and (max-width: 768px) {
    #con08:before {
      top: 20px;
      height: calc(100% - 400px); } }
  #con08 * {
    position: relative;
    z-index: 2; }
  #con08 .h2box {
    position: relative;
    top: 0px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (min-width: 769px) {
      #con08 .h2box {
        width: 500px; } }
    @media only screen and (max-width: 768px) {
      #con08 .h2box {
        width: 80%; } }
    #con08 .h2box h2 {
      text-align: center; }
      @media only screen and (min-width: 769px) {
        #con08 .h2box h2 {
          font-size: 50px; } }
      @media only screen and (max-width: 768px) {
        #con08 .h2box h2 {
          font-size: 27px; } }
      #con08 .h2box h2 span {
        line-height: 95%;
        border-bottom: 1px solid #000; }
  @media only screen and (min-width: 769px) {
    #con08 .inner {
      width: 800px !important;
      margin: 0px auto !important; } }
  @media only screen and (max-width: 768px) {
    #con08 .inner {
      width: 80vw;
      margin: 0px auto !important; } }
  @media only screen and (max-width: 768px) {
    #con08 .inner .imgs {
      width: 100vw;
      left: calc(50% - 50vw); } }
  #con08 .inner .img,
  #con08 .inner .imgs {
    margin: 50px 0px; }
    #con08 .inner .img div,
    #con08 .inner .imgs div {
      position: relative; }
      @media only screen and (min-width: 769px) {
        #con08 .inner .img div,
        #con08 .inner .imgs div {
          width: 60%; } }
      @media only screen and (max-width: 768px) {
        #con08 .inner .img div,
        #con08 .inner .imgs div {
          width: 70%;
          z-index: 2; } }
    #con08 .inner .img div:nth-child(2),
    #con08 .inner .imgs div:nth-child(2) {
      z-index: 1;
      left: 40%; }
      @media only screen and (min-width: 769px) {
        #con08 .inner .img div:nth-child(2),
        #con08 .inner .imgs div:nth-child(2) {
          top: -50px;
          margin-bottom: -50px; } }
      @media only screen and (max-width: 768px) {
        #con08 .inner .img div:nth-child(2),
        #con08 .inner .imgs div:nth-child(2) {
          top: -30px;
          margin-bottom: -30px; } }
  @media only screen and (min-width: 769px) {
    #con08 .inner .img2 {
      margin-top: 100px; } }
  @media only screen and (max-width: 768px) {
    #con08 .inner .img2 {
      margin-top: 60px; } }
  #con08 .inner .txt + p {
    margin-top: 20.8px;
    margin-top: 1.3rem; }
  #con08 .logo1 {
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important; }
    @media only screen and (min-width: 769px) {
      #con08 .logo1 {
        width: 150px;
        margin-bottom: 50px !important; } }
    @media only screen and (max-width: 768px) {
      #con08 .logo1 {
        width: 100px;
        margin-bottom: 30px !important; } }
  #con08 a {
    text-decoration: none; }
  #con08 .copy {
    font-size: 8px !important;
    text-align: center !important; }
  #con08 .txt {
    margin-top: 20px; }
  #con08 ul {
    text-align: center;
    max-width: 90%;
    margin: 0 auto; }
  #con08 li {
    line-height: 180%; }
    @media only screen and (min-width: 769px) {
      #con08 li {
        padding: 0 7px;
        display: inline-block; } }
    @media only screen and (max-width: 768px) {
      #con08 li {
        text-align: center;
        padding: 2px; } }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.7.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
.whiteout {
  -webkit-animation: whiteout;
          animation: whiteout;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes whiteout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes whiteout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.appear {
  -webkit-animation-name: textTranslate;
          animation-name: textTranslate; }

@-webkit-keyframes appear {
  0% {
    opacity: 0; }
  1%,
  99% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes appear {
  0% {
    opacity: 0; }
  1%,
  99% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.textTranslate {
  -webkit-animation-name: textTranslate;
          animation-name: textTranslate; }

@-webkit-keyframes textTranslate {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }
  50% {
    opacity: 1; }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

@keyframes textTranslate {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }
  50% {
    opacity: 1; }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom; }

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
      transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
      transform-origin: center; }

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: 1.3s;
  animation-duration: 1.3s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-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); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-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); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn; }

@-webkit-keyframes fadeIn2 {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn2 {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn2 {
  -webkit-animation: fadeIn2 cubic-bezier(0.47, 0.01, 0.87, 0.43);
          animation: fadeIn2 cubic-bezier(0.47, 0.01, 0.87, 0.43); }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.fadeInLeft2 {
  -webkit-animation: fadeInLeft2;
          animation: fadeInLeft2; }

@-webkit-keyframes fadeInLeft2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-3%, 0, 0);
            transform: translate3d(-3%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeft2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-3%, 0, 0);
            transform: translate3d(-3%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.fadeInRight2 {
  -webkit-animation: fadeInRight2;
          animation: fadeInRight2; }

@-webkit-keyframes fadeInRight2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(3%, 0, 0);
            transform: translate3d(3%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes fadeInRight2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(3%, 0, 0);
            transform: translate3d(3%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.fadeInUp2 {
  -webkit-animation: fadeInUp2 cubic-bezier(0.47, 0.01, 0.87, 0.43);
          animation: fadeInUp2 cubic-bezier(0.47, 0.01, 0.87, 0.43); }

@-webkit-keyframes fadeInUp3 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
            transform: translate3d(0, 40px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp3 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
            transform: translate3d(0, 40px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.fadeInUp3 {
  -webkit-animation-name: fadeInUp3;
          animation-name: fadeInUp3; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: hinge;
  animation-name: hinge; }

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomIn2 {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0, 0, 0);
            transform: scale3d(0, 0, 0); }
  10%,
  90% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  100% {
    -webkit-transform: scale3d(0, 0, 0);
            transform: scale3d(0, 0, 0); } }

@keyframes zoomIn2 {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0, 0, 0);
            transform: scale3d(0, 0, 0); }
  10%,
  90% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  100% {
    -webkit-transform: scale3d(0, 0, 0);
            transform: scale3d(0, 0, 0); } }

.zoomIn2 {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
          animation-name: slideInDown;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideInDown2 {
  from {
    -webkit-transform: translate3d(0, -100px, 0);
            transform: translate3d(0, -100px, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown2 {
  from {
    -webkit-transform: translate3d(0, -100px, 0);
            transform: translate3d(0, -100px, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInDown2 {
  -webkit-animation-name: slideInDown;
          animation-name: slideInDown;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
          animation-name: slideInLeft;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideInLeft2 {
  from {
    -webkit-transform: translate3d(-100px, 0, 0);
            transform: translate3d(-100px, 0, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes slideInLeft2 {
  from {
    -webkit-transform: translate3d(-100px, 0, 0);
            transform: translate3d(-100px, 0, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

.slideInLeft2 {
  -webkit-animation-name: slideInLeft2;
          animation-name: slideInLeft2;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideInRight {
  from {
    visibility: visible;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes slideInRight {
  from {
    visibility: visible;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

.slideInRight2 {
  -webkit-animation-name: slideInRight;
          animation-name: slideInRight;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideInRight2 {
  from {
    visibility: visible;
    -webkit-transform: translate3d(100px, 0, 0);
            transform: translate3d(100px, 0, 0);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes slideInRight2 {
  from {
    visibility: visible;
    -webkit-transform: translate3d(100px, 0, 0);
            transform: translate3d(100px, 0, 0);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

.slideInRight {
  -webkit-animation-name: slideInRight;
          animation-name: slideInRight;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

.slideInUp {
  -webkit-animation-name: slideInUp;
          animation-name: slideInUp;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideInUp2 {
  from {
    -webkit-transform: translate3d(0, 100px, 0);
            transform: translate3d(0, 100px, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes slideInUp2 {
  from {
    -webkit-transform: translate3d(0, 100px, 0);
            transform: translate3d(0, 100px, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

.slideInUp2 {
  -webkit-animation-name: slideInUp2;
          animation-name: slideInUp2;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideInUp3 {
  from {
    -webkit-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes slideInUp3 {
  from {
    -webkit-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0);
    visibility: visible;
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1; } }

.slideInUp3 {
  -webkit-animation-name: slideInUp2;
          animation-name: slideInUp2;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
          animation-name: slideOutDown;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.42, 0, 0.2, 1); }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s; }

.animated.delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s; }

.animated.delay-3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s; }

.animated.delay-4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s; }

.animated.delay-5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s; }

.animated.fast {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms; }

.animated.faster {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms; }

.animated.slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.animated.slower {
  -webkit-animation-duration: 3s;
  animation-duration: 3s; }

@media (prefers-reduced-motion) {
  .animated {
    -webkit-animation: unset !important;
    animation: unset !important;
    transition: none !important; } }

