html{
  height: 100%;
}
body{
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  height: 100%;
  margin: 0;
}
div.body-size{
  height: 100%;
  display: flex;
  flex-direction: column;
}
footer{
  margin-top: auto;
}

.inner{
  width: 100%;
  max-width: 1050px;
  padding: 0 16px;
  margin: 0 auto;
}

/* ------------------------ header */
header{
  margin: 20px auto;
}
header figure{
  max-width: 400px;
  margin: 0 auto 20px;
}
h1{
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  color: #ffffff;
}
@media screen and (max-width: 600px) {
  h1{
    font-size: 1.1em;
  }
}

/* ------------------------ footer */
footer{
  text-align: center;
  font-size: 0.9em;
  padding: 0 0 30px;
}

/* ------------------------ back */
div.back > a{
  position: relative;
  display: inline-block;
  color: #1AA0C9;
  font-size: 0.9em;
  margin-bottom: 30px;
  padding-left: 16px;
}
div.back > a::before{
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;

  border-left: 2px solid #1AA0C9;
  border-bottom: 2px solid #1AA0C9;
  transform: rotate(45deg);

  top: 8px;
  left: 0;
}
/* ------------------------ pagination */
div.pagination{
  text-align: center;
  margin-bottom: 80px;
}
h2.screen-reader-text{
  display: none;
}
a.page-numbers,
span.page-numbers.current{
  color: #004B84;
  background-color: #f6f3f0;
  border-radius: 5px;
  padding: 5px 12px;
  margin-right: 5px;
}
span.page-numbers{
  margin-right: 5px;
}
span.page-numbers.current{
  color: #fff;
  background-color: #004B84;
}
a.next{
  margin-right: unset;
}
a.page-numbers:hover{
  background-color: #004B84;
  color: #fff;
  transition: all 0.3s;
}

@media screen and (max-width: 550px) {
  a.page-numbers:nth-child(n+5):nth-child(-n+7){
    display: none;
  }
}
@media screen and (max-width: 390px) {
  a.page-numbers:nth-child(n+2):nth-child(-n+9){
    display: none;
  }
  span.page-numbers.dots{
    display: none;
  }
}