/* ───────── リセット ───────── */
body, h1, h2, p, ul, li, table { margin: 0; padding: 0; }
ul { list-style: none; }
img { max-width: 100%; height: auto; }

body{
  font-family: 'Helvetica Neue', 'Arial', sans-serif;
  line-height: 1.6;
  color:#333;
  background:#fff;
}

/* ───────── ヘッダー ───────── */
.products-header { background:#1a1a1a; color:#fff; padding:1rem; }
.products-container{ max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; }
.products-logo{ font-size:1.8rem; font-weight:bold; }
.products-logo-img { height: 1.8rem;}


/* ───────── バナー ───────── */
.products-banner {
  background: #000;
  color: #fff;
  padding: 0;
  margin: 0;
  text-align: center;
}

.products-banner-inner {
  padding: 0;
  margin: 0;
  width: 100%;
}

.products-banner-image {
  display: block;
  width: 100vw;
  height: auto;
  margin: 0;
}

.products-banner-title{ font-size:3rem;}
.products-banner-subtitle{ font-size:1.5rem; margin:0.5rem 0 1.5rem; }
.products-banner-nav { display: none;}
.products-banner-nav { display:flex; justify-content:center; gap:2rem; flex-wrap:wrap; font-size:0.95rem; }
.products-banner-nav li{ padding:0 1rem; border-left:1px solid rgba(255,255,255,.4); }
.products-banner-nav li:first-child{ border-left:none; }
.products-banner-nav a{ color:#fff; text-decoration:none; }
.products-banner-nav a:hover{ text-decoration:underline; }

/* ───────── 共通セクション ───────── */
.products-section{ max-width:800px; margin:0 auto; padding:3rem 1rem; }
.products-section h2{ text-align:center; margin-bottom:1rem; }
.products-section h2 span{ font-size: 120%; }
.products-description{ font-size:1rem; line-height:1.8rem; }
.products-section p {line-height:1.6rem;}
.products-section p span{ font-size: 80%;}
.products-bg-white{ background:#fff; width:100%; }
.products-bg-gray { background:#cccccc; color:#000; width:100%; }
.products-bg-black{ background:#000000; color:#fff; width:100%; }

/* ─────────  ボタン　───────── */
.products-btn {
  display: inline-block;
  background-color: #8e1f9b;
  color: #fff;
  padding: 0.2rem 1rem;
  font-size: 0.9rem;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  margin-top: 0.5rem;
  transition: background-color 0.3s ease;
  line-height: 1.5;
}

/* ───────── 本文画像＆段落 ───────── */
.products-section img{ display:block; margin:1rem auto; }
.products-section p{ text-align:left; max-width:800px; margin:1rem auto; }

.products-btn:hover {
  background-color: #e67e00;
}


/* ───────── HOW-TO 画像レイアウト ───────── */
.products-howto{ display:flex; flex-direction:column; gap:1rem; }
.products-howto img{ border:1px solid #ddd; border-radius:4px; }


/* ───────── レスポンシブ動画 ───────── */
.responsive-video {
  display: block;      /* ブラウザデフォルトの余白を消す */
  width: 100%;         /* コンテナ幅いっぱいに */
  max-width: 800px;    /* 任意：横幅の上限 */
  height: auto;        /* アスペクト比を保持 */
  margin: 0 auto;      /* 中央寄せ */
}

/* ───────── SPEC テーブル ───────── */
.products-table{ width:100%; border-collapse:collapse; }
.products-table th,
.products-table td{ border:1px solid #ccc; padding:0.75rem; text-align:left; }
.products-table th{ background:#f0f0f0; width:25%; }

/* ───────── フッター ───────── */
.products-footer {
  background: #000;
  text-align: center;
  padding: 2rem 1rem;
}

.footer-image {
  width: 500px;
  height: auto;
  display: block;
  margin: 0 auto;
}


/* ───────── スライダー ───────── */
.slider-main-image{ position:relative; text-align:center; margin-bottom:1rem; }
.slider-main-image img{ width:100%; max-width:800px; height:auto; }

.slider-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  background:#ccc; border:none; font-size:2rem; color:#002f5f;
  cursor:pointer; padding:0.2rem 0.6rem; border-radius:50%;
  box-shadow:0 0 5px rgba(0,0,0,0.2);
}
.slider-prev{ left:0; } .slider-next{ right:0; }

/* サムネイル */
.slider-thumbnails{
  display:flex; justify-content:flex-start; gap:10px; flex-wrap:nowrap;
  max-width:800px; width:100%; margin:0.5rem auto;
}
.slider-thumbnails img{
  flex:0 0 calc((100% - 50px)/6);
  max-width:calc((100% - 50px)/6);
  height:auto;
}
.slider-thumbnails img:hover,
.slider-thumbnails img.active{ border-color:#000; }

/* ───────── リンクカラー ───────── */
a{ color:inherit; }
a:hover,
.products-banner-nav a:hover{ color:#f7931e; }

/* ───────── スマホ調整 ───────── */
@media (max-width:480px){
  .slider-main-image img{ max-width:100%; }
  .slider-arrow{ font-size:1.5rem; }
  .slider-thumbnails img{ width:60px; }
}

/* ───────── Link-banners だけに効くレイアウト ───────── */
.link-banners {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; /* スマホ用にwrap維持 */
}

/* PC（769px～）：2枚横並び＋横余白 */
@media (min-width: 769px) {
  .link-banners {
    display: flex;
    flex-direction: row;  /* ← これが重要！ */
    justify-content: center;
    align-items: center;
    gap: 20px;  /* 横の余白 */
    flex-wrap: nowrap;
  }

  .link-banner-img {
    width: calc((100% - 20px) / 2);  /* gapと連動 */
    height: auto;
    flex: 0 0 calc((100% - 20px) / 2);
  }
}


/* モバイル（～768px）：縦並びで全幅表示、gap不要 */
@media (max-width: 768px) {
  .link-banners {
    flex-direction: column;
  }
  .link-banner-img {
    width: 100%;
    height: auto;
  }
}
/* ───────── feature-1レイアウト ───────── */


/* feature-1 説明部分を2列化 */
#feature-1 .products-descriptions {
  display: grid;
  grid-template-columns: 1fr;  /* スマホ：1列 */
  gap: 1.5rem;
}

@media (min-width: 769px) {
  #feature-1 .products-descriptions {
    grid-template-columns: 1fr 1fr; /* PC：2列 */
  }
}

/* 左揃え補正 */
#feature-1 .products-description {
  max-width: none;   /* 幅制限解除 */
  margin: 0;         /* 中央寄せ解除 */
  text-align: left;  /* 左揃え固定 */
}


/* PC時のみ2列を横中央に寄せて、テキストは左揃え */
@media (min-width: 769px) {
  #feature-1 .products-descriptions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    justify-content: center; /* ← グリッド全体を中央寄せ */
  }

  #feature-1 .products-description {
    max-width: 320px;   /* 各列の横幅を制限（必要に応じて調整） */
    margin: 0 auto;     /* 列の中央に配置 */
    text-align: left;   /* テキストは左揃え */
  }
}

