/* ================================
   1. セクション横並び（カード1枚専用）
   ================================ */
.coop-contents__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  padding-bottom: 50;
}
.bunka-section--single {
  flex: 1 1 calc(50% - 15px); /* PCでは2カラム */
}
@media (max-width: 768px) {
  .bunka-section--single {
    flex: 1 1 100%; /* SPでは縦積み */
  }
}

/* ================================
   2. カードレイアウト
   ================================ */
.bunka-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.bunka-card {
  border: 1px solid var(--border-base-color);
  border-radius: 10px;
  padding: 15px;
  background: #fff;
  transition: box-shadow .2s ease, transform .2s ease;
  cursor: pointer;
  position: relative;
}
.bunka-card:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  transform: translateY(-1px);
}

/* カード幅バリエーション */
.bunka-card--harf {
  width: calc(100% - 10px);
}
.bunka-card--quarter {
  width: calc(25% - 15px);
}
/* タブレット以下: 2列 */
@media (max-width: 960px) {
    .bunka-card--quarter {
      width: calc(50% - 10px);
    }
  }
  
  /* スマホ狭小: 縦積み */
  @media (max-width: 480px) {
    .bunka-card--quarter {
      width: 100%;
    }
  }
/* ================================
   3. レスポンシブ
   ================================ */
@media (max-width: 960px) {
  .bunka-card--harf {
    width: 100%; /* 半幅カードはSPでは1列 */
  }
  .bunka-card--quarter {
    width: calc(50% - 10px); /* 四半カードはSPでは2列 */
  }
}
@media (max-width: 480px) {
  .bunka-card--quarter {
    width: 100%; /* 狭い画面では縦積み */
  }
}

/* === 5. タイポグラフィ === */
.bunka-card__title {
  font-size: 18px;
  font-weight: 700;
  margin: 10 0 10px;
  color: var(--main-font-color);
  line-height: 1.4;
}
.bunka-card__desc {
  margin: 0;
  color: var(--sub-font-color);
  line-height: 1.4;
  font-size: 16px;
}

/* ================================
   6. バッジ（WEB申込可）
   ================================ */
.bunka-card.web-application__icon::after {
  content: "WEB申込可";
  border-radius: 10px 0 10px 0;
  position: absolute;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  background: #f17c24;
  display: inline-block;
  padding: 5px 0;
  top: 0;
  left: 0;
  text-align: center;
  width: 108px;
}

/* ================================
   7. セクションタイトル
   ================================ */
.bunka-section__title {
  background: var(--title-bg-color);
  color: var(--main-font-color);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  margin: 2em 0 1em;
  padding: 12px 15px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: .4em;
}
@media (max-width:768px){
  .bunka-section__title { font-size: 20px; }
}
