@charset "UTF-8";

/*******************
Title: item.css

********************/
/*品切れ
================*/
.zaikogire{
  position: relative;
  top: -50px;
  left: 0;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5em;
  color: #fff;
  opacity: 0.7;
  margin-bottom: -52px;
  padding: 10px;
}

.zaikogire_img{
  position: absolute;
  width: 100%;
  height: 200px;
  background-color: rgba(128,128,128,.5);
}

/*サブメニュー
================*/
.subNavi{
  display: none;
}


/*各種ブロック
================*/
.contentBlock{
  width:100%;
  padding: 0 10px 30px;
}

.contentBlock.color{
  background: #f5f5f5;
}

.innerWrapper{
  width:100%;
  height: auto;
  margin: 0 auto;
  padding: 10px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
}

/*見出し
================*/
.contentBlock h2{
  color:#22B573;
  padding: 15px 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  text-align: left;
  line-height: 1.5;
  color:#00692d;
}

.contentBlock h2 br{
  display: block;
}

.contentBlock h3{
  color:#00692d;
  padding:0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  text-align: left;
}


/*こんな人にオススメ
================*/
.innerWrapper.recommend{
  border:1px dashed #333;
}

.innerWrapper.recommend h3{
  color:#333;
  text-align: center;
}

.innerWrapper.recommend img{
  width:100%;
  height: auto;
  display:none;
}

.innerWrapper.recommend p{
  width:100%;
  height: auto;
  padding: 10px;
}
/*商品一覧
================*/
ul.itemList{
  width:100%;
  height: auto;
  margin: 20px auto 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
}

ul.itemList li{
  width:90%;
  /* height: auto; */
  height: 320px;
  margin: 0 auto 40px;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  background: #fff;
  text-align: center;
  position: relative;
}

ul.itemList li img{
  width:200px;
  height: auto;
  margin: 0 auto;
  display:block;
}

ul.itemList li img.itemList{
  height: 200px;
}

ul.itemList li h3{
  width:auto;
  /* height: auto; */
  height: 40px;
  margin: 10px auto;
  display:block;
  font-weight: bold;
  display: inline-block;
}



ul.itemList li a.btn{
  width:100%;
  height: 50px;
  margin: 0 ;
  padding: 0 20px;
  line-height: 45px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:inline-block;
  position: relative;
  font-size: 1.2em;
  background: #22B573;
  color:#fff;
  border-bottom: 5px solid #258E5C;
  border-radius: 8px;
  text-align: left;
}

ul.itemList li a.btn:after {
  content: "";
  width: 30px;
  height: 30px;
  padding: 0;
  margin: auto;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block;
  background: url(../img/icon_btn_linkarr.png)0 0 no-repeat;
  background-size: 30px 30px;
  position: absolute;
  top:0;
  bottom:0;
  right: 10px;
}

ul.itemList li div.btn{
  width:100%;
  height: 50px;
  margin: 0 ;
  padding: 0 20px;
  line-height: 45px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:inline-block;
  position: relative;
  font-size: 1.2em;
  background: #22B573;
  color:#fff;
  border-bottom: 5px solid #258E5C;
  border-radius: 8px;
  text-align: left;
}

ul.itemList li div.btn:after {
  content: "";
  width: 30px;
  height: 30px;
  padding: 0;
  margin: auto;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block;
  background: url(../img/icon_btn_linkarr.png)0 0 no-repeat;
  background-size: 30px 30px;
  position: absolute;
  top:0;
  bottom:0;
  right: 10px;
}

ul.itemList li div.btn:hover {
  top: 3px;
  border-bottom: 2px solid #258E5C;
  margin: 0 auto 3px ;
}

ul.itemList li .btnWrapper{
  padding:10px 10px 0;
}

ul.itemList li a.btn:hover {
  top: 3px;
  border-bottom: 2px solid #258E5C;
  margin: 0 auto 3px ;
}

/*商品一覧（表示件数・並び替え）
================*/
.itemDisp {
  display: flex;
  width: 110%;
  margin-bottom: 40px;
}
@media screen and (max-width: 40em) {
  .itemDisp{
    flex-direction: column;
    gap: 15px;
    margin-bottom: 40px;
  }
}

/*商品詳細
================*/
.innerWrapper p{
  width:100%;
  height: auto;
}


/*オススメ商品
================*/
.contentBlock.item .itemArea{
  width:100%;
  height: auto;
  margin: 0 auto 10px;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  position: relative;
}

.contentBlock.item .txt{
  width:100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
}

.itemArea ul{
  width:100%;
  height: auto;
  margin: 0 auto 20px;
  padding: 10px 10px 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
}

.itemArea ul li{
  width:100%;
  height: auto;
  margin: 0 auto 10px;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  position: relative;
  color:#333;
}

.slick-slide {
  cursor: pointer;
}
.slick-dots li{
  cursor: pointer;
}

.contentBlock .itemArea ul h3{
  width:100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  color:#00692d;
  font-size: 1.1em;
  text-align: left;
  font-weight: bold;
}

.contentBlock.item a.btn{
  width:auto;
  height: auto;
  margin: 0 ;
  padding: 20px 15px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:inline-block;
  position: relative;
  font-size: 1.20em;
  font-weight: bold;
  background: #22b573;
  color:#fff;
  border-bottom: 5px solid #409973;
  border-radius: 10px;
  text-align: center;
}

.contentBlock.item a.btnInvalid{
  width:auto;
  height: auto;
  margin: 0 ;
  padding: 20px 15px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:inline-block;
  position: relative;
  font-size: 1.20em;
  font-weight: bold;
  background: #949593;
  color:#fff;
  border-bottom: 5px solid #949593;
  border-radius: 10px;
  text-align: center;
}

.contentBlock.item a.btn:hover{
  top: 3px;
  border-bottom: 2px solid #409973;
  margin: 0 auto 3px ;
}

/*商品カルーセル*/
ul.itemWrapper{
  width:260px;
  height: auto;
  margin: 0 auto;
  padding: 10px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  background: #f5f5f5;
  border-radius: 3px;
}

.contentBlock.item .itemArea img{
  width:240px;
  height: auto;
  margin: 0 auto ;
  padding: 0;
  display: block;
}

.itemArea ul.slick-dots{
  width:100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
}

.itemArea ul.slick-dots li{
  width:19.2%;
  height: auto;
  margin: 0 1% 0 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  float: left;
}

.itemArea ul.slick-dots li:last-child{
  margin: 0 0 0 0;
}

.contentBlock.item .itemArea .slick-dots li img{
  width:100%;
  height: auto;
  margin: 0 auto;
  display:block;
}

/*利用者向け画面遷移ボタン*/
.btnWrapper{
  width:100%;
  /*height: auto;*/
  height: 150px;
  margin: 10px auto;
  padding: 10px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  text-align: center;
}

/*事業者の声
================*/
.innerWrapper ul.voice li{
  width:100%;
  height: auto;
  margin: 0 auto 30px;
}

.innerWrapper ul.voice li:last-child{
  margin: 0 auto;
}

.contentBlock .rank{
  width: 123px;
  height: 23px;
  margin:  0;
  padding: 0;
  background: #999;
  position: relative;
}

.contentBlock .rank canvas{
  position: absolute;
  top: 0px;
  left: 0px;
}

.contentBlock .rank .mask{
  width: 125px;
  height: 25px;
  margin:  0;
  padding: 0;
  background: url(../img/pic_star.png)0 0 no-repeat;
  background-size: 125px auto;
  position: absolute;
  top:-1px;
  left: 0;
  z-index: 1;
}

/*事業者の声*/
ul.voice{
  width:100%;
  height: auto;
  margin: 0 auto 20px;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
}

a.voiceBtn{
  width:100%;
  height: auto;
  margin: 0 ;
  padding: 20px 15px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:inline-block;
  position: relative;
  font-size: 1.20em;
  font-weight: bold;
  background: #22b573;
  color:#fff;
  border-bottom: 5px solid #409973;
  border-radius: 10px;
  text-align: center;
}

a.voiceBtn:hover{
  top: 3px;
  border-bottom: 2px solid #409973;
  margin: 0 auto 3px ;
}

p.noVoice{
  width:80%;
  height: auto;
  margin: 0 auto;
  padding: 40px 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  background: #fff;
  color:#aaa;
  border:1px dashed #eee;
  text-align: center;
}

h2 span.makerName{
  width:100%;
  height: auto;
  margin: 0 auto;
  padding: 5px 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  font-size: 0.5em;
  color:#999;
}

.resultBox{
  width:100%;
  height: auto;
  margin: 80px auto;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
}

.resultBox .resultTxt{
  width:100%;
  height: auto;
  margin: 0 auto;
  padding: 30px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  border:2px solid #22B573;
  text-align: center;
  font-weight: bold;
  color:#666;
}

/*商品説明吹き出し*/
.popUp{
  width:100%;
  max-width: 320px;
  height: auto;
  margin: 0 auto 15px;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display:block;
  background: #E38692;
  border-radius: 8px;
  position: relative;
}

.popUp:after{
  content: "";
  width: 15px;
  height: 15px;
  padding: 0;
  margin: auto;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: block;
  background: url(../img/icon_popup_arr.png)0 0 no-repeat;
  background-size: 15px 15px;
  position: absolute;
  top:98%;
  right: 0;
  left: 0;
}

.popUp p.popupTxt{
  width:100%;
  height: auto;
  margin: 0 auto;
  padding: 10px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
/*  display:table-cell; */
  color: #fff;
  text-align: center;
  vertical-align: middle;
}

/*===============================
ランドスケープ（400px～）
===============================*/
@media screen and (min-width:400px) {

}

/*===============================
タブレット（768px～）
===============================*/

@media screen and (min-width:768px) {
  /*サブナビ*/
  .subNavi{
    width:100%;
    height: auto;
    padding: 10px ;
    display: none;
    background: #fff;
    box-shadow:0 3px 8px -1px #999;
    text-align: center;
    position: fixed;
    top:0;
    left: 0;
    z-index: 10;
  }

  .subNavi ul li{
    width:150px;
    height: 50px;
    padding: 0;
    margin: 0 10px;
    line-height: 50px;
    display: inline-block;
    cursor:pointer;
    font-weight: bold;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    text-align: center;
  }

  .subNavi ul li:hover{
    color:#999;
    border-bottom: 1px solid #bbb;
  }

  .subNavi ul li.current{
    border-bottom: 1px solid #22B573;
  }

  
  
  .innerWrapper{
    width: 640px;
    padding: 0;
  }
  
  .innerWrapper.recommend img{
    width:620px;
    height: auto;
    margin: 0 auto 10px;
    display:block;
  }
  
  .contentBlock h2{
    width: 800px;
  }
  
  
  .contentBlock h2 br{
    display: none;
  }
  
  .innerWrapper h3{
    margin: 10px auto 5px;
  }
  
  .innerWrapper h3 br{
    display: none;
  }
  
  
  img.copyImg{
    width:100%;
    max-width:620px ;
    height: auto;
    margin: 0 auto 25px;
    padding: 10px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    display:block;
  }
  
  .contentBlock.item .itemArea{
    width:640px;
    height: auto;
    margin: 0 auto 10px;
    padding: 0;
  }
  
  .contentBlock.item .txt ul li{
    margin: 0 auto 15px;
  }

  ul.itemWrapper{
    width:40%;
    float: left;
    margin: 0 auto;
  }
  
  .contentBlock.item .txt{
    width:60%;
    float: left;
    padding: 0 0 0 20px;
  }
  
  .contentBlock.item a.btn{
    width:90%;
    height: auto;
    margin: 0 ;
    padding: 15px 15px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    display:inline-block;
    position: relative;
    font-size: 1.20em;
    font-weight: bold;
    border-radius: 10px;
  }
  
  .contentBlock.item a.btnInvalid{
    width:90%;
    height: auto;
    margin: 0 ;
    padding: 15px 15px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    display:inline-block;
    position: relative;
    font-size: 1.20em;
    font-weight: bold;
    border-radius: 10px;
  }

  .contentBlock.item a.btn br{
    display: none;
  }

  ul.itemList li{
    width:32%;
    /* height: auto; */
    /* height: 465px; */
    height: 320px;
    margin: 0 2% 60px 0;
    padding: 0;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    display:block;
    background: #fff;
    float:left;
    position: relative;
  }
  
  ul.itemList li:nth-child(3n){
    margin: 0 0 20px 0;
  }
  
  .btnWrapper.item{
    width:640px;
    text-align: center;
    display: block;
    border-radius: 3px;
  }
  
  ul.voice{
    margin: 0 auto 30px;
  }
  
  a.voiceBtn{
    width:50%;
  }
  
  select.selectBox {
    width: 300px;
    display: inline-block;
  }

  .popUp{
    width:100%;
  }

}

/*===============================
PC（980px～）
===============================*/

@media screen and (min-width:980px) {


  .contentBlock.intro .txt {
    padding: 20px 100px;
    width:800px;
  }
  
  .contentBlock.check .checkListArea{
    width: 800px;
    height: auto;
    padding: 0;
    margin: 0 auto 50px;
  }

  
  .contentBlock.check .txt {
    margin: 0 auto 10px;
    padding: 20px 100px;
    position: relative;
    width: 800px;
  }
  
  .contentBlock.check .txt p {
    width: 100%;
  }
  
  .contentBlock.check .txt.arrow {
    margin: 0 auto 40px;
  }
  

  
  .picWrapper{
    width:600px;
    height: auto;
    margin: 0 auto 50px;
    padding: 0;
  }
  
  .picWrapper img{
    width:270px;
    float: left;
  }

  .picWrapper ul{
    width:330px;
    float: left;
    padding: 0;
  }
  
  .innerWrapper{
    width:800px;
    height: auto;
    margin: 0 auto 10px;
    display:block;
  }
  
  a.voiceBtn{
    width:300px;
  }

}