#contents {
  background: #000;
  width: 100%;
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
}

#top {
  background: url(../img/bg.jpg) no-repeat center bottom;
  background-size: cover;
  width: 100%;
  height: 645px;
  position: relative;
}
#top .logo {
  position: absolute;
  top: 118px;
  left: 50%;
  margin-left: -474px;
  z-index: 10;
}
#top .illust {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -117px;
}
#top .lead {
  position: absolute;
  top: 476px;
  left: 50%;
  margin-left: -306px;
}

#series {
  width: 924px;
  margin: 0 auto 25px auto;
}
#series:after {
  content: "";
  clear: both;
  display: block;
}
#series li {
  width: 268px;
  margin-right: 60px;
  float: left;
}
#series li.item3 {
  margin-right: 0;
}
#series li img {
  width: 100%;
}

#links {
  text-align: center;
  margin: 0 auto 35px auto;
  width: 980px;
}
#links .cp a {
  background: url(../img/banner_cp.png);
  display: block;
  width: 755px;
  height: 93px;
  text-indent: -9999px;
  margin: auto;
}

@media screen and (max-width:640px){
  
  #top {
    height: auto;
    position: relative;
  }
  #top img {
    width: 100%;
  }
  #top .logo {
    position: relative;
    top: auto;
    left: auto;
    padding-top: 20px;
    margin: 0 30px;
  }
  #top .illust {
    position: relative;
    top: auto;
    left: auto;
    margin: -50px 0 0 0;
  }
  #top .lead {
    position: relative;
    top: auto;
    left: auto;
    margin: -50px 0 20px 0;
  }

  #series {
    width: auto;
    margin: 0 30px 25px 30px;
  }
  #series li {
    width: 100%;
    margin: 0 0 30px 0;
    float: none;
  }

  #links {
    text-align: center;
    margin: 0 0 35px 0;
    width: auto;
  }
  #links img {
    width: 100%;
  }
  #links .cp a {
    background: url(../img/banner_cp_sp.png);
    background-size: contain;
    width: 310px;
    height: 83px;
    margin: auto;
  }
}