.shop_header_block .search_btn a, .side_search_block button {
  background: url("https://www.virinamaternity.com/pic-labo/responsive1_icon_search.png") no-repeat center center;
  background-size: 22px 22px;
}
.shop_header_block .search_btn a.active {
  background-image: url("https://www.virinamaternity.com/pic-labo/responsive1_icon_close.png");
}
#header_search_form button {
  background: url("https://www.virinamaternity.com/pic-labo/responsive1_button_search.png") no-repeat center center;
  background-size: 20px 20px;
  background-color: #111;
}
#page-top a::before {
  background: url("https://www.virinamaternity.com/pic-labo/responsive1_button_pagetop.png");
  background-size: contain;
}
#to-cart a::before {
  background: url("https://www.virinamaternity.com/pic-labo/responsive1_button_tocart.png");
  background-size: contain;
}
#sub-column {
  display: none;
}
@media screen and (max-width: 768px) {
  #sub-column {
    display: block;
  }
  .shop_header_block .logo img#on {
    display: none;
  }
  .shop_header_block .logo img#off {
    display: block;
  }
  .shop_header_block #header-nav-drawer span {
    background: #FFF;
  }
  .shop_header_block #header-nav-drawer span::before, .shop_header_block #header-nav-drawer span::after {
    background: #FFF;
  }
  .shop_header_block {
    background: none;
  }
  .fixed.shop_header_block {
    background: #FFF;
  }
}
.header_center .gnav .gnav-img-fixed {
  display: none !important;
}
.shop_header_block.fixed .header_center .gnav .gnav-img-default {
  display: none !important;
}
.shop_header_block.fixed .header_center .gnav .gnav-img-fixed {
  display: block !important;
  height: 50px;
  width: auto;
  object-fit: contain;
}
.shop_header_block .gnav > ul > li {
  height: auto;
}
.shop_header_block .gnav .menu {
  top: 100%;
}
.shop_header_block.fixed .wrap {
  padding: 8px 0;
}
.shop_header_block .gnav > ul > li.ml {
  margin-left: 20px;
}
.userIcon {
  width: 40px;
}
.shop_header_block .gnav > ul > li {
  line-height: 0;
}
.member_info_cart_info .member_nav_cart {
  padding-left: 20px;
}
.header_cart {
  width: 80px !important;
}
.member_info_cart_info .member_nav_cart .item_cnt {
  left: 35px;
}
.member_info_cart_info {
  margin: 17px 0 13px;
}
.shop_header_block .gnav > ul > li.header_account {
  width: 75px;
}
.header_center {
  display: flex;
  gap: 80px;
  align-items: center;
  margin-left: 300px;
}
@media screen and (max-width: 1200px) {
  .header_center {
    margin-left: 200px;
  }
  .vbs-scroll-down .header_center, .vbs-scroll-up .header_center {
    margin-left: 300px;
  }
}
@media screen and (max-width: 1024px) {
  .header_center {
    margin-left: 150px;
  }
  .vbs-scroll-down .header_center, .vbs-scroll-up .header_center {
    margin-left: 250px;
  }
}
.shop_header_block .gnav {
  margin: 0;
}
/* アイコングループを常に右端に固定 */
@media screen and (min-width: 769px) {
  .shop_header_block .wrap > .gnav {
    margin-left: auto !important;
  }
}
.shop_header_block #header-nav-drawer {
  display: none;
}
.shop_header_block .header_center .gnav > ul > li, .shop_header_block .header_center .gnav > ul > li:last-child {
  width: 120px;
}
@media screen and (max-width: 960px) {
  .shop_header_block #header-nav-drawer {
    display: block;
  }
}
/*# sourceMappingURL=style.css.map */
/* ===== SP Brand Switch ===== */
.virina-brand-switch {
  display: none; /* PC では非表示 */
}
@media screen and (max-width: 960px) {
  .virina-brand-switch {
    display: block; /* 初期表示あり */
    width: 100%;
    background: #fff;
    border-top: 1px solid #efefef;
  }
  /* 画像ボタン行（初期 / 上スクロール時） */
  .vbs-images {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 6px 10px 8px;
  }
  .vbs-img-btn {
    display: block;
    flex: 1 1 0;
    max-width: 160px;
    border-radius: 2px;
    overflow: hidden;
    line-height: 0;
  }
  .vbs-img-btn img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
  }
  /* テキストタブ行（初期は非表示 → 下スクロール時に表示） */
  .vbs-tabs {
    display: none;
    width: 100%;
  }
  .vbt-tab {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 4px;
    font-size: 11px;
    letter-spacing: 0.06em;
    color: #888;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    font-family: "Cormorant Garamond", "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", serif;
    background: #fff;
    text-align: center;
    line-height: 1.35;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
  }
  .vbt-tab + .vbt-tab {
    border-left: 1px solid #e5e5e5;
  }
  .vbt-tab--active {
    color: #222;
    border-bottom-color: #222;
    font-weight: 600;
  }
  .vbt-tab--serif {
    font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  }
  /* フェードイン（display:none → block/flex と同時に animation が発火する仕様を利用） */
  @keyframes vbs-fadein {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  /* スクロール方向トグル */
  body.vbs-scroll-up .virina-brand-switch {
    display: block;
  }
  body.vbs-scroll-down .virina-brand-switch {
    display: block;
  }
  body.vbs-scroll-up .vbs-images {
    display: flex;
  }
  body.vbs-scroll-down .vbs-images {
    display: none;
  }
  body.vbs-scroll-down .vbs-tabs {
    display: flex;
    animation: vbs-fadein 0.2s ease both;
  }
}
/* ===== /SP Brand Switch ===== */
/* ===================================================================
   SP ヘッダー統一: 960px 以下
   - PC gnav / PC ハンバーガーを非表示
   - ロゴ中央寄せ
   - 白背景 / 黒ロゴ / 黒アイコン（body内 <style> のインラインルールを上書き）
   =================================================================== */
@media screen and (max-width: 960px) {
  /* ---- PC 専用要素を非表示 ---- */
  .header_center .gnav {
    display: none !important;
  }
  /* ---- wrap: SP flex レイアウト ---- */
  .shop_header_block .wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  /* ---- header_center: ロゴのみ中央に絶対配置 ---- */
  .header_center {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    margin-left: 0 !important;
    gap: 0 !important;
    pointer-events: none; /* クリック領域は左右アイコンに譲る */
  }
  .header_center .logo, .header_center .logo a {
    pointer-events: auto;
  }
  /* ---- ヘッダー背景: 常に白（インラインスタイルを上書き） ---- */
  .shop_header_block {
    background: #fff !important;
  }
  .fixed.shop_header_block {
    background: #fff !important;
  }
  /* ---- ロゴ: 黒版を表示、白版を非表示（インラインスタイルを上書き） ---- */
  .shop_header_block .logo img#on {
    display: block !important;
  }
  .shop_header_block .logo img#off {
    display: none !important;
  }
  /* ---- カート: 黒版を表示、白版を非表示（.top-page ルールを上書き） ---- */
  .header_cart img#on {
    display: block !important;
  }
  .header_cart img#off {
    display: none !important;
  }
  /* ---- SP ハンバーガー: 左端に配置・黒線（インラインスタイルを上書き） ---- */
  .shop_header_block #header-nav-drawer {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    display: inline-block;
    position: relative; /* default.css の position:fixed を解除してフレックス内に収める */
    width: 46px;
    height: 46px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    right: auto;
    top: auto;
  }
  .shop_header_block #header-nav-drawer span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 2px;
    margin: -3px 0 0 -12px;
    background: #111 !important;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .shop_header_block #header-nav-drawer span::before, .shop_header_block #header-nav-drawer span::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 24px;
    height: 2px;
    background: #111 !important;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .shop_header_block #header-nav-drawer span::before {
    margin-top: -10px;
  }
  .shop_header_block #header-nav-drawer span::after {
    margin-top: 7px;
  }
  /* ---- Open時: 中央バーを透明にして正しい×形を表示 ---- */
  .shop_header_block #header-nav-drawer.spsDrawerOpen span {
    background: transparent !important;
  }
  /* ---- アカウントアイコン: SP では不要なら非表示 ---- */
  .shop_header_block .gnav > ul > li.header_account {
    display: none;
  }
  /* ---- fixed 時の wrap パディング統一 ---- */
  .shop_header_block.fixed .wrap {
    padding: 12px 0;
  }
}
/* PC ヘッダーは 961px 以上でそのまま維持 */
@media screen and (min-width: 961px) {
  .virina-brand-switch {
    display: none !important;
  }
  /* ハンバーガー: 961px+ でも表示（PDF 3-01p 新仕様対応） */
  .shop_header_block #header-nav-drawer {
    display: inline-block !important;
    position: absolute;
    left: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    z-index: 1000; /* スライダー・オーバーレイより前面 */
  }
  /* 三本線の色・サイズ（961px+ 非 .fixed 状態） */
  .shop_header_block #header-nav-drawer span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 2px;
    margin: -3px 0 0 -12px;
    background: #111 !important;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .shop_header_block #header-nav-drawer span::before, .shop_header_block #header-nav-drawer span::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 24px;
    height: 2px;
    background: #111 !important;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .shop_header_block #header-nav-drawer span::before {
    margin-top: -10px;
  }
  .shop_header_block #header-nav-drawer span::after {
    margin-top: 7px;
  }
  .header_center .gnav {
    display: block;
  }
}
/* ---- ドロワーをヘッダー下から開始（ヘッダー高さ分オフセット） ---- */
/* ---- ハンバーガー: 768px以下は右上固定に（max-width:960px の left 配置を上書き） ---- */
@media screen and (max-width: 768px) {
  /* ---- ドロワー: 右側から開く / 全高 / SP スクロール制御 ---- */
  #sub-column {
    top: 0 !important; /* 白背景を viewport 最上部まで伸ばす */
    padding-top: 56px; /* コンテンツ開始位置を元の top:56px 相当に補正 */
    right: 0 !important; /* 右端に配置 */
    left: auto !important; /* PC の left:0 を無効化 */
    height: 100dvh !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* 閉じた状態: 右へオフスクリーン（PCは左から←→、SPは右から←→） */
    -webkit-transform: translateX(100%) !important;
    transform: translateX(100%) !important;
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
  }
  #sub-column.spsDrawerOpen {
    -webkit-transform: translateX(0) !important;
    transform: translateX(0) !important;
  }
  #sub-column.spsDrawerClose {
    -webkit-transform: translateX(100%) !important;
    transform: translateX(100%) !important;
  }
  /* ---- ドロワーopen時: 背景ページのスクロールを禁止 ---- */
  /* :has() 対応ブラウザ: body 自体を hidden にする */
  body:has(#wrapper.spsDrawerOpen) {
    overflow: hidden;
  }
  /* fallback: JSが body にクラスを付ける場合 */
  body.spsDrawerOpen {
    overflow: hidden;
  }
  #wrapper.spsDrawerOpen {
    overflow: hidden;
  }
  /* ドロワー内だけスクロール可能に */
  #wrapper.spsDrawerOpen #sub-column {
    overflow-y: auto;
    height: 100dvh;
    -webkit-overflow-scrolling: touch;
  }
  /* ---- SP オーバーレイ（網掛け）: PCと同様に追加 ---- */
  #wrapper.spsDrawerOpen::before {
    background: rgba(0, 0, 0, 0.4);
    content: "";
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 400; /* #sub-column(800) より下、#header-info(2) より上 */
  }
  /* ---- ドロワーOPEN時: #header-info を overlay 後ろへ ---- */
  #wrapper.spsDrawerOpen #header-info {
    z-index: 1 !important;
  }
  /* SP初期表示: common.css により .shop_header_block が position:fixed になるため
       ヘッダー(wrap≈56px) + ブランドボタン(.vbs-images 画像68px+縦pad14px≈82px)
       合計 ≈ 140px 分だけ #top の開始位置を下げる
       ※スクロール時の重なりは今回対象外 */
  #top {
    padding-top: 140px;
  }
  /* ハンバーガーを flex 右端へ */
  .shop_header_block .wrap {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .shop_header_block #header-nav-drawer {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    -webkit-transform: none !important;
    transform: none !important;
    margin-left: auto !important; /* flex 右端寄せ */
    -webkit-box-ordinal-group: initial !important;
    -ms-flex-order: initial !important;
    order: initial !important;
    z-index: 1000 !important;
  }
}
/* ---- ドロワー open 時レイヤー順 ----
   × ボタン(#header-nav-drawer)  : 1000  独自 stacking context
   #sub-column.spsDrawerOpen    : 800
   #wrapper::before オーバーレイ : 500
   .shop_header_block           : auto  ← stacking context を消してオーバーレイ後ろへ
   ------------------------------------------------------------ */
@media screen and (max-width: 960px) {
  #sub-column.spsDrawerOpen {
    z-index: 800 !important;
  }
  #wrapper.spsDrawerOpen .shop_header_block {
    z-index: auto !important; /* stacking context を消す → ×ボタンが 1000 でオーバーレイ(500)前面に出る */
  }
}
/* =====================================================
   ドロワーメニュー スタイル調整
   ===================================================== */
/* ---- ドロワー専用クローズボタン（#sub-column 先頭・右上固定） ---- */
#drawer-close-btn {
  position: absolute; /* #sub-column(position:fixed) を基準に配置 */
  right: 14px;
  top: 14px;
  width: 46px;
  height: 46px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1;
  -webkit-tap-highlight-color: transparent;
}
#drawer-close-btn::before, #drawer-close-btn::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background: #111;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -12px;
  -webkit-transition: background .2s;
  transition: background .2s;
}
#drawer-close-btn::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#drawer-close-btn::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#drawer-close-btn:hover::before, #drawer-close-btn:hover::after {
  background: #666;
}
/* 左右パディング拡大 */
/* PDF 4-04p: ドロワーメニュー内の左右余白を追加（現サイトに合わせて広めに） */
#sub-column {
  padding-left: 28px !important;
  padding-right: 28px !important;
}
/* アコーディオン: セクション見出しトグル */
#sub-column .drawer-accordion > h2 {
  cursor: pointer;
  display: flex !important;
  justify-content: space-between;
  align-items: center;
}
#sub-column .drawer-accordion > h2::after {
  content: "▼";
  font-size: 10px;
  color: #999;
  flex-shrink: 0;
}
#sub-column .drawer-accordion.is-open > h2::after {
  content: "▲";
}
#sub-column .drawer-accordion .drawer-body {
  display: none;
}
#sub-column .drawer-accordion.is-open .drawer-body {
  display: block;
}
/* セクション見出し: フォント拡大 + 下罫線 */
#sub-column section > h2, #sub-column .freeArea2 h2 {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  border-bottom: 1px solid #ccc;
  padding-bottom: 6px;
  margin-bottom: 10px;
  margin-top: 20px;
}
/* セクション間の区切り線を除去 */
#sub-column section + section {
  border-top: none !important;
}
/* カテゴリー区切り → 破線
#sub-column ul li {
    border-bottom: 1px dashed #e0e0e0;
} */
#sub-column ul li:last-child {
  border-bottom: none;
}
/* ====================================================
   PC / タブレット ハンバーガー + 左ドロワー (769px+)
   ==================================================== */
@media screen and (min-width: 769px) {
  /* wrap を relative にして絶対配置の基準に */
  .shop_header_block .wrap {
    position: relative;
  }
  /* .fixed 時にハンバーガーを左端に絶対配置 */
  .shop_header_block.fixed #header-nav-drawer {
    display: inline-block;
    position: absolute;
    left: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: auto;
    width: 46px;
    height: 46px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    z-index: 1000; /* スライダー・オーバーレイより前面 */
  }
  /* 三本線: サイズ・配置 (≥961px では max-width:960px ブロックが適用されないため明示) */
  .shop_header_block.fixed #header-nav-drawer span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 2px;
    margin: -3px 0 0 -12px;
    background: #111 !important;
    -webkit-transition: .2s;
    transition: .2s;
  }
  .shop_header_block.fixed #header-nav-drawer span::before, .shop_header_block.fixed #header-nav-drawer span::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 24px;
    height: 2px;
    background: #111 !important;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .shop_header_block.fixed #header-nav-drawer span::before {
    margin-top: -10px;
  }
  .shop_header_block.fixed #header-nav-drawer span::after {
    margin-top: 7px;
  }
  /* Open 時: 中央バーを透明にして × を表示（通常状態・769px+） */
  .shop_header_block #header-nav-drawer.spsDrawerOpen span {
    background: transparent !important;
  }
  /* × アニメーション: 上下バーを中央に寄せて回転（769px+、通常状態） */
  .shop_header_block #header-nav-drawer.spsDrawerOpen span::before, .shop_header_block #header-nav-drawer.spsDrawerOpen span::after {
    margin-top: 0 !important;
  }
  .shop_header_block #header-nav-drawer.spsDrawerOpen span::before {
    -webkit-transform: rotate(-45deg) !important;
    transform: rotate(-45deg) !important;
  }
  .shop_header_block #header-nav-drawer.spsDrawerOpen span::after {
    -webkit-transform: rotate(-135deg) !important;
    transform: rotate(-135deg) !important;
  }
  /* Open 時: 中央バーを透明にして × を表示（.fixed 状態） */
  .shop_header_block.fixed #header-nav-drawer.spsDrawerOpen span {
    background: transparent !important;
  }
  /* × アニメーション: 上下バーを中央に寄せて回転（769px+、.fixed 状態） */
  .shop_header_block.fixed #header-nav-drawer.spsDrawerOpen span::before, .shop_header_block.fixed #header-nav-drawer.spsDrawerOpen span::after {
    margin-top: 0 !important;
  }
  .shop_header_block.fixed #header-nav-drawer.spsDrawerOpen span::before {
    -webkit-transform: rotate(-45deg) !important;
    transform: rotate(-45deg) !important;
  }
  .shop_header_block.fixed #header-nav-drawer.spsDrawerOpen span::after {
    -webkit-transform: rotate(-135deg) !important;
    transform: rotate(-135deg) !important;
  }
  /* #sub-column: 左ドロワー（jQuery .hide() を display:block で上書き） */
  #sub-column {
    display: block !important;
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 100dvh; /* viewport全体を覆う（情報帯の隙間をなくす） */
    overflow-y: auto;
    position: fixed !important;
    left: 0;
    right: auto;
    top: 0; /* 白背景を viewport 最上部まで伸ばす */
    padding-top: 60px; /* コンテンツ開始位置を元の top:60px 相当に補正 */
    width: 340px;
    max-width: 80vw;
    float: none !important;
    z-index: 800; /* ヘッダー(700)より上 */
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
  }
  /* Open: 左からスライドイン */
  #sub-column.spsDrawerOpen {
    -webkit-transform: translateX(0) !important;
    transform: translateX(0) !important;
    z-index: 800 !important; /* ヘッダー(700)より確実に上 */
  }
  /* Close: 左に退場 */
  #sub-column.spsDrawerClose {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  /* オーバーレイ */
  #wrapper.spsDrawerOpen::before {
    background: rgba(0, 0, 0, 0.4);
    content: "";
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 500;
  }
  /* Open 時: ヘッダーの stacking context を消す
       → 内部の #header-nav-drawer(z-index:1000) がドキュメントレベルで機能し
         オーバーレイ(500)の前面・ドロワー(800)の前面に出る */
  #wrapper.spsDrawerOpen .shop_header_block {
    z-index: auto !important;
  }
  /* Fixed 時の cart margin リセット (SP は対象外) */
  .shop_header_block.fixed .member_info_cart_info {
    margin: 0;
  }
}
/* =======================================================
   vsp- ドロワーメニュー（html_noslider より移行）
   ======================================================= */
/* --- 共通リスト --- */
.vsp-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.vsp-list li {
  border-bottom: 1px solid #f2f2f2;
}
.vsp-list li:last-child {
  border-bottom: none;
}
.vsp-list a {
  display: block;
  position: relative;
  padding: 11px 22px 11px 2px;
  font-size: 13px;
  color: #222;
  text-decoration: none;
  line-height: 1.5;
}
.vsp-list a:hover {
  color: #555;
}
/* サブリスト（アコーディオン内） */
.vsp-list--sub {
  padding: 0 0 4px 12px;
}
.vsp-list--sub li {
  border-bottom: 1px solid #f0f0f0;
}
.vsp-list--sub a {
  font-size: 12px;
  color: #444;
  padding: 10px 22px 10px 2px;
}
/* --- 新着・再入荷ボタン --- */
.vsp-newitem-btn {
  width: 100%;
  display: block;
  border-bottom: 1px solid #ebebeb;
}
.vsp-newitem-link {
  display: block;
  text-align: center;
  width: 100%;
  padding: 10px 8px;
  border: 5px solid #80C3C5;
  font-size: 13px;
  font-weight: 600;
  color: #1a1a2e;
  text-decoration: none;
  letter-spacing: 0.06em;
}
.vsp-newitem-link:hover {
  background: #80C3C5;
  color: #fff;
}
/* --- セクションブロック --- */
.vsp-section-block {
  border-bottom: 1px solid #ebebeb;
  margin: 32px 0 48px 0;
  font-family: "Noto Sans JP";
}
.vsp-section-block-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px 8px;
  font-size: 16px
}
.vsp-section-icon {
  display: none;
}
.vsp-section-subtitle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  padding: 4px 10px;
  font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: #aaa;
  line-height: 1.2;
}
.vsp-section-subtitle--fashion {
  background: #88cdcc;
}
.vsp-section-subtitle--ojuken {
  background: #021f47;
}
.vsp-section-subtitle--search {
  background: #cf8ab7;
}
.vsp-section-title {
  width: 100%;
  font-size: 16px;
  font-weight: 600;
  color: #111;
  letter-spacing: 0.04em;
  margin: 0;
  line-height: 1;
  font-family: "Noto Sans JP";
  padding: 4px 4px 14px 4px;
  border-bottom: 1px double #BBB;
}
.vsp-section-block .vsp-list {
  padding: 0 4px 6px;
}
.vsp-section-block .vsp-list a {
  padding-left: 4px;
}
/* --- アコーディオン --- */
.vsp-accordion {
  border-bottom: 1px solid #f0f0f0;
}
.vsp-section-block .vsp-accordion {
  margin: 0 16px;
}
.vsp-accordion-btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 12px 0;
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  color: #222;
  cursor: pointer;
  text-align: left;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.vsp-accordion--standalone .vsp-accordion-btn {
  padding: 15px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #111;
}
.vsp-accordion-icon {
  display: inline-block;
  position: relative;
  width: 12px;
  height: 12px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 8px;
}
.vsp-accordion-icon::before, .vsp-accordion-icon::after {
  content: '';
  position: absolute;
  background: #888;
  border-radius: 1px;
  -webkit-transition: -webkit-transform 0.22s ease, opacity 0.22s ease;
  transition: transform 0.22s ease, opacity 0.22s ease;
}
.vsp-accordion-icon::before {
  width: 1px;
  height: 12px;
  top: 0;
  left: 5.5px;
}
.vsp-accordion-icon::after {
  width: 12px;
  height: 1px;
  top: 5.5px;
  left: 0;
}
.vsp-accordion-btn[aria-expanded="true"] .vsp-accordion-icon::before {
  -webkit-transform: rotate(90deg) scaleY(0);
  transform: rotate(90deg) scaleY(0);
  opacity: 0;
}
.vsp-accordion-body {
  overflow: hidden;
  -webkit-transition: height 0.25s ease;
  transition: height 0.25s ease;
}
.vsp-accordion-body[hidden] {
  display: none;
}
.vsp-section-block .vsp-accordion-body .vsp-list {
  padding: 0 0 8px;
}
/* --- 直リンク（アコーディオンと同列） --- */
.vsp-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  color: #222222;
  padding: 12px 0;
  background: none;
  border: none;
  font-size: 13px !important;
  font-weight: 400 !important;
  font-family: "Noto Sans JP", sans-serif !important;
}
.vsp-list-link::after {
  content: '';
  position: absolute;
  right: 4px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #bbb;
  border-right: 1px solid #bbb;
}
.vsp-section-block .vsp-list-link {
  margin: 0 16px;
}
.vsp-list-link:hover {
  color: #555;
}
/* --- スタンドアロンアコーディオン（店舗情報 / Corporate） --- */
.vsp-accordion--standalone {
  border-bottom: 1px solid #ebebeb;
}
.vsp-accordion--standalone .vsp-accordion-body .vsp-list {
  padding: 0 16px 12px;
}
/* =======================================================
   SNS アイコン横並び（.snav_sns）
   vsp-sns レイアウトを適用
   ======================================================= */
.snav_sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 20px;
  list-style: none;
  padding: 0px 16px;
  margin: 0;
}
.snav_sns li {
  border-bottom: none !important;
}
.snav_sns li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.snav_sns li a:after {
  display: none !important;
}
.snav_sns li a img {
  width: 36px;
  height: 36px;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}
.snav_sns li a:hover {
  opacity: 0.7;
}
#sub-column .snav_sns, #sub-column .snav_sns ul, #sub-column .snav_sns li, #sub-column .snav_sns a {
  border-bottom: none !important;
  border: none !important;
}
/* カラーで探す: 2col × 5row グリッド */
#color-variation {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 2px 6px;
  list-style: none;
  padding: 8px 0 0;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
#color-variation li {
  display: block !important;
  min-width: 0;
  width: 100%;
  list-style: none;
  border-bottom: 1px dashed #e0e0e0;
}
#color-variation li:last-child {
  border-bottom: 1px dotted #e0e0e0 !important;
}
#color-variation li a {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  padding: 4px 2px;
  text-decoration: none;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
}
/* カラーチップ */
#color-variation li a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1px solid #ddd;
}
#color-variation a#color001::before {
  background: #1a3562;
}
#color-variation a#color002::before {
  background: #ffffff;
  border-color: #ccc;
}
#color-variation a#color006::before {
  background: #111111;
}
#color-variation a#color003::before {
  background: #d4b896;
}
#color-variation a#color004::before {
  background: #5590c8;
}
#color-variation a#color005::before {
  background: #e8a0b0;
}
#color-variation a#color007::before {
  background: #6aab7a;
}
#color-variation a#color008::before {
  background: #888888;
}
#color-variation a#color010::before {
  background: #9b72b0;
}
#color-variation a#color009::before {
  background: linear-gradient(135deg, #f88, #8bf, #8f8);
}
.vsp-gift-link .vsp-list-link {
  border-top: none !important;
  border-bottom: 1px solid #ebebeb;
}
/* 打ち消し調整 */
#sub-column ul#color-variation li {
  display: block !important;
  width: 100%;
}
#sub-column ul#color-variation li a:after {
  content: "";
  background: none;
}
/* 機能別で探す: ul ごとに1行、li は2カラム */
.kinou-icon-submenu {
  display: block;
  padding: 8px 0 0;
}
.kinou-icon-submenu ul {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
}
.kinou-icon-submenu ul li {
  display: block !important;
  width: 100%;
  border-bottom: 1px solid #ebebeb !important;
}
.kinou-icon-submenu ul:last-child li {
  border-bottom: none !important;
}
.kinou-icon-submenu ul li a {
  display: block;
  width: 100%;
  padding: 8px 2px;
}
.kinou-icon-submenu ul li a img {
  width: 100%;
  height: auto;
  display: block;
}
.vsp-shop {
  margin: 30px 0 0 0 !important;
}
.vsp-shop h2, .vsp-corporate h2 {
  padding: 0 !important;
}
.vsp-shop .vsp-accordion-btn, .vsp-corporate .vsp-accordion-btn {
  width: 100%;
  font-size: 16px;
  font-weight: 600;
  color: #111;
  letter-spacing: 0.04em;
  margin: 0;
  line-height: 1;
  font-family: "Noto Sans JP";
  /*padding: 4px 4px 14px 4px;*/
}