@charset "utf-8";

/* Common */
html {
  font-size: 18px;
  line-height: 1.8;
  font-weight: 500;
  font-family: "Noto Sans", "游ゴシック体", "Yu Gothic", YuGothic,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    "ＭＳ Ｐゴシック", "MS PGothic", Arial, Osaka, Sans-Serif;
}
body {
  text-align: center;
  height: 100%;
  background: #fff;
  color: #00418f;
}
.wrapper {
  width: 100%;
  overflow: hidden;
}
.inner {
  max-width: 1052px;
  margin: 0 auto;
}

* {
  outline: none;
}

a {
  color: #4663f5;
}

img {
  max-width: 100%;
}

.cover {
  object-fit: cover;
}

.center {
  text-align: center;
}

.center_span {
  display: inline-block;
  width: 100%;
  text-align: center;
}
.justify {
  text-align: justify;
}
.clearfix:after {
  display: block;
  clear: both;
  height: 0px;
  line-height: 0px;
  visibility: hidden;
  content: ".";
}
.clearfix {
  display: block; /* for IE8 */
}
.clear {
  clear: both;
}

/************************************************************
/* font
/************************************************************/

/* font color */
.red {
  color: #bd0000;
}

.magenta {
  color: #ff0072;
}
.yellow {
  color: #e8d900;
}
.yellow2 {
  color: yellow;
}
.blue {
  color: #1d2088;
}
.lblue {
  color: #00ffff;
}
.sblue {
  color: #007ef2;
}
.gold {
  color: #9f8800;
}
.navy {
  color: #006499;
}
.gray {
  color: #8a8a8a;
}
.green {
  color: #00b300;
}

/* background color */
.yb {
  background: yellow;
  padding: 0 4px;
}
.rb {
  background: #e60012;
  padding: 0 4px;
}
.gb {
  background: #cacaca;
  padding: 0 4px;
}
.lgb {
  background: #c7ff00;
  padding: 0 4px;
}
.lbb {
  background: #00ffff;
  padding: 0 4px;
}
.bb {
  background: #1d2088;
  padding: 0 4px;
}

/* border */
.border_r {
  display: inline-block;
  border-bottom: solid 4px #e60012;
  line-height: 1.6;
}

.dotted {
  -webkit-text-emphasis: filled dot #000;
  text-emphasis: filled dot #000;
}
.dotted_r {
  -webkit-text-emphasis: filled dot #f00;
  text-emphasis: filled dot #f00;
}

/* etc */
.underline {
  text-decoration: underline;
}
.bold {
  font-weight: 900;
}
.marker {
  background: linear-gradient(transparent 60%, #ffff00 60%);
}

/* size */
.small {
  font-size: 0.8em;
}
.xsmall {
  font-size: 0.6em;
}
.mini {
  font-size: 80%;
}
.midium {
  font-size: 1.2em;
}
.large {
  font-size: 1.5em;
}
.xlarge {
  font-size: 1.8em;
}

.radius {
  border-radius: 6px;
}

.float_l {
  float: left;
}
.float_r {
  float: right;
}

.image_bloc {
  text-align: center;
}

.image_bloc + p {
  margin-top: 2em;
}
.image_bloc + .image_bloc {
  margin-top: 2em;
}
p + .image_bloc {
  margin-top: 2em;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}

.mt2 {
  margin-top: 2em !important;
}
.mt4 {
  margin-top: 4em !important;
}

.mb2 {
  margin-bottom: 2em !important;
}
.mb4 {
  margin-bottom: 4em !important;
}
.pb2 {
  padding-bottom: 2em !important;
}
.pb4 {
  padding-bottom: 4em !important;
}

.bg_white {
  background: #fff;
}
.bg_cream {
  background: #f5e8b1;
}

/*footer*/
footer {
  background: #000000;
  text-align: center;
  padding: 1em 0;
  position: relative;
  z-index: 99;
  font-size: 13px;
  color: #6b6b6b;
}
footer a {
  display: inline-block !important;
  color: #6b6b6b;
  margin-right: 25px;
  text-decoration: none;
}
footer .link a:last-child {
  margin-right: 0;
}

.pci {
  display: inline-block !important;
}
.spi {
  display: none !important;
}
.pc_none {
  display: none;
}
.sp_none {
  display: block;
}

@media screen and (max-width: 959px) {
  .pci {
    display: none !important;
  }
  .spi {
    display: inline-block !important;
  }
  .pc_none {
    display: block;
  }
  .sp_none {
    display: none;
  }

  html {
    font-size: 16px;
  }
  body {
    min-width: initial;
    height: auto;
  }
  .inner {
    max-width: initial;
    margin: 0 auto;
  }

  footer {
    padding: 1em 15px 1em;
  }
  footer .copy {
    margin-top: 1em;
    font-size: 10px;
  }
}

.blinking {
  -webkit-animation: blink 1s ease-in-out infinite alternate;
  -moz-animation: blink 1s ease-in-out infinite alternate;
  animation: blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* ボタンのアニメーション */
.animation {
  visibility: visible !important;
  animation-fill-mode: both !important;
  -webkit-animation-fill-mode: both !important;
}
.replay {
  -webkit-animation-iteration-count: infinite !important;
  animation-iteration-count: infinite !important;
}

/*bounce-in*/
.bounce-in {
  -webkit-animation: bounce-in 1.8s;
  animation: bounce-in 1.8s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}
@keyframes bounce-in {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  25% {
    transform: scale(1.1);
  }
  40% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(0.9);
  }
  70% {
    transform: scale(1.05);
    opacity: 1;
  }
  80% {
    transform: scale(0.95);
  }
  90% {
    transform: scale(1.01);
  }
  100% {
    transform: scale(1);
  }
}
@-webkit-keyframes bounce-in {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  25% {
    transform: scale(1.1);
  }
  40% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(0.9);
  }
  70% {
    transform: scale(1.05);
    opacity: 1;
  }
  80% {
    transform: scale(0.95);
  }
  90% {
    transform: scale(1.01);
  }
  100% {
    transform: scale(1);
  }
}

@media (max-width: 759px) {
  .inner {
    width: 90%;
  }
}
