/* Approved studio layout; all content rules are scoped to the new UI. */
body.ng-studio .ng-studio-ui { --bg:#090c10;--panel:#11161c;--line:#293039;--ink:#f4f6f8;--body:#cdd3da;--muted:#a1adb8;--green:#a3ff71;--pink:#ff769e;--sans:'Noto Sans JP',sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace }
body.ng-studio .ng-studio-ui * { box-sizing:border-box }
html.ng-studio-document { scroll-behavior:smooth;scroll-padding-top:108px }
body.ng-studio .ng-studio-ui { margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased }
body.ng-studio .ng-studio-ui button,
body.ng-studio .ng-studio-ui input,
body.ng-studio .ng-studio-ui textarea,
body.ng-studio .ng-studio-ui select { font:inherit }
body.ng-studio .ng-studio-ui button,
body.ng-studio .ng-studio-ui a { -webkit-tap-highlight-color:transparent }
body.ng-studio .ng-studio-ui a { color:inherit;text-decoration:none }
body.ng-studio .ng-studio-ui button { cursor:pointer }
body.ng-studio .ng-studio-ui img { display:block;width:100%;height:auto }
body.ng-studio .ng-studio-ui p,
body.ng-studio .ng-studio-ui h1,
body.ng-studio .ng-studio-ui h2,
body.ng-studio .ng-studio-ui h3,
body.ng-studio .ng-studio-ui h4 { margin:0 }
body.ng-studio .ng-studio-ui button { color:inherit }
body.ng-studio .ng-studio-ui ::selection { background:var(--green);color:#090c10 }
body.ng-studio .ng-studio-ui :focus-visible { outline:2px solid var(--green);outline-offset:6px }
body.ng-studio .ng-studio-ui .wrap { max-width:1320px;padding-inline:48px;margin-inline:auto }
body.ng-studio .ng-studio-ui .section { padding-top:112px;padding-bottom:112px }
body.ng-studio .ng-studio-ui .eyebrow { font:600 11px/1.5 var(--mono);letter-spacing:.13em;color:var(--green) }
body.ng-studio .ng-studio-ui h2 { font-size:clamp(29px,3.1vw,44px);line-height:1.5;letter-spacing:-.045em;font-weight:800 }
body.ng-studio .ng-studio-ui h3 { letter-spacing:-.025em }
body.ng-studio .ng-studio-ui .small,
body.ng-studio .ng-studio-ui .data-note { font-size:12px;color:var(--muted) }
body.ng-studio .ng-studio-ui .mobile { display:none }
body.ng-studio .ng-studio-ui .sr-only { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap }
body.ng-studio .ng-studio-ui .header { position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 48px;border-bottom:1px solid var(--line);background:#090c10f2;backdrop-filter:blur(18px) }
body.ng-studio .ng-studio-ui .logo { display:block;width:134px;flex-shrink:0 }
body.ng-studio .ng-studio-ui .logo img { width:100%;height:60px;object-fit:contain }
body.ng-studio .ng-studio-ui .header nav { display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600 }
body.ng-studio .ng-studio-ui .header nav>a:not(.nav-contact) { padding:10px 0 }
body.ng-studio .ng-studio-ui .header nav a:hover { color:var(--green) }
body.ng-studio .ng-studio-ui .nav-contact { display:flex;align-items:center;gap:30px;padding:12px 20px;border:1px solid #a3ff7170;color:var(--green) }
body.ng-studio .ng-studio-ui .menu-toggle { display:none }
body.ng-studio .ng-studio-ui .hero { display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:24px;min-height:676px;padding-top:64px;padding-bottom:88px;position:relative }
body.ng-studio .ng-studio-ui .hero-copy { position:relative;z-index:2 }
body.ng-studio .ng-studio-ui .tiny-cross { display:inline-block;width:18px;height:18px;object-fit:contain;margin-right:9px;vertical-align:-3px }
body.ng-studio .ng-studio-ui .hero h1 { font-family:'DotGothic16',var(--sans);font-size:clamp(62px,6.5vw,94px);font-weight:400;line-height:1.2;letter-spacing:-.035em;margin:22px 0 26px }
body.ng-studio .ng-studio-ui .hero h1 .hero-line { white-space:nowrap }
body.ng-studio .ng-studio-ui .hero h1 em { font-style:normal;color:var(--green) }
body.ng-studio .ng-studio-ui .hero-summary { font-size:21px;font-weight:700;line-height:1.75;letter-spacing:.015em }
body.ng-studio .ng-studio-ui .hero-description { color:var(--body);line-height:1.95;font-size:14px;margin-top:18px }
body.ng-studio .ng-studio-ui .hero-actions { display:flex;align-items:center;gap:26px;margin:30px 0 }
body.ng-studio .ng-studio-ui .button { display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 23px;border:1px solid transparent;font-size:13px;font-weight:700;line-height:1.5;transition:background .2s,transform .2s }
body.ng-studio .ng-studio-ui .button span { font-size:20px;line-height:1 }
body.ng-studio .ng-studio-ui .button.green { background:var(--green);color:#0b1c0e }
body.ng-studio .ng-studio-ui .button:hover { transform:translateY(-2px) }
body.ng-studio .ng-studio-ui .button.green:hover { background:#c2ff9e }
body.ng-studio .ng-studio-ui .button.outline { border-color:var(--line);background:transparent }
body.ng-studio .ng-studio-ui .text-link { display:inline-flex;align-items:center;gap:22px;font-size:13px;font-weight:600;border-bottom:1px solid #707c86;padding-bottom:7px }
body.ng-studio .ng-studio-ui .text-link:hover { color:var(--green);border-color:var(--green) }
body.ng-studio .ng-studio-ui .hero-platforms { display:flex;gap:16px;align-items:center;font:10px/1.5 var(--mono);letter-spacing:.035em;color:var(--muted) }
body.ng-studio .ng-studio-ui .hero-platforms b { font-weight:400;color:#425047 }
body.ng-studio .ng-studio-ui .hero-visual { height:510px;position:relative;margin-top:14px }
body.ng-studio .ng-studio-ui .coordinate { position:absolute;top:0;left:18px;font:9px/1 var(--mono);letter-spacing:.16em;color:var(--muted) }
body.ng-studio .ng-studio-ui .hero-main { position:absolute;top:28px;left:25px;right:-26px;height:366px;background:#131a21 }
body.ng-studio .ng-studio-ui .hero-main:before,
body.ng-studio .ng-studio-ui .hero-main:after { content:'';position:absolute;width:20px;height:20px;border-color:var(--green);border-style:solid;z-index:3 }
body.ng-studio .ng-studio-ui .hero-main:before { top:-8px;left:-8px;border-width:1px 0 0 1px }
body.ng-studio .ng-studio-ui .hero-main:after { bottom:-8px;right:-8px;border-width:0 1px 1px 0 }
body.ng-studio .ng-studio-ui .hero-main>img { height:100%;object-fit:cover;object-position:58% center }
body.ng-studio .ng-studio-ui .image-caption { position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:9px;padding:26px 28px;background:linear-gradient(180deg,transparent 35%,#071018c9 100%) }
body.ng-studio .ng-studio-ui .image-caption>span { font:500 24px/1.2 var(--mono);letter-spacing:-.035em }
body.ng-studio .ng-studio-ui .image-caption small { font-size:10px;color:#dfebf2 }
body.ng-studio .ng-studio-ui .hero-small { position:absolute;bottom:0;right:28px;width:248px;padding:0;border:7px solid var(--bg);text-align:left;background:var(--panel);box-shadow:0 16px 50px #0005;transform:rotate(5deg);transition:transform .25s }
body.ng-studio .ng-studio-ui .hero-small:hover { transform:rotate(0) }
body.ng-studio .ng-studio-ui .hero-small>span { display:flex;justify-content:space-between;align-items:center;font:9px/1 var(--mono);padding:13px }
body.ng-studio .ng-studio-ui .hero-small b { font-size:16px;color:var(--green) }
body.ng-studio .ng-studio-ui .floating-mark { position:absolute;left:25px;bottom:6px;width:95px;height:95px;transform:rotate(-14deg) }
body.ng-studio .ng-studio-ui .floating-mark>img { display:block;width:100%;height:100%;object-fit:contain }
body.ng-studio .ng-studio-ui .hero-side-label { position:absolute;right:-50px;top:220px;writing-mode:vertical-rl;font:9px/1 var(--mono);letter-spacing:.2em;color:var(--muted) }
body.ng-studio .ng-studio-ui .intro-strip { border-block:1px solid var(--line);background:#111810 }
body.ng-studio .ng-studio-ui .intro-strip>.wrap { display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:23px }
body.ng-studio .ng-studio-ui .intro-strip p { font-size:14px;font-weight:600 }
body.ng-studio .ng-studio-ui .intro-strip p>span { font-size:11px;color:var(--muted);margin-right:22px }
body.ng-studio .ng-studio-ui .intro-strip a { font-size:11px;color:#b7c8b3 }
body.ng-studio .ng-studio-ui .intro-strip a>span { margin-left:22px;color:var(--green);font-size:18px }
body.ng-studio .ng-studio-ui .section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:42px;margin-bottom:42px }
body.ng-studio .ng-studio-ui .section-heading .studio-heading { margin-top:15px }
body.ng-studio .ng-studio-ui .section-heading>p { font-size:14px;line-height:1.95;color:var(--body) }
body.ng-studio .ng-studio-ui .works-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px }
body.ng-studio .ng-studio-ui .work-image { padding:0;border:0;display:block;width:100%;position:relative;background:#151a20;overflow:hidden }
body.ng-studio .ng-studio-ui .work-image img { aspect-ratio:16/9;object-fit:cover;transition:transform .4s }
body.ng-studio .ng-studio-ui .work-image:hover img { transform:scale(1.035) }
body.ng-studio .ng-studio-ui .round-arrow { position:absolute;right:13px;bottom:13px;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#090c10e6;color:#fff;font-size:20px }
body.ng-studio .ng-studio-ui .work-tags { display:flex;gap:10px;align-items:center;margin:23px 0 9px }
body.ng-studio .ng-studio-ui .work-tags span { font:10px/1.4 var(--mono);color:var(--green) }
body.ng-studio .ng-studio-ui .work-tags span+span { color:var(--muted);border-left:1px solid var(--line);padding-left:10px;font-family:var(--sans) }
body.ng-studio .ng-studio-ui .work h3 { font-size:21px;line-height:1.5;margin-bottom:10px }
body.ng-studio .ng-studio-ui .work h3 button { background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-align:left }
body.ng-studio .ng-studio-ui .work h3 button:hover { color:var(--green) }
body.ng-studio .ng-studio-ui .work>p { font-size:13px;color:var(--body);line-height:1.85 }
body.ng-studio .ng-studio-ui .work dl { display:flex;gap:12px;font-size:11px;border-top:1px solid var(--line);padding-top:16px;margin:20px 0 0 }
body.ng-studio .ng-studio-ui .work dt { color:var(--muted);white-space:nowrap }
body.ng-studio .ng-studio-ui .work dd { margin:0;color:#d4e1d2;line-height:1.8 }
body.ng-studio .ng-studio-ui .section-bottom { margin-top:44px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:center }
body.ng-studio .ng-studio-ui .section-bottom p { font-size:12px;color:var(--muted) }
body.ng-studio .ng-studio-ui .services { background:var(--panel) }
body.ng-studio .ng-studio-ui .service-list { border-top:1px solid #3a434b }
body.ng-studio .ng-studio-ui .service-list>article { display:grid;grid-template-columns:40px 1fr 1.38fr 40px;gap:26px;align-items:start;padding:34px 0;border-bottom:1px solid #303a44 }
body.ng-studio .ng-studio-ui .service-number { font:12px/1.8 var(--mono);color:var(--green) }
body.ng-studio .ng-studio-ui .service-title .studio-service-title { font-size:22px;line-height:1.6;letter-spacing:-.025em;font-weight:700 }
body.ng-studio .ng-studio-ui .service-title>p { font:9px/1.5 var(--mono);letter-spacing:.07em;color:var(--muted);margin-top:8px }
body.ng-studio .ng-studio-ui .service-detail p { font-size:14px;line-height:1.95;color:var(--body) }
body.ng-studio .ng-studio-ui .service-detail ul { list-style:none;display:flex;gap:7px;flex-wrap:wrap;padding:0;margin:16px 0 0 }
body.ng-studio .ng-studio-ui .service-detail li { font-size:10px;border:1px solid #3a4650;padding:4px 9px;color:#d0d8dd }
body.ng-studio .ng-studio-ui .service-symbol { font-size:28px;color:var(--green);line-height:1.4;text-align:right }
body.ng-studio .ng-studio-ui .service-symbol svg { display:inline-block;width:1em;height:1em;vertical-align:middle }
body.ng-studio .ng-studio-ui .industry { display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-top:64px }
body.ng-studio .ng-studio-ui .industry .studio-industry-title { font-size:23px;line-height:1.6;margin-top:14px;letter-spacing:-.025em;font-weight:700 }
body.ng-studio .ng-studio-ui .industry [role=tablist] { display:flex;border-bottom:1px solid #39434c;gap:10px }
body.ng-studio .ng-studio-ui .industry [role=tab] { border:0;border-bottom:2px solid transparent;background:none;padding:0 12px 16px;color:var(--body);font-size:13px;flex:1;text-align:left }
body.ng-studio .ng-studio-ui .industry [role=tab][aria-selected=true] { border-bottom-color:var(--green);color:var(--green) }
body.ng-studio .ng-studio-ui .industry .industry-panel { padding-top:24px }
body.ng-studio .ng-studio-ui .industry .studio-panel-title { font-size:18px;line-height:1.8;letter-spacing:normal;font-weight:700 }
body.ng-studio .ng-studio-ui .industry .industry-panel>p { color:var(--body);font-size:14px;max-width:560px;margin:12px 0 22px;line-height:1.95 }
body.ng-studio .ng-studio-ui .media-feature { display:grid;grid-template-columns:1.15fr 1fr;gap:58px;align-items:center }
body.ng-studio .ng-studio-ui .media-picture { position:relative;overflow:hidden;background:#15182a }
body.ng-studio .ng-studio-ui .media-picture>img { aspect-ratio:1.38;object-fit:cover;object-position:56% center;filter:brightness(.75) }
body.ng-studio .ng-studio-ui .media-caption { position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;background:linear-gradient(transparent 35%,#090c10dc) }
body.ng-studio .ng-studio-ui .media-caption>span { font:9px/1 var(--mono);color:#d4dee5;letter-spacing:.14em }
body.ng-studio .ng-studio-ui .media-caption b { font:400 49px/1.5 'DotGothic16',var(--mono) }
body.ng-studio .ng-studio-ui .media-caption b>span { color:var(--green) }
body.ng-studio .ng-studio-ui .media-copy h3 { font-size:27px;line-height:1.6;margin:15px 0 24px }
body.ng-studio .ng-studio-ui .media-copy>p:not(.eyebrow) { font-size:14px;line-height:2;color:var(--body);max-width:420px;margin-bottom:18px }
body.ng-studio .ng-studio-ui .media-action { margin-top:28px }
body.ng-studio .ng-studio-ui .stats { display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-block:1px solid var(--line);padding-block:24px }
body.ng-studio .ng-studio-ui .stats>div { padding-inline:24px;border-right:1px solid var(--line) }
body.ng-studio .ng-studio-ui .stats>div:first-child { padding-left:0 }
body.ng-studio .ng-studio-ui .stats>div:last-child { border:0 }
body.ng-studio .ng-studio-ui .stats strong { font:500 clamp(26px,2.8vw,40px)/1.4 var(--mono);color:var(--green);letter-spacing:-.075em;white-space:nowrap }
body.ng-studio .ng-studio-ui .stats strong>span { font:500 11px/1 var(--sans);margin-left:7px;color:var(--body);letter-spacing:0 }
body.ng-studio .ng-studio-ui .stats p { font-size:12px;color:var(--body);margin-top:10px }
body.ng-studio .ng-studio-ui .stats small { display:block;font-size:10px;color:var(--muted);margin-top:6px }
body.ng-studio .ng-studio-ui .data-note { margin-top:15px;font-size:10px;line-height:1.8 }
body.ng-studio .ng-studio-ui .process { background:#11161a;border-block:1px solid var(--line) }
body.ng-studio .ng-studio-ui .steps { display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;border:1px solid #35414a }
body.ng-studio .ng-studio-ui .steps li { padding:30px 24px;border-right:1px solid #35414a;position:relative }
body.ng-studio .ng-studio-ui .steps li:last-child { border:0 }
body.ng-studio .ng-studio-ui .steps li+li:before { content:'→';position:absolute;top:50%;left:-13px;background:#11161a;padding:4px;color:var(--green);font-size:18px }
body.ng-studio .ng-studio-ui .steps span { font:10px/1.5 var(--mono);color:var(--green);letter-spacing:.06em }
body.ng-studio .ng-studio-ui .steps h3 { font-size:20px;line-height:1.5;margin:22px 0 14px }
body.ng-studio .ng-studio-ui .steps p { font-size:12px;line-height:1.9;color:var(--body) }
body.ng-studio .ng-studio-ui .faq-layout { display:grid;grid-template-columns:1fr 2fr;gap:64px;margin-top:68px }
body.ng-studio .ng-studio-ui .faq-layout h3 { font-size:23px;line-height:1.6;margin-top:13px }
body.ng-studio .ng-studio-ui .faq details { border-bottom:1px solid #36414a }
body.ng-studio .ng-studio-ui .faq details:first-child { border-top:1px solid #36414a }
body.ng-studio .ng-studio-ui .faq summary { padding:21px 0;list-style:none;cursor:pointer;font-size:14px;display:flex;gap:20px;justify-content:space-between;align-items:center }
body.ng-studio .ng-studio-ui .faq summary::-webkit-details-marker { display:none }
body.ng-studio .ng-studio-ui .faq summary>span { color:var(--green);font-size:20px }
body.ng-studio .ng-studio-ui .faq details[open] summary>span { transform:rotate(45deg) }
body.ng-studio .ng-studio-ui .faq details>p { font-size:13px;line-height:2;color:var(--body);padding:0 32px 24px 0 }
body.ng-studio .ng-studio-ui .about-top { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start }
body.ng-studio .ng-studio-ui .about-top .studio-heading { margin-top:15px }
body.ng-studio .ng-studio-ui .about-copy>p { color:var(--body);font-size:14px;line-height:2.1;margin-bottom:16px }
body.ng-studio .ng-studio-ui .team { display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:45px }
body.ng-studio .ng-studio-ui .team article { padding-bottom:22px;border-bottom:1px solid var(--line) }
body.ng-studio .ng-studio-ui .team img { aspect-ratio:1;object-fit:contain;background:linear-gradient(130deg,#25322b,#10191b);padding:18px }
body.ng-studio .ng-studio-ui .team .studio-member-title { font:600 17px/1.6 var(--mono);margin-top:20px;letter-spacing:-.025em }
body.ng-studio .ng-studio-ui .team p { font-size:11px;color:var(--muted);margin-top:5px }
body.ng-studio .ng-studio-ui .company-info { display:grid;grid-template-columns:1.4fr 1fr;gap:70px;margin-top:42px;align-items:center }
body.ng-studio .ng-studio-ui .company-info dl { margin:0 }
body.ng-studio .ng-studio-ui .company-info dl>div { display:grid;grid-template-columns:105px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px }
body.ng-studio .ng-studio-ui .company-info dt { color:var(--muted) }
body.ng-studio .ng-studio-ui .company-info dd { margin:0;color:var(--body) }
body.ng-studio .ng-studio-ui .company-info>div { border-left:1px solid var(--line);padding-left:42px }
body.ng-studio .ng-studio-ui .company-info>div>p { font-size:20px;line-height:1.8;font-weight:600;margin-bottom:18px }
body.ng-studio .ng-studio-ui .contact { background:radial-gradient(ellipse at 5% 80%,#1e302040,transparent 50%),#111811;border-top:1px solid #354434 }
body.ng-studio .ng-studio-ui .contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:100px }
body.ng-studio .ng-studio-ui .contact .studio-heading { font-size:clamp(31px,3.15vw,45px);margin-top:20px;line-height:1.6 }
body.ng-studio .ng-studio-ui .contact .studio-heading>span { color:var(--green) }
body.ng-studio .ng-studio-ui .contact-copy>p:not(.eyebrow):not(.contact-note) { font-size:15px;line-height:2;color:var(--body);margin-top:24px }
body.ng-studio .ng-studio-ui .contact-points { margin-top:35px }
body.ng-studio .ng-studio-ui .contact-points p { font-size:13px;color:var(--body);margin:10px 0 }
body.ng-studio .ng-studio-ui .contact-points span { color:var(--green);margin-right:14px }
body.ng-studio .ng-studio-ui .contact-note { font-size:11px;line-height:1.9;color:var(--muted);max-width:355px;margin-top:40px;border-top:1px solid #32422e;padding-top:20px }
body.ng-studio .ng-studio-ui footer { padding-block:48px 25px;border-top:1px solid var(--line) }
body.ng-studio .ng-studio-ui .footer-main { display:flex;align-items:center;gap:30px }
body.ng-studio .ng-studio-ui .footer-main>p { font-size:12px;color:var(--muted) }
body.ng-studio .ng-studio-ui .back-top { margin-left:auto;font:10px/1.5 var(--mono);color:var(--body) }
body.ng-studio .ng-studio-ui .footer-links { display:flex;gap:24px;flex-wrap:wrap;padding:24px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--body) }
body.ng-studio .ng-studio-ui .footer-links a:hover { color:var(--green) }
body.ng-studio .ng-studio-ui .footer-bottom { display:flex;justify-content:space-between;gap:24px;color:var(--muted);margin-top:22px }
body.ng-studio .ng-studio-ui .footer-bottom small { font-size:10px }
@media(min-width:1441px) {
body.ng-studio .ng-studio-ui .hero-main { right:0 }
body.ng-studio .ng-studio-ui .hero-side-label { right:-25px }
}
@media(max-width:1100px) {
body.ng-studio .ng-studio-ui .header { padding-inline:28px }
body.ng-studio .ng-studio-ui .wrap { padding-inline:32px }
body.ng-studio .ng-studio-ui .header nav { gap:18px }
body.ng-studio .ng-studio-ui .hero { gap:16px }
body.ng-studio .ng-studio-ui .hero h1 { font-size:72px }
body.ng-studio .ng-studio-ui .hero-summary { font-size:19px }
body.ng-studio .ng-studio-ui .hero-actions { gap:18px }
body.ng-studio .ng-studio-ui .hero .button { padding-inline:18px;gap:18px }
body.ng-studio .ng-studio-ui .hero .text-link { font-size:12px;gap:12px }
body.ng-studio .ng-studio-ui .hero-visual { height:470px }
body.ng-studio .ng-studio-ui .hero-main { right:0;height:325px }
body.ng-studio .ng-studio-ui .hero-side-label { right:-18px }
body.ng-studio .ng-studio-ui .hero-small { width:218px;right:12px }
body.ng-studio .ng-studio-ui .image-caption>span { font-size:22px }
body.ng-studio .ng-studio-ui .service-list>article { grid-template-columns:26px 1fr 1.4fr 26px;gap:20px }
body.ng-studio .ng-studio-ui .service-title .studio-service-title { font-size:19px }
body.ng-studio .ng-studio-ui .industry,
body.ng-studio .ng-studio-ui .faq-layout { gap:35px }
body.ng-studio .ng-studio-ui .contact-grid { gap:55px }
body.ng-studio .ng-studio-ui .team { gap:20px }
body.ng-studio .ng-studio-ui .hero-platforms { gap:9px;font-size:9px }
body.ng-studio .ng-studio-ui .hero-description { font-size:13px }
body.ng-studio .ng-studio-ui .company-info { gap:40px }
body.ng-studio .ng-studio-ui .company-info>div { padding-left:30px }
}
@media(max-width:800px) {
html.ng-studio-document { scroll-padding-top:86px }
body.ng-studio .ng-studio-ui .header { height:70px;padding-inline:22px }
body.ng-studio .ng-studio-ui .logo { width:115px }
body.ng-studio .ng-studio-ui .header .logo img { height:52px }
body.ng-studio .ng-studio-ui .menu-toggle { display:flex;flex-direction:column;justify-content:center;gap:7px;padding:12px 0;width:34px;background:none;border:0 }
body.ng-studio .ng-studio-ui .menu-toggle>span:not(.sr-only) { display:block;height:1px;background:var(--ink);width:27px;transition:transform .2s }
body.ng-studio .ng-studio-ui .menu-toggle[aria-expanded=true]>span:first-child { transform:translateY(4px) rotate(45deg) }
body.ng-studio .ng-studio-ui .menu-toggle[aria-expanded=true]>span:nth-child(2) { transform:translateY(-4px) rotate(-45deg) }
body.ng-studio .ng-studio-ui .header nav { display:none;position:absolute;top:69px;left:0;right:0;background:#11181d;border-bottom:1px solid var(--line);padding:24px;align-items:stretch;gap:10px;font-size:15px }
body.ng-studio .ng-studio-ui .header nav.open { display:flex;flex-direction:column }
body.ng-studio .ng-studio-ui .header nav a { padding:12px!important }
body.ng-studio .ng-studio-ui .nav-contact { margin-top:10px;justify-content:space-between }
body.ng-studio .ng-studio-ui .wrap { padding-inline:24px }
body.ng-studio .ng-studio-ui .section { padding-block:76px }
body.ng-studio .ng-studio-ui .hero { grid-template-columns:1fr;gap:24px;padding-top:38px;padding-bottom:38px }
body.ng-studio .ng-studio-ui .hero h1 { font-size:76px;margin:16px 0 20px }
body.ng-studio .ng-studio-ui .hero-summary { font-size:21px }
body.ng-studio .ng-studio-ui .hero-description { font-size:14px }
body.ng-studio .ng-studio-ui .hero-platforms { font-size:10px;gap:16px }
body.ng-studio .ng-studio-ui .hero-visual { margin-top:15px;height:395px;max-width:570px;width:100%;justify-self:center }
body.ng-studio .ng-studio-ui .hero-main { height:285px;left:0;right:15px;top:22px }
body.ng-studio .ng-studio-ui .hero-small { width:218px;right:0 }
body.ng-studio .ng-studio-ui .coordinate { left:0 }
body.ng-studio .ng-studio-ui .hero-side-label { right:-8px;top:140px }
body.ng-studio .ng-studio-ui .floating-mark { left:25px;width:73px;height:73px;bottom:0 }
body.ng-studio .ng-studio-ui .image-caption { padding:22px }
body.ng-studio .ng-studio-ui .intro-strip>.wrap { align-items:flex-start;flex-direction:column;gap:10px;padding-block:21px }
body.ng-studio .ng-studio-ui .intro-strip p>span { display:block;margin:0 0 6px }
body.ng-studio .ng-studio-ui .intro-strip p { font-size:13px }
body.ng-studio .ng-studio-ui .intro-strip a { font-size:10px }
body.ng-studio .ng-studio-ui .section-heading { display:block;margin-bottom:30px }
body.ng-studio .ng-studio-ui .section-heading>p { margin-top:18px;font-size:13px }
body.ng-studio .ng-studio-ui .section-heading .studio-heading { margin-top:12px }
body.ng-studio .ng-studio-ui .works-grid { grid-template-columns:1fr;gap:35px }
body.ng-studio .ng-studio-ui .work { padding-bottom:10px }
body.ng-studio .ng-studio-ui .work-image { max-width:none }
body.ng-studio .ng-studio-ui .work-tags { margin-top:18px }
body.ng-studio .ng-studio-ui .work h3 { font-size:24px }
body.ng-studio .ng-studio-ui .work dl { margin-top:15px;padding-top:12px;font-size:12px }
body.ng-studio .ng-studio-ui .work>p { font-size:14px }
body.ng-studio .ng-studio-ui .section-bottom { align-items:flex-start;flex-direction:column;gap:20px;margin-top:26px }
body.ng-studio .ng-studio-ui .service-list>article { grid-template-columns:28px 1fr 25px;gap:15px;padding:26px 0 }
body.ng-studio .ng-studio-ui .service-title .studio-service-title { font-size:21px }
body.ng-studio .ng-studio-ui .service-detail { grid-column:2/3 }
body.ng-studio .ng-studio-ui .service-symbol { grid-column:3;grid-row:1 }
body.ng-studio .ng-studio-ui .service-detail>p { font-size:14px }
body.ng-studio .ng-studio-ui .industry { grid-template-columns:1fr;gap:28px;margin-top:46px }
body.ng-studio .ng-studio-ui .industry .studio-industry-title br { display:none }
body.ng-studio .ng-studio-ui .industry [role=tab] { font-size:12px;padding-inline:5px;padding-bottom:12px }
body.ng-studio .ng-studio-ui .industry [role=tablist] { gap:5px }
body.ng-studio .ng-studio-ui .industry .studio-panel-title { font-size:17px }
body.ng-studio .ng-studio-ui .media-feature { grid-template-columns:1fr;gap:28px }
body.ng-studio .ng-studio-ui .media-picture>img { aspect-ratio:1.65 }
body.ng-studio .ng-studio-ui .media-copy h3 { font-size:26px;margin-bottom:16px }
body.ng-studio .ng-studio-ui .media-copy>p:not(.eyebrow) { max-width:none }
body.ng-studio .ng-studio-ui .stats { grid-template-columns:1fr 1fr;padding:0;margin-top:30px }
body.ng-studio .ng-studio-ui .stats>div { padding:22px 14px!important;border-bottom:1px solid var(--line) }
body.ng-studio .ng-studio-ui .stats>div:nth-child(2) { border-right:0 }
body.ng-studio .ng-studio-ui .stats>div:nth-child(n+3) { border-bottom:0 }
body.ng-studio .ng-studio-ui .stats>div:nth-child(3) { border-right:1px solid var(--line) }
body.ng-studio .ng-studio-ui .stats strong { font-size:34px }
body.ng-studio .ng-studio-ui .stats p { font-size:11px }
body.ng-studio .ng-studio-ui .stats small { font-size:10px }
body.ng-studio .ng-studio-ui .steps { grid-template-columns:1fr 1fr }
body.ng-studio .ng-studio-ui .steps li { padding:26px 20px;border-bottom:1px solid #35414a }
body.ng-studio .ng-studio-ui .steps li:nth-child(2) { border-right:0 }
body.ng-studio .ng-studio-ui .steps li:nth-child(3) { border-bottom:0 }
body.ng-studio .ng-studio-ui .steps li:nth-child(3):before { display:none }
body.ng-studio .ng-studio-ui .steps h3 { font-size:18px;margin-top:16px }
body.ng-studio .ng-studio-ui .steps p { font-size:12px }
body.ng-studio .ng-studio-ui .faq-layout { grid-template-columns:1fr;gap:26px;margin-top:45px }
body.ng-studio .ng-studio-ui .faq-layout h3 br { display:none }
body.ng-studio .ng-studio-ui .faq summary { font-size:13px;line-height:1.9;padding:18px 0;gap:15px }
body.ng-studio .ng-studio-ui .faq summary>span { flex-shrink:0 }
body.ng-studio .ng-studio-ui .faq details>p { padding-right:0 }
body.ng-studio .ng-studio-ui .about-top { grid-template-columns:1fr;gap:26px }
body.ng-studio .ng-studio-ui .about-copy>p { margin-bottom:14px }
body.ng-studio .ng-studio-ui .team { grid-template-columns:1fr 1fr;gap:28px 18px;margin-top:30px }
body.ng-studio .ng-studio-ui .team img { padding:10px }
body.ng-studio .ng-studio-ui .team .studio-member-title { font-size:15px;margin-top:14px }
body.ng-studio .ng-studio-ui .team p { font-size:10px }
body.ng-studio .ng-studio-ui .company-info { grid-template-columns:1fr;gap:28px;margin-top:25px }
body.ng-studio .ng-studio-ui .company-info dl>div { grid-template-columns:85px 1fr;font-size:11px;gap:15px }
body.ng-studio .ng-studio-ui .company-info>div { border-left:0;border-top:1px solid var(--line);padding:25px 0 0 }
body.ng-studio .ng-studio-ui .company-info>div>p { font-size:20px }
body.ng-studio .ng-studio-ui .contact-grid { grid-template-columns:1fr;gap:40px }
body.ng-studio .ng-studio-ui .contact .studio-heading { font-size:33px }
body.ng-studio .ng-studio-ui .contact-note { max-width:none;font-size:12px;margin-top:26px }
body.ng-studio .ng-studio-ui .contact-points { margin-top:25px }
body.ng-studio .ng-studio-ui .footer-main { flex-wrap:wrap;gap:12px 18px }
body.ng-studio .ng-studio-ui .footer-main>p { font-size:11px }
body.ng-studio .ng-studio-ui .back-top { font-size:9px }
body.ng-studio .ng-studio-ui .footer-links { gap:16px 23px;font-size:11px }
body.ng-studio .ng-studio-ui .footer-bottom { flex-direction:column;gap:8px;margin-top:18px }
body.ng-studio .ng-studio-ui .mobile { display:block }
}
@media(max-width:390px) {
body.ng-studio .ng-studio-ui .wrap { padding-inline:20px }
body.ng-studio .ng-studio-ui .hero h1 { font-size:66px }
body.ng-studio .ng-studio-ui .hero .eyebrow { font-size:9px;letter-spacing:.08em }
body.ng-studio .ng-studio-ui .hero-summary { font-size:19px }
body.ng-studio .ng-studio-ui .hero-actions { gap:18px;align-items:flex-start;flex-direction:column }
body.ng-studio .ng-studio-ui .hero-actions .button { width:100%;padding:17px 20px }
body.ng-studio .ng-studio-ui .hero-platforms { font-size:9px;gap:12px }
body.ng-studio .ng-studio-ui .hero-visual { height:340px }
body.ng-studio .ng-studio-ui .hero-main { height:235px }
body.ng-studio .ng-studio-ui .hero-small { width:186px }
body.ng-studio .ng-studio-ui .image-caption>span { font-size:19px }
body.ng-studio .ng-studio-ui .image-caption small { font-size:9px }
body.ng-studio .ng-studio-ui .floating-mark { width:65px;height:65px }
body.ng-studio .ng-studio-ui .steps li { padding-inline:16px }
body.ng-studio .ng-studio-ui .steps h3 { font-size:17px }
body.ng-studio .ng-studio-ui .stats strong { font-size:29px }
body.ng-studio .ng-studio-ui .stats>div { padding-inline:10px!important }
body.ng-studio .ng-studio-ui .contact .studio-heading { font-size:30px }
body.ng-studio .ng-studio-ui .footer-main .back-top { width:100%;margin-left:0;margin-top:8px }
}
@media(prefers-reduced-motion:reduce) {
html.ng-studio-document { scroll-behavior:auto }
body.ng-studio .ng-studio-ui *,
body.ng-studio .ng-studio-ui *:before,
body.ng-studio .ng-studio-ui *:after { transition:none!important;animation:none!important }
}
@media(max-width:600px) {
body.ng-studio .ng-studio-ui .hero h1 { font-size:clamp(42px,14.4vw,76px) }
}

/* WordPress integration: shared chrome, progressive controls and real CF7. */
body.ng-studio .ng-studio-ui { --ink2:var(--body);--ink3:var(--muted);--ink4:var(--muted);--grn:var(--green);--pnk:var(--pink);--grnline:#a3ff7140;--grnsoft:#a3ff7112;--jp:var(--sans); }
body.ng-studio .studio-header-wrap { position:sticky;top:0;z-index:100; }
body.ng-studio.admin-bar .studio-header-wrap { top:32px; }
body.ng-studio .ng-studio-ui .header { position:relative;top:auto;gap:24px; }
body.ng-studio .ng-studio-ui .header .logo { margin-right:auto; }
body.ng-studio .ng-studio-ui .header nav [aria-current=page] { color:var(--green); }
body.ng-studio .ng-studio-ui .motion-toggle { order:3;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--muted);padding:8px 0;font:10px/1.4 var(--sans);min-height:32px; }
body.ng-studio .ng-studio-ui .motion-toggle[hidden],body.ng-studio .ng-studio-ui [hidden] { display:none!important; }
body.ng-studio .ng-studio-ui .motion-toggle:disabled { cursor:default;opacity:.8; }
body.ng-studio .ng-studio-ui .studio-heading { font-size:clamp(29px,3.1vw,44px);line-height:1.5;letter-spacing:-.045em;font-weight:800; }
body.ng-studio .ng-studio-ui .works-heading .studio-heading br { display:none; }
body.ng-studio .ng-studio-ui .contact .studio-heading { font-size:clamp(31px,3.15vw,45px);line-height:1.6; }
body.ng-studio .ng-studio-ui .work h3 a:hover { color:var(--green); }
body.ng-studio .ng-studio-ui .industry-panel:not([role=tabpanel]) + .industry-panel { border-top:1px solid var(--line);margin-top:24px; }
body.ng-studio .ng-studio-ui .industry-panel[role=tabpanel]:focus { outline-offset:8px; }
body.ng-studio .ng-studio-ui .hero-platforms { flex-wrap:wrap; }
body.ng-studio .ng-studio-ui .hero-copy,body.ng-studio .ng-studio-ui .contact-grid>* { min-width:0; }
body.ng-studio .ng-studio-ui .ng-form { min-width:0;overflow-wrap:anywhere; }
body.ng-studio .ng-studio-ui .ng-form .form-group,body.ng-studio .ng-studio-ui .ng-form p { margin:0 0 28px; }
body.ng-studio .ng-studio-ui .ng-form .form-group>p { margin:0; }
body.ng-studio .ng-studio-ui .ng-form .form-group>label,body.ng-studio .ng-studio-ui .ng-form p>label { display:block;margin:0 0 10px;font-size:16px;line-height:1.6;font-weight:500;color:var(--ink); }
body.ng-studio .ng-studio-ui .ng-form .wpcf7-form-control-wrap { display:block;margin:0; }
body.ng-studio .ng-studio-ui .ng-form .wpcf7-form-control:not([type=checkbox]):not([type=submit]):not(.wpcf7-acceptance) { display:block;min-width:0;width:100%;max-width:100%;background:#0c110c;border:1px solid #54614f;color:var(--ink);border-radius:0;font-size:16px;line-height:1.6;padding:14px 15px; }
body.ng-studio .ng-studio-ui .ng-form textarea { resize:vertical; }
body.ng-studio .ng-studio-ui .ng-form input::placeholder,body.ng-studio .ng-studio-ui .ng-form textarea::placeholder { color:#b3bdb0;opacity:1; }
body.ng-studio .ng-studio-ui .ng-form input:focus-visible,body.ng-studio .ng-studio-ui .ng-form textarea:focus-visible,body.ng-studio .ng-studio-ui .ng-form select:focus-visible { outline:2px solid var(--green);outline-offset:2px; }
body.ng-studio .ng-studio-ui .ng-form .wpcf7-acceptance,body.ng-studio .ng-studio-ui .ng-form .wpcf7-checkbox { padding:0;border:0;background:none; }
body.ng-studio .ng-studio-ui .ng-form .wpcf7-list-item { margin:0; }
body.ng-studio .ng-studio-ui .ng-form input[type=checkbox] { width:17px;height:17px;margin:3px 8px 0 0;accent-color:var(--green);vertical-align:-2px; }
body.ng-studio .ng-studio-ui .ng-form .wpcf7-list-item-label { font-size:13px;line-height:1.9;color:var(--body); }
body.ng-studio .ng-studio-ui .ng-form a { text-decoration:underline;text-underline-offset:3px; }
body.ng-studio .ng-studio-ui .ng-form button.default-btn,body.ng-studio .ng-studio-ui .ng-form input[type=submit] { border:1px solid transparent;background:var(--green);color:#0b1c0e;font-size:14px;font-weight:700;line-height:1.6;padding:17px 20px;border-radius:0;width:100%;cursor:pointer; }
/* CF7の既存button内に挿入された前後の改行で、文字だけが下へずれないようにする。 */
body.ng-studio .ng-studio-ui .ng-form button.default-btn > br { display:none; }
body.ng-studio .ng-studio-ui .ng-form button.default-btn:disabled,body.ng-studio .ng-studio-ui .ng-form input[type=submit]:disabled { opacity:.55;cursor:not-allowed; }
body.ng-studio .ng-studio-ui .ng-form .wpcf7-not-valid-tip { color:#ff9fb8;font-size:13px;margin-top:8px; }
body.ng-studio .studio-skip { position:fixed;left:12px;top:12px;z-index:100000;background:#a3ff71;color:#090c10;padding:12px 18px;transform:translateY(-160%); }
body.ng-studio .studio-skip:focus { transform:none; }
body.ng-studio.admin-bar .studio-skip:focus { top:44px; }
/* Existing project content keeps its queries, pagination and media sizes. */
body.ng-studio .ng-project-pages .sec { max-width:1320px;margin-inline:auto;padding-inline:48px; }
body.ng-studio .ng-project-pages .pghead { background:none;border-bottom:1px solid var(--line); }
body.ng-studio .ng-project-pages .pghead h1 { font-family:var(--sans);font-size:clamp(34px,4vw,58px);line-height:1.4;letter-spacing:-.03em; }
body.ng-studio .ng-project-pages .card { background:var(--panel);border:1px solid var(--line); }
body.ng-studio .ng-project-pages .card:hover { border-color:var(--green); }
body.ng-studio .ng-project-pages .card .bd { padding:24px; }
body.ng-studio .ng-project-pages .card h3 { color:var(--ink);font-size:20px;line-height:1.65; }
body.ng-studio .ng-project-pages .article { color:var(--body); }
body.ng-studio .ng-project-pages .article a { text-decoration:underline;text-underline-offset:4px;color:var(--green); }
body.ng-studio .ng-project-pages .article p { margin:0 0 1.5em; }
body.ng-studio .ng-project-pages .article h2,body.ng-studio .ng-project-pages .article h3 { color:var(--ink);margin-top:1.8em;margin-bottom:.8em; }
body.ng-studio .ng-project-pages .ng-pagination { color:var(--ink); }
body.ng-studio .ng-studio-ui .ng-offices .stat { background:var(--panel);border:1px solid var(--line);padding:28px; }
body.ng-studio #ng-sec-join { --grn:#a3ff71;--grnline:#a3ff7140;--ink:#f4f6f8;--ink2:#cdd3da;--line:#293039;background:#11161c;color:#f4f6f8;font-family:'Noto Sans JP',sans-serif; }
@media(max-width:1180px) and (min-width:801px) {
  body.ng-studio .ng-studio-ui .header { gap:16px;padding-inline:24px; }
  body.ng-studio .ng-studio-ui .header nav { gap:15px;font-size:12px; }
  body.ng-studio .ng-studio-ui .nav-contact { gap:14px;padding-inline:14px; }
  body.ng-studio .ng-studio-ui .header .logo { width:115px; }
  body.ng-studio .ng-studio-ui .motion-toggle span { max-width:3em; }
}
@media(max-width:800px) {
  body.ng-studio .ng-studio-ui .header { flex-wrap:wrap;gap:16px;height:auto;min-height:70px;padding-block:8px; }
  body.ng-studio .ng-studio-ui .header nav { position:static;display:flex;flex-direction:column;flex-basis:100%;padding:12px 0; }
  body.ng-studio .ng-studio-ui .header.studio-menu-ready nav { display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px;max-height:calc(100svh - 116px);overflow-y:auto; }
  body.ng-studio .ng-studio-ui .header.studio-menu-ready nav.open { display:flex; }
  body.ng-studio .ng-studio-ui .menu-toggle { order:4;flex:0 0 34px; }
  body.ng-studio .ng-studio-ui .motion-toggle { margin-left:auto;order:2; }
  body.ng-studio .ng-studio-ui .works-heading .studio-heading br { display:block; }
  body.ng-studio .ng-studio-ui .contact .studio-heading { font-size:33px; }
  body.ng-studio .ng-project-pages .sec { padding-inline:24px; }
}
@media(max-width:782px) { body.ng-studio.admin-bar .studio-header-wrap { top:46px; } }
@media(max-width:600px) { body.ng-studio.admin-bar .studio-header-wrap { top:0; } }
@media(max-width:390px) {
  body.ng-studio .ng-studio-ui .header { padding-inline:20px;gap:12px; }
  body.ng-studio .ng-studio-ui .contact .studio-heading { font-size:30px; }
  body.ng-studio .ng-project-pages .sec { padding-inline:20px; }
}
