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

.page-title { text-align: center; margin-bottom: 2.5rem; }
.page-title .en { font-size: clamp(24px, 3vw, 2rem); }

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

.map-image { max-width: 960px; margin: auto; }

.bus .figures { margin: 5rem auto 1rem; display: grid; grid-template-columns: 1fr 0.9fr; gap: 0 2%; align-items: stretch; }
.bus .figures::before { content: ""; display: block; order: 1; align-self: stretch; }
.bus .figures .fig { align-self: flex-end; }
.bus .figures .fig:nth-of-type(1) { order: 3; }
.bus .figures .fig:nth-of-type(2) { order: 4; }
.bus .figures .bus-map { grid-row: span 3; order: 2; }
.bus .figures_bus { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 3rem auto 2rem; }
.bus .figures_bus li:nth-of-type(1) { width: 64%; align-self: flex-end; }
.bus .figures_bus li:nth-of-type(1) > div { margin-bottom: 1rem; }
.bus .figures_bus li:nth-of-type(1) > div:nth-of-type(3) { max-width: 480px; margin: auto; }
.bus .figures_bus li:nth-of-type(2) { width: 32%; }
@media screen and (max-width: 560px) { .bus .figures { margin-top: 2.5rem; display: block; }
  .bus .figures .fig:nth-of-type(2) { margin-bottom: 1.5rem; }
  .bus .figures_bus li:nth-of-type(1) { width: 100%; }
  .bus .figures_bus li:nth-of-type(2) { width: 100%; margin-top: 2rem; } }

.mg { background-color: #47403b; }
.mg .maincopy { margin-bottom: inherit; }
.mg .information-container { padding: 2.5rem 2.5rem 0; }
.mg .contact { margin-top: 1rem; border-top: none; padding: 0; }
.mg .contact p { width: 100%; text-align: center; font-size: 1.25rem; line-height: 1.28; }
.mg .contact p:nth-last-of-type(1) { margin-bottom: inherit; }
.mg .contact .att { font-size: 144%; }
.mg .contact .red { color: #913622; }
@media screen and (max-width: 560px) { .mg .information-container { padding: 1.5rem 1rem 0; }
  .mg .contact .att { font-size: 136%; margin-bottom: 0; } }

#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; padding: 0 6%; }
#outline .update p { width: 100%; font-size: 0.875rem; line-height: 1.2; text-align: right; margin-bottom: 4px; }
@media screen and (max-width: 560px) { #outline .update { padding: 0 1rem; } }

.outline-cont-container .frame { padding: 2.5rem 6%; }
.outline-cont-container table { width: 100%; 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; }
.outline-cont-container table tr:last-of-type th, .outline-cont-container table tr:last-of-type td { border-bottom: none; }
@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; } }
