body {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

.content-header {
  flex-direction: column;
  width: 100%;
  background: url("../images/header_bg-sp.png") no-repeat center center/cover;
  min-height: 208px;
}
@media (min-width: 47.9375em) {
  .content-header {
    min-height: 240px;
    background: url("../images/header_bg.png") no-repeat center center/cover;
  }
}
.content-header h1 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-weight: bold;
  line-height: 1.4;
  font-size: 26px;
  gap: 4px;
}
@media (min-width: 47.9375em) {
  .content-header h1 {
    font-size: calc(26px + 14 * (100vw - 768px) / 392);
  }
}
@media (min-width: 72.5em) {
  .content-header h1 {
    font-size: 40px;
  }
}

.banner {
  margin: 40px 0;
  padding: 0;
}
@media (min-width: 47.9375em) {
  .banner {
    margin: 80px 0;
  }
}
.banner .container .banner__image {
  display: block;
  margin: 0 auto;
}
@media (min-width: 47.9375em) {
  .banner .container .banner__image {
    max-width: 800px;
  }
}
.banner .container .banner__image a {
  display: block;
}
.banner .container .banner__image a img {
  width: 100%;
  height: auto;
}

.campaign {
  background: linear-gradient(180deg, #e9e9f3 0%, #c8c8e9 100%);
  margin-bottom: 40px;
  padding: 0;
}
@media (min-width: 47.9375em) {
  .campaign {
    margin-bottom: 80px;
  }
}
.campaign .container {
  padding: 40px 0;
}
@media (min-width: 47.9375em) {
  .campaign .container {
    padding: 48px 0;
  }
}
.campaign .container .campaign__button a {
  font-size: 16px;
  background-color: #0c0b86;
  border-color: #0c0b86;
}

.campaign-image {
  margin-bottom: 40px;
  padding: 0;
}
@media (min-width: 47.9375em) {
  .campaign-image {
    margin-bottom: 48px;
  }
}
.campaign-image .container .image img {
  width: 100%;
  height: auto;
}

.campaign-link {
  margin-bottom: 40px;
  padding: 0;
}
@media (min-width: 47.9375em) {
  .campaign-link {
    margin-bottom: 48px;
  }
}
.campaign-link .container .campaign__button a {
  line-height: 1.5;
  flex-direction: column;
  background-color: #406faf;
  border-color: #406faf;
  font-size: 16px;
  padding: 7px 40px;
}
.campaign-link .container .campaign__button a span {
  text-decoration: underline;
}