.sub-contents { padding-top: 80px; }
@media screen and (max-width: 560px) { .sub-contents { padding-top: 72px; } }

.page-title { color: #504b41; text-align: center; margin-bottom: 2.5rem; }
.page-title .en { font-size: clamp(32px, 6vw, 4rem); }

.subbtn-container { padding-top: 2.5rem; }

.map-image { max-width: 960px; margin: auto; border: thin solid #dcd9d7; }

.bus .figures { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; margin: 5rem auto 1rem; }
.bus .figures div, .bus .figures li { min-height: 0%; }
.bus .figures .fig { width: calc((476 /1000)*100%); }
.bus .figures .bus-map { width: calc((468 /1000)*100%); }
@media screen and (max-width: 560px) { .bus .figures { margin-top: 2.5rem; }
  .bus .figures .fig { width: 100%; margin-bottom: 1.5rem; }
  .bus .figures .bus-map { width: 100%; } }

#outline .pre-ad { display: inline-block; margin-bottom: 8px; font-size: max(1rem,14px); text-align: center; line-height: 1.2; padding: 6px 8px; border: thin solid #000; }
#outline .update { text-align: right; }
#outline .update p { width: 100%; font-size: 0.875rem; line-height: 1.2; text-align: right; margin-bottom: 4px; }

.outline-cont-container .frame { padding: 2.5rem 6%; }
.outline-cont-container table { border-collapse: separate; border-bottom: thin solid #212121; border-spacing: 0.5rem; }
.outline-cont-container table caption { font-size: clamp(16px, 1.1vw, 1.125rem); text-align: center; padding-bottom: 0.5rem; border-bottom: thin solid  #212121; }
.outline-cont-container table th, .outline-cont-container table td { font-size: clamp(14px, 1vw, 1rem); line-height: 1.6; text-align: left; vertical-align: top; letter-spacing: 0.1em; border-bottom: thin solid #e6e7ea; padding: 1.5rem 1rem; }
.outline-cont-container table th { width: calc((248/800)*100%); position: relative; padding-left: 1.5rem; font-weight: normal; }
.outline-cont-container table th::before { content: ""; display: inline-block; width: 0.75rem; height: 0.75rem; background-color: #212121; position: absolute; top: 1.85rem; left: 0; }
.outline-cont-container table td[colspan="2"] { padding-left: 0; padding-right: 0; }
@media screen and (max-width: 560px) { .outline-cont-container .frame { padding: 1.5em 1rem; }
  .outline-cont-container table th, .outline-cont-container table td { padding: 1rem 0.5rem; }
  .outline-cont-container table th { width: 32%; padding-left: 1.25rem; }
  .outline-cont-container table th::before { top: 1.4rem; } }
