/**
 * Tailwind CSS Entry Point
 *
 * すべてのスタイル定義を一元管理
 * - CSS変数（デザイントークン）
 * - カスタムユーティリティ（グラデーション）
 * - コンポーネント（ヘッダー）
 */

/* Component Styles */

/**
 * Header Component
 *
 * BEMスタイルのヘッダーコンポーネント（Sass-like Nesting）
 * - トップバー
 * - メインヘッダー
 * - ロゴエリア
 * - 特徴ボックス
 * - アクションボタン
 * - カート
 * - 検索バー
 */

/* ========================================
   Component Classes (BEM-style with Nesting)
   ======================================== */

/**
 * Drawer Component (Full-screen)
 *
 * BEMスタイルのドロワーコンポーネント
 * サイドバーと同じデザイン言語に統一
 */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   グローバル上書き: ドロワー内カテゴリドロップダウン非表示
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-drawer .ec-headerSearch__category,
.mdn-drawer .ec-select,
.mdn-drawer select.category_id {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    clip: rect(0, 0, 0, 0) !important;
}

/**
 * Footer Component
 *
 * BEMスタイルのフッターコンポーネント（Sass-like Nesting）
 * - 左セクション（ブランド・ロゴ・タグライン・SNSアイコン）
 * - 右セクション（お買い物ガイド: お支払い・送料・お問い合わせ）
 * - コピーライト（グラデーション背景）
 */

/* ========================================
   Component Classes (BEM-style with Nesting)
   ======================================== */

/**
 * Slideshow Banner Component
 *
 * BEM-style banner with responsive image support
 * - PC: max-width 1280px, aspect-ratio 2048/208
 * - SP: aspect-ratio 1080/608
 * - Slick slider navigation arrows and dots
 */

/**
 * Category Sidebar Component
 *
 * BEM-style category navigation sidebar
 * - Gradient background
 * - Category items with icon, text, and arrow
 * - CSS border divider lines between items
 */

/* ========================================
   Component Classes (BEM-style with Nesting)
   ======================================== */

/**
 * 共通商品カードコンポーネント
 * 
 * トップページのランキングカードと一覧ページで共通利用
 */

/* 一覧ページ用グリッドレイアウト */

/**
 * 商品リストビュー（カテゴリページ用）
 * Figma node: 214-551 準拠
 */

/**
 * カテゴリページ固有のスタイル
 */

/**
 * ページネーションスタイル (Zero-base Re-implementation)
 * 名前空間を .mdn-pagination に統一し、詳細度を管理。
 * 配色: キーワードタグに準拠
 *   - アクティブ: グラデーション塗りつぶし + 白文字
 *   - 非アクティブ: グラデーション文字
 */

.ec-pagerRole {
    margin-top: 60px;
    margin-bottom: 40px;
}

.mdn-pagination {
    display: flex;
    justify-content: center;
    width: 100%;
}

.mdn-pagination__list {
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.mdn-pagination__item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
}

/* ページ番号共通 (正円) - 非アクティブ: グラデーション文字 */

.mdn-pagination__number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
    border: 2px solid #9eacd8;
    background: #fff;
    background-image: var(--gradient-main);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

a.mdn-pagination__number:hover {
    border-color: #7a67a9;
}

/* アクティブページ: グラデーション塗りつぶし + 白文字 */

.mdn-pagination__item--active .mdn-pagination__number {
    background: var(--gradient-main);
    -webkit-background-clip: border-box;
    -webkit-text-fill-color: #fff;
    background-clip: border-box;
    color: #fff;
    border: none;
    cursor: default;
}

/* ナビゲーション (前へ/次へ) */

.mdn-pagination__item--nav {
    min-width: unset;
}

.mdn-pagination__item--nav a {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #376189;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    padding: 0 8px;
    transition: all 0.2s ease;
}

.mdn-pagination__item--nav a:hover {
    color: #7a67a9;
    text-decoration: underline;
}

/* アイコン (SVG) */

.mdn-pagination__item--prev a::before,
.mdn-pagination__item--next a::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.mdn-pagination__item--prev a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23376189' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E");
}

.mdn-pagination__item--next a::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23376189' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
}

/* 省略記号 */

.mdn-pagination__item--ellipsis {
    color: #9eacd8;
    font-size: 14px;
    min-width: 24px;
}

/* ページトップボタン
 * ブログデザイン準拠
 * - 52x52 円形ボタン
 * - シェブロンアイコン (Font Awesome)
 */

.ec-blockTopBtn.pagetop {
    width: 52px;
    height: 52px;
    right: 20px;
    bottom: 20px;
    color: #8bb3d9;
    line-height: 52px;
    opacity: 0.75;
    background-color: #ffffff;
    border: 1px solid #8bb3d9;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    font-size: 0;
    transition: opacity 0.3s ease, background-color 0.3s ease;
}

.ec-blockTopBtn.pagetop::before {
    content: "\f077";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 18px;
    line-height: 52px;
}

@media only screen and (min-width: 769px) {
    .ec-blockTopBtn.pagetop {
        right: 30px;
        bottom: 30px;
    }
}

/**
 * 商品詳細ページ
 * Figma node: 240-350 準拠
 */

/* 商品コード非表示 */

.ec-productRole__code {
  display: none;
}

/* ez-plus ズーム機能のスタイル */

.zoomContainer {
  z-index: 100;
}

.zoomLens {
  border: 2px solid #8bb3d9 !important;
  background-color: rgba(139, 179, 217, 0.2) !important;
  box-shadow: 0 0 8px rgba(139, 179, 217, 0.4);
}

.zoomWindow {
  border: 2px solid #8bb3d9 !important;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  background-color: #fff;
}

/* パッケージ注意事項モーダル */

body.mdn-modal-open {
  overflow: hidden;
}

.mdn-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.mdn-modal.is-active {
    pointer-events: auto;
  }

.mdn-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    transition: opacity 0.15s ease;
  }

.mdn-modal.is-active .mdn-modal__overlay {
    opacity: 1;
  }

.mdn-modal__body {
    position: relative;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    padding: 32px;
    max-width: 500px;
    width: calc(100% - 40px);
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.15s ease, transform 0.15s ease;
  }

.mdn-modal.is-active .mdn-modal__body {
    opacity: 1;
    transform: translateY(0);
  }

.mdn-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: #666;
    transition: color 0.2s;
  }

.mdn-modal__close:hover {
      color: #333;
    }

.mdn-modal__title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 16px;
    padding-right: 24px;
    color: #333;
  }

.mdn-modal__content {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
  }

.mdn-modal__content p {
      margin: 0 0 12px;
    }

.mdn-modal__content p:last-child {
      margin-bottom: 0;
    }

/* 9. モーダル SP対応 */

@media (max-width: 1023px) {
    .mdn-modal__body {
      padding: 24px 20px;
      max-width: calc(100% - 32px);
    }

    .mdn-modal__title {
      font-size: 15px;
    }

    .mdn-modal__content {
      font-size: 13px;
    }
  }

/**
 * お買い物ガイド - Figma準拠
 * 3カラムレイアウト: お支払い方法 | 送料・発送について | お問い合わせ等
 */

.mdn-shopping-guide {
  max-width: 1276px;
  margin: 60px auto 0;
  padding: 0 16px 40px;
  font-family: 'Noto Sans JP', sans-serif;
}

/* ヘッダー */

.mdn-shopping-guide__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 20px;
  }

.mdn-shopping-guide__logo {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

.mdn-shopping-guide__logo-text {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 32px;
    font-weight: 700;
    background: linear-gradient(90deg, #376189 -0.7%, #7a67a9 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-shopping-guide__logo-tagline {
    font-size: 13px;
    font-weight: 400;
    color: #282828;
    letter-spacing: 0.52px;
  }

.mdn-shopping-guide__title {
    font-size: 20px;
    font-weight: 700;
    background: linear-gradient(90deg, #376189 -0.7%, #7a67a9 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
  }

/* 区切り線 */

.mdn-shopping-guide__divider {
    height: 1px;
    background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
    margin-bottom: 30px;
  }

/* コンテンツ（3カラム） */

.mdn-shopping-guide__content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
    position: relative;
  }

/* カラム間の縦線 */

.mdn-shopping-guide__content::before,
  .mdn-shopping-guide__content::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, #8bb3d9 0%, #b2a4d6 100%);
  }

.mdn-shopping-guide__content::before {
    left: calc(33.333% - 15px);
  }

.mdn-shopping-guide__content::after {
    left: calc(66.666% - 15px);
  }

/* カラム */

.mdn-shopping-guide__column {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

.mdn-shopping-guide__column-title {
    font-size: 18px;
    font-weight: 700;
    color: #282828;
    margin: 0;
    padding-bottom: 10px;
  }

.mdn-shopping-guide__column-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

.mdn-shopping-guide__subtitle {
    font-size: 14px;
    font-weight: 700;
    color: #282828;
    margin: 0 0 5px;
    line-height: 1.6;
  }

.mdn-shopping-guide__text {
    font-size: 13px;
    font-weight: 400;
    color: #282828;
    line-height: 1.8;
    margin: 0;
    letter-spacing: 0.52px;
  }

.mdn-shopping-guide__text a {
      color: #356fa7;
      text-decoration: underline;
    }

.mdn-shopping-guide__text a:hover {
        text-decoration: none;
      }

/* リンクリスト */

.mdn-shopping-guide__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

.mdn-shopping-guide__links li {
      font-size: 14px;
      line-height: 1.6;
      letter-spacing: 0.56px;
    }

.mdn-shopping-guide__links a {
      color: #282828;
      text-decoration: none;
      transition: color 0.2s;
    }

.mdn-shopping-guide__links a:hover {
        color: #356fa7;
      }

/* レスポンシブ */

@media (max-width: 1023px) {
    .mdn-shopping-guide__content {
      grid-template-columns: 1fr;
      gap: 40px;
    }

    .mdn-shopping-guide__content::before,
    .mdn-shopping-guide__content::after {
      display: none;
    }

    .mdn-shopping-guide__column {
      border-bottom: 1px solid rgba(139, 179, 217, 0.3);
      padding-bottom: 30px;
    }

      .mdn-shopping-guide__column:last-child {
        border-bottom: none;
        padding-bottom: 0;
      }

    .mdn-shopping-guide__header {
      flex-direction: column;
      align-items: flex-start;
      gap: 15px;
    }
  }

/* Tailwind CSS Directives */

*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
 */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

:root {
    /* Colors */
    --color-logo: #252525;
    --color-primary: #282828;
    --color-medium: #465a68;
    --color-gray: #717171;
    --color-placeholder: #777777;
    --color-muted2: #857ba1;

    --color-purple: #b2a4d6;
    --color-blue: #8cb3d9;
    --color-link: #356fa7;
    --color-badge-red: #e8003a;
    --color-price-red: #ff0040;
    --color-rating-orange: #f8a67f;

    --color-white: #ffffff;
    --color-light: #f9fafd;
    --color-lighter: #f9f9f9;
    --color-bg-gray: #ebebf0;
    --color-purple-light: #c3c7e6;

    /* Gradients */
    --gradient-main-dark: linear-gradient(90deg, #376189 -0.7%, #7a67a9 100%);
    --gradient-main: linear-gradient(90deg, #8bb3d9 -0.7%, #b2a4d6 100%);
    --gradient-main-light: linear-gradient(90deg, #f3f7fb -0.7%, #f7f6fb 100%);
    --gradient-main-light-50: linear-gradient(90deg, rgba(243, 247, 251, 0.5) -0.7%, rgba(247, 246, 251, 0.5) 100%);
    --gradient-main-reverse: linear-gradient(270deg, #8bb3d9 -0.7%, #b2a4d6 100%);
    --gradient-light-reverse: linear-gradient(270deg, #f3f7fb -0.7%, #f7f6fb 100%);
    --gradient-dark-reverse: linear-gradient(270deg, #376189 -0.7%, #7a67a9 100%);
    --gradient-sub: linear-gradient(90deg, #e8a4c6 0.695%, #f7b36b 100%);
    /* サブグラデーション（ピンク/オレンジ） */

    /* Max Widths */
    --max-w-content: 1280px;
    --max-w-wide: 1200px;
    --max-w-normal: 1024px;
    --max-w-narrow: 800px;
    --max-w-tight: 600px;
  }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Header Components
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.koushin {
    display: none !important;
}

/* Header Base */

.mdn-header {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

/* ────────────────────────────────────
       Top Bar
       ──────────────────────────────────── */

.mdn-header__topbar {
    padding-left: 1rem;
    padding-right: 1rem;
}

.mdn-header__topbar {
    background: var(--gradient-main);
  }

.mdn-header__topbar-container {
    margin-left: auto;
    margin-right: auto;
}

.mdn-header__topbar-container {
    display: flex;
}

.mdn-header__topbar-container {
    height: 36px;
}

.mdn-header__topbar-container {
    width: 100%;
}

.mdn-header__topbar-container {
    align-items: center;
}

@media (min-width: 1280px) {

.mdn-header__topbar-container {
          max-width: var(--max-w-content)
      }
        }

.mdn-header__topbar-wrapper {
    display: flex;
}

.mdn-header__topbar-wrapper {
    height: 100%;
}

.mdn-header__topbar-wrapper {
    width: 100%;
}

.mdn-header__topbar-wrapper {
    align-items: center;
}

.mdn-header__topbar-wrapper {
    justify-content: space-between;
}

.mdn-header__topbar-wrapper {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.mdn-header__topbar-left {
    font-size: 14px;
}

.mdn-header__topbar-left {
    font-weight: 400;
}

.mdn-header__topbar-left {
    line-height: 1;
}

.mdn-header__topbar-left {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.mdn-header__topbar-right {
    text-align: right;
}

.mdn-header__topbar-right {
    font-size: 14px;
}

.mdn-header__topbar-right {
    font-weight: 400;
}

.mdn-header__topbar-right {
    line-height: 1;
}

.mdn-header__topbar-right {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.mdn-header__topbar-link {
    --tw-text-opacity: 1 !important;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.mdn-header__topbar-link:hover {
    opacity: 0.8;
}

.mdn-header__topbar-separator {
        /* 全角「｜」を使用するため左右マージンなし */
        pointer-events: none;
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
      }

/* ────────────────────────────────────
       Main Header
       ──────────────────────────────────── */

.mdn-header__main {
    padding-left: 1rem;
    padding-right: 1rem;
}

.mdn-header__main-container {
    margin-left: auto;
    margin-right: auto;
}

.mdn-header__main-container {
    height: 97px;
}

.mdn-header__main-container {
    width: 100%;
}

.mdn-header__main-container {
    padding-top: 0.75rem;
}

@media (min-width: 1280px) {

.mdn-header__main-container {
          max-width: var(--max-w-content)
      }
        }

.mdn-header__main-wrapper {
    display: flex;
}

.mdn-header__main-wrapper {
    height: 100%;
}

.mdn-header__main-wrapper {
    align-items: center;
}

.mdn-header__main-wrapper {
    justify-content: space-between;
}

.mdn-header__main-wrapper {
    gap: 1rem;
}

/* ────────────────────────────────────
       Logo
       ──────────────────────────────────── */

.mdn-header__logo-area {
    flex-shrink: 0;
}

.mdn-header__logo-title {
    margin-bottom: 0.25rem;
}

.mdn-header__logo-link {
    font-family: "Alumni Sans", sans-serif !important;
}

.mdn-header__logo-link {
    font-size: 48px;
}

.mdn-header__logo-link {
    font-weight: 600;
}

.mdn-header__logo-link {
    line-height: 1.2;
}

.mdn-header__logo-link {
    --tw-text-opacity: 1;
    color: rgb(37 37 37 / var(--tw-text-opacity, 1));
}

.mdn-header__logo-link {
      letter-spacing: 0.2em;
      line-height: 80%;
    }

.mdn-header__logo-tagline {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-header__logo-tagline {
    font-size: 10px;
}

.mdn-header__logo-tagline {
    line-height: 1;
}

.mdn-header__logo-tagline {
    --tw-text-opacity: 1;
    color: rgb(37 37 37 / var(--tw-text-opacity, 1));
}

.mdn-header__logo-tagline {
      letter-spacing: 0.08em;
    }

/* ────────────────────────────────────
       Feature Boxes and Actions Wrapper
       ──────────────────────────────────── */

.mdn-header__features-actions {
    display: flex;
}

.mdn-header__features-actions {
    align-items: center;
}

.mdn-header__features-actions {
    justify-content: center;
}

.mdn-header__features-actions {
    gap: 1.25rem;
}

/* ログイン時: 特徴ボックスを常にデスクトップサイズで表示 */

.mdn-header__features-actions--logged-in .mdn-header__features {
          gap: 10px;
        }

.mdn-header__features-actions--logged-in .mdn-header__feature-box {
          padding: 6px 16px 12px;
          height: 55px;
        }

.mdn-header__features-actions--logged-in .mdn-header__feature-price {
          font-size: 18px;
          letter-spacing: 0.1em;
        }

.mdn-header__features-actions--logged-in .mdn-header__feature-price-suffix {
            font-size: 12px;
            letter-spacing: 0.1em;
          }

.mdn-header__features-actions--logged-in .mdn-header__feature-text {
          font-size: 14px;
          letter-spacing: 0.1em;
        }

.mdn-header__features-actions--logged-in .mdn-header__feature-text--bold {
            font-size: 18px;
            letter-spacing: 0.1em;
          }

/* ────────────────────────────────────
       Feature Boxes
       ──────────────────────────────────── */

.mdn-header__features {
    display: flex;
}

.mdn-header__features {
    align-items: flex-end;
}

.mdn-header__features {
    justify-content: center;
}

.mdn-header__features {
      gap: 6px;
    }

@media (min-width: 1280px) {

.mdn-header__features {
        gap: 10px
    }
      }

/* ────────────────────────────────────
       Action Buttons
       ──────────────────────────────────── */

.mdn-header__actions {
    display: flex;
}

.mdn-header__actions {
    align-items: flex-end;
}

.mdn-header__actions {
    padding-right: 7px;
}

.mdn-header__actions {
      gap: 12px;
    }

@media (min-width: 1280px) {

.mdn-header__actions {
        gap: 20px
    }
      }

.mdn-header__feature-box {
    display: flex;
}

.mdn-header__feature-box {
    flex-direction: column;
}

.mdn-header__feature-box {
    align-items: center;
}

.mdn-header__feature-box {
    justify-content: space-between;
}

.mdn-header__feature-box {
    white-space: nowrap;
}

.mdn-header__feature-box {
    border-radius: 8px;
}

.mdn-header__feature-box {
    background: var(--gradient-main-light);
  }

.mdn-header__feature-box {
      padding: 6px 10px;
      height: 50px;
    }

@media (min-width: 1280px) {

.mdn-header__feature-box {
        padding: 6px 16px 12px;
        height: 55px
    }
      }

.mdn-header__feature-box--small {
    display: flex;
}

.mdn-header__feature-box--small {
    flex-direction: column;
}

.mdn-header__feature-box--small {
    align-items: center;
}

.mdn-header__feature-box--small {
    white-space: nowrap;
}

.mdn-header__feature-box--small {
    border-radius: 8px;
}

.mdn-header__feature-box--small {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.mdn-header__feature-box--small {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.mdn-header__feature-box--small {
    background: var(--gradient-main-light);
  }

.mdn-header__feature-wrapper {
    position: relative;
}

.mdn-header__feature-wrapper {
    display: flex;
}

.mdn-header__feature-wrapper {
    flex-direction: column;
}

.mdn-header__feature-wrapper {
    align-items: center;
}

.mdn-header__feature-price-wrapper {
    display: flex;
}

.mdn-header__feature-price-wrapper {
    align-items: baseline;
}

.mdn-header__feature-price-wrapper {
    gap: 0.25rem;
}

.mdn-header__feature-price {
    font-weight: 700;
}

.mdn-header__feature-price {
    line-height: 1;
}

.mdn-header__feature-price {
    background: var(--gradient-main-dark);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-header__feature-price {
      font-size: 14px;
      letter-spacing: 0.08em;
    }

@media (min-width: 1280px) {

.mdn-header__feature-price {
        font-size: 18px;
        letter-spacing: 0.1em
    }
      }

.mdn-header__feature-price-suffix {
    font-weight: 400;
}

.mdn-header__feature-price-suffix {
    line-height: 1.2;
}

.mdn-header__feature-price-suffix {
        font-size: 10px;
        letter-spacing: 0.08em;
      }

@media (min-width: 1280px) {

.mdn-header__feature-price-suffix {
          font-size: 12px;
          letter-spacing: 0.1em
      }
        }

.mdn-header__feature-text {
    font-weight: 400;
}

.mdn-header__feature-text {
    line-height: 1;
}

.mdn-header__feature-text {
      font-size: 11px;
      letter-spacing: 0.08em;
    }

@media (min-width: 1280px) {

.mdn-header__feature-text {
        font-size: 14px;
        letter-spacing: 0.1em
    }
      }

.mdn-header__feature-text--bold {
    margin-top: 0.25rem;
}

.mdn-header__feature-text--bold {
    font-weight: 700;
}

.mdn-header__feature-text--bold {
    line-height: 1;
}

.mdn-header__feature-text--bold {
    background: var(--gradient-main-dark);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-header__feature-text--bold {
        font-size: 14px;
        letter-spacing: 0.08em;
      }

@media (min-width: 1280px) {

.mdn-header__feature-text--bold {
          font-size: 18px;
          letter-spacing: 0.1em
      }
        }

.mdn-header__feature-badge {
    position: absolute;
}

.mdn-header__feature-badge {
    bottom: 36px;
}

.mdn-header__feature-badge {
    margin-bottom: 0.375rem;
}

.mdn-header__feature-badge {
    white-space: nowrap;
}

.mdn-header__feature-badge {
    text-align: center;
}

.mdn-header__feature-badge {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.mdn-header__feature-badge {
    font-weight: 700;
}

.mdn-header__feature-badge {
    line-height: 1;
}

.mdn-header__feature-badge {
    --tw-text-opacity: 1;
    color: rgb(232 0 58 / var(--tw-text-opacity, 1));
}

.mdn-header__feature-badge {
      letter-spacing: 0.1em;
    }

/* ────────────────────────────────────
       Buttons
       ──────────────────────────────────── */

.mdn-header__btn {
    display: flex;
}

.mdn-header__btn {
    height: 33px;
}

.mdn-header__btn {
    align-items: center;
}

.mdn-header__btn {
    gap: 14px;
}

.mdn-header__btn {
    border-radius: 30px;
}

.mdn-header__btn {
    padding-left: 0.5rem;
}

.mdn-header__btn {
    padding-right: 1rem;
}

.mdn-header__btn {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
      var(--gradient-main) border-box;
  }

.mdn-header__btn {
      transition: all 0.3s ease;
    }

.mdn-header__btn svg path {
        transition: fill 0.3s ease;
      }

.mdn-header__btn:hover {
        background: var(--gradient-main);
      }

.mdn-header__btn:hover .mdn-header__btn-text {
          background: none;
          -webkit-text-fill-color: white;
          color: white;
        }

.mdn-header__btn:hover svg path {
          fill: white;
        }

.mdn-header__btn--register {
    gap: 0.375rem;
}

.mdn-header__btn--register {
    padding-right: 1.5rem;
}

.mdn-header__btn--mypage {
    padding-left: 2rem;
    padding-right: 2rem;
}

.mdn-header__btn-text {
    white-space: nowrap;
}

.mdn-header__btn-text {
    font-size: 14px;
}

.mdn-header__btn-text {
    font-weight: 500;
}

.mdn-header__btn-text {
    background: var(--gradient-main-dark);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-header__btn-text {
        transition: all 0.3s ease, -webkit-text-fill-color 0.3s ease;
      }

/* ────────────────────────────────────
       Cart
       ──────────────────────────────────── */

.mdn-header__cart {
    position: relative;
}

.mdn-header__cart {
    top: -0.625rem;
}

.mdn-header__cart {
    height: 33px;
}

.mdn-header__cart svg path {
        fill: url(#paint0_linear_gradient_main_dark);
      }

.mdn-header__cart-badge {
    position: absolute;
}

.mdn-header__cart-badge {
    top: 0px;
}

.mdn-header__cart-badge {
    right: 0px;
}

.mdn-header__cart-badge {
    display: flex;
}

.mdn-header__cart-badge {
    height: 15.5px;
}

.mdn-header__cart-badge {
    width: 15.5px;
}

.mdn-header__cart-badge {
    align-items: center;
}

.mdn-header__cart-badge {
    justify-content: center;
}

.mdn-header__cart-badge {
    border-radius: 9999px;
}

.mdn-header__cart-badge {
    --tw-bg-opacity: 1;
    background-color: rgb(232 0 58 / var(--tw-bg-opacity, 1));
}

.mdn-header__cart-badge {
    text-align: center;
}

.mdn-header__cart-badge {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.mdn-header__cart-badge {
    font-size: 0.75rem;
    line-height: 1rem;
}

.mdn-header__cart-badge {
    font-weight: 700;
}

.mdn-header__cart-badge {
    line-height: 1;
}

.mdn-header__cart-badge {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ────────────────────────────────────
       Search Bar
       ──────────────────────────────────── */

.mdn-header__search-section {
    background: var(--gradient-main-light-50);
  }

.mdn-header__search-section {
      padding: 11px 0;
    }

.mdn-header__search-container {
    margin-left: auto;
    margin-right: auto;
}

.mdn-header__search-container {
    width: 100%;
}

.mdn-header__search-container {
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 640px) {

.mdn-header__search-container {
        max-width: 640px
    }
      }

@media (min-width: 768px) {

.mdn-header__search-container {
        max-width: 768px
    }
      }

@media (min-width: 1024px) {

.mdn-header__search-container {
        max-width: 1024px
    }
      }

@media (min-width: 1280px) {

.mdn-header__search-container {
        max-width: var(--max-w-content)
    }
      }

.mdn-header__search-wrapper {
    width: 100%;
}

.mdn-header__search-relative {
    position: relative;
}

.mdn-header__search-relative {
    margin-left: auto;
    margin-right: auto;
}

.mdn-header__search-relative {
    height: 39px;
}

.mdn-header__search-relative {
    border-radius: 9999px;
}

.mdn-header__search-relative {
      width: calc(100vw - 32px);
      max-width: 485px;
    }

@media (min-width: 1024px) {

.mdn-header__search-relative {
        width: 485px
    }
      }

.mdn-header__search-relative form {
    position: relative;
}

.mdn-header__search-relative form {
    height: 100%;
}

.mdn-header__search-relative form {
    width: 100%;
}

.mdn-header__search-relative form {
        display: block !important;
      }

.mdn-header__search-input {
    position: absolute;
}

.mdn-header__search-input {
    left: 0px;
}

.mdn-header__search-input {
    top: 0px;
}

.mdn-header__search-input {
    height: 100%;
}

.mdn-header__search-input {
    width: 100%;
}

.mdn-header__search-input {
    border-radius: 30px;
}

.mdn-header__search-input {
    border-width: 0px;
}

.mdn-header__search-input {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.mdn-header__search-input {
    padding-left: 1rem;
}

.mdn-header__search-input {
    padding-right: 3rem;
}

.mdn-header__search-input {
    padding-bottom: 1px;
}

.mdn-header__search-input {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-header__search-input {
    font-weight: 400;
}

.mdn-header__search-input {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
      var(--gradient-main) border-box;
  }

.mdn-header__search-input {
    display: flex;
}

.mdn-header__search-input {
    align-items: center;
}

.mdn-header__search-input {
      font-size: 14px;
      letter-spacing: 0.1em;
      color: var(--color-primary);
      line-height: 1;
      caret-color: #9eacd7;
    }

.mdn-header__search-input::-moz-placeholder {
        color: var(--color-placeholder);
      }

.mdn-header__search-input::placeholder {
        color: var(--color-placeholder);
      }

.mdn-header__search-input:focus {
        outline: none;
        background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #e8a3c6, #f7b26d);
        background-origin: border-box;
        background-clip: padding-box, border-box;
        box-shadow: 0 0 0 2px rgba(244, 155, 178, 0.5);
      }

/* 検索入力フォーカス時に検索ボタンの色を変更 */

.mdn-header__search-input:focus + .mdn-header__search-button svg path {
        fill: #f7b26d;
      }

.mdn-header__search-button {
    position: absolute;
}

.mdn-header__search-button {
    right: 1rem;
}

.mdn-header__search-button {
    display: flex;
}

.mdn-header__search-button {
    height: 1.25rem;
}

.mdn-header__search-button {
    width: 1.25rem;
}

.mdn-header__search-button {
    align-items: center;
}

.mdn-header__search-button {
    justify-content: center;
}

.mdn-header__search-button {
      top: 50%;
      transform: translateY(-50%);
    }

.mdn-header__search-button svg {
    height: 100%;
}

.mdn-header__search-button svg {
    width: 100%;
}

.mdn-header__search-button svg path {
          transition: fill 0.3s ease;
        }

/* ────────────────────────────────────
       Mobile Hamburger Menu (SP)
       ──────────────────────────────────── */

.mdn-header__hamburger-sp {
    display: flex;
}

.mdn-header__hamburger-sp {
    cursor: pointer;
}

.mdn-header__hamburger-sp {
    align-items: center;
}

.mdn-header__hamburger-sp {
    justify-content: center;
}

.mdn-header__hamburger-sp {
    border-radius: 9999px;
}

.mdn-header__hamburger-sp {
    box-sizing: border-box;
}

.mdn-header__hamburger-sp {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.mdn-header__hamburger-sp {
    text-align: center;
}

.mdn-header__hamburger-sp {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.mdn-header__hamburger-sp {
    position: fixed;
}

@media (min-width: 1024px) {

    .mdn-header__hamburger-sp {
        display: none;
    }
}

.mdn-header__hamburger-sp {
      padding: 10px;
      width: 41px;
      height: 40px;
      top: 10px;
      left: 10px;
      z-index: 1000;
    }

.mdn-header__hamburger-sp.is-active {
    display: none;
}

/* ────────────────────────────────────
       Mobile Actions (Icons)
       ──────────────────────────────────── */

.mdn-header__mobile-actions {
    display: none;
}

.mdn-header__mobile-actions {
    align-items: center;
}

.mdn-header__mobile-actions {
    gap: 1rem;
}

.mdn-header__mobile-icon {
    position: relative;
}

.mdn-header__mobile-icon {
    display: flex;
}

.mdn-header__mobile-icon {
    height: 44px;
}

.mdn-header__mobile-icon {
    width: 44px;
}

.mdn-header__mobile-icon {
    align-items: center;
}

.mdn-header__mobile-icon {
    justify-content: center;
}

.mdn-header__mobile-badge {
    position: absolute;
}

.mdn-header__mobile-badge {
    top: -0.25rem;
}

.mdn-header__mobile-badge {
    right: -0.25rem;
}

.mdn-header__mobile-badge {
    display: flex;
}

.mdn-header__mobile-badge {
    height: 1.25rem;
}

.mdn-header__mobile-badge {
    width: 1.25rem;
}

.mdn-header__mobile-badge {
    align-items: center;
}

.mdn-header__mobile-badge {
    justify-content: center;
}

.mdn-header__mobile-badge {
    border-radius: 9999px;
}

.mdn-header__mobile-badge {
    --tw-bg-opacity: 1;
    background-color: rgb(232 0 58 / var(--tw-bg-opacity, 1));
}

.mdn-header__mobile-badge {
    text-align: center;
}

.mdn-header__mobile-badge {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.mdn-header__mobile-badge {
    font-size: 0.75rem;
    line-height: 1rem;
}

.mdn-header__mobile-badge {
    font-weight: 700;
}

.mdn-header__mobile-badge {
    line-height: 1;
}

.mdn-header__mobile-badge {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ────────────────────────────────────
       Responsive Adjustments
       ──────────────────────────────────── */

@media (max-width: 1023px) {
      .mdn-header__topbar {
        display: none;
      }

      .mdn-header__main-container {
        height: 64px;
        padding-top: 0;
      }

      .mdn-header__main-wrapper {
        justify-content: center;
        position: relative;
      }

      .mdn-header__logo-area {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
      }

      .mdn-header__logo-link {
        font-size: 32px;
      }

      .mdn-header__logo-tagline {
        font-size: 8px;
      }

      .mdn-header__features-actions {
        display: none;
      }

      .mdn-header__mobile-actions {
        display: flex;
        margin-left: auto;
      }
    }

/* ────────────────────────────────────
     Campaign Banner
     ──────────────────────────────────── */

.mdn-header__campaign-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 32px;
    background: linear-gradient(90deg, rgba(232, 164, 198, 0.2) 0.695%, rgba(247, 179, 107, 0.2) 100%);
    color: #E8003A;
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
  }

.mdn-header__campaign-banner:hover {
      color: #E8003A;
      text-decoration: none;
    }

.mdn-header__campaign-br {
    display: none;
  }

/* Campaign Banner (SP) */

@media (max-width: 1023px) {
    .mdn-header__campaign-banner {
      height: -moz-fit-content;
      height: fit-content;
      font-size: 13px;
      padding: 5px 16px;
      line-height: 1.6;
      text-align: center;
    }

    .mdn-header__campaign-br {
      display: block;
    }
  }

.mdn-drawer {
    visibility: hidden;
    position: fixed;
    inset: 0px;
    z-index: 10000;
    opacity: 0;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(12px);
}

.mdn-drawer.is-active {
    visibility: visible;
}

.mdn-drawer.is-active {
    opacity: 1;
}

.mdn-drawer.is-active .mdn-drawer__content {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.mdn-drawer.is-active .mdn-drawer__content {
    opacity: 1;
}

.mdn-drawer__content {
    display: flex;
}

.mdn-drawer__content {
    height: 100%;
}

.mdn-drawer__content {
    width: 100%;
}

.mdn-drawer__content {
    --tw-translate-y: 2rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.mdn-drawer__content {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.mdn-drawer__content {
    flex-direction: column;
}

.mdn-drawer__content {
    align-items: center;
}

.mdn-drawer__content {
    justify-content: flex-start;
}

.mdn-drawer__content {
    overflow-y: auto;
}

.mdn-drawer__content {
    padding: 1.5rem;
}

.mdn-drawer__content {
    padding-top: 80px;
}

.mdn-drawer__content {
    opacity: 0;
}

.mdn-drawer__content {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.mdn-drawer__content {
    transition-duration: 500ms;
}

/* ────────────────────────────────────
           閉じるボタン（グラデーション線のX）
           ──────────────────────────────────── */

.mdn-drawer__close {
    position: absolute;
}

.mdn-drawer__close {
    top: 1.25rem;
}

.mdn-drawer__close {
    right: 1.25rem;
}

.mdn-drawer__close {
    display: flex;
}

.mdn-drawer__close {
    height: 44px;
}

.mdn-drawer__close {
    width: 44px;
}

.mdn-drawer__close {
    cursor: pointer;
}

.mdn-drawer__close {
    align-items: center;
}

.mdn-drawer__close {
    justify-content: center;
}

.mdn-drawer__close {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.mdn-drawer__close {
            z-index: 10001;
            /* 背景なし */
            background: transparent;

            /* グラデーション線でXを描画 */
        }

.mdn-drawer__close::before,
            .mdn-drawer__close::after {
                content: "";
            }

.mdn-drawer__close::before,
            .mdn-drawer__close::after {
    position: absolute;
}

.mdn-drawer__close::before,
            .mdn-drawer__close::after {
    height: 0.125rem;
}

.mdn-drawer__close::before,
            .mdn-drawer__close::after {
    width: 1.5rem;
}

.mdn-drawer__close::before,
            .mdn-drawer__close::after {
    border-radius: 9999px;
}

.mdn-drawer__close::before,
            .mdn-drawer__close::after {
                background: linear-gradient(90deg, #376189 0%, #7a67a9 100%);
            }

.mdn-drawer__close::before {
                transform: rotate(45deg);
            }

.mdn-drawer__close::after {
                transform: rotate(-45deg);
            }

.mdn-drawer__close svg {
    display: none;
}

.mdn-drawer__close:hover {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.mdn-drawer__close:hover::before,
                .mdn-drawer__close:hover::after {
                    background: linear-gradient(90deg, #7a67a9 0%, #376189 100%);
                }

/* 内包されるコンテンツのスタイル調整 */

.mdn-drawer__inner {
    margin-left: auto;
    margin-right: auto;
}

.mdn-drawer__inner {
    display: flex;
}

.mdn-drawer__inner {
    width: 100%;
}

.mdn-drawer__inner {
    max-width: 28rem;
}

.mdn-drawer__inner {
    flex-direction: column;
}

.mdn-drawer__inner {
    gap: 7px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
               検索バー
               ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-drawer__inner .ec-headerSearch {
    position: relative;
}

.mdn-drawer__inner .ec-headerSearch {
    width: 100%;
}

.mdn-drawer__inner .ec-headerSearch {

                /* カテゴリドロップダウンを確実に非表示 */
            }

.mdn-drawer__inner .ec-headerSearch form {
    display: flex;
}

.mdn-drawer__inner .ec-headerSearch form {
    align-items: center;
}

.mdn-drawer__inner .ec-headerSearch form {
    gap: 14px;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__category,
                .mdn-drawer__inner .ec-headerSearch .ec-select {
                    display: none !important;
                    visibility: hidden !important;
                    width: 0 !important;
                    height: 0 !important;
                    overflow: hidden !important;
                }

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword {
    flex: 1 1 0%;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input {
    position: relative;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input {
    height: 44px;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input {
    width: 100%;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    height: 100%;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    width: 100%;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    border-radius: 30px;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    border-width: 1px;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    border-color: rgb(113 113 113 / 0.2);
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    padding-left: 1.25rem;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    padding-right: 3.5rem;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input {
                            font-size: 14px;
                            color: var(--color-primary);
                        }

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input:focus {
    --tw-border-opacity: 1;
    border-color: rgb(178 164 214 / var(--tw-border-opacity, 1));
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input:focus {
    --tw-ring-color: rgb(178 164 214 / 0.1);
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input::-moz-placeholder {
    --tw-text-opacity: 1;
    color: rgb(119 119 119 / var(--tw-text-opacity, 1));
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-input input::placeholder {
    --tw-text-opacity: 1;
    color: rgb(119 119 119 / var(--tw-text-opacity, 1));
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    position: absolute;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    right: 0.75rem;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    top: 50%;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    display: flex;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    align-items: center;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    justify-content: center;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    border-width: 0px;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    background-color: transparent;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn {
    padding: 0px;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn .ec-icon img {
    height: 1.25rem;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn .ec-icon img {
    width: 1.25rem;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn .ec-icon img {
    opacity: 0.5;
}

.mdn-drawer__inner .ec-headerSearch .ec-headerSearch__keyword .ec-headerSearch__keywordBtn:hover .ec-icon img {
    opacity: 1;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
               クイックアクション（リスト形式）
               ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-drawer__inner .ec-headerLinkArea {
    width: 100%;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__list {
    margin: 0px;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__list {
    display: flex;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__list {
    list-style-type: none;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__list {
    flex-direction: column;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__list {
    padding: 0px;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    display: flex;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    align-items: center;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    gap: 14px;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    background-color: transparent;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    padding-top: 14px;
    padding-bottom: 14px;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    padding-left: 0px;
    padding-right: 0px;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    --tw-text-opacity: 1;
    color: rgb(40 40 40 / var(--tw-text-opacity, 1));
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    text-decoration-line: none;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item {
                    font-size: 14px;
                    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
                }

/* 左アイコン（.ec-headerLink__icon内のi） */

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item .ec-headerLink__icon {
    display: flex;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item .ec-headerLink__icon {
    flex-shrink: 0;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item .ec-headerLink__icon {
    align-items: center;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item .ec-headerLink__icon {
    justify-content: center;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item .ec-headerLink__icon {
                        width: 20px;
                    }

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item .ec-headerLink__icon i {
    --tw-text-opacity: 1;
    color: rgb(113 113 113 / var(--tw-text-opacity, 1));
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item .ec-headerLink__icon i {
                            font-size: 16px;
                        }

/* テキスト */

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item span {
    flex: 1 1 0%;
}

/* 右矢印 */

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item::after {
                        content: "";
                    }

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item::after {
    height: 0.5rem;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item::after {
    width: 0.5rem;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item::after {
    border-right-width: 1px;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item::after {
    border-bottom-width: 1px;
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item::after {
    border-color: rgb(113 113 113 / 0.4);
}

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item::after {
                        transform: rotate(-45deg);
                    }

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item:hover .ec-headerLink__icon i {
                            color: #7a67a9;
                        }

.mdn-drawer__inner .ec-headerLinkArea .ec-headerLink__item:last-child {
                        border-bottom: none;
                    }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
               セクション区切り
               ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-drawer__inner .mdn-drawer-section-divider {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

.mdn-drawer__inner .mdn-drawer-section-divider {
    width: 100%;
}

.mdn-drawer__inner .mdn-drawer-section-divider {
                height: 1px;
                background: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.08) 20%, rgba(0, 0, 0, 0.08) 80%, transparent 100%);
            }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
               旧カテゴリを非表示
               ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-drawer__inner .ec-headerCategoryArea {
                display: none !important;
            }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
               カテゴリナビ（画像付き・サイドバー踏襲）
               ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-drawer__inner .mdn-drawer-category {
    width: 100%;
}

.mdn-drawer__inner .mdn-drawer-category__title {
    margin: 0px;
}

.mdn-drawer__inner .mdn-drawer-category__title {
    margin-bottom: 14px;
}

.mdn-drawer__inner .mdn-drawer-category__title {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-drawer__inner .mdn-drawer-category__title {
    font-weight: 700;
}

.mdn-drawer__inner .mdn-drawer-category__title {
                    font-size: 16px;
                    letter-spacing: 1.6px;
                    background-clip: text;
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent;
                    background-image: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
                }

.mdn-drawer__inner .mdn-drawer-category__list {
    display: flex;
}

.mdn-drawer__inner .mdn-drawer-category__list {
    flex-direction: column;
}

.mdn-drawer__inner .mdn-drawer-category__item-group {
    display: flex;
}

.mdn-drawer__inner .mdn-drawer-category__item-group {
    flex-direction: column;
}

.mdn-drawer__inner .mdn-drawer-category__item-group {
                    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
                }

.mdn-drawer__inner .mdn-drawer-category__item-group:last-child {
                        border-bottom: none;
                    }

.mdn-drawer__inner .mdn-drawer-category__item-group.has-children .mdn-drawer-category__item {
                            cursor: pointer;
                            border-bottom: none;
                        }

/* 開いた状態 */

.mdn-drawer__inner .mdn-drawer-category__item-group.is-open .mdn-drawer-category__toggle {
                            transform: rotate(180deg);
                        }

.mdn-drawer__inner .mdn-drawer-category__item {
    display: flex;
}

.mdn-drawer__inner .mdn-drawer-category__item {
    align-items: center;
}

.mdn-drawer__inner .mdn-drawer-category__item {
    gap: 14px;
}

.mdn-drawer__inner .mdn-drawer-category__item {
    padding-top: 14px;
    padding-bottom: 14px;
}

.mdn-drawer__inner .mdn-drawer-category__item {
    padding-left: 0px;
    padding-right: 0px;
}

.mdn-drawer__inner .mdn-drawer-category__item {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-drawer__inner .mdn-drawer-category__item {
    --tw-text-opacity: 1;
    color: rgb(40 40 40 / var(--tw-text-opacity, 1));
}

.mdn-drawer__inner .mdn-drawer-category__item {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.mdn-drawer__inner .mdn-drawer-category__item {
                    font-size: 14px;
                }

.mdn-drawer__inner .mdn-drawer-category__item:hover {
    --tw-text-opacity: 1;
    color: rgb(178 164 214 / var(--tw-text-opacity, 1));
}

.mdn-drawer__inner .mdn-drawer-category__item:hover .mdn-drawer-category__arrow svg path,
                        .mdn-drawer__inner .mdn-drawer-category__item:hover .mdn-drawer-category__toggle svg path {
                            fill: #7a67a9;
                        }

.mdn-drawer__inner .mdn-drawer-category__icon {
    position: relative;
}

.mdn-drawer__inner .mdn-drawer-category__icon {
    flex-shrink: 0;
}

.mdn-drawer__inner .mdn-drawer-category__icon {
                    width: 40px;
                    height: 40px;
                }

.mdn-drawer__inner .mdn-drawer-category__icon img {
    position: absolute;
}

.mdn-drawer__inner .mdn-drawer-category__icon img {
    display: block;
}

.mdn-drawer__inner .mdn-drawer-category__icon img {
                        inset: 0;
                        max-width: none;
                        -o-object-fit: cover;
                           object-fit: cover;
                        -o-object-position: 50% 50%;
                           object-position: 50% 50%;
                        pointer-events: none;
                        width: 100%;
                        height: 100%;
                        border-radius: 4px;
                    }

.mdn-drawer__inner .mdn-drawer-category__icon--small {
                        width: 30px;
                        height: 30px;
                    }

.mdn-drawer__inner .mdn-drawer-category__text {
    margin: 0px;
}

.mdn-drawer__inner .mdn-drawer-category__text {
    flex: 1 1 0%;
}

.mdn-drawer__inner .mdn-drawer-category__text {
                    font-family: 'Noto Sans JP', sans-serif;
                    font-weight: 400;
                    font-size: 14px;
                    line-height: 1.6;
                    letter-spacing: 0.56px;
                    color: #282828;
                }

.mdn-drawer__inner .mdn-drawer-category__arrow {
    display: flex;
}

.mdn-drawer__inner .mdn-drawer-category__arrow {
    flex-shrink: 0;
}

.mdn-drawer__inner .mdn-drawer-category__arrow {
    align-items: center;
}

.mdn-drawer__inner .mdn-drawer-category__arrow {
    justify-content: center;
}

.mdn-drawer__inner .mdn-drawer-category__arrow {
                    width: 7px;
                    height: 11px;
                }

.mdn-drawer__inner .mdn-drawer-category__arrow svg {
    display: block;
}

.mdn-drawer__inner .mdn-drawer-category__arrow svg {
                        width: 100%;
                        height: 100%;
                    }

/* アコーディオントグルボタン */

.mdn-drawer__inner .mdn-drawer-category__toggle {
    margin-left: auto;
}

.mdn-drawer__inner .mdn-drawer-category__toggle {
    display: flex;
}

.mdn-drawer__inner .mdn-drawer-category__toggle {
    flex-shrink: 0;
}

.mdn-drawer__inner .mdn-drawer-category__toggle {
    align-items: center;
}

.mdn-drawer__inner .mdn-drawer-category__toggle {
    justify-content: center;
}

.mdn-drawer__inner .mdn-drawer-category__toggle {
                    width: 24px;
                    height: 24px;
                    transition: transform 0.3s ease;
                }

.mdn-drawer__inner .mdn-drawer-category__toggle svg {
    display: block;
}

.mdn-drawer__inner .mdn-drawer-category__toggle svg {
                        width: 12px;
                        height: 7px;
                    }

/* サブカテゴリリンク（子なしカテゴリ用） */

.mdn-drawer__inner .mdn-drawer-category__link {
    margin-left: auto;
}

.mdn-drawer__inner .mdn-drawer-category__link {
    display: flex;
}

.mdn-drawer__inner .mdn-drawer-category__link {
    align-items: center;
}

.mdn-drawer__inner .mdn-drawer-category__link .mdn-drawer-category__arrow {
                        width: 7px;
                        height: 11px;
                    }

/* サブメニュー（アコーディオン） */

.mdn-drawer__inner .mdn-drawer-category__submenu {
    display: flex;
}

.mdn-drawer__inner .mdn-drawer-category__submenu {
    flex-direction: column;
}

.mdn-drawer__inner .mdn-drawer-category__submenu {
    overflow: hidden;
}

.mdn-drawer__inner .mdn-drawer-category__submenu {
    padding-left: 7px;
}

.mdn-drawer__inner .mdn-drawer-category__submenu {
                    max-height: 0;
                    transition: max-height 0.3s ease;
                    background: rgba(247, 246, 251, 0.5);
                    margin: 0 -5;
                    padding-left: calc(7px + 40px + 14px);
                    padding-right: 5px;
                }

.mdn-drawer__inner .mdn-drawer-category__subitem {
    display: flex;
}

.mdn-drawer__inner .mdn-drawer-category__subitem {
    align-items: center;
}

.mdn-drawer__inner .mdn-drawer-category__subitem {
    gap: 14px;
}

.mdn-drawer__inner .mdn-drawer-category__subitem {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.mdn-drawer__inner .mdn-drawer-category__subitem {
    padding-left: 0px;
    padding-right: 0px;
}

.mdn-drawer__inner .mdn-drawer-category__subitem {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-drawer__inner .mdn-drawer-category__subitem {
    --tw-text-opacity: 1;
    color: rgb(119 119 119 / var(--tw-text-opacity, 1));
}

.mdn-drawer__inner .mdn-drawer-category__subitem {
    text-decoration-line: none;
}

.mdn-drawer__inner .mdn-drawer-category__subitem {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.mdn-drawer__inner .mdn-drawer-category__subitem {
                    font-size: 13px;
                }

.mdn-drawer__inner .mdn-drawer-category__subitem:hover {
    --tw-text-opacity: 1;
    color: rgb(178 164 214 / var(--tw-text-opacity, 1));
}

.mdn-drawer__inner .mdn-drawer-category__subitem:hover .mdn-drawer-category__arrow svg path {
                            fill: #7a67a9;
                        }

/* 親カテゴリ一覧リンク */

.mdn-drawer__inner .mdn-drawer-category__subitem--parent {
    font-weight: 500;
}

.mdn-drawer__inner .mdn-drawer-category__subitem--parent {
    --tw-text-opacity: 1;
    color: rgb(40 40 40 / var(--tw-text-opacity, 1));
}

.mdn-drawer__inner .mdn-drawer-category__subitem--parent {
                        padding-bottom: 10px;
                        margin-bottom: 6px;
                        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
                    }

.mdn-drawer__inner .mdn-drawer-category__divider {
                    display: none;
                }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Footer Component
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-footer {
    /* グラデーション背景: #f3f7fb → #f7f6fb */
    background: linear-gradient(90deg, #f3f7fb 0.695%, #f7f6fb 100%);

    /* ────────────────────────────────────
       Responsive
       ──────────────────────────────────── */
  }

/* ────────────────────────────────────
       Container
       ──────────────────────────────────── */

.mdn-footer__container {
    margin-left: auto;
    margin-right: auto;
}

.mdn-footer__container {
    display: flex;
}

.mdn-footer__container {
    width: 100%;
}

.mdn-footer__container {
    flex-direction: column;
}

.mdn-footer__container {
    align-items: center;
}

.mdn-footer__container {
      padding: 38px 0 31px;
      height: auto;
      max-width: 1280px;
    }

/* ────────────────────────────────────
       Top Section (Logo + Navigation)
       ──────────────────────────────────── */

.mdn-footer__top {
    display: flex;
}

.mdn-footer__top {
    width: 100%;
}

.mdn-footer__top {
    align-items: flex-start;
}

.mdn-footer__top {
      gap: 50px;
      padding: 0 4px;
    }

/* ────────────────────────────────────
       Left Section
       ──────────────────────────────────── */

.mdn-footer__left {
    display: flex;
}

.mdn-footer__left {
    flex-direction: column;
}

.mdn-footer__left {
    align-items: flex-start;
}

.mdn-footer__left {
      gap: 37px;
      width: auto;
    }

/* Description and Logo Container */

.mdn-footer__brand {
    display: flex;
}

.mdn-footer__brand {
    flex-direction: column;
}

.mdn-footer__brand {
    align-items: flex-start;
}

.mdn-footer__brand {
      gap: 6px;
      width: 100%;
    }

/* Description */

.mdn-footer__description {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 11px;
      font-weight: 400;
      color: #252525;
      line-height: 1.5;
      width: 208.144px;
    }

/* Logo */

.mdn-footer__logo {
      font-size: 54px;
      letter-spacing: 10.8px;
      color: #252525;
    }

.mdn-footer__logo-link {
    display: block;
}

.mdn-footer__logo-link {
        font-family: "Alumni Sans", sans-serif;
        font-weight: 600; /* SemiBold */
        text-decoration: none;
        color: inherit;
        height: 44px;
        line-height: 0.8;
      }

/* Tagline */

.mdn-footer__tagline {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 11px;
      font-weight: 400;
      letter-spacing: 0.88px;
      color: #252525;
      margin-top: 6px;
    }

/* SNS Icons */

.mdn-footer__sns {
    display: flex;
}

.mdn-footer__sns {
    align-items: center;
}

.mdn-footer__sns {
      gap: 15px;
    }

.mdn-footer__sns-link {
    display: inline-block;
}

.mdn-footer__sns-link {
        width: 30px;
        height: 30px;
        transition: all 0.3s ease;
      }

.mdn-footer__sns-link:hover {
          transform: scale(1.1);
        }

.mdn-footer__sns-link img {
    height: 100%;
}

.mdn-footer__sns-link img {
    width: 100%;
}

.mdn-footer__sns-link img {
          display: block;
        }

/* ────────────────────────────────────
       Right Section (Shopping Guide)
       ──────────────────────────────────── */

.mdn-footer__right {
    display: flex;
}

.mdn-footer__right {
    flex-direction: column;
}

.mdn-footer__right {
      flex: 1;
    }

/* Shopping Guide Header */

.mdn-footer__guide-header {
    display: flex;
}

.mdn-footer__guide-header {
    flex-direction: column;
}

.mdn-footer__guide-header {
      gap: 12px;
      width: 100%;
      max-width: 1000px;
      margin-bottom: 18px;
    }

.mdn-footer__guide-heading {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 20px;
      font-weight: 700;
      line-height: 1;
      background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent;
    }

.mdn-footer__guide-line {
      width: 100%;
      max-width: 1000px;
      height: 2px;
      background: var(--gradient-main);
    }

.mdn-footer__guide-sections {
    display: flex;
}

.mdn-footer__guide-sections {
    width: 100%;
}

.mdn-footer__guide-sections {
    align-items: flex-start;
}

.mdn-footer__guide-sections {
      gap: 12px;
    }

.mdn-footer__guide-section {
    display: flex;
}

.mdn-footer__guide-section {
    flex-direction: column;
}

.mdn-footer__guide-section {
      gap: 17px;
      padding: 10px;
      flex: 1;
      min-width: 0;
    }

/* Vertical Dividers */

.mdn-footer__divider {
      width: 1px;
      align-self: stretch;
      background: linear-gradient(180deg, rgba(55, 97, 137, 0.3) 0%, rgba(122, 103, 169, 0.3) 100%);
      flex-shrink: 0;
    }

/* Section Titles with Gradient Text */

.mdn-footer__guide-title {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 18px;
      font-weight: 700;
      line-height: 1;
      background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

.mdn-footer__guide-content {
    display: flex;
}

.mdn-footer__guide-content {
    flex-direction: column;
}

.mdn-footer__guide-content {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      color: #282828;
      line-height: 1.75;
      gap: 17px;
    }

/* Payment Section */

.mdn-footer__payment-method {
      font-size: 16px;
      font-weight: 700;
      line-height: 2.4;
    }

.mdn-footer__guide-link {
      color: #376189;
      text-decoration: underline;
    }

.mdn-footer__guide-link:hover {
        color: #7a67a9;
      }

/* Shipping Section */

.mdn-footer__shipping-item {
    display: flex;
}

.mdn-footer__shipping-item {
    flex-direction: column;
}

.mdn-footer__shipping-item {
      gap: 2px;
    }

.mdn-footer__shipping-heading {
      font-size: 16px;
      font-weight: 700;
      line-height: 2.4;
    }

.mdn-footer__highlight {
      color: #ff0040;
      font-weight: 700;
    }

/* Contact Section */

.mdn-footer__contact-list {
      list-style: disc;
      padding-left: 1.5em;
      margin: 0;
    }

.mdn-footer__contact-link {
      color: #282828;
      text-decoration: underline;
      line-height: 2;
    }

.mdn-footer__contact-link:hover {
        color: #376189;
      }

/* ────────────────────────────────────
       Bottom Section (Copyright)
       ──────────────────────────────────── */

.mdn-footer__bottom {
    display: flex;
}

.mdn-footer__bottom {
    align-items: center;
}

.mdn-footer__bottom {
    justify-content: center;
}

.mdn-footer__bottom {
      width: 100vw;
      position: relative;
      left: 50%;
      right: 50%;
      margin-left: -50vw;
      margin-right: -50vw;
      background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
      height: 36px;
      padding: 7px 0;
    }

.mdn-footer__copyright {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 1.4px;
      color: #ffffff;
      line-height: 1.5;
    }

/* Tablet (768px - 1023px) */

@media (max-width: 1023px) {
      .mdn-footer__container {
        padding: 60px 0 31px;
      }

      .mdn-footer__top {
        flex-direction: column;
    }

      .mdn-footer__top {
        gap: 40px;
        padding: 0 32px;
      }

      .mdn-footer__left {
        width: auto;
      }

      .mdn-footer__right {
        width: 100%;
    }

      .mdn-footer__guide-header {
        width: 100%;
      }

      .mdn-footer__guide-heading {
        font-size: 18px;
      }

      .mdn-footer__guide-line {
        width: 100%;
      }

      .mdn-footer__guide-sections {
        gap: 12px;
      }

      .mdn-footer__guide-section {
        flex: 1;
      }
    }

/* Mobile (<768px) */

@media (max-width: 767px) {
      .mdn-footer__container {
        padding: 40px 0 31px;
      }

      .mdn-footer__top {
        flex-direction: column;
    }

      .mdn-footer__top {
        align-items: center;
    }

      .mdn-footer__top {
        gap: 30px;
        padding: 0 20px;
      }

      .mdn-footer__left {
        width: auto;
        align-items: center;
        text-align: center;
      }

      .mdn-footer__brand {
        align-items: center;
      }

      .mdn-footer__description {
        font-size: 10px;
        text-align: center;
      }

      .mdn-footer__logo {
        font-size: 48px;
        letter-spacing: 9.6px;
      }

      .mdn-footer__tagline {
        font-size: 10px;
        letter-spacing: 0.8px;
      }

      .mdn-footer__sns {
        justify-content: center;
        gap: 12px;
      }

      .mdn-footer__right {
        width: 100%;
    }

      .mdn-footer__guide-header {
        width: 100%;
      }

      .mdn-footer__guide-heading {
        font-size: 16px;
      }

      .mdn-footer__guide-line {
        width: 100%;
      }

      .mdn-footer__guide-sections {
        width: 100%;
    }

      .mdn-footer__guide-sections {
        flex-direction: column;
    }

      .mdn-footer__guide-sections {
        gap: 24px;
        padding: 0 20px;
      }

      .mdn-footer__divider {
        display: none;
      }

      .mdn-footer__guide-section {
        flex: none;
        width: 100%;
        padding: 0;
      }

      .mdn-footer__guide-title {
        font-size: 16px;
      }

      .mdn-footer__guide-content {
        font-size: 13px;
      }

      .mdn-footer__copyright {
        font-size: 12px;
        letter-spacing: 1.2px;
      }
    }

.mdn-slideshow-banner {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.75rem;
    max-width: 1280px;
}

.mdn-slideshow-banner a {
    display: block;
}

.mdn-slideshow-banner img {
    display: block;
}

.mdn-slideshow-banner img {
    width: 100%;
}

.mdn-slideshow-banner img {
      height: auto;
    }

/* ────────────────────────────────────
       Slide Item
       ──────────────────────────────────── */

.mdn-slideshow-banner__slide a {
    display: block;
}

.mdn-slideshow-banner__slide a {
    text-decoration-line: none;
}

.mdn-slideshow-banner__slide img {
    display: block;
}

.mdn-slideshow-banner__slide img {
    width: 100%;
}

.mdn-slideshow-banner__slide img {
        height: auto;
        -o-object-fit: cover;
           object-fit: cover;
      }

.mdn-slideshow-banner .slick-dotted.slick-slider {
      margin-bottom: 12px !important;
    }

/* ────────────────────────────────────
       Slick Navigation Arrows
       ──────────────────────────────────── */

.mdn-slideshow-banner .slick-prev,
    .mdn-slideshow-banner .slick-next {
    position: absolute;
}

.mdn-slideshow-banner .slick-prev,
    .mdn-slideshow-banner .slick-next {
    display: flex;
}

.mdn-slideshow-banner .slick-prev,
    .mdn-slideshow-banner .slick-next {
    cursor: pointer;
}

.mdn-slideshow-banner .slick-prev,
    .mdn-slideshow-banner .slick-next {
    align-items: center;
}

.mdn-slideshow-banner .slick-prev,
    .mdn-slideshow-banner .slick-next {
    justify-content: center;
}

.mdn-slideshow-banner .slick-prev,
    .mdn-slideshow-banner .slick-next {
      top: 50%;
      transform: translateY(-50%);
      z-index: 10;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: white;
      border: none;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
      opacity: 0.5;
      transition: opacity 0.3s ease;
    }

.mdn-slideshow-banner .slick-prev:hover, .mdn-slideshow-banner .slick-next:hover {
        opacity: 1;
      }

.mdn-slideshow-banner .slick-prev:before, .mdn-slideshow-banner .slick-next:before {
        content: '';
        display: none;
      }

.mdn-slideshow-banner .slick-prev {
      left: 20px;
    }

.mdn-slideshow-banner .slick-next {
      right: 20px;
    }

/* ────────────────────────────────────
       Slick Dots
       ──────────────────────────────────── */

.mdn-slideshow-banner .slick-dots {
      display: none !important;
    }

.mdn-slideshow-banner .slick-dots li button:before {
        color: #8bb3d9;
        font-size: 12px !important;
        opacity: 0.5;
      }

.mdn-slideshow-banner .slick-dots li.slick-active button:before {
        color: #5B8ECB;
        font-size: 12px !important;
        opacity: 1;
      }

.mdn-info-links {
    position: relative;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  }

.mdn-info-links__container {
    display: flex;
}

.mdn-info-links__container {
    align-items: flex-start;
}

.mdn-info-links__container {
      gap: 19px;
      padding-left: 1rem;
      padding-right: 1rem;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

.mdn-info-links__container::-webkit-scrollbar {
        display: none;
      }

.mdn-info-links__container {

      scrollbar-width: none;
}

@media (min-width: 1024px) {
      .mdn-info-links__container {
        justify-content: center;
        max-width: 1280px;
        margin-left: auto;
        margin-right: auto;
        overflow-x: visible;
      }
    }

.mdn-info-links__box {
    display: flex;
}

.mdn-info-links__box {
    flex-shrink: 0;
}

.mdn-info-links__box {
    flex-direction: column;
}

.mdn-info-links__box {
    text-decoration-line: none;
}

.mdn-info-links__box {
      gap: 8px;
    }

.mdn-info-links__box--wide {
        width: auto;
      }

@media (max-width: 1023px) {

.mdn-info-links__box--wide {
          flex-shrink: 1;
          width: 100%
      }
        }

.mdn-info-links__box--narrow {
        width: 122px;
      }

.mdn-info-links__box:hover .mdn-info-links__text {
          opacity: 0.7;
        }

.mdn-info-links__box:hover .mdn-info-links__underline {
          background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
        }

.mdn-info-links__text {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-size: 14px;
      line-height: normal;
      letter-spacing: 1.12px;
      color: #282828;
      text-align: center;
      white-space: nowrap;
      transition: opacity 0.3s ease;
    }

@media (max-width: 1023px) {

.mdn-info-links__text {
        white-space: normal
    }
      }

.mdn-info-links__underline {
    position: relative;
}

.mdn-info-links__underline {
    width: 100%;
}

.mdn-info-links__underline {
    flex-shrink: 0;
}

.mdn-info-links__underline {
      height: 3px;
      background: #dddddd;
      border-radius: 1.5px;
      transition: background 0.3s ease;
    }

.mdn-category-navigation {
    position: relative;
    display: flex;
    align-items: center;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    margin-top: 20px;
    margin-bottom: 18px;
    padding: 0 8px;
}

.mdn-category-navigation__scroll-btn {
    position: absolute;
}

.mdn-category-navigation__scroll-btn {
    display: flex;
}

.mdn-category-navigation__scroll-btn {
    align-items: center;
}

.mdn-category-navigation__scroll-btn {
    justify-content: center;
}

.mdn-category-navigation__scroll-btn {
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      border: none;
      background: white;
      border-radius: 50%;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
      opacity: 0.5;
      cursor: pointer;
      transition: opacity 0.3s ease;
      z-index: 10;
    }

.mdn-category-navigation__scroll-btn:hover {
        opacity: 1;
      }

.mdn-category-navigation__scroll-btn--left {
        left: 16px;
      }

.mdn-category-navigation__scroll-btn--right {
        right: 16px;
      }

.mdn-category-navigation__scroll-btn svg {
        width: 12px;
        height: 20px;
      }

@media (min-width: 1024px) {
      .mdn-category-navigation__scroll-btn {
        display: none;
      }
    }

.mdn-category-navigation__container {
    display: flex;
}

.mdn-category-navigation__container {
    flex: 1 1 0%;
}

.mdn-category-navigation__container {
    align-items: center;
}

.mdn-category-navigation__container {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      padding: 0 24px;
    }

.mdn-category-navigation__container::-webkit-scrollbar {
        display: none;
      }

.mdn-category-navigation__container {

      scrollbar-width: none;
}

@media (min-width: 1024px) {
      .mdn-category-navigation__container {
        display: flex;
        justify-content: center;
        align-items: center;
        overflow-x: visible;
        padding: 0;
      }
    }

.mdn-category-navigation__item {
    position: relative;
}

.mdn-category-navigation__item {
    display: flex;
}

.mdn-category-navigation__item {
    flex-shrink: 0;
}

.mdn-category-navigation__item {
    flex-direction: column;
}

.mdn-category-navigation__item {
    align-items: center;
}

.mdn-category-navigation__item {
    justify-content: center;
}

.mdn-category-navigation__item {
    text-decoration-line: none;
}

.mdn-category-navigation__item {
      width: 110px;
      height: auto;
      gap: 5px;
      transition: all 0.3s ease;
    }

.mdn-category-navigation__item:not(:last-child)::after {
        content: '';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 107px;
        background-color: #DDDDDD;
      }

.mdn-category-navigation__item:hover .mdn-category-navigation__icon img {
          opacity: 0.5;
        }

.mdn-category-navigation__item:hover .mdn-category-navigation__arrow {
          transform: scaleX(0.5) translateY(-12px);
        }

.mdn-category-navigation__icon {
    position: relative;
}

.mdn-category-navigation__icon {
    flex-shrink: 0;
}

.mdn-category-navigation__icon {
      width: 50px;
      height: 50px;
    }

.mdn-category-navigation__icon img {
    pointer-events: none;
}

.mdn-category-navigation__icon img {
    position: absolute;
}

.mdn-category-navigation__icon img {
    inset: 0px;
}

.mdn-category-navigation__icon img {
    -o-object-fit: cover;
       object-fit: cover;
}

.mdn-category-navigation__icon img {
        width: 50px;
        height: 50px;
        transition: opacity 0.3s ease;
      }

.mdn-category-navigation__label {
    display: flex;
}

.mdn-category-navigation__label {
    width: 100%;
}

.mdn-category-navigation__label {
    flex-shrink: 0;
}

.mdn-category-navigation__label {
    flex-direction: column;
}

.mdn-category-navigation__label {
    align-items: center;
}

.mdn-category-navigation__label {
    text-align: center;
}

.mdn-category-navigation__label {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      padding: 0 3.985px 4px;
      height: 38px;
    }

.mdn-category-navigation__label p {
    position: relative;
}

.mdn-category-navigation__label p {
    width: 100%;
}

.mdn-category-navigation__label p {
    flex-shrink: 0;
}

.mdn-category-navigation__label p {
    --tw-text-opacity: 1;
    color: rgb(40 40 40 / var(--tw-text-opacity, 1));
}

.mdn-category-navigation__label p {
        font-size: 13px;
        letter-spacing: 1.04px;
        line-height: normal;
        margin: 0;
      }

.mdn-category-navigation__label p:first-child {
          margin-bottom: -4px;
        }

.mdn-category-navigation__arrow {
    position: relative;
}

.mdn-category-navigation__arrow {
    width: 100%;
}

.mdn-category-navigation__arrow {
    flex-shrink: 0;
}

.mdn-category-navigation__arrow {
    background: var(--gradient-main);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-category-navigation__arrow {
      font-size: 24px;
      letter-spacing: 1.92px;
      line-height: normal;
      margin: 0;
      transform: scaleX(0.5) translateY(-15px);
      text-align: center;
      height: 29px;
      display: block;
      transition: transform 0.3s ease;
    }

.mdn-category-navigation__divider {
      display: none;
    }

.mdn-keyword-search-tags {
    position: relative;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    margin-bottom: 20px;
}

@media (min-width: 1024px) {
    .mdn-keyword-search-tags {
      margin-bottom: 48px;
    }
  }

.mdn-keyword-search-tags__container {
    display: flex;
}

.mdn-keyword-search-tags__container {
    flex-direction: column;
}

.mdn-keyword-search-tags__container {
      gap: 8px;
    }

@media (min-width: 1024px) {
      .mdn-keyword-search-tags__container {
        flex-direction: row;
    }
      .mdn-keyword-search-tags__container {
        align-items: center;
    }
      .mdn-keyword-search-tags__container {
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
        max-width: 1280px;
        margin-left: auto;
        margin-right: auto;
      }
    }

.mdn-keyword-search-tags__items {
    display: flex;
}

.mdn-keyword-search-tags__items {
    align-items: center;
}

.mdn-keyword-search-tags__items {
      gap: 8px;
      overflow: hidden;
    }

@media (min-width: 1024px) {
      .mdn-keyword-search-tags__items {
        flex-wrap: wrap;
    }
      .mdn-keyword-search-tags__items {
        justify-content: center;
    }
      .mdn-keyword-search-tags__items {
        overflow-x: visible;
        gap: 10px;
      }
    }

.mdn-keyword-search-tags__label {
    display: flex;
}

.mdn-keyword-search-tags__label {
    flex-shrink: 0;
}

.mdn-keyword-search-tags__label {
    align-items: center;
}

.mdn-keyword-search-tags__label {
    justify-content: center;
}

.mdn-keyword-search-tags__label {
      background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
      width: -moz-fit-content;
      width: fit-content;
      height: 22px;
      padding: 6px 16px;
      border-radius: 19.5px;

      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 700;
      font-size: 12px;
      letter-spacing: 1.3px;
      line-height: 2;
      color: white;
    }

@media (min-width: 1024px) {
      .mdn-keyword-search-tags__label {
        font-size: 13px;
      }
    }

.mdn-keyword-search-tags__item {
    display: flex;
}

.mdn-keyword-search-tags__item {
    flex-shrink: 0;
}

.mdn-keyword-search-tags__item {
    align-items: center;
}

.mdn-keyword-search-tags__item {
    justify-content: center;
}

.mdn-keyword-search-tags__item {
    text-decoration-line: none;
}

.mdn-keyword-search-tags__item {
      background: white;
      border: 1px solid #9eacd8;
      height: 22px;
      padding: 6px 15px;
      border-radius: 19.5px;
      transition: all 0.3s ease;

      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 700;
      font-size: 12px;
      letter-spacing: 1.3px;
      line-height: 2;

      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-image: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
    }

.mdn-keyword-search-tags__item:hover {
        background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
        background-clip: padding-box;
        -webkit-background-clip: padding-box;
        -webkit-text-fill-color: white;
        color: white;
      }

@media (min-width: 1024px) {
      .mdn-keyword-search-tags__item {
        font-size: 13px;
      }
    }

/* トップページのみ左右padding追加 */

.front_page .mdn-keyword-search-tags {
    padding-left: 16px;
    padding-right: 16px;
  }

@media (min-width: 1024px) {

.front_page .mdn-keyword-search-tags {
      padding-left: 0;
      padding-right: 0
  }
    }

.mdn-product-ranking {
    position: relative;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    margin-bottom: 20px;
}

.mdn-product-ranking__inner {
    display: flex;
}

.mdn-product-ranking__inner {
    flex-direction: column;
}

.mdn-product-ranking__inner {
      gap: 12px;
    }

@media (min-width: 1024px) {
      .mdn-product-ranking__inner {
        max-width: 1280px;
        margin-left: auto;
        margin-right: auto;
      }
    }

.mdn-product-ranking__header {
    display: flex;
}

.mdn-product-ranking__header {
    flex-direction: column;
}

.mdn-product-ranking__header {
      gap: 12px;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__header {
        gap: 16px
    }
      }

.mdn-product-ranking__header-row {
    display: flex;
}

.mdn-product-ranking__header-row {
    align-items: center;
}

.mdn-product-ranking__header-row {
    justify-content: space-between;
}

.mdn-product-ranking__title-wrapper {
    display: flex;
}

.mdn-product-ranking__title-wrapper {
    align-items: center;
}

.mdn-product-ranking__title-wrapper {
      gap: 12px;
    }

.mdn-product-ranking__view-all {
    display: flex;
}

.mdn-product-ranking__view-all {
    align-items: center;
}

.mdn-product-ranking__view-all {
    text-decoration-line: none;
}

.mdn-product-ranking__view-all {
      gap: 6px;
      border: 2px solid transparent;
      background: linear-gradient(#fff, #fff) padding-box,
                  linear-gradient(90deg, #e8a4c6 0%, #f7b36b 100%) border-box;
      border-radius: 1000px;
      padding: 4px 16px;
      transition: all 0.2s ease;
    }

.mdn-product-ranking__view-all span {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 13px;
        font-weight: 400;
        letter-spacing: 1px;
        color: #d08860;
      }

.mdn-product-ranking__view-all:hover {
        filter: brightness(1.08);
      }

.mdn-product-ranking__view-all--pc {
        display: none;
      }

@media (min-width: 1024px) {

.mdn-product-ranking__view-all--pc {
          display: flex
      }
        }

.mdn-product-ranking__view-all--sp {
        display: flex;
        justify-content: center;
        margin: 0 auto 50px;
        max-width: calc(100vw - 5rem);
      }

@media (min-width: 1024px) {

.mdn-product-ranking__view-all--sp {
          display: none
      }
        }

.mdn-product-ranking__title {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 700;
      font-size: 16px;
      line-height: 1;
      letter-spacing: 1.6px;
      background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__title {
        font-size: 20px;
        letter-spacing: 2px
    }
      }

.mdn-product-ranking__underline {
    width: 100%;
}

.mdn-product-ranking__underline {
      height: 2px;
      background-image: linear-gradient(90deg, #8bb3d9 -0.7%, #b2a4d6 100%);
    }

@media (min-width: 1024px) {
      .mdn-product-ranking__underline {
        max-width: 1000px;
      }
    }

.mdn-product-ranking__scroll-wrapper {
    position: relative;
}

.mdn-product-ranking__scroll-wrapper {
    display: flex;
}

.mdn-product-ranking__scroll-wrapper {
    align-items: center;
}

.mdn-product-ranking__nav-btn {
    position: absolute;
}

.mdn-product-ranking__nav-btn {
    display: flex;
}

.mdn-product-ranking__nav-btn {
    flex-shrink: 0;
}

.mdn-product-ranking__nav-btn {
    align-items: center;
}

.mdn-product-ranking__nav-btn {
    justify-content: center;
}

.mdn-product-ranking__nav-btn {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: white;
      border: none;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
      cursor: pointer;
      z-index: 20;
      opacity: 0.5;
      transition: opacity 0.3s ease;

    }

.mdn-product-ranking__nav-btn:hover {
        opacity: 1;
      }

.mdn-product-ranking__nav-btn--prev {
      left: 0;
    }

.mdn-product-ranking__nav-btn--next {
      right: 0;
    }

/* スクロール不要時（商品数が少ない場合） */

.mdn-product-ranking.is-not-scrollable .mdn-product-ranking__nav-btn {
      display: none !important;
    }

.mdn-product-ranking.is-not-scrollable .mdn-product-ranking__progress-container {
      display: none !important;
    }

.mdn-product-ranking.is-not-scrollable .mdn-product-ranking__scroll-container {
      overflow-x: visible;
    }

.mdn-product-ranking__scroll-container {
    position: relative;
}

.mdn-product-ranking__scroll-container {
    display: flex;
}

.mdn-product-ranking__scroll-container {
      gap: 16px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }

.mdn-product-ranking__scroll-container::-webkit-scrollbar {
        display: none;
      }

@media (min-width: 1024px) {

.mdn-product-ranking__scroll-container {
        gap: 24px
    }
      }

.mdn-product-ranking__product-card {
    position: relative;
}

.mdn-product-ranking__product-card {
    display: flex;
}

.mdn-product-ranking__product-card {
    flex-shrink: 0;
}

.mdn-product-ranking__product-card {
    flex-direction: column;
}

.mdn-product-ranking__product-card {
    text-decoration-line: none;
}

.mdn-product-ranking__product-card {
      width: 125px;
      gap: 12px;
    }

.mdn-product-ranking__product-card:first-child {
        margin-left: 16px;
      }

@media (min-width: 1024px) {

.mdn-product-ranking__product-card {
        width: 156px;
        gap: 16px
    }

        .mdn-product-ranking__product-card:first-child {
          margin-left: 24px;
        }
      }

.mdn-product-ranking__image-container {
    position: relative;
}

.mdn-product-ranking__image-container {
    display: grid;
}

.mdn-product-ranking__image-container {
      grid-template-columns: max-content;
      grid-template-rows: max-content;
      justify-items: start;
      width: 125px;
      height: 116px;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__image-container {
        width: 156px;
        height: 145px
    }
      }

.mdn-product-ranking__product-image {
      grid-column: 1;
      grid-row: 1;
      width: 112px;
      height: 112px;
      -o-object-fit: cover;
         object-fit: cover;
      margin-left: 13px;
      margin-top: 6px;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__product-image {
        width: 140px;
        height: 140px;
        margin-left: 16px;
        margin-top: 8px
    }
      }

.mdn-product-ranking__ranking-badge {
      grid-column: 1;
      grid-row: 1;
      width: 22px;
      height: 31px;
      margin-left: 0;
      margin-top: 0;
      z-index: 10;
      position: relative;
    }

.mdn-product-ranking__ranking-badge img {
        width: 100%;
        height: 100%;
        aspect-ratio: 27 / 39;
        -o-object-fit: fill;
           object-fit: fill;
      }

@media (min-width: 1024px) {

.mdn-product-ranking__ranking-badge {
        width: 27px;
        height: 39px
    }
      }

.mdn-product-ranking__ranking-number {
      position: absolute;
      top: 3px;
      left: 50%;
      transform: translateX(-50%);
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 13px;
      line-height: 1.6;
      letter-spacing: 0.52px;
      z-index: 11;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__ranking-number {
        top: 4px;
        font-size: 16px;
        letter-spacing: 0.64px
    }
      }

.mdn-product-ranking__ranking-number--white {
      font-weight: 700;
      color: white;
    }

.mdn-product-ranking__ranking-number--gray {
      font-weight: 700;
      color: #465A68;
    }

.mdn-product-ranking__crown-icon {
      width: 29px;
      height: 26px;
      flex-shrink: 0;
    }

.mdn-product-ranking__crown-icon img {
        width: 100%;
        height: 100%;
        aspect-ratio: 29 / 26;
        -o-object-fit: fill;
           object-fit: fill;
      }

.mdn-product-ranking__favorite-icon {
      grid-column: 1;
      grid-row: 1;
      width: 18px;
      height: 17px;
      margin-left: 107px;
      margin-top: 4px;
      z-index: 10;
    }

.mdn-product-ranking__favorite-icon img {
        width: 100%;
        height: 100%;
        aspect-ratio: 20 / 19;
        -o-object-fit: fill;
           object-fit: fill;
      }

@media (min-width: 1024px) {

.mdn-product-ranking__favorite-icon {
        width: 20px;
        height: 19px;
        margin-left: 136px;
        margin-top: 5px
    }
      }

.mdn-product-ranking__product-name {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 600;
      font-size: 12px;
      line-height: 1.6;
      letter-spacing: 0.48px;
      color: #282828;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__product-name {
        font-size: 14px;
        letter-spacing: 0.56px
    }
      }

.mdn-product-ranking__info {
    display: flex;
}

.mdn-product-ranking__info {
    flex-direction: column;
}

.mdn-product-ranking__info {
      gap: 8px;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__info {
        gap: 11px
    }
      }

.mdn-product-ranking__price-wrapper {
    display: flex;
}

.mdn-product-ranking__price-wrapper {
    align-items: flex-end;
}

.mdn-product-ranking__price-wrapper {
      gap: 4px;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__price-wrapper {
        gap: 6px
    }
      }

.mdn-product-ranking__price {
      font-family: 'Noto Sans JP', 'Zen Kaku Gothic New', sans-serif;
      font-weight: 700;
      font-size: 0;
      color: #ff0040;
      line-height: 9px;
    }

.mdn-product-ranking__price .price-symbol {
        font-size: 10px;
        letter-spacing: 0.4px;
      }

.mdn-product-ranking__price .price-amount {
        font-size: 18px;
        letter-spacing: 0.72px;
      }

.mdn-product-ranking__price .price-suffix {
        font-size: 10px;
      }

@media (min-width: 1024px) {
        .mdn-product-ranking__price .price-symbol {
          font-size: 12px;
          letter-spacing: 0.48px;
        }

        .mdn-product-ranking__price .price-amount {
          font-size: 22px;
          letter-spacing: 0.88px;
        }

        .mdn-product-ranking__price .price-suffix {
          font-size: 12px;
        }
      }

.mdn-product-ranking__unit {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 500;
      font-size: 12px;
      letter-spacing: 0.48px;
      color: #465a68;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__unit {
        font-size: 14px;
        letter-spacing: 0.56px
    }
      }

.mdn-product-ranking__categories {
    display: flex;
}

.mdn-product-ranking__categories {
    flex-direction: column;
}

.mdn-product-ranking__categories {
      gap: 6px;
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-size: 11px;
      line-height: 1;
      color: #465a68;
    }

@media (min-width: 1024px) {

.mdn-product-ranking__categories {
        gap: 8px;
        font-size: 12px
    }
      }

.mdn-product-ranking__category {
      line-height: 1;
    }

.mdn-product-ranking__rating {
    display: flex;
}

.mdn-product-ranking__rating {
    align-items: center;
}

.mdn-product-ranking__rating {
      gap: 8px;
      font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
      font-weight: 700;
      font-size: 0;
    }

.mdn-product-ranking__rating .stars {
        font-size: 15px;
        color: #f8a67f;
      }

.mdn-product-ranking__rating .count {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        font-size: 12px;
        color: #465a68;
      }

.mdn-product-ranking__progress-container {
    display: flex;
}

.mdn-product-ranking__progress-container {
    justify-content: center;
}

.mdn-product-ranking__progress-bar {
    position: relative;
}

.mdn-product-ranking__progress-bar {
    display: grid;
}

.mdn-product-ranking__progress-bar {
      grid-template-columns: max-content;
      grid-template-rows: max-content;
      justify-items: start;
      width: 100%;
      max-width: 1000px;
      height: 5px;
    }

.mdn-product-ranking__progress-bar {
    box-sizing: content-box;
}

.mdn-product-ranking__progress-bar {
    cursor: pointer;
}

.mdn-product-ranking__progress-bar {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.mdn-product-ranking__progress-bar::before {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto 0;
      height: 5px;
      background: #ebebf0;
      border-radius: 5px;
      pointer-events: none;
    }

.mdn-product-ranking__progress-bg {
      display: none;
    }

.mdn-product-ranking__progress-fill {
      grid-column: 1;
      grid-row: 1;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      margin: 0;
      width: 0;
      height: 5px;
      background: #c3c7e6;
      border-radius: 5px;
    }

/* 商品詳細ページ埋め込み用スタイル */

/* カテゴリランキングエリア（関連商品見出しデザイン版） */

#category-product-ranking-area {
    margin-top: 60px;
  }

/* ランキングマクロのヘッダーを非表示 */

#category-product-ranking-area .mdn-product-ranking__header {
      display: none;
    }

/* 関連商品見出しデザイン */

#category-product-ranking-area .mdn-related-products__header {
    display: flex;
}

#category-product-ranking-area .mdn-related-products__header {
    align-items: center;
}

#category-product-ranking-area .mdn-related-products__header {
      border-radius: 8px;
      padding: 6px 13px;
      margin-bottom: 24px;
      background: linear-gradient(90deg, rgba(139, 179, 217, 0.3) 0.695%, rgba(178, 164, 214, 0.3) 100%);
      height: 41px;
    }

#category-product-ranking-area .mdn-related-products__title-group {
    display: flex;
}

#category-product-ranking-area .mdn-related-products__title-group {
    align-items: center;
}

#category-product-ranking-area .mdn-related-products__title-group strong {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 18px;
      font-weight: 700;
      color: #254e72;
      letter-spacing: 0.72px;
      line-height: 1.6;
    }

#category-product-ranking-area .mdn-product-ranking__scroll-wrapper {
      margin-top: 0;
    }

/* SP調整 */

@media (max-width: 1023px) {
    .mdn-product-detail__category-ranking {
      margin-top: 40px;
    }

      .mdn-product-detail__category-ranking .mdn-product-ranking__scroll-container {
        justify-content: space-between;
        gap: 8px;
      }

      .mdn-product-detail__category-ranking .mdn-product-ranking__product-card {
        width: calc((100% - 24px) / 2);
      }
  }

.mdn-info-policy {
    position: relative;
    border-radius: 10px;
    background-image: linear-gradient(to right, #f3f7fb 0.695%, #f7f6fb 100%);
    padding: 8px 12px;
    margin-bottom: 20px;
}

@media (min-width: 1024px) {

.mdn-info-policy {
      padding: 10px 20px;
      margin-bottom: 50px;
    }
    }

.mdn-info-policy__inner {
    display: flex;
}

.mdn-info-policy__inner {
    flex-direction: column;
}

.mdn-info-policy__inner {
      max-width: 1000px;
      margin-left: auto;
      margin-right: auto;
      gap: 8px;
    }

@media (min-width: 1024px) {

.mdn-info-policy__inner {
        gap: 11px
    }
      }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       上部セクション（横並び）
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-info-policy__top-section {
    display: flex;
}

.mdn-info-policy__top-section {
    width: 100%;
}

.mdn-info-policy__top-section {
    flex-direction: column;
}

.mdn-info-policy__top-section {
    align-items: flex-start;
}

.mdn-info-policy__top-section {
      gap: 6px;
    }

@media (min-width: 1024px) {

    .mdn-info-policy__top-section {
        flex-direction: row;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__top-section {
        flex-wrap: wrap;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__top-section {
        align-items: flex-start;
    }
}

/* 上部左側（タイトル + サブタイトル） */

.mdn-info-policy__top-left {
    display: flex;
}

.mdn-info-policy__top-left {
    flex-direction: column;
}

.mdn-info-policy__top-left {
      gap: 8px;
      /* flex: 1 0 0; */
      min-width: 140px;
      min-height: 1px;
    }

@media (min-width: 1024px) {

.mdn-info-policy__top-left {
        max-width: 180px;
        padding-top: 22px
    }
      }

.mdn-info-policy__main-title {
    width: 100%;
}

.mdn-info-policy__main-title {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-info-policy__main-title {
    font-size: 15px;
}

.mdn-info-policy__main-title {
    line-height: 1.25;
}

.mdn-info-policy__main-title {
      font-weight: 700;
      letter-spacing: 1.5px;
      background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

.mdn-info-policy__main-title br {
        display: none;
      }

@media (min-width: 1024px) {

.mdn-info-policy__main-title br {
          display: inline
      }
        }

.mdn-info-policy__subtitle {
    width: 100%;
}

.mdn-info-policy__subtitle {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-info-policy__subtitle {
    line-height: 1.4;
}

.mdn-info-policy__subtitle {
      font-weight: 600;
      font-size: 13px;
      letter-spacing: 1.3px;
      background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

/* 上部右側（カード3つ） */

.mdn-info-policy__top-right {
    display: flex;
}

.mdn-info-policy__top-right {
    width: 100%;
}

.mdn-info-policy__top-right {
    flex-shrink: 0;
}

.mdn-info-policy__top-right {
    flex-direction: column;
}

.mdn-info-policy__top-right {
    align-items: center;
}

.mdn-info-policy__top-right {
      gap: 6px
    }

@media (min-width: 1024px) {

    .mdn-info-policy__top-right {
        width: auto;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__top-right {
        flex-direction: row;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__top-right {
        align-items: center;
    }
}

@media (min-width: 1024px) {

.mdn-info-policy__top-right {
        width: calc(100% - 186px);
        flex-wrap: wrap
    }
      }

.mdn-info-policy__card-wrapper {
    position: relative;
}

.mdn-info-policy__card-wrapper {
    display: inline-grid;
}

.mdn-info-policy__card-wrapper {
      grid-template-columns: max-content;
      grid-template-rows: max-content;
      justify-items: start;
      width: -moz-fit-content;
      width: fit-content;
      flex: 0 1 auto;
    }

@media (min-width: 1024px) {

.mdn-info-policy__card-wrapper {
        width: calc((100% - 12px) / 3);
        min-width: 254px
    }
      }

@media (max-width: 1023px) {

.mdn-info-policy__card-wrapper {
        display: block
    }
      }

.mdn-info-policy__card {
    display: flex;
}

.mdn-info-policy__card {
    width: 100%;
}

.mdn-info-policy__card {
    flex-direction: column;
}

.mdn-info-policy__card {
    border-radius: 6px;
}

.mdn-info-policy__card {
      grid-column: 1;
      grid-row: 1;
      background: #ffffff;
      padding: 10px;
      max-width: none;
      gap: 10px;
      margin-left: 0;
      margin-top: 16.898px;
      overflow: visible;
    }

@media (min-width: 1024px) {

.mdn-info-policy__card {
        max-width: 245px;
        margin-left: 9px
    }
      }

.mdn-info-policy__card-content {
    display: flex;
}

.mdn-info-policy__card-content {
    flex-direction: column;
}

.mdn-info-policy__card-content {
      gap: 8px;
      height: -moz-fit-content;
      height: fit-content;
      overflow: visible;
      width: 100%;
    }

@media (min-width: 1024px) {

.mdn-info-policy__card-content {
        height: 100.475px
    }
      }

.mdn-info-policy__card-header {
    display: flex;
}

.mdn-info-policy__card-header {
    align-items: center;
}

.mdn-info-policy__card-header {
      gap: 10px;
      width: -moz-max-content;
      width: max-content;
      overflow: visible;
    }

.mdn-info-policy__icon-container {
    display: flex;
}

.mdn-info-policy__icon-container {
    flex-shrink: 0;
}

.mdn-info-policy__icon-container {
    align-items: center;
}

.mdn-info-policy__icon-container {
    justify-content: center;
}

.mdn-info-policy__icon-container {
      width: 30px;
      height: 30px;
      min-width: 30px;
      min-height: 30px;
      border-radius: 50%;
      flex-shrink: 0;
    }

.mdn-info-policy__icon-container--white {
        background: #ffffff;
      }

.mdn-info-policy__icon-container--gray {
        background: #f9f9f9;
        padding: 2px 7px;
      }

/* 3つ目のカードのアイコンコンテナのみ */

.mdn-info-policy__top-right .mdn-info-policy__card-wrapper:nth-child(3) .mdn-info-policy__icon-container--gray {
        padding: 2px 4px;
      }

.mdn-info-policy__icon-container img,
      .mdn-info-policy__icon-container svg {
        width: 30px;
        height: 30px;
        flex-shrink: 0;
      }

.mdn-info-policy__card-title {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-info-policy__card-title {
    font-size: 14px;
}

.mdn-info-policy__card-title {
    line-height: 2;
}

.mdn-info-policy__card-title {
      font-weight: 700;
      letter-spacing: 1.4px;
      background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      flex: 0 1 auto;
      white-space: nowrap;
      overflow: visible;
      width: -moz-max-content;
      width: max-content;
    }

.mdn-info-policy__card-description {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-info-policy__card-description {
    line-height: 1.5;
}

.mdn-info-policy__card-description {
      font-weight: 400;
      font-size: 13px;
      letter-spacing: 1.3px;
      color: #282828;
      height: 51px;
    }

.mdn-info-policy__point-label {
      grid-column: 1;
      grid-row: 1
    }

.mdn-info-policy__point-label {
    position: absolute;
}

.mdn-info-policy__point-label {
    display: flex;
}

.mdn-info-policy__point-label {
    align-items: center;
}

.mdn-info-policy__point-label {
    justify-content: center;
}

.mdn-info-policy__point-label {
      top: 10px;
      margin-left: 0;
      margin-top: 0;
      transform: rotate(335.995deg);
    }

@media (max-width: 1023px) {

.mdn-info-policy__point-label {
        top: 5px;
        left: -15px
    }
      }

.mdn-info-policy__point-text {
    font-family: "Grape Nuts", cursive;
}

.mdn-info-policy__point-text {
    font-size: 14px;
}

.mdn-info-policy__point-text {
    line-height: 1.4;
}

.mdn-info-policy__point-text {
      font-weight: 400;
      letter-spacing: 1.4px;
      background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       区切り線
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-info-policy__divider {
    position: relative;
}

.mdn-info-policy__divider {
    flex-shrink: 0;
}

.mdn-info-policy__divider {
      width: 960px;
      height: 0;
      max-width: 100%;
    }

.mdn-info-policy__divider-line {
      position: absolute;
      inset: -0.5px -0.05%;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
    }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       下部セクション（横並び）
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-info-policy__bottom-section {
    display: flex;
}

.mdn-info-policy__bottom-section {
    flex-shrink: 0;
}

.mdn-info-policy__bottom-section {
    flex-direction: column;
}

.mdn-info-policy__bottom-section {
    align-items: flex-start;
}

.mdn-info-policy__bottom-section {
      gap: 10px;
      height: auto
    }

@media (min-width: 1024px) {

    .mdn-info-policy__bottom-section {
        flex-direction: row;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__bottom-section {
        align-items: center;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__bottom-section {
        gap: 32px;
    }
}

@media (min-width: 1024px) {

.mdn-info-policy__bottom-section {
        height: -moz-fit-content;
        height: fit-content;
        flex-wrap: wrap;
        row-gap: 2px
    }
      }

.mdn-info-policy__bottom-title {
    width: 100%;
}

.mdn-info-policy__bottom-title {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-info-policy__bottom-title {
    line-height: 1.25;
}

.mdn-info-policy__bottom-title {
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1.2px;
      background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      height: auto;
      flex-shrink: 0;
      white-space: normal;
    }

.mdn-info-policy__bottom-title br {
        display: none;
      }

@media (min-width: 1024px) {

.mdn-info-policy__bottom-title {
        font-size: 14px;
        letter-spacing: 1.4px;
        width: -moz-fit-content;
        width: fit-content;
        height: auto;
        white-space: nowrap
    }

        .mdn-info-policy__bottom-title br {
          display: inline;
        }
      }

.mdn-info-policy__badges {
    display: flex;
}

.mdn-info-policy__badges {
    width: 100%;
}

.mdn-info-policy__badges {
    flex-shrink: 0;
}

.mdn-info-policy__badges {
    flex-direction: column;
}

.mdn-info-policy__badges {
    align-items: flex-start;
}

.mdn-info-policy__badges {
      gap: 8px;
      height: auto;
    }

@media (min-width: 1024px) {

    .mdn-info-policy__badges {
        height: 47px;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__badges {
        width: auto;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__badges {
        flex-direction: row;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__badges {
        align-items: center;
    }
}

@media (min-width: 1024px) {

    .mdn-info-policy__badges {
        gap: 14px;
    }
}

.mdn-info-policy__badge {
    display: flex;
}

.mdn-info-policy__badge {
    width: 100%;
}

.mdn-info-policy__badge {
    align-items: center;
}

.mdn-info-policy__badge {
    justify-content: center;
}

.mdn-info-policy__badge {
    text-decoration-line: none;
}

.mdn-info-policy__badge {
      background: #ffffff;
      border: 1px solid #9eacd8;
      border-radius: 16px;
      padding: 8px 12px;
      height: 28px;
      gap: 8px;
      flex: 0 1 auto;
      transition: all 0.3s ease;
    }

@media (min-width: 1024px) {

.mdn-info-policy__badge {
        border-radius: 19.5px;
        padding: 12px 14px;
        height: 34px;
        gap: 10px
    }
      }

@media (min-width: 1024px) {

    .mdn-info-policy__badge {
        width: auto;
    }
}

.mdn-info-policy__badge:hover {
        background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
        border-color: transparent;
      }

.mdn-info-policy__badge:hover .mdn-info-policy__badge-text {
          background: none;
          -webkit-text-fill-color: white;
          color: white;
        }

.mdn-info-policy__badge-text {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-info-policy__badge-text {
    line-height: 2;
}

.mdn-info-policy__badge-text {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1.1px;
      background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      white-space: nowrap;
    }

@media (min-width: 1024px) {

.mdn-info-policy__badge-text {
        font-size: 13px;
        letter-spacing: 1.3px
    }
      }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Category Sidebar Component
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.mdn-category-sidebar {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ────────────────────────────────────
       Title
       ──────────────────────────────────── */

.mdn-category-sidebar__title {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 700;
      font-size: 16px;
      line-height: 2;
      letter-spacing: 1.6px;
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-image: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      width: 100%;
      white-space: pre-wrap;
    }

/* ────────────────────────────────────
       Container
       ──────────────────────────────────── */

.mdn-category-sidebar__container {
    box-sizing: border-box;
}

.mdn-category-sidebar__container {
    display: flex;
}

.mdn-category-sidebar__container {
    flex-shrink: 0;
}

.mdn-category-sidebar__container {
    flex-direction: column;
}

.mdn-category-sidebar__container {
      gap: 12px;
      padding: 10px 0;
      border-radius: 10px;
      background: linear-gradient(90deg, #f3f7fb 0.695%, #f7f6fb 100%);
      width: 100%;
    }

/* ────────────────────────────────────
       Item Group (Item + Divider)
       ──────────────────────────────────── */

.mdn-category-sidebar__item-group {
    position: relative;
}

.mdn-category-sidebar__item-group {
    display: flex;
}

.mdn-category-sidebar__item-group {
    flex-shrink: 0;
}

.mdn-category-sidebar__item-group {
    flex-direction: column;
}

.mdn-category-sidebar__item-group {
      gap: 10px;
      align-items: center;
      width: 100%;
    }

/* ────────────────────────────────────
       Category Item
       ──────────────────────────────────── */

.mdn-category-sidebar__item {
    display: flex;
}

.mdn-category-sidebar__item {
    align-items: center;
}

.mdn-category-sidebar__item {
    justify-content: space-between;
}

.mdn-category-sidebar__item {
    text-decoration-line: none;
}

.mdn-category-sidebar__item {
      width: 100%;
      padding: 0 15px;
    }

.mdn-category-sidebar__item-content {
    display: flex;
}

.mdn-category-sidebar__item-content {
    flex-direction: column;
}

.mdn-category-sidebar__item-content {
      gap: 10px;
      align-items: flex-start;
      flex: 1;
    }

.mdn-category-sidebar__item-inner {
    display: flex;
}

.mdn-category-sidebar__item-inner {
      gap: 10px;
      align-items: center;
      padding-right: 0.5rem;
    }

.mdn-category-sidebar__icon {
    position: relative;
}

.mdn-category-sidebar__icon {
    flex-shrink: 0;
}

.mdn-category-sidebar__icon {
      width: 40px;
      height: 40px;
    }

.mdn-category-sidebar__icon img {
    position: absolute;
}

.mdn-category-sidebar__icon img {
    display: block;
}

.mdn-category-sidebar__icon img {
        inset: 0;
        max-width: none;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: 50% 50%;
           object-position: 50% 50%;
        pointer-events: none;
        width: 100%;
        height: 100%;
      }

.mdn-category-sidebar__text {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-size: 14px;
      line-height: 1.6;
      letter-spacing: 0.56px;
      color: #282828;
      white-space: pre-wrap;
    }

.mdn-category-sidebar__text {
    flex: 1 1 0%;
}

.mdn-category-sidebar__arrow {
    display: flex;
}

.mdn-category-sidebar__arrow {
    flex-shrink: 0;
}

.mdn-category-sidebar__arrow {
      transform: rotate(90deg) scaleY(-100%);
      align-items: center;
      justify-content: center;
      width: 10.29px;
      height: 6.126px;
    }

.mdn-category-sidebar__arrow svg, .mdn-category-sidebar__arrow img {
    display: block;
}

.mdn-category-sidebar__arrow svg, .mdn-category-sidebar__arrow img {
        width: 100%;
        height: 100%;
        max-width: none;
      }

/* ────────────────────────────────────
       Divider (CSS border instead of image)
       ──────────────────────────────────── */

.mdn-category-sidebar__divider {
    position: relative;
}

.mdn-category-sidebar__divider {
      width: 100%;
      height: 0;
      border-top: 1px solid #ffffff;
    }

/* ────────────────────────────────────
       Subcategory Submenu
       ──────────────────────────────────── */

.mdn-category-sidebar__submenu {
    position: absolute;
}

.mdn-category-sidebar__submenu {
    box-sizing: border-box;
}

.mdn-category-sidebar__submenu {
    display: none;
}

.mdn-category-sidebar__submenu {
    flex-shrink: 0;
}

.mdn-category-sidebar__submenu {
    flex-direction: column;
}

.mdn-category-sidebar__submenu {
      left: calc(100% - 10px);
      top: -10px;
      width: -moz-max-content;
      width: max-content;
      min-width: 250px;
      gap: 10px;
      padding: 10px 0;
      border-radius: 10px;
      background: linear-gradient(90deg, #f3f7fb 0.695%, #f7f6fb 100%);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
      z-index: 1000;
    }

.mdn-category-sidebar__submenu-group {
    display: flex;
}

.mdn-category-sidebar__submenu-group {
    flex-shrink: 0;
}

.mdn-category-sidebar__submenu-group {
    flex-direction: column;
}

.mdn-category-sidebar__submenu-group {
      gap: 10px;
      align-items: center;
      width: 100%;
    }

.mdn-category-sidebar__item-group:hover .mdn-category-sidebar__submenu,
    .mdn-category-sidebar__submenu:hover {
    display: flex;
}

.mdn-category-sidebar__submenu-item {
    display: flex;
}

.mdn-category-sidebar__submenu-item {
    width: 100%;
}

.mdn-category-sidebar__submenu-item {
    align-items: center;
}

.mdn-category-sidebar__submenu-item {
    justify-content: space-between;
}

.mdn-category-sidebar__submenu-item {
    gap: 0.5rem;
}

.mdn-category-sidebar__submenu-item {
    text-decoration-line: none;
}

.mdn-category-sidebar__submenu-item {
      padding: 0 15px;
    }

.mdn-category-sidebar__submenu-content {
    display: flex;
}

.mdn-category-sidebar__submenu-content {
    width: 100%;
}

.mdn-category-sidebar__submenu-content {
    align-items: center;
}

.mdn-category-sidebar__submenu-content {
    justify-content: space-between;
}

.mdn-category-sidebar__submenu-content {
    gap: 10px;
}

.mdn-category-sidebar__submenu-inner {
    display: flex;
}

.mdn-category-sidebar__submenu-inner {
    align-items: center;
}

.mdn-category-sidebar__submenu-inner {
    gap: 10px;
}

.mdn-category-sidebar__submenu-text {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-size: 14px;
      line-height: 1.6;
      letter-spacing: 0.56px;
      color: #282828;
      min-width: -moz-max-content;
      min-width: max-content;
    }

.mdn-category-sidebar__submenu-text {
    white-space: nowrap;
}

.mdn-category-sidebar__submenu-divider {
    position: relative;
}

.mdn-category-sidebar__submenu-divider {
      width: 100%;
      height: 0;
      border-top: 1px solid #ffffff;
    }

/* ────────────────────────────────────
       Hover State
       ──────────────────────────────────── */

.mdn-category-sidebar__item:hover .mdn-category-sidebar__text {
        opacity: 0.7;
      }

.mdn-category-sidebar__submenu-item:hover .mdn-category-sidebar__submenu-text {
        opacity: 0.7;
      }

.mdn-top-healthcare-tools {
    margin-top: 50px;
    margin-bottom: 50px;

  }

.mdn-top-healthcare-tools__title {
    text-align: center;
}

.mdn-top-healthcare-tools__title {
      font-family: 'Noto Sans JP';
      font-style: normal;
      font-weight: 700;
      font-size: 20px;
      line-height: 200%;
      letter-spacing: 0.1em;
      background: linear-gradient(90deg, #376189 40%, #7a67a9 60%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

.mdn-top-healthcare-tools__carousel-wrapper {
    position: relative;
}

.mdn-top-healthcare-tools__nav-btn {
    position: absolute;
}

.mdn-top-healthcare-tools__nav-btn {
    display: flex;
}

.mdn-top-healthcare-tools__nav-btn {
    align-items: center;
}

.mdn-top-healthcare-tools__nav-btn {
    justify-content: center;
}

.mdn-top-healthcare-tools__nav-btn {
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: white;
      border: none;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
      cursor: pointer;
      z-index: 20;
      opacity: 0.5;
      transition: opacity 0.3s ease;
    }

.mdn-top-healthcare-tools__nav-btn:hover {
        opacity: 1;
      }

.mdn-top-healthcare-tools__nav-btn--prev {
      left: 0;
    }

.mdn-top-healthcare-tools__nav-btn--next {
      right: 0;
    }

.mdn-top-healthcare-tools__carousel {
    overflow: hidden;
}

.mdn-top-healthcare-tools__carousel {
      cursor: grab;
    }

.mdn-top-healthcare-tools__carousel:active {
        cursor: grabbing;
      }

.mdn-top-healthcare-tools__track {
    display: flex;
}

.mdn-top-healthcare-tools__track {
      gap: 20px;
      padding: 40px 1rem;
      will-change: transform;
    }

.mdn-top-healthcare-tools__track::after {
        content: '';
        flex-shrink: 0;
        width: 0.1rem;
      }

.mdn-top-healthcare-tools__scrollbar {
    position: relative;
}

.mdn-top-healthcare-tools__scrollbar {
      height: 5px;
      background: #EBEBF0;
      border-radius: 5px;
      cursor: pointer;
    }

.mdn-top-healthcare-tools__scrollbar-thumb {
    position: absolute;
}

.mdn-top-healthcare-tools__scrollbar-thumb {
    top: 0px;
}

.mdn-top-healthcare-tools__scrollbar-thumb {
    left: 0px;
}

.mdn-top-healthcare-tools__scrollbar-thumb {
      height: 100%;
      background: #C3C7E6;
      border-radius: 5px;
      cursor: grab;
    }

.mdn-top-healthcare-tools__scrollbar-thumb:active {
        cursor: grabbing;
      }

.mdn-top-healthcare-tools__scrollbar-thumb:hover {
        background: #B0B5DC;
      }

.mdn-top-healthcare-tools__card {
    display: flex;
}

.mdn-top-healthcare-tools__card {
    cursor: pointer;
}

.mdn-top-healthcare-tools__card {
    flex-direction: column;
}

.mdn-top-healthcare-tools__card {
    justify-content: space-between;
}

.mdn-top-healthcare-tools__card {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.mdn-top-healthcare-tools__card {
    text-decoration-line: none;
}

.mdn-top-healthcare-tools__card {
      flex: 0 0 259px;
      width: 259px;
      height: 210px;
      border-radius: 10px;
      padding: 18px 17px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
      transition: all 0.3s ease;
    }

.mdn-top-healthcare-tools__card-inner {
    display: flex;
}

.mdn-top-healthcare-tools__card-inner {
    align-items: center;
}

.mdn-top-healthcare-tools__card-inner {
    justify-content: center;
}

.mdn-top-healthcare-tools__card-inner {
    text-align: center;
}

.mdn-top-healthcare-tools__card-inner {
    background: var(--gradient-main);
  }

.mdn-top-healthcare-tools__card-inner {
      min-width: 225px;
      min-height: 116px;
      border-radius: 10px;
      border: 1px;
      overflow: hidden;
      transition: all 0.3s ease;
    }

.mdn-top-healthcare-tools__card-inner--image {
      padding: 0;
      background: #f7f7fb;
    }

.mdn-top-healthcare-tools__card-image {
      display: block;
      width: 100%;
      height: 116px;
      -o-object-fit: cover;
         object-fit: cover;
    }

.mdn-top-healthcare-tools__card:hover .mdn-top-healthcare-tools__card-inner {
        transform: translateY(-4px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
      }

.mdn-top-healthcare-tools__card-title {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.mdn-top-healthcare-tools__card-title {
      font-size: 13px;
      font-weight: 600;
      line-height: 1.4;
      letter-spacing: 0.1em;
      padding: 0 10px;
      white-space: normal;
    }

.mdn-top-healthcare-tools__card-label {
    text-align: center;
}

.mdn-top-healthcare-tools__card-label {
    background: var(--gradient-main-dark);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-top-healthcare-tools__card-label {
      height: 40px;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.25;
      letter-spacing: 1.6px;
    }

.mdn-top-healthcare-tools__indicator {
      margin-top: 50px;
      height: 2px;
      background: linear-gradient(90deg, #8BB3D920 0%, #B2A4D620 100%);
      width: 100vw;
      margin-left: calc(50% - 50vw);
    }

.mdn-top-healthcare-tools__view-all {
    display: flex;
}

.mdn-top-healthcare-tools__view-all {
    align-items: center;
}

.mdn-top-healthcare-tools__view-all {
    gap: 0.5rem;
}

.mdn-top-healthcare-tools__view-all {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
      var(--gradient-main) border-box;
  }

.mdn-top-healthcare-tools__view-all {
      border-width: 2px;
      border-radius: 25px;
      padding: 8px 24px;
      width: -moz-fit-content;
      width: fit-content;
      margin: 35px auto 0;
      transition: all 0.3s ease;
    }

.mdn-top-healthcare-tools__view-all span {
    position: relative;
}

.mdn-top-healthcare-tools__view-all span {
    display: inline-block;
}

.mdn-top-healthcare-tools__view-all span {
    border-radius: 30px;
}

.mdn-top-healthcare-tools__view-all span {
    font-weight: 600;
}

.mdn-top-healthcare-tools__view-all span {
    text-decoration-line: none;
}

.mdn-top-healthcare-tools__view-all span {
    background: var(--gradient-main-dark);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-top-healthcare-tools__view-all span {
        font-size: 15px;
        line-height: 1;
        letter-spacing: 1.5px;
      }

.mdn-top-healthcare-tools__view-all:hover {
        opacity: 0.8;
      }

/* Responsive adjustments */

@media (max-width: 768px) {
      .mdn-top-healthcare-tools__track {
        padding: 10px 1rem 24px;
        padding-left: calc(50vw - 130px);
      }

      .mdn-top-healthcare-tools__card-inner {
        min-height: 130px;
        padding: 20px 16px;
      }

      .mdn-top-healthcare-tools__card-inner--image {
        padding: 0;
      }

      .mdn-top-healthcare-tools__card-image {
        height: 130px;
      }

      .mdn-top-healthcare-tools__card-title {
        font-size: 14px;
      }

      .mdn-top-healthcare-tools__card-label {
        font-size: 13px;
      }
  }

/* ────────────────────────────────────
     News Section MORE Button
     「ツール一覧を見る」と同じスタイルのグラデーション枠線ボタン
     ──────────────────────────────────── */

.mdn-news-more-btn {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        border: 2px solid transparent;
        background: linear-gradient(white, white) padding-box,
            var(--gradient-main) border-box;
        border-radius: 25px;
        padding: 8px 24px;
        width: -moz-fit-content;
        width: fit-content;
        margin: 35px auto 0;
        transition: all 0.3s ease;
        cursor: pointer;
        text-decoration: none;
        position: relative;
    }

.mdn-news-more-btn__text {
        position: relative;
        display: inline-block;
        font-weight: 600;
        font-size: 15px;
        line-height: 1;
        letter-spacing: 1.5px;
        background: var(--gradient-main-dark);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

.mdn-news-more-btn__icon {
        display: flex;
        align-items: center;
    }

.mdn-news-more-btn__icon svg {
        width: 7px;
        height: 12px;
    }

.mdn-news-more-btn__icon svg path {
        fill: #B2A4D6;
    }

.mdn-news-more-btn:hover {
        opacity: 0.8;
    }

/* カード本体 */

.mdn-product-card {
        display: flex;
        flex-direction: column;
        gap: 8px;
        text-decoration: none;
        color: inherit;
        transition: opacity 0.2s ease;
    }

.mdn-product-card:hover {
        opacity: 0.8;
    }

/* 画像コンテナ */

.mdn-product-card__image-container {
        position: relative;
        aspect-ratio: 1 / 1;
        background: #f9f9f9;
        border-radius: 8px;
        overflow: hidden;
    }

/* 商品画像 */

.mdn-product-card__product-image {
        width: 100%;
        height: 100%;
        -o-object-fit: contain;
           object-fit: contain;
    }

/* ランキングバッジ */

.mdn-product-card__ranking-badge {
        position: absolute;
        top: 0;
        left: 0;
        width: 32px;
        height: 40px;
        z-index: 1;
    }

.mdn-product-card__ranking-badge img {
        width: 100%;
        height: 100%;
    }

.mdn-product-card__ranking-number {
        position: absolute;
        top: 6px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 14px;
        font-weight: bold;
        line-height: 1;
    }

/* お気に入りアイコン */

.mdn-product-card__favorite-icon {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 24px;
        height: 24px;
        cursor: pointer;
        background: none;
        border: none;
        padding: 0;
        transition: transform 0.2s ease, opacity 0.2s ease;
        z-index: 1;
    }

.mdn-product-card__favorite-icon:hover {
        transform: scale(1.1);
    }

.mdn-product-card__favorite-icon.is-loading {
        opacity: 0.5;
        pointer-events: none;
    }

.mdn-product-card__favorite-icon img {
        width: 100%;
        height: 100%;
    }

/* 商品名 */

.mdn-product-card__product-name {
        font-size: 14px;
        font-weight: 500;
        line-height: 1.4;
        color: var(--color-primary);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin: 0;
    }

/* 情報エリア */

.mdn-product-card__info {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

/* 価格ラッパー */

.mdn-product-card__price-wrapper {
        display: flex;
        align-items: baseline;
        gap: 4px;
    }

/* 単位ラベル */

.mdn-product-card__unit {
        font-size: 11px;
        color: var(--color-gray);
        margin: 0;
    }

/* 価格 */

.mdn-product-card__price {
        font-size: 16px;
        font-weight: bold;
        color: var(--color-price-red);
        margin: 0;
    }

.mdn-product-card__price .price-symbol {
        font-size: 12px;
    }

.mdn-product-card__price .price-amount {
        font-size: 16px;
    }

.mdn-product-card__price .price-suffix {
        font-size: 12px;
    }

/* カテゴリ */

.mdn-product-card__categories {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }

.mdn-product-card__category {
        font-size: 10px;
        color: var(--color-gray);
        background: var(--color-bg-gray);
        padding: 2px 6px;
        border-radius: 4px;
        margin: 0;
    }

/* レビュー */

.mdn-product-card__rating {
        display: flex;
        align-items: center;
        gap: 4px;
        font-size: 12px;
        margin: 0;
    }

.mdn-product-card__rating .stars {
        color: var(--color-rating-orange);
    }

.mdn-product-card__rating .count {
        color: var(--color-gray);
    }

.mdn-product-grid__item .mdn-product-card {
        width: 100%;
    }

.mdn-product-list {
    display: flex;
    flex-direction: column;
        gap: 0;
}

.mdn-product-list__item {
    display: flex;
}

.mdn-product-list__item {
    flex-direction: column;
}

.mdn-product-list__item {
            gap: 22px;
            padding: 24px 0;
        }

/* タイトルバー */

.mdn-product-list__title-bar {
            height: 41px;
            border-radius: 8px;
            background: linear-gradient(to right, rgba(139, 179, 217, 0.4) 0.695%, rgba(178, 164, 214, 0.4));
            display: flex;
            align-items: center;
        }

.mdn-product-list__title {
            grid-area: 1 / 1;
            position: relative;
            z-index: 1;
            /* 背景より前面に */
            width: -moz-fit-content;
            width: fit-content;
            /* 下線をテキスト幅に制限 */
            font-family: 'Noto Sans JP', sans-serif;
            font-weight: 700;
            font-size: 18px;
            line-height: 0.9;
            letter-spacing: 0.72px;
            color: #254e72;
            text-decoration: none;
            margin-left: 18px;
            margin-top: 0;
            padding-bottom: 4px;
            /* テキストと下線の間隔 */
            /* 下線アニメーション用 */
            background: linear-gradient(#254e72, #254e72) 100% 100% / 100% 1px no-repeat;
            transition: background 0.4s cubic-bezier(0.4, 0.1, 0.3, 1);
        }

.mdn-product-list__title:hover {
                background-size: 0 1px;
            }

.mdn-product-list__title a:hover {
                color: #254e72 !important;
            }

/* コンテンツ */

.mdn-product-list__content {
    display: flex;
}

.mdn-product-list__content {
            gap: 23px;
        }

.mdn-product-list__image-container {
            position: relative;
            flex-shrink: 0;
            width: 140px;
            height: 140px;
        }

.mdn-product-list__image {
            display: block;
            width: 100%;
            height: 100%;
        }

.mdn-product-list__image img {
    height: 100%;
}

.mdn-product-list__image img {
    width: 100%;
}

.mdn-product-list__image img {
    -o-object-fit: cover;
       object-fit: cover;
}

.mdn-product-list__favorite-icon {
            position: absolute;
            top: 4px;
            right: 4px;
            cursor: pointer;
            background: none;
            border: none;
            padding: 0;
            transition: transform 0.2s ease, opacity 0.2s ease;
            z-index: 1;
        }

.mdn-product-list__favorite-icon:hover {
                transform: scale(1.1);
            }

.mdn-product-list__favorite-icon.is-loading {
                opacity: 0.5;
                pointer-events: none;
            }

.mdn-product-list__favorite-icon .js-favorite-icon {
                width: 20px;
                height: 20px;
                transition: opacity 0.2s ease;
            }

.mdn-product-list__right {
    display: flex;
}

.mdn-product-list__right {
    flex-direction: column;
}

.mdn-product-list__right {
            /* gap: 13px; Removed explicitly for Figma pixel perfect margins */
            flex: 1;
            max-width: 840px;
        }

/* メタ情報 */

.mdn-product-list__meta-row {
    display: flex;
}

.mdn-product-list__meta-row {
    flex-wrap: wrap;
}

.mdn-product-list__meta-row {
    align-items: center;
}

.mdn-product-list__meta-row {
            gap: 9px;
            margin-bottom: 0;
        }

.mdn-product-list__price {
    display: flex;
}

.mdn-product-list__price {
    align-items: baseline;
}

.mdn-product-list__price {
            gap: 4px;
        }

.mdn-product-list__unit {
            font-size: 14px;
            color: #465a68;
        }

.mdn-product-list__amount {
            font-size: 22px;
            font-weight: 700;
            color: #ff0040;
            letter-spacing: 0.88px;
        }

.mdn-product-list__amount-symbol,
        .mdn-product-list__amount-suffix {
            font-size: 16px;
        }

.mdn-product-list__amount-symbol {
            margin-right: 1px;
        }

.mdn-product-list__amount-suffix {
            margin-left: 1px;
        }

.mdn-product-list__tags {
    display: flex;
}

.mdn-product-list__tags {
    flex-wrap: wrap;
}

.mdn-product-list__tags {
            gap: 8px;
        }

.mdn-product-list__tag {
    display: inline-block;
}

.mdn-product-list__tag {
    text-decoration-line: none;
}

.mdn-product-list__tag {
            font-size: 13px;
            font-weight: 700;
            padding: 4px 13px;
            border: 1px solid #9eacd8;
            /* Figma: #9eacd8 */
            border-radius: 19.5px;
            /* Figma: 19.5px */
            background: #fff;

            /* Gradient Text */
            background-image: linear-gradient(to right, #376189 0.695%, #7a67a9);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            color: #376189;
            /* Fallback */

            transition: all 0.2s ease;
        }

.mdn-product-list__tag:hover {
                border-color: #7a67a9;
                opacity: 0.8;
            }

.mdn-product-list__rating {
    display: flex;
}

.mdn-product-list__rating {
    align-items: center;
}

.mdn-product-list__rating {
            gap: 4px;
            text-decoration: none;
        }

.mdn-product-list__rating-stars {
            font-size: 15px;
            color: #f8a67f;
        }

.mdn-product-list__rating-count {
            font-size: 12px;
            color: #333;
        }

/* 説明文 */

.mdn-product-list__description {
            font-size: 14px;
            line-height: 1.8;
            letter-spacing: normal;
            color: var(--color-gray);
            margin: 16px 0 13px 0;
            /* Figma: 13px bottom */
        }

/* 規格リスト */

.mdn-product-list__variants {
    margin: 0px;
}

.mdn-product-list__variants {
    padding: 0px;
}

.mdn-product-list__variants {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

.mdn-product-list__variant {
            position: relative;
            padding-left: 14px;
            color: var(--color-link);
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 4px;
        }

.mdn-product-list__variant::before {
                content: '';
                position: absolute;
                left: 0;
                top: 50%;
                transform: translateY(-50%);
                width: 6px;
                height: 6px;
                border-radius: 50%;
                background-color: var(--color-link);
            }

.mdn-product-list__variant-name {
            font-size: 16px;
            font-weight: 700;
            color: #254e72;
            text-decoration: none;
            letter-spacing: 0.64px;
            line-height: 1.4;
            /* 下線アニメーション用 */
            background: linear-gradient(#254e72, #254e72) 100% 100% / 100% 1px no-repeat;
            transition: background 0.4s cubic-bezier(0.4, 0.1, 0.3, 1);
        }

.mdn-product-list__variant-name:hover {
                background-size: 0 1px;
                color: #254e72 !important;
            }

.mdn-product-list__variant-unit {
            font-size: 14px;
            color: #465a68;
            margin-left: 4px;
        }

.mdn-product-list__variant-price {
            font-size: 18px;
            font-weight: 700;
            color: #ff0040;
            letter-spacing: 0.72px;
            margin-left: 0;
        }

.mdn-product-list__variant-price-symbol,
        .mdn-product-list__variant-price-suffix {
            font-size: 14px;
        }

.mdn-product-list__variant-price-symbol {
            margin-right: 1px;
        }

.mdn-product-list__variant-price-suffix {
            margin-left: 1px;
        }

/* フッター */

.mdn-product-list__footer {
    display: flex;
}

.mdn-product-list__footer {
    flex-wrap: wrap;
}

.mdn-product-list__footer {
    align-items: center;
}

.mdn-product-list__footer {
            gap: 13px;
            /* Figma: 13px */
            width: 100%;
            margin-top: 0;
            /* 全幅背景 */
            background: linear-gradient(to right, #f3f7fb 0.695%, #f7f6fb);
            border-radius: 8px;
            padding: 6px 11px;
            /* Figma: py:6px px:11px */
        }

.mdn-product-list__footer-label {
            font-size: 14px;
            font-weight: 700;
            /* Figma: Bold */
            letter-spacing: 1.4px;
            line-height: 1.25;
            /* Figma: 1.25 */
            background: linear-gradient(to right, #376189 0.695%, #7a67a9);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

.mdn-product-list__footer-link {
    display: flex;
}

.mdn-product-list__footer-link {
    align-items: center;
}

.mdn-product-list__footer-link {
    justify-content: center;
}

.mdn-product-list__footer-link {
    text-decoration-line: none;
}

.mdn-product-list__footer-link {
            background: #ffffff;
            border: 1px solid #9eacd8;
            border-radius: 19.5px;
            padding: 0 14px;
            height: 25px;
            width: -moz-fit-content;
            width: fit-content;
            min-width: 160px;
            gap: 10px;
            flex: 0 1 auto;
            transition: all 0.3s ease;
        }

.mdn-product-list__footer-link:hover {
                background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
                border-color: transparent;
            }

.mdn-product-list__footer-link:hover .mdn-product-list__footer-link-text {
                    background: none;
                    -webkit-text-fill-color: white;
                    color: white;
                }

.mdn-product-list__footer-link-text {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mdn-product-list__footer-link-text {
    font-size: 13px;
}

.mdn-product-list__footer-link-text {
    line-height: 2;
}

.mdn-product-list__footer-link-text {
            font-weight: 700;
            letter-spacing: 1.3px;
            background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            white-space: nowrap;
        }

/* SP: Grid レイアウトで説明文・規格リストを下に */

@media (max-width: 1023px) {
            .mdn-product-list__item {
                gap: 16px;
                padding: 20px 0;
            }

            .mdn-product-list__title-bar {
                height: 36px;
            }

            .mdn-product-list__title {
                font-size: 16px;
                margin-left: 14px;
            }

            .mdn-product-list__content {
                display: grid;
                grid-template-columns: 100px 1fr;
                grid-template-rows: auto auto auto;
                gap: 12px 16px;
            }

            .mdn-product-list__image-container {
                grid-column: 1;
                grid-row: 1;
                width: 100px !important;
                height: 100px !important;
            }

            .mdn-product-list__right {
                display: contents;
            }

            .mdn-product-list__right-main {
                grid-column: 2;
                grid-row: 1;
                display: flex;
                flex-direction: column;
                gap: 4px;
            }

            .mdn-product-list__meta-row {
                flex-direction: column;
                align-items: flex-start;
                gap: 4px;
            }

            .mdn-product-list__unit {
                font-size: 13px;
            }

            .mdn-product-list__amount {
                font-size: 18px;
            }

            .mdn-product-list__amount-symbol,
            .mdn-product-list__amount-suffix {
                font-size: 14px;
            }

            .mdn-product-list__tags {
                gap: 4px;
            }

            .mdn-product-list__tag {
                font-size: 11px;
                padding: 2px 8px;
                border-radius: 14px;
            }

            .mdn-product-list__rating-stars {
                font-size: 13px;
            }

            .mdn-product-list__rating-count {
                font-size: 11px;
            }

            .mdn-product-list__description {
                grid-column: 1 / -1;
                grid-row: 2;
                margin: 0 !important;
                font-size: 13px;
            }

            .mdn-product-list__variants {
                grid-column: 1 / -1;
                grid-row: 3;
                gap: 6px;
            }

            .mdn-product-list__variant {
                padding-left: 12px;
                gap: 3px;
            }

                .mdn-product-list__variant::before {
                    width: 5px;
                    height: 5px;
                }

            .mdn-product-list__variant-name {
                font-size: 13px;
            }

            .mdn-product-list__variant-unit {
                font-size: 12px;
            }

            .mdn-product-list__variant-price {
                font-size: 15px;
            }

            .mdn-product-list__variant-price-symbol,
            .mdn-product-list__variant-price-suffix {
                font-size: 12px;
            }

            .mdn-product-list__footer {
                flex-direction: column;
                align-items: flex-start;
                gap: 8px;
                padding: 10px 12px;
            }

            .mdn-product-list__footer-label {
                font-size: 12px;
                letter-spacing: 1px;
            }

            .mdn-product-list__footer-link {
                height: 22px;
                padding: 0 10px;
                min-width: auto;
            }

            .mdn-product-list__footer-link-text {
                font-size: 11px !important;
                letter-spacing: 0.8px;
            }
        }

/* カテゴリヘッダー */

.mdn-category-header {
        margin-bottom: 24px;
    }

@media (min-width: 1024px) {

.mdn-category-header {
            margin-bottom: 32px
    }
        }

.mdn-category-header__title {
            color: #376189;
            font-size: 18px;
            font-weight: bold;
            margin: 0 0 12px 0;
            padding: 0;
            border: none;
        }

@media (min-width: 1024px) {

.mdn-category-header__title {
                font-size: 24px;
                margin: 0 0 16px 0
        }
            }

.mdn-category-header__description {
            font-size: 13px;
            line-height: 1.8;
            color: var(--color-gray);
            margin: 0;
        }

@media (min-width: 1024px) {

.mdn-category-header__description {
                font-size: 14px
        }
            }

/* ========================================
       共通セクションタイトル
       ======================================== */

.mdn-section-title {
    display: flex;
    flex-direction: column;
        gap: 16px;
        margin-bottom: 24px;
}

.mdn-section-title__text {
    margin: 0px;
}

.mdn-section-title__text {
    background: var(--gradient-main-dark);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-section-title__text {
            font-family: 'Noto Sans JP', sans-serif;
            font-weight: 700;
            font-size: 20px;
            line-height: 1;
            letter-spacing: 2px;
        }

.mdn-section-title__underline {
    width: 100%;
}

.mdn-section-title__underline {
    background: var(--gradient-main);
  }

.mdn-section-title__underline {
            height: 2px;
        }

@media (min-width: 1024px) {
            .mdn-section-title__underline {
                max-width: 1000px;
            }
        }

/* サブカテゴリナビ */

.mdn-subcategory-nav {
        margin-bottom: 40px;
    }

.mdn-subcategory-nav__wrapper {
    position: relative;
}

.mdn-subcategory-nav__wrapper {
    display: flex;
}

.mdn-subcategory-nav__wrapper {
    align-items: center;
}

.mdn-subcategory-nav__wrapper {
            padding: 0 8px;
            margin: 0 -1rem;
        }

@media (min-width: 1024px) {

.mdn-subcategory-nav__wrapper {
                padding: 0;
                margin: 0
        }
            }

.mdn-subcategory-nav__scroll-btn {
    position: absolute;
}

.mdn-subcategory-nav__scroll-btn {
    display: flex;
}

.mdn-subcategory-nav__scroll-btn {
    align-items: center;
}

.mdn-subcategory-nav__scroll-btn {
    justify-content: center;
}

.mdn-subcategory-nav__scroll-btn {
            top: 50%;
            transform: translateY(-50%);
            width: 48px;
            height: 48px;
            border: none;
            background: white;
            border-radius: 50%;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
            opacity: 0.5;
            cursor: pointer;
            transition: opacity 0.3s ease;
            z-index: 10;
        }

.mdn-subcategory-nav__scroll-btn:hover {
                opacity: 1;
            }

.mdn-subcategory-nav__scroll-btn--left {
                left: 16px;
            }

.mdn-subcategory-nav__scroll-btn--right {
                right: 16px;
            }

.mdn-subcategory-nav__scroll-btn svg {
                width: 12px;
                height: 20px;
            }

@media (min-width: 1024px) {
            .mdn-subcategory-nav__scroll-btn {
                display: none;
            }
        }

.mdn-subcategory-nav__container {
    display: flex;
}

.mdn-subcategory-nav__container {
    flex: 1 1 0%;
}

.mdn-subcategory-nav__container {
    align-items: center;
}

.mdn-subcategory-nav__container {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            padding: 0 24px;
        }

.mdn-subcategory-nav__container::-webkit-scrollbar {
                display: none;
            }

@media (min-width: 1024px) {

.mdn-subcategory-nav__container {
                overflow-x: visible;
                padding: 0
        }
            }

.mdn-subcategory-nav__item {
    position: relative;
}

.mdn-subcategory-nav__item {
    display: flex;
}

.mdn-subcategory-nav__item {
    flex-shrink: 0;
}

.mdn-subcategory-nav__item {
    flex-direction: column;
}

.mdn-subcategory-nav__item {
    align-items: center;
}

.mdn-subcategory-nav__item {
    justify-content: center;
}

.mdn-subcategory-nav__item {
    text-decoration-line: none;
}

.mdn-subcategory-nav__item {
            width: 110px;
            height: auto;
            gap: 5px;
            transition: all 0.3s ease;
        }

@media (min-width: 1024px) {

.mdn-subcategory-nav__item {
                width: 164px
        }
            }

.mdn-subcategory-nav__item:not(:last-child)::after {
                content: '';
                position: absolute;
                right: 0;
                top: 50%;
                transform: translateY(-50%);
                width: 1px;
                height: 107px;
                background-color: #DDDDDD;
            }

.mdn-subcategory-nav__item:hover .mdn-subcategory-nav__icon img {
                    opacity: 0.5;
                }

.mdn-subcategory-nav__item:hover .mdn-subcategory-nav__arrow {
                    transform: scaleX(0.5) translateY(-12px);
                }

.mdn-subcategory-nav__icon {
    position: relative;
}

.mdn-subcategory-nav__icon {
    flex-shrink: 0;
}

.mdn-subcategory-nav__icon {
            width: 50px;
            height: 50px;
        }

.mdn-subcategory-nav__icon img {
    pointer-events: none;
}

.mdn-subcategory-nav__icon img {
    position: absolute;
}

.mdn-subcategory-nav__icon img {
    inset: 0px;
}

.mdn-subcategory-nav__icon img {
    -o-object-fit: cover;
       object-fit: cover;
}

.mdn-subcategory-nav__icon img {
                width: 50px;
                height: 50px;
                transition: opacity 0.3s ease;
            }

.mdn-subcategory-nav__label {
    display: flex;
}

.mdn-subcategory-nav__label {
    width: 100%;
}

.mdn-subcategory-nav__label {
    flex-shrink: 0;
}

.mdn-subcategory-nav__label {
    flex-direction: column;
}

.mdn-subcategory-nav__label {
    align-items: center;
}

.mdn-subcategory-nav__label {
    text-align: center;
}

.mdn-subcategory-nav__label {
            font-family: 'Noto Sans JP', sans-serif;
            font-weight: 400;
            padding: 0 3.985px 4px;
            height: 38px;
        }

.mdn-subcategory-nav__label p {
    position: relative;
}

.mdn-subcategory-nav__label p {
    margin: 0px;
}

.mdn-subcategory-nav__label p {
    width: 100%;
}

.mdn-subcategory-nav__label p {
    flex-shrink: 0;
}

.mdn-subcategory-nav__label p {
    --tw-text-opacity: 1;
    color: rgb(40 40 40 / var(--tw-text-opacity, 1));
}

.mdn-subcategory-nav__label p {
                font-size: 13px;
                letter-spacing: 1.04px;
                line-height: normal;
            }

.mdn-subcategory-nav__label p:first-child {
                    margin-bottom: -4px;
                }

.mdn-subcategory-nav__arrow {
    position: relative;
}

.mdn-subcategory-nav__arrow {
    display: block;
}

.mdn-subcategory-nav__arrow {
    width: 100%;
}

.mdn-subcategory-nav__arrow {
    flex-shrink: 0;
}

.mdn-subcategory-nav__arrow {
    background: var(--gradient-main);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-subcategory-nav__arrow {
            font-size: 24px;
            letter-spacing: 1.92px;
            line-height: normal;
            margin: 0;
            transform: scaleX(0.5) translateY(-15px);
            text-align: center;
            height: 29px;
            transition: transform 0.3s ease;
        }

/* 商品一覧セクション */

.mdn-product-list-section {
        margin-top: 40px;
        padding-top: 24px;
    }

.mdn-product-list-section__header {
    display: flex;
}

.mdn-product-list-section__header {
    align-items: center;
}

.mdn-product-list-section__header {
    justify-content: space-between;
}

.mdn-product-list-section__header {
            margin-bottom: 16px;
        }

.mdn-product-list-section__count {
            font-size: 14px;
            color: var(--color-gray);
        }

.mdn-product-list-section__actions {
    display: flex;
}

.mdn-product-list-section__actions {
            margin-left: auto;
        }

.mdn-product-list-section__actions .ec-select {
    display: flex;
}

.mdn-product-list-section__actions .ec-select {
                gap: 16px;
            }

/* カスタムフィルターセレクト */

.mdn-product-list-section__actions .mdn-filter-select {
                font-family: 'Noto Sans JP', sans-serif;
                font-size: 14px;
                font-weight: 500;
                line-height: 1;
                padding: 8px 36px 8px 16px;
                border: 2px solid #9eacd8;
                border-radius: 19.5px;
                background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23376189' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
                background-size: 16px;
                -moz-appearance: none;
                     appearance: none;
                -webkit-appearance: none;
                cursor: pointer;
                min-width: 128px;
                height: 36px;
                transition: all 0.2s ease;
                color: #376189;
            }

.mdn-product-list-section__actions .mdn-filter-select:hover {
                    border-color: #7a67a9;
                }

.mdn-product-list-section__actions .mdn-filter-select:focus {
                    outline: none;
                    border-color: #7a67a9;
                    box-shadow: 0 0 0 2px rgba(122, 103, 169, 0.15);
                }

/* 人気キーワードセクション（ラベル左、タグ右） */

.mdn-keyword-search-tags {
        margin-bottom: 20px;
    }

@media (min-width: 1024px) {

.mdn-keyword-search-tags {
            margin-bottom: 48px
    }
        }

.mdn-keyword-search-tags__container {
            justify-content: space-between;
            align-items: flex-start;
        }

.mdn-keyword-search-tags__items {
    display: flex;
}

.mdn-keyword-search-tags__items {
    flex-wrap: wrap;
}

.mdn-keyword-search-tags__items {
            gap: 10px;
            justify-content: flex-start;
            flex: 1;
            margin-left: 0;
        }

/* ランキングセクション（カテゴリページでは王冠アイコン非表示） */

.mdn-product-ranking__crown-icon {
        display: none;
    }

.mdn-product-detail {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 1276px;
    margin: 20px auto 0;
    padding: 0 16px;
}

.mdn-product-detail__breadcrumb {
    display: flex;
}

.mdn-product-detail__breadcrumb {
    flex-wrap: wrap;
}

.mdn-product-detail__breadcrumb {
    align-items: center;
}

.mdn-product-detail__breadcrumb {
      gap: 8px;
      font-size: 13px;
      color: #808080;
      line-height: 1.8;
    }

.mdn-product-detail__breadcrumb a {
        color: #808080;
        text-decoration: none;
        transition: color 0.2s;
      }

.mdn-product-detail__breadcrumb a:hover {
          color: #282828;
        }

.mdn-product-detail__content {
      display: flex !important;
      flex-direction: row !important;
      gap: 47px;
    }

/* SP専用ヘッダー（タイトル・お気に入り・タグ）- 画像の上に表示 */

.mdn-product-detail__sp-header {
      display: none;  /* PC: 非表示 */
      flex-direction: column;
      gap: 12px;
      width: 100%;
      order: 0;  /* 最初に表示 */
    }

.mdn-product-detail__image-section {
      display: flex !important;
      flex-direction: column !important;
      flex-shrink: 1 !important;
      flex-basis: 401px !important;
      max-width: 401px !important;
      gap: 33px;
      order: 1 !important;
    }

.mdn-product-detail__info-section {
    display: flex;
}

.mdn-product-detail__info-section {
    flex: 1 1 0%;
}

.mdn-product-detail__info-section {
    flex-direction: column;
}

.mdn-product-detail__info-section {
      gap: 12px;
      min-width: 850px;
      order: 2 !important;
    }

.mdn-product-detail__main-image {
      --main-image-size: 360px;
      width: var(--main-image-size) !important;
      height: var(--main-image-size) !important;
      border-radius: 8px;
      overflow: hidden !important;
      position: relative;
    }

.mdn-product-detail__main-image .item_visual,
      .mdn-product-detail__main-image .slide-item,
      .mdn-product-detail__main-image .slick-slider,
      .mdn-product-detail__main-image .slick-list,
      .mdn-product-detail__main-image .slick-slide {
        width: var(--main-image-size) !important;
        height: var(--main-image-size) !important;
      }

.mdn-product-detail__main-image .item_visual {
        margin-bottom: 0 !important;
      }

.mdn-product-detail__main-image .slide-item img,
      .mdn-product-detail__main-image .slick-slide img {
        width: var(--main-image-size) !important;
        height: var(--main-image-size) !important;
        -o-object-fit: contain !important;
           object-fit: contain !important;
      }

.mdn-product-detail__main-image .slide-item img {
        transform: none !important;
      }

.mdn-product-detail__main-image .slick-dots {
        display: none !important;
      }

.mdn-product-detail__thumbnails {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 19px 24px !important;
      width: 100% !important;
      max-width: 401px !important;
    }

.mdn-product-detail__thumbnail {
      flex: 0 0 60px !important;
      width: 60px !important;
      height: 60px !important;
      padding-top: 0 !important;
      border: 2px solid transparent;
      border-radius: 8px;
      box-shadow: 0px 0px 4px 4px rgba(0, 0, 0, 0.04);
      overflow: hidden;
      cursor: pointer;
      transition: border-color 0.2s;
    }

.mdn-product-detail__thumbnail img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
      }

.mdn-product-detail__thumbnail--active,
      .mdn-product-detail__thumbnail:hover {
        border-color: transparent;
        background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #8BB3D9 -0.7%, #B2A4D6 100%);
        background-origin: border-box;
        background-clip: padding-box, border-box;
      }

.mdn-product-detail__package-notice {
      display: block;
      font-size: 12px;
      font-weight: 500;
      line-height: 1.7;
      letter-spacing: 0.48px;
      color: #282828;
      text-align: center;
      text-decoration: underline;
    }

.mdn-product-detail__package-notice:hover {
        color: #356fa7;
      }

.mdn-product-detail__expiration-notice {
      font-size: 13px;
      font-weight: 500;
      color: #282828;
      text-decoration: underline;
    }

.mdn-product-detail__expiration-notice:hover {
        color: #356fa7;
      }

.mdn-product-detail__title {
      font-size: 24px;
      font-weight: 700;
      line-height: 2;
      letter-spacing: 0.96px;
      color: #282828;
      margin: 0;
    }

.mdn-product-detail__rating-row {
    display: flex;
}

.mdn-product-detail__rating-row {
    flex-wrap: wrap;
}

.mdn-product-detail__rating-row {
    align-items: center;
}

.mdn-product-detail__rating-row {
      gap: 9px;
      margin-top: 4px;
    }

.mdn-product-detail__rating {
    display: flex;
}

.mdn-product-detail__rating {
    align-items: center;
}

.mdn-product-detail__rating {
    text-decoration-line: none;
}

.mdn-product-detail__rating {
      gap: 4px;
      transition: opacity 0.2s;
    }

.mdn-product-detail__rating:hover {
        opacity: 0.7;
      }

.mdn-product-detail__rating-stars {
      font-size: 15px;
      font-weight: 700;
      color: #f8a67f;
      letter-spacing: 0.02em;
    }

.mdn-product-detail__rating-count {
      font-size: 12px;
      color: #465a68;
    }

.mdn-product-detail__rating-separator {
      font-size: 13px;
      color: #282828;
    }

.mdn-product-detail__favorite-inline {
    display: flex;
}

.mdn-product-detail__favorite-inline {
    align-items: center;
}

.mdn-product-detail__favorite-inline {
      gap: 8px;
      cursor: pointer;
      transition: opacity 0.2s;
    }

.mdn-product-detail__favorite-inline:hover {
        opacity: 0.7;
      }

.mdn-product-detail__favorite-icon {
      width: 20px;
      height: 19px;
      flex-shrink: 0;
    }

.mdn-product-detail__favorite-icon path {
        transition: fill 0.2s;
      }

.mdn-product-detail__favorite-icon--filled path {
        fill: #FFD700 !important;
      }

.mdn-product-detail__favorite-text {
      font-size: 12px;
      color: #465a68;
    }

.mdn-product-detail__categories {
    display: flex;
}

.mdn-product-detail__categories {
    flex-wrap: wrap;
}

.mdn-product-detail__categories {
      gap: 10px;
      list-style: none;
      margin: 0;
      padding: 0;
    }

.mdn-product-detail__category-tag {
    display: inline-flex;
}

.mdn-product-detail__category-tag {
    align-items: center;
}

.mdn-product-detail__category-tag {
    justify-content: center;
}

.mdn-product-detail__category-tag {
    text-decoration-line: none;
}

.mdn-product-detail__category-tag {
      height: 25px;
      font-size: 13px;
      font-weight: 700;
      padding: 7px 15px;
      border: 1px solid #9eacd8;
      border-radius: 19.5px;
      background: #fff;
      background-image: var(--gradient-main-dark);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      transition: all 0.2s;
    }

.mdn-product-detail__category-tag:hover {
        border-color: #7a67a9;
        opacity: 0.8;
      }

.mdn-product-detail__badges {
    display: flex;
}

.mdn-product-detail__badges {
    flex-wrap: wrap;
}

.mdn-product-detail__badges {
    align-items: center;
}

.mdn-product-detail__badges {
      gap: 25px;
      margin-top: 8px;
    }

.mdn-product-detail__badge {
    display: flex;
}

.mdn-product-detail__badge {
    align-items: center;
}

.mdn-product-detail__badge {
      gap: 8px;
    }

.mdn-product-detail__badge:first-child {
        gap: 11px;
      }

.mdn-product-detail__badge-icon {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      -o-object-fit: cover;
         object-fit: cover;
    }

.mdn-product-detail__badge-icon--pharmacist {
        border: 1px solid #eee;
      }

.mdn-product-detail__badge-text {
      font-size: 13px;
      color: #282828;
      line-height: 1;
    }

.mdn-product-detail__variants {
    display: flex;
}

.mdn-product-detail__variants {
    flex-wrap: wrap;
}

.mdn-product-detail__variants {
      gap: 19px;
      margin-top: 8px;
    }

.mdn-product-detail__variant-card {
    display: flex;
}

.mdn-product-detail__variant-card {
    flex-direction: column;
}

.mdn-product-detail__variant-card {
    align-items: center;
}

.mdn-product-detail__variant-card {
      gap: 12px;
      width: 100px;
      cursor: pointer;
      transition: all 0.2s;
    }

.mdn-product-detail__variant-card:hover .mdn-product-detail__variant-card-box {
        border-color: transparent;
        background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #8BB3D9 -0.7%, #B2A4D6 100%);
        background-origin: border-box;
        background-clip: padding-box, border-box;
      }

.mdn-product-detail__variant-card--active .mdn-product-detail__variant-card-box, .mdn-product-detail__variant-card.selected .mdn-product-detail__variant-card-box {
          border-width: 3px;
          border-color: transparent;
          background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #e8a4c6 0%, #f7b36b 100%);
          background-origin: border-box;
          background-clip: padding-box, border-box;
        }

.mdn-product-detail__variant-card--active .mdn-product-detail__variant-name, .mdn-product-detail__variant-card.selected .mdn-product-detail__variant-name {
          background: linear-gradient(90deg, #e8a4c6 0.695%, #f7b36b 100%);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
          background-clip: text;
        }

.mdn-product-detail__variant-card--set {
      width: auto;
      min-width: 132px;
    }

.mdn-product-detail__variant-card--set .mdn-product-detail__variant-card-box {
        width: auto;
        min-width: 132px;
        padding: 4px 16px 2px;
      }

.mdn-product-detail__variant-card--set .mdn-product-detail__variant-name {
        font-size: 14px;
        line-height: 1.2;
        letter-spacing: 0;
        white-space: nowrap;
      }

.mdn-product-detail__variant-card-box {
    display: flex;
}

.mdn-product-detail__variant-card-box {
    align-items: center;
}

.mdn-product-detail__variant-card-box {
    justify-content: center;
}

.mdn-product-detail__variant-card-box {
      width: 100px;
      height: 87px;
      padding: 4px 24px 2px;
      background: #fff;
      border: 1px solid transparent;
      background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #8BB3D9 -0.7%, #B2A4D6 100%);
      background-origin: border-box;
      background-clip: padding-box, border-box;
      border-radius: 8px;
      box-shadow: 0px 0px 4px 4px rgba(0, 0, 0, 0.05);
      transition: all 0.2s;
    }

.mdn-product-detail__variant-card-inner {
    display: flex;
}

.mdn-product-detail__variant-card-inner {
    width: 100%;
}

.mdn-product-detail__variant-card-inner {
    flex-direction: column;
}

.mdn-product-detail__variant-card-inner {
    align-items: center;
}

.mdn-product-detail__variant-card-inner {
      gap: 1px;
    }

.mdn-product-detail__variant-name {
      order: -1;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: 0.64px;
      background: linear-gradient(90deg, #8bb3d9 0.695%, #b2a4d6 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-align: center;
    }

.mdn-product-detail__variant-image {
      width: 47px;
      height: 47px;
      -o-object-fit: contain;
         object-fit: contain;
    }

.mdn-product-detail__variant-price-info {
    display: flex;
}

.mdn-product-detail__variant-price-info {
    align-items: flex-end;
}

.mdn-product-detail__variant-price-info {
    white-space: nowrap;
}

.mdn-product-detail__variant-price-info {
      gap: 7px;
    }

.mdn-product-detail__variant-unit {
      font-size: 14px;
      font-weight: 500;
      color: #465a68;
      letter-spacing: 0.56px;
    }

.mdn-product-detail__variant-price {
      font-weight: 700;
      color: #ff0040;
    }

.mdn-product-detail__variant-price .yen {
        font-size: 12px;
        letter-spacing: 0.48px;
      }

.mdn-product-detail__variant-price .num {
        font-size: 16px;
        letter-spacing: 0.64px;
      }

.mdn-product-detail__variant-price .suffix {
        font-size: 12px;
      }

.mdn-product-detail__variant-card--disabled {
      opacity: 0.5;
      cursor: not-allowed;
      pointer-events: none;
    }

.mdn-product-detail__variant-stock-out {
      font-size: 11px;
      color: #ef4444;
      font-weight: 700;
    }

/* セット内容アイテム（price-table ブロック内に表示） */

.mdn-product-detail__set-items {
      padding: 0 4px;
      margin: 4px 0 12px;
    }

.mdn-product-detail__set-item {
    display: flex;
}

.mdn-product-detail__set-item {
    align-items: center;
}

.mdn-product-detail__set-item {
      gap: 14px;
      padding: 14px 0;
      border-bottom: 1px solid #eef0f4;
    }

.mdn-product-detail__set-item:last-child {
        border-bottom: none;
      }

.mdn-product-detail__set-item-thumb {
      width: 64px;
      height: 64px;
      flex-shrink: 0;
      border-radius: 8px;
      border: 1px solid #e5e7eb;
      overflow: hidden;
      display: block;
    }

.mdn-product-detail__set-item-thumb img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
      }

.mdn-product-detail__set-item-thumb-placeholder {
      display: block;
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, #f3f7fb 0%, #f7f6fb 100%);
    }

.mdn-product-detail__set-item-meta {
      flex: 1;
      min-width: 0;
    }

.mdn-product-detail__set-item-name {
      display: inline-block;
      font-size: 14px;
      font-weight: 600;
      color: #376189;
      text-decoration: none;
      margin-bottom: 4px;
    }

.mdn-product-detail__set-item-name:hover {
        text-decoration: underline;
      }

.mdn-product-detail__set-item-unit {
      font-size: 12px;
      color: #6b7280;
      font-variant-numeric: tabular-nums;
    }

.mdn-product-detail__bulk-table-wrapper {
      margin-top: 18px;
      overflow-x: auto;
    }

.mdn-product-detail__features {
    display: flex;
}

.mdn-product-detail__features {
    justify-content: space-between;
}

.mdn-product-detail__features {
      flex-wrap: nowrap;
      padding: 10px 0;
      margin-top: 18px;
    }

.mdn-product-detail__feature-item {
    display: flex;
}

.mdn-product-detail__feature-item {
    flex-direction: column;
}

.mdn-product-detail__feature-item {
    align-items: center;
}

.mdn-product-detail__feature-item {
      gap: 16px;
      width: 102px;
    }

.mdn-product-detail__feature-icon {
      width: 73px;
      height: 56px;
      -o-object-fit: contain;
         object-fit: contain;
    }

.mdn-product-detail__feature-text {
      font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
      font-size: 14px;
      font-weight: 500;
      text-align: center;
      color: #356fa7;
      line-height: 1.4;
      letter-spacing: 0.56px;
    }

.mdn-product-detail__actions {
      position: absolute;
      left: -9999px;
      opacity: 0;
      pointer-events: none;
    }

.mdn-product-detail__quantity-wrapper {
    display: flex;
}

.mdn-product-detail__quantity-wrapper {
    align-items: center;
}

.mdn-product-detail__quantity-wrapper {
      gap: 12px;
      margin-bottom: 8px;
    }

.mdn-product-detail__quantity-wrapper label {
        font-size: 14px;
        font-weight: 500;
        color: #282828;
      }

.mdn-product-detail__quantity-wrapper input[type="number"] {
        width: 80px;
        height: 40px;
        padding: 0 12px;
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 16px;
        text-align: center;
      }

.mdn-product-detail__cart-btn {
    display: flex;
}

.mdn-product-detail__cart-btn {
    align-items: center;
}

.mdn-product-detail__cart-btn {
    justify-content: center;
}

.mdn-product-detail__cart-btn {
      width: 100%;
      height: 55px;
      background: var(--gradient-main);
      color: #fff;
      border: none;
      border-radius: 8px;
      font-size: 18px;
      font-weight: 700;
      cursor: pointer;
      transition: opacity 0.2s;
    }

.mdn-product-detail__cart-btn:hover {
        opacity: 0.9;
      }

.mdn-product-detail__cart-btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
      }

.mdn-product-detail__short-description {
      font-size: 15px;
      line-height: 1.6;
      letter-spacing: 0.6px;
      color: #282828;
    }

.mdn-product-detail__experience-section {
    display: flex;
}

.mdn-product-detail__experience-section {
    flex-direction: column;
}

.mdn-product-detail__experience-section {
      gap: 16px;
      padding: 17px 19px;
      background: linear-gradient(90deg, #f3f7fb 0.695%, #f7f6fb 100%);
      border-radius: 8px;
    }

.mdn-product-detail__experience-title {
      font-size: 14px;
      font-weight: 700;
      line-height: 1.25;
      letter-spacing: 1.4px;
      background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      margin: 0;
    }

.mdn-product-detail__experience-links {
    display: flex;
}

.mdn-product-detail__experience-links {
    flex-direction: column;
}

.mdn-product-detail__experience-links {
      gap: 9px;
    }

.mdn-product-detail__experience-link {
    display: inline-flex;
}

.mdn-product-detail__experience-link {
    align-items: center;
}

.mdn-product-detail__experience-link {
    justify-content: center;
}

.mdn-product-detail__experience-link {
      height: 25px;
      padding: 7px 14px;
      background: #fff;
      border: 1px solid #9eacd8;
      border-radius: 19.5px;
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.2s;
      width: -moz-fit-content;
      width: fit-content;
    }

.mdn-product-detail__experience-link span {
    background: var(--gradient-main-dark);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

.mdn-product-detail__experience-link:hover {
        border-color: #7a67a9;
        opacity: 0.8;
      }

/* 価格テーブルのみ1299px以下でSPレイアウト */

@media (max-width: 1299px) {
      .mdn-product-detail__info-section {
        min-width: 0;
      }

      .mdn-product-detail .price-table-header__title {
        font-size: 14px;
      }

      .mdn-product-detail .price-table-wrapper {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .mdn-product-detail .price-table {
        display: block;
        padding: 0 !important;
        background: transparent;
        max-width: 400px;
      }

        .mdn-product-detail .price-table tbody {
          display: flex;
          flex-direction: column;
          gap: 0;
        }

        .mdn-product-detail .price-table__header-row {
          display: none;
        }

        .mdn-product-detail .price-table tr:not(.price-table__header-row) {
          display: grid;
          grid-template-columns: auto minmax(36px, auto) 1fr auto;
          grid-template-rows: auto 0 auto;
          grid-template-areas:
            "set discount regular cart"
            "set discount sale    cart"
            "set discount unit    cart";
          gap: 0px 2px;
          align-items: center;
          background: linear-gradient(90deg, #f3f7fb 0.695%, #f7f6fb 100%);
          border-radius: 8px;
          padding: 10px 12px;
        }

        .mdn-product-detail .price-table th, .mdn-product-detail .price-table td {
          display: block;
          padding: 0 !important;
          text-align: left;
          font-size: 13px;
          white-space: normal;
        }

        .mdn-product-detail .price-table__set {
          grid-area: set;
          display: flex !important;
          flex-direction: column !important;
          align-items: center;
          text-align: center;
          padding-left: 0 !important;
          width: -moz-fit-content;
          width: fit-content;
          max-width: 70px;
        }

          .mdn-product-detail .price-table__set .price-table__set-main {
            display: block !important;
            font-weight: 700;
            font-size: 14px;
            min-width: auto !important;
          }

          .mdn-product-detail .price-table__set .price-table__set-sub {
            display: block !important;
            font-size: 10px;
            color: #666;
            min-width: auto !important;
          }

        .mdn-product-detail .price-table__discount-rate {
          grid-area: discount;
          justify-self: center;
        }

          .mdn-product-detail .price-table__discount-rate .discount-rate {
            flex-direction: column !important;
            width: 36px !important;
            height: 36px !important;
            aspect-ratio: 1/1 !important;
            padding: 3px !important;
            gap: 0;
            border-radius: 3px;
            border-width: 1px !important;
          }

            .mdn-product-detail .price-table__discount-rate .discount-rate .percent {
              font-size: 12px !important;
              line-height: 1.2 !important;
            }

              .mdn-product-detail .price-table__discount-rate .discount-rate .percent .small {
                font-size: 8px !important;
              }

            .mdn-product-detail .price-table__discount-rate .discount-rate .off {
              font-size: 7px !important;
              line-height: 1 !important;
            }

        .mdn-product-detail .price-table__unit-price {
          grid-area: unit;
          text-align: left;
          height: 16px;
        }

          .mdn-product-detail .price-table__unit-price::before {
            content: "一錠 ";
            font-size: 10px;
            color: #666;
          }

          .mdn-product-detail .price-table__unit-price .tokka-1 {
            display: inline;
          }

            .mdn-product-detail .price-table__unit-price .tokka-1 .num {
              font-size: 12px !important;
            }

            .mdn-product-detail .price-table__unit-price .tokka-1 .yen {
              font-size: 12px !important;
            }

        .mdn-product-detail .price-table__point {
          grid-area: cart;
          grid-row: 1;
          text-align: center;
          height: 16px;
        }
            .mdn-product-detail .price-table__point .point-value .num {
              font-size: 12px !important;
            }

            .mdn-product-detail .price-table__point .point-value .unit {
              font-size: 12px !important;
            }

        .mdn-product-detail .price-table__regular-price {
          grid-area: regular;
          text-align: left;
          height: 30px;
        }

          .mdn-product-detail .price-table__regular-price .regular-price {
            font-size: 12px !important;
          }

        .mdn-product-detail .price-table__sale-price {
          grid-area: sale;
          text-align: left;
        }

          .mdn-product-detail .price-table__sale-price .tokka .num {
            font-size: 18px !important;
          }

          .mdn-product-detail .price-table__sale-price .tokka .yen {
            font-size: 10px !important;
          }

        .mdn-product-detail .price-table__cart {
          grid-area: cart;
          grid-row: 2 / 4;
          display: flex;
          justify-content: center;
          align-items: center;
        }

          .mdn-product-detail .price-table__cart .price-table-cart {
            font-size: 12px !important;
            padding: 6px 10px;
            height: auto;
            white-space: nowrap;
          }

      .mdn-product-detail .price-table-stock__item {
        flex-wrap: wrap;
        white-space: nowrap;
        row-gap: 0;
      }
    }

@media (max-width: 1023px) {

.mdn-product-detail {
      padding: 0;
      margin-top: 16px;

      /* SP専用ヘッダー: SPでは表示 */

      /* PC専用要素: SPでは非表示 */

      /* 1. パンくずリスト */

      /* 2. 評価・お気に入り行 */

      /* 3. カテゴリタグ */

      /* 4. バッジ */

      /* 5. 規格カード（横スクロール化） */

      /* 6. 体験談セクション */

      /* 7. 商品説明 */

      /* 8. 価格テーブル改善 - カード形式（CSS Grid） */

      /* 9. 在庫情報 */
    }

      .mdn-product-detail__content {
        flex-direction: column !important;
        gap: 24px;
      }
      .mdn-product-detail__sp-header {
        display: flex;
      }
      .mdn-product-detail__title--pc,
      .mdn-product-detail__rating-row--pc,
      .mdn-product-detail__categories--pc {
        display: none !important;
      }

      .mdn-product-detail__image-section {
        width: 100% !important;
        max-width: 100% !important;
        gap: 16px;
      }

      .mdn-product-detail__main-image {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
      }

        .mdn-product-detail__main-image .slick-dots {
          display: block !important;
        }

      .mdn-product-detail__thumbnails {
        display: none;
      }

      .mdn-product-detail__title {
        font-size: 24px;
      }
      .mdn-product-detail__breadcrumb {
        font-size: 12px;
        gap: 6px;
      }
      .mdn-product-detail__rating-row {
        gap: 8px;
        margin-top: 8px;
      }
      .mdn-product-detail__categories {
        gap: 8px;
      }

      .mdn-product-detail__category-tag {
        font-size: 12px;
        padding: 5px 12px;
        height: 22px;
      }
      .mdn-product-detail__badges {
        gap: 16px;
        margin-top: 12px;
      }

      .mdn-product-detail__badge-icon {
        width: 28px;
        height: 28px;
      }

      .mdn-product-detail__badge-text {
        font-size: 12px;
      }
      .mdn-product-detail__variants {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 12px;
        margin: 12px -16px 0;
        padding: 0 16px;
      }

        .mdn-product-detail__variants::-webkit-scrollbar {
          display: none;
        }

      .mdn-product-detail__variant-card {
        flex-shrink: 0;
        width: 90px;
      }

      .mdn-product-detail__variant-card-box {
        width: 90px;
        height: 80px;
        padding: 4px 16px;
      }

      .mdn-product-detail__variant-card--set {
        width: auto;
        min-width: 118px;
      }

        .mdn-product-detail__variant-card--set .mdn-product-detail__variant-card-box {
          width: auto;
          min-width: 118px;
          padding: 4px 12px;
        }

        .mdn-product-detail__variant-card--set .mdn-product-detail__variant-name {
          font-size: 12px;
          line-height: 1.2;
          white-space: nowrap;
        }

      .mdn-product-detail__variant-name {
        font-size: 14px;
      }

      .mdn-product-detail__variant-image {
        width: 40px;
        height: 40px;
      }

      .mdn-product-detail__set-items {
        margin: 4px 0 10px;
      }

      .mdn-product-detail__set-item {
        gap: 10px;
        padding: 10px 0;
      }

      .mdn-product-detail__set-item-thumb {
        width: 48px;
        height: 48px;
      }

      .mdn-product-detail__set-item-name {
        font-size: 13px;
      }

      .mdn-product-detail__set-item-unit {
        font-size: 11px;
      }
      .mdn-product-detail__experience-section {
        padding: 14px 16px;
      }

      .mdn-product-detail__experience-title {
        font-size: 13px;
      }
      .mdn-product-detail__short-description {
        font-size: 14px;
      }

      .mdn-product-detail__features {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px 16px;
      }

      .mdn-product-detail__feature-item {
        width: calc(33.333% - 12px);
      }

      .mdn-product-detail__feature-icon {
        width: 40px;
        height: 31px; /* PC 73:56 比率維持 */
      }

      .mdn-product-detail__feature-text {
        font-size: 10px;
        white-space: nowrap;
      }
      .mdn-product-detail .price-table-header__title {
        font-size: 14px;
      }

      .mdn-product-detail .price-table-wrapper {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .mdn-product-detail .price-table {
        display: block;
        padding: 0 !important;
        background: transparent;

        /* セット名 */

        /* 一錠あたり */

        /* ポイント */

        /* 通常価格 */

        /* カートボタン */
      }

        .mdn-product-detail .price-table tbody {
          display: flex;
          flex-direction: column;
          gap: 0;
        }

        /* ヘッダー非表示 */
        .mdn-product-detail .price-table__header-row {
          display: none;
        }

        /* 各行をカードに - CSS Grid 4列3行 */
        .mdn-product-detail .price-table tr:not(.price-table__header-row) {
          display: grid;
          grid-template-columns: auto minmax(36px, auto) 1fr auto;
          grid-template-rows: auto 0 auto;
          grid-template-areas:
            "set discount regular cart"
            "set discount sale    cart"
            "set discount unit    cart";
          gap: 0px 2px;
          align-items: center;
          background: linear-gradient(90deg, #f3f7fb 0.695%, #f7f6fb 100%);
          border-radius: 8px;
          padding: 10px 12px;
        }

        .mdn-product-detail .price-table th, .mdn-product-detail .price-table td {
          display: block;
          padding: 0 !important;
          text-align: left;
          font-size: 13px;
          white-space: normal;
        }
        /* 1列目: セット名 */
        .mdn-product-detail .price-table__set {
          grid-area: set;
          display: flex !important;
          flex-direction: column !important;
          align-items: center;
          text-align: center;
          padding-left: 0 !important;
          width: -moz-fit-content;
          width: fit-content;
          max-width: 70px;
        }

          .mdn-product-detail .price-table__set .price-table__set-main {
            display: block !important;
            font-weight: 700;
            font-size: 14px;
            min-width: auto !important;
          }

          .mdn-product-detail .price-table__set .price-table__set-sub {
            display: block !important;
            font-size: 10px;
            color: #666;
            min-width: auto !important;
          }

        /* 2列目: 割引率バッジ - 縦並び */
        .mdn-product-detail .price-table__discount-rate {
          grid-area: discount;
          justify-self: center;
        }

          .mdn-product-detail .price-table__discount-rate .discount-rate {
            flex-direction: column !important;
            width: 36px !important;
            height: 36px !important;
            aspect-ratio: 1/1 !important;
            padding: 3px !important;
            gap: 0;
            border-radius: 3px;
            border-width: 1px !important;
          }

            .mdn-product-detail .price-table__discount-rate .discount-rate .percent {
              font-size: 12px !important;
              line-height: 1.2 !important;
            }

              .mdn-product-detail .price-table__discount-rate .discount-rate .percent .small {
                font-size: 8px !important;
              }

            .mdn-product-detail .price-table__discount-rate .discount-rate .off {
              font-size: 7px !important;
              line-height: 1 !important;
            }
        /* 3列目3行目: 一錠あたり */
        .mdn-product-detail .price-table__unit-price {
          grid-area: unit;
          text-align: left;
          height: 16px;
        }

          .mdn-product-detail .price-table__unit-price::before {
            content: "一錠 ";
            font-size: 10px;
            color: #666;
          }

          .mdn-product-detail .price-table__unit-price .tokka-1 {
            display: inline;
          }

            .mdn-product-detail .price-table__unit-price .tokka-1 .num {
              font-size: 12px !important;
            }

            .mdn-product-detail .price-table__unit-price .tokka-1 .yen {
              font-size: 12px !important;
            }
        /* 4列目: ポイント - cartエリア上部 */
        .mdn-product-detail .price-table__point {
          grid-area: cart;
          grid-row: 1;
          text-align: center;
          height: 16px;
        }
            .mdn-product-detail .price-table__point .point-value .num {
              font-size: 12px !important;
            }

            .mdn-product-detail .price-table__point .point-value .unit {
              font-size: 12px !important;
            }
        /* 3列目1行目: 通常価格 */
        .mdn-product-detail .price-table__regular-price {
          grid-area: regular;
          text-align: left;
          height: 30px;
        }

          .mdn-product-detail .price-table__regular-price .regular-price {
            font-size: 12px !important;
          }

        /* 3列目2行目: 販売価格 */
        .mdn-product-detail .price-table__sale-price {
          grid-area: sale;
          text-align: left;
        }

          .mdn-product-detail .price-table__sale-price .tokka .num {
            font-size: 18px !important;
          }

          .mdn-product-detail .price-table__sale-price .tokka .yen {
            font-size: 10px !important;
          }
        /* 4列目: カートボタン - cartエリア下部（2-3行目） */
        .mdn-product-detail .price-table__cart {
          grid-area: cart;
          grid-row: 2 / 4;
          display: flex;
          justify-content: center;
          align-items: center;
        }

          .mdn-product-detail .price-table__cart .price-table-cart {
            font-size: 12px !important;
            padding: 6px 10px;
            height: auto;
            white-space: nowrap;
          }
      .mdn-product-detail .price-table-stock__item {
        flex-wrap: wrap;
        white-space: nowrap;
        row-gap: 0;
      }

    }

@media (max-width: 767px) {
      .mdn-product-detail__bulk-table-wrapper {
        -webkit-overflow-scrolling: touch;
      }
    }

.mdn-product-detail .price-table-wrapper {
    display: flex;
}

.mdn-product-detail .price-table-wrapper {
    width: 100%;
}

.mdn-product-detail .price-table-wrapper {
    flex-direction: column;
}

.mdn-product-detail .price-table-wrapper {
      gap: 8px;
    }

.mdn-product-detail .price-table-header {
    display: flex;
}

.mdn-product-detail .price-table-header {
    align-items: center;
}

.mdn-product-detail .price-table-header {
      padding: 6px 13px;
      background: linear-gradient(90deg, rgba(139, 179, 217, 0.3) 0.695%, rgba(178, 164, 214, 0.3) 100%);
      border-radius: 8px;
      height: -moz-fit-content;
      height: fit-content;
      margin-bottom: 8px;
    }

.mdn-product-detail .price-table-header__title {
        font-size: 18px;
        font-weight: 700;
        color: #254e72;
        letter-spacing: 0.72px;
        line-height: 1.6;
      }

.mdn-product-detail .price-table-stock {
    display: flex;
}

.mdn-product-detail .price-table-stock {
    flex-direction: column;
}

.mdn-product-detail .price-table-stock {
      gap: 3px;
      padding-left: 11px;
      margin-bottom: 8px;
    }

.mdn-product-detail .price-table-stock__status {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0.64px;
        background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        margin: 0;
      }

.mdn-product-detail .price-table-stock__status--out {
          background: linear-gradient(90deg, #808080 0%, #a0a0a0 100%);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
          background-clip: text;
        }

.mdn-product-detail .price-table-stock__info {
    display: flex;
}

.mdn-product-detail .price-table-stock__info {
    flex-direction: column;
}

.mdn-product-detail .price-table-stock__info {
        gap: 3px;
      }

.mdn-product-detail .price-table-stock__item {
    display: flex;
}

.mdn-product-detail .price-table-stock__item {
    align-items: center;
}

.mdn-product-detail .price-table-stock__item {
        gap: 10px;
        font-size: 13px;
        color: #282828;
        letter-spacing: 0.52px;
        line-height: 1.6;
        margin: 0;
      }

.mdn-product-detail .price-table-stock__item strong {
          font-weight: 700;
          margin-right: -0.4em;
        }

.mdn-product-detail .price-table-stock__dot {
        width: 6px;
        height: 6px;
        background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
        border-radius: 50%;
        flex-shrink: 0;
      }

.mdn-product-detail .price-table {
      width: 100%;
      background: linear-gradient(90deg, #f3f7fb 0.695%, #f7f6fb 100%);
      border-radius: 8px;
      padding: 16px 20px;
      border-collapse: collapse;

      /* text-align: left を削除して中央揃えに統一 */
    }

.mdn-product-detail .price-table th,
      .mdn-product-detail .price-table td {
        padding: 12px 8px;
        text-align: center;
        vertical-align: middle;
        font-size: 15px;
        line-height: 1.5;
        letter-spacing: 0.64px;
        color: #282828;
        white-space: nowrap;
      }

.mdn-product-detail .price-table th:first-child,
      .mdn-product-detail .price-table td:first-child {
        /* text-align: left; */
      }

.mdn-product-detail .price-table__header-row {
        border-bottom: 1px solid #ddd;
      }

.mdn-product-detail .price-table__header-row th {
          background: transparent;
          font-size: 14px;
          font-weight: 700;
          padding-bottom: 12px;
        }

.mdn-product-detail .price-table__point-header {
        line-height: 1.3;
      }

.mdn-product-detail .price-table__point-rate {
        font-size: 11px;
      }

.mdn-product-detail .price-table__set {
        font-weight: 500;
        text-align: left;
        padding-left: 20px;
      }

.mdn-product-detail .price-table__set-main {
          display: inline-block;
          min-width: 35px;
          font-weight: 700;
        }

.mdn-product-detail .price-table__set-sub {
          display: inline-block;
          min-width: 60px;
          font-size: 13px;
        }

.mdn-product-detail .price-table__regular-price .regular-price {
        font-size: 14px;
        color: #666;
        text-decoration: line-through;
        letter-spacing: 0.56px;
      }

.mdn-product-detail .price-table__discount-rate .discount-rate {
    display: inline-flex;
}

.mdn-product-detail .price-table__discount-rate .discount-rate {
    flex-direction: column;
}

.mdn-product-detail .price-table__discount-rate .discount-rate {
    align-items: center;
}

.mdn-product-detail .price-table__discount-rate .discount-rate {
    justify-content: center;
}

.mdn-product-detail .price-table__discount-rate .discount-rate {
        width: 42px;
        height: 42px;
        aspect-ratio: 1 / 1;
        padding: 0;
        background: transparent;
        border: 2px solid #f08097;
        border-radius: 8px;
        font-weight: 900;
        line-height: 1.1;
        color: #f08097;
      }

.mdn-product-detail .price-table__discount-rate .discount-rate .percent {
          font-size: 18px;
        }

.mdn-product-detail .price-table__discount-rate .discount-rate .percent .small {
            font-size: 12px;
          }

.mdn-product-detail .price-table__discount-rate .discount-rate .off {
          font-size: 11px;
        }

.mdn-product-detail .price-table__sale-price .tokka {
        font-weight: 700;
        color: #ff0040;
        white-space: nowrap;
      }

.mdn-product-detail .price-table__sale-price .tokka .num {
          font-size: 20px;
          margin-right: 1px;
        }

.mdn-product-detail .price-table__sale-price .tokka .yen {
          font-size: 12px;
        }

.mdn-product-detail .price-table__unit-price .tokka-1 {
        font-weight: 500;
        color: #ff0040;
        white-space: nowrap;
      }

.mdn-product-detail .price-table__unit-price .tokka-1 .num {
          font-size: 20px;
          margin-right: 1px;
        }

.mdn-product-detail .price-table__unit-price .tokka-1 .yen {
          font-size: 12px;
        }

.mdn-product-detail .price-table__point .point-value {
        background: linear-gradient(90deg, #376189 0.695%, #7a67a9 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
      }

.mdn-product-detail .price-table__point .point-value .num {
          font-size: 18px;
          font-weight: 700;
          margin-right: 2px;
        }

.mdn-product-detail .price-table__point .point-value .unit {
          font-size: 12px;
          font-weight: 500;
        }

.mdn-product-detail .price-table__cart .price-table-cart {
    display: inline-flex;
}

.mdn-product-detail .price-table__cart .price-table-cart {
    align-items: center;
}

.mdn-product-detail .price-table__cart .price-table-cart {
    justify-content: center;
}

.mdn-product-detail .price-table__cart .price-table-cart {
        gap: 3px;
        height: 34px;
        padding: 4px 16px;
        background: linear-gradient(90deg, #e8a4c6 0%, #f7b36b 100%);
        color: #fff;
        border: none;
        border-radius: 30px;
        font-size: 16px;
        font-weight: 700;
        cursor: pointer;
        text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
        white-space: nowrap;
      }

.mdn-product-detail .price-table__cart .price-table-cart .cart-icon {
          width: 18px;
          height: 18px;
          flex-shrink: 0;
        }

.mdn-product-detail .price-table__cart .price-table-cart:hover {
          filter: brightness(1.08);
        }

.mdn-product-detail .price-table__cart .price-table-cart--disabled {
          background: #ccc;
          cursor: not-allowed;
          text-shadow: none;
        }

.mdn-product-detail .price-table__cart .price-table-cart--disabled:hover {
            opacity: 1;
          }

.mdn-product-detail .price-table tr {
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        transition: background-color 0.2s;
      }

.mdn-product-detail .price-table tr:hover {
          background-color: rgba(139, 179, 217, 0.1);
        }

.mdn-product-detail .price-table tr:last-child {
          border-bottom: none;
        }

@media (max-width: 767px) {
      .mdn-product-detail .price-table-wrapper {
        overflow-x: hidden;
      }

      .mdn-product-detail .price-table-header__title {
        font-size: 16px;
      }
    }

.mdn-review {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    --tw-text-opacity: 1;
    color: rgb(40 40 40 / var(--tw-text-opacity, 1));
        margin-top: 60px;
        padding-left: 0;
        padding-right: 0;
}

/* customize.cssのpaddingを上書き */

.mdn-review#plg_customer_review_detail {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

.mdn-review__header {
    margin-bottom: 1rem;
}

.mdn-review__header {
    display: flex;
}

.mdn-review__header {
    align-items: center;
}

.mdn-review__header {
    justify-content: space-between;
}

.mdn-review__header {
    border-radius: 10px;
}

.mdn-review__header {
            padding: 6px 13px;
            background: linear-gradient(90deg, rgba(139, 179, 217, 0.3) 0.695%, rgba(178, 164, 214, 0.3) 100%);
            border-radius: 8px;
            height: 41px;
            margin-top: 28px;
        }

.mdn-review__title-group {
    display: flex;
}

.mdn-review__title-group {
    align-items: center;
}

.mdn-review__title-group span {
    display: flex;
}

.mdn-review__title-group span {
    align-items: center;
}

.mdn-review__title-group strong {
                font-size: 18px;
                font-weight: 700;
                color: #254e72;
                letter-spacing: 0.72px;
                line-height: 1.6;
            }

.mdn-review__action {
            /* 余白調整 */
        }

.mdn-review__btn {
    display: inline-flex;
}

.mdn-review__btn {
    align-items: center;
}

.mdn-review__btn {
    justify-content: center;
}

.mdn-review__btn {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.mdn-review__btn {
    font-weight: 700;
}

.mdn-review__btn {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.mdn-review__btn {
    text-decoration-line: none;
}

.mdn-review__btn {
            background: var(--gradient-main-dark);
            border-radius: 20px;
            padding: 6px 16px;
            transition: all 0.2s ease;
        }

.mdn-review__btn:hover {
                filter: brightness(1.1);
            }

.mdn-review__btn:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.mdn-review__btn:hover {
    text-decoration-line: none;
}

.mdn-review__empty {
    border-radius: 10px;
}

.mdn-review__empty {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.mdn-review__empty {
    padding: 1rem;
}

.mdn-review__empty {
    text-align: center;
}

.mdn-review__empty {
    font-weight: 700;
}

.mdn-review__empty {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.mdn-review__list {
    list-style-type: none;
}

.mdn-review__list > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.mdn-review__list {
    padding-left: 0px;
}

.mdn-review__item {
            /* 必要ならスタイル追加 */
        }

.mdn-review__card {
    border-width: 1px;
}

.mdn-review__card {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.mdn-review__card {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.mdn-review__card {
    padding: 1.25rem;
}

.mdn-review__card {
    --tw-shadow: 0px 0px 6.04963px 4.03309px rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0px 0px 6.04963px 4.03309px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.mdn-review__card {
            border-radius: 8px;
        }

.mdn-review__card-header {
    margin-bottom: 0.75rem;
}

.mdn-review__card-header {
    display: flex;
}

.mdn-review__card-header {
    flex-wrap: wrap;
}

.mdn-review__card-header {
    align-items: center;
}

.mdn-review__card-header {
    gap: 0.5rem;
}

.mdn-review__card-header {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.mdn-review__card-header {
    font-weight: 700;
}

.mdn-review__card-header {
    line-height: 1.2;
}

.mdn-review__card-header {
    --tw-text-opacity: 1;
    color: rgb(40 40 40 / var(--tw-text-opacity, 1));
}

.mdn-review__card-header strong {
    --tw-text-opacity: 1;
    color: rgb(40 40 40 / var(--tw-text-opacity, 1));
}

.mdn-review__star {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.mdn-review__star {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.mdn-review__star--empty {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.mdn-review__star--empty {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.mdn-review__author {
    margin-bottom: 1rem;
}

.mdn-review__author {
    display: flex;
}

.mdn-review__author {
    flex-wrap: wrap;
}

.mdn-review__author {
    align-items: center;
}

.mdn-review__author {
    gap: 0.75rem;
}

.mdn-review__author {
    border-bottom-width: 1px;
}

.mdn-review__author {
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}

.mdn-review__author {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.mdn-review__author {
    font-size: 15px;
}

.mdn-review__author {
    font-weight: 600;
}

.mdn-review__author {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.mdn-review__author p {
    margin: 0px;
}

.mdn-review__verified-badge {
    display: inline-block;
}

.mdn-review__verified-badge {
    border-radius: 0.25rem;
}

.mdn-review__verified-badge {
    --tw-bg-opacity: 1;
    background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.mdn-review__verified-badge {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.mdn-review__verified-badge {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}

.mdn-review__verified-badge {
    font-size: 0.75rem;
    line-height: 1rem;
}

.mdn-review__verified-badge {
    font-weight: 700;
}

.mdn-review__verified-badge {
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.mdn-review__image {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.mdn-review__image img {
    max-width: 100%;
}

.mdn-review__image img {
    border-radius: 10px;
}

.mdn-review__image img {
    border-width: 1px;
}

.mdn-review__image img {
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}

.mdn-review__image img {
    --tw-shadow: 0px 0px 6.04963px 4.03309px rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0px 0px 6.04963px 4.03309px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.mdn-review__image img {
                max-width: 200px;
                max-height: 200px;
                -o-object-fit: cover;
                   object-fit: cover;
            }

.mdn-review__body {
    font-size: 15px;
}

.mdn-review__body {
    line-height: 1.5;
}

.mdn-review__body {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.mdn-review__body {
            word-break: break-all;
        }

.mdn-review__show-all-btn {
    margin-top: 2rem;
}

.mdn-review__show-all-btn {
    display: block;
}

.mdn-review__show-all-btn {
    width: 100%;
}

.mdn-review__show-all-btn {
    border-radius: 9999px;
}

.mdn-review__show-all-btn {
    border-width: 2px;
}

.mdn-review__show-all-btn {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.mdn-review__show-all-btn {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.mdn-review__show-all-btn {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.mdn-review__show-all-btn {
    text-align: center;
}

.mdn-review__show-all-btn {
    font-weight: 700;
}

.mdn-review__show-all-btn {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.mdn-review__show-all-btn {
    text-decoration-line: none;
}

.mdn-review__show-all-btn {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.mdn-review__show-all-btn:hover {
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.mdn-review__show-all-btn:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.mdn-review__show-all-btn:hover {
    --tw-text-opacity: 1;
    color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.mdn-review__show-all-btn:hover {
    text-decoration-line: none;
}

/* レビュー詳細ページのデフォルトスタイル回避 */

/* EC-CUBE Layout Role Contents Override */

.ec-layoutRole__contents {
    max-width: none !important;
  }

/* Container Override */

.container {
    width: 100% !important;
    max-width: 1312px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

/* EC-CUBE Layout Role Sidebar Override */

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

    .ec-layoutRole .ec-layoutRole__left,
    .ec-layoutRole .ec-layoutRole__right {
      display: block !important;
      width: 250px !important;
      padding: 0 !important;
    }
  }

/* Bootstrap Column Override */

@media (min-width: 992px) {
    .mdn-layout-main {
      flex: 0 0 auto !important;
      width: calc(100% - 280px) !important;
      padding: 0 !important;
      margin-left: 30px;
    }
  }

@media (max-width: 991px) {
    .mdn-layout-main {
      width: 100% !important;
      order: 1 !important;
    }
  }

/* Layout Row Override */

.mdn-layout-row {
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-top: 50px;
  }

@media (max-width: 1023px) {

.mdn-layout-row {
      padding-top: 16px
  }
    }

.mdn-layout-row>* {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

.visible {
    visibility: visible;
}

.collapse {
    visibility: collapse;
}

.static {
    position: static;
}

.fixed {
    position: fixed;
}

.absolute {
    position: absolute;
}

.relative {
    position: relative;
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.order-3 {
    order: 3;
}

.col-auto {
    grid-column: auto;
}

.float-start {
    float: inline-start;
}

.m-0 {
    margin: 0px;
}

.m-1 {
    margin: 0.25rem;
}

.m-2 {
    margin: 0.5rem;
}

.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

.mx-3 {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.my-5 {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

.my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.my-7 {
    margin-top: 7px;
    margin-bottom: 7px;
}

.my-9 {
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
}

.mb-0 {
    margin-bottom: 0px;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-5 {
    margin-bottom: 1.25rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.me-1 {
    margin-inline-end: 0.25rem;
}

.me-2 {
    margin-inline-end: 0.5rem;
}

.me-3 {
    margin-inline-end: 0.75rem;
}

.me-5 {
    margin-inline-end: 1.25rem;
}

.ml-1 {
    margin-left: 0.25rem;
}

.ml-2 {
    margin-left: 0.5rem;
}

.ml-3 {
    margin-left: 0.75rem;
}

.ml-auto {
    margin-left: auto;
}

.mr-1 {
    margin-right: 0.25rem;
}

.mr-2 {
    margin-right: 0.5rem;
}

.mr-3 {
    margin-right: 0.75rem;
}

.ms-1 {
    margin-inline-start: 0.25rem;
}

.ms-2 {
    margin-inline-start: 0.5rem;
}

.mt-0 {
    margin-top: 0px;
}

.mt-1 {
    margin-top: 0.25rem;
}

.mt-10 {
    margin-top: 2.5rem;
}

.mt-2 {
    margin-top: 0.5rem;
}

.mt-3 {
    margin-top: 0.75rem;
}

.mt-4 {
    margin-top: 1rem;
}

.mt-5 {
    margin-top: 1.25rem;
}

.mt-8 {
    margin-top: 2rem;
}

.block {
    display: block;
}

.flex {
    display: flex;
}

.table {
    display: table;
}

.contents {
    display: contents;
}

.hidden {
    display: none;
}

.h-1 {
    height: 0.25rem;
}

.h-18 {
    height: 18px;
}

.w-1 {
    width: 0.25rem;
}

.w-auto {
    width: auto;
}

.w-full {
    width: 100%;
}

.flex-grow {
    flex-grow: 1;
}

.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.resize {
    resize: both;
}

.flex-wrap {
    flex-wrap: wrap;
}

.gap-2 {
    gap: 0.5rem;
}

.text-nowrap {
    text-wrap: nowrap;
}

.rounded {
    border-radius: 0.25rem;
}

.border {
    border-width: 1px;
}

.border-0 {
    border-width: 0px;
}

.border-2 {
    border-width: 2px;
}

.border-none {
    border-style: none;
}

.bg-light {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 253 / var(--tw-bg-opacity, 1));
}

.bg-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(40 40 40 / var(--tw-bg-opacity, 1));
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.p-0 {
    padding: 0px;
}

.p-1 {
    padding: 0.25rem;
}

.p-2 {
    padding: 0.5rem;
}

.p-3 {
    padding: 0.75rem;
}

.p-4 {
    padding: 1rem;
}

.p-5 {
    padding: 1.25rem;
}

.p-6 {
    padding: 1.5rem;
}

.px-0 {
    padding-left: 0px;
    padding-right: 0px;
}

.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.pb-1 {
    padding-bottom: 0.25rem;
}

.pb-2 {
    padding-bottom: 0.5rem;
}

.pb-3 {
    padding-bottom: 0.75rem;
}

.pb-4 {
    padding-bottom: 1rem;
}

.pe-0 {
    padding-inline-end: 0px;
}

.pe-2 {
    padding-inline-end: 0.5rem;
}

.pe-3 {
    padding-inline-end: 0.75rem;
}

.pe-4 {
    padding-inline-end: 1rem;
}

.pl-0 {
    padding-left: 0px;
}

.pl-3 {
    padding-left: 0.75rem;
}

.pl-5 {
    padding-left: 1.25rem;
}

.pr-0 {
    padding-right: 0px;
}

.pr-2 {
    padding-right: 0.5rem;
}

.pr-3 {
    padding-right: 0.75rem;
}

.ps-0 {
    padding-inline-start: 0px;
}

.ps-2 {
    padding-inline-start: 0.5rem;
}

.ps-3 {
    padding-inline-start: 0.75rem;
}

.ps-4 {
    padding-inline-start: 1rem;
}

.ps-5 {
    padding-inline-start: 1.25rem;
}

.pt-1 {
    padding-top: 0.25rem;
}

.pt-2 {
    padding-top: 0.5rem;
}

.pt-3 {
    padding-top: 0.75rem;
}

.pt-4 {
    padding-top: 1rem;
}

.pt-5 {
    padding-top: 1.25rem;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-start {
    text-align: start;
}

.text-end {
    text-align: end;
}

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

.align-bottom {
    vertical-align: bottom;
}

.italic {
    font-style: italic;
}

.text-primary {
    --tw-text-opacity: 1;
    color: rgb(40 40 40 / var(--tw-text-opacity, 1));
}

.underline {
    text-decoration-line: underline;
}

.shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-none {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm {
    --tw-shadow: 0px 0px 6.04963px 4.03309px rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0px 0px 6.04963px 4.03309px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Background Gradients
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Gradient Text
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Border Gradients
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ========================================
   CSS Custom Properties (Design Tokens)
   ======================================== */

/* ========================================
   Custom Gradient Utilities
   ======================================== */

/* ========================================
   Layout Overrides
   ======================================== */

@media (min-width: 768px) {

    .md\:mb-4 {
        margin-bottom: 1rem;
    }
}