@charset "utf-8";
/*====================================================================================================
Top-Loading
===================================*/
/*==================================================
ロゴアウトラインアニメーション
=====*/
/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: #4bcc33;
  text-align: center;
  color: #fff;
}
/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* Loading アイコンの大きさ設定　*/
#splash_logo svg {
  width: 100px;
}
/*アニメーション前の指定*/
#mask path {
  fill-opacity: 0;
  /*最初は透過0で見えない状態*/
  transition: fill-opacity 0.5s;
  /*カラーがつく際のアニメーション0.5秒で変化*/
  fill: none;
  /*塗りがない状態*/
  stroke: #fff;
  /*線の色*/
}
/*アニメーション後に.doneというクラス名がで付与された時の指定*/
#mask.done path {
  fill: #fff;
  /*塗りの色*/
  fill-opacity: 1;
  /*透過1で見える状態*/
  stroke: none;
  /*線の色なし*/
}
/*====================================================================================================
Top-画面遷移
===================================*/
/*==================================================
　背景色右から左
=====*/
/*画面遷移アニメーション*/
.splashbg {
  display: none;
}
/*bodyにappearクラスがついたら出現*/
body.appear .splashbg {
  display: block;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  transform: scaleX(0);
  background-color: rgba(255, 255, 255, 0.8);
  /*伸びる背景色の設定*/
  animation-name: PageAnime;
  animation-duration: 1.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
@keyframes PageAnime {
  0% {
    transform-origin: right;
    transform: scaleX(0);
  }
  50% {
    transform-origin: right;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: left;
  }
  100% {
    transform-origin: left;
    transform: scaleX(0);
  }
}
/*画面遷移の後現れるコンテンツ設定*/
#top_container {
  opacity: 0;
  /*はじめは透過0に*/
}
/*bodyにappearクラスがついたら出現*/
body.appear #top_container {
  animation-name: PageAnimeAppear;
  animation-duration: 1s;
  animation-delay: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
