/* page-partner.css */

/* リード文 */
.sec-lead {
  text-align: center;
}
@media (max-width: 767.89px) {
  .sec-lead .tp-container-s {
    padding-inline: 0;
  }
}

/* こんな方へ カード */
.partner-cards {
  display: flex;
  gap: 2rem;
}
@media (max-width: 767.89px) {
  .partner-cards {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.partner-card {
  flex: 1;
  background: var(--c-white);
  border-radius: 1.25rem;
  padding: 2.5rem 2rem;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.partner-card:hover {
  transform: translateY(-4px);
  box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.12);
}

.partner-card_num {
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 1rem;
}

.partner-card h4 {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 1rem;
  line-height: 1.6;
}
@media (max-width: 767.89px) {
  .partner-card h4 {
    font-size: 1rem;
  }
}

.partner-card p {
  font-size: 0.9rem;
  color: var(--color-sub);
  line-height: 1.8;
}

/* サービスセクション */
@media (min-width: 768px) {
  .sec-service .tp-sec_inn {
    padding-inline: 4rem;
  }
}
@media (max-width: 767.89px) {
  .sec-service .tp-sec_inn {
    padding-block: 1.5625rem;
    padding-inline: 1.5625rem;
  }
}
.sec-service .tp-container {
  max-width: none;
}
@media (min-width: 768px) {
  .sec-service .cp-sec_title {
    margin-bottom: 3rem;
  }
}
@media (min-width: 768px) {
  .sec-service .tp-block {
    column-gap: 2.5rem;
  }
}
.sec-service .tp-block .tp-block_img {
  height: fit-content;
}
@media (max-width: 767.89px) {
  .sec-service .tp-block .tp-block_img {
    border-radius: 0.625rem;
  }
}
@media (min-width: 768px) {
  .sec-service .tp-block .tp-block_content {
    flex-grow: 1;
  }
}

/* メリットセクション */
.sec-merit {
  text-align: center;
}

.merit-item {
  text-align: left;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.merit-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.merit-item strong {
  font-size: 1.125rem;
  color: var(--color-primary);
  display: inline-block;
  margin-bottom: 0.5rem;
}
@media (max-width: 767.89px) {
  .merit-item strong {
    font-size: 1rem;
  }
}

/* 加盟の流れ */
.flow-steps {
  display: flex;
  gap: 1rem;
  counter-reset: flow-counter;
}
@media (max-width: 767.89px) {
  .flow-steps {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.flow-step {
  flex: 1;
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  .flow-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 2rem;
    right: -0.75rem;
    width: 0.5rem;
    height: 0.5rem;
    border-top: 2px solid var(--color-primary);
    border-right: 2px solid var(--color-primary);
    transform: rotate(45deg);
  }
}

.flow-step_num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--c-white);
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.flow-step h4 {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
@media (max-width: 767.89px) {
  .flow-step h4 {
    font-size: 0.9375rem;
  }
}

.flow-step p {
  font-size: 0.8125rem;
  color: var(--color-sub);
  line-height: 1.7;
}

/* 募集要項テーブル */
.sec-requirements .tp-table {
  width: 100%;
}
.sec-requirements .tp-table th {
  white-space: nowrap;
}
@media (max-width: 767.89px) {
  .sec-requirements .tp-table th {
    width: 30%;
  }
}

/*# sourceMappingURL=page-partner.css.map */
