.icehead {
  padding: 12px 10px;
  margin-bottom: 10px;
  background-image: url(https://www.jamble.co.jp/user_data/packages/default/img/category/category_banner/id4306/ice_banner.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
}
.icehead h2{
    margin: 0;
    font-weight: bolder;
    font-size: clamp(16px, 4vw, 28px);
    color: #0071BC;
    line-height: 1.4;
}
.ttl03.kagu {
  font-size: 15px;
  border-top: 3px double #6d6d6d;
  border-bottom: 3px double #6d6d6d;
  font-weight:bolder;
}
h4 {
 font-weight:bold;
 font-size:110%;
 text-decoration:underline;
}
/* =========================
   グリッドレイアウト
========================= */
.nabi2grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 16px;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .nabi2grid {
    grid-template-columns: 1fr;
  }
}

/* =========================
   カードデザイン
========================= */
.nabi2grid ul {
  position: relative;
  list-style: none;
  padding: 16px;
  margin: 0;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e5e5e5;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  transition: all 0.25s ease;
  overflow: hidden;
}

/* ホバーで浮く */
.nabi2grid ul:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

/* =========================
   テキスト
========================= */
.nabi2grid ul li p {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 12px;
}

/* =========================
   画像
========================= */
.nabi2grid ul li img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* =========================
   UL全体クリック化
========================= */
.nabi2grid ul li a {
  position: static;
}

/* 擬似要素でカード全体をリンク化 */
.nabi2grid ul li a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* クリックできることを視覚化 */
.nabi2grid ul {
  cursor: pointer;
}

/* 横スクロール対応（スマホ最重要） */
.comparison-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.comparison-wrap::after {
  content: "→ 横にスクロールできます";
  display: block;
  color: #949495;
  font-size: 12px;
  margin-top: 5px;
}
/* テーブル基本 */
.comparison-table {
  border-collapse: collapse;
  min-width: 900px; /* スマホで崩れないよう固定 */
  width: 100%;
  background: #000;
  color: #fff;
  text-align: center;
}

/* セル */
.comparison-table th,
.comparison-table td {
  border: 1px solid #333;
  padding: 12px;
  white-space: nowrap;
}

/* 見出し */
.comparison-table thead th {
  background: #111;
  font-weight: bold;
}

/* 価格強調 */
.tableprice {
  color: #ff4d4d;
  font-weight: bold;
  text-shadow: 0 0 4px rgba(255, 77, 77, 0.5);
}

/* おすすめ列（CV最重要） */
.recommend {
  position: relative;
  background: #111;
}

/* 赤枠（全体囲み） */
.recommend::before {
  content: "";
  position: absolute;
  inset: -2px;
  border: 3px solid red;
  pointer-events: none;
}

/* スマホ調整 */
@media (max-width: 768px) {
  .comparison-table th,
  .comparison-table td {
    padding: 10px;
    font-size: 14px;
  }
}
.section-orange {
  background:#FFF3E0;
  padding:1em;
  border-radius: 12px;
}
.columnbox {
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 1.5em;
  background:#fff;
}
dt{
 font-size:105%;
 border-left:solid 5px #e83929;
 border-bottom:solid 1px #887f7a;
 font-weight:bolder;
 margin-top:10px;
 padding:5px 0px 5px 10px;
 background-color:#fff4ea;
}
dd{
 margin-top:5px;
}
.rogo-box {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.rogo-box img {
  width: 370px; /* 任意調整 */
  height: auto;
}

.rogo-box h2 {
  flex: 1;
  line-height: 1.7;
  font-weight:bold;
  font-size:16px;
}
@media (max-width: 768px) {
  .rogo-box {
    flex-direction: column; /* ←これがポイント */
  }

  .rogo-box img {
    width: 100%;
  }
}
.ttl01.safety {
 color:#fcc800;
 background-color:#16160e;
}