@charset "UTF-8";
/* ==========================================================================
   Mixins
   ========================================================================== */
/* ==========================================================================
   Common
   ========================================================================== */
:root {
  --base: 1280;
  --vw: calc(100vw / var(--base));
  --refa-font-mincho: "Shippori Mincho", serif;
  --refa-font-lusitana: "Lusitana", serif;
  --refa-font-zenkaku: "Zen Kaku Gothic New", sans-serif;
  --rv-imgHoverExpand-scale: 1.05;
  --rv-transition: "1s";
}
@media screen and (max-width: 767px) {
  :root {
    --base: 390;
    --vw: calc(100vw / var(--base));
  }
}

body {
  overflow: hidden;
  font-family: var(--refa-font-zenkaku);
  color: var(--rv-gold2);
}

.rv-footer {
  margin-top: 0;
}

.page-furusato {
  background: var(--rv-bg-main);
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .page-furusato {
    width: 100%;
    padding-bottom: 140px;
  }
}
.page-furusato a {
  text-decoration: none;
}
.page-furusato a img,
.page-furusato a:hover {
  transition: 1s;
}

.pc-only {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.common-button {
  display: block;
  font-family: var(--refa-font-zenkaku);
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 14px calc(20 * var(--vw));
  color: #fff;
  border-radius: 9999px;
  background: var(--rv-gold);
  text-decoration: none;
  text-align: center;
  width: 100%;
  border: 1px solid var(--rv-gold);
}
.common-button:hover {
  background: transparent;
  color: var(--rv-gold2);
}

/* ==========================================================================
   Header
   ========================================================================== */
.page-furusato-header {
  padding: 80px calc(80 * var(--vw)) 48px;
}
@media screen and (max-width: 767px) {
  .page-furusato-header {
    padding: 48px 28px;
  }
}

.page-furusato-header-title {
  font-family: var(--refa-font-mincho);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin: 0 0 16px;
  color: #000;
}
@media screen and (max-width: 767px) {
  .page-furusato-header-title {
    font-size: 24px;
  }
}

.page-furusato-header-date {
  font-family: "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.05em;
  margin: 0 0 12px;
  color: #000;
}

/* ==========================================================================
   Main Visual
   ========================================================================== */
.page-furusato-mv {
  padding: 0 calc(80 * var(--vw)) 100px;
}
@media screen and (max-width: 767px) {
  .page-furusato-mv {
    padding: 0 0 80px;
  }
}
.page-furusato-mv img {
  width: 100%;
}

/* ==========================================================================
   ReFa VITALWEARの返礼品
   ========================================================================== */
.page-furusato-items {
  padding: 0 calc(80 * var(--vw)) 120px;
}
@media screen and (max-width: 767px) {
  .page-furusato-items {
    padding: 0 0 100px 0;
  }
}

.page-furusato-items-header {
  margin: 0 0 80px;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-header {
    margin: 0 0 60px;
    padding: 0 28px;
  }
}
.page-furusato-items-header.links {
  margin: 0 0 48px;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-header.links {
    margin: 0 0 24px;
  }
}

.page-furusato-items-header-title {
  font-family: var(--refa-font-mincho);
  font-size: 26px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin: 0 0 24px;
  color: #000;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-header-title {
    font-size: 22px;
  }
}

.page-furusato-items-header-description {
  font-family: var(--refa-font-zenkaku);
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: var(--rv-black);
}
@media screen and (max-width: 767px) {
  .page-furusato-items-header-description {
    font-size: 14px;
  }
}

.page-furusato-items-box-wrapper {
  display: flex;
  flex-wrap: wrap;
  row-gap: 92px;
  margin: 0 0 120px;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-box-wrapper {
    row-gap: 72px;
  }
}

.page-furusato-items-box {
  width: calc(50% - 20 * var(--vw));
  margin-right: calc(40 * var(--vw));
}
@media screen and (max-width: 767px) {
  .page-furusato-items-box {
    width: 100%;
    margin-right: 0;
  }
}

.page-furusato-items-box:nth-child(2n) {
  margin-right: 0;
}

.page-furusato-items-box-header {
  display: flex;
  justify-content: space-between;
  align-items: anchor-center;
  margin: 0 0 24px;
  min-height: 32px;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-box-header {
    padding: 0 28px;
  }
}

.page-furusato-items-box-header-title {
  font-size: 26px;
  font-family: var(--rv-font-lusitana);
  line-height: 1;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-box-header-title {
    font-size: 24px;
  }
}

.page-furusato-items-box-header-links-link {
  font-family: var(--refa-font-zenkaku);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--rv-gold2);
  display: flex;
  align-items: center;
  justify-content: end;
}
.page-furusato-items-box-header-links-link:not(:last-of-type) {
  margin-bottom: 4px;
}
.page-furusato-items-box-header-links-link::after {
  content: "";
  display: inline-block;
  width: calc(14 * var(--vw));
  height: 14px;
  background: url(../img/pc/ic-arrow-right.png) no-repeat center/contain;
  margin: 0 0 0 calc(8 * var(--vw));
}

.page-furusato-items-box-body-inner {
  display: flex;
  gap: calc(4 * var(--vw));
}
@media screen and (max-width: 767px) {
  .page-furusato-items-box-body-inner {
    gap: 0;
  }
}

.page-furusato-items-box-body-inner-item {
  width: 50%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-box-body-inner-item {
    margin: 0 calc(2 * var(--vw)) 0 0;
  }
  .page-furusato-items-box-body-inner-item:nth-child(2n) {
    margin: 0 0 0 calc(2 * var(--vw));
  }
}

.page-furusato-items-box-body-inner-item-img {
  margin: 0 0 16px;
  overflow: hidden;
  transition: var(--rv-transition);
}
.page-furusato-items-box-body-inner-item-img img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 194/257;
  transition: var(--rv-transition);
}
.page-furusato-items-box-body-inner-item-img img:hover {
  opacity: 1;
  scale: var(--rv-imgHoverExpand-scale);
}
.page-furusato-items-box-body-inner-item-img a:hover {
  opacity: 1;
}

.page-furusato-items-box-body-inner-item-contents {
  padding: 0 20px;
}

.page-furusato-items-box-body-inner-item-colors:has(span) {
  display: flex;
  align-items: center;
  gap: min(14 * var(--vw), 14px);
  margin: 0 0 12px;
}
.page-furusato-items-box-body-inner-item-colors span {
  flex: 0 0 auto;
  width: min(30 * var(--vw), 30px);
  height: min(10 * var(--vw), 10px);
  border: 1px solid #e9e9e9;
}
.page-furusato-items-box-body-inner-item-colors span.color-B40 {
  background-color: #253f70;
}
.page-furusato-items-box-body-inner-item-colors span.color-V30 {
  background-color: #e5d7c4;
}
.page-furusato-items-box-body-inner-item-colors span.color-V30-2 {
  background-color: #ebded8;
}
.page-furusato-items-box-body-inner-item-colors span.color-P70 {
  background-color: #df8d92;
}
.page-furusato-items-box-body-inner-item-colors span.color-G40 {
  background-color: #b8c4b9;
}
.page-furusato-items-box-body-inner-item-colors span.color-K30 {
  background-color: #7a8191;
}
.page-furusato-items-box-body-inner-item-colors span.color-K90 {
  background-color: #000000;
}
.page-furusato-items-box-body-inner-item-colors span.color-P20 {
  background-color: #f2dbd7;
}
.page-furusato-items-box-body-inner-item-colors span.color-P60 {
  background-color: #c8adae;
}
.page-furusato-items-box-body-inner-item-colors span.color-W70 {
  background-color: #ffffff;
}
.page-furusato-items-box-body-inner-item-colors span.color-W70S {
  display: flex;
}
.page-furusato-items-box-body-inner-item-colors span.color-W70S::before {
  content: "";
  background-color: #fff;
  width: 50%;
}
.page-furusato-items-box-body-inner-item-colors span.color-W70S::after {
  content: "";
  background: linear-gradient(113.96deg, #999999 0%, #cccccc 50%, #999999 100%);
  width: 50%;
}
.page-furusato-items-box-body-inner-item-colors span.color-W70K90 {
  display: flex;
}
.page-furusato-items-box-body-inner-item-colors span.color-W70K90::before {
  content: "";
  background-color: #fff;
  width: 50%;
}
.page-furusato-items-box-body-inner-item-colors span.color-W70K90::after {
  content: "";
  background-color: #000;
  width: 50%;
}

.page-furusato-items-box-body-inner-item-tag:has(span) {
  margin: 0 0 12px;
}
.page-furusato-items-box-body-inner-item-tag span {
  font-family: var(--refa-font-zenkaku);
  color: var(--rv-gold);
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.page-furusato-items-box-body-inner-item-tag span:not(:last-of-type):after {
  display: inline-block;
  content: "｜";
}

.page-furusato-items-box-body-inner-item-product-name {
  font-family: var(--refa-font-zenkaku);
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin: 0 0 12px;
  color: var(--rv-black);
}

.page-furusato-items-box-body-inner-item-size {
  font-family: var(--refa-font-zenkaku);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--rv-gray2);
}

/* ==========================================================================
   ふるさと納税のお申し込みはこちら
   ========================================================================== */
.page-furusato-items-links {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-links {
    padding: 0 16px;
  }
}

.page-furusato-items-links-link {
  position: relative;
  font-family: var(--refa-font-zenkaku);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  padding: 20px;
  border: 1px solid var(--rv-gold);
  color: var(--rv-gold2);
  text-align: center;
  border-radius: 9999px;
  text-decoration: none;
  /* テキストを垂直中央寄せ */
  display: flex;
  align-items: center;
  justify-content: center;
  /* 4カラムレイアウト */
  width: calc((100% - 60 * var(--vw)) / 4); /* 4カラム、gap 3箇所 × 20px */
  margin-right: calc(20 * var(--vw));
  margin-bottom: 20px;
  /* 4番目、8番目、12番目...の右marginを削除 */
  /* 最後の3つ(最終行)のmargin-bottomを削除 */
  /* 外部リンクアイコン */
}
.page-furusato-items-links-link:nth-child(4n) {
  margin-right: 0;
}
.page-furusato-items-links-link:nth-last-child(-n+3) {
  margin-bottom: 0;
}
.page-furusato-items-links-link::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(20 * var(--vw));
  width: calc(14 * var(--vw));
  height: 14px;
  background: url(../img/pc/ic-blank.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-links-link::after {
    right: 14px;
    width: 11px;
  }
}
.page-furusato-items-links-link:hover {
  color: var(--rv-white);
  background-color: var(--rv-gold);
  opacity: 1 !important;
}
.page-furusato-items-links-link:hover::after {
  background: url(../img/pc/ic-blank-hover.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .page-furusato-items-links-link.is-long-text {
    padding: 0 13px 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .page-furusato-items-links-link {
    font-size: min(3.3333333333vw, 13px);
    padding: 0 33px;
    height: 52px;
    /* 2カラムレイアウト */
    width: calc(50% - 4px);
    margin-right: 8px;
    margin-bottom: 10px;
    /* 2番目、4番目、6番目...の右marginを削除 */
    /* PC用の設定を無効化 */
    /* 最後の2つ(最終行)のmargin-bottomを削除 */
  }
  .page-furusato-items-links-link:nth-child(2n) {
    margin-right: 0;
  }
  .page-furusato-items-links-link:nth-child(4n) {
    margin-right: calc(20 * var(--vw));
  }
  .page-furusato-items-links-link:nth-child(2n) {
    margin-right: 0;
  }
  .page-furusato-items-links-link:nth-last-child(-n+3) {
    margin-bottom: 10px;
  }
  .page-furusato-items-links-link:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}

/* ==========================================================================
   VITAL LUXURY - Concept Section
   ========================================================================== */
.page-furusato-concept-wrapper {
  background: var(--rv-gold4);
}

.page-furusato-concept {
  display: flex;
  justify-content: end;
  max-width: 1120px;
  color: var(--rv-gold2);
  padding: 140px 0 100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .page-furusato-concept {
    flex-wrap: nowrap;
    flex-direction: column;
    padding: 80px 28px;
  }
}

.page-furusato-concept-title {
  display: flex;
  flex-direction: column;
  row-gap: 14px;
  width: 460px;
}
@media screen and (max-width: 767px) {
  .page-furusato-concept-title {
    flex-wrap: nowrap;
    width: 100%;
    margin-bottom: 28px;
  }
}

.page-furusato-concept-title-en {
  font-size: 32px;
  font-family: var(--rv-font-lusitana);
  line-height: 1;
  letter-spacing: 0.084em;
}
@media screen and (max-width: 767px) {
  .page-furusato-concept-title-en {
    font-size: 19px;
    letter-spacing: 0.09em;
  }
}

.page-furusato-concept-title-jp {
  font-size: 24px;
  font-family: var(--rv-font-shipporiMincho);
  font-weight: 500;
  line-height: 1;
}
.page-furusato-concept-title-jp span:nth-child(1) {
  letter-spacing: 0.25em;
}
.page-furusato-concept-title-jp span:nth-child(2) {
  letter-spacing: 0.17em;
}
.page-furusato-concept-title-jp span:nth-child(3) {
  letter-spacing: 0.22em;
}
.page-furusato-concept-title-jp span:nth-child(4) {
  letter-spacing: 0.17em;
}
@media screen and (max-width: 767px) {
  .page-furusato-concept-title-jp {
    font-size: 2.2rem;
  }
}

.page-furusato-concept-content {
  width: 560px;
}
@media screen and (max-width: 767px) {
  .page-furusato-concept-content {
    width: 100%;
  }
}

.page-furusato-concept-content-lead {
  font-size: 23px;
  font-family: var(--rv-font-shipporiMincho);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .page-furusato-concept-content-lead {
    font-size: 18px;
  }
}

.page-furusato-concept-content-text {
  font-size: 15px;
  font-family: var(--rv-font-shipporiMincho);
  line-height: 2;
  letter-spacing: 0.1em;
}
.page-furusato-concept-content-text span {
  display: block;
  margin-bottom: 1em;
}

/* ==========================================================================
   Main Visual 2
   ========================================================================== */
.page-furusato-mv2 {
  display: grid;
  grid-template-columns: 296fr 590fr 394fr;
  grid-template-rows: auto auto;
}
.page-furusato-mv2 img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .page-furusato-mv2 {
    display: flex;
    flex-wrap: wrap;
  }
}

.page-furusato-mv2-box:nth-of-type(1) {
  grid-column: 1;
  grid-row: 1/5;
}
.page-furusato-mv2-box:nth-of-type(2) {
  grid-column: 1;
  grid-row: 2/5;
}
.page-furusato-mv2-box:nth-of-type(3) {
  grid-column: 2;
  grid-row: 1/5;
}
.page-furusato-mv2-box:nth-of-type(4) {
  grid-column: 3;
  grid-row: 1/5;
}
.page-furusato-mv2-box:nth-of-type(5) {
  grid-column: 3;
  grid-row: 3/5;
}
.page-furusato-mv2-box-2col {
  display: flex;
}
@media screen and (max-width: 767px) {
  .page-furusato-mv2-box-2col {
    flex-direction: column;
  }
}
.page-furusato-mv2-box-2col-item {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .page-furusato-mv2-box-2col-item {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .page-furusato-mv2-box-2col-item img {
    height: round(50.2564102564vw, 0.5px);
  }
}
@media screen and (max-width: 767px) {
  .page-furusato-mv2-box:nth-of-type(1) {
    width: 50%;
  }
  .page-furusato-mv2-box:nth-of-type(2) {
    width: 50%;
  }
  .page-furusato-mv2-box:nth-of-type(3) {
    width: 100%;
  }
  .page-furusato-mv2-box:nth-of-type(4) {
    width: 66.9230769231vw;
  }
  .page-furusato-mv2-box:nth-of-type(5) {
    width: 33.0769230769vw;
  }
}

/* ==========================================================================
   BEAUTY TECH FASHION
   ========================================================================== */
.page-furusato-btf-wrapper {
  background: var(--rv-gold4);
}

.page-furusato-btf {
  max-width: 586px;
  color: var(--rv-gold2);
  margin: 0 auto;
  padding: 140px 0 100px;
}
@media screen and (max-width: 767px) {
  .page-furusato-btf {
    padding: 80px 28px;
  }
}
.page-furusato-btf i {
  flex: 0 0 auto;
  width: 27px;
  height: 27px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-furusato-btf i {
    width: 15px;
    height: 15px;
  }
}
.page-furusato-btf i::before, .page-furusato-btf i::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--rv-gold2);
  position: absolute;
  top: 50%;
  left: 0;
  transform-origin: center;
}
.page-furusato-btf i::before {
  transform: rotate(45deg);
}
.page-furusato-btf i::after {
  transform: rotate(-45deg);
}

.page-furusato-btf-title-en {
  font-size: 40px;
  font-family: var(--rv-font-lusitana);
  line-height: 1;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 13px;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .page-furusato-btf-title-en {
    gap: 7px;
    font-size: 5.8974358974vw;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }
}

.page-furusato-btf-title-jp {
  font-size: 15px;
  font-family: var(--rv-font-shipporiMincho);
  line-height: 2;
  letter-spacing: 0.1em;
  margin: 0 0 32px;
}
@media screen and (max-width: 767px) {
  .page-furusato-btf-title-jp {
    font-size: 14px;
  }
}

.page-furusato-btf-buttons {
  display: flex;
  gap: calc(20 * var(--vw));
}
@media screen and (max-width: 767px) {
  .page-furusato-btf-buttons {
    flex-direction: column;
    align-items: center;
  }
}

.page-furusato-btf-button {
  font-family: var(--refa-font-zenkaku);
  line-height: 1;
  letter-spacing: 0.05em;
  width: calc(283 * var(--vw));
  height: 54px;
}
/* ==========================================================================
   Main Visual 2
   ========================================================================== */
.page-furusato-mv2 {
  display: grid;
  grid-template-columns: 296fr 590fr 394fr;
  grid-template-rows: auto auto;
}
@media screen and (max-width: 767px) {
  .page-furusato-mv2 {
    display: flex;
    flex-wrap: wrap;
  }
}

.page-furusato-mv2-box:nth-of-type(1) {
  grid-column: 1;
  grid-row: 1/5;
}
.page-furusato-mv2-box:nth-of-type(2) {
  grid-column: 1;
  grid-row: 2/5;
}
.page-furusato-mv2-box:nth-of-type(3) {
  grid-column: 2;
  grid-row: 1/5;
}
.page-furusato-mv2-box:nth-of-type(4) {
  grid-column: 3;
  grid-row: 1/5;
}
.page-furusato-mv2-box:nth-of-type(5) {
  grid-column: 3;
  grid-row: 3/5;
}
@media screen and (max-width: 767px) {
  .page-furusato-mv2-box:nth-of-type(1) {
    width: 50%;
  }
  .page-furusato-mv2-box:nth-of-type(2) {
    width: 50%;
  }
  .page-furusato-mv2-box:nth-of-type(3) {
    width: 100%;
  }
  .page-furusato-mv2-box:nth-of-type(4) {
    width: 66.92%;
  }
  .page-furusato-mv2-box:nth-of-type(5) {
    width: 33.08%;
  }
}

/* ==========================================================================
   美しく、VITALあふれる生活を贈る
   ========================================================================== */
.page-furusato-gift {
  background: var(--rv-gold4);
  padding: 0 0 140px;
}
@media screen and (max-width: 767px) {
  .page-furusato-gift {
    padding: 0 0 100px;
  }
}

.page-furusato-gift-inner {
  max-width: 940px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .page-furusato-gift-inner {
    flex-direction: column;
    width: 100%;
    padding: 0 28px;
  }
}

.page-furusato-gift-inner-img {
  width: calc(420 * var(--vw));
  aspect-ratio: 420/315;
  flex: 1 0 auto;
}
@media screen and (max-width: 767px) {
  .page-furusato-gift-inner-img {
    width: 100%;
    aspect-ratio: unset;
  }
}

.page-furusato-gift-inner-contents {
  display: flex;
  align-items: center;
  background: var(--rv-bg-main);
}

.page-furusato-gift-inner-contents-inner {
  width: calc(520 * var(--vw));
  padding: 77px 40px 57px;
  flex: 0 1 auto;
}
@media screen and (max-width: 767px) {
  .page-furusato-gift-inner-contents-inner {
    width: 100%;
    padding: 32px 24px;
  }
}

.page-furusato-gift-inner-contents-inner-title {
  font-size: 24px;
  font-family: var(--rv-font-shipporiMincho);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  margin: 0 0 28px;
}
@media screen and (max-width: 767px) {
  .page-furusato-gift-inner-contents-inner-title {
    line-height: 1.6;
    font-size: 20px;
    margin: 0 0 16px;
  }
}

.page-furusato-gift-inner-contents-inner-text {
  font-size: 15px;
  font-family: var(--rv-font-shipporiMincho);
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin: 0 0 28px;
}
@media screen and (max-width: 767px) {
  .page-furusato-gift-inner-contents-inner-text {
    font-size: 13px;
    margin: 0 0 24px;
  }
}

.page-furusato-gift-inner-contents-inner-button {
  font-family: var(--refa-font-zenkaku);
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.05em;
  width: 190px;
  height: 53px;
}

/* ==========================================================================
   ナビゲーション
   ========================================================================== */
.page-furusato-nav {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 120px calc(80 * var(--vw));
}
@media screen and (max-width: 767px) {
  .page-furusato-nav {
    margin: 0 0 100px;
    padding: 100px 28px 0;
  }
}

.page-furusato-nav-button-prev,
.page-furusato-nav-button-next {
  font-family: var(--refa-font-zenkaku);
  letter-spacing: 0.05em;
  color: var(--rv-gold2);
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
}
.page-furusato-nav-button-prev a,
.page-furusato-nav-button-next a {
  color: var(--rv-gold2);
}
.page-furusato-nav-button-prev.page-furusato-nav-button-disabled,
.page-furusato-nav-button-next.page-furusato-nav-button-disabled {
  opacity: 0.5;
  cursor: auto;
}

.page-furusato-nav-button-prev::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 6px 0 0;
  background: url(../img/pc/ic-arrow-left.png) no-repeat center/contain;
}
.page-furusato-nav-button-next::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 0 0 6px;
  background: url(../img/pc/ic-arrow-right.png) no-repeat center/contain;
}
/* ==========================================================================
   関連商品
   ========================================================================== */
.page-furusato-related-box {
  overflow: hidden;
  padding: 0 0 120px calc(80 * var(--vw));
}
@media screen and (max-width: 767px) {
  .page-furusato-related-box {
    padding: 0 0 100px 28px;
  }
}

.page-furusato-related-box-header {
  display: flex;
  justify-content: space-between;
}
.page-furusato-related-box-header-title {
  font-family: var(--refa-font-mincho);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin: 0 0 60px;
  color: #000;
  padding: 0 calc(80 * var(--vw)) 0 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .page-furusato-related-box-header-title {
    font-size: 24px;
    padding: 0 28px 0 0;
    margin: 0 0 40px;
  }
}

.page-furusato-related-box-body-inner {
  display: flex;
  justify-content: flex-end;
  padding: 0 0 60px;
}
@media screen and (max-width: 767px) {
  .page-furusato-related-box-body-inner {
    overflow: hidden;
    padding: 0 0 40px;
  }
}

.page-furusato-related-box-body-inner-item {
  width: calc(277 * var(--vw));
  flex-shrink: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-furusato-related-box-body-inner-item {
    width: 49.7435897436vw;
  }
}

.page-furusato-related-box-body-inner-item-img {
  margin: 0 0 16px;
  overflow: hidden;
}
.page-furusato-related-box-body-inner-item-img img {
  transition: var(--rv-transition);
}
.page-furusato-related-box-body-inner-item-img img:hover {
  scale: var(--rv-imgHoverExpand-scale);
}
.page-furusato-related-box-body-inner-item-img a:hover {
  opacity: 1;
}
.page-furusato-related-box-body-inner-item-colors:has(span) {
  display: flex;
  align-items: center;
  gap: min(14 * var(--vw), 14px);
  margin: 0 0 12px;
}
.page-furusato-related-box-body-inner-item-colors span {
  flex: 0 0 auto;
  width: min(30 * var(--vw), 30px);
  height: min(10 * var(--vw), 10px);
  border: 1px solid #e9e9e9;
}
.page-furusato-related-box-body-inner-item-colors span.color-B40 {
  background-color: #253f70;
}
.page-furusato-related-box-body-inner-item-colors span.color-V30 {
  background-color: #e5d7c4;
}
.page-furusato-related-box-body-inner-item-colors span.color-V30-2 {
  background-color: #ebded8;
}
.page-furusato-related-box-body-inner-item-colors span.color-P70 {
  background-color: #df8d92;
}
.page-furusato-related-box-body-inner-item-colors span.color-G40 {
  background-color: #b8c4b9;
}
.page-furusato-related-box-body-inner-item-colors span.color-K30 {
  background-color: #7a8191;
}
.page-furusato-related-box-body-inner-item-colors span.color-K90 {
  background-color: #000000;
}
.page-furusato-related-box-body-inner-item-colors span.color-P20 {
  background-color: #f2dbd7;
}
.page-furusato-related-box-body-inner-item-colors span.color-P60 {
  background-color: #c8adae;
}
.page-furusato-related-box-body-inner-item-colors span.color-W70 {
  background-color: #ffffff;
}
.page-furusato-related-box-body-inner-item-colors span.color-W70S {
  display: flex;
}
.page-furusato-related-box-body-inner-item-colors span.color-W70S::before {
  content: "";
  background-color: #fff;
  width: 50%;
}
.page-furusato-related-box-body-inner-item-colors span.color-W70S::after {
  content: "";
  background: linear-gradient(113.96deg, #999999 0%, #cccccc 50%, #999999 100%);
  width: 50%;
}
.page-furusato-related-box-body-inner-item-colors span.color-W70K90 {
  display: flex;
}
.page-furusato-related-box-body-inner-item-colors span.color-W70K90::before {
  content: "";
  background-color: #fff;
  width: 50%;
}
.page-furusato-related-box-body-inner-item-colors span.color-W70K90::after {
  content: "";
  background-color: #000;
  width: 50%;
}

.page-furusato-related-box-body-inner-item-tag:has(span) {
  margin: 0 0 12px;
}
.page-furusato-related-box-body-inner-item-tag span {
  font-family: var(--refa-font-zenkaku);
  color: var(--rv-gold);
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.page-furusato-related-box-body-inner-item-tag span:not(:last-of-type):after {
  display: inline-block;
  content: "｜";
}

.page-furusato-related-box-body-inner-item-product-name {
  font-family: var(--refa-font-zenkaku);
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin: 0 0 12px;
  color: var(--rv-black);
}
.page-furusato-related-box-body-inner-item-price {
  font-family: var(--refa-font-zenkaku);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--rv-gray2);
}
.page-furusato-related-button {
  font-family: var(--refa-font-zenkaku);
  line-height: 1;
  letter-spacing: 0.05em;
  width: 300px;
  height: 54px;
  margin: 0 auto;
}

/* ==========================================================================
   おすすめの記事
   ========================================================================== */
.page-furusato-reccomend-box {
  overflow: hidden;
  padding: 120px 0 120px calc(80 * var(--vw));
}
@media screen and (max-width: 767px) {
  .page-furusato-reccomend-box {
    padding: 120px 0 100px 28px;
  }
}

.page-furusato-reccomend-box-header {
  display: flex;
  justify-content: space-between;
}
.page-furusato-reccomend-box-header-title {
  font-family: var(--refa-font-mincho);
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.1em;
  margin: 0 0 60px;
  color: #000;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .page-furusato-reccomend-box-header-title {
    font-size: 24px;
    margin: 0 0 40px;
  }
}

.page-furusato-reccomend-box-body-inner {
  display: flex;
  justify-content: flex-end;
  padding: 0 0 60px;
}
@media screen and (max-width: 767px) {
  .page-furusato-reccomend-box-body-inner {
    padding: 0 0 40px;
  }
}

.page-furusato-reccomend-box-body-inner-item {
  width: calc(352 * var(--vw));
  flex-shrink: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-furusato-reccomend-box-body-inner-item {
    width: 61.5384615385vw;
  }
}

.page-furusato-reccomend-box-body-inner-item-img {
  margin: 0 0 20px;
  overflow: hidden;
  transition: var(--rv-transition);
}
.page-furusato-reccomend-box-body-inner-item-img :hover {
  opacity: 1;
  scale: var(--rv-imgHoverExpand-scale);
}

.page-furusato-reccomend-box-body-inner-item-tag:has(span) {
  margin: 0 0 12px;
}
.page-furusato-reccomend-box-body-inner-item-tag span {
  font-family: var(--refa-font-zenkaku);
  color: var(--rv-gold);
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.page-furusato-reccomend-box-body-inner-item-tag span:not(:last-of-type):after {
  display: inline-block;
  content: "｜";
}

.page-furusato-reccomend-box-body-inner-item-title {
  font-family: var(--refa-font-zenkaku);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin: 0 0 10px;
  color: var(--rv-black);
}
.page-furusato-reccomend-box-body-inner-item-date {
  font-family: var(--refa-font-zenkaku);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--rv-gray2);
}
.page-furusato-reccomend-button {
  font-family: var(--refa-font-zenkaku);
  line-height: 1;
  letter-spacing: 0.05em;
  width: 300px;
  height: 54px;
  margin: 0 auto;
}

/* ==========================================================================
   スライダー
   ========================================================================== */
/* swiper Scrollbar */
.swiper-scrollbar {
  height: 2px;
  background: var(--rv-white);
}

.swiper-scrollbar-drag {
  background: var(--rv-gold);
}

/* swiper Prev button and Next button */
.rv-swiper-button.swiper-button-prev,
.rv-swiper-button.swiper-button-next {
  width: 60px;
  height: 60px;
  background-size: 22px auto;
  border-radius: 50%;
  overflow: hidden;
  transition: var(--rv-transition);
}

.rv-swiper-button.swiper-button-prev {
  background-image: url(../../common/img/ic-arrow-left-gold.png);
}

.rv-swiper-button.swiper-button-next {
  background-image: url(../../common/img/ic-arrow-right-gold.png);
}

@media screen and (max-width: 767px) {
  .rv-swiper-button.swiper-button-prev,
  .rv-swiper-button.swiper-button-next {
    display: none;
  }
}
@media (hover: hover) {
  .rv-swiper-button.swiper-button-prev:hover,
  .rv-swiper-button.swiper-button-next:hover {
    background-color: var(--rv-gold);
  }
  .rv-swiper-button.swiper-button-prev:hover {
    background-image: url(../../common/img/ic-arrow-left-white.png);
  }
  .rv-swiper-button.swiper-button-next:hover {
    background-image: url(../../common/img/ic-arrow-right-white.png);
  }
}
.rv-swiper-button.swiper-button-prev::before,
.rv-swiper-button.swiper-button-next::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  border: 1px solid transparent;
  background: linear-gradient(var(--gradient-angle), rgb(var(--rv-goldRGB)) 0%, rgb(var(--rv-gold4RGB)) 49%, rgb(var(--rv-goldRGB)) 100%) border-box border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}

.rv-swiper-button.swiper-button-prev:not(:hover)::before,
.rv-swiper-button.swiper-button-next:not(:hover)::before {
  animation: var(--rv-rotateBorderGradient);
}

.rv-swiper-button.swiper-button-next.swiper-button-disabled,
.rv-swiper-button.swiper-button-prev.swiper-button-disabled {
  opacity: 0;
}