/* MARVYBOXS 2026 商品詳細：2カラム＋購入エリア 統合版 */
/* MARVYBOXS 商品詳細 2026 v2 - 新テンプレート専用 */
/* 既存ファイルは上書きせず、このCSSを最後に読み込む */
@media (min-width: 992px) {
  .fo-product-wrap.p-product-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(340px, 2fr) !important;
    align-items: start !important;
    gap: clamp(24px, 3vw, 48px) !important;
    width: 100% !important;
  }
  .fo-product-wrap > .p-product-heading { display: none !important; }
  .fo-product-wrap > .p-product-body {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
    display: block !important;
  }
  .fo-product-wrap > .p-product-body > .p-product-body-inner {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
  }
  .fo-product-wrap > .fo-purchase-column {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    top: auto !important;
    align-self: start !important;
    min-width: 0 !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .fo-product-wrap .fo-purchase-column > .fo-buy-panel {
    width: 100% !important;
    max-width: none !important;
    position: static !important;
    margin: 0 !important;
    float: none !important;
  }
}
@media (max-width: 991px) {
  .fo-product-wrap.p-product-wrap { display: flex !important; flex-direction: column !important; }
  .fo-product-wrap > .p-product-heading { display: none !important; }
  .fo-product-wrap > .p-product-body { order: 1 !important; width: 100% !important; max-width: 100% !important; }
  .fo-product-wrap > .fo-purchase-column { order: 2 !important; position: static !important; width: 100% !important; max-height: none !important; overflow: visible !important; }
  .fo-product-wrap .fo-purchase-column > .fo-buy-panel { width: 100% !important; max-width: none !important; }
}

/* MARVYBOXS 商品詳細｜購入エリア改修 2026
   既存の marvyboxs-product.css / layout-v2 の後に読み込む追加CSS
   レイアウト・カート機能・レビュー機能は変更しません。
*/
.fo-product-wrap .fo-purchase-column { min-width:0; }
.fo-product-wrap .fo-buy-panel {
  box-sizing:border-box;
  width:100%;
  padding:24px 22px;
  background:#fff;
  border:1px solid #e8e0d8;
  border-radius:12px;
  box-shadow:0 8px 28px rgba(61,48,38,.06);
  color:#4b4038;
}
.fo-product-wrap .fo-buy-heading {display:flex;align-items:baseline;gap:10px;margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid #eae3db;}
.fo-product-wrap .fo-buy-kicker {font-size:11px;font-weight:800;letter-spacing:.13em;color:#a88865;}
.fo-product-wrap .fo-buy-heading strong {font-size:19px;color:#43372e;}
.fo-product-wrap .fo-buy-panel .p-cart-form__name {font-size:16px;font-weight:700;line-height:1.7;margin-bottom:12px;overflow-wrap:anywhere;}
.fo-product-wrap .fo-buy-panel .p-cart-form__price {font-size:23px;font-weight:800;line-height:1.5;color:#3e332b;overflow-wrap:anywhere;}
.fo-product-wrap .fo-buy-panel .member-price-label {display:block;font-size:12px;font-weight:700;color:#aa6437;margin-bottom:4px;}
.fo-product-wrap .fo-buy-panel .p-cart-form__point {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:12px 0;}
.fo-product-wrap .fo-buy-panel .fo-point-main {display:flex;align-items:baseline;gap:5px;}
.fo-product-wrap .fo-buy-panel .fo-point-value {font-size:18px;font-weight:800;color:#6e7957;}
.fo-product-wrap .fo-buy-panel .fo-point-text {font-size:12px;}
.fo-product-wrap .fo-buy-panel .fo-point-double {display:inline-block;padding:5px 9px;border-radius:5px;background:#f0f5e9;color:#5c764b;font-size:11px;font-weight:700;}
.fo-product-wrap .fo-buy-panel .fo-free-shipping,
.fo-product-wrap .fo-buy-panel .fo-shipping-guide {box-sizing:border-box;align-items:center;gap:12px;padding:14px 15px;margin:14px 0;border-radius:8px;background:#f2f7ef;border:1px solid #dce8d7;color:#42603d;}
.fo-product-wrap .fo-buy-panel .fo-shipping-text {display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12px;line-height:1.6;}
.fo-product-wrap .fo-buy-panel .fo-shipping-text strong {font-size:13px;}
.fo-product-wrap .fo-buy-panel .fo-member-price-guide {box-sizing:border-box;display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:14px;border:1px solid #eed5b7;border-radius:8px;background:#fff8ef;color:#74513c;text-decoration:none;line-height:1.7;font-size:12px;}
.fo-product-wrap .fo-buy-panel .fo-member-price-content {display:block;min-width:0;}
.fo-product-wrap .fo-buy-panel .fo-member-price-note {display:block;margin-top:5px;color:#876f60;line-height:1.65;}
.fo-product-wrap .fo-buy-panel .p-cart-form__option {min-width:0;}
.fo-product-wrap .fo-buy-panel .p-cart-form__button-wrap {margin-top:14px;}
.fo-product-wrap .fo-buy-panel .p-cart-form__add-cart-button:not(.is-disabled) {border-radius:8px;background:#e8a243;border-color:#e8a243;color:#fff;font-size:15px;font-weight:800;}
.fo-product-wrap .fo-buy-panel .p-cart-form__add-cart-button:not(.is-disabled):hover {background:#d58c2d;border-color:#d58c2d;}
.fo-product-wrap .fo-buy-panel .fo-amazonpay-reserve-guide,
.fo-product-wrap .fo-buy-panel .fo-reserve-cancel-guide {box-sizing:border-box;display:block;width:100%;margin:14px 0;padding:14px 15px;border-radius:8px;font-size:12px;line-height:1.8;text-align:left;overflow-wrap:anywhere;}
.fo-product-wrap .fo-buy-panel .fo-amazonpay-reserve-guide {background:#fff9e9;border:1px solid #ead8a7;color:#6d5637;}
.fo-product-wrap .fo-buy-panel .fo-amazonpay-reserve-guide__title {display:flex;align-items:center;gap:6px;margin-bottom:7px;font-size:13px;color:#89642c;}
.fo-product-wrap .fo-buy-panel .fo-amazonpay-reserve-guide__text {margin-bottom:6px;}
.fo-product-wrap .fo-buy-panel .fo-amazonpay-reserve-guide__note {font-size:11px;}
.fo-product-wrap .fo-buy-panel .fo-reserve-cancel-guide {background:#fff6f4;border:1px solid #e5b4ac;color:#594b41;}
.fo-product-wrap .fo-buy-panel .fo-reserve-cancel-guide__title {display:block;margin-bottom:6px;font-size:13px;color:#b54d3d;}
.fo-product-wrap .fo-buy-panel .fo-reserve-cancel-guide strong {color:#bd5145;}
.fo-product-wrap .fo-buy-panel .p-cart-form__link-list {margin-top:16px;line-height:1.8;}
@media (min-width:992px) {
  .fo-product-wrap > .fo-purchase-column {scrollbar-width:thin;}
}
@media (max-width:991px) {
  .fo-product-wrap .fo-buy-panel {padding:20px 16px;border-radius:10px;}
}
@media (max-width:599px) {
  .fo-product-wrap .fo-buy-panel .p-cart-form__price {font-size:21px;}
  .fo-product-wrap .fo-buy-panel .fo-buy-heading strong {font-size:18px;}
}


/* Desktop layout: prevent theme width/floats from collapsing the grid */
@media (min-width: 992px) {
  .p-layout-container:has(> .fo-product-wrap) {
    box-sizing:border-box!important;
    width:calc(100% - 48px)!important;
    max-width:1300px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .fo-product-wrap.p-product-wrap {
    display:grid!important;
    grid-template-columns:minmax(0, 1.55fr) minmax(340px, 1fr)!important;
    gap:clamp(24px,3vw,42px)!important;
    align-items:start!important;
    overflow:visible!important;
    max-width:none!important;
  }
  .fo-product-wrap > .p-product-body {margin:0!important;padding:0!important;float:none!important;}
  .fo-product-wrap > .fo-purchase-column {
    display:block!important;
    float:none!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
    z-index:4;
    scrollbar-width:thin;
  }
  .fo-product-wrap .fo-buy-panel.fo-scroll-fade {opacity:1!important;transform:none!important;visibility:visible!important;}
  .fo-product-wrap .fo-duplicate-title,
  .fo-product-wrap .p-product-body__model,
  .fo-product-wrap .p-product-body__price,
  .fo-product-wrap .p-product-body__regular-price,
  .fo-product-wrap .p-product-body__point {display:none!important;}
  .fo-product-wrap .p-product-images {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  .fo-product-wrap .p-product-images__unit {width:auto!important;max-width:none!important;margin:0!important;min-width:0!important;}
  .fo-product-wrap .p-product-images__unit:first-child {grid-column:1/-1;}
  .fo-product-wrap .p-product-images__unit img {width:100%;height:auto;object-fit:contain;}
}
@media (max-width:991px) {
  .fo-product-wrap > .fo-purchase-column {display:block!important;float:none!important;margin:0!important;padding:0!important;}
  .fo-product-wrap .fo-buy-panel.fo-scroll-fade {opacity:1!important;transform:none!important;visibility:visible!important;}
}


/* 購入パネル追従：JSで fixed/absolute を切替（内部スクロールなし） */
@media (min-width: 992px) {
  .fo-product-wrap > .fo-purchase-column {
    position:relative!important; top:auto!important;
    overflow:visible!important; max-height:none!important;
    align-self:stretch!important;
  }
  .fo-product-wrap .fo-purchase-column > .fo-buy-panel {
    position:relative!important; top:auto!important;
    overflow:visible!important; max-height:none!important;
    transform:none!important;
  }
  .fo-product-wrap .fo-purchase-column > .fo-buy-panel.marvy-follow-fixed {
    position:fixed!important; margin:0!important; z-index:40!important;
  }
  .fo-product-wrap .fo-purchase-column > .fo-buy-panel.marvy-follow-bottom {
    position:absolute!important; top:auto!important; bottom:0!important;
    margin:0!important; z-index:4!important;
  }
}

/* =========================================================
   2026-10-16 在庫商品：クーポン／翌月発送お取り置き案内
   購入パネルの追従設定・予約案内には影響させない
========================================================= */
#cart-form .fo-coupon-guide {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px 7px;
  width: 100%;
  margin: 12px 0 16px;
  padding: 10px 12px;
  border: 1px solid #ead9bf;
  border-radius: 8px;
  background: #fffaf2;
  color: #735438;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
#cart-form .fo-coupon-guide__icon {
  flex: 0 0 auto;
  font-size: 19px;
  line-height: 1;
  color: #b9813d;
}
#cart-form .fo-coupon-guide__name {
  font-weight: 700;
}
#cart-form .fo-coupon-guide__link {
  color: #9b6127;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#cart-form .marvy-keep-guide {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 14px 0 22px;
  padding: 16px;
  border: 1px solid #dbe5d8;
  border-radius: 9px;
  background: #f7faf5;
  color: #465345;
  font-size: 12px;
  line-height: 1.8;
  text-align: left;
  overflow-wrap: anywhere;
}
#cart-form .marvy-keep-guide__title {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e0e9dc;
  color: #3c6448;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}
#cart-form .marvy-keep-guide__title .material-symbols-outlined {
  flex: 0 0 auto;
  font-size: 20px;
}
#cart-form .marvy-keep-guide__text {
  margin: 0 0 11px;
  font-size: 12px;
  line-height: 1.85;
}
#cart-form .marvy-keep-guide__note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 13px 0;
  padding: 10px 11px;
  border: 1px solid #eadbc3;
  border-radius: 6px;
  background: #fffaf1;
  color: #765b3e;
  font-size: 11px;
  line-height: 1.75;
}
#cart-form .marvy-keep-guide__note .material-symbols-outlined {
  flex: 0 0 auto;
  font-size: 18px;
}
#cart-form .marvy-keep-guide__link {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  width: 100%;
  margin-top: 12px;
  padding: 10px 9px;
  border: 1px solid #cadcc8;
  border-radius: 6px;
  background: #fff;
  color: #3d674b;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.65;
  text-align: center;
  text-decoration: none;
}
#cart-form .marvy-keep-guide__link .material-symbols-outlined {
  font-size: 17px;
}
#cart-form .marvy-keep-guide__link:hover {
  background: #eef5ec;
}
@media (max-width: 599px) {
  #cart-form .marvy-keep-guide { padding: 14px 12px; }
}

/* ==========================================
   MARVYBOXS 商品ギャラリー 2026
========================================== */

.fo-new-gallery {
  width: 100%;
  max-width: 100%;
  margin: 0 0 30px;
}

.fo-new-gallery .p-product-images {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.fo-new-gallery .p-product-images__unit {
  display: none !important;
}

.fo-new-gallery .p-product-images__unit.fo-gallery-main {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.fo-new-gallery .fo-gallery-main .c-image-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

.fo-new-gallery .fo-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.fo-gallery-thumbnails {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.fo-gallery-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 4px;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  overflow: hidden;
}

.fo-gallery-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.fo-gallery-thumb.is-active {
  border: 2px solid #24543f;
}

@media (max-width: 767px) {
  .fo-gallery-thumbnails {
    gap: 6px;
  }
}

/* ==========================================
   MARVYBOXS 予約商品案内ボックス 2026
   購入パネル内表示用
========================================== */

#cart-form .marvy-reserve-box {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin: 16px 0;
  padding: 0;
  border: 1px solid #ead8bd;
  border-radius: 9px;
  background: #fbf5ec;
  overflow: hidden;
}

#cart-form .marvy-reserve-inner {
  padding: 0 0 15px;
  text-align: center;
}

#cart-form .marvy-reserve-head {
  padding: 11px 12px;
  background: #f1c68c;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}

#cart-form .marvy-reserve-alert {
  margin: 12px 12px 8px;
  color: #b66b37;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
}

#cart-form .marvy-reserve-date-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 10px 12px;
}

#cart-form .marvy-reserve-date-label {
  padding: 5px 9px;
  border-radius: 4px;
  background: #fff;
  color: #9a6d42;
  font-size: 11px;
  font-weight: 700;
}

#cart-form .marvy-reserve-date-value {
  color: #654a35;
  font-size: 13px;
  font-weight: 700;
}

#cart-form .marvy-reserve-notes {
  padding: 0 14px;
  text-align: center;
}

/* 予約品：注意文 */
#cart-form .marvy-reserve-notes p {
  margin: 12px 0;
  color: #a55343;
  font-size: 11px;
  line-height: 1.7;
}

/* 予約品：注意事項ボタン */
#cart-form .marvy-reserve-guide-btn {
  display: inline-block;
  width: auto;
  max-width: 100%;
  margin: 5px auto 0;
  padding: 7px 15px 11px;
  border: 1px solid #e5b77b;
  border-radius: 25px;
  background: #fff;
  color: #b87932;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}

#cart-form .marvy-reserve-guide-btn:hover {
  background: #fff5e6;
}

/* ==========================================
   取り寄せ品：ライトグリーン・コンパクト版
========================================== */

#cart-form .marvy-order-box {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin: 16px 0;
  padding: 0;
  border: 1px solid #cbded0;
  border-radius: 9px;
  background: #f0f6f1;
  overflow: hidden;
  text-align: center;
  font-size: 12px;
  line-height: 1.7;
}

#cart-form .marvy-order-head {
  position: static;
  display: block;
  width: 100%;
  margin: 0;
  padding: 11px 12px;
  border: 0;
  border-radius: 0;
  background: #8caf97;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  box-shadow: none;
}

#cart-form .marvy-order-head::before,
#cart-form .marvy-order-head::after {
  display: none;
}

#cart-form .marvy-order-notice {
  display: block;
  width: auto;
  margin: 12px 14px 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #547760;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  box-shadow: none;
}

/* ==========================================
   取り寄せ品：発送予定（予約品と同じコンパクト表示）
========================================== */
#cart-form .marvy-order-table {
  display: flex !important;
  width: max-content !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 10px auto 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-spacing: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  align-items: center !important;
  justify-content: center !important;
}

#cart-form .marvy-order-table tbody,
#cart-form .marvy-order-table tr {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: max-content !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#cart-form .marvy-order-table td,
#cart-form .marvy-order-table th {
  display: block !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #365a43 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
}

#cart-form .marvy-order-table td:first-child,
#cart-form .marvy-order-table th:first-child {
  padding: 5px 9px !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #547760 !important;
  font-size: 11px !important;
}

#cart-form .marvy-order-notes {
  margin: 0;
  padding: 0 14px 15px;
  text-align: center;
}

#cart-form .marvy-order-notes p {
  margin: 10px 0;
  color: #547760;
  font-size: 11px;
  line-height: 1.7;
}

#cart-form .marvy-order-cancel {
  color: #c44d42 !important;
  font-size: 11px !important;
  font-weight: 700;
  line-height: 1.7;
}

#cart-form .marvy-order-guide-btn {
  display: inline-block;
  width: auto;
  max-width: 100%;
  margin: 5px auto 0;
  padding: 9px 15px;
  border: 1px solid #a6c4ad;
  border-radius: 25px;
  background: #fff;
  color: #426d50;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: none;
  cursor: pointer;
}

#cart-form .marvy-order-guide-btn:hover {
  background: #e6f1e8;
}

/* ==========================================
   取り寄せ品｜発送予定を予約品と同じデザインに
========================================== */

/* 発送予定全体 */
#cart-form .marvy-order-table {
  display: flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 10px auto !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: transparent !important;
  border: none !important;
}

/* 発送予定ラベル */
#cart-form .marvy-order-label {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 5px 9px !important;
  border: none !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #547760 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
}

/* 発送予定日数 */
#cart-form .marvy-order-value {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 5px 0 !important;
  border: none !important;
  background: transparent !important;
  color: #365a43 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
}

/* ==========================================
   MARVYBOXS 商品サムネイル 横一列表示
========================================== */

.fo-gallery-thumbnails {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 8px 0 12px !important;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.fo-gallery-thumbnails .fo-gallery-thumb {
  flex: 0 0 90px !important;
  width: 90px !important;
  height: 90px !important;
}

.fo-gallery-thumbnails .fo-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 767px) {
  .fo-gallery-thumbnails .fo-gallery-thumb {
    flex-basis: 72px !important;
    width: 72px !important;
    height: 72px !important;
  }
}

/* ==========================================
   MARVYBOXS サムネイル左右ナビゲーション
========================================== */

/* 矢印を含む外枠 */
.fo-gallery-nav-wrap {
  position: relative;
  width: 100%;
  padding: 0 30px;
  box-sizing: border-box;
}

/* 横スクロールは維持してバーだけ非表示 */
.fo-gallery-nav-wrap .fo-gallery-thumbnails {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.fo-gallery-nav-wrap .fo-gallery-thumbnails::-webkit-scrollbar {
  display: none !important;
}

/* 左右ボタン */
.fo-gallery-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 38px;
  padding: 0;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  background: #fff;
  color: #355c49;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.fo-gallery-nav-prev {
  left: 0;
}

.fo-gallery-nav-next {
  right: 0;
}

.fo-gallery-nav-arrow:hover {
  background: #f0f6f1;
}

.fo-gallery-nav-arrow:disabled {
  opacity: 0.3;
  cursor: default;
}


/* ==========================================
   MARVYBOXS 商品サムネイル左右ボタン
========================================== */

.fo-gallery-nav-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
}

.fo-gallery-nav-wrap .fo-gallery-thumbnails {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
  scroll-behavior: smooth;
}

.fo-gallery-nav-wrap .fo-gallery-thumbnails::-webkit-scrollbar {
  display: none;
}

.fo-gallery-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #ded8d0;
  border-radius: 50%;
  background: rgba(255,255,255,0.96);
  color: #24553f;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

.fo-gallery-nav-prev {
  left: 6px;
}

.fo-gallery-nav-next {
  right: 6px;
}

.fo-gallery-nav-arrow:hover:not(:disabled) {
  background: #24553f;
  color: #fff;
}

.fo-gallery-nav-arrow:disabled {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 767px) {
  .fo-gallery-nav-arrow {
    width: 30px;
    height: 30px;
    font-size: 23px;
  }
}


/* ==========================================
   MARVYBOXS この作品の見どころ
========================================== */

/* 全体の囲み */
.work-highlights {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  width: 100%;
  box-sizing: border-box;
  margin: 20px 0 30px;
  padding: 18px;
  background: #faf8f5;
  border: 1px solid #e5ded5;
  border-radius: 10px;
}

/* 各見どころ */
.work-highlights__item {
  box-sizing: border-box;
  margin: 0;
  padding: 18px 20px;
  background: #ffffff;
  border: 1px solid #eee7df;
  border-radius: 8px;
}

/* 見出し */
.work-highlights__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  padding: 0;
  color: #514337;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

/* アイコン */
.work-highlights__icon {
  flex: 0 0 auto;
  color: #a47b58;
  font-size: 23px !important;
  line-height: 1;
}

/* 説明文 */
.work-highlights__text {
  margin: 0 !important;
  padding: 0;
  color: #62574e;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.9;
}

/* スマートフォン */
@media (max-width: 767px) {
  .work-highlights {
    gap: 10px;
    padding: 12px;
  }

  .work-highlights__item {
    padding: 14px;
  }

  .work-highlights__title {
    font-size: 14px;
  }

  .work-highlights__text {
    font-size: 12px;
  }
}


/* ==========================================
   MARVYBOXS 基本情報テーブル
========================================== */

.product-info-table {
  width: 100% !important;
  margin: 18px 0 30px !important;
  border: 1px solid #e6ded5 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 9px !important;
  overflow: hidden;
  background: #fff !important;
  table-layout: fixed;
}

.product-info-table tbody {
  width: 100%;
}

.product-info-table tr {
  background: #fff !important;
}

.product-info-table th,
.product-info-table td {
  box-sizing: border-box;
  padding: 12px 15px !important;
  border: 0 !important;
  border-bottom: 1px solid #eee8e1 !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  vertical-align: middle !important;
  text-align: left !important;
  overflow-wrap: anywhere;
}


/* ==========================================
   基本情報：TH・TD両形式に対応
========================================== */

/* 左側：項目名 */
.product-info-table tr > :first-child {
  width: 32% !important;
  background: #faf7f2 !important;
  color: #695442 !important;
  font-weight: 700 !important;
  text-align: left !important;
}

/* 右側：商品情報 */
.product-info-table tr > :nth-child(2) {
  width: 68% !important;
  background: #fff !important;
  color: #40372f !important;
  font-weight: 400 !important;
  text-align: left !important;
}

/* 旧HTMLの指定を統一 */
.product-info-table .hpb-cnt-tb-cell1 {
  background: #faf7f2 !important;
  color: #695442 !important;
}

.product-info-table .hpb-cnt-tb-cell2 {
  background: #fff !important;
  color: #40372f !important;
}


/* ふりがな */
.product-info-table ruby {
  ruby-position: over;
}

.product-info-table rt {
  font-size: 9px;
  color: #8c8075;
}

/* スマートフォン */
@media (max-width: 767px) {
  .product-info-table th,
  .product-info-table td {
    padding: 10px 9px !important;
    font-size: 12px !important;
  }

  .product-info-table th {
    width: 34% !important;
  }

  .product-info-table td {
    width: 66% !important;
  }
}


/* ==========================================
   MARVYBOXS 商品説明 共通デザイン 2026
   おすすめポイント・作品紹介
========================================== */

/* おすすめポイント */
.fo-description .marvy-catch-box {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 16px 0 28px;
  padding: 17px 20px;
  background: #faf7f2;
  border: 1px solid #e8ddd0;
  border-left: 4px solid #b99b7d;
  border-radius: 9px;
}

.fo-description .marvy-catch-label {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  color: #936f50;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.fo-description .marvy-catch-text {
  display: block;
  margin: 0 !important;
  padding: 0;
  color: #443a32;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.85;
}

/* 作品紹介のキャッチコピー */
.fo-description .catch {
  margin: 10px 0 22px;
  padding: 0 0 12px;
  border-bottom: 1px solid #e8ddd0;
  color: #705640;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
}

/* 作品紹介本文 */
.fo-description .fo-feature__text {
  margin: 0 0 20px;
}

.fo-description .fo-feature__text p {
  margin: 0 0 16px;
  color: #40372f;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.95;
}

/* 作品紹介内の画像 */
.fo-description .fo-feature__image {
  margin: 20px 0 24px;
}

.fo-description .fo-feature__image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* スマートフォン */
@media (max-width: 767px) {
  .fo-description .marvy-catch-box {
    padding: 14px 15px;
    margin: 14px 0 24px;
  }

  .fo-description .marvy-catch-text {
    font-size: 13px;
  }

  .fo-description .catch {
    font-size: 14px;
  }

  .fo-description .fo-feature__text p {
    font-size: 13px;
    line-height: 1.9;
  }
}

/* ==========================================
   MARVYBOXS 商品説明画像の角丸
========================================== */

.fo-description .pacard {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 10px !important;
}

.fo-description .pacard img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 10px !important;
}


/* ==========================================
   MARVYBOXS 作品紹介 2カラムレイアウト
   PC：文章左・画像右
   スマホ：縦並び
========================================== */

/* 作品紹介全体 */
.fo-description .fo-feature {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 18px 0 30px !important;
}

/* 左側：作品紹介文章 */
.fo-description .fo-feature__text {
  min-width: 0;
  margin: 0 !important;
}

.fo-description .fo-feature__text p {
  margin: 0 0 15px !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
}

/* 右側：商品画像 */
.fo-description .fo-feature__image {
  min-width: 0;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fo-description .fo-feature__image a {
  display: block;
  width: 100%;
}

.fo-description .fo-feature__image img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 9px !important;
}

/* 画像下の注釈 */
.fo-description .fo-feature__image p {
  margin: 8px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
  color: #888 !important;
  text-align: center !important;
}

/* 商品説明エリアが狭い場合は縦並び */
@media (max-width: 1100px) {
  .fo-description .fo-feature {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .fo-description .fo-feature__text p {
    font-size: 14px !important;
  }
}

/* ==========================================
   MARVYBOXS 2026
   商品説明｜ふんわり表示アニメーション
========================================== */

/* 初期状態 */
.fo-description .fo-scroll-fade {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

/* スクロールして表示領域に入ったとき */
.fo-description .fo-scroll-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* JavaScriptで連動表示する要素 */
.fo-description .fo-scroll-fade-linked {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.fo-description .fo-scroll-fade-linked.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 動きを減らす設定の利用者にはアニメーションを適用しない */
@media (prefers-reduced-motion: reduce) {
  .fo-description .fo-scroll-fade,
  .fo-description .fo-scroll-fade-linked {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ==========================================
   MARVYBOXS 送料案内の位置調整・修正版
   送料無料の表示条件は変更しない
========================================== */

/* 送料案内の配置のみ調整 */
.fo-product-wrap .fo-buy-panel .fo-free-shipping,
.fo-product-wrap .fo-buy-panel .fo-shipping-guide {
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  text-align: left !important;
}

/* トラックアイコン */
.fo-product-wrap .fo-buy-panel .fo-free-shipping > svg,
.fo-product-wrap .fo-buy-panel .fo-shipping-guide > svg,
.fo-product-wrap .fo-buy-panel .fo-free-shipping > .material-symbols-outlined,
.fo-product-wrap .fo-buy-panel .fo-shipping-guide > .material-symbols-outlined {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  font-size: 24px;
}

/* 説明文を左寄せ */
.fo-product-wrap .fo-buy-panel .fo-shipping-text {
  flex: 1;
  min-width: 0;
  align-items: flex-start !important;
  text-align: left !important;
}

/* ==========================================
   MARVYBOXS 会員特別価格案内 左寄せ
========================================== */

/* ボックス全体 */
.fo-product-wrap .fo-buy-panel .fo-member-price-guide {
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  text-align: left !important;
}

/* 会員アイコン */
.fo-product-wrap .fo-buy-panel .fo-member-price-guide > svg,
.fo-product-wrap .fo-buy-panel .fo-member-price-guide > .material-symbols-outlined {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  font-size: 20px;
}

/* 文章全体 */
.fo-product-wrap .fo-buy-panel .fo-member-price-content {
  flex: 1;
  min-width: 0;
  text-align: left !important;
}

/* 注意書き */
.fo-product-wrap .fo-buy-panel .fo-member-price-note {
  text-align: left !important;
}


/* ==========================================
   MARVYBOXS スマホ 商品名重複表示の修正
========================================== */

@media screen and (max-width: 991px) {
  .fo-product-wrap .fo-duplicate-title {
    display: none !important;
  }
}

/* ==========================================
   MARVYBOXS スマホ 商品名サイズ調整
========================================== */

@media screen and (max-width: 767px) {
  .fo-product-intro .fo-product-title {
    font-size: 18px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    margin: 10px 0 15px !important;
    overflow-wrap: anywhere;
  }
}

/* ==========================================
   MARVYBOXS スマホ購入パネル 左右位置調整
========================================== */

@media screen and (max-width: 767px) {

  .fo-product-wrap > .fo-purchase-column {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
  }

  .fo-product-wrap .fo-purchase-column > .fo-buy-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

}

/* ==========================================
   MARVYBOXS スマホ 商品詳細下部の余白調整
   2026-10-16
========================================== */

@media screen and (max-width: 767px) {

  /* お問い合わせ・買い物を続ける */
  .p-page-content.product .fo-footer-guide,

  /* レビュー */
  .p-page-content.product .fo-review,

  /* お得な情報・公式SNS */
  .p-page-content.product .fo-product-links,

  /* おすすめ商品 */
  .p-page-content.product .fo-common-recommend {

    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;

    padding-left: 15px !important;
    padding-right: 15px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}

/* ==========================================
   MARVYBOXS スマホ
   お気に入り・最近チェックした商品 余白調整
========================================== */

@media screen and (max-width: 767px) {

  .p-page-content.product > .fo-favorite-section,
  .p-page-content.product > .fo-history-section {
    box-sizing: border-box !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

}

/* ==========================================
   MARVYBOXS スマホ
   全ページ共通 フッター左右余白調整
========================================== */

@media screen and (max-width: 767px) {

  .fo-new-footer {
    box-sizing: border-box !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

}

/* ==========================================
   MARVYBOXS スマホ
   全ページ共通 フッター余白修正
========================================== */

@media screen and (max-width: 767px) {

  body footer.fo-new-footer {
    box-sizing: border-box !important;
    padding: 42px 15px 18px !important;
  }

}

