@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';
  animation: fadeIn 1.8s ease 0s 1 normal;
  -webkit-animation: fadeIn 1.8s ease 0s 1 normal; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
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(130%);
  opacity: 1; }
.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; } }

.c1000 {
  /******* キービジュアル*******/ }
  .c1000 .keyvisual {
    position: relative;
    width: 100%;
    background-color: #fff500;
    background-image: url(../img/bg_kv.svg);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    padding: 14.6rem 0 0 0; }
    .c1000 .keyvisual .logo {
      position: absolute;
      width: 18.5rem;
      top: 3.9rem;
      left: 3.5rem; }
    .c1000 .keyvisual .logo_c1000 {
      position: absolute;
      width: 20rem;
      top: 15.8rem;
      left: 0;
      right: 0;
      margin: auto; }
    .c1000 .keyvisual .kv-title {
      width: 100%; }
    .c1000 .keyvisual .kv-period {
      width: 69.4rem;
      margin: 2.1rem auto 0;
      filter: drop-shadow(0.6rem 0.6rem 0 rgba(0, 0, 0, 0.1)); }
    .c1000 .keyvisual .kv-ph {
      width: 100%;
      margin: 2.5rem auto 0; }
    .c1000 .keyvisual .kv_copy {
      background: #ff4696;
      text-align: center;
      height: 5.6rem;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #FFF;
      font-size: 2.6rem; }

/******* イントロ *******/
.intro {
  position: relative;
  background-color: #fffaa0;
  background-image: url("../img/frills.png"), url("../img/bg_intro.png");
  background-position: top center, bottom center;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% auto, 100% auto;
  padding: 21rem 0 56.4rem !important; }
  .intro .intro-catch {
    width: 100%;
    margin: 0 auto 0; }
  .intro .intro-text {
    width: 54rem;
    margin: 6rem auto 0; }
  .intro .intro-bt {
    width: 55rem;
    margin: 8.2rem auto 0;
    filter: drop-shadow(0 0.7rem 0 #eed370); }

.point {
  position: relative;
  background-color: #ffff00;
  background-image: url("../img/bg_yellow_dot.png");
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-position: top center;
  padding: 0 0 14rem !important;
  border-top: 1rem solid #FFF; }
  .point .point-ti {
    width: 100%;
    margin: 0rem auto 0; }
  .point .point-lead {
    width: 65rem;
    margin: 6.7rem auto 0; }
  .point .point_prize_md {
    width: 65.9rem;
    margin: 10rem auto 0;
    filter: drop-shadow(0 0 0.5rem rgba(227, 133, 0, 0.2)); }
  .point .point_prize {
    width: 100%;
    margin: 5rem auto 0; }
    .point .point_prize li + li {
      margin-top: 3rem; }
    .point .point_prize .btarea {
      background-image: url("../img/prize_e_bg.png");
      background-size: 100% 100%;
      padding: 2.8rem 0 0.7rem 0; }
      .point .point_prize .btarea .bt01 {
        display: block;
        width: 51.1rem;
        margin: 0rem auto 0; }
      .point .point_prize .btarea .bt02 {
        display: block;
        width: 51.1rem;
        margin: 1.4rem auto 0; }
  .point .point-note {
    width: 35em;
    color: #956134;
    text-align: left;
    font-size: 1.8rem;
    line-height: 1.5em;
    margin: 5.7rem auto 0; }
  .point .quo {
    width: 54rem;
    margin: 2.4rem auto 0; }
    .point .quo .quo-btn {
      width: 51.1rem;
      height: 9.6rem;
      background-color: #00c800;
      background-image: url("../img/bt_icon_open.svg");
      background-size: 3.2rem auto;
      background-position: center right 6.8rem;
      background-repeat: no-repeat;
      display: flex;
      justify-content: left;
      align-items: center;
      margin: 0 auto;
      padding: 0 0 0 7.1rem;
      border-radius: 4.9rem;
      filter: drop-shadow(0 0.7rem 0 rgba(0, 153, 68, 0.3)); }
      .point .quo .quo-btn img {
        width: 32.3rem; }
      .point .quo .quo-btn.active {
        background-image: url("../img/bt_icon_close.svg"); }
      .point .quo .quo-btn:hover {
        cursor: pointer; }
    .point .quo .quo-wrap {
      width: 100%;
      display: none;
      padding: 4rem 0 0.7rem 0;
      margin: 0 auto; }
      .point .quo .quo-wrap.active {
        display: block; }
      .point .quo .quo-wrap .quo01 {
        width: 54rem;
        margin: 0 auto; }
      .point .quo .quo-wrap .quo02 {
        width: 50.1rem;
        margin: 3.5rem auto 0; }
      .point .quo .quo-wrap .list-kome {
        margin: 6rem auto 0; }
        .point .quo .quo-wrap .list-kome li {
          color: #956134;
          position: relative;
          padding-left: 1em;
          font-size: 1.7rem;
          line-height: 1.4em; }
          .point .quo .quo-wrap .list-kome li:before {
            content: '※';
            position: absolute;
            left: 0; }
        .point .quo .quo-wrap .list-kome li + li {
          margin: 0.5em 0 0 0; }
  .point .point_present_md {
    width: 68.5rem;
    margin: 11rem auto 0;
    filter: drop-shadow(0 0 0.5rem rgba(227, 133, 0, 0.2)); }
  .point .point_present {
    width: 100%;
    margin: 5rem auto 0; }

.must {
  position: relative;
  background-color: #ffff00;
  background-image: url("../img/bg_yellow_dot.png");
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-position: top center;
  padding: 0 0 9.5rem !important;
  border-top: 1rem solid #FFF; }
  .must .must-ti {
    width: 100%;
    margin: 0rem auto 0; }
  .must .must-lead {
    width: 66rem;
    margin: 5.5rem auto 0; }
  .must .must-ph {
    width: 100%;
    margin: 5rem auto 0; }
  .must .list-kome {
    width: 35em;
    margin: 8rem auto 0;
    font-size: 1.7rem; }
    .must .list-kome li {
      color: #956134;
      position: relative;
      padding-left: 1em;
      line-height: 1.4em; }
      .must .list-kome li:before {
        content: '※';
        position: absolute;
        left: 0; }
    .must .list-kome li + li {
      margin: 0.5em 0 0 0; }

/******* 対象商品 *******/
.prod {
  position: relative;
  background-color: #FFF;
  background-image: url("../img/bg_white_dot.png");
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-position: top center;
  padding: 0 0 14rem !important;
  border-top: 1rem solid #FFF; }
  .prod .prod-title {
    width: 100%;
    margin: 0rem auto 0; }
  .prod .prod-ph {
    width: 100%;
    margin: 6rem auto 0; }
  .prod .list-kome {
    width: 35em;
    margin: 9.6rem auto 0;
    font-size: 1.7rem; }
    .prod .list-kome li {
      color: #956134;
      position: relative;
      padding-left: 1em;
      line-height: 1.4em; }
      .prod .list-kome li:before {
        content: '※';
        position: absolute;
        left: 0; }
    .prod .list-kome li + li {
      margin: 0.5em 0 0 0; }

/******* 応募方法 *******/
.method {
  position: relative;
  background-color: #fffaa0;
  padding: 0 0 12.4rem !important;
  border-top: 1rem solid #FFF; }
  .method .method-title {
    width: 100%;
    margin: 0 auto; }
  .method .method-note {
    color: #ff0000;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.3em;
    text-align: center;
    margin: 4.2rem auto 3.8rem; }
  .method .method-point {
    width: 65rem;
    margin: 5rem auto 0;
    background: #00c800;
    border-radius: 4rem;
    padding: 4.5rem 0 5rem; }
    .method .method-point .method-point-ti {
      width: 43.8rem;
      margin: 0 auto; }
  .method .method-point-flow {
    width: 58rem;
    margin: 3.8rem auto 0; }
    .method .method-point-flow li {
      position: relative; }
      .method .method-point-flow li::before {
        position: absolute;
        /*絶対配置*/
        content: '';
        /*何も入れない*/
        display: inline-block;
        width: 8.1rem;
        /*画像の幅*/
        height: 8.1rem;
        /*画像の高さ*/
        background-image: url(../img/method_arrow_point.svg);
        background-size: contain;
        vertical-align: middle;
        top: -6.2rem;
        /*下にフィット*/
        left: 50%;
        /*中央配置*/
        transform: translateX(-50%);
        /*一応ズレを補正*/ }
    .method .method-point-flow li:first-child::before {
      display: none; }
    .method .method-point-flow li + li {
      margin-top: 3.8rem; }
    .method .method-point-flow .step02 {
      position: relative; }
      .method .method-point-flow .step02 .bt_friend {
        position: absolute;
        bottom: 8rem;
        left: 50%;
        /*中央配置*/
        transform: translateX(-50%);
        /*一応ズレを補正*/
        width: 55rem;
        filter: drop-shadow(0 0.7rem 0 rgba(199, 123, 0, 0.3)); }
  .method .method-must {
    width: 65rem;
    margin: 7.4rem auto 0;
    background: #ff7800;
    border-radius: 4rem;
    padding: 4.5rem 0 5rem; }
    .method .method-must .method-must-ti {
      width: 43.8rem;
      margin: 0 auto; }
  .method .method-must-flow {
    width: 58rem;
    margin: 3.8rem auto 0; }
    .method .method-must-flow li {
      position: relative; }
      .method .method-must-flow li::before {
        position: absolute;
        /*絶対配置*/
        content: '';
        /*何も入れない*/
        display: inline-block;
        width: 8.1rem;
        /*画像の幅*/
        height: 8.1rem;
        /*画像の高さ*/
        background-image: url(../img/method_arrow_must.svg);
        background-size: contain;
        vertical-align: middle;
        top: -6.2rem;
        /*下にフィット*/
        left: 50%;
        /*中央配置*/
        transform: translateX(-50%);
        /*一応ズレを補正*/ }
    .method .method-must-flow li:first-child::before {
      display: none; }
    .method .method-must-flow li + li {
      margin-top: 3.8rem; }
    .method .method-must-flow .step01 {
      position: relative; }
      .method .method-must-flow .step01 .bt_mypage {
        position: absolute;
        bottom: 8rem;
        left: 50%;
        /*中央配置*/
        transform: translateX(-50%);
        /*一応ズレを補正*/
        width: 55rem;
        filter: drop-shadow(0 0.7rem 0 rgba(199, 123, 0, 0.3)); }
  .method .method-list-kome {
    width: 58rem;
    color: #FFF;
    margin: 4.3rem auto 0; }
    .method .method-list-kome li {
      position: relative;
      padding-left: 1em;
      font-size: 1.8rem;
      line-height: 1.4em; }
      .method .method-list-kome li:before {
        content: '※';
        position: absolute;
        left: 0; }
    .method .method-list-kome li + li {
      margin: 0.5em 0 0 0; }
  .method .close_date {
    width: 65.3rem;
    margin: 11.2rem auto 0; }
  .method .method_note {
    text-align: center;
    font-size: 1.8rem;
    margin: 9.4rem auto 0;
    color: #956134; }

/******* 応募要項・規約 *******/
.requirements {
  width: 61.3rem;
  margin: 10rem auto 0; }
  .requirements .requirements-btn {
    width: 61.3rem;
    background-color: #ff4696;
    background-image: url("../img/bt_icon_open.svg");
    background-size: 4.4rem auto;
    background-position: center right 8rem;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    height: 11.5rem;
    border-radius: 56rem;
    padding: 0 0 0 9.3rem;
    filter: drop-shadow(0 0.8rem 0 #eed370); }
    .requirements .requirements-btn img {
      width: 37rem; }
    .requirements .requirements-btn.active {
      background-image: url("../img/bt_icon_close.svg"); }
    .requirements .requirements-btn:hover {
      cursor: pointer; }
  .requirements .requirements-cont-wrap {
    display: none;
    padding: 3.5rem 1rem 3.5rem 3.5rem;
    margin: 0 auto;
    background: #FFF;
    margin: 3.4rem auto 0; }
    .requirements .requirements-cont-wrap.active {
      display: block; }
  .requirements .requirements-cont {
    height: 51rem;
    overflow-y: scroll;
    overflow-x: hidden;
    font-size: 2rem;
    color: #000;
    padding-right: 3.5rem; }
    .requirements .requirements-cont::-webkit-scrollbar {
      width: 0;
      /* Chrome, Safari, Opera */ }
    .requirements .requirements-cont p {
      margin-top: 0.5em; }
      .requirements .requirements-cont p.note {
        padding-left: 1em;
        text-indent: -1em; }
    .requirements .requirements-cont h2 {
      font-size: 2.8rem;
      margin-top: 1.5em;
      text-align: center; }
    .requirements .requirements-cont h3 {
      font-size: 2.3rem;
      margin-top: 1.5em;
      border-bottom: 1px solid #000; }
    .requirements .requirements-cont h4,
    .requirements .requirements-cont .subtitle {
      font-size: 2.2rem;
      font-weight: bold;
      margin-top: 1em; }
    .requirements .requirements-cont h5 {
      font-size: 2.1rem;
      margin-top: 0.75em; }
    .requirements .requirements-cont .prizelist li {
      padding-left: 1em;
      text-indent: -1em; }
    .requirements .requirements-cont ul.sub {
      margin: 0.5em auto 0 1em; }
      .requirements .requirements-cont ul.sub li {
        padding-left: 1em;
        text-indent: -1em; }
    .requirements .requirements-cont ul.note {
      margin: 0.5em auto 0; }
      .requirements .requirements-cont ul.note li {
        padding-left: 1em;
        text-indent: -1em; }
    .requirements .requirements-cont h5 + ul, .requirements .requirements-cont h4 + ul, .requirements .requirements-cont h3 + ul {
      margin-top: 0.5em; }
    .requirements .requirements-cont ul.disc li {
      list-style: disc;
      margin-left: 1.25em;
      margin-bottom: 0.25em; }
    .requirements .requirements-cont p + ul.disc {
      margin-top: 0.8em !important; }
    .requirements .requirements-cont .list-no, .requirements .requirements-cont .list-no-B {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap;
      font-size: 2rem; }
    .requirements .requirements-cont .list-no {
      margin: 1em auto 0; }
      .requirements .requirements-cont .list-no dt {
        width: 2em; }
      .requirements .requirements-cont .list-no dd {
        width: calc(100% - 2em);
        margin-left: 0; }
    .requirements .requirements-cont .list-no-B {
      margin: 0.5em auto 0; }
      .requirements .requirements-cont .list-no-B dt {
        width: 1em; }
      .requirements .requirements-cont .list-no-B dd {
        width: calc(100% - 1em);
        margin-left: 0; }
    .requirements .requirements-cont .list-kome {
      margin: 0.5rem auto 0; }
      .requirements .requirements-cont .list-kome li {
        position: relative;
        padding-left: 1em;
        font-size: 2rem;
        line-height: 1.3em;
        margin: 0.5em 0 0 0; }
        .requirements .requirements-cont .list-kome li:before {
          content: '※';
          position: absolute;
          left: 0; }

/******* お問い合わせ先 *******/
.contact {
  background-color: #fffaa0;
  position: relative;
  border-top: solid #fffff0 1rem; }
  .contact .contact-note {
    color: #FFF;
    font-size: 2.2rem;
    text-align: center;
    margin: 0 auto 0; }
  .contact .contact-ti {
    width: 100%;
    margin: 0rem auto 0; }
  .contact .contact-name {
    width: 60rem;
    margin: 7.5rem auto 0; }
  .contact .contact-telno {
    width: 62.1rem;
    margin: 2.6rem auto 0; }
  .contact .contact-period {
    width: 61.6rem;
    margin: 4rem auto 0; }
  .contact .contact_ill {
    width: 100%;
    margin: 4.6rem auto 0; }

.copyright {
  background: #fff500;
  width: 100%;
  height: 28.5rem; }
  @media only screen and (min-width: 1025px) {
    .copyright {
      height: auto; } }
  .copyright .copyright_text {
    height: 5.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ff4696;
    font-size: 2.6rem; }

.c1000 {
  background-color: #fff500;
  /******* 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_pc_dot.png");
      background-size: 21.2rem auto;
      background-position: bottom center;
      background-repeat: repeat-x;
      background-attachment: fixed; }
    .c1000 .lp-contents {
      margin: 0 auto;
      width: 75rem; }
    .c1000 .pc-left {
      position: fixed;
      display: block;
      top: 0;
      left: 0;
      width: calc(50% - 37.5rem);
      height: 100%; }
      .c1000 .pc-left .pc-left-cont {
        width: 100%;
        height: 100%; }
        .c1000 .pc-left .pc-left-cont .pc-left-ill01,
        .c1000 .pc-left .pc-left-cont .pc-left-ill02,
        .c1000 .pc-left .pc-left-cont .pc-left-ill03,
        .c1000 .pc-left .pc-left-cont .pc-left-ill04,
        .c1000 .pc-left .pc-left-cont .pc-left-ill05 {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          width: 50.2rem;
          transition: 0.3s ease all;
          opacity: 0; }
        .c1000 .pc-left .pc-left-cont .pc-left-ill01.active,
        .c1000 .pc-left .pc-left-cont .pc-left-ill02.active,
        .c1000 .pc-left .pc-left-cont .pc-left-ill03.active,
        .c1000 .pc-left .pc-left-cont .pc-left-ill04.active,
        .c1000 .pc-left .pc-left-cont .pc-left-ill05.active {
          opacity: 1; }
    .c1000 .pc-right {
      position: fixed;
      display: flex;
      align-items: center;
      justify-content: center;
      top: 0;
      right: 0;
      width: calc(50% - 37.5rem);
      height: 100%; }
      .c1000 .pc-right .pc-right-cont {
        margin: auto; }
        .c1000 .pc-right .pc-right-cont .pc-right-nav {
          width: 37.7rem;
          margin: auto auto; }
          .c1000 .pc-right .pc-right-cont .pc-right-nav li {
            height: 3.9rem; }
            .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 a:hover img {
              filter: brightness(150%) hue-rotate(30deg);
              opacity: 1; }
          .c1000 .pc-right .pc-right-cont .pc-right-nav li + li {
            margin-top: 4.2rem; }
        .c1000 .pc-right .pc-right-cont .pc_bt {
          width: 47.2rem;
          margin: 6.6rem auto 0 !important;
          filter: drop-shadow(0 0.6rem 0 rgba(0, 0, 0, 0.2)); } }

/******* 固定ボタン *******/
.fixbtn {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 22.8rem;
  z-index: 2000;
  background: #ff4696; }
  @media only screen and (min-width: 1025px) {
    .fixbtn {
      display: none; } }
  .fixbtn ul {
    width: 69.6rem;
    display: flex;
    justify-content: space-between; }
    .fixbtn ul li {
      width: 25%; }
