body {
  background-color: #121619;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-size: 12pt;
}

body img {
  max-width: 100%;
  max-height: 100%;
}

header {
  margin-top: 3vw;
  margin-left: auto;
  margin-right: auto;
  width: 65vw;
  max-width: 443px;
}

@media (min-width: 640px) {
  header {
    margin-top: 30px;
  }
}

main {
  position: relative;
  background: url(../images/bg.png) repeat center;
  width: 100%;
  max-width: 640px;
  margin: auto;
  color: #FFFFFF;
}

main .title {
  font-size: 1.2em;
  margin: 0 5vw;
  padding-top: 3vw;
}

@media (min-width: 640px) {
  main .title {
    margin: 0 40px;
    padding-top: 30px;
  }
}

main p {
  font-size: 0.8em;
  margin: 0 5vw;
  padding-top: 3vw;
}

@media (min-width: 640px) {
  main p {
    margin: 0 40px;
    padding-top: 30px;
  }
}

footer {
  background-color: #000000;
}

footer .company_icon {
  display: block;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  width: 40vw;
  padding-top: 8vw;
  padding-bottom: 8vw;
}

@media (min-width: 640px) {
  footer .company_icon {
    width: 247px;
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

footer .cube_banner {
  display: block;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  width: 90vw;
  padding: 0;
}

@media (min-width: 640px) {
  footer .cube_banner {
    width: 580px;
  }
}

footer .copyright {
  color: #FFFFFF;
  text-align: center;
  margin-bottom: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 100;
  font-size: 2.5vw;
  padding-bottom: 3vw;
}

@media (min-width: 640px) {
  footer .copyright {
    font-size: 1em;
    padding-bottom: 20px;
  }
}
