@theme {
  /* Colors */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-key-50: #e8f1fe;
  --color-key-100: #d9e6ff;
  --color-key-200: #c5d7fb;
  --color-key-300: #9db7f9;
  --color-key-400: #7096f8;
  --color-key-500: #4979f5;
  --color-key-600: #3460fb;
  --color-key-700: #264af4;
  --color-key-800: #0031d8;
  --color-key-900: #0017c1;
  --color-key-1000: #00118f;
  --color-key-1100: #000071;
  --color-key-1200: #000060;
  --color-blue-50: #e8f1fe;
  --color-blue-100: #d9e6ff;
  --color-blue-200: #c5d7fb;
  --color-blue-300: #9db7f9;
  --color-blue-400: #7096f8;
  --color-blue-500: #4979f5;
  --color-blue-600: #3460fb;
  --color-blue-700: #264af4;
  --color-blue-800: #0031d8;
  --color-blue-900: #0017c1;
  --color-blue-1000: #00118f;
  --color-blue-1100: #000071;
  --color-blue-1200: #000060;
  --color-light-blue-50: #f0f9ff;
  --color-light-blue-100: #dcf0ff;
  --color-light-blue-200: #c0e4ff;
  --color-light-blue-300: #97d3ff;
  --color-light-blue-400: #57b8ff;
  --color-light-blue-500: #39abff;
  --color-light-blue-600: #008bf2;
  --color-light-blue-700: #0877d7;
  --color-light-blue-800: #0066be;
  --color-light-blue-900: #0055ad;
  --color-light-blue-1000: #00428c;
  --color-light-blue-1100: #00316a;
  --color-light-blue-1200: #00234b;
  --color-cyan-50: #e9f7f9;
  --color-cyan-100: #c8f8ff;
  --color-cyan-200: #99f2ff;
  --color-cyan-300: #79e2f2;
  --color-cyan-400: #2bc8e4;
  --color-cyan-500: #01b7d6;
  --color-cyan-600: #00a3bf;
  --color-cyan-700: #008da6;
  --color-cyan-800: #008299;
  --color-cyan-900: #006f83;
  --color-cyan-1000: #006173;
  --color-cyan-1100: #004c59;
  --color-cyan-1200: #003741;
  --color-green-50: #e6f5ec;
  --color-green-100: #c2e5d1;
  --color-green-200: #9bd4b5;
  --color-green-300: #71c598;
  --color-green-400: #51b883;
  --color-green-500: #2cac6e;
  --color-green-600: #259d63;
  --color-green-700: #1d8b56;
  --color-green-800: #197a4b;
  --color-green-900: #115a36;
  --color-green-1000: #0c472a;
  --color-green-1100: #08351f;
  --color-green-1200: #032213;
  --color-lime-50: #ebfad9;
  --color-lime-100: #d0f5a2;
  --color-lime-200: #c0f354;
  --color-lime-300: #ade830;
  --color-lime-400: #9ddd15;
  --color-lime-500: #8cc80c;
  --color-lime-600: #7eb40d;
  --color-lime-700: #6fa104;
  --color-lime-800: #618e00;
  --color-lime-900: #507500;
  --color-lime-1000: #3e5a00;
  --color-lime-1100: #2c4100;
  --color-lime-1200: #1e2d00;
  --color-yellow-50: #fbf5e0;
  --color-yellow-100: #fff0b3;
  --color-yellow-200: #ffe380;
  --color-yellow-300: #ffd43d;
  --color-yellow-400: #ffc700;
  --color-yellow-500: #ebb700;
  --color-yellow-600: #d2a400;
  --color-yellow-700: #b78f00;
  --color-yellow-800: #a58000;
  --color-yellow-900: #927200;
  --color-yellow-1000: #806300;
  --color-yellow-1100: #6e5600;
  --color-yellow-1200: #604b00;
  --color-orange-50: #ffeee2;
  --color-orange-100: #ffdfca;
  --color-orange-200: #ffc199;
  --color-orange-300: #ffa66d;
  --color-orange-400: #ff8d44;
  --color-orange-500: #ff7628;
  --color-orange-600: #fb5b01;
  --color-orange-700: #e25100;
  --color-orange-800: #c74700;
  --color-orange-900: #ac3e00;
  --color-orange-1000: #8b3200;
  --color-orange-1100: #6d2700;
  --color-orange-1200: #541e00;
  --color-red-50: #fdeeee;
  --color-red-100: #ffdada;
  --color-red-200: #ffbbbb;
  --color-red-300: #ff9696;
  --color-red-400: #ff7171;
  --color-red-500: #ff5454;
  --color-red-600: #fe3939;
  --color-red-700: #fa0000;
  --color-red-800: #ec0000;
  --color-red-900: #ce0000;
  --color-red-1000: #a90000;
  --color-red-1100: #850000;
  --color-red-1200: #620000;
  --color-magenta-50: #f3e5f4;
  --color-magenta-100: #ffd0ff;
  --color-magenta-200: #ffaeff;
  --color-magenta-300: #ff8eff;
  --color-magenta-400: #f661f6;
  --color-magenta-500: #f137f1;
  --color-magenta-600: #db00db;
  --color-magenta-700: #c000c0;
  --color-magenta-800: #aa00aa;
  --color-magenta-900: #8b008b;
  --color-magenta-1000: #6c006c;
  --color-magenta-1100: #500050;
  --color-magenta-1200: #3b003b;
  --color-purple-50: #f1eafa;
  --color-purple-100: #ecddff;
  --color-purple-200: #ddc2ff;
  --color-purple-300: #cda6ff;
  --color-purple-400: #bb87ff;
  --color-purple-500: #a565f8;
  --color-purple-600: #8843e1;
  --color-purple-700: #6f23d0;
  --color-purple-800: #5c10be;
  --color-purple-900: #5109ad;
  --color-purple-1000: #41048e;
  --color-purple-1100: #30016c;
  --color-purple-1200: #21004b;
  --color-solid-gray-50: #f2f2f2;
  --color-solid-gray-100: #e6e6e6;
  --color-solid-gray-200: #cccccc;
  --color-solid-gray-300: #b3b3b3;
  --color-solid-gray-400: #999999;
  --color-solid-gray-420: #949494;
  --color-solid-gray-500: #7f7f7f;
  --color-solid-gray-536: #767676;
  --color-solid-gray-600: #666666;
  --color-solid-gray-700: #4d4d4d;
  --color-solid-gray-800: #333333;
  --color-solid-gray-900: #1a1a1a;
  --color-opacity-gray-50: rgba(0, 0, 0, 0.05);
  --color-opacity-gray-100: rgba(0, 0, 0, 0.1);
  --color-opacity-gray-200: rgba(0, 0, 0, 0.2);
  --color-opacity-gray-300: rgba(0, 0, 0, 0.3);
  --color-opacity-gray-400: rgba(0, 0, 0, 0.4);
  --color-opacity-gray-420: rgba(0, 0, 0, 0.42);
  --color-opacity-gray-500: rgba(0, 0, 0, 0.5);
  --color-opacity-gray-536: rgba(0, 0, 0, 0.54);
  --color-opacity-gray-600: rgba(0, 0, 0, 0.6);
  --color-opacity-gray-700: rgba(0, 0, 0, 0.7);
  --color-opacity-gray-800: rgba(0, 0, 0, 0.8);
  --color-opacity-gray-900: rgba(0, 0, 0, 0.9);
  --color-success-1: #259d63;
  --color-success-2: #197a4b;
  --color-error-1: #ec0000;
  --color-error-2: #ce0000;
  --color-warning-yellow-1: #b78f00;
  --color-warning-yellow-2: #927200;
  --color-warning-orange-1: #fb5b01;
  --color-warning-orange-2: #c74700;
  --color-focus-yellow: #b78f00;
  --color-focus-blue: #0877d7;

  /* Font families */
  --font-sans: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'Noto Sans Mono', monospace;

  /* Font weights */
  --font-weight-400: 400;
  --font-weight-700: 700;

  /* Line heights (Leading) */
  --leading-100: 1;
  --leading-120: 1.2;
  --leading-130: 1.3;
  --leading-140: 1.4;
  --leading-150: 1.5;
  --leading-160: 1.6;
  --leading-170: 1.7;
  --leading-175: 1.75;
  --leading-1-0: 1;
  --leading-1-2: 1.2;
  --leading-1-3: 1.3;
  --leading-1-4: 1.4;
  --leading-1-5: 1.5;
  --leading-1-6: 1.6;
  --leading-1-7: 1.7;
  --leading-1-75: 1.75;

  /* Border radius */
  --radius-4: 0.25rem;
  --radius-6: 0.375rem;
  --radius-8: 0.5rem;
  --radius-12: 0.75rem;
  --radius-16: 1rem;
  --radius-24: 1.5rem;
  --radius-32: 2rem;
  --radius-full: 624.9375rem;

  /* Shadows */
  --shadow-1: 0 2px 8px 1px rgba(0,0,0,0.1), 0 1px 5px 0 rgba(0,0,0,0.3);
  --shadow-2: 0 2px 12px 2px rgba(0,0,0,0.1), 0 1px 6px 0 rgba(0,0,0,0.3);
  --shadow-3: 0 4px 16px 3px rgba(0,0,0,0.1), 0 1px 6px 0 rgba(0,0,0,0.3);
  --shadow-4: 0 6px 20px 4px rgba(0,0,0,0.1), 0 2px 6px 0 rgba(0,0,0,0.3);
  --shadow-5: 0 8px 24px 5px rgba(0,0,0,0.1), 0 2px 10px 0 rgba(0,0,0,0.3);
  --shadow-6: 0 10px 30px 6px rgba(0,0,0,0.1), 0 3px 12px 0 rgba(0,0,0,0.3);
  --shadow-7: 0 12px 36px 7px rgba(0,0,0,0.1), 0 3px 14px 0 rgba(0,0,0,0.3);
  --shadow-8: 0 14px 40px 7px rgba(0,0,0,0.1), 0 3px 16px 0 rgba(0,0,0,0.3);
}

/* Font size utilities */
@utility text-dsp-64B-140 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

@utility text-dsp-57B-140 {
  font-size: 3.5625rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

@utility text-dsp-48B-140 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

@utility text-dsp-64N-140 {
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}

@utility text-dsp-57N-140 {
  font-size: 3.5625rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}

@utility text-dsp-48N-140 {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}

@utility text-std-45B-140 {
  font-size: 2.8125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

@utility text-std-36B-140 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

@utility text-std-32B-150 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

@utility text-std-28B-150 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

@utility text-std-26B-150 {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@utility text-std-24B-150 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@utility text-std-22B-150 {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@utility text-std-20B-160 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

@utility text-std-20B-150 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@utility text-std-18B-160 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

@utility text-std-17B-170 {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

@utility text-std-16B-170 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

@utility text-std-16B-175 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.02em;
}

@utility text-std-45N-140 {
  font-size: 2.8125rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}

@utility text-std-36N-140 {
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

@utility text-std-32N-150 {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

@utility text-std-28N-150 {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

@utility text-std-26N-150 {
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@utility text-std-24N-150 {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@utility text-std-22N-150 {
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@utility text-std-20N-150 {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@utility text-std-18N-160 {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

@utility text-std-17N-170 {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

@utility text-std-16N-170 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

@utility text-std-16N-175 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.02em;
}

@utility text-dns-17B-130 {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

@utility text-dns-17B-120 {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

@utility text-dns-16B-130 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

@utility text-dns-16B-120 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

@utility text-dns-14B-130 {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

@utility text-dns-14B-120 {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

@utility text-dns-17N-130 {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
}

@utility text-dns-17N-120 {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

@utility text-dns-16N-130 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
}

@utility text-dns-16N-120 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

@utility text-dns-14N-130 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
}

@utility text-dns-14N-120 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

@utility text-oln-17B-100 {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}

@utility text-oln-16B-100 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}

@utility text-oln-14B-100 {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}

@utility text-oln-17N-100 {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}

@utility text-oln-16N-100 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}

@utility text-oln-14N-100 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}

@utility text-mono-17B-150 {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

@utility text-mono-16B-150 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

@utility text-mono-14B-150 {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

@utility text-mono-17N-150 {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

@utility text-mono-16N-150 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

@utility text-mono-14N-150 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

/* List style type utilities */
@utility list-lower-latin {
  list-style-type: lower-latin;
}

@utility list-circle {
  list-style-type: circle;
}

@utility list-square {
  list-style-type: square;
}
