/* カレンダー */
.tbl_calendar {
  border: none !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
.tbl_calendar th, .tbl_calendar td {
  padding: 4px !important;
  text-align: center !important;
  border-bottom: 1px solid #ccc !important;
}

.mainCalendar {
  display: flex;
  justify-content: space-between;
}
.mainCalendar table.tbl_calendar {
    max-width: calc(50% - 30px);
}
.mainCalendar table.tbl_calendar caption{
  font-weight: bold;
    margin: 0px auto 15px;
    font-size: 18px;
}
@media (max-width: 991px) {
  .mainCalendar {
    display: block;
  }
  .mainCalendar table.tbl_calendar {
      max-width: 100%;
  } 
}

/* 動画 */
.giftFrame{
  display:block;
  width:100%;
  max-width:640px;
  height:400px;
  margin:0 auto;
  border:none;
}

@media screen and (max-width:767px){

  .giftFrame{
    height:250px;
  }
}


/* 6つの強み */

.strengthSection{
  background:#f5f5f5;
  padding:30px 20px;
  margin-bottom: 100px;
}

.strengthContainer{
  max-width:1200px;
  margin:0 auto;
}


.strengthTitle{
  text-align:center;
  color:#666;
  font-size:2.8rem;
  margin-bottom:40px;
}

.strengthGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px 60px;
}

.strengthItem{
  display:flex;
  flex-direction:column;
  background:#fff;
  padding:30px;
  border-radius:12px;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  transition:.3s;
  height:100%;
  border-top:4px solid #c9a063;
}

.strengthItem:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}

.strengthIcon{
  width:35px;
  height:35px;
}

.strengthItem:hover{
  transform:translateY(-5px);
}

.strengthIcon img{
  width:100%;
  height:auto;
}

.strengthHeading{
  color:#222;
  font-size:22px;
  margin:15px 0;
  line-height:1.4;
}

.strengthText{
  color:#444;
  font-size:15px;
  line-height:1.8;
}

@media screen and (max-width: 767px){


  .strengthSection{
    padding:40px 15px;
 　 margin-bottom:50px;
  }

  .strengthTitle{
    font-size:1.8rem;
    margin-bottom:30px;
    line-height:1.4;
  }

  .strengthSubTitle{
    font-size:12px;
    margin-bottom:8px;
  }

  .strengthGrid{
    grid-template-columns:1fr;
    gap:25px;
  }

  .strengthItem{
  background:#fff;
  border-radius:10px;
  padding:20px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}

  .strengthIcon{
    width:30px;
    height:30px;
    margin-bottom:10px;
  }

  .strengthHeading{
    font-size:18px;
    line-height:1.5;
    margin:0 0 10px;
  }

  .strengthText{
    font-size:14px;
    line-height:1.8;
  }
}


@media (max-width:767px){
  /* ランキング */
  .tabSwitch{
    display:flex;
    flex-wrap:wrap;
  }

  .tabSwitch li{
    width:33.333%;
  }

  /* おすすめ商品 */
 .recommendList{
    display:flex;
    flex-wrap:wrap;
    padding:0 10px;
  }

  .recommendList .itemList__unit:nth-child(-n+2){
    flex:0 0 50%;
    max-width:50%;
  }

  .recommendList .itemList__unit:nth-child(n+3){
    flex:0 0 33.333%;
    max-width:33.333%;
  }

}