/* common styles for all pages */
/* Reset margin and padding */
* {
  margin: 0;
  padding: 0; }

input[type="text"] {
  padding: 2px; }

/* General */
.small {
  font-size: small;
  line-height: 1.5; }

.smaller {
  font-size: smaller; }

.medium {
  font-size: medium;
  line-height: 1.5; }

.bold {
  font-weight: bold; }

.center {
  text-align: center; }

.right {
  text-align: right; }

.justify {
  text-align: justify; }

.nowrap {
  white-space: nowrap; }

/* Link */
a:visited {
  color: violet; }
a:link {
  color: blue; }
a:hover {
  color: blue; }
a:active {
  color: blue; }
a > img {
  border: none; }

/* Heads */
h1, h2, h3, h4, h5, h6, h7 {
  font-weight: bold; }

/* Table */
table {
  border-collapse: collapse; }

/* Layout */
table.layout {
  border: none; }
  table.layout > tbody > tr > td {
    vertical-align: top;
    border: none; }

/* Standards */
table.std {
  margin: 0.75em 0; }
  table.std tr td, table.std tr th {
    border: 1px solid #888;
    padding: 0.25em 0.5em; }
  table.std tr th {
    background: #DED; }

ul.std {
  list-style-position: outside;
  margin: 0.75em 0 0.75em 1.5em; }
  ul.std > li {
    margin: 0.25em 0; }

ol.std {
  list-style-position: outside;
  margin: 0.75em 0 0.75em 2em; }
  ol.std > li {
    margin: 0.25em 0; }

dl.std {
  margin: 0.75em 0; }
  dl.std > dt {
    margin: 0.5em 0 0.25em 0; }
  dl.std > dd {
    margin: 0.25em 0 0.5em 2em; }

/* Body */
body {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
  font-weight: 500;
  background: #EEE; }

/* Layout */
#wrapper {
  min-width: 320px;
  max-width: 1240px;
  margin: 0 auto 15px;
  background: white;
  border-style: solid;
  border-color: #888;
  border-width: 0 1px 1px;
  box-shadow: 0 0 15px #888; }

#header {
  padding: 1em; }

#menu {
  padding: 1em; }

#footer {
  padding: 1em; }

#contents {
  padding: 1em;
  font-size: medium;
  line-height: 1.5;
  min-height: 10em; }

/* Header part */
#header h1 {
  font-size: x-large;
  line-height: 1.25; }

p.message {
  margin: 0 0 15px; }

#result {
  margin: 20px 0 0; }

.items {
  -webkit-column-width: 16em;
  -moz-column-width: 16em;
  column-width: 16em;
  -webkit-column-rule: 1px dashed #ABA;
  -moz-column-rule: 1px dashed #ABA;
  column-rule: 1px dashed #ABA; }
  .items .item {
    page-break-inside: avoid; }
    .items .item.head {
      margin-top: 16px; }
      .items .item.head:first-child {
        margin-top: 0; }
    .items .item h3 {
      font-size: medium;
      line-height: 1;
      color: #333;
      background: #DDD;
      margin: 0 0 4px;
      padding: 3px 4px;
      text-align: center;
      break-after: avoid-column;
      border-radius: 2px;
      border-color: #c4c4c4; }
    .items .item .term {
      padding-left: 1em;
      text-indent: -1em; }
  .items .see {
    color: #777; }

@media screen and (max-width: 1240px) {
  body {
    background: white; }

  #wrapper {
    border: none;
    box-shadow: none; } }
@media screen and (max-width: 480px) {
  #header {
    padding: 0.25rem 0.5rem; }

  #contents {
    padding: 0.5rem; } }
