    *{
      padding: 0;
      margin: 0;
      box-sizing: border-box;
    }

    h2.footer_category_ttl {
      font-family: zen-kaku-gothic-antique, sans-serif;
      text-align: center;
      font-size: 30px;
      font-weight: bold;
      background-color: #DDDDDD00;
      margin-bottom: 30px;
    }
    .rating_content {
      max-width: 960px;
      width: 100%;
      margin: 0 auto 60px;
      padding: 0 15px;
    }
    .rating-summary {
      display: flex;
      align-items: center;
      font-size: 20px;
      margin-bottom: 10px;
      padding: 0 5px;
      flex-wrap: wrap;
    }
    .stars {
      color: gold;
      font-size: 24px;
    }
    .average-rating {
      font-weight: bold;
      margin-left: 5px;
    }
    .total-reviews {
      color: gray;
      margin-left: 5px;
    }
    .bar-chart {
      display: flex;
      flex-direction: column;
      gap: 10px;
      width: 100%;
      padding: 0 5px;
    }
    .bar-container {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }
    .bar-label {
      width: 40px;
      text-align: right;
      font-weight: bold;
    }
    .bar-background {
      flex-grow: 1;
      background-color: #ddd;
      height: 20px;
      position: relative;
      overflow: hidden;
      min-width: 100px;
    }
    .bar {
      height: 100%;
      background-color: #f2ab00;
    }
    .bar-value {
      min-width: 40px;
      text-align: left;
    }
    .rating_btn {
      max-width: 250px;
      margin: 30px auto;
      border: 1px solid #39c;
      padding: 10px 0;
      border-radius: .3125em;
      text-align: center !important;
    }
    @media screen and (max-width:768px){
          h2.footer_category_ttl{
            font-size: 22px;
          }
    }

    /* レスポンシブ調整 */
    @media screen and (max-width: 600px) {

      .rating-summary {
        font-size: 16px;
        flex-direction: column;
        align-items: flex-start;
      }
      .stars {
        font-size: 20px;
      }
      .rating_btn {
        width: 100%;
        font-size: 16px;
      }
    }



.review {
	border: 1px solid #ccc;
	padding: 1em;
	margin-bottom: 1em;
	border-radius: 5px;
	display: flex;
	gap: 1em;
}
.review img {
	width: 120px;
	height: auto;
	object-fit: contain;
	border: 1px solid #eee;
}
.review-content {
	flex: 1;
}
.review-title {
	font-weight: bold;
	font-size: 1.1em;
	margin-bottom: 0.2em;
}
.review-rating {
	color: gold;
	margin-bottom: 0.5em;
}
.review-product {
	font-weight: bold;
}
.review-comment {
	margin-top: 0.5em;
}