.camera-notice {
  background: #f8f7fa;
  color: #20202a;
  padding: clamp(2rem, 5vw, 4.5rem) 0;
}
.camera-notice__wrap {
  max-width: 900px;
}
.camera-notice__header,
.camera-notice__section,
.camera-notice__controller {
  background: #fff;
  border: 1px solid #e9e6ee;
  border-radius: 16px;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  margin: 0 0 1.25rem;
}
.camera-notice__company {
  color: #73158e;
  font-weight: 700;
}
.camera-notice h1 {
  font-size: clamp(1.7rem, 3.5vw, 2.6rem);
  line-height: 1.2;
  margin: .5rem 0 1.25rem;
}
.camera-notice h2 {
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  margin: 0 0 1rem;
}
.camera-notice p,
.camera-notice li,
.camera-notice dd {
  line-height: 1.75;
}
.camera-notice p:last-child { margin-bottom: 0; }
.camera-notice li + li { margin-top: .4rem; }
.camera-notice__controller > div {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) 3fr;
  gap: 1rem;
  padding: .5rem 0;
  border-bottom: 1px solid #eeeaf2;
}
.camera-notice__controller > div:last-child { border-bottom: 0; }
.camera-notice dt { font-weight: 700; }
.camera-notice dd { margin: 0; }
@media (max-width: 640px) {
  .camera-notice__controller > div { display: block; }
}
