/* ---------------------------------------------------- */
/* LP事例グリッド表示用カスタムCSS (lp-custom-cases.css)  */
/* 既存のlp.cssと衝突しないようにカプセル化されています */
/* ---------------------------------------------------- */

.case-study-grid-list {
  display: flex; /* Flexboxで子要素を横並びに配置 */
  flex-wrap: wrap; /* 要素が収まらない場合に折り返しを許可 */
  list-style: none; /* リストのデフォルトの点を削除 */
  padding: 0;
  margin: 0 -15px; /* 負のマージンで、左右のli要素のスペースを外側にはみ出させて全体幅を確保 */
}

.case-study-grid-list li {
  /* PC表示: 3列均等幅を実現 */
  width: calc(33.333% - 30px); /* 100%を3分割し、左右のmargin 15px x 2 = 30px を差し引く */
  margin: 15px; /* 上下左右に要素間のスペースを確保 */
  box-sizing: border-box; /* paddingやborderをwidth/heightに含める */
  background-color: #fff;
  border: 1px solid #CCCCCC;
  border-radius: 4px; /* 角丸設定 */
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  transition: all 0.2s ease; /* ホバー時の変化を滑らかにする */
}

@media (pointer: fine) {
  .case-study-grid-list li a:hover {
    opacity: 0.9;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }
}

.case-study-grid-list li a {
  display: block; /* リンク全体をブロック要素にし、クリック領域を拡大 */
  text-decoration: none;
  color: inherit;
}

.case-study-grid-list li .img {
  margin: 0;
  width: 100%;
}

.case-study-grid-list li .img img {
  display: block;
  width: 100%;
  height: auto;
}

.case-study-grid-list li dl {
  padding: 15px;
  min-height: 100px; /* タイトルと説明文の量が異なっても、ボックスの高さをある程度揃えるための設定 */
}

.case-study-grid-list li dt {
  font-weight: bold;
  font-size: calc(16 / 16 * 1rem);
  margin-bottom: 5px;
  color: #222;
  line-height: 1.4;
}

.case-study-grid-list li dd {
  font-size: calc(14 / 16 * 1rem);
  color: #666;
  line-height: 1.4;
}

/* ---------------------------------------------------- */
/* スマートフォン表示（767px以下） */
/* ---------------------------------------------------- */
@media screen and (max-width: 767px) {
  .case-study-grid-list {
    margin: 0 -1%; /* 負のマージンを調整し、スマホでの左右の端に合わせる */
    justify-content: space-between; /* 要素間にスペースを均等に配置 */
  }
  
  .case-study-grid-list li {
    width: calc(50% - 10px); /* 50%幅にし、左右のmargin 5px x 2 = 10px を差し引く */
    margin: 5px;
    margin-bottom: 15px;
  }
  
  .case-study-grid-list li dl {
    padding: 10px;
    min-height: auto; /* スマホでは画面幅が狭いため、高さを揃える設定を解除 */
  }
  
  .case-study-grid-list li dt {
    font-size: calc(14 / 16 * 1rem);
  }
  
  .case-study-grid-list li dd {
    font-size: calc(12 / 16 * 1rem);
  }
}