/* Typography / watermark unify.
   PCのグリッドやヘッダー配置は触らず、はみ出し・環境差の原因だけ止める。 */

:root {
  --wm-size: clamp(72px, 11vw, 168px);
}

/* SPヘッダーはPCでは出さない（mobile.css が幅条件で読まれない対策） */
#oy-ham { display: none; }
@media (max-width: 768px) {
  #oy-ham { display: block !important; }
  header.header,
  header.m-header,
  .m-header,
  .sp-hdr,
  .sp-nav,
  .sp-mask,
  .rec-headbar-wrap {
    display: none !important;
  }
}

/* 巨大 vw 指定のウォーターマークを全環境で同じ上限に */
.strengths::after,
body.page-index .strengths::after,
.business::before,
body.page-index .business::before,
.page-services .business-watermark {
  font-size: var(--wm-size) !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
  max-width: 100%;
}

/* 禁則・keep-all・nowrap のエンジン差で重なる見出しを自然改行へ */
.strengths-title,
.strengths-lead,
.business-title,
.business-lead,
.fvcut__copy .title,
.fvcut__copy .lead,
.about-title,
.about-lead,
.svc-hero-title,
.svc-hero-lead,
.rec-title,
.rec-lead,
.recruit-hero__title,
.recruit-hero__lead,
.news-heading,
.page-news .lead {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-break: auto !important;
  text-wrap: pretty;
  letter-spacing: 0.02em;
}

.strengths-title .highlight {
  white-space: normal !important;
}

/* PCグロナビは1行のまま（ここだけ nowrap を維持） */
.header .global-nav a {
  white-space: nowrap;
}
