@charset "UTF-8";
html {
  font-size: 62.5%;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  word-wrap: break-word;
  background-color: #fff;
}

body {
  font-size: 1.4rem;
  margin: 0;
  padding: 0;
  background-color: #ffffff;
}
@media only screen and (min-width: 750px) {
  body {
    font-size: 1.6rem;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

h1,
h2,
h3,
div,
p,
ul,
li {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom;
}

a:hover {
  opacity: 0.8;
}

.only_pc {
  display: none;
}
@media only screen and (min-width: 750px) {
  .only_pc {
    display: inline;
  }
}

.only_sp {
  display: inline;
}
@media only screen and (min-width: 750px) {
  .only_sp {
    display: none;
  }
}

@media only screen and (min-width: 750px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

@media only screen and (min-width: 420px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.inner {
  width: 100vw;
}
@media only screen and (min-width: 750px) {
  .inner {
    width: 750px;
    margin: 0 auto;
  }
}

.header {
  position: relative;
  width: 100vw;
  height: 15.2vw;
  background-color: #b40000;
}
@media only screen and (min-width: 750px) {
  .header {
    width: 750px;
    height: 114px;
    margin: 0 auto;
  }
}

.header-clearlogo {
  position: absolute;
  top: 2.1333333333vw;
  left: 6.6666666667vw;
  width: 18.4vw;
}
@media only screen and (min-width: 750px) {
  .header-clearlogo {
    top: 16px;
    left: 50px;
    width: 138px;
  }
}

.header-kose {
  position: absolute;
  top: 3.8666666667vw;
  right: 6vw;
  width: 14vw;
}
@media only screen and (min-width: 750px) {
  .header-kose {
    top: 29px;
    right: 45px;
    width: 105px;
  }
}

.contents {
  width: 100vw;
  padding: 2.4vw 0 6.4vw;
  background-color: #fff23f;
  background-image: url(../img/backimage.jpg);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 750px) {
  .contents {
    width: 750px;
    padding: 18px 0 48px;
  }
}

.keyvisual {
  position: relative;
  width: 84.5333333333vw;
  margin: 0 auto;
}
@media only screen and (min-width: 750px) {
  .keyvisual {
    width: 634px;
  }
}

.keyvisual-btn {
  position: absolute;
  top: 38.2666666667vw;
  left: 50%;
  transform: translateX(-50%);
  width: 61.3333333333vw;
}
@media only screen and (min-width: 750px) {
  .keyvisual-btn {
    top: 287px;
    width: 460px;
  }
}

.subtitle {
  width: 88vw;
  height: 7.4666666667vw;
  border-top-left-radius: 1.8666666667vw;
  border-top-right-radius: 1.8666666667vw;
  background-color: #b40000;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 750px) {
  .subtitle {
    width: 660px;
    height: 56px;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
  }
}
.subtitle img {
  height: 4vw;
  vertical-align: middle;
}
@media only screen and (min-width: 750px) {
  .subtitle img {
    height: 30px;
  }
}
.subtitle.terms {
  background-image: url(../img/terms_plus.svg);
  background-size: 3.7333333333vw auto;
  background-position: center right 5.0666666667vw;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 750px) {
  .subtitle.terms {
    background-size: 28px auto;
    background-position: center right 38px;
    cursor: pointer;
  }
}
.subtitle.terms.active {
  background-image: url(../img/terms_minus.svg);
}

.period {
  position: relative;
  margin: -6.6666666667vw auto 0;
  width: 88vw;
}
@media only screen and (min-width: 750px) {
  .period {
    margin: -50px auto 0;
    width: 660px;
  }
}

.period-wrap {
  width: 88vw;
  padding: 3.3333333333vw 0;
  border-bottom-left-radius: 1.8666666667vw;
  border-bottom-right-radius: 1.8666666667vw;
  background-color: #fff;
}
@media only screen and (min-width: 750px) {
  .period-wrap {
    width: 660px;
    padding: 25px 0;
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
  }
}

.period-cont {
  width: 76.9333333333vw;
  margin: 0 auto;
}
@media only screen and (min-width: 750px) {
  .period-cont {
    width: 577px;
  }
}

.prod {
  margin: 4vw auto 0;
  width: 88vw;
}
@media only screen and (min-width: 750px) {
  .prod {
    margin: 30px auto 0;
    width: 660px;
  }
}

.prod-wrap {
  width: 88vw;
  padding: 3.7333333333vw 0 1.0666666667vw;
  border-bottom-left-radius: 1.8666666667vw;
  border-bottom-right-radius: 1.8666666667vw;
  background-color: #fff;
}
@media only screen and (min-width: 750px) {
  .prod-wrap {
    width: 660px;
    padding: 28px 0 8px;
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
  }
}

.prod-cont {
  width: 68.9333333333vw;
  margin: 0 auto;
}
@media only screen and (min-width: 750px) {
  .prod-cont {
    width: 517px;
  }
}

.linkbtn {
  width: 87.0666666667vw;
  margin: 3.0666666667vw auto 0;
}
@media only screen and (min-width: 750px) {
  .linkbtn {
    width: 653px;
    margin: 23px auto 0;
  }
}

.prize {
  margin: 4vw auto 0;
  width: 88vw;
}
@media only screen and (min-width: 750px) {
  .prize {
    margin: 30px auto 0;
    width: 660px;
  }
}

.prize-wrap {
  width: 88vw;
  padding: 3.3333333333vw 0 2.6666666667vw;
  border-bottom-left-radius: 1.8666666667vw;
  border-bottom-right-radius: 1.8666666667vw;
  background-color: #fff;
}
@media only screen and (min-width: 750px) {
  .prize-wrap {
    width: 660px;
    padding: 25px 0 20px;
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
  }
}

.prize-catch {
  width: 72.8vw;
  margin: 0 auto;
}
@media only screen and (min-width: 750px) {
  .prize-catch {
    width: 546px;
  }
}

.prize-eraberu {
  width: 60vw;
  margin: 0 auto;
}
@media only screen and (min-width: 750px) {
  .prize-eraberu {
    width: 450px;
  }
}

.prize-text1 {
  width: 74.1333333333vw;
  margin: 0 auto;
}
@media only screen and (min-width: 750px) {
  .prize-text1 {
    width: 556px;
  }
}

.prize-text2 {
  width: 74.1333333333vw;
  margin: 1.3333333333vw auto 0;
}
@media only screen and (min-width: 750px) {
  .prize-text2 {
    width: 556px;
    margin: 10px auto 0;
  }
}

.prize-text-note {
  width: 77.0666666667vw;
  margin: 2.2666666667vw auto 0;
}
@media only screen and (min-width: 750px) {
  .prize-text-note {
    width: 578px;
    margin: 17px auto 0;
  }
}

.prize-mark {
  width: 76.5333333333vw;
  margin: 2.6666666667vw auto 0;
}
@media only screen and (min-width: 750px) {
  .prize-mark {
    width: 574px;
    margin: 20px auto 0;
  }
}

.prize-notes {
  width: 76.5333333333vw;
  margin: 2.6666666667vw auto 0;
  font-size: 2.4vw;
  line-height: 1.4;
}
@media only screen and (min-width: 750px) {
  .prize-notes {
    width: 574px;
    margin: 20px auto 0;
    font-size: 1.3rem;
  }
}
.prize-notes li {
  list-style: disc;
  margin-left: 1.5em;
}

.contact {
  margin: 2.6666666667vw auto 0;
  width: 88vw;
}
@media only screen and (min-width: 750px) {
  .contact {
    margin: 20px auto 0;
    width: 660px;
  }
}

.contact-wrap {
  width: 88vw;
  padding: 4.2666666667vw 0 2.9333333333vw;
  border-bottom-left-radius: 1.8666666667vw;
  border-bottom-right-radius: 1.8666666667vw;
  background-color: #fff;
}
@media only screen and (min-width: 750px) {
  .contact-wrap {
    width: 660px;
    padding: 32px 0 22px;
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
  }
}

.contact-tel {
  width: 70.4vw;
  margin: 0 auto;
}
@media only screen and (min-width: 750px) {
  .contact-tel {
    width: 528px;
  }
}

.contact-time {
  width: 72.6666666667vw;
  margin: 2.6666666667vw auto 0;
}
@media only screen and (min-width: 750px) {
  .contact-time {
    width: 545px;
    margin: 20px auto 0;
  }
}

.line-btn {
  width: 61.3333333333vw;
  margin: 6.4vw auto 0;
}
@media only screen and (min-width: 750px) {
  .line-btn {
    width: 460px;
    margin: 48px auto 0;
  }
}

.terms {
  margin: 2.6666666667vw auto 0;
  width: 88vw;
}
@media only screen and (min-width: 750px) {
  .terms {
    margin: 20px auto 0;
    width: 660px;
  }
}

.terms-wrap {
  width: 88vw;
  padding: 4.2666666667vw 2.6666666667vw 2.9333333333vw;
  border-bottom-left-radius: 1.8666666667vw;
  border-bottom-right-radius: 1.8666666667vw;
  background-color: #fff;
  display: none;
}
@media only screen and (min-width: 750px) {
  .terms-wrap {
    width: 660px;
    padding: 32px 20px 22px;
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
  }
}
.terms-wrap h3 {
  font-size: 2.9333333333vw;
  margin-bottom: 0.5em;
}
@media only screen and (min-width: 750px) {
  .terms-wrap h3 {
    font-size: 1.4rem;
  }
}
.terms-wrap p, .terms-wrap ul {
  font-size: 2.4vw;
  line-height: 1.4;
  margin-bottom: 0.75em;
}
@media only screen and (min-width: 750px) {
  .terms-wrap p, .terms-wrap ul {
    font-size: 1.3rem;
    margin-bottom: 0.5em;
  }
}