/* ===== RESPONSIVE（全レスポンシブルール集約） ===== */
/* 必ずlayout/component/utilityの後に読み込むこと */

/* from layout.css */
@media (max-width: 900px) {
  .header-nav { display: none; }
  .hamburger { display: flex; }
  .hero-inner { grid-template-columns: 1fr; gap: 48px; }
  .hero-logo { order: -1; }
  .hero-logo img { max-width: 280px; }
  .about-inner { grid-template-columns: 1fr; }
  .about-logo { display: none; }
  .strengths-grid { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: 1fr; }
  .works-grid { grid-template-columns: 1fr; }
  .works-grid .work-item:first-child { grid-column: span 1; }
  .blog-grid { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; gap: 40px; }
}

/* from layout.css */
@media (max-width: 900px) {
  .single-inner { grid-template-columns: 1fr; }
  .single-sidebar { position: static; }
  .single-content { padding: 32px 24px; }
  .single-nav { grid-template-columns: 1fr; }
  .blog-archive-grid { grid-template-columns: 1fr 1fr; }
  .privacy-inner { padding: 32px 24px; }
}

/* from layout.css */
@media (max-width: 600px) {
  .blog-archive-grid { grid-template-columns: 1fr; }
}

/* from component.css */
@media (max-width: 900px) {
  .works-grid { grid-template-columns: 1fr 1fr; }
  .work-card:first-child { grid-column: span 2; }
}

/* from component.css */
@media (max-width: 600px) {
  .works-grid { grid-template-columns: 1fr 1fr; }
  .work-card:first-child { grid-column: span 2; aspect-ratio: 4/3; }
  .work-card-cat { font-size: .6rem; }
  .work-card-title { font-size: .78rem; -webkit-line-clamp: 2; }
  .work-card-location { display: none; }
  .work-card-overlay { opacity: 1 !important; background: linear-gradient(to top, rgba(13,53,40,.85) 0%, transparent 50%); }
}

/* from component.css */
@media (max-width: 900px) { .numbers-inner { grid-template-columns: repeat(2, 1fr); } }

/* from component.css */
@media (max-width: 600px) {
  .works-archive .works-grid {
    grid-template-columns: 1fr 1fr;
  }
  .works-archive .works-grid .work-card:first-child {
    grid-column: span 1;
    aspect-ratio: 4/3;
  }
}

/* from component.css */
@media (max-width: 900px) {
  .works-archive-grid-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* from component.css */
@media (max-width: 600px) {
  .works-archive-grid-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .works-archive-grid-list .work-card-location {
    display: none;
  }
}

/* from component.css */
@media (max-width: 900px) {
  .works-top-grid { grid-template-columns: repeat(3, 1fr); }
}

/* from component.css */
@media (max-width: 600px) {
  .works-top-grid { grid-template-columns: repeat(3, 1fr); }
  .works-top-grid .work-card-location { display: none; }
  .works-top-grid .work-card-title { font-size: .7rem; }
  .works-top-grid .work-card-cat { font-size: .55rem; }
}

/* from component.css */
@media (max-width: 700px) {
  .blog-carousel-item {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .blog-carousel-btn.prev { left: 4px; }
  .blog-carousel-btn.next { right: 4px; }
}

/* from component.css */
@media (max-width: 700px) {
  .recommend-item { grid-template-columns: 1fr; gap: 16px; }
  .recommend-btn.prev { left: 4px; }
  .recommend-btn.next { right: 4px; }
}

/* from component.css */
@media (max-width: 600px) {
  .post-cta-inner { padding: 28px 20px; }
  .post-cta-btn { min-width: 100%; }
  .post-cta-btns { flex-direction: column; }
}

/* from utility.css */
@media(max-width:600px) {
  .blogcard { flex-direction: column; }
  .blogcard-thumb { width: 100%; height: 140px; }
}

/* from utility.css */
@media (max-width: 600px) {
  .entry-content table,
  .post-content table,
  .single-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ===== スマホ追加修正 ===== */
@media (max-width: 600px) {

  /* 事業内容：3カラム→1カラム */
  .services-grid {
    grid-template-columns: 1fr;
  }

  /* 強み：2カラム→1カラム */
  .strengths-grid {
    grid-template-columns: 1fr;
  }

  /* ブロググリッド：3カラム→1カラム */
  .blog-grid {
    grid-template-columns: 1fr;
  }

  /* アバウトセクション */
  .about-inner {
    grid-template-columns: 1fr;
  }

  /* 記事内コンテンツ */
  .single-inner {
    grid-template-columns: 1fr;
  }
  .single-content {
    padding: 24px 16px;
  }

  /* ヒーロー */
  .hero-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 100px 5% 48px;
  }
  .hero-title {
    font-size: clamp(2rem, 8vw, 2.8rem);
  }

  /* セクション共通 */
  .section-title {
    font-size: clamp(1.4rem, 6vw, 2rem);
  }

  /* フッター */
  .footer-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  /* ナンバーズ */
  .numbers-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
