/* ==========================================================
   LOWER PAGE RHYTHM / IN-PAGE NAVIGATION
========================================================== */
.p-lower { overflow-wrap:anywhere; }
.m-section-nav { max-width:1100px; margin:40px auto 0; }
.m-section-nav ul { display:flex; flex-wrap:wrap; justify-content:center; gap:16px 32px; list-style:none; padding:0; }
.m-section-nav a { display:block; min-height:44px; padding:8px 12px; text-underline-offset:6px; }
.m-content-section { max-width:1100px; margin:80px auto 0; scroll-margin-top:calc(var(--header-height) + 20px); }
.m-section-heading { font-family:var(--font-heading); font-size:1.625rem; line-height:1.6; text-align:center; margin:0 auto 50px; }
.m-section-heading::after { content:''; display:block; width:100px; height:1px; background:#000; margin:18px auto 0; }
.p-lower figure { margin:0; }
.p-lower figure img { display:block; height:auto; max-width:100%; }
.m-content-action a { display:inline-block; padding:12px 28px; border:1px solid #dc5380; text-decoration:none; }
@media (max-width:768px) {
 .m-section-nav { margin-top:24px; } .m-section-nav ul { gap:8px; }
 .m-content-section { margin-top:50px; }
 .m-section-heading { font-size:1.25rem; margin-bottom:30px; }
}
/* ==========================================================
   BUSINESS / COMPANY INTRO
========================================================== */
.p-business-intro { text-align:center; max-width:1000px; margin:50px auto 0; }
.p-business-intro h2,.p-about-intro h2 { font-family:var(--font-heading); font-size:2rem; line-height:1.8; }
.p-business-intro p { font-size:1.125rem; margin-top:40px; }
.p-about-intro { text-align:center; }
.p-about-csr-action { margin-top:40px; text-align:center; }
.p-about-slogan { font-family:var(--font-heading); font-size:3rem; font-weight:800; margin:48px 0; }
.p-business-intro .p-intro-sp-break { display:none; }
@media (max-width:768px) {
 .p-business-intro h2,.p-about-intro h2 { font-size:1.375rem; }
 .p-business-intro .p-intro-sp-break { display:initial; }
 .p-business-intro p { font-size:1rem; }
 .p-business-intro p,.p-about-intro > p:not(.p-about-slogan) { text-align:left; }
 .p-business-intro p br,.p-about-intro > p:not(.p-about-slogan) br { display:none; }
 .p-about-csr-action { margin-top:24px; }
 .p-about-slogan { font-size:2rem; }
}
/* ==========================================================
   STAFF / COMPANY INFORMATION
========================================================== */
.m-staff-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px 40px; }
.m-staff-card { display:flex; align-items:flex-start; gap:24px; }
.m-staff-card figure { width:150px; flex:0 0 150px; }
.m-staff-card h3 { font-size:1.25rem; margin:0; }
.m-staff-card p { margin:0 0 10px; }
.m-staff-role,.m-staff-roman { font-size:.875rem; }
.m-company-table { width:100%; max-width:640px; margin:auto; border-collapse:collapse; }
.m-company-table th,.m-company-table td { text-align:left; vertical-align:top; padding:14px 0; border-top:1px solid #cfd1d0; }
.m-company-table th { width:120px; }.m-company-table td { padding-left:30px; }
@media (max-width:768px) { .m-staff-grid { grid-template-columns:1fr; gap:30px; } .m-staff-card { gap:20px; } .m-staff-card figure { flex-basis:40%; width:40%; max-width:150px; } .m-company-table th,.m-company-table td { display:block; width:100%; } .m-company-table td { padding:0 0 14px; border:0; } }
/* ==========================================================
   CSR ARTICLES — shared content, independent page heading
========================================================== */
.m-csr-article { max-width:920px; margin:0 auto 90px; }
.m-csr-meta { display:flex; justify-content:space-between; gap:16px; font-size:.875rem; }
.m-csr-article header { border-bottom:1px solid #aaa; margin-bottom:30px; }
.m-csr-article h3 { font-family:var(--font-heading); font-size:1.5rem; line-height:1.7; margin:12px 0 24px; }
.m-csr-block { margin:0 0 40px; }
.m-csr-images { display:flex; flex-direction:column; align-items:center; gap:40px; }
.m-csr-images > a { max-width:100%; }
.m-csr-images img { display:block; max-width:100%; height:auto; }
.m-csr-block p { margin:24px 0 0; }
@media (max-width:768px) { .m-csr-article { margin-bottom:50px; } .m-csr-article h3 { font-size:1.125rem; }.m-csr-meta { flex-wrap:wrap; } }
/* ==========================================================
   CONTACT INTRO / LEGACY NOTICE TEXT
========================================================== */
.p-contact-intro { max-width:800px; }.p-contact-intro h2 { text-align:center; font-family:var(--font-heading); font-size:1.875rem; line-height:1.8; }.p-contact-intro ul { padding-left:1.5em; }.p-contact-phone { text-align:center; border-block:1px solid #ccc; padding:30px 0; margin:40px 0; }.p-contact-phone a { font-size:2rem; font-weight:700; }
@media (max-width:768px) { .p-contact-intro h2 { font-size:1.375rem; }.p-contact-phone a { font-size:1.625rem; } }
