@charset "UTF-8";

/* --------------------------------------------------
base
-------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

body{
  min-width:300px;
  margin:0;
  padding:0;
  word-wrap:break-word;
  font-size:16px;
  letter-spacing:0;
}
img{
  max-width:100%;
  vertical-align:middle;
}
input[type=checkbox] {
  display: none;
}
input[type=checkbox] + label:after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 15px;
  margin: -10px 0 0 -2px;
  width: 17px;
  height: 17px;
  border: 1px solid #707070;
}
input[type=checkbox] + label {
  position: relative;
  padding: 0 0 0 50px;
}
input[type=checkbox]:disabled + label {
  opacity: 0.3;
}
input[type=checkbox]:not(:disabled) + label:hover:after {
  border-color: #0099B3;
}
input[type=checkbox] + label:after, input[type=checkbox] + label:before{
  position: absolute;
  content: "";
  display: block;
  top: 50%;
}
input[type=checkbox] + label:before {
  left: 19px;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 2px solid #0099B3;
  border-bottom: 2px solid #0099B3;
  transform: rotate(45deg);
  opacity: 0;
}
input[type=checkbox]:checked + label:before {
  opacity: 1;
}
a:link,
a:visited{
  color:#f00;
  text-decoration:underline;
}
a:hover,
a:active{
  color:#f00;
  text-decoration:none;
}
a.blue:link,
a.blue:visited{
  color:#0099b3;
  text-decoration:underline;
}
a.blue:hover,
a.blue:active{
  color:#0099b3;
  text-decoration:none;
}
strong{
  font-weight: bold;
}
em{
  font-weight: bold;
  color: #0099B3;
}
#wrapper {
  box-sizing: border-box;
  position: relative;
  width: 100%;
}

/* --------------------------------------------------
contents
-------------------------------------------------- */
#contents{
  box-sizing: border-box;
  position: relative;
  width:100%;
  max-width:1000px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 100px;
}
@media screen and (max-width: 599px) {
  #contents{
    padding-bottom: 60px;
  }
}

/* --------------------------------------------------
page top
-------------------------------------------------- */
#pageTop{
  box-sizing: border-box;
  width: 50px;
  position: absolute;
  bottom: 30px;
  right: 0;
}
#pageTop a{
  text-decoration: none;
  text-align: center;
  display: block;
}

/* --------------------------------------------------
footer
-------------------------------------------------- */
#footer{
  padding: 16px;
  background-color: #f0f0f0;
  text-align: center;
  line-height: 16px;
}
#footer .copyright{
  color: #0099B3;
  margin-top: 10px;
  font-size: 11px;
}
