:root{--white:#ffffff;--mist:#f6f9fc;--ink:#0a2540;--slate:#425466;--accent:#1577b0;--accent-h:#0f5d8c;--line:#e6ebf1;--shadow-sm:0 2px 5px -1px rgba(50,50,93,.18),0 1px 3px -1px rgba(0,0,0,.2);--shadow-md:0 13px 27px -5px rgba(50,50,93,.18),0 8px 16px -8px rgba(0,0,0,.18);--shadow-lg:0 30px 60px -12px rgba(50,50,93,.22),0 18px 36px -18px rgba(0,0,0,.2);--radius:16px;--maxw:1120px;--en:"Manrope",sans-serif;--jp:"Zen Kaku Gothic New",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--jp);color:var(--ink);background:transparent;line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}#webgl{position:fixed;inset:0;z-index:-1;pointer-events:none;display:block}html{background:#fff}a{color:inherit;text-decoration:none}.en{font-family:var(--en);letter-spacing:.02em}.eyebrow{font-family:var(--en);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:inline-block;margin-bottom:1rem}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}section{position:relative}#enter-fade{position:fixed;inset:0;z-index:9999;background:#fff;opacity:1;pointer-events:none;transition:opacity 1.1s ease}#enter-fade.gone{opacity:0}header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;background:transparent}header.scrolled{background:#ffffffd1;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);box-shadow:0 1px #0a25400f,0 6px 24px -16px #0a254066}.nav{display:flex;align-items:center;justify-content:space-between;height:74px}.logo{display:flex;flex-direction:column;line-height:1.1}.logo-img{height:34px;width:auto;display:block}.logo .lg-jp{font-family:var(--jp);font-weight:900;font-size:1.18rem;color:var(--ink);letter-spacing:.02em}.logo .lg-en{font-family:var(--en);font-weight:600;font-size:.6rem;letter-spacing:.22em;color:var(--accent);margin-top:2px}.nav-links{display:flex;align-items:center;gap:30px}.nav-links a.link{font-weight:500;font-size:.92rem;color:var(--ink);position:relative;padding:4px 0;transition:color .2s}.nav-links a.link:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--accent);transition:width .25s ease}.nav-links a.link:hover{color:var(--accent)}.nav-links a.link:hover:after{width:100%}.btn{font-family:var(--jp);font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:999px;background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,background .2s ease;cursor:pointer;border:none}.btn:hover{background:var(--accent-h);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn .arr{transition:transform .2s ease}.btn:hover .arr{transform:translate(4px)}.btn-ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line),var(--shadow-sm)}.btn-ghost:hover{background:#fff;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),var(--shadow-md)}.menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);transition:.3s}.hero{padding:190px 0 150px;overflow:hidden;position:relative;background:linear-gradient(180deg,var(--white) 0%,var(--white) 82%,rgba(255,255,255,.5) 93%,rgba(255,255,255,0) 100%)}.hero-flow{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5}.hero-mesh{position:absolute;top:-14%;right:-12%;width:66%;height:128%;z-index:0;pointer-events:none;transform:skewY(-7deg);transform-origin:top right;background:radial-gradient(circle at 72% 28%,rgba(22,181,176,.9),transparent 46%),radial-gradient(circle at 58% 16%,rgba(21,119,176,.85),transparent 50%),radial-gradient(circle at 86% 56%,rgba(255,184,140,.8),transparent 46%),radial-gradient(circle at 50% 80%,rgba(42,160,224,.85),transparent 52%),linear-gradient(120deg,#16b5b0,#1577b0 42%,#2aa0e0 68%,#ffb88c);filter:blur(8px);opacity:.97;-webkit-mask-image:linear-gradient(100deg,transparent 2%,#000 44%);mask-image:linear-gradient(100deg,transparent 2%,#000 44%);animation:meshMove 12s ease-in-out infinite alternate}.hero-mesh:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fff0 55%,#fff)}@keyframes meshMove{0%{transform:skewY(-7deg) translateZ(0) scale(1.05) rotate(0)}50%{transform:skewY(-5deg) translate3d(-7%,4%,0) scale(1.25) rotate(4deg)}to{transform:skewY(-9deg) translate3d(6%,-4%,0) scale(1.18) rotate(-4deg)}}.hero .wrap{position:relative;z-index:2}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#ffffffb3;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-sm);padding:7px 16px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--ink);margin-bottom:26px}.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #1577b02e}.hero h1{font-weight:900;font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.18;letter-spacing:.01em;color:var(--ink);max-width:14ch}.hero h1 .grad{background:linear-gradient(100deg,#1577b0,#1f8fd0 60%,#2aa0e0);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.lead{margin-top:24px;font-size:clamp(1.02rem,1.7vw,1.25rem);color:var(--slate);max-width:46ch;font-weight:500}.hero-cta{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}.hero-stats{margin-top:64px;display:flex;gap:46px;flex-wrap:wrap}.hero-stats .st .num{font-family:var(--en);font-weight:800;font-size:2.1rem;color:var(--ink);line-height:1}.hero-stats .st .lb{font-size:.82rem;color:var(--slate);margin-top:6px;font-weight:500}.philosophy{padding:110px 0;background:var(--white)}.philosophy .grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.philosophy h2{font-weight:900;font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.35;letter-spacing:.01em}.philosophy h2 .ac{color:var(--accent)}.philosophy p{color:var(--slate);margin-top:22px;font-weight:500}.policy-list{list-style:none;margin-top:30px;display:flex;flex-direction:column;gap:14px}.policy-list li{display:flex;align-items:center;gap:14px;font-weight:700;color:var(--ink);background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:14px 18px}.policy-list li .n{font-family:var(--en);font-weight:800;font-size:.85rem;width:32px;height:32px;flex:0 0 32px;border-radius:9px;display:grid;place-items:center;background:#fff;color:var(--accent);box-shadow:var(--shadow-sm)}.philo-visual{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}.philo-visual img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:4/3}.philo-visual .tag{position:absolute;left:18px;bottom:18px;background:#ffffffeb;backdrop-filter:blur(6px);padding:10px 16px;border-radius:10px;font-weight:700;font-size:.88rem;box-shadow:var(--shadow-md)}.pillars{padding:110px 0;background:var(--mist);border-top:1px solid var(--line)}.sec-head{text-align:center;max-width:640px;margin:0 auto 60px}.sec-head h2{font-weight:900;font-size:clamp(1.9rem,3.4vw,2.7rem);letter-spacing:.01em}.sec-head p{color:var(--slate);margin-top:16px;font-weight:500}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#16b5b0,#1577b0,#ffb88c);opacity:0;transition:opacity .3s ease}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.card:hover:before{opacity:1}.card .ico{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;margin-bottom:22px;background:linear-gradient(135deg,#1577b01f,#16b5b01f);color:var(--accent)}.card .ico svg{width:28px;height:28px}.card .knum{font-family:var(--en);font-weight:800;font-size:.78rem;color:var(--accent);letter-spacing:.1em}.card h3{font-weight:900;font-size:1.22rem;margin:8px 0 12px}.card p{color:var(--slate);font-size:.95rem;font-weight:500}.message{padding:110px 0;background:var(--white)}.message .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.msg-photo{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);max-width:420px}.msg-photo img{width:100%;display:block;aspect-ratio:3/4;object-fit:cover}.message blockquote{font-weight:900;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.5;letter-spacing:.01em;color:var(--ink)}.message blockquote .ac{color:var(--accent)}.message .body{color:var(--slate);margin-top:26px;font-weight:500}.sign{margin-top:30px;display:flex;align-items:center;gap:14px}.sign .role{font-size:.82rem;color:var(--slate);font-weight:600}.sign .name{font-weight:900;font-size:1.25rem}.sign .name .en{font-size:.7rem;color:var(--slate);font-weight:600;margin-left:8px}.trust{padding:110px 0;background:var(--mist);border-top:1px solid var(--line)}.trust-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:64px}.tnum{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 26px;text-align:center;box-shadow:var(--shadow-sm)}.tnum .num{font-family:var(--en);font-weight:800;font-size:clamp(2.2rem,4vw,3rem);line-height:1;background:linear-gradient(120deg,#1577b0,#1f8fd0);-webkit-background-clip:text;background-clip:text;color:transparent}.tnum .lb{margin-top:12px;font-weight:700;font-size:.92rem;color:var(--ink)}.tnum .sub{font-size:.78rem;color:var(--slate);margin-top:4px}.trust-block{margin-bottom:50px}.trust-block:last-child{margin-bottom:0}.trust-block h4{font-weight:800;font-size:1.05rem;margin-bottom:20px;display:flex;align-items:center;gap:10px}.trust-block h4:before{content:"";width:22px;height:3px;border-radius:2px;background:var(--accent)}.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.client{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 16px;text-align:center;font-weight:700;color:var(--ink);font-size:.95rem;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s,color .25s}.client:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);color:var(--accent)}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cert{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 22px;box-shadow:var(--shadow-sm);display:flex;gap:14px;align-items:flex-start;transition:transform .25s,box-shadow .25s}.cert:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.cert .badge{width:42px;height:42px;flex:0 0 42px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#1577b024,#16b5b024);color:var(--accent)}.cert .badge svg{width:22px;height:22px}.cert .ct{font-weight:800;font-size:.95rem}.cert .cs{font-size:.8rem;color:var(--slate);margin-top:3px;font-weight:500}.news{padding:110px 0;background:var(--white)}.news-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:20px}.news-list{display:flex;flex-direction:column}.news-item{display:flex;align-items:center;gap:26px;padding:24px 6px;border-top:1px solid var(--line);transition:background .2s,padding-left .2s}.news-item:last-child{border-bottom:1px solid var(--line)}.news-item:hover{background:var(--mist);padding-left:18px}.news-item .date{font-family:var(--en);font-weight:700;font-size:.86rem;color:var(--slate);flex:0 0 96px}.news-item .cat{font-size:.72rem;font-weight:700;color:var(--accent);background:#1577b01a;padding:4px 12px;border-radius:999px;flex:0 0 auto}.news-item .ttl{font-weight:600;font-size:.98rem;flex:1}.news-item .go{color:var(--slate);transition:transform .2s,color .2s}.news-item:hover .go{color:var(--accent);transform:translate(4px)}.cta{padding:30px 0 120px;background:var(--white)}.cta-inner{position:relative;border-radius:28px;overflow:hidden;padding:78px 40px;text-align:center;color:#fff;box-shadow:var(--shadow-lg)}.cta-inner .mesh{position:absolute;inset:-40%;z-index:0;background:radial-gradient(circle at 18% 22%,rgba(22,181,176,.85),transparent 42%),radial-gradient(circle at 82% 28%,rgba(255,184,140,.75),transparent 42%),radial-gradient(circle at 60% 88%,rgba(42,160,224,.82),transparent 48%),linear-gradient(120deg,#0d3a5c,#1577b0 55%,#2aa0e0);filter:saturate(1.2);animation:ctaGlow 13s ease-in-out infinite alternate}@keyframes ctaGlow{0%{transform:translateZ(0) scale(1) rotate(0)}50%{transform:translate3d(3%,-4%,0) scale(1.18) rotate(4deg)}to{transform:translate3d(-3%,3%,0) scale(1.12) rotate(-4deg)}}.cta-inner>*{position:relative;z-index:1}.cta-inner h2{font-weight:900;font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.35}.cta-inner p{margin-top:18px;color:#ffffffe6;font-weight:500;max-width:50ch;margin-left:auto;margin-right:auto}.cta-inner .actions{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.btn-white{background:#fff;color:var(--accent)}.btn-white:hover{background:#fff;color:var(--accent-h);transform:translateY(-2px)}.btn-outline{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #ffffffb3}.btn-outline:hover{background:#ffffff1f;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}footer{background:var(--ink);color:#cdd7e4;padding:70px 0 36px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:46px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.12)}.foot-brand .lg-jp{font-family:var(--jp);font-weight:900;font-size:1.3rem;color:#fff}.foot-brand .lg-en{font-family:var(--en);font-weight:600;font-size:.62rem;letter-spacing:.2em;color:var(--accent);margin-top:4px}.foot-brand p{margin-top:18px;font-size:.88rem;line-height:1.9}.foot-col h5{font-family:var(--en);font-weight:700;font-size:.74rem;letter-spacing:.14em;color:#fff;text-transform:uppercase;margin-bottom:18px}.foot-col a,.foot-col p{display:block;font-size:.9rem;color:#cdd7e4;margin-bottom:11px;transition:color .2s}.foot-col a:hover{color:#fff}.foot-bottom{padding-top:26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.78rem;color:#8fa1b8}.ph-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#0a2540,#1c2f6e 48%,#1577b0);color:#ffffffeb;text-align:center}.ph-placeholder .ph-en{font-family:var(--en);font-weight:700;letter-spacing:.3em;font-size:.7rem;opacity:.65}.ph-placeholder .ph-jp{font-weight:700;font-size:.95rem;letter-spacing:.08em}.philosophy,.pillars,.message,.trust,.news{position:relative}.philosophy>.wrap,.pillars>.wrap,.message>.wrap,.trust>.wrap,.news>.wrap{position:relative;z-index:1}.philosophy:before,.pillars:before,.message:before,.trust:before,.news:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;background:linear-gradient(120deg,#16b5b0,#1577b0 50%,#2aa0e0);background-size:220% 220%;animation:liveSheen 22s ease-in-out infinite alternate}@keyframes liveSheen{0%{background-position:0% 0%}to{background-position:100% 100%}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}.reveal.in{opacity:1;transform:none}.immersive{position:relative;overflow:hidden;background:#070a14}.immersive .frame{position:relative;width:100%;height:90vh;min-height:560px}.immersive iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.scene-section{min-height:100vh;display:flex;align-items:center;position:relative;background:transparent}.scene-copy{max-width:560px}.scene-h{font-weight:900;font-size:clamp(2rem,5vw,3.6rem);line-height:1.2;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.65)}.scene-h .grad{background:linear-gradient(100deg,#73d1eb,#16b5b0 60%,#7fd0e0);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.scene-p{margin-top:18px;color:#eef3fbe6;font-weight:600;font-size:1.05rem;max-width:46ch;text-shadow:0 2px 16px rgba(0,0,0,.7)}@media (max-width:860px){.nav-links{position:fixed;top:74px;left:0;right:0;background:#fffffff7;backdrop-filter:blur(14px);flex-direction:column;align-items:stretch;gap:0;padding:14px 28px 26px;box-shadow:var(--shadow-md);transform:translateY(-130%);transition:transform .35s ease}.nav-links.open{transform:translateY(0)}.nav-links a.link{padding:14px 0;border-bottom:1px solid var(--line)}.nav-links .btn{margin-top:14px;justify-content:center}.menu-toggle{display:flex}.philosophy .grid,.message .grid{grid-template-columns:1fr;gap:40px}.cards{grid-template-columns:1fr}.trust-nums,.cert-grid,.client-grid{grid-template-columns:1fr 1fr}.msg-photo{max-width:none}}@media (max-width:560px){.trust-nums,.cert-grid,.client-grid{grid-template-columns:1fr}.hero-stats{gap:28px}.news-item .date{flex-basis:74px}.news-item{flex-wrap:wrap;gap:10px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}.scene-copy{position:relative;z-index:1}.scene-copy:before{content:"";position:absolute;inset:-30px -44px;z-index:-1;pointer-events:none;border-radius:30px;background:radial-gradient(130% 130% at 50% 50%,#060e1ab3,#060e1a00 75%)}.scene-section.seam-top{position:relative}.scene-section.seam-top:before{content:"";position:absolute;left:0;right:0;top:0;height:36vh;z-index:0;pointer-events:none;background:linear-gradient(180deg,#f6f9fc,#f6f9fcd9 12%,#f6f9fc00)}.lx-cursor[data-astro-cid-t6eep4pv],.lx-ring[data-astro-cid-t6eep4pv]{display:none}@media (pointer: fine){html.lx-on,html.lx-on a[data-astro-cid-t6eep4pv],html.lx-on button[data-astro-cid-t6eep4pv],html.lx-on .btn[data-astro-cid-t6eep4pv],html.lx-on input[data-astro-cid-t6eep4pv],html.lx-on textarea[data-astro-cid-t6eep4pv],html.lx-on select[data-astro-cid-t6eep4pv],html.lx-on label[data-astro-cid-t6eep4pv]{cursor:none!important}.lx-cursor[data-astro-cid-t6eep4pv]{display:block;position:fixed;top:0;left:0;z-index:9999;width:7px;height:7px;border-radius:50%;background:#16b5b0;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference}.lx-ring[data-astro-cid-t6eep4pv]{display:block;position:fixed;top:0;left:0;z-index:9998;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(21,119,176,.55);pointer-events:none;transform:translate(-50%,-50%);transition:width .25s ease,height .25s ease,border-color .25s ease,background .25s ease}.lx-ring[data-astro-cid-t6eep4pv].hot{width:60px;height:60px;border-color:#10b5b0e6;background:#10b5b014}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.pw-overlay[data-astro-cid-qzfoqyec]{position:fixed;inset:0;z-index:10000;pointer-events:none;background:linear-gradient(135deg,#0a2540,#1577b0 55%,#16b5b0);transform:translateY(-100%);display:flex;align-items:center;justify-content:center;will-change:transform}.pw-overlay[data-astro-cid-qzfoqyec] .pw-mark[data-astro-cid-qzfoqyec]{color:#fff;font:800 1.05rem/1 Zen Kaku Gothic New,sans-serif;letter-spacing:.36em;opacity:0;transition:opacity .25s ease}.pw-overlay[data-astro-cid-qzfoqyec].cover{transform:translateY(0);transition:transform .55s cubic-bezier(.76,0,.24,1)}.pw-overlay[data-astro-cid-qzfoqyec].cover .pw-mark[data-astro-cid-qzfoqyec]{opacity:.92}.pw-overlay[data-astro-cid-qzfoqyec].reveal{transform:translateY(100%);transition:transform .72s cubic-bezier(.76,0,.24,1)}@media (prefers-reduced-motion: reduce){.pw-overlay[data-astro-cid-qzfoqyec].cover,.pw-overlay[data-astro-cid-qzfoqyec].reveal{transition:none}}.split .c{display:inline-block;overflow:hidden;vertical-align:top}.split .c>span{display:inline-block;transform:translateY(110%);opacity:0;transition:transform .8s cubic-bezier(.22,.61,.36,1),opacity .8s ease;will-change:transform}.split.in .c>span{transform:none;opacity:1}.split .c.gradc>span{background:linear-gradient(100deg,#1577b0,#2aa0e0 60%,#73d1eb);-webkit-background-clip:text;background-clip:text;color:transparent}.scene-h.split .c.gradc>span{background:linear-gradient(100deg,#73d1eb,#16b5b0 60%,#7fd0e0);-webkit-background-clip:text;background-clip:text}@media (prefers-reduced-motion: reduce){.split .c>span{transform:none;opacity:1;transition:none}}
