:root{--navy:#1D2088;--navy-dark:#14185F;--accent:#E60012;--ink:#1A1D33;--ink-2:#3D4160;--muted:#565B78;--line:#E3E5EF;--line-2:#D5D8E6;--tag-line:#C9CEE4;--bg-soft:#F4F5FA;--bg-illust:#EEF2FA;--gutter:clamp(16px, 4vw, 40px);--section-y:clamp(72px, 9vw, 128px);--font-ja:"Noto Sans JP", sans-serif;--font-en:"Plus Jakarta Sans", "Noto Sans JP", sans-serif}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-ja);font-size:16px;line-height:1.8}html[lang=en] body{font-family:var(--font-en);line-height:1.7}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%}a{color:var(--navy)}a:hover{color:var(--navy-dark)}:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.skip-link{position:absolute;left:8px;top:-48px;z-index:100;padding:8px 16px;border-radius:8px;background:var(--navy);color:#fff}.skip-link:focus{top:8px;color:#fff}html[lang=ja] :is(h1,h2,h3,p,li,dt,dd){word-break:auto-phrase;line-break:strict}html[lang=ja] :is(h1,h2,h3){font-feature-settings:"palt"}:is(h1,h2,h3){text-wrap:balance}:is(p,li,dd){text-wrap:pretty}.nw{display:block;white-space:nowrap}.container{max-width:1200px;margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y)}.section-soft{background:var(--bg-soft)}.section-compact{padding-block:clamp(72px,9vw,112px)}.section-label{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-family:var(--font-en);font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--navy)}.section-label::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent)}.section-title{font-size:clamp(28px,3.4vw,42px);line-height:1.45;font-weight:700;color:var(--navy)}html[lang=en] .section-title{font-size:clamp(30px,3.6vw,46px);line-height:1.2;letter-spacing:-.01em}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 48px;margin-bottom:48px}.section-head>p{max-width:30em;color:var(--ink-2)}html[lang=en] .section-head>p{max-width:32em}.split{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px 72px}.split>:first-child{flex:1 1 300px;min-width:0}.split>:last-child{flex:2 1 560px;min-width:0}.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 28px;border:1px solid var(--navy);border-radius:999px;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s}.btn svg{flex:none;width:18px;height:18px}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-dark);color:#fff}.btn-outline{background:0 0;color:var(--navy)}.btn-outline:hover{background:var(--bg-soft)}.btn-sm{min-height:44px;padding:0 22px}.btn-white{min-height:60px;padding:0 32px;border-color:#fff;background:#fff;color:var(--navy);font-size:17px}.btn-white:hover{background:var(--bg-soft);color:var(--navy)}.site-header{border-bottom:1px solid var(--line);background:#fff}@media(min-width:768px){.site-header{position:sticky;top:0;z-index:50}main [id]{scroll-margin-top:150px}}@media(min-width:1100px){main [id]{scroll-margin-top:100px}}.site-header .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;padding-block:12px}.brand{display:flex;align-items:center;gap:16px;color:var(--navy);text-decoration:none}.brand img{display:block;width:88px;height:auto}.brand-text{display:flex;flex-direction:column;line-height:1.25}.brand-name{font-size:17px;font-weight:700;letter-spacing:.06em}html[lang=en] .brand-name{font-size:18px;letter-spacing:.04em}.brand-sub{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--muted)}.global-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 28px;font-size:14px;font-weight:500}html[lang=en] .global-nav{font-weight:600}.global-nav a:not(.btn){color:var(--ink);text-decoration:none}.global-nav a:not(.btn):hover{color:var(--navy)}.global-nav .lang-switch{color:var(--muted);font-family:var(--font-en);font-weight:600;letter-spacing:.08em}.global-nav .lang-switch:lang(ja){font-family:var(--font-ja);font-weight:500;letter-spacing:0}.hero-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));align-items:center;gap:56px;padding-block:clamp(56px,8vw,104px)clamp(40px,5vw,64px)}.eyebrow-line{display:flex;align-items:center;gap:14px;margin-bottom:24px;font-family:var(--font-en);font-size:14px;font-weight:600;letter-spacing:.24em;color:var(--ink-2)}.eyebrow-line::before{content:"";flex:none;width:40px;height:2px;background:var(--navy)}.hero h1{font-size:clamp(32px,4.2vw,56px);line-height:1.4;font-weight:700;letter-spacing:.02em}html[lang=en] .hero h1{font-size:clamp(36px,4.2vw,58px);line-height:1.12;letter-spacing:-.01em}.hero-lead{max-width:32em;margin-top:28px;font-size:clamp(15px,1.4vw,17px);color:var(--ink-2)}html[lang=en] .hero-lead{max-width:34em}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}.hero-visual{display:flex;justify-content:center;background:#fff}.hero-visual img{display:block;width:100%;max-width:500px;height:auto}.expertise{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px;margin-bottom:48px;padding-top:20px;border-top:1px solid var(--line-2);font-size:14px;color:var(--ink-2)}.expertise-label{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--navy)}.about-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;gap:32px 72px}html[lang=ja] .about-intro .section-title{line-height:1.5}.about-body p+p{margin-top:18px;color:var(--ink-2)}.mvv{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;margin-top:clamp(48px,6vw,80px)}.mvv-card{padding:36px 32px;border-radius:16px;background:#fff}.mvv-label{font-family:var(--font-en);font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--navy)}.mvv-sub{margin-top:4px;font-size:13px;color:var(--muted)}.mvv-text{margin-top:20px;font-size:18px;font-weight:700;line-height:1.7}html[lang=en] .mvv-text{font-weight:600;line-height:1.6}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}.service-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.service-illust{padding:24px 24px 16px;background:var(--bg-illust)}.service-illust svg{display:block;width:100%;height:auto}.service-body{display:flex;flex:1;flex-direction:column;padding:32px}.service-num{font-family:var(--font-en);font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--navy)}.service-body h3{margin:8px 0 12px;font-size:21px;line-height:1.5}html[lang=en] .service-body h3{line-height:1.35}.service-body>p{margin-bottom:24px;font-size:15px;color:var(--ink-2)}.service-points{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:14px}.service-points li{display:flex;gap:10px}.service-points li::before{content:"";flex:none;width:6px;height:6px;margin-top:.7em;border-radius:50%;background:var(--navy)}.service-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-weight:700;text-decoration:none}.service-link svg{flex:none;width:16px;height:16px}.works-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}.work-card{display:flex;flex-direction:column;padding:28px;border-radius:14px;background:#fff}.work-label{margin-bottom:10px;font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--navy)}.work-card h3{margin-bottom:10px;font-size:18px;line-height:1.55}html[lang=en] .work-card h3{line-height:1.4}.work-card>p{margin-bottom:20px;font-size:14px;color:var(--ink-2)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.tags li{padding:3px 10px;border:1px solid var(--tag-line);border-radius:999px;font-family:var(--font-en);font-size:12px;font-weight:600;color:var(--ink-2)}.clients-note{margin-top:8px;font-size:13px;color:var(--muted)}.clients-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:0 40px;font-weight:500}.clients-list li{padding:16px 0;border-top:1px solid var(--line-2)}.founder>:last-child{flex:1.4 1 420px}.founder-card{margin-top:32px;padding:32px;border-radius:16px;background:#fff}.founder-role{font-size:13px;color:var(--muted)}.founder-name{margin-top:8px;font-size:28px;font-weight:700;line-height:1.4;letter-spacing:.08em}html[lang=en] .founder-name{line-height:1.3;letter-spacing:0}.founder-name-sub{margin-top:2px;font-family:var(--font-en);font-size:14px;font-weight:600;letter-spacing:.14em;color:var(--muted)}.founder-name-sub:lang(ja){font-family:var(--font-ja);font-weight:500;letter-spacing:.1em}.founder-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;font-size:14px;font-weight:500}.founder-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px}.founder-links svg{flex:none;width:14px;height:14px}.founder-lead{margin-bottom:20px;font-size:clamp(18px,1.8vw,21px);font-weight:700;line-height:1.75;color:var(--navy)}html[lang=en] .founder-lead{line-height:1.6}.founder-story{margin-bottom:36px;color:var(--ink-2)}.timeline li{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--line-2)}.timeline li:last-child{border-bottom:1px solid var(--line-2)}.timeline-period{font-family:var(--font-en);font-size:14px;font-weight:700;color:var(--navy)}.timeline-period.is-current::after{content:"";display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--accent);vertical-align:middle}.timeline-title{display:block;font-size:16px}.timeline-detail{font-size:14px;color:var(--muted)}.company-list{border-top:1px solid var(--line-2)}.company-list>div{display:flex;flex-wrap:wrap;gap:4px 24px;padding:18px 0;border-bottom:1px solid var(--line-2)}.company-list dt{flex:none;width:120px;font-size:14px;font-weight:700;color:var(--muted)}html[lang=en] .company-list dt{width:140px}.company-list dd{flex:1 1 280px}.company-sub{color:var(--muted);font-family:var(--font-ja)}.contact{padding:0 var(--gutter)clamp(72px,9vw,112px)}.contact-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px 56px;max-width:1200px;margin:0 auto;padding:clamp(48px,6vw,80px)clamp(24px,5vw,72px);border-radius:24px;background:var(--navy);color:#fff}.contact-box .section-label{color:rgba(255,255,255,.82)}.contact-box :focus-visible{outline-color:#fff}.contact-text{flex:1 1 380px;min-width:0}.contact-text h2{margin-bottom:16px;font-size:clamp(24px,2.8vw,34px);line-height:1.55;font-weight:700}html[lang=en] .contact-text h2{font-size:clamp(26px,3vw,38px);line-height:1.25;letter-spacing:-.01em}.contact-text p{color:rgba(255,255,255,.82)}.contact-actions{display:flex;flex:initial;flex-direction:column;align-items:flex-start;gap:16px}.contact-actions p{font-size:14px;color:rgba(255,255,255,.82)}.contact-actions p a{color:#fff}.site-footer{border-top:1px solid var(--line)}.site-footer .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding-block:32px}.footer-brand{font-size:15px;font-weight:700;letter-spacing:.06em;color:var(--navy)}.footer-brand span{margin-left:6px;font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--muted)}.footer-nav{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:13px}.footer-nav a{display:inline-flex;align-items:center;min-height:32px;color:var(--ink-2);text-decoration:none}.footer-nav a:hover{color:var(--navy)}.copyright{font-family:var(--font-en);font-size:12px;letter-spacing:.06em;color:var(--muted)}.not-found .container>*+*{margin-top:24px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}