/* お伽箱：葬儀商品・セットコース付帯内容の詳細ページ */
.p-otogibako__about {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 0 0 30px;
}

.p-otogibako__main-image,
.p-otogibako__about-detail {
  min-width: 0;
  margin: 0;
  /* background: #f5f7f4; */
}

.p-otogibako__main-image img,
.p-otogibako__about-detail img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: contain;
}

.p-otogibako__about-detail {/* background: #fff; *//* border: 1px solid var(--fod-border); */}
.p-otogibako__spec {display: flex;flex-wrap: wrap;gap: 6px 22px;margin: 0;padding: 18px 22px;/* border-top: 1px solid var(--fod-border); */}
.p-otogibako__spec dt { color: var(--fod-sub); font-weight: 700; }
.p-otogibako__spec dd { margin: 0; }

.p-otogibako__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.p-otogibako__item { min-width: 0; margin: 0; border: 1px solid var(--fod-border); background: #fff; box-shadow: var(--fod-shadow); }
.p-otogibako__item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.p-otogibako__item figcaption { padding: 16px 18px; font-weight: 700; }

.p-otogibako__section { padding: 72px 0 78px; background: #fff; }
.p-otogibako__section--soft { background: #f5f7f4; }
.p-otogibako__section-lead { max-width: 740px; margin: 14px 0 28px; color: var(--fod-sub); line-height: 1.9; }
.p-otogibako__exclusions { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; align-items: center; margin-top: 28px; }
.p-otogibako__exclusions ul { margin: 0; padding: 22px 26px 22px 44px; border: 1px solid var(--fod-border); background: #fff; line-height: 1.9; }
.p-otogibako__exclusions li + li { margin-top: 6px; }
.p-otogibako__exclusions img {display: block;width: 100%;height: 250px;object-fit: contain;/* background: #f5f7f4; */}

.p-otogibako__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; }
.p-otogibako__step { min-width: 0; padding: 24px; border: 1px solid var(--fod-border); background: #fff; }
.p-otogibako__step > span { display: block; margin-bottom: 12px; color: var(--fod-green); font-size: .76rem; font-weight: 800; letter-spacing: .1em; }
.p-otogibako__step h3 { margin: 0; font-size: 1.08rem; line-height: 1.55; }
.p-otogibako__step p { margin: 10px 0 0; color: var(--fod-sub); font-size: .9rem; line-height: 1.8; }
.p-otogibako__step img { display: inline-block; width: calc(50% - 6px); max-height: 180px; margin: 16px 8px 0 0; object-fit: contain; vertical-align: top; }
.p-otogibako__step img:only-of-type { width: 100%; margin-right: 0; }
.p-otogibako__step img:last-of-type { margin-right: 0; }
.p-otogibako__contact { width: min(calc(100% - 48px), 1120px); margin: 0 auto; padding: 36px 0 70px; }

@media (max-width: 768px) {
  .p-otogibako__about,
  .p-otogibako__exclusions,
  .p-otogibako__steps { grid-template-columns: 1fr; }
  .p-otogibako__items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .p-otogibako__item figcaption { padding: 12px; font-size: .85rem; }
  .p-otogibako__section { padding: 54px 0 60px; }
  .p-otogibako__main-image img,
  .p-otogibako__about-detail img { height: 220px; }
  .p-otogibako__contact { width: min(calc(100% - 28px), 1120px); }
}
