html {
  height: 100%;
  width: 100%;
}

* {
  margin: 0px;
  padding: 0px;
}

body {
  background-color: #e3e3e3;
}

.header ul {
  display: flex;
  list-style-type: none;
  padding: 5px;
}

.header li {
  list-style-type: none;
  padding: 5px;
}

.header {
  padding: 15px;
  background-color: white;
}

.hero h2 {
  color: white;

}

.hero p {
  color: white;
}

.hero h2 {
  font-size: 50px;
  padding: 10px;
}

.hero p {
  font-size: 20px;
}

.hero {
  background-image: url("");
  background-color: #454545;
  background-size: cover;
  background-repeat: no-repeat;
  height: 50vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

}

main {
  margin-top: 20px;
  margin-bottom: 15px;
  margin-left: 25px;
  margin-right: 25px;
  padding: 20px;
  background-color: white;
  border-radius: 20px;
  font-size: 123%;
}

footer {
  margin-top: 50px;
  text-align: center;
  background-color: #707070;
  padding: 20px;
  color: white;
}

/* スマホ用とタブレット用のCSS */
@media screen and (max-width: 959px) {

  /* 959px以下に適用されるCSS（タブレット用） */
  .header {
    text-align: center;
  }

  .header ul,
  li {
    text-align: center;
    display: block;
  }

}

@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
}