@charset "utf-8";

/* =======================================
    01.Base（reset / base / typography）
======================================= */
/* ------ Reset ------- */
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
ul {
  list-style: none;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
html,body {
  -webkit-text-size-adjust: 100%;
}


/* ------ root（pc 1130px / sp 375px） ------- */
:root {
  /* color */
  --color-primary:    #009944;
  --color-secondary:  #13ae67;
  --color-accent:     #de7b29;
  --color-bg-orange:  #e87e25;
  --color-bg-green:   #9bce88;
  --color-font-black: #323333;

  /* size */
  --size-10:  min(0.885vw, 10px);
  --size-15:  min(1.327vw, 15px);
  --size-20:  min(1.77vw, 20px);
  --size-25:  min(2.212vw, 25px);
  --size-30:  min(2.655vw, 30px);
  --size-40:  min(3.54vw, 40px);
  --size-50:  min(4.425vw, 50px);
  --size-60:  min(5.31vw, 60px);
  --size-70:  min(6.195vw, 70px);
  --size-80:  min(7.08vw, 80px);
  --size-90:  min(7.965vw, 90px);
  --size-100: min(8.85vw, 100px);
  --size-140: min(12.389vw, 140px);

  /* font */
  --font-txt-sm:   min(1.504vw, 1.7rem);
  --font-txt-base: min(2.124vw, 2.4rem);
  --font-txt-md:   min(2.478vw, 2.8rem);
  --font-txt-lg:   min(3.717vw, 4.2rem);
}
@media (max-width: 767px) {
  :root {
    /* size */
    --size-10:  min(2.667vw, 12px);
    --size-15:  min(4vw, 18px);
    --size-20:  min(5.333vw, 24px);
    --size-25:  min(6.667vw, 30px);
    --size-30:  min(8vw, 35px);
    --size-40: min(10.667vw, 46px);
    --size-50:  min(13.333vw, 58px);
    --size-60:  min(16vw, 70px);
    --size-70:  min(18.667vw, 82px);
    --size-80:  min(21.333vw, 92px);
    --size-90:  min(24vw, 110px);
    --size-100: min(26.667vw, 120px);
    --size-140: min(37.333vw, 160px);

    /* font */
    --font-txt-ss:   min(2.933vw, 1.4rem); /* 1.1rem */
    --font-txt-sm:   min(3.2vw, 1.5rem); /* 1.2rem */
    --font-txt-base: min(3.467vw, 1.6rem); /* 1.3rem */
    --font-txt-md:   min(4vw, 1.9rem); /* 1.5rem */
    --font-txt-lg:   min(4.533vw, 2.2rem); /* 1.7rem */
  }
}


/* ------ Responsive -------*/
.pc {
  display: block;
}
.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}


/* ------ box -------*/
body {
  background-color: #fff;
  overflow-y: scroll;
}
#pageWrapper{
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}
section {
  position: relative;
  width: 100%;
  z-index: 10;
}
.container {
  max-width: 1130px; /* 1100px + 30px*/
  margin: 0 auto;
  position: relative;
  padding: 0 var(--size-15);
  width: 100%;
}
@media screen and (max-width: 767px){
  body{
    min-width: 100%;
  }
  .container {
    padding: 0;
    width: 88%;
  }
}


/* ------ text -------*/
html {
  font-size: 62.5%;
}
body {
  color: var(--color-font-black);
  font-family: "Montserrat","Zen Kaku Gothic Antique","Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: var(--font-txt-base);
  font-optical-sizing: auto;
  font-weight: 500;
  line-height: 1.7;
}
main p{
  margin-bottom: 1em;
}
main p:last-child{
  margin-bottom: 0;
}
sup {
  font-size: 1.2rem;
  position: relative;
  top: -3px;
  right: 0;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  sup {
      font-size: 1.867vw;
  }
}


/* =======================================
  02. Utilities（margin / padding etc）
======================================= */
/* ------ padding -------*/
.section-pad{
  padding: var(--size-70) 0;
}
@media screen and (max-width: 767px) {
  .section-pad{
    padding: var(--size-40) 0;
  }
}
.case-mb{
  margin-bottom: var(--size-70);
}
@media screen and (max-width: 767px) {
  .case-mb{
    margin-bottom: var(--size-30);
  }
}
.box-mb{
  margin-bottom: var(--size-40);
}
@media screen and (max-width: 767px) {
  .box-mb{
    margin-bottom: var(--size-20);
  }
}


/* ------ margin -------*/
.mb_0{
  margin-bottom: 0;
}
.mb_30{
  margin-bottom: var(--size-30);
}
.mb_40{
  margin-bottom: var(--size-40);
}
.mb_50{
  margin-bottom: var(--size-50);
}
.mb_60{
  margin-bottom: var(--size-60);
}
.mb_80{
  margin-bottom: var(--size-80);
}
.mb_100{
  margin-bottom: var(--size-100);
}
@media screen and (max-width: 767px) {
  .mb_30{
    margin-bottom: var(--size-20);
  }
  .mb_40{
    margin-bottom: var(--size-25);
  }
  .mb_50{
    margin-bottom: var(--size-30);
  }
  .mb_60{
    margin-bottom: var(--size-35);
  }
  .mb_80{
    margin-bottom: var(--size-40);
  }
  .mb_100{
    margin-bottom: var(--size-50);
  }
}


/* ------ 配置 -------*/
.center{
  text-align: center;
}


/* ------ fadeInUp -------*/
.fadeInUp{
  -webkit-transform: translateZ(0);
  /* display: none; */
  opacity: 0;
}
.fadeInUp.animated {
  /* アニメーションのプロパティを指定 */
  -webkit-transform: translateZ(0);
  animation-name: animated;
  animation-duration: 1s;
  animation-timing-function: ease;
  position: relative;
  opacity: 1;
}
@keyframes animated {
  from {
    opacity: 0;
    bottom: -20px;
  }
  to {
    opacity: 1;
    bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .no-animation {
    opacity: 1 !important;
    animation: none !important;
  }
}


/* ------ visually-hidden -------*/
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* =======================================
    03. Components（button / card / badge）
======================================= */
/* ------ title -------*/
.ttl_main{
  border-bottom: 1.5px solid var(--color-bg-green);
  margin-bottom: 1em;
  padding-bottom: 1em;
  position: relative;
  line-height: 0;
  text-align: center;
}
.ttl_main img{
  height: min(4.336vw, 49px);
}
.ttl_sub{
  margin-bottom: 1.25em;
  line-height: 0;
}
.ttl_main img, .ttl_sub img{
  margin: 0 auto;
}
@media screen and (max-width: 767px){
  .ttl_main{
    padding-bottom: 1em;
    margin-bottom: 1em;
  }
  .ttl_main img{
    height: 5.333vw; /* 20px */
    width: auto;
  }
  .ttl_sub{
    margin-bottom: var(--size-20);
  }
}


/* ------ btn -------*/
/* a */
a{
  color: var(--color-font-black);
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a:hover{
    text-decoration: underline;
  }
}

/* .txt_link */
.txt_link{
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .txt_link:hover{
    text-decoration: none;
  }
}

/* .txt_link_2 */
.txt_link_2{
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .txt_link_2:hover{
    text-decoration: none;
    opacity: 0.7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
}

/* btn */
.btn{
  display: inline-block;
}
.btn_text{
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .btn:hover{
    text-decoration: none;
    transform: scale(0.95);
    transition: 0.3s all;
    opacity: 1;
  }
  .btn_text:hover{
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .btn{
    display: block;
  }
}

/* .btn_application */
.btn_application img{
  width: min( 68.23vw, 771px); 
}
@media screen and (max-width: 767px) {
  .btn_application img{
    width: min(72vw, 350px);
  }
}

/* .cta_box */
.cta_box {
  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;
}
@media screen and (max-width: 767px) {
  .cta_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}


/* ------ background -------*/
/* .bg_orange */
.bg_orange{
  background-color: var(--color-bg-orange);
  position: relative;
}
/* bg_green */
.bg_green{
  background-color: var(--color-bg-green);
  position: relative;
}
@media screen and (max-width: 767px) {
  .bg_orange, .bg_green{
    background-image: url(../img/deco_sparkle_sp.png);
    background-size: 100% auto;
    background-repeat: repeat-y;
  }
  .bg_orange:nth-of-type(1){
    background-size: 104% auto;
    background-position: top left -1.6vw;
  }
  .bg_green{
    background-position: top calc(var(--size-40) * -1)  center;
  }
  .bg_orange:nth-of-type(3){
    background-position: top calc(var(--size-40) * -1)  center;
  }
}


/* .bd_box */
.bd_box{
  background-color: #fff;
  border: 3px solid var(--color-primary);
  border-radius: var(--size-50);
  position: relative;
  padding: var(--size-50) var(--size-70) var(--size-60);
}
@media screen and (max-width: 767px){
  .bd_box{
    border: 2px solid var(--color-primary);
    border-radius: var(--size-20);
    padding: var(--size-25) var(--size-20) var(--size-20);
  }
}


/* ------ .deco -------*/
.deco{
  position: absolute;
}
.deco_sparkle{
  width: min(130.973vw, 1480px);
  min-width: min(130.973vw, 1480px);
  left: calc(50% - min(65.487vw, 740px));
  z-index: 0;
}
.deco_sparkle_01{
  top: 0;
}
.deco_sparkle_02{
  top: calc(var(--size-90) * -1);
}
.deco_sparkle_03{
  top: calc(var(--size-60) * -1);
}
@media screen and (max-width: 767px) {
  .deco_sparkle{
    width: 130%;
    min-width: 130%;
    left: -15%;
  }
  .deco_sparkle_01{
    display: none;
  }
  .deco_sparkle_02{
    top: calc(var(--size-30) * -1);
  }
  .deco_sparkle_03{
    top: calc(var(--size-20) * -1);
  }
  .deco_sparkle_sp{
    width: 100%;
  }
}


/* ------ list -------*/
/* .list_box */
.list_box{
  position: relative;
  margin: 0;
}
.list_box li::before{
  content: '・';
}
@media screen and (max-width: 767px){
  .list_box li{
    padding-left: 1em;
    position: relative;
  }
  .list_box li::before{
    position: absolute;
    left: 0;
  }
}

/* .list_circle_box */
.list_circle_box{
  position: relative;
  margin: 0;
}
.list_circle_box li::before{
  content: '○';
}
@media screen and (max-width: 767px){
  .list_circle_box li{
    position: relative;
    padding-left: 1em;
  }
  .list_circle_box li::before{
    position: absolute;
    left: 0;
  }
}

/* .list_notes_box */
.list_notes_box{
  position: relative;
  margin: 0;
}
.list_notes_box li::before{
  content: '※';
  margin-right: 0.2em;
}
@media screen and (max-width: 767px){
  .list_notes_box li{
    padding-left: 1em;
  }
  .list_notes_box li::before{
    position: absolute;
    left: 0;
  }
}


/* ------ img -------*/
@media screen and (max-width: 767px){
  img{
    width: 100%;
  }
}


/* ------ .scroll_box-------*/
.scroll_box{
  border: 1.5px solid var(--color-bg-green);
  border-radius: var(--size-10);
  padding: 0 var(--size-10) 0 var(--size-30);
}
.scroll_box .inner{
  max-height: min(16.814vw, 190px);
  overflow-y: auto;
  padding-right: var(--size-10);
}
@media screen and (max-width: 767px){
  .scroll_box{
    border-radius: 5px;
    padding: 0 1.333vw;
  }
  .scroll_box .inner{
    max-height: 33.6vw; /* 126px */
    padding-right: 1.333vw;
  }
}


/* =======================================
    04. Layout（header / footer / grid）
======================================= */
/* ------ footer -------*/
footer{
  background-color: #000;
  padding: var(--size-15)
}
footer .copy{
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
}


/* ------ flex-box -------*/
.col2,.col3{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
@media screen and (max-width: 767px) {
  .col2,.col3{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}


/* =======================================
    05. Pages（#pageTop）
======================================= */
/* ------ #mainvisual_box -------*/
#mainvisual_box{
  background-color: var(--color-bg-orange);
  position: relative;
}
#mainvisual_box .img_mainvisual{
  width: 100%;
}
#mainvisual_box .txt_notes{
  color: #fff;
  font-size: 0.885vw; /* 1920px */
  line-height: 1.4;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #mainvisual_box .txt_notes{
    font-size: 2.133vw; /* 0.8rem */
    padding: 1em 1em 0;
  }
}


/* ------ #about_box -------*/
#about_box{
  padding-top: var(--size-30);
}
#about_box .product_box{
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--size-50);
  padding-right: var(--size-50);
  width: min(92.92vw, 1050px);
}
.img_product{
  margin-bottom: var(--size-30);
  text-align: center;
}
.img_product img{
  width: min(82.212vw, 929px);
}
.txt_product{
  text-align: center;
}
.txt_product img{
  width: min(63.451vw, 717px);
}
@media screen and (max-width: 767px) {
  #about_box{
    padding-top: var(--size-20);
  }
  #about_box .container{
    width: 92%;
  }
  #about_box .product_box{
    width: 100%;
    padding-left: var(--size-10);
    padding-right: var(--size-10);
  }
  .img_product{
    margin-bottom: var(--size-10);
  }
  .txt_product img{
    width: 90%;
  }
}


/* ------ #prize_box -------*/
#prize_box{
  padding-top: 0;
}
#prize_box .txt_notes{
  font-size: min(1.77vw, 2rem);
}
@media screen and (max-width: 767px) {
  #prize_box .txt_notes{
    font-size: var(--font-txt-ss);
  }
}

/* .prize_list_box */
.prize_list_box li img{
  width: min(92.743vw, 1048px);
}
@media screen and (max-width: 767px) {
  .prize_list_box li img{
    width: 100%;
  }
}

/* .txt_notes */
#prize_box .txt_notes{
  color: #fff;
  margin-top: var(--size-15);
  text-align: center;
}
@media screen and (max-width: 767px) {}



/* ------ #application-method_box -------*/
#application-method_box{
  padding-top: var(--size-140); 
  padding-bottom: var(--size-140);
  text-align: center;
}
#application-method_box .ttl_main img{
  height: min(12.124vw, 137px);
}
.txt_intro{
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  #application-method_box{
    padding-top: var(--size-40); 
    padding-bottom: var(--size-40); 
  }
  #application-method_box .ttl_main img{
    height: 12.8vw; /* 48px */
  }
  #application-method_box p{
    font-size: var(--font-txt-ss);
  }
}

/* --- .application-steps_box --- */
.application-steps_box .ttl_sub img{
  height: min(5.31vw, 60px);
}
@media screen and (max-width: 767px) {
  .application-steps_box .ttl_sub img{
    height: 5.867vw;
  }
}

/* .step_list_box */
.step_list_box{
  display: flex;
  justify-content: center;
  gap: var(--size-40);
}
@media screen and (max-width: 767px) {
  .step_list_box{
    flex-direction: column;
    gap: var(--size-20);
  }
  .step_list_box img{
    margin: 0 auto;
    width: 90%;
  }
}


/* --- .receipt-guide_box --- */
.receipt-guide_box .ttl_sub img{
  height: min(4.69vw, 53px);
}
@media screen and (max-width: 767px) {
  .receipt-guide_box .ttl_sub img{
    height: 5.867vw;
  }
}

.img_receipt-guide_01{
  margin-left: min(24.779vw, 280px);
  width: min(59.027vw, 667px);
}
.img_receipt-guide_02,
.img_receipt-guide_03{
  width: min(39.469vw, 446px);
}
.img_receipt-guide_04{
  width: min(84.425vw, 954px);
}
@media screen and (max-width: 767px) {
  .img_receipt-guide_01{
    margin-left: var(--size-70)
  }
  .img_receipt-guide_02,
  .img_receipt-guide_03,
  .img_receipt-guide_04{
    margin: 0 auto;
    width: 90%;
  }
  .img_receipt-guide_04{
    margin-bottom: var(--size-10);
  }
}

.receipt-guide_box .col2{
  gap: var(--size-50);
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .receipt-guide_box .col2{
    gap: var(--size-20);
  }
}


/* ------ #application-requirements_box -------*/
#application-requirements_box{
  padding-top: var(--size-140);
}
@media screen and (max-width: 767px){
  #application-requirements_box{
    padding-top: var(--size-40);
  }
}

#application-requirements_box dt{
  color: var(--color-secondary);
  margin-top: var(--size-40);
}
#application-requirements_box dt.mt_0{
  margin-top: 0;
}
#application-requirements_box dd{
  line-height: 1.6;
}
#application-requirements_box p{
  margin-bottom: 0;
  line-height: 1.6;
}
#application-requirements_box .list_notes_box{
  font-size: var(--font-txt-sm);
  margin-top: 5px;
}
#application-requirements_box .txt_notes{
  display: inline-block;
  font-size: var(--font-txt-sm);
}
#application-requirements_box dd .txt_link{
  color: var(--color-accent);
}
@media screen and (max-width: 767px){
  #application-requirements_box dt{
    font-weight: bold;
    margin-top: var(--size-20);
  }
  #application-requirements_box .list_notes_box{
    font-size: var(--font-txt-ss);
    line-height: 1.5;
    margin-top: var(--size-10);
  }
  #application-requirements_box .txt_notes{
    font-size: var(--font-txt-ss);
    margin-top: 5px;
  }
}

/* .products_list_box */
.products_list_box{
  margin: var(--size-15) 0;
}
.products_list_box li{
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px){
  .products_list_box{
    margin: var(--size-10) 0;
  }
  .products_list_box li{
    font-size: var(--font-txt-ss);
    position: relative;
    padding-left: 1.2em;
  }
  .products_list_box li::before{
    content: '・';
    position: absolute;
    left: 0;
  }
}


/* ------ #faq_box -------*/
@media screen and (max-width: 767px){
  #faq_box{
    padding-top: 0;
  }
  #faq_box .ttl_main img{
    height: 11.733vw; /* 44px */
  }
}

/* faq */
.txt_question{
  color: var(--color-secondary);
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 0.5em;
}
.txt_question::before{
  content: '';
  display: inline-block;
  background-image: url(../img/icon_question.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  margin-right: 10px;
  width: 23px;
  height: 22px;
}
.txt_answer{
  font-size: var(--font-txt-sm);
}
@media screen and (max-width: 767px){
  .txt_question{
    margin-bottom: 0.5em;
    font-weight: bold;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .txt_question::before{
    margin-top: 0.533vw;
    margin-right: min(1.333vw, 5px);
    width: min(4.267vw, 16px);
    height: min(4.8vw, 18px);
  }
}


/* ------ #contact_box -------*/
#contact_box{
  padding-bottom: var(--size-140);
}
.ttl_campaign{
  font-size: var(--font-txt-md);
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-bottom: 0.25em;
  text-align: center;
}
.txt_mail{
  color: #3db8ab;
  display: block;
  font-size: var(--font-txt-lg);
  font-weight: bold;
  margin: 0 auto 0.6em;
  text-align: center;
}
.txt_campaign{
  padding-left: var(--size-50);
}
#contact_box .txt_notes{
  display: block;
  font-size: var(--font-txt-sm);
  margin-top: 5px;
}
@media screen and (max-width: 767px){
  #contact_box{
    padding-top: 0;
    padding-bottom: var(--size-40);
  }
  #contact_box .ttl_main img{
    height: 11.733vw; /* 44px */
  }
  .ttl_campaign{
    line-height: 1.5;
    margin-bottom: 0.5em;
  }
  .txt_mail{
    margin-bottom: 1em;
  }
  .txt_campaign{
    padding-left: 0;
  }
  #contact_box .txt_notes{
    font-size: var(--font-txt-sm);
  }
}


/* =======================================
    06. Pages（#pageQr） ※ 1427px
======================================= */
@media screen and (max-width: 767px){
  #pageQr .bg_orange{
    background-image: none;
  }
}

/* ------ #qr_mainvisual_box -------*/
#qr_mainvisual_box .img_mainvisual{
  width: 100%;
}

/* ------ .qr_campaign_box -------*/
.qr_campaign_box:last-child{
  padding-top: min(8.409vw, 120px);
  padding-bottom: var(--size-140);
}
.qr_campaign_box .container{
  max-width: 1427px; /* 1397px + 30px */
  padding-left: min(1.051vw, 15px);
  padding-right: min(1.051vw ,15px);
  position: relative;
}
.qr_campaign_box .inner{
  background-color: #fff;
  border-radius: var(--size-30);
  padding: min(9.11vw, 130px) min(2.803vw, 40px) min(2.102vw, 30px);
  width: min(92.642vw, 1322px);
  margin: 0 auto;
  margin-top: calc(min(7.708vw, 110px) * -1);
  text-align: center;
}
@media screen and (max-width: 767px){
  .qr_campaign_box:nth-child(1){
    padding-top: var(--size-20);
  }
  .qr_campaign_box:last-child{
    padding-top: 0;
    padding-bottom: var(--size-40);
  }
  .qr_campaign_box .container{
    padding: 0;
    width: 92%;
  }
  .qr_campaign_box .inner{
    border-radius: var(--size-10);
    width: 96%;
  }
}

/* .txt_qr_date */
.txt_qr_date{
  position: relative;
  top: 0;
  left: calc(min(1.402vw, 20px) * -1);
  z-index: 10;
  width: min(97.898vw, 1397px);
}

/* .txt_qr_campaig */
.txt_qr_campaign_1st{
  width: min(85.634vw, 1228px);
}
.txt_qr_campaign_2nd{
  width: min(86.055vw, 1222px);
}

/* btn */
.btn_qr_campaign{
  width: min(81.289vw, 1160px);
}

/* .txt_notes */
.qr_campaign_box .txt_notes{
  font-size: min(1.121vw, 1.6rem);
  letter-spacing: -0.02em;
  margin-left: min(1.402vw, 20px);
  padding-left: 1em;
  text-align: left;
  position: relative;
}
.qr_campaign_box .txt_notes::before{
  content: '※';
  position: absolute;
  left: 0;
}
@media screen and (max-width: 767px){
  .qr_campaign_box .txt_notes{
    font-size: 1.867vw; /* 0.7rem */
  }
}

/* .deco_sparkle_qr */
.deco_sparkle_qr{
  width: min(126.98vw, 1812px);
  min-width: min(126.98vw, 1812px);
  left: calc(50% - min(63.49vw, 906px));
  top: calc(min(2.102vw, 30px) * -1);
}

/* cta_box */
.cta_box.is-disabled{
  position: relative;
}
.cta_box.is-disabled::before{
  content: '';
  display: block;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}
.cta_box.is-disabled .btn_qr_campaign{
  opacity: 0.5;
}
.txt_disabled{
  color: #fff;
  display: flex;
  align-items: center;
  font-size: var(--font-txt-lg);
  font-weight: bold;
  height: 100%;
  position: absolute;
  top: 0;
  text-align: center;
  z-index: 10;
}