:root {
  --color-bg-canvas: #f5f5f7;
  --color-bg-canvas-strong: #eceff3;
  --color-bg-surface: #ffffff;
  --color-bg-surface-strong: #ffffff;
  --color-bg-muted: #efefef;
  --color-bg-topbar: rgba(255, 255, 255, 0.98);
  --color-bg-page-header: #e8eef7;
  --color-bg-hover-subtle: #fafafa;
  --color-text-strong: #1f2a35;
  --color-text-body: #393939;
  --color-text-secondary: #707070;
  --color-text-caption: #707070;
  --color-text: var(--color-text-body);
  --color-text-muted: var(--color-text-caption);
  --color-text-inverse: #ffffff;
  --color-text-inverse-muted: rgba(255, 255, 255, 0.64);
  --color-text-page-header: var(--color-primary);
  --color-text-page-header-subtle: rgba(32, 63, 113, 0.82);
  --color-nav-surface: #181c21;
  --color-nav-surface-strong: #101215;
  --color-nav-surface-hover: #242b33;
  --color-nav-surface-active: #2e3844;
  --color-nav-text: rgba(255, 255, 255, 0.88);
  --color-nav-text-muted: rgba(255, 255, 255, 0.64);
  --color-nav-text-active: #ffffff;
  --color-bg-sidebar: var(--color-nav-surface);
  --color-bg-sidebar-hover: var(--color-nav-surface-hover);
  --color-bg-sidebar-current: var(--color-nav-surface-active);
  --color-text-sidebar: var(--color-nav-text-active);
  --color-link: #203f71;
  --color-link-hover: #162d51;
  --color-icon: #707f89;
  --color-icon-strong: #203f71;
  --color-line-inverse: rgba(255, 255, 255, 0.12);
  --color-border-default: #e6e6e6;
  --color-border-strong: #d1d1d1;
  --color-line: var(--color-border-default);
  --color-line-strong: var(--color-border-strong);
  --color-primary: #203f71;
  --color-primary-strong: #162d51;
  --color-secondary: #707f89;
  --color-secondary-strong: #5c6a73;
  --color-accent: #f9c204;
  --color-brand-gold: #f9c204;
  --color-brand-gold-strong: #d7a600;
  --color-brand-gray: #707f89;
  --color-brand-panel: #ffffff;
  --color-brand-line: #d1d1d1;
  --color-brand-success: #326505;
  --color-success: #326505;
  --color-warning: #f40303;
  --color-danger: #f40303;
  --color-danger-strong: #c40202;
  --color-bg-danger-subtle: #fff2f2;
  --color-field-optional: #707070;
  --color-info: #1c73d1;
  --color-focus: #162d51;
  --color-bg-calendar-online: #e0f2fe;
  --color-text-calendar-online: #0369a1;
  --color-bg-calendar-fukuoka: #f0fdf4;
  --color-text-calendar-fukuoka: #15803d;
  --color-bg-calendar-tokyo: #fef2f2;
  --color-text-calendar-tokyo: #b91c1c;
  --color-bg-calendar-nagoya: #fff7ed;
  --color-text-calendar-nagoya: #c2410c;

  --font-family-body: "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
  --font-family-heading: "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
  --font-family-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-size-xs: 12px;
  --font-size-caption: 12px;
  --font-size-sm: 13px;
  --font-size-base: 14px;
  --font-size-md: 18px;
  --font-size-lg: 22px;
  --font-size-xl: 30px;
  --font-size-2xl: 40px;
  --font-size-display: 40px;
  --font-size-entry-hero-eyebrow: clamp(28px, 5vw, 48px);
  --font-size-entry-hero-eyebrow-sm: clamp(22px, 9vw, 34px);
  --font-size-entry-hero-title: clamp(17px, 1.8vw, 22px);
  --font-size-entry-hero-title-sm: clamp(15px, 4.5vw, 18px);
  --line-height-tight: 1.35;
  --line-height-base: 1.65;
  --line-height-caption: 1.4;
  --line-height-display: 1.1;
  --tracking-button-compact: 0.12em;
  --tracking-button: 0.2em;
  --font-weight-bold: 700;
  --font-weight-heavy: 800;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 56px;
  --space-10: 72px;
  --space-entry-hero-bottom: var(--space-7);
  --space-entry-hero-bottom-sm: var(--space-6);
  --space-entry-section-top: 96px;
  --space-entry-section-top-sm: var(--space-9);
  --space-entry-section-bottom: var(--space-9);
  --space-entry-section-bottom-sm: 36px;
  --space-entry-section-head-bottom: 64px;
  --space-entry-section-head-bottom-sm: 36px;
  --space-entry-actions-gap: 48px;
  --space-entry-actions-gap-sm: var(--space-7);
  --space-entry-actions-offset: 96px;
  --space-entry-actions-offset-sm: var(--space-9);
  --stack-space-base: var(--space-6);
  --stack-space-heading-1: var(--space-8);
  --stack-space-heading-2: var(--space-7);
  --stack-space-heading-3: var(--space-6);
  --stack-space-section: var(--space-8);

  --radius-sm: 3px;
  --radius-md: 3px;
  --radius-lg: 6px;
  --radius-xl: 6px;
  --radius-pill: 999px;

  --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 14px 36px rgba(0, 0, 0, 0.1);
  --shadow-focus: 0 0 0 1px var(--color-focus);

  --layout-width-content: 1120px;
  --layout-width-form: 760px;
  --layout-width-modal: 760px;
  --layout-width-brand: 1040px;
  --layout-sidebar-width: 200px;
  --layout-admin-search-width: 480px;
  --layout-admin-search-width-compact: 440px;
  --layout-admin-search-name-width: 200px;
  --layout-admin-control-height: 36px;
  --layout-admin-form-label-width: 132px;
  --layout-admin-form-control-width: 360px;
  --layout-admin-form-control-wide-width: 460px;
  --layout-admin-date-width: 160px;
  --layout-admin-search-date-width-compact: 176px;
  --layout-admin-search-date-width: 156px;
  --layout-admin-number-width: 180px;
  --layout-admin-table-min-width: 1200px;
  --layout-admin-table-mid-career-min-width: 1480px;
  --layout-admin-table-briefing-min-width: 1360px;
  --layout-admin-table-name-width: 8rem;
  --layout-admin-table-email-width: 16rem;
  --layout-admin-table-education-width: 14rem;
  --layout-admin-table-current-job-width: 13rem;
  --layout-admin-table-interview-date-width: 17rem;
  --layout-admin-table-briefing-university-width: 12rem;
  --layout-admin-table-briefing-department-width: 14rem;
  --layout-admin-table-briefing-grad-year-width: 6.5rem;
  --layout-admin-table-briefing-session-width: 17rem;
  --layout-admin-table-briefing-created-width: 12rem;
  --layout-detail-table-label-width: 220px;
  --layout-booking-calendar-min-width: 0px;
  --layout-booking-calendar-header-width: 28rem;
  --layout-booking-calendar-nav-size: 48px;
  --layout-booking-calendar-cell-height: 120px;
  --layout-booking-calendar-cell-height-sm: 80px;
  --layout-dashboard-card-min-height: 168px;
  --layout-pdf-viewer-height: 840px;
  --layout-pdf-viewer-height-sm: 720px;
  --layout-applicant-pdf-height: 700px;
  --layout-applicant-pdf-height-sm: 480px;
  --layout-grid-gap: 24px;
  --space-control-padding-y: 0.48rem;
  --space-control-padding-x: 0.7rem;
  --space-control-select-padding-right: 2rem;
  --space-table-cell-y-compact: 0.72rem;
  --space-table-cell-x-compact: 0.8rem;
  --space-button-y-base: 0.8rem;
  --space-button-x-base: 1rem;
  --space-button-y-sm: 0.6rem;
  --space-button-x-sm: 0.85rem;
  --space-button-x-lg: 1.5rem;
  --space-field-chip-y: 0.25rem;
  --space-field-chip-x: 0.7rem;
  --space-table-cell-y: 0.9rem;
  --space-table-cell-x: 1rem;

  --color-bg-table-head: #f7f7f7;

  --breakpoint-sm: 640px;
  --breakpoint-md: 960px;
  --breakpoint-lg: 1200px;
  --transition-base: 200ms ease-out;
}
