:root{--blue: #033fa8;--blue-dark: #022d7a;--ink: #111111;--ink-2: #333333;--muted: #6b6f76;--line: #e5e7eb;--bg: #ffffff;--bg-soft: #f4f5f7;--bg-soft-2: #eceef1;--radius: 24px;--radius-sm: 14px;--shadow: 0 10px 30px rgba(10, 20, 40, .08);--font: "Inter", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;--max: 1160px;--gutter: clamp(16px, 4vw, 40px)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.85;font-size:16px;font-feature-settings:"palt";letter-spacing:.01em}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}h1,h2,h3,h4{line-height:1.35;font-weight:700;margin:0;letter-spacing:.01em}p{margin:0 0 1em}ul,ol{padding-left:1.4em}button{font-family:inherit}.container{width:min(var(--max),100% - var(--gutter) * 2);margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header{position:sticky;top:0;z-index:50;background:#ffffffe6;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}.site-header.scrolled{border-bottom-color:var(--line)}.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:80px;gap:24px}.brand img{height:48px;width:auto}.nav{display:flex;align-items:center;gap:28px}.nav a{font-size:14px;font-weight:600;color:var(--ink-2);padding:6px 0;position:relative}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;font-weight:700;font-size:14px;padding:12px 22px;border-radius:8px;border:0;cursor:pointer;transition:background .2s,transform .2s}.btn:hover{background:var(--blue-dark);color:#fff;transform:translateY(-1px)}.btn .arrow{font-size:12px}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0;transition:.2s}.mobile-nav{display:none}@media(max-width:900px){.nav,.site-header .btn{display:none}.menu-toggle{display:block}.mobile-nav{display:none;border-top:1px solid var(--line);padding:12px 0 20px}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:12px 4px;font-weight:600;border-bottom:1px solid var(--line)}.mobile-nav .btn{display:inline-flex;margin-top:16px}}.label{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--ink-2);padding-bottom:8px;margin-bottom:18px;position:relative}.label:after{content:"";position:absolute;left:0;bottom:0;width:28px;height:3px;background:var(--blue)}.h-section{font-size:clamp(26px,3.2vw,38px)}.h-page{font-size:clamp(28px,3.6vw,44px)}.lead{color:var(--ink-2);font-size:15.5px}.more{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.more .circle{width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;display:inline-grid;place-items:center;font-size:11px;transition:.2s}.more:hover .circle{background:var(--blue)}.section{padding:clamp(56px,8vw,110px) 0}.section.soft{background:var(--bg-soft);border-radius:var(--radius)}.soft-wrap{width:min(1280px,100% - 16px);margin-inline:auto}.panel{background:var(--bg-soft);border-radius:var(--radius);padding:clamp(32px,5vw,72px) clamp(20px,5vw,64px)}.grid{display:grid;gap:24px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:960px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}.grid.cols-4{grid-template-columns:repeat(2,1fr);gap:14px}}.card{background:#fff;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 1px 2px #0000000a;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);color:inherit}.card .thumb{aspect-ratio:4 / 3;overflow:hidden;background:var(--bg-soft-2)}.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .thumb img{transform:scale(1.04)}.card .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}.card .title{font-size:15.5px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:12px}.card .title .chev{color:var(--muted);font-size:12px}.card .desc{font-size:13.5px;color:var(--muted);line-height:1.7}.card .meta{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}.card .meta .cat{padding:2px 8px;border:1px solid var(--line);border-radius:4px}.img-card{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#fff}.img-card img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .5s}.img-card:hover img{transform:scale(1.04)}.img-card .cap{padding:14px 16px;font-weight:700;font-size:15px;display:flex;justify-content:space-between;align-items:center}.hero{padding:clamp(40px,6vw,80px) 0 0}.hero .top{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end}.hero h1{font-size:clamp(28px,3.8vw,44px);line-height:1.25}.hero h1 small{display:block;font-size:.62em;margin-top:.35em;padding-left:.2em;font-weight:600}.hero .scroll{margin-top:26px;font-size:11px;letter-spacing:.14em;display:inline-flex;align-items:center;gap:8px;color:var(--ink-2)}.hero .scroll .circle{width:18px;height:18px;border:1.5px solid var(--ink-2);border-radius:50%;display:grid;place-items:center;font-size:9px}.hero .lead{font-size:15px}.hero .photos{margin-top:40px;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:16px;height:clamp(160px,21vw,280px)}.hero .photos img{border-radius:var(--radius-sm);object-fit:cover;width:100%;height:100%}@media(max-width:900px){.hero .top{grid-template-columns:1fr}.hero .photos{grid-template-columns:1fr 1fr}.hero .photos img:nth-child(3){display:none}}.mission{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}.mission .pics{display:grid;grid-template-columns:2fr 1fr;gap:16px}.mission .pics img{border-radius:var(--radius-sm);object-fit:cover;width:100%;height:100%;aspect-ratio:4/3.4}.mission h2{font-size:clamp(26px,3.2vw,38px);margin-bottom:18px}@media(max-width:900px){.mission{grid-template-columns:1fr}}.policy{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:start}.policy .rule{width:28px;height:3px;background:var(--ink);margin-bottom:20px}@media(max-width:900px){.policy{grid-template-columns:1fr}}.member-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px 20px}.member{text-align:left}.member .avatar{aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-soft-2);margin-bottom:12px}.member .avatar img{width:100%;height:100%;object-fit:cover}.member .avatar.placeholder{display:grid;place-items:center;color:#c3c7cf}.member .role{font-size:12px;color:var(--muted)}.member .name{font-size:16px;font-weight:700}.member .name small{font-weight:400;color:var(--muted);font-size:11.5px;display:block}.member .theme{font-size:13px;color:var(--ink-2);margin-top:4px}.member .theme b{color:var(--blue);font-weight:700;margin-right:4px}.member details{margin-top:6px;font-size:13.5px}.member details summary{cursor:pointer;font-weight:700;color:var(--blue);list-style:none;display:inline-flex;align-items:center;gap:6px}.member details summary::-webkit-details-marker{display:none}.member details[open] summary .circle{transform:rotate(90deg)}.member .msg{margin-top:8px;color:var(--ink-2);white-space:pre-line;font-size:13px}.member .profile{font-size:12px;color:var(--muted);margin:6px 0 0;padding:0;list-style:none}.member .sub{font-size:11px;font-weight:700;color:var(--ink-2);letter-spacing:.08em;margin-top:10px}.member .links a{color:var(--blue);margin-right:10px;font-size:12.5px}@media(max-width:1100px){.member-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.member-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.member-grid{grid-template-columns:repeat(2,1fr);gap:20px 14px}}.group-title{font-size:20px;margin:48px 0 20px;display:flex;align-items:center;gap:14px}.group-title:after{content:"";flex:1;height:1px;background:var(--line)}.faq{display:grid;grid-template-columns:1fr 2fr;gap:40px}.faq details{background:#fff;border-radius:var(--radius-sm);padding:4px 22px;margin-bottom:12px}.faq summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;display:flex;align-items:center;gap:14px}.faq summary::-webkit-details-marker{display:none}.faq summary .circle{width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;display:inline-grid;place-items:center;font-size:14px;flex:none;transition:.2s}.faq details[open] summary .circle{transform:rotate(45deg)}.faq .answer{padding:0 0 18px 38px;color:var(--ink-2);font-size:14.5px}@media(max-width:900px){.faq{grid-template-columns:1fr}}.cta{position:relative;border-radius:var(--radius);overflow:hidden;color:#fff;text-align:center;padding:clamp(64px,9vw,120px) 24px;isolation:isolate}.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.cta:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#050f288c,#050f28bf);z-index:-1}.cta h2{font-size:clamp(26px,3.6vw,42px);margin-bottom:22px}.cta .more{color:#fff}.cta .more .circle{background:#fff;color:var(--ink)}.site-footer{padding:64px 0 32px;margin-top:clamp(56px,8vw,110px);border-top:1px solid var(--line);font-size:13.5px}.site-footer .cols{display:grid;grid-template-columns:repeat(4,1fr) 1.2fr;gap:32px}.site-footer h4{font-size:13px;margin-bottom:14px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:8px}.site-footer li a{color:var(--ink-2)}.site-footer .brandcol{text-align:right}.site-footer .brandcol img{height:32px;margin-left:auto;margin-bottom:14px}.site-footer .brandcol p{color:var(--muted);font-size:12.5px}.site-footer .brandcol .lines span{display:block;white-space:nowrap;line-height:1.7}.site-footer .social{display:flex;gap:10px;justify-content:flex-end;margin:10px 0}.site-footer .social a{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.site-footer .copy{margin-top:40px;text-align:right;color:var(--muted);font-size:12px}@media(max-width:960px){.site-footer .cols{grid-template-columns:repeat(2,1fr)}.site-footer .brandcol{grid-column:1 / -1;text-align:left}.site-footer .brandcol img{margin-left:0}.site-footer .social{justify-content:flex-start}}.page-hero{padding:clamp(36px,5vw,64px) 0 clamp(24px,3vw,40px)}.page-hero .crumbs{font-size:12px;color:var(--muted);margin-bottom:14px;display:flex;gap:8px;flex-wrap:wrap}.page-hero .crumbs a:hover{color:var(--blue)}.page-hero .desc{color:var(--ink-2);margin-top:14px;max-width:760px}.page-hero .cover{margin-top:28px;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/6}.page-hero .cover img{width:100%;height:100%;object-fit:cover}.prose{max-width:820px;margin-inline:auto;font-size:15.5px}.prose.wide{max-width:none}.prose h1{font-size:26px;margin:4em 0 1em;padding:1.2em 0 0;border-top:1px solid var(--line)}.prose h2{font-size:24px;margin:2.2em 0 .8em;padding-bottom:.4em;border-bottom:2px solid var(--ink)}.prose h3{font-size:18px;margin:1.8em 0 .6em;color:var(--blue)}.prose h4,.prose h5,.prose h6{font-size:15.5px;margin:1.4em 0 .5em}.prose img{border-radius:var(--radius-sm);margin:1.4em auto}.prose.news img{max-width:560px}.prose video{border-radius:var(--radius-sm);margin:1.4em auto;width:100%;background:#000}.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;word-break:break-all}.prose table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:14px}.prose th,.prose td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.prose th{background:var(--bg-soft);font-weight:700;white-space:nowrap}.prose blockquote{border-left:3px solid var(--blue);margin:1.2em 0;padding:.2em 1em;color:var(--ink-2);background:var(--bg-soft);border-radius:0 8px 8px 0}.prose .embed{position:relative;aspect-ratio:16/9;margin:1.4em 0;border-radius:var(--radius-sm);overflow:hidden}.prose .embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}.prose ol,.prose ul{margin:0 0 1.2em}.prose li{margin-bottom:.3em}.news-list{list-style:none;padding:0;margin:0}.news-list li{border-bottom:1px solid var(--line)}.news-list a{display:grid;grid-template-columns:110px 100px 1fr;gap:16px;padding:16px 4px;align-items:baseline;font-size:15px}.news-list time{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.news-list .cat{font-size:11px;border:1px solid var(--line);border-radius:4px;padding:2px 8px;text-align:center;color:var(--ink-2)}@media(max-width:640px){.news-list a{grid-template-columns:1fr;gap:4px}}.article-head time{color:var(--muted);font-size:13.5px}.article-head .cat{font-size:11px;border:1px solid var(--line);border-radius:4px;padding:2px 8px;margin-left:10px}.pager{display:flex;justify-content:center;gap:8px;margin-top:40px}.pager a,.pager span{min-width:40px;height:40px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);font-size:14px}.pager a:hover{border-color:var(--blue);color:var(--blue)}.pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:#fff;border-radius:var(--radius-sm);padding:22px 20px}.stat .v{font-size:34px;font-weight:800;color:var(--blue);line-height:1}.stat .v small{font-size:14px;color:var(--ink-2);margin-left:4px;font-weight:700}.stat .l{font-size:13px;color:var(--muted);margin-top:8px}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}.award{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.award time{color:var(--muted);font-size:13.5px;font-variant-numeric:tabular-nums}.award .name{font-weight:700;font-size:16px}.award .org,.award .ttl{font-size:13.5px;color:var(--ink-2)}.award .ttl{color:var(--muted)}.award .who{font-size:14px;margin-top:4px}@media(max-width:640px){.award{grid-template-columns:1fr;gap:6px}}.form{display:grid;gap:18px;max-width:640px}.form label{font-weight:700;font-size:14px;display:block;margin-bottom:6px}.form label .req{color:#d33;margin-left:4px;font-size:12px}.form input,.form textarea{width:100%;padding:12px 14px;border:1px solid #cfd3da;border-radius:8px;font:inherit;font-size:15px;background:#fff}.form input:focus,.form textarea:focus{outline:2px solid var(--blue);border-color:transparent}.form textarea{min-height:180px;resize:vertical}.info-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:15px}.info-list li{display:grid;grid-template-columns:5em 1fr;gap:8px;align-items:start}.info-list b{color:var(--muted);font-weight:600}.info-list span{display:block}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
