@charset "UTF-8";
/* 対話の3ステップ：テキストを上揃えにして、見出し・本文の位置をカード間で統一 */
@media (min-width: 901px) {
  .community .step-card__body {
    align-self: flex-start;
  }
}

/* 包括連携協定の3つの柱：見出しを2行分の高さに揃え、1行の場合は上下中央 */
@media (min-width: 641px) {
  .pillars__title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: calc(1.5em * 2);
  }
}

@media (max-width: 900px) {
  .community .step-cards {
    --cols: 1;
  }

  /* 矢印を縦向きに */
  .step-card:not(:first-child)::before {
    top: -20px;
    left: 50%;
    width: 1.5px;
    height: 12px;
    transform: translateX(-50%);
  }
  .step-card:not(:first-child)::after {
    top: -13px;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
  }
  .community .sec-title {
    margin-bottom: 20px;
  }
  .community .box {
    padding: 30px 18px;
  }
  /* 縦並び時はカード幅を揃えて広げる */
  .community .step-card {
    width: 100%;
    max-width: 530px;
    margin: 0 auto;
  }
  .community .step-card .step-card__text br {
    display: none;
  }

  .community .feature-cards {
    max-width: 290px;
    margin: 0 auto 30px;
  }
  .community .feature-cards .feature-card {
    padding: 10px 15px 9px;
  }
}

@media (max-width: 640px) {
  .community .step-cards {
    max-width: 400px;
    margin: 0 auto 30px;
  }
  .community .pillars {
    max-width: 290px;
    margin: 20px auto 0;
  }
  .community .pillars li {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
  }
  .pillars__line {
    width: calc(100% - 67px);
    max-width: 100%;
  }
  .pillars__title {
    margin-bottom: 0;
  }
  .pillars__title,
  .pillars__text {
    text-align: left;
  }
}

@media (max-width: 450px) {
  .pact__logos {
    margin-bottom: 20px;
    flex-direction: column;
    gap: 0;
  }
}

/* 地域とこの事業との関わり：スキーム図を全幅で表示 */
.community .relation__figure {
  width: 100%;
}
