p.txt_r{
  margin-top: 10px;
}
.cg_freespace_01{
  margin-top: -30px;
  font-size:8px;
  margin-bottom: 30px;
  max-width:1060px;
  width: 98%;
  margin: -30px auto 30px auto;
}
.cg_freespace_02{
  margin-top: -30px !important;
  margin-bottom: 30px !important;
  max-width:1060px;
  width: 98%;
  margin: 0 auto;
}
.category_name{
  max-width:1060px;
  width: 98%;
  margin: 0 auto;
}
.sort,
.pankuzu{
  max-width:1060px;
  width: 98%;
  margin: 0 auto !important;
  padding-top:10px;
  padding-bottom:10px;
}
.unstyled{
  max-width:1060px;
  width: 98%;
  margin: 0 auto !important;
}
.col img {
  width: 100%;
}



@media (max-width: 768px) {
  .col-lg-3 {
    width: 50% !important;
  }
 .sphidden{
   margin-top:8px;
  }
  .sort{
   padding-right:30px;
  }
}



.mask-soldout{
top: 0; 
left: 0;
width: 100%;
height: 100%;
position: absolute;
z-index:100;
}

.mask-soldout .soldout{
background: rgba(255,255,255,0.4);
display: flex;
justify-content: center;
align-items: center;
height:100%;
border-radius:0px;
}

.mask-soldout .soldout p{
margin-top:-80px;
}

.txt-stack{
  z-index:101;
  position: relative;
}

.img-hover-wrapper {
  position: relative;
  display: block;
}

.img-hover-wrapper img.main-img,
.img-hover-wrapper img.hover-img {
  display: block;
  width: 100%;
  height: auto;
}

/* PCのみホバー切替 */
@media screen and (min-width: 768px) {
  .img-hover-wrapper img.hover-img {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
  }

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

/* スマホでは hover-img を非表示 */
@media screen and (max-width: 767px) {
  .img-hover-wrapper img.hover-img {
    display: none;
  }
}
