:root{
  --k2-rel2-bg:#1f2937;
  --k2-rel2-fg:#ffffff;
  --k2-rel2-accent:#334155;
  --k2-rel2-btn-bg:#ef3e7a;
}

/* ラッパー：まずは1列。幅に余裕が出たら自動で2列 */
.k2-rel2wrap{
  margin-top:2.5rem;
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  max-width:100%;
  box-sizing:border-box;
}
.k2-rel2wrap *{ box-sizing:border-box; }
.k2-rel2{ min-width:0; }

/* 960px以上で、コンテナ幅に応じて 1 or 2 カラムに自動切替 */
@media (min-width: 960px){
  .k2-rel2wrap{ grid-template-columns:repeat(auto-fit, minmax(420px, 1fr)); }
}

/* 見出し帯（虫眼鏡と一体化） */
.k2-rel2__head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:var(--k2-rel2-bg);
  border:1px solid var(--k2-rel2-accent);
  color:var(--k2-rel2-fg);
  border-radius:10px;
  padding:10px 10px;
}
.k2-rel2__heading{
  display:flex; align-items:center; gap:.6em; margin:0; color:var(--k2-rel2-fg);
  font-size:clamp(16px,2.1vw,20px);
  flex:1 1 auto; min-width:0;
}
.k2-rel2__icon{flex:0 0 auto; font-weight:700; opacity:.9;}
.k2-rel2__headingtext{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.k2-rel2__tag{font-weight:700; white-space:nowrap;}
.k2-rel2__headbtn{
  flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:36px; border-radius:8px;
  color:var(--k2-rel2-fg); text-decoration:none; line-height:1;
  background:transparent;
  border-left:1px solid var(--k2-rel2-accent);
}
.k2-rel2__headbtn:hover{ filter:brightness(1.05); }

/* 一覧（左サムネ／右タイトル） */
.k2-rel2__list{ list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
.k2-rel2__item{ margin:0; }
.k2-rel2__link{
  display:flex; gap:12px; align-items:center; text-decoration:none;
  padding:10px; border-radius:10px;
  background:var(--k2-rel2-bg);
  border:1px solid var(--k2-rel2-accent);
  color:var(--k2-rel2-fg);
}
.k2-rel2__link:hover{ filter:brightness(1.03); }

.k2-rel2__thumb{
  flex:0 0 120px; width:120px; aspect-ratio:16/9; overflow:hidden; border-radius:8px;
  background:#0b1220; margin:0;
}
.k2-rel2__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.k2-rel2__noimg{ display:block; width:100%; height:100%; }

.k2-rel2__title{
  flex:1 1 auto;
  font-size:clamp(14px, 3.2vw, 16px);
  line-height:1.45;
  color:var(--k2-rel2-fg);
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  overflow:hidden; text-overflow:ellipsis;
}
@media (min-width: 992px){
  .k2-rel2__thumb{ flex-basis:140px; width:140px; }
}

/* もっと見る */
.k2-rel2__morewrap{ margin-top:14px; }
.k2-rel2__more{
  display:block; text-align:center;
  padding:.75rem 1rem; border-radius:10px;
  background:var(--k2-rel2-btn-bg);
  color:var(--k2-rel2-fg);
  text-decoration:none; font-weight:700;
}
.k2-rel2__more:hover{ filter:brightness(0.98); }
@media (min-width: 992px){
  .k2-rel2__more{ max-width:420px; margin-left:auto; }
}

/* PCは2列固定＆はみ出し防止の上書き */
@media (min-width: 992px){
  .k2-rel2wrap{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    max-width: 100%;
  }
  .k2-rel2{ min-width: 0; }

  .k2-rel2__heading{ font-size: clamp(15px, 1.3vw, 18px) !important; }
  .k2-rel2__title{   font-size: clamp(13px, 1.0vw, 15px) !important; }

  .k2-rel2__thumb{ flex-basis: 132px !important; width: 132px !important; }

  .k2-rel2__more{ max-width: 420px; margin-left: auto; }
}