.body {
  background-color: #094;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  overflow: hidden;
}

.c-frame {
  background-color: #094;
  flex-flow: column;
  height: 100vh;
  display: flex;
}

.c-fixed-logo {
  z-index: 1;
  width: 20vw;
  min-width: 200px;
  max-width: 312px;
  margin-bottom: 0;
  position: fixed;
  top: 25%;
  left: 4%;
}

.c-fixed-nav__list {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  margin-bottom: 0;
  padding-left: 0;
}

.c-fixed-nav__link {
  cursor: pointer;
  width: 15vw;
  min-width: 140px;
  max-width: 204px;
}

.c-fixed-nav__link.w--current {
  cursor: pointer;
}

.c-fixed-nav {
  z-index: 6;
  position: fixed;
  top: 25%;
  right: 11%;
}

.c-fixed-nav__list-item {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  display: flex;
}

.c-fixed-l-chara {
  z-index: 1;
  width: 24vw;
  min-width: 200px;
  max-width: 435px;
  position: fixed;
  bottom: 23%;
  left: 2%;
}

.c-fixed-r-chara {
  z-index: 1;
  width: 24vw;
  min-width: 200px;
  max-width: 355px;
  position: fixed;
  bottom: 23%;
  right: 3%;
}

.c-main {
  z-index: 5;
  flex: auto;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  display: flex;
  position: relative;
  overflow: auto;
}

.c-content {
  background-color: #1bad55;
  border: 4px solid #005e25;
  border-radius: 40px;
  width: 100%;
  max-width: 500px;
  margin-top: 60px;
  margin-bottom: 60px;
  padding-left: 24px;
  padding-right: 24px;
}

.c-hero {
  padding-top: 30px;
  padding-bottom: 30px;
  position: relative;
}

.c-hero__title {
  z-index: 20;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: -5% 0% auto;
}

.u-visually-hidden {
  width: 1px;
  height: 1px;
  margin-top: 0;
  margin-bottom: 0;
  position: absolute;
  overflow: hidden;
}

.c-hero__panel {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  background-color: #fff9a8;
  border: 4px solid #005e25;
  border-radius: 20px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 30px;
  padding-bottom: 30px;
  display: flex;
  box-shadow: 4px 4px #005e25;
}

.c-hero__visual {
  margin-top: 40px;
}

.c-cta {
  cursor: pointer;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  transition: all .2s;
}

.c-cta:hover {
  opacity: .75;
}

.c-cta.hide {
  display: none;
}

.c-section {
  padding-top: 30px;
  padding-bottom: 30px;
}

.c-section.is-bottom-none {
  padding-bottom: 0;
}

.c-section.is-top-none {
  padding-top: 0;
}

.c-section__heading {
  background-color: #005e25;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  justify-content: center;
  align-items: center;
  height: 60px;
  display: flex;
  position: relative;
}

.c-prize-l-chara {
  position: absolute;
  inset: 20% auto auto 2%;
}

.c-prize-r-chara {
  position: absolute;
  inset: auto 2% -18% auto;
}

.c-section__body {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  background-color: #fff;
  border: 4px solid #005e25;
  border-top-style: none;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  flex-flow: column;
  padding: 20px;
  display: flex;
}

.c-prize-list {
  background-color: #fffbc7;
  border-radius: 20px;
  margin-top: 25px;
  margin-bottom: 0;
  padding-top: 40px;
  padding-left: 20px;
  padding-right: 20px;
}

.c-prize-card {
  background-color: #fffbc7;
  border-radius: 0;
  margin-top: 25px;
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 30px;
}

.c-prize-card.is-line {
  border-bottom: 2px dashed #005e25;
}

.c-prize-card__heading {
  background-color: #005e25;
  border-radius: 3ch;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: 372px;
  height: 50px;
  display: flex;
  position: absolute;
}

.c-prize-card__panel {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.c-text__xs {
  margin-bottom: 0;
  font-size: .75em;
  line-height: 1.8em;
}

.c-products-l-chara {
  position: absolute;
  inset: auto auto -19% 1%;
}

.c-products-r-chara {
  position: absolute;
  inset: auto 3% 0% auto;
}

.c-howto-l-chara {
  position: absolute;
  inset: auto auto 18% 1%;
}

.c-howto-r-chara {
  position: absolute;
  inset: auto 0% -20% auto;
}

.is-pink {
  color: #fd0079;
}

.c-text__md {
  margin-bottom: 0;
  font-size: 1em;
  line-height: 1.8em;
}

.c-text__md.is-center {
  text-align: center;
}

.c-step-list {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  margin-bottom: 0;
  padding-left: 0;
  display: flex;
}

.c-step__number {
  background-color: #005e25;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  height: 36px;
  display: flex;
}

.c-step__body {
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  border: 3px solid #005e25;
  border-top-style: none;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  justify-content: flex-start;
  align-items: center;
  height: 190px;
  padding: 20px;
  display: flex;
}

.c-text__sm {
  margin-bottom: 0;
  font-size: .9375em;
  line-height: 1.8em;
}

.c-text__sm.is-bold {
  color: #005e25;
  font-weight: 700;
  line-height: 1.6em;
}

.c-frame__bar {
  z-index: 1;
  pointer-events: none;
  background-image: url('../images/bg-stripe.png');
  background-position: 0 0;
  background-size: 80px;
  height: 40px;
  position: fixed;
  inset: 0% 0% auto;
}

.c-frame__bar.c-frame__bar--bottom {
  inset: auto 0% 0%;
}

.open {
  width: 50%;
  padding-bottom: 4px;
}

.c-terms__summary {
  background-color: #005e25;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 60px;
  transition: opacity .2s;
  display: flex;
}

.c-terms__summary:hover {
  opacity: .8;
}

.c-terms__list-item {
  margin-bottom: 4px;
  line-height: 1.8em;
}

.close {
  width: 50%;
  padding-bottom: 4px;
}

.c-terms {
  justify-content: center;
  align-items: center;
}

.c-terms__txt {
  font-size: .9375em;
  line-height: 1.8em;
}

.c-terms__heading {
  color: #005e25;
  margin-top: 30px;
  font-size: 1em;
  line-height: 1em;
}

.txt__link {
  color: #005e25;
  text-decoration-color: #005e25;
}

.c-terms__list {
  margin-top: 10px;
  padding-left: 20px;
  font-size: .9375em;
  line-height: 1.5em;
}

.c-tearms__body {
  background-color: #fff;
  padding-bottom: 20px;
  display: block;
}

.c-contact {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  background-color: #fff;
  border: 4px solid #005e25;
  border-radius: 20px;
  flex-flow: column;
  padding: 20px;
  display: flex;
}

.c-contact__heading {
  color: #005e25;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1em;
  line-height: 1.8em;
}

.c-page-footer__logo {
  justify-content: center;
  align-items: center;
  display: flex;
}

.c-page-footer {
  margin-left: -24px;
  margin-right: -24px;
}

.c-page-footer__copyright {
  color: #fff;
  text-align: center;
  background-color: #005e25;
  border-bottom-right-radius: 34px;
  border-bottom-left-radius: 34px;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: .875em;
  line-height: 1em;
}

.c-fruits-section {
  justify-content: space-around;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
}

.c-cta-teaser {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 991px) {
  .c-fixed-logo, .c-fixed-nav, .c-fixed-l-chara, .c-fixed-r-chara {
    display: none;
  }

  .c-prize-card__heading {
    width: 42%;
  }

  .c-terms__list-item {
    font-size: 1rem;
  }

  .c-terms__heading {
    margin-top: 30px;
  }

  .c-terms__list {
    font-size: 14px;
    line-height: 1.8em;
  }

  .c-tearms__body {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .c-prize-card__heading {
    width: 50%;
  }

  .c-tearms__body {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  .c-content {
    border-radius: 30px;
    max-width: 98%;
    padding-left: 10px;
    padding-right: 10px;
  }

  .c-hero {
    padding-bottom: 20px;
  }

  .c-hero__panel {
    padding: 20px 10px;
    box-shadow: 3px 3px #005e25;
  }

  .c-hero__visual {
    margin-top: 0;
  }

  .c-cta {
    width: 90%;
  }

  .c-section {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .c-section__heading {
    height: 50px;
  }

  .c-prize-l-chara {
    width: 28%;
    top: 25%;
  }

  .c-prize-r-chara {
    width: 24%;
  }

  .c-section__body {
    padding-left: 15px;
    padding-right: 15px;
  }

  .c-prize-list {
    border-radius: 10px;
    padding-top: 10px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .c-prize-card {
    margin-top: 10px;
    padding-bottom: 20px;
  }

  .c-prize-card__heading {
    width: 76%;
    height: 40px;
  }

  .c-text__xs {
    font-size: 3svw;
  }

  .c-products-l-chara {
    width: 26%;
  }

  .c-products-r-chara {
    width: 21%;
  }

  .c-howto-l-chara {
    width: 30%;
  }

  .c-howto-r-chara {
    width: 30%;
    bottom: -21%;
  }

  .c-text__md {
    font-size: 3.6svw;
  }

  .c-text__md.is-center {
    font-size: 3.5svw;
  }

  .c-step__body {
    flex-flow: column;
    height: auto;
    padding-left: 15px;
    padding-right: 15px;
  }

  .c-text__sm {
    font-size: 3.3svw;
  }

  .c-frame__bar.c-frame__bar--top, .c-frame__bar.c-frame__bar--bottom {
    background-size: 60px;
    height: 30px;
  }

  .c-terms__summary {
    height: 50px;
  }

  .c-terms__list-item {
    font-size: 3.5svw;
  }

  .c-terms {
    margin-top: 0;
  }

  .c-terms__txt {
    font-size: 3.5svw;
  }

  .c-terms__heading {
    margin-top: 20px;
    font-size: 3.6svw;
  }

  .c-terms__list {
    font-size: 3.5svw;
  }

  .c-tearms__body {
    margin-top: 10px;
    padding: 0 0 10px;
    display: block;
  }

  .c-contact {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .c-contact__heading {
    font-size: 3.6svw;
  }

  .c-page-footer__logo {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .c-page-footer {
    margin-left: -14px;
    margin-right: -14px;
  }

  .c-page-footer__copyright {
    border-bottom-right-radius: 30px;
    border-bottom-left-radius: 30px;
  }

  .c-hero__title-image {
    width: 65%;
  }

  .c-section__heading-image {
    width: 18%;
  }

  .c-section__heading-image.is-products, .c-section__heading-image.is-howto {
    width: 28%;
  }

  .c-prize-card__heading-image {
    width: 60%;
  }

  .c-step__number-image {
    width: 24%;
  }

  .sp_br {
    display: inline-block;
  }

  .c-page-footer__logo-image {
    width: 42%;
  }

  .c-page-footer__chara-image {
    width: 56%;
  }
}


