/* A larger reading scale for phones; compact labels keep their own hierarchy. */
@media screen and (max-width:760px) {
 .home-editorial .association-story > p:not(.section-kicker),
 .home-editorial .site-guide-intro > p,
 .home-editorial .symbol-story > div > p:not(.section-kicker),
 .home-editorial .participation > div > p:not(.section-kicker) { font-size:19px; line-height:2; }
 .home-editorial .association-story h2 { font-size:36px; line-height:1.6; }
 .home-editorial .editorial-heading h2 { font-size:34px; line-height:1.6; }
 .home-editorial .activity-scene > p { font-size:22px; }
 .home-editorial .activity-scene small { font-size:18px; line-height:1.9; }
 .home-editorial .welcome .welcome-copy h1 { font-size:36px; }
 .home-editorial .welcome .welcome-description { font-size:16px; line-height:1.9; }
 .home-editorial .welcome-information > p { font-size:18px; }
 .home-editorial .welcome-information a { font-size:18px; line-height:1.85; }
 .home-editorial .welcome-information time { font-size:15px; }
 .home-editorial .welcome-information { padding-block:28px; }
 .home-editorial .news-list .news-title h3,
 .detail-sequence .news-list .news-title h3 { font-size:19px; line-height:1.85; }
 .home-editorial .news-meta,.home-editorial .news-meta time,.home-editorial .news-meta span,
 .detail-sequence .news-meta,.detail-sequence .news-meta time,.detail-sequence .news-meta span { font-size:15px; line-height:1.7; }
 .home-editorial .help-links { font-size:18px; }
 .home-editorial .text-link { font-size:18px; min-height:48px; }
 .detail-sequence .page-heading-visual h1,
 .detail-sequence .page-heading-compact h1,
 .detail-sequence .news-article-heading h1 { font-size:32px; line-height:1.6; }
 .detail-sequence .page-heading-visual .page-intro { font-size:19px; line-height:1.95; }
 .detail-sequence .breadcrumb { font-size:14px; line-height:1.8; }
 .detail-sequence .reading-document { font-size:19px; line-height:2; }
 .detail-sequence .reading-document > p,
 .detail-sequence .reading-document .story-section-copy > p,
 .detail-sequence .reading-document .lp-copy > p,
 .detail-sequence .reading-document .lp-logo-copy p,
 .detail-sequence .reading-document .purpose-description { font-size:19px; line-height:2; }
 .detail-sequence .reading-document .story-section-copy > :is(ul,ol) > li,
 .detail-sequence .reading-document .lp-copy li { font-size:19px; line-height:1.95; }
 /* Existing article headings use ID-specific sizes; this mobile scale takes priority. */
 .detail-sequence .reading-document .story-section-heading > :is(h2,h3) { font-size:28px !important; line-height:1.65; }
 .detail-sequence .reading-document .story-heading-mark { padding-inline:.12em; }
 .detail-sequence .reading-document :is(.lp-columns,.lp-topics) h3 { font-size:24px; line-height:1.7; }
 .detail-sequence .reading-document :is(.lp-columns,.lp-topics,.lp-flow) :is(p,li),
 .detail-sequence .reading-document .lp-purpose-list dd,
 .detail-sequence .reading-document .lp-methods span { font-size:19px; line-height:1.95; }
 .detail-sequence .reading-document :is(.lp-flow,.lp-support-nav,.lp-methods) strong,
 .detail-sequence .reading-document .lp-purpose-list dt { font-size:24px; line-height:1.7; }
 .detail-sequence .reading-document .lp-summary .lp-summary-title { font-size:29px; line-height:1.65; }
 .detail-sequence .reading-document .lp-summary .lp-summary-note,
 .detail-sequence .reading-document .lp-choice-detail { font-size:18px; line-height:1.9; }
 .detail-sequence .reading-document .lp-fields > ul > li { font-size:21px; line-height:1.8; }
 .detail-sequence .reading-document .lp-cost-list li { font-size:19px; }
 .detail-sequence .reading-document .lp-contact-options a { font-size:21px; line-height:1.8; }
 .detail-sequence .reading-document :is(.hs-visual-item,.hs-life-notes) h3,
 .detail-sequence .reading-document .hs-area-list strong,
 .detail-sequence .reading-document .ft-history dt { font-size:22px; line-height:1.7; }
 .detail-sequence .reading-document :is(.hs-visual-item,.hs-life-notes,.hs-area-list) p,
 .detail-sequence .reading-document .ft-history dd,
 .detail-sequence .reading-document .story-scene figcaption { font-size:18px; line-height:1.9; }
 .detail-sequence .reading-document :is(.hs-consultation-layout,.hs-visit-memo,.ft-phrases) p,
 .detail-sequence .reading-document .ft-memo-list li { font-size:19px; line-height:2; }
 .detail-sequence .reading-document :is(.hs-consultation-layout,.hs-visit-memo,.hs-treatment-intro,.ft-memo-layout) h3 { font-size:24px; line-height:1.7; }
 .detail-sequence .reading-document :is(.hs-small-note,.ft-small-note,.ft-calendar figcaption,.hs-body-figure figcaption,.lp-small-note),
 .detail-sequence .page-provenance .article-note { font-size:17px; line-height:1.95; }
 .detail-sequence .evidence-faq summary { font-size:20px; line-height:1.85; }
 .detail-sequence .evidence-faq .faq-answer { font-size:19px; line-height:2; }
 .detail-sequence .purpose-item .purpose-link { font-size:19px; }
 .detail-sequence .reading-mobile-contents summary { font-size:18px; line-height:1.8; }
 .detail-sequence .reading-mobile-contents ol { font-size:17px; line-height:1.85; }
 .detail-sequence .reading-document table { font-size:17px; line-height:1.9; }
 .detail-sequence .news-reading .rich-content { font-size:19px; line-height:2; }
 .detail-sequence .news-reading .rich-content h2 { font-size:28px; line-height:1.65; }
 .detail-sequence .news-reading .rich-content h3 { font-size:24px; line-height:1.7; }
 .detail-sequence .archive-filters .category-nav { font-size:17px; line-height:1.8; }
 .detail-sequence .reading-contact label { font-size:18px; line-height:1.8; }
 .detail-sequence .reading-contact :is(input,textarea,select) { font-size:18px; line-height:1.7; }
 .detail-sequence .page-related .text-link,
 .detail-sequence .patient-band-copy .text-link,
 .detail-sequence .support-band .text-link { font-size:18px; line-height:1.8; min-height:48px; }
 .detail-sequence .support-band-heading h2 { font-size:32px; line-height:1.6; }
 .detail-sequence .support-band p,
 .detail-sequence .patient-band-copy p { font-size:19px; line-height:1.95; }
 .kotoba-band-message h2 { font-size:28px; line-height:1.6; }
 .kotoba-band-message p { font-size:18px; line-height:1.9; }
 .kotoba-band .kotoba-band-link { font-size:18px; }
 .site-footer .footer-top nav { font-size:17px; line-height:1.9; }
 .site-footer .footer-brand > p { font-size:17px; line-height:1.9; }
 .site-footer .footer-bottom { font-size:14px; line-height:1.8; }
}
@media screen and (max-width:380px) {
 .home-editorial .welcome .welcome-copy h1 { font-size:34px; }
 .home-editorial .welcome .welcome-description { font-size:15px; }
 .home-editorial .association-story h2 { font-size:33px; }
 .detail-sequence .reading-document .lp-summary .lp-summary-title { font-size:28px; }
 .detail-sequence .reading-document .story-with-art:has(.story-scene-icon) { --heading-icon-size:96px; }
 .home-editorial .activity-scene { --activity-icon-size:96px; }
 .detail-sequence .reading-document .hs-area-list { grid-template-columns:minmax(0,1fr); }
 .detail-sequence .reading-document .ft-history > div { grid-template-columns:minmax(0,1fr); gap:8px; }
 .kotoba-band-message h2 { font-size:25px; }
}

@media screen and (max-width:340px) {
 .home-editorial .association-story h2 { font-size:30px; letter-spacing:0; }
}

/* Preserve the type sizes and one column, including the association name. */
@media screen and (max-width:1099px) {
 .cocoro-menu-panel { --mobile-menu-row:44px; padding:16px 28px; gap:0; }
 .cocoro-menu-panel .menu-heading { min-height:44px; flex-shrink:0; }
 .cocoro-menu-panel .menu-heading h2 { font-size:25px; line-height:1.5; }
 .cocoro-menu-panel .menu-links { display:flex; flex-direction:column; gap:0; margin-top:10px; flex-shrink:0; }
 .cocoro-menu-panel .menu-links a { display:flex; align-items:center; font-size:20px; line-height:1.5; height:var(--mobile-menu-row); min-height:var(--mobile-menu-row); padding-block:0; }
 .cocoro-menu-panel .menu-links .nav-contact { height:48px; min-height:48px; margin-top:10px; padding-block:9px; }
 .cocoro-menu-panel .menu-social { margin-top:14px; flex-shrink:0; }
 .cocoro-menu-panel .menu-note { font-size:16px; line-height:1.5; margin-top:8px; flex-shrink:0; }
}
@media screen and (max-width:1099px) and (max-height:760px) {
 .cocoro-menu-panel { --mobile-menu-row:clamp(24px,calc((100dvh - 240px) / 11),44px); padding:12px 22px; }
 .cocoro-menu-panel .menu-links { margin-top:8px; }
 .cocoro-menu-panel .menu-links a { line-height:1.2; }
 .cocoro-menu-panel .menu-links .nav-contact { height:44px; min-height:44px; margin-top:6px; padding-block:7px; }
 .cocoro-menu-panel .menu-social { margin-top:6px; }
}
@media screen and (max-width:1099px) and (max-height:520px) {
 .cocoro-menu-panel { --mobile-menu-row:clamp(24px,calc((100dvh - 188px) / 11),32px); padding:8px 22px; }
 .cocoro-menu-panel .menu-heading { min-height:32px; }
 .cocoro-menu-panel .menu-heading h2 { line-height:1.2; }
 .cocoro-menu-panel .menu-heading .menu-button { height:32px; min-height:32px; min-width:36px; padding:0; }
 .cocoro-menu-panel .menu-links { margin-top:4px; }
 .cocoro-menu-panel .menu-links .nav-contact { height:36px; min-height:36px; margin-top:4px; padding-block:6px; }
 .cocoro-menu-panel .menu-social { margin-top:4px; }
 .cocoro-menu-panel .menu-social a { width:32px; height:32px; }
 .cocoro-menu-panel .menu-social .social-note { font-size:25px; }
 .cocoro-menu-panel .menu-note { line-height:1.4; margin-top:6px; }
}
@media screen and (max-width:1099px) and (max-height:460px) {
 .cocoro-menu-panel { --mobile-menu-row:clamp(24px,calc((100dvh - 164px) / 11),28px); padding:6px 22px; }
 .cocoro-menu-panel .menu-heading { min-height:30px; }
 .cocoro-menu-panel .menu-heading .menu-button { height:30px; min-height:30px; }
 .cocoro-menu-panel .menu-links { margin-top:2px; }
 .cocoro-menu-panel .menu-links .nav-contact { height:32px; min-height:32px; margin-top:2px; padding-block:4px; }
 .cocoro-menu-panel .menu-social a { width:28px; height:28px; }
 .cocoro-menu-panel .menu-social .social-note { font-size:22px; transform:translateY(-1px); }
 .cocoro-menu-panel .menu-note { line-height:1.25; margin-top:4px; }
}
@media screen and (max-width:1099px) and (max-height:415px) {
 .cocoro-menu-panel { --mobile-menu-row:clamp(24px,calc((100dvh - 120px) / 11),30px); width:min(100vw,390px) !important; max-width:390px; padding:4px 22px; }
 .cocoro-menu-panel .menu-heading { min-height:28px; }
 .cocoro-menu-panel .menu-heading h2 { line-height:1; }
 .cocoro-menu-panel .menu-heading .menu-button { height:28px; min-height:28px; min-width:32px; }
 .cocoro-menu-panel .menu-links { margin-top:0; }
 .cocoro-menu-panel .menu-links .nav-contact { height:28px; min-height:28px; padding-block:2px; }
 .cocoro-menu-panel .menu-social { position:absolute; top:4px; right:58px; gap:4px; margin:0; height:28px; }
 .cocoro-menu-panel .menu-social svg { width:18px; height:18px; }
}
@media screen and (max-width:1099px) and (max-height:375px) {
 .cocoro-menu-panel { --mobile-menu-row:clamp(21px,calc((100dvh - 92px) / 11),26px); padding:0 22px 2px; }
 .cocoro-menu-panel .menu-heading { min-height:25px; }
 .cocoro-menu-panel .menu-heading .menu-button { height:25px; min-height:25px; }
 .cocoro-menu-panel .menu-links a { line-height:1.05; }
 .cocoro-menu-panel .menu-links .nav-contact { height:24px; min-height:24px; margin-top:0; padding-block:0; }
 .cocoro-menu-panel .menu-social { top:0; height:24px; }
 .cocoro-menu-panel .menu-social a { width:24px; height:24px; }
 .cocoro-menu-panel .menu-note { line-height:1.125; margin-top:2px; }
}

/* Center the complete menu block while retaining its existing reading scale. */
@media screen and (max-width:1099px) {
 .cocoro-menu-panel { display:grid; grid-template-columns:minmax(0,1fr); align-content:safe center; }
}
@media screen and (max-width:1099px) and (max-height:415px) {
 .cocoro-menu-panel .menu-heading { grid-area:1 / 1; }
 .cocoro-menu-panel .menu-links { grid-area:2 / 1; }
 .cocoro-menu-panel .menu-note { grid-area:3 / 1; }
 .cocoro-menu-panel .menu-social { position:static; top:auto; right:auto; grid-area:1 / 1; justify-self:end; align-self:start; margin:0 36px 0 0; }
}
@media screen and (max-width:1099px) and (max-height:375px) {
 .cocoro-menu-panel { padding-block:1px; }
}
