/* 指定2ページだけに読み込む表示差分。既存共通CSS・他ページは維持。 */
.access-reason { font-size: 15px; font-weight: 600; }
.access-action { margin-top: 28px; }
.access-requests { margin-top: 28px; }
.free-page { padding-block: 40px 44px; line-height: 1.8; }
.free-page h1 { margin-bottom: 16px; }
.free-page p { margin-bottom: 16px; }
.free-page section { margin-top: 26px; }
.free-page h2 { margin-bottom: 12px; }
.campfire-entry { display: block; width: min(100%, 420px); margin: 24px auto 0; color: #16815e; text-align: center; text-decoration: none; }
.campfire-entry img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; }
.campfire-entry span { display: block; margin-top: 10px; font-size: 15px; line-height: 1.7; }
.campfire-entry:focus-visible { outline: 2px solid #16815e; outline-offset: 5px; }
.free-page .free-return { margin: 24px 0 0; }
@media (min-width: 761px) { .access-layout { grid-template-areas: "visual heading" "visual description" "visual facts" "visual action" "visual requests"; } }
@media (max-width: 760px) {
  .access-layout { grid-template-areas: "heading" "description" "visual" "facts" "note" "action" "requests"; }
  .access-action { margin-top: 24px; }
  .access-requests { margin-top: 24px; }
  .free-page { padding-block: 28px 36px; }
}
