/* Reading and in-page navigation. Scoped to content, leaving decorative typography intact. */
.statement p,.hakodate-block p,.founder-message p,.mission-grid p,.legal-copy p{font-size:16px;line-height:2.1}
.inner-hero>div>p:not(.inner-label),.service-intro{font-size:16px;line-height:2}
.feature-grid p,.detail-copy p,.detail-note p,.blog-card p,.activity-entry__copy p,.faq details p,.faq>p,.catalog-card p,.program article p,.inner-cta p,.service-contact__card p,.guide-service-link,.service-hub__choice p,.service-hub__next p,.service-hub-guides__intro p{font-size:15px;line-height:2}
.two-column-info li,.detail-copy li,.service-guide li,.web-case dl,.company dd,.legal-copy li{font-size:15px;line-height:2}
.section-intro p,.page-masthead__copy>p,.values p,.contact-email-fallback p{font-size:15px;line-height:2}
.faq summary{font-size:16px;line-height:1.8;min-height:44px}
.blog-card>div:last-child>span,.catalog-card>span,.guide-service-link a{font-size:13px}
.site-footer nav{gap:6px 22px;font-size:13px;align-items:center}
.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;line-height:1.7}
.site-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer a:focus-visible,.page-index a:focus-visible,.faq summary:focus-visible{outline:3px solid #1d3e71;outline-offset:4px}
.page-index{margin:30px 0 0;max-width:100%;padding:20px 0;border-top:1px solid rgba(0,0,0,.3);border-bottom:1px solid rgba(0,0,0,.3);text-align:left}
.page-index>p{margin:0 0 12px;font-size:12px;font-weight:800;line-height:1.6}
.page-index ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.page-index li{min-width:0;margin:0;padding:0}
.page-index a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:9px 14px;border:1px solid #111;border-radius:8px;background:#fff;font-size:13px;font-weight:700;line-height:1.7;letter-spacing:.02em}
.page-index a:hover{background:#ffdfaa}
.page-index--center{width:min(780px,100%);margin:36px auto 0}
.page-index--center ul{justify-content:center}
.page-index--center>p{text-align:center}
.page-index--wide{width:calc(100% - var(--pad) * 2);max-width:var(--max);margin:0 auto 24px}
#details,#support-map,#guide,#web-cases,#web-process,#web-faq,#ai-consulting-faq,#about-purpose,#founder-message,#company-profile,#robot-examples,#seminar-overview,#seminar-program,#seminar-flow,#seminar-faq{scroll-margin-top:28px}
@media(max-width:760px){
 .page-index ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-index a{height:100%;gap:8px;padding:10px;font-size:13px}
 .page-index a span{flex-shrink:0}
 .page-index--wide{margin-bottom:0}
 .section-intro p,.page-masthead__copy>p{font-size:15px}
 .faq summary{font-size:15px}
 .company dt,.founder-note span{font-size:14px}
 .service-hub__choice p,.service-hub__next p{font-size:15px}
 .site-footer nav{gap:4px 18px}
}
/* Later legacy tablet rules had overridden the original phone column layout. */
@media(max-width:760px){
 .inner-hero,.inner-hero--wide,.inner-hero--compact{grid-template-columns:minmax(0,1fr);gap:32px;min-height:auto}
 .inner-hero>div:first-child{min-width:0;width:100%;max-width:none}
 .inner-hero .inner-art{width:min(100%,360px);max-width:100%;justify-self:center;margin-right:0}
}
.impact-hero__intro .impact-first-step-link{display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:100%;min-height:44px;margin-top:18px;color:#17345c;border-bottom:2px solid currentColor;font-size:15px;font-weight:800;line-height:1.5;pointer-events:auto;text-decoration:none}
.impact-hero__intro .impact-first-step-link:hover{text-decoration:none;color:#355a8d}
.impact-hero__intro .impact-first-step-link:focus-visible{outline:3px solid #1d3e71;outline-offset:4px}
@media(max-width:760px){.impact-hero__intro .impact-first-step-link{margin-top:14px;font-size:14px}}
.impact-hero__intro>p{display:block;margin:0 0 14px;color:#17345c;font-size:14px;font-weight:800;letter-spacing:.08em}
@media(max-width:760px){.impact-hero__intro>p{margin-bottom:10px;font-size:12px}}
