/* サービス内容ページ専用スタイル */

.services-detail {
  display: flex;
  flex-direction: column;
  gap: 80px;
  padding: 100px 80px;
}

.service-detail-row .col-media {
  width: 540px;
  height: 380px;
}

.service-detail-row {
  scroll-margin-top: calc(var(--header-height) + 24px);
}

.service-detail-row .col-text h2 {
  font-size: 28px;
  font-weight: 800;
}

.service-detail-row .col-text .desc {
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.7;
}

.check-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.check-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 14px;
}

.check-list .check-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border-radius: 8px;
  background: var(--color-accent);
}

.check-list .check-icon img {
  width: 10px;
  height: 10px;
}

.link-more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  color: var(--color-accent);
  font-weight: 700;
  font-size: 14px;
}

.notice-link {
  margin-top: 12px;
  padding: 12px 18px;
  background: var(--color-accent-soft);
  border-radius: var(--radius);
  font-size: 15px;
}

.notice-link img {
  width: 16px;
  height: 16px;
}

.link-more img {
  width: 14px;
  height: 14px;
}

.flow-grid {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.flow-step {
  flex: 1 1 0;
  min-width: 150px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: 6px;
}

.flow-step .step-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 24px;
  color: var(--color-accent);
}

.flow-step h3 {
  font-size: 16px;
  font-weight: 800;
}

.flow-step p {
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.5;
}

.brand-grid {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
}

.brand-card {
  flex: 1 1 0;
  min-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: 6px;
}

.brand-card .brand-name {
  display: flex;
  align-items: center;
  gap: 8px;
}

.brand-card .brand-bar {
  width: 6px;
  height: 16px;
  background: var(--color-accent);
}

.brand-card h3 {
  font-size: 16px;
  font-weight: 800;
}

.brand-card p {
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .services-detail {
    padding: 60px 40px;
    gap: 60px;
  }

  .service-detail-row .col-media {
    width: 100%;
    height: 280px;
  }
}

@media (max-width: 720px) {
  .services-detail {
    padding: 48px 24px;
  }

  .flow-grid,
  .brand-grid {
    flex-direction: column;
  }
}
