/* dot OKINAWA — pc.css（768px以上） */
@media (min-width: 768px) {
  .gnav ul { display: flex; gap: 28px; }
  .gnav a { position: relative; padding: 6px 0; }
  .gnav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--c-coral); transform: scaleX(0); transition: transform .25s; }
  .gnav a:hover::after, .gnav a[aria-current="page"]::after { transform: scaleX(1); }
  .menu-btn { display: none; }
  .pc { display: inline; }

  .hero { min-height: min(86vh, 760px); display: flex; align-items: flex-end; }
  .hero-copy { width: 100%; max-width: var(--w-max); margin: 0 auto; padding: 0 20px 88px; }
  .hero-title { font-size: clamp(44px, 5.4vw, 68px); }
  .hero-lead { font-size: 17px; }

  .cards-md { grid-template-columns: repeat(3, 1fr); }
  .cards-sm { grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .theme-tiles { grid-template-columns: repeat(3, 1fr); }
  .theme-tile { min-height: 150px; }
  .regions { grid-template-columns: repeat(3, 1fr); }
  .about-grid { grid-template-columns: 1.3fr 1fr; gap: 56px; }
  .area-index { grid-template-columns: repeat(3, 1fr); }

  .layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; max-width: var(--w-max); margin: 0 auto; padding: 0 20px; }
  .article { max-width: 760px; }
  .article-title { font-size: 32px; }
  .sidebar { padding-top: 48px; }
  .sidebar .ad { position: sticky; top: calc(var(--header-h) + 20px); }

  .site-footer .inner { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .gnav ul { gap: 18px; }
  .layout { grid-template-columns: 1fr; }
  .sidebar { display: none; }
  .cards-sm { grid-template-columns: repeat(2, 1fr); }
  .site-footer .inner { grid-template-columns: 1fr 1fr; }
}
