/* カテゴリベース */
.category_bottom_base {
  margin: 0 auto 50px;
  width: 900px;
}

.category_bottom_base h3 {
  margin: 10px 0;
  padding-left: 7px;
}

.category_bottom_base img {
  width: 100%;
}

.pc_none {
  display: none;
}

/* カラム指定 */
.col_1 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}

.col_2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}

.col_3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.col_4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

/* バナーカラム指定 */
.bn_col_1 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  padding-bottom: 20px;
}

.bn_col_2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  padding-bottom: 20px;
}

.bn_col_3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  padding-bottom: 20px;
}

.bn_col_4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  padding-bottom: 20px;
}

/*カテゴリボタン*/
.btn_col_1 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}

.btn_col_2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}

.btn_col_3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.btn_col_4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

ul[class^="btn_col_"]>li {
  vertical-align: top;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
}

ul[class^="btn_col_"]>li a {
  border: 1px solid #222222;
  border-radius: 5px;
  padding: 7px 1px;
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 37px;
}

/*アイコン*/
#icon {
  margin: 15px auto 0;
  overflow-x: auto;
  overflow-y: hidden;
}

#icon .col_icon {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 140px;
  /* overflow: hidden; */
  margin-bottom: 10px;
}

#icon .col_icon li {
  /* padding: 3%; */
  display: inline-block;
  text-align: center;
  margin: 0 0 10px;
}

#icon .col_icon li a {
  display: block;
}

#icon .col_icon li a img {
  width: 80%;
  /* background-color: #eaeaea; */
  background-color: #fff;
  border-radius: 50%;
}

#icon .col_icon li p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 18px;
}

/*---------クチコミ---------*/
.category_bottom_base .review {
  width: 100%;
}

.category_bottom_base .review ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.category_bottom_base .review ul li {
  border: solid 1px #e9e9e9;
  padding: 3%;
}

.category_bottom_base .review ul .name {
  font-size: 18px;
}

.category_bottom_base .review ul .star {
  color: #e5c000;
  font-size: 18px;
  margin-right: 3%;
}

.category_bottom_base .review ul .text {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.category_bottom_base .review li .btn {
  width: 90%;
  text-align: center;
  background-color: #fff;
  border: solid 2px #bd1e18;
  border-radius: 50px;
  margin: 5px auto;
  position: relative;
}

.category_bottom_base .review li .btn::after {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  top: 33%;
  right: 7%;
  border-top: solid 2px #bd1e18;
  border-right: solid 2px #bd1e18;
  transform: rotate(45deg);
  transition: 0.2s;
}

.category_bottom_base .review li:hover .btn::after {
  right: 5%;
  transition: 0.2s;
}

.category_bottom_base .review li dd.btn a {
  font-size: 15px;
  color: #bd1e18;
  display: block;
}

/*------------------------------------------
リニューアル
------------------------------------------*/
.category_bottom_base .flex {
  display: flex;
  align-items: center;
}

.category_bottom_base .kaden h3 {
  border-left: solid 5px #2153b6;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_bottom_base .food h3 {
  border-left: solid 5px #bd1e18;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_bottom_base .daily h3 {
  border-left: solid 5px #3eb826;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_bottom_base .kitchen h3 {
  border-left: solid 5px #c43902;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_bottom_base .pet h3 {
  border-left: solid 5px #e79702;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_bottom_base .home h3 {
  border-left: solid 5px #d9a104;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_bottom_base .outdoor h3 {
  border-left: solid 5px #174213;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_bottom_base .interior h3,
.category_bottom_base .interior h2,
.category_bottom_base .interior h4 {
  border-left: solid 5px #9a8266;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_bottom_base .interior h4 {
  font-size: 20px;
  letter-spacing: .06em;
  line-height: 1.5em;
  margin: 10px 0;
  color: #222;
}

/* .category_bottom_base .kitchen a,
.category_bottom_base .home a,
.category_bottom_base .outdoor a,
.category_bottom_base .interior a {
  display: block;
} */

.category_bottom_base .kitchen section.m10,
.category_bottom_base .home section.m10,
.category_bottom_base .outdoor section.m10,
.category_bottom_base .interior section.m10 {
  margin: 2rem 0;
}

.category_bottom_base .more {
  font-size: 16px;
  color: #1076c9;
  position: relative;
}

.category_bottom_base .more::after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 35%;
  right: -16%;
  border-top: solid 1px #1076c9;
  border-right: solid 1px #1076c9;
  transform: rotate(45deg);
}

/*---------ランキング---------*/
.category_bottom_base div.ranking {
  margin-bottom: 20px;
}

.category_bottom_base .ranking .p_wish,
.category_bottom_base .ranking .price_comment,
.category_bottom_base .ranking .btn-black,
.category_bottom_base .ranking .price-icons {
  display: none !important;
}

.category_bottom_base .pickup-item-slider {
  overflow-x: auto;
  width: 100%;
  padding-bottom: 5px;
}

.category_bottom_base .ranking ul {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 15px;
  width: 180%;
  padding-top: 30px;
}

.category_bottom_base .ranking ul li {
  margin: 0 5px;
  position: relative;
}

.category_bottom_base .ranking ul li:nth-child(1)::after {
  content: "1";
  width: 40px;
  height: 40px;
  position: absolute;
  top: -35px;
  left: 0;
  background-image: url(../IMAGE/c_8578/rank_1.png);
  background-size: contain;
  background-color: transparent;
  line-height: 47px;
  color: #222;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
}

.category_bottom_base .ranking ul li:nth-child(2)::after {
  content: "2";
  width: 40px;
  height: 40px;
  position: absolute;
  top: -35px;
  left: 0;
  background-image: url(../IMAGE/c_8578/rank_2.png);
  background-size: contain;
  background-color: transparent;
  line-height: 47px;
  color: #222;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
}

.category_bottom_base .ranking ul li:nth-child(3)::after {
  content: "3";
  width: 40px;
  height: 40px;
  position: absolute;
  top: -35px;
  left: 0;
  background-image: url(../IMAGE/c_8578/rank_3.png);
  background-size: contain;
  background-color: transparent;
  line-height: 47px;
  color: #222;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
}

.category_bottom_base .ranking ul li:nth-child(n+4)::after {
  position: absolute;
  top: -27px;
  left: 0px;
  width: 25px;
  height: 25px;
  font-size: 16px;
  line-height: 25px;
  text-align: center;
  color: #fff;
  background-color: #222;
}

.category_bottom_base .ranking ul li:nth-child(4)::after {
  content: "4";
}

.category_bottom_base .ranking ul li:nth-child(5)::after {
  content: "5";
}

.category_bottom_base .ranking ul li:nth-child(6)::after {
  content: "6";
}

.category_bottom_base .ranking ul li:nth-child(7)::after {
  content: "7";
}

.category_bottom_base .ranking ul li:nth-child(8)::after {
  content: "8";
}

.category_bottom_base .ranking ul li:last-child {
  margin: 0;
}

.category_bottom_base .ranking li dd.p_wish {
  margin: 2px 0;
  height: 25px;
  letter-spacing: 0;
}

.category_bottom_base .ranking li dd .wish {
  float: right;
  position: relative;
  right: 0;
  top: 0;
  cursor: pointer;
  width: 24px;
  height: 24px;
}

.category_bottom_base .ranking li .icon .p_icon {
  display: none;
}

.category_bottom_base .ranking li .icon span img {
  width: calc(100% / 3 - 2px);
}

.category_bottom_base .ranking div.price-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.category_bottom_base .ranking .sale {
  color: #E50012;
}

.category_bottom_base .ranking .m_price {
  font-family: Lato, "Noto Sans JP", sans-serif, "メイリオ";
  font-size: 1.3em;
  font-weight: 700;
}

.category_bottom_base .ranking span.m_price_grid {
  background: #383838;
  color: #fff;
  padding: 0 6px;
  font-size: 0.7em;
  display: table-cell;
}

.category_bottom_base .ranking .sale span.m_price_grid {
  background: #E50012;
  display: inline-flex;
  align-items: center;
}

.category_bottom_base .ranking .price_comment {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.category_bottom_base .ranking .teiki_price {
  color: #D5570B;
  border: 1px solid #D5570B;
}

.category_bottom_base .ranking .price_comment * {
  line-height: 1;
  font-size: 80%;
  padding: 2px 3px;
}

.category_bottom_base .p_name {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.category_bottom_base .btn-black {
  margin: 0 auto;
  display: none;
}

.category_bottom_base .btn-red {
  background-color: #e50012;
  border: 1px solid #e50012;
  border-radius: 5px;
  width: 100%;
  text-align: center;
}

.category_bottom_base .btn-red a {
  padding: 12px 0;
  color: #fff;
  font-size: 16px;
  display: block;
}

.category_bottom_base .btn-red a:hover {
  background-color: #fff;
  border: 1px solid #e50012;
  color: #e50012 !important;
}

.star_rating {
  position: relative;
  z-index: 0;
  display: inline-block;
  white-space: nowrap;
  color: #ccc;
}

.com_ranking li dd.itemcg_star .star_rating {
  font-size: 1em;
}

.star_rating:after,
.star_rating:before {
  content: "★★★★★";
}

.action-wish:after {
  font-family: "Material Icons";
  content: "favorite";
  opacity: 0;
  transform: scale(.5, .5);
  transform-origin: center center;
  color: #e50012 !important;
}

/* item 価格下アイコン */
.category_bottom_base .ranking .price-icons {
  padding-bottom: 2px;
}

.category_bottom_base .ranking .price-icons .m_price_grid {
  width: calc(100% / 3 - 4px);
  text-align: center;
  font-size: 10px;
}

.category_bottom_base .ranking .price-icons .sale {
  background-color: #e50012;
  color: #fff;
}

.category_bottom_base .ranking .price-icons .medama {
  background-color: #f1da3e;
  color: #bd1e18;
}

.category_bottom_base .ranking .price-icons .coupon_i {
  background-color: #1051c9;
  color: #fff;
}

.category_bottom_base .ranking .price-icons .pointup {
  background-color: #a6a40e;
  color: #fff;
}

.category_bottom_base .ranking .price-icons .outlet {
  background-color: #e50012;
  color: #fff;
}

/*カテゴリ内アンカー*/
.category_bottom_base .anchor {
  width: 100%;
  margin: 10px auto;
  text-align: center;
  background-color: #222;
  border-radius: 5px;
  position: relative;
}

.category_bottom_base .anchor a {
  color: #fff;
  padding: 15px 0;
  display: block;
}

.category_bottom_base .anchor::after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 35%;
  right: 5%;
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  transform: rotate(45deg);
  transition: 0.2s;
}

/*----------------------------
クーポンボタン
----------------------------*/
.category_bottom_base .coupon_btn {
  text-align: center;
  background-color: rgb(214, 47, 47);
  /* border: solid 2px rgb(214, 47, 47); */
  border-radius: 5px;
  margin: 7px auto;
}

.category_bottom_base .coupon_btn a {
  color: #fff;
  padding: 7px 0;
  display: block;
  font-size: 18px;
}

/* .category_bottom_base .coupon_text {
  font-size: 22px;
  color: rgb(214, 47, 47);
  text-align: center;
} */


/*----------------------------
クーポンランキングスライダー＆レビューランキングスライダー
----------------------------*/
#coupon_ranking_slider,
#review_ranking_slider {
  padding-bottom: 30px;
}

.ranking_slider .kaden h3 {
  border-left: solid 5px #2153b6;
  padding-left: 7px;
  margin-right: 5% !important;
}

.ranking_slider .food h3 {
  border-left: solid 5px #bd1e18;
  padding-left: 7px;
  margin-right: 5% !important;
}

.ranking_slider .daily h3 {
  border-left: solid 5px #3eb826;
  padding-left: 7px;
  margin-right: 5% !important;
}

.ranking_slider .kitchen h3 {
  border-left: solid 5px #c43902;
  padding-left: 7px;
  margin-right: 5% !important;
}

.ranking_slider .home h3 {
  border-left: solid 5px #d9a104;
  padding-left: 7px;
  margin-right: 5% !important;
}

.ranking_slider .outdoor h3 {
  border-left: solid 5px #174213;
  padding-left: 7px;
  margin-right: 5% !important;
}

.ranking_slider .interior h3 {
  border-left: solid 5px #9a8266;
  padding-left: 7px;
  margin-right: 5% !important;
}

/*スライダーボタン*/
#coupon_ranking_slider .swiper-button-next,
.swiper-container-rtl .swiper-button-prev,
#review_ranking_slider .swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-color: rgb(255, 255, 255, .5);
  border: 2px solid #333333;
  border-radius: 50%;
  height: 50px;
  width: 50px;
  top: 25%;
}

#coupon_ranking_slider .swiper-button-prev,
.swiper-container-rtl .swiper-button-next,
#review_ranking_slider .swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-color: rgb(255, 255, 255, .5);
  border: 2px solid #333333;
  border-radius: 50%;
  height: 50px;
  width: 50px;
  top: 25%;
}

/*商品ボタン*/
#coupon_ranking_slider .name,
#review_ranking_slider .name {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  line-height: 18px;
  margin: 7px 0;
  height: 40px;
}

#coupon_ranking_slider .point,
#review_ranking_slider .point {
  color: #fff;
  background-color: #eb0007;
  width: auto;
  line-height: 24px;
  font-size: 16px;
  padding: 5px 0;
}

#coupon_ranking_slider .sale_price,
#review_ranking_slider .sale_price {
  color: #eb0007;
  font-size: 25px;
  line-height: 24px;
  padding: 4px 0;
  font-weight: bold;
}

#coupon_ranking_slider .sale_price span,
#review_ranking_slider .sale_price span {
  font-size: 18px;
  padding: 0 2% 0 0;
}

#review_ranking_slider .line {
  border-bottom: dashed 2px #333;
  width: 80%;
  margin: 5px auto;
}