@charset "UTF-8";

.pc {
  display: none !important;
}

.sp {
  display: block !important;
}

.contents *:focus {
  outline: none;
}

.contents img {
  display: block;
  max-width: 100%;
  /* height: auto; */
  margin: 0 auto;
}

.contents ul,
.contents li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.contents p {
  margin: 0;
  padding: 0;
}

.contents {
  width: 100%;
  margin: 0 auto;
  color: #333;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* overflow: hidden; */
}

.contents h1.block-genre-page--header,
.contents h2 {
  margin: 0 0 20px;
  text-align: center;
  font-weight: 700;
  line-height: 1.3;
}

.contents h1.block-genre-page--header {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 20px;
}

.contents h2 {
  color: #f45455;
  font-size: 25px;
}

.contents h3 {
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #f45455;
}

.contents a {
  color: #333;
  text-decoration: none;
}

.contents a:hover {
  cursor: pointer;
}

.ttl_2lines span {
  display: block;
  font-size: 16px;
  line-height: 1.1;
}

.sec_block {
  padding: 40px 20px;
}

.top_area {
  /* padding: 30px 0 0;
  position: relative;
  z-index: 2; */
  /* top: -30px; */
  height: 30px;
  border-radius: 30px 30px 0 0;
  background: #fff;
}

.top_line {
  border-top: solid 3px #f45455;
}

.sec_inner {
  padding: 0 0 40px;
}

.contents-inner {
  margin: 0 20px;
}

/* メインビジュアル */
.mv_area {
  margin: 0 auto;
  /* padding-bottom: 30px; */
  text-align: center;
  background: #FEDBD7;
  background: linear-gradient(90deg, rgba(254, 219, 215, 1) 0%, rgba(254, 225, 222, 1) 15%, rgba(254, 229, 226, 1) 50%, rgba(254, 225, 222, 1) 85%, rgba(254, 220, 216, 1) 98%, rgba(254, 219, 215, 1) 99%);
}

/* リード文 */
.read-section {
  margin: 12px 20px 36px;
}

.contents .read-section .ttl_read {
  font-size: 20px;
}

.contents .read-section .ttl_read span {
  font-size: 15px;
  color: #333;
}

/* アンカーリンク */
.anchor-section {
  margin: 0 auto 16px;
}

.anchor-section ul {
  display: flex;
  justify-content: center;
}

.anchor-section li {
  list-style: none;
  flex-grow: 1;
}

.anchor-section a {
  display: block;
  padding: 8px 0 4px;
  font-size: 16px;
  font-weight: 600;
  position: relative;
  bottom: 10px;
}

.anchor-section li:nth-last-child(n + 2) {
  border-right: solid 1px #E0E0E0;
  box-sizing: border-box;
  bottom: 10px;
}

.anchor-section a::after {
  content: " ";
  display: block;
  width: 6px;
  height: 6px;
  border-bottom: 2px solid #e59090;
  border-right: 2px solid #e59090;
  transform: rotate(45deg);
  position: absolute;
  bottom: -8px;
  left: 50%;
  margin-left: -3px;
}

/* こんな時におすすめ */
.rec_wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contents .rec-section>h2 {
  margin-bottom: 5px;
}

.rec-section .rec_wrap {
  position: relative;
}

.rec-section .img_wrap {
  position: relative;
  bottom: -16px;
}

.rec-section img {
  width: 70%;
}

.rec-section .txt_wrap {
  padding: 25px 10px;
  background: #fcf2f1;
  border-radius: 8px;
}

.rec-section .txt_wrap h3 {
  margin: 0 0 8px;
}

/* 使い方 */
.howto_wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.howto_wrapper .txt_wrap {
  padding: 10px 10px 20px;
  border: solid 2px #f2c2c2;
  border-radius: 8px;
}

.howto_wrapper .txt_wrap h3 {
  font-size: 28px;
  margin: 0 auto 2px;
}

/* 対象商品 */
.target-section .img_sec02_icon {
  margin: 8px auto 20px;
}

.target-section .img_sec02 {
  width: 75%;
}

/* カテゴリで選ぶ */
.category-section {
  margin: 0;
  padding: 40px 20px 20px;
  background: #fcf2f1;
}

.txt-link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}

.txt-link li {
  position: relative;
  top: 0;
}

.txt-link li::after {
  content: '';
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  border-right: 2px solid #E0E0E0;
  border-bottom: 2px solid #E0E0E0;
  transform: rotate(-45deg);
}

.txt-link a {
  display: flex;
  justify-content: center;
  align-items: baseline;
  padding: 10px 7px 11px 0;
  font-size: 13px;
  background-color: #FFF;
  border: solid 1px #E0E0E0;
  border-radius: 4px;
  box-sizing: border-box;
}

/* 商品一覧イベント用 */
.goods-block {
  margin-bottom: 60px;
}

.contents .title_wrap {
  margin: 40px auto 0;
  padding: 0 10px;
  text-align: center;
  background: #fff;
  position: relative;
}

.contents .title_wrap:first-child {
  margin-top: 25px;
}

.contents .title_wrap h2 {
  margin-bottom: 0;
}

.contents .title_wrap::after {
  display: block;
  content: "";
  width: 80px;
  height: 3px;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  background: #f45455;
  position: absolute;
}

.contents .title_wrap span {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #333;
}

/* リンクボタン */
.contents .more-link-btn-block {
  padding: 0 44px;
}

.contents .cmn-link-btn,
.contents .more-link-btn {
  width: 100%;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0 0 1px;
  font-size: 16px;
  position: relative;
  text-align: center;
  font-weight: 500;
  text-decoration: none;
  color: #FFF;
  border-radius: 60px;
}

.contents .cmn-link-btn span,
.contents .more-link-btn span {
  margin-right: 12px;
}

.bg-bl {
  background: #56989a;
}

.bg-re,
.contents .more-link-btn {
  background: #56989a;
}

/* ボタンの矢印 */
.contents .bg-bl::after,
.contents .bg-re::after,
.contents .more-link-btn::after {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.bg-bl::after {
  background-image: url('/img/usr/genre/rX2/arrow_down.svg');
}

.contents .more-link-btn::after,
.bg-re::after {
  background-image: url('/img/usr/genre/rX2/arrow_right.svg');
}

/* =================================================
PC用　画面幅780px以上
==================================================== */
@media only screen and (min-width: 780px) {
  .pc {
    display: block !important;
  }

  .sp {
    display: none !important;
  }

  .contents {
    width: 900px;
    font-size: 15px;
  }

  .contents h2 {
    margin: 0 0 30px;
    font-size: 32px;
  }

  .contents h3 {
    font-size: 20px;
  }

  .sec_block {
    padding: 60px 30px;
  }

  /* .bottom_area {
    padding: 0 30px 30px;
  } */

  .top_area {
    height: 40px;
    /* padding: 40px 0 0;
    position: relative;
    z-index: 2;
    top: -40px; */
    border-radius: 40px 40px 0 0;
  }

  /* メインビジュアル */
  .mv_area {
    margin: 0 auto;
    text-align: center;
    /* padding-bottom: 40px; */
  }

  /* リード文 */
  .read-section {
    margin: 20px auto 55px;
  }

  /* .contents .read-section .ttl_read {
    font-size: 24px;
    margin-bottom: 8px;
  } */

  .contents .read-section .ttl_read span {
    font-size: 17px;
  }

  /* アンカーリンク */
  .anchor-section {
    margin: 0 auto 24px;
    width: 70%;
  }

  .anchor-section a {
    display: block;
    padding: 10px 0 4px;
    font-size: 18px;
    position: relative;
  }

  /* こんな時におすすめ */
  .rec_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .rec-section .txt_wrap {
    padding: 35px 10px;
  }

  .rec-section .img_wrap {
    bottom: -20px;
  }

  /* 使い方 */
  .howto_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
  }

  /* 対象商品 */
  .target-section .img_sec02_icon {
    margin: 8px auto 20px;
  }

  .target-section .img_sec02 {
    width: 40%;
  }

  /* カテゴリで選ぶ */
  .category-section {
    padding: 40px 30px 10px;
    background: #fcf2f1;
  }

  .txt-link {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 4px;
  }

  .txt-link li {
    position: relative;
    top: 0;
  }

  .txt-link a {
    font-size: 15px;
  }

  /* リンクボタン */
  .contents .more-link-btn-block {
    padding: 0 60px;
  }

  .contents .cmn-link-btn,
  .contents .more-link-btn {
    width: 40%;
  }

  .contents .bg-or::after,
  .contents .bg-gr::after,
  .contents .more-link-btn::after {
    right: 20px;
  }

  /* 商品一覧イベント用 */
  .goods-block {
    margin-bottom: 75px;
  }

  .contents .title_wrap {
    margin: 45px auto 10px;
  }

  .contents .title_wrap span {
    font-size: 16px;
  }
}

/* =================================================
ジャンルページデフォルト設定の調整 
==================================================== */
.block-genre-page-head {
  margin: 0;
  padding: 0;
}

.block-genre-page--sub {
  margin: 0;
  display: none;
}

.block-top-event--goods {
  padding-bottom: 0 !important;
}

/* 商品一覧 -------------- */
.contents .block-thumbnail-t--goods-name {
  margin-bottom: 8px;
}

.contents .block-thumbnail-t--point,
.contents .block-pickup-list-p--point {
  color: #f45455;
}

.contents .btn-primary {
  background: #f45455;
}

/* SP */
.contents .block-top-event--goods:has(*:not(script)) {
  padding-top: 25px;
}

.contents .block-pickup-list-p--item {
  margin: 0 10px 5px 0;
}

.contents .block-pickup-list-p--goods-description {
  text-align: left;
}

.contents div#goods_list_auto_load_area::-webkit-scrollbar {
  display: none;
}

.block-genre-page--event .block-top-event--goods .block-pickup-list-p {
  margin-bottom: 15px;
}

/* PC */
.contents .block-thumbnail-t {
  margin-bottom: 35px;
  text-align: left;
}

.contents .block-thumbnail-t--goods {
  width: 210px;
  margin: 0 20px 30px 0;
}

.contents .block-thumbnail-t--goods:nth-last-child(-n+4) {
  margin-bottom: 0;
}

.contents .block-thumbnail-t--goods:nth-child(4n) {
  margin-right: 0;
}