:root {
  --c-ink: #2b2622;
  --c-accent: #5a9e8f;
  --c-accent-2: #e0875a;
  --c-paper: #efe7d6;
  --c-base: #f3efe7;
  --c-white: #ffffff;
  --c-mark: rgba(90, 158, 143, 0.28);
  --c-dot: rgba(90, 158, 143, 0.35);
  --ff-base: "Zen Maru Gothic", sans-serif;
  --ff-en: "Unbounded", "Zen Maru Gothic", sans-serif;
  --ease-hero-base: cubic-bezier(0, 1.45, 0.26, 0.99);
  --ease-orange: cubic-bezier(0.74, 1.3, 0, 1);
  --ease-green: cubic-bezier(0.48, 1.57, 0.75, 0.71);
  --ease-red: cubic-bezier(0.28, 1.43, 0.27, 0.78);
  --ease-blue: cubic-bezier(0.52, 1.49, 0.06, 0.87);
  --ease-yellow: cubic-bezier(0.62, 1.33, 0.11, 0.93);
  --ease-pink: cubic-bezier(0.56, 2.9, 0.3, -0.04);
  --ease-up: cubic-bezier(0.32, 1.55, 0.13, 0.98);
  --ease-hover: cubic-bezier(0.4, 0.4, 0, 1);
  --ease-bubble: cubic-bezier(0.32, 1.63, 0.31, 0.95);
  --ease-shake: cubic-bezier(1, 0, 0, 1);
  --dur-hero: 600ms;
  --dur-appear: 600ms;
  --z-fixed: 20;
  --z-intro: 100; /* ヘッダー・固定CTA（--z-fixed: 20）より上 */
  --intro-failsafe: 7s; /* JS が落ちても、この時間でオーバーレイを消す（intro.css と appear.js が読む） */
  /* お悩みの吹き出し枠。fill は --c-white、stroke は --c-ink と同じ値 */
  --img-voice-frame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 200' preserveAspectRatio='none'%3E%3Cpath d='M8 24 Q38 6 68 24 T128 24 T188 24 T248 24 T292 24 V176 Q262 194 232 176 T172 176 T112 176 T52 176 T8 176 Z' fill='%23ffffff' stroke='%232b2622' stroke-width='2.2'/%3E%3C/svg%3E");
}
