/* Shared menu, heading hierarchy and spacing. Revert the styling commit to undo. */
body.site-polish {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
.site-polish #header { display: flex; align-items: center; gap: 8px; max-width: 100%; }
.site-polish #logo { float: none; flex: 0 0 auto; }
.site-polish #titlelet { min-width: 0; }
.site-polish #content > img { display: block; max-width: 100%; height: auto; }
.site-polish #content > img + br { display: none; }
.site-polish #menu {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 4px;
  width: 100%;
  padding: 6px;
  border: 1px solid #cbd7c7;
  background: #f0f5ed;
  color: #30472d;
  font-size: 14px;
  line-height: 1.5;
}
.site-polish #menu > .menuact,
.site-polish #menu > .menudeact {
  box-sizing: border-box;
  float: none;
  flex: 1 0 auto;
  border: 0;
  border-radius: 3px;
  padding: 0;
  text-align: center;
}
.site-polish #menu > .menuact { padding: 10px 12px; background: #40563d; color: #fff; font-weight: 700; }
.site-polish #menu > .menudeact { color: #30472d; }
.site-polish #menu .menudeact a { box-sizing: border-box; display: block; padding: 10px 12px; border-radius: 3px; color: #30472d; text-decoration: none; }
.site-polish #menu .menudeact a:hover { background: #dfe9da; text-decoration: underline; text-underline-offset: 3px; }
.site-polish #menu a:focus-visible { outline: 3px solid #40563d; outline-offset: -3px; }
.site-polish #content h2,
.site-polish #content h3,
.site-polish #content h4,
.site-polish #content h5 { color: #40563d; font-weight: 700; line-height: 1.5; }
.site-polish #content h2 { margin: 36px 0 16px; font-size: 26px; }
.site-polish #content h3,
.site-polish #regcont .beam-chapter { margin: 32px 0 16px; padding-bottom: 8px; border-bottom: 1px solid #cbd7c7; font-size: 22px; }
.site-polish #content h4,
.site-polish #regcont .beam-section { margin: 24px 0 12px; font-size: 18px; }
.site-polish #content h5 { margin: 24px 0 12px; font-size: 17px; }
.site-polish #left > :first-child,
.site-polish #right > :first-child,
.site-polish #regcont > :first-child,
.site-polish #photo > :first-child { margin-top: 0; }
.site-polish #content p { margin: 0 0 16px; }
.site-polish #content ul,
.site-polish #content ol { margin: 0 0 24px; padding-left: 1.6em; }
.site-polish #content li + li { margin-top: 8px; }
.site-polish #content h2,
.site-polish #content h3,
.site-polish #content h4,
.site-polish #content h5 { scroll-margin-top: 16px; }
.site-polish #left,
.site-polish #right,
.site-polish #regcont,
.site-polish #photo { padding-top: 24px; }
.site-polish.home #content .home-intro { margin: 20px 0; }
.site-polish.home #content .news-item h4 { margin: 0 0 12px; }
.site-polish.home #content .news-item p { margin-bottom: 12px; }
.site-polish.home #content .news-item li + li { margin-top: 16px; }
.site-polish #empty { height: 48px; }
.site-polish #footer { padding: 12px 8px 16px; font-size: 14px; }
@media (max-width: 799.98px) {
  .site-polish #menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-polish #menu > .menuact,
  .site-polish #menu .menudeact a { display: flex; align-items: center; justify-content: center; min-height: 44px; height: 100%; padding: 8px 6px; overflow-wrap: anywhere; }
  .site-polish #content h2 { font-size: 24px; }
  .site-polish #content h3,
  .site-polish #regcont .beam-chapter { font-size: 20px; }
  .site-polish #left,
  .site-polish #right,
  .site-polish #regcont,
  .site-polish #photo { padding-top: 20px; }
  .site-polish #empty { height: 32px; }
}
