@charset "UTF-8";
/* ナビゲーション */
.main-navigation {
  padding: 0.5em;
  text-align: center;
  line-height: 1.5em;
  font-size: medium;
}
.main-navigation a {
  margin: 0.5em;
  text-decoration: overline underline;
}
@media (prefers-color-scheme: light) {
  .main-navigation a:link {
    color: black;
  }
  .main-navigation a:visited {
    color: #333;
  }
  .main-navigation a:hover {
    color: blue;
  }
}
@media (prefers-color-scheme: dark) {
  .main-navigation a:link {
    color: white;
  }
  .main-navigation a:visited {
    color: #ccc;
  }
  .main-navigation a:hover {
    color: #99f;
  }
}
.main-navigation__more {
  display: none;
}

/* ナビメニューを印刷物から隠す */
@media print {
  nav {
    display: none;
  }
}
/* 幅の狭い端末ではナビをボトムナビとして表示 */
@media screen and (max-width: 979px) {
  body {
    margin-bottom: 56px;
  }
  .main-navigation {
    display: block;
    position: fixed;
    margin: 0;
    padding: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 56px;
    box-shadow: 0 0 4px gray;
    font-size: 12px;
    transition: height 200ms ease-out 0s;
  }
}
@media screen and (max-width: 979px) and (prefers-color-scheme: light) {
  .main-navigation {
    background: white;
  }
}
@media screen and (max-width: 979px) and (prefers-color-scheme: dark) {
  .main-navigation {
    background: #012;
  }
}
@media screen and (max-width: 979px) {
  .main-navigation--expanded {
    height: initial;
  }
  .main-navigation__item {
    display: inline-block;
    box-sizing: border-box;
    min-width: 88px;
    width: 20%;
    max-width: 168px;
    height: 100%;
    padding: 16px 12px;
  }
  .main-navigation__item:link, .main-navigation__item:visited, .main-navigation__item:hover {
    color: inherit;
    text-decoration: none;
  }
  .main-navigation__more {
    display: block;
    position: relative;
    float: right;
    width: 56px;
    height: 56px;
    overflow: hidden;
  }
  .main-navigation__more > #naviMore {
    display: block;
    position: absolute;
    right: 100%;
    bottom: 100%;
  }
  .main-navigation__more > #naviMore ~ label[for=naviMore] {
    display: block;
    position: absolute;
    box-sizing: border-box;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 10px 12px;
  }
  .main-navigation__more > #naviMore ~ label[for=naviMore]:before {
    display: block;
    width: 24px;
    height: 24px;
    margin: 0 auto;
    font-size: 24px;
    text-align: center;
    content: "+";
  }
  .main-navigation__more > #naviMore ~ label[for=naviMore]:after {
    display: block;
    height: 12px;
    margin: 0 auto;
    font-size: 12px;
    line-height: 12px;
    text-align: center;
    content: "MORE";
  }
  .main-navigation__more > #naviMore:focus ~ label[for=naviMore] {
    background-color: #606060;
  }
  .main-navigation__more > #naviMore:checked ~ label[for=naviMore]:before {
    content: "-";
  }
  .main-navigation__more > #naviMore:checked ~ label[for=naviMore]:after {
    content: "LESS";
  }
}
@media (prefers-color-scheme: light) {
  body {
    background: white;
    color: #333;
  }
  strong {
    color: #c60;
  }
  a:link {
    color: blue;
  }
  a:visited {
    color: purple;
  }
  a:hover {
    color: red;
  }
}
@media (prefers-color-scheme: dark) {
  body {
    background: #012;
    color: silver;
  }
  strong {
    color: #f93;
  }
  a:link {
    color: #99f;
  }
  a:visited {
    color: #f9f;
  }
  a:hover {
    color: #f99;
  }
}
header h1 {
  padding: 0 0.5em 0 0;
  font: italic xx-large serif;
  text-align: right;
}
header h1 a {
  color: silver;
  text-decoration: none;
}

/* ページ本文 */
main, div.body {
  padding: 0.5em;
}

input[type=number] {
  text-align: end;
}

/* フッター。著作権など */
footer, div.foot {
  text-align: center;
  padding: 0.5em;
}

@media (prefers-color-scheme: light) {
  table.border-classic {
    border: outset 1px silver;
  }
  table.border-classic > tr > th, table.border-classic > tr > td, table.border-classic > thead > tr > th, table.border-classic > thead > tr > td, table.border-classic > tbody > tr > th, table.border-classic > tbody > tr > td, table.border-classic > tfoot > tr > th, table.border-classic > tfoot > tr > td {
    border: inset 1px silver;
  }
}
@media (prefers-color-scheme: dark) {
  table.border-classic {
    border: outset 1px #333;
  }
  table.border-classic > tr > th, table.border-classic > tr > td, table.border-classic > thead > tr > th, table.border-classic > thead > tr > td, table.border-classic > tbody > tr > th, table.border-classic > tbody > tr > td, table.border-classic > tfoot > tr > th, table.border-classic > tfoot > tr > td {
    border: inset 1px #333;
  }
}
span.tag {
  font-size: 0.75em;
  border: outset 0.25em silver;
  border-bottom: none;
}

/*# sourceMappingURL=common.css.map */