/* article_links.css */
/* =========================
   関連コラム
========================= */
.related-articles{
  margin:2.4rem 0 1.8rem;
  padding:1.1rem 1.1rem 1rem;
  border:1px solid #e4e9f1;
  border-radius:1rem;
  background:#f7f9fc;
}

.related-articles__head{
  margin-bottom:.8rem;
}

.related-articles__heading{
  display:inline-flex;
  align-items:center;
  margin-bottom:.50rem;
  font-size:.95rem;
  font-weight:700;
  color:#fff;
  padding:.32rem .8rem;
  border-radius:.8rem;
  background:linear-gradient(135deg, #0f5cc0, #4f8fe8);

  letter-spacing:.04em;
  line-height:1.4;

  box-shadow:0 .15rem .4rem rgba(15,92,192,.12);
}

.related-articles__head p{
  margin:0;
  color:#5f6b7a;
  font-size:.9rem;
  line-height:1.6;
}

.related-articles__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.8rem;
}

.related-article-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:112px;
  padding:.8rem .95rem;
  border:1px solid #dfe6ef;
  border-radius:.8rem;
  background:#fff;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.related-article-card:hover{
  transform:translateY(-2px);
  border-color:#bdd3f2;
  box-shadow:0 .4rem 1rem rgba(15,92,192,.08);
}

.related-article-card__tag{
  display:inline-block;
  align-self:flex-start;
  margin-bottom:.50rem;
  padding:.16rem .48rem;
  border-radius:0.6rem;
  background:#eaf2ff;
  color:#0f5cc091;
  font-size:.72rem;
  font-weight:700;
  line-height:1.3;
}

.related-article-card__title{
  display:block;
  overflow:hidden;
  margin-bottom:.4rem;
  color:#1f2a37;
  font-size:.95rem;
  font-weight:700;
  line-height:1.5;
  max-height:3em;
}

.related-article-card__more{
  display:inline-block;
  margin-top:auto;
  color:#0f5cc0;
  font-size:.84rem;
  font-weight:700;
  line-height:1.4;
}

@media (max-width:600px){
  .related-articles{
    margin:2rem 0;
    padding:.95rem;
    border-radius:.8rem;
  }

  .related-articles__grid{
    grid-template-columns:1fr;
    gap:.7rem;
  }

  .related-article-card{
    min-height:98px;
    padding:.72rem .82rem;
  }

  .related-articles__head p{
    font-size:.86rem;
  }

  .related-articles__heading{
    font-size:.92rem;
    padding:.24rem .68rem;
  }
}