@charset "UTF-8";

header,footer,main,nav,aside,div,ul,li,pre,p,h1,h2,h3,h4,h5,h6 {
  box-sizing: border-box;
}
p,h1,h2,h3,h4,h5,h6 {
  margin: 0.4em 0;
}
a,
a:visited {
  text-decoration: none;
  color: inherit;
}
a:hover {
  text-decoration: underline;
}
img,input,textarea {
  max-width: 100%;
}
/* ページ */

@media screen {
  body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
    background-color: black;
    overflow-y: scroll;
  }
  header,footer,main,nav,aside {
    padding: 1px 20px;
    background: white;
  }
  header,footer {
    color: white;
    background: black;
  }
  nav,aside {
    background: gainsboro;
  }
  main {
    min-height: 75vh;
  }
  footer {
    padding-bottom: 50px;
  }
  em {
    font-style: initial;
    word-break: keep-all;
  }
  pre {
    white-space: pre-wrap;
    word-break: break-word;
    font: inherit;
    margin: 2px;
  }
  li {
    list-style: none;
  }
  ul, ol, dl {
    padding: 0;
    margin: 0.4rem 0;
  }
  .hidden {
    display: none;
  }
  .fix-bottom {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: darkcyan;
    margin: 0;
    padding: 8px;
    border-top: dotted 1px gray;
  }
  .impact {
    font-size: 1.5em;
    font-weight: bolder;
    color: crimson;
  }
  .float-right {
    float: right;
  }
  .align-right {
    text-align: right;
  }
  .align-center {
    text-align: center;
  }
  .inline {
    display: inline-block;
    vertical-align: top;
  }
  .warning {
    padding: 2em;
    font-size: 2em;
    font-weight: bold;
    color: white;
    background: rgba(64, 64, 80, 0.8);
  }
  .statusbar {
    padding: 4px;
  }
  .full-screen {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
  }
  .main-content {
    max-width: 1000px;
    margin: 0 auto;
  }
  hr.clear {
    clear: both;
    margin: 0;
    border: none;
  }
  ul.menu li {
    display: inline-block;
    list-style: none;
    margin: 2px 4px;
  }
  ul.large-list {
    font-size: 1.3em;
    font-weight: bold;
  }
  ul.large-list li {
    padding: 6px;
  }
  .map {
    width: 99.99%;
    min-height: 60vh;
    border: none;
  }
  .thumbnail {
    background: white;
    background-size: 200px 150px;
    vertical-align: top;
    width: 200px;
    height: 150px;
    object-fit: cover;
  }
}
@media screen and (max-width: 40em) {
  header,footer,main,nav,aside {
    padding-left: 2px;
    padding-right: 2px;
  }
  main {
    padding: 1px 5px;
  }
  h1{
    font-size: 1.2rem;
  }
  h2, h3{
    font-size: 1.1rem;
  }
  ul.menu {
    margin: 0.2rem 0;
  }
  .warning {
    font-size: 1.2em;
  }
}

/* item-content */
@media screen {
  .page-info img.thumbnail,
  .post-picture img.thumbnail {
    display: inline;
    border: solid 1px;
  }
  .post-content {
    background-color: white;
  }
  .post-info {
    color: #444;
    font-size: 0.9em;
    padding: 4px;
  }

}
@media screen and (max-width: 40em) {

}

/* item-list */
@media screen {
  .item-row {
    border: 1px dotted #666666;
    padding: 20px;
    margin: 20px auto;
    width: 90%;
    max-width: 900px;
    box-sizing: border-box;
    background-color: #FFF;
  }
  .item-row a[href=""],
  .item-row img[src=""] {
    display: none;
  }
}
@media screen and (max-width: 40em) {
  .item-row {
    padding: 4px;
    margin: 4px auto;
  }
}


/* IE警告 */
@media screen {
  .browser_caution {
    display: none;
  }
}

@media screen and (-ms-high-contrast: none) {
  *::-ms-backdrop,
  .browser_caution {
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.5em;
    border: solid 4px red;
    background: white;
    padding: 10px;
    display: block;
  }
}
