/* Research-led actions: typography and a clear surface, without arrow decoration. */
:root{--action-ink:#123b51;--action-fill:#edf7fc;--action-amber:#efb26d}
body :is(a.text-link,a.insight-link,a.stage-link,a.film-link,a.sub-hero-action,a.cmo-scope-link,a.cmo-proof-link){display:inline-flex;align-items:center;justify-content:center;gap:0;min-height:58px;min-width:180px;max-width:100%;padding:17px 28px;box-sizing:border-box;background:var(--action-fill)!important;color:var(--action-ink)!important;border:1px solid #bad0dd!important;border-radius:6px;text-decoration:none!important;font-size:14px;font-weight:600;letter-spacing:.025em;line-height:1.7;box-shadow:none!important;transition:background .2s,border-color .2s,color .2s}
body a.contact-button,body .header a.nav-contact,body a.text-link[href="#contact"]{display:inline-flex;align-items:center;justify-content:center;background:var(--action-amber)!important;color:var(--action-ink)!important;border:1px solid transparent!important;border-radius:6px;font-size:14px;font-weight:700;letter-spacing:.03em;min-height:58px;padding:17px 30px;max-width:100%;box-sizing:border-box;text-decoration:none!important;box-shadow:none!important;line-height:1.7;transition:background .2s,color .2s}
body :is(a.text-link,a.insight-link,a.stage-link,a.film-link,a.sub-hero-action,a.cmo-scope-link,a.cmo-proof-link,a.contact-button,.header a.nav-contact)>span,body .related-showcase-arrow,body .film-services a>i,body .training-entry-copy b,body .ai-neo-link>b,body .site-footer-nav a>span{display:none!important}
body .header nav>a:not(.nav-contact){padding:10px 5px;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none}
body .header nav{gap:26px}
body .menu{border:1px solid #8caaba;border-radius:5px;background:#edf6fb;color:#123b51;font-weight:600;box-shadow:none}
body .business-index a,body .page-toc a{display:inline-flex;align-items:center;justify-content:center;background:#e8f3fa!important;color:#153c53!important;border:1px solid #a5bfce!important;border-radius:5px;box-shadow:none;font-weight:500;text-decoration:none!important;min-height:46px;padding:11px 17px;box-sizing:border-box}
body .business-index a:after,body .page-toc a:after,body .service-links>a:after,body .business-branches>a:after{display:none!important;content:none!important}
body .service-links>a,body .business-branches>a{padding-right:24px}
body .film-services a{justify-content:center;background:#edf7fc;color:#153c53;border:1px solid #abc8d9;border-radius:5px;box-shadow:none}
body .related-showcase-card{border:1px solid #afc6d3;box-shadow:none}
body .related-showcase-info{display:block}
body .related-showcase-info:after{content:"詳しく見る";display:inline-block;margin-top:18px;padding-bottom:4px;border-bottom:1px solid #6f93a6;color:#21546d;font-size:11px;font-weight:600;letter-spacing:.05em;line-height:1.6}
body .training-business-card{border:1px solid #8eafc4;box-shadow:none}
body .training-entry-copy>span{display:inline-block;border:1px solid #799daf;background:#edf7fc;color:#153c53;padding:12px 24px;border-radius:5px;font-weight:600}
body a.ai-neo-link{display:flex;align-items:center;padding:25px 28px;border:1px solid #adc7d6;border-radius:6px;background:#edf7fc!important;color:#123b51!important;text-decoration:none;box-shadow:none}
body a.ai-neo-link>span{display:block;flex:1 1 auto;width:auto;min-width:0;height:auto;margin:0;padding:0;background:none!important;color:#123b51!important;font-size:14px;line-height:1.8}
body a.ai-neo-link>span strong{display:block}
body summary{border:1px solid #a5bfce;background:#e8f3fa!important;color:#153c53!important;border-radius:5px;font-weight:600}
body summary:after{background:none;border:0;border-radius:0;color:#123b51;font-size:23px;font-weight:300}
body .persistent-contact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:230px;padding:16px 26px;border:1px solid transparent;border-radius:8px;background:#efb26d;color:#123b51;box-shadow:0 5px 20px #0002}
body .persistent-contact-en{font-size:9px;letter-spacing:.17em;color:#416173}
body .persistent-contact-ja{color:#123b51;font-size:14px}
body .persistent-contact .persistent-contact-arrow{display:none!important}
body a:focus-visible,body button:focus-visible,body summary:focus-visible{outline:3px solid #e89433;outline-offset:5px}
@media(hover:hover){
body :is(a.text-link,a.insight-link,a.stage-link,a.film-link,a.sub-hero-action,a.cmo-scope-link,a.cmo-proof-link):hover{background:#cde9f7!important;border-color:#6c9eb8!important;color:#123b51!important;transform:none;box-shadow:none}
body a.contact-button:hover,body .header a.nav-contact:hover,body a.text-link[href="#contact"]:hover,body .persistent-contact:hover{background:#ffd39b!important;color:#123b51!important;transform:none}
body .header nav>a:not(.nav-contact):hover{border-bottom-color:#123b51;color:#123b51}
body .business-index a:hover,body .page-toc a:hover{background:#cde9f7!important;border-color:#6c9eb8!important;color:#123b51!important}
body .related-showcase-card:hover{border-color:#4f839e;box-shadow:0 7px 20px #173f5612}
body .related-showcase-card:hover .related-showcase-info:after{border-color:#123b51;color:#123b51}
}
@media(max-width:1100px) and (min-width:701px){body .header nav{gap:14px}body .header nav>a:not(.nav-contact){padding:9px 4px;font-size:12px}body .header a.nav-contact{padding:13px 20px;font-size:12px}}
@media(max-width:700px){
body :is(a.text-link,a.insight-link,a.stage-link,a.film-link,a.sub-hero-action,a.cmo-scope-link,a.cmo-proof-link){font-size:13px;min-height:56px;min-width:160px;padding:16px 22px}
body a.contact-button{font-size:13px;min-height:56px;padding:16px 22px}
body .header nav>a:not(.nav-contact){justify-content:flex-start;padding:14px 16px;min-height:48px;border-bottom:1px solid #d5e1e8}
body .business-index a,body .page-toc a{font-size:12px;padding:10px 14px}
body .persistent-contact{min-width:0;padding:12px 20px;max-width:380px}
}
@media(prefers-reduced-motion:reduce){body a{transition:none!important;transform:none!important}}

/* Contextual symbols, with paired text/background states. */
body a>.action-icon{display:block;flex:0 0 20px;width:20px;height:20px;margin:0 12px 0 0;color:inherit;pointer-events:none}
body :is(a.text-link,a.insight-link,a.stage-link,a.film-link,a.sub-hero-action,a.cmo-scope-link,a.cmo-proof-link,a.contact-button,.header a.nav-contact){column-gap:0}
body .film-services a,body .film-services a:hover,body .film-services a:focus-visible,body .film-services a:active{background:#edf7fc!important;color:#153c53!important;border-color:#abc8d9!important;box-shadow:none!important}
body .film-services a:hover,body .film-services a:focus-visible{background:#cde9f7!important;color:#123b51!important;border-color:#6c9eb8!important}
body .film-services a>span{color:#42687d!important}
body .film-services a>.action-icon{width:22px;height:22px;flex-basis:22px;margin-right:12px}
body .business-index a>.action-icon,body .page-toc a>.action-icon{width:17px;height:17px;flex-basis:17px;margin-right:9px}
body .persistent-contact{display:grid;grid-template-columns:22px auto;grid-template-rows:auto auto;gap:3px 13px}
body .persistent-contact>.action-icon{grid-column:1;grid-row:1/3;width:22px;height:22px;margin:0;color:#123b51}
body .persistent-contact-en,body .persistent-contact-ja{grid-column:2;text-align:left}
body .persistent-contact-en{grid-row:1}body .persistent-contact-ja{grid-row:2}
body .training-business-card:hover .training-entry-copy>span{background:#cde9f7!important;color:#123b51!important}
body a.ai-neo-link:hover{background:#cde9f7!important;color:#123b51!important}
@media(max-width:700px){body a>.action-icon{width:19px;height:19px;flex-basis:19px;margin-right:10px}body .film-services a{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:14px 8px!important}body .film-services a>.action-icon{width:21px;height:21px;flex:0 0 21px;margin:0}body .film-services a>span{display:none}body .persistent-contact{justify-content:center}body .page-toc a,body .business-index a{justify-content:flex-start}}
body :is(a.text-link,a.insight-link,a.stage-link,a.film-link,a.sub-hero-action,a.cmo-scope-link,a.cmo-proof-link,a.contact-button,.header a.nav-contact,.page-toc a,.business-index a){gap:12px!important}
body :is(a.text-link,a.insight-link,a.stage-link,a.film-link,a.sub-hero-action,a.cmo-scope-link,a.cmo-proof-link,a.contact-button,.header a.nav-contact,.page-toc a,.business-index a)>.action-icon{margin:0!important}
@media(max-width:700px){body :is(a.text-link,a.insight-link,a.stage-link,a.film-link,a.sub-hero-action,a.cmo-scope-link,a.cmo-proof-link,a.contact-button,.header a.nav-contact,.page-toc a,.business-index a){gap:10px!important}}

/* Keep the filled FAQ controls and NEO contents links comfortably inset. */
body.cmo-page #faq summary,body.page-neo #faq summary,body.page-ai #faq summary{padding:20px 22px;min-height:64px;box-sizing:border-box;gap:18px}
body.cmo-page #faq details,body.page-neo #faq details,body.page-ai #faq details{margin:8px 0}
body.cmo-page #faq details>p,body.page-neo #faq details>p,body.page-ai #faq details>p{padding:16px 22px 24px}
body.page-neo .page-toc a{padding:11px 17px}
@media(max-width:700px){body.cmo-page #faq summary,body.page-neo #faq summary,body.page-ai #faq summary{padding:18px;gap:14px}body.cmo-page #faq details>p,body.page-neo #faq details>p,body.page-ai #faq details>p{padding:14px 18px 22px}body.page-neo .page-toc a{padding:10px 14px}}

/* Treat each CTA icon and label as one centered group, including full-width cards. */
body :is(a.text-link,a.insight-link,a.stage-link,a.film-link,a.sub-hero-action,a.cmo-scope-link,a.cmo-proof-link,a.contact-button,.header a.nav-contact){justify-content:center!important;align-items:center!important;text-align:center;text-wrap:balance}
