/* service-page.css - サービスページ共通スタイル */
/* Note: padding handled by .section utility classes in page.css */

/* ================================
   コンポーネント共通スタイル
================================ */

/* Problem heading */
.problem+.heading,
[class*="-problem"] .heading {
  margin-bottom: var(--space-lg);
}

/* Solution heading */
.solution__image+.heading,
[class*="-solution"] .heading {
  margin-bottom: var(--space-lg);
}

/* Feature レイアウト */
.feature__item {
  padding: 0;
  gap: 0;
}

.feature__text {
  flex: 1 1 60%;
  padding: var(--space-lg);
}

.feature__image {
  flex: 1 1 40%;
}

.feature__image img {
  height: auto;
}

/* Product レイアウト */
.product.is-alt,
[class*="-product"].is-alt {
  background-color: var(--color-bg-alt);
}

.section-product__inner {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  margin-top: 2rem;
  background: var(--color-bg);
  padding: var(--space-lg) var(--space-xl);
  border-radius: var(--radius-lg);
}

.section-product__image {
  flex: 0 0 calc((100% - var(--space-lg)) * 0.55);
}

.section-product__text {
  flex: 0 0 calc((100% - var(--space-lg)) * 0.45);
}

.section-product__text h3 {
  font-size: var(--fz-xl);
  margin: 0 0 1rem;
  color: var(--color-primary);
}

.section-product__text p {
  font-size: var(--fz-sm);
}

.section-product__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: 0;
  margin: 2rem 0 0;
}

.section-product__list li {
  flex: 0 0 calc((100% - var(--space-sm) * 2) / 3);
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-radius: var(--radius-sm);
  flex-wrap: wrap;
  gap: var(--space-xs);
  padding: var(--space-sm);
  font-weight: 500;
  background: var(--color-bg-yellow);
}

.section-product__list li img {
  max-width: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-product__list li span {
  flex: 0 0 auto;
  font-size: var(--fz-xs);
  font-weight: 600;
  color: var(--color-text);
}

/* Tablet Portrait（768px ~ 1200px、縦向きのみ） */
@media (max-width: 1200px) and (min-width: 768px) and (orientation: portrait) {
  .section-product__text {
    flex: 0 0 calc((100% - var(--space-lg)) * 0.55);
  }

  .section-product__image {
    flex: 0 0 calc((100% - var(--space-lg)) * 0.45);
  }
}

/* ================================
   Smartphone（~767px）
================================ */
@media (max-width: 767px) {
  .service-page .hero__title span {
    font-size: var(--fz-md);
  }

  .section-product__inner {
    flex-direction: column;
    margin: 0;
    padding: var(--space-lg) var(--space-lg);
    gap: 2rem;
  }

  .section-product__list li {
    flex: 1 1 calc(50% - var(--space-sm));
  }
}