/*
Theme Name: Lightning Child なごころ保育園
Template: lightning
Description: なごころ保育園リニューアル用子テーマ。デザイントークンは docs/02 準拠(ロゴ実測色)。見本は2020年パンフレット。
Version: 0.3.0
*/

/* ===== デザイントークン(docs/02) ===== */
:root {
  --ngkr-text:    #3b3630;
  --ngkr-gray:    #727171;
  --ngkr-base:    #fbfaf3;  /* 生成り */
  --ngkr-texture: #efece3;  /* グレージュ */
  --ngkr-cta:     #f08200;  /* 太陽オレンジ(CTA専用) */
  --ngkr-rose:    #cb5d70;
  --ngkr-blue:    #6f9bb6;
  --ngkr-green:   #74a455;
  --ngkr-purple:  #5c4776;
  --ngkr-mustard: #d5bd5f;
  --ngkr-font-serif: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  --ngkr-font-sans:  "Noto Sans JP", sans-serif;
}

/* ===== ベース ===== */
body {
  font-family: var(--ngkr-font-sans);
  color: var(--ngkr-text);
  line-height: 1.9;
  letter-spacing: 0.02em;
  /* 和紙の質感: 生成りに極薄いノイズ状グラデーション */
  background-color: var(--ngkr-base);
  background-image:
    radial-gradient(rgba(114, 113, 113, 0.02) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 240px);
  background-size: 5px 5px, 100% 100%;
}
a { color: var(--ngkr-purple); }
a:hover { color: var(--ngkr-cta); }

/* ===== 見出し(和モダン) ===== */
h1, h2, h3, h4, .ngkr-serif {
  font-family: var(--ngkr-font-serif);
  color: var(--ngkr-text);
  letter-spacing: 0.05em;
  font-weight: 700;
}
/* h2: 中央寄せ+からし色の短い下線(パンフの品) */
.entry-body h2.wp-block-heading,
.ngkr-hero + * h2 {
  text-align: center;
  font-size: 1.7rem;
  margin: 3.5rem auto 1.5rem;
  padding-bottom: 0.6em;
  position: relative;
}
.entry-body h2.wp-block-heading::after {
  content: "";
  position: absolute;
  left: 50%; bottom: 0;
  transform: translateX(-50%);
  width: 48px; height: 3px;
  border-radius: 2px;
  background: var(--ngkr-mustard);
}
/* h3: 左に色柱(セクションアクセント。既定はロゴグレー) */
.entry-body h3.wp-block-heading {
  font-size: 1.2rem;
  border-left: 5px solid var(--ngkr-mustard);
  padding: 0.15em 0 0.15em 0.6em;
  margin: 2.2rem 0 1rem;
}
.ngkr-accent-rose   h3.wp-block-heading { border-left-color: var(--ngkr-rose); }
.ngkr-accent-blue   h3.wp-block-heading { border-left-color: var(--ngkr-blue); }
.ngkr-accent-green  h3.wp-block-heading { border-left-color: var(--ngkr-green); }
.ngkr-accent-purple h3.wp-block-heading { border-left-color: var(--ngkr-purple); }

/* ===== ヘッダー ===== */
.siteHeader {
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--ngkr-texture);
}
.siteHeader .siteHeader_logo img { max-height: 52px; width: auto; }
/* グローバルナビ */
.global-nav-list > li > a { font-size: 0.95rem; color: var(--ngkr-text); }
.global-nav-list > li > a:hover { color: var(--ngkr-cta); }
/* ナビ最後(見学・説明会)をボタン化(他項目と垂直センターを揃える) */
.global-nav-list > li:last-child {
  display: flex;
  align-items: center;
}
.global-nav-list > li:last-child > a {
  background: var(--ngkr-cta);
  color: #fff !important;
  border-radius: 6px;
  margin: 0;
  padding: 0.45em 1.1em !important;
  font-weight: 700;
  line-height: 1.4;
}
.global-nav-list > li:last-child > a:hover { background: #d97500; }
.global-nav-list > li:last-child > a::after { content: none; }
/* モバイルナビでも申込リンクを強調 */
.vk-mobile-nav .menu > li:last-child > a {
  background: var(--ngkr-cta);
  color: #fff;
  border-radius: 6px;
  font-weight: 700;
}

/* ===== ヒーロー ===== */
.ngkr-hero {
  background-color: var(--ngkr-texture);
  background-image:
    radial-gradient(rgba(114, 113, 113, 0.035) 1px, transparent 1px);
  background-size: 5px 5px;
  border-radius: 0 0 24px 24px;
  padding: 4.5rem 1.2rem 3.5rem;
  margin-bottom: 1rem;
}
.ngkr-hero h1 {
  font-size: clamp(1.9rem, 5.5vw, 3rem);
  line-height: 1.5;
  margin-bottom: 0.8em;
}
.ngkr-hero p { color: var(--ngkr-gray); }

/* ===== セクション面(グループブロック) ===== */
.ngkr-sec-base    { background-color: var(--ngkr-base); }
.ngkr-sec-texture {
  background-color: var(--ngkr-texture);
  border-radius: 16px;
  padding: 2.2rem 1.4rem;
  margin: 3rem auto;
}

/* ===== CTAボタン ===== */
.ngkr-cta .wp-block-button__link,
a.ngkr-cta-btn {
  background-color: var(--ngkr-cta);
  color: #fff;
  font-weight: 700;
  border-radius: 8px;
  padding: 1em 2.4em;
  font-size: 1.05rem;
  letter-spacing: 0.05em;
  box-shadow: 0 3px 10px rgba(240, 130, 0, 0.3);
  transition: transform 0.15s ease, background-color 0.15s ease;
}
.ngkr-cta .wp-block-button__link:hover,
a.ngkr-cta-btn:hover {
  background-color: #d97500;
  color: #fff;
  transform: translateY(-2px);
}

/* ===== 表(一日の流れ・募集状況・保育料) ===== */
.wp-block-table table {
  border-collapse: collapse;
  background: #fff;
  font-size: 0.95rem;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(59, 54, 48, 0.08);
}
.wp-block-table th {
  background: var(--ngkr-texture);
  font-weight: 700;
  padding: 0.6em 0.9em;
  border: 1px solid #dedad0;
}
.wp-block-table td {
  padding: 0.6em 0.9em;
  border: 1px solid #eceadf;
}
.wp-block-table tr:nth-child(even) td { background: #fbfaf4; }

/* ===== FAQ(詳細ブロック) ===== */
.wp-block-details {
  background: #fff;
  border: 1px solid var(--ngkr-texture);
  border-radius: 10px;
  padding: 0.9em 1.2em;
  margin-bottom: 0.8em;
}
.wp-block-details summary {
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-left: 1.7em;
}
.wp-block-details summary::before {
  content: "Q";
  position: absolute;
  left: 0; top: 0.05em;
  color: var(--ngkr-rose);
  font-family: var(--ngkr-font-serif);
  font-weight: 700;
}
.wp-block-details[open] summary { margin-bottom: 0.6em; }

/* ===== お知らせ(最新の投稿ブロック) ===== */
.wp-block-latest-posts {
  background: #fff;
  border-radius: 10px;
  padding: 1.2em 1.6em !important;
  box-shadow: 0 1px 4px rgba(59, 54, 48, 0.06);
}
.wp-block-latest-posts li {
  border-bottom: 1px dashed var(--ngkr-texture);
  padding: 0.55em 0;
}
.wp-block-latest-posts li:last-child { border-bottom: none; }
.wp-block-latest-posts .wp-block-latest-posts__post-date {
  color: var(--ngkr-gray);
  font-size: 0.85em;
}

/* ===== カラム(特徴・2園カード)をカード化 ===== */
.entry-body .wp-block-columns .wp-block-column {
  background: #fff;
  border-radius: 12px;
  padding: 1.4rem 1.5rem;
  box-shadow: 0 1px 5px rgba(59, 54, 48, 0.07);
}
.entry-body .wp-block-columns .wp-block-column h3.wp-block-heading {
  margin-top: 0.2rem;
  font-size: 1.1rem;
}

/* ===== フッター ===== */
.site-footer {
  background: var(--ngkr-purple);
  color: #e9e4ef;
  margin-top: 4rem;
}
/* フッターのリンク: 標準=白 / ホバー=からし色(Lightningの.nav-link等より優先させる) */
.site-footer a,
.site-footer .footer-nav-list a,
.site-footer .nav a,
.site-footer-copyright a {
  color: #ffffff !important;
}
.site-footer a:hover,
.site-footer .footer-nav-list a:hover,
.site-footer .nav a:hover,
.site-footer-copyright a:hover {
  color: var(--ngkr-mustard) !important;
}
.site-footer .widget_nav_menu li,
.site-footer .menu li { border-color: rgba(255, 255, 255, 0.18); }
.site-footer-copyright {
  background: var(--ngkr-purple);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: #d8d0e2;
  font-size: 0.85em;
  padding-top: 14px;
  padding-bottom: 18px;
}
.site-footer-copyright a { color: #d8d0e2; }

/* ===== 編集メモ(本実装まで見えていてよいが控えめに) ===== */
.entry-body em:has(> br)::before { content: none; }
.entry-body p > em:first-child:last-child {
  display: block;
  background: #fff8e6;
  border-left: 4px solid var(--ngkr-mustard);
  padding: 0.5em 0.9em;
  font-size: 0.85em;
  color: #8a7a45;
  border-radius: 0 6px 6px 0;
}

/* ===== スマホ最優先 ===== */
@media (max-width: 767px) {
  body { font-size: 16px; }
  .ngkr-hero { padding: 3rem 1rem 2.5rem; border-radius: 0 0 16px 16px; }
  .entry-body h2.wp-block-heading { font-size: 1.4rem; margin-top: 2.6rem; }
  .entry-body h3.wp-block-heading { font-size: 1.1rem; }
  .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
  .wp-block-table { overflow-x: auto; }
  .wp-block-table table { min-width: 480px; }
  .entry-body .wp-block-columns .wp-block-column { padding: 1.1rem 1.2rem; }
}

/* PC: 本文の最大幅を読みやすく */
@media (min-width: 992px) {
  .entry-body > * { max-width: 860px; margin-left: auto; margin-right: auto; }
  .entry-body > .ngkr-hero, .entry-body > .wp-block-group.alignfull { max-width: none; }
}

/* ===== Lightning既定装飾の打ち消し ===== */
.entry-body h2.wp-block-heading {
  border-top: none;
  border-bottom: none;
  background: none;
  padding-top: 0;
}
.entry-body h3.wp-block-heading { border-top: none; border-bottom: none; background: none; }
/* ページタイトル帯も和モダンに */
.page-header, .pageHeader {
  background: var(--ngkr-texture);
  border-bottom: none;
}

/* ===== ヒーロー(カバーブロック版) ===== */
.ngkr-cover { border-radius: 0 0 24px 24px; overflow: hidden; }
.ngkr-cover h1 {
  font-size: clamp(2rem, 5.5vw, 3.2rem);
  line-height: 1.5;
  text-shadow: 0 1px 12px rgba(251, 250, 243, 0.9);
}
.ngkr-cover p { color: var(--ngkr-text); text-shadow: 0 1px 8px rgba(251, 250, 243, 0.9); }

/* ===== 写真の角丸・トリミング統一 ===== */
.entry-body .wp-block-image img {
  border-radius: 12px;
  width: 100%;
  height: auto;
}
.entry-body .wp-block-column > .wp-block-image img {
  aspect-ratio: 8 / 5;
  object-fit: cover;
}
.wp-block-gallery.is-cropped .wp-block-image img { border-radius: 12px; }
@media (max-width: 767px) {
  .ngkr-cover { border-radius: 0 0 16px 16px; min-height: 440px !important; }
}

/* ヒーロー文字は墨色(明るいオーバーレイの上なので) */
.ngkr-cover h1, .ngkr-cover .wp-block-cover__inner-container p { color: var(--ngkr-text) !important; }
/* Lightning h3の下線を完全に消す */
.entry-body h3.wp-block-heading { border-bottom: none !important; background: none !important; box-shadow: none; }
.entry-body h3.wp-block-heading::after { content: none !important; }

/* スマホのヒーロー見出しは1行に収まるサイズに */
@media (max-width: 767px) {
  .ngkr-cover h1 { font-size: 1.7rem; letter-spacing: 0.03em; }
}

/* ===== セクションアイコン(家型)と見出しの間隔 ===== */
.ngkr-secicon { margin: 3.2rem auto 0; }
.ngkr-secicon img { border-radius: 0 !important; width: 76px !important; height: auto !important; }
.ngkr-secicon + h2.wp-block-heading { margin-top: 0.5rem; }

/* ===== トップページのh2: ロゴ分割の家サンド(上段+太陽/文字/下段) ===== */
/* 2026-07-13: フッター系ページ(保育料39/運営規程40/個人情報41/資料DL160/苦情処理167/育休公表168/提携企業169)にも適用(施主要望) */
.home .entry-body h2.wp-block-heading,
:is(.page-id-39, .page-id-40, .page-id-41, .page-id-160, .page-id-167, .page-id-168, .page-id-169) .entry-body h2.wp-block-heading {
  padding-bottom: 26px;
}
.home .entry-body h2.wp-block-heading::before,
:is(.page-id-39, .page-id-40, .page-id-41, .page-id-160, .page-id-167, .page-id-168, .page-id-169) .entry-body h2.wp-block-heading::before {
  content: "";
  display: block;
  width: 96px; height: 37px;
  margin: 0 auto 2px;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNjAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgMjYwIDEwMCI+PHBhdGggZD0iTTE2Ni43IDIzLjMgTDE2MC4zIDI5LjcgTDE1MS42IDI3LjQgTDE0OS4zIDE4LjcgTDE1NS43IDEyLjMgTDE2NC40IDE0LjYgWiIgZmlsbD0iI2YwODIwMCIgc3Ryb2tlPSIjZjA4MjAwIiBzdHJva2Utd2lkdGg9IjMuMCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxnIGZpbGw9IiNmMDgyMDAiPjxwb2x5Z29uIHBvaW50cz0iMTU4LjAsMy41IDE1Ni4zLDkuMSAxNTkuNyw5LjEiLz48cG9seWdvbiBwb2ludHM9IjE3MC40LDguNiAxNjUuMiwxMS40IDE2Ny42LDEzLjgiLz48cG9seWdvbiBwb2ludHM9IjE3NS41LDIxLjAgMTY5LjksMTkuMyAxNjkuOSwyMi43Ii8+PHBvbHlnb24gcG9pbnRzPSIxNzAuNCwzMy40IDE2Ny42LDI4LjIgMTY1LjIsMzAuNiIvPjxwb2x5Z29uIHBvaW50cz0iMTU4LjAsMzguNSAxNTkuNywzMi45IDE1Ni4zLDMyLjkiLz48cG9seWdvbiBwb2ludHM9IjE0NS42LDMzLjQgMTUwLjgsMzAuNiAxNDguNCwyOC4yIi8+PHBvbHlnb24gcG9pbnRzPSIxNDAuNSwyMS4wIDE0Ni4xLDIyLjcgMTQ2LjEsMTkuMyIvPjxwb2x5Z29uIHBvaW50cz0iMTQ1LjYsOC42IDE0OC40LDEzLjggMTUwLjgsMTEuNCIvPjwvZz48cGF0aCBkPSJNNTIgNjEuMCBRNTIgNTcuNSA1NC43NiA1NS4wIEw3Mi4yNCA0Ni4wIFE3NS4wIDQ0IDc3Ljc2IDQ2LjAgTDk1LjI0IDU1LjAgUTk4IDU3LjUgOTggNjEuMCBMOTggODkuMCBROTggOTQgOTMuNCA5NCBMNTYuNiA5NCBRNTIgOTQgNTIgODkuMCBaIiBmaWxsPSIjY2I1ZDcwIi8+PHBhdGggZD0iTTEwNCA1OC4zNiBRMTA0IDU0LjU4IDEwNy4wIDUxLjg4IEwxMjYuMCA0Mi4xNiBRMTI5LjAgNDAgMTMyLjAgNDIuMTYgTDE1MS4wIDUxLjg4IFExNTQgNTQuNTggMTU0IDU4LjM2IEwxNTQgODguNiBRMTU0IDk0IDE0OS4wIDk0IEwxMDkuMCA5NCBRMTA0IDk0IDEwNCA4OC42IFoiIGZpbGw9IiM5MzRiN2EiLz48cGF0aCBkPSJNMTYwIDYxLjAgUTE2MCA1Ny41IDE2Mi43NiA1NS4wIEwxODAuMjQgNDYuMCBRMTgzLjAgNDQgMTg1Ljc2IDQ2LjAgTDIwMy4yNCA1NS4wIFEyMDYgNTcuNSAyMDYgNjEuMCBMMjA2IDg5LjAgUTIwNiA5NCAyMDEuNCA5NCBMMTY0LjYgOTQgUTE2MCA5NCAxNjAgODkuMCBaIiBmaWxsPSIjNWM0Nzc2Ii8+PC9zdmc+") no-repeat center / contain;
}
.home .entry-body h2.wp-block-heading::after,
:is(.page-id-39, .page-id-40, .page-id-41, .page-id-160, .page-id-167, .page-id-168, .page-id-169) .entry-body h2.wp-block-heading::after {
  content: "";
  position: absolute;
  left: 50%; bottom: 0;
  transform: translateX(-50%);
  width: 96px; height: 19px;
  border-radius: 0;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNjAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCAyNjAgNTAiPjxwYXRoIGQ9Ik01NiAxNy42NCBRNTYgMTQuNDIwMDAwMDAwMDAwMDAyIDU4LjY0IDEyLjEyIEw3NS4zNiAzLjg0IFE3OC4wIDIgODAuNjQgMy44NCBMOTcuMzYgMTIuMTIgUTEwMCAxNC40MjAwMDAwMDAwMDAwMDIgMTAwIDE3LjY0IEwxMDAgNDMuNCBRMTAwIDQ4IDk1LjYgNDggTDYwLjQgNDggUTU2IDQ4IDU2IDQzLjQgWiIgZmlsbD0iIzZiNjlhZiIvPjxwYXRoIGQ9Ik0xMDYgMTcuMCBRMTA2IDEzLjUgMTA4Ljg4IDExLjAgTDEyNy4xMiAyLjAgUTEzMC4wIDAgMTMyLjg4IDIuMCBMMTUxLjEyIDExLjAgUTE1NCAxMy41IDE1NCAxNy4wIEwxNTQgNDUuMCBRMTU0IDUwIDE0OS4yIDUwIEwxMTAuOCA1MCBRMTA2IDUwIDEwNiA0NS4wIFoiIGZpbGw9IiM2ZjliYjYiLz48cGF0aCBkPSJNMTYwIDE3LjY0IFExNjAgMTQuNDIwMDAwMDAwMDAwMDAyIDE2Mi42NCAxMi4xMiBMMTc5LjM2IDMuODQgUTE4Mi4wIDIgMTg0LjY0IDMuODQgTDIwMS4zNiAxMi4xMiBRMjA0IDE0LjQyMDAwMDAwMDAwMDAwMiAyMDQgMTcuNjQgTDIwNCA0My40IFEyMDQgNDggMTk5LjYgNDggTDE2NC40IDQ4IFExNjAgNDggMTYwIDQzLjQgWiIgZmlsbD0iIzc0YTQ1NSIvPjwvc3ZnPg==") no-repeat center / contain;
}

/* フッター上端のLightning既定の青線を除去 */
.site-footer { border-top: none !important; }
.site-body-bottom { border-top: none !important; }

/* ===== 理念キャッチコピー(園についてページ等) ===== */
.ngkr-catch {
  text-align: center;
  font-family: var(--ngkr-font-serif);
  font-size: clamp(1.5rem, 3.2vw, 2rem); /* ページタイトルを超えない上限 */
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.7;
  margin: 0.8em auto 0.2em;
}
.ngkr-marker {
  background: linear-gradient(transparent 62%, rgba(213, 189, 95, 0.45) 62%);
  padding: 0 0.15em;
}
.ngkr-formula {
  text-align: center;
  color: var(--ngkr-gray);
  font-size: 0.98rem;
}

/* 2026-07-15: 上記の「PCではトップページ非表示」は撤回。
   非表示にした結果、ロゴとナビの間に不自然な空白ができてバランスが悪化したため、
   施主判断で「トップページ」を表示したまま残す方式に変更(このコメントのみ記録として残置)。
   併せてロゴサイズ・スクロール追従ロゴ表示の対応により、実用面での重複感は解消済み。 */

/* モバイルのMENUボタンを日本語に+タップ領域拡大(2026-07-13: 34px→46px、Apple推奨44px以上)
   flex縦組みでアイコン上・ラベル下に配置(overflow:hiddenでラベルが潰れる対策)
   2026-07-15: display:flex !importantを削除。これがLightning本体の
   body.device-pc .vk-mobile-nav-menu-btn{display:none}(PCでは自動非表示)を
   打ち消していたため、PCでもハンバーガーが表示される原因になっていた。
   このルールを外すことで、テーマ本来のPC/モバイル自動判定に委ねる */
.vk-mobile-nav-menu-btn {
  font-size: 0 !important;
  color: transparent;
  width: 46px !important;
  height: 46px !important;
  background-size: 24px auto !important;
  background-position: 50% 7px !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding-bottom: 4px !important;
}
body.device-mobile .vk-mobile-nav-menu-btn {
  display: flex;
}
.vk-mobile-nav-menu-btn::after {
  content: "メニュー";
  font-size: 9px;
  color: var(--ngkr-text);
  line-height: 1;
  text-indent: 0;
  letter-spacing: 0;
  overflow: visible;
  white-space: nowrap;
}
.vk-mobile-nav-menu-btn.menu-open::after {
  content: "閉じる";
}

/* 説明会日程: 満席(打ち消し線)はグレーで控えめに */
.entry-body li s { color: var(--ngkr-gray); opacity: 0.75; }

/* 2列の小さな表(募集状況・概要)はスマホでも等幅のまま */
@media (max-width: 767px) {
  .ngkr-table-slim table { min-width: 0; width: 100%; }
}

/* ===== PCでスクロール追従時もロゴを表示(2026-07-15施主要望) =====
   Lightning本体は .header_scrolled .site-header-logo{display:none} で
   スクロール中はナビだけ残しロゴを隠す仕様。しかしPCナビには
   トップページへ戻るリンクが無いため、スクロール後に迷子になる。
   子テーマは親テーマより後に読み込まれる(このstyle.cssが最後)ため、
   同じセレクタで上書きすれば !important 不要で安全に表示を戻せる。 */
@media (min-width: 992px) {
  .header_scrolled .site-header-logo {
    display: block;
    width: auto;
  }
  .header_scrolled .site-header-logo img {
    max-height: 34px;
  }
  .header_scrolled .site-header-container {
    align-items: center;
  }
}

/* ===== ヘッダー内コンテナの幅の段差を解消(2026-07-15) =====
   親テーマはBootstrap系の .container を使っており、992〜1199pxの間は
   max-width:960pxに固定→1200px到達時に1140pxへ一段階ジャンプする仕様。
   ヘッダーはナビの実寸(横並び)がほぼ固定でその960px枠を埋めてしまうため、
   ロゴだけがこの範囲で極端に圧縮される(メニュー項目数とは無関係の
   テーマの元々の仕様。「.site-header」配下だけに絞っているので、
   本文側の.containerや他ページのレイアウトには影響しない)。
   段差をなくし、992px以上は常にビューポート追従の滑らかな幅にする。 */
@media (min-width: 992px) {
  .site-header .site-header-container.container {
    max-width: min(1320px, calc(100% - 3rem));
  }
}

/* ===== 「トップページ」項目の復元(2026-07-15)に伴うナビ圧縮対応 =====
   ナビが9項目に戻ったことで、992px付近ではナビ自身の実寸(約983px)が
   コンテナ幅を超えてしまい、はみ出し(オーバーフロー)が再発する。
   ナビの文字サイズ・左右の余白を992px以上で clamp() により連続的に補間し、
   1300px以降は完全に元の値(16px/22.8px)に戻る。段差(特定幅での急な
   ジャンプ)が起きないよう、上限を区切らず滑らかに変化させている。
   項目数が今後変わっても壊れない相対指定。 */
@media (min-width: 992px) {
  .global-nav a {
    font-size: clamp(13.6px, calc(13.6px + (100vw - 992px) * 0.0078), 16px);
  }
  .global-nav-list > li > a,
  .global-nav ul.menu > li > a {
    padding-left: clamp(14px, calc(14px + (100vw - 992px) * 0.0286), 22.8px);
    padding-right: clamp(14px, calc(14px + (100vw - 992px) * 0.0286), 22.8px);
  }
}
