/* problem.css - "こんな課題、ありませんか？" */

.problem {
  position: relative;
  padding: var(--sp-9) 0;
  background: var(--cal-teal-tint);
  overflow: hidden;
}

.problem__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.problem__bg-circle {
  position: absolute;
  border-radius: 50%;
  background: var(--cal-white);
  opacity: 0.45;
}
.problem__bg-circle--a { width: 320px; height: 320px; top: -120px; right: -100px; }
.problem__bg-circle--b { width: 220px; height: 220px; bottom: -90px;  left:  -80px; }

.problem__inner {
  position: relative;
  z-index: 1;
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: 0 var(--sp-5);
}

.problem__header {
  text-align: center;
  margin-bottom: var(--sp-8);
}
.problem__label {
  display: inline-block;
  margin-bottom: var(--sp-3);
}
.problem__heading {
  margin-bottom: var(--sp-4);
}
.problem__lead {
  color: var(--fg-2);
  max-width: 36em;
  margin: 0 auto;
}

.problem__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-5);
  max-width: 880px;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}

.problem__card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  padding: var(--sp-6);
}

.problem__card-title {
  margin: 0;
}
.problem__card-desc {
  margin: 0;
  color: var(--fg-2);
  line-height: var(--lh-relaxed);
}

@media (max-width: 768px) {
  .problem {
    padding: var(--sp-7) 0;
  }
  .problem__cards {
    grid-template-columns: 1fr;
    gap: var(--sp-4);
  }
  .problem__card {
    padding: var(--sp-5);
    gap: var(--sp-3);
  }
}
