/* カテゴリベース */
.category_base {
  margin: 0 auto 50px;
  width: 900px;
}

.category_base h3 {
  margin: 10px 0;
  padding-left: 7px;
}

.category_base img {
  width: 100%;
  height: auto;
  display: block;
}

.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;
}

/* 20260202 M.YAMAZAKI 【ボタンスクロール】ADD STR */
.category_btn_scroll {
  display: flex;
  overflow-x: auto;
  gap: 15px;
  padding-bottom: 15px;
  margin-bottom: 20px;
}
.category_btn_scroll li {
  flex: 0 0 auto;
  width: 200px;
}
/* 20260202 M.YAMAZAKI 【ボタンスクロール】ADD END */

/* 20260115 M.YAMAZAKI 【ボタンの文字サイズ指定】ADD STR */
.categry-imgbtn_base_text {
  font-size: 14px;
  text-align: center;
  color: #222;
}
/* 20260115 M.YAMAZAKI 【ボタンの文字サイズ指定】ADD END */

/* バナーカラム指定 */
.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;
}

/* 20260115 M.YAMAZAKI 【カルーセル追加】ADD STR */
/* カルーセル */
.bn_col_carousel {
  display: flex;
  overflow-x: auto;
  gap: 15px;
  padding-bottom: 15px;
  margin-bottom: 20px;
}

.bn_col_carousel li {
  flex: 0 0 auto;
  width: 270px;
}

.bn_col_carousel_contents {
  display: flex;
  overflow-x: auto;
  gap: 15px;
  padding-bottom: 15px;
  margin-bottom: 20px;
}

.bn_col_carousel_contents li {
  flex: 0 0 auto;
  width: 800px;
}
/* 20260115 M.YAMAZAKI 【カルーセル追加】ADD END */

/*カテゴリボタン*/
.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;
  color: #222;
  border-radius: 5px;
  padding: 7px 1px;
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 37px;
  position: relative;
}

/* 20260115 M.YAMAZAKI 【矢印追加】ADD STR */
ul[class^="btn_col_"]>li a::after {
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    top: 43%;
    right: 7%;
    border-top: solid 2px #222222;
    border-right: solid 2px #222222;
    transform: rotate(45deg);
    transition: 0.2s;
  }
/* 20260115 M.YAMAZAKI 【矢印追加】ADD END */


/*アイコン*/
#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_base .review {
  width: 100%;
}

.category_base .review ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.category_base .review ul li {
  border: solid 1px #e9e9e9;
  padding: 3%;
}

.category_base .review ul .name {
  font-size: 18px;
}

.category_base .review ul .star {
  color: #e5c000;
  font-size: 18px;
  margin-right: 3%;
}

.category_base .review ul .text {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.category_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_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_base .review li:hover .btn::after {
  right: 5%;
  transition: 0.2s;
}

.category_base .review li dd.btn a {
  font-size: 15px;
  color: #bd1e18;
  display: block;
}

/*------------------------------------------
リニューアル
------------------------------------------*/
.category_base .flex {
  display: flex;
  align-items: center;
}

/* 20260115 M.YAMAZAKI 【h2見出し統一】ADD STR */
.category_base h2.category_title_base2 {
  font-size: 25px;
  padding-left: 20px;
  border-bottom: 3px dashed #000;
  position: relative;
  font-weight: 600;
  padding-bottom: 6px;
  margin-bottom: 1%;
  margin-top: 3%;
}
.category_base h2.category_title_base2::before {
  content: "";
  position: absolute;
  top: 40%;
  left: 2%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background-color: #fffdc2;
  border-radius: 50%;
  z-index: -1;
}
.category_base h2.category_title_base2-btn {
  font-size: 25px;
  font-weight: 600;
}
.category_base h2.category_title_base2-btn::before {
  content: "";
  position: absolute;
  top: 40%;
  left: 2%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background-color: #fffdc2;
  border-radius: 50%;
  z-index: -1;
}
.category_base .category_title_base_flex {
  display: flex;
  border-bottom: 3px dashed #000;
  margin-bottom: 1%;
  align-items: center;
  padding-left: 20px;
  position: relative;
  padding-bottom: 6px;
  gap: 10px;
  margin-top: 3%;
}
.category_base .category_title_base_more a {
  font-size: 16px;
  color: #1076c9;
  position: relative;
}

.category_base .category_title_base_more a:hover {
  color: #1076c9!important;
  opacity: .7;
}
.category_base .category_title_base_more a::after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 30%;
  right: -16%;
  border-top: solid 2px #1076c9;
  border-right: solid 2px #1076c9;
  transform: rotate(45deg);
}

/* 20260115 M.YAMAZAKI 【h2見出し統一】ADD END */

/* 20260115 M.YAMAZAKI 【h3見出し統一】MOD STR */
/* .category_base .kaden h3 {
  border-left: solid 5px #2153b6;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_base .food h3 {
  border-left: solid 5px #bd1e18;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_base .daily h3 {
  border-left: solid 5px #3eb826;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_base .kitchen h3 {
  border-left: solid 5px #c43902;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_base .pet h3 {
  border-left: solid 5px #e79702;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_base .home h3 {
  border-left: solid 5px #d9a104;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_base .outdoor h3 {
  border-left: solid 5px #174213;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_base .interior h3,
.category_base .interior h2,
.category_base .interior h4 {
  border-left: solid 5px #9a8266;
  padding-left: 7px;
  margin-right: 5% !important;
}

.category_base .interior h4 {
  font-size: 20px;
  letter-spacing: .06em;
  line-height: 1.5em;
  margin: 10px 0;
  color: #222;
} */

/* .category_base .kitchen a,
.category_base .home a,
.category_base .outdoor a,
.category_base .interior a {
  display: block;
} */

/* .category_base .kitchen section.m10,
.category_base .home section.m10,
.category_base .outdoor section.m10,
.category_base .interior section.m10 {
  margin: 2rem 0;
} */

.category_base h3.category_title_base3,
.category_base .kaden h3,
.category_base .food h3,
.category_base .daily h3,
.category_base .kitchen h3,
.category_base .pet h3,
.category_base .home h3,
.category_base .outdoor h3
{
  border-left: solid 5px #222222;
  padding-left: 7px;
  margin-right: 5% !important;
}


/* 20260115 M.YAMAZAKI 【h3見出し統一】MOD END */

/* 20260128 M.YAMAZAKI 【ホーム見出し追加】ADD STR */
.category_title_home_base {
  background-color: #222;
  color: #fff;
  padding: 5px 10px;
  font-size: 20px;
  margin-bottom: 1%;
  margin-top: 3%;
}
/* 20260128 M.YAMAZAKI 【ホーム見出し追加】ADD END */

.category_base .more {
  font-size: 16px;
  color: #1076c9;
  position: relative;
}

.category_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);
}

/*---------ランキング---------*/
/* 20260127 M.YAMAZAKI 【余白削除】ADD STR */
.category_base .--category-ranking .item-list-parent {
  padding: 34px 0 0;
}
.category_base .ranking .item-list-datail dt img {
  min-height: auto;
}
/* 20260127 M.YAMAZAKI 【余白削除】ADD END */


/* 20260210 M.YAMAZAKI 【複数用】ADD STR */
.category_base .ranking_multi {
    display: flex;
    gap: 25px;
    overflow: auto;
}
.category_base .ranking_multi .ranking_item {
  flex: 0 0 auto;
  width: 580px;
  margin-right: 65px;
}
.category_base .ranking_multi .ranking_item:last-child {
  margin-right: 0;
}
.category_base .ranking_multi .--category-ranking .item-list-parent {
  padding: 0 0 0;
}
/* 20260210 M.YAMAZAKI 【複数用】ADD END */

.category_base div.ranking {
  margin-bottom: 20px;
}

.--category-ranking .item-list-datail dd p,
.item-list-datail dd.itemcg_star .rv_kensu {
  color: #222;
}
.category_base .ranking .p_wish,
.category_base .ranking .price_comment,
.category_base .ranking .btn-black,
.category_base .ranking .price-icons {
  display: none !important;
}

.category_base .pickup-item-slider {
  overflow-x: auto;
  width: 100%;
  padding-bottom: 5px;
}

.category_base .ranking ul {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 15px;
  width: 180%;
  padding-top: 30px;
}

.category_base .ranking ul li {
  margin: 0 5px;
  position: relative;
}

.category_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_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_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_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_base .ranking ul li:nth-child(4)::after {
  content: "4";
}

.category_base .ranking ul li:nth-child(5)::after {
  content: "5";
}

.category_base .ranking ul li:nth-child(6)::after {
  content: "6";
}

.category_base .ranking ul li:nth-child(7)::after {
  content: "7";
}

.category_base .ranking ul li:nth-child(8)::after {
  content: "8";
}

.category_base .ranking ul li:last-child {
  margin: 0;
}

.category_base .ranking li dd.p_wish {
  margin: 2px 0;
  height: 25px;
  letter-spacing: 0;
}

.category_base .ranking li dd .wish {
  float: right;
  position: relative;
  right: 5px;
  top: 0;
  cursor: pointer;
  width: 24px;
  height: 24px;
}

.category_base .ranking li .icon .p_icon {
  display: none;
}

.category_base .ranking li .icon span img {
  width: calc(100% / 3 - 2px);
}

.category_base .ranking div.price-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.category_base .ranking .sale {
  color: #E50012;
}

.category_base .ranking .m_price {
  font-family: Lato, "Noto Sans JP", sans-serif, "メイリオ";
  font-size: 1.3em;
  font-weight: 700;
}

.category_base .ranking span.m_price_grid {
  background: #383838;
  color: #fff;
  padding: 0 6px;
  font-size: 0.7em;
  display: table-cell;
}

.category_base .ranking .sale span.m_price_grid {
  background: #E50012;
  display: inline-flex;
  align-items: center;
}

.category_base .ranking .price_comment {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.category_base .ranking .teiki_price {
  color: #D5570B;
  border: 1px solid #D5570B;
}

.category_base .ranking .price_comment * {
  line-height: 1;
  font-size: 80%;
  padding: 2px 3px;
}

.category_base .p_name {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #222;
}
.category_base .p_name a {
  color: #222;
}
.category_base .btn-black {
  margin: 0 auto;
  display: none;
}

.category_base .btn-red {
  background-color: #e50012;
  border: 1px solid #e50012;
  border-radius: 5px;
  width: 100%;
  text-align: center;
}

.category_base .btn-red a {
  padding: 12px 0;
  color: #fff;
  font-size: 16px;
  display: block;
}

.category_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_base .ranking .price-icons {
  padding-bottom: 2px;
}

.category_base .ranking .price-icons .m_price_grid {
  width: calc(100% / 3 - 4px);
  text-align: center;
  font-size: 10px;
}

.category_base .ranking .price-icons .sale {
  background-color: #e50012;
  color: #fff;
}

.category_base .ranking .price-icons .medama {
  background-color: #f1da3e;
  color: #bd1e18;
}

.category_base .ranking .price-icons .coupon_i {
  background-color: #1051c9;
  color: #fff;
}

.category_base .ranking .price-icons .pointup {
  background-color: #a6a40e;
  color: #fff;
}

.category_base .ranking .price-icons .outlet {
  background-color: #e50012;
  color: #fff;
}

/*カテゴリ内アンカー*/
.category_base .anchor {
  width: 100%;
  margin: 10px auto;
  text-align: center;
  background-color: #222;
  border-radius: 5px;
  position: relative;
}

.category_base .anchor a {
  color: #fff;
  padding: 15px 0;
  display: block;
}

.category_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_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_base .coupon_btn a {
  color: #fff;
  padding: 7px 0;
  display: block;
  font-size: 18px;
}

/* .category_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;
}


/* 20260212 M.YAMAZAKI 【クーポン獲得ボタン】ADD STR */
.action-cpget {
  width: 100%;
  box-sizing: border-box;
  padding: .5em 0;
  display: inline-block;
  border-radius: 5px;
  align-items: center;
  background-color: #1051c9;
  color: #fff;
  border: 1px solid #1051c9;
}
.action-cpget {
  width: 100%;
  box-sizing: border-box;
  padding: .5em 0;
  display: inline-block;
  border-radius: 5px;
  align-items: center;
  background-color: #1051c9;
  color: #fff;
  border: 1px solid #1051c9;
}
.category_cpn_btn a {
  width: 100%;
  box-sizing: border-box;
  padding: .5em 0;
  display: inline-block;
  border-radius: 5px;
  align-items: center;
  background-color: #1051c9;
  color: #fff;
  border: 1px solid #1051c9;
  text-align: center;
  position: relative;
}
.category_cpn_btn a:hover {
  background-color: #fff;
  color: #1051c9!important;
  border: 1px solid #1051c9;
}
.category_cpn_btn a::after {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  top: 41%;
  right: 3%;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  transition: 0.2s;
}
.category_cpn_btn a:hover::after {
  border-top: solid 2px #1051c9;
  border-right: solid 2px #1051c9;
}
/* 20260212 M.YAMAZAKI 【クーポン獲得ボタン】ADD END */