:root{--main: #1e3a34;--bg: #f7f4ef;--bg-2: #f1f3ee;--bg-3: #e3eae4;--accent: #f35935;--accent-2: #e0a931;--sub: #52665f;--sub-dark: #a8bcb4;--font-head: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--font-body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--wrap: 1120px;--gutter: clamp(20px, 5vw, 48px);--radius: 20px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--main);font-family:var(--font-body);font-size:16px;line-height:1.9;letter-spacing:.02em;overflow-wrap:anywhere}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.45;margin:0;letter-spacing:.04em}p{margin:0}ul,ol{margin:0;padding:0}:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px;border-radius:4px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:8px;background:var(--main);color:var(--bg);padding:8px 16px;z-index:100}.skip:focus{left:8px}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--bg-3)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-name{font-family:var(--font-head);font-size:20px;letter-spacing:.08em}.site-nav ul{list-style:none;display:flex;align-items:center;gap:28px}.site-nav a{text-decoration:none;font-size:14px;font-weight:500}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent-2);text-underline-offset:6px;text-decoration-thickness:2px}.nav-cta{background:var(--main);color:var(--bg);padding:10px 20px;border-radius:999px}.site-nav .nav-cta:hover{text-decoration:none;background:var(--sub)}.menu-toggle{display:none}@media(max-width:860px){.menu-toggle{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:var(--bg-3);color:var(--main);cursor:pointer}.bars{display:grid;gap:5px}.bars span{display:block;width:20px;height:2px;background:var(--main);border-radius:2px;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] .bars span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] .bars span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--bg-3);padding:8px var(--gutter) 24px}.site-nav.open{display:block}.site-nav ul{flex-direction:column;align-items:stretch;gap:0}.site-nav li a{display:block;padding:14px 4px;font-size:16px;border-bottom:1px solid var(--bg-3)}.site-nav li:last-child a{border:0;margin-top:16px;text-align:center}}.section{padding:clamp(72px,10vw,128px) 0}.section.alt{background:var(--bg-2)}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-size:14px;letter-spacing:.16em;color:var(--sub)}.eyebrow:before{content:"";width:28px;height:2px;background:var(--accent-2)}.section-title{font-size:clamp(26px,4vw,38px);margin-top:12px}.lead{color:var(--sub);margin-top:20px;max-width:40em}.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;background:var(--main);color:var(--bg);font-weight:700;padding:16px 32px;border-radius:999px;transition:background .2s}.btn:hover{background:var(--sub)}.btn .arrow{transition:transform .2s}.btn:hover .arrow{transform:translate(4px)}.text-link{color:var(--main);font-weight:700;text-decoration:underline;text-decoration-color:var(--accent-2);text-underline-offset:6px;text-decoration-thickness:2px}.hero{padding:clamp(64px,12vw,152px) 0 clamp(72px,10vw,128px);position:relative;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}.hero-title{font-size:clamp(28px,4.6vw,56px);line-height:1.35;margin-top:20px}.hero-title .dot{color:var(--accent)}.hero-title .ph{display:inline-block;white-space:nowrap}.hero-copy{margin-top:28px;color:var(--sub);font-size:clamp(15px,1.6vw,17px);max-width:30em}.hero-actions{margin-top:40px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}.hero-mark{justify-self:end;width:min(100%,380px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--bg-3)}.hero-mark img{width:62%}@media(max-width:760px){.hero-inner{grid-template-columns:1fr}.hero-mark{display:none}}.mission{background:var(--main);color:var(--bg)}.mission .eyebrow{color:var(--sub-dark)}.mission-title{font-size:clamp(28px,5vw,52px);margin-top:16px}.mission-copy{margin-top:24px;color:var(--sub-dark);max-width:36em}.values{margin-top:clamp(56px,8vw,88px);display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none}.value{border-top:2px solid var(--accent-2);padding-top:24px}.value-num{font-family:var(--font-head);color:var(--accent-2);font-size:14px;letter-spacing:.12em}.value h3{font-size:22px;margin-top:8px;color:var(--bg)}.value p{margin-top:12px;color:var(--sub-dark);font-size:15px}@media(max-width:760px){.values{grid-template-columns:1fr;gap:40px}}.phases{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;counter-reset:phase}.phase{background:var(--bg-3);border-radius:var(--radius);padding:32px 28px;position:relative}.phase-num{font-family:var(--font-head);font-size:44px;line-height:1;color:var(--main);opacity:.9}.phase h3{font-size:20px;margin-top:16px}.phase p{margin-top:10px;color:var(--sub);font-size:15px}.areas-head{margin-top:clamp(64px,8vw,96px);font-size:22px}.areas{margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;list-style:none}.area{padding:28px 0;border-top:1px solid var(--bg-3)}.area h4{font-size:18px;display:flex;gap:12px;align-items:baseline}.area h4 span{font-size:13px;color:var(--accent);letter-spacing:.1em}.area p{margin-top:10px;color:var(--sub);font-size:15px}@media(max-width:900px){.phases,.areas{grid-template-columns:1fr}}.members{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;list-style:none}.member-card{display:flex;flex-direction:column;text-decoration:none}.member-card .photo{border-radius:var(--radius);overflow:hidden;aspect-ratio:1;background:var(--bg-3)}.member-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.member-card:hover .photo img{transform:scale(1.03)}.member-card h3{font-size:22px;margin-top:20px}.member-card p{margin-top:10px;color:var(--sub);font-size:15px}.member-card .more{margin-top:16px;font-size:14px;font-weight:700}@media(max-width:860px){.members{grid-template-columns:1fr;max-width:480px}}.post-list{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none}.post-card{display:flex;flex-direction:column;height:100%;text-decoration:none;background:var(--bg-3);border-radius:var(--radius);overflow:hidden}.post-card .thumb{position:relative;flex:none;aspect-ratio:692 / 407;overflow:hidden;background:var(--bg-2);display:grid;place-items:center}.post-card .thumb img:not(.ph){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.post-card .thumb .ph{width:56px;opacity:.5}.post-card .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}.post-meta{font-size:13px;color:var(--sub);display:flex;flex-wrap:wrap;gap:4px 14px}.post-card h3{font-size:18px}.post-card p{font-size:14px;color:var(--sub)}.empty{margin-top:32px;padding:32px;border-radius:var(--radius);background:var(--bg-3);color:var(--sub)}@media(max-width:900px){.post-list{grid-template-columns:1fr 1fr}}@media(max-width:600px){.post-list{grid-template-columns:1fr}}.cta{background:var(--main);color:var(--bg);text-align:center}.cta .section-title{color:var(--bg)}.cta p{color:var(--sub-dark);margin:16px auto 0;max-width:32em}.cta .btn{background:var(--bg);color:var(--main);margin-top:36px}.cta .btn:hover{background:var(--bg-3)}.page-head{padding:clamp(56px,9vw,104px) 0 clamp(32px,5vw,56px)}.page-head h1{font-size:clamp(28px,5vw,44px);margin-top:12px}.page-head .lead{margin-top:16px}.page-body{padding-bottom:clamp(72px,10vw,128px)}.narrow{max-width:760px}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{text-align:left;vertical-align:top;padding:20px 16px;border-bottom:1px solid var(--bg-3)}.info-table th{width:9em;color:var(--sub);font-weight:500;white-space:nowrap}@media(max-width:560px){.info-table th,.info-table td{display:block;width:auto;padding:4px 0;border:0}.info-table tr{display:block;padding:16px 0;border-bottom:1px solid var(--bg-3)}}.profile{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}.profile .photo{border-radius:var(--radius);overflow:hidden;aspect-ratio:1}.profile h1{font-size:clamp(28px,4.4vw,40px);margin-top:8px}.profile .bio{margin-top:20px;color:var(--sub)}@media(max-width:700px){.profile{grid-template-columns:1fr;gap:28px}.profile .photo{max-width:200px}}.disclaimer{margin-top:24px;font-size:13px;color:var(--sub);background:var(--bg-3);border-radius:12px;padding:12px 16px}.article-head{padding:clamp(48px,8vw,88px) 0 32px}.article-head h1{font-size:clamp(26px,4.4vw,40px);margin-top:16px}.byline{display:flex;align-items:center;gap:12px;margin-top:24px;text-decoration:none}.byline img{width:44px;height:44px;border-radius:50%;object-fit:cover}.byline span{font-weight:700}.article-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(360px,62vh,620px);overflow:hidden;background:var(--main)}.article-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.article-hero-shade{position:absolute;inset:0;background:linear-gradient(to bottom,color-mix(in srgb,var(--main) 0%,transparent) 20%,color-mix(in srgb,var(--main) 62%,transparent) 55%,color-mix(in srgb,var(--main) 92%,transparent))}.article-hero-text{position:relative;width:100%;padding-top:120px;padding-bottom:clamp(32px,5vw,56px);color:var(--bg)}.article-hero-text .eyebrow{color:var(--sub-dark)}.article-hero-text h1{font-size:clamp(26px,4.4vw,42px);margin-top:14px;color:var(--bg);text-shadow:0 1px 12px color-mix(in srgb,var(--main) 60%,transparent)}.article-hero-text .post-meta{color:var(--sub-dark);margin-top:14px}.article-sub{padding-top:28px;padding-bottom:8px}.article-sub .byline{margin-top:0}.prose{font-size:17px;line-height:2}.prose>*+*{margin-top:1.4em}.prose h2{font-size:26px;margin-top:2.4em;padding-bottom:10px;border-bottom:2px solid var(--accent-2)}.prose h3{font-size:21px;margin-top:2em}.prose h4{font-size:18px;margin-top:1.8em}.prose ul,.prose ol{padding-left:1.5em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li+li{margin-top:.4em}.prose a{color:var(--main);text-decoration-color:var(--accent-2);text-underline-offset:4px}.prose blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:3px solid var(--accent-2);color:var(--sub)}.prose .callout{display:flex;gap:12px;background:var(--bg-3);border-radius:14px;padding:18px 20px}.prose figure{margin:2em 0}.prose figure img{border-radius:14px}.prose figcaption{font-size:13px;color:var(--sub);margin-top:8px;text-align:center}.prose hr{border:0;border-top:1px solid var(--bg-3);margin:2.4em 0}.prose code{background:var(--bg-3);padding:2px 6px;border-radius:6px;font-size:.9em}.prose pre{background:var(--main);color:var(--bg);padding:20px;border-radius:14px;overflow-x:auto}.prose pre code{background:none;padding:0}.prose details{background:var(--bg-2);border-radius:12px;padding:12px 18px}.prose summary{cursor:pointer;font-weight:700}.prose .table-wrap{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:15px}.prose th,.prose td{border:1px solid var(--bg-3);padding:10px 12px;text-align:left}.prose th{background:var(--bg-3)}.article-foot{margin-top:64px;padding-top:32px;border-top:1px solid var(--bg-3)}.site-footer{background:var(--main);color:var(--sub-dark);padding:64px 0 40px;border-top:1px solid var(--sub)}.footer-inner{display:grid;gap:32px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-name{font-family:var(--font-head);color:var(--bg);font-size:18px;letter-spacing:.06em}.site-footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px}.site-footer a{text-decoration:none;font-size:14px}.site-footer a:hover{color:var(--bg);text-decoration:underline}.copyright{font-size:12px}
