:root{--navy: #112d4e;--navy-2: #21304e;--indigo: #2e3d79;--blue: #3f72af;--blue-2: #596492;--blue-soft: #dbe2ef;--peach: #ffbc7d;--slate: #47536b;--ink: #16243a;--muted: #5c6675;--line: #e6eaf1;--bg: #ffffff;--bg-soft: #f7f9fc;--radius: 14px;--maxw: 1120px;--header-h: 70px;--font: "Manrope", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;--shadow-sm: 0 6px 18px rgba(17, 45, 78, .08);--shadow-md: 0 18px 40px rgba(17, 45, 78, .12)}*{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.8;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{color:var(--navy);line-height:1.3}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.section{padding:clamp(56px,8vw,92px) 0}.section--soft{background:var(--bg-soft)}.center{text-align:center}.muted{color:var(--muted)}.flow>*+*{margin-top:1.1em}.btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.6em;border-radius:999px;font-weight:700;font-size:.95rem;line-height:1;transition:transform .15s ease,box-shadow .15s ease,background .15s,color .15s;cursor:pointer;border:none;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 18px #3f72af4d}.btn-primary:hover{transform:translateY(-2px);background:var(--navy);color:#fff}.btn-ghost{border:1.5px solid var(--line);color:var(--navy);background:transparent}.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}.btn-peach{background:var(--peach);color:var(--navy)}.btn-peach:hover{background:#fff;transform:translateY(-2px)}.band .btn-ghost{border-color:#ffffff8c;color:#fff}.band .btn-ghost:hover{background:#fff;border-color:#fff;color:var(--navy)}.sec-head{text-align:center;max-width:720px;margin:0 auto clamp(36px,5vw,54px)}.sec-head .k{font-weight:700;letter-spacing:.14em;font-size:.78rem;color:var(--blue);text-transform:uppercase}.sec-head h2{font-size:clamp(1.6rem,3.6vw,2.3rem);font-weight:900;margin:.3em 0 .35em}.sec-head p{color:var(--slate);margin:0}.site-header{position:sticky;top:0;z-index:100;background:#ffffffeb;backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}.brand img{height:26px;width:auto;display:block}.nav-desktop{display:flex;align-items:center;gap:26px;margin-left:auto;margin-right:22px}.nav-desktop>a{color:var(--navy-2);font-weight:500;font-size:.92rem}.nav-desktop>a:hover{color:var(--blue);text-decoration:none}.nav-actions{display:flex;align-items:center;gap:14px}.nav-group{position:relative}.nav-group-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;cursor:pointer;padding:0;color:var(--navy-2);font-family:inherit;font-weight:500;font-size:.92rem}.nav-group-btn:hover,.nav-group:hover .nav-group-btn,.nav-group:focus-within .nav-group-btn{color:var(--blue)}.nav-group-btn .caret{transition:transform .2s ease}.nav-group:hover .nav-group-btn .caret,.nav-group:focus-within .nav-group-btn .caret{transform:rotate(180deg)}.nav-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%) translateY(6px);min-width:210px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:8px;opacity:0;visibility:hidden;transition:.16s ease;z-index:120}.nav-group:after{content:"";position:absolute;top:100%;left:0;right:0;height:16px}.nav-group:hover .nav-menu,.nav-group:focus-within .nav-menu{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.nav-menu a{display:block;padding:10px 14px;border-radius:8px;color:var(--navy);font-size:.9rem;font-weight:500;white-space:nowrap}.nav-menu a:hover{background:var(--bg-soft);color:var(--blue);text-decoration:none}.lang-switch{font-size:.8rem;border:1px solid var(--line);border-radius:999px;padding:.3em .8em;color:var(--slate)}.lang-switch:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}.nav-cta{background:var(--blue);color:#fff;padding:.6em 1.15em;border-radius:999px;font-weight:700;font-size:.88rem}.nav-cta:hover{background:var(--navy);color:#fff;text-decoration:none}.nav-toggle{display:none;width:44px;height:44px;border:none;background:transparent;cursor:pointer;padding:10px;margin-right:-8px}.nav-toggle span{display:block;height:2px;background:var(--navy);border-radius:2px;transition:.25s}.nav-toggle span+span{margin-top:5px}.nav-mobile{display:none}@media (max-width: 860px){.nav-desktop,.nav-actions .lang-switch,.nav-actions .nav-cta{display:none}.nav-toggle{display:block}.nav-mobile{display:block;position:fixed;inset:var(--header-h) 0 0 0;background:#fff;transform:translate(100%);transition:transform .28s ease;padding:24px 24px 60px;overflow-y:auto;z-index:99}body.nav-open{overflow:hidden}body.nav-open .nav-mobile{transform:translate(0)}body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.nav-open .nav-toggle span:nth-child(2){opacity:0}body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-mobile a{display:block;padding:16px 4px;font-size:1.1rem;font-weight:600;color:var(--navy);border-bottom:1px solid var(--line)}.nav-mobile a:hover{text-decoration:none}.nav-mobile .m-group-label{display:block;padding:16px 4px 6px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.nav-mobile .m-sub{padding-left:16px;font-size:1rem}.nav-mobile .m-actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}}.hero{position:relative;overflow:hidden;background:radial-gradient(1100px 520px at 80% -12%,rgba(63,114,175,.18),transparent 60%),radial-gradient(760px 440px at 2% 115%,rgba(255,188,125,.22),transparent 55%),linear-gradient(180deg,#f7faff,#fff)}.hero .inner{padding-top:clamp(64px,9vw,104px);padding-bottom:clamp(56px,7vw,88px)}.eyebrow{display:inline-block;font-weight:700;font-size:.76rem;letter-spacing:.12em;color:var(--indigo);background:var(--blue-soft);border:1px solid #c9d6ea;padding:.45em 1.1em;border-radius:999px;margin-bottom:22px}.hero h1{font-size:clamp(2.1rem,6vw,3.7rem);line-height:1.16;font-weight:900;letter-spacing:.5px;margin:0 0 22px}.hero h1 .peach{position:relative;white-space:nowrap}.hero h1 .peach:after{content:"";position:absolute;left:-2px;right:-2px;bottom:.08em;height:.26em;background:var(--peach);opacity:.55;z-index:-1;border-radius:3px}.hero .lead{font-size:clamp(1rem,1.7vw,1.18rem);color:var(--slate);max-width:660px;margin:0 0 32px}.hero .cta{display:flex;gap:14px;flex-wrap:wrap}.hero-stats{display:flex;gap:clamp(24px,5vw,44px);margin-top:clamp(36px,5vw,56px);flex-wrap:wrap}.hero-stats .n{font-size:1.45rem;font-weight:900;color:var(--navy)}.hero-stats .l{font-size:.82rem;color:var(--muted)}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.card{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,34px);background:var(--bg);transition:.18s ease;position:relative;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d4ddec}.card.accent:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--blue),var(--indigo))}.card .tag{font-weight:700;color:var(--blue);font-size:.76rem;letter-spacing:.1em}.card h3{font-size:1.2rem;margin:.5em 0}.card p{color:var(--slate);margin:0 0 14px}.card .more{font-weight:700;color:var(--blue);font-size:.92rem}.card .num{font-size:.8rem;font-weight:800;color:#fff;background:var(--blue);width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.news-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.news-item{display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line);transition:.15s;color:var(--ink)}.news-item:last-child{border-bottom:0}.news-item:hover{background:#f6f9ff;text-decoration:none}.news-item time{color:var(--blue-2);font-size:.85rem;font-weight:500;font-variant-numeric:tabular-nums}.news-item .badge{display:inline-block;font-size:.68rem;font-weight:700;color:var(--indigo);background:var(--blue-soft);border-radius:999px;padding:.2em .8em;margin-right:10px}.news-item .t{font-weight:500;font-size:.97rem}.news-item .arrow{color:var(--blue);font-weight:800}@media (max-width: 640px){.news-item{grid-template-columns:1fr;gap:6px;padding:16px 18px}.news-item .arrow{display:none}}.band{background:linear-gradient(120deg,var(--navy),var(--indigo));color:#fff;border-radius:22px;padding:clamp(40px,6vw,60px) clamp(24px,4vw,40px);text-align:center;position:relative;overflow:hidden}.band:before{content:"";position:absolute;inset:0;background:radial-gradient(620px 260px at 18% 0,rgba(255,188,125,.34),transparent 60%);opacity:.7}.band>*{position:relative}.band h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:900;margin:0 0 12px}.band p{color:#cdd7e8;margin:0 0 26px}.prose{max-width:760px;margin:0 auto;color:var(--ink);font-size:1.02rem}.prose>*+*{margin-top:1.15em}.prose h2{font-size:1.5rem;font-weight:800;margin-top:1.8em;padding-bottom:.3em;border-bottom:2px solid var(--blue-soft)}.prose h3{font-size:1.2rem;font-weight:700;margin-top:1.6em}.prose h4,.prose h5{font-size:1.05rem;font-weight:700;margin-top:1.4em}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.4em 0}.prose img{border-radius:10px;margin:1.4em auto;box-shadow:var(--shadow-sm)}.prose a{color:var(--blue);text-decoration:underline}.prose strong{color:var(--navy)}.prose blockquote{border-left:4px solid var(--blue-soft);padding-left:1em;color:var(--slate)}.prose table{width:100%;border-collapse:collapse}.prose th,.prose td{border:1px solid var(--line);padding:10px 14px;text-align:left}.prose th{background:var(--bg-soft)}.page-head{background:linear-gradient(180deg,#f3f7fd,#fff);border-bottom:1px solid var(--line);padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,48px)}.page-head .k{color:var(--blue);font-weight:700;letter-spacing:.14em;font-size:.78rem;text-transform:uppercase}.page-head h1{font-size:clamp(1.8rem,4.4vw,2.7rem);font-weight:900;margin:.2em 0 0}.page-head .crumbs{font-size:.82rem;color:var(--muted);margin-top:14px}.page-head .crumbs a{color:var(--muted)}.form{max-width:640px;margin:0 auto}.form .row{margin-bottom:20px}.form label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--navy)}.form label .req{color:#d6455d;font-size:.8em;margin-left:4px}.form input,.form textarea,.form select{width:100%;padding:12px 14px;border:1px solid #cfd6e2;border-radius:10px;font-family:inherit;font-size:1rem;color:var(--ink);background:#fff;transition:border .15s,box-shadow .15s}.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #3f72af26}.form textarea{min-height:140px;resize:vertical}.form .note{font-size:.82rem;color:var(--muted)}.profile{width:100%;border-collapse:collapse;max-width:720px;margin:0 auto}.profile th,.profile td{border-bottom:1px solid var(--line);padding:16px 18px;text-align:left;vertical-align:top}.profile th{width:32%;color:var(--navy);font-weight:700;background:var(--bg-soft);white-space:nowrap}@media (max-width: 560px){.profile th,.profile td{display:block;width:100%}.profile th{border-bottom:none}}.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}.team .member{text-align:center}.team .member img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 14px;box-shadow:var(--shadow-sm)}.team .member .role{color:var(--blue);font-size:.82rem;font-weight:600}.team .member .name{font-weight:700;color:var(--navy)}.mobile-cta{display:none}@media (max-width: 860px){.mobile-cta{display:flex;align-items:center;justify-content:center;gap:.5em;position:fixed;left:16px;right:16px;bottom:16px;z-index:90;background:var(--blue);color:#fff;font-weight:700;font-size:1rem;padding:.95em 1.2em;border-radius:999px;box-shadow:var(--shadow-md)}.mobile-cta:hover{text-decoration:none;color:#fff}body{padding-bottom:84px}body.nav-open .mobile-cta{display:none}}.site-footer{background:var(--navy);color:#aebbd0;padding:clamp(48px,6vw,64px) 0 32px;font-size:.9rem}.site-footer .grid-foot{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;margin-bottom:40px}@media (max-width: 740px){.site-footer .grid-foot{grid-template-columns:1fr;gap:28px}}.site-footer .brand img{height:32px;margin-bottom:16px}.site-footer h4{color:#fff;font-size:.82rem;letter-spacing:.1em;margin:0 0 16px;text-transform:uppercase}.site-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.site-footer a{color:#aebbd0}.site-footer a:hover{color:#fff;text-decoration:none}.site-footer .bottom{border-top:1px solid #21304e;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#7384a3;font-size:.8rem}
