/* Route-only additions; retain the existing WordPress prose stylesheet. */
.p-contents__breadcrumbs { white-space: normal; }
.p-contents__breadcrumbs > :last-child { max-width: 100%; overflow-wrap: anywhere; }
.p-contents__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  margin-bottom: 64px;
  list-style: none;
}
.p-contents__cards a { display: block; height: 100%; padding-bottom: 20px; border-bottom: 1px solid #ddd; }
.p-contents__cards img { display: block; width: 100%; height: auto; aspect-ratio: 23 / 7.3; object-fit: cover; }
.p-contents__cards time { display: block; margin-top: 12px; color: #666; font-size: 14px; }
.p-contents__cards h2 { margin-top: 8px; font-size: 20px; line-height: 1.6; overflow-wrap: anywhere; }
.p-contents__body { overflow-wrap: anywhere; line-height: 1.8; }
.p-contents__body img { max-width: 100%; height: auto; }
.p-contents__body .c-head-mv { background-image: var(--contents-hero); }
.p-contents__body .c-btn-wrap { gap: 16px; }
.p-contents__related { margin-top: 60px; }
.p-contents__related h2 { margin-bottom: 20px; font-size: 24px; line-height: 1.6; }
.p-contents__related li { border-bottom: 1px solid #ddd; }
.p-contents__related li a { display: block; padding: 16px 0; }
.p-contents__back { display: inline-block; margin-top: 32px; padding: 16px 24px; border: 1px solid #000a41; border-radius: 6px; }
@media (max-width: 768px) {
  /* Long page titles must clear the fixed logo on narrow phones. */
  .p-contents__header { margin-top: 0; }
  .p-contents__header .l-header__bg { min-height: 160px; }
  .p-contents__cards { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .p-contents__cards h2 { font-size: 18px; }
  .p-contents__body .c-btn-wrap { grid-template-columns: minmax(0, 1fr); }
  .p-contents__body table { display: block; overflow-x: auto; max-width: 100%; }
}
