/* =========================================================
   NS Mega Menu – THEME "cat" (skin only)
   色/余白/影/角丸/フォントサイズなどの見た目を担当
   変数: --nsmm-hero / --nsmm-accent
   ========================================================= */

/* デフォ色（nav全体） */
.nsmm { --nsmm-hero:#0e74b2; --nsmm-accent:#c40000; }

/* 色スイッチ（nav単位） */
.nsmm.nsmm-theme-blue  { --nsmm-hero:#0e74b2; --nsmm-accent:#c40000; }
.nsmm.nsmm-theme-red   { --nsmm-hero:#c40000; --nsmm-accent:#c40000; }
.nsmm.nsmm-theme-green { --nsmm-hero:#0a7a5a; --nsmm-accent:#0a7a5a; }

/* 色スイッチ（親<li>単位） */
.nsmm .nsmm-top.nsmm-theme-blue  { --nsmm-hero:#0e74b2; --nsmm-accent:#c40000; }
.nsmm .nsmm-top.nsmm-theme-red   { --nsmm-hero:#c40000; --nsmm-accent:#c40000; }
.nsmm .nsmm-top.nsmm-theme-green { --nsmm-hero:#0a7a5a; --nsmm-accent:#0a7a5a; }

/* トップリンクの見た目 */
.nsmm .nsmm-top > .nsmm-link { padding: 14px 16px; color:#111; text-decoration: none; font-weight:600; }
.nsmm .nsmm-top { margin-bottom: 0;}
/* メガパネルの見た目（外枠はCOREが担当しない） */
.nsmm .nsmm-mega { background:#fff; border-top:2px solid #111; box-shadow:0 14px 36px rgba(0,0,0,.12); }
.nsmm .nsmm-mega .nsmm-mega-inner { /*padding: 26px 28px;*/ padding: 0; }
.nsmm .nsmm-mega .nsmm-mega-list { /*gap: 26px;*/ gap: 0; }

/* 通常サブメニューの見た目 */
.nsmm .nsmm-sub { background:#fff; border:1px solid #e5e7eb; box-shadow:0 10px 24px rgba(0,0,0,.08); }
.nsmm .nsmm-sub > li > .nsmm-link { padding:10px 14px; color:#111; }
.nsmm .nsmm-sub > li > .nsmm-link:hover { background:#f5f5f5; }

/* カード（見た目） */
.nsmm .nsmm-grid-item > .nsmm-link {
  background:#fff; border:1px solid #e6e8eb; /*border-radius:6px;*/ border-radius: 0; overflow:hidden;
  transition: box-shadow .18s ease, transform .18s ease;
}
/* 隣接カードの境界線を重ねる */
.nsmm .nsmm-grid-item:not(:first-child) > .nsmm-link {
  margin-left: -1px;
}
.nsmm .nsmm-thumbwrap { aspect-ratio: 16/9; background:#f6f7f8; }
.nsmm .nsmm-thumbwrap img { width:100%; height:100%; object-fit:cover; display:block; }
.nsmm li.nsmm-grid-item {margin-bottom: 0;}
.nsmm .nsmm-grid-item .nsmm-title { display:block; padding:12px 14px 2px; font-weight:700; color:#111; font-size:1.08rem; }
.nsmm .nsmm-grid-item .nsmm-subtitle { display:block; padding:0 14px 14px; font-size:.85rem; color:#666; }
.nsmm .nsmm-grid-item > .nsmm-link::after { content:""; display:block; height:4px; background:transparent; transition:background .18s ease; }
/* 旧ホバー効果（コメントアウト済み）
.nsmm .nsmm-grid-item > .nsmm-link:hover { box-shadow:0 10px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.nsmm .nsmm-grid-item > .nsmm-link:hover::after { background: var(--nsmm-accent); }
*/

/* 新ホバー効果（明度・彩度変更）*/
.nsmm .nsmm-grid-item > .nsmm-link:hover {
  background: #f8f9fa;
  border-color: #d1d5db;
}
.nsmm .nsmm-grid-item > .nsmm-link:hover .nsmm-title {
  color: var(--nsmm-hero);
}

/* ヒーローの見た目 */
.nsmm .nsmm-grid-item.nsmm-hero > .nsmm-link {
  background: var(--nsmm-hero); color:#fff; border:0; /*border-radius:6px;*/ border-radius: 0;
  padding: 24px;
  box-sizing: border-box;
}
.nsmm .nsmm-grid-item.nsmm-hero .nsmm-title    { color:#fff; font-size:2rem; letter-spacing:.06em; line-height:1.15; padding:0; }
.nsmm .nsmm-grid-item.nsmm-hero .nsmm-subtitle { color:#cfe9fb; font-size:1rem; padding:6px 0 0; }
.nsmm .nsmm-grid-item.nsmm-hero > .nsmm-link::after { content:""; height:3px; background:rgba(255,255,255,.9); }

/* ワイド型（テキストリスト）の見た目 */
.nsmm .nsmm-mega-wide .nsmm-mega-list { column-gap: 32px; }
.nsmm .nsmm-wide-item > .nsmm-link { padding:10px 0; border-bottom:1px solid #eee; color:#111; text-decoration:none; }
.nsmm .nsmm-wide-item .nsmm-title { font-weight:700; }
.nsmm .nsmm-wide-item .nsmm-desc  { display:block; font-size:.9rem; color:#555; }

/* レスポンシブ（見た目側の調整） */
@media (max-width: 980px){
  .nsmm .nsmm-top { border-top:1px solid #eee; }
  .nsmm .nsmm-top > .nsmm-link { padding:14px; }
  .nsmm .nsmm-mega .nsmm-mega-inner { padding: 16px; }
  .nsmm .nsmm-mega .nsmm-mega-list { gap: 16px; }
}
