:root,[data-theme="light"]{--paper:#F5F2EC;--paper-2:#FBFAF7;--surface:#FFFFFF;--line:#E3DDD3;--ink:#2B3236;--ink-2:#5B6469;--primary:#2A6B8C;--on-primary:#FFFFFF;--primary-soft:#E4EEF4;--sun:#E9A12E;--sun-ink:#8F5600;--leaf:#86B33F;--leaf-ink:#4C6E1B;--logo-blue-top:#96CCEE;--logo-blue-bottom:#599DCE;--logo-orange-top:#F3B64C;--logo-orange-bottom:#E28B20;--logo-green-top:#9EC957;--logo-green-bottom:#6FA238;--logo-tile-top:#D8EBF6;--logo-tile-bottom:#A8C7E0;--logo-ink:#37474F;--alert:#C0473A;--alert-soft:#FBEDEA;--focus:var(--sun-ink);--link:var(--primary);--shadow-card:0 1px 2px rgba(60,50,30,.05), 0 8px 24px rgba(60,50,30,.06)}
[data-theme="dark"]{color-scheme:dark;--paper:#1B1F21;--paper-2:#22272A;--surface:#2A3033;--line:#3A4145;--ink:#ECE8E1;--ink-2:#B2B8BB;--primary:#7DB8D8;--on-primary:#10222C;--primary-soft:#23343D;--sun-ink:#F2BE66;--leaf-ink:#A9D46A;--alert:#F08A7D;--alert-soft:#3A2826;--shadow-card:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.25)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--paper:#1B1F21;--paper-2:#22272A;--surface:#2A3033;--line:#3A4145;--ink:#ECE8E1;--ink-2:#B2B8BB;--primary:#7DB8D8;--on-primary:#10222C;--primary-soft:#23343D;--sun-ink:#F2BE66;--leaf-ink:#A9D46A;--alert:#F08A7D;--alert-soft:#3A2826;--shadow-card:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.25)}}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-14:56px;--space-24:96px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--content-max:1120px;--header-h:72px;--touch-min:50px;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Noto Sans JP", sans-serif;--font-body:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif}
.catch{font-family:var(--font-display);font-size:34px;line-height:1.8;font-weight:700;letter-spacing:0.22em;}
.title{font-family:var(--font-display);font-size:24px;line-height:1.5;font-weight:700;}
.section{font-family:var(--font-display);font-size:21px;line-height:1.5;font-weight:700;}
.quote{font-family:var(--font-display);font-size:19px;line-height:1.7;font-weight:500;}
.card-title{font-family:var(--font-display);font-size:17px;line-height:1.5;font-weight:700;}
.tel{font-family:var(--font-display);font-size:26px;line-height:1.3;font-weight:700;letter-spacing:0.06em;}
.body{font-family:var(--font-body);font-size:15px;line-height:1.9;font-weight:400;letter-spacing:0.04em;}
.body-sm{font-family:var(--font-body);font-size:13.5px;line-height:1.9;font-weight:400;letter-spacing:0.04em;}
.button{font-family:var(--font-body);font-size:14px;line-height:1.4;font-weight:700;letter-spacing:0.08em;}
.caption{font-family:var(--font-body);font-size:12.5px;line-height:1.8;font-weight:400;letter-spacing:0.04em;}
.label{font-family:var(--font-body);font-size:11px;line-height:1.4;font-weight:500;letter-spacing:0.2em;}
