@charset "UTF-8";
body {
  background: #ffffff;
  margin: 0 !important;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
  font-family: Arial, Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Osaka, 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic'; }

html {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }
  @media (max-width: 750px) {
    html {
      font-size: 1.3333333333vw; } }
  @media (min-width: 750px) {
    html {
      font-size: 1.3333333333vw; } }
  @media only screen and (min-width: 1025px) {
    html {
      font-size: 0.5vw; } }
  @media (min-width: 2000px) {
    html {
      font-size: 10px; } }

.c1000 *,
.c1000 *::before,
.c1000 *::after {
  box-sizing: border-box; }
.c1000 h1,
.c1000 h2,
.c1000 h3,
.c1000 h4,
.c1000 h5,
.c1000 div,
.c1000 p,
.c1000 ul,
.c1000 li {
  margin: 0;
  padding: 0; }
.c1000 li {
  list-style: none; }
.c1000 img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }
.c1000 a:hover img {
  filter: saturate(200%);
  opacity: 0.9; }
.c1000 .pcOnly {
  display: none; }
  @media only screen and (min-width: 1025px) {
    .c1000 .pcOnly {
      display: inline; } }
.c1000 .spOnly {
  display: inline; }
  @media only screen and (min-width: 1025px) {
    .c1000 .spOnly {
      display: none; } }
@media only screen and (min-width: 420px) {
  .c1000 a[href*='tel:'] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }

/******* キービジュアル*******/
.keyvisual {
  position: relative;
  width: 100%;
  height: 105rem;
  background-image: url(../img/bg_kv_sp.jpg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat; }
  @media only screen and (min-width: 1025px) {
    .keyvisual {
      background-image: url(../img/bg_remon.png);
      background-size: 100% auto;
      width: 75rem;
      height: 105rem; } }
  .keyvisual .logo-house {
    position: absolute;
    width: 19.2rem;
    top: 3.5rem;
    right: 1.5rem; }
  .keyvisual .logo-c1000 {
    position: absolute;
    width: 29.5rem;
    top: 4.6rem;
    left: 3.3rem; }
  .keyvisual .kv-title {
    position: absolute;
    width: 100%;
    top: 7.4rem;
    left: 0; }
  .keyvisual .kv-shadow {
    position: absolute;
    width: 100%;
    top: 7.4rem;
    left: 0;
    mix-blend-mode: multiply; }
  .keyvisual .kv-prod {
    position: absolute;
    width: 100%;
    top: 50.6rem;
    left: 0; }
  .keyvisual .kv-catch {
    position: absolute;
    width: 100%;
    background: #ff0000;
    height: 6.3rem;
    bottom: 17.7rem;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    .keyvisual .kv-catch img {
      width: 68.9rem; }
  .keyvisual .kv-period {
    position: absolute;
    width: 68rem;
    bottom: 1.1rem;
    right: 0;
    left: 0;
    margin: auto; }

/******* リード *******/
.lead {
  position: relative;
  background-color: #fff;
  padding: 5.5rem 0 8.9rem !important; }
  .lead .lead-ti {
    width: 56.9rem;
    margin: 0 auto 0 8.5rem; }
  .lead .lead-step {
    width: 63.9rem;
    margin: 2.7rem auto 0; }
  .lead .lead-bt {
    width: 60.7rem;
    margin: 7.5rem auto 0; }

.prize01 {
  position: relative;
  background-color: #f3ef4d;
  background-image: url("../img/patarn_border.png");
  background-repeat: repeat;
  background-size: 7.2rem 7.2rem;
  padding: 31.6rem 0 6rem !important; }
  .prize01 .prize-ti_wrap {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100; }
    .prize01 .prize-ti_wrap .prize-ti {
      position: absolute;
      width: 40.1rem;
      top: 0;
      left: 0;
      right: 0;
      margin: auto; }
  .prize01 .prize-column {
    width: 63.2rem;
    margin: 0rem auto 0; }
  .prize01 .prize-column-md {
    width: 100%;
    padding: 7.1rem 0 0;
    background: url("../img/bg_prize01_column.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    align-items: center; }
    .prize01 .prize-column-md img {
      display: block;
      width: 44.5rem;
      margin: 0 auto; }
  .prize01 .prize-column-cont {
    width: 100%;
    background: #00aa00;
    border-radius: 0 0 5rem 5rem;
    padding: 3.7rem 0 5rem; }
  .prize01 .quo_link_detail {
    width: 51rem;
    margin: 3.9rem auto 0; }
    .prize01 .quo_link_detail li {
      height: 3.3rem;
      text-align: left; }
      .prize01 .quo_link_detail li img {
        height: 100%;
        width: auto; }
    .prize01 .quo_link_detail li + li {
      margin-top: 2.2rem; }
  .prize01 .quo_btn {
    display: flex;
    width: 51.8rem;
    height: 11.6rem;
    border: 0.5rem solid #FFF;
    background: #00aa00;
    border-radius: 60rem;
    margin: 3.7rem auto 0;
    background-image: url("../img/bt_quo_open.svg");
    background-size: 3.1rem 3.1rem;
    background-position: center right 4rem;
    background-repeat: no-repeat;
    align-items: center;
    padding: 0 0 0 3.1rem;
    cursor: pointer; }
    .prize01 .quo_btn img {
      width: 37.6rem; }
    .prize01 .quo_btn.active {
      background-image: url(../img/bt_quo_close.svg); }
  .prize01 .quo_about {
    display: none;
    width: 58rem;
    margin: 2rem auto 0;
    background: #cfe700;
    border-radius: 1rem;
    padding: 5rem 1rem; }
    .prize01 .quo_about.active {
      display: block; }
    .prize01 .quo_about .quo_about_md {
      width: 54rem;
      margin: 0rem auto 0; }
    .prize01 .quo_about .quo_about_cont {
      width: 50.1rem;
      margin: 5.8rem auto 0; }
    .prize01 .quo_about .kome {
      width: 52rem;
      margin: 5.8rem auto 0;
      font-size: 1.8rem; }
      .prize01 .quo_about .kome li {
        text-indent: -1em;
        margin-left: 1em; }
      .prize01 .quo_about .kome li + li {
        margin-top: 0.5em; }

.prize03 {
  position: relative;
  background-color: #9fd6e0;
  background-image: url("../img/bg_arch prize03.png"), url("../img/patarn_border.png");
  background-repeat: no-repeat,repeat;
  background-position: top center, top center;
  background-size: 100% auto, 7.2rem 7.2rem;
  padding: 27rem 0 6rem !important; }
  .prize03 .prize03-column {
    width: 63.2rem;
    margin: 0rem auto 0; }
  .prize03 .prize03-column-md {
    width: 100%;
    padding: 7.1rem 0 0;
    background: url("../img/bg_prize03_column.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    align-items: center; }
    .prize03 .prize03-column-md img {
      display: block;
      width: 37.4rem;
      margin: 0 auto; }
  .prize03 .prize03-column-cont {
    width: 100%;
    background: #447eff;
    border-radius: 0 0 5rem 5rem;
    padding: 1.7rem 0 5rem; }

.prize06 {
  position: relative;
  background-color: #fae500;
  background-image: url("../img/bg_arch prize06.png"), url("../img/patarn_border.png");
  background-repeat: no-repeat,repeat;
  background-position: top center, top center;
  background-size: 100% auto, 7.2rem 7.2rem;
  padding: 23.7rem 0 4.5rem !important; }
  .prize06 .prize06_ill {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0; }
  .prize06 .prize06-column {
    width: 63.2rem;
    margin: 0rem auto 0; }
  .prize06 .prize06-column-md {
    width: 100%;
    padding: 6.4rem 0 0;
    background: url("../img/bg_prize06_column.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    align-items: center; }
    .prize06 .prize06-column-md img {
      display: block;
      width: 37.2rem;
      margin: 0 auto; }
  .prize06 .prize06-column-cont {
    width: 100%;
    background: #ffef00;
    border-radius: 0 0 5rem 5rem;
    padding: 1.8rem 0 5rem; }
  .prize06 .prize06-note {
    width: 63.2rem;
    margin: 4.4rem auto 0; }

/******* 対象商品 *******/
.prod {
  position: relative;
  background-image: url("../img/bg_arch prod.png"), url(../img/bg_prod.png);
  background-size: 100% auto, 100% auto;
  background-position: top center, top center;
  background-repeat: no-repeat, repeat-y;
  padding: 16.7rem 0 5rem !important; }
  .prod .prod-title {
    width: 40.1rem;
    margin: 0 auto; }
  .prod .prod-ill {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0; }
  .prod .prod-ph {
    width: 63.6rem;
    margin: 4rem auto 0; }
  .prod .prod-note {
    width: 65rem;
    margin: 3.8rem auto 0; }

/******* 応募方法 *******/
.method {
  position: relative;
  background-color: #00aa00;
  background-image: url("../img/bg_method.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 21.5rem 0 6rem !important; }
  .method .method-title {
    width: 40.1rem;
    margin: 0 auto; }
  .method .step {
    width: 66rem;
    margin: 3rem auto 0; }
    .method .step li {
      position: relative;
      background: #FFF;
      border-radius: 3.1rem; }
    .method .step li + li {
      margin-top: 7.9rem; }
    .method .step .step01 {
      padding: 4.7rem 0 12.6rem; }
      .method .step .step01 .step01_fig {
        width: 34rem;
        margin: 0 auto; }
    .method .step .step02 {
      padding: 4.7rem 0 5.3rem; }
      .method .step .step02 .step02_fig {
        width: 52.3rem;
        margin: 0 auto; }
      .method .step .step02 .bt {
        width: 50.5rem;
        margin: 4.6rem auto 0; }
    .method .step .step03 {
      padding: 4.7rem 0 8.2rem; }
      .method .step .step03 .step03_fig {
        width: 57.7rem;
        margin: 0 auto; }
      .method .step .step03 .receipt_wrap {
        background-color: #ffff00;
        background-image: url("../img/bg_receipt_t.png"), url("../img/bg_receipt_b.png");
        background-position: top center,bottom center;
        background-repeat: no-repeat;
        background-size: 100% auto;
        width: 54.4rem;
        margin: 0rem auto 0;
        padding: 7.5rem 0 6rem; }
        .method .step .step03 .receipt_wrap .receipt_md {
          width: 46.1rem;
          margin: 0 auto; }
        .method .step .step03 .receipt_wrap .receipt01 {
          width: 48.8rem;
          margin: 5rem auto 0; }
        .method .step .step03 .receipt_wrap .receipt02 {
          width: 46rem;
          margin: 6.6rem auto 0; }
      .method .step .step03 .step03_note {
        width: 28em;
        font-size: 2.1rem;
        text-indent: -1em;
        padding-left: 1em;
        margin: 5rem auto 0; }
    .method .step .step04 {
      padding: 4.7rem 0 6.5rem; }
      .method .step .step04 .step04_fig {
        width: 24.8rem;
        margin: 0 auto; }
    .method .step .step05 {
      padding: 4.7rem 0 6.9rem; }
      .method .step .step05 .step05_fig {
        width: 52.4rem;
        margin: 0 auto; }
      .method .step .step05 .step05_note {
        width: 23em;
        font-size: 2.1rem;
        text-indent: -1em;
        padding-left: 1em;
        margin: 3.4rem auto 0; }
    .method .step .arrow {
      position: absolute;
      width: 9.5rem;
      bottom: -6.6rem;
      left: 0;
      right: 0;
      margin: auto; }
  .method .receipt-ex-btn,
  .method .receipt-ng-btn {
    width: 54.5rem;
    height: 12.4rem;
    margin: 7.5rem auto 0;
    border: 2px solid #000;
    border-radius: 6.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(../img/black_open.svg);
    background-size: 4.2rem auto;
    background-position: right 5rem center;
    background-repeat: no-repeat; }
    .method .receipt-ex-btn.active,
    .method .receipt-ng-btn.active {
      background-image: url(../img/black_close.svg); }
    .method .receipt-ex-btn img,
    .method .receipt-ng-btn img {
      width: 33.6rem; }
  .method .receipt-ng-btn {
    margin: 4.5rem auto 0; }
    .method .receipt-ng-btn img {
      width: 29.4rem; }
  .method .receipt-ex {
    display: none;
    width: 54.5rem;
    margin: 6.2rem auto 0; }
    .method .receipt-ex .receipt-ex-01 {
      width: 46rem;
      margin: 0 auto; }
    .method .receipt-ex .receipt-ex-02 {
      width: 46rem;
      margin: 6rem auto 0; }
  .method .receipt-ex-note {
    width: 47rem;
    margin: 5rem auto 0; }
    .method .receipt-ex-note li {
      font-size: 2.2rem;
      line-height: 1.5;
      padding-left: 1em;
      text-indent: -1em;
      margin-top: 0.25em !important; }
  .method .receipt-ng {
    display: none;
    width: 60.6rem;
    margin: 4.2rem auto 0; }

.receipt-ex-note2 {
  width: 62.5rem;
  margin: 4rem auto 0 !important; }
  .receipt-ex-note2 li {
    font-size: 2.2rem;
    line-height: 1.5;
    color: #fff;
    padding-left: 1em;
    text-indent: -1em;
    margin-top: 0.25em; }

/******* 応募要項・規約 *******/
.terms {
  position: relative; }
  .terms a {
    color: #000;
    text-decoration: underline; }
    .terms a:hover {
      opacity: 0.8; }
  .terms .terms-btn {
    width: 58rem;
    height: 11.8rem;
    margin: 5.5rem auto 0;
    background-color: #ffff00;
    border-radius: 5.9rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(../img/black_open.svg);
    background-size: 4rem auto;
    background-position: right 5rem center;
    background-repeat: no-repeat;
    cursor: pointer;
    padding: 0 5em 0 0; }
    .terms .terms-btn.active {
      background-image: url(../img/black_close.svg); }
    .terms .terms-btn img {
      width: 37.3rem; }
  .terms .terms-wrap {
    display: none;
    width: 57rem;
    margin: 3rem auto 0;
    border-radius: 1.7rem;
    background-color: #fff;
    padding: 3.5rem 0.5rem 3.5rem 2.5rem; }
  .terms .terms-cont {
    height: 51rem;
    overflow-y: scroll;
    overflow-x: hidden;
    font-size: 2rem;
    color: #000;
    padding-right: 3rem; }
    .terms .terms-cont::-webkit-scrollbar {
      width: 0;
      /* Chrome, Safari, Opera */ }
    .terms .terms-cont p {
      margin-top: 0.5em; }
      .terms .terms-cont p.note {
        padding-left: 1em;
        text-indent: -1em; }
    .terms .terms-cont h2 {
      font-size: 2.8rem;
      margin-top: 1.5em;
      text-align: center; }
    .terms .terms-cont h3 {
      font-size: 2.8rem;
      margin-top: 1.5em;
      border-bottom: 1px solid #000; }
    .terms .terms-cont h4,
    .terms .terms-cont .subtitle {
      font-size: 2.4rem;
      font-weight: bold;
      margin-top: 1em; }
    .terms .terms-cont h5 {
      font-size: 2.3rem;
      margin-top: 0.75em; }
    .terms .terms-cont .prizelist li {
      padding-left: 1em;
      text-indent: -1em; }
    .terms .terms-cont ul.sub {
      margin: 0.5em auto 0 1em; }
      .terms .terms-cont ul.sub li {
        padding-left: 1em;
        text-indent: -1em; }
    .terms .terms-cont ul.note {
      margin: 0.5em auto 0; }
      .terms .terms-cont ul.note li {
        padding-left: 1em;
        text-indent: -1em; }
    .terms .terms-cont h5 + ul, .terms .terms-cont h4 + ul, .terms .terms-cont h3 + ul {
      margin-top: 0.5em; }
    .terms .terms-cont ul.disc li {
      list-style: disc;
      margin-left: 1.25em;
      margin-bottom: 0.25em; }

/******* お問い合わせ先 *******/
.contact {
  position: relative;
  background-color: #fff;
  padding: 5.8rem 0 31.2rem !important; }
  @media only screen and (min-width: 1025px) {
    .contact {
      padding: 5.8rem 0 8.1rem !important; } }
  .contact .contact-ti {
    width: 39.9rem;
    margin: 0 auto 0; }
  .contact .contact-name {
    width: 61.2rem;
    margin: 3rem auto 0; }
  .contact .contact-telno {
    width: 47.5rem;
    margin: 3.5rem auto 0; }
  .contact .contact-period {
    width: 56.3rem;
    margin: 6.4rem auto 0;
    font-size: 2.9rem;
    line-height: 1.5;
    text-align: center; }
  .contact .contact-time {
    margin: 3.6rem auto 0;
    font-size: 2.8rem;
    text-align: center; }
  .contact .contact-note {
    margin: 1.2rem auto 0;
    font-size: 2.1rem;
    text-align: center; }

.c1000 {
  /******* PC表示用 *******/ }
  .c1000 .pc-left,
  .c1000 .pc-right {
    display: none; }
  @media only screen and (min-width: 1025px) {
    .c1000 .contents-wrap {
      width: 100%;
      background-image: url(../img/bg_body.jpg);
      background-size: cover;
      background-position: top center;
      background-repeat: no-repeat;
      background-attachment: fixed; }
    .c1000 .lp-contents {
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (min-width: 1025px) and (min-width: 1025px) {
    .c1000 .lp-contents {
      width: 75rem; } }
  @media only screen and (min-width: 1025px) {
    .c1000 .pc-left {
      position: fixed;
      display: flex;
      align-items: center;
      justify-content: center;
      top: 0;
      left: 0;
      width: 62.5rem;
      height: 100%; }
      .c1000 .pc-left .pc-right-cont {
        margin: auto; }
        .c1000 .pc-left .pc-right-cont .pc-left-qr {
          margin: auto;
          width: 32.2rem; }
    .c1000 .pc-right {
      position: fixed;
      display: flex;
      align-items: center;
      justify-content: center;
      top: 0;
      right: 0;
      width: 62.5rem;
      height: 100%; }
      .c1000 .pc-right .pc-right-cont {
        margin: auto; }
        .c1000 .pc-right .pc-right-cont .pc-right-nav {
          width: 42.3rem;
          margin: auto auto; }
          .c1000 .pc-right .pc-right-cont .pc-right-nav li {
            height: 6.7rem; }
            .c1000 .pc-right .pc-right-cont .pc-right-nav li img {
              height: 100%;
              width: auto; }
          .c1000 .pc-right .pc-right-cont .pc-right-nav li + li {
            margin-top: 4rem; } }

/******* 固定ボタン *******/
.contact {
  position: relative;
  background-color: #fff; }
  .contact .contact-title {
    width: calc(306 / 750 * 100vw);
    margin: calc(87 / 750 * 100vw) auto 0; }
    @media only screen and (min-width: 1025px) {
      .contact .contact-title {
        width: calc(306 / 2000 * 100vw);
        margin: calc(87 / 2000 * 100vw) auto 0; } }

.fixbtn {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 23.1rem;
  background-image: url("../img/bg_navi.png");
  background-position: top center;
  background-size: cover;
  z-index: 2000; }
  @media only screen and (min-width: 1025px) {
    .fixbtn {
      display: none; } }
  .fixbtn ul {
    display: flex;
    width: 67rem;
    justify-content: space-between; }
    .fixbtn ul li {
      width: 14.4rem; }
