/* ==========================================================================
   UTILITIES & TYPOGRAPHY
   ========================================================================== */
h1, h2, h3, h4 { color: var(--c-black); font-weight: 700; margin: 0; line-height: 1.4; }
p { margin: 0 0 1.5rem; }

/* 【追加】① 企業姿勢を示す大見出しにのみ明朝体を適用し「報告書・規約」の重みを出す */
.hero-title-massive,
.editorial-title,
.statement-catch,
.contact-title,
.legal-title,
.terms-title,
.results-title {
  font-family: var(--font-serif);
  font-weight: 900;
  letter-spacing: 0.02em;
}

/* 【追加】② 英語タイトル、数字、ラベルなどに等幅フォントを適用して「監査・データ解析感」を出す */
.page-title,
.dir-title,
.focus-title,
.label-tag,
.num,
.audit-number,
.gantt-day,
.policy-label,
.loading-text,
.log-time,
.log-type,
.footer-heading {
  font-family: var(--font-mono);
  letter-spacing: 0.05em;
}

.container { width: 100%; max-width: var(--container-width); margin: 0 auto; padding: 0 24px; }
.section { padding: 80px 0; }
.section-border-top { border-top: 1px solid var(--c-border); }
.bg-light { background-color: var(--c-light); }
.section-dark { background-color: var(--c-black); color: var(--c-white); padding: 100px 0; }

.text-main { color: var(--c-black); }
.text-muted { color: var(--c-gray); }
.text-danger { color: var(--c-danger); }
.text-accent { color: var(--c-accent); }
.fw-bold { font-weight: 700; }
.u-mb-16 { margin-bottom: 16px; }
.u-mb-24 { margin-bottom: 24px; }
.u-mb-40 { margin-bottom: 40px; }
.text-center { text-align: center; }
.text-white{color: var(--c-white) !important;}

.pc-only { display: none !important; }
.sp-only { display: block !important; }
@media (min-width: 769px) { 
  .pc-only { display: block !important; } 
  .sp-only { display: none !important; } 
}


/* ==========================================================================
   EXTRA UTILITIES (現在のHTML互換用)
   ========================================================================== */
.u-mt-16 { margin-top: 16px; }
.u-mt-40 { margin-top: 40px; }
.pt-0 { padding-top: 0 !important; }
.text-dark { color: var(--c-dark); }
.btn-full { width: 100%; }
