@charset "UTF-8";
/* =========================================================
   事業内容（/service/）  Figma: 新・事業内容 PC 55:63 / SP 63:1054
   ========================================================= */

.page-service { --section-py: 120px; }
.page-service .heading__title { font-size: 36px; line-height: 1.45; }
.page-service .heading__lead { max-width: 760px; }

/* Approach */
.approach__inner { display: flex; align-items: center; gap: 64px; }
.approach__text { display: flex; flex-direction: column; gap: 24px; flex: 1; }
.approach__title { font-family: var(--f-serif); font-weight: 500; font-size: 36px; line-height: 1.5; letter-spacing: .06em; }
.approach__text .lead { max-width: 500px; }
.approach__diagram { flex: 0 0 556px; border-radius: 12px; overflow: hidden; }
.approach__diagram img { width: 100%; }

/* Consulting */
.consulting .container, .technology .container { display: flex; flex-direction: column; gap: 56px; }
.consulting__image { height: 480px; border-radius: 16px; overflow: hidden; }
.consulting__image img { width: 100%; height: 100%; object-fit: cover; }
.service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.service-card { display: flex; flex-direction: column; gap: 16px; padding: 36px; border-radius: 12px; background: var(--c-white); }
.service-card__title { font-family: var(--f-serif); font-weight: 500; font-size: 22px; line-height: 1.4; letter-spacing: .06em; }
.service-card__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.service-card__tags li { padding: 6px 12px; border-radius: 999px; background: var(--c-neutral-soft); color: var(--c-navy); font-size: 12px; font-weight: 500; line-height: 1; }
.service-card__text { color: var(--c-text-sub); font-size: 15px; line-height: 1.9; }
.consulting__actions { display: flex; justify-content: center; }
.consulting__actions .btn--outline { align-self: center; }

/* Technology */
.tech-grid { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 40px; margin: 0; }
.tech { display: flex; flex-direction: column; gap: 10px; padding-block: 28px; border-top: 1px solid var(--c-border); }
.tech dt { color: var(--c-navy); font-family: var(--f-serif); font-weight: 500; font-size: 17px; line-height: 1.5; letter-spacing: .06em; }
.tech dd { margin: 0; color: var(--c-text-sub); font-size: 14px; line-height: 1.8; }

@media (max-width: 1180px) {
  .approach__inner { gap: 40px; }
  .approach__diagram { flex-basis: 46%; }
}

@media (max-width: 767px) {
  .page-service { --section-py: 64px; }
  .page-service .heading__title { font-size: 22px; }
  .approach__inner { flex-direction: column; align-items: stretch; gap: 32px; }
  .approach__text { gap: 20px; }
  .approach__title { font-size: 24px; }
  .approach__diagram { flex: none; }
  .consulting .container, .technology .container { gap: 32px; }
  .consulting__image { height: auto; aspect-ratio: 1120 / 480; }
  .service-grid { grid-template-columns: 1fr; gap: 16px; }
  .service-card { padding: 28px 24px; }
  .service-card__title { font-size: 18px; }
  .service-card__text { font-size: 14px; }
  .tech-grid { grid-template-columns: 1fr; }
  .tech { padding-block: 20px; }
  .tech dt { font-size: 15px; }
}
