:root{--bg:#fff;--card:#fff;--surface:#fafafa;--placeholder:#f2f2f2;--text:#1a1a1a;--sub:#6b6b6b;--muted:#9e9e9e;--line:#e8e8e8;--accent:#c8e600;--accent-strong:#a3bc00;--accent-soft:rgba(200,230,0,.14);--error:#c0392b;--warn:#a9761b;--info:#3a6ea5;--ok:#3e8e5a;--font-sans-stack:var(--font-sans),"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--font-serif-stack:var(--font-serif),"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;--screen-x:20px;--section-gap:36px;--radius:6px;--radius-sm:4px;--radius-lg:8px}*{margin:0;padding:0;box-sizing:border-box}body,html{background:var(--bg);color:var(--text);font-family:var(--font-sans-stack);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}.serif{font-family:var(--font-serif-stack);font-weight:400;letter-spacing:.05em}::-webkit-scrollbar{display:none}*{scrollbar-width:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-160% 0}to{background-position:260% 0}}@keyframes floatGlow{0%,to{transform:translate(0) scale(1);opacity:.45}50%{transform:translate(10px,-14px) scale(1.08);opacity:.75}}.view-enter{animation:fadeUp .42s cubic-bezier(.22,1,.36,1) both}.fade-enter{animation:fadeIn .5s ease both}.stagger>*{animation:fadeUp .5s cubic-bezier(.22,1,.36,1) both}.stagger>:first-child{animation-delay:.04s}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.16s}.stagger>:nth-child(4){animation-delay:.22s}.stagger>:nth-child(5){animation-delay:.28s}.press{transition:transform .12s ease,opacity .12s ease}.press:active{transform:scale(.97);opacity:.9}.photo-slider{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.photo-slider::-webkit-scrollbar{display:none}.photo-slider>*{flex:0 0 78%;scroll-snap-align:start}.hero-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.hero-slider::-webkit-scrollbar{display:none}.hero-slider>*{flex:0 0 100%;scroll-snap-align:center}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}