<!-- 関連特集リンク -->
<style>
/* ===== セクション全体（背景・内側余白） ===== */
.jp-cmp-box-001{
  background:#f5f5f5;
  padding:14px 16px 16px;
  border-radius:4px;
}

/* ===== カード（枠・サイズ・余白） ===== */
ul.rec_feature{
  display: grid;
  overflow:hidden;
  /* ↓ 単語途中の強制改行をやめて自然な折返しへ */
  word-break:normal;
  overflow-wrap:anywhere; /* 長い語を必要時のみ折返し */
  background:#fff;
}
ul.rec_feature li{
  list-style:none;
  border: 1px solid #dadada;
  margin: 10px 0;
}
ul.rec_feature a{
  display:block;
  width:100%;
  height:100%;
  text-decoration:none;
  color:inherit;
}
ul.rec_feature_r{
  margin-right:0;
}
ul.rec_feature img{
  float:left;
  max-width: 100%;
  height:155px;
  object-fit:cover;
}

      /* ============================================
     Heading Utilities (u-btn-*)
     ============================================ */

      /* 赤丸の見出し */
      .u-head-h2-circle-red {
         display: flex;
         width: 100%;
         gap: var(--u-spacing-2);
         align-items: center;
         overflow-wrap: break-word;
         word-break: break-all;
         font-size: var(--u-text-xl);
         font-weight: bold;
         line-height: calc(2/1.5);
         letter-spacing: .1em;
         color: var(--u-color-black);
      }
      .u-head-h2-circle-red::before {
         content: "";
         display: block;
         width: 20px;
         height: 20px;
         background: url("/files/a/private/s/common/img/ico/ico-circle-red.svg") no-repeat center / contain;
         flex-shrink: 0;
      }
/* ===== タイトル＆リード（行間・余白） ===== */
span.f_title{
  height:72px;
  margin:0 15px 15px 0;
  font-size:15px;
  font-weight:bold;
  color:#3B3B3B;
  padding:10px 10px 4px 10px; /* 上下の密度を微調整 */
  display:block;
  overflow:hidden;
  line-height:1.4;
}
span.f_lead{
  padding:0 10px 10px 10px;
  margin:10px 30px 30px 10px;
  color:#666666;
  display:block;
  max-height:24px;
  overflow:hidden;
  line-height:1.4;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ===== レスポンシブ ===== */
@media screen and (max-width: 767px) {
  ul.rec_feature{
    width:100%;
    margin:0 0 10px 0;
  }
  ul.rec_feature img{
    max-width: 100%;
    height:155px;
  }
  span.f_title{
    padding:6px 8px 2px 10px;
    /* 2行までで省略（モダンブラウザ） */
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  span.f_lead{
    padding:0 8px 6px 10px;
    line-height:1.4;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  [class^="jp-page-sl-songlist-"] > tbody > tr > th.jp-page-sl-cell-tv::before, [class*=" jp-page-sl-songlist-"] > tbody > tr > th.jp-page-sl-cell-tv::before, [class^="jp-page-sl-songlist-"] > tbody > tr > td.jp-page-sl-cell-tv::before, [class*=" jp-page-sl-songlist-"] > tbody > tr > td.jp-page-sl-cell-tv::before{
            content: '出演者：';
        display: inline-block;
        width: 57px;
        text-indent: 0px;
  }
}



@media screen and (max-width: 370px) {
  span.f_title{
    font-size:4.1vw;
  }
  span.f_lead{
    font-size:3.2vw;
  }
}

/* clearfix（float解除） */
.jp-cmp-box-001::after{
  content:"";
  display:block;
  clear:both;
}
</style>