@charset "UTF-8";
/* 
 * Service Page Styles
 * サービスページ固有のスタイル
 */
/* Service Detail Section */
.service-detail-section {
  padding: 80px 0 120px;
  background: #fff;
}

/* Service Intro */
.service-intro {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 80px;
}

.service-intro-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 900;
  line-height: 1.5;
  color: var(--foreground);
  margin-bottom: 24px;
}

@media (max-width: 768px) {
  .service-intro-title {
    margin-top: 0;
  }
}

@media (max-width: 768px) {
  .service-intro-title br {
    display: none;
  }
}

.service-intro-text {
  font-size: clamp(1rem, 2vw, 1.125rem);
  line-height: 1.9;
  color: var(--muted-foreground);
}

/* Services Grid */
.services-grid {
  display: -ms-grid;
  display: grid;
  gap: 64px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Service Card */
.service-card {
  display: -ms-grid;
  display: grid;
  gap: 48px;
}

@media (min-width: 1024px) {
  .service-card {
    -ms-grid-columns: 1fr 1.5fr;
        grid-template-columns: 1fr 1.5fr;
  }
}

@media (max-width: 1023px) {
  .service-card {
    gap: 32px;
  }
}

.service-card-image {
  width: 100%;
  height: 100%;
  border-radius: 24px;
  overflow: hidden;
}

.service-card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.service-card-content {
  display: -ms-grid;
  display: grid;
  gap: 24px;
}

.service-card-header {
  display: -ms-grid;
  display: grid;
  gap: 12px;
}

.service-card-number {
  display: none;
}

.service-card-title {
  font-size: clamp(1.5rem, 3vw, 1.875rem);
  font-weight: 900;
  line-height: 1.4;
  color: var(--foreground);
  margin: 0;
}

@media (max-width: 768px) {
  .service-card-title {
    padding-inline: 0;
    padding-bottom: 0;
  }
}

.service-card-description {
  font-size: clamp(0.9375rem, 2vw, 1.0625rem);
  line-height: 1.9;
  color: var(--muted-foreground);
  margin: 0;
}

.service-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -ms-grid;
  display: grid;
  gap: 12px;
}

.service-card-list li {
  padding-left: 28px;
  position: relative;
  font-size: clamp(0.875rem, 2vw, 1rem);
  line-height: 1.7;
  color: var(--muted-foreground);
}

.service-card-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--primary);
  font-weight: 900;
  font-size: 1.125rem;
}

/* Responsive */
@media (max-width: 768px) {
  .service-detail-section {
    padding: 40px 0 80px;
  }
  .service-intro {
    margin-bottom: 60px;
  }
  .services-grid {
    gap: 48px;
  }
}
/*# sourceMappingURL=service.css.map */