:root{--bg-0:#080f1f;--bg-1:#101b35;--bg-2:#16365c;--text-main:#ecf1ff;--text-sub:#b7c1dc;--line:rgba(222,232,255,0.24);--accent:#ff7a3d;--accent-2:#42d0ff;--radius:18px;--container:1160px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;color:var(--text-main);font-family:M PLUS\ 1p,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;background:radial-gradient(1200px 520px at 8% -12%,rgba(66,208,255,.2),transparent 60%),radial-gradient(1000px 580px at 95% 8%,rgba(255,122,61,.24),transparent 62%),linear-gradient(145deg,var(--bg-0) 0,var(--bg-1) 44%,var(--bg-2) 100%)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}:focus:not(:focus-visible){outline:none}.container{width:min(var(--container),calc(100% - 2rem));margin-inline:auto}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:rgba(10,18,35,.7)}.nav-wrap{min-height:82px;display:flex;justify-content:space-between;gap:1rem}.brand,.nav-wrap{align-items:center}.brand{display:inline-flex;gap:.6rem}.brand-logo-wrap{width:2.75rem;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}.brand-text{font-family:Outfit,sans-serif;font-weight:600;letter-spacing:.06em}.header-nav{position:relative}.menu-toggle,.mobile-menu{display:none}.global-nav{display:flex;gap:.4rem;padding:.35rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.05);flex-wrap:wrap}.global-nav a{padding:.48rem .86rem;border-radius:999px;font-family:Outfit,sans-serif;font-size:.82rem;letter-spacing:.06em;color:var(--text-sub);transition:color .15s ease,background .15s ease}.global-nav a:hover{color:#fff;background:rgba(255,255,255,.1)}.global-nav a.active{color:#fff;background:rgba(255,255,255,.16)}.main-shell{padding:2rem 0 3rem}.site-footer{border-top:1px solid var(--line);padding:1.4rem 0 2rem;color:var(--text-sub)}@media (max-width:820px){.brand-text{display:none}.global-nav{gap:.18rem;padding:.22rem;flex-wrap:nowrap}.global-nav a{padding:.4rem .56rem;font-size:.82rem;letter-spacing:.04em}}@media (max-width:640px){.global-nav-desktop{display:none}.mobile-menu{display:block;position:relative}.menu-toggle{width:2.75rem;height:2.75rem;display:inline-flex;flex-direction:column;justify-content:center;gap:.28rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.06);cursor:pointer;padding:0}.menu-toggle::-webkit-details-marker{display:none}.menu-toggle span{width:1.2rem;height:2px;margin:0 auto;border-radius:999px;background:#fff;transition:transform .22s ease,opacity .22s ease}.mobile-menu[open] .menu-toggle span:first-child{transform:translateY(6px) rotate(45deg)}.mobile-menu[open] .menu-toggle span:nth-child(2){opacity:0}.mobile-menu[open] .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.global-nav-mobile{position:absolute;top:calc(100% + .55rem);right:0;width:min(74vw,280px);border-radius:16px;padding:.6rem;flex-direction:column;gap:.3rem;background:rgba(6,13,27,.96);opacity:0;transform:translateY(-8px);pointer-events:none;transition:none;box-shadow:0 12px 40px rgba(0,0,0,.35)}.mobile-menu[open] .global-nav-mobile{opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity .2s ease,transform .2s ease}.global-nav-mobile a{width:100%;padding:.75rem .9rem;min-height:44px;font-size:.88rem;border-radius:10px;display:flex;align-items:center;transition:background .15s ease;-webkit-tap-highlight-color:transparent}.global-nav-mobile a:active{background:rgba(255,255,255,.1)}.global-nav-mobile a.active{color:#fff;background:rgba(255,255,255,.12)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{border:1px solid var(--line);border-radius:28px;padding:clamp(1.2rem,1rem + 1.2vw,2.2rem);background:linear-gradient(165deg,rgba(255,255,255,.14),rgba(255,255,255,.04) 50%),rgba(5,11,23,.68)}.page-tag{display:inline-block;border-radius:999px;padding:.2rem .58rem;color:#071125;font-family:Outfit,sans-serif;font-size:.74rem;background:linear-gradient(90deg,#ffffff,#ccecff)}.page-title{margin:.9rem 0 0;font-size:clamp(1.7rem,1.2rem + 2vw,3rem)}.page-lead{margin-top:.7rem;color:var(--text-sub);max-width:78ch}.grid-two{margin-top:1.2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}@media (max-width:900px){.grid-two{grid-template-columns:1fr}}.card{border:1px solid rgba(236,243,255,.2);border-radius:var(--radius);padding:1rem;background:rgba(7,14,29,.54)}.card p{color:var(--text-sub)}.timeline{margin-top:1.2rem;display:grid;grid-gap:.9rem;gap:.9rem}.timeline-item{border-left:2px solid rgba(66,208,255,.4);padding-left:1rem}.contact-stack{display:grid;grid-gap:.7rem;gap:.7rem}.contact-panel{margin-top:1rem;max-width:640px}.contact-chip{display:flex;align-items:center;border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:.75rem 1rem;min-height:44px;background:rgba(255,255,255,.08)}.form{margin-top:1.2rem;display:grid;grid-gap:1rem;gap:1rem;max-width:640px}.form input,.form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.08);color:var(--text-main);padding:.85rem .95rem;font-size:1rem;min-height:44px;transition:border-color .15s ease}.form input:focus,.form textarea:focus{border-color:var(--accent-2);outline:none}.form button{width:-moz-fit-content;width:fit-content;border:0;border-radius:999px;padding:.85rem 1.4rem;font-size:1rem;min-height:44px;color:#fff;background:linear-gradient(135deg,var(--accent),#ff4f7f);cursor:pointer}.form-field-error{color:#ff6b6b;font-size:.82rem;margin-top:.25rem}.form-success{border-radius:12px;background:rgba(66,208,255,.12);border:1px solid rgba(66,208,255,.3);color:var(--accent-2)}.form-error,.form-success{padding:1rem;text-align:center}.form-error{border-radius:12px;background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.media-grid{margin-top:1.2rem;display:grid;grid-gap:1rem;gap:1rem}.media-card{border:1px solid rgba(236,243,255,.2);border-radius:var(--radius);padding:1rem;background:rgba(7,14,29,.54)}.media-card h3{margin:0 0 .75rem}.media-carousel{position:relative}.media-nav{display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:2.75rem;height:2.75rem;border:1px solid rgba(236,243,255,.45);border-radius:999px;color:#fff;background:rgba(6,12,24,.8);cursor:pointer}.media-nav-prev{left:.55rem}.media-nav-next{right:.55rem}.media-embed{overflow:hidden;border-radius:12px;border:1px solid rgba(236,243,255,.2);aspect-ratio:16/9;background:rgba(0,0,0,.36)}.media-embed iframe{width:100%;height:100%;border:0}.media-index{margin:.72rem 0 0;font-size:.84rem;color:var(--text-sub);text-align:right}@media (max-width:640px){.media-nav{width:2.5rem;height:2.5rem}}.cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1.6rem;border-radius:999px;font-family:M PLUS\ 1p,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.04em;transition:transform .2s ease,box-shadow .2s ease}.cta-btn:hover{transform:translateY(-2px)}.cta-primary{color:#fff;background:linear-gradient(135deg,var(--accent),#ff4f7f);box-shadow:0 4px 20px rgba(255,122,61,.3)}.cta-primary:hover{box-shadow:0 6px 28px rgba(255,122,61,.45)}.cta-secondary{color:var(--text-main);border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cta-secondary:hover{background:rgba(255,255,255,.14)}.hero-home{min-height:min(76vh,720px);border:1px solid var(--line);border-radius:28px;position:relative;overflow:hidden;display:grid;place-items:center;isolation:isolate;background:linear-gradient(160deg,rgba(3,8,18,.38),rgba(4,8,16,.82)),url(/images/home-hero.webp) center 44% /cover no-repeat}.hero-home:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 20% 15%,rgba(66,208,255,.15),transparent 40%)}.hero-home-inner{width:min(92%,760px);text-align:center}.hero-home-title{margin:0;font-size:clamp(1.35rem,1.05rem + 1.8vw,2.2rem);letter-spacing:.03em;line-height:1.35;text-shadow:0 8px 32px rgba(0,0,0,.6);white-space:normal}.hero-home-catch{margin:1rem 0 0;font-family:Outfit,sans-serif;font-size:clamp(.9rem,.8rem + .6vw,1.2rem);letter-spacing:.36em;text-transform:uppercase;color:rgba(236,241,255,.9)}.hero-cta{margin-top:1.6rem;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}.home-intro{margin-top:2rem;border:1px solid var(--line);border-radius:28px;padding:clamp(1.5rem,1rem + 1.5vw,2.5rem);background:linear-gradient(165deg,rgba(255,255,255,.1),rgba(255,255,255,.03) 50%),rgba(5,11,23,.68);text-align:center}.home-intro-title{margin:0;font-family:Outfit,sans-serif;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);font-weight:700;letter-spacing:.06em}.home-verse{margin:1.6rem auto 0;padding:0;border:0;max-width:56ch;font-style:italic;line-height:1.85;color:rgba(236,241,255,.85);font-size:clamp(.92rem,.86rem + .35vw,1.05rem)}.home-verse p{margin:0 0 .8rem}.home-verse p:last-of-type{margin-bottom:0}.home-verse cite{display:block;margin-top:1rem;font-style:normal;font-size:.88rem;color:var(--accent-2);letter-spacing:.04em}.home-verse-divider{margin:1.6rem auto;border:0;border-bottom:1px solid rgba(236,241,255,.18);max-width:120px}.home-intro-text{margin:1rem auto 0;color:var(--text-sub);max-width:60ch;line-height:1.7}.home-cards{margin-top:1.6rem;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.home-card{border:1px solid rgba(236,243,255,.18);border-radius:var(--radius);padding:1.2rem;background:rgba(7,14,29,.54);text-align:left;transition:border-color .2s ease,transform .2s ease}.home-card:hover{border-color:rgba(66,208,255,.4);transform:translateY(-2px)}.home-card h3{margin:0;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600}.home-card p{margin:.4rem 0 0;color:var(--text-sub);font-size:.88rem}@media (max-width:680px){.home-cards{grid-template-columns:1fr}.hero-home{min-height:62vh;border-radius:22px;background:linear-gradient(160deg,rgba(3,8,18,.44),rgba(4,8,16,.84)),url(/images/home-hero-mobile.webp) center 34% /cover no-repeat;animation:hero-mobile-bg-drift 16s ease-in-out infinite alternate}.hero-home-catch{letter-spacing:.2em}}@keyframes hero-mobile-bg-drift{0%{background-position:center 30%}to{background-position:center 42%}}@media (prefers-reduced-motion:reduce){.hero-home{animation:none}}@media (min-width:1024px){.hero-home-title{font-size:clamp(2rem,1.45rem + 1.35vw,3.1rem);white-space:nowrap}}.section-sheet{margin-top:.2rem}.section-heading{margin:0;font-size:clamp(1.55rem,1.15rem + 1.8vw,2.6rem);font-weight:800}.section-head-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.section-lang-switch{display:inline-flex;padding:.26rem;border:1px solid rgba(236,241,255,.35);border-radius:999px;background:rgba(255,255,255,.04)}.section-lang-btn{display:inline-flex;align-items:center;border:0;background:transparent;color:var(--text-sub);border-radius:999px;padding:.5rem .9rem;min-height:44px;font-family:inherit;font-size:.88rem;cursor:pointer}.section-lang-btn.active{color:#fff;background:rgba(255,255,255,.15)}.section-divider{margin:2rem 0 2.2rem;border-bottom:1px solid rgba(236,241,255,.35)}.vision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2rem 2.4rem;gap:2rem 2.4rem}.vision-item{display:grid;grid-template-columns:1fr 90px;grid-gap:1.25rem;gap:1.25rem;align-items:center}.vision-item h2{margin:0;font-size:clamp(1rem,.95rem + .35vw,1.24rem)}.vision-item p{margin:.55rem 0 0;color:var(--text-sub);line-height:1.55}.vision-icon{width:90px;height:90px}.vision-icon-image{width:100%;height:100%;object-fit:contain}.vision-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}@media (max-width:980px){.vision-grid{grid-template-columns:1fr;gap:1.4rem}}@media (max-width:680px){.section-head-row{flex-direction:column;align-items:flex-end}.section-heading{align-self:flex-start}.section-lang-btn{padding:.35rem .7rem;min-height:36px;font-size:.78rem}.vision-item{grid-template-columns:1fr}.vision-icon{width:72px;height:72px}}