.p-sub-category {
  margin-right:auto;
  margin-left:auto;
  max-width:1000px;
  padding: 0;
  list-style-type: none;
}

.p-sub-category::after {
  display: block;
  clear: both;
  content: '';
}

.p-sub-category__item {
  float: left;
  box-sizing: border-box;
  width: 50%;
  padding: 10px 5px;
}

.p-sub-category__image {
  display: block;
  margin-bottom: 10px;
}

.p-sub-category__link {
  display: block;
  transition: opacity .2s;
  text-decoration: none;
  color: #333;
}

.p-sub-category__link:hover {
  opacity: .66;
}

.p-sub-category__link:active {
  opacity: 1;
}

.p-sub-category__name {
  line-height: 1.3;
  position: relative;
  display: block;
  padding-left: .8em;
}

.p-sub-category__name::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '-';
}

.category_description p {
  text-align: center; /* PCでは中央寄せ */
  line-height: 1.7em; /* 行間を1.7emに設定 */
}

.pc-only {
  display: inline;
}

@media screen and (max-width: 768px) {
  .category_description p {
    text-align: left; /* スマホでは左寄せ */
  }

  .pc-only {
    display: none; /* スマホでは改行なし */
  }
}

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


  .p-sub-category__item {
    width: 25%;
    padding: 15px 10px;
  }

  .p-sub-category__item:nth-child(4n + 1) {
    clear: both;
  }
}

@media screen and (max-width: 599px) {
  .p-sub-category__item:nth-child(2n + 1) {
    clear: both;
  }
}

#top_product_list{
	display:flex;
	justify-content: space-around;
	flex-wrap: wrap;
  	width:100%;
  	margin:10px auto;
}
a.top_product_list_item{
	display: block;
	width: 100%;
	flex-basis: 24%;
	text-decoration: none;
	color:#666;
}
a.top_product_list_item h4{
    font-size:12px;
	margin:10px 0px;
  text-align:center;
}
a.top_product_list_item p.price{
  text-align:center;
  margin:7px 0px;
  font-size:12px;
}
a.top_product_list_item span{
  font-size:10px;
}

@media screen and (max-width:640px){
  #top_product_list{
  	margin:10px auto;
  }
  a.top_product_list_item{
	flex-basis: 49%;
    margin-bottom:20px;
  }
  a.top_product_list_item h4{
    font-size:11px;
  }
  .for_mobile{display:block;}
}
}

.image-container {
    position: relative;
    display: inline-block;
}

.image-container img {
    width: 100%;
    height: auto;
}

.image-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 24px;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}