*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Inter,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);background:var(--paper);line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:auto}::selection{background:#71d5ff;color:#071934}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.4}h1{letter-spacing:-.045em}h2{font-size:clamp(2rem,4vw,3.75rem);letter-spacing:-.055em}h3{font-size:1.35rem;letter-spacing:-.02em}.wrap{width:min(1220px,calc(100% - 96px));margin:auto}.skip{position:absolute;z-index:1000;top:-100px;left:16px;padding:12px;background:#fff;color:#112}.skip:focus{top:16px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #1556e9;outline-offset:3px;box-shadow:0 0 0 3px #fff}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.02em;font-size:1.5rem;line-height:1.2}.brand-icon{display:block;width:44px;height:44px;overflow:hidden;position:relative;flex:none;background:white;border-radius:6px}.brand-icon img{max-width:none;width:240px;position:absolute;left:-38px;top:-12px}.brand small{display:block;font-size:.65rem;letter-spacing:.13em;font-weight:600;margin-top:6px}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:.9rem;font-weight:650}.desktop-nav a:hover{color:var(--accent)}.nav-contact{padding:10px 20px;border:1px solid currentColor;border-radius:6px}.menu-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:6px;font-size:14px}.mobile-nav{display:none;padding:15px 24px;background:var(--paper);border-bottom:1px solid var(--line)}.mobile-nav a{display:block;padding:12px 0;font-weight:650}.mobile-nav[hidden]{display:none!important}@media(max-width:760px){.mobile-nav.open:not([hidden]){display:block}}.eyebrow{font-size:.82rem;font-weight:750;letter-spacing:.15em;line-height:1.4;text-transform:uppercase;display:block}.pill{display:inline-flex;align-items:center;padding:5px 11px;border:1px solid var(--line);border-radius:100px;font-size:.8rem;line-height:1.5;letter-spacing:.02em;font-weight:650}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;font-weight:650;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);filter:brightness(.93)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.section{padding:110px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px}.section-top .eyebrow{margin-bottom:22px;color:var(--accent)}.section-top p{max-width:430px;color:var(--muted);font-size:1rem}.section-intro{max-width:560px;color:var(--muted);margin-top:22px}.text-link{display:inline-block;padding:10px 0;border-bottom:1px solid currentColor;font-weight:650;font-size:.92rem}.number{font-size:.8rem;font-weight:750;letter-spacing:.13em}.legal dl{display:grid;grid-template-columns:170px 1fr;margin:32px 0 0}.legal dt,.legal dd{padding:24px 0;border-top:1px solid var(--line);margin:0}.legal dt{font-size:.9rem;color:var(--muted)}.legal dd{font-weight:650}.site-footer{padding:50px 0 26px;border-top:1px solid var(--line)}.footer-main{display:flex;justify-content:space-between;gap:32px;align-items:start}.footer-main p{font-size:.86rem;color:var(--muted);margin-top:15px}.footer-nav{display:flex;gap:24px;flex-wrap:wrap;font-size:.86rem}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:50px;color:var(--muted);font-size:.75rem}.plain-button{border:0;background:none;color:inherit;padding:0;font:inherit;text-decoration:underline;text-underline-offset:4px}.contact-panel{padding:48px;border:1px solid var(--line);border-radius:10px}.contact-panel h2{font-size:2rem;margin:16px 0}.contact-panel p{color:var(--muted);max-width:600px}.contact-panel .pill{margin-top:20px}dialog{color:#101c35;max-width:600px;width:calc(100% - 32px);padding:36px;border:0;border-radius:12px;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#020c29a8;backdrop-filter:blur(5px)}dialog h2{font-size:1.8rem;margin:15px 0}dialog p{color:#50617c;margin:15px 0}dialog a{display:block;padding:14px 0;border-bottom:1px solid #dfe5ee;font-weight:650;color:#164fde}dialog .close{float:right;border:1px solid #dfe5ee;background:#fff;border-radius:5px;min-height:44px;padding:7px 16px}dialog .pill{border-color:#dfe5ee}.fine{font-size:.8rem!important;color:var(--muted)}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.desktop-nav{gap:18px}.brand{font-size:1.3rem}.section{padding:80px 0}}@media(max-width:760px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.site-header{height:82px}.desktop-nav{display:none}.menu-toggle{display:block}.section{padding:70px 0}.section-top{display:block;margin-bottom:30px}.section-top p{margin-top:22px}.brand{font-size:1.2rem}.brand-icon{width:36px;height:36px}.brand-icon img{width:200px;left:-32px;top:-9px}.legal dl{grid-template-columns:90px 1fr}.legal dt,.legal dd{padding:20px 0;font-size:.9rem}.contact-panel{padding:28px}.footer-main,.footer-bottom{display:block}.footer-nav{margin-top:30px;gap:18px}.footer-bottom{margin-top:35px}.footer-bottom span{display:block;margin-top:10px}dialog{padding:24px}.section-top .eyebrow{margin-bottom:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}} :root{--ink:#10192d;--paper:#fff;--muted:#5e687d;--line:#dce2eb;--accent:#6b47da}.site-header{color:#fff;border-color:#ffffff20}.top-dark{background:#080d27;color:white}.top-dark .brand-icon{background:#fff}.brand-icon img{width:245px;left:-136px;top:-9px}.brand{font-size:1.17rem;letter-spacing:0}.brand small{font-size:.62rem}.desktop-nav{font-size:.85rem;gap:22px}.mobile-nav{background:#080d27;color:#fff}.menu-toggle{border-color:#ffffff40}.hero{min-height:715px;position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:20px;align-items:center;padding:55px 0 80px}.hero-copy{z-index:1}.hero .eyebrow{color:#88dff3;font-size:.78rem;letter-spacing:.12em;margin-bottom:30px}.hero h1{font-size:clamp(3.5rem,6vw,5.4rem);line-height:1.25;font-weight:850;letter-spacing:-.04em}.hero h1 span{color:#c6a9ff}.hero p{color:#c0cbe5;font-size:.98rem;line-height:2;margin:26px 0 29px;max-width:430px}.hero .button{background:#f4e6ff;color:#28194b;border-color:#f4e6ff}.hero-art{height:570px;position:relative;overflow:hidden;border-radius:170px 170px 14px 14px;background:#132052}.hero-art img{height:100%;object-fit:cover;object-position:center}.art-label{position:absolute;bottom:18px;left:20px;right:20px;color:white;font-size:.75rem;background:#080d27c9;border-radius:5px;padding:8px 12px}.hero-index{display:flex;gap:24px;border-top:1px solid #ffffff25;padding-top:25px;margin-top:36px}.hero-index span{font-size:.71rem;letter-spacing:.09em;color:#b8c6e7}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.intro .eyebrow{color:var(--accent);margin-bottom:23px}.intro h2{font-size:clamp(2rem,3.2vw,3.2rem)}.intro p{color:var(--muted);font-size:1.05rem;line-height:2.1;margin-top:10px}.experience{background:#f2f4fb}.experience-tabs{display:flex;border-bottom:1px solid #c5cee0;margin-bottom:36px}.experience-tabs button{flex:1;border:0;border-bottom:3px solid transparent;background:transparent;color:#606a80;font-weight:700;padding:18px 10px;line-height:1.4;font-size:1rem}.experience-tabs button span{display:block;font-size:.7rem;letter-spacing:.12em;font-weight:600;margin-top:8px}.experience-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}.tab-panel{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center;min-height:310px}.tab-panel[hidden]{display:none}.large-index{font-size:7.5rem;line-height:1;letter-spacing:-.08em;color:#d4cbed;font-weight:800}.tab-panel h3{font-size:1.9rem;margin:18px 0}.tab-panel p{color:var(--muted);max-width:600px}.tab-panel ul{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tab-panel li{border:1px solid #d2d9e9;border-radius:100px;padding:5px 12px;font-size:.83rem;color:#4d5670}.tab-label{font-size:.77rem;letter-spacing:.12em;color:var(--accent);font-weight:700}.planning-note{margin-top:36px;border-top:1px solid #cdd6e7;padding-top:22px;display:flex;gap:20px;align-items:start}.planning-note p{font-size:.87rem;color:var(--muted);max-width:740px}.planning-note .pill{flex:none;border-color:#cdd6e7;color:#584290}.software{background:#171334;color:white}.software-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.software .eyebrow{color:#c4b0ff;margin-bottom:22px}.software p{color:#c9c4df;line-height:2;margin-top:26px}.software .text-link{color:#d3baff;margin-top:24px}.software-flow{padding:36px;border:1px solid #655782;border-radius:12px}.flow-block{padding:24px 0}.flow-block:first-child{border-bottom:1px solid #655782}.flow-block span{font-size:.76rem;letter-spacing:.13em;color:#bfa9df}.flow-block strong{display:block;font-size:1.4rem;margin-top:10px}.flow-block p{font-size:.9rem;margin-top:10px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.principle{border-top:2px solid #d3c5f3;padding-top:22px}.principle .number{color:var(--accent)}.principle h3{margin:17px 0}.principle p{color:var(--muted);font-size:.94rem}.company-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.company-grid .eyebrow{color:var(--accent);margin-bottom:20px}.company-area{background:#f2f4fb}.contact-section{padding:0 0 90px;background:#f2f4fb}.contact-panel{background:#fff}.legal dd br{display:block}.footer-main .brand-icon img{width:245px;left:-136px;top:-9px}@media(max-width:1000px){.hero{min-height:650px}.hero-art{height:520px;border-radius:130px 130px 12px 12px}.hero h1{font-size:3.8rem}.intro,.software-grid,.company-grid{gap:40px}.desktop-nav{gap:15px}.brand{font-size:1rem}.hero-index{gap:15px}.hero-index span{font-size:.65rem}}@media(max-width:760px){.brand{font-size:1rem}.brand-icon img,.footer-main .brand-icon img{width:205px;left:-114px;top:-8px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:45px 0 35px;gap:30px;min-height:0}.hero .eyebrow{font-size:.67rem;margin-bottom:22px}.hero h1{font-size:clamp(3rem,12.5vw,5rem);line-height:1.2}.hero p{margin:22px 0;font-size:.95rem}.hero-art{height:390px;border-radius:130px 130px 10px 10px;margin:0 16px}.hero-index{margin-top:28px;gap:15px;flex-wrap:wrap}.intro,.software-grid,.company-grid,.tab-panel{grid-template-columns:1fr;gap:28px}.intro p{font-size:1rem}.experience-tabs button{font-size:.88rem;padding:16px 6px}.experience-tabs button span{font-size:.6rem}.tab-panel{min-height:0;gap:8px}.large-index{font-size:4rem}.tab-panel h3{font-size:1.7rem;margin:16px 0}.planning-note{display:block;margin-top:28px}.planning-note p{margin-top:16px}.software-flow{padding:12px 24px}.principles{grid-template-columns:1fr;gap:28px}.contact-section{padding-bottom:65px}.footer-main .brand{font-size:1rem}}