:root {
   /* ===============================
     ■ Width
  =============================== */
   --width-full: 100%;
   --width-md: 1100px;

   /* ===============================
     ■ Spacing / Gap
  =============================== */
   --padding-block: var(--scale-80);
   --padding-inline: var(--scale-20);
   --gap-row: var(--scale-56);
   --gap-column: var(--scale-40);

   /* ===============================
     ■ Chart Layout
  =============================== */
   --chart-th-group-width: 40px;
   --chart-th-sub-width: 160px;
   --chart-th-width: calc(var(--chart-th-group-width) + var(--chart-th-sub-width));
   --chart-td-width: calc((1280px - var(--chart-th-width)) / 5);

   --chart-th-group-height: 30px;
   --chart-th-sub-height: min(120px, 100vw / 375 * 80);
   --chart-th-height: calc(var(--chart-th-group-height) + var(--chart-th-sub-height));
   --chart-td-height: min(240px, 100vw / 375 * 168);
   --chart-td-height-short: min(210px, 100vw / 375 * 144);

   /* ===============================
     ■ Scale
  =============================== */
   --scale-2: min(2px, 100vw / 375 * 2);
   --scale-4: min(4px, 100vw / 375 * 3);
   --scale-8: min(8px, 100vw / 375 * 6);
   --scale-12: min(12px, 100vw / 375 * 10);
   --scale-14: min(14px, 100vw / 375 * 12);
   --scale-16: min(16px, 100vw / 375 * 13);
   --scale-18: min(18px, 100vw / 375 * 14);
   --scale-20: min(20px, 100vw / 375 * 16);
   --scale-24: min(24px, 100vw / 375 * 18);
   /*--scale-28: min(28px, 100vw / 375 * 20);*/
   --scale-32: min(32px, 100vw / 375 * 24);
   --scale-40: min(40px, 100vw / 375 * 28);
   /*--scale-48: min(48px, 100vw / 375 * 28);*/
   --scale-56: min(56px, 100vw / 375 * 40);
   --scale-64: min(64px, 100vw / 375 * 44);
   --scale-80: min(80px, 100vw / 375 * 56);
   --scale-160: min(80px, 100vw / 375 * 80);
}