:root { --base:#f3f5f4; --card:#fff; --text:#3f464d; --dark:#343a40; --main:#01B202; --soft:#eafbee; --border:1px solid rgba(36,41,47,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); background:var(--base); font-family:"Noto Sans JP",sans-serif; font-size:16px; line-height:1.9; }
a { color:inherit; }
:focus-visible { outline:3px solid var(--main); outline-offset:3px; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; padding:8px 12px; background:var(--dark); color:#fff; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.reason-header { position:sticky; top:0; z-index:30; border-bottom:var(--border); background:var(--card); }
.reason-nav { width:calc(100% - 32px); min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-inline:auto; }
.reason-nav a { min-height:44px; display:inline-flex; align-items:center; text-decoration:none; }
.reason-brand { gap:12px; white-space:nowrap; }
.reason-brand > span { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:var(--main); color:#fff; font-weight:700; }
.reason-brand em { color:var(--main); font-size:14px; font-style:normal; font-weight:700; }
.back-link { color:var(--main); font-weight:700; }
main { width:min(960px,calc(100% - 48px)); margin-inline:auto; }
.reason-hero { min-height:520px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:48px; }
.eyebrow { margin:0 0 12px; color:var(--main); font-weight:700; }
.reason-hero h1,.hand-heading,blockquote { font-family:"Noto Sans JP",sans-serif; }
.reason-hero h1 { margin:0; color:var(--dark); font-size:clamp(40px,6vw,64px); font-weight:600; line-height:1.4; letter-spacing:.02em; }
.hero-message > p:last-child { max-width:520px; margin:20px 0 0; }
.reason-hero > img { width:320px; height:320px; max-width:100%; justify-self:center; object-fit:cover; object-position:center 24%; border:6px solid var(--card); border-radius:50%; }
.letter { padding:72px clamp(24px,7vw,80px); background:var(--card); }
.letter section { display:grid; grid-template-columns:minmax(280px,.9fr) 1.1fr; gap:40px; padding:48px 0; border-top:var(--border); }
.letter section:first-child { border-top:0; }
.letter section > p:last-child { margin:0; }
.hand-heading { margin:0; color:var(--main); font-size:24px; font-weight:700; line-height:1.65; }
.hand-heading span { white-space:nowrap; }
.letter section:nth-child(3) > p:not(.hand-heading) { grid-column:2; }
blockquote { margin:56px 0; padding:32px; border-left:6px solid var(--main); background:var(--soft); color:var(--dark); font-size:clamp(28px,4vw,40px); font-weight:600; line-height:1.6; }
.signature { display:flex; align-items:center; justify-content:flex-end; gap:16px; }
.signature img { width:72px; height:72px; object-fit:cover; object-position:center 25%; border-radius:50%; }
.signature span,.signature strong { display:block; }
.signature span { font-size:12px; }
.signature strong { color:var(--main); font-size:24px; }
.reason-actions { margin:64px 0; padding:48px; border:2px solid var(--main); border-radius:16px; background:var(--card); text-align:center; }
.reason-actions h2 { margin:0 0 12px; color:var(--dark); font-size:36px; }
.reason-actions > p { max-width:680px; margin:0 auto 28px; }
.action-links { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.action-links a { min-height:48px; display:inline-flex; align-items:center; padding:8px 20px; border:2px solid var(--main); border-radius:999px; color:var(--main); font-weight:700; text-decoration:none; }
.action-links a.primary { background:var(--main); color:#fff; }
footer { padding:24px; border-top:var(--border); background:var(--card); text-align:center; }
footer a { min-height:44px; display:inline-flex; align-items:center; color:var(--main); font-weight:700; }
@media(max-width:700px){.reason-brand em{display:none}.reason-hero{min-height:0; grid-template-columns:1fr; gap:28px; padding:48px 0}.reason-hero h1{font-size:40px}.reason-hero > img{width:220px;height:220px;grid-row:1}.letter{padding:40px 24px}.letter section{grid-template-columns:1fr; gap:16px;padding:36px 0}.letter section:nth-child(3)>p:not(.hand-heading){grid-column:auto}blockquote{margin:36px 0;padding:24px;font-size:28px}.reason-actions{margin:40px 0;padding:32px 20px}.reason-actions h2{font-size:32px}.action-links{display:grid}.action-links a{justify-content:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}
