@charset "UTF-8";

html, body {
  height: 100%;
  overflow: hidden;
}

main {
  font-family: 'Sawarabi Mincho';
  letter-spacing: 2px;
  display: block;
  margin-top: 70px;
  height: calc(100% - 136px);
  background: #000;
}

section {
  height: 100%;
}

.main {
  height: 100%;
  /* overflow-y: scroll; */
  -webkit-perspective: 1000px;
  perspective: 1000px;
}

.main h2 {
  padding: 20px 0;
  font-weight: normal;
  color: #fff;
}

.item_list {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-around;
  /* align-items: center; */
  background: #000;
}

.item_list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30%;
  height: 80%;
  border: solid 1px #fff;
  overflow: hidden;
}

.item_list a img {
  width: 90%;
  height: auto;
}

@media screen and (max-width: 1200px) {
  main {
    margin-top: 50px;
    height: calc(100% - 50px);
  }

  [class^="content"] {
    margin-top: 0;
  }
}

@media screen and (max-width: 990px) {
  .item_list a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%;
    height: 66%;
    border: solid 1px #fff;
    overflow: hidden;
  }
}

@media screen and (max-width: 600px) {
  html, body {
    overflow-y: auto;
    height: auto;
  }

  .main {
    height: 100%;
    overflow: visible;
  }

  .item_list {
    /* flex-wrap: wrap; */
    height: auto;
    flex-direction: column-reverse;
    align-items: center;
  }

  .item_list a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90%;
    height: auto;
    border: solid 1px #fff;
    padding: 5% 0;
    margin-top: 30px;
  }

  .SNS {
    background: #000;
    position: relative;
  }

  .SNS li a::before {
    font-size: 20px;
  }

  .SNS + div {
    font-size: 2vw;
  }

  footer {
    position: relative;
    top: 520%;
    bottom: 0;
  }

  .footer {
    background: #000;
    margin-bottom: 0;
  }
}
