:root{--fyp-color-bg:#F4FBF9;--fyp-color-bg-alt:#E6F3EF;--fyp-color-surface:#FFFFFF;--fyp-color-ink:#152321;--fyp-color-ink-soft:#4A5C58;--fyp-color-ink-muted:#5F6D69;--fyp-color-line:#CFE0DB;--fyp-color-border-input:#A6BAB4;--fyp-color-primary:#1AB5B0;--fyp-color-primary-hover:#158F8B;--fyp-color-primary-soft:#DFF3F2;--fyp-color-primary-strong:#0F6E6B;--fyp-color-primary-button:#0E635F;--fyp-color-primary-button-hover:#0A4E4A;--fyp-color-on-primary:#FFFFFF;--fyp-color-accent:#F5B342;--fyp-color-accent-soft:#FBE0AA;--fyp-color-accent-strong:#8A5A0F;--fyp-color-note:#6B5E7A;--fyp-color-note-soft:#EDE9F0;--fyp-color-neutral-50:#F9FDFC;--fyp-color-neutral-100:#F4FBF9;--fyp-color-neutral-200:#E6F3EF;--fyp-color-neutral-300:#CFE0DB;--fyp-color-neutral-400:#A6BAB4;--fyp-color-neutral-500:#5F6D69;--fyp-color-neutral-600:#4A5C58;--fyp-color-neutral-700:#20302C;--fyp-color-neutral-800:#152321;--fyp-color-success:#0E7A5F;--fyp-color-warning:#8A5A0F;--fyp-color-error:#B3392C;--fyp-color-info:#1E5A88;--fyp-font-serif:"Noto Serif JP",Georgia,serif;--fyp-font-sans:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic UI",system-ui,sans-serif;--fyp-font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace;--fyp-font-hand:"Klee One","Noto Serif JP",serif;--fyp-text-display-size:32px;--fyp-text-display-line:1.25;--fyp-text-display-weight:500;--fyp-text-display-tracking:-0.02em;--fyp-text-h1-size:28px;--fyp-text-h1-line:1.3;--fyp-text-h1-weight:500;--fyp-text-h1-tracking:-0.015em;--fyp-text-h2-size:22px;--fyp-text-h2-line:1.4;--fyp-text-h2-weight:500;--fyp-text-h2-tracking:-0.01em;--fyp-text-h3-size:18px;--fyp-text-h3-line:1.5;--fyp-text-h3-weight:700;--fyp-text-h3-tracking:-0.005em;--fyp-text-h4-size:16px;--fyp-text-h4-line:1.55;--fyp-text-h4-weight:700;--fyp-text-h4-tracking:0em;--fyp-text-bodyLg-size:17px;--fyp-text-bodyLg-line:1.75;--fyp-text-bodyLg-weight:400;--fyp-text-bodyLg-tracking:0.01em;--fyp-text-body-size:16px;--fyp-text-body-line:1.85;--fyp-text-body-weight:400;--fyp-text-body-tracking:0.015em;--fyp-text-caption-size:13px;--fyp-text-caption-line:1.65;--fyp-text-caption-weight:400;--fyp-text-caption-tracking:0.02em;--fyp-text-micro-size:11px;--fyp-text-micro-line:1.5;--fyp-text-micro-weight:500;--fyp-text-micro-tracking:0.08em;--fyp-space-xs:4px;--fyp-space-sm:8px;--fyp-space-md:12px;--fyp-space-lg:16px;--fyp-space-xl:24px;--fyp-space-2xl:32px;--fyp-space-3xl:48px;--fyp-space-4xl:64px;--fyp-space-5xl:96px;--fyp-space-6xl:128px;--fyp-space-7xl:192px;--fyp-radius-none:0px;--fyp-radius-sm:4px;--fyp-radius-md:8px;--fyp-radius-lg:12px;--fyp-radius-xl:20px;--fyp-radius-pill:999px;--fyp-shadow-sm:0 1px 2px rgba(21,35,33,0.04),0 1px 1px rgba(21,35,33,0.03);--fyp-shadow-md:0 4px 12px rgba(21,35,33,0.06),0 2px 4px rgba(21,35,33,0.04);--fyp-shadow-lg:0 12px 32px rgba(21,35,33,0.08),0 4px 8px rgba(21,35,33,0.04);--fyp-shadow-paper:0 2px 0 rgba(21,35,33,0.03),0 20px 40px -20px rgba(21,35,33,0.15);--fyp-bp-sm:480px;--fyp-bp-md:768px;--fyp-bp-lg:1024px;--fyp-bp-xl:1280px;--fyp-container-narrow:560px;--fyp-container-normal:720px;--fyp-container-wide:960px;--fyp-container-full:1200px;--fyp-gutter-mobile:20px;--fyp-gutter-tablet:32px;--fyp-gutter-desktop:48px;--fyp-section-py-mobile:56px;--fyp-section-py-tablet:96px;--fyp-section-py-desktop:128px;--fyp-section-gap:32px;--fyp-block-gap:16px;--fyp-header-h-mobile:56px;--fyp-header-h-desktop:72px;--fyp-footer-py:48px;--fyp-safe-top:env(safe-area-inset-top,0px);--fyp-safe-bottom:env(safe-area-inset-bottom,0px);--fyp-safe-left:env(safe-area-inset-left,0px);--fyp-safe-right:env(safe-area-inset-right,0px);--fyp-measure-tight:38ch;--fyp-measure-normal:44ch;--fyp-measure-loose:50ch;--fyp-btn-h:48px;--fyp-btn-h-large:56px;--fyp-btn-px:24px;--fyp-btn-px-large:32px;--fyp-card-p-mobile:20px;--fyp-card-p:28px;--fyp-card-p-large:40px;--fyp-field-h:48px;--fyp-field-px:16px;--fyp-ratio-hero:3/2;--fyp-ratio-photo:4/5;--fyp-ratio-card:16/10;--fyp-ratio-og:1200/630;--fyp-z-base:1;--fyp-z-sticky:10;--fyp-z-header:100;--fyp-z-dropdown:200;--fyp-z-overlay:500;--fyp-z-modal:600;--fyp-z-toast:800;--fyp-z-tooltip:900;--fyp-ease-out:cubic-bezier(0.22,1,0.36,1);--fyp-ease-in:cubic-bezier(0.55,0,0.68,0.06);--fyp-duration-fast:150ms;--fyp-duration-normal:260ms;--fyp-duration-slow:420ms}.fyp-container{width:100%;padding-left:max(var(--fyp-gutter-mobile),var(--fyp-safe-left));padding-right:max(var(--fyp-gutter-mobile),var(--fyp-safe-right));margin-left:auto;margin-right:auto}.fyp-container--narrow{max-width:calc(var(--fyp-container-narrow) + var(--fyp-gutter-mobile) * 2)}.fyp-container--normal{max-width:calc(var(--fyp-container-normal) + var(--fyp-gutter-mobile) * 2)}.fyp-container--wide{max-width:calc(var(--fyp-container-wide) + var(--fyp-gutter-mobile) * 2)}.fyp-section{padding-top:var(--fyp-section-py-mobile);padding-bottom:var(--fyp-section-py-mobile)}.fyp-measure{max-width:var(--fyp-measure-normal)}.fyp-measure--tight{max-width:var(--fyp-measure-tight)}.fyp-measure--loose{max-width:var(--fyp-measure-loose)}.fyp-media{display:block;width:100%;overflow:hidden}.fyp-media img,.fyp-media video{display:block;width:100%;height:100%;object-fit:cover}.fyp-media--hero{aspect-ratio:var(--fyp-ratio-hero)}.fyp-media--photo{aspect-ratio:var(--fyp-ratio-photo)}.fyp-media--card{aspect-ratio:var(--fyp-ratio-card)}.fyp-media--framed,.fyp-media--soften{border-radius:var(--fyp-radius-md)}.fyp-media--framed{box-shadow:var(--fyp-shadow-md)}@media (min-width:768px){.fyp-container{padding-left:max(var(--fyp-gutter-tablet),var(--fyp-safe-left));padding-right:max(var(--fyp-gutter-tablet),var(--fyp-safe-right))}.fyp-container--narrow{max-width:calc(var(--fyp-container-narrow) + var(--fyp-gutter-tablet) * 2)}.fyp-container--normal{max-width:calc(var(--fyp-container-normal) + var(--fyp-gutter-tablet) * 2)}.fyp-container--wide{max-width:calc(var(--fyp-container-wide) + var(--fyp-gutter-tablet) * 2)}.fyp-section{padding-top:var(--fyp-section-py-tablet);padding-bottom:var(--fyp-section-py-tablet)}}@media (min-width:1024px){.fyp-container{padding-left:max(var(--fyp-gutter-desktop),var(--fyp-safe-left));padding-right:max(var(--fyp-gutter-desktop),var(--fyp-safe-right))}.fyp-section{padding-top:var(--fyp-section-py-desktop);padding-bottom:var(--fyp-section-py-desktop)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}