/* 2026-11-08 サイト診断の対応 */
/* スマホでメニュー (.gnav、閉じているとき右へ 80px ずらしている) が画面の外にはみ出し、ページ幅が広がるのを止める */
html { overflow-x: clip; }
/* 見た目に出さずに検索エンジン・読み上げに伝える文字 */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
/* ページ見出しを h2 → h1 にしたので、h2 向けの指定を h1 にも */
.page-service h1 { -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: black; }
/* 閉じているメニューを右にずらすと、スマホでページ全体が縮んで表示される (幅 390px → 470px) ため、ずらさずに隠す (開閉はフェードのみ) */
@media screen and (max-width: 1000px) {
  .header:not(.active) .gnav { transform: none; visibility: hidden; }
}

/* 2026-11-08 ヘッダーの COMPANY にカーソルを合わせるとページ内の項目を表示 (PC のみ。スマホのメニューでは出さない) */
.gnav--company.has-sub { position: relative; }
.gnav--sub { display: none; }
@media screen and (min-width: 1001px) {
  .gnav--company.has-sub .gnav--sub { display: block; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); min-width: 240px; padding: 8px 0; margin: 0; list-style: none; background: rgba(7, 17, 30, .96); border-radius: 6px; box-shadow: 0 10px 24px rgba(0,0,0,.35); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; z-index: 100; }
  .gnav--company.has-sub:hover .gnav--sub,
  .gnav--company.has-sub:focus-within .gnav--sub { opacity: 1; visibility: visible; }
  .gnav--list .gnav--sub li a { display: block; padding: 10px 20px; font-family: inherit; font-size: 14px; letter-spacing: .05em; white-space: nowrap; }
  .gnav--list .gnav--sub li a:hover { background: rgba(82, 116, 236, .25); }
  .gnav--list .gnav--sub li a::after { display: none !important; }
}
/* ページ内リンクで飛んだとき、固定ヘッダーに見出しが隠れないように */
.company--contents[id] { scroll-margin-top: 100px; }

/* 代表メッセージ: 文節のまとまり (span.nb) の中では改行しない = 日本語として自然な位置でだけ改行する */
.home_message .nb, .company_message .nb { display: inline-block; }
