/** Shopify CDN: Minification failed

Line 671:18 Unexpected "{"
Line 671:27 Expected ":"
Line 679:18 Unexpected "{"
Line 679:27 Expected ":"
Line 709:18 Unexpected "{"
Line 709:27 Expected ":"
Line 722:18 Unexpected "{"
Line 722:27 Expected ":"
Line 729:18 Unexpected "{"
Line 729:27 Expected ":"
... and 8 more hidden warnings

**/
.promobox,body{font-style:normal;}p{font-style:var(--base-style);}
.promobox,

/* ブログ記事の見出しと本文にデフォルトで当たっているイタリックを削除 */

.article .font-italic,
.post .font-italic,
blockquote {
  font-style: var(--heading-style) !important;
}

/* 問い合わせ確認のポップアップの背景カラーを変更 */
:root {
  --theme2: #ffffff; /* 白に変更 */
  --popup-subscription-confirmation-bg: var(--theme2); /* --theme2 を参照 */
}

  .popup-subscription-confirmation,
  .popup-contact-confirmation {
    background-color: var(--popup-subscription-confirmation-bg);
  }

.header__btn-cart.flex-column .header-cart__label {
  font-size: 12px;
  line-height: 1;
  color: #333;       /* テキスト色は必要に応じて調整 */
  white-space: nowrap;
}
/* カートとアカウントの間隔 */
.header__btn-cart + .ml-15 {
  margin-left: 8px;
}
/* アカウントアイコンホバー色 */
.header__btn-account:hover i {
  color: var(--theme);
}
/* ▼ヘッダーのカスタムアイコン用スタイル▼ */
/* 会員登録・ログイン・カートの各アイコンのスタイル */
.header__btn-custom-account,
.header__btn-cart {
  display: flex;
  flex-direction: column; /* 要素を縦に並べる */
  align-items: center;   /* 中央揃え */
  text-decoration: none;
  color: inherit;
}

/* アイコン間のスペース調整 */
.header__custom-account-icons {
  display: flex;
  align-items: center;
  gap: 15px; /* アイコン同士の間隔 */
}

/* 画像のサイズ調整 */
.header__btn-custom-account img.custom-icon-img,
.header__btn-cart img.custom-cart-icon-img {
  width: 40px; /* アイコンの幅をお好みで調整してください */
  height: auto;
  margin-bottom: 4px; /* アイコンとテキストの間隔 */
  transition: opacity 0.2s ease-in-out;
}

/* マウスを乗せたときの効果 */
.header__btn-custom-account:hover img,
.header__btn-cart:hover img {
  opacity: 0.7;
}

/* テキストラベルのスタイル */
.header__icon-label,
.header-cart__label {
  font-size: 12px;
  line-height: 1;
  white-space: nowrap; /* テキストの改行を防ぐ */
}

/* カート内の商品数を非表示にする場合 (任意) */
.header__btn-cart .d-none.d-lg-inline,
.header__btn-cart .header__counter {
  display: none !important;
}

/* --- スマートフォン表示での最終調整 (768px以下の画面幅) --- */
@media (max-width: 768px) {
  /* ヘッダー内の要素を均等に配置 */
  .header--type-5 .header__line-top .container {
    justify-content: space-between !important;
    padding: 0 10px !important;
  }

  /* 【今回の修正点】アイコンに適用されている不要なマージンをすべて解除 */
  .header__sidebar,
  .header__sidebar .header__custom-account-icons,
  .header__sidebar > div {
    margin-left: 0 !important;
  }

  /* アイコン同士の間隔はgapプロパティで管理 */
  .header__sidebar {
    gap: 5px;
  }
  .header__custom-account-icons {
    gap: 2px;
  }
  


  /* アイコン画像のサイズ */
  .header__btn-custom-account img.custom-icon-img,
  .header__btn-cart img.custom-cart-icon-img {
    width: 32px;
    margin-bottom: 0;
  }
  /* 【今回の修正点】スマホの時に「ご利用ガイド」を非表示にする */
  .header__sidebar > a.header__btn-custom-account {
    display: none !important;
  }
    /* 【今回の修正点】アイコン下のテキストを表示し、文字を小さくする */
.header__icon-label,
.header-cart__label {
  display: block !important;
  font-size: 9px !important;  /* ←【今回の修正点】!important を追加 */
  line-height: 1;
  white-space: nowrap;
}

  /* 【今回の修正点】アイコンのサイズを強制的に指定し、重複を解消 */
  .header__btn-custom-account img.custom-icon-img,
  .header__btn-cart img.custom-cart-icon-img {
    width: 32px !important; /* ← !important を追加してサイズを強制 */
    height: auto !important;
    margin-bottom: 3px !important;
  }
  .header__sidebar .header__btn-cart img.custom-cart-icon-img {
    width: 36px !important;
  }
  .header__sidebar .header__btn-cart img.custom-cart-icon-img {
        width: 32px !important; /* ← !important を追加してサイズを強制 */
        }
        .py-55 {
          padding-bottom:0 !important;
          padding-top:10px !important;
  }
    .search-form {
      background-color:#ffffff !important;
  }
  .mr-20{
  margin-right:0 !important;
}

}
/* 【デスクトップ表示】検索フォームセクションを非表示にする（確実な方法） */
@media (min-width: 769px) {
  div[data-section-type="search-form"] {
    display: none !important;
  }
}
/* ─────────────────────────────────────────────
   浮遊サイドバー：ページ右側中央に固定＋コンテナ角丸
───────────────────────────────────────────── */
.floating-sidebar {
  position: fixed !important;
  top: 50% !important;
  right: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 9999 !important;

  /* 全体を丸く */
  border-radius: 12px !important;
  overflow: hidden !important;

  /* コンテナにシャドウ */
  box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
}

/* ─────────────────────────────────────────────
   リストマーカー＆疑似要素を消す
───────────────────────────────────────────── */
.floating-sidebar ul,
.floating-sidebar li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.floating-sidebar ul li::before {
  content: none !important;
  display: none !important;
}

/* ─────────────────────────────────────────────
   各アイテムのリンク共通スタイル
───────────────────────────────────────────── */
.floating-sidebar .fs-item a {
  display: block !important;
  text-decoration: none !important;
  text-align: center !important;

  /* 個別の角丸はリセット */
  border-radius: 0 !important;

  /* 縦長に余白 */
  padding: 14px 4px !important;

  /* テキスト */
  color: #fff !important;
  font-size: 15px !important;
  font-weight: bold !important;

  /* ホバー動作 */
  transition: transform 0.3s ease !important;
}
.floating-sidebar .fs-item a:hover {
  transform: translateY(-2px) !important;
}

/* ─────────────────────────────────────────────
   アイコン共通
───────────────────────────────────────────── */
.floating-sidebar .fs-icon {
  display: block !important;
  width: 28px !important;
  height: auto !important;
  margin: 0 auto 6px !important;
}
.floating-sidebar .fs-line-text {
  line-height: 1.1 !important;
  margin-bottom: 4px !important;
}
/* ─────────────────────────────────────────────
   QRコード
───────────────────────────────────────────── */
.floating-sidebar .fs-qr {
  display: block !important;
  width: 50px !important;
  height: auto !important;
  margin: 4px auto 0 !important;
  background: #fff !important;
  padding: 2px !important;
  border-radius: 4px !important;
}

/* ─────────────────────────────────────────────
   各アイテム別：背景色・アイコンサイズ調整
───────────────────────────────────────────── */
/* カート */
.floating-sidebar .fs-cart a {
  background: #ffa500 !important;
}
.floating-sidebar .fs-cart .fs-icon {
  width: 38px !important;
  margin-bottom: -px !important;
}

/* お問い合わせ */
.floating-sidebar .fs-contact a {
  background: #606060 !important;
}

/* LINE */
.floating-sidebar .fs-line a {
  background: #00c300 !important;
  /* QR込みで上下余白を微調整 */
  padding-top: 8px !important;
  padding-bottom: 8px !important;
    line-height: 1.1 !important;
}

/* ─────────────────────────────────────────────
   モバイルでは非表示
───────────────────────────────────────────── */
@media (max-width: 767px) {
  .floating-sidebar {
    display: none !important;
  }
}
  /* =======================================================
     Footer Menu + Brand  完全版スタイル
  ======================================================= */

  /* --- ベース --- */
  .footer-custom{background:#f9f6f0;padding:60px 0 30px;}
  .footer-custom__inner{max-width:1100px;margin:0 auto;padding:0 16px;}

  /* --- メニュー３ブロック --------------------------------- */
  .footer-menu{display:flex;gap:60px;}

  /* 左ワイド */
  .footer-menu__wide{flex:0 0 auto;}
.footer-menu__grid{
  column-count:3;          /* 6 列に自動分割 */
  column-gap:24px;         /* 列間余白 */
}
.menu-group{
  break-inside:avoid;      /* 見出し＋リンクの塊を分割しない */
  margin:0 0 20px;         /* 各カテゴリー下マージン */
}
.menu-group h4{margin:0 0 6px;}
  /* 右２ブロック */
  .footer-menu__narrow{flex:0 0 220px;}

  /* タイトル */
  .footer-menu__title{font-size:1.2rem;font-weight:700;margin:0 0 12px;}

  /* 小見出し */
  .menu-group h4{font-weight:700;margin:0 0 6px;font-size:.95rem;}

  /* リンク共通 + 矢印 */
  .footer-menu a{position:relative;display:block;padding-left:.9em;margin-bottom:6px;font-size:.875rem;color:#333;text-decoration:none;}
.footer-menu a::before {
  content: "\203A"; /* › のUnicodeコードポイント */
  position: absolute;
  left: 0;
  top: 0;
  color: #c0a070;
  line-height: 1;
  font-size: 1em;
}

  .footer-menu a:hover{text-decoration:underline;}

/* 6) 会社情報＋SNS -----------------------------------------*/
.footer-custom__brand{padding:40px 0 20px;}
.footer-custom__brand-inner{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:20px;}
.footer-custom__logo-wrap{margin-right:-200px;}
.footer-custom__logo{max-height:60px;display:block;}

.footer-custom__company-info{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap;}
.footer-custom__company-address{margin:0;line-height:1.4;}
.footer-custom__company-tel{margin-top:8px;font-size:.9rem;white-space:nowrap;}

.footer-custom__social{display:flex;gap:12px;list-style:none;margin:0;padding:0;}
.footer-custom__social li::before{display:none !important;}
.footer-custom__social img{width:32px;height:auto;display:block;}

@media(max-width:768px){
  .footer-custom__brand-inner{flex-direction:column;align-items:center;text-align:center;gap:16px;}
  .footer-custom__company-info{flex-direction:column;align-items:center;gap:8px;}
  .footer-custom__logo-wrap{margin-right:0;}
}

/* 7) コピーライト -------------------------------------------*/
.footer-custom__bottom{text-align:center;margin-top:20px;font-size:.8rem;color:#666;}
.footer-menu h4 {
  margin-bottom: 0 !important;
}
.footer-menu h4 {
  font-size: inherit !important;
}

.product-page-info__title h1 {
  font-size: 24px!important;
}
/* ===== カート一括削除ボタン ===== */
.cart__clear-btn{
  background:#d9534f;     /* お好みで */
  color:#fff;
  font-weight:700;
  border-radius:4px;
  transition:opacity .2s ease;
}
.cart__clear-btn:hover{ opacity:.8; }
header#header {
  min-height: 137px; /* 3つのパーツの合計の高さ */
}
/* お知らせ欄のレイアウトシフト(CLS)対策 */
main#mainContent > div.shopify-section:first-child {
  min-height: 40px; /* お知らせの高さをだいたいで指定 */
}

/* 例：画面幅が 767px 以下＝スマホのとき */
@media (max-width: 767px) {
  header#header{
    min-height: unset !important;   /* もしくは 0 / auto など好みで */
  }
}
.footer-menu__badge{
  margin-top:12px;                 /* 上に少し余白 */
  text-align:center;               /* 中央寄せ（任意） */
}
.footer-menu__badge img{
  width:180px;                     /* 横幅だけ固定  ※好みで調整 */
  height:auto;                     /* 縦横比を保持 */
}
/* PC */
.row.mt-15.justify-content-center{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e5e5e5;padding:6px 0;}
.row.mt-15.justify-content-center>[class*="col-md-2"]{flex:0 0 100px;max-width:100px;text-align:left !important;}
.row.mt-15.justify-content-center>[class*="col-md-2"] a{color:#666;font-size:14px;white-space:nowrap;}
.row.mt-15.justify-content-center>[class*="col-md-8"]{flex:1 1 auto;min-width:0;}
.row.mt-15.justify-content-center>[class*="col-md-8"] a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.row.mt-15.justify-content-center>[class*="col-md-8"] a::before{content:"お知らせ";display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 8px;border-radius:4px;background:#d9534f;color:#fff;font-size:12px;font-weight:700;flex-shrink:0;}

/* SP: 日付の右にお知らせ、下にタイトル */
@media(max-width:560px){
  .row.mt-15.justify-content-center{display:block;padding:6px 0;}
  .row.mt-15.justify-content-center>[class*="col-md-2"]{flex:none;max-width:none;margin:0 0 4px;}
  .row.mt-15.justify-content-center>[class*="col-md-2"] a{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;}
  .row.mt-15.justify-content-center>[class*="col-md-2"] a::after{content:"お知らせ";display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 6px;border-radius:4px;background:#d9534f;color:#fff;font-size:11px;font-weight:700;flex-shrink:0;}
  .row.mt-15.justify-content-center>[class*="col-md-8"]{flex:none;min-width:auto;}
  .row.mt-15.justify-content-center>[class*="col-md-8"] a{display:block;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5;}
  .row.mt-15.justify-content-center>[class*="col-md-8"] a::before{content:none;}
}
/* ===== FAQ カード風スタイル（CSSのみ） ===== */
/* コンテナ共通変数 */
.faqs[data-js-accordion="all"]{
  --faq-radius: 12px;
  --faq-border: #e6e6e6;
  --faq-shadow: 0 6px 16px rgba(0,0,0,.06);
  --q-bg:#f5f5f7;
  --a-bg:#fff3f0; /* 好みで薄い色/無色に */
}

/* 各アイテムの外側マージン */
.faqs[data-js-accordion="all"] [data-js-accordion-button]{
  margin: 14px 0;
}

/* ヘッダ（閉じている時もカードっぽく見せる） */
.faqs[data-js-accordion="all"] [data-js-accordion-button]{
  position: relative;
  background:#fff;
  border:1px solid var(--faq-border);
  border-radius: var(--faq-radius);
  box-shadow: var(--faq-shadow);
  padding: 14px 48px 14px 56px; /* 左はQアイコン分 */
  line-height: 1.6;
}

/* Qアイコン */
.faqs[data-js-accordion="all"] [data-js-accordion-button]::before{
  content:"Q";
  position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--q-bg); color:#333; font-weight:700; font-size:14px;
}

/* 右側の開閉アイコンをアニメ */
.faqs[data-js-accordion="all"] [data-js-accordion-button] .faqs_cross{
  transition: transform .25s ease;
}
.faqs[data-js-accordion="all"] [data-js-accordion-button].open .faqs_cross{
  transform: rotate(180deg);
}

/* 開いたときは上下を一体化（下パネルをつなぐ） */
.faqs[data-js-accordion="all"] [data-js-accordion-button].open{
  border-bottom-color: transparent;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: none; /* 下パネル側に影を集約 */
}

/* 本文パネル（隣接要素） */
.faqs[data-js-accordion="all"] [data-js-accordion-button] + [data-js-accordion-content]{
  position: relative;
  border:1px solid var(--faq-border);
  border-top:0;
  border-bottom-left-radius: var(--faq-radius);
  border-bottom-right-radius: var(--faq-radius);
  box-shadow: var(--faq-shadow);
  background:#fff;
  overflow: hidden;
  /* Aアイコン分の左パディングを確保 */
  padding-left: 56px;
}

/* Aアイコン */
.faqs[data-js-accordion="all"] [data-js-accordion-button] + [data-js-accordion-content]::before{
  content:"A";
  position:absolute; left:16px; top:16px;
  width:28px; height:28px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--a-bg); color:#e95e0c; font-weight:700; font-size:14px;
}

/* パネル内の本文（既存 .rte の余白を微調整） */
.faqs[data-js-accordion="all"] [data-js-accordion-button] + [data-js-accordion-content] .rte{
  padding: 14px 16px 18px 0; /* 左は親で確保済み */
  margin: 0;
}

/* 角丸の段差解消（連続カードの間隔） */
.faqs[data-js-accordion="all"] h[data-js-accordion-button].open + [data-js-accordion-content]{
  margin-top: -8px; /* 影の連続感を演出（不要なら削除） */
}

/* モバイル最適化 */
@media (max-width: 560px){
  .faqs[data-js-accordion="all"] [data-js-accordion-button]{
    padding: 12px 44px 12px 52px;
  }
  .faqs[data-js-accordion="all"] [data-js-accordion-button] + [data-js-accordion-content]{
    padding-left: 52px;
  }
  .faqs[data-js-accordion="all"] [data-js-accordion-button]::before,
  .faqs[data-js-accordion="all"] [data-js-accordion-button] + [data-js-accordion-content]::before{
    left:14px; width:26px; height:26px; font-size:13px;
  }
}
/* ▼ FAQリストの下に確実な余白を付ける（マージン潰れ防止） */
.container.container--sm{
  padding-bottom: 32px;   /* ← 好みで 24–48px などに調整 */
}

/* ▼ 各カード同士の間隔＆最後にも余白を残す */
.container.container--sm > .faqs{
  margin-bottom: 16px;    /* カード間の間隔 */
}
.container.container--sm > .faqs:last-child{
  margin-bottom: 24px;    /* 一番下を少し広めに（任意） */
}
/* FAQセクションの横幅を広げる */
.container.container--sm {
  max-width: 100% !important;   /* ← デフォルトで max-width: 720px とかが効いているはず */
  width: 100%;
  padding-left: 20px;  /* 左右の余白を少しだけ確保 */
  padding-right: 20px;
  margin: 0 auto;
}

/* ===== サンプル案内セクション ===== */
#product-samples.ps-section{max-width:1000px;margin:40px auto;padding:0 16px}

/* 見出し：中央＋オレンジ下線 */
#product-samples .ps-title{
  font-size:1.6rem;font-weight:900;text-align:center;margin:0 0 10px;position:relative
}
#product-samples .ps-title::after{
  content:"";display:block;width:64px;height:4px;background:#f7931e;
  margin:8px auto 0;border-radius:3px
}
#product-samples .ps-lead{color:#555;text-align:center;margin:0 0 24px}

/* レイアウト */
#product-samples .ps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* カード：背景色なし＋枠のみ */
#product-samples .ps-card{
  background:none;border:1px solid #e6e6e6;border-radius:8px;
  padding:16px;box-shadow:none
}

/* タイトル（バッジ）だけ左に太い縦線 */
#product-samples .ps-badge{
  display:block;font-weight:800;font-size:1rem;line-height:1.4;margin:0 0 10px;
  padding-left:10px;border-left:6px solid #f7931e;color:#333
}
/* 校正サンプルだけ色分け */
#product-samples .ps-card:nth-child(3) .ps-badge{
  border-left-color:#00a71c;color:#00a71c
}

#product-samples .ps-desc{color:#333;line-height:1.8;margin:0}

/* レスポンシブ */
@media (max-width:900px){
  #product-samples .ps-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  #product-samples .ps-title{font-size:1.35rem}
  #product-samples .ps-grid{grid-template-columns:1fr}
}
html {
  scroll-behavior: smooth;
}
/* 下線の長さと太さを調整（好みで変更OK） */
:root{
  --ps-underline-width: 200px; /* ← ここを 120/160/200… に変えると長くなる */
  --ps-underline-height: 4px;  /* ← 太さ（px） */
}

/* 見出し：中央＋オレンジ下線 */
#product-samples .ps-title{
  font-size:1.6rem;font-weight:900;text-align:center;margin:0 0 10px;position:relative
}
#product-samples .ps-title::after{
  content:"";
  display:block;
  width:var(--ps-underline-width);   /* 長さ */
  height:var(--ps-underline-height); /* 太さ */
  background:#f7931e;
  margin:8px auto 0;
  border-radius:3px;
}

/* 小さい画面では少し短めにする例 */
@media (max-width:560px){
  #product-samples .ps-title{font-size:1.35rem}
  #product-samples .ps-title::after{ width:120px; }
}
/* お問い合わせリンク用 */
.ps-link{
  color: #0073e6 !important;       /* 強制青色 */
  text-decoration: underline !important; /* 強制下線 */
  font-weight: 600;                /* 少し強調（任意） */
}
.ps-link:hover{
  color: #005bb5 !important;       /* ホバー時に濃い青 */
}
/* ===== モバイル専用：下部固定メニュー ===== */
.gm-bottom-nav{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  display: none;               /* PCはデフォ非表示 */
  height: 64px;                /* アイコン込みの高さ */
  background: #ffa500;
  border-top: 1px solid #e5e5e5;
  box-shadow: 0 -4px 12px rgba(0,0,0,.08);
  z-index: 9999;
  padding-bottom: env(safe-area-inset-bottom);
}
.gm-bottom-nav .gm-nav-item{
  flex: 1;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  font-size: 12px; line-height: 1.2;
  text-decoration: none; color: #ffffff;
}
.gm-bottom-nav .gm-nav-item:active{ background: #f5f5f5; }

.gm-bottom-nav .gm-nav-icon{
  width: 22px; height: 22px;
  margin-bottom: 4px;
}

/* モバイルのみ表示 */
@media (max-width: 768px){
  .gm-bottom-nav{ display: flex; }
}

/* PCは強制的に非表示 */
@media (min-width: 769px){
  .gm-bottom-nav{ display: none !important; }
}
.sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
h1.page__title {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}



/* === FAQセクション：もっと見るボタン（gm-rankと同じデザイン） === */
#shopify-section-{{ section.id }} .faqs__more {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  padding-inline: 8px;
  text-align: center;
}

#shopify-section-{{ section.id }} .gm-faqs__morebtn {
  --btn-bg:  #f0a000;     /* 上側の色 */
  --btn-bg2: #e28900;     /* 下側の色 */
  --btn-text:#fff;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  padding: 16px 28px;
  background: linear-gradient(180deg, var(--btn-bg), var(--btn-bg2));
  color: var(--btn-text) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  text-decoration: none !important;

  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow:
    0 8px 20px rgba(226,149,0,.30),     /* 外側の影 */
    inset 0 1px 0 rgba(255,255,255,.45);/* 上ハイライト */

  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
  position: relative;
  width: min(720px, 100%);
}

/* 矢印アイコン */
#shopify-section-{{ section.id }} .gm-faqs__morebtn::after {
  content: "";
  width: .6em;
  height: .6em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  margin-left: 4px;
  transition: transform .2s ease, opacity .2s ease;
  opacity: .9;
}

/* ホバー：ふわっと浮く */
#shopify-section-{{ section.id }} .gm-faqs__morebtn:hover {
  transform: translateY(-1px);
  box-shadow:
    0 12px 26px rgba(226,149,0,.38),
    inset 0 1px 0 rgba(255,255,255,.55);
  filter: saturate(1.05);
}
#shopify-section-{{ section.id }} .gm-faqs__morebtn:hover::after {
  transform: translateX(3px) rotate(-45deg);
}

/* クリック時 */
#shopify-section-{{ section.id }} .gm-faqs__morebtn:active {
  transform: translateY(0);
  box-shadow:
    0 6px 14px rgba(226,149,0,.28),
    inset 0 1px 0 rgba(255,255,255,.45);
}

/* フォーカス時 */
#shopify-section-{{ section.id }} .gm-faqs__morebtn:focus-visible {
  outline: 3px solid #1a73e8;
  outline-offset: 3px;
}

/* スマホ最適化 */
@media (max-width: 640px) {
  #shopify-section-{{ section.id }} .gm-faqs__morebtn {
    width: 90%;
    max-width: 560px;
    padding: 14px 20px;
    font-size: 15px !important;
  }
  #shopify-section-{{ section.id }} .faqs__more {
    padding-inline: 6px;
  }
}
/* ▼ スマホ時のカート画像幅を40% → 20% に変更 */
@media (max-width: 540px){
  .cart__image {
    width: 20% !important;
    min-width: 20% !important;
  }
}
/* ===== スマホのカートページだけ横スクロール禁止 ===== */
@media (max-width: 768px){
  body.template-cart{
    overflow-x: hidden !important;
    position: relative;
    width: 100%;
    max-width: 100%;
  }

  body.template-cart .container,
  body.template-cart .page-width,
  body.template-cart #MainContent,
  body.template-cart .cart,
  body.template-cart .cart__items,
  body.template-cart .row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
  }

  /* cart__image を小さめに調整 */
  body.template-cart .cart__image{
    width: 20% !important;
    min-width: 20% !important;
    max-width: 100% !important;
  }
  body.template-cart .cart__image img{
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}
/* スマホ幅 (600px以下) のとき */
@media screen and (max-width: 600px) {
  /* タイトル下の説明文 */
  .unique-table-section .unique-description {
    text-align: left !important;
  }

  /* 表の中の説明文セル */
  .unique-product-table td {
    text-align: left !important;
  }
}
.jdgm-rev-widg {
  padding: 24px 16px;
  margin: 0 0 20px;           /* 下に余白も追加すると並びやすい */
  border: none;
  border-radius: 8px;         /* 角丸（任意） */
  background: #fff;           /* 背景白にするのがおすすめ */
  box-shadow: 0 2px 8px rgba(0,0,0,.12);  /* 影 */
  margin-top:-50px !important;
} 
/* ==== サイドバー：カテゴリ行カード ==== */
.gm-cat-list { margin:0; padding:0; }

.gm-cat-row{
  display:flex; align-items:center; gap:12px;
  padding:12px 14px;
  background:#fff;
  border-bottom:1px solid #eee;
  text-decoration:none; color:inherit;
  transition:background .15s;
}
.gm-cat-row:hover{ background:#f9fbfd; }

.gm-cat-thumb{
  flex:0 0 44px; width:44px; height:44px;
  border:1px solid #e9eef5; border-radius:6px;
  overflow:hidden; background:#fff;
  display:flex; align-items:center; justify-content:center;
}
.gm-cat-thumb img{
  width:100%; height:100%; object-fit:contain; display:block;
}

.gm-cat-title{ font-weight:700; font-size:15px; line-height:1.2; }
.gm-cat-count{ margin-left:6px; color:#7a8a9a; font-weight:600; font-size:12px; }
.gm-cat-arrow{ margin-left:auto; display:inline-flex; }
.gm-cat-arrow svg{ width:18px; height:18px; opacity:.55; }

/* 子カテゴリは少しインデント＆アイコン小さめ */
.gm-cat-row--child{ padding-left:36px; }
.gm-cat-row--child .gm-cat-thumb{ width:36px; height:36px; }

/* 旧UIのチェック系をこのブロック内で不可視化（干渉防止） */
.collections-menu .collection-filters__checkbox{ display:none !important; }
.collections-menu__button{ padding:0; background:none; }
/* 見出しバー */
.gm-cat-head{
  background:#bfbfbf;    /* スクショに近いグレー */
  color:#fff;
  font-weight:700;
  text-align:center;
  padding:10px 12px;
  border-radius:10px;
  font-size:14px;
  letter-spacing:.02em;
  margin:0 0 12px;
  line-height:1.2;
  box-shadow:0 1px 0 rgba(0,0,0,.03) inset;
}
.gm-author {
  max-width: 1200px !important;
}





.custom-banner {
  position: relative;
  margin: 24px auto;
  text-align: center;      /* 画像を中央寄せ */
}

.custom-banner__img {
  display: inline-block;   /* インライン要素にして中央揃え */
  height: auto;
  width: auto;             /* ← サイズ固定を解除！ */
  max-width: 100%;         /* 画面より大きい画像だけ自動縮小 */
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}


@keyframes pulse-sale {
  0%,100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.08); opacity: 0.8; }
}
/* RuffRuff 購入特典ウィジェットを全ページで実質不可視化 */
.ruffruff-order-bonus-app-root,
.ruffruff-order-bonus-app-widget,
.ruffruff-floating-button,
.rrf-floating-btn,
.rrf-btn,
div[id^="P0aNextFrameWrapper"],
div[id*="ruffruff-order-bonus"] {
  position: fixed !important;
  left: -99999px !important;
  top: -99999px !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  transform: scale(0) !important;
  visibility: hidden !important;
}
/* ── サイドバー：500円OFFクーポン（背景#e73273） ── */
.floating-sidebar .fs-item.fs-register {
  background: #e73273;            /* ← 背景カラー変更 */
  border-radius: 8px;
  padding: 0;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* 中の画像（高解像度バージョンを縮小表示） */
.fs-register-img {
  display: block;
  width: 100px;                   /* 表示幅 */
  height: auto;                   /* 比率維持 */
  margin: 0 auto;
  border-radius: 6px;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* ホバー時の軽い動き */
.fs-register-img:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.25);
}
/* 上の角丸をなくして密着 */
.floating-sidebar .fs-item.fs-register{
  border-top-left-radius:0;
  border-top-right-radius:0;
}
/* === グッズメイド：TOP 実績・信頼セクション === */
.gm-top-summary{padding:1000pxpx 0 60px;text-align:center}
.gm-top-summary .is-style-section_ttl{margin:0 0 28px;font-size:clamp(1.3rem,1.1rem + 1vw,1.7rem)}

.gm-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;justify-items:center;align-items:start}
.gm-summary-item{max-width:340px}

.gm-summary-title{margin:8px 0 6px;font-size:1.125rem;font-weight:700;color:#F66E11}
.gm-summary-text{margin:0 0 6px;font-size:1.05rem;line-height:1.6}
.gm-summary-sub{margin:0;font-size:.95rem;color:#555;line-height:1.7}

/* テーマの img{width:100%} を上書きしてアイコン固定 */
.gm-top-summary .gm-summary-icon>img{
  display:block;margin:0 auto 10px;
  width:150px !important;max-width:130px !important;height:auto !important;
  transition:transform .25s ease;
}

@media (hover:hover){
  .gm-summary-item:hover .gm-summary-icon>img{transform:translateY(-2px)}
}

/* SP：1カラム＆アイコン90px */
@media (max-width:768px){
  .gm-summary-grid{grid-template-columns:1fr;gap:26px}
  .gm-top-summary .gm-summary-icon>img{width:90px !important;max-width:90px !important}
}
/* ===== original-goods-lp専用：戻るボタン ===== */
#lp-backtotop {
  position: fixed !important;
  right: 16px !important;
  bottom: 80px !important; /* ← スマホ時にもっと上へ配置 */
  background: #f7931e !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 24px !important;
  padding: 10px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
  z-index: 2147483647 !important;
  transition: opacity .25s ease, transform .25s ease !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

#lp-backtotop__icon,
.lp-backtotop__icon {
  font-size: 18px;
  line-height: 1;
}

#lp-backtotop:hover {
  opacity: .9 !important;
  transform: translateY(-3px) !important;
}

/* PC時は少し下に */
@media (min-width: 769px) {
  #lp-backtotop {
    bottom: 40px !important;
  }
}
/* --- Hero画像を確実に最前面で描画する --- */
.gm-hero-test {
  position: relative !important;
  z-index: 10 !important;
  isolation: isolate !important; /* 親overflowの影響を遮断 */
}

/* Shopifyの自動生成ラッパーが描画をブロックしないように */
[class^="home-builder-block-id-template-"] {
  overflow: visible !important;
  z-index: auto !important;
}



:root{
  /* PC想定のヘッダー行の基準高さ（必要なら微調整） */
  --hdr-top-h: 40px;
  --hdr-bot-h: 72px;
}

/* 上バー：ロード後にpaddingが変わっても高さは不変 */
.header__line-top{
  min-height: var(--hdr-top-h);
  display: flex; align-items: center;
}

/* 下バー：同様に先に高さを確保 */
.header__line-bottom{
  min-height: var(--hdr-bot-h);
  display: flex; align-items: center;
}

/* モバイルでは少し低めに */
@media (max-width: 991px){
  :root{ --hdr-top-h: 32px; --hdr-bot-h: 56px; }
}
/* ヘッダーが後で背が伸びても main の開始位置がズレない */


/* ロゴやバナー等：高さが後から決まるのを防ぐ */
.header__line-top img,
.header__line-bottom img{
  display:block;
  height:auto;
  /* どちらか一方でOK（可能なら両方） */
  /* 推奨A：幅と高さの属性をHTMLに付与（最優先） */
  /* 推奨B：CSSで比率を固定（属性が難しい場合） */
  aspect-ratio: attr(width number) / attr(height number);
}
@font-face{ font-display: swap; }
/* スマホのヘッダー下段：余白は最小限、ラベルは切らない */
@media (max-width: 768px){
  .header__line-bottom{
    min-height: 10px !important;   /* 56〜64で微調整OK */
    height: auto !important;
    padding-top: 4px !important;
    padding-bottom: 6px !important;
    overflow: visible;              /* 念のため切り捨て防止 */
  }
  .header__line-bottom .d-lg-flex{
    align-items: center !important; /* 上詰めし過ぎない */
  }
}
@media (max-width: 768px){
  /* 検索バー全体の下に余白を追加（スマホ専用） */
  .shopify-section[id*="search_form"],
  .search-form {
    margin-bottom: 10px !important; /* 8〜12px程度で好み調整OK */
  }

  /* 中の form 自体が詰まっている場合に補強 */
  .search-form form {
    margin-bottom: 0 !important;
    padding-bottom: 6px !important;
  }
}

@media (max-width: 768px){
  .container.d-flex.align-items-center.position-lg-relative {
    margin-top: 6px !important; /* 5〜8pxで微調整OK */
  }
}@media (max-width: 768px){
  /* stickyヘッダーの下に少し余白を入れる */
  .header__line-top {
    margin-bottom: 8px !important; /* 5〜10pxで調整可能 */
  }
}
.ml-25.ml-lg-0.mr-lg-15 {
  display: none !important;
}
/* 初期化前でも見せる。レイアウト崩れないよう最低限固定 */
.product-gallery__main_slider.is-initializing .slick-track,
.product-gallery__thumbnail_slider.is-initializing .slick-track {
  transform: none !important; /* 初期化前のズレ防止 */
}
.product-gallery__main_slider.is-initializing,
.product-gallery__thumbnail_slider.is-initializing {
  visibility: visible; /* d-none を使わず見せる */
}
/* 保険: SwiperCSSがまだでも横並びを維持 */
.swiper.gmcase-rel-swiper { --spv: 2.2; overflow: hidden; }
.swiper.gmcase-rel-swiper .swiper-wrapper { display: flex; }
.swiper.gmcase-rel-swiper .swiper-slide { flex: 0 0 calc(100% / var(--spv)); }

/* 既存のbreakpointsと同じ値に合わせる */
@media (min-width: 768px)  { .swiper.gmcase-rel-swiper { --spv: 3.2; } }
@media (min-width: 1024px) { .swiper.gmcase-rel-swiper { --spv: 4.2; } }
.swiper.gmcase-rel-swiper.is-booting { opacity: 0; transition: opacity .15s; }
.swiper.gmcase-rel-swiper.is-ready   { opacity: 1; }
/* 初期化前だけ仮の余白（8px+8px=16px）を与える */
.gmcase-rel-swiper.is-booting .swiper-wrapper { 
  display: flex; 
  margin-left: -8px; 
  margin-right: -8px;
}
.gmcase-rel-swiper.is-booting .swiper-slide {
  padding-left: 8px; 
  padding-right: 8px;
}

/* 既に入れている“保険CSS”がある場合はそのままでOK */
.container.pt-30 {
  padding-top: 0 !important;
}
/* ===== 枠まわり（そのまま使う） ===== */
.gm-cart-summary{
  background:#f9fafc;border:1px solid #d9e1eb;border-left:5px solid #f7931e;
  border-radius:6px;padding:14px 18px;margin-bottom:20px;
  box-shadow:0 2px 5px rgba(0,0,0,.04);color:#222;
}
.gm-cart-summary__title{font-weight:700;font-size:15px;margin-bottom:6px;letter-spacing:.02em;}
.gm-cart-summary__link{color:#0066cc !important;text-decoration:underline !important;font-weight:500;}

/* ===== 箇条書き（「・」を必ず表示） ===== */
.gm-cart-summary .gm-cart-summary__list,
.gm-cart-summary .gm-cart-summary__list li{
  list-style:none !important;       /* 既定の●を無効化 */
  margin:0 !important; padding:0 !important;
}

/* 他のテーマCSSが付ける li::before/::marker を無効化 */
.gm-cart-summary .gm-cart-summary__list li::marker{content:'' !important;display:none !important;}
.gm-cart-summary .gm-cart-summary__list li::after,
.gm-cart-summary .gm-cart-summary__list li::before{background:none !important;border:0 !important;}

/* ← ここで自前の「・」を強制表示 */
.gm-cart-summary .gm-cart-summary__list li{
  position:relative !important;
  padding-left:1.2em !important;
  margin:4px 0 !important;
  font-size:14px !important; line-height:1.7 !important; color:#333 !important;
}
.gm-cart-summary .gm-cart-summary__list li::before{
  content:'・' !important;
  position:absolute !important;  top:.1em !important;
  color:#6b7a90 !important; font-weight:700 !important;
}

/* ===== スマホ時：左ライン→上ライン ===== */
@media (max-width:768px){
  .gm-cart-summary{
    border-left:0 !important;border-top:3px solid #f7931e !important;
    padding:12px 14px !important; box-shadow:0 1px 3px rgba(0,0,0,.04) !important;
  }
  .gm-cart-summary__title{font-size:14px !important;margin-bottom:4px !important;}
  .gm-cart-summary .gm-cart-summary__list li{font-size:13.5px !important;}
}
li.gmrt__item::before {
  display: none !important;
}
