@charset "utf-8";
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
body {
  color: #282828;
  font-size: 1.5rem;
  font-family: 'Noto Sans JP', sans-serif , 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, Arial, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  line-height: 1.9;
  -webkit-text-size-adjust: 100%;
	background: url(../img/body_bg.webp);
  background-color: #f1f1f1;
  background-size: 20%;
	background-repeat:repeat;
}
li {
  list-style-type:none;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.wrapper {
  width: 100%;
  max-width: 500px;
  margin: 0px auto;
  position: relative;
}
.content_wrapper {
  /*margin-bottom: 26px;*/
  padding: 0 24px;
}
/*.content_wrapper:last-of-type {
  margin-bottom: 0;
}*/
.content_title {
  margin-bottom: 26px;
}
.text_indent {
  padding-left: 1em;
  text-indent: -1em;
}
.text_bold {
  font-weight: bold;
}
.text_red {
  color: #EB554B;
}
.text_orange {
  color: #EB554B;
}
.text_link {
  color: #EB554B;
  text-decoration: none;
  word-wrap: break-word;
}
.text_link:hover {
  text-decoration: underline;
}
.pc_only {
  display: none;
}
@media screen and (min-width: 500px) {
.pc_only {
  display: block;
}
.sp_only {
  display: none;
}
body {
  font-size: 2rem;
	background: url(../img/body_bg.webp);
  background-color: #f1f1f1;
  background-size: 20%;
	background-repeat:repeat;
}
.wrapper {
  box-shadow: 30px 0px 90px -10px rgba(225, 225, 225, 1), -30px 0px 90px -10px rgba(225, 225, 225, 1);
}
}

/*======================================================
アニメーション
======================================================*/

/*===============　マーカーアニメーション ===============*/
.text_marker_yellow { /*黄色マーカー 0.5秒*/
  padding-bottom: 2px;
  background: -webkit-linear-gradient(left, rgb(250,248,139) 50%, transparent 50%);
  background: -moz-linear-gradient(left, rgb(250,248,139) 50%, transparent 50%);
  background: linear-gradient(left, rgb(250,248,139) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% .8em; 
  background-position: 100% .8em;
  transition: .5s;
  transition-delay: .8s;
}
.text_marker_pale_red { /*薄赤色マーカー 0.5秒*/
  padding-bottom: 2px;
  background: -webkit-linear-gradient(left, rgb(251,219,212) 50%, transparent 50%);
  background: -moz-linear-gradient(left, rgb(251,219,212) 50%, transparent 50%);
  background: linear-gradient(left, rgb(251,219,212) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% .8em; 
  background-position: 100% .8em;
  transition: 2.0s;
  transition-delay: .8s;
}
[class*='text_marker_'].marker_10 { /*マーカー 1秒*/
  transition: 1.0s;
  transition-delay: .8s;
}
[class*='text_marker_'].marker_20 { /*マーカー 2秒*/
  transition: 2.0s;
  transition-delay: .8s;
}
[class*='text_marker_'].marker_30 { /*マーカー 3秒*/
  transition: 3.0s;
  transition-delay: .8s;
}
[class*='text_marker_'].delay-time20 { /*マーカー ディレイ 2秒*/
  transition-delay: 2.0s;
}
.text_marker_yellow.marker_trigger,
.text_marker_pale_red.marker_trigger
{
  background-position: 0% .8em;
}

/*===============　フェードアップアニメーション ===============*/
.fadeup_trigger {
  opacity: 0;
}
.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:1.0s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(50px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*===============　手書き文字アニメーション ===============*/
.cls-1 {
  fill: none;
  isolation :isolate;;
  stroke-linecap :round;
  stroke-linejoin :round;
  stroke-width :6px;
}
.voice_item.handwriting_trigger .mask_line_01 {
  stroke-dasharray :6020px;
  animation: h-written-01 5s;
  stroke: #fff;
}
.voice_item.handwriting_trigger .mask_line_02 {
  stroke-dasharray:7260px;
  animation: h-written-02 5s;
  stroke: #fff;
}
.voice_item.handwriting_trigger .mask_line_03 {
  stroke-dasharray: 5090px;
  animation: h-written-03 5s;
  stroke: #fff;
}
.svg_text_01 {
  mask: url(#mask_01);
}
.svg_text_02 {
  mask: url(#mask_02);
}
.svg_text_03 {
  mask: url(#mask_03);
}
@keyframes h-written-01 {
  0% {
    stroke-dashoffset:6020px;
  }
  20% {
  stroke-dashoffset:6020px;
  }
  100% {
    stroke-dashoffset:0px;
  }
}
@keyframes h-written-02 {
  0% {
    stroke-dashoffset:7260px;
  }
  20% {
  stroke-dashoffset:7260px;
  }
  100% {
    stroke-dashoffset:0px;
  }
}
@keyframes h-written-03 {
  0% {
    stroke-dashoffset:5090px;
  }
  38% {
  stroke-dashoffset:5090px;
  }
  100% {
    stroke-dashoffset:0px;
  }
}

/*===============　きらっと光るアニメーション ===============*/
.btn.shine {
  position: relative;
  overflow: hidden;
}
@-webkit-keyframes shine {
  0% {
    left: -200%;
    opacity: 0;
  }
  70% {
    left: -200%;
    opacity: 0.5;
  }
  71% {
    left: -200%;
    opacity: 1;
  }
  100% {
    left: -20%;
    opacity: 0;
  }
}
@keyframes shine {
  0% {
    left: -200%;
    opacity: 0;
  }
  70% {
    left: -200%;
    opacity: 0.5;
  }
  71% {
    left: -200%;
    opacity: 1;
  }
  100% {
    left: -20%;
    opacity: 0;
  }
}

/*===============　上下に動くアニメーション ===============*/
.btn.floatV {
  -webkit-animation: floatV 3s ease-in-out infinite alternate;
  animation: floatV 3s ease-in-out infinite alternate;
}
@-webkit-keyframes floatV {
  0% {
    -webkit-transform: translate3d(0, -0.5em, 0);
            transform: translate3d(0, -0.5em, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0.5em, 0);
            transform: translate3d(0, 0.5em, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -0.5em, 0);
            transform: translate3d(0, -0.5em, 0);
  }
}
@keyframes floatV {
  0% {
    -webkit-transform: translate3d(0, -0.5em, 0);
            transform: translate3d(0, -0.5em, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0.5em, 0);
            transform: translate3d(0, 0.5em, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -0.5em, 0);
            transform: translate3d(0, -0.5em, 0);
  }
}


/*===============　拡大縮小アニメーション ===============*/
.breathing {
  animation: breathing 6s infinite;
}
@keyframes breathing {
  0% {
    transform: scale(1, 1);
    transform-origin: center bottom;
  }
  40% {
    transform: scale(1.03, 1.03);
    transform-origin: center bottom;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: center bottom;
  }
}

/*===============　揺れるアニメーション ===============*/
.fuwafuwa {
  animation: fuwafuwa 3s infinite ease-in-out .8s alternate;
  transition: 1.5s ease-in-out;
  margin-top: 15px;
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-4deg);
    transform-origin: center bottom;
  }
  50% {
    transform:translate(0, -2px) rotate(0deg);
    transform-origin: center bottom;
  }
  100% {
    transform:translate(0, 0) rotate(4deg);
    transform-origin: center bottom;
  }
}

/*===============　ジャンプするアニメーション ===============*/
.jump_01 {
  animation: jump_01 5s linear infinite;
}
@keyframes jump_01 {
  0%, 7% {
    transform: translateY(0);
  }
  17% {
    transform: translateY(-6px);
  }
  25% {
    transform: translateY(2px);
  }
  33% {
    transform: translateY(-4px);
  }
  41% {
    transform: translateY(2px);
  }
  46%, 100% {
    transform: translateY(0);
  }
}
.jump_02 {
  animation: jump_02 6s linear infinite;
}
@keyframes jump_02 {
  0%, 47.5% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
  52.5% {
    transform: translateY(2px);
  }
  55% {
    transform: translateY(-4px);
  }
  57.5% {
    transform: translateY(2px);
  }
  60%, 100% {
    transform: translateY(0);
  }
}

/*===============　アニメーションディレイ ===============*/
.delay-time02 {
  animation-delay: .2s;
}
.delay-time04 {
  animation-delay: .4s;
}
.delay-time06 {
  animation-delay: .6s;
}
.delay-time08 {
  animation-delay: .8s;
}
.delay-time10 {
  animation-delay: 1.0s;
}
.delay-time12 {
  animation-delay: 1.2s;
}
.delay-time14 {
  animation-delay: 1.4s;
}
.delay-time20 {
  animation-delay: 2.0s;
}

/*======================================================
CTAボタン
======================================================*/

.cta {
  background: url("../img/cta_bg_230401.png") no-repeat center center/cover;
  padding: 40px 0;
}
.cta .btn {
  display: -webkit-flex;
  display: -ms-flex;
  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;
  margin: 20px auto 0;
  border-radius: 60px;
  background: linear-gradient(0deg, rgba(221, 38, 86, 1) 0%, rgba(216, 175, 183, 1) 100%);
  max-width: 88.67vw;
  height: 20vw;
  transition: 0.2s;
  color: #FFF;
  text-decoration: none;
  border: 2px solid #fff;
  box-shadow: rgba(124, 124, 53) 2px 2px 10px;
}
.cta .btn p {
    margin-top: -5px;
    text-align: center;
	font-size: 7vw;
	font-weight: bold;
	padding-right: 6vw;
	position: relative;
}
.cta .btn p::before{
	position: absolute;
	display: block;
	content: '';
	width: 7vw;
    height: 7vw;
    border-radius: 50%;
    background-color: #FFF;
    top: calc(50% - 3.5vw);
    right: -3vw;
}
.cta .btn p::after {
    position: absolute;
    display: block;
    content: '';
    top: calc(50% - 2vw);
    right: -0.8vw;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2vw 0 2vw 2vw;
    border-color: transparent transparent transparent #d3575d;
  }
.btn.shine::before {
  content: "";
  -webkit-animation: shine 3s cubic-bezier(0.25, 0, 0.25, 1) infinite;
  animation: shine 3s cubic-bezier(0.25, 0, 0.25, 1) infinite;
  background-color: #fff;
  width: 140%;
  height: 100%;
  -webkit-transform: skewX(-45deg);
  transform: skewX(-45deg);
  top: 0;
  left: -160%;
  opacity: 0.5;
  position: absolute;
}
@media screen and (min-width: 500px) {
  .cta {}
  .cta .btn {
    max-width: 534px;
    height: 118px;
    border-radius: 64px;
  }
  .cta .btn p {
    font-size: 4.4rem;
    padding-right: 35px;
  }
  .cta .btn p::before {
    position: absolute;
    display: block;
    content: '';
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #FFF;
    top: calc(50% - 22px);
    right: -20px;
  }
  .cta .btn p::after {
    position: absolute;
    display: block;
    content: '';
    top: calc(50% - 10px);
    right: -7px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 12px;
    border-color: transparent transparent transparent #d3575d;
  }
}
/*======================================================
header
======================================================*/

h1 {
  width: 100%;
  height: auto;
}

/*======================================================
追従ボタン
======================================================*/
.cta_follow {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: none;
}
.cta_follow_box {
  max-width: 640px;
  margin: 0 auto;
}
.cta_follow .btn {
  display: -webkit-flex;
  display: -ms-flex;
  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;
  margin: 0 auto 20px;
  border-radius: 60px;
  background: linear-gradient(0deg, rgba(221, 38, 86, 1) 0%, rgba(216, 175, 183, 1) 100%);
  max-width: 88.67vw;
  height: 20vw;
  transition: 0.2s;
  color: #FFF;
  text-decoration: none;
  border: 2px solid #fff;
}
.cta_follow .btn p {
  margin-top: -5px;
    text-align: center;
    font-size: 7vw;
    font-weight: bold;
    padding-right: 6vw;
    position: relative;
	
}
.cta_follow .btn p::before {
    position: absolute;
    display: block;
    content: '';
    width: 7vw;
    height: 7vw;
    border-radius: 50%;
    background-color: #FFF;
    top: calc(50% - 3.5vw);
    right: -3vw;
}
.cta_follow .btn p::after {
    position: absolute;
    display: block;
    content: '';
    top: calc(50% - 2vw);
    right: -0.8vw;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2vw 0 2vw 2vw;
    border-color: transparent transparent transparent #d3575d;
}
@media screen and (min-width: 500px) {
  .cta_follow .btn {
    max-width: 534px;
    height: 118px;
    border-radius: 64px
  }
  .cta_follow .btn p {
    font-size: 4.4rem;
    padding-right: 35px;
  }
  .cta_follow .btn p::before {
    width: 44px;
    height: 44px;
    top: calc(50% - 22px);
    right: -20px;
  }
.cta_follow .btn p::after {
  top: calc(50% - 10px);
  right: -7px;
  border-width: 10px 0 10px 12px;
}
}

/*======================================================
footer
======================================================*/
.ft-copyright {
  padding: 13px 0 15px;
  background-color: #fff;
  text-align: center;
  font-size: 1.2rem;
}
footer .cta {
  padding: 0 0 10px;
  border-top: solid 4px #ED554B;
  background: rgba(255,246,239,.95);
}
@media screen and (min-width: 500px) {
footer .cta {
  border-top: solid 4px #ED554B;
}
}
/*240415*/
/*======================================================
追従ボタン
======================================================*/
.cta_follow_CDT .btn p {
  padding-right: 0;
}
.cta_follow_CDT .btn p::before,
.cta_follow_CDT .btn p::after {
  display: none;
}
.cta_follow_CDT {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: none;
  max-width: 640px;
  padding-top: 8px;
}
.cta_follow_CDT_box {
  max-width: 500px;
  margin: 0 auto;
}
.cta_follow_CDT .btn_text {
  width: 203px;
  height: auto;
  margin: 14px auto 12px;
}
.cta_follow_CDT .btn {
  display: -webkit-flex;
  display: -ms-flex;
  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;
  margin: 0 auto 20px;
  border-radius: 16vw;
  background: linear-gradient(0deg, rgba(221, 38, 86, 1) 0%, rgba(216, 175, 183, 1) 100%);
  max-width: 520px;
  width: calc(100% - 48px);
  height: 20vw;
  transition: 0.2s;
  color: #FFF;
  text-decoration: none;
  box-shadow: rgba(122,53, 53) 2px 2px 10px;
}
.cta_follow_CDT .btn::after {
  display: none;
}
.cta_follow_CDT .btn p {
  text-align: center;
}
.cta_follow_CDT .btn .date {
  font-size: 1.2rem;
}
.cta_follow_CDT .btn .date .inner {
  position: relative;
  padding: 0 1em;
  font-feature-settings: "palt";
}
.cta_follow_CDT .btn .date .inner span:first-of-type,
.cta_follow_CDT .btn .date .inner span:nth-of-type(2) {
  font-size: 1.7rem;
}
.cta_follow_CDT .btn .date .inner span:nth-of-type(3) {
  font-size: 1.1rem;
} 
.cta_follow_CDT .btn .date .inner span:nth-of-type(4) {
  font-size: 1.0rem;
}
.cta_follow_CDT .btn .date span::before,
.cta_follow_CDT .btn .date span::after {
  position: absolute;
  top: .1em;
  content: "";
  display: block;
  width: 1px;
  height: 15px;
  background: #fff;
}
.cta_follow_CDT .btn .date span::before {
  left: 0;
  transform: rotate(-22deg);
}
.cta_follow_CDT .btn .date span::after {
  right: 0;
  transform: rotate(22deg);
}
.cta_follow_CDT .btn p .btn_01 {
  position: relative;
  margin-bottom: 5px;
  font-size: 1.2rem;
}
.cta_follow_CDT .btn_01 img {
  width: 90%;
  padding-top: 8px;
}
.cd_tx {
  text-align: center;
  color: #FF2E6C;
}
.cd_tx .timer_tx {
  font-weight: bold;
  display: inline-block;
  font-size: 4.6vw;
}
.cd_tx span {
  font-size: 6vw;
  font-weight: bold;
}
/*.cta {
  padding: 0;
  background: unset;
}*/
img {
  display: block;
}
@media screen and (min-width: 500px) {
  .cta_follow_CDT {
    left: calc(50% - 320px);
  }
  .cta_follow_CDT .btn_text {
    width: 406px;
    margin: 22px auto 16px;
  }
  .cta_follow_CDT .btn_img {
    margin: 0 140px 20px;
  }
  .cta_follow_CDT .btn {
    position: relative;
    height: 112px;
    border-radius: 80px;
  }
  .cta_follow_CDT .btn::after {
    display: none;
  }
  .cta_follow_CDT .btn .date {
    font-size: 2.0rem;
  }
  .cta_follow_CDT .btn .date .inner span:first-of-type,
  .cta_follow_CDT .btn .date .inner span:nth-of-type(2) {
    font-size: 2.9rem;
  }
  .cta_follow_CDT .btn .date .inner span:nth-of-type(3) {
    font-size: 1.9rem;
  } 
  .cta_follow_CDT .btn .date .inner span:nth-of-type(4) {
    font-size: 1.7rem;
  }
  .cta_follow_CDT .btn .date span::before,
  .cta_follow_CDT .btn .date span::after {
    width: 2px;
    height: 26px;
  }
  .cta_follow_CDT .btn p .btn_01 {
    margin-bottom: 5px;
    font-size: 2rem;
  }
  .cd_tx .timer_tx {
    font-size: 2.4rem;
    margin: 0 6px;
  }
  .cd_tx span {
  font-size: 3.2rem;
}
}

/*2405*/
img {
  display: block;
}
/*2407*/
/*CTAアニメーション追加*/
@-webkit-keyframes shine {
  0% {
    left: -200%;
    opacity: 0;
  }
  70% {
    left: -200%;
    opacity: 0.5;
  }
  71% {
    left: -200%;
    opacity: 1;
  }
  100% {
    left: -20%;
    opacity: 0;
  }
}
@keyframes shine {
  0% {
    left: -200%;
    opacity: 0;
  }
  70% {
    left: -200%;
    opacity: 0.5;
  }
  71% {
    left: -200%;
    opacity: 1;
  }
  100% {
    left: -20%;
    opacity: 0;
  }
}
.shine_inner {
  position: relative;
  overflow: hidden;
  display: block;
}
.shine_mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-mask-image: url(../img/2503/cta_btn.png); mask-image: url(../img/2503/cta_btn.png);
  -webkit-mask-size: 100% auto; mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: left top; mask-position: left top;
  display: block;
}
.shine {
  content: "";
  -webkit-animation: shine 3s cubic-bezier(0.25, 0, 0.25, 1) infinite;
  animation: shine 3s cubic-bezier(0.25, 0, 0.25, 1) infinite;
  background-color: #fff;
  width: 140%;
  height: 100%;
  -webkit-transform: skewX(-45deg);
  transform: skewX(-45deg);
  top: 0;
  left: -160%;
  opacity: 0.5;
  position: absolute;
  z-index: 1;
  display: block;
}
.cta_follow .shine_mask {
  -webkit-mask-image: url(../img/2503/flow_cta_btn.png); mask-image: url(../img/2503/flow_cta_btn.png);
}
/*ボタンホバー時明るくする*/
.cta .btn::before {
  -webkit-mask-image: url(../img/2503/cta_btn.png); mask-image: url(../img/2503/cta_btn.png);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; 
  mask-size: 34rem;
  display: none;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #FFF;
  opacity: 0.2;
  z-index: 2;
}
.cta_follow_btn::before {
  -webkit-mask-image: url(../img/2503/flow_cta_btn.png); mask-image: url(../img/2503/flow_cta_btn.png);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; 
  mask-size: 34rem;
  display: none;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #FFF;
  opacity: 0.2;
  z-index: 2;
}
.cta .btn:hover::before,
.cta_follow_btn:hover::before {
  display: inline-block;
}
/*調整*/
.cta_wrap {
  position: relative;
  line-height: 0;
}
.cta {
  background: unset;
  padding: 0;
  text-align: center;
  position: absolute;
  width: 80%;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1.5rem;
}
.cta_btn_bottom_tx {
  margin-top: 1rem;
  line-height: 1.9;
  font-weight: bold;
}
.cta .btn {
  background: unset;
  border: unset;
  height: auto;
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.4));
  box-shadow: unset;
}
.cta_follow_box {
  text-align: center;
  background: rgba(255, 255, 255, 0.9);
}
.cta_follow .cta_btn_top_tx {
  color: #FF2E6C;
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: -1.5rem;
  letter-spacing: 0.2rem;
}
.cta_follow .cta_btn_top_tx .large {
  font-size: 1.388em;
}
.cta_follow .cta_btn_bottom_tx {
  margin-top: -0.5rem;
}
.cta_follow_btn {
  width: 34rem;
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.4));
  display: inline-block;
}
@media screen and (min-width: 500px) {
  /*調整*/
  .cta {
    bottom: 45px;
    width: 80%;
  left: 50%;
  transform: translateX(-50%);
  }
  .cta_btn_bottom_tx {
    margin-top: 15px;
  }
  .cta_follow .cta_btn_top_tx {
    color: #FF2E6C;
    font-size: 28px;
    margin-bottom: -20px;
  }
  .cta_follow .cta_btn_top_tx .large {
    font-size: 1.388em;
  }
  .cta_follow .cta_btn_bottom_tx {
    margin-top: -10px;
  }
  .cta_follow_btn {
    width: 80%;
  }
  .cta .btn::before,
  .cta_follow_btn::before {
    mask-size: 80%;
  }
}
/*240820*/
/*.cd_tx {
  margin-bottom: -0.4rem;
  line-height: 1.6;
}
.cta_follow .shine_mask {
  -webkit-mask-image: url("../img/240820/follow_cta_btn_cdt.png"); mask-image: url("../img/240820/follow_cta_btn_cdt.png");
}
.cta_follow_btn::before {
  -webkit-mask-image: url("../img/240820/follow_cta_btn_cdt.png"); mask-image: url("../img/240820/follow_cta_btn_cdt.png");
}
@media screen and (min-width: 500px) {
  .cd_tx {
    margin-bottom: -8px;
    font-size: 1.8rem;
  }
}*/
/*2411*/
.cta {
  bottom: 5.5rem;
}
.cta .btn {
  filter: drop-shadow(2px 2px 10px rgba(122, 53, 53, 1));
}
.shine_mask,
.cta .btn::before {
  -webkit-mask-image: url(../img/2503/cta_btn.png); mask-image: url(../img/2503/cta_btn.png);
}
.cta_follow .shine_mask,
.cta_follow_btn::before {
  -webkit-mask-image: url(../img/2503/flow_cta_btn.png); mask-image: url(../img/2503/flow_cta_btn.png);
}
@media screen and (min-width: 500px) {
  .cta {
    bottom: 57px;
  }
}