.itema{
 width:14%; 
 padding:2%;
}
.bans{
width:100%;
}
.barbutton{
margin:0;
  padding: 5px 25px;


}
.conimg {
    overflow: hidden;    /* 拡大時に親からはみ出さない */
    display: block;      /* aタグの余白を消す */
}

.conimg img {
    display: block;      /* 画像の下余白を消す */
    transition: transform 0.6s ease;
}

.conimg img:hover {
  
}

@media (max-width: 1200px) {
.itema{
 width:33%; 
 padding:3%;
}
}
.bx-viewport {
  padding: 0 !important;
  margin: 0;
  border: none;
  background: transparent;
}

.title{
  margin-top: 60px;
font-size:18px;
    font-family: 'Oswald', sans-serif;
}

.parenta {
  margin: 0;
  padding: 0;
  background-color:white;
}

.parenta li {
  margin: 0;
  padding: 0;
}






.tile:hover .price-box{
  opacity:1;

}
/* グリッドをやめて flex で横並び */
.tile-grid,
.tile-grid2 {
  display: flex;
  flex-wrap: wrap;    
  justify-content: flex-start;
  gap: 0;              
  margin: 10px;
  padding: 0;
  list-style: none;
}
.conimg {

  width: calc((100% - 60px) / 4);
  transition: all 0.5s ease;
}
.con3{
    gap: 20px; 
    margin: 20px;
  display: flex;
  flex-wrap: wrap;     
  justify-content: flex-start;
}

/* 各タイルを%指定で並べる */
.tile {
  width: calc((100% - 140px) / 7);
  margin-bottom: 20px;
  padding: 0;
  margin:10px;
  position: relative;
  overflow: hidden;
}

/* 商品画像 */
.tile img {
  width: 100%;   /* タイル幅いっぱい */
  height: auto;  /* 高さは比率維持 */
  object-fit: cover; /* 画像のはみ出し調整 */
  display: block;
}

@media (max-width: 1024px) {
  .tile {   width: calc((100% - 80px) / 4); } /* タブレット：3列 */
  .conimg {

  width: calc((100% - 20px) / 2);

}
}



/* 値段ボックス */
/* PC用 price-box（画像上に重ねる） */
.price-box {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);

  color: white;
  font-size: 0.9em;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}


/* &#9989; 代わりにスマホ用ボックスをPCでも常時表示 */
.price-box2,
.price-box2z {
  display: block !important;
  opacity: 1 !important;
  position: static !important;
  width: 100%; /* タイル幅に合わせる */
  color: #000;
  margin-top: 5px;
  padding: 0px;
  min-height: 30px;
  font-size: 0.85em;
  border-radius: 6px;
  text-align: center;

}

/* PCでもランキング数字が下に出るように調整 */
.ranking-number2 {
  background-color: #ebebeb;
  color: #333;
  width: 100%;
  line-height: 28px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 5px;
}

  .conimg:hover{
opacity:0.9;

}

@media screen and (max-width: 768px) {
  .conimg{
width:50%;
margin:0;
}
  .con3{
    margin:0px;
      gap: 0; }
  .tile-grid {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0;
    margin: 0;
  }
.title{
  margin-top: 30px;

}

  .tile-grid2 {
    display: flex !important;
    flex-wrap: wrap;
    margin: 0;
    justify-content: space-between;
    gap: 0;
  }
  .tile {
    width: 50%;
    margin: 0px 0px 10px 0px;
    position: relative;
    display: block;
    
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;

  }

  .tile img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
  }

  .price-box {
    display: none !important;
  }
  .price-box2z {
    display: block !important;
    opacity: 1 !important;
    position: static !important;
    width: 98%; /* タイル幅に合わせる */
    color: #000;
    margin-top: 5px;
   
        padding: 1%;
    height:50px;
    font-size: 0.5em;
    border-radius: 6px;
    text-align: center;

  }
  .price-box2 {
    display: block !important;
    opacity: 1 !important;
    position: static !important;
    width: 100%; /* タイル幅に合わせる */
    color: #000;
    margin-top: 5px;
    padding: 5px;
    height:20px;
    font-size: 0.85em;
    border-radius: 6px;
    text-align: center;

  }
}

.tile a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.tile-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}





/* 各価格スタイル */
.regular-price {
  text-decoration: line-through;
  font-size: 0.8em;
  opacity: 0.7;
  margin-right: 5px;
}

.final-price {
  font-size: 1em;
}

.discount-rate {
  color: #ffd700;
  font-weight: bold;
  font-size: 0.8em;
  display: block;
}


/* タイルサイズバリエーション（ランダム） */
.size-0 {
  grid-column: span 2;
  grid-row: span 2;
}
.size-1 {
  grid-column: span 2;
  grid-row: span 1;
}
.size-2 {
  grid-column: span 1;
  grid-row: span 2;
}
.size-3 {
  grid-column: span 1;
  grid-row: span 1;
}
.size-4 {
  grid-column: span 1;
  grid-row: span 1;
}
#contents {
    width: 100%;
    padding: 0px;
}

.img-wrap {
  position: relative;
  display: block;
}

.img-wrap img {
  display: block;
  width: 100%;
  transition: opacity 0.5s;
}

.img-wrap .img-hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.img-wrap:hover .img-hover {
  opacity: 1;
}

.img-wrap:hover .img-main {
  opacity: 0;
}
