/* Only common safety overrides. The source page-specific visual rules are retained. */
.fade-up,.fade-block{opacity:1!important;visibility:visible!important;transform:none!important}
:host{overflow-wrap:normal}.site-header,.site-footer{font-family:'Sharo Inter','Sharo Noto JP',sans-serif!important}.site-header a{font-family:inherit!important}.site-header .site-logo,.site-header .desktop-nav a,.site-header .mobile-menu a{color:#fff!important}.site-header .contact-link{color:#000!important;background:#fff!important}.site-header a,.site-footer a{text-decoration:none}.site-footer .trial-note a{text-decoration:underline}
#home-main{min-width:0} .ai-note{display:block;position:relative}.integration-note a{text-decoration:underline}.article-body [style*="white-space:pre-wrap"],.legal-page [style*="white-space:pre-wrap"]{white-space:normal!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.opening-curtain{display:none!important}}
.column-cover img{object-fit:contain;background:#fff}
.legal-page>h1{font-size:36px;line-height:1.5;margin:24px 0 40px;letter-spacing:.04em}
@media(max-width:900px){.legal-page>h1{font-size:28px}}
/* Keep the 44px menu target inside narrow headers after source page CSS. */
@media(max-width:400px){.site-header{padding-inline:16px;gap:12px}}
