/* Corporate pages share a readable hierarchy across all nine designs. */
/* Center the A hero as one group; keep the title and copy on one left edge. */
html[data-design="a"][data-page="corporate"] .hero-copy {
  width: max-content; max-width: 100%; margin-inline: auto; text-align: left;
}
html[data-design="a"][data-page="corporate"] .hero h1 { margin-inline: 0; text-align: left; }
html[data-design="a"][data-page="corporate"] .hero .a-intro-copy { max-width: 40rem; margin-inline: 0; }
html[data-page="corporate"] body { font-weight: 400; }
html[data-page="corporate"] :is(.about-body p, .section-intro>p, .detail-content p, .service-desc, .process-sticky>p, .process-step p, .person-bio>p:not([class]), .bio-details p, .company-heading>p, .company-facts dd, .recruit-content p, .contact-intro>p) {
  font-weight: 400; font-size: 17px; line-height: 1.9;
}
html[data-page="corporate"] :is(.section-intro h3, .company-heading h3, .contact-intro h3, .process-sticky h3) {
  font-weight: 700; line-height: 1.5; letter-spacing: .01em;
}
html[data-page="corporate"] .business-item .item-title { font-size: 25px; font-weight: 700; line-height: 1.5; }
html[data-page="corporate"] .pm-core .item-title { font-size: 28px; }
html[data-page="corporate"] .business-item .item-en { font-size: 12px; font-weight: 500; line-height: 1.75; letter-spacing: .08em; }
html[data-page="corporate"] .business-item .item-key { font-size: 15px; font-weight: 500; line-height: 1.8; }
html[data-page="corporate"] .detail-content .detail-note { font-size: 13px; font-weight: 400; line-height: 1.8; }
html[data-page="corporate"] .service-card h4 { font-size: 25px; font-weight: 700; line-height: 1.5; }
html[data-page="corporate"] .service-card .service-desc { font-size: 16px; }
html[data-page="corporate"] .person-name { font-size: 36px; font-weight: 700; line-height: 1.4; }
html[data-page="corporate"] .person-quote { font-size: 28px; font-weight: 700; line-height: 1.6; }
html[data-design="a"][data-page="corporate"] :is(.lead, .summary, .a-intro-copy p, .prof-body>p, .a-business-body>p, .lineup .item>p:not(.name)) {
  font-size: 17px; font-weight: 400; line-height: 1.9;
}
html[data-design="a"][data-page="corporate"] .copy { font-size: 42px; font-weight: 700; line-height: 1.5; }
html[data-design="a"][data-page="corporate"] .a-business h3 { font-size: 25px; font-weight: 700; line-height: 1.5; }
html[data-design="a"][data-page="corporate"] .a-business.pm-core h3 { font-size: 28px; }
html[data-design="a"][data-page="corporate"] .a-business h3 small { font-size: 12px; font-weight: 500; line-height: 1.8; letter-spacing: .08em; margin-top: 10px; }
html[data-design="a"][data-page="corporate"] .a-business .a-business-key { font-weight: 500; line-height: 1.8; }
html[data-design="a"][data-page="corporate"] .a-business-body .detail-note { font-size: 13px; line-height: 1.8; }
html[data-design="a"][data-page="corporate"] .lineup .name { font-size: 25px; font-weight: 700; line-height: 1.5; }
@media (max-width: 740px) {
  html[data-page="corporate"] :is(.about-body p, .section-intro>p, .detail-content p, .process-sticky>p, .process-step p, .person-bio>p:not([class]), .bio-details p, .company-heading>p, .company-facts dd, .recruit-content p, .contact-intro>p) { font-size: 16px; }
  html[data-page="corporate"] .business-item .item-title { font-size: 21px; }
  html[data-page="corporate"] .pm-core .item-title { font-size: 23px; }
  html[data-page="corporate"] .business-item .item-en { font-size: 11px; }
  html[data-page="corporate"] .business-item .item-key { font-size: 14px; }
  html[data-page="corporate"] .service-card h4 { font-size: 22px; }
  html[data-page="corporate"] .person-name { font-size: 30px; }
  html[data-page="corporate"] .person-quote { font-size: 24px; }
  html[data-design="a"][data-page="corporate"] :is(.lead, .summary, .a-intro-copy p, .prof-body>p, .a-business-body>p, .lineup .item>p:not(.name)) { font-size: 16px; }
  html[data-design="a"][data-page="corporate"] .copy { font-size: 31px; }
  html[data-design="a"][data-page="corporate"] .a-business h3 { font-size: 21px; }
  html[data-design="a"][data-page="corporate"] .a-business.pm-core h3 { font-size: 23px; }
  html[data-design="a"][data-page="corporate"] .a-business h3 small { font-size: 11px; }
  html[data-design="a"][data-page="corporate"] .lineup .name { font-size: 22px; }
}
html[data-page="corporate"] .pm-title-part { display: inline-block; }
@media (max-width: 740px) {
  html[data-page="corporate"] .pm-core > summary { position: relative; }
  html[data-page="corporate"] .pm-core .item-title,
  html[data-design="a"][data-page="corporate"] .a-business.pm-core h3 {
    grid-column: 1 / -1; width: 100%; font-size: clamp(18px, 5.5vw, 22px); letter-spacing: 0;
  }
  html[data-page="corporate"] .pm-core .item-number { display: none; }
  html[data-page="corporate"] .pm-core .plus { position: absolute; right: 24px; top: 31px; }
  html[data-design="a"][data-page="corporate"] .a-business.pm-core > summary:after { position: absolute; right: 0; top: 24px; }
}
