/* メディアクエリでスマホサイズのみ適用 */
@media (max-width: 768px) {
  /* リセットスタイル */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  /* 全体レイアウト */
  .inner {
    width: 100%;
    padding: 0 15px;
    margin: 0 auto;
  }

  /* ヘッダーの調整 */
  .site-header {
    padding: 10px;
  }

  .site-header .logo img {
    max-width: 120px;
  }

  .main-navigation .nav-menu {
    display: none; /* モバイルではナビゲーションを非表示にしてハンバーガーメニューにする場合 */
  }

  .main-navigation.active .nav-menu {
    display: block;
  }

  /* Heroセクションの調整 */
  .hero {
    height: 60vh; /* 高さを少し縮める */
    padding: 0 15px;
  }

  .hero__text h1 {
    font-size: 2.5rem; /* フォントサイズを調整 */
  }

  .hero__text p {
    font-size: 1.5rem;
  }

  /* ABOUTセクションの調整 */
  .about__content {
    flex-direction: column;
    align-items: center;
  }

  .about__images {
    width: 100%; /* 画像が横並びから縦並びに */
    justify-content: center;
  }

  .about__image {
    width: 100%;
    margin-bottom: 20px;
  }

  .about__text {
    text-align: center;
    width: 100%;
    padding-left: 0;
  }

  .about__text h2 {
    font-size: 2.5rem;
  }

  .about__text .subheading,
  .about__text p {
    font-size: 1rem;
  }

  /* SERVICEセクションの調整 */
  .service__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .service__text {
    width: 100%;
  }

  .service__btn {
    margin: 20px auto; /* ボタンの上のスペースを調整 */
  }

  .service__text p {
    margin: 5px;
    font-size: 1rem;
  }

  .swiper-container {
    width: 100%; /* コンテナを100%の幅に設定 */
    overflow: hidden; /* はみ出しを防ぐ */
  }

  .swiper-wrapper {
    display: flex;
  }

  .swiper-slide {
    width: calc(100% / 3); /* スライドの幅を3分割 */
    padding: 0;
    box-sizing: border-box;
  }

  .swiper-slide img {
    width: 100%; /* 画像をスライド内で100%表示 */
    height: auto;
    object-fit: cover;
    display: block;
    margin: 0;
    padding: 0;
  }

  /* NEWSセクションの調整 */
  .news {
    padding: 40px 0;
  }

  .news-list {
    display: flex;
    flex-direction: column; /* 要素を上下に並べる */
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .news .inner {
    padding: 0 15px;
  }

  .news h2 {
    font-size: 2.5rem;
  }

  .news-item {
    display: flex;
    flex-direction: column; /* テキストやラベルを上下に並べる */
    padding: 20px 0;
    border-bottom: 1px solid #e6e6e6; /* アイテム間のボーダー */
  }

  /* 日付とラベル */
  .news-date,
  .news-label {
    margin-bottom: 10px; /* 日付やラベルの下に余白を追加 */
    font-size: 1rem;
  }

  /* ニュースタイトル */
  .news-title {
    font-size: 1.2rem;
    text-decoration: none;
    color: #333;
    margin-bottom: 10px; /* タイトルの下に余白 */
  }

  .news__btn {
    display: block;
    text-align: center;
    margin: 20px auto 0;
    width: fit-content;
  }

  /* CTAセクションの調整 */
  .cta {
    overflow: hidden; /* 浮動解除 */
  }

  .cta .inner {
    display: flex;
    flex-direction: column; /* 要素を上下に並べる */
    align-items: center; /* 要素を中央揃えにする */
    text-align: center; /* テキストも中央揃えに */
  }

  .cta__btn {
    margin-bottom: 20px; /* ボタンとテキストの間に余白を追加 */
  }

  .cta__text {
    max-width: 100%;
    text-align: center;
  }

  .cta__text p {
    font-size: 1rem;
  }

  /* COMPANYセクションの調整 */
  .company .inner {
    flex-direction: column;
    align-items: center;
  }

  .company__map {
    width: 100%; /* スマホでのマップ幅を100%に */
    margin-bottom: 20px; /* マップとテキストの間に余白を追加 */
  }

  .company__map iframe {
    width: 100%; /* 画面幅に合わせてマップを100%の幅に */
    height: auto; /* 高さを自動で調整 */
  }

  .company__details {
    width: 100%; /* テキスト部分の幅も100%に */
  }

  .company__info td,
  .company__info th {
    font-size: 1rem;
  }

  /* フッターの調整 */
  .footer__inner {
    flex-direction: column;
    text-align: center;
  }

  .footer__nav ul {
    flex-direction: column;
    gap: 10px;
  }

  .footer__info {
    flex-direction: column;
    align-items: center;
  }
}
