@charset "UTF-8";

/* BO調整 */
.block-genre-page-head {
  margin: 0;
  padding: 0;
}

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

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

/* ---------------------- */
.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;
  background: #F4F4EB;
}

.contents h2 {
  margin: 0 0 20px;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: #217274;
}

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

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

.contents a:hover {
  cursor: pointer;
}

.en {
  font-family: "Roboto", sans-serif;
}

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

.sec_block {
  padding: 40px 24px;
}

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

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

.sec_inner {
  padding: 0 0 40px;
}


.bottom_area {
  padding: 0 24px;
}

.bottom_area .sec_block {
  padding: 40px 24px;
}

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

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

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

.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 #90b8b9;
  border-right: 2px solid #90b8b9;
  transform: rotate(45deg);
  position: absolute;
  bottom: -8px;
  left: 50%;
  margin-left: -3px;
}

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

.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: #F4F4EB;
  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 #217274;
  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: 80%;
}

/* カテゴリで選ぶ */
.category-section {
  padding-top: 10px !important;
  background: #F4F4EB;
}

.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;
}

/* リンクボタン */
.contents .cmn-link-btn {
  width: 100%;
  display: block;
  margin: 0 auto;
  padding: 14px 8px 13px 0;
  font-size: 16px;
  position: relative;
  text-align: center;
  font-weight: 500;
  text-decoration: none;
  color: #FFF;
  border-radius: 60px;
}

.bg-or {
  background: #F27544;
}

.bg-gr {
  background: #217274;
}

.contents .bg-or::after,
.contents .bg-gr::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-or::after {
  background-image: url('/img/usr/genre/rX2/arrow_or.svg');
}

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


/* PC表示 -----------------------------------*/
@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: 30px;
  }

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

  .sec_block {
    padding: 60px 30px;
  }

  .bottom_area {
    padding: 0 30px;
  }

  .bottom_area .sec_block {
    padding: 60px 30px;
  }

  .top_area {
    padding: 30px 24px 0;
    position: relative;
    z-index: 2;
    top: -40px;
    border-radius: 40px 40px 0 0;
  }

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

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

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

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

  /* アンカーリンク */
  .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;
  }

  /* 使い方 */
  .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-top: 20px !important;
    background: #F4F4EB;
  }

  .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 .cmn-link-btn {
    width: 40%;
  }

  .contents .bg-or::after,
  .contents .bg-gr::after {
    right: 24px;
  }

}