.top-banner {
  width: 954px;
  height: 254px;
  display: block;
  padding: 2px;
  margin: 10px auto 0;
  background-color: #000000;
  border: solid 1px #333333;
  position: relative;
}

.top-kawaii img {
  position: absolute;
  margin-top: -11px;
  margin-left: -3px;
}

@media screen and (max-width: 640px) {
  #page-title img {
    width: 45%;
    height: auto;
  }
}
@media screen and (max-width: 640px) {
  .top-banner {
    width: 100%;
    height: auto;
    margin: 5px 0 0;
    padding: 0;
  }
  .top-banner img {
    margin: 0;
    padding: 0;
  }

  .top-banner-inner {
    padding: 1px;
    border: none;
  }

  .top-banner-inner2 {
    padding: 2px;
    border: none;
  }

  .top-kawaii {
    position: static;
  }
  .top-kawaii img {
    position: static;
    margin-top: -3px;
  }

  #hg47-banner {
    width: 100%;
    height: auto;
  }
  #hg47-banner img#hg47 {
    display: none;
  }
  #hg47-banner div.top-banner-inner {
    padding: 2px;
  }
  #hg47-banner div.top-banner-inner div {
    background: url(../../images/top/top_hg47.jpg) no-repeat center center;
    background-size: 100% 100%;
    height: auto;
  }

  #jb-banner {
    display: none;
  }
}
.grid2 {
  width: 960px;
  height: 300px;
  display: block;
  margin: 10px auto 0;
  background-color: #000000;
}

@media (max-width: 640px) {
  .grid2 {
    width: 100%;
    height: auto;
    margin-top: 5px;
    padding: 0;
    border: 1px solid #333333;
    display: block;
  }
}
.grid2x1 {
  float: left;
  position: relative;
  width: 470px;
  height: 295px;
  display: block;
  background-color: #000000;
  padding: 2px;
  border: solid 1px #333333;
}

.grid2x1-1 {
  margin-right: 8px;
}

@media screen and (max-width: 640px) {
  .grid1x1 img {
    width: 100%;
    height: auto;
  }

  .grid2x1 {
    display: table-cell;
    position: static;
    margin: 0 auto 0;
    height: auto;
    width: 48%;
    padding: 0;
    border: none;
  }
  .grid2x1 img {
    margin: 0;
    padding: 0;
    position: static;
    width: 100%;
    height: auto;
  }

  #product-header {
    width: 100%;
    height: auto;
  }
  #product-header img {
    width: 100%;
    height: auto;
  }

  .product-title {
    margin-top: 10px;
  }
}
#products {
  width: 960px;
  margin: 20px auto 10px;
}

#product-contents {
  width: 960px;
  margin: 20px auto 0;
}

@media screen and (max-width: 640px) {
  .grid3x1 {
    float: none;
    margin-right: 0;
    margin-top: 15px;
  }

  #products, #product-contents {
    width: 100%;
    margin-top: 0;
  }

  #products {
    margin-top: 10px;
  }
}
