@charset "UTF-8";

a:visited {
  color: #00f;
}

/* 共通 */
html,
body,
img {
  margin: 0;
  padding: 0;
  border: none;
}
body {
  /* font-family: 'Noto Sans JP', sans-serif; */
  /* font-family: "Ryumin Medium KL", "Noto Sans JP", sans-serif !important; */
  /* font-family: "リュウミン M-KL", "Ryumin Medium KL", "Noto Sans JP", sans-serif !important; */
  font-family: "UD新ゴ R", "UD Shin Go Regular", "リュウミン M-KL",
    "Ryumin Medium KL", "Noto Sans JP", sans-serif !important;
  line-height: 1.8em;
  font-size: 12pt;
  letter-spacing: 0.05em;
  color: #333;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  span.spbr::before {
    content: "\A";
    white-space: pre;
  }
}
header {
  position: sticky;
  display: block;
  padding: 1.5em;
  width: calc(100% - 3em);
  top: 0;
  text-align: center;
  background-color: #eee;
  border: 1px solid rgba(230, 220, 220, 0.5);
  z-index: 10;
}
header img.logo {
  position: absolute;
  display: block;
  height: 5em;
  top: 0.4em;
  left: 1.5em;
}
header h1 {
  margin: 0 0 0 4em;
  line-height: 1.4em;
}
@media screen and (max-width: 768px) {
  header {
    padding: 0.7em;
    width: calc(100% - 1.4em);
    font-size: 5vw;
  }
  header img.logo {
    height: 3.3em;
    top: 0.4em;
    left: 0.4em;
  }
  header h1 {
    font-size: 1em;
    margin-left: 28vw;
  }
}
footer {
  position: fixed;
  display: block;
  width: 100%;
  bottom: 0;
  background-color: #fff;
  text-align: center;
  border-top: 1px solid #aaa;
  line-height: 2em;
  color: #555;
}
footer a {
  color: #555 !important;
}
#darklayer {
  position: fixed;
  display: block;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.3);
  top: 0;
  left: 0;
}
.maincontent {
  width: 80%;
  margin: 3em auto;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .maincontent {
    width: 90%;
  }
}
.topimg {
  text-align: left;
  font-size: 250%;
  padding: 12em 0 2em 2em;
  font-weight: bold;
  background: url(../img/topimage.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 1.7vw;
  width: 100%;
}
.topimg .message {
  color: white;
  filter: drop-shadow(0px 0px 2px black);
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .topimg {
    background-image: url(../img/topimagesp.jpg);
    position: relative;
    height: calc(100vh - 80px - 32px);
    font-size: 200%;
    padding: 12.6em 0 3.4em 1em;
    padding: 0;
  }
  .topimg .message {
    position: absolute;
    bottom: 3.8em;
    left: 1.5em;
    font-size: 7.6vw;
  }
}
twitter,
.maincontent {
  display: none;
}
