@charset "UTF-8";
/*----------------------------------------------------------
  VARIABLES
----------------------------------------------------------*/
/*----------------------------------------------------------
  MIXIN
----------------------------------------------------------*/
/* CUSTOM
https://css-tricks.com/snippets/sass/fix-number-n-digits/
  * Làm tròn về 3 số thập phân
  * khi giá trị px có quá nhiều số thập phân, ví dụ 4.03422px),
  * Trình duyệt có thể render ra các line trắng/hở do anti-aliasing hoặc rounding / float precision. Để khắc phục, bạn nên làm tròn số thập phân về 2 chữ số (hoặc tối đa 3) khi tính toán kích thước trong SCSS
*/
.page-8th {
  margin-bottom: 0 !important;
  overflow-x: hidden;
  color: #1E1E1E;
  background-color: #FFFCE0;
}
@media (min-width: 751px) {
  .page-8th .only-sp {
    display: none;
  }
}
@media (max-width: 750px) {
  .page-8th .only-pc {
    display: none;
  }
}
.page-8th .font-en {
  font-family: "Lato", "Noto Sans JP", sans-serif;
}
.page-8th img {
  max-width: 100%;
  height: auto;
}
.page-8th img[loading=lazy] {
  display: inline-block;
}
@media (max-width: 750px) {
  .page-8th img {
    width: 100%;
  }
}
.page-8th .txt-red {
  color: #E60012;
}
.page-8th .txt-center {
  text-align: center;
}
.page-8th .txt-link {
  color: #E60012;
  text-decoration: underline;
}
@media (min-width: 751px) and (hover: hover) {
  .page-8th .txt-link:hover {
    text-decoration: none;
  }
}
.page-8th .txt-note {
  padding-left: min(16px, 1.111vw);
  text-indent: max(-16px, -1.111vw);
  font-size: min(14px, 0.972vw);
  line-height: 150%;
}
.page-8th .txt-note + .txt-note {
  margin-top: min(8px, 0.556vw);
}
.page-8th .txt-note span:first-of-type {
  margin-right: min(4px, 0.278vw);
}
@media (max-width: 750px) {
  .page-8th .txt-note {
    margin-top: 1.8666666667vw;
    font-size: 3.2vw;
    padding-left: 4.2666666667vw;
    text-indent: -4.2666666667vw;
    line-height: 160%;
  }
  .page-8th .txt-note span:first-of-type {
    margin-right: 1.0666666667vw;
  }
  .page-8th .txt-note + .txt-note {
    margin-top: 1.0666666667vw;
  }
}

/*----------------------------------------------------------
  CAMPAIGN
----------------------------------------------------------*/
.campaign {
  padding: 10.6666666667vw 5.3333333333vw;
  background-color: #E60012;
}
@media (max-width: 750px) {
  .campaign {
    min-height: 97.8666666667vw;
  }
}
@media (min-width: 751px) {
  .campaign {
    padding: min(40px, 2.778vw) min(20px, 1.389vw);
    min-height: min(373px, 25.903vw);
  }
}
.campaign__link {
  display: block;
}
.campaign__img {
  margin-inline: auto;
  width: 80vw;
}
@media (min-width: 751px) {
  .campaign__img {
    width: min(277px, 19.236vw);
  }
}

/*----------------------------------------------------------
  ANIMATION
----------------------------------------------------------*/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.animate__fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}
.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
}

@-webkit-keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.animate__flash {
  -webkit-animation-name: flash;
          animation-name: flash;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
.animate__pulse {
  -webkit-animation-name: pulse;
          animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

.js-aos {
  --aos-duration: 0.6s;
  --aos-delay: 1s;
  --aos-repeat: 1;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
.js-aos.animated {
  -webkit-animation-duration: var(--aos-duration, 0.6s);
          animation-duration: var(--aos-duration, 0.6s);
}
.js-aos[data-aos-delay="0.5s"] {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.js-aos[data-aos-delay="1s"] {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.js-aos[data-aos-delay="1.5s"] {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.js-aos[data-aos-delay="2s"] {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.js-aos[data-aos-delay="2.5s"] {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
}
.js-aos[data-aos-delay="3s"] {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
.js-aos[data-aos-delay="3.5s"] {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
}
.js-aos[data-aos-delay="4s"] {
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
.js-aos[data-aos-delay="4.5s"] {
  -webkit-animation-delay: 4.5s;
          animation-delay: 4.5s;
}
.js-aos[data-aos-delay="5s"] {
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
}

[data-aos=fade-in] {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity var(--aos-duration, 0.6s) ease;
  transition: opacity var(--aos-duration, 0.6s) ease;
}
[data-aos=fade-in].animated {
  opacity: 1;
}

[data-aos=fade-in-up] {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: all var(--aos-duration) ease;
  transition: all var(--aos-duration) ease;
}
[data-aos=fade-in-up].animated {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

[data-duration="0.5s"] {
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

[data-aos=slide-in-left] {
  -webkit-transition: clip-path 1s ease;
  transition: clip-path 1s ease;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
.animated [data-aos=slide-in-left] {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.reveal-up {
  clip-path: inset(0 100% 0 0);
  -webkit-transition: clip-path var(--aos-duration) ease;
  transition: clip-path var(--aos-duration) ease;
  will-change: clip-path;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.reveal-up.animated {
  clip-path: inset(0 0 0 0);
}

/*----------------------------------------------------------
  KV
----------------------------------------------------------*/
.kv {
  overflow: hidden;
  padding-top: 0;
  height: 154.6666666667vw;
  background-color: #FFF5A0;
}
@media (min-width: 751px) {
  .kv {
    height: min(800px, 55.556vw);
    padding-top: min(40px, 2.778vw);
  }
}
.kv__inner {
  padding-bottom: 24.5333333333vw;
  width: 100%;
}
@media (min-width: 751px) {
  .kv__inner {
    width: min(1200px, 83.333vw);
    margin-inline: auto;
    padding-bottom: min(41px, 2.847vw);
  }
}
.kv__ttl {
  margin-top: 9.3333333333vw;
  text-align: center;
  font-weight: bold;
  font-size: 5.3333333333vw;
  line-height: 1.5;
}
.kv__ttl span {
  display: inline-block;
  padding-inline: 10.6666666667vw;
  background: url(../images/special-thanks-reward/ttl01_bg_sp.webp) no-repeat center bottom;
  background-size: auto 12vw;
}
@media (min-width: 751px) {
  .kv__ttl {
    margin-block: min(15px, 1.042vw) 0;
    font-size: min(24px, 1.667vw);
    line-height: 1.25;
  }
  .kv__ttl span {
    padding-inline: min(25px, 1.736vw) calc(min(25px, 1.736vw) - 0.5em);
    background: url(../images/special-thanks-reward/ttl01_bg.webp) no-repeat center;
    background-size: auto min(26px, 1.806vw);
  }
}
@media (min-width: 751px) {
  .kv__img img {
    margin-left: max(-4px, -0.278vw);
  }
}
.kv__close {
  position: absolute;
  bottom: min(109px, 7.569vw);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-size: min(24px, 1.667vw);
  line-height: 1.6;
  text-align: center;
  font-weight: 900;
  width: min(960px, 66.667vw);
  height: min(140px, 9.722vw);
  margin: 0 auto;
  border: min(4px, 0.278vw) solid #fff;
}
@media (max-width: 750px) {
  .kv__close {
    bottom: 24.5333333333vw;
    border-width: 0.8vw;
    font-size: 4.2666666667vw;
    width: 89.3333333333vw;
    height: 32vw;
  }
}

@media (max-width: 750px) {
  .c-nav {
    width: 91.4666666667vw;
    margin: -16vw auto 0;
  }
}
@media (min-width: 751px) {
  .c-nav {
    margin-block: max(-88px, -6.111vw) 0;
  }
}
.c-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  gap: 11.2vw;
}
@media (min-width: 751px) {
  .c-nav__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: min(40px, 2.778vw);
  }
}
@media (min-width: 751px) {
  .c-nav__item {
    width: min(480px, 33.333vw);
  }
}
.c-nav__button {
  position: relative;
  display: block;
  margin: 0;
  width: 100%;
  background-color: #E60012;
  border-radius: 10.6666666667vw;
}
@media (min-width: 751px) {
  .c-nav__button {
    border-radius: min(80px, 5.556vw);
  }
}
.c-nav__button:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  background: #E60012 url(../images/special-thanks-reward/nav_ico.svg) no-repeat center/contain;
  border-radius: 100%;
  -webkit-transition: bottom 0.1s linear;
  transition: bottom 0.1s linear;
}
@media (min-width: 751px) {
  .c-nav__button:after {
    width: min(48px, 3.333vw);
    height: min(48px, 3.333vw);
  }
}
@media (min-width: 751px) and (hover: hover) {
  .c-nav__button:hover:after {
    bottom: max(-4px, -0.278vw);
  }
}
.c-nav__date {
  padding: 2.1333333333vw;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 3.2vw;
  letter-spacing: 5%;
  line-height: 1;
}
.c-nav__date img {
  width: auto;
  height: 9.8666666667vw;
  margin-left: 1.8666666667vw;
}
@media (min-width: 751px) {
  .c-nav__date {
    padding: min(16px, 1.111vw);
    font-size: min(12px, 0.833vw);
  }
  .c-nav__date img {
    height: min(18px, 1.25vw);
    margin-inline: auto;
  }
}
.c-nav__desc {
  padding: 4.2666666667vw 2.6666666667vw 7.4666666667vw;
  background-color: #fff;
  border-radius: 10.6666666667vw;
  border: 1px solid #E60012;
  text-align: center;
}
.c-nav__desc p {
  font-size: 3.2vw;
  line-height: 150%;
}
.c-nav__desc .txt-red {
  font-weight: bold;
  font-size: 4.8vw;
  line-height: 150%;
  color: #E60012;
}
@media (min-width: 751px) {
  .c-nav__desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    min-height: min(408px, 28.333vw);
    padding: min(24px, 1.667vw) 0 min(46px, 3.194vw);
    border-radius: min(80px, 5.556vw);
  }
  .c-nav__desc p {
    font-size: min(18px, 1.25vw);
  }
  .c-nav__desc .txt-red {
    font-size: min(24px, 1.667vw);
  }
}
.c-nav__logo {
  margin-bottom: 4.2666666667vw;
  text-align: center;
}
.c-nav__logo img {
  width: 25.0666666667vw;
  margin-inline: auto;
}
@media (max-width: 750px) {
  .--apple-watch .c-nav__logo img {
    width: 9.0666666667vw;
  }
}
@media (min-width: 751px) {
  .c-nav__logo {
    margin-bottom: min(20px, 1.389vw);
  }
  .c-nav__logo img {
    width: auto;
    height: min(100px, 6.944vw);
  }
}
.c-nav__tags {
  margin-top: 4.2666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.0666666667vw;
}
.c-nav__tags span {
  display: inline-block;
  padding-inline: 3.2vw;
  height: 6.4vw;
  font-size: 3.2vw;
  line-height: 6.4vw;
  font-weight: bold;
  border-radius: 3.2vw;
  color: #E60012;
  background: #FFF2F3;
  overflow: hidden;
}
@media (min-width: 751px) {
  .c-nav__tags {
    margin-top: auto;
    gap: min(8px, 0.556vw);
  }
  .c-nav__tags span {
    padding-inline: min(16px, 1.111vw);
    border-radius: min(29px, 2.014vw);
    height: min(32px, 2.222vw);
    line-height: min(32px, 2.222vw);
    font-size: min(16px, 1.111vw);
  }
}

@media (max-width: 750px) {
  .page_bg {
    width: 91.4666666667vw;
    margin-inline: auto;
  }
}
@media (min-width: 1240px) {
  .page_bg {
    position: relative;
    z-index: 0;
  }
  .page_bg:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: min(7px, 0.486vw);
    left: min(20px, 1.389vw);
    width: min(300px, 20.833vw);
    height: min(3038px, 210.972vw);
    background: url(../images/special-thanks-reward/8th_bg01.svg) left top no-repeat, url(../images/special-thanks-reward/8th_bg01.svg) left bottom no-repeat;
    background-size: auto min(688px, 47.778vw), auto min(688px, 47.778vw);
  }
}

/*----------------------------------------------------------
  SECTION BOX
----------------------------------------------------------*/
.section-box {
  padding-top: 16vw;
}
.section-box .anchor-link {
  position: relative;
  top: -9.6vw;
}
@media (min-width: 751px) {
  .section-box {
    padding-top: min(80px, 5.556vw);
  }
  .section-box .anchor-link {
    top: max(-55px, -3.819vw);
  }
}
.section-box .inner {
  padding: 13.6vw 3.2vw 13.3333333333vw;
  background-color: #fff;
  border-radius: 10.6666666667vw;
  -webkit-box-shadow: 0.5333333333vw 0.5333333333vw 2.6666666667vw rgba(0, 0, 0, 0.07);
          box-shadow: 0.5333333333vw 0.5333333333vw 2.6666666667vw rgba(0, 0, 0, 0.07);
}
@media (min-width: 751px) {
  .section-box .inner {
    max-width: min(1280px, 88.889vw);
    margin-inline: auto;
    border-radius: min(40px, 2.778vw);
    padding: min(105px, 7.292vw) min(140px, 9.722vw) min(100px, 6.944vw);
    -webkit-box-shadow: min(2px, 0.139vw) min(2px, 0.139vw) min(10px, 0.694vw) rgba(0, 0, 0, 0.07);
            box-shadow: min(2px, 0.139vw) min(2px, 0.139vw) min(10px, 0.694vw) rgba(0, 0, 0, 0.07);
  }
}
.section-box .intro__head {
  margin-block: -1.6vw 4vw;
  text-align: center;
  font-weight: 900;
  font-size: 6.4vw;
  line-height: 9.3333333333vw;
}
@media (min-width: 751px) {
  .section-box .intro__head {
    margin-block: max(-12px, -0.833vw) min(23px, 1.597vw);
    font-size: min(32px, 2.222vw);
    line-height: 1.5;
  }
}
.section-box .intro__logo {
  width: 23.4666666667vw;
  margin-inline: auto;
}
.section-box .intro__logo.--apple-watch {
  width: 26.6666666667vw;
  margin-bottom: 5.6vw;
}
@media (min-width: 751px) {
  .section-box .intro__logo {
    width: min(147px, 10.208vw);
  }
  .section-box .intro__logo.--apple-watch {
    width: min(176px, 12.222vw);
    margin-bottom: min(32px, 2.222vw);
  }
}
.section-box .intro__img {
  margin-block: 6.1333333333vw 5.3333333333vw;
  overflow: hidden;
  border-radius: 5.3333333333vw;
}
@media (min-width: 751px) {
  .section-box .intro__img {
    margin-block: min(35px, 2.431vw) min(32px, 2.222vw);
    border-radius: min(40px, 2.778vw);
    width: min(560px, 38.889vw);
    margin-inline: auto;
  }
}
.section-box .intro__desc {
  min-height: 53.3333333333vw;
  background: url(../images/special-thanks-reward/bg_pink.webp) no-repeat center/contain;
  background-size: 100% auto;
}
@media (min-width: 751px) {
  .section-box .intro__desc {
    min-height: min(256px, 17.778vw);
    padding: min(32px, 2.222vw) 0;
    background: url(../images/special-thanks-reward/bg_pink.webp) no-repeat center/contain;
    background-size: min(450px, 31.25vw) auto;
  }
}
.section-box .intro__title {
  font-size: 4.8vw;
  line-height: 120%;
  text-align: center;
  font-weight: bold;
}
.section-box .intro__title + .intro__title {
  margin-top: 1.0666666667vw;
}
.section-box .intro__title small {
  font-size: 2.9333333333vw;
  line-height: 120%;
}
@media (min-width: 751px) {
  .section-box .intro__title {
    font-size: min(32px, 2.222vw);
  }
  .section-box .intro__title + .intro__title {
    margin-top: min(12px, 0.833vw);
  }
  .section-box .intro__title small {
    font-size: min(20px, 1.389vw);
    line-height: 1;
  }
}
.section-box .intro__subtitle {
  display: block;
  margin-top: min(8px, 0.556vw);
  font-size: min(20px, 1.389vw);
  line-height: 120%;
}
@media (max-width: 750px) {
  .section-box .intro__subtitle {
    margin-block: 2.1333333333vw 1.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.section-box .intro__txt {
  font-size: 3.2vw;
  line-height: 150%;
  font-weight: bold;
  text-align: center;
}
@media (min-width: 751px) {
  .section-box .intro__txt {
    font-size: min(16px, 1.111vw);
  }
}
.section-box .intro__note {
  margin-top: min(32px, 2.222vw);
}
@media (max-width: 750px) {
  .section-box .intro__note {
    margin-top: 5.0666666667vw;
  }
}
.section-box .period {
  position: relative;
  margin-top: min(58px, 4.028vw);
  border: 1px solid #E60012;
  border-radius: min(10px, 0.694vw);
  overflow: hidden;
}
@media (max-width: 750px) {
  .section-box .period {
    margin-top: 10.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}
.section-box .period_title {
  font-size: min(26px, 1.806vw);
  line-height: min(52px, 3.611vw);
  min-height: min(59px, 4.097vw);
  font-weight: bold;
  text-align: center;
  color: #fff;
  background-color: #E60012;
}
@media (max-width: 750px) {
  .section-box .period_title {
    line-height: 11.7333333333vw;
    min-height: 11.7333333333vw;
    font-size: 4.8vw;
  }
}
@media (min-width: 751px) {
  .section-box .period_block {
    padding-block: min(30px, 2.083vw) min(22px, 1.528vw);
  }
}
@media (max-width: 750px) {
  .section-box .period_block {
    padding-block: 4.8vw;
    min-height: 32.8vw;
  }
}
.section-box .period_date {
  line-height: 1;
  font-weight: bold;
  text-align: center;
}
.section-box .period_date img {
  width: auto;
  height: 21.8666666667vw;
  margin-inline: auto;
}
.section-box .period_date .txt-red {
  font-size: min(42px, 2.917vw);
}
@media (min-width: 751px) {
  .section-box .period_date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: min(28px, 1.944vw);
  }
  .section-box .period_date img {
    height: min(36px, 2.5vw);
  }
}
@media (max-width: 750px) {
  .section-box .period_date {
    font-size: 5.6vw;
    letter-spacing: 5%;
  }
  .section-box .period_date .txt-red {
    font-size: 8.5333333333vw;
  }
}
.section-box .period_close {
  position: absolute;
  z-index: 9;
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.6;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.8);
  top: max(-10px, -0.694vw);
  bottom: max(-15px, -1.042vw);
  font-size: min(22px, 1.528vw);
  font-weight: 900;
}
@media (max-width: 750px) {
  .section-box .period_close {
    top: -2.6666666667vw;
    bottom: -2.6666666667vw;
    font-size: 4vw;
  }
}
.section-box .plan {
  margin: 10.6666666667vw auto 10.4vw;
  padding: 5.3333333333vw 0 6.4vw;
  border-radius: 2.6666666667vw;
  background-color: #F7F7F7;
}
@media (min-width: 751px) {
  .section-box .plan {
    padding: min(18px, 1.25vw) 0 min(24px, 1.667vw);
    margin: min(60px, 4.167vw) 0;
    min-height: min(115px, 7.986vw);
    border-radius: min(10px, 0.694vw);
  }
}
.section-box .plan_title {
  margin-bottom: 3.2vw;
  font-size: 4.8vw;
  line-height: 1.6666666667;
  font-weight: bold;
  text-align: center;
}
@media (min-width: 751px) {
  .section-box .plan_title {
    margin-bottom: min(6px, 0.417vw);
    font-size: min(20px, 1.389vw);
  }
}
.section-box .plan_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  gap: 2.1333333333vw;
}
@media (min-width: 751px) {
  .section-box .plan_list {
    gap: min(12px, 0.833vw);
  }
}
.section-box .plan_item {
  padding-inline: 4.2666666667vw;
  height: 7.4666666667vw;
  line-height: 7.4666666667vw;
  font-size: 3.7333333333vw;
  font-weight: bold;
  text-align: center;
  color: #fff;
  border-radius: 5.3333333333vw;
  background-color: #E60012;
}
@media (min-width: 751px) {
  .section-box .plan_item {
    height: min(32px, 2.222vw);
    padding-inline: min(20px, 1.389vw);
    line-height: min(32px, 2.222vw);
    font-size: min(16px, 1.111vw);
    border-radius: min(16px, 1.111vw);
  }
}
.section-box .accordion {
  outline: 1px solid rgba(230, 0, 18, 0);
  border-radius: 2.6666666667vw;
}
.section-box .accordion.is-opened {
  outline-color: #E60012;
}
.section-box .accordion.is-opened .accordion-header {
  border-radius: 2.6666666667vw 2.6666666667vw 0 0;
}
@media (min-width: 751px) {
  .section-box .accordion.is-opened .accordion-header {
    border-radius: min(10px, 0.694vw) min(10px, 0.694vw) 0 0;
  }
}
.section-box .accordion.is-opened .accordion-btn:before {
  background-image: url(../images/special-thanks-reward/ico_minus.svg);
}
.section-box .accordion.is-opened .accordion-body {
  pointer-events: auto;
}
@media (min-width: 751px) {
  .section-box .accordion {
    border-radius: min(10px, 0.694vw);
  }
}
.section-box .accordion-btn {
  width: 100%;
  text-decoration: none;
  font-size: 4.8vw;
}
@media (min-width: 751px) {
  .section-box .accordion-btn {
    font-size: min(26px, 1.806vw);
  }
}
.section-box .accordion-btn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.1333333333vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  border-radius: 100%;
  background: #E60012 url(../images/special-thanks-reward/ico_plus.svg) center center no-repeat;
  background-size: contain;
}
@media (min-width: 751px) {
  .section-box .accordion-btn:before {
    right: min(20px, 1.389vw);
    width: min(48px, 3.333vw);
    height: min(48px, 3.333vw);
  }
}
@media (min-width: 751px) and (hover: hover) {
  .section-box .accordion-btn {
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
  .section-box .accordion-btn:hover {
    opacity: 0.7;
  }
}
.section-box .accordion-header {
  border-radius: 2.6666666667vw;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4vw;
  text-align: center;
  font-weight: bold;
  color: #E60012;
  background-color: #FFF2F3;
  min-height: 17.0666666667vw;
}
@media (min-width: 751px) {
  .section-box .accordion-header {
    min-height: min(88px, 6.111vw);
    padding: min(20px, 1.389vw);
    border-radius: min(10px, 0.694vw);
  }
}
.section-box .accordion-body {
  display: none;
}
.section-box .accordion-inner {
  padding: 5.3333333333vw 2.1333333333vw 11.2vw;
}
@media (min-width: 751px) {
  .section-box .accordion-inner {
    padding: min(20px, 1.389vw) min(40px, 2.778vw) min(40px, 2.778vw);
  }
}
.section-box .award_title {
  margin-bottom: min(20px, 1.389vw);
  font-size: min(18px, 1.25vw);
  line-height: 1.6666666667;
  font-weight: bold;
  text-align: center;
  color: #E60012;
}
@media (max-width: 750px) {
  .section-box .award_title {
    margin-bottom: 4.2666666667vw;
    font-size: 4vw;
    line-height: 1.4;
  }
}
.section-box .award_title .bg-pink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 13.6vw;
  background: url(../images/special-thanks-reward/bg_pink.webp) no-repeat center;
  background-size: auto 13.6vw;
}
@media (min-width: 751px) {
  .section-box .award_title .bg-pink {
    min-height: min(64px, 4.444vw);
    background-size: auto min(64px, 4.444vw);
  }
}
.section-box .award_text {
  font-size: min(16px, 1.111vw);
  line-height: 1.625;
}
@media (max-width: 750px) {
  .section-box .award_text {
    font-size: 3.7333333333vw;
    line-height: 1.5714285714;
  }
}
.section-box .award .step {
  border-radius: min(10px, 0.694vw);
  margin-top: min(40px, 2.778vw);
  padding: min(32px, 2.222vw) min(20px, 1.389vw);
  position: relative;
  border: 1px solid #D6D6D6;
}
.section-box .award .step:first-child {
  margin-top: 0;
}
.section-box .award .step:not(:last-child):after {
  content: "";
  position: absolute;
  bottom: max(-31px, -2.153vw);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: min(60px, 4.167vw);
  height: min(20px, 1.389vw);
  background: url(../images/special-thanks-reward/step_arrow.svg) no-repeat center center;
  background-size: contain;
}
@media (max-width: 750px) {
  .section-box .award .step:not(:last-child):after {
    bottom: -4.2666666667vw;
    width: 9.6vw;
    height: 3.2vw;
  }
}
@media (max-width: 750px) {
  .section-box .award .step {
    border-radius: 2.6666666667vw;
    padding: 2.1333333333vw 2.1333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.section-box .award .step_label {
  width: min(72px, 5vw);
}
@media (max-width: 750px) {
  .section-box .award .step_label {
    width: 10.6666666667vw;
    margin: 0 auto 2.4vw;
  }
}
@media (min-width: 751px) {
  .section-box .award .step_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(16px, 1.111vw);
  }
  .section-box .award .step_flex .step_content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.section-box .award .step_img {
  width: min(180px, 12.5vw);
}
@media (max-width: 750px) {
  .section-box .award .step_img {
    margin-inline: auto;
    width: 48vw;
  }
}
.section-box .award .step_ttl {
  font-size: min(20px, 1.389vw);
  line-height: 1.5;
  font-weight: bold;
}
@media (max-width: 750px) {
  .section-box .award .step_ttl {
    margin-bottom: 2.6666666667vw;
    font-size: 4.2666666667vw;
    line-height: 160%;
  }
}
.section-box .award .step_note {
  margin-top: min(14px, 0.972vw);
}
@media (min-width: 751px) {
  .section-box .award .step_note .txt-note {
    line-height: 1.3571428571;
  }
}
@media (max-width: 750px) {
  .section-box .award .step_note {
    margin-top: 2.6666666667vw;
  }
}
.section-box .award .award_steps--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row;
          flex-flow: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.4vw;
}
@media (min-width: 751px) {
  .section-box .award .award_steps--flex {
    gap: min(40px, 2.778vw);
  }
}
.section-box .award .award_steps--flex .step {
  width: 100%;
  padding: min(20px, 1.389vw);
  position: relative;
}
@media (max-width: 750px) {
  .section-box .award .award_steps--flex .step {
    padding: 2.1333333333vw 2.1333333333vw;
  }
}
.section-box .award .award_steps--flex .step_group {
  width: min(440px, 30.556vw);
}
@media (max-width: 750px) {
  .section-box .award .award_steps--flex .step_group {
    width: 39.2vw;
  }
}
.section-box .award .award_steps--flex .step_block {
  border: 0;
  padding: 0;
}
.section-box .award .award_steps--flex .step_block__head {
  height: min(65px, 4.514vw);
  padding: min(16px, 1.111vw);
  font-size: min(20px, 1.389vw);
  line-height: 1.65;
  text-align: center;
  font-weight: bold;
  color: #fff;
  background: -webkit-gradient(linear, right top, left top, from(#E60012), to(#FF472F));
  background: linear-gradient(270deg, #E60012 0%, #FF472F 100%);
  border-radius: min(10px, 0.694vw) min(10px, 0.694vw) 0 0;
}
@media (max-width: 750px) {
  .section-box .award .award_steps--flex .step_block__head {
    height: 21.8666666667vw;
    padding: 2.1333333333vw;
    font-size: 4.2666666667vw;
    line-height: 140%;
    text-align: center;
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
  }
}
.section-box .award .award_steps--flex .step_block__body {
  border-radius: 0 0 2.6666666667vw 2.6666666667vw;
  border: 1px solid #D6D6D6;
  border-top: 0;
  padding: 2.4vw 2.1333333333vw 2.1333333333vw;
}
@media (min-width: 751px) {
  .section-box .award .award_steps--flex .step_block__body {
    padding: min(20px, 1.389vw) min(15px, 1.042vw);
    border-radius: 0 0 min(10px, 0.694vw) min(10px, 0.694vw);
  }
}
.section-box .award .award_steps--flex .step_img {
  margin: min(20px, 1.389vw) auto 0;
  width: min(180px, 12.5vw);
}
@media (max-width: 750px) {
  .section-box .award .award_steps--flex .step_img {
    margin: 4.2666666667vw auto 0;
    width: 34.4vw;
  }
}
@media (min-width: 751px) {
  .section-box .award .award_steps--flex .step_ttl {
    font-size: min(18px, 1.25vw);
    line-height: 170%;
  }
}
@media (max-width: 750px) {
  .section-box .award .award_steps--flex .step_note {
    margin-top: 4.5333333333vw;
  }
  .section-box .award .award_steps--flex .step_note .txt-note {
    line-height: 150%;
  }
}
@media (min-width: 751px) {
  .section-box .award .award_steps--flex .step_note {
    margin-top: min(10px, 0.694vw);
  }
}
@media (min-width: 751px) {
  .section-box .award .award_steps--flex .--group-01 .--step2 .step_img {
    margin-top: min(12px, 0.833vw);
  }
  .section-box .award .award_steps--flex .--group-01 .--step3 .step_img,
  .section-box .award .award_steps--flex .--group-02 .--step3 .step_img {
    width: min(170px, 11.806vw);
    margin-top: min(10px, 0.694vw);
  }
}
.section-box .award_vitality {
  margin-top: min(40px, 2.778vw);
}
@media (max-width: 750px) {
  .section-box .award_vitality {
    margin-top: 5.3333333333vw;
  }
}
@media (max-width: 750px) {
  .section-box .award_vitality .step_img {
    margin-top: 4.8vw;
    width: 48vw;
  }
  .section-box .award_vitality .step_note {
    margin-top: 1.6vw;
  }
}
@media (min-width: 751px) {
  .section-box .award_vitality .step_ttl {
    margin-bottom: min(8px, 0.556vw);
    font-size: min(20px, 1.389vw);
    line-height: 1.5;
  }
  .section-box .award_vitality .step_img {
    width: min(180px, 12.5vw);
  }
  .section-box .award_vitality .step_flex {
    grid-template-columns: minmax(0, 1fr) min(180px, 12.5vw);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .section-box .award_vitality .step_note {
    margin-block: min(15px, 1.042vw) min(4px, 0.278vw);
  }
}
.section-box .award_vitality .step_txt02 {
  font-size: 3.7333333333vw;
  line-height: 140%;
}
.section-box .award_vitality .step_txt02 + .step_txt02 {
  margin-top: 2.6666666667vw;
}
.section-box .award_vitality .step_txt02 .txt-red {
  font-weight: 600;
}
.section-box .award_vitality .step_txt02 small {
  font-size: 2.6666666667vw;
}
@media (min-width: 751px) {
  .section-box .award_vitality .step_txt02 {
    font-size: min(16px, 1.111vw);
    line-height: 1.6875;
  }
  .section-box .award_vitality .step_txt02 small {
    font-size: min(12px, 0.833vw);
  }
  .section-box .award_vitality .step_txt02 + .step_txt02 {
    margin-top: min(10px, 0.694vw);
  }
}
.section-box .award_vitality .step_block {
  border-radius: min(10px, 0.694vw);
  border: 1px solid #D6D6D6;
}
@media (max-width: 750px) {
  .section-box .award_vitality .step_block {
    border-radius: 2.6666666667vw;
  }
}
.section-box .award_vitality .step_block__head {
  height: min(47px, 3.264vw);
  padding: min(7px, 0.486vw) min(16px, 1.111vw);
  font-size: min(20px, 1.389vw);
  line-height: 1.65;
  text-align: center;
  font-weight: bold;
  color: #E60012;
  background: #FFF2F3;
  border-radius: min(10px, 0.694vw) min(10px, 0.694vw) 0 0;
}
@media (max-width: 750px) {
  .section-box .award_vitality .step_block__head {
    height: 11.2vw;
    padding: 2.1333333333vw;
    font-size: 4.2666666667vw;
    line-height: 160%;
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
  }
}
.section-box .award_vitality .step_block__body {
  padding: 5.3333333333vw;
}
@media (min-width: 751px) {
  .section-box .award_vitality .step_block__body {
    padding: min(20px, 1.389vw);
  }
}
.section-box .benifit {
  margin-top: min(60px, 4.167vw);
  padding: min(32px, 2.222vw) min(40px, 2.778vw);
  border-radius: min(10px, 0.694vw);
  border: 1px solid #D6D6D6;
}
@media (max-width: 750px) {
  .section-box .benifit {
    margin-top: 10.6666666667vw;
    padding: 4vw 2.1333333333vw 5.0666666667vw;
    border-radius: 2.6666666667vw;
  }
}
.section-box .benifit_title {
  margin-bottom: min(20px, 1.389vw);
  font-size: min(26px, 1.806vw);
  line-height: 1.6153846154;
  font-weight: bold;
  text-align: center;
  color: #E60012;
}
@media (max-width: 750px) {
  .section-box .benifit_title {
    margin-bottom: 3.4666666667vw;
    font-size: 4.8vw;
    line-height: 1.7222222222;
  }
}
.section-box .benifit_content {
  padding: min(30px, 2.083vw);
  background-color: #F7F7F7;
  border-radius: min(10px, 0.694vw);
}
@media (max-width: 750px) {
  .section-box .benifit_content {
    padding: 3.2vw 2.1333333333vw;
    border-radius: 2.6666666667vw;
  }
}
.section-box .benifit_ttl {
  font-size: min(20px, 1.389vw);
  line-height: 1.7;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 750px) {
  .section-box .benifit_ttl {
    font-size: 4.2666666667vw;
    line-height: 170%;
  }
}
.section-box .benifit_note {
  margin-top: min(18px, 1.25vw);
}
@media (max-width: 750px) {
  .section-box .benifit_note {
    margin-top: 2.1333333333vw;
  }
}
.section-box .terms {
  margin-top: min(58px, 4.028vw);
}
@media (max-width: 750px) {
  .section-box .terms {
    margin-top: 10.6666666667vw;
  }
}
.section-box .terms_ttl {
  margin-bottom: min(18px, 1.25vw);
  position: relative;
  text-align: center;
}
@media (max-width: 750px) {
  .section-box .terms_ttl {
    margin-bottom: 3.2vw;
  }
}
.section-box .terms_ttl:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: min(2px, 0.139vw);
  margin-top: -1px;
  background-color: #D6D6D6;
}
@media (max-width: 750px) {
  .section-box .terms_ttl:before {
    height: 1px;
    margin-top: -0.8vw;
  }
}
.section-box .terms_ttl span {
  position: relative;
  background-color: #fff;
  padding: 0 3.2vw;
  font-size: 4.8vw;
  line-height: 1;
  font-weight: bold;
  color: #E60012;
  letter-spacing: 5%;
}
@media (min-width: 751px) {
  .section-box .terms_ttl span {
    padding: 0 min(16px, 1.111vw);
    font-size: min(26px, 1.806vw);
    letter-spacing: 0;
  }
}
.section-box .terms_list li {
  padding-left: min(20px, 1.389vw);
  position: relative;
  font-size: min(16px, 1.111vw);
  line-height: 1.625;
  font-weight: 400;
}
@media (max-width: 750px) {
  .section-box .terms_list li {
    padding-left: 4.8vw;
    font-size: 3.7333333333vw;
    line-height: 1.5714285714;
  }
}
.section-box .terms_list li:before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
}
.section-box .terms_list li + li {
  margin-top: min(12px, 0.833vw);
}
@media (max-width: 750px) {
  .section-box .terms_list li + li {
    margin-top: 3.2vw;
  }
}
@media (max-width: 750px) {
  .section-box .terms_list li.mr-4 {
    margin-right: -1.0666666667vw;
  }
}

@media (min-width: 751px) {
  .section-box.--adidas {
    min-height: min(2410px, 167.361vw);
  }
  .section-box.--adidas .intro__head {
    margin-bottom: min(28px, 1.944vw);
  }
}

@media (min-width: 751px) {
  .--apple-watch .award_title {
    margin-bottom: min(38px, 2.639vw);
  }
}
@media (max-width: 750px) {
  .--apple-watch .award .step {
    padding: 5.3333333333vw;
  }
  .--apple-watch .award .step:not(:last-child):after {
    bottom: -5.3333333333vw;
  }
  .--apple-watch .award .step + .step {
    margin-top: 7.4666666667vw;
  }
  .--apple-watch .award .step_img {
    margin-top: 4vw;
  }
}

.campaign {
  padding: 10.4vw 5.3333333333vw;
  background-color: #E60012;
}
@media (max-width: 750px) {
  .campaign {
    margin-top: 16vw;
    min-height: 97.8666666667vw;
  }
}
@media (min-width: 751px) {
  .campaign {
    margin-top: min(80px, 5.556vw);
    padding: min(40px, 2.778vw) min(20px, 1.389vw);
    min-height: min(373px, 25.903vw);
  }
}
.campaign__link {
  display: block;
}
.campaign__img {
  margin-inline: auto;
  width: 80.2666666667vw;
}
@media (min-width: 751px) {
  .campaign__img {
    width: min(277px, 19.236vw);
  }
}