@charset "utf-8";
body{
  margin: 0;
  padding: 0;
}
div#container{
  width: 360px;
  margin: 0 auto;
  background: #efefef;
  font-family : メイリオ, "ＭＳ Ｐゴシック", "ＭＳ ゴシック";
}
div.bun{
  font-size: 24px;
  color: white;
  background: red;
  padding: 10px;
  margin: 10px 0px;
  animation: bg-color 10s infinite;
  -webkit-animation: bg-color 10s infinite;
}
div.bun_o{
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  color: white;
  background: red;
  padding: 10px;
  margin: 10px 0px;
  animation: bg-color 10s infinite;
  -webkit-animation: bg-color 10s infinite;
}
p{
  font-size: 24px;
  padding: 10px;
  margin: 10px 0px;
}
p.red{
  font-size: 24px;
  padding: 10px;
  color: red;
}
p.red_l{
  font-size: 26px;
  font-weight: bold;
  text-align: left;
  padding: 10px 20px 10px 50px;
  color: red;
}
div.top{
  background: red;
  text-align: center;
animation: bg-color 10s infinite;
-webkit-animation: bg-color 10s infinite;
  }

@-webkit-keyframes bg-color {
  0% { background-color: purple; }
  20% { background-color: #FF8000; }
  40% { background-color: green; }
  60% { background-color: red; }
  80% { background-color: #0080FF; }
  100% { background-color: navy; }
}
@keyframes bg-color {
  0% { background-color: purple; }
  20% { background-color: #FF8000; }
  40% { background-color: green; }
  60% { background-color: red; }
  80% { background-color: #0080FF; }
  100% { background-color: navy; }
}
  div.top a{
    display: block;
    /* background: red; */
    text-align: center;
    text-decoration: none;
    font-size: 30px;
    line-height: 60px;
    color:white;
    font-weight: bold;
  }
div.sotowaku{
  position: relative;
  width: 340px;
  height: 300px;
  margin: 3px auto;
  background-color: white;
}
#nekodaruma{
  position: absolute;
  top: 30px;
  left: 90px;
  margin: 30px auto;
}
.anime_1{
  animation-name: rotation;
  animation-duration: 10s;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: alternate;
  animation-fill-mode: forwards;
  animation-play-state: running;
}

@keyframes rotation {
  0% {
    transform:scale(.3) rotate(0deg);
    transform-origin: bottom center;
  }
  10% {
    transform: scale(.3) rotate(-60deg) translateX(-20px);
        transform-origin: bottom center;
  }

  25% {
    transform: scale(.5) rotate(50deg) translateX(50px);
        transform-origin: bottom center;
  }

  35% {
    transform: scale(.8) rotate(-40deg);
        transform-origin: bottom center;
  }

  43% {
      transform: scale(1) rotate(30deg);
              transform-origin: bottom center;
  }
  50% {
    transform: rotate(-20deg);
            transform-origin: bottom center;
  }
  56% {
    transform:rotate(10deg);
            transform-origin: bottom center;
  }
  61% {
     transform:rotate(-8deg);
             transform-origin: bottom center;
  }
  64% {
     transform:rotate(7deg);
     transform-origin: bottom center;
  }
  67% {
     transform:rotate(-5deg);
     transform-origin: bottom center;
  }
  70% {
     transform:rotate(5deg);
     transform-origin: bottom center;
  }
  73% {
     transform:rotate(-4deg);
     transform-origin: bottom center;
  }
  75% {
     transform:rotate(3deg);
     transform-origin: bottom center;
  }

  77% {
     transform:rotate(-3deg);
     transform-origin: bottom center;
  }
  79% {
     transform:rotate(3deg);
     transform-origin: bottom center;
  }

  81% {
     transform:rotate(-3deg);
     transform-origin: bottom center;
  }
  82% {
     transform:rotate(2deg);
     transform-origin: bottom center;
  }
  84% {
     transform:rotate(-2deg);
     transform-origin: bottom center;
  }
  86% {
     transform:rotate(2deg);
     transform-origin: bottom center;
  }
  88% {
     transform:rotate(-1deg);
     transform-origin: bottom center;
  }
  89% {
     transform:rotate(1deg);
     transform-origin: bottom center;
  }
  90% {
     transform:rotate(-1deg);
     transform-origin: bottom center;
  }
  91% {
     transform:rotate(1deg);
     transform-origin: bottom center;
  }
  92% {
     transform:rotate(-1deg);
     transform-origin: bottom center;
  }
  93% {
     transform:rotate(1deg);
     transform-origin: bottom center;
  }
  94% {
     transform:rotate(-1deg);
     transform-origin: bottom center;
  }
  95% {
     transform:rotate(1deg);
     transform-origin: bottom center;
  }
  96% {
     transform:rotate(-1deg);
     transform-origin: bottom center;
  }
  97% {
     transform:rotate(1deg);
     transform-origin: bottom center;
  }
  98% {
     transform:rotate(-1deg);
     transform-origin: bottom center;
  }
  99% {
     transform:rotate(1deg);
     transform-origin: bottom center;
  }
  100% {
     transform:rotate(0deg);
     transform-origin: bottom center;
  }
}
@keyframes okiru {
  50% {opacity: 0.4;}
}
.hikaru_a{
  background: radial-gradient(#fff,#fffafa);
  box-shadow: 0 0 30px 20px #fff;
}


.hikaru{
    animation: flash 2s ease infinite normal;
    background: radial-gradient(#fff,#f0f8ff);
    box-shadow: 0 0 10px 10px #fff;
}
#a_2{
  position: absolute;
  top: 100px;
  left: 170px;
  width: 1px;
  height: 1px;
  border-radius: 50%;
  background-color:white;
  box-shadow: 0 0 30px 20px white;
  animation: flash 10s ease infinite normal;
}

#a_neko{
  position: absolute;
  top: 55px;
  left: 250px;
}
#a_3{
  position: absolute;
  top: 80px;
  left: 100px;
  opacity:0;
  animation: flash_1kai 15s ease normal;
}
@keyframes flash {
  50% {opacity: 0.4;}
}
@keyframes flash_1kai {
  0% {opacity: 0;}
  40%{opacity:0;}
  50% {opacity: 0.07;}
  60%{opacity:0;}
  100% {opacity: 0;}
}
  .spin{
    transform:rotate(7200deg);
  }
  p.mokuzi{
    margin: 10px 5px 5px 5px;
    padding: 0;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color:red;
}
  #ans{
    margin: 5px 15px 5px 15px;
    line-height : 35px;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    background-color: white;
  }
p.bun_s{
  text-align: center;
  font-weight: bold;
  color: black;
  font-size: 14px;
}
#tubuyaki{
  margin: 5px 10px 5px 10px;
  line-height : 30px;
  font-size: 24px;
  text-align: left;
    background-color: white;
}
  div.cm{
    line-height : 30px;
    font-size: 12px;
    text-align: center;
    margin: 2px auto 2px auto;
  }

  div.center{
    font-size: 24px;
    background-color: white;
    text-align: center;
  }
  .anima{
    animation-duration: 3s;
    animation-name: slidein;
    animation-timing-function: ease-in;
  }

  table.num{
    width: 350px;
    margin: 5px auto 5px auto;
    background-color: white;
  }
div.policy{
  text-align: center;
  font-size: 20px;
  margin: 10px auto;
  padding: 10px;
  background-color: #3b5998;
  color: white;
}
div.policy a{
  font-size: 20px;
  color: white;
}
  footer{
    line-height : 30px;
    font-size: 18px;
    text-align: center;
    color: black;
  }
  /* ＳＮＳ */
/*---SNSシェアボタン---*/
/* ボタン上の文字 */
.fa-twitter:before, .fa-hatena:before, .fa-line:before, .fa-pocket:before
{
  font-family: helvetica neue,helvetica,arial,sans-serif;

  /* font-size:14px */
}
.fa-facebook:before {
  content: "f";
  font-family: Verdana;
  font-size:23px;
  /* font-weight: bold */
}
.fa-twitter:before {
  content: "twitter";
  font-size:23px;
}

.fa-hatena:before {
  content: "B!";
  font-family: Verdana;
}
.fa-line:before {
  content: "Line";
  font-size:23px;
}
.fa-pocket:before {
  content: "pocket";
}

/* ボタン表示位置の調整 */
.button-area {
  text-align: center;
  overflow:hidden;
  /* clear:left; */
  margin-top:15px;
  margin-left: 8px;
  margin-bottom: 15px;
}

/* タイトルの表示設定 */
.button-area-title {
  text-align: center;
  padding:.7em;
}

/* ボタンブロックのデザイン */
.button-area li a {
  padding: 2px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border-radius: 4px; 
}

/* SNSごとの背景色 */
.twitter a {
  background-color: #55acee;
}
.facebook a{
  background-color: #3b5998;
}
.hatena a{
  background-color: #008fde;
}
.line a{
  background-color: #1dcd00;
}
.pocket a{
  background-color: #ea5a6c;
}

/* リスト「・」の削除 */
.button-area ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ボタン幅と余白の設定 */
.button-area li {
  float: left;
  /* width: 19%; */
  width: 32%;
/* 追加 */
  line-height: 30px;
  margin: 0 .3%;

}

.button-area  ul:after {
  display: block;
  clear: both;
}

/* ボタンにカーソルを合わせた時の表示設定 */
.button-area li a:hover {
  -ms-transform: translateY(-2px);
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}
/* ＳＮＳボタンここまで */
div.center_link{
  margin-top: 20px;
  line-height : 20px;
  font-size: 18px;
  text-align: center;
  line-height: 1.25;
}
span.bold_big_link{
  font-size: 18px;
  color: #333;
  font-weight: bold;
}
div.no_margin_link{
  margin: 0 auto;
  line-height : 20px;
  font-size: 18px;
  text-align: center;
  text-decoration: none;
  line-height: 1.25;
}
div.koyomi_link{
  font-size: 18px;
  text-align: center;
  margin:0px auto;
}
a.koyomi_link{
  margin:0px auto;
  text-decoration: none;
}
div.under_red_link{
  width: 322px;
  line-height : 40px;
  font-size: 25px;
  color: red;
  font-weight : bold;
  padding: 2px 10px;
  margin: 20px auto 0 auto;
  text-align: center;
  border-bottom: solid 4px #ff0000;
}
div.center_waku_link{
  margin: 3px 9px 3px 9px;
  padding: 0;
  line-height : 20px;
  text-align: center;
  border: 1px solid;
}
p.bun_link{
  text-align: left;
  font-size: 16px;
  line-height: 26px;
  margin: 0;
  padding: 0 20px;
}