:root{--raw-gray-50:#f9fafb;--raw-gray-100:#f3f4f6;--raw-gray-300:#d1d5db;--raw-gray-500:#6b7280;--raw-gray-700:#374151;--raw-gray-900:#111827;--raw-white:#ffffff;--raw-black:#000000;--raw-color-primary:#15803d;--raw-color-primary-light:#22c55e;--raw-color-primary-bg:#f0fdf4;--raw-color-accent:#f97316;--color-primary:var(--raw-color-primary);--color-primary-light:var(--raw-color-primary-light);--color-primary-bg:var(--raw-color-primary-bg);--color-accent:var(--raw-color-accent);--color-text-main:var(--raw-gray-900);--color-text-sub:var(--raw-gray-500);--color-text-on-primary:var(--raw-white);--color-bg-main:var(--raw-white);--color-bg-sub:var(--raw-gray-50);--color-border:var(--raw-gray-300);--color-divider:var(--raw-gray-100);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 12px 32px rgba(0,0,0,0.12);--letter-spacing-base:0;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-base:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-section-sm:48px;--spacing-section:80px;--spacing-section-lg:120px;--page-padding:2rem;--page-padding-mobile:1rem;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:32px;--text-4xl:40px;--text-5xl:56px;--text-6xl:72px;--font-heading:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--max-width-content:1200px;--max-width-narrow:720px;--tap-target-min:48px;--line-height-tight:1.4;--letter-spacing-jp:0.03em}[data-theme-color=C01]{--raw-color-primary:#1d4ed8;--raw-color-primary-light:#3b82f6;--raw-color-primary-bg:#eff6ff;--raw-color-accent:#f59e0b;--color-primary:#1d4ed8;--color-primary-light:#3b82f6;--color-primary-bg:#eff6ff;--color-accent:#f59e0b}[data-theme-color=C02]{--raw-color-primary:#1e3a8a;--raw-color-primary-light:#1e40af;--raw-color-primary-bg:#f1f5ff;--raw-color-accent:#dc2626;--color-primary:#1e3a8a;--color-primary-light:#1e40af;--color-primary-bg:#f1f5ff;--color-accent:#dc2626}[data-theme-color=C03]{--raw-color-primary:#15803d;--raw-color-primary-light:#22c55e;--raw-color-primary-bg:#f0fdf4;--raw-color-accent:#f97316;--color-primary:#15803d;--color-primary-light:#22c55e;--color-primary-bg:#f0fdf4;--color-accent:#f97316}[data-theme-color=C04]{--raw-color-primary:#c2410c;--raw-color-primary-light:#f97316;--raw-color-primary-bg:#fff7ed;--raw-color-accent:#1d4ed8;--color-primary:#c2410c;--color-primary-light:#f97316;--color-primary-bg:#fff7ed;--color-accent:#1d4ed8}[data-theme-color=C05]{--raw-color-primary:#b91c1c;--raw-color-primary-light:#ef4444;--raw-color-primary-bg:#fef2f2;--raw-color-accent:#1d4ed8;--color-primary:#b91c1c;--color-primary-light:#ef4444;--color-primary-bg:#fef2f2;--color-accent:#1d4ed8}[data-theme-color=C06]{--raw-color-primary:#7e22ce;--raw-color-primary-light:#a855f7;--raw-color-primary-bg:#faf5ff;--raw-color-accent:#f59e0b;--color-primary:#7e22ce;--color-primary-light:#a855f7;--color-primary-bg:#faf5ff;--color-accent:#f59e0b}[data-theme-color=C07]{--raw-color-primary:#92400e;--raw-color-primary-light:#d97706;--raw-color-primary-bg:#fffbeb;--raw-color-accent:#1d4ed8;--color-primary:#92400e;--color-primary-light:#d97706;--color-primary-bg:#fffbeb;--color-accent:#1d4ed8}[data-theme-color=C08]{--raw-color-primary:#374151;--raw-color-primary-light:#6b7280;--raw-color-primary-bg:#f9fafb;--raw-color-accent:#ef4444;--color-primary:#374151;--color-primary-light:#6b7280;--color-primary-bg:#f9fafb;--color-accent:#ef4444}[data-theme-mood=M01]{--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 1px 4px rgba(0,0,0,0.05);--shadow-lg:0 4px 12px rgba(0,0,0,0.08);--letter-spacing-base:-0.01em}[data-theme-mood=M02]{--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 12px 32px rgba(0,0,0,0.12);--letter-spacing-base:0}[data-theme-mood=M03]{--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--shadow-sm:0 2px 4px rgba(0,0,0,0.04);--shadow-md:0 8px 24px rgba(0,0,0,0.06);--shadow-lg:0 16px 40px rgba(0,0,0,0.08);--letter-spacing-base:0.02em}[data-theme-font=F01]{--font-heading:"Noto Serif JP","YuMincho","Hiragino Mincho Pro",serif;--font-body:"Noto Serif JP","YuMincho","Hiragino Mincho Pro",serif}[data-theme-font=F02]{--font-heading:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}[data-theme-font=F03]{--font-heading:"M PLUS Rounded 1c",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"M PLUS Rounded 1c",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}[data-text-color=primary]{color:var(--color-primary,#2563eb)}[data-text-color=accent]{color:var(--color-accent,#f97316)}[data-text-color=muted]{color:var(--color-text-sub,#6b7280)}[data-text-color=dark]{color:#111827}[data-text-color=danger]{color:#dc2626}[data-text-color=success]{color:#16a34a}[data-text-color=warning]{color:#d97706}[data-text-color=info]{color:#2563eb}:root{--hpdemo-color-bg:#ffffff;--hpdemo-color-surface:#f8fafc;--hpdemo-color-text-primary:#0f172a;--hpdemo-color-text-secondary:#475569;--hpdemo-color-text-muted:#94a3b8;--hpdemo-color-border:#e2e8f0;--hpdemo-color-accent:#0377ec;--hpdemo-color-accent-hover:#0264c4;--hpdemo-color-on-accent:#ffffff;--hpdemo-color-cta:#c2410c;--hpdemo-color-cta-hover:#9a3412;--hpdemo-color-on-cta:#ffffff;--hpdemo-color-error:#dc2626;--hpdemo-font-body:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;--hpdemo-font-display:"Zen Maru Gothic","Noto Sans JP",-apple-system,sans-serif;--hpdemo-text-xs:0.75rem;--hpdemo-text-sm:0.875rem;--hpdemo-text-base:1rem;--hpdemo-text-lg:1.125rem;--hpdemo-text-xl:1.25rem;--hpdemo-text-2xl:1.5rem;--hpdemo-space-1:0.25rem;--hpdemo-space-2:0.5rem;--hpdemo-space-3:0.75rem;--hpdemo-space-4:1rem;--hpdemo-space-6:1.5rem;--hpdemo-space-8:2rem;--hpdemo-space-12:3rem;--hpdemo-radius-sm:0.5rem;--hpdemo-radius-md:0.75rem;--hpdemo-radius-lg:1rem;--hpdemo-radius-2xl:1.5rem;--hpdemo-shadow-md:0 4px 16px rgba(15,23,42,0.08);--hpdemo-shadow-lg:0 -8px 32px rgba(15,23,42,0.12);--hpdemo-tap-target:44px;--hpdemo-z-sheet:50;--hpdemo-z-overlay:40;--color-white:#ffffff;--color-base:#fbf9f4;--color-soft:#eef3fc;--color-soft-deep:#e4ecf9;--color-ink:#0f172a;--color-ink-soft:#1e293b;--color-ink-deep:#020617;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-text-on-dark:#ffffff;--color-text-on-dark-muted:#cbd5e1;--color-text-on-dark-subtle:#94a3b8;--color-brand:#0377ec;--color-brand-hover:#0264c4;--color-brand-soft:#eff6ff;--color-brand-soft-deep:#dbeafe;--color-brand-deep:#1d4ed8;--color-brand-text:#ffffff;--color-brand-on-dark:#93c5fd;--color-brand-on-dark-soft:rgba(147,197,253,0.12);--color-coral:#e8734a;--color-coral-hover:#d45734;--color-coral-soft:#fff1eb;--color-coral-deep:#c2410c;--color-rule:#e2e8f0;--color-rule-soft:#f1f5f9;--color-rule-on-dark:rgba(255,255,255,0.1);--color-rule-on-dark-soft:rgba(255,255,255,0.06);--font-body:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;--font-display:"Zen Maru Gothic","Noto Sans JP",-apple-system,sans-serif;--font-brand:"Zen Kaku Gothic New","Noto Sans JP",-apple-system,sans-serif;--font-mono:"JetBrains Mono","SFMono-Regular",Consolas,monospace;--letter-spacing-tight:-0.01em;--letter-spacing-jp:0.04em;--letter-spacing-wide:0.1em;--letter-spacing-widest:0.16em;--line-height-tight:1.2;--line-height-snug:1.4;--line-height-body:1.8;--text-xxs:0.6875rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:2.75rem;--text-5xl:3.5rem;--text-6xl:4.5rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--section-max:80rem;--section-py:var(--space-24);--section-px:var(--space-6);--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:999px;--shadow-sm:0 1px 2px rgba(15,23,42,0.04);--shadow-md:0 8px 24px rgba(15,23,42,0.06);--shadow-lg:0 24px 48px rgba(15,23,42,0.1);--shadow-brand:0 12px 32px rgba(3,119,236,0.28);--shadow-brand-hover:0 16px 40px rgba(3,119,236,0.4);--shadow-coral:0 12px 32px rgba(232,115,74,0.28);--shadow-coral-hover:0 20px 48px rgba(232,115,74,0.4);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-standard:cubic-bezier(0.4,0,0.2,1);--dur-fast:0.18s;--dur-base:0.24s;--dur-slow:0.4s;--ring:0 0 0 3px rgba(3,119,236,0.45);--ring-on-dark:0 0 0 3px rgba(147,197,253,0.6);--tap-target:44px;--header-height:4.5rem;--scroll-offset:5.5rem}@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Zen+Maru+Gothic:wght@500;700;900&family=Zen+Kaku+Gothic+New:wght@500;700;900&family=JetBrains+Mono:wght@400;600&display=swap");*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:var(--letter-spacing-jp);line-height:var(--line-height-body)}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid transparent;outline-offset:2px;border-radius:var(--radius-md);box-shadow:var(--ring)}:where(:focus:not(:focus-visible)){outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{min-height:100vh}a{color:inherit}canvas,img,picture,svg,video{display:block;max-width:100%}.btnPrimary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:1.125rem 2.5rem;border:none;border-radius:var(--radius-lg);font-family:var(--font-body);font-weight:700;font-size:var(--text-base);letter-spacing:var(--letter-spacing-jp);text-decoration:none;min-height:var(--tap-target);background:var(--color-coral-deep);color:#ffffff;box-shadow:var(--shadow-coral);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.btnPrimary:hover{background:#9a3412;transform:translateY(-2px);box-shadow:var(--shadow-coral-hover)}.btnPrimarySm{padding:.625rem 1.25rem;font-size:var(--text-sm)}.btnSecondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:1.125rem 2rem;border:1.5px solid var(--color-rule);border-radius:var(--radius-lg);font-family:var(--font-body);font-weight:700;font-size:var(--text-sm);text-decoration:none;min-height:var(--tap-target);color:var(--color-text-primary);background:transparent;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.btnSecondary:hover{border-color:var(--color-brand);color:var(--color-brand)}.btnSecondaryOnDark{border-color:rgba(255,255,255,.2);color:var(--color-text-on-dark)}.btnSecondaryOnDark:hover{border-color:var(--color-text-on-dark);color:var(--color-text-on-dark);background:rgba(255,255,255,.05)}.btnSecondaryOnDark:focus-visible{box-shadow:var(--ring-on-dark)}.btnArrow{font-weight:400;font-size:1.2em;line-height:1;transition:transform var(--dur-base) var(--ease-out)}.btnPrimary:hover .btnArrow,.btnSecondary:hover .btnArrow{transform:translateX(4px)}@keyframes revealUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (scripting:enabled){[data-reveal]{opacity:0}}[data-reveal].is-visible{animation:revealUp .6s var(--ease-out) both}@media (prefers-reduced-motion:reduce){[data-reveal],[data-reveal].is-visible{opacity:1;animation:none}}:root{--hpdemo-color-accent:var(--color-brand);--hpdemo-color-accent-hover:var(--color-brand-hover);--hpdemo-color-bg:var(--color-white);--hpdemo-color-surface:var(--color-soft);--hpdemo-color-text-primary:var(--color-text-primary);--hpdemo-color-text-secondary:var(--color-text-secondary);--hpdemo-font-body:var(--font-body);--hpdemo-font-display:var(--font-display)}