/* =============================================
   responsive.css - 完全版
   ブレークポイント：768px
   ============================================= */

@media screen and (max-width: 768px) {

    /* --- ヘッダー --- */
    .header-inner { height: 60px; }
    .nav-toggle { display: flex; }
    .global-nav { position: fixed; top: 60px; left: 0; width: 100%; height: calc(100dvh - 60px); background-color: #fff; padding: 24px var(--container-pad); transform: translateX(100%); transition: transform 0.3s ease; overflow-y: auto; z-index: 99; }
    .global-nav.is-open { transform: translateX(0); }
    .nav-list { flex-direction: column; gap: 0; }
    .nav-list a { padding: 16px 8px; font-size: 1rem; border-bottom: 1px solid var(--color-border); }
    .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity: 0; }
    .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* --- ヒーロースライダー --- */
    .hero-slider--pc { display: none; }
    .hero-slider--sp { display: block; }
    .hero-slide__img { height: 60vw; min-height: 240px; }
    .hero-slide__caption { font-size: 0.875rem; bottom: 20px; }

    /* --- 多久市紹介 --- */
    .about-section { padding-block: 48px; }
    .about-inner--pc { display: none; }
    .about-inner--sp { display: flex; flex-direction: column; gap: 24px; }
    .about-map { flex: unset; width: 80%; margin-inline: auto; }
    .about-text__body { font-size: 0.9rem; }

    /* --- 特産品 --- */
    .tokusan-section { padding-block: 48px; }
    .tokusan-section__title { margin-bottom: 36px; }
    .tokusan-list { grid-template-columns: 1fr; gap: 40px; }
    .tokusan-item { flex-direction: row; gap: 20px; align-items: flex-start; }
    .tokusan-item__img-wrap { flex: 0 0 120px; aspect-ratio: 1 / 1; }
    .tokusan-item__body { padding-top: 0; }

    /* --- おすすめ返礼品 --- */
    .gifts-section { padding-block: 48px; }
    .gifts-section__title { margin-bottom: 36px; }
    .gifts-list { grid-template-columns: 1fr; gap: 24px; }
    .gifts-item { flex-direction: row; align-items: stretch; }
    .gifts-item__img-wrap { flex: 0 0 120px; aspect-ratio: unset; }
    .gifts-item__img { height: 100%; }
    .gifts-item__name { font-size: 0.85rem; padding: 12px 12px 4px; }
    .gifts-item__links { flex-direction: row; flex-wrap: wrap; padding: 8px 12px 14px; gap: 6px; }
    .gifts-item__btn { flex: 1; font-size: 0.75rem; padding: 8px 6px; }

    /* --- Instagram --- */
    .instagram-section { padding-block: 48px; }
    .instagram-section__header { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 28px; }

    /* --- 寄附の使い道 --- */
    .usage-section { padding-block: 48px; }
    .usage-section__header { margin-bottom: 40px; text-align: left; }
    .usage-section__title::after { margin-inline: unset; }
    .usage-list { gap: 48px; }
    .usage-item { grid-template-columns: 1fr; gap: 24px; }
    .usage-item--reverse { direction: ltr; }
    .usage-section__more { margin-top: 40px; }

    /* --- SNS --- */
    .sns-section { padding-block: 48px; }
    .sns-grid { grid-template-columns: 1fr; gap: 48px; }

    /* --- 固定ページ共通 --- */
    .page-header { padding-block: 36px; }
    .page-content { padding-block: 48px; }
    .entry-content h2 { font-size: 1.2rem; margin-block: 36px 16px; }
    .gifts-page-section { margin-bottom: 48px; }
    .contact-wrap__lead { text-align: left; }

}