/* TOPカルーセル：初期化前だけ非表示 */
#topdesign:not(:has(.fs-pt-carousel__track.slick-initialized)) {
  visibility: hidden !important;
}
/* =========================================
   商品名サイズ 強制指定
   PC：9px / SP：8px
========================================= */

/* PC */
.custom-carousel-section .shapun-item-card .shapun-item-name,
.custom-carousel-section .shapun-item-card .shapun-item-name *,
.custom-carousel-section .shapun-item-name,
.custom-carousel-section .shapun-item-name * {
    font-size: 12px !important;
    line-height: 1.35 !important;
}

/* SP */
@media screen and (max-width: 768px) {
    .custom-carousel-section .shapun-item-card .shapun-item-name,
    .custom-carousel-section .shapun-item-card .shapun-item-name *,
    .custom-carousel-section .shapun-item-name,
    .custom-carousel-section .shapun-item-name * {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }
}
/* =========================================
   PC版：サイト全体の横幅を狭くする
========================================= */

@media screen and (min-width: 768px) {

  .fs-l-page {
    width: 100% !important;
  }

  .fs-l-main,
  .fs-l-main__content,
  .fs-l-container {
    width: 100% !important;
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

}


/*価格表記を￥→円に変更*/
.fs-c-price__currencyMark {
  display: none;
}

.fs-c-price::after {
  content: "円";
}


/* ---------------- 1. 見出し（タイトル部分） ---------------- */
.fs-c-productlist__header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  padding: 10px 15px !important;
  margin-bottom: 5px !important;
}

/* タイトルとピンクのアクセント線 */
.fs-c-productlist__title {
  font-size: 18px !important;
  font-weight: bold !important;
  color: #333333 !important;
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 4px !important;
  margin: 0 !important;
}

.fs-c-productlist__title::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: #e83872 !important;
  border-radius: 2px !important;
}

/* 「すべて見る」リンク */
.fs-c-productlist__more {
  font-size: 13px !important;
  color: #0073a8 !important;
  text-decoration: none !important;
  font-weight: bold !important;
  white-space: nowrap !important;
}


/* ---------------- 2. 商品リスト（横スクロールコンテナ） ---------------- */
.fs-c-productlist,
.fs-c-product-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: auto !important;
  scroll-snap-type: x mandatory !important;
  padding: 0 0 15px 0 !important;
  margin: 0 !important;
  gap: 2px !important; /* 画像同士の極細スキマ */
}

/* スクロールバー非表示 */
.fs-c-productlist::-webkit-scrollbar,
.fs-c-product-list::-webkit-scrollbar {
  display: none !important;
}

/* 各商品カード（横に約3.5個分見せる計算） */
.fs-c-productlist__item,
.fs-c-product-list__item {
  flex: 0 0 28vw !important;
  max-width: 28vw !important;
  min-width: 105px !important;
  scroll-snap-align: start !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  padding: 0 2px !important;
}

/* 商品画像（正方形・角丸なし） */
.fs-c-productlist__item img,
.fs-c-product-list__item img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0px !important;
}


/* ---------------- 3. 商品名・価格 ---------------- */
/* 商品名（2行で揃える） */
.fs-c-productlist__name,
.fs-c-product-list__name {
  font-size: 11px !important;
  line-height: 1.3 !important;
  color: #666666 !important;
  margin: 6px 0 4px 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  height: 2.6em !important;
}

/* 価格（赤色＋太字） */
.fs-c-productlist__price,
.fs-c-product-list__price {
  font-size: 14px !important;
  font-weight: bold !important;
  color: #d9333f !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 2px !important;
}

/* (税込) の表記 */
.fs-c-productlist__price::after,
.fs-c-product-list__price::after {
  content: "(税込)" !important;
  font-size: 10px !important;
  font-weight: normal !important;
  color: #888888 !important;
}


/* ==========================================================
    カルーセル用のCSS
   ========================================================== */

/* 1. マウスホバーやタップによる一時停止をCSSで無効化 */
.fs-c-carousel,
.fs-c-carousel .slick-slider,
.fs-c-carousel .slick-list,
.fs-c-carousel .slick-track,
.topdesign,
[class*="carousel"] {
  pointer-events: auto !important;
}

/* 2. Slickが自動停止時に付与するクラスを無視 */
.fs-c-carousel .slick-slider.slick-paused .slick-track,
.topdesign .slick-slider.slick-paused .slick-track {
  animation-play-state: running !important;
}


/* 3. ホバー時アニメーション維持 */
.fs-c-carousel:hover .slick-track,
.topdesign:hover .slick-track,
[class*="carousel"]:hover .slick-track {
  animation-play-state: running !important;
}

/* 1. 全体のコンテナ設定 */
.fs-c-carouselPart,
.fs-c-carousel,
.topdesign,
[class*="carousel"] {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 0px !important; 
  padding: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  height: auto !important;
}

/* 2. 外枠の設定（表示エリア確保） */
.fs-c-carousel .slick-list,
.topdesign .slick-list,
[class*="carousel"] .slick-list {
  overflow: visible !important;
  padding: 0 14% !important; 
  touch-action: pan-y !important; 
  cursor: grab !important;
  height: auto !important;
}
.fs-c-carousel .slick-list:active {
  cursor: grabbing !important;
}

/* 3. トラック設定 */
.fs-c-carousel .slick-track {
  display: flex !important;
  align-items: stretch !important;
  height: auto !important;
  transition-timing-function: linear !important;
}

/* 4. スライド枠の設定（隙間3px） */
.fs-c-carousel .slick-slide,
.topdesign .slick-slide,
[class*="carousel"] .slick-slide {
  padding: 0 3px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  height: auto !important;
  width: 48.0vw !important;
}
/* 5. 画像の設定（枠いっぱいにフィット・左右半透明） */
.fs-c-carousel .slick-slide img,
.topdesign .slick-slide img,
[class*="carousel"] .slick-slide img {
  width: 100% !important; 
  height: auto !important; 
  max-width: 100% !important;
  display: block !important;
  object-fit: cover !important; 
  border-radius: 8px !important; /* 角丸 */
  opacity: 0.5 !important; 
  transition: opacity 0.4s ease !important;
}

/* 6. 中央に来た画像は100%くっきり表示 */
.fs-c-carousel .slick-slide.slick-center img,
.topdesign .slick-slide.slick-center img,
[class*="carousel"] .slick-slide.slick-center img {
  opacity: 1 !important; 
}

/* 左右の非アクティブ画像のクリック無効化 */
.fs-c-carousel .slick-slide:not(.slick-center) a,
.topdesign .slick-slide:not(.slick-center) a {
  pointer-events: none !important;
}
.fs-c-carousel .slick-slide.slick-center a,
.topdesign .slick-slide.slick-center a {
  pointer-events: auto !important;
}

/* ---------------- 7. ドット（丸ぽち）の調整（下のドットと完全同一ジャストサイズ） ---------------- */
.fs-c-carousel .slick-dots,
.topdesign .slick-dots,
[class*="carousel"] .slick-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 15px 0 10px 0 !important;
  position: relative !important;
  z-index: 999 !important;
  gap: 8px !important;
}

.fs-c-carousel .slick-dots li,
.topdesign .slick-dots li,
[class*="carousel"] .slick-dots li {
  margin: 0 !important; 
  width: 8px !important;
  height: 8px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 通常時のドット（直径6px・グレー） */
.fs-c-carousel .slick-dots li button,
.topdesign .slick-dots li button,
[class*="carousel"] .slick-dots li button {
  width: 6px !important;
  height: 6px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background-color: #a0a0a0 !important;
  cursor: pointer !important;
  display: block !important;
  transition: all 0.2s ease !important;
  transform: none !important;
}

/* 不要な文字記号（•）を非表示化 */
.fs-c-carousel .slick-dots li button:before,
.fs-c-carousel .slick-dots li button span,
.topdesign .slick-dots li button:before,
[class*="carousel"] .slick-dots li button:before {
  display: none !important;
  content: "" !important;
}

/* アクティブ時のドット（直径8px・真っ黒） */
.fs-c-carousel .slick-dots li.slick-active button,
.topdesign .slick-dots li.slick-active button,
[class*="carousel"] .slick-dots li.slick-active button {
  width: 8px !important;
  height: 8px !important;
  background-color: #000000 !important; 
  transform: none !important;
}


/* --- 度数リストの区切り線＆横幅100%補正 --- */

/* エリア全体の幅を拡張 */
.fs-c-productVariation,
.fs-c-productVariationTable,
.fs-c-productVariationList,
.fs-c-productVariationTable__table {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* --- バリエーション区切り線（強制表示CSS） --- */

/* 全要素のボックス定義 */
[class*="productVariation"] *,
[class*="productVariation"] *::before,
[class*="productVariation"] *::after {
  box-sizing: border-box !important;
}

/* テーブル・リスト共通：各行要素への下線 */
.fs-c-productVariationTable tr,
.fs-c-productVariationTable td,
.fs-c-productVariationTable th,
.fs-c-productVariationList__item,
.fs-c-productVariationCart__item,
.fs-c-productVariation__item,
[class*="productVariation"] tr,
[class*="productVariation"] tr > td,
[class*="productVariation"] tr > th,
[class*="productVariation"] li,
[class*="productVariation"] [class*="item"],
[class*="productVariation"] [class*="row"] {
  border-bottom: 1px solid #e0e0e0 !important;
  box-shadow: 0 1px 0 0 #e0e0e0 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* 一番上の行だけに上線を追加 */
.fs-c-productVariationTable tr:first-child,
.fs-c-productVariationTable tr:first-child > td,
.fs-c-productVariationTable tr:first-child > th,
.fs-c-productVariationList__item:first-child,
.fs-c-productVariationCart__item:first-child,
[class*="productVariation"] tr:first-child,
[class*="productVariation"] tr:first-child > td,
[class*="productVariation"] li:first-child,
[class*="productVariation"] [class*="item"]:first-child {
  border-top: 1px solid #e0e0e0 !important;
}


/* タグ全体の囲み */
.product-spec-tags, .fs-c-productTagList {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 15px 0;
  padding: 0;
  list-style: none;
}

/* タグ1つあたりの共通デザイン */
.spec-tag, .fs-c-productTagList__item {
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 4px;
  background-color: #e0e0e0;
  color: #333333;
}

/* 色を分けたい場合のバリエーション */
.spec-tag.pink {
  background-color: #ffd1dc;
  color: #d81b60;
}
.spec-tag.blue {
  background-color: #d0f0fd;
  color: #0277bd;
}
.spec-tag.gray {
  background-color: #eeeeee;
  color: #666666;
}


.c-product-mark__item,
.c-product-mark span,
.fs-c-productMark__item {
  font-weight: 900 !important;
  font-size: 15px !important;
  padding: 1px 1px !important;
  line-height: 1.2 !important;
}

/* --- 商品詳細ページの販売価格を濃く・太くする設定 --- */
.c-product-price,
.c-product-price__price,
.c-product-price__value,
.c-product-detail__price,
.fs-c-productPrice__price {
  font-weight: 900 !important;
  color: #111111 !important;
  letter-spacing: 0.02em;
}

/* 価格の「￥」や「円」マークも含めて濃くする場合 */
.c-product-price__unit,
.c-product-price__currency {
  font-weight: bold !important;
  color: #111111 !important;
} 

.slider-wrapper [class*="price"] *,
.slider-wrapper [class*="Price"] * {
  display: inline !important;
  font-size: 12px !important;
  font-weight: normal !important;
  color: #aaaaaa !important;
}

/* 新着商品・コラム等の画像を強制的に縮小 */
.fs-c-column__image img,
.fs-c-column img,
.fs-c-panel img,
.fs-c-freeImg img {
  max-width: 50px !important;
  width: 100% !important;
  height: auto !important;
}

/* コラムパーツ強制5列化 */
.fs-pt-column--5,
.fs-pt-column--5 .fs-c-column {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  width: 100% !important;
  gap: 10px !important;
}

/* 各子コラム */
.fs-pt-column--5 > *,
.fs-pt-column--5 .fs-c-column__item,
.fs-pt-column--5 .fs-c-column > * {
  width: 19% !important;
  max-width: 19% !important;
  flex: 0 0 19% !important;
  box-sizing: border-box !important;
}

/* 画像サイズを枠いっぱいにフィットさせる */
.fs-pt-column--5 img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}




/* =========================================
   度数バリエーション 横線
========================================= */

.fs-c-variationCart > li {
  border-bottom: 1px solid #e0e0e0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* 一番上にも線 */
.fs-c-variationCart > li:first-child {
  border-top: 1px solid #e0e0e0 !important;
}





/* =========================================================
   カラーバリエーション全体
========================================================= */

.fs-auto-colorVariation {
  width: 390px;
  max-width: 100%;
  margin: 24px 0 0;
  padding: 16px 14px 14px;
  box-sizing: border-box;

  background: #f7f7f7;
}


/* タイトル */
.fs-auto-colorVariation__title {
  margin: 0 0 14px;

  text-align: center;

  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;

  color: #222;
}


/* =========================================================
   3列グリッド
========================================================= */

.fs-auto-colorVariation__grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 8px;
}


/* =========================================================
   商品カード
========================================================= */

.fs-auto-colorVariation__item {
  position: relative;

  display: block;

  width: 100%;

  box-sizing: border-box;

  border: 1px solid #e2e2e2;

  background: #fff;

  overflow: hidden;

  text-decoration: none;

  transition:
    opacity .2s ease,
    border-color .2s ease;
}


.fs-auto-colorVariation__item:hover {
  opacity: .78;

  border-color: #aaa;
}


/* =========================================================
   商品画像
========================================================= */

.fs-auto-colorVariation__item img {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  aspect-ratio: 1 / 1;

  object-fit: cover;
}


/* =========================================================
   現在見ている商品
========================================================= */

.fs-auto-colorVariation__item.is-current {
  border: 2px solid #ff6f91;
}


/* 現在商品の小さい表示 */
.fs-auto-colorVariation__item.is-current::after {
  content: "SELECT";

  position: absolute;

  right: 4px;
  bottom: 4px;

  padding: 2px 5px;

  border-radius: 2px;

  background: #ff6f91;

  color: #fff;

  font-size: 8px;
  line-height: 1.3;
  font-weight: bold;

  letter-spacing: .03em;
}


/* =========================================================
   読み込み中
========================================================= */

.fs-auto-colorVariation__loading {
  grid-column: 1 / -1;

  padding: 16px 0;

  text-align: center;

  font-size: 11px;

  color: #999;
}


/* =========================================================
   スマホ
========================================================= */

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

  .fs-auto-colorVariation {
    width: 100%;
    max-width: 100%;

    margin-top: 20px;

    padding: 14px 10px 10px;
  }

  .fs-auto-colorVariation__grid {
    gap: 6px;
  }

}




<script>

document.addEventListener(
  'DOMContentLoaded',
  function () {


    /* =====================================================
       商品名取得
    ===================================================== */

    const productNameElement =

      document.querySelector(
        '.fs-c-productNameHeading'
      )

      ||

      document.querySelector(
        '[class*="productNameHeading"]'
      )

      ||

      document.querySelector('h1');


    const productName =

      productNameElement

        ? productNameElement
            .textContent
            .trim()

        : document.title;


    const normalizedProductName =
      productName.toLowerCase();



    /* =====================================================
       ブランド / シリーズ → 商品グループ対応表

       ★上から順番に判定します
       ★1monthなど具体的な条件を先に置く
    ===================================================== */

    const GROUP_RULES = [


      /* ==============================
         シャプン
      ============================== */

      {
        keywords: [
          'シャプン',
          'chapun'
        ],

        group: '/c/chapun'
      },


      /* ==============================
         TOPARDS
      ============================== */

      {
        keywords: [
          'トパーズ',
          '1month'
        ],

        group: '/c/topards1month'
      },

      {
        keywords: [
          'topards',
          '1month'
        ],

        group: '/c/topards1month'
      },

      {
        keywords: [
          'トパーズ'
        ],

        group: '/c/topards'
      },

      {
        keywords: [
          'topards'
        ],

        group: '/c/topards'
      },


      /* ==============================
         feliamo
      ============================== */

      {
        keywords: [
          'フェリアモ',
          '1month'
        ],

        group: '/c/feliamo1month'
      },

      {
        keywords: [
          'feliamo',
          '1month'
        ],

        group: '/c/feliamo1month'
      },

      {
        keywords: [
          'フェリアモ'
        ],

        group: '/c/feliamo'
      },

      {
        keywords: [
          'feliamo'
        ],

        group: '/c/feliamo'
      },


      /* ==============================
         colors
      ============================== */

      {
        keywords: [
          'カラーズ',
          'マンスリー'
        ],

        group: '/c/colors'
      },

      {
        keywords: [
          'colors',
          '1month'
        ],

        group: '/c/colors'
      },

      {
        keywords: [
          'カラーズ',
          'ワンデー'
        ],

        group: '/c/colors1d'
      },

      {
        keywords: [
          'colors',
          '1day'
        ],

        group: '/c/colors1d'
      },


      /* ==============================
         Flurry
      ============================== */

      {
        keywords: [
          'フルーリー',
          'マンスリー'
        ],

        group: '/c/flurry1month'
      },

      {
        keywords: [
          'flurry',
          '1month'
        ],

        group: '/c/flurry1month'
      },

      {
        keywords: [
          'フルーリーバイカラーズ'
        ],

        group: '/c/flurrybycolors'
      },

      {
        keywords: [
          'flurry by colors'
        ],

        group: '/c/flurrybycolors'
      },


      /* ==============================
         PRIMORE
      ============================== */

      {
        keywords: [
          'プリモア',
          'マンスリー'
        ],

        group: '/c/primore1month'
      },

      {
        keywords: [
          'primore',
          '1month'
        ],

        group: '/c/primore1month'
      },

      {
        keywords: [
          'プリモア',
          'ワンデー'
        ],

        group: '/c/primore1day'
      },

      {
        keywords: [
          'primore',
          '1day'
        ],

        group: '/c/primore1day'
      },


      /* ==============================
         Motecon
      ============================== */

      {
        keywords: [
          'モテコン',
          'マンスリー'
        ],

        group: '/c/moteconmonthly'
      },

      {
        keywords: [
          'motecon',
          'monthly'
        ],

        group: '/c/moteconmonthly'
      },


      /* ==============================
         MOLAK
      ============================== */

      {
        keywords: [
          'モラク',
          'マンスリー'
        ],

        group: '/c/molak1month'
      },

      {
        keywords: [
          'molak',
          '1month'
        ],

        group: '/c/molak1month'
      },

      {
        keywords: [
          'モラク',
          'ワンデー'
        ],

        group: '/c/molak1day'
      },

      {
        keywords: [
          'molak',
          '1day'
        ],

        group: '/c/molak1day'
      },


      /* ==============================
         ReVIA
      ============================== */

      {
        keywords: [
          'レヴィア',
          'ブルーライト'
        ],

        group: '/c/reviablb'
      },

      {
        keywords: [
          'revia',
          'blue light'
        ],

        group: '/c/reviablb'
      },


      {
        keywords: [
          'レヴィア',
          'マンスリー',
          'サークル'
        ],

        group: '/c/revia1month-circle'
      },


      {
        keywords: [
          'レヴィア',
          'ワンデー',
          'サークル'
        ],

        group: '/c/revia1day-circle'
      },


      {
        keywords: [
          'レヴィア',
          'クリア',
          '低含水'
        ],

        group: '/c/reviaclear1day-m38'
      },


      {
        keywords: [
          'レヴィア',
          'クリア',
          '高含水'
        ],

        group: '/c/reviaclear1day-m55'
      },


      {
        keywords: [
          'レヴィア',
          'マンスリー',
          'カラー'
        ],

        group: '/c/revia1month-color'
      },


      {
        keywords: [
          'レヴィア',
          'ワンデー',
          'カラー'
        ],

        group: '/c/gr889'
      },


      /* ==============================
         SIE.
      ============================== */

      {
        keywords: [
          'シー',
          'マンスリー',
          'シリコーン'
        ],

        group: '/c/sie1month-silicone'
      },


      {
        keywords: [
          'sie',
          '1month'
        ],

        group: '/c/sie1month-silicone'
      },


      {
        keywords: [
          'シー',
          'ワンデー',
          'シリコーン'
        ],

        group: '/c/sie1day-silicone'
      },


      {
        keywords: [
          'sie',
          '1day'
        ],

        group: '/c/sie1day-silicone'
      },


      /* ==============================
         その他
      ============================== */

      {
        keywords: [
          'ミムコ',
          'mimuco'
        ],

        group: '/c/mimuco'
      },


      {
        keywords: [
          'ミレディ',
          'melady'
        ],

        group: '/c/melady'
      },


      {
        keywords: [
          'メロット',
          'melotte'
        ],

        group: '/c/melotte'
      },


      {
        keywords: [
          'メロール',
          'mellow'
        ],

        group: '/c/mellow'
      },


      {
        keywords: [
          'ラヴェール',
          'loveil'
        ],

        group: '/c/loveil'
      },


      {
        keywords: [
          'リセイ',
          'resay'
        ],

        group: '/c/resay'
      },


      {
        keywords: [
          'ビューム',
          'viewm'
        ],

        group: '/c/viewm1day'
      },


      {
        keywords: [
          'フランミー',
          'flanmy'
        ],

        group: '/c/FLANMY'
      },


      {
        keywords: [
          'ハルネ',
          'harne'
        ],

        group: '/c/harne'
      },


      {
        keywords: [
          'パース',
          'perse'
        ],

        group: '/c/perse'
      },


      {
        keywords: [
          'チューズミー',
          'chu'
        ],

        group: '/c/chusme'
      },


      {
        keywords: [
          'ミチョウ',
          'michou'
        ],

        group: '/c/michou'
      },


      {
        keywords: [
          'マジェット',
          'majette'
        ],

        group: '/c/majette-relax'
      },


      {
        keywords: [
          'ベイビーモテコン',
          'baby motecon'
        ],

        group: '/c/BabyMotecon'
      },


      {
        keywords: [
          'ヴェルヴェティア',
          'velvetear'
        ],

        group: '/c/velvetear'
      },


      {
        keywords: [
          'ミミシャルム',
          'mimi charme'
        ],

        group: '/c/minicharme'
      },


      {
        keywords: [
          'キュプリエ',
          'quprie'
        ],

        group: '/c/Qupirie'
      }

    ];



    /* =====================================================
       判定関数

       keywordsが全部商品名に含まれていたら一致
    ===================================================== */

    function detectGroup() {


      for (
        const rule of GROUP_RULES
      ) {


        const matched =
          rule.keywords.every(
            function(keyword) {

              return normalizedProductName
                .includes(
                  keyword.toLowerCase()
                );

            }
          );


        if (matched) {

          return rule.group;

        }

      }


      return null;

    }



    const groupURL =
      detectGroup();



    /* 判定できない場合は何もしない */

    if (!groupURL) {

      console.log(
        'カラーバリエーション：' +
        '対応商品グループなし',
        productName
      );

      return;

    }



    /* =====================================================
       表示先

       商品説明全体の一番下
    ===================================================== */

    const descriptionWrap =

      document.querySelector(
        '.product-description-wrap'
      )

      ||

      document.querySelector(
        '.fs-p-productDescription--full'
      )

      ||

      document.querySelector(
        '[class*="productDescription"]'
      );


    if (!descriptionWrap) {

      console.log(
        'カラーバリエーション：' +
        '商品説明エリアが見つかりません'
      );

      return;

    }



    /* =====================================================
       重複表示防止
    ===================================================== */

    if (
      document.querySelector(
        '.fs-auto-colorVariation'
      )
    ) {

      return;

    }



    /* =====================================================
       HTML作成
    ===================================================== */

    const wrapper =
      document.createElement('div');


    wrapper.className =
      'fs-auto-colorVariation';


    wrapper.innerHTML = `

      <div
        class="
          fs-auto-colorVariation__title
        "
      >
        カラーバリエーション
      </div>


      <div
        class="
          fs-auto-colorVariation__grid
        "
      >

        <div
          class="
            fs-auto-colorVariation__loading
          "
        >
          カラーを読み込んでいます...
        </div>

      </div>

    `;



    descriptionWrap.appendChild(
      wrapper
    );


    const grid =
      wrapper.querySelector(
        '.fs-auto-colorVariation__grid'
      );



    /* =====================================================
       URL正規化
    ===================================================== */

    function normalizePath(url) {


      try {

        return new URL(
          url,
          location.origin
        )
        .pathname
        .replace(/\/+$/, '');

      }

      catch (e) {

        return '';

      }

    }



    const currentPath =
      normalizePath(
        location.href
      );



    /* =====================================================
       商品グループ取得
    ===================================================== */

    fetch(
      groupURL,
      {
        credentials:
          'same-origin'
      }
    )


    .then(
      function(response) {


        if (!response.ok) {

          throw new Error(
            '商品グループ取得失敗'
          );

        }


        return response.text();

      }
    )


    .then(
      function(html) {


        const parser =
          new DOMParser();


        const doc =
          parser.parseFromString(
            html,
            'text/html'
          );



        /* ===============================================
           商品一覧候補
        =============================================== */

        let cards =
          doc.querySelectorAll(

            '.fs-c-productList__list__item,' +

            '.fs-c-productListItem,' +

            '.fs-c-productList__item,' +

            '[class*="productList"]' +
            '[class*="item"]'

          );



        /* 読み込み表示消去 */

        grid.innerHTML = '';



        /* 商品カード取得できなければ終了 */

        if (!cards.length) {

          wrapper.remove();

          console.log(
            'カラーバリエーション：' +
            '商品カードを取得できません'
          );

          return;

        }



        const added =
          new Set();


        let count = 0;


        const MAX_ITEMS =
          40;



        /* ===============================================
           商品カード処理
        =============================================== */

        cards.forEach(
          function(card) {


            if (
              count >= MAX_ITEMS
            ) {

              return;

            }



            /* ---------------------------------
               商品画像
            --------------------------------- */

            const image =
              card.querySelector(
                'img'
              );


            if (!image) {

              return;

            }



            /* ---------------------------------
               商品リンク
            --------------------------------- */

            const links =
              card.querySelectorAll(
                'a[href]'
              );


            let productLink =
              null;



            for (
              const link of links
            ) {


              const href =
                link.getAttribute(
                  'href'
                );


              if (!href) {

                continue;

              }


              const path =
                normalizePath(
                  href
                );


              if (!path) {

                continue;

              }



              /* 商品グループ自身は除外 */

              if (
                path ===
                normalizePath(
                  groupURL
                )
              ) {

                continue;

              }



              /* futureshop商品URL候補 */

              if (
                path.includes(
                  '/c/'
                )

                ||

                path.includes(
                  '/product/'
                )

                ||

                path.split('/')
                  .filter(Boolean)
                  .length >= 2
              ) {

                productLink =
                  link;

                break;

              }

            }



            if (!productLink) {

              return;

            }



            const productPath =
              normalizePath(
                productLink.href
              );



            if (!productPath) {

              return;

            }



            /* 重複排除 */

            if (
              added.has(
                productPath
              )
            ) {

              return;

            }


            added.add(
              productPath
            );



            /* ---------------------------------
               画像URL取得
            --------------------------------- */

            const imageURL =

              image.getAttribute(
                'data-src'
              )

              ||

              image.getAttribute(
                'data-original'
              )

              ||

              image.getAttribute(
                'data-lazy'
              )

              ||

              image.getAttribute(
                'src'
              );



            if (!imageURL) {

              return;

            }



            /* =================================
               カード作成
            ================================= */

            const item =
              document.createElement(
                'a'
              );



            item.className =
              'fs-auto-colorVariation__item';


            item.href =
              productLink.href;



            /* 現在の商品 */

            if (
              productPath ===
              currentPath
            ) {


              item.classList.add(
                'is-current'
              );


              item.setAttribute(
                'aria-current',
                'page'
              );

            }



            /* 商品画像 */

            const img =
              document.createElement(
                'img'
              );


            img.src =
              new URL(
                imageURL,
                location.origin
              ).href;


            img.alt =
              image.getAttribute(
                'alt'
              )
              || '';


            img.loading =
              'lazy';



            item.appendChild(
              img
            );


            grid.appendChild(
              item
            );


            count++;

          }
        );



        /* ===============================================
           取得0件
        =============================================== */

        if (count === 0) {

          wrapper.remove();

          console.log(
            'カラーバリエーション：' +
            '商品取得0件'
          );

        }

      }
    )


    .catch(
      function(error) {


        console.error(
          'カラーバリエーションエラー：',
          error
        );


        wrapper.remove();

      }
    );


  }
);

</script>



/* =========================================
   商品詳細レイアウト 修正版
========================================= */

@media screen and (min-width: 768px) {

  /* ★実際の親クラスに修正 */
  .fs-l-productLayout {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 1015px !important;

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

    gap: 25px !important;
  }


  /* 左：画像・サムネ・説明 */
  .fs-l-productLayout__item--1 {
    flex: 0 0 390px !important;

    width: 390px !important;
    min-width: 390px !important;
    max-width: 390px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }


  /* 右：商品名・価格・度数 */
  .fs-l-productLayout__item--2 {
    flex: 0 0 600px !important;

    width: 600px !important;
    min-width: 600px !important;
    max-width: 600px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }


  /* メイン画像 */
  .fs-c-productMainImage,
  .fs-c-productMainImage__imageContainer {
    width: 390px !important;
    max-width: 390px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }



  .fs-c-productMainImage img {
    display: block !important;

    width: 390px !important;
    max-width: 390px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* サムネイル */
  .fs-c-productThumbnail {
    width: 390px !important;
    max-width: 390px !important;

    margin-top: 14px !important;

    box-sizing: border-box !important;
  }


  /* 左側の商品説明 */
  .product-description-wrap {
    width: 390px !important;
    max-width: 390px !important;

    box-sizing: border-box !important;
  }

}


@media screen and (min-width: 768px) {

  form .fs-l-productLayout,
  .fs-l-productLayout {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 1015px !important;

    margin: 0 auto !important;

    gap: 25px !important;
  }

  .fs-l-productLayout__item--1 {
    flex: 0 0 390px !important;
    width: 390px !important;
    min-width: 390px !important;
    max-width: 390px !important;
  }

  .fs-l-productLayout__item--2 {
    flex: 0 0 600px !important;
    width: 600px !important;
    min-width: 600px !important;
    max-width: 600px !important;
  }

  .fs-c-productMainImage,
  .fs-c-productMainImage__imageContainer,
  .fs-c-productMainImage img {
    width: 390px !important;
    max-width: 390px !important;
    height: auto !important;
  }

}

@media screen and (min-width: 768px) {

  .fs-l-productLayout {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 1015px !important;

    margin: 0 auto !important;
    gap: 25px !important;
  }

  .fs-l-productLayout__item--1 {
    flex: 0 0 390px !important;
    width: 390px !important;
    min-width: 390px !important;
    max-width: 390px !important;
  }

  .fs-l-productLayout__item--2 {
    flex: 0 0 600px !important;
    width: 600px !important;
    min-width: 600px !important;
    max-width: 600px !important;
  }

  html,
  body {
    overflow-x: hidden !important;
  }

}
/* =========================================
   商品ページ PCレイアウト 最終修正
   パンくず上段 ＋ 商品2カラム
========================================= */

@media screen and (min-width: 768px) {

  .fs-l-productLayout.fs-system-product {
    display: grid !important;

    /* 左390px + 右600px */
    grid-template-columns: 390px 600px !important;

    column-gap: 25px !important;
    row-gap: 12px !important;

    width: 100% !important;
    max-width: 1015px !important;

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

    align-items: start !important;
  }


  /* ★パンくずだけ上段いっぱい */
  .fs-l-productLayout.fs-system-product > .fs-c-breadcrumb {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 0 8px 0 !important;
    padding: 0 !important;
  }


  /* パンくず内部 */
  .fs-c-breadcrumb__list {
    display: flex !important;
    flex-wrap: wrap !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  .fs-c-breadcrumb__listItem {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    white-space: normal !important;
    word-break: normal !important;
  }


  /* 左：画像 */
  .fs-l-productLayout.fs-system-product >
  .fs-l-productLayout__item--1 {

    grid-column: 1 !important;
    grid-row: 2 !important;

    width: 390px !important;
    min-width: 390px !important;
    max-width: 390px !important;

    margin: 0 !important;
  }


  /* 右：商品情報 */
  .fs-l-productLayout.fs-system-product >
  .fs-l-productLayout__item--2 {

    grid-column: 2 !important;
    grid-row: 2 !important;

    width: 600px !important;
    min-width: 600px !important;
    max-width: 600px !important;

    margin: 0 !important;
  }


  /* メイン画像 */
  .fs-c-productMainImage,
  .fs-c-productMainImage__imageContainer,
  .fs-c-productMainImage img {

    width: 390px !important;
    max-width: 390px !important;

    height: auto !important;
  }

}



/* =========================================================
   PC・SP 商品一覧 指定商品マーク非表示
========================================================= */

.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--53),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--54),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--55),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--56),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--57),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--58),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--59),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--60),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--3),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--21),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--11),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--15),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--33),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--4),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--42),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--39),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--35),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--6),
.fs-c-productList__list__item .fs-c-productMark__item:has(.fs-c-productMark__mark--9) {
  display: none !important;
}




/* =========================================
   PC・タブレット：TOPページ全体の横幅
========================================= */
@media screen and (min-width: 768px) {

  .fs-l-main {
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

}
/* 商品画像ズーム時：固定ヘッダーとの重なり回避 */
@media screen and (min-width: 768px) {

  .fs-c-productImageModal,
  .fs-c-productCarouselMainImage__modal,
  .fs-c-modal {
    top: 70px !important;
    height: calc(100vh - 70px) !important;
  }

}




/* =========================================================
   商品グループ 絞り込み
========================================================= */

.fs-c-subgroup {
  width: 100% !important;
  margin: 25px auto 35px !important;
  padding: 0 !important;
}


/* 一覧 */
.fs-c-subgroupList {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;

  gap: 10px !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}


/* 各項目 */
.fs-c-subgroupList__item {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
}


/* リンク */
.fs-c-subgroupList__link {
  position: relative !important;

  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  min-height: 44px !important;

  padding: 0 38px 0 16px !important;

  box-sizing: border-box !important;

  background: #fafafa !important;

  border: 1px solid #e5e5e5 !important;
  border-radius: 4px !important;

  color: #333 !important;

  font-size: 13px !important;
  font-weight: 400 !important;

  text-decoration: none !important;

  transition:
    background .2s ease,
    border-color .2s ease !important;
}


/* テキスト */
.fs-c-subgroupList__label {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 1.4 !important;
}


/* 右矢印 */
.fs-c-subgroupList__link::after {
  content: "›" !important;

  position: absolute !important;

  right: 15px !important;
  top: 50% !important;

  transform: translateY(-50%) !important;

  color: #999 !important;

  font-size: 20px !important;
  font-weight: 300 !important;
}


/* hover */
.fs-c-subgroupList__link:hover {
  background: #fff !important;

  border-color: #aaa !important;

  color: #111 !important;
}


/* FutureShop側の余計な装飾を抑える */
.fs-c-subgroupList__item::before,
.fs-c-subgroupList__item::after {
  display: none !important;
}

/* =========================================================
   カラー絞り込みの件数表示だけ非表示
========================================================= */

.fs-c-subgroup .fs-c-subgroupList + .fs-c-listControl {
  display: none !important;
}


/* =========================================================
   FutureShop
   カート追加完了通知
   「カートに商品を入れました。」
   総入れ替え版
========================================================= */


/* ---------------------------------------------------------
   通知本体
--------------------------------------------------------- */

.iziToast.fs-c-toast.is-success {
  background: #ffffff !important;

  border: 1px solid #ef8eae !important;
  border-radius: 7px !important;

  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;

  color: #555555 !important;
}


/* ---------------------------------------------------------
   通知内部
--------------------------------------------------------- */

.iziToast.fs-c-toast.is-success .iziToast-body {
  color: #555555 !important;
}


/* ---------------------------------------------------------
   「カートに商品を入れました。」
--------------------------------------------------------- */

.iziToast.fs-c-toast.is-success .iziToast-message {
  color: #555555 !important;

  font-size: 13px !important;
  font-weight: 400 !important;

  line-height: 1.5 !important;
}


/* ---------------------------------------------------------
   左側チェックアイコン
--------------------------------------------------------- */

.iziToast.fs-c-toast.is-success .iziToast-icon {
  color: #ef8eae !important;
}


/* ---------------------------------------------------------
   右側 × ボタン
--------------------------------------------------------- */

.iziToast.fs-c-toast.is-success .iziToast-close {
  opacity: 0.45 !important;

  background-color: transparent !important;
}


/* ---------------------------------------------------------
   下部プログレスバー
--------------------------------------------------------- */

.iziToast.fs-c-toast.is-success .iziToast-progressbar {
  background: transparent !important;

  height: 2px !important;
}


/* プログレスバー本体 */

.iziToast.fs-c-toast.is-success .iziToast-progressbar > div {
  background: #ef8eae !important;

  height: 2px !important;
}


/* =========================================================
   PC
========================================================= */

@media screen and (min-width: 768px) {

  /* 右上配置 */

  .iziToast-wrapper.iziToast-wrapper-topRight {
    top: 20px !important;
    right: 20px !important;
  }


  /* 通知サイズ */

  .iziToast.fs-c-toast.is-success {
    width: 340px !important;
    max-width: 340px !important;

    min-height: 56px !important;
  }

}


/* =========================================================
   スマートフォン
========================================================= */

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

  /* 左右に10px余白 */

  .iziToast-wrapper.iziToast-wrapper-topRight {
    top: 10px !important;

    left: 10px !important;
    right: 10px !important;

    width: auto !important;
  }


  /* 通知サイズ */

  .iziToast.fs-c-toast.is-success {
    width: 80% !important;
    max-width: none !important;
    min-height: 54px !important;

    margin: 0 !important;
  }


  /* 文字 */

  .iziToast.fs-c-toast.is-success .iziToast-message {
    font-size: 12px !important;
  }

}


/* =========================================================
   NEW ITEMS / PICK UP
   総入れ替え版
   ・後ろに戻る挙動を防止
   ・PC：掴んで横ドラッグ
   ・SP：横スワイプ
   ・Slickのtransform / transitionを解除
   ・snapなし
   ・smoothなし
========================================================= */


/* =========================================================
   セクション
========================================================= */

.newitem_color,
.pickup_color {
  width: 100% !important;
  max-width: 1080px !important;

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

  padding: 0 !important;

  box-sizing: border-box !important;
}

.newitem_color {
  margin-bottom: 38px !important;
}

.pickup_color {
  margin-bottom: 38px !important;
}


/* =========================================================
   標準矢印を非表示
========================================================= */

.newitem_color .fs-c-productListCarousel__ctrl,
.pickup_color .fs-c-productListCarousel__ctrl,

.newitem_color .slick-prev,
.newitem_color .slick-next,

.pickup_color .slick-prev,
.pickup_color .slick-next {
  display: none !important;
}


/* =========================================================
   カルーセル外枠
========================================================= */

.newitem_color .fs-c-productListCarousel,
.pickup_color .fs-c-productListCarousel {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  box-sizing: border-box !important;
}


/* =========================================================
   ★ 横スクロール本体
========================================================= */

.newitem_color .newpickup-free-scroll,
.pickup_color .newpickup-free-scroll {

  display: flex !important;

  flex-direction: row !important;
  flex-wrap: nowrap !important;

  align-items: flex-start !important;

  gap: 15px !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 10px 0 4px !important;

  box-sizing: border-box !important;


  /* 横スクロール */
  overflow-x: auto !important;
  overflow-y: hidden !important;


  /* =========================================
     ★ 戻る原因になる動作を全部OFF
  ========================================= */

  scroll-behavior: auto !important;

  scroll-snap-type: none !important;

  transform: none !important;

  transition: none !important;

  animation: none !important;


  /* 端での戻りを抑える */
  overscroll-behavior-x: none !important;


  /* スクロールバー */
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;


  /* PC */
  cursor: grab !important;

  user-select: none !important;
  -webkit-user-select: none !important;
}


/* スクロールバー非表示 */

.newitem_color .newpickup-free-scroll::-webkit-scrollbar,
.pickup_color .newpickup-free-scroll::-webkit-scrollbar {
  display: none !important;
}


/* =========================================================
   ★ Slick残存CSSを完全解除
========================================================= */

.newitem_color .newpickup-free-scroll.slick-track,
.pickup_color .newpickup-free-scroll.slick-track,

.newitem_color .newpickup-free-scroll .slick-track,
.pickup_color .newpickup-free-scroll .slick-track {

  display: flex !important;

  width: max-content !important;

  transform: none !important;

  transition: none !important;

  animation: none !important;

  left: auto !important;

  margin: 0 !important;
}


/* Slick list */

.newitem_color .slick-list,
.pickup_color .slick-list {

  transform: none !important;

  transition: none !important;

  animation: none !important;
}


/* =========================================================
   ドラッグ中
========================================================= */

.newitem_color .newpickup-free-scroll.is-dragging,
.pickup_color .newpickup-free-scroll.is-dragging {

  cursor: grabbing !important;

  scroll-behavior: auto !important;

  transform: none !important;

  transition: none !important;

  animation: none !important;
}


/* =========================================================
   商品カード
========================================================= */

.newitem_color
.newpickup-free-scroll
.fs-c-productListItem,

.pickup_color
.newpickup-free-scroll
.fs-c-productListItem {

  flex: 0 0 203px !important;

  width: 203px !important;
  min-width: 203px !important;
  max-width: 203px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  box-sizing: border-box !important;


  /* ★カード自体も戻さない */
  transform: none !important;

  transition: none !important;

  animation: none !important;

  scroll-snap-align: none !important;
}


/* =========================================================
   Slick slide残存対策
========================================================= */

.newitem_color
.newpickup-free-scroll
.slick-slide,

.pickup_color
.newpickup-free-scroll
.slick-slide {

  float: none !important;

  flex: 0 0 203px !important;

  width: 203px !important;
  min-width: 203px !important;
  max-width: 203px !important;

  height: auto !important;

  margin: 0 !important;


  transform: none !important;

  transition: none !important;

  animation: none !important;

  scroll-snap-align: none !important;
}


/* =========================================================
   商品画像
========================================================= */

.newitem_color
.newpickup-free-scroll
.fs-c-productListItem__imageContainer,

.pickup_color
.newpickup-free-scroll
.fs-c-productListItem__imageContainer {

  display: block !important;

  width: 203px !important;
  height: 220px !important;

  margin: 0 0 9px !important;
  padding: 0 !important;

  overflow: hidden !important;

  box-sizing: border-box !important;
}


/* 画像リンク */

.newitem_color
.newpickup-free-scroll
.fs-c-productListItem__imageContainer a,

.pickup_color
.newpickup-free-scroll
.fs-c-productListItem__imageContainer a {

  display: block !important;

  width: 100% !important;
  height: 100% !important;
}


/* 画像 */

.newitem_color
.newpickup-free-scroll
.fs-c-productListItem__imageContainer img,

.pickup_color
.newpickup-free-scroll
.fs-c-productListItem__imageContainer img {

  display: block !important;

  width: 100% !important;
  height: 100% !important;

  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover !important;

  pointer-events: none !important;

  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;


  transform: none !important;

  transition: none !important;
}


/* =========================================================
   商品名
========================================================= */

.newitem_color
.newpickup-free-scroll
.fs-c-productName,

.pickup_color
.newpickup-free-scroll
.fs-c-productName,

.newitem_color
.newpickup-free-scroll
.fs-c-productListItem__productName,

.pickup_color
.newpickup-free-scroll
.fs-c-productListItem__productName {

  display: block !important;

  width: 100% !important;

  min-height: 34px !important;

  margin: 0 0 5px !important;
  padding: 0 !important;

  color: #222 !important;

  font-size: 12px !important;
  font-weight: 400 !important;

  line-height: 1.4 !important;

  text-align: left !important;
}


.newitem_color
.newpickup-free-scroll
.fs-c-productName a,

.pickup_color
.newpickup-free-scroll
.fs-c-productName a,

.newitem_color
.newpickup-free-scroll
.fs-c-productListItem__productName a,

.pickup_color
.newpickup-free-scroll
.fs-c-productListItem__productName a {

  color: #222 !important;

  text-decoration: none !important;
}


/* =========================================================
   不要項目
========================================================= */

.newitem_color .fs-c-productPrice__label,
.pickup_color .fs-c-productPrice__label,

.newitem_color .fs-c-productPrice__main__label,
.pickup_color .fs-c-productPrice__main__label,

.newitem_color .fs-c-productListItem__control,
.pickup_color .fs-c-productListItem__control,

.newitem_color .fs-c-productListItem__favorite,
.pickup_color .fs-c-productListItem__favorite,

.newitem_color .fs-c-button--particular,
.pickup_color .fs-c-button--particular,

.newitem_color .fs-c-productMarks,
.pickup_color .fs-c-productMarks,

.newitem_color .fs-c-productListItem__productMark,
.pickup_color .fs-c-productListItem__productMark,

.newitem_color .fs-c-productMark,
.pickup_color .fs-c-productMark,

.newitem_color .fs-c-productListItem__salesPeriod,
.pickup_color .fs-c-productListItem__salesPeriod,

.newitem_color .fs-c-productListItem__quantity,
.pickup_color .fs-c-productListItem__quantity,

.newitem_color .fs-c-productListItem__cart,
.pickup_color .fs-c-productListItem__cart {
  display: none !important;
}


/* =========================================================
   ￥非表示
========================================================= */

.newitem_color .fs-c-price__currencyMark,
.pickup_color .fs-c-price__currencyMark {
  display: none !important;
}


/* =========================================================
   価格
========================================================= */

.newitem_color .fs-c-productPrice__main,
.pickup_color .fs-c-productPrice__main {

  display: flex !important;

  align-items: baseline !important;
  justify-content: flex-start !important;

  gap: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}


.newitem_color .fs-c-productPrice__main__price,
.pickup_color .fs-c-productPrice__main__price,

.newitem_color .fs-c-price__value,
.pickup_color .fs-c-price__value,

.newitem_color .fs-c-price__currency,
.pickup_color .fs-c-price__currency {

  margin: 0 !important;
  padding: 0 !important;

  color: #ee557e !important;

  font-size: 16px !important;
  font-weight: 700 !important;

  line-height: 1.2 !important;
}


/* 税込 */

.newitem_color .fs-c-price__addon,
.pickup_color .fs-c-price__addon,

.newitem_color .fs-c-productPrice__addon,
.pickup_color .fs-c-productPrice__addon {

  display: inline !important;

  margin: 0 0 0 2px !important;
  padding: 0 !important;

  color: #ee557e !important;

  font-size: 8px !important;
  font-weight: 400 !important;

  line-height: 1 !important;

  white-space: nowrap !important;
}


/* =========================================================
   ドット
========================================================= */

.newitem_color .newpickup-dots,
.pickup_color .newpickup-dots {

  display: flex !important;

  justify-content: center !important;
  align-items: center !important;

  gap: 10px !important;

  width: 100% !important;

  margin: 23px 0 0 !important;
  padding: 0 !important;
}


.newitem_color .newpickup-dot,
.pickup_color .newpickup-dot {

  display: block !important;

  width: 7px !important;
  height: 7px !important;

  flex: 0 0 7px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 50% !important;

  background: #dedede !important;

  cursor: pointer !important;
}


.newitem_color .newpickup-dot.is-active,
.pickup_color .newpickup-dot.is-active {
  background: #8c8c8c !important;
}


/* =========================================================
   スマホ
========================================================= */

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

  .newitem_color .newpickup-free-scroll,
  .pickup_color .newpickup-free-scroll {

    cursor: default !important;

    scroll-snap-type: none !important;

    scroll-behavior: auto !important;

    overscroll-behavior-x: none !important;

    touch-action: pan-x !important;
  }

}




<script>
(function () {

  'use strict';


  /* =========================================================
     初期化
  ========================================================= */

  function initNewPickup() {


    if (
      typeof window.jQuery === 'undefined' ||
      typeof window.jQuery.fn.slick === 'undefined'
    ) {

      setTimeout(initNewPickup, 300);
      return;

    }


    var $ = window.jQuery;


    var $sliders = $(

      '.newitem_color ' +
      '.fs-c-productListCarousel__list__itemTrack.slick-initialized,' +

      '.pickup_color ' +
      '.fs-c-productListCarousel__list__itemTrack.slick-initialized'

    );


    if (!$sliders.length) {

      setTimeout(initNewPickup, 300);
      return;

    }


    $sliders.each(function () {


      var $slider = $(this);


      if (
        $slider.attr('data-newpickup-ready') === '1'
      ) {
        return;
      }


      var $section =
        $slider.closest(
          '.newitem_color, .pickup_color'
        );


      /* =====================================================
         ★Slickを完全解除
      ===================================================== */

      try {

        $slider.slick('unslick');

      } catch (e) {

        return;

      }


      /* =====================================================
         Slick残存クラス・styleを掃除
      ===================================================== */

      $slider
        .removeClass(
          'slick-slider ' +
          'slick-initialized ' +
          'slick-track'
        )
        .removeAttr('style');


      $slider
        .find('.fs-c-productListItem')
        .removeClass(
          'slick-slide ' +
          'slick-active ' +
          'slick-current'
        )
        .removeAttr('style')
        .removeAttr('tabindex')
        .removeAttr('aria-hidden')
        .removeAttr('data-slick-index');


      /* =====================================================
         Free Scroll化
      ===================================================== */

      $slider
        .addClass(
          'newpickup-free-scroll'
        )
        .attr(
          'data-newpickup-ready',
          '1'
        );


      var slider =
        $slider.get(0);


      /* =====================================================
         ★戻る原因になるスタイルをJSからも強制解除
      ===================================================== */

      slider.style.setProperty(
        'transform',
        'none',
        'important'
      );

      slider.style.setProperty(
        'transition',
        'none',
        'important'
      );

      slider.style.setProperty(
        'animation',
        'none',
        'important'
      );

      slider.style.setProperty(
        'scroll-behavior',
        'auto',
        'important'
      );

      slider.style.setProperty(
        'scroll-snap-type',
        'none',
        'important'
      );


      /* =====================================================
         画像ドラッグ禁止
      ===================================================== */

      $slider
        .find('img')
        .attr(
          'draggable',
          'false'
        )
        .on(
          'dragstart',
          function (e) {

            e.preventDefault();

          }
        );


      /* =====================================================
         PCドラッグ
      ===================================================== */

      var isDown = false;

      var moved = false;

      var startX = 0;

      var startScrollLeft = 0;


      /* =====================================================
         mousedown
      ===================================================== */

      slider.addEventListener(
        'mousedown',
        function (e) {


          if (e.button !== 0) {
            return;
          }


          isDown = true;

          moved = false;


          startX =
            e.clientX;


          startScrollLeft =
            slider.scrollLeft;


          slider.classList.add(
            'is-dragging'
          );


          e.preventDefault();

        }
      );


      /* =====================================================
         mousemove
      ===================================================== */

      window.addEventListener(
        'mousemove',
        function (e) {


          if (!isDown) {
            return;
          }


          var distance =
            e.clientX -
            startX;


          if (
            Math.abs(distance) > 4
          ) {

            moved = true;

          }


          /*
           * =========================================
           * ★マウス位置に1:1で追従
           *
           * transformを使わない
           * smoothを使わない
           * snapを使わない
           * =========================================
           */

          slider.scrollLeft =
            startScrollLeft -
            distance;

        }
      );


      /* =====================================================
         mouseup
      ===================================================== */

      window.addEventListener(
        'mouseup',
        function () {


          if (!isDown) {
            return;
          }


          isDown = false;


          slider.classList.remove(
            'is-dragging'
          );


          /*
           * =========================================
           * ★ここでは何もしない
           *
           * scrollToしない
           * smoothしない
           * snapしない
           * momentumしない
           * transformしない
           *
           * → 現在位置をそのまま維持
           * =========================================
           */

        }
      );


      /* =====================================================
         ブラウザ外
      ===================================================== */

      window.addEventListener(
        'blur',
        function () {


          if (!isDown) {
            return;
          }


          isDown = false;


          slider.classList.remove(
            'is-dragging'
          );

        }
      );


      /* =====================================================
         ドラッグ後のリンク誤クリック防止
      ===================================================== */

      slider.addEventListener(
        'click',
        function (e) {


          if (!moved) {
            return;
          }


          var link =
            e.target.closest('a');


          if (link) {

            e.preventDefault();

            e.stopPropagation();

          }


          setTimeout(
            function () {

              moved = false;

            },
            0
          );

        },
        true
      );


      /* =====================================================
         ドット
      ===================================================== */

      $section
        .find('.newpickup-dots')
        .remove();


      var $dots =
        $('<div class="newpickup-dots"></div>');


      $slider.after(
        $dots
      );


      var ITEM_STEP = 218;


      function buildDots() {


        $dots.empty();


        var maxScroll =
          slider.scrollWidth -
          slider.clientWidth;


        if (maxScroll <= 1) {
          return;
        }


        var dotCount =
          Math.ceil(
            maxScroll /
            ITEM_STEP
          ) + 1;


        for (
          var i = 0;
          i < dotCount;
          i++
        ) {


          var $dot =
            $('<button type="button" class="newpickup-dot"></button>');


          if (i === 0) {

            $dot.addClass(
              'is-active'
            );

          }


          (function (index) {


            $dot.on(
              'click',
              function () {


                /*
                 * ドットクリック時だけ移動
                 * smoothは使わない
                 */

                slider.scrollLeft =
                  Math.min(
                    index * ITEM_STEP,
                    slider.scrollWidth -
                    slider.clientWidth
                  );

              }
            );


          })(i);


          $dots.append(
            $dot
          );

        }

      }


      /* =====================================================
         ドット更新
      ===================================================== */

      function updateDots() {


        var $allDots =
          $dots.find(
            '.newpickup-dot'
          );


        if (!$allDots.length) {
          return;
        }


        var index =
          Math.round(
            slider.scrollLeft /
            ITEM_STEP
          );


        index =
          Math.max(
            0,
            Math.min(
              index,
              $allDots.length - 1
            )
          );


        $allDots
          .removeClass(
            'is-active'
          );


        $allDots
          .eq(index)
          .addClass(
            'is-active'
          );

      }


      slider.addEventListener(
        'scroll',
        updateDots,
        {
          passive: true
        }
      );


      buildDots();


      window.addEventListener(
        'resize',
        function () {

          buildDots();
          updateDots();

        }
      );


    });

  }


  /* =========================================================
     起動
  ========================================================= */

  function start() {

    setTimeout(
      initNewPickup,
      500
    );

    setTimeout(
      initNewPickup,
      1000
    );

    setTimeout(
      initNewPickup,
      1500
    );

  }


  if (
    document.readyState === 'loading'
  ) {

    document.addEventListener(
      'DOMContentLoaded',
      start
    );

  } else {

    start();

  }

})();
</script>


/* =========================================
   FutureShop 会員登録 カラー統一
   メインカラー：#F4A6BE
========================================= */

/* =========================================
   1. ラジオボタン
========================================= */

/* 未選択 */
.fs-c-radio__radioMark {
  border: 2px solid #aaa !important;
  background: #fff !important;
}

/* 選択中の外側 */
.fs-c-radio__radio:checked
+ .fs-c-radio__label
.fs-c-radio__radioMark {
  border-color: #F4A6BE !important;
}

/* 選択中の内側 */
.fs-c-radio__radio:checked
+ .fs-c-radio__label
.fs-c-radio__radioMark::before {
  background: #F4A6BE !important;
  border-color: #F4A6BE !important;
}

/* フォーカス */
.fs-c-radio__radio:focus-visible
+ .fs-c-radio__label
.fs-c-radio__radioMark {
  outline: 2px solid #F4A6BE !important;
  outline-offset: 2px;
}


/* =========================================
   2. チェックボックス
========================================= */

/* 標準チェックボックス */
.fs-c-additionalCheckField
input[type="checkbox"] {
  accent-color: #F4A6BE !important;
}

/* 未選択 */
.fs-c-additionalCheckField
.fs-c-checkbox__checkMark {
  border: 1px solid #aaa !important;
  background: #fff !important;
}

/* 選択中 */
.fs-c-additionalCheckField
.fs-c-checkbox__checkbox:checked
+ .fs-c-checkbox__label
.fs-c-checkbox__checkMark {
  background: #F4A6BE !important;
  border-color: #F4A6BE !important;
}

/* チェックマーク */
.fs-c-additionalCheckField
.fs-c-checkbox__checkbox:checked
+ .fs-c-checkbox__label
.fs-c-checkbox__checkMark::before {
  border-color: #fff !important;
}

/* フォーカス */
.fs-c-additionalCheckField
.fs-c-checkbox__checkbox:focus-visible
+ .fs-c-checkbox__label
.fs-c-checkbox__checkMark {
  outline: 2px solid #F4A6BE !important;
  outline-offset: 2px;
}


/* =========================================
   3. 次へボタン
========================================= */

.fs-c-button--sendVerificationCode {
  background: #F4A6BE !important;
  border: 1px solid #F4A6BE !important;
  color: #fff !important;
}

/* 文字 */
.fs-c-button--sendVerificationCode
.fs-c-button__label {
  color: #fff !important;
}

/* ホバー */
.fs-c-button--sendVerificationCode:hover {
  background: #E98DAA !important;
  border-color: #E98DAA !important;
}

/* =========================================
   パンくずリスト
========================================= */

/* PC */
@media screen and (min-width: 768px) {

  .fs-c-breadcrumb {
    width: 100% !important;
    max-width: 1000px !important;
    margin: 12px auto 20px !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
  }

}

/* ==========================================
   商品一覧 並び替え
   シンプル3ボタン・ピンク
   PC / SP 共通
========================================== */

/* 並び替え全体 */
.fs-c-productList .fs-c-sortItems {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 「並び替え」の文字を非表示 */
.fs-c-productList .fs-c-sortItems__label {
  display: none !important;
}

/* 3つのボタンを横並び */
.fs-c-productList .fs-c-sortItems__list {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 各ボタン */
.fs-c-productList .fs-c-sortItems__list__item {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #777 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

/* 境界線の重複をなくす */
.fs-c-productList .fs-c-sortItems__list__item + .fs-c-sortItems__list__item {
  border-left: 0 !important;
}

/* 最初と最後だけ角丸 */
.fs-c-productList .fs-c-sortItems__list__item:first-child {
  border-radius: 4px 0 0 4px !important;
}

.fs-c-productList .fs-c-sortItems__list__item:last-child {
  border-radius: 0 4px 4px 0 !important;
}

/* リンク・選択中テキスト共通 */
.fs-c-productList .fs-c-sortItems__list__item_label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 30px !important;
  padding: 5px 15px !important;

  margin: 0 !important;
  background: transparent !important;
  color: #333 !important;

  border: none !important;
  border-radius: 0 !important;

  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* 選択中のボタン */
.fs-c-productList .fs-c-sortItems__list__item.is-active {
  background: #f48fae !important;
  border-color: #f48fae !important;
}

/* 選択中の文字 */
.fs-c-productList .fs-c-sortItems__list__item.is-active
.fs-c-sortItems__list__item_label {
  color: #fff !important;
}

/* ホバー */
.fs-c-productList .fs-c-sortItems__list__item:not(.is-active):hover {
  background: #fff0f5 !important;
}

/* スマホ */
@media screen and (max-width: 767px) {

  .fs-c-productList .fs-c-sortItems__list {
    width: 100% !important;
  }

  .fs-c-productList .fs-c-sortItems__list__item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  .fs-c-productList .fs-c-sortItems__list__item_label {
    width: 100% !important;
    min-height: 30px !important;
    padding: 6px 4px !important;
    font-size: 11px !important;
  }
}

/* 商品ページ 価格を太文字に */
.fs-c-productPrice .fs-c-price__currencyMark,
.fs-c-productPrice .fs-c-price__value {
  font-weight: 700 !important;
}


/* =========================================
   マイページトップへ戻る
   PC・スマホ共通 修正版
========================================= */

.fs-c-buttonContainer--myPageTop {
  display: flex !important;
  justify-content: flex-start !important;
  margin: 24px 0 30px !important;
  padding: 0 15px !important;
  text-align: left !important;
}

.fs-c-buttonContainer--myPageTop .fs-c-button--myPageTop {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* 左矢印 */
.fs-c-buttonContainer--myPageTop .fs-c-button--myPageTop::before {
  content: "" !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  flex: 0 0 7px !important;
  border-left: 1.5px solid #777 !important;
  border-bottom: 1.5px solid #777 !important;
  border-right: none !important;
  border-top: none !important;
  transform: rotate(45deg) !important;
  margin: 0 !important;
}

/* 文字 */
.fs-c-buttonContainer--myPageTop .fs-c-button__label {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #555 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .fs-c-buttonContainer--myPageTop {
    margin: 20px 0 28px !important;
    padding: 0 15px !important;
  }
}

/* =========================================
   FIVE 退会手続きボタン
   左寄せ・小さめ・薄いグレー
   PC・スマホ共通
========================================= */

.fs-c-accountService__page--accountDelete {
  display: flex !important;
  justify-content: flex-start !important;
  margin: 18px 0 !important;
  padding: 0 15px !important;
  list-style: none !important;
}

.fs-c-accountService__page--accountDelete
.fs-c-accountService__pageLink {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 7px 16px !important;
  background: #F5F5F5 !important;
  border: 1px solid #DDDDDD !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.fs-c-accountService__page--accountDelete
.fs-c-string__label {
  color: #666666 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.fs-c-accountService__page--accountDelete
.fs-c-accountService__pageLink:hover {
  background: #EBEBEB !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .fs-c-accountService__page--accountDelete {
    margin: 14px 0 !important;
    padding: 0 10px !important;
  }
}


/* =========================================
   FIVE 店舗受取 注文履歴
========================================= */

/* 全体 */
.fs-c-buttonContainer--moveToStoreOrders {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin: 16px 0 20px !important;
  padding: 0 20px !important;
}

/* リンク本体 */
.fs-c-buttonContainer--moveToStoreOrders
.fs-c-button--moveToStoreOrders {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;

  width: auto !important;
  min-width: 0 !important;
  min-height: 42px !important;

  margin: 0 !important;
  padding: 8px 0 !important;

  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;

  transition: opacity 0.2s ease;
}

/* 元の文字を非表示 */
.fs-c-buttonContainer--moveToStoreOrders
.fs-c-button__label {
  display: inline-block !important;
  font-size: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 新しい表示文言 */
.fs-c-buttonContainer--moveToStoreOrders
.fs-c-button__label::after {
  content: "店舗受取の注文履歴を見る" !important;
  display: inline-block !important;

  color: #555555 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.6 !important;
  white-space: nowrap !important;
}

/* 左側の不要な装飾を削除 */
.fs-c-buttonContainer--moveToStoreOrders
.fs-c-button--moveToStoreOrders::before {
  content: none !important;
  display: none !important;
}

/* 右側のピンク矢印 */
.fs-c-buttonContainer--moveToStoreOrders
.fs-c-button--moveToStoreOrders::after {
  content: "〉" !important;
  display: inline-block !important;
  flex-shrink: 0 !important;

  color: #E86F99 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* ホバー */
.fs-c-buttonContainer--moveToStoreOrders
.fs-c-button--moveToStoreOrders:hover {
  background: transparent !important;
  opacity: 0.7;
}

/* ==========================================
   FIVE NEW ITEMS / PICK UP
   商品名フォント 1day風に統一
========================================== */

/* PC・スマホ共通 */
.newitem_color .fs-c-productListItem__productName,
.pickup_color .fs-c-productListItem__productName,
.newitem_color .fs-c-productListItem__productName *,
.pickup_color .fs-c-productListItem__productName *,
.newitem_color .fs-c-productName,
.pickup_color .fs-c-productName,
.newitem_color .fs-c-productName *,
.pickup_color .fs-c-productName * {
  font-family:
    "Helvetica Neue", Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", Meiryo,
    sans-serif !important;

  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

/* スマホ */
@media screen and (max-width: 767px) {

  .newitem_color .fs-c-productListItem__productName,
  .pickup_color .fs-c-productListItem__productName,
  .newitem_color .fs-c-productListItem__productName *,
  .pickup_color .fs-c-productListItem__productName *,
  .newitem_color .fs-c-productName,
  .pickup_color .fs-c-productName,
  .newitem_color .fs-c-productName *,
  .pickup_color .fs-c-productName * {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
  }

  /* 商品名と価格の間隔 */
  .newitem_color .fs-c-productListItem__productName,
  .pickup_color .fs-c-productListItem__productName,
  .newitem_color .fs-c-productName,
  .pickup_color .fs-c-productName {
    margin-bottom: 7px !important;
    min-height: 32.2px !important;
  }
}

/* 会員カードのみ非表示（PC・スマホ共通） */
.fs-c-accountService > li.fs-c-accountService__page--membershipCard {
  display: none !important;
}


/* ==========================================
 eye shop Five
 ポイント履歴 スマホコンパクト版
========================================== */

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

  /* ポイント履歴ページのみ */
  .fs-c-history {

    /* ポイント情報の外側 */
    .fs-c-history__info {
      padding: 10px 12px !important;
      margin-bottom: 12px !important;
    }

    /* ポイント残高 */
    .fs-c-pointSummary {
      padding: 12px !important;
      margin: 0 !important;
      row-gap: 3px !important;
    }

    /* ポイント情報の文字 */
    .fs-c-pointSummary dt,
    .fs-c-pointSummary dd {
      font-size: 12px !important;
      line-height: 1.45 !important;
    }

    /* 利用可能ポイント数 */
    .fs-c-pointSummary__value--availablePoint
    .fs-c-pointSummary__number {
      font-size: 23px !important;
    }

    /* 履歴一覧の外側 */
    .fs-c-history__listContainer {
      margin-top: 10px !important;
    }

    /* 履歴カード内の表 */
    .fs-c-history__listContainer table {
      margin: 0 !important;
    }

    /* 履歴カードの各行 */
    .fs-c-history__listContainer th,
    .fs-c-history__listContainer td {
      padding: 4px 8px !important;
      font-size: 12px !important;
      line-height: 1.4 !important;
      vertical-align: middle !important;
    }

    /* 履歴カード同士の間隔 */
    .fs-c-history__listContainer table + table {
      margin-top: 10px !important;
    }
  }
}

/* ==========================================
 eye shop Five
 ポイント履歴 PC・スマホ共通
 コンパクト・バランス調整 完全版
========================================== */

/* ===== ポイント履歴ページ全体 ===== */

/* 見出し */
.fs-c-history {
  margin-top: 0 !important;
}

/* ポイント情報の外枠 */
.fs-c-history .fs-c-history__info {
  padding: 14px 16px !important;
  margin-bottom: 20px !important;
}

/* ポイント情報 */
.fs-c-history .fs-c-history__infoSummary {
  padding: 0 !important;
  margin: 0 !important;
}

/* ポイント情報の行間 */
.fs-c-history .fs-c-pointSummary {
  margin: 0 !important;
  row-gap: 0 !important;
}

/* ポイント情報の文字 */
.fs-c-history .fs-c-pointSummary dt,
.fs-c-history .fs-c-pointSummary dd {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* 利用可能ポイント */
.fs-c-history
.fs-c-pointSummary__label--availablePoint,
.fs-c-history
.fs-c-pointSummary__value--availablePoint {
  padding-top: 8px !important;
  padding-bottom: 5px !important;
}

/* ポイント数字 */
.fs-c-history
.fs-c-pointSummary__value--availablePoint
.fs-c-pointSummary__number {
  color: #fc7aa5 !important;
  font-size: 24px !important;
  font-weight: 500 !important;
}

/* 期間限定ポイント */
.fs-c-history
.fs-c-pointSummary__label--limitedPoint,
.fs-c-history
.fs-c-pointSummary__value--limitedPoint {
  padding-top: 2px !important;
  padding-bottom: 8px !important;
}

/* 有効期限の上に余白 */
.fs-c-history
.fs-c-pointSummary__label--purchasePointExpiration,
.fs-c-history
.fs-c-pointSummary__value--purchasePointExpiration {
  padding-top: 10px !important;
}

/* 下のポイント情報 */
.fs-c-history
.fs-c-pointSummary__label--waitingPoint,
.fs-c-history
.fs-c-pointSummary__value--waitingPoint,
.fs-c-history
.fs-c-pointSummary__label--purchasePointTotal,
.fs-c-history
.fs-c-pointSummary__value--purchasePointTotal {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

/* ===== 履歴一覧 ===== */

.fs-c-history .fs-c-history__listContainer {
  margin-top: 12px !important;
}

/* 履歴表 */
.fs-c-history__listContainer th,
.fs-c-history__listContainer td {
  padding: 7px 9px !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  vertical-align: middle !important;
}

/* ===== スマホ ===== */

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

  /* ポイント情報外枠 */
  .fs-c-history .fs-c-history__info {
    padding: 8px !important;
    margin-bottom: 14px !important;
  }

  /* ポイント情報 */
  .fs-c-history .fs-c-pointSummary {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* ポイント情報の文字 */
  .fs-c-history .fs-c-pointSummary dt,
  .fs-c-history .fs-c-pointSummary dd {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  /* ポイント数字 */
  .fs-c-history
  .fs-c-pointSummary__value--availablePoint
  .fs-c-pointSummary__number {
    font-size: 23px !important;
  }

  /* 有効期限の上 */
  .fs-c-history
  .fs-c-pointSummary__label--purchasePointExpiration,
  .fs-c-history
  .fs-c-pointSummary__value--purchasePointExpiration {
    padding-top: 9px !important;
  }

  /* 履歴カード */
  .fs-c-history__listContainer th,
  .fs-c-history__listContainer td {
    padding: 4px 8px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

}



/* =====================================
 FIVE セット購入ページ
 共通見出し・下線デザイン
===================================== */

body.fs-body-bundle .custom-page-heading {
  margin: 12px 0 18px !important;
  padding: 12px 10px 16px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #dedede !important;
  border-radius: 0 !important;
  color: #48383d !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  body.fs-body-bundle .custom-page-heading {
    margin: 8px 0 14px !important;
    padding: 10px 8px 14px !important;
    font-size: 16px !important;
  }
}

<style>
/* ==========================================
   eye shop Five
   ショッピングカート 見た目調整
========================================== */

/* 見出し下の区切り線 */
.fs-l-pageMain .custom-page-heading {
  padding-bottom: 15px !important;
  margin-bottom: 22px !important;
  border-bottom: 1px solid #ddd !important;
}

/* 商品名 */
.fs-c-cartTable .fs-c-listedProductName__name {
  display: block !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  color: #333 !important;
}

/* 度数 */
.fs-c-cartTable .fs-c-listedProductName__variation {
  display: block !important;
  margin-top: 4px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #555 !important;
}

/* 度数の数値 */
.fs-c-cartTable .fs-c-listedProductName__variation__choice {
  font-size: inherit !important;
  font-weight: 400 !important;
  color: inherit !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .fs-l-pageMain .custom-page-heading {
    padding-bottom: 12px !important;
    margin-bottom: 18px !important;
  }

  .fs-c-cartTable .fs-c-listedProductName__name {
    font-size: 14px !important;
  }

  .fs-c-cartTable .fs-c-listedProductName__variation {
    font-size: 13px !important;
    margin-top: 3px !important;
  }
}
</style>


/* ==========================================
   eye shop Five
   ショッピングカート 見た目調整
========================================== */

/* 見出し下の区切り線 */
.fs-l-pageMain .custom-page-heading {
  padding-bottom: 15px !important;
  margin-bottom: 22px !important;
  border-bottom: 1px solid #ddd !important;
}

/* 商品名 */
.fs-c-cartTable .fs-c-listedProductName__name {
  display: block !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  color: #333 !important;
}

/* 度数 */
.fs-c-cartTable .fs-c-listedProductName__variation {
  display: block !important;
  margin-top: 4px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #555 !important;
}

/* 度数の数値 */
.fs-c-cartTable .fs-c-listedProductName__variation__choice {
  font-size: inherit !important;
  font-weight: 400 !important;
  color: inherit !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .fs-l-pageMain .custom-page-heading {
    padding-bottom: 12px !important;
    margin-bottom: 18px !important;
  }

  .fs-c-cartTable .fs-c-listedProductName__name {
    font-size: 14px !important;
  }

  .fs-c-cartTable .fs-c-listedProductName__variation {
    font-size: 13px !important;
    margin-top: 3px !important;
  }
}

/* 商品名は変更しない */

/* 度数だけ大きく・間隔を調整 */
body.fs-body-cart .fs-c-cartTable
.fs-c-listedProductName__variation {
  display: block !important;
  margin-top: 6px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #555 !important;
}

/* 度数の数字 */
body.fs-body-cart .fs-c-cartTable
.fs-c-listedProductName__variation__choice {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #555 !important;
}


/* ==========================================
   eye shop Five
   ショッピングカート 統一デザイン
   PC・スマホ対応
========================================== */

/* ===== H1見出し ===== */
body.fs-body-cart
h1.fs-c-heading.fs-c-heading--page.custom-page-heading {
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  border-top: none !important;
  border-bottom: 1px solid #ddd !important;
  padding-bottom: 14px !important;
  margin-bottom: 22px !important;
}

/* ===== 商品情報 ===== */
body.fs-body-cart
.fs-c-cartTable__productInfo {
  min-width: 0 !important;
}

body.fs-body-cart
.fs-c-cartTable__product {
  align-items: start !important;
  column-gap: 12px !important;
}

/* ===== 商品名：12px ===== */
body.fs-body-cart
.fs-c-cartTable__productName {
  margin: 0 !important;
  line-height: 1.5 !important;
}

body.fs-body-cart
.fs-c-cartTable__productName
a.fs-c-listedProductName__name {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #333 !important;
  overflow-wrap: break-word;
}

/* ===== 度数：13px ===== */
body.fs-body-cart
.fs-c-listedProductName__variation {
  display: block !important;
  margin-top: 4px !important;
  margin-bottom: 3px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #555 !important;
}

body.fs-body-cart
.fs-c-listedProductName__variation__choice {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: inherit !important;
}

/* ===== 商品価格：15px ===== */
body.fs-body-cart
.fs-c-cartTable__unitPrice {
  margin-top: 4px !important;
  line-height: 1.5 !important;
}

body.fs-body-cart
.fs-c-cartTable__unitPrice
.fs-c-productPrice__main {
  font-size: 15px !important;
  font-weight: 600 !important;
}

/* ===== 商品ごとの区切り ===== */
body.fs-body-cart
.fs-c-cartTable__row {
  border-bottom: 1px solid #e5e5e5 !important;
}

/* ===== 削除・あとで買う ===== */
body.fs-body-cart
.fs-c-cartTable__dataCell--action a,
body.fs-body-cart
.fs-c-cartTable__dataCell--action button {
  font-size: 11px !important;
  padding: 5px 10px !important;
  min-height: 28px !important;
  line-height: 1.4 !important;
}

/* ===== 数量・小計・ポイント ===== */
body.fs-body-cart
.fs-c-cartTable__dataCell--quantity,
body.fs-body-cart
.fs-c-cartTable__dataCell--subtotal,
body.fs-body-cart
.fs-c-cartTable__dataCell--point {
  box-sizing: border-box;
}

/* ==========================================
   PC専用
========================================== */
@media screen and (min-width: 768px) {

  /* 商品画像と情報 */
  body.fs-body-cart
  .fs-c-cartTable__product {
    column-gap: 16px !important;
  }

  /* 商品名 */
  body.fs-body-cart
  .fs-c-cartTable__productName
  a.fs-c-listedProductName__name {
    font-size: 13px !important;
  }

  /* 度数 */
  body.fs-body-cart
  .fs-c-listedProductName__variation,
  body.fs-body-cart
  .fs-c-listedProductName__variation__choice {
    font-size: 14px !important;
  }

  /* 価格 */
  body.fs-body-cart
  .fs-c-cartTable__unitPrice
  .fs-c-productPrice__main {
    font-size: 16px !important;
  }

  /* 商品間の余白 */
  body.fs-body-cart
  .fs-c-cartTable__row {
    padding-bottom: 16px !important;
  }
}

/* ==========================================
   スマホ専用
========================================== */
@media screen and (max-width: 767px) {

  /* H1 */
  body.fs-body-cart
  h1.fs-c-heading.fs-c-heading--page.custom-page-heading {
    font-size: 17px !important;
    padding-bottom: 12px !important;
    margin-bottom: 18px !important;
  }

  /* 商品画像と情報 */
  body.fs-body-cart
  .fs-c-cartTable__product {
    column-gap: 10px !important;
  }

  /* 商品名 */
  body.fs-body-cart
  .fs-c-cartTable__productName
  a.fs-c-listedProductName__name {
    font-size: 12px !important;
  }

  /* 度数 */
  body.fs-body-cart
  .fs-c-listedProductName__variation,
  body.fs-body-cart
  .fs-c-listedProductName__variation__choice {
    font-size: 13px !important;
  }

  /* 価格 */
  body.fs-body-cart
  .fs-c-cartTable__unitPrice
  .fs-c-productPrice__main {
    font-size: 15px !important;
  }

  /* ボタン */
  body.fs-body-cart
  .fs-c-cartTable__dataCell--action a,
  body.fs-body-cart
  .fs-c-cartTable__dataCell--action button {
    font-size: 10px !important;
    padding: 5px 9px !important;
    min-height: 26px !important;
  }

  /* 商品間の余白 */
  body.fs-body-cart
  .fs-c-cartTable__row {
    padding-bottom: 12px !important;
  }
}
