#splash {
    position: fixed;
    width: 100%;
    height: 100%;
    background:#8a4253;
    z-index: 9999999;
    text-align:center;
    color:#fff;
}

#splash-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.splashbg1,
.splashbg2{
    display: none;
}

body.appear .splashbg1,
body.appear .splashbg2{
    display:block;
}

/*右に消えるエリア*/
body.appear .splashbg1{
    animation-name:PageAnime;
    animation-duration:1.2s;
    animation-timing-function:ease-in-out;
    animation-fill-mode:forwards;
    content: "";
    position:fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
    left:50%;
    transform: scaleX(1);
    background-color:#e2a2b1;/*伸びる背景色の設定*/
}

@keyframes PageAnime{
    0% {
        transform-origin:left;
        transform:scaleX(1);
    }
    50% {
        transform-origin:right;
    }
    100% {
        transform-origin:right;
        transform:scaleX(0);
    }
}

/*左に消えるエリア*/
body.appear .splashbg2{
    animation-name:PageAnime2;
    animation-duration:1.2s;
    animation-timing-function:ease-in-out;
    animation-fill-mode:forwards;
    content: "";
    position:fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
    right:50%;
    transform: scaleX(1);
    background-color:#e2a2b1;/*伸びる背景色の設定*/
}

@keyframes PageAnime2{
    0% {
        transform-origin:right;
        transform:scaleX(1);
    }

    50% {
        transform-origin:left;
    }
    100% {
        transform-origin:left;
        transform:scaleX(0);
    }
}

/*画面遷移の後現れるコンテンツ設定*/
#wrapper{
    opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #wrapper{
    animation-name:PageAnimeAppear;
    animation-duration:1s;
    animation-delay:0.2s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes PageAnimeAppear{
    0% {
    opacity: 0;
    }
    100% {
    opacity: 1;
    }
}

:root {
  --loader-size: 150px;
  --text-color: #CECECE; /* Fill data-text */
  --color-one: #2979FF;
  --color-two: #FF1744;
  --color-three: #FFFF8D;
  --color-four: #B2FF59;
  --light-size: 3px;
}

.Loader {
  position: relative;
  width: 150px;
  width: var(--loader-size, 150px);
  min-width: 110px;
  overflow: visible;
  margin: 20px;
  border-radius: 50%;
  box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.4), 0 0 25px rgba(255, 255, 255, 0.8)
}



.Loader::after {
    content: attr(data-text);
    color: #CECECE;
    color: var(--text-color, #CECECE);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    font-size: calc(70% + 0.10vw);
    text-transform: uppercase;
    letter-spacing: 5px;
  }



.Loader {
  
  /* Keep ratio on resize*/
}



.Loader::before {
    content: '';
    float: left;
    padding-top: 100%;
  }



.Loader__Circle {
  display: block;
  position: absolute;
  border-radius: 50%;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  opacity: 0.8;
  mix-blend-mode: screen;
  filter: brightness(120%);
  -webkit-animation-name: SpinAround;
          animation-name: SpinAround;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear
}



.Loader__Circle:nth-of-type(1) {
    box-shadow:
      inset 1px 0 0 1px #2979FF,
      3px 0 0 3px #2979FF;
    box-shadow:
      inset 1px 0 0 1px var(--color-one, #2979FF),
      var(--light-size, 4px) 0 0 var(--light-size, 4px) var(--color-one, #2979FF);
    animation-direction: reverse;
    transform-origin: 49.6% 49.8%;
  }



.Loader__Circle:nth-of-type(2) {
    box-shadow:
      inset 1px 0 0 1px #FF1744,
      3px 0px 0 3px #FF1744;
    box-shadow:
      inset 1px 0 0 1px var(--color-two, #FF1744),
      var(--light-size, 4px) 0px 0 var(--light-size, 4px) var(--color-two, #FF1744);
    transform-origin: 49.5% 49.8%;
  }



.Loader__Circle:nth-of-type(3) {
    box-shadow:
      inset 1px 0 0 1px #FFFF8D,
      0 3px 0 3px #FFFF8D;
    box-shadow:
      inset 1px 0 0 1px var(--color-three, #FFFF8D),
      0 var(--light-size, 4px) 0 var(--light-size, 4px) var(--color-three, #FFFF8D);
    transform-origin: 49.8% 49.8%;
  }



.Loader__Circle:nth-of-type(4) {
    box-shadow:
      inset 1px 0 0 1px #B2FF59,
      0 3px 0 3px #B2FF59;
    box-shadow:
      inset 1px 0 0 1px var(--color-four, #B2FF59),
      0 var(--light-size, 4px) 0 var(--light-size, 4px) var(--color-four, #B2FF59);
    transform-origin: 49.7% 49.7%;
  }



@-webkit-keyframes SpinAround {
  0% {
    transform: rotate(0);
  }
  
  100% {
    transform: rotate(-360deg);
  }
}



@keyframes SpinAround {
  0% {
    transform: rotate(0);
  }
  
  100% {
    transform: rotate(-360deg);
  }
}


.slide-in {
    overflow: hidden;
    display: inline-block;
    padding: 0 10px;/*英語がはみ出るので見えるように余白追記*/
}

.slide-in_inner {
    display: inline-block;

}

/*左右のアニメーション*/
.leftAnime,
.rightAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
    animation-name: slideText-100;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideText-100 {
  from {
    transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
    transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
    animation-name: slideText100;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideText100 {
  from {
    transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

/*スクロールダウン全体の場所*/
.scrolldown2{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  bottom:10px;
  left:50%;
}

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
  position: absolute;
  left:10px;
  bottom:10px;
    /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
  width:10px;
  height:10px;
  border-radius: 50%;
  background:#eee;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
  100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
  content:"";
    /*描画位置*/
  position: absolute;
  bottom:0;
  left:0;
    /*線の形状*/
  width:2px;
  height: 50px;
  background:#eee;
}

/* pricing */
.price {
  background: #111d27;
  color: #111;
  min-width: 320px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -webkit-backface-visibility: hidden;
  position: relative;
  padding: 50px 20px;
}
.price-table-wrapper{
  font-family: 'Lato', sans-serif;
  text-align: center;
  margin-top: 30px;
  
  .featured-table{
    box-shadow: 0px 0px 19px -3px rgba(0,0,0,0.36);
  }
  
  .pricing-table{
    display: inline-block;
    border: 1px solid #C8C8C8;
    border-radius: 10px;
    background: white;
    margin: 20px;
    transition: all 0.3s ease-in-out;
    
    &__header{
      padding: 20px;
      font-size: 20px;
      color: #909090 ;
      background: #E0E0E0;
    }
    &__price{
      color: #66CCCC;
      padding: 20px;
      margin: auto;
      font-size: 40px;
      font-weight: 500;
    }
    &__button{
      display: block;
      background: #66CCCC;
      text-decoration: none;
      padding: 20px;
      color: white;
      position: relative;
      overflow: hidden;
      transition: all 0.3s ease-in-out;
      
      &:before{
        position: absolute;
        left: -20%;
        top: -10%;
        content: '';
        width: 60%;
        height: 220%;
        transform: rotate(-30deg);
        background: white;
        opacity: .3;
        transition: all 0.3s ease-in-out;
      }
      
       &:after{
          position: absolute;
          content: '>';
          top: 0;
          right: 0;
          font-size: 25px;
          padding: 15px;
          padding-right: 40px;
          color: white;
          opacity: 0;
         transition: all 0.3s ease-in-out;
        }
      
      &:hover{
        background: black;
      }
    }
    &__list{
      padding: 20px;
      color: #A0A0A0;
      li{
        padding: 15px;
        border-bottom: 1px solid #C8C8C8 ;
        
        &:last-child{
          border: none;
        }
      }
    }
    
    &:hover{
      box-shadow: 0px 0px 19px -3px rgba(0,0,0,0.36);
      
      .pricing-table__button{
        padding-left: 0;
        padding-right: 35px;
       &:before{
          top: -80%;
          transform: rotate(0deg);
          width: 100%;
        }
        &:after{
          opacity: 1;
          padding-right: 15px;
        }
      }
    }
  }
}