@charset "utf-8";

/* !Reseting
---------------------------------------------------------- */
.ct_bg div, .ct_bg pre, .ct_bg p, .ct_bg blockquote, .ct_bg figure, .ct_bg dl, .ct_bg dt, .ct_bg dd, .ct_bg ul, .ct_bg ol, .ct_bg li, .ct_bg h1, .ct_bg h2, .ct_bg h3, .ct_bg h4, .ct_bg h5, .ct_bg h6, .ct_bg form, .ct_bg fieldset, .ct_bg th, .ct_bg td
{ margin: 0; padding: 0;}
.ct_bg input, .ct_bg textarea
{ margin: 0; font-size: 100%;}
.ct_bg label
{ cursor: pointer;}
.ct_bg table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
.ct_bg fieldset, .ct_bg img
{ border: 0;}
.ct_bg img
{ vertical-align: top;}
.ct_bg address, .ct_bg caption, .ct_bg cite, .ct_bg code, .ct_bg dfn, .ct_bg em, .ct_bg th, .ct_bg var
{ font-style: normal; font-weight: normal;}
.ct_bg ol, .ct_bg ul
{ list-style: none;}
.ct_bg caption, .ct_bg th
{ text-align: left;}
.ct_bg h1, .ct_bg h2, .ct_bg h3, .ct_bg h4, .ct_bg h5, .ct_bg h6
{ font-size: 100%; font-weight: normal;}
.ct_bg q:after, .ct_bg q:before
{ content:'';}
.ct_bg a, .ct_bg input
{ outline: none; }
.ct_bg abbr, .ct_bg acronym
{ border: 0;}
.ct_bg span,
.ct_bg small {
  font-family: inherit;
  font-weight: inherit;
}
.ct_bg strong {
  font-family: inherit;
  font-weight: 900;
}
.ct_bg li:before {
  content: normal;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  position: initial;
  left: auto;
  top: auto;
}

#contents {
  padding: 0;
  width: 100%;
}

.onlySP {
  display: none;
}

.ct_bg {
  position: relative;
  background: url(../img/bg01.jpg) repeat center top / 600px auto;
  color: #291777;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  overflow-x: clip;
}

.ct_bg a {
  color: #291777;
  text-decoration: underline;
}
.ct_bg a:hover {
  text-decoration: none;
}

.ct_bg .imgOver01 img {
  transition: opacity .3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@media (any-hover: hover) {
.ct_bg .imgOver01 a:hover img {
  opacity: .6;
}
}

.ct_bg .center {
  text-align: center !important;
}
.ct_bg .right {
  text-align: right !important;
}

.ct_bg .mt20 {
  margin-top: 20px;
}
.ct_bg .mt30 {
  margin-top: 30px;
}
.ct_bg .mt40 {
  margin-top: 40px;
}
.ct_bg .mt60 {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
.ct_bg {
  font-size: 3.5vw;
}

.ct_bg a {
  text-decoration: underline;
}
.ct_bg a:hover {
  text-decoration: none;
}
.ct_bg img {
  width: 100%;
  height: auto;
}

.onlyPC {
  display: none;
}
.onlySP {
  display: block;
}
img.onlySP {
  display: inline-block;
}

.ct_bg .mt20 {
  margin-top: 5vw;
}
.ct_bg .mt30 {
  margin-top: 7.5vw;
}
.ct_bg .mt40 {
  margin-top: 10vw;
}
.ct_bg .mt60 {
  margin-top: 15vw;
}
}

/* header
---------------------------------------------------------- */
.ct_bg .headTitleArea01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 9.5px;
  padding-bottom: 9.5px;
  background-color: #E5004A;
  width: 100%;
  color: #fff;
}
.ct_bg .headTitleArea01 > .title01 {
  font-size: 14px;
  font-weight: 700;
}
.ct_bg .headTitleArea01 > .text01 {
  font-size: 14px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
.ct_bg .headTitleArea01 {
  padding-top: .5vw;
  padding-bottom: .5vw;
}
.ct_bg .headTitleArea01 > .title01 {
  width: 100%;
  font-size: 3.5vw;
  text-align: center;
}
.ct_bg .headTitleArea01 > .text01 {
  width: 100%;
  font-size: 3.5vw;
  text-align: center;
}
}

/* footer
---------------------------------------------------------- */
.ct_bg .footer01 {
  position: relative;
  margin-top: 80px;
  padding-bottom: 80px;
}

.ct_bg .footer01 > .copyrights01 {
  margin-top: 8px;
  color: #291777;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.ct_bg .footer01 > .copyrights01:first-child {
  margin-top: 0;
}

.ct_bg .snsBtn01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
  gap: 10px;
}

.fb_iframe_widget > span {
  vertical-align: baseline !important;
}

@media screen and (max-width: 767px) {
.ct_bg .footer01 {
  position: relative;
  margin-top: 15vw;
  padding-bottom: 15vw;
}

.ct_bg .footer01 > .copyrights01 {
  margin-top: 1.5vw;
  font-size: 2.5vw;
}

.ct_bg .snsBtn01 {
  margin-top: 7.5vw;
  gap: 2.5vw;
}
}


/* animation
---------------------------------------------------------- */
.ct_bg .js_fadeIn01 {
  opacity: 0;
}
.ct_bg .js_fadeIn01.is_show {
  animation: fadeIn01 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeIn01 {
  0% {
    opacity: 0;
    translate: 0 50px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}

@keyframes float01 {
  0% {
    translate: 0px 0px;
  }
  1% {
    translate: 0px -1.84px;
  }
  2% {
    translate: 0px -3.681px;
  }
  3% {
    translate: 0px -5.521px;
  }
  3.26% {
    translate: 0px -6px;
  }
  4% {
    translate: 0.014px -5.198px;
  }
  5% {
    translate: 0.032px -4.113px;
  }
  6% {
    translate: 0.05px -3.028px;
  }
  7% {
    translate: 0.069px -1.944px;
  }
  8% {
    translate: 0.087px -0.859px;
  }
  9% {
    translate: 0.106px 0.225px;
  }
  10% {
    translate: 0.124px 1.31px;
  }
  10.058% {
    translate: 0.125px 1.373px;
  }
  10.06% {
    translate: 0.125px 1.375px;
  }
  10.062% {
    translate: 0px -0.004px;
  }
  11% {
    translate: 0px -1.73px;
  }
  12% {
    translate: 0px -3.57px;
  }
  13% {
    translate: 0px -5.411px;
  }
  13.32% {
    translate: 0px -6px;
  }
  14% {
    translate: 0.012px -5.263px;
  }
  15% {
    translate: 0.031px -4.178px;
  }
  16% {
    translate: 0.049px -3.093px;
  }
  17% {
    translate: 0.068px -2.009px;
  }
  18% {
    translate: 0.086px -0.924px;
  }
  19% {
    translate: 0.104px 0.16px;
  }
  20% {
    translate: 0.123px 1.245px;
  }
  20.118% {
    translate: 0.125px 1.373px;
  }
  20.12% {
    translate: 0px 0px;
  }
  20.122% {
    translate: 0px -0.004px;
  }
  21% {
    translate: 0px -1.62px;
  }
  22% {
    translate: 0px -3.46px;
  }
  23% {
    translate: 0px -5.3px;
  }
  23.38% {
    translate: 0px -6px;
  }
  24% {
    translate: 0.011px -5.328px;
  }
  25% {
    translate: 0.03px -4.243px;
  }
  26% {
    translate: 0.048px -3.158px;
  }
  27% {
    translate: 0.067px -2.074px;
  }
  28% {
    translate: 0.085px -0.989px;
  }
  29% {
    translate: 0.103px 0.095px;
  }
  30% {
    translate: 0.122px 1.18px;
  }
  30.178% {
    translate: 0.125px 1.373px;
  }
  30.18% {
    translate: 0px 0px;
  }
  30.182% {
    translate: 0px -0.004px;
  }
  31% {
    translate: 0px -1.509px;
  }
  32% {
    translate: 0px -3.35px;
  }
  33% {
    translate: 0px -5.19px;
  }
  33.44% {
    translate: 0px -6px;
  }
  34% {
    translate: 0.01px -5.393px;
  }
  35% {
    translate: 0.029px -4.308px;
  }
  36% {
    translate: 0.047px -3.223px;
  }
  37% {
    translate: 0.065px -2.139px;
  }
  38% {
    translate: 0.084px -1.054px;
  }
  39% {
    translate: 0.102px 0.03px;
  }
  40% {
    translate: 0.121px 1.115px;
  }
  40.238% {
    translate: 0.125px 1.373px;
  }
  40.24% {
    translate: 0px 0px;
  }
  40.242% {
    translate: 0px -0.004px;
  }
  41% {
    translate: 0px -1.399px;
  }
  42% {
    translate: 0px -3.239px;
  }
  43% {
    translate: 0px -5.08px;
  }
  43.5% {
    translate: 0px -6px;
  }
  44% {
    translate: 0.009px -5.458px;
  }
  45% {
    translate: 0.028px -4.373px;
  }
  46% {
    translate: 0.046px -3.289px;
  }
  47% {
    translate: 0.064px -2.204px;
  }
  48% {
    translate: 0.083px -1.119px;
  }
  49% {
    translate: 0.101px -0.035px;
  }
  50% {
    translate: 0.119px 1.05px;
  }
  50.298% {
    translate: 0.125px 1.373px;
  }
  50.3% {
    translate: 0px 0px;
  }
  50.302% {
    translate: 0px -0.004px;
  }
  51% {
    translate: 0px -1.289px;
  }
  52% {
    translate: 0px -3.129px;
  }
  53% {
    translate: 0px -4.969px;
  }
  53.56% {
    translate: 0px -6px;
  }
  54% {
    translate: 0.008px -5.523px;
  }
  55% {
    translate: 0.026px -4.438px;
  }
  56% {
    translate: 0.045px -3.354px;
  }
  57% {
    translate: 0.063px -2.269px;
  }
  58% {
    translate: 0.082px -1.184px;
  }
  59% {
    translate: 0.1px -0.1px;
  }
  60% {
    translate: 0.118px 0.985px;
  }
  60.358% {
    translate: 0.125px 1.373px;
  }
  60.36% {
    translate: 0px 0px;
  }
  60.362% {
    translate: 0px -0.004px;
  }
  61% {
    translate: 0px -1.178px;
  }
  62% {
    translate: 0px -3.019px;
  }
  63% {
    translate: 0px -4.859px;
  }
  63.62% {
    translate: 0px -6px;
  }
  64% {
    translate: 0.007px -5.588px;
  }
  65% {
    translate: 0.025px -4.503px;
  }
  66% {
    translate: 0.044px -3.419px;
  }
  67% {
    translate: 0.062px -2.334px;
  }
  68% {
    translate: 0.081px -1.249px;
  }
  69% {
    translate: 0.099px -0.165px;
  }
  70% {
    translate: 0.117px 0.92px;
  }
  70.418% {
    translate: 0.125px 1.373px;
  }
  70.42% {
    translate: 0px 0px;
  }
  70.422% {
    translate: 0px -0.004px;
  }
  71% {
    translate: 0px -1.068px;
  }
  72% {
    translate: 0px -2.908px;
  }
  73% {
    translate: 0px -4.749px;
  }
  73.68% {
    translate: 0px -6px;
  }
  74% {
    translate: 0.006px -5.653px;
  }
  75% {
    translate: 0.024px -4.568px;
  }
  76% {
    translate: 0.043px -3.484px;
  }
  77% {
    translate: 0.061px -2.399px;
  }
  78% {
    translate: 0.079px -1.314px;
  }
  79% {
    translate: 0.098px -0.23px;
  }
  80% {
    translate: 0.116px 0.855px;
  }
  80.478% {
    translate: 0.125px 1.373px;
  }
  80.48% {
    translate: 0px 0px;
  }
  80.482% {
    translate: 0px -0.004px;
  }
  81% {
    translate: 0px -0.958px;
  }
  82% {
    translate: 0px -2.798px;
  }
  83% {
    translate: 0px -4.638px;
  }
  83.74% {
    translate: 0px -6px;
  }
  84% {
    translate: 0.005px -5.718px;
  }
  85% {
    translate: 0.023px -4.633px;
  }
  86% {
    translate: 0.042px -3.549px;
  }
  87% {
    translate: 0.06px -2.464px;
  }
  88% {
    translate: 0.078px -1.379px;
  }
  89% {
    translate: 0.097px -0.295px;
  }
  90% {
    translate: 0.115px 0.79px;
  }
  90.538% {
    translate: 0.125px 1.373px;
  }
  90.54% {
    translate: 0px 0px;
  }
  90.542% {
    translate: 0px -0.004px;
  }
  91% {
    translate: 0px -0.847px;
  }
  92% {
    translate: 0px -2.688px;
  }
  93% {
    translate: 0px -4.528px;
  }
  93.8% {
    translate: 0px -6px;
  }
  94% {
    translate: 0.004px -5.783px;
  }
  95% {
    translate: 0.022px -4.698px;
  }
  96% {
    translate: 0.04px -3.614px;
  }
  97% {
    translate: 0.059px -2.529px;
  }
  98% {
    translate: 0.077px -1.444px;
  }
  99% {
    translate: 0.096px -0.36px;
  }
  100% {
    translate: 0.114px 0.725px;
  }
}
@keyframes float02 {
  0% {
    translate: 0px 0px;
  }
  1% {
    translate: 0px -0.917px;
  }
  2% {
    translate: 0px -1.834px;
  }
  3% {
    translate: 0px -2.751px;
  }
  4% {
    translate: 0px -3.667px;
  }
  5% {
    translate: 0px -4.584px;
  }
  5.817% {
    translate: 0px -5.333px;
  }
  6% {
    translate: 0px -5.118px;
  }
  7% {
    translate: 0px -3.939px;
  }
  8% {
    translate: 0px -2.761px;
  }
  9% {
    translate: 0px -1.582px;
  }
  10% {
    translate: 0px -0.404px;
  }
  10.058% {
    translate: 0px -0.336px;
  }
  10.06% {
    translate: 0px -0.333px;
  }
  10.062% {
    translate: 0px -0.002px;
  }
  11% {
    translate: 0px -0.862px;
  }
  12% {
    translate: 0px -1.779px;
  }
  13% {
    translate: 0px -2.696px;
  }
  14% {
    translate: 0px -3.612px;
  }
  15% {
    translate: 0px -4.529px;
  }
  15.877% {
    translate: 0px -5.333px;
  }
  16% {
    translate: 0px -5.188px;
  }
  17% {
    translate: 0px -4.01px;
  }
  18% {
    translate: 0px -2.832px;
  }
  19% {
    translate: 0px -1.653px;
  }
  20% {
    translate: 0px -0.475px;
  }
  20.118% {
    translate: 0px -0.336px;
  }
  20.12% {
    translate: 0px 0px;
  }
  20.122% {
    translate: 0px -0.002px;
  }
  21% {
    translate: 0px -0.807px;
  }
  22% {
    translate: 0px -1.724px;
  }
  23% {
    translate: 0px -2.641px;
  }
  24% {
    translate: 0px -3.557px;
  }
  25% {
    translate: 0px -4.474px;
  }
  25.937% {
    translate: 0px -5.333px;
  }
  26% {
    translate: 0px -5.259px;
  }
  27% {
    translate: 0px -4.081px;
  }
  28% {
    translate: 0px -2.902px;
  }
  29% {
    translate: 0px -1.724px;
  }
  30% {
    translate: 0px -0.545px;
  }
  30.178% {
    translate: 0px -0.336px;
  }
  30.18% {
    translate: 0px 0px;
  }
  30.182% {
    translate: 0px -0.002px;
  }
  31% {
    translate: 0px -0.752px;
  }
  32% {
    translate: 0px -1.669px;
  }
  33% {
    translate: 0px -2.586px;
  }
  34% {
    translate: 0px -3.502px;
  }
  35% {
    translate: 0px -4.419px;
  }
  35.997% {
    translate: 0px -5.333px;
  }
  36% {
    translate: 0px -5.33px;
  }
  37% {
    translate: 0px -4.151px;
  }
  38% {
    translate: 0px -2.973px;
  }
  39% {
    translate: 0px -1.794px;
  }
  40% {
    translate: 0px -0.616px;
  }
  40.238% {
    translate: 0px -0.336px;
  }
  40.24% {
    translate: 0px 0px;
  }
  40.242% {
    translate: 0px -0.002px;
  }
  41% {
    translate: 0px -0.697px;
  }
  42% {
    translate: 0px -1.614px;
  }
  43% {
    translate: 0px -2.531px;
  }
  44% {
    translate: 0px -3.448px;
  }
  45% {
    translate: 0px -4.364px;
  }
  46% {
    translate: 0px -5.281px;
  }
  46.057% {
    translate: 0px -5.333px;
  }
  47% {
    translate: 0px -4.222px;
  }
  48% {
    translate: 0px -3.044px;
  }
  49% {
    translate: 0px -1.865px;
  }
  50% {
    translate: 0px -0.687px;
  }
  50.298% {
    translate: 0px -0.336px;
  }
  50.3% {
    translate: 0px 0px;
  }
  50.302% {
    translate: 0px -0.002px;
  }
  51% {
    translate: 0px -0.642px;
  }
  52% {
    translate: 0px -1.559px;
  }
  53% {
    translate: 0px -2.476px;
  }
  54% {
    translate: 0px -3.393px;
  }
  55% {
    translate: 0px -4.309px;
  }
  56% {
    translate: 0px -5.226px;
  }
  56.117% {
    translate: 0px -5.333px;
  }
  57% {
    translate: 0px -4.293px;
  }
  58% {
    translate: 0px -3.114px;
  }
  59% {
    translate: 0px -1.936px;
  }
  60% {
    translate: 0px -0.757px;
  }
  60.358% {
    translate: 0px -0.336px;
  }
  60.36% {
    translate: 0px 0px;
  }
  60.362% {
    translate: 0px -0.002px;
  }
  61% {
    translate: 0px -0.587px;
  }
  62% {
    translate: 0px -1.504px;
  }
  63% {
    translate: 0px -2.421px;
  }
  64% {
    translate: 0px -3.338px;
  }
  65% {
    translate: 0px -4.254px;
  }
  66% {
    translate: 0px -5.171px;
  }
  66.177% {
    translate: 0px -5.333px;
  }
  67% {
    translate: 0px -4.363px;
  }
  68% {
    translate: 0px -3.185px;
  }
  69% {
    translate: 0px -2.006px;
  }
  70% {
    translate: 0px -0.828px;
  }
  70.418% {
    translate: 0px -0.336px;
  }
  70.42% {
    translate: 0px 0px;
  }
  70.422% {
    translate: 0px -0.002px;
  }
  71% {
    translate: 0px -0.532px;
  }
  72% {
    translate: 0px -1.449px;
  }
  73% {
    translate: 0px -2.366px;
  }
  74% {
    translate: 0px -3.283px;
  }
  75% {
    translate: 0px -4.199px;
  }
  76% {
    translate: 0px -5.116px;
  }
  76.237% {
    translate: 0px -5.333px;
  }
  77% {
    translate: 0px -4.434px;
  }
  78% {
    translate: 0px -3.255px;
  }
  79% {
    translate: 0px -2.077px;
  }
  80% {
    translate: 0px -0.899px;
  }
  80.478% {
    translate: 0px -0.336px;
  }
  80.48% {
    translate: 0px 0px;
  }
  80.482% {
    translate: 0px -0.002px;
  }
  81% {
    translate: 0px -0.477px;
  }
  82% {
    translate: 0px -1.394px;
  }
  83% {
    translate: 0px -2.311px;
  }
  84% {
    translate: 0px -3.228px;
  }
  85% {
    translate: 0px -4.145px;
  }
  86% {
    translate: 0px -5.061px;
  }
  86.297% {
    translate: 0px -5.333px;
  }
  87% {
    translate: 0px -4.505px;
  }
  88% {
    translate: 0px -3.326px;
  }
  89% {
    translate: 0px -2.148px;
  }
  90% {
    translate: 0px -0.969px;
  }
  90.538% {
    translate: 0px -0.336px;
  }
  90.54% {
    translate: 0px 0px;
  }
  90.542% {
    translate: 0px -0.002px;
  }
  91% {
    translate: 0px -0.422px;
  }
  92% {
    translate: 0px -1.339px;
  }
  93% {
    translate: 0px -2.256px;
  }
  94% {
    translate: 0px -3.173px;
  }
  95% {
    translate: 0px -4.09px;
  }
  96% {
    translate: 0px -5.006px;
  }
  96.357% {
    translate: 0px -5.333px;
  }
  97% {
    translate: 0px -4.575px;
  }
  98% {
    translate: 0px -3.397px;
  }
  99% {
    translate: 0px -2.218px;
  }
  100% {
    translate: 0px -1.04px;
  }
}


/* contents
---------------------------------------------------------- */
.ct_bg .wrap01 {
  display: flex;
  flex-wrap: wrap;
}
.ct_bg .wrap01.bC {
  justify-content: center;
}
.ct_bg .wrap01.between {
  justify-content: space-between;
  align-items: flex-start;
}
.ct_bg .wrap01.aC {
  align-items: center;
}

.ct_bg .logoArea01 {
  position: relative;
}
.ct_bg .logoArea01::before {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: 0 -50%;
  content: "";
  margin-left: -1105px;
  width: 900px;
  aspect-ratio: 900 / 120;
  background: url(../img/bg02.png) no-repeat 0 0 / cover;
}
.ct_bg .logoArea01::after {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: 0 -50%;
  content: "";
  margin-left: 230px;
  width: 900px;
  aspect-ratio: 900 / 120;
  background: url(../img/bg02.png) no-repeat 0 0 / cover;
}

.ct_bg .logoArea01 > .logo01 {
  display: block;
  position: relative;
  margin: 0 auto;
  width: 480px;
}

.ct_bg .sliderWrap01 {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.ct_bg .sliderWrap01 .slider01 .slide01 {
  max-width: 880px;
}
.ct_bg .sliderWrap01 .slider01 .slide01 a {
  display: block;
  border-radius: 16px;
  border: 4px solid #FFF;
  background: #FFF;
  box-shadow: 0 0 8px 0 rgba(234, 97, 130, 0.50);
  overflow: hidden;
}
.ct_bg .sliderWrap01 .slider01 .slide01 a img {
  transition: opacity .3s;
}
@media (any-hover: hover) {
  .ct_bg .sliderWrap01 .slider01 .slide01 a:hover img {
    opacity: .6;
  }
}

.ct_bg .sliderWrap01 .swiper-button-prev {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  margin-left: -440px;
  width: 83px;
  height: 83px;
}
.ct_bg .sliderWrap01 .swiper-button-prev::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  aspect-ratio: 1 / 1;
  background: url(../img/ic01.svg) no-repeat 0 0 / cover;
  transition: scale .3s;
}

.ct_bg .sliderWrap01 .swiper-button-next {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  margin-left: 440px;
  width: 83px;
  height: 83px;
}
.ct_bg .sliderWrap01 .swiper-button-next::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  aspect-ratio: 1 / 1;
  background: url(../img/ic02.svg) no-repeat 0 0 / cover;
  transition: scale .3s;
}
@media (any-hover: hover) {
  .ct_bg .sliderWrap01 .swiper-button-prev:hover::after,
  .ct_bg .sliderWrap01 .swiper-button-next:hover::after {
    scale: 1.2;
  }
}
@media screen and (max-width: 900px) {
.ct_bg .sliderWrap01 .swiper-button-prev {
  left: 0;
  translate: 0 -50%;
  margin-left: 0;
}

.ct_bg .sliderWrap01 .swiper-button-next {
  position: absolute;
  top: 50%;
  left: auto;
  right: 0;
  translate: 0 -50%;
  margin-left: 0;
}
}

.ct_bg .wrapper01 {
  margin: 80px auto 0;
  padding: 0 20px;
  max-width: 1080px;
}

.ct_bg .textBlock01 {
  position: relative;
  margin: 0 auto;
  max-width: 822px;
}

.ct_bg .textBlock01 > .text01 {
  margin-top: 16px;
  color: #291777;
  text-align: center;
  -webkit-text-stroke-width: 3px;
  -webkit-text-stroke-color: #FFF;
  paint-order: stroke;
  font-size: 24px;
  font-weight: 700;
}
.ct_bg .textBlock01 > .text01:first-child {
  margin-top: 0;
}

.ct_bg .textBlock01 > .image01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
  height: 64px;
}
.ct_bg .textBlock01 > .image01 > .icon01 {
  position: absolute;
  top: 0;
  left: 0;
  animation: float01 10s linear infinite;
}
.ct_bg .textBlock01 > .image01 > .icon02 {
  position: absolute;
  top: 21px;
  left: 27px;
  animation: float02 10s linear infinite;
}

.ct_bg .textBlock01 > .image02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 64px;
  height: 64px;
}
.ct_bg .textBlock01 > .image02 > .icon01 {
  position: absolute;
  top: 0;
  left: 0;
  animation: float01 10s linear infinite;
}
.ct_bg .textBlock01 > .image02 > .icon02 {
  position: absolute;
  top: 21px;
  left: 27px;
  animation: float02 10s linear infinite;
}

.ct_bg .movieArea01 {
  position: relative;
  margin-top: 80px;
  padding: min(40px, 2.77vw) min(34px, 2.36vw);
  width: 100%;
  aspect-ratio: 1040 / 626;
  background: url(../img/bg03.png) no-repeat 0 0 / 100% 100%;
}

.ct_bg .iframeWrap01 {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.ct_bg .iframeWrap01 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ct_bg .frameArea01 {
  margin-top: 80px;
  padding: min(32px, 2.22vw);
  border-radius: 16px;
  background: #FFF;
  box-shadow: 0 0 8px 0 rgba(234, 97, 130, 0.50);
}
.ct_bg .frameArea01 + .frameArea01 {
  margin-top: 24px;
}

.ct_bg .col01 {
  display: flex;
  flex-wrap: wrap;
  width: 49.59%;
}

.ct_bg .col02 {
  width: 47.13%;
}
.ct_bg .col02 > .image01 {
  border-radius: 10px;
  overflow: hidden;
}

.ct_bg .heading01 {
  position: relative;
  padding-left: 36px;
  padding-bottom: 16px;
  width: 100%;
  border-bottom: 2px solid #291777;
  color: #291777;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
}
.ct_bg .heading01::before {
  position: absolute;
  top: .2em;
  left: 0;
  content: "";
  width: 24px;
  aspect-ratio: 1 / 1;
  background: url(../img/ic06.svg) no-repeat center / cover;
}

.ct_bg .txt01 {
  margin-top: 16px;
  color: #362342;
}

.ct_bg .btn01 {
  margin-top: 24px;
}

.ct_bg .btn01 > a {
  display: block;
  position: relative;
  padding: 10px 48px 13px 20px;
  border-radius: 100vmax;
  border: 2px solid #FFF;
  background: linear-gradient(0deg, #EA6183 0%, #FFF 100%), #FCC802;
  background-blend-mode: multiply, normal;
  box-shadow: 0 0 8.571px 0 rgba(0, 0, 0, 0.20);
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  text-align: center;
}
.ct_bg .btn01 > a::before {
  position: absolute;
  top: 50%;
  right: 16px;
  translate: 0 -50%;
  content: "";
  width: 20px;
  aspect-ratio: 1 / 1;
  background: url(../img/ic05.svg) no-repeat center / cover;
}
.ct_bg .btn01 > a::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
  transition: opacity .3s;
}

@media (any-hover: hover) {
  .ct_bg .btn01 > a:hover::after {
    opacity: .3;
  }
}



@media screen and (max-width: 767px) {
.ct_bg .logoArea01::before {
  margin-left: -138.12vw;
  width: 112.5vw;
}
.ct_bg .logoArea01::after {
  margin-left: 28.75vw;
  width: 112.5vw;
}

.ct_bg .logoArea01 > .logo01 {
  width: 60vw;
}

.ct_bg .sliderWrap01 .slider01 .slide01 {
  max-width: initial;
  width: 80vw;
}
.ct_bg .sliderWrap01 .slider01 .slide01 a {
  border-radius: 4vw;
  border: .75vw solid #FFF;
}

.ct_bg .sliderWrap01 .swiper-button-prev {
  left: 2vw;
  width: 13vw;
  height: 13vw;
}

.ct_bg .sliderWrap01 .swiper-button-next {
  right: 2vw;
  width: 13vw;
  height: 13vw;
}

.ct_bg .wrapper01 {
  margin-top: 28.25vw;
  padding: 0 2.5vw;
}

.ct_bg .textBlock01 {
  width: 80vw;
}

.ct_bg .textBlock01 > .text01 {
  margin-top: 4vw;
  -webkit-text-stroke-width: .625vw;
  font-size: 4.5vw;
}


.ct_bg .textBlock01 > .image01 {
  top: -13.25vw;
  left: -4.93vw;
  width: 11.25vw;
  height: 11.25vw;
}
.ct_bg .textBlock01 > .image01 > .icon01 {
  width: 6.98vw;
}
.ct_bg .textBlock01 > .image01 > .icon02 {
  top: 4vw;
  left: 5vw;
  width: 6.98vw;
}

.ct_bg .textBlock01 > .image02 {
  right: -5vw;
  bottom: -13.25vw;
  width: 11.25vw;
  height: 11.25vw;
}
.ct_bg .textBlock01 > .image02 > .icon01 {
  width: 6.98vw;
}
.ct_bg .textBlock01 > .image02 > .icon02 {
  top: 4vw;
  left: 5vw;
  width: 6.98vw;
}

.ct_bg .movieArea01 {
  margin-top: 28vw;
  padding: 3.625vw 3.25vw;
}
.ct_bg .movieArea01 + .movieArea01 {
  margin-top: 6vw;
  padding: 3.625vw 3.25vw;
}

.ct_bg .frameArea01 {
  margin-top: 15vw;
  padding: 4vw 4vw 6vw;
  border-radius: 4vw;
  background: #FFF;
  box-shadow: 0 0 1.45vw 0 rgba(234, 97, 130, 0.50);
}
.ct_bg .frameArea01 + .frameArea01 {
  margin-top: 6vw;
}

.ct_bg .col01 {
  display: contents;
  width: 100%;
}
.ct_bg .col01 > .heading01 {
  order: 1;
}
.ct_bg .col01 > .txt01 {
  order: 3;
}
.ct_bg .col01 > .btn01 {
  order: 4;
}

.ct_bg .col02 {
  order: 2;
  margin-top: 4vw;
  width: 100%;
}
.ct_bg .col02 > .image01 {
  border-radius: 2.5vw;
}

.ct_bg .heading01 {
  padding-left: 7.175vw;
  padding-bottom: 1.6vw;
  border-bottom: .5vw solid #291777;
  font-size: 5vw;
}
.ct_bg .heading01::before {
  width: 5vw;
}

.ct_bg .txt01 {
  margin-top: 4vw;
}

.ct_bg .btn01 {
  display: table;
  margin: 6vw auto 0;
}

.ct_bg .btn01 > a {
  padding: 2.5vw 12vw 3.25vw 5vw;
  border: .5vw solid #FFF;
  font-size: 5vw;
}
.ct_bg .btn01 > a::before {
  right: 5vw;
  width: 5vw;
}

}
