@charset "UTF-8";
/* Base */
html, body {
  background: #1c418d; }

body {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  color: white;
  line-height: 2;
  letter-spacing: 0.06em;
  font-feature-settings: normal; }
  @media only screen and (max-width: 821px) {
    body {
      font-size: 14px;
      line-height: 1.8; } }

a {
  color: rgba(255, 255, 255, 0.9); }

::selection {
  background-color: lightsteelblue; }

p {
  text-align: center;
  margin-bottom: 4em; }

main {
  display: grid;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  height: 100svh; }
  main #content {
    width: 70vw;
    max-width: 600px;
    margin-top: -20px; }
    @media only screen and (max-width: 821px) {
      main #content {
        width: 80vw; } }
    main #content h1 {
      width: 60%;
      margin: 0 auto 50px; }
      @media only screen and (max-width: 821px) {
        main #content h1 {
          width: 74%;
          margin: 0 auto 36px; } }
    main #content p#text {
      font-size: 1em;
      margin-bottom: 5em;
      letter-spacing: .15em; }
      @media only screen and (max-width: 821px) {
        main #content p#text {
          margin-bottom: 3.5em; } }
    main #content p#contact {
      display: flex;
      align-items: center;
      justify-content: center; }
  main #copyright {
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: .5em; }
    @media only screen and (max-width: 821px) {
      main #copyright {
        /*position: relative;
        bottom: auto;*/ } }

a.btn {
  border: 1px solid rgba(255, 255, 255, 0.9);
  height: 40px;
  width: 260px;
  font-size: .8em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  position: relative;
  transition: ease .2s; }
  @media only screen and (max-width: 821px) {
    a.btn {
      width: 200px; } }
  a.btn i.fa {
    font-size: .8em;
    display: inline-block;
    margin-right: 4px; }
  a.btn span {
    position: relative;
    z-index: 3; }
  @media only screen and (max-width: 821px) {
    a.btn:hover {
      color: #1c418d; }
      a.btn:hover span {
        color: #1c418d; } }

.bgTop::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #fff;
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top; }

@media only screen and (max-width: 821px) {
  .bgTop:hover:before {
    transform: scale(1, 1);
    transform-origin: left top; } }

.btn {
  position: relative; }

#splash {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 100vh;
  background-color: #1c418d; }
  #splash #splash-logo {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 10001;
    margin-left: -30px;
    margin-top: -30px; }
    #splash #splash-logo img {
      width: 60px;
      height: auto; }

.splash-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10002;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.5);
  transform: scaleY(0);
  opacity: 0; }

#wrapper {
  opacity: 0; }

body.appear .splash-bg {
  animation: splashAnime 1s ease-in-out forwards; }
@keyframes splashAnime {
  0% {
    opacity: 0;
    transform-origin: top left; }
  50% {
    opacity: 1;
    transform-origin: top left;
    transform: scaleY(1); }
  50.0001% {
    transform-origin: bottom left; }
  100% {
    transform-origin: bottom left;
    transform: scaleY(0); } }
body.appear #wrapper {
  animation: wrapperFadeInAnime 1s ease-in-out 1s forwards; }
@keyframes wrapperFadeInAnime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.rotation {
  animation: rotation 4s linear forwards infinite; }

@keyframes rotation {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

/*# sourceMappingURL=style.css.map */
