/* ==============================================
   variables.css — CSS変数（デザイントークン）
   v3.1 フルリニューアル: Professional & Natural Corporate
   ============================================== */

:root {
    /* ── ブランドカラー (KV & Logo Based) ── */
    --color-primary: #0f4c81;
    /* 深みのある知的ブルー */
    --color-primary-light: #2c6ca8;
    --color-primary-dark: #0a3356;

    --color-secondary: #2f8e6c;
    /* ロゴ基準の落ち着いたグリーン */
    --color-secondary-light: #46b38c;

    --color-accent: #6b3fa0;
    /* KVから抽出した上品なパープル */

    /* ── トーンカラー (Background & Surface) ── */
    --color-bg: #f4f7fb;
    /* 全体のベース: 淡いブルーグレー */
    --color-bg-light: #f9fbfd;
    --color-bg-gray: #e6ebf1;

    --color-surface: #ffffff;
    /* カードや前面要素 */
    --color-white: #ffffff;

    /* グラスモーフィズム用透かしカラー */
    --color-surface-glass: rgba(255, 255, 255, 0.85);
    --color-surface-glass-light: rgba(255, 255, 255, 0.6);
    --color-primary-glass: rgba(15, 76, 129, 0.9);

    /* ── テキストカラー ── */
    --color-text: #2c353e;
    /* 真っ黒を避けた濃いチャコール */
    --color-text-light: #526372;
    --color-text-muted: #8b9baa;

    /* ── ボーダー ── */
    --color-border: rgba(15, 76, 129, 0.1);
    --color-border-light: rgba(15, 76, 129, 0.05);

    /* ── レイアウト ── */
    --container-max-width: 1200px;
    --section-padding: 120px;
    /* 余白を大きめに */
    --section-padding-mobile: 80px;
    --header-height: 80px;

    /* ── フォントファミリー ── */
    --font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-family-heading: 'Shippori Mincho', 'Noto Serif JP', serif;
    --font-family-english: 'Playfair Display', serif;

    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* ── フォントサイズ (Fluid Typography) ── */
    --font-size-xs: 0.75rem;
    /* 12px */
    --font-size-sm: 0.875rem;
    /* 14px */
    --font-size-base: 1rem;
    /* 16px */
    --font-size-lg: 1.125rem;
    /* 18px */
    --font-size-xl: 1.25rem;
    /* 20px */
    --font-size-2xl: 1.5rem;
    /* 24px */
    --font-size-3xl: 2rem;
    /* 32px */
    --font-size-4xl: 2.5rem;
    /* 40px */
    --font-size-5xl: clamp(2.5rem, 5vw, 3.5rem);
    /* スマホ〜PCで可変 */

    /* ── スペーシング ── */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;
    --spacing-3xl: 4.5rem;
    --spacing-4xl: 6rem;

    /* ── ボーダーラジアス ── */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 24px;
    /* より現代的な丸みへ */
    --radius-xl: 32px;
    --radius-full: 9999px;

    /* ── シャドウ (Elegant Shadow) ── */
    --shadow-sm: 0 2px 8px rgba(15, 76, 129, 0.04);
    --shadow-md: 0 4px 16px rgba(15, 76, 129, 0.06), 0 2px 4px rgba(15, 76, 129, 0.03);
    --shadow-lg: 0 12px 32px rgba(15, 76, 129, 0.08), 0 4px 8px rgba(15, 76, 129, 0.04);
    --shadow-xl: 0 24px 48px rgba(15, 76, 129, 0.12), 0 8px 16px rgba(15, 76, 129, 0.06);

    /* ── トランジション ── */
    --transition-fast: 0.2s cubic-bezier(0.25, 1, 0.5, 1);
    --transition-normal: 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    /* スムーズなイージング */
    --transition-slow: 0.6s cubic-bezier(0.25, 1, 0.5, 1);

    /* ── z-index ── */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
}