body.campaign .noicon::after {
  content: none !important; }

body.campaign .pblock {
  background: #fff;
  padding: 60px 30px 30px;
  margin-bottom: 0; }
  @media (max-width: 768.98px) {
    body.campaign .pblock {
      padding: 40px 20px 20px;
      margin: 0 -20px; } }

body.campaign .campaign {
  position: relative;
  overflow-x: hidden; }
  @media (max-width: 768.98px) {
    body.campaign .campaign {
      padding: 0 20px; } }
  body.campaign .campaign .mv {
    text-align: center;
    background-color: #F5BDD6;
    padding-bottom: 40px; }
    @media (max-width: 768.98px) {
      body.campaign .campaign .mv {
        margin-left: -20px;
        margin-right: -20px;
        padding-bottom: 20px; } }
  body.campaign .campaign .mv2 {
    max-width: 800px;
    margin: 0 auto;
    text-align: center; }
    body.campaign .campaign .mv2__title {
      margin: 0 auto 40px;
      padding: 20px;
      color: #e50462;
      font-weight: bold;
      font-size: 3rem;
      position: relative; }
      body.campaign .campaign .mv2__title::before {
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        right: 0;
        content: "";
        display: block;
        margin: 0 auto;
        width: 480px;
        height: 70px;
        background: url(img/img-title-bg.svg) no-repeat center top/contain; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .mv2__title {
          padding: 10px; }
          body.campaign .campaign .mv2__title::before {
            width: 100%; } }
    body.campaign .campaign .mv2__title2 {
      margin: 0 auto 20px;
      padding: 20px;
      color: #676f78;
      font-weight: bold;
      font-size: 3rem;
      position: relative;
      z-index: 0; }
      body.campaign .campaign .mv2__title2::before {
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        right: 0;
        content: "";
        display: block;
        margin: 0 auto;
        width: 480px;
        height: 70px;
        background: url(img/img-title2-bg.svg) no-repeat center top/contain; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .mv2__title2 {
          padding: 15px;
          font-size: 2rem; }
          body.campaign .campaign .mv2__title2::before {
            width: 100%; } }
    body.campaign .campaign .mv2__pict {
      margin-bottom: 60px; }
      body.campaign .campaign .mv2__pict-img {
        max-width: 540px;
        width: 100%; }
    body.campaign .campaign .mv2__limit {
      margin-bottom: 40px; }
    body.campaign .campaign .mv2__text {
      color: #e50462;
      font-weight: bold;
      font-size: 2rem; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .mv2__text {
          font-size: 1.8rem; } }
    body.campaign .campaign .mv2__text2 {
      margin-bottom: 30px;
      color: #e50462;
      font-weight: bold;
      font-size: 3rem; }
      body.campaign .campaign .mv2__text2 span {
        background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #d6e000));
        background: linear-gradient(transparent 60%, #d6e000 60%); }
      @media (max-width: 768.98px) {
        body.campaign .campaign .mv2__text2 {
          font-size: 1.6rem; } }
  body.campaign .campaign .open {
    max-width: 860px;
    margin: 0 auto; }
    body.campaign .campaign .open-wrapper {
      position: relative;
      z-index: 1;
      margin-top: -10px;
      padding-bottom: 80px;
      background-image: url(img/bg-pc.png);
      background-repeat: no-repeat;
      background-size: 100% 100%; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .open-wrapper {
          margin-left: -20px;
          margin-right: -20px;
          padding-left: 20px;
          padding-right: 20px;
          padding-bottom: 60px;
          background-image: url(img/bg-sp.png); } }
    body.campaign .campaign .open-navi {
      font-size: 1.6rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      gap: 20px;
      margin: 0 0 90px;
      padding: 0;
      list-style: none; }
      body.campaign .campaign .open-navi__item {
        width: 100%; }
      body.campaign .campaign .open-navi__link {
        padding: 20px;
        display: block;
        color: #3f5977;
        background: #fff;
        border-radius: 20px;
        text-align: center;
        font-weight: bold;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 10px;
        line-height: 1.3; }
        body.campaign .campaign .open-navi__link::after {
          display: block;
          content: "";
          width: 15px;
          height: 15px;
          border-bottom: 2px solid #3f5977;
          border-right: 2px solid #3f5977;
          rotate: 45deg;
          translate: 0 -5px;
          -webkit-transition: 0.2s;
          transition: 0.2s; }
        body.campaign .campaign .open-navi__link:hover {
          text-decoration: none; }
          body.campaign .campaign .open-navi__link:hover::after {
            translate: 0; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .open-navi {
          font-size: 1.3rem;
          gap: 10px;
          margin-bottom: 45px; }
          body.campaign .campaign .open-navi__link {
            padding: 10px 5px;
            height: 100%;
            margin-inline: auto;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between; } }
    body.campaign .campaign .open-tab {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin: 0;
      padding: 60px 0 0 0;
      list-style: none;
      font-size: 1.6rem; }
      body.campaign .campaign .open-tab__item {
        width: 50%; }
      body.campaign .campaign .open-tab__link {
        position: relative;
        padding: 20px;
        display: block;
        color: #fff;
        background: #1665A8;
        text-align: center;
        font-weight: bold;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        body.campaign .campaign .open-tab__link:hover {
          text-decoration: none; }
        body.campaign .campaign .open-tab__link.active {
          color: #1665A8;
          background: #F5BDD6; }
          body.campaign .campaign .open-tab__link.active::before {
            content: "";
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -10px;
            border: 10px solid transparent;
            border-top: 15px solid #F5BDD6; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .open-tab {
          font-size: 1.3rem; }
          body.campaign .campaign .open-tab__link {
            padding: 20px;
            height: 100%;
            margin-inline: auto;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between; } }
    body.campaign .campaign .open .nav-tabs .nav-link {
      border: none; }
    body.campaign .campaign .open__inner {
      padding: 70px 80px 40px 80px;
      background-color: #fff; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .open__inner {
          padding: 50px 10px 30px 10px; } }
    body.campaign .campaign .open-note {
      margin: 0 28px 30px;
      padding: 0;
      list-style: none; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .open-note {
          margin: 0 10px 30px; } }
      body.campaign .campaign .open-note__item {
        font-size: 1.6rem;
        margin-top: 10px; }
        @media (max-width: 768.98px) {
          body.campaign .campaign .open-note__item {
            font-size: 1.4rem; } }
    body.campaign .campaign .open__title {
      margin-bottom: 30px;
      font-size: 1.8rem;
      font-weight: bold;
      text-align: center; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .open__title {
          font-size: 1.5rem; } }
      body.campaign .campaign .open__title__s {
        font-size: 1.6rem; }
        @media (max-width: 768.98px) {
          body.campaign .campaign .open__title__s {
            font-size: 1.3rem; } }
      body.campaign .campaign .open__title__line-wrapper {
        text-align: center; }
      body.campaign .campaign .open__title__line {
        display: inline-block;
        padding: 0 80px;
        margin-bottom: 15px;
        text-align: center;
        font-size: 2.6rem;
        font-weight: bold;
        color: #e50462;
        background-image: url(img/line.png); }
        @media (max-width: 768.98px) {
          body.campaign .campaign .open__title__line {
            padding: 0 20px;
            font-size: 2.4rem; } }
      body.campaign .campaign .open__title__pink_l {
        text-align: center;
        font-size: 2.6rem;
        font-weight: bold;
        color: #e50462; }
        @media (max-width: 768.98px) {
          body.campaign .campaign .open__title__pink_l {
            font-size: 2.4rem; } }
      body.campaign .campaign .open__title__pink {
        text-align: center;
        font-size: 2.2rem;
        font-weight: bold;
        color: #e50462; }
        @media (max-width: 768.98px) {
          body.campaign .campaign .open__title__pink {
            font-size: 1.6rem; } }
    body.campaign .campaign .open__title2 {
      margin-bottom: 60px;
      font-size: 1.8rem;
      font-weight: bold;
      text-align: center; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .open__title2 {
          margin-bottom: 120px; } }
    body.campaign .campaign .open__epop {
      margin-bottom: 70px; }
    body.campaign .campaign .open__btn {
      position: relative;
      z-index: 3;
      margin-bottom: 60px; }
      body.campaign .campaign .open__btn .pbtn {
        padding: 20px;
        display: block;
        max-width: 440px;
        margin: 0 auto;
        color: #fff;
        background: #e50462;
        border-radius: 30px;
        font-size: 2.4rem;
        font-weight: bold;
        text-align: center;
        line-height: 1.3; }
        body.campaign .campaign .open__btn .pbtn:hover {
          text-decoration: none; }
        @media (max-width: 768.98px) {
          body.campaign .campaign .open__btn .pbtn {
            font-size: 1.8rem; } }
      body.campaign .campaign .open__btn .icon1 {
        position: absolute;
        z-index: -1;
        top: 0;
        left: -100px; }
      body.campaign .campaign .open__btn .icon1sp {
        display: none; }
      body.campaign .campaign .open__btn .icon2 {
        position: absolute;
        z-index: -1;
        top: 50px;
        right: -100px; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .open__btn .icon1 {
          display: none; }
        body.campaign .campaign .open__btn .icon1sp {
          display: block;
          position: absolute;
          z-index: -1;
          top: 100px;
          left: 0; }
        body.campaign .campaign .open__btn .icon2 {
          display: none; } }
    body.campaign .campaign .open__note {
      border: 1px solid #e50462;
      position: relative;
      z-index: 1; }
      body.campaign .campaign .open__note-title {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
        padding: 0 20px;
        font-size: 2rem;
        font-weight: bold;
        color: #e50462;
        background: #FFF;
        text-align: center;
        translate: 0 -50%; }
      body.campaign .campaign .open__note .icon3 {
        position: absolute;
        z-index: -1;
        top: 70%;
        left: 65%; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .open__note .icon3 {
          top: 90%;
          left: auto;
          right: 0%;
          width: 100px;
          height: auto; } }
  body.campaign .campaign #lucky-bag .open__title__line {
    padding: 0 100px; }
    @media (max-width: 768.98px) {
      body.campaign .campaign #lucky-bag .open__title__line {
        padding: 0 50px; } }
  body.campaign .campaign .deco-bargain-pc {
    position: absolute;
    top: 130px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 2;
    max-width: none; }
  body.campaign .campaign .deco-lucky-bag-pc {
    position: absolute;
    top: 160px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 2;
    max-width: none; }
  body.campaign .campaign .icon1-bargain {
    position: absolute;
    top: 250px;
    left: -40px; }
  body.campaign .campaign .icon2-bargain {
    position: absolute;
    top: 350px;
    left: -14px; }
  body.campaign .campaign .icon3-bargain {
    position: absolute;
    top: 180px;
    right: -50px; }
  body.campaign .campaign .icon4-bargain {
    position: absolute;
    top: 300px;
    right: 8%; }
  body.campaign .campaign .icon5-bargain {
    position: absolute;
    top: 500px;
    right: 7px; }
  body.campaign .campaign .icon6-bargain {
    position: absolute;
    left: 40px;
    bottom: 15px; }
  body.campaign .campaign .icon7-bargain {
    position: absolute;
    z-index: 2;
    right: 60px;
    bottom: 58px; }
  body.campaign .campaign .icon1-lucky-bag {
    position: absolute;
    top: 190px;
    left: -40px; }
  body.campaign .campaign .icon2-lucky-bag {
    position: absolute;
    top: 307px;
    left: -14px; }
  body.campaign .campaign .icon3-lucky-bag {
    position: absolute;
    top: 180px;
    right: -50px; }
  body.campaign .campaign .icon4-lucky-bag {
    position: absolute;
    top: 300px;
    right: 12px; }
  body.campaign .campaign .icon5-lucky-bag {
    position: absolute;
    top: 500px;
    right: 7px; }
  body.campaign .campaign .icon6-lucky-bag {
    position: absolute;
    left: 40px;
    bottom: 15px; }
  body.campaign .campaign .icon7-lucky-bag {
    position: absolute;
    z-index: 2;
    right: 60px;
    bottom: 58px; }
  body.campaign .campaign .navi-anchor {
    max-width: 800px;
    margin: 0 auto; }
  body.campaign .campaign .navi-links {
    list-style: none;
    padding: 0; }
  body.campaign .campaign .navi-link {
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0.2em;
    display: block;
    text-align: center;
    border-left: 1px solid #999;
    border-right: 1px solid #999;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 768.98px) {
      body.campaign .campaign .navi-link {
        font-size: 1.4rem; } }
    body.campaign .campaign .navi-link:hover {
      color: #fff;
      opacity: 1;
      text-decoration: none; }
    body.campaign .campaign .navi-link::after {
      display: block;
      content: "";
      width: 15px;
      height: 15px;
      border-bottom: 2px solid #999;
      border-right: 2px solid #999;
      rotate: 45deg;
      translate: 0 -5px; }
    body.campaign .campaign .navi-link:hover::after {
      border-color: #fff; }
  body.campaign .campaign .navi-title {
    margin-inline: -20px;
    padding: 0.2em;
    text-align: center;
    color: #fff;
    background: #666;
    border-radius: 50rem; }
  body.campaign .campaign .sec1 {
    color: #755b69;
    border-color: #755b69; }
    body.campaign .campaign .sec1::after {
      border-color: #755b69; }
    body.campaign .campaign .sec1:hover {
      background-color: #755b69; }
  body.campaign .campaign #sec1 .navi-title {
    background-color: #755b69; }
  body.campaign .campaign .sec2 {
    color: #455974;
    border-color: #455974; }
    body.campaign .campaign .sec2::after {
      border-color: #455974; }
    body.campaign .campaign .sec2:hover {
      background-color: #455974; }
  body.campaign .campaign #sec2 .navi-title {
    background-color: #455974; }
  body.campaign .campaign .sec3 {
    color: #c46e2f;
    border-color: #c46e2f; }
    body.campaign .campaign .sec3::after {
      border-color: #c46e2f; }
    body.campaign .campaign .sec3:hover {
      background-color: #c46e2f; }
  body.campaign .campaign #sec3 .navi-title {
    background-color: #c46e2f; }
  body.campaign .campaign .item {
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    padding: 10px;
    height: 100%; }
    body.campaign .campaign .item__list {
      list-style: none;
      margin: 0;
      padding: 0; }
    body.campaign .campaign .item__item_logo {
      text-align: center; }
    body.campaign .campaign .item__item_pict {
      text-align: center;
      border-top: 1px solid #ccc;
      padding-top: 20px;
      margin-top: 10px;
      border-bottom: 1px solid #ccc;
      padding-bottom: 20px;
      margin-bottom: 10px; }
    body.campaign .campaign .item__item_title {
      font-size: 1.6rem;
      color: #e50462;
      font-weight: bold;
      min-height: 3em;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 1.3; }
    body.campaign .campaign .item__item_price {
      text-align: right;
      line-height: 1.3; }
    body.campaign .campaign .item__item_msg {
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px dotted #ccc;
      text-align: justify; }
    body.campaign .campaign .item__pict {
      width: 100%;
      aspect-ratio: 1/1;
      -o-object-fit: contain;
         object-fit: contain; }
  body.campaign .campaign .shop {
    height: 100%; }
    body.campaign .campaign .shop__link {
      display: block;
      line-height: 1.3;
      -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
              box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
      padding: 10px;
      height: 100%; }
      body.campaign .campaign .shop__link:hover {
        opacity: 1;
        text-decoration: none;
        -webkit-box-shadow: 0 0 3px rgba(229, 4, 98, 0.8);
                box-shadow: 0 0 3px rgba(229, 4, 98, 0.8); }
    body.campaign .campaign .shop__logo {
      text-align: center; }
      body.campaign .campaign .shop__logo-img {
        width: 100%;
        aspect-ratio: 2/1;
        -o-object-fit: contain;
           object-fit: contain; }
    body.campaign .campaign .shop__name {
      font-size: 1.3rem;
      color: #e50462;
      font-weight: bold; }
      @media (max-width: 768.98px) {
        body.campaign .campaign .shop__name {
          font-size: 1.1rem; } }

body.campaign .coupon-title {
  margin: 20px 0;
  font-size: 3rem;
  color: #e50462;
  text-align: center; }
  body.campaign .coupon-title p {
    font-weight: bold; }

body.campaign .coupon-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px 0;
  padding: 0;
  list-style: none; }
  body.campaign .coupon-list li {
    width: calc(50% - 10px); }

body.campaign .coupon-box {
  margin: 20px 0 40px;
  padding: 20px;
  border: 3px solid #e50462;
  font-size: 1.8rem;
  color: #e50462; }
  body.campaign .coupon-box p {
    text-indent: -1em;
    font-weight: bold;
    padding-left: 1em; }

@media (max-width: 768.98px) {
  body.campaign .coupon-title {
    font-size: 1.8rem; }
  body.campaign .coupon-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    body.campaign .coupon-list li {
      width: 100%; }
  body.campaign .coupon-box {
    font-size: 1.4rem; } }

/*# sourceMappingURL=style.css.map */
