@charset "utf-8";
.top {
  margin: 48px auto 32px;
}
.overview_container {
  position: relative;
  border: 4px solid #bfa544;
  padding: 0;
  padding-top: 0;
}
.overview_container h1 {
  border: none;
  background: #bfa544;
  color: #fff;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 4px;
  font-size: 1.8rem;
}
.overview_container:not(:last-child) {
  margin-bottom: 32px;
}
.overview {
  padding: 32px 16px;
}
.overview .howto li:not(:last-child) {
  margin-bottom: 16px;
}
.overview .howto li {
  display: flex;
  align-items: center
}
.terms {
  font-size: 1.4rem;
}
.howto p {
  width: calc(100% - 2em);
  font-size: 1.6rem;
}
.marker {
  background: linear-gradient(transparent 50%, #ffff66 50%);
}
.apply {
  margin: 32px auto;
  width: fit-content;
}
.apply a {
  height: auto;
  line-height: inherit;
  border-radius: 40px;
  width: fit-content;
  padding: 8px 16px;
  box-shadow: 0 0 0px 2px #fff inset;
  margin: 0;
  font-size: 2rem;
}
.howto-arrow {
  background: url("../images/arrow.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 2em;
  padding-left: 0.8em;
  color: #fff;
  font-weight: bold;
  margin-right: 8px;
  font-size: 1.6rem;
}
.xlogo {
  display: inline-block;
  width: .8em;
  margin-right: .3em;
}
.terms-title {
  margin-bottom: 16px;
}
.rank {
  display: inline-block;
  max-width: 120px;
  margin-right: 16px;
  pointer-events: none;
}
.winner {
  white-space: nowrap;
  display: flex;
  align-items: center;
}
.present {
  margin-bottom: 8px;
}
@media screen and (min-width:769px) {
  .howto-arrow {
    font-size: 1.8rem;
  }
  .apply a {
    font-size: 1.8rem;
  }
  .apply a:hover {
    background: #e60012;
    color: #fff;
  }
  .terms p {
    font-size: 1.4rem;
  }
  .present-content dd {
    display: flex;
    align-items: center;
    margin-bottom: 0;
  }
  .winner, .present {
    display: inline-flex;
  }
  .winner {
    margin-right: 16px;
  }
  .present {
    margin-bottom: 0;
  }
  aside {
    margin: 48px 0 0 32px;
  }
}