/** Shopify CDN: Minification failed

Line 615:20 Expected ")" to end URL token
Line 1579:20 Expected ")" to end URL token

**/
/* ===============================
   WO overrides (safe for upgrades)
   last update: 2025-09-02
   =============================== */
/* ===== Container system ===== */
:root{
  --container-max: 1500px;                  /* 全体の標準上限 */
  --container-wide: 2160px;                 /* ワイド上限（NEWS/フッター用） */
  --gutter: clamp(16px, 3vw, 48px);         /* 左右余白の上限付き */
}

/* 全ページの既定コンテナ（page-width）を上書き */
.page-width{
  max-width: var(--container-max);
  padding-inline: var(--gutter);
  margin-inline: auto;
}


/* 2) ワイド：上限だけ広げる（背景は全幅、中身だけちょい広） */
.page-width--wide{
  max-width: var(--container-wide);
}


/* 極大ディスプレイでもガターが無限に増えないよう保険 */
@media (min-width: 1920px){
  .page-width,
  .page-width--wide{
    padding-inline: clamp(40px, 2.5vw, 64px);
  }
}
/* ヘッダーも NEWS / フッターと同じ 2160px に揃える */
.header .page-width,
.site-header .page-width{
  max-width: var(--container-wide);
  padding-inline: var(--gutter);
  margin-inline: auto;
}

/* ※ テーマ側でヘッダーに別 max-width が指定されている場合の保険 */
@media (min-width: 769px){
  .header .page-width,
  .site-header .page-width{
    max-width: var(--container-wide) !important;
  }
}

/* 変数（必要なら） */
:root{
  --ab-h: 40px;          /* Announcement Bar 高さ */
  --iconWeight: 1.8;     /* ハンバーガー線幅デフォ */
}

/* ヘッダー・アイコンサイズ */
.site-nav__link--icon svg.icon-hamburger { width: 32px; height: 32px; color: inherit; }
.site-nav__link--icon a[href*="/account"] svg,
.site-nav__link--icon svg.icon-user { width: 18px; height: 14px; }
.site-nav__link--icon a[href*="/cart"] svg,
.site-nav__link--icon svg.icon-cart,
.site-nav__link--icon svg.icon-bag { width: 28px; height: 26px; }

@media (min-width: 992px){
  .site-nav__link--icon svg.icon-hamburger { width: 48px; height: 48px; }
  .site-nav__link--icon { width: 48px; height: 48px; } /* クリック領域（任意） */
}

/* ハンバーガーの線をなめらかに（テーマ変数に合わせて） */
svg.icon-hamburger{
  --iconWeight: 1.8;
  --iconLinecaps: round;
}

/* HEROのモーション（モバイル常時ズーム / PCホバー） */
@media (max-width: 767px){
  .hero--glisse .wo-hero-img,
  .hero--wonkey .wo-hero-img{
    animation: wo-kenburns 14s ease-in-out infinite alternate;
  }
  @keyframes wo-kenburns{
    from{ transform: scale(1.00); }
    to  { transform: scale(1.04); }
  }
}
@media (min-width: 768px){
  .hero--glisse .wo-hero-img,
  .hero--wonkey .wo-hero-img{ transition: transform .6s ease; }
  @media (hover:hover){
    .hero--glisse .wo-hero-img:hover,
    .hero--wonkey .wo-hero-img:hover{ transform: scale(1.02) translateY(-4px); }
  }
}

/* ヘッダー案Aのための下準備（必要になったらONに） */
/*
.site-header { transition: transform .25s ease, height .25s ease, background .25s ease, box-shadow .25s ease; }
.site-header.is-hidden { transform: translateY(-100%); }
.site-header.is-compact { height: 60px; }
*/

/* ここから各セクションごとに見出しコメントを付けて追記すると管理しやすい */

/* ===============================
   Header: icon + logo tuning
   =============================== */

/* 1) ハンバーガー：白＆線を細く（SP/PC共通） */
.site-nav__link--icon svg.icon-hamburger{
  color:#fff;               /* 色はテーマ流儀に合わせて currentColorで反映 */
  --iconWeight: 1;        /* 既存1.8→1.5へ（さらに細くしたければ1.4） */
  --iconLinecaps: round;    /* 角丸 */
}

/* 2) 右側アイコン（アカウント/検索/バッグ）をPCで同サイズ＆白に統一 */
@media (min-width: 992px){
  /* サイズ統一：バッグの 28×26 に合わせる */
  .site-nav__link--icon a[href*="/account"] svg,
  .site-nav__link--icon svg.icon-user,
  .site-nav__link--icon .js-search-header svg,
  .site-nav__link--icon svg.icon-search,
  .site-nav__link--icon a[href*="/cart"] svg,
  .site-nav__link--icon svg.icon-cart,
  .site-nav__link--icon svg.icon-bag{
    width:30px; height:28px;
  }

}

/* === Mobile 強制白・透過無効化（全状態） === */
@media (max-width: 749px) {
  /* ロゴ画像/SVGへのブレンド・フィルタを完全OFF */
  .site-header__logo img,
  .site-header__logo svg,
  .header__heading-logo img,
  .header__heading-logo svg,
  .logo__image,
  .logo__image--mobile,
  [class*="logo"] img,
  [class*="logo"] svg {
    mix-blend-mode: difference !important;
    opacity: 1 !important;
    filter: none !important;
  }

  /* 透明ヘッダー/スクロール時など状態クラスが付いても上書き */
  .header--transparent .site-header__logo img,
  .header--transparent .site-header__logo svg,
  .header--sticky .site-header__logo img,
  .header--sticky .site-header__logo svg,
  .is-scrolled .site-header__logo img,
  .is-scrolled .site-header__logo svg {
    mix-blend-mode: difference !important;
    opacity: 1 !important;
    filter: none !important;
  }

}
/* ------------------------------------------------------------------------------------ハンバーガーメニュー----------------- */
/* ===============================
   Navigation Drawer (Mobile/PC)
   last update: 2025-09-04
   =============================== */

/* ノブ（必要ならここだけ触ればOK） */
:root{
  --drawer-pc-width: 50vw;      /* PC＝画面の半分 */
  --drawer-pc-max: 720px;       /* PC上限（お好みで） */
  --drawer-sp-width: 100vw;     /* SPは全幅 */

  --nav-parent-fs: 18px;        /* 親メニュー */
  --nav-child-fs: 14px;         /* 子メニュー */
  --nav-grandchild-fs: 13px;    /* 孫メニュー */
  --nav-parent-weight: 700;
  --nav-child-weight: 500;

  --nav-color: #111;
  --nav-muted: rgba(0,0,0,.7);
  --nav-hover-bg: rgba(0,0,0,.05);
  --nav-divider: rgba(0,0,0,.08);

  --sns-gap: 14px;
  --sns-size: 22px;
}

/* ===== ドロワー幅 ===== */
#NavDrawer,
#NavDrawer .drawer,
#NavDrawer .drawer__inner,
#NavDrawer .drawer__content{ max-width: none; }


@media (max-width: 993px){
  #NavDrawer .drawer__inner{ width: var(--drawer-sp-width); }
}

/* ===== 上部：アカウント & バッグ（ユーティリティ） ===== */
#NavDrawer .wo-drawer-top{
  display:flex; align-items:center; justify-content:flex-end;
  gap:16px; padding:14px 18px 8px;
  border-bottom:1px solid var(--nav-divider);
}
#NavDrawer .wo-drawer-top a{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px;
}
#NavDrawer .wo-drawer-top svg{ width:22px; height:22px; }

/* ===== メニュー階層（親＞子＞孫） ===== */
/* #NavDrawer .mobile-nav__item{ border-bottom:1px solid var(--nav-divider); } */

#NavDrawer .mobile-nav__item > a,
#NavDrawer .mobile-nav__item > button.mobile-nav__toggle{
  padding:14px 18px;
  transition: background .2s ease, color .2s ease;
}

#NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item > a,
#NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item > button.mobile-nav__toggle{
  font-size:var(--nav-parent-fs); font-weight:var(--nav-parent-weight); color:var(--nav-color);
}

#NavDrawer .mobile-nav__sublist .mobile-nav__item > a,
#NavDrawer .mobile-nav__sublist .mobile-nav__item > button.mobile-nav__toggle{
  font-size:var(--nav-child-fs); font-weight:var(--nav-child-weight); color:var(--nav-muted);
  padding-top:12px; padding-bottom:12px; padding-left:26px;
}

#NavDrawer .mobile-nav__sublist .mobile-nav__sublist .mobile-nav__item > a,
#NavDrawer .mobile-nav__sublist .mobile-nav__sublist .mobile-nav__item > button.mobile-nav__toggle{
  font-size:var(--nav-grandchild-fs); opacity:.9; padding-left:38px;
}
/* ドロワーのフォントのウェイトを下げる */
.mobile-nav--heading-style .mobile-nav__link--top-level {font-weight:600;}

#NavDrawer .mobile-nav__link--top-level.is-guide,
#NavDrawer .mobile-nav__link--top-level.is-owner{
  font-size: 1.2em !important;   /* 既定 1.4em を抑える */
  letter-spacing: .01em;
  line-height: 1.25;
  /* 背景バーが強いなら↓も */
  background: transparent;
}




/* BIKES / ACCESSORIES の初期展開（.is-default-open と連動） */
#NavDrawer .mobile-nav__item.is-default-open > .mobile-nav__sublist{ display:block; }

/* ===== 最下部：SNS横並び（常に下部に張り付き） ===== */


.drawer__scrollable .mobile-nav__item.is-default-open .collapsible-content{
  height:auto!important;max-height:none!important;visibility:visible!important;opacity:1!important;
}
.drawer__scrollable .mobile-nav__item.is-default-open .mobile-nav__sublist{
  display:block!important;
}

/* LINEなど多色ロゴはテーマの単色上書きを無効化 */
#NavDrawer .mobile-nav__social .icon--multicolor,
#NavDrawer .mobile-nav__social .icon--multicolor * {
  fill: initial !important;          /* currentColor 上書きを解除 */
}

/* LINEの配色を固定（クラス名で指定） */
#NavDrawer .mobile-nav__social .icon-line rect,
#NavDrawer .mobile-nav__social .icon-line .cls-2 { fill: #06c755 !important; }  /* 緑 */
#NavDrawer .mobile-nav__social .icon-line .cls-1 { fill: #fff !important; }     /* 白 */


/* SNSアイコンの標準サイズ（必要なら微調整） */
:root{ --sns-size: 22px; }

/* LINEは内側余白が大きいので少し拡大して見た目を揃える */
#NavDrawer .mobile-nav__social .icon-line{
  width: calc(var(--sns-size) + 6px);
  height: calc(var(--sns-size) + 6px);
}

/* X は縦長で大きく見えるので気持ち小さく */
#NavDrawer .mobile-nav__social .icon-x{
  transform: scale(.92);
  transform-origin: center;
}
#NavDrawer .mobile-nav__social a{
  display:flex; align-items:center; justify-content:center;
  height: 56px;         /* 行の高さを固定 */
}
#NavDrawer .mobile-nav__social .icon{
  display:block;        /* 余計なベースライン余白を消す */
}

/* ======================= ハンバーガードロワー ======================= */

/* 左右対応: ドロワーの基本スタイル */
#NavDrawer.drawer{
  position: fixed;
  top: 0; bottom: 0;
  background: #fff;
  padding: 0 !important;
  border: 0;
  box-shadow: none;
  transition: transform .6s ease;
  /* 初期はオフスクリーン */
  transform: translateX(var(--drawer-off, -100%)) !important;
}

/* 左ドロワー */
#NavDrawer.drawer.drawer--left{
  left: 0; right: auto;
  --drawer-off: -100%;
}

/* 右ドロワー */
#NavDrawer.drawer.drawer--right{
  right: 0; left: auto;
  --drawer-off: 100%;
}

/* 開いた状態 */
#NavDrawer.drawer.drawer--is-open{
  transform: translateX(0) !important;
}

/* テーマ変数の保険（幅350pxなどを参照している場合に勝つ） */
#NavDrawer{
  --drawer-width: 100svw !important;
  --drawer-gutter: 0px !important;
}

/* ============================== モバイル ============================== */
@media (max-width: 749px){
  /* 真の全画面化 */
  #NavDrawer.drawer{
    width: 100vw;
    width: 100svw;
    height: 100vh;
    height: 100dvh;
    max-width:none !important;
    overflow:hidden;
  }

  /* コンテンツを全幅に */
  #NavDrawer .drawer__contents,
  #NavDrawer .drawer__scrollable,
  #NavDrawer .drawer__fixed-header,
  #NavDrawer .drawer__inner,
  #NavDrawer .page-width{
    width:100% !important;
    max-width:none !important;
    flex:1 1 auto !important;
    flex-basis:auto !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  #NavDrawer .index-section{ margin:0 !important; }





  #NavDrawer .drawer__close-button .icon,
  #NavDrawer .drawer__close-button svg{
    width:24px; height:24px; display:block;
  }
}

/* ============================== デスクトップ ============================== */
@media (min-width: 750px){
  #NavDrawer.drawer{
    width: 50vw !important;
    height: 100vh !important;
    max-width:none !important;
  }

  /* 中央寄せ＋ガター */
  #NavDrawer .drawer__scrollable,
  #NavDrawer .drawer__fixed-header{
    padding-left: clamp(28px, 5vw, 64px) !important;
    padding-right: clamp(28px, 5vw, 64px) !important;
    box-sizing: border-box !important;
  }

  #NavDrawer .page-width{
    width:100% !important;
    max-width:1200px !important;
    margin:0 auto !important;
  }

  /* × は右上に固定 */
  #NavDrawer .drawer__close-button{
    position: fixed !important;
    top: var(--nav-x-top-desktop, 24px);
    right: clamp(20px, 2vw, 28px);
    left:auto !important;
    padding:10px !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    transition:none !important;
    animation:none !important;
    pointer-events:auto !important;
    color:#000;
    z-index: 2147483000 !important;
  }

  #NavDrawer .drawer__close-button .icon,
  #NavDrawer .drawer__close-button svg{
    width:24px; height:24px; display:block;
  }
}

/* ================= 背景ページの押し出し/スクロール抑止 ================= */
html.drawer--is-open,
body.drawer--is-open{
  overflow:hidden !important;
  transform:none !important;
}


  /* 1) 左上：アカウント＋バッグ＋同じ列に「×」 */
  /* 既存の wo-drawer-top をヘッダー行に“かぶせて”左配置、×は右上固定のまま同一行に見せる */
  #NavDrawer .drawer__fixed-header{ position: relative; min-height: 55px; }
  #NavDrawer .wo-drawer-top{
    position: absolute; top: 8px; left: clamp(16px, 3vw, 24px);
    display:flex; align-items:center; gap:16px;
    padding: 0; border: 0;
  }
/* HOME、NEWSの位置を他にそろえる */
  #NavDrawer .mobile-nav__item > a, #NavDrawer .mobile-nav__item > button.mobile-nav__toggle {
    padding:14px 0px ;
  }
  /* × を同じ高さに揃える（すでに fixed 指定がある場合でもOK） */
  #NavDrawer .drawer__close-button{
    top: 12px !important;
    right: clamp(16px, 3vw, 24px) !important;
  }

  /*  HOME/NEWS/MAGAZINE の左寄せを、BIKES/ACCESSORIES と揃える */
  /* 親メニュー(リンク型/ボタン型)のパディングを統一 */
  #NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item > a.mobile-nav__link--top-level,
  #NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item > button.mobile-nav__toggle{
    padding-left: clamp(18px, 2.2vw, 24px) !important;
    padding-right: clamp(18px, 2.2vw, 24px) !important;
  }

  /* BIKES / ACCESSORIES の子メニュー：最初の3つだけ下線を消す
        （= M2X, GLISSE, WONKEY / ALL, Locks & Security, Lights） */
  /* テーマ差で .collapsible-content__inner の有無があるので両対応 */
  #NavDrawer .mobile-nav__item.is-default-open .mobile-nav__sublist > .mobile-nav__item:nth-child(-n+3),
  #NavDrawer .mobile-nav__item.is-default-open .mobile-nav__sublist .collapsible-content__inner > .mobile-nav__sublist > .mobile-nav__item:nth-child(-n+3){
    border-bottom: 0 !important;
  }

  /* 右側の展開マーク（矢印）をPCでは表示に戻す */
  #NavDrawer .mobile-nav__toggle svg,
  #NavDrawer .mobile-nav__toggle .icon,
  #NavDrawer .mobile-nav__arrow{
    opacity: 1 !important;
    width: auto !important;
    margin-left: 8px !important;
  }
  /* ただし “デフォルト展開” の項目だけ矢印を隠す */
  #NavDrawer li.mobile-nav__item.is-default-open .mobile-nav__toggle{
    display: none !important;
  }  /* ←※閉じカッコを補完 */



  /* （任意）親見出し同士の区切りを少し淡くする・子の字間を整える */
  #NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item{
    border-bottom-color: rgba(0,0,0,.08);
  }
  #NavDrawer .mobile-nav__sublist .mobile-nav__item > a{ letter-spacing: .01em; }

/* 置き換え：行ホバー（親/子/孫すべて帯色に） */
#NavDrawer .mobile-nav__item:hover > a,
#NavDrawer .mobile-nav__item:hover > button,
#NavDrawer .mobile-nav__item:hover > .mobile-nav__has-sublist > a,
#NavDrawer .mobile-nav__item:hover > .mobile-nav__has-sublist > button,
#NavDrawer .mobile-nav__item:hover > .mobile-nav__child-item,
#NavDrawer .mobile-nav__sublist .mobile-nav__item:hover > a,
#NavDrawer .mobile-nav__sublist .mobile-nav__item:hover > button{
  background: var(--nav-hover-bg) !important;
}

/* 子行の構造が <div class="mobile-nav__child-item">…</div> の場合に帯を出す */
#NavDrawer .mobile-nav__child-item:hover{
  background: var(--nav-hover-bg) !important;
}

/* 親行ボタンは flex のままで横一列に（行幅は100%） */
#NavDrawer .mobile-nav__link--button{
  display: flex !important;
  align-items: center;
  width: 100%;
}

/* 行幅を占有させるのは “リンク要素” のみ（ボタンは上でflexに） */
#NavDrawer .mobile-nav__link--top-level,
#NavDrawer .mobile-nav__child-item > a,
#NavDrawer .mobile-nav__child-item > button{
  display: block;
  width: 100%;
}

/* 矢印コンテナは背景色を付けない（帯が二重にならないよう保険） */
#NavDrawer .mobile-nav__toggle{
  background: transparent !important;
}

  /* ソーシャル行：囲い線すべてOFF + 左寄せレイアウトに */
  #NavDrawer .mobile-nav__social{
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;   /* 左寄せ */
    gap: 30px !important;                     /* 間隔（好みで調整） */
    border: 0 !important;                     /* 上線も含め全部消す */
    box-shadow: none !important;
    background-image: none !important;
    margin:15px 0 90px !important;
  }
  #NavDrawer .mobile-nav__social-item{
    flex: 0 0 auto !important;                /* 等分やめて自然幅 */
    border: 0 !important;
  }
  #NavDrawer .mobile-nav__social a{
    height: 40px !important;                  /* 少し浅めに（任意） */
    padding: 0 !important;
  }

:root {
  /* 外側パディング基準 */
  --wo-pad-outer-pc: clamp(28px, 5vw, 64px); /* PC */
  --wo-pad-outer-sp: 30px;                   /* SPは固定30px */
}

/* 左のアイコン列（アカウント/バッグ） */
#NavDrawer .wo-drawer-top {
  position: absolute;
  top: 27px; /* HOME 行と同じ高さ */
  left: calc(var(--wo-pad-outer-sp) - 4px); /* SPでは30px基準 */
  right: auto;
}

/* 右上の × ボタン */
#NavDrawer .drawer__close-button {
  top: 9px !important;
  right: var(--wo-pad-outer-sp) !important;
}

/* PCだけ上書き */
@media (min-width: 750px) {
  #NavDrawer .wo-drawer-top {
    left: calc(var(--wo-pad-outer-pc) - 9px);
  }
  #NavDrawer .drawer__close-button {
    right: var(--wo-pad-outer-pc) !important;
  }
}



    /* コンテンツ左右のガター（ノッチ考慮） */
 @media (max-width: 749px){
  :root{ --nav-left-pad-sp: 30px; }             /* 好みで20〜26px */
  #NavDrawer .drawer__scrollable,
  #NavDrawer .drawer__fixed-header{
     padding-left: var(--nav-left-pad-sp) !important;
    padding-right: var(--nav-left-pad-sp) !important;
  }

  /* 開いたセクションの末尾だけ padding-bottom が広いのを統一 */
  #NavDrawer .collapsible-content__inner{ padding-bottom: 0 !important; }
  #NavDrawer .mobile-nav__sublist > .mobile-nav__item:last-child > a,
  #NavDrawer .mobile-nav__sublist > .mobile-nav__item:last-child > button{
    padding-bottom: 12px !important;
  }
}
/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーここからFOOTER---------- */

/* =========================
   Footer 共通（変数・土台）
   ========================= */
:root{
  --fz-heading: clamp(13px, 0.95vw, 14px);
  --fz-body:    clamp(10px, 0.85vw, 13px);
  --space-group: clamp(12px, 1.6vw, 18px);
  --space-item:  clamp(6px, 0.7vw, 8px);
  --gap-col:     clamp(20px, 3.5vw, 40px);
}

.site-footer{
  background:#111;
  color:#fff;
  position:relative;
  padding: clamp(50px, 7vw, 90px) 0;
  font-size:13px;
  line-height:1.6;
}

/* 背景WOロゴ（※ custom.css.liquid など Liquid 可のファイルで） */
.site-footer::before{
  content:"";
  position:absolute; inset:0;
  background:url({{ 'wo-logo-large.svg' | asset_url }}) no-repeat center/60%;
  opacity:.06; pointer-events:none; z-index:0;
}

/* ロゴ＋SNS */
.footer__logo, .footer__social{ position:relative; z-index:1; }
.footer__social{
  display:flex;
  gap: clamp(10px, 2vw, 24px);
  margin-top: clamp(12px, 2vw, 24px);
}
.footer__social a{
  display:inline-flex; width:24px; height:24px;
  color:#fff; transition:none !important;   /* 常時白・ホバーで変化なし */
}
.site-footer .footer__social a.line{ color:#06C755 !important; } /* LINEだけ常時緑 */

/* 初期表示はSP優先（PCで上書き） */
.footer-mega__pc{ display:none; }
.footer-mega__sp{ display:block; }

/* =========================
   SP（～768px）：アコーディオン表示
   ========================= */
@media (max-width: 768px){

  /* テーマの折り畳みをフッター内だけ解除（見える化） */
  .site-footer .collapsible-content--small{
    visibility: visible !important;
    height: auto !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  /* PC版を隠してSP版を表示 */
  .site-footer .footer-mega__pc{ display:none !important; }
  .site-footer .footer-mega__sp{ display:block !important; }

  /* CATEGORY / SUPPORT / COMPANY の見出しボタンは非表示 */
  .site-footer .footer__title,
  .site-footer .collapsible-trigger{ display:none !important; }

  /* ロゴ＋SNS中央寄せ */
  .site-footer [data-type="logo_social"]{ text-align:center; }
  .site-footer .footer__logo a{ display:inline-block; margin-inline:auto; }
  .site-footer .footer__social{ justify-content:center; }

  /* ロゴ＋SNS */
.footer__logo, .footer__social{ position:relative; z-index:1; }
.footer__social{
  display:flex;
  gap: clamp(10px, 4vw, 48px);
  margin-top: clamp(12px, 5.2vw, 60x);
}

  /* ===== 親行（details / link-only）を統一レイアウト ===== */
  .footer-mega__sp details{ border:0; padding:0; }  /* 旧指定の打消し */
  .footer-mega__sp .sp-parent{
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }
  /* 行タイトル（summary / link-only） */
  .footer-mega__sp .sp-parent summary,
  .footer-mega__sp .sp-parent--linkonly a{
    min-height: 44px;
    display:flex; align-items:center; justify-content:space-between;
    font-size:15px; font-weight:700; color:#fff; text-decoration:none;
  }

  /* summary (+/−) は details のみ。リンク行には付かない */
  .footer-mega__sp summary{ list-style:none; cursor:pointer; }
  .footer-mega__sp summary::-webkit-details-marker{ display:none; }
  .footer-mega__sp summary::after{ content:"+"; opacity:.9; }
  .footer-mega__sp details[open] > summary::after{ content:"–"; }

  /* 子リスト（ご利用ガイド配下など） */
  .footer-mega__sp ul{
    margin: 8px 0 12px;
    padding-left: 14px;
    list-style: none;
  }
  .footer-mega__sp li + li{ margin-top: 6px; }
  .footer-mega__sp a{ color:#fff; font-size:13px; text-decoration:none; }

  /* ご利用ガイドだけ 13px 指定（行高は周囲と合わせる） */
  .footer-mega__sp summary.is-guide{
    font-size: 13px !important;
    font-weight: 600;
  }

  /* コピーライトとの干渉回避：メニュー最前面、コピーライト背面 */
  .site-footer .footer-mega__sp{ position: relative; z-index: 2; padding-bottom:0 !important; }
  .site-footer .footer__collapsible{ padding-bottom:0 !important; }
  .site-footer .footer__small-text{
    position:relative; z-index:0;
    margin-top:0 !important; padding-top: clamp(16px, 4vw, 28px) !important;
    text-align:center;
  }
}

@media (max-width: 768px){
  .footer-mega__sp .sp-child summary.is-guide{
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    min-height: auto !important;
    margin:6px 0 .25em 0;
    display: block !important; /* アイコン位置を崩したくなければ flexのままでもOK */
  }
}



/* =========================
   タブレット/PC（≥769px）
   ※ 見た目は現状維持
   ========================= */
@media (min-width: 769px){

  .footer-mega__pc{ display:block !important; position:relative; z-index:1; }
  .footer-mega__sp{
    display:none !important;
    position:static !important;
    height:0 !important; overflow:hidden !important; pointer-events:none !important;
  }

  /* 左のロゴ列（34%）・右の3カラム（各22%） */
  .site-footer .grid__item[data-type="logo_social"]{ width:34% !important; padding-top:0 !important; }
  .site-footer .grid__item[data-type="menu"]{ width:22% !important; padding-top:0 !important; }
  .site-footer .grid__item{ clear:none !important; }
  .site-footer .grid{ align-items:flex-start; }

  /* 見出し／リンク */
  .site-footer [data-type="menu"] .footer-mega__group + .footer-mega__group{ margin-top: var(--space-group); }
  .site-footer [data-type="menu"] .footer-mega__heading{
    display:block; color:#fff; font-size: var(--fz-heading);
    font-weight:800; letter-spacing:.07em; margin:0 0 clamp(8px, 1vw, 10px);
  }
  .site-footer [data-type="menu"] .footer-mega__list,
  .site-footer [data-type="menu"] .footer-mega__sublist{ list-style:none !important; margin:0 !important; padding:0 !important; }
  .site-footer [data-type="menu"] .footer-mega__item + .footer-mega__item{ margin-top: var(--space-item); }
  .site-footer [data-type="menu"] .footer-mega__list a{
    color:#fff; font-size: var(--fz-body); font-weight:400;
    text-decoration:none; line-height:1.6; white-space:normal; word-break:break-word;
  }
  /* 「ご利用ガイド」＋/− */
  .site-footer [data-type="menu"] .footer-mega__summary{
    color:#fff; font-size: var(--fz-body); font-weight:400; line-height:1.6;
    display:flex; align-items:center; justify-content:flex-start; gap:10px; cursor:pointer;
    position:relative; padding-right:18px;
  }
  .site-footer [data-type="menu"] .footer-mega__summary::after{
    content:"+"; opacity:.9; position:absolute; right:12px;
  }
  .site-footer [data-type="menu"] .footer-mega__details[open] .footer-mega__summary::after{ content:"–"; right:12px; }
  .site-footer [data-type="menu"] .footer-mega__sublist{ margin-top: var(--space-item) !important; padding-left:12px !important; }

  /* 見出しの上下マージンを削除（ロゴ列と上端を揃える） */
  .site-footer .footer__title{ display:none; margin-top:0 !important; margin-bottom:0; line-height:0; }

  /* 左列インセット（必要なら） */
  .site-footer .footer__item--logo_social_fh8JwW{ padding-left:40px !important; }
}

/* 960〜1200px：少しだけ詰める */
@media (min-width:960px) and (max-width:1200px){
  .site-footer [data-type="menu"] .footer-mega__heading{ font-size: clamp(12.5px, 1.0vw, 13px); }
  .site-footer [data-type="menu"] .footer-mega__list a,
  .site-footer [data-type="menu"] .footer-mega__summary{ font-size: clamp(12px, .95vw, 12.5px); line-height:1.55; }
}
/* ===========================
   WO Store Locator (clean)
   =========================== */

/* タイトル */
.wo-home-map .wo-home-map__title {
  text-align: center;
  font-weight: 800;
  letter-spacing: .02em;
  margin: 0 0 16px;
}

/* コンテナ / マップ枠 */
.wo-home-map .container { max-width: 1200px; margin: 0 auto; padding: 0; }
.wo-home-map__canvas { border-radius: 12px; overflow: hidden; background: #f7f7f7; min-height: clamp(360px, 50vw, 560px); }

/* マップの角（内側iframeまで） */
.wo-home-map .develic-map,
.wo-home-map .develic-map iframe,
.wo-home-map .develic-map > div {
  border-radius: 14px !important;
  overflow: hidden !important;
}

/* 左パネルは透明（カード感は中で出す） */
.wo-home-map .develic-left-panel {
  background: transparent !important;
  box-shadow: none !important;
}

/* 検索インプット（共通） */
.wo-home-map .develic-search-input {
  border: 1px solid #ddd;
  border-radius: 999px;
  padding: 10px 14px;
  outline: none;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) inset;
}
.wo-home-map .develic-search-input:focus {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}

/* 店舗タグの隠しデータ要素 */
.wo-tags { display: none; }

/* “Filter” ラベルと CLEAR は常時非表示 */
.wo-map-filters__label,
.wo-map-filters__clear { display: none !important; }

/* 結果件数（任意で使う場合） */
.wo-map-result-count {
  font-size: 14px;
  font-weight: 600;
  margin: 6px 0 8px;
  color: #333;
}

/* ========== SP (<=768px) ========== */
@media (max-width: 768px) {

  /* レイアウト：左パネル（検索/フィルタ/一覧）→地図 */
  .wo-home-map .develic-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px;
  }
  .wo-home-map .develic-left-panel { order: 1; }
  .wo-home-map .develic-loaded,
  .wo-home-map .develic-map {
    order: 4;
    border-radius: 14px;
    overflow: hidden;
  }

  /* 左パネル内のカード化 */
  .wo-home-map .develic-left-panel .develic-search-wrapper,
  .wo-home-map .develic-left-panel .wo-map-filters,
  .wo-home-map .develic-left-panel .develic-items-wrapper {
    background: #fff;
    border-radius: 12px;
    padding: 8px 10px;
  }

  /* 一覧：高さ固定＋スクロール */
  .wo-home-map .develic-items-wrapper {
    max-height: 232px;
    overflow: auto;
    border: 1px solid #eee;
  }

  /* 一覧の1カード圧縮 */
  .wo-home-map .develic-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 84px;
    padding: 10px 8px;
    border-bottom: 1px solid #f0f0f0;
  }
  .wo-home-map .develic-item:last-child { border-bottom: 0; }

  .wo-home-map .develic-item .develic-photo,
  .wo-home-map .develic-item .develic-description,
  .wo-home-map .develic-item .develic-working-hours,
  .wo-home-map .develic-item .develic-extras { display: none !important; }

  .wo-home-map .develic-item .develic-title { font-size: 15px; font-weight: 700; margin: 0; }
  .wo-home-map .develic-item .develic-address,
  .wo-home-map .develic-item .develic-phone { font-size: 13px; color: #444; margin: 0; }

  .wo-home-map .develic-item a[href*="google.com/maps"] {
    margin-left: auto;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid #111;
    color: #111;
    text-decoration: none;
    background: #fff;
    white-space: nowrap;
  }

  /* フィルター：チェックボックス＋1行中央寄せ */
  .wo-map-filters {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0;
    /* white-space: nowrap; */
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 8px 0 12px;
    padding: 6px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fff;
  }

  /* ラベルの並びと余白（STORE/REPAIR/TEST RIDE の右だけ余白） */
  .wo-map-filters label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    text-align: center;
    padding: 0;
    margin: 0 10px 0 0;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 12.5px;
    line-height: 1;
    cursor: pointer;
    user-select: none;
  }
  .wo-map-filters label:last-child { margin-right: 0; }

  /* 入力は見える＆クリック可（pointer-events: none は厳禁） */
  .wo-map-filters input[type="checkbox"] {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    appearance: checkbox !important;
    -webkit-appearance: checkbox !important;
    width: 16px;
    height: 16px;
    margin: 0;
    box-sizing: border-box;
  }
}

/* さらに狭幅（~400px）微調整 */
@media (max-width: 400px) {
  .wo-map-filters label { font-size: 12px; margin-right: 8px; }
  .wo-map-filters input[type="checkbox"] { width: 15px; height: 15px; }
}

/* Omniumが複製した古い一覧を隠し、最後の一覧だけ表示 */
.wo-home-map .develic-left-panel .develic-items-wrapper { display: none; }
.wo-home-map .develic-left-panel .develic-items-wrapper:last-of-type { display: block; }

/* no result UI */
.wo-noresult { display:none; margin:8px 0; }
.wo-noresult.is-show { display:block; }
.wo-noresult__inner {
  padding:10px 12px; border:1px dashed #ccc; border-radius:10px; background:#fafafa;
  display:flex; align-items:center; gap:10px; justify-content:space-between;
}
.wo-noresult__msg { font-size:14px; color:#444; }
.wo-noresult__clear {
  border:1px solid #111; background:#fff; color:#111;
  border-radius:999px; padding:6px 10px; font-size:12px; cursor:pointer;
}
@media (max-width:768px){
  .wo-noresult__inner{ padding:8px 10px; }
  .wo-noresult__msg{ font-size:13px; }
}
/* ===============================
   WO overrides (safe for upgrades)
   last update: 2025-09-02
   =============================== */
/* ===== Container system ===== */
:root{
  --container-max: 1500px;                  /* 全体の標準上限 */
  --container-wide: 2160px;                 /* ワイド上限（NEWS/フッター用） */
  --gutter: clamp(16px, 3vw, 48px);         /* 左右余白の上限付き */
}

/* 全ページの既定コンテナ（page-width）を上書き */
.page-width{
  max-width: var(--container-max);
  padding-inline: var(--gutter);
  margin-inline: auto;
}


/* 2) ワイド：上限だけ広げる（背景は全幅、中身だけちょい広） */
.page-width--wide{
  max-width: var(--container-wide);
}


/* 極大ディスプレイでもガターが無限に増えないよう保険 */
@media (min-width: 1920px){
  .page-width,
  .page-width--wide{
    padding-inline: clamp(40px, 2.5vw, 64px);
  }
}
/* ヘッダーも NEWS / フッターと同じ 2160px に揃える */
.header .page-width,
.site-header .page-width{
  max-width: var(--container-wide);
  padding-inline: var(--gutter);
  margin-inline: auto;
}

/* ※ テーマ側でヘッダーに別 max-width が指定されている場合の保険 */
@media (min-width: 769px){
  .header .page-width,
  .site-header .page-width{
    max-width: var(--container-wide) !important;
  }
}

/* 変数（必要なら） */
:root{
  --ab-h: 40px;          /* Announcement Bar 高さ */
  --iconWeight: 1.8;     /* ハンバーガー線幅デフォ */
}

/* ヘッダー・アイコンサイズ */
.site-nav__link--icon svg.icon-hamburger { width: 32px; height: 32px; color: inherit; }
.site-nav__link--icon a[href*="/account"] svg,
.site-nav__link--icon svg.icon-user { width: 18px; height: 14px; }
.site-nav__link--icon a[href*="/cart"] svg,
.site-nav__link--icon svg.icon-cart,
.site-nav__link--icon svg.icon-bag { width: 28px; height: 26px; }

@media (min-width: 992px){
  .site-nav__link--icon svg.icon-hamburger { width: 48px; height: 48px; }
  .site-nav__link--icon { width: 48px; height: 48px; } /* クリック領域（任意） */
}

/* ハンバーガーの線をなめらかに（テーマ変数に合わせて） */
svg.icon-hamburger{
  --iconWeight: 1.8;
  --iconLinecaps: round;
}

/* HEROのモーション（モバイル常時ズーム / PCホバー） */
@media (max-width: 767px){
  .hero--glisse .wo-hero-img,
  .hero--wonkey .wo-hero-img{
    animation: wo-kenburns 14s ease-in-out infinite alternate;
  }
  @keyframes wo-kenburns{
    from{ transform: scale(1.00); }
    to  { transform: scale(1.04); }
  }
}
@media (min-width: 768px){
  .hero--glisse .wo-hero-img,
  .hero--wonkey .wo-hero-img{ transition: transform .6s ease; }
  @media (hover:hover){
    .hero--glisse .wo-hero-img:hover,
    .hero--wonkey .wo-hero-img:hover{ transform: scale(1.02) translateY(-4px); }
  }
}

/* ヘッダー案Aのための下準備（必要になったらONに） */
/*
.site-header { transition: transform .25s ease, height .25s ease, background .25s ease, box-shadow .25s ease; }
.site-header.is-hidden { transform: translateY(-100%); }
.site-header.is-compact { height: 60px; }
*/

/* ここから各セクションごとに見出しコメントを付けて追記すると管理しやすい */

/* ===============================
   Header: icon + logo tuning
   =============================== */

/* 1) ハンバーガー：白＆線を細く（SP/PC共通） */
.site-nav__link--icon svg.icon-hamburger{
  color:#fff;               /* 色はテーマ流儀に合わせて currentColorで反映 */
  --iconWeight: 1;        /* 既存1.8→1.5へ（さらに細くしたければ1.4） */
  --iconLinecaps: round;    /* 角丸 */
}

/* 2) 右側アイコン（アカウント/検索/バッグ）をPCで同サイズ＆白に統一 */
@media (min-width: 992px){
  /* サイズ統一：バッグの 28×26 に合わせる */
  .site-nav__link--icon a[href*="/account"] svg,
  .site-nav__link--icon svg.icon-user,
  .site-nav__link--icon .js-search-header svg,
  .site-nav__link--icon svg.icon-search,
  .site-nav__link--icon a[href*="/cart"] svg,
  .site-nav__link--icon svg.icon-cart,
  .site-nav__link--icon svg.icon-bag{
    width:30px; height:28px;
  }

}

/* === Mobile 強制白・透過無効化（全状態） === */
@media (max-width: 749px) {
  /* ロゴ画像/SVGへのブレンド・フィルタを完全OFF */
  .site-header__logo img,
  .site-header__logo svg,
  .header__heading-logo img,
  .header__heading-logo svg,
  .logo__image,
  .logo__image--mobile,
  [class*="logo"] img,
  [class*="logo"] svg {
    mix-blend-mode: difference !important;
    opacity: 1 !important;
    filter: none !important;
  }

  /* 透明ヘッダー/スクロール時など状態クラスが付いても上書き */
  .header--transparent .site-header__logo img,
  .header--transparent .site-header__logo svg,
  .header--sticky .site-header__logo img,
  .header--sticky .site-header__logo svg,
  .is-scrolled .site-header__logo img,
  .is-scrolled .site-header__logo svg {
    mix-blend-mode: difference !important;
    opacity: 1 !important;
    filter: none !important;
  }

}
/* ------------------------------------------------------------------------------------ハンバーガーメニュー----------------- */
/* ===============================
   Navigation Drawer (Mobile/PC)
   last update: 2025-09-04
   =============================== */

/* ノブ（必要ならここだけ触ればOK） */
:root{
  --drawer-pc-width: 50vw;      /* PC＝画面の半分 */
  --drawer-pc-max: 720px;       /* PC上限（お好みで） */
  --drawer-sp-width: 100vw;     /* SPは全幅 */

  --nav-parent-fs: 18px;        /* 親メニュー */
  --nav-child-fs: 14px;         /* 子メニュー */
  --nav-grandchild-fs: 13px;    /* 孫メニュー */
  --nav-parent-weight: 700;
  --nav-child-weight: 500;

  --nav-color: #111;
  --nav-muted: rgba(0,0,0,.7);
  --nav-hover-bg: rgba(0,0,0,.05);
  --nav-divider: rgba(0,0,0,.08);

  --sns-gap: 14px;
  --sns-size: 22px;
}

/* ===== ドロワー幅 ===== */
#NavDrawer,
#NavDrawer .drawer,
#NavDrawer .drawer__inner,
#NavDrawer .drawer__content{ max-width: none; }


@media (max-width: 993px){
  #NavDrawer .drawer__inner{ width: var(--drawer-sp-width); }
}

/* ===== 上部：アカウント & バッグ（ユーティリティ） ===== */
#NavDrawer .wo-drawer-top{
  display:flex; align-items:center; justify-content:flex-end;
  gap:16px; padding:14px 18px 8px;
  border-bottom:1px solid var(--nav-divider);
}
#NavDrawer .wo-drawer-top a{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px;
}
#NavDrawer .wo-drawer-top svg{ width:22px; height:22px; }

/* ===== メニュー階層（親＞子＞孫） ===== */
/* #NavDrawer .mobile-nav__item{ border-bottom:1px solid var(--nav-divider); } */

#NavDrawer .mobile-nav__item > a,
#NavDrawer .mobile-nav__item > button.mobile-nav__toggle{
  padding:14px 18px;
  transition: background .2s ease, color .2s ease;
}

#NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item > a,
#NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item > button.mobile-nav__toggle{
  font-size:var(--nav-parent-fs); font-weight:var(--nav-parent-weight); color:var(--nav-color);
}

#NavDrawer .mobile-nav__sublist .mobile-nav__item > a,
#NavDrawer .mobile-nav__sublist .mobile-nav__item > button.mobile-nav__toggle{
  font-size:var(--nav-child-fs); font-weight:var(--nav-child-weight); color:var(--nav-muted);
  padding-top:12px; padding-bottom:12px; padding-left:26px;
}

#NavDrawer .mobile-nav__sublist .mobile-nav__sublist .mobile-nav__item > a,
#NavDrawer .mobile-nav__sublist .mobile-nav__sublist .mobile-nav__item > button.mobile-nav__toggle{
  font-size:var(--nav-grandchild-fs); opacity:.9; padding-left:38px;
}

/* BIKES / ACCESSORIES の初期展開（.is-default-open と連動） */
#NavDrawer .mobile-nav__item.is-default-open > .mobile-nav__sublist{ display:block; }

/* ===== 最下部：SNS横並び（常に下部に張り付き） ===== */


.drawer__scrollable .mobile-nav__item.is-default-open .collapsible-content{
  height:auto!important;max-height:none!important;visibility:visible!important;opacity:1!important;
}
.drawer__scrollable .mobile-nav__item.is-default-open .mobile-nav__sublist{
  display:block!important;
}

/* LINEなど多色ロゴはテーマの単色上書きを無効化 */
#NavDrawer .mobile-nav__social .icon--multicolor,
#NavDrawer .mobile-nav__social .icon--multicolor * {
  fill: initial !important;          /* currentColor 上書きを解除 */
}

/* LINEの配色を固定（クラス名で指定） */
#NavDrawer .mobile-nav__social .icon-line rect,
#NavDrawer .mobile-nav__social .icon-line .cls-2 { fill: #06c755 !important; }  /* 緑 */
#NavDrawer .mobile-nav__social .icon-line .cls-1 { fill: #fff !important; }     /* 白 */


/* SNSアイコンの標準サイズ（必要なら微調整） */
:root{ --sns-size: 22px; }

/* LINEは内側余白が大きいので少し拡大して見た目を揃える */
#NavDrawer .mobile-nav__social .icon-line{
  width: calc(var(--sns-size) + 6px);
  height: calc(var(--sns-size) + 6px);
}

/* X は縦長で大きく見えるので気持ち小さく */
#NavDrawer .mobile-nav__social .icon-x{
  transform: scale(.92);
  transform-origin: center;
}
#NavDrawer .mobile-nav__social a{
  display:flex; align-items:center; justify-content:center;
  height: 56px;         /* 行の高さを固定 */
}
#NavDrawer .mobile-nav__social .icon{
  display:block;        /* 余計なベースライン余白を消す */
}

/* ======================= ハンバーガードロワー ======================= */

/* 左右対応: ドロワーの基本スタイル */
#NavDrawer.drawer{
  position: fixed;
  top: 0; bottom: 0;
  background: #fff;
  padding: 0 !important;
  border: 0;
  box-shadow: none;
  transition: transform .6s ease;
  /* 初期はオフスクリーン */
  transform: translateX(var(--drawer-off, -100%)) !important;
}

/* 左ドロワー */
#NavDrawer.drawer.drawer--left{
  left: 0; right: auto;
  --drawer-off: -100%;
}

/* 右ドロワー */
#NavDrawer.drawer.drawer--right{
  right: 0; left: auto;
  --drawer-off: 100%;
}

/* 開いた状態 */
#NavDrawer.drawer.drawer--is-open{
  transform: translateX(0) !important;
}

/* テーマ変数の保険（幅350pxなどを参照している場合に勝つ） */
#NavDrawer{
  --drawer-width: 100svw !important;
  --drawer-gutter: 0px !important;
}

/* ============================== モバイル ============================== */
@media (max-width: 749px){
  /* 真の全画面化 */
  #NavDrawer.drawer{
    width: 100vw;
    width: 100svw;
    height: 100vh;
    height: 100dvh;
    max-width:none !important;
    overflow:hidden;
  }

  /* コンテンツを全幅に */
  #NavDrawer .drawer__contents,
  #NavDrawer .drawer__scrollable,
  #NavDrawer .drawer__fixed-header,
  #NavDrawer .drawer__inner,
  #NavDrawer .page-width{
    width:100% !important;
    max-width:none !important;
    flex:1 1 auto !important;
    flex-basis:auto !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  #NavDrawer .index-section{ margin:0 !important; }





  #NavDrawer .drawer__close-button .icon,
  #NavDrawer .drawer__close-button svg{
    width:24px; height:24px; display:block;
  }
}

/* ============================== デスクトップ ============================== */
@media (min-width: 750px){
  #NavDrawer.drawer{
    width: 50vw !important;
    height: 100vh !important;
    max-width:none !important;
  }

  /* 中央寄せ＋ガター */
  #NavDrawer .drawer__scrollable,
  #NavDrawer .drawer__fixed-header{
    padding-left: clamp(28px, 5vw, 64px) !important;
    padding-right: clamp(28px, 5vw, 64px) !important;
    box-sizing: border-box !important;
  }

  #NavDrawer .page-width{
    width:100% !important;
    max-width:1200px !important;
    margin:0 auto !important;
  }

  /* × は右上に固定 */
  #NavDrawer .drawer__close-button{
    position: fixed !important;
    top: var(--nav-x-top-desktop, 24px);
    right: clamp(20px, 2vw, 28px);
    left:auto !important;
    padding:10px !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    transition:none !important;
    animation:none !important;
    pointer-events:auto !important;
    color:#000;
    z-index: 2147483000 !important;
  }

  #NavDrawer .drawer__close-button .icon,
  #NavDrawer .drawer__close-button svg{
    width:24px; height:24px; display:block;
  }
}

/* ================= 背景ページの押し出し/スクロール抑止 ================= */
html.drawer--is-open,
body.drawer--is-open{
  overflow:hidden !important;
  transform:none !important;
}


  /* 1) 左上：アカウント＋バッグ＋同じ列に「×」 */
  /* 既存の wo-drawer-top をヘッダー行に“かぶせて”左配置、×は右上固定のまま同一行に見せる */
  #NavDrawer .drawer__fixed-header{ position: relative; min-height: 55px; }
  #NavDrawer .wo-drawer-top{
    position: absolute; top: 8px; left: clamp(16px, 3vw, 24px);
    display:flex; align-items:center; gap:16px;
    padding: 0; border: 0;
  }
/* HOME、NEWSの位置を他にそろえる */
  #NavDrawer .mobile-nav__item > a, #NavDrawer .mobile-nav__item > button.mobile-nav__toggle {
    padding:14px 0px ;
  }
  /* × を同じ高さに揃える（すでに fixed 指定がある場合でもOK） */
  #NavDrawer .drawer__close-button{
    top: 12px !important;
    right: clamp(16px, 3vw, 24px) !important;
  }

  /*  HOME/NEWS/MAGAZINE の左寄せを、BIKES/ACCESSORIES と揃える */
  /* 親メニュー(リンク型/ボタン型)のパディングを統一 */
  #NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item > a.mobile-nav__link--top-level,
  #NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item > button.mobile-nav__toggle{
    padding-left: clamp(18px, 2.2vw, 24px) !important;
    padding-right: clamp(18px, 2.2vw, 24px) !important;
  }

  /* BIKES / ACCESSORIES の子メニュー：最初の3つだけ下線を消す
        （= M2X, GLISSE, WONKEY / ALL, Locks & Security, Lights） */
  /* テーマ差で .collapsible-content__inner の有無があるので両対応 */
  #NavDrawer .mobile-nav__item.is-default-open .mobile-nav__sublist > .mobile-nav__item:nth-child(-n+3),
  #NavDrawer .mobile-nav__item.is-default-open .mobile-nav__sublist .collapsible-content__inner > .mobile-nav__sublist > .mobile-nav__item:nth-child(-n+3){
    border-bottom: 0 !important;
  }

  /* 右側の展開マーク（矢印）をPCでは表示に戻す */
  #NavDrawer .mobile-nav__toggle svg,
  #NavDrawer .mobile-nav__toggle .icon,
  #NavDrawer .mobile-nav__arrow{
    opacity: 1 !important;
    width: auto !important;
    margin-left: 8px !important;
  }
  /* ただし “デフォルト展開” の項目だけ矢印を隠す */
  #NavDrawer li.mobile-nav__item.is-default-open .mobile-nav__toggle{
    display: none !important;
  }  /* ←※閉じカッコを補完 */



  /* （任意）親見出し同士の区切りを少し淡くする・子の字間を整える */
  #NavDrawer > .drawer__scrollable > ul.mobile-nav > li.mobile-nav__item{
    border-bottom-color: rgba(0,0,0,.08);
  }
  #NavDrawer .mobile-nav__sublist .mobile-nav__item > a{ letter-spacing: .01em; }

/* 置き換え：行ホバー（親/子/孫すべて帯色に） */
#NavDrawer .mobile-nav__item:hover > a,
#NavDrawer .mobile-nav__item:hover > button,
#NavDrawer .mobile-nav__item:hover > .mobile-nav__has-sublist > a,
#NavDrawer .mobile-nav__item:hover > .mobile-nav__has-sublist > button,
#NavDrawer .mobile-nav__item:hover > .mobile-nav__child-item,
#NavDrawer .mobile-nav__sublist .mobile-nav__item:hover > a,
#NavDrawer .mobile-nav__sublist .mobile-nav__item:hover > button{
  background: var(--nav-hover-bg) !important;
}

/* 子行の構造が <div class="mobile-nav__child-item">…</div> の場合に帯を出す */
#NavDrawer .mobile-nav__child-item:hover{
  background: var(--nav-hover-bg) !important;
}

/* 親行ボタンは flex のままで横一列に（行幅は100%） */
#NavDrawer .mobile-nav__link--button{
  display: flex !important;
  align-items: center;
  width: 100%;
}

/* 行幅を占有させるのは “リンク要素” のみ（ボタンは上でflexに） */
#NavDrawer .mobile-nav__link--top-level,
#NavDrawer .mobile-nav__child-item > a,
#NavDrawer .mobile-nav__child-item > button{
  display: block;
  width: 100%;
}

/* 矢印コンテナは背景色を付けない（帯が二重にならないよう保険） */
#NavDrawer .mobile-nav__toggle{
  background: transparent !important;
}

  /* ソーシャル行：囲い線すべてOFF + 左寄せレイアウトに */
  #NavDrawer .mobile-nav__social{
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;   /* 左寄せ */
    gap: 30px !important;                     /* 間隔（好みで調整） */
    border: 0 !important;                     /* 上線も含め全部消す */
    box-shadow: none !important;
    background-image: none !important;
    margin:15px 0 90px !important;
  }
  #NavDrawer .mobile-nav__social-item{
    flex: 0 0 auto !important;                /* 等分やめて自然幅 */
    border: 0 !important;
  }
  #NavDrawer .mobile-nav__social a{
    height: 40px !important;                  /* 少し浅めに（任意） */
    padding: 0 !important;
  }

:root {
  /* 外側パディング基準 */
  --wo-pad-outer-pc: clamp(28px, 5vw, 64px); /* PC */
  --wo-pad-outer-sp: 30px;                   /* SPは固定30px */
}

/* 左のアイコン列（アカウント/バッグ） */
#NavDrawer .wo-drawer-top {
  position: absolute;
  top: 27px; /* HOME 行と同じ高さ */
  left: calc(var(--wo-pad-outer-sp) - 4px); /* SPでは30px基準 */
  right: auto;
}

/* 右上の × ボタン */
#NavDrawer .drawer__close-button {
  top: 9px !important;
  right: var(--wo-pad-outer-sp) !important;
}

/* PCだけ上書き */
@media (min-width: 750px) {
  #NavDrawer .wo-drawer-top {
    left: calc(var(--wo-pad-outer-pc) - 9px);
  }
  #NavDrawer .drawer__close-button {
    right: var(--wo-pad-outer-pc) !important;
  }
}



    /* コンテンツ左右のガター（ノッチ考慮） */
 @media (max-width: 749px){
  :root{ --nav-left-pad-sp: 30px; }             /* 好みで20〜26px */
  #NavDrawer .drawer__scrollable,
  #NavDrawer .drawer__fixed-header{
     padding-left: var(--nav-left-pad-sp) !important;
    padding-right: var(--nav-left-pad-sp) !important;
  }

  /* 開いたセクションの末尾だけ padding-bottom が広いのを統一 */
  #NavDrawer .collapsible-content__inner{ padding-bottom: 0 !important; }
  #NavDrawer .mobile-nav__sublist > .mobile-nav__item:last-child > a,
  #NavDrawer .mobile-nav__sublist > .mobile-nav__item:last-child > button{
    padding-bottom: 12px !important;
  }
}
/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーここからFOOTER---------- */

/* =========================
   Footer 共通（変数・土台）
   ========================= */
:root{
  --fz-heading: clamp(13px, 0.95vw, 14px);
  --fz-body:    clamp(10px, 0.85vw, 13px);
  --space-group: clamp(12px, 1.6vw, 18px);
  --space-item:  clamp(6px, 0.7vw, 8px);
  --gap-col:     clamp(20px, 3.5vw, 40px);
}

.site-footer{
  background:#111;
  color:#fff;
  position:relative;
  padding: clamp(50px, 7vw, 90px) 0;
  font-size:13px;
  line-height:1.6;
}

/* 背景WOロゴ（※ custom.css.liquid など Liquid 可のファイルで） */
.site-footer::before{
  content:"";
  position:absolute; inset:0;
  background:url({{ 'wo-logo-large.svg' | asset_url }}) no-repeat center/60%;
  opacity:.06; pointer-events:none; z-index:0;
}

/* ロゴ＋SNS */
.footer__logo, .footer__social{ position:relative; z-index:1; }
.footer__social{
  display:flex;
  gap: clamp(10px, 2vw, 24px);
  margin-top: clamp(12px, 2vw, 24px);
}
.footer__social a{
  display:inline-flex; width:24px; height:24px;
  color:#fff; transition:none !important;   /* 常時白・ホバーで変化なし */
}
.site-footer .footer__social a.line{ color:#06C755 !important; } /* LINEだけ常時緑 */

/* 初期表示はSP優先（PCで上書き） */
.footer-mega__pc{ display:none; }
.footer-mega__sp{ display:block; }

/* =========================
   SP（～768px）：アコーディオン表示
   ========================= */
@media (max-width: 768px){

  /* テーマの折り畳みをフッター内だけ解除（見える化） */
  .site-footer .collapsible-content--small{
    visibility: visible !important;
    height: auto !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  /* PC版を隠してSP版を表示 */
  .site-footer .footer-mega__pc{ display:none !important; }
  .site-footer .footer-mega__sp{ display:block !important; }

  /* CATEGORY / SUPPORT / COMPANY の見出しボタンは非表示 */
  .site-footer .footer__title,
  .site-footer .collapsible-trigger{ display:none !important; }

  /* ロゴ＋SNS中央寄せ */
  .site-footer [data-type="logo_social"]{ text-align:center; }
  .site-footer .footer__logo a{ display:inline-block; margin-inline:auto; }
  .site-footer .footer__social{ justify-content:center; }

  /* ロゴ＋SNS */
.footer__logo, .footer__social{ position:relative; z-index:1; }
.footer__social{
  display:flex;
  gap: clamp(10px, 4vw, 48px);
  margin-top: clamp(12px, 5.2vw, 60x);
}

  /* ===== 親行（details / link-only）を統一レイアウト ===== */
  .footer-mega__sp details{ border:0; padding:0; }  /* 旧指定の打消し */
  .footer-mega__sp .sp-parent{
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }
  /* 行タイトル（summary / link-only） */
  .footer-mega__sp .sp-parent summary,
  .footer-mega__sp .sp-parent--linkonly a{
    min-height: 44px;
    display:flex; align-items:center; justify-content:space-between;
    font-size:15px; font-weight:700; color:#fff; text-decoration:none;
  }

  /* summary (+/−) は details のみ。リンク行には付かない */
  .footer-mega__sp summary{ list-style:none; cursor:pointer; }
  .footer-mega__sp summary::-webkit-details-marker{ display:none; }
  .footer-mega__sp summary::after{ content:"+"; opacity:.9; }
  .footer-mega__sp details[open] > summary::after{ content:"–"; }

  /* 子リスト（ご利用ガイド配下など） */
  .footer-mega__sp ul{
    margin: 8px 0 12px;
    padding-left: 14px;
    list-style: none;
  }
  .footer-mega__sp li + li{ margin-top: 6px; }
  .footer-mega__sp a{ color:#fff; font-size:13px; text-decoration:none; }

  /* ご利用ガイドだけ 13px 指定（行高は周囲と合わせる） */
  .footer-mega__sp summary.is-guide{
    font-size: 13px !important;
    font-weight: 600;
  }

  /* コピーライトとの干渉回避：メニュー最前面、コピーライト背面 */
  .site-footer .footer-mega__sp{ position: relative; z-index: 2; padding-bottom:0 !important; }
  .site-footer .footer__collapsible{ padding-bottom:0 !important; }
  .site-footer .footer__small-text{
    position:relative; z-index:0;
    margin-top:0 !important; padding-top: clamp(16px, 4vw, 28px) !important;
    text-align:center;
  }
}

/* =========================
   タブレット/PC（≥769px）
   ※ 見た目は現状維持
   ========================= */
@media (min-width: 769px){

  .footer-mega__pc{ display:block !important; position:relative; z-index:1; }
  .footer-mega__sp{
    display:none !important;
    position:static !important;
    height:0 !important; overflow:hidden !important; pointer-events:none !important;
  }

  /* 左のロゴ列（34%）・右の3カラム（各22%） */
  .site-footer .grid__item[data-type="logo_social"]{ width:34% !important; padding-top:0 !important; }
  .site-footer .grid__item[data-type="menu"]{ width:22% !important; padding-top:0 !important; }
  .site-footer .grid__item{ clear:none !important; }
  .site-footer .grid{ align-items:flex-start; }

  /* 見出し／リンク */
  .site-footer [data-type="menu"] .footer-mega__group + .footer-mega__group{ margin-top: var(--space-group); }
  .site-footer [data-type="menu"] .footer-mega__heading{
    display:block; color:#fff; font-size: var(--fz-heading);
    font-weight:800; letter-spacing:.07em; margin:0 0 clamp(8px, 1vw, 10px);
  }
  .site-footer [data-type="menu"] .footer-mega__list,
  .site-footer [data-type="menu"] .footer-mega__sublist{ list-style:none !important; margin:0 !important; padding:0 !important; }
  .site-footer [data-type="menu"] .footer-mega__item + .footer-mega__item{ margin-top: var(--space-item); }
  .site-footer [data-type="menu"] .footer-mega__list a{
    color:#fff; font-size: var(--fz-body); font-weight:400;
    text-decoration:none; line-height:1.6; white-space:normal; word-break:break-word;
  }
  /* 「ご利用ガイド」＋/− */
  .site-footer [data-type="menu"] .footer-mega__summary{
    color:#fff; font-size: var(--fz-body); font-weight:400; line-height:1.6;
    display:flex; align-items:center; justify-content:flex-start; gap:10px; cursor:pointer;
    position:relative; padding-right:18px;
  }
  .site-footer [data-type="menu"] .footer-mega__summary::after{
    content:"+"; opacity:.9; position:absolute; right:12px;
  }
  .site-footer [data-type="menu"] .footer-mega__details[open] .footer-mega__summary::after{ content:"–"; right:12px; }
  .site-footer [data-type="menu"] .footer-mega__sublist{ margin-top: var(--space-item) !important; padding-left:12px !important; }

  /* 見出しの上下マージンを削除（ロゴ列と上端を揃える） */
  .site-footer .footer__title{ display:none; margin-top:0 !important; margin-bottom:0; line-height:0; }

  /* 左列インセット（必要なら） */
  .site-footer .footer__item--logo_social_fh8JwW{ padding-left:40px !important; }
}

/* 960〜1200px：少しだけ詰める */
@media (min-width:960px) and (max-width:1200px){
  .site-footer [data-type="menu"] .footer-mega__heading{ font-size: clamp(12.5px, 1.0vw, 13px); }
  .site-footer [data-type="menu"] .footer-mega__list a,
  .site-footer [data-type="menu"] .footer-mega__summary{ font-size: clamp(12px, .95vw, 12.5px); line-height:1.55; }
}

/* =========================================================
   WO Store Locator — single-file stylesheet (drop-in)
   Author: Buzz
   Last update: 2025-09-12
   How to use: replace older locator CSS with this entire block
   ========================================================= */

/* ---- Theme knobs (edit here) ---- */
.wo-home-map{
  --brand: #111;         /* ブランド基調色 */
  --muted: #444;         /* 文字のサブ色 */
  --line : #eee;         /* 枠線色 */
  --radius: 12px;        /* 角丸 */
  --gap: 12px;           /* セクション間の隙間 */
}

/* ---- Title ---- */
.wo-home-map .wo-home-map__title{
  text-align:center; font-weight:800; letter-spacing:.02em; margin:0 0 42px;
}
.wo-home-map .wo-home-map__subtitle{
  display:block; font-size:12px; font-weight:600; color:#666; margin-top:4px; letter-spacing:.02em;
}

/* ---- Containers / map frame ---- */
.wo-home-map .container{max-width:1200px; margin:0 auto; padding:0 16px;}
.wo-home-map__canvas{border-radius:var(--radius); overflow:hidden; background:#f7f7f7; min-height:clamp(360px, 50vw, 560px);}
.wo-home-map .develic-map,
.wo-home-map .develic-map iframe,
.wo-home-map .develic-map>div{border-radius:calc(var(--radius)+2px)!important; overflow:hidden!important}

/* ---- Layout: <=768 stacked / >=769 two columns ---- */
@media (max-width:768px){
  .wo-home-map .develic-body{display:flex!important; flex-direction:column!important; gap:var(--gap)!important}
  .wo-home-map .develic-left-panel{order:1}
  .wo-home-map .develic-loaded, .wo-home-map .develic-map{order:4}
}
@media (min-width:769px){
  .wo-home-map .develic-body{
    display:grid!important; grid-template-columns: 420px 1fr; gap:16px!important; align-items:start;
  }
}

/* ---- Left panel reset ---- */
.wo-home-map .develic-left-panel{background:transparent!important; box-shadow:none!important}
.wo-home-map .develic-search-input{
  width:100%; border:1px solid #ddd; border-radius:999px; padding:10px 14px; outline:none; background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04) inset;
}
.wo-home-map .develic-search-input:focus{border-color:var(--brand); box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent)}

/* ---- Filters: always single row (scrollable on small) ---- */
.wo-home-map .wo-map-filters{
  display:flex; align-items:center; gap:10px 16px; margin:8px 0 12px; padding:6px 8px;
  border:1px solid var(--line); border-radius:10px; background:#fff;
}
@media (max-width:768px){
  .wo-home-map .wo-map-filters{flex-wrap:nowrap!important; overflow-x:auto!important; -webkit-overflow-scrolling:touch; white-space:nowrap!important; gap:0!important}
  .wo-home-map .wo-map-filters label{flex:0 0 auto!important; margin:0 10px 0 0!important}
  .wo-home-map .wo-map-filters label:last-child{margin-right:0!important}
}
/* Hide helper UI not used */
.wo-map-filters__label, .wo-map-filters__clear{display:none!important}

/* Tag-like checkbox (native hidden, square shown via ::before) */
.wo-home-map .wo-map-filters label{
  position:relative; display:inline-flex; align-items:center; gap:8px; padding:6px 10px; margin:0 8px 8px 0;
  font-size:13px; background:#fff; border-radius:10px; color:#111; cursor:pointer; user-select:none;
}
.wo-home-map .wo-map-filters label::before{
  content:""; width:18px; height:18px; border:2px solid #666; border-radius:4px; background:#fff; box-sizing:border-box;
  transition:background .2s, border-color .2s, box-shadow .2s;
}
.wo-home-map .wo-map-filters input[type="checkbox"]{position:absolute!important; opacity:0!important; pointer-events:none!important; width:0!important; height:0!important}
.wo-home-map .wo-map-filters label:has(input[type="checkbox"]:checked)::before{background:#3D5229; border-color:#3D5229}
.wo-home-map .wo-map-filters label:has(input[type="checkbox"]:focus-visible)::before{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 30%, transparent)}

/* ---- List (left) – stack title and meta vertically on all widths ---- */
.wo-home-map .develic-items-wrapper{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:auto; max-height:397px}
.wo-home-map .develic-item{
  display:block; 
  min-height:84px; padding:10px 10px; border-bottom:1px solid #f0f0f0;
}
.wo-home-map .develic-item:last-child{border-bottom:0}
.wo-home-map .develic-item .develic-title{margin:0!important; font-weight:700}
.wo-home-map .develic-item .develic-title a{color:var(--brand)!important; color:#111!important; text-decoration:none}
.wo-home-map .develic-item .develic-title a:hover{text-decoration:underline}
.wo-home-map .develic-item .develic-address,
.wo-home-map .develic-item .develic-phone,
.wo-home-map .develic-item .develic-working-hours{font-size:13px; color:var(--muted)}
/* List shows excerpt only */
.wo-home-map .develic-left-panel .develic-item .develic-photo,
.wo-home-map .develic-left-panel .develic-item .develic-description,
.wo-home-map .develic-left-panel .develic-item .develic-extras{display:none!important}
/* Directions badge in list */
.wo-home-map .develic-left-panel .develic-item a[href*="google.com/maps"]{
  align-self:flex-start; margin-top:4px; padding:6px 10px; border-radius:999px; border:1px solid var(--brand);
  color:#3D5229; background:#fff; text-decoration:none; font-size:12.5px; line-height:1; white-space:nowrap;
}

/* ---- Map popup (keep all info visible) ---- */
.wo-home-map .develic-map .develic-item .develic-photo,
.wo-home-map .develic-map .develic-item .develic-description,
.wo-home-map .develic-map .develic-item .develic-extras{display:revert!important}



/* ---- No result (our custom) ---- */
.wo-noresult{display:none; margin:8px 0}
.wo-noresult.is-show{display:block}
.wo-noresult__inner{
  padding:10px 12px; border:1px dashed #ccc; border-radius:10px; background:#fafafa;
  display:flex; align-items:center; gap:10px; justify-content:space-between;
}
.wo-noresult__msg{font-size:14px; color:#444}
.wo-noresult__clear{border:1px solid var(--brand); background:#fff; color:var(--brand); border-radius:999px; padding:6px 10px; font-size:12px; cursor:pointer}
@media (max-width:768px){
  .wo-noresult__inner{padding:8px 10px}
  .wo-noresult__msg{font-size:13px}
}
/* Hide Omnium default empty messages (we use our own) */
.wo-home-map .develic-no-items,
.wo-home-map .develic-no-results,
.wo-home-map .develic-items-empty{display:none!important}

/* ---- Minor polish ---- */
.wo-tags{display:none} /* hidden tag holder for filtering */
.develic-map .develic-right-panel{padding-top:8px!important} /* map top breathing */

.develic-map.develic-theme-default-white .develic-featured {
    border-left: solid 3px #111;}

@media (min-width:701px){
.wo-home-map wo-mm-ready{
  padding-bottom:80px;
}}
/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーヘッダーロゴの追従ーーーーーーーーーーーーーーー */
/* === Header Logo scroll fade === */

/* 基本トランジション */
.header-item--logo,
.header-item--logo img,
.header-item--logo svg {
  transition: opacity .6s ease;
}

/* PCは少しゆったり */
@media (min-width: 750px) {
  .header-item--logo,
  .header-item--logo img,
  .header-item--logo svg {
    transition: opacity .8s ease;
  }
}

/* SPはキビキビ */
@media (max-width: 749px) {
  .header-item--logo,
  .header-item--logo img,
  .header-item--logo svg {
    transition: opacity .4s ease;
  }
}

@media (min-width: 700px){
  section.wo-home-map.wo-mm-ready {
    padding-bottom: 80px !important;
  }
}


/* PC（幅750px以上）のときだけ適用 */
@media screen and (min-width: 750px) {
  .collection-hero {
    min-height: 70vh !important;
  }

 .collection-hero__image {
  object-fit: contain !important;  /* 余白が出ても全体を表示 */

}
}

@media screen and (max-width:749px){
  .collection-hero {min-height:55vh;
} 
.collection-hero__image {
  object-fit: contain !important;  /* 余白が出ても全体を表示 */

}
}












