@media (max-width: 480px){
  .ram-hidden{ display:none !important; } /* 元のULを隠す */
  .gnav .ram-grid{ display:grid; gap:.5rem; }

  .gnav .ram-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:.75rem; row-gap:.5rem;
  }

  /* トリガーの見た目（既存の .trigger と揃える） */
  .gnav .ram-row .trigger{
    appearance:none; -webkit-appearance:none;
    display:flex; align-items:center; justify-content:space-between;
    height:48px; padding:0 .75rem; line-height:1;
    background:#fff; border:1px solid #ddd; border-radius:8px;
    text-decoration:none; color:#222; font-weight:700;
  }

  .gnav .ram-row-panel{
    grid-column:1 / -1;
    background:#fff; border:1px solid #e5e5e5;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
    overflow:hidden; max-height:0; opacity:0; transform:translateY(-2px);
    transition:max-height .25s ease, opacity .2s ease, transform .2s ease;
  }
  .gnav .ram-row-panel.open{
    max-height:60vh; opacity:1; transform:translateY(0);
  }
  .gnav .ram-row-panel .inner{
    display:grid; grid-template-columns:repeat(2,minmax(140px,1fr));
    column-gap:.75rem; row-gap:.25rem; padding:.5rem;
    max-height:60vh; overflow:auto; -webkit-overflow-scrolling:touch;
  }
  .gnav .ram-row-panel .panel a.more{
    display:flex; justify-content:space-between; align-items:center;
    gap:8px; padding:12px 14px; border-radius:8px; text-decoration:none;
  }
}
