/* クラブ一覧：大会TOPの共通デザインを継承。差分のみ追加 */
.ppm-club-archive .ppm-club-archive-lead {margin:0 0 22px;}

.ppm-club-archive .ppm-club-hero .match-search-box:last-child {margin-bottom:0;}
.ppm-club-archive .ppm-club-home-search .ppm-club-only-filter {
  box-sizing:border-box; display:flex; align-items:center; justify-content:center;
  gap:9px; min-width:0; width:100%; height:52px; margin:0; padding:0 12px;
  border:1px solid #ddd; border-radius:8px; background:#fff;
  font-size:14px; font-weight:500; white-space:nowrap; cursor:pointer;
}
.ppm-club-archive .ppm-club-home-search .ppm-club-only-filter input {
  width:18px; height:18px; margin:0; flex:none; accent-color:#ED4C4C;
}
.ppm-club-archive .ppm-club-home-search button {font-size:16px;}
.ppm-club-archive .ppm-front-section-heading {margin-bottom:28px;}
@media(max-width:834px){
  .ppm-club-archive .ppm-club-home-search .ppm-club-only-filter {height:40px;grid-column:1/-1;font-size:13px;}
  .ppm-club-archive .ppm-club-home-search button {grid-column:1/-1;font-size:14px;}

}

/* トップと検索一覧の表示分離 */
.ppm-club-archive .ppm-club-results-header {margin: 0 0 20px;}
.ppm-club-archive .ppm-club-results-header .match-search-box {margin-bottom: 0;}
.ppm-club-archive .ppm-club-results-header .ppm-club-home-search {margin-top: 0;}
.ppm-club-archive .ppm-club-results-header .ppm-club-only-filter {min-width:0;}
.ppm-club-archive .ppm-club-result-title {margin: 16px 0 18px;font-size:20px;}

/* 大会トップにある検索・登録ボックス間の間隔と同一にする。
   .match-archive の margin:0 0 12px を上書きする必要がある。 */
.ppm-club-archive .ppm-front-hero .match-search-box.ppm-submit-box {
  margin: 0 0 20px;
}
.ppm-club-archive .ppm-front-hero .match-search-box:last-child {
  margin-bottom: 0;
}

/* 新着クラブ：KV16:9 + ラベル + タイトル + 説明2行 + 地域/活動日各1行 */
.ppm-club-archive .ppm-club-latest-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.ppm-club-archive .ppm-club-latest-list .ppm-club-latest-card.match-card {
  display: block;
  position: relative;
  min-width: 0;
  padding: 0 !important;
  margin: 0;
  overflow: hidden;
  color: #333;
  text-decoration: none;
}
/* 共通の大会カードの右側矢印は、画像カードには重ならないよう非表示 */
.ppm-club-archive .ppm-club-latest-card.match-card::after {
  content: none !important;
  display: none !important;
}
.ppm-club-archive .ppm-club-latest-kv {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #f3f3f3;
}
.ppm-club-archive .ppm-club-latest-kv img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像を16:9に中央トリミング */
  object-position: center center;
  margin: 0;
  border-radius: 0;
}
.ppm-club-archive .ppm-club-latest-kv-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 15px;
  font-weight: 700;
}
.ppm-club-archive .ppm-club-latest-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  padding: 16px 18px 20px;
  min-width: 0;
}
.ppm-club-archive .ppm-club-latest-content .ppm-club-recruit.is-open {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid #9bcf7b;
  border-radius: 20px;
  background: #e9f7df;
  color: #38821d;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.ppm-club-archive .ppm-club-latest-title {
  display: block;
  max-width: 100%;
  margin: 0;
  color: #005ecb;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
.ppm-club-archive .ppm-club-latest-intro {
  display: -webkit-box;
  width: 100%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  color: #444;
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  min-height: calc(1.6em * 2);
}
.ppm-club-archive .ppm-club-latest-area,
.ppm-club-archive .ppm-club-latest-schedule {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #777;
  font-size: 12px;
  line-height: 1.5;
}
@media (max-width: 834px) {
  .ppm-club-archive .ppm-club-latest-list { grid-template-columns: 1fr; }
}

/* サイト全体の画像スタイルに左右されず、カードKVを16:9で全面表示 */
.ppm-club-archive .ppm-club-latest-kv {
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
}
.ppm-club-archive .ppm-club-latest-kv > img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

/* 2026-10-29: クラブトップのリード文と新着一覧の余白のみ調整 */
.ppm-club-archive .ppm-club-archive-lead {
  font-size: 14px;
  line-height: 1.7;
}
/* 検索フォームと「新着クラブ・チーム」の間を少し広げる */
.ppm-club-archive .ppm-club-latest-section {
  margin-top: 24px;
}
/* 見出し・説明とカードの間は少し詰める */
.ppm-club-archive .ppm-club-latest-section > .ppm-front-section-heading {
  margin-bottom: 12px;
}
@media (max-width: 834px) {
  .ppm-club-archive .ppm-club-archive-lead { font-size: 12px; }
  .ppm-club-archive .ppm-club-latest-section { margin-top: 16px; }
  .ppm-club-archive .ppm-club-latest-section > .ppm-front-section-heading { margin-bottom: 10px; }
}

/* クラブ共通：画像未登録時のみシンプルな画像アイコンとNO IMAGEを表示 */
.ppm-club-detail .match-kv.ppm-club-noimage,
.ppm-club-archive .ppm-club-latest-kv-placeholder,
.ppm-club-detail .ppm-club-latest-kv-placeholder {
  background: #f3f4f6;
  color: #9ca3af;
}
.ppm-club-detail .match-kv.ppm-club-noimage {
  display: flex;
  align-items: center;
  justify-content: center;
}
.ppm-club-archive .ppm-club-latest-kv-placeholder,
.ppm-club-detail .ppm-club-latest-kv-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.ppm-club-noimage-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #9ca3af;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: .06em;
}
.ppm-club-detail .match-kv.ppm-club-noimage .ppm-club-noimage-inner {font-size: 15px; gap: 12px;}
.ppm-club-noimage-icon {width: 38px; height: 38px; display: block; flex-shrink: 0;}
.ppm-club-detail .match-kv.ppm-club-noimage .ppm-club-noimage-icon {width: 54px; height: 54px;}

/* クラブトップ：都道府県リンク下のSEO案内文（控えめな文字サイズ） */
.ppm-club-archive .ppm-club-seo-guide {
  margin: 24px 0 30px;
  font-size: 13px;
  line-height: 1.8;
}
.ppm-club-archive .ppm-club-seo-guide h2 {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 10px;
}
.ppm-club-archive .ppm-club-seo-guide h3 {
  font-size: 14px;
  line-height: 1.5;
  margin: 16px 0 5px;
}
.ppm-club-archive .ppm-club-seo-guide p { margin: 0 0 9px; }
.ppm-club-archive .ppm-club-seo-guide a { color: #1766bf; text-decoration: underline; }
.ppm-club-archive .ppm-club-seo-guide .ppm-club-seo-guide-note { color: #777; font-size: 12px; }
@media (max-width: 834px) {
  .ppm-club-archive .ppm-club-seo-guide { font-size: 12px; }
}

/* SEO説明エリア：既存の文字サイズ・余白指定を維持したまま背景だけ追加 */
.ppm-club-archive .ppm-club-seo-guide {
  background: #f4f5f7;
  border-radius: 10px;
  padding: 24px;
}

/* クラブトップ：スマホ限定の登録キャンペーンバナー */
.ppm-club-archive .ppm-club-campaign-sp { display: none; }
@media (max-width: 834px) {
  .ppm-club-archive .ppm-club-campaign-sp {
    display: block;
    margin: 0 0 16px;
  }
  .ppm-club-archive .ppm-club-campaign-sp img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
  }
}
