@charset "utf-8";

:root {
  --cw: 1040px !important;
}

body::before {content: "";position: fixed;inset: 0;background: rgba(28, 28, 26, .4);z-index: 1;pointer-events: none;transition: opacity .25s ease, visibility 0s linear .25s;opacity: 0;visibility: hidden;}

body.hm-open::before {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

/* ヘッダー */
.header2 {
  max-width: 1040px;
  margin: 0 auto;
}

.header2--fixed {
  left: 0;
  right: 0;
}

.header2__logo {
  padding-left: 16px;
}

.header2__logo img {
  width: auto;
  height: 36px;
}

.header2__right {
  gap: 6px;
  padding-right: 16px;
}

.header2__tools {
  gap: 6px;
}

.header2__tools__item {
  width: 36px;
  height: 36px;
  padding: 8px;
}

.header2__tools__count {
  bottom: 0;
}

.header2__hm__btn span {
  width: 20px;
  height: 2px;
}

.header2__hm__btn {
  padding: 8px;
  gap: 4px;
}

.header2__hm-menu__close {
  padding: 8px;
  line-height: 1;
}

.header2__hm-menu__close img {
  width: 20px;
}

@media (max-width: 480px) {
  .header2__hm-menu__close {--size: 5vw;width: var(--size);height: var(--size);}
}

/* ラッパー */
.fs-l-productLayout {border-top: 1px solid #eceae3;padding-top: 32px;}

/* 上部商品説明ラッパー */
@media (min-width: 960px) {
  .item_detail {display: flex;gap: 48px;align-items: flex-start;}
}

/* 左側ラッパー */
.fs-c-productCarouselMainImage {flex: 1 1 58%;min-width: 0;width: auto;}

@media (max-width: 768px) {
  .fs-c-productCarouselMainImage {margin-bottom: 20px;}
}

/* 右側ラッパー */
.item_detail__name_price_btn {flex: 1 1 38%;min-width: 0;position: sticky;top: 24px;}

/* スライド */
.fs-c-productCarouselMainImage__image__caption {display: none;}
.fs-c-productCarouselMainImage__thumbnailList {display: flex;justify-content: center;gap: 8px;margin: 10px 0 4px;padding: 0;list-style: none;}
.fs-c-productCarouselMainImage__thumbnailList > li {width: 6px;height: 6px;margin: 0;border-radius: 50%;background: #ccc;cursor: pointer;}
.fs-c-productCarouselMainImage__thumbnailList > li.slick-active {background: #000;}
.fs-c-productCarouselMainImage__thumbnail {display: none;}
.fs-c-slick .slick-slide {line-height: 1;border-radius: 10px;overflow: hidden;}
.fs-c-slick .slick-prev,
.fs-c-slick .slick-next {position: absolute;top: 50%;z-index: 2;display: flex;align-items: center;justify-content: center;width: 30px;height: 30px;padding: 0;border: 0;border-radius: 50%;background: rgba(255, 255, 255, .85);color: #1c1c1a;font-size: 0;cursor: pointer;transform: translateY(-50%);}
.fs-c-slick .slick-prev {left: 10px;}
.fs-c-slick .slick-next {right: 10px;}
.fs-c-slick .slick-prev::before,
.fs-c-slick .slick-next::before {content: "";width: 3px;height: 3px;border-top: 1.5px solid #1c1c1a;border-right: 1.5px solid #1c1c1a;cursor: inherit;}
.fs-c-slick .slick-prev::before {transform: rotate(-135deg);margin-left: 2px;}
.fs-c-slick .slick-next::before {transform: rotate(45deg);margin-right: 2px;}
.fs-c-slick .slick-prev[aria-disabled="true"],
.fs-c-slick .slick-next[aria-disabled="true"] {opacity: .4;cursor: default;}
.rs-stock-badge {position: absolute;top: 12px;left: 12px;z-index: 2;background: #eab54a;color: #4a3300;font-size: 11px;padding: 4px 10px;border-radius: 20px;}

/* 商品名 */
.fs-c-productNameHeading {font-size: 15px;font-weight: 600;margin: 0;display: flex;flex-direction: column-reverse;gap: 0.5em;}
.item_detail__head {display: block;}
.fs-c-productNameHeading__copy {font-size: 12.5px;font-weight: normal;color: #57564f;line-height: 1.6;}

/* 商品番号 */
.fs-c-productNumber {font-size: 12.5px;color: #57564f;margin: 6px 0 0;line-height: 1.6;}

/* 価格 */
.item_detail__price {padding-bottom: 20px;}
.fs-c-productPrice__main__label {font-size: 11px;color: #9a988f;font-weight: 400;margin-left: 4px;}
.item_detail__price .fs-c-price__currencyMark {font-size: 22px;font-weight: 600;}
.item_detail__price .fs-c-price__value {font-size: 22px;font-weight: 600;}
.fs-c-productPrice__addon {font-size: 11px;color: #9a988f;font-weight: 400;margin-left: 4px;}
.fs-c-productPrice__addon__label::before {display: none;}
.fs-c-productPrice__addon__label::after {content: none;}

/* バリエーション選択 */
.rs-variation-selector {border-top: 1px solid #eceae3;padding-top: 20px;}
.rs-variation-selector__label {font-size: 12px;color: #57564f;margin: 0 0 10px;line-height: 1.6;}
.rs-variation-selector__swatches {display: grid;grid-template-columns: repeat(5, minmax(0, 1fr));gap: 10px;}
.rs-variation-selector__swatch {width: 100%;height: auto;aspect-ratio: 1/1;padding: 0;border: 2px solid transparent;background: none;cursor: pointer;border-radius: 50%;overflow: hidden;}
.rs-variation-selector__swatch.is-active {border-color: #000;}
.rs-variation-selector__swatch img {display: block;width: 100%;height: 100%;object-fit: cover;}
.rs-variation-selector__swatch-name {display: none;margin-top: 5px;font-size: 12px;}
.rs-variation-selector__selected {width: fit-content;max-width: 100%;margin: 10px 0 0;font-weight: bold;}

/* カートボタン */
.rs-variation-selector__cart {display: block;width: 100%;margin-top: 14px;padding: 13px;border: none;background: #e5824a;color: #fff;font-size: 14px;font-weight: 700;border-radius: 8px;cursor: pointer;text-align: center;box-shadow: 0 4px 14px rgba(229,130,74,.32);}

/* 独自UIの構築に成功した場合だけ標準UIを隠す */
.rs-variation-ui-ready .fs-c-variationAndActions {display: none;}

/* 補足テキスト */
.rs-sec-note { font-size: 11px; color: #9a988f; line-height: 1.6; margin-top: 8px; }

/* 交換・返品送料無料 */
.return-policy {display: flex;align-items: center;gap: 10px;margin-top: 12px;padding: 12px;background: #eef6f0;border: 1px solid #bfe0c8;border-radius: 8px;}
.return-policy__icon {flex-shrink: 0;font-size: 20px;color: #2f7a45;}
.return-policy__title {display: block;font-size: 13px;color: #1f5c30;}
.return-policy__text {margin: 0;font-size: 11px;color: #3d7a4c;}
.return-policy__brand-link { font-size: 11.5px; color: #1c1c1a; text-decoration: underline; display: inline-block; margin-top: 8px; }

/* 対応目安 */
.product-compatibility {margin-top: 20px;padding-top: 20px;border-top: 1px solid #eceae3;}
.product-compatibility__title {margin: 0 0 8px;font-size: 12px;font-weight: 600;}
.product-compatibility__table {width: 100%;border-collapse: collapse;color: #57564f;font-size: 12.5px;}
.product-compatibility__table th,
.product-compatibility__table td {padding: 5px 0;font-weight: 400;}
.product-compatibility__table th {text-align: left;}
.product-compatibility__table td {text-align: right;color: #1c1c1a;}
.product-compatibility__row--diff th,
.product-compatibility__row--diff td {color: #b5651d;}

/* _go対応マップ誘導ミニ */
.go-map-mini {display: flex;align-items: center;gap: 10px;margin-top: 12px;padding: 10px;background: #f4f3f0;border-radius: 8px;}
.go-map-mini__visual {flex-shrink: 0;background: #fff;border-radius: 6px;}
.go-map-mini__text {margin: 0 0 4px;color: #9a988f;font-size: 10.5px;}
.go-map-mini__link {color: #1c1c1a;font-size: 11.5px;text-decoration: underline;}

/* フローティングカート */
.rs-floating-cart {position: fixed;right: 0;bottom: 0;left: 0;z-index: 1000;display: flex;align-items: center;gap: 20px;padding: 15px 20px;background: #fff;box-shadow: 0 -2px 10px rgba(0, 0, 0, .15);opacity: 0;visibility: hidden;transform: translateY(100%);transition: opacity .2s, visibility .2s, transform .2s;}
.rs-floating-cart.is-visible {opacity: 1;visibility: visible;transform: translateY(0);}
.rs-floating-cart__info {display: flex;align-items: center;gap: 20px;margin-right: auto;}
.rs-floating-cart__variation {font-weight: 700;}
.rs-floating-cart__price {white-space: nowrap;font-weight: 700;}
.rs-floating-cart__price-value {font-size: 20px;}
.rs-floating-cart__price small {margin-left: 3px;font-size: 11px;font-weight: 400;}
.rs-floating-cart__cart-status {white-space: nowrap;}
.rs-floating-cart__button {padding: 14px 30px;border: 0;background: #e5824a;color: #fff;font-size: 16px;font-weight: 700;line-height: 1.4;cursor: pointer;border-radius: 8px;}
.rs-floating-cart__button:disabled {opacity: .5;cursor: default;}

@media screen and (min-width: 960px) {
  .rs-floating-cart {display: none;}
}

@media screen and (max-width: 768px) {
  .rs-floating-cart {gap: 10px;padding: 10px;}
  /* .rs-floating-cart__info {display: block;} */
  .rs-floating-cart__info {display: none;}
  .rs-floating-cart__variation {display: block;font-size: 12px;}
  .rs-floating-cart__cart-status {font-size: 12px;}
  .rs-floating-cart__button {padding: 12px 18px;font-size: 14px;width: 100%;}
}

@media screen and (max-width: 480px) {
  .rs-floating-cart__cart-status {display: none;}
}

/* 商品説明下部 */
.item_detail_bottom .fs-p-productDescription::before {content: none !important;}

/* futureshop組み込み用: 対応目安以降のユニーククラス */
.go-product-recommend, .go-product-scenes, .go-product-spec, .go-product-faq, .go-product-brand, .go-product-related, .go-product-campaign, .go-product-sns { padding: 16px; }
.go-product-recommend + *, .go-product-scenes + *, .go-product-spec + *, .go-product-faq + *, .go-product-brand + *, .go-product-related + *, .go-product-campaign + *, .go-product-sns + * { border-top: 1px solid #eceae3; }
.go-product-recommend__title, .go-product-scenes__title, .go-product-faq__title, .go-product-brand__title, .go-product-related__title, .go-product-campaign__title, .go-product-sns__title { font-size: 12px; font-weight: 600; margin: 0 0 8px; }
.go-product-recommend__grid, .go-product-faq__grid { display: block; }
.go-product-accordion { align-self: start; border: 1px solid #eceae3; border-radius: 8px; margin-bottom: 8px; overflow: hidden; }
.go-product-accordion__summary { display: flex; justify-content: space-between; align-items: center; padding: 12px; font-size: 12.5px; font-weight: 600; cursor: pointer; list-style: none; }
.go-product-accordion__summary::-webkit-details-marker { display: none; }
.go-product-accordion__icon { color: #9a988f; transition: transform .2s; font-weight: 400; }
.go-product-accordion[open] .go-product-accordion__icon { transform: rotate(180deg); }
.go-product-accordion__body { padding: 0 12px 12px; }
.go-product-accordion__image { width: 100%; height: 130px; object-fit: cover; border-radius: 6px; margin-bottom: 8px; background: #eceae3; }
.go-product-accordion__text { font-size: 11.5px; color: #57564f; line-height: 1.6; margin: 0; }
.go-product-scenes__list { display: block; }
.go-product-scenes__item { position: relative; border-radius: 8px; overflow: hidden; margin: 0 0 8px; }
.go-product-scenes__image { width: 100%; height: 180px; object-fit: cover; display: block; background: #eceae3; }
.go-product-scenes__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 12px; background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0)); color: #fff; font-size: 12px; font-weight: 500; }
.go-product-scenes__note { font-weight: 400; opacity: .85; }
.go-product-scenes__more { display: block; text-align: center; font-size: 12px; color: #57564f; border: 1px solid #d8d6cc; border-radius: 6px; padding: 10px; text-decoration: none; margin-top: 6px; }
.go-product-spec__table { width: 100%; font-size: 12.5px; color: #57564f; border-collapse: collapse; }
.go-product-spec__label, .go-product-spec__value { padding: 5px 0; font-weight: 400; }
.go-product-spec__label { text-align: left; }
.go-product-spec__value {text-align: right;color: #1c1c1a;}
.go-product-spec__row--brown {color: #b5651d;}
.go-product-spec__row--brown .go-product-spec__value {color: inherit;}
.go-product-spec__size-flatlay-img { width: 100%; height: auto; border-radius: 8px; display: block; margin-bottom: 12px; background: #eceae3; }
.go-product-caution { display: flex; gap: 10px; align-items: center; background: #fdf1e0; border: 1px solid #eecf9e; border-radius: 8px; padding: 10px 12px; }
.go-product-caution__icon { flex-shrink: 0; }
.go-product-caution__text { font-size: 12px; color: #8a5a11; margin: 0; line-height: 1.6; }
.go-product-brand__image { width: 100%; height: 140px; object-fit: cover; border-radius: 8px; display: block; }
.go-product-brand__text { font-size: 12px; color: #57564f; line-height: 1.8; margin-top: 10px; }
.go-product-brand__link { font-size: 11.5px; color: #1c1c1a; text-decoration: underline; display: inline-block; margin-top: 8px; }
.go-product-related__list {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 10px;margin-top: 10px;}
.go-product-related__item { flex: 1; text-decoration: none; color: inherit; }
.go-product-related__image { width: 100%; height: 90px; object-fit: cover; border-radius: 6px; background: #eceae3; }
.go-product-related__price { font-size: 11.5px; margin: 4px 0 0; color: #1c1c1a; }
.go-product-related__label { font-size: 10.5px; color: #9a988f; margin: 0; }
.go-product-campaign {border-top: 1px solid #eceae3;}
.go-product-campaign__text { font-size: 12.5px; color: #57564f; margin: 0 0 6px; line-height: 1.6; }
.go-product-campaign__list { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.go-product-campaign__image { width: 100%; display: block; border-radius: 6px; }
.go-product-sns {border-top: 1px solid #eceae3;width: var(--cw);max-width: calc(100% - var(--csp) * 2);margin: auto;padding: 0 var(--csp);box-sizing: content-box;}
.go-product-sns__title { text-align: center; }
.go-product-sns__list { display: flex; justify-content: center; align-items: center; gap: 16px; }
.go-product-sns__item { display: flex; align-items: center; justify-content: center; }
.go-product-footer {font-size: 11px;color: #9a988f;text-align: center;border-top: none;width: var(--cw);max-width: calc(100% - var(--csp) * 2);margin: auto;padding: 20px var(--csp);box-sizing: content-box;}
.go-product-sticky-cart {position: fixed;right: 0;bottom: 0;left: 0;z-index: 10;display: flex;align-items: center;justify-content: space-between;max-width: 420px;margin: 0 auto;padding: 10px 16px;background: #fff;border-top: 1px solid #eceae3;box-shadow: 0 -2px 10px rgba(0,0,0,.05);}
.go-product-sticky-cart__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.go-product-sticky-cart__price-row { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.go-product-sticky-cart__price { font-size: 15px; font-weight: 600; white-space: nowrap; }
.go-product-sticky-cart__tax { margin-left: 2px; color: #9a988f; font-size: 10px; font-weight: 400; }
.go-product-sticky-cart__shipping { color: #b5651d; font-size: 10.5px; white-space: nowrap; }
.go-product-sticky-cart__count { color: #9a988f; font-size: 10px; }
.go-product-sticky-cart__button {flex-shrink: 0;margin-left: 8px;padding: 10px 18px;border: none;border-radius: 6px;background: #1c1c1a;color: #fff;font-size: 13px;font-weight: 600;cursor: pointer;}

@media (min-width: 960px) {
  .go-product-recommend, .go-product-scenes, .go-product-spec, .go-product-faq, .go-product-brand, .go-product-related, .go-product-campaign, .go-product-sns { padding: 24px 0; }
  .go-product-recommend__grid, .go-product-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 20px; align-content: start; }
  .go-product-scenes__list { display: flex; gap: 14px; }
  .go-product-scenes__item { flex: 1; margin-bottom: 0; }
  .go-product-scenes__image { height: 220px; }
  .go-product-related__list, .go-product-campaign__list { max-width: 640px; }
  .go-product-sticky-cart { display: none; }
}

.item_detail_bottom [rcmd-plus-tid]:not([rcmd-plus-tid=""]) {border-top: 1px solid #eceae3;}

.rs-floating-cart-spacer {height: 0;}
