:root{--color-accent:#a64e38;--color-accent-strong:#873b2b;--color-accent-soft:#f6eae3;--color-cream:#f7f8f4;--color-sand-2:#d9cbbd;--color-pink:#f4ebe4;--color-rose-2:#d9cbbd;--color-ink:#29372f;--color-muted:#6d776d;--color-copy-muted:#5b685e;--color-border:#dfe5dc;--color-card:#fff;--color-white:#fff;--color-sage:#e9f0e7;--color-green:#3d6049;--color-green-strong:#294a37;--color-surface-soft:#f0f3ed;--color-warning-bg:#fbf1df;--color-warning:#76501c;--color-line-green:#06c755;--color-line-green-strong:#05a648;--color-ok:#31583d;--color-ok-bg:#e8f1e8;--color-bad:#a12e26;--color-bad-bg:#fae9e4;--font-body:"Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;--font-display:var(--font-body);--font-latin:"Avenir Next", Arial, sans-serif;--font-number:"Avenir Next", Arial, sans-serif;--radius-small:12px;--radius-card:18px;--radius-large:24px;--radius-pill:999px;--shadow-soft:0 6px 20px #29372f0d;--shadow-lift:0 16px 42px #29372f1a;--content-width:1080px;--reading-width:760px;--header-height:76px;--touch-target:48px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px}
*{box-sizing:border-box}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:24px;overflow-x:hidden}body{background:var(--color-cream);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;font-weight:400;line-height:1.75;overflow-x:hidden}html[lang=ja]{line-break:strict;word-break:normal;overflow-wrap:break-word}h1,h2,h3,p,ul,ol{margin-top:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;font-weight:700;line-height:1.42}h1{font-size:clamp(1.9rem,5vw,2.6rem)}h2{font-size:clamp(1.4rem,3vw,1.75rem)}h3{font-size:clamp(1.05rem,2vw,1.2rem)}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}button,input,textarea,select{font:inherit;color:inherit}button{min-height:var(--touch-target);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:var(--touch-target);border-radius:var(--radius-small);accent-color:var(--color-green)}input:not([type=checkbox]):not([type=radio]),select,textarea,button,a{-webkit-tap-highlight-color:transparent}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--color-green)}button:disabled{cursor:not-allowed;opacity:.55}img,svg{max-width:100%;display:block}::selection{background:var(--color-pink);color:var(--color-ink)}:focus-visible{outline:3px solid color-mix(in srgb, var(--color-green) 72%, white);outline-offset:4px}.container{width:min(calc(100% - 40px), var(--content-width));margin-inline:auto}.section{padding-block:clamp(48px,7vw,88px);position:relative}main:focus{outline:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1}.skip-link{z-index:1000;background:var(--color-white);border:2px solid var(--color-ink);border-radius:var(--radius-pill);min-height:44px;color:var(--color-ink);align-items:center;padding:8px 18px;font-weight:700;display:inline-flex;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:760px){.container{width:min(calc(100% - 32px), var(--content-width))}.section{padding-block:44px}}@media (max-width:420px){.container{width:min(calc(100% - 28px), var(--content-width))}h1{font-size:clamp(1.55rem,8vw,2rem)}}@media (max-width:320px){.container{width:min(calc(100% - 20px), var(--content-width))}button,a{white-space:normal;overflow-wrap:anywhere;max-width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:focus-visible{outline:3px solid highlight}}@media print{body{background:var(--color-white);color:#000}.app-header,.app-footer,.skip-link{display:none!important}}input,select,textarea{font-size:16px}.app-main{min-width:0}@media (max-width:640px){h1{font-size:26px}h2{font-size:21px}.container{width:min(calc(100% - 32px), var(--content-width))}}
