html,
body,
div,
p {
  margin: 0;  /* 余分なマージンを消去 */
  padding: 0; /* 余分なパディングを消去 */
}
 
html,
body,
div.background {
  height: 100%; /* min-heightに対応していないブラウザ用 */
}
 
div.background {
  min-height: 100%; /* 最小の高さ */
  width: 300px;
  background: #EFEFEF;
}
 
body > div.background {
  height: auto; /* 要素を超えた分の背景が伸びないブラウザ用 */
}
html {
overflow: auto;
}

body{
overflow: auto; /*はみ出た部分をどうするか*/
}
* {
  margin:0; padding:0;
}
header {
  width: 100%;
  padding: 15px 0;
  margin: 0 auto;
  text-align: center;
}
header .headline{
  font-size: 24px;
}
.nav-list {
  text-align: center;
  padding: 15px 0;
  margin: 0 auto;
}
.nav-list-item {
  list-style: none;
  display: inline-block;
  margin: 0 20px;
}
footer{
    width: 100%;
    background-color: #000000;
    color: #ffffff;
    text-align: center;
    padding: 15px 0;
}
html{
    scroll-behavior: smooth;
}
.gotop{
    display: block;
    width: 50px;
    height: 50px;
    box-sizing: border-box;
    background: #FFF;
    border: 1px solid #999;
    padding-top: 30px;
    text-align: center;
    letter-spacing: -1px;
    font-size: 75%;
    text-decoration: none;
    color: #333;
    opacity: 0.5;
    position: fixed;
    bottom: 55px;
    right: 20px;
    z-index: 10000;
}
.gotop::before{
    content: "";
    display: block;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    width: 25%;
    height: 25%;
    top: 25%;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: rotate(-45deg);
}
.gotop:hover{
    opacity: 1;
}
@media(max-width:750px){
    .gotop{
        width: 40px;
        height: 40px;
        text-indent: -9999px;
        opacity: 1;
        border: none;
        background: none;
        bottom: 10px;
        right: 10px;
    }
    .gotop::before{
        bottom: 0;
    }
}