/* ==========================================
目次
========================================== */
/*
  1. 変数定義
  2. ベーススタイル
  3. 共通スタイル
  4. 見出し
  5. アイコン
  6. ボタン
  7. カード
  8. チェックボックス
  9. セレクトボックス
  10. アコーディオン
  11. ラベル
  12. パンくず
  13. カルーセル（Splide）
  14. 表組み
  15. モーダル
  16. トースト
  17. サイドバー
  18. ユーティリティクラス
*/

/* ==========================================
変数定義
========================================== */
:root {
  /* フォントファミリー */
  --module-font-sans: var(--font-family);
  --module-font-serif: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, serif;

  /* フォントサイズ */
  --module-font-size-xl: 1.5rem;
  --module-font-size-lg: 1.25rem;
  --module-font-size-md: 1.125rem;
  --module-font-size-base: .875rem;
  --module-font-size-sm: .75rem;

  /* テーマカラー */
  --module-color-primary: #CC0000;
  --module-color-primary-dark: #A01818;
  --module-color-secondary: #FFF;
  --module-color-secondary-dark: #F4F4F4;
  --module-color-text: #181818;
  --module-color-text-dark: #333;
  --module-color-text-gray: #666;
  --module-color-text-light: #474646;
  --module-color-white: #FFF;
  --module-color-black: #000;
  --module-color-disabled: #b4b4b4;

  /* 背景色 */
  --module-color-bg-main: #F6F6F6;
  --module-color-bg-side: #f2f2f2;
  --module-color-bg-light: #eee;
  --module-color-bg-hover: #f5f5f5;
  --module-color-bg-hover-light: #f0f0f0;
  --module-color-bg-arrow-button: rgba(51, 51, 51, 0.8);
  --module-color-bg-backdrop: rgba(0, 0, 0, 0.5);

  /* ボーダー色 */
  --module-color-border: #D8D8D8;
  --module-color-border-alt: #DADADA;
  --module-color-border-secondary: #C9C7C7;
  --module-color-border-light: #DFDFDF;
  --module-color-border-dialog: #e0e0e0;

  /* スクロールバーカラー */
  --module-color-scrollbar-track: #DADADA;
  --module-color-scrollbar-thumb: #2F2F2F;

  /* バッジ・タグカラー */
  --module-color-badge-blue: #4876B4;
  --module-color-badge-green: #4EAB7F;
  --module-color-badge-gold: #B99457;
  --module-color-category-tag: #474646;

  /* パンくず関連 */
  --module-color-breadcrumb-link-current: #F69D9D;
  --module-color-breadcrumb-separator: #F8B1B1;

  /* 価格変動 */
  --module-color-plus: #CC0000;
  --module-color-minus: #1369FF;
  --module-color-zero: #676767;

  /* チャート関連 */
  --module-color-chart-red: #CC0000;
  --module-color-chart-blue: #093580;
  --module-color-chart-purple: #6C2AB2;
  --module-color-chart-purple-light: rgba(172, 112, 178, 0.5);

  /* プレースホルダー */
  --module-color-placeholder: #858585;
  --module-color-placeholder-mobile: #999;

  /* トランジション */
  --module-transition-fast: 150ms ease;
  --module-transition-normal: 200ms ease;
  --module-transition-slow: 300ms ease;
  --module-transition-zoom: 300ms linear;

  /* 重なり順 */
  --module-z-index-front: 10;
  --module-z-index-suggest: 100;
  --module-z-index-footer-nav: 1000;
  --module-z-index-toast: 10000;

  /* アイコン */
  /* 矢印アイコン（右向き） */
  --module-icon-arrow-right: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.70057 5.99995L3.66393 8.93807C3.52118 9.07618 3.4498 9.25197 3.4498 9.46542C3.4498 9.67887 3.52118 9.85466 3.66393 9.99278C3.80668 10.1309 3.98835 10.2 4.20897 10.2C4.42958 10.2 4.61126 10.1309 4.754 9.99278L8.33568 6.52731C8.41355 6.45197 8.4687 6.37035 8.50114 6.28246C8.53358 6.19457 8.5498 6.1004 8.5498 5.99995C8.5498 5.8995 8.53358 5.80533 8.50114 5.71744C8.4687 5.62955 8.41355 5.54793 8.33568 5.4726L4.754 2.00713C4.61126 1.86901 4.42958 1.79995 4.20897 1.79995C3.98836 1.79995 3.80668 1.86901 3.66393 2.00713C3.52118 2.14524 3.44981 2.32103 3.44981 2.53448C3.44981 2.74793 3.52118 2.92372 3.66393 3.06183L6.70057 5.99995Z' fill='%23CC0000'/%3E%3C/svg%3E");

  /* 矢印アイコン（下向き） */
  --module-icon-arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8.00039 8.93425L4.0829 4.8854C3.89875 4.69507 3.66437 4.5999 3.37976 4.5999C3.09516 4.5999 2.86078 4.69507 2.67662 4.8854C2.49247 5.07573 2.40039 5.31797 2.40039 5.61212C2.40039 5.90626 2.49247 6.1485 2.67662 6.33883L7.29725 11.1144C7.3977 11.2182 7.50652 11.2918 7.62371 11.335C7.7409 11.3783 7.86646 11.3999 8.00039 11.3999C8.13432 11.3999 8.25988 11.3783 8.37707 11.335C8.49426 11.2918 8.60308 11.2182 8.70353 11.1144L13.3242 6.33883C13.5083 6.1485 13.6004 5.90626 13.6004 5.61212C13.6004 5.31797 13.5083 5.07573 13.3242 4.8854C13.14 4.69507 12.9056 4.5999 12.621 4.5999C12.3364 4.5999 12.102 4.69507 11.9179 4.8854L8.00039 8.93425Z' fill='%23CC0000'/%3E%3C/svg%3E");

  /* シェブロンアイコン（右向き） */
  --module-icon-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3.45 1.8L8.55 6L3.45 10.2' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

  /* シェアブロンアイコン（下向き） */
  --module-icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4L6 8L10 4' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

  /* 外部リンクアイコン */
  --module-icon-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cg clip-path='url(%23clip0_13364_2343)'%3E%3Cpath d='M1.79961 11.4001C1.46961 11.4001 1.18711 11.2826 0.952109 11.0476C0.717109 10.8126 0.599609 10.5301 0.599609 10.2001V1.8001C0.599609 1.4701 0.717109 1.1876 0.952109 0.952598C1.18711 0.717598 1.46961 0.600098 1.79961 0.600098H5.39961C5.56961 0.600098 5.71211 0.657598 5.82711 0.772598C5.94211 0.887598 5.99961 1.0301 5.99961 1.2001C5.99961 1.3701 5.94211 1.5126 5.82711 1.6276C5.71211 1.7426 5.56961 1.8001 5.39961 1.8001H1.79961V10.2001H10.1996V6.6001C10.1996 6.4301 10.2571 6.2876 10.3721 6.1726C10.4871 6.0576 10.6296 6.0001 10.7996 6.0001C10.9696 6.0001 11.1121 6.0576 11.2271 6.1726C11.3421 6.2876 11.3996 6.4301 11.3996 6.6001V10.2001C11.3996 10.5301 11.2821 10.8126 11.0471 11.0476C10.8121 11.2826 10.5296 11.4001 10.1996 11.4001H1.79961ZM10.1996 2.6401L5.03961 7.8001C4.92961 7.9101 4.78961 7.9651 4.61961 7.9651C4.44961 7.9651 4.30961 7.9101 4.19961 7.8001C4.08961 7.6901 4.03461 7.5501 4.03461 7.3801C4.03461 7.2101 4.08961 7.0701 4.19961 6.9601L9.35961 1.8001H7.79961C7.62961 1.8001 7.48711 1.7426 7.37211 1.6276C7.25711 1.5126 7.19961 1.3701 7.19961 1.2001C7.19961 1.0301 7.25711 0.887598 7.37211 0.772598C7.48711 0.657598 7.62961 0.600098 7.79961 0.600098H10.7996C10.9696 0.600098 11.1121 0.657598 11.2271 0.772598C11.3421 0.887598 11.3996 1.0301 11.3996 1.2001V4.2001C11.3996 4.3701 11.3421 4.5126 11.2271 4.6276C11.1121 4.7426 10.9696 4.8001 10.7996 4.8001C10.6296 4.8001 10.4871 4.7426 10.3721 4.6276C10.2571 4.5126 10.1996 4.3701 10.1996 4.2001V2.6401Z' fill='%23CC0000'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_13364_2343'%3E%3Crect width='12' height='12' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");

  /* PDFアイコン */
  --module-icon-pdf: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_13378_1222)'%3E%3Cpath d='M10.3196 0.600098H3.83961C3.24561 0.600098 2.75961 1.0861 2.75961 1.6801V8.1601C2.75961 8.7541 3.24561 9.2401 3.83961 9.2401H10.3196C10.9136 9.2401 11.3996 8.7541 11.3996 8.1601V1.6801C11.3996 1.0861 10.9136 0.600098 10.3196 0.600098ZM5.72961 4.6501C5.72961 5.0983 5.36781 5.4601 4.91961 5.4601H4.37961V6.1351C4.37961 6.3565 4.19601 6.5401 3.97461 6.5401C3.75321 6.5401 3.56961 6.3565 3.56961 6.1351V3.8401C3.56961 3.5431 3.81261 3.3001 4.10961 3.3001H4.91961C5.36781 3.3001 5.72961 3.6619 5.72961 4.1101V4.6501ZM8.42961 5.7301C8.42961 6.1783 8.06781 6.5401 7.61961 6.5401H6.53961C6.38841 6.5401 6.26961 6.4213 6.26961 6.2701V3.5701C6.26961 3.4189 6.38841 3.3001 6.53961 3.3001H7.61961C8.06781 3.3001 8.42961 3.6619 8.42961 4.1101V5.7301ZM10.5896 3.7051C10.5896 3.9265 10.406 4.1101 10.1846 4.1101H9.77961V4.6501H10.1846C10.406 4.6501 10.5896 4.8337 10.5896 5.0551C10.5896 5.2765 10.406 5.4601 10.1846 5.4601H9.77961V6.1351C9.77961 6.3565 9.59601 6.5401 9.37461 6.5401C9.15321 6.5401 8.96961 6.3565 8.96961 6.1351V3.8401C8.96961 3.5431 9.21261 3.3001 9.50961 3.3001H10.1846C10.406 3.3001 10.5896 3.4837 10.5896 3.7051ZM4.37961 4.6501H4.91961V4.1101H4.37961V4.6501ZM1.13961 2.7601C0.842609 2.7601 0.599609 3.0031 0.599609 3.3001V10.3201C0.599609 10.9141 1.08561 11.4001 1.67961 11.4001H8.69961C8.99661 11.4001 9.23961 11.1571 9.23961 10.8601C9.23961 10.5631 8.99661 10.3201 8.69961 10.3201H2.21961C1.92261 10.3201 1.67961 10.0771 1.67961 9.7801V3.3001C1.67961 3.0031 1.43661 2.7601 1.13961 2.7601ZM7.07961 5.7301H7.61961V4.1101H7.07961V5.7301Z' fill='%23CC0000'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_13378_1222'%3E%3Crect width='12' height='12' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");

  /* 価格変動アイコン（上向き矢印） */
  --module-icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='12' viewBox='0 0 9 12' fill='none'%3E%3Cpath d='M6 12L3 12L3 4.39024L6 4.39024L6 12Z' fill='currentColor'/%3E%3Cpath d='M3.83807e-07 4.39024L9 4.39024L4.5 3.93402e-07L3.83807e-07 4.39024Z' fill='currentColor'/%3E%3C/svg%3E");

  /* 価格変動アイコン（下向き矢印） */
  --module-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='12' viewBox='0 0 9 12' fill='none'%3E%3Cpath d='M3 0H6V7.60976H3V0Z' fill='currentColor'/%3E%3Cpath d='M9 7.60976H0L4.5 12L9 7.60976Z' fill='currentColor'/%3E%3C/svg%3E");

  /* ヘルプアイコン */
  --module-icon-help: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.9638 12.32C8.2158 12.32 8.4288 12.233 8.6028 12.059C8.7768 11.885 8.8638 11.672 8.8638 11.42C8.8638 11.168 8.7768 10.955 8.6028 10.781C8.4288 10.607 8.2158 10.52 7.9638 10.52C7.7118 10.52 7.4988 10.607 7.3248 10.781C7.1508 10.955 7.0638 11.168 7.0638 11.42C7.0638 11.672 7.1508 11.885 7.3248 12.059C7.4988 12.233 7.7118 12.32 7.9638 12.32ZM7.9998 15.2C7.0038 15.2 6.0678 15.011 5.1918 14.633C4.3158 14.255 3.5538 13.742 2.9058 13.094C2.2578 12.446 1.7448 11.684 1.3668 10.808C0.988805 9.93205 0.799805 8.99605 0.799805 8.00005C0.799805 7.00405 0.988805 6.06805 1.3668 5.19205C1.7448 4.31605 2.2578 3.55405 2.9058 2.90605C3.5538 2.25805 4.3158 1.74505 5.1918 1.36705C6.0678 0.989049 7.0038 0.800049 7.9998 0.800049C8.9958 0.800049 9.9318 0.989049 10.8078 1.36705C11.6838 1.74505 12.4458 2.25805 13.0938 2.90605C13.7418 3.55405 14.2548 4.31605 14.6328 5.19205C15.0108 6.06805 15.1998 7.00405 15.1998 8.00005C15.1998 8.99605 15.0108 9.93205 14.6328 10.808C14.2548 11.684 13.7418 12.446 13.0938 13.094C12.4458 13.742 11.6838 14.255 10.8078 14.633C9.9318 15.011 8.9958 15.2 7.9998 15.2ZM8.0718 4.90405C8.3718 4.90405 8.6328 5.00005 8.8548 5.19205C9.0768 5.38405 9.1878 5.62405 9.1878 5.91205C9.1878 6.17605 9.1068 6.41005 8.9448 6.61405C8.7828 6.81805 8.5998 7.01005 8.3958 7.19005C8.1198 7.43005 7.8768 7.69405 7.6668 7.98205C7.4568 8.27005 7.3518 8.59405 7.3518 8.95405C7.3518 9.12205 7.4148 9.26305 7.5408 9.37705C7.6668 9.49105 7.8138 9.54805 7.9818 9.54805C8.1618 9.54805 8.3148 9.48805 8.4408 9.36805C8.5668 9.24805 8.6478 9.09805 8.6838 8.91805C8.7318 8.66605 8.8398 8.44105 9.0078 8.24305C9.1758 8.04505 9.3558 7.85605 9.5478 7.67605C9.8238 7.41205 10.0608 7.12405 10.2588 6.81205C10.4568 6.50005 10.5558 6.15205 10.5558 5.76805C10.5558 5.15605 10.3068 4.65505 9.8088 4.26505C9.3108 3.87505 8.7318 3.68005 8.0718 3.68005C7.6158 3.68005 7.1808 3.77605 6.7668 3.96805C6.3528 4.16005 6.0378 4.45405 5.8218 4.85005C5.7378 4.99405 5.7108 5.14705 5.7408 5.30905C5.7708 5.47105 5.8518 5.59405 5.9838 5.67805C6.1518 5.77405 6.3258 5.80405 6.5058 5.76805C6.6858 5.73205 6.8358 5.63005 6.9558 5.46205C7.0878 5.28205 7.2528 5.14405 7.4508 5.04805C7.6488 4.95205 7.8558 4.90405 8.0718 4.90405Z' fill='black'/%3E%3C/svg%3E");

  /* 検索アイコン */
  --module-icon-search: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.17781 12.3556C5.73068 12.3556 4.50593 11.8544 3.50356 10.8521C2.50119 9.84969 2 8.62494 2 7.17781C2 5.73068 2.50119 4.50593 3.50356 3.50356C4.50593 2.50119 5.73068 2 7.17781 2C8.62494 2 9.84969 2.50119 10.8521 3.50356C11.8544 4.50593 12.3556 5.73068 12.3556 7.17781C12.3556 7.76197 12.2627 8.31294 12.0768 8.83073C11.8909 9.34851 11.6387 9.80654 11.3201 10.2048L15.7809 14.6657C15.927 14.8118 16 14.9976 16 15.2233C16 15.449 15.927 15.6349 15.7809 15.7809C15.6349 15.927 15.449 16 15.2233 16C14.9976 16 14.8118 15.927 14.6657 15.7809L10.2048 11.3201C9.80654 11.6387 9.34851 11.8909 8.83073 12.0768C8.31294 12.2627 7.76197 12.3556 7.17781 12.3556ZM7.17781 10.7624C8.17354 10.7624 9.01991 10.4139 9.71693 9.71693C10.4139 9.01991 10.7624 8.17354 10.7624 7.17781C10.7624 6.18208 10.4139 5.3357 9.71693 4.63869C9.01991 3.94168 8.17354 3.59317 7.17781 3.59317C6.18208 3.59317 5.3357 3.94168 4.63869 4.63869C3.94168 5.3357 3.59317 6.18208 3.59317 7.17781C3.59317 8.17354 3.94168 9.01991 4.63869 9.71693C5.3357 10.4139 6.18208 10.7624 7.17781 10.7624Z' fill='black'/%3E%3C/svg%3E");

  /* 検索アイコン（大） */
  --module-icon-search-large: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='M10.72 20.04C8.11512 20.04 5.91057 19.1379 4.1063 17.3336C2.30204 15.5293 1.3999 13.3248 1.3999 10.72C1.3999 8.11512 2.30204 5.91057 4.1063 4.1063C5.91057 2.30204 8.11512 1.3999 10.72 1.3999C13.3248 1.3999 15.5293 2.30204 17.3336 4.1063C19.1379 5.91057 20.04 8.11512 20.04 10.72C20.04 11.7715 19.8727 12.7632 19.5382 13.6952C19.2036 14.6272 18.7495 15.4517 18.176 16.1686L26.2056 24.1982C26.4685 24.4611 26.5999 24.7956 26.5999 25.2019C26.5999 25.6082 26.4685 25.9427 26.2056 26.2056C25.9427 26.4685 25.6082 26.5999 25.2019 26.5999C24.7956 26.5999 24.4611 26.4685 24.1982 26.2056L16.1686 18.176C15.4517 18.7495 14.6272 19.2036 13.6952 19.5382C12.7632 19.8727 11.7715 20.04 10.72 20.04ZM10.72 17.1723C12.5123 17.1723 14.0357 16.545 15.2904 15.2904C16.545 14.0357 17.1723 12.5123 17.1723 10.72C17.1723 8.92764 16.545 7.40417 15.2904 6.14955C14.0357 4.89492 12.5123 4.26761 10.72 4.26761C8.92764 4.26761 7.40417 4.89492 6.14955 6.14955C4.89492 7.40417 4.26761 8.92764 4.26761 10.72C4.26761 12.5123 4.89492 14.0357 6.14955 15.2904C7.40417 16.545 8.92764 17.1723 10.72 17.1723Z' fill='black'/%3E%3C/svg%3E");

  /* お気に入りアイコン（大） */
  --module-icon-star-large: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='M14 19.7522L7.46089 23.6553C7.21401 23.7709 6.98784 23.8172 6.78272 23.7943C6.5776 23.7713 6.38879 23.7022 6.2165 23.5869C6.04393 23.4713 5.91727 23.2975 5.83635 23.0654C5.75572 22.8334 5.75254 22.605 5.82655 22.3804L7.54257 15.1262L1.77954 10.2422C1.58935 10.081 1.47143 9.88977 1.42575 9.66849C1.37979 9.44721 1.38844 9.233 1.45175 9.02587C1.51506 8.81901 1.63298 8.64808 1.80554 8.51294C1.97811 8.37779 2.18545 8.30147 2.42787 8.28386L9.97545 7.61069L12.9719 0.689743C13.0809 0.454302 13.2249 0.280479 13.404 0.168283C13.583 0.0560875 13.7817 0 14 0C14.2182 0 14.4169 0.0560875 14.5959 0.168283C14.775 0.280479 14.919 0.454302 15.028 0.689743L18.0244 7.65319L25.572 8.28386C25.8144 8.30147 26.0218 8.38488 26.1943 8.5342C26.3669 8.68353 26.4848 8.86157 26.5481 9.06843C26.6114 9.27556 26.6129 9.48269 26.5527 9.68982C26.4928 9.89695 26.3678 10.081 26.1777 10.2422L20.4572 15.1262L22.1733 22.3804C22.2473 22.605 22.244 22.8334 22.1634 23.0654C22.0825 23.2975 21.9559 23.4713 21.7833 23.5869C21.6111 23.7022 21.4223 23.7713 21.2172 23.7943C21.012 23.8172 20.7859 23.7709 20.539 23.6553L14 19.7522Z' fill='black'/%3E%3C/svg%3E");

  /* 履歴アイコン（大） */
  --module-icon-history-large: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='M13.9999 26.5999C11.0599 26.5999 8.45824 25.7074 6.1949 23.9224C3.93157 22.1374 2.46157 19.8566 1.7849 17.0799C1.69157 16.7299 1.76157 16.4091 1.9949 16.1174C2.22824 15.8257 2.54324 15.6566 2.9399 15.6099C3.31324 15.5632 3.65157 15.6332 3.9549 15.8199C4.25824 16.0066 4.46824 16.2866 4.5849 16.6599C5.1449 18.7599 6.2999 20.4749 8.0499 21.8049C9.7999 23.1349 11.7832 23.7999 13.9999 23.7999C16.7299 23.7999 19.0457 22.8491 20.9474 20.9474C22.8491 19.0457 23.7999 16.7299 23.7999 13.9999C23.7999 11.2699 22.8491 8.95407 20.9474 7.0524C19.0457 5.15074 16.7299 4.1999 13.9999 4.1999C12.3899 4.1999 10.8849 4.57324 9.4849 5.3199C8.0849 6.06657 6.90657 7.09324 5.9499 8.3999H8.3999C8.79657 8.3999 9.12907 8.53407 9.3974 8.8024C9.66574 9.07074 9.7999 9.40324 9.7999 9.7999C9.7999 10.1966 9.66574 10.5291 9.3974 10.7974C9.12907 11.0657 8.79657 11.1999 8.3999 11.1999H2.7999C2.40324 11.1999 2.07074 11.0657 1.8024 10.7974C1.53407 10.5291 1.3999 10.1966 1.3999 9.7999V4.1999C1.3999 3.80324 1.53407 3.47074 1.8024 3.2024C2.07074 2.93407 2.40324 2.7999 2.7999 2.7999C3.19657 2.7999 3.52907 2.93407 3.7974 3.2024C4.06574 3.47074 4.1999 3.80324 4.1999 4.1999V6.0899C5.3899 4.59657 6.8424 3.44157 8.5574 2.6249C10.2724 1.80824 12.0866 1.3999 13.9999 1.3999C15.7499 1.3999 17.3891 1.7324 18.9174 2.3974C20.4457 3.0624 21.7757 3.96074 22.9074 5.0924C24.0391 6.22407 24.9374 7.55407 25.6024 9.0824C26.2674 10.6107 26.5999 12.2499 26.5999 13.9999C26.5999 15.7499 26.2674 17.3891 25.6024 18.9174C24.9374 20.4457 24.0391 21.7757 22.9074 22.9074C21.7757 24.0391 20.4457 24.9374 18.9174 25.6024C17.3891 26.2674 15.7499 26.5999 13.9999 26.5999ZM15.3999 13.4399L18.8999 16.9399C19.1566 17.1966 19.2849 17.5232 19.2849 17.9199C19.2849 18.3166 19.1566 18.6432 18.8999 18.8999C18.6432 19.1566 18.3166 19.2849 17.9199 19.2849C17.5232 19.2849 17.1966 19.1566 16.9399 18.8999L13.0199 14.9799C12.8799 14.8399 12.7749 14.6824 12.7049 14.5074C12.6349 14.3324 12.5999 14.1516 12.5999 13.9649V8.3999C12.5999 8.00324 12.7341 7.67074 13.0024 7.4024C13.2707 7.13407 13.6032 6.9999 13.9999 6.9999C14.3966 6.9999 14.7291 7.13407 14.9974 7.4024C15.2657 7.67074 15.3999 8.00324 15.3999 8.3999V13.4399Z' fill='black'/%3E%3C/svg%3E");

  /* NISA成長投資枠アイコン */
  --module-icon-nisa-grow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='10' viewBox='0 0 15 10' fill='none'%3E%3Cpath d='M1.51 9.52L0 8.03L5.74 2.31L8.47 5.04L11.38 2.12H9.48V0H15.01V5.51H12.89V3.61L8.48 8.02L5.75 5.29L1.52 9.52H1.51Z' fill='black'/%3E%3C/svg%3E");

  /* NISAつみたて投資枠アイコン */
  --module-icon-nisa-tsumitate: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Ccircle cx='1.5' cy='10.5' r='1.5' fill='black'/%3E%3Ccircle cx='6' cy='10.5' r='1.5' fill='black'/%3E%3Ccircle cx='10.5' cy='1.5' r='1.5' fill='black'/%3E%3Ccircle cx='10.5' cy='6' r='1.5' fill='black'/%3E%3Ccircle cx='6' cy='6' r='1.5' fill='black'/%3E%3Ccircle cx='10.5' cy='10.5' r='1.5' fill='black'/%3E%3C/svg%3E");
}

/* モバイル対応 */
@media all and (max-width: 900px) {
  :root {
    --module-font-size-xl: 1.1875rem;
    --module-font-size-lg: 1.125rem;
    --module-font-size-md: 1rem;
  }
}

/* ==========================================
ベーススタイル(module.css から移行)
  ========================================== */
:root {
  --color-red: #c00;
  --color-red-dark: #af0001;
  --color-button-red: var(--color-red);
  --color-button-red-hover: var(--color-red-dark);
  --font-family: YuGothic, "游ゴシック", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
  --font-weight-normal: 500;
  --font-weight-bold: 600;
}

html {
  min-height: 100%
}

body {
  font-family: YuGothic, "游ゴシック", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.8;
  background-color: #fff;
  color: #333;
  -webkit-text-size-adjust: 100%;
  min-height: 100%;
  margin: 0
}

a {
  color: #333;
  text-decoration: none;
  outline: 0
}

.clearfix:after {
  content: " ";
  display: block;
  clear: both
}

*,
:after,
:before {
  box-sizing: border-box
}

dd,
dl,
dt,
figure,
form,
h1,
h2,
h3,
h4,
h5,
h6,
iframe,
p {
  margin: 0
}

iframe {
  display: block
}

dt {
  font-weight: 700
}

ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0
}

td,
th {
  vertical-align: top;
  padding: 0
}

th {
  text-align: left;
  font-weight: 700
}

img {
  border-style: none;
  vertical-align: bottom
}

small {
  font-size: 87.5%
}

sub,
sup {
  font-size: 65%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

input[type=password],
input[type=text],
select,
textarea {
  font-family: YuGothic, "游ゴシック", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
  font-weight: 500;
  color: #333;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  border: 0;
  background: 0 0;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0
}

button {
  outline: 0;
  border-radius: 0;
  background: 0 0;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  padding: 0;
  margin: 0;
  cursor: pointer
}

::-moz-placeholder {
  color: #a0a0a0
}

::placeholder {
  color: #a0a0a0
}

#wrapper {
  overflow: hidden
}

.container {
  margin: 0 auto;
  padding: 0 25px;
  max-width: 1250px
}

.container_fluid {
  padding: 0 25px
}

.font_helvetica {
  font-family: HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif !important
}

@font-face {
  font-family: HelveticaNeue;
  src: url("/common/fonts/HelveticaNeueLight.woff2") format("woff2"), url("/common/fonts/HelveticaNeueLight.woff") format("woff"), url("/common/fonts/HelveticaNeueLight.ttf") format("truetype"), url("/common/fonts/HelveticaNeueLight.svg#HelveticaNeueLight") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: HelveticaNeue;
  src: url("/common/fonts/HelveticaNeueThin.woff2") format("woff2"), url("/common/fonts/HelveticaNeueThin.woff") format("woff"), url("/common/fonts/HelveticaNeueThin.ttf") format("truetype"), url("/common/fonts/HelveticaNeueThin.svg#HelveticaNeueThin") format("svg");
  font-weight: 100;
  font-style: normal;
  font-display: swap
}

#main {
  padding-top: 40px
}

/* デスクトップ対応 */
@media all and (min-width: 901px) {
  #main {
    padding-top: 100px
  }
}

/* ==========================================
共通スタイル
========================================== */
/* フォーカス */
:where(#main) :focus-visible {
  outline: 2px solid var(--module-color-primary);
  outline-offset: 2px;
}

:where(#main) :focus:not(:focus-visible) {
  outline: none;
}

/* ==========================================
見出し
========================================== */
.ttl-lv1 {
  font-size: var(--module-font-size-xl);
  font-weight: 700;
  line-height: 1.25;
}

/* モバイル対応 */
@media all and (max-width: 900px) {
  .ttl-lv1 {
    line-height: 1.5;
  }
}

.ttl-lv2 {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.25;
  font-size: var(--module-font-size-lg);
  font-weight: 500;
  font-family: var(--module-font-serif);
}

.ttl-lv2::before {
  content: '';
  display: block;
  width: 17px;
  height: 26px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='26' viewBox='0 0 17 26' fill='none'%3E%3Cpath d='M11.4844 0H16.2865L4.80206 25.6191H0L11.4844 0Z' fill='%23CC0000'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.ttl-lv3 {
  padding-bottom: 8px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  border-bottom: 1px solid var(--module-color-primary);
}

/* テキスト */
.txt {
  line-height: 1.5;
  font-size: var(--module-font-size-base);
}

.txt--sm {
  font-size: var(--module-font-size-sm);
}

/* ==========================================
アイコン
========================================== */
.ico {
  --icon-size: 16px;
  --icon-size-width: var(--icon-size);
  --icon-size-height: var(--icon-size);
  display: inline-block;
  width: var(--icon-size-width);
  height: var(--icon-size-height);
  flex-shrink: 0;
  vertical-align: middle;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/*  矢印アイコン（右向き）アイコン */
.ico--arrow-right {
  --icon-size: 14px;
  -webkit-mask-image: var(--module-icon-arrow-right);
  mask-image: var(--module-icon-arrow-right);
}

/*  矢印アイコン（下向き）アイコン */
.ico--arrow-down {
  -webkit-mask-image: var(--module-icon-arrow-down);
  mask-image: var(--module-icon-arrow-down);
}

/*  シェアブロンアイコン（右向き）アイコン */
.ico--chevron-right {
  --icon-size: 14px;
  -webkit-mask-image: var(--module-icon-chevron-right);
  mask-image: var(--module-icon-chevron-right);
}

/*  シェアブロンアイコン（下向き）アイコン */
.ico--chevron-down {
  -webkit-mask-image: var(--module-icon-chevron-down);
  mask-image: var(--module-icon-chevron-down);
}

/* 外部リンクアイコン */
.ico--external {
  --icon-size: 14px;
  -webkit-mask-image: var(--module-icon-external);
  mask-image: var(--module-icon-external);
}

/* PDFアイコン */
.ico--pdf {
  --icon-size: 14px;
  -webkit-mask-image: var(--module-icon-pdf);
  mask-image: var(--module-icon-pdf);
}

/* 価格変動アイコン（上向き矢印） */
.ico--plus {
  --icon-size: 14px;
  -webkit-mask-image: var(--module-icon-plus);
  mask-image: var(--module-icon-plus);
}

/* 価格変動アイコン（下向き矢印） */
.ico--minus {
  --icon-size: 14px;
  -webkit-mask-image: var(--module-icon-minus);
  mask-image: var(--module-icon-minus);
}

/* NISA成長投資枠アイコン */
.ico--nisa-grow {
  --icon-size-width: 15px;
  --icon-size-height: 10px;
  -webkit-mask-image: var(--module-icon-nisa-grow);
  mask-image: var(--module-icon-nisa-grow);
}

/* NISAつみたて投資枠アイコン */
.ico--nisa-tsumitate {
  --icon-size: 12px;
  -webkit-mask-image: var(--module-icon-nisa-tsumitate);
  mask-image: var(--module-icon-nisa-tsumitate);
}

/* ヘルプアイコン */
.ico--help {
  background-color: var(--module-color-primary);
  -webkit-mask-image: var(--module-icon-help);
  mask-image: var(--module-icon-help);
}

/* 検索アイコン */
.ico--search {
  --icon-size: 18px;
  -webkit-mask-image: var(--module-icon-search);
  mask-image: var(--module-icon-search);
}

/* アイコン（大） */
.ico--search-large,
.ico--star-large,
.ico--history-large {
  --icon-size: 28px;
}

.ico--search-large {
  -webkit-mask-image: var(--module-icon-search-large);
  mask-image: var(--module-icon-search-large);
}

.ico--star-large {
  -webkit-mask-image: var(--module-icon-star-large);
  mask-image: var(--module-icon-star-large);
}

.ico--history-large {
  -webkit-mask-image: var(--module-icon-history-large);
  mask-image: var(--module-icon-history-large);
}

/* 閉じるアイコン */
.ico--close {
  --icon-size: 24px;
  position: relative;
  background: none;
}

.ico--close::before,
.ico--close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background-color: currentColor;
  border-radius: 1px;
}

.ico--close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.ico--close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* ==========================================
ボタン
========================================== */
.btn {
  --button-pd-vertical: 8px;
  --button-pd-horizontal: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 32px;
  padding: calc(var(--button-pd-vertical) - var(--button-border-width, 0px)) calc(var(--button-pd-horizontal) - var(--button-border-width, 0px));
  font-weight: 700;
  font-size: var(--module-font-size-sm);
  line-height: 1;
  letter-spacing: 0.01em;
  border: none;
  cursor: pointer;
  transition: background-color var(--module-transition-normal);
  color: var(--module-color-text);
  text-decoration: none;
  border-radius: 2px;
  font-family: inherit;
}

/* 幅100% */
.btn--fullwidth {
  width: 100%;
}

/* アイコン付き */
.btn[href^="#"]::after,
.btn--arrow-right::after {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: var(--module-color-primary);
}

.btn[href^="#"]::after {
  mask-image: var(--module-icon-arrow-down);
}

.btn--arrow-right::after {
  mask-image: var(--module-icon-arrow-right);
}

/* バリアント: primary (塗りつぶしボタン) */
.btn--primary {
  color: var(--module-color-white);
  background: var(--module-color-primary);
}

/* バリアント: secondary (アウトラインボタン) */
.btn--secondary {
  --button-border-width: 1px;
  background: var(--module-color-secondary);
  border: var(--button-border-width) solid var(--module-color-border-secondary);
}

.btn--secondary svg {
  color: var(--module-color-primary);
}

@media (any-hover: hover) {
  .btn:hover {
    text-decoration: none;
    opacity: 1;
  }

  .btn--primary:hover {
    background-color: var(--module-color-primary-dark);
  }

  .btn--secondary:hover {
    background-color: var(--module-color-secondary-dark);
  }
}

.btn:disabled {
  background: var(--module-color-disabled);
  border-color: var(--module-color-disabled);
  color: var(--module-color-white);
  cursor: auto;
}

/* ボタンリンク */
.btn-link {
  display: inline;
  text-decoration: none;
  color: inherit;
  line-height: 1;
  font-family: inherit;
  transition: opacity var(--module-transition-normal);
}

@media (any-hover: hover) {
  .btn-link:hover {
    text-decoration: underline;
  }
}

.btn-link::after {
  --module-icon-size: 14px;
  content: '';
  display: inline-block;
  width: var(--module-icon-size);
  height: 1lh;
  min-height: var(--module-icon-size);
  flex-shrink: 0;
  vertical-align: middle;
  margin-left: 4px;
  margin-right: 4px;
  mask-image: var(--module-icon-arrow-right);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: var(--module-color-primary);
}

.btn-link:only-child::after {
  margin-right: 0;
}

.btn-link--large::after {
  --module-icon-size: 16px;
}

.btn-link[target="_blank"]::after {
  --module-icon-size: 12px;
  mask-image: var(--module-icon-external);
}

.btn-link[href$=".pdf"]::after {
  --module-icon-size: 12px;
  mask-image: var(--module-icon-pdf);
}

.btn-link_text {
  vertical-align: middle;
}

/* ==========================================
カード
========================================== */
.crd-outline {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid var(--module-color-border-alt);
  border-radius: 8px;
  background: var(--module-color-white);
  overflow: hidden;
}

.crd-outline_block {
  display: flex;
  flex-direction: column;
  padding: 11px;
  gap: 12px;
  height: 100%;
  text-decoration: none;
  color: inherit;
  background-color: var(--module-color-secondary);
  transition: background-color var(--module-transition-normal);
}

@media (any-hover: hover) {
  .crd-outline_block[href]:hover {
    text-decoration: none;
    background-color: var(--module-color-secondary-dark);
  }
}

.crd-outline_image {
  margin: 0;
  border-radius: 4px;
  overflow: hidden;
}

.crd-outline_image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: initial;
}

.crd-outline_content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.crd-outline_title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}

.crd-outline_description {
  margin: 0;
  font-size: .8125rem;
  font-weight: 500;
  line-height: 1.5;
}

/* ==========================================
チェックボックス
========================================== */
.chb {
  position: relative;
  width: 16px;
  height: 16px;
  margin: 0;
  flex-shrink: 0;
  cursor: pointer;
  appearance: none;
  border: 1px solid var(--module-color-text);
  border-radius: 2px;
  background-color: var(--module-color-white);
}

.chb::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 2px;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='16' height='16' rx='2' fill='%23181818'/%3E%3Cpath d='M6.32133 10.0103L12.0646 4.33201C12.221 4.1774 12.4044 4.1001 12.6147 4.1001C12.8251 4.1001 13.0085 4.1774 13.165 4.33201C13.3214 4.48674 13.3996 4.67025 13.3996 4.88254C13.3996 5.09483 13.3214 5.27834 13.165 5.43307L6.87163 11.6682C6.71514 11.8228 6.53171 11.9001 6.32133 11.9001C6.11096 11.9001 5.92752 11.8228 5.77103 11.6682L2.82784 8.75828C2.67146 8.60356 2.59544 8.42005 2.59979 8.20775C2.60413 7.99546 2.6845 7.81195 2.84088 7.65723C2.99737 7.50262 3.18298 7.42531 3.3977 7.42531C3.61242 7.42531 3.79803 7.50262 3.95453 7.65723L6.32133 10.0103Z' fill='white'/%3E%3C/svg%3E");
  background-size: 16px 16px;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity var(--module-transition-fast);
}

.chb:checked::before {
  opacity: 1;
}

/* ==========================================
セレクトボックス
========================================== */
.slb {
  width: 100%;
  padding: 11px 27px 11px 11px;
  border: 1px solid rgba(216, 216, 216, 0.8);
  border-radius: 2px;
  font-size: 0.875rem;
  line-height: 1;
  background-color: var(--module-color-white);
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.00039 8.93425L4.0829 4.8854C3.89875 4.69507 3.66437 4.5999 3.37976 4.5999C3.09516 4.5999 2.86078 4.69507 2.67662 4.8854C2.49247 5.07573 2.40039 5.31797 2.40039 5.61212C2.40039 5.90626 2.49247 6.1485 2.67662 6.33883L7.29725 11.1144C7.3977 11.2182 7.50652 11.2918 7.62371 11.335C7.7409 11.3783 7.86646 11.3999 8.00039 11.3999C8.13432 11.3999 8.25988 11.3783 8.37707 11.335C8.49426 11.2918 8.60308 11.2182 8.70353 11.1144L13.3242 6.33883C13.5083 6.1485 13.6004 5.90626 13.6004 5.61212C13.6004 5.31797 13.5083 5.07573 13.3242 4.8854C13.14 4.69507 12.9056 4.5999 12.621 4.5999C12.3364 4.5999 12.102 4.69507 11.9179 4.8854L8.00039 8.93425Z' fill='%23181818'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  cursor: pointer;
  font-family: inherit;
}

/* モバイル対応 */
@media all and (max-width: 900px) {
  .slb {
    padding-right: 29px;
  }
}

/* ==========================================
アコーディオン
========================================== */
.acd {
  border: 1px solid var(--module-color-bg-light);
}

.acd-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 16px;
  background-color: var(--module-color-bg-light);
  cursor: pointer;
  user-select: none;
  list-style: none;
}

.acd-header::-webkit-details-marker {
  display: none;
}

.acd-title {
  font-size: var(--module-font-size-base);
  font-weight: 700;
  line-height: 1.5;
}

.acd-icon i {
  transition: transform var(--module-transition-normal);
  color: var(--module-color-primary);
}

.acd[open] .acd-icon i {
  transform: rotate(180deg);
}

.acd-content {
  padding: 16px;
}

/* モバイル対応 */
@media all and (max-width: 900px) {
  .acd-content {
    padding: 16px;
  }
}

/* ==========================================
ラベル
========================================== */
/* キーワードラベル */
.lbl-keywords {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  height: 32px;
  font-size: var(--module-font-size-sm);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: var(--module-color-text);
  background: var(--module-color-white);
  border: 1px solid var(--module-color-border-light);
  border-radius: 64px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

@media (any-hover: hover) {
  .lbl-keywords:hover {
    opacity: 0.7;
  }
}

/* カテゴリラベル */
.lbl-category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 3px 8px;
  font-size: var(--module-font-size-sm);
  font-weight: 700;
  line-height: 1.2;
  color: var(--module-color-category-tag);
  background: var(--module-color-secondary);
  border: 1px solid var(--module-color-category-tag);
  border-radius: 100px;
  cursor: pointer;
  transition: background-color var(--module-transition-normal);
  text-decoration: none;
}

@media (any-hover: hover) {
  .lbl-category:hover {
    background-color: var(--module-color-secondary-dark);
    opacity: 1;
    text-decoration: none;
  }
}

/* モバイル対応 */
@media all and (max-width: 900px) {
  .lbl-category {
    line-height: 1.3;
  }
}

/* 製品ラベル */
.lbl-products {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  border-radius: 14px;
  color: var(--module-color-white);
}

.lbl-products--blue {
  background: var(--module-color-badge-blue);
}

.lbl-products--green {
  background: var(--module-color-badge-green);
}

.lbl-products--gold {
  background: var(--module-color-badge-gold);
}

/* モバイル対応 */
@media all and (max-width: 900px) {
  .lbl-products {
    padding: 4px 12px;
    font-size: 0.625rem;
    line-height: 1.2;
    border-radius: 18px;
  }
}

/* ==========================================
パンくず
========================================== */
.breadcrumb {
  position: relative;
  padding: 16px 60px;
  background-color: var(--module-color-primary);
}

.breadcrumb+[class] {
  margin-top: 0;
}

.breadcrumb_list {
  line-height: 1.25;
}

.breadcrumb_item,
.breadcrumb_link {
  display: inline;
  vertical-align: middle;
}

.breadcrumb_item {
  font-size: 0;
}

.breadcrumb_item:not(:first-child)::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 11px;
  margin: 0 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11' fill='none'%3E%3Cpath d='M5.44727 0.223633L0.447266 10.2236' stroke='%23F8B1B1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
  vertical-align: middle;
}

.breadcrumb_link {
  padding: 0;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.25;
  color: var(--module-color-white);
  text-decoration: underline;
  border-radius: 4px;
}

@media (any-hover: hover) {
  .breadcrumb_link[href]:hover {
    text-decoration: none;
  }
}

.breadcrumb_link--current {
  color: var(--module-color-white);
  text-decoration: none;
}

/* モバイル対応 */
@media all and (max-width: 900px) {
  .breadcrumb {
    width: 100%;
    max-width: 100vw;
    padding: 16px;
    z-index: 15;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--module-color-scrollbar-thumb) var(--module-color-scrollbar-track);
  }

  .breadcrumb_list {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
  }

  .breadcrumb_list::after {
    content: '';
    display: block;
    width: 16px;
    height: 1px;
    flex-shrink: 0;
  }

  .breadcrumb_item {
    display: flex;
    align-items: center;
    flex: none;
  }
}

/* ==========================================
カルーセル（Splide）
========================================== */
/* コントロールエリア */
.splide__controls {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin-top: 21px;
}

/* ナビゲーションボタン */
.splide__arrows {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  pointer-events: none;
}

.splide__arrow {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--module-color-bg-arrow-button);
  color: var(--module-color-white);
  cursor: pointer;
  pointer-events: auto;
  transition: opacity var(--module-transition-normal);
}

.splide__arrow:disabled {
  opacity: 0.3;
  cursor: default;
}

.splide__arrow svg {
  width: 12px;
  height: 12px;
  fill: var(--module-color-white);
}

.splide__arrow--prev svg {
  transform: rotate(180deg);
}

/* ページネーション */
.splide__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 0;
  margin: 0;
}

.splide:not(.is-overflow) .splide__pagination {
  display: flex;
}

.splide__pagination__page {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  background: var(--module-color-white);
  border: 1px solid var(--module-color-text);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color var(--module-transition-normal);
}

.splide__pagination__page[aria-selected="true"] {
  background: var(--module-color-text);
}

/* 自動再生ボタン */
.splide__toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: 1px solid var(--module-color-text);
  border-radius: 50%;
  background: transparent;
  color: var(--module-color-text);
  cursor: pointer;
  transition: opacity var(--module-transition-normal);
  vertical-align: middle;
}

.splide__toggle:focus-visible {
  outline: 2px solid var(--module-color-primary);
  outline-offset: 2px;
}

.splide__toggle__play,
.splide__toggle__pause {
  line-height: 0;
}

/* 自動再生中: pauseアイコンを表示 */
.splide.is-active .splide__toggle__pause {
  position: relative;
}

.splide__toggle__pause::after {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 3.75V8.25' stroke='%23181818'/%3E%3Cpath d='M7.5 3.75V8.25' stroke='%23181818'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.splide__toggle__play::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 1px;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #181818;
}

/* ==========================================
表組み
========================================== */
.tbl {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  border-right: 1px solid var(--module-color-border);
  border-bottom: 1px solid var(--module-color-border);
}

.tbl th,
.tbl td {
  height: 32px;
  padding: 12px 16px;
  font-size: var(--module-font-size-base);
  line-height: 1;
  border-left: 1px solid var(--module-color-border);
  border-top: 1px solid var(--module-color-border);
  vertical-align: middle;
}

.tbl th {
  width: var(--tbl-th-width);
  background-color: var(--module-color-bg-light);
  font-weight: 700;
  text-align: left;
}

.tbl td {
  width: var(--tbl-td-width);
  font-weight: 500;
}

.tbl_help {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  text-align: left;
  gap: 4px;
}

.tbl_help-text {
  vertical-align: middle;
}

.tbl_help-icon {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

.tbl_list-scroll {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tbl_list-scroll:has(:nth-child(7)) {
  max-height: calc(6em + 4px * 6);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: var(--module-color-scrollbar-thumb) var(--module-color-scrollbar-track);
}

/* バリアント：thアウトライン */
.tbl--outline th {
  background: var(--module-color-white);
  font-weight: 500;
}

/* バリアント：PC/SP縦積み */
.tbl--vertical {
  border-left: 1px solid var(--module-color-border);
}

.tbl--vertical,
.tbl--vertical thead,
.tbl--vertical tbody,
.tbl--vertical tr,
.tbl--vertical th,
.tbl--vertical td {
  display: block;
}

.tbl--vertical th,
.tbl--vertical td {
  height: auto;
  text-align: center;
  border-left: none;
}

/* モバイル対応 */
@media all and (max-width: 900px) {

  /* テーブルのスクロールラッパー */
  .tbl-wrapper {
    display: flex;
    max-width: calc(100vw - 16px);
    margin-right: -16px;
    padding-bottom: 24px;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .tbl-wrapper::after {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 16px;
    height: 1px;
  }

  /* カスタムスクロールバー */
  .tbl-wrapper::-webkit-scrollbar {
    height: 6px;
  }

  .tbl-wrapper::-webkit-scrollbar-track {
    background: var(--module-color-scrollbar-track);
    border-radius: 4px;
    margin-right: 16px;
  }

  .tbl-wrapper::-webkit-scrollbar-thumb {
    background: var(--module-color-scrollbar-thumb);
    border-radius: 4px;
  }

  .tbl_help {
    gap: 4px;
  }

  .tbl--vertical th,
  .tbl--vertical td,
  .tbl--horizontal-vertical th,
  .tbl--horizontal-vertical td {
    height: auto;
    padding: 12px;
  }

  /* バリアント：SPのみ縦積み */
  .tbl--horizontal-vertical {
    border-left: 1px solid var(--module-color-border);
  }

  .tbl--horizontal-vertical,
  .tbl--horizontal-vertical thead,
  .tbl--horizontal-vertical tbody,
  .tbl--horizontal-vertical tr,
  .tbl--horizontal-vertical th,
  .tbl--horizontal-vertical td {
    display: block;
  }

  .tbl--horizontal-vertical th,
  .tbl--horizontal-vertical td {
    width: 100%;
    text-align: center;
    border-left: none;
  }
}

/* ==========================================
モーダル
========================================== */
.mdl {
  position: fixed;
  inset: 0;
  margin: auto;
  padding: 24px;
  width: min(calc(100% - 32px), 600px);
  max-height: calc(100dvh - 32px);
  border: none;
  border-radius: 0;
  background: var(--module-color-white);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  color: var(--module-color-text);
  overflow: hidden;
  text-align: left;
  line-height: 1.5;
  font-weight: 500;
  font-size: .75rem;
  white-space: normal;
}

/* 背景のオーバーレイ */
.mdl::backdrop {
  background: var(--module-color-bg-backdrop);
  animation: mdl-backdrop-fade-in var(--module-transition-normal);
}

@keyframes mdl-backdrop-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ダイアログ本体のアニメーション */
.mdl[open] {
  animation: mdl-fade-in var(--module-transition-normal);
}

@keyframes mdl-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ダイアログヘッダー（タイトル部分） */
.mdl_header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-right: 32px;
  margin-bottom: 24px;
}

/* ダイアログコンテンツ */
.mdl_content {
  margin-top: 24px;
  padding-right: 16px;
  margin-right: -16px;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: calc(100dvh - 200px);
  scrollbar-width: thin;
  scrollbar-color: var(--module-color-scrollbar-thumb) var(--module-color-scrollbar-track);
  font-size: var(--module-font-size-base);
  line-height: 1.5;
}

.mdl_content>*+* {
  margin-top: 24px;
}

.mdl_content>p+p {
  margin-top: 0;
}

.mdl_content>ul {
  font-size: var(--module-font-size-sm);
}

/* ハイライトボックス（背景グレー） */
.mdl_highlight {
  padding: 16px;
  background: var(--module-color-bg-light);
  line-height: 1.5;
}

/* 閉じるボタン */
.mdl_close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--module-color-text);
  border-radius: 50%;
  background: var(--module-color-white);
  color: var(--module-color-text);
  cursor: pointer;
  transition: background-color var(--module-transition-fast), color var(--module-transition-fast);
}

@media (any-hover: hover) {
  .mdl_close:hover {
    background: var(--module-color-bg-hover-light);
  }
}

.mdl_close:focus-visible {
  outline: 2px solid var(--module-color-primary);
  outline-offset: 2px;
}

.mdl_close i::before,
.mdl_close i::after {
  height: 1px;
}

dialog[open]::backdrop,
[popover]:popover-open::backdrop {
  overscroll-behavior: contain;
}

dialog[open],
[popover]:popover-open {
  overscroll-behavior: contain;
  touch-action: none;
}

body:has(dialog[open]),
body:has([popover]:popover-open) {
  overflow: hidden;
}

/* SP（モバイル）用の調整 */
@media screen and (max-width: 767px) {
  .mdl {
    width: min(calc(100% - 32px), 343px);
  }

  .mdl_close {
    top: 8px;
    right: 8px;
  }
}

/* ==========================================
トースト
========================================== */
.tst {
  background-color: var(--module-color-bg-backdrop);
  display: grid;
  place-content: center;
  inset: 0;
  position: fixed;
  z-index: var(--module-z-index-toast);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--module-transition-slow), visibility var(--module-transition-slow);
  pointer-events: none;
}

.tst.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.tst_text {
  display: block;
  width: fit-content;
  color: var(--module-color-white);
  font-size: 1rem;
  font-weight: var(--font-weight-normal);
  line-height: 1;
  padding: 24px;
  background: rgba(0, 0, 0, .7);
}

/* ==========================================
サイドバー
========================================== */
/* デスクトップ対応 */
@media all and (min-width: 901px) {
  .sidebar {
    position: relative;
  }

  .sidebar_in {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px;
    background: var(--module-color-bg-side);
  }

  .sidebar::before {
    left: auto;
    right: -100vw;
  }

  .sidebar>*+* {
    margin-top: 20px;
  }

  .sidebar_section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .sidebar_section-heading {
    line-height: 1;
    font-weight: 700;
    font-size: .75rem;
  }

  .sidebar_section-link {
    font-size: .75rem;
    color: var(--module-color-primary);
  }
}

/* モバイル対応 */
@media all and (max-width: 900px) {
  .sidebar_heading {
    display: none;
  }
}

/* 検索 */
.sidebar-search {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sidebar-search_group>*+* {
  margin-top: 8px;
}

.sidebar-search_group>section+section {
  margin-top: 20px;
}

.sidebar-search_block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ヘッダー（h4とリンク） */
.sidebar-search_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.sidebar-search_title {
  font-size: var(--module-font-size-base);
  font-weight: 700;
  line-height: 1;
  color: var(--module-color-text);
}

.sidebar-search_link {
  font-size: var(--module-font-size-base);
  color: var(--module-color-primary);
}

.sidebar-search_body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* 検索入力フォーム */
.sidebar-search_input-wrapper {
  position: relative;
}

/* カスタムサジェストリスト */
.sidebar-search_suggest {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: var(--module-z-index-suggest);
  display: none;
  max-height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  background: var(--module-color-white);
  border-radius: 0 0 4px 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
  scrollbar-width: thin;
  scrollbar-color: var(--module-color-scrollbar-thumb) var(--module-color-scrollbar-track);
}

.sidebar-search_suggest[data-visible="true"] {
  display: block;
}

.sidebar-search_suggest-item {
  padding: 13px 8px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  color: var(--module-color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}

.sidebar-search_suggest-item[aria-selected="true"],
.sidebar-search_suggest-item:focus-visible {
  background: var(--module-color-bg-hover);
  outline: none;
}

@media (any-hover: hover) {
  .sidebar-search_suggest-item:hover {
    background: var(--module-color-bg-hover);
  }
}

.sidebar-search_input-wrapper .sidebar-search_input {
  width: 100%;
  height: 46px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 44px 4px 16px;
  background: var(--module-color-border-alt);
  border: none;
  border-radius: 8px;
  font-size: var(--module-font-size-sm);
  font-weight: 500;
  line-height: 1;
  color: var(--module-color-text);
  box-shadow: none;
}

.sidebar-search_input-wrapper .sidebar-search_input::placeholder {
  color: var(--module-color-placeholder);
}

.sidebar-search_button {
  position: absolute;
  right: 11px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--module-color-text-light);
  cursor: pointer;
  transition: opacity var(--module-transition-normal);
}

@media (any-hover: hover) {
  .sidebar-search_button:hover {
    opacity: 0.7;
  }
}

/* リスト（お気に入り、最近見たファンド） */
.sidebar-search_list,
.sidebar-search_message {
  display: flex;
  flex-direction: column;
  background: var(--module-color-white);
  border: 1px solid var(--module-color-border-alt);
  border-radius: 4px;
  overflow: hidden;
}

.sidebar-search_list-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  text-decoration: none;
  color: inherit;
  background-color: var(--module-color-secondary);
  transition: background-color var(--module-transition-normal);
}

.sidebar-search_list-item::after {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  mask-image: var(--module-icon-chevron-right);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: currentColor;
}

.sidebar-search_list-item:first-child {
  padding-top: 16px;
}

.sidebar-search_list-item:last-child {
  padding-bottom: 16px;
}

.sidebar-search_list-item:not(:first-child)::before {
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  top: 0;
  display: block;
  width: calc(100% - 24px);
  height: 1px;
  background-color: var(--module-color-border-alt);
}

@media (any-hover: hover) {
  .sidebar-search_list-item:hover {
    background-color: var(--module-color-secondary-dark);
    text-decoration: none;
  }
}

.sidebar-search_list-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.sidebar-search_list-message {
  color: var(--module-color-primary);
  font-weight: 600;
  line-height: 1.5;
  font-size: var(--module-font-size-sm);
}

.sidebar-search_list-message:empty {
  display: none;
}

.sidebar-search_list-name,
.sidebar-search_list-info {
  font-size: var(--module-font-size-sm);
  font-weight: 500;
  line-height: 1.5;
  color: var(--module-color-text);
}

.sidebar-search_message {
  padding: 12px;
  line-height: 1.5;
  font-weight: 500;
  font-size: var(--module-font-size-sm);
}

/* 基準日 */
.sidebar-search_date {
  margin: 0;
  text-align: right;
  font-size: var(--module-font-size-sm);
  font-weight: 500;
  line-height: 1.5;
  color: var(--module-color-text);
}

/* 閉じるボタン・CTAボタン・人気キーワードはPC時非表示 */
.sidebar-search_close,
.sidebar-search_cta {
  display: none;
}

/* バナーカルーセル（PC/SP共通） */

.sidebar-search_banner-carousel.splide {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: visible;
}

.sidebar-search_banner-carousel .splide__controls {
  justify-content: center;
  margin-top: 10px;
}

.sidebar-search_banner-carousel .splide__track {
  grid-area: track;
  overflow: hidden;
  width: 272px;
}

.sidebar-search_banner-carousel .splide__list {
  display: flex;
}

/* width は Splide の JS オプションで制御するため CSS では設定しない */
.sidebar-search_banner-carousel .splide__slide {
  flex-shrink: 0;
}

.sidebar-search_banner-slide {
  display: block;
  text-decoration: none;
  overflow: hidden;
}

.sidebar-search_banner-slide img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform var(--module-transition-zoom);
}

@media (any-hover: hover) {
  .sidebar-search_banner-slide:hover img {
    transform: scale(1.1);
  }

  .sidebar-search_banner-nav .splide__toggle:hover {
    opacity: 0.7;
  }
}

/* デスクトップ対応 */
@media all and (min-width: 901px) {
  .sidebar-search {
    position: relative;
  }

  .sidebar-search:has(.sidebar-search_banner-carousel) {
    padding-bottom: 128px;
  }

  .sidebar-search_block[popover] {
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }

  .sidebar-search_list-item:nth-child(n + 3) {
    display: none;
  }

  .sidebar-search_banner-carousel.splide {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

/* モバイル対応 */
@media all and (max-width: 900px) {

  .sidebar-search {
    display: block;
  }

  .sidebar-search_group>*+*,
  .sidebar-search_group>section+section {
    margin-top: 0;
  }

  /* モバイル時：ポップオーバーとして機能 */
  .sidebar-search_block {
    display: none;
  }

  .sidebar-search_block[popover] {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    flex-direction: column;
    width: 100dvw;
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    gap: 0;
    background: var(--module-color-white);
    border: none;
    overflow: hidden;
    opacity: 0;
    transform: translateY(100%);
    transition: opacity 0.3s ease, transform 0.3s ease, display 0.3s ease allow-discrete;
  }

  .sidebar-search_block[popover]:popover-open {
    display: flex;
    opacity: 1;
    transform: translateY(0);
  }

  @starting-style {
    .sidebar-search_block[popover]:popover-open {
      opacity: 0;
      transform: translateY(100%);
    }
  }

  .sidebar-search_block[popover]::backdrop {
    background: var(--module-color-bg-backdrop);
    opacity: 0;
    transition: opacity 0.3s ease, display 0.3s ease allow-discrete;
  }

  .sidebar-search_block[popover]:popover-open::backdrop {
    opacity: 1;
  }

  @starting-style {
    .sidebar-search_block[popover]:popover-open::backdrop {
      opacity: 0;
    }
  }

  /* ヘッダー（ポップオーバーモード時） */
  .sidebar-search_block[popover] .sidebar-search_header {
    height: 71px;
    flex-shrink: 0;
    padding: 16px;
    border-bottom: 1px solid var(--module-color-border-light);
  }

  .sidebar-search_block[popover] .sidebar-search_title {
    flex: 1;
    font-size: 1rem;
    font-weight: 700;
  }

  .sidebar-search_block[popover] .sidebar-search_link {
    display: none;
  }

  /* 閉じるボタン（モバイルで表示） */
  .sidebar-search_close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    background: transparent;
    border: none;
    color: var(--module-color-text);
    cursor: pointer;
    transition: opacity 0.2s ease;
  }

  /* コンテンツエリア */
  .sidebar-search_block[popover] .sidebar-search_body {
    gap: 16px;
    flex: 1;
    padding: 24px 16px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--module-color-scrollbar-thumb) var(--module-color-scrollbar-track);
  }

  .sidebar-search_block[popover] .sidebar-search_body--fundsearch {
    gap: 24px;
  }

  /* 検索入力（ポップオーバーモード時） */
  .sidebar-search_block[popover] .sidebar-search_input {
    height: 44px;
    padding: 8px 44px 8px 16px;
    background: var(--module-color-bg-side);
    border-radius: 8px;
  }

  .sidebar-search_block[popover] .sidebar-search_input::placeholder {
    color: var(--module-color-placeholder-mobile);
  }

  .sidebar-search_subheding {
    margin-bottom: 8px;
    font-size: var(--module-font-size-base);
    font-weight: 700;
    line-height: 1;
    color: var(--module-color-text);
  }

  /* リストスタイル（ポップオーバーモード時） */
  .sidebar-search_block[popover] .sidebar-search_list {
    margin: 0 -16px;
    padding: 0;
    border: none;
    border-radius: 0;
    overflow: visible;
  }

  .sidebar-search_block[popover] .sidebar-search_list-item {
    padding: 16px;
    border-bottom: 1px solid var(--module-color-border-alt);
  }

  .sidebar-search_block[popover] .sidebar-search_list-item:first-child {
    padding-top: 0;
  }

  .sidebar-search_block[popover] .sidebar-search_list-item:nth-child(n + 6) {
    display: none;
  }

  .sidebar-search_block[popover] .sidebar-search_list-item::before,
  .sidebar-search_block[popover] .sidebar-search_list-item::after {
    content: none;
  }

  .sidebar-search_block[popover] .sidebar-search_list-content {
    gap: 12px;
  }

  .sidebar-search_list-message {
    font-weight: 700;
    font-size: 1rem;
  }

  .sidebar-search_block[popover] .sidebar-search_list-name {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
  }

  .sidebar-search_block[popover] .sidebar-search_list-name::after {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    mask-image: var(--module-icon-chevron-right);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    background-color: currentColor;
  }

  .sidebar-search_message {
    padding: 0;
    border: none;
    font-size: var(--module-font-size-md);
  }

  /* CTAボタン（モバイルで表示） */
  .sidebar-search_cta {
    display: block;
    padding: 16px;
  }

  .sidebar-search_cta .btn {
    width: 100%;
    height: 44px;
    font-size: var(--module-font-size-base);
  }

  .sidebar-search_cta::after {
    display: none;
  }
}

@media (any-hover: hover) {

  .sidebar-search_close:hover {
    opacity: 0.7;
  }
}

/* モバイルフッターナビゲーション */
.sidebar-footer-nav {
  display: none;
}

/* モバイル表示時に固定表示 */
@media all and (max-width: 900px) {
  .sidebar-footer-nav {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: var(--module-z-index-footer-nav);
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    background: var(--module-color-primary);
    box-shadow: 0px -4px 40px 0px rgba(0, 0, 0, 0.08);
    color: var(--module-color-text);
  }

  .sidebar-footer-nav_item {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 16px 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--module-color-white);
    transition: background-color var(--module-transition-normal);
  }

  .sidebar-footer-nav_text {
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
  }
}

@media (any-hover: hover) {
  .sidebar-footer-nav_item:hover {
    background-color: var(--module-color-primary-dark);
  }
}

/* ==========================================
ユーティリティクラス
========================================== */
/* デスクトップ対応 */
@media all and (min-width: 901px) {
  .u-only--mobile {
    display: none;
  }
}

/* モバイル対応 */
@media all and (max-width: 900px) {
  .u-only--desktop {
    display: none;
  }
}