@charset "utf-8";
.all-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(172 / 375 * 100vw);
  height: calc(36 / 375 * 100vw);
  margin: 0 auto;
  border-radius: calc(4 / 375 * 100vw);
  border: 1px solid #c4c4c4;
  box-sizing: border-box;
  font-size: calc(11 / 375 * 100vw);
  line-height: 1;
  text-decoration: none;
}
.ac .ac-trigger {
  display: flex;
  align-items: center;
  position: relative;
}
.ac .ac-trigger span {
  position: relative;
  text-indent: -9999px;
  overflow: hidden;
}
.ac .ac-trigger span::before,
.ac .ac-trigger span::after {
  content: '';
  position: absolute;
}
.ac .ac-panel {
  overflow: hidden;
  transition-property: height, visibility;
  transition-timing-function: ease;
}
.ac.js-enabled .ac-panel {
  visibility: hidden;
}
.ac.is-active .ac-panel {
  visibility: visible;
}
:root {
  --vw: 1vw;
}
body {
  overflow: visible;
  min-width: 100%;
}
main.contents.lp-rakuten_campaign {
  position: relative;
  padding-bottom: 60px;
  font-weight: 400;
  font-size: 0;
  color: #000;
  background: #fff;
}
main.contents.lp-rakuten_campaign .strong {
  font-weight: 700;
}
main.contents.lp-rakuten_campaign * {
  box-sizing: border-box;
}
main.contents.lp-rakuten_campaign img,
main.contents.lp-rakuten_campaign video {
  width: 100%;
}
main.contents.lp-rakuten_campaign section {
  max-width: 1000px;
  margin-inline: auto;
}
main.contents.lp-rakuten_campaign section .section-label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 45px;
  margin-bottom: 25px;
  background: #c41e3a;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
}
main.contents.lp-rakuten_campaign section.kv {
  margin-bottom: 70px;
}
main.contents.lp-rakuten_campaign section.about {
  margin-bottom: 69px;
}
main.contents.lp-rakuten_campaign section.about .description {
  text-align: center;
  font-size: 18px;
  line-height: 1.8;
}
main.contents.lp-rakuten_campaign section.about .description p {
  margin: 0;
}
main.contents.lp-rakuten_campaign section.about .description .note {
  font-size: 14px;
}
main.contents.lp-rakuten_campaign section.period {
  text-align: center;
  margin-bottom: 61px;
}
main.contents.lp-rakuten_campaign section.period .section-label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 45px;
  margin-bottom: 24px;
  background: #c41e3a;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
}
main.contents.lp-rakuten_campaign section.period .period-text {
  text-align: center;
  font-size: 18px;
  line-height: 1.8;
}
main.contents.lp-rakuten_campaign section.howto {
  margin-bottom: 80px;
  text-align: center;
}
main.contents.lp-rakuten_campaign section.howto .section-label {
  margin-bottom: 36px;
}
main.contents.lp-rakuten_campaign section.howto .step-list {
  text-align: center;
}
main.contents.lp-rakuten_campaign section.howto .step-item {
  margin-bottom: 52px;
}
main.contents.lp-rakuten_campaign section.howto .step-item:last-child {
  margin-bottom: 0;
}
main.contents.lp-rakuten_campaign section.howto .step-num {
  display: inline-block;
  position: relative;
  padding-bottom: 5px;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
}
main.contents.lp-rakuten_campaign section.howto .step-num::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #333;
}
main.contents.lp-rakuten_campaign section.howto .step-desc {
  margin-top: 36px;
  margin-bottom: 28px;
  font-size: 18px;
  line-height: 1.8;
}
main.contents.lp-rakuten_campaign section.howto .step-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  height: 52px;
  background: #444;
  color: #fff;
  font-size: 20px;
  border-radius: 50px;
}
main.contents.lp-rakuten_campaign section.howto .step-detail {
  margin-top: 29px;
  margin-bottom: 2px;
}
main.contents.lp-rakuten_campaign section.howto .detail-item {
  margin-bottom: 19px;
}
main.contents.lp-rakuten_campaign section.howto .detail-item:last-of-type {
  margin-bottom: 0;
}
main.contents.lp-rakuten_campaign section.howto .detail-label {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3px;
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 12px;
}
main.contents.lp-rakuten_campaign section.howto .detail-label::before {
  content: '';
  width: 13px;
  height: 12px;
  margin-top: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='12' viewBox='0 0 13 12' fill='none'%3E%3Cpath d='M6.5 12L0.00481036 0.749999L12.9952 0.75L6.5 12Z' fill='%23222222'/%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
main.contents.lp-rakuten_campaign section.howto .detail-text {
  font-size: 18px;
  line-height: 1.8;
}
main.contents.lp-rakuten_campaign section.howto .detail-link {
  display: inline-block;
  margin-top: 12px;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-style: solid;
          text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
main.contents.lp-rakuten_campaign section.howto .step-note {
  font-size: 18px;
  line-height: 1.8;
}
main.contents.lp-rakuten_campaign section.notice {
  margin-bottom: 140px;
}
main.contents.lp-rakuten_campaign section.notice .section-inner {
  padding: 18px 40px 34px;
  background: #f6f6f6;
}
main.contents.lp-rakuten_campaign section.notice .notice-title {
  font-size: 22px;
  line-height: 1.8;
  font-weight: 500;
  margin: 0 0 27px;
  text-align: center;
}
main.contents.lp-rakuten_campaign section.notice .notice-list {
  text-align: left;
}
main.contents.lp-rakuten_campaign section.notice .notice-list ul {
  margin: 0;
}
main.contents.lp-rakuten_campaign section.notice .notice-list li {
  font-size: 14px;
  line-height: 1.8;
  color: #666;
}
@media (max-width: 767px) {
  .pc {
    display: none;
  }
  main.contents.lp-rakuten_campaign {
    width: 100%;
    padding-bottom: 40px;
  }
  main.contents.lp-rakuten_campaign section {
    max-width: calc(335 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section .section-label {
    font-size: 14px;
  }
  main.contents.lp-rakuten_campaign section.kv {
    max-width: 100%;
    margin-bottom: calc(40 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.about {
    max-width: 100%;
    margin-bottom: calc(40 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.about .description {
    font-size: calc(13 / 375 * 100vw);
    line-height: 1.77;
  }
  main.contents.lp-rakuten_campaign section.about .description .note {
    font-size: calc(11 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.period {
    margin-bottom: calc(40 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.period .section-label {
    height: calc(32 / 375 * 100vw);
    margin-bottom: calc(18 / 375 * 100vw);
    font-size: calc(15 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.period .period-text {
    font-size: calc(13 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto {
    margin-bottom: calc(53 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .section-label {
    height: calc(32 / 375 * 100vw);
    margin-bottom: calc(31 / 375 * 100vw);
    font-size: calc(15 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .step-item {
    margin-bottom: calc(35 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .step-num {
    font-size: calc(14 / 375 * 100vw);
    padding-bottom: calc(4 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .step-desc {
    margin-top: calc(20 / 375 * 100vw);
    margin-bottom: calc(20 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .step-btn {
    width: calc(231 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    border-radius: calc(38 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .step-detail {
    margin-top: calc(10 / 375 * 100vw);
    margin-bottom: calc(2 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .detail-item {
    margin-bottom: calc(11 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .detail-label {
    gap: calc(3 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    margin-bottom: calc(10 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .detail-label::before {
    width: calc(12 / 375 * 100vw);
    height: calc(11 / 375 * 100vw);
    margin-top: calc(2 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .detail-text {
    font-size: calc(12 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .detail-link {
    margin-top: calc(10 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.howto .step-note {
    font-size: calc(12 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.notice {
    margin-bottom: calc(60 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.notice .section-inner {
    padding: calc(10 / 375 * 100vw) calc(15 / 375 * 100vw) calc(17 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.notice .notice-title {
    font-size: calc(14 / 375 * 100vw);
    margin-bottom: calc(24 / 375 * 100vw);
  }
  main.contents.lp-rakuten_campaign section.notice .notice-list li {
    font-size: calc(11 / 375 * 100vw);
    line-height: 1.54;
  }
}
@media (min-width: 768px) {
  .sp {
    display: none;
  }
  .ac .ac-trigger {
    cursor: pointer;
  }
  main.contents.lp-rakuten_campaign section.period .section-inner {
    max-width: 580px;
    margin-inline: auto;
  }
  main.contents.lp-rakuten_campaign section.howto .section-inner {
    max-width: 580px;
    margin-inline: auto;
  }
  main.contents.lp-rakuten_campaign section.notice .section-inner {
    max-width: 996px;
    margin-inline: auto;
  }
}
