:root {
  --header-height: 198px;
  --max-width: 1200px;
  --section-padding: 12rem;
  --font-size-base: clamp(16px, calc(15.243243243243244px + 0.21621621621621623vw), 20px);
  --font-size-lg: clamp(25.6px, calc(24.389189189189192px + 0.34594594594594585vw), 32px);
}

#main .container {
  margin: 18rem auto;
}

#items hgroup,
#main h2 {
  font-size: 3rem;
}

#main .flex {
  display: flex;
  justify-content: center;
  gap: 4%;
}
#lead {
  padding-inline: 4%; /* ボックスモデル */
  text-align: center; /* 文字 */
}

#lead p {
  margin-bottom: 1.85em;
}

h2.section-title {
  margin-bottom: 6rem;
}

.cv-btn {
  margin-top: 3rem;
}
#items-limited1,
#items-limited2 {
  padding: 6% 6%;
}
.item-flex {
  display: flex;
  gap: 4%;
}
#photobooth {
  padding: var(--section-padding);
}

#photobooth-img {
  min-width: 768px;
}

#photobooth figcaption {
  width: 25%;
}
.banner-img {
  width: 200px;
  height: 200px;
  object-position: center bottom;
  filter: saturate(0.35);
  transition: all 0.5s ease 0s;
}
#banner1 {
  min-width: 550px;
}

dl {
  display: flex;
  flex-wrap: wrap;
}

dt {
  width: 15%;
}

dd {
  width: 85%;
}

.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto auto;
  gap: 4%;
}

#banner1 {
  grid-area: 1 / 1 / 5 / 2;
}

#banner2 {
  grid-area: 1 / 2 / 2 / 3;
}

#banner3 {
  grid-area: 2 / 2 / 3 / 3;
}
