.cg_freespace_01 {
  margin-bottom: 10px;
}

.cg_freespace_02 {
  margin-bottom: 10px;
}

/* productlist */
.productlist_heading {
  margin: 40px 0 20px;
}
.productlist_lists {
  margin-top: 20px;
  font-size: 12px;
}
.productlist_list {
  margin-bottom: 40px;
  text-align: center;
  position: relative;
}

.subcategorylist_lists {
  font-size: 12px;
  margin-top: 40px;
}
ul.subcategorylist_lists > li {
  margin-bottom: 10px;
}
.subcategorylist_list {
}
.subcategorylist_list_img {
}

.productlist_number {
  float: left;
  line-height: 1.4;
}
.productlist_number span {
  font-size: 12px;
  padding: 0 5px;
}
.productlist_sort {
  float: right;
}
.productlist_sort a {
  padding: 0 5px;
}

/* pagerlist */
.pagerlist {
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
}
.pagerlist ul {

  text-align: right;
  padding-top: 15px;
}
.pagerlist li {
  text-align: center;
  line-height: 26px;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
.pagerlist li a,
.pagerlist li span {
  display: block;
  float: left;
  min-width: 26px;
  height: 26px;
  box-sizing: border-box;
  padding: 0 .5em;
}
.pagerlist li a {
  border: 1px solid #333;
  background-color: #fff;
  color: #333;
  text-decoration: none;
}
.pagerlist li a:hover {
  border: 1px solid #333;
  background-color: #333;
  color: #fff;
}
.pagerlist li span {
  border: 1px solid #ccc;
  background-color: #fff;
  color: #ccc;
}

.pagerlist_sp {
  text-align: center;
}
.pagerlist_sp_top {
  margin: 20px 0 10px 0;
}
.pagerlist_sp_btm {
  margin: -20px 0 60px;
}
.pagerlist_sp ul {
  margin: 0;
}
.pagerlist_sp li {
  display: inline;
  margin: 0 5px;
}
.pagerlist_pos {
  font-size: 12px;
  margin: 10px 0;
}
.pagerlist_pos span {
  font-size: 14px;
  padding: 0 5px;
}

@media (max-width: 768px) {
  .cg_freespace_02 {
    font-size: 12px;
    margin-bottom: 60px;
  }

  .productlist_noitem {
    padding: 0 10px 20px;
  }

  .productlist_sort {
    font-size: 12px;
    float: none;
    text-align: center;
  }
}

h3
{
font-size:12px;
} 

h2
{
font-size:12px;
} 

/* スクロールは可能だけどスクロールバーを非表示にする */
.scroll {
  overflow: auto;           /* スクロール可能 */
  scrollbar-width: none;    /* Firefox用: スクロールバー非表示 */
  -ms-overflow-style: none; /* IE/Edge用: スクロールバー非表示 */
}

/* Chrome, Safari, Opera 用 */
.scroll::-webkit-scrollbar {
  display: none;            /* スクロールバー非表示 */
}

.scroll {
  overflow: auto;
  scrollbar-width: none;       /* Firefox */
  -ms-overflow-style: none;    /* IE/Edge */
}

.scroll::-webkit-scrollbar {
  display: none;               /* Chrome/Safari/Opera *
 /
}
  
  <style>
/* 商品一覧全体レイアウト */
.category_lists {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.category_lists li {
  flex: 1 1 calc(25% - 20px);  /* PCで4列 */
  box-sizing: border-box;
  text-align: center;
  background: #fffff7;
  border-radius: 8px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.category_lists li:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* 商品画像 */
.category_lists li img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}

/* 商品タイトル（3行で省略） */
.category_lists li h3 {
  font-size: 15px;
  font-weight: bold;
  margin: 8px 0;
  line-height: 1.4;
  color: #222;
  height: 4.2em;                /* 1.4 × 3行 */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;        /* ← 3行で省略 */
  -webkit-box-orient: vertical;
}

/* 商品説明（3行で省略） */
.category_lists li .explanation {
  font-size: 13px;
  line-height: 1.4;
  color: #333;
  margin: 6px 0;
  height: 4.2em; /* 3行分 */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* 機能・色・価格 */
.category_lists li .function,
.category_lists li .collar,
.category_lists li .price {
  display: block;
  font-size: 13px;
  margin: 3px 0;
  color: #444;
}

/* レスポンシブ対応 */
@media (max-width: 1024px) {
  .category_lists li {
    flex: 1 1 calc(33.333% - 20px);
  }
}
@media (max-width: 768px) {
  .category_lists li {
    flex: 1 1 calc(50% - 20px);
  }
}
@media (max-width: 480px) {
  .category_lists li {
    flex: 1 1 100%;
  }
}
</style>

  