@charset "utf-8";
#TOP header {
  background: #ffffff;
  border-bottom: none;
  top: 0;
}
#TOP #film {
  width: 100%;
  height: 100%;
  opacity: 0.4;
  background: #000000;
  position: absolute;
  top: 0;
  left: 0;
}
.sp-menu-open header {
  opacity: 1 !important;
}
#TOP #header.scroll {
  background: #ffffff;
  box-shadow: 0 0px 3px 0px rgba(0, 0, 0, 0.1);
  opacity: 1;
}
#TOP #header.scroll nav li a, #TOP #header.scroll .userInfo {
  color: #000000 !important;
  font-weight: 500;
}
#TOP .header-navi-sp-btn-line {
  background-color: #666666;
}
#TOP #spCart, #TOP .header-navi-sp-btn {
  top: 13px;
}
#TOP section {
  margin: 0 0 80px 0;
}
#TOP .col5 .posterList01 li {
  width: 18%;
}
/* メインビジュアル
--------------------------*/
#mainVisual {
  align-items: center;
  background-position: center center;
  background-size: cover;
  background-image: url(../img/top_mainVisual_102_pre.jpg);
  display: flex;
  height: 100vh;
  justify-content: center;
  margin: 0 0 60px 0;
  position: relative;
}
#mainVisual h1, #mainVisual h2 {
  color: #ffffff;
  font-size: 260%;
  font-weight: bold;
  letter-spacing: 0.05em;
  position: absolute;
  text-shadow: #333333 1px 0 10px;
  top: 15%;
  padding: 0 5%;
  z-index: 7777;
  text-align: center;
  width: 1000px;
  margin: 0 auto 25px auto;
}
#mainVisual h1, #mainVisual h2 span {
  display: block;
  font-size: 50%;
  margin-top: 10px;
}
.tablet #mainVisual h2 {
  font-size: 215%;
  width: 90%;
  text-align: center;
  left: 0;
}
#TOP .posterList01 li, #TOP .posterList02 li {
  margin-bottom: 5px !important;
}
#TOP .btnMore {
  margin: 10px auto 50px auto;
  width: 200px;
}
#topCatchcopy {
  width: 80%;
  max-width: 1400px;
}
@media all and (-ms-high-contrast: none) {
  #mainVisual h1, #mainVisual h2 {
    left: 0;
    margin: 0 auto;
    right: 0;
    width: 850px;
    text-align: center;
  }
}
@media all and (-ms-high-contrast: none) and (max-width:1000px) {
  #mainVisual h1, #mainVisual h2 {
    left: 0;
    margin: 0 auto;
    right: 0;
    width: 600px;
  }
}
@media all and (-ms-high-contrast: none) and (max-width:767px) {
  #mainVisual h1, #mainVisual h2 {
    left: 0;
    margin: 0 auto;
    right: 0;
    width: 500px;
    font-size: 17px !important;
  }
}
@media all and (-ms-high-contrast: none) and (max-width:680px) {
  #mainVisual h1, #mainVisual h2 {
    left: 0;
    margin: 0 auto;
    right: 0;
    width: 360px;
    font-size: 16px !important;
  }
}
@media all and (-ms-high-contrast: none) and (max-width:480px) {
  #mainVisual h1, #mainVisual h2 {
    left: 0;
    margin: 0 auto;
    right: 0;
    width: 320px;
    font-size: 15px !important;
  }
}
.counter p {
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  text-shadow: #333333 1px 0 10px;
}
.counter div {
  padding: 4%;
  width: 40%;
}
.totalCatalog {
  float: left;
  font-size: 120%;
}
.totalCompany {
  float: right;
  font-size: 120%;
}
.count {
  font-size: 190%;
}
.count span {
  display: inline-block;
  font-size: 60%;
  padding: 0 0 0 5px;
}
.sBox .left, .sBox .right {
  background: #ffffff;
  border-radius: 4px;
  padding: 4% 4%;
  text-align: center;
  width: 40%;
}
.sBox .left {
  float: left;
  margin-right: 2%;
}
.sBox .right {
  float: right;
}
.sBox .left p, .sBox .right p {
  font-weight: bold;
  margin-top: 35px;
  font-size: 110%;
}
.sBox .left button, .sBox .right button, .sBox .left a, .sBox .right a {
  margin-bottom: 35px;
  margin-top: 90px;
  padding: 12px 15px;
  width: 85%;
}
.sBox .left button br, .sBox .right button br, .sBox .left a br, .sBox .right a br {
  display: none;
}
.topKeySearch {
  margin-top: 15px;
}
.topKeySearch input[type="submit"] {
  display: inline-block;
  float: right;
  height: 42px;
  width: 20%;
}
#topSearchBox {
  position: absolute;
  top: 60%;
  left: 8%;
  transform: translate(8%, -50%);
  width: 435px;
}
#TOP .col5 .photoLi li {
  width: 19%;
}
.pickup-category .cTitle {
  margin: 5px 0 5px 0;
  text-align: center;
}
@media screen and (max-width:1400px) {
  #topCatchcopy {
    width: 60%;
    max-width: 1000px;
  }
}
@media screen and (max-width:1024px) {
  #TOP .col5 .photoLi li {
    float: left;
    margin: 0.5% 0.5% 15px 0.5%;
    width: 24%;
    overflow: hidden;
    position: relative;
  }
  #TOP .col5 .posterList01 li {
    width: 23%;
  }
  #topCatchcopy {
    height: 130px;
    width: auto;
    max-width: inherit;
  }
  #mainVisual h2 {
    padding: 0;
  }
    #mainVisual h1, #mainVisual h2 {
        width: auto;
    }
}
@media screen and (max-width:770px) {
  /*メインビジュアル*/
  .mVisualClone {
    height: 405px !important;
  }
  #TOP #film {
    height: 405px !important;
  }
  #topCatchcopy {
    height: 80px;
    width: auto;
  }
}
@media screen and (max-width:768px) {
  #TOP .col5 .posterList01 li {
    width: 18%;
  }
  #TOP .col5 .posterList01 li {
    width: 18%;
  }
  section {
    margin: 0 0 50px 0;
  }
  #TOP .scroll .header-navi-sp-btn-line {
    background-color: #666666;
  }
  #TOP .posterList01 li, .posterList02 li {
    min-height: inherit;
  }
  #mainVisual {
    height: auto;
    margin: 0 0 50px 0;
  }
  #mainVisual h1, #mainVisual h2 {
    font-size: 100%;
    font-weight: bold;
    margin-bottom: 25px;
    letter-spacing: 0;
    top: 70px;
  }
  #topSearchBox {
    position: inherit;
    top: inherit;
    left: inherit;
    transform: translate(0%, 0%);
    padding-top: 170px;
  }
  .counter div {
    padding: 4% 4% 0 4%;
  }
  .topSearchWrap {
    padding-bottom: 1px;
  }
  .sBox {
    background: none;
    margin: 0px 20px 0 20px;
  }
  .sBox .left, .sBox .right {
    background: none;
    padding: 0;
    width: 48.5%;
  }
  .sBox .left p, .sBox .right p {
    display: none;
  }
  .sBox .left button, .sBox .right button, .sBox .left a, .sBox .right a {
    font-size: 90%;
    margin: 20px 0 0 0;
    width: 100%;
    background-color: #f9f9f9;
    background-image: url(../img/bg_listArrow.png);
    background-repeat: no-repeat;
    background-position: 97%;
    background-size: 8px 14px;
    border: none;
    border-bottom: 1px solid #ccc;
    padding: 13px 15px;
  }
  .topKeySearch {
    margin-top: 10px;
  }
  .topKeySearch .keySearchWrap {
    border: 1px solid #cccccc;
    margin: 0 20px 20px 20px;
  }
  #TOP .col5 .photoLi li {
    margin: 1.5%;
    width: 47%;
  }
  .totalCatalog {
    font-size: 100%;
  }
  .totalCompany {
    font-size: 100%;
  }
}
@media screen and (max-width:480px) {
  #TOP .col5 .photoLi li {
    margin: 0 0 25px 0;
    width: 100%;
  }
}
@media screen and (max-width:430px) {
  .sBox .left button br, .sBox .right button br, .sBox .left a br, .sBox .right a br {
    display: block;
  }
}
@media screen and (max-width:420px) {
  #topCatchcopy {
    height: 60px;
    width: auto;
  }
  #topSearchBox {
    padding-top: 140px;
  }
}
@media screen and (max-width: 960px) {
  #mainVisual h1, #mainVisual h2 {
    font-size: 160%;
  }
}
@media screen and (max-height: 660px) and (max-width: 1400px) {
  #mainVisual h1, #mainVisual h2 {
    font-size: 180%;
  }
  .sBox .left button, .sBox .right button, .sBox .left a, .sBox .right a {
    margin-bottom: 0;
    margin-top: 10px;
    width: 100%;
  }
}
@media screen and (max-height: 768px) and (min-width: 1080px) {
  #topCatchcopy {
    height: 95px;
    width: auto;
  }
}
@media screen and (max-height: 670px) and (max-width: 1400px) {
  #mainVisual h1, #mainVisual h2 {
    font-size: 180%;
  }
}
@media (orientation: landscape) and (max-width: 820px) and (max-height: 380px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .sBox .left p, .sBox .right p {
    display: none !important;
  }
  #topCatchcopy {
    height: 95px;
    width: auto;
  }
  #topSearchBox {
    position: inherit;
    top: inherit;
    left: inherit;
    transform: translate(0%, 0%);
    padding-top: 250px;
  }
  .counter div {
    padding: 4% 4% 0 4%;
  }
  .topSearchWrap {
    padding-bottom: 1px;
  }
  .sBox {
    background: none;
    margin: 0px 20px 0 20px;
  }
  .sBox .left, .sBox .right {
    background: none;
    padding: 0;
    width: 48.5%;
  }
  .sBox .left button, .sBox .right button, .sBox .left a, .sBox .right a {
    font-size: 90%;
    margin: 20px 0 0 0;
    width: 100%;
    background-color: #f9f9f9;
    background-image: url(../img/bg_listArrow.png);
    background-repeat: no-repeat;
    background-position: 97%;
    background-size: 8px 14px;
    border: none;
    border-bottom-color: currentcolor;
    border-bottom-style: none;
    border-bottom-width: medium;
    border-bottom: 1px solid #ccc;
    padding: 13px 15px;
  }
  #mainVisual h1, #mainVisual h2 {
    font-size: 100%;
    font-weight: bold;
    margin-bottom: 25px;
    letter-spacing: 0;
    top: 100px;
  }
}
@media screen and (max-width: 600px) {
  #mainVisual h1, #mainVisual h2 {
    font-size: 110%;
  }
}
@media screen and (max-width: 480px) {
  #mainVisual h1, #mainVisual h2 {
    font-size: 100%;
  }
}