:root{
  --ink:#202147;--text:#30334a;--muted:#6c7086;--line:#e6e8f1;--soft:#f6f7fb;
  --indigo:#5368e8;--violet:#7757d8;--blue:#315bd6;--white:#fff;--good:#2a7a68;
  --shadow:0 18px 50px rgba(32,33,71,.09);--radius:24px;--wrap:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 40px),var(--wrap));margin:auto}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(230,232,241,.9)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand img{width:210px}.main-nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700;color:#4a4e66}.main-nav a:hover,.main-nav a.is-current{color:var(--indigo)}.nav-cta{padding:11px 17px;border:1px solid #cfd4fb;border-radius:999px;color:var(--indigo)!important;background:#f8f9ff}.nav-toggle{display:none;background:none;border:0;padding:7px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}
.eyebrow{margin:0 0 14px;color:var(--indigo);font-size:12px;letter-spacing:.17em;font-weight:800;text-transform:uppercase}.hero{position:relative;overflow:hidden;padding:92px 0 76px;background:linear-gradient(145deg,#fff 0%,#fafaff 55%,#f0f3ff 100%)}.hero:after{content:"";position:absolute;right:-140px;top:-210px;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle at 35% 40%,rgba(83,104,232,.19),rgba(119,87,216,.04) 55%,transparent 70%)}.hero-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:64px;align-items:center;position:relative;z-index:1}.hero h1{margin:0;color:var(--ink);font-size:clamp(42px,5vw,70px);line-height:1.18;letter-spacing:-.04em}.hero h1 span{background:linear-gradient(90deg,var(--indigo),var(--violet));-webkit-background-clip:text;color:transparent}.hero-lead{font-size:21px;font-weight:700;color:#393d58;margin:22px 0 10px}.hero-text{font-size:16px;max-width:700px}.hero-actions,.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 20px;border-radius:12px;font-weight:800;font-size:14px;border:1px solid transparent;transition:.2s}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:linear-gradient(100deg,var(--indigo),var(--violet));box-shadow:0 11px 25px rgba(83,104,232,.22)}.button.secondary{color:var(--ink);background:#fff;border-color:#dfe2ee}.hero-board{background:rgba(255,255,255,.83);border:1px solid rgba(219,223,241,.9);box-shadow:var(--shadow);border-radius:30px;padding:28px}.board-title{font-size:12px;letter-spacing:.16em;font-weight:900;color:var(--muted);margin:0 0 16px}.clarity-grid{display:grid;gap:12px}.clarity-card{padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff}.clarity-card small{display:block;font-size:11px;letter-spacing:.12em;color:var(--indigo);font-weight:900}.clarity-card strong{display:block;color:var(--ink);font-size:18px;margin:3px 0}.clarity-card p{font-size:13px;color:var(--muted);margin:0}.board-note{margin:16px 0 0;padding-top:15px;border-top:1px solid var(--line);font-size:13px;color:#555a72}
.section{padding:86px 0}.section.soft{background:var(--soft)}.section.dark{background:linear-gradient(130deg,#202147,#292a61);color:#fff}.section-head{max-width:780px;margin-bottom:38px}.section-head h2{font-size:clamp(30px,4vw,46px);line-height:1.3;color:var(--ink);margin:0 0 13px;letter-spacing:-.025em}.dark .section-head h2{color:#fff}.section-head p{margin:0;color:var(--muted)}.dark .section-head p{color:#c9cbe0}.kicker{color:var(--indigo);font-size:12px;letter-spacing:.16em;font-weight:900;margin-bottom:10px}.dark .kicker{color:#aab5ff}
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.path-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:#fff;box-shadow:0 12px 35px rgba(32,33,71,.05)}.path-card .path-label{display:inline-block;padding:5px 10px;border-radius:999px;background:#eef1ff;color:var(--indigo);font-size:11px;font-weight:900;letter-spacing:.08em}.path-card h3{font-size:27px;color:var(--ink);line-height:1.25;margin:17px 0 8px}.path-card p{margin:0;color:#5b6077}.path-list{padding:0;margin:20px 0 0;list-style:none}.path-list li{padding:8px 0;border-top:1px solid #edf0f6;font-size:14px}.path-list strong{color:var(--ink)}
.axis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.axis article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px}.axis .num{font-weight:900;color:#a9afd0;font-size:12px;letter-spacing:.12em}.axis h3{color:var(--ink);font-size:21px;margin:7px 0}.axis p{margin:0;font-size:14px;color:var(--muted)}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.role-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;padding:27px;background:#fff;min-height:370px}.role-card:hover{box-shadow:var(--shadow);border-color:#d6daf1}.role-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#f0f2ff;color:var(--indigo)}.role-card h3{font-size:23px;color:var(--ink);line-height:1.3;margin:17px 0 6px}.role-card .jp{font-size:13px;color:var(--muted);font-weight:700}.role-card p{font-size:14px}.role-points{list-style:none;padding:0;margin:10px 0 20px}.role-points li{position:relative;padding:6px 0 6px 18px;font-size:13px;color:#555a70}.role-points li:before{content:"";position:absolute;left:1px;top:15px;width:6px;height:6px;border-radius:50%;background:var(--indigo)}.text-link{margin-top:auto;color:var(--indigo);font-weight:900;font-size:14px}.text-link:hover{text-decoration:underline}
.partner-band{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}.partner-map{position:relative;min-height:330px}.node{position:absolute;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);backdrop-filter:blur(8px);border-radius:18px;padding:14px 18px;min-width:160px}.node strong{display:block}.node small{color:#bdc4e5}.node.n1{left:8%;top:7%}.node.n2{right:6%;top:27%}.node.n3{left:25%;bottom:8%}.node.center{left:38%;top:39%;background:#fff;color:var(--ink);border-color:#fff;box-shadow:0 16px 42px rgba(0,0,0,.2)}.partner-lines{position:absolute;inset:0;width:100%;height:100%}.partner-lines line{stroke:#6573ae;stroke-width:1.2}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.principle{padding:25px;border:1px solid var(--line);border-radius:20px}.principle h3{color:var(--ink);font-size:19px;margin:10px 0 7px}.principle p{font-size:14px;margin:0;color:var(--muted)}
.entity-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.entity-card{border:1px solid var(--line);border-radius:22px;padding:26px;background:#fff}.entity-card h3{color:var(--ink);margin:3px 0;font-size:21px}.entity-card .country{font-size:12px;color:var(--indigo);font-weight:900;letter-spacing:.1em}.entity-card p{font-size:14px;color:var(--muted)}
.cta{padding:70px 0}.cta-card{background:linear-gradient(120deg,#edf0ff,#f8f4ff);border:1px solid #dfe2f4;border-radius:30px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-card h2{color:var(--ink);font-size:32px;line-height:1.3;margin:0 0 8px}.cta-card p{margin:0;color:#5f6379}
.page-hero{padding:72px 0 54px;background:linear-gradient(150deg,#fff,#f4f5ff)}.page-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.2;color:var(--ink);margin:0 0 12px}.page-hero p{max-width:780px;margin:0;color:#5d6278}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:22px}.breadcrumbs a{color:var(--indigo)}
.info-box{border:1px solid #dfe2f2;background:#f8f9ff;border-radius:20px;padding:23px}.info-box strong{color:var(--ink)}.job-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}.job-meta div{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.job-meta small{display:block;font-size:10px;color:var(--muted);letter-spacing:.09em;font-weight:800}.job-meta strong{display:block;color:var(--ink);font-size:14px;margin-top:3px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:40px}.prose h2{color:var(--ink);font-size:28px;margin:42px 0 10px}.prose h2:first-child{margin-top:0}.prose h3{color:var(--ink);font-size:20px;margin:28px 0 7px}.prose p,.prose li{font-size:15px}.prose ul{padding-left:20px}.sidebar{position:sticky;top:100px;height:max-content;border:1px solid var(--line);border-radius:20px;padding:20px}.sidebar h3{color:var(--ink);margin:0 0 10px}.sidebar p{font-size:13px;color:var(--muted)}.tag{display:inline-block;border:1px solid #dfe2ee;border-radius:999px;padding:4px 9px;margin:3px;font-size:11px;color:#555a70}
.opportunity-list{display:grid;gap:18px}.opportunity{border:1px solid var(--line);border-radius:22px;padding:25px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.opportunity h3{margin:4px 0;color:var(--ink);font-size:21px}.opportunity p{margin:0;color:var(--muted);font-size:14px}.status{display:inline-block;padding:4px 9px;border-radius:999px;background:#f0f2ff;color:var(--indigo);font-size:11px;font-weight:900}.status.prep{background:#f6f1e8;color:#8a6735}.op-meta{font-size:12px;color:#666b82;margin-top:8px!important}
.form-card{max-width:820px;margin:auto;border:1px solid var(--line);border-radius:24px;padding:30px;background:#fff;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.field label{display:block;font-weight:800;color:var(--ink);font-size:13px;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe2ed;border-radius:11px;padding:12px 13px;font:inherit;background:#fff}.field textarea{min-height:150px;resize:vertical}.field small{color:var(--muted)}.required{color:#b84a65}.check{display:flex;align-items:flex-start;gap:9px;font-size:13px}.check input{margin-top:7px}.notice{padding:13px 15px;border-radius:12px;background:#edf7f4;color:#225f52;margin-bottom:18px}.notice.error{background:#fff0f1;color:#8a3443}
.site-footer{padding:42px 0;border-top:1px solid var(--line);background:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:30px}.footer-brand img{width:190px;margin-bottom:12px}.footer-brand p{font-size:13px;color:var(--muted);max-width:350px}.footer-col strong{display:block;color:var(--ink);font-size:13px;margin-bottom:9px}.footer-col a{display:block;color:#60657b;font-size:13px;padding:3px 0}.footer-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;color:#8a8ea0;font-size:11px;gap:20px;flex-wrap:wrap}
@media(max-width:900px){.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 20px;flex-direction:column;align-items:stretch;gap:6px}.main-nav.open{display:flex}.main-nav a{padding:9px}.nav-toggle{display:block}.hero{padding-top:60px}.hero-grid,.partner-band,.content-grid{grid-template-columns:1fr}.hero-board{max-width:620px}.path-grid,.entity-grid{grid-template-columns:1fr}.role-grid,.principle-grid,.axis{grid-template-columns:1fr 1fr}.sidebar{position:static}.job-meta{grid-template-columns:1fr 1fr}.partner-map{min-height:300px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:620px){.wrap{width:min(calc(100% - 28px),var(--wrap))}.brand img{width:180px}.hero h1{font-size:40px}.section{padding:64px 0}.role-grid,.principle-grid,.axis,.form-grid,.job-meta{grid-template-columns:1fr}.field.full{grid-column:auto}.cta-card{padding:28px;display:block}.cta-card .actions{margin-top:22px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.opportunity{grid-template-columns:1fr}.partner-map{display:none}}
