@charset "UTF-8";
html {
  width: 100%;
  height: 100%;
  font-size: 1.3333333333vw;
}
@media screen and (min-width: 769px) {
  html {
    font-size: 10px;
  }
}

body {
  background-color: #801345;
  width: 100%;
  position: relative;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", 游ゴシック体, "Yu Gothic", YuGothic, sans-serif;
}
body.active {
  touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow: hidden;
  /* Other browsers */
  overscroll-behavior: none;
}

svg, img {
  width: 100%;
  height: auto;
}

sup {
  font-size: 70%;
  position: relative;
  top: -0.45em;
}

.pcbg {
  display: none;
}
@media screen and (min-width: 769px) {
  .pcbg {
    pointer-events: none;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/bg_pc.jpg) no-repeat center top;
    background-size: cover;
    display: block;
  }
}

#main {
  background-color: #801345;
}
#main .main .section-in {
  padding-bottom: 3.2em;
}
#main .main__img01 {
  margin: 0em 0em -5.8em 0em;
}
#main .main__tl01 {
  width: 69.4em;
  margin: 0em auto -3.9em 0em;
  position: relative;
  z-index: 4;
}
#main .main__img02 {
  position: relative;
  z-index: 3;
  margin: 0em 0em -10.5em 0em;
}
#main .main__movie {
  position: relative;
  z-index: 4;
}
#main .main__movie-tl01 {
  width: 53.5em;
  margin: 0em auto 2.5em auto;
}
#main .main__movie .youtube-btn {
  width: 67.2em;
  margin: 0 auto;
}
#main .cta .section-in .cta-box {
  width: 68em;
  margin: 0em auto 0em auto;
  position: relative;
}
#main .cta .section-in .cta-box .cta-btn {
  position: absolute;
  width: 64.6em;
  left: 2.6em;
  bottom: 6.5em;
}
#main .cta .section-in .cta-cap01 {
  width: 65.2em;
  margin: 3.9em auto 0em auto;
}
#main .cta .section-in .cta-cap01 a {
  color: #FFF;
}
#main .cta .section-in .cta-cap01 a:hover {
  text-decoration: underline;
}
#main .cta .section-in .cta-cap01 p {
  text-align: justify;
}
#main .cta .section-in .cta-cap01 p span {
  color: #FFF;
}
#main .cta .section-in .cta-cap01__tl {
  margin-bottom: 1.5rem;
}
#main .cta .section-in .cta-cap01__tl span {
  font-size: 2.1em;
  line-height: 1.3023809524;
  letter-spacing: 0.03em;
  font-weight: bold;
}
#main .cta .section-in .cta-cap01__text span {
  font-size: 1.7em;
  line-height: 1.4911764706;
  letter-spacing: 0.03em;
}
#main .cta .section-in .cta-cap01__text span span {
  font-size: 100%;
}
#main .cta .section-in .cta-cap01__text span.no-break {
  white-space: nowrap;
}
#main .cta.cta01 .section-in .cta01-img01 {
  margin: 0em 0em 2em 0em;
}
#main .cta.cta01 .section-in .cta01-cap01 {
  width: 65.6em;
  margin: 0em auto 6em auto;
}
#main .cta.cta02 .section-in {
  background-color: #28060a;
}
#main .cta.cta02 .section-in .cta02-img01 {
  margin: 0em 0em -8.7em 0em;
}
#main .cta.cta02 .section-in .cta02-img02 {
  width: 71.3em;
  margin: 0em 0em -13em auto;
}
#main .cta.cta03 .section-in .cta03-img01 {
  width: 72.1em;
  margin: 0em auto -9.6em auto;
}
#main .profile {
  margin-top: 6.5em;
}
#main .profile .section-in .img01 {
  margin: 0em 0em 3.1em 0em;
}
#main .profile .section-in .img02 {
  width: 65.8em;
  margin: 0em 0em 3.7em 6.7em;
}
#main .profile .section-in .img03 {
  width: 72.4em;
  margin: 0em auto 0em auto;
}
#main .soudan .section-in {
  padding: 3.5em 0em 5.2em 0em;
}
#main .soudan .section-in .text01 {
  width: 18em;
  margin: 0em auto 3em auto;
}
#main .soudan .section-in .img01 {
  width: 69em;
  margin: 0em 0em 3.7em auto;
}
#main .soudan .section-in .soudan-slidebox {
  position: relative;
  margin-top: 6em;
}
#main .soudan .section-in .soudan-slidebox .soudan-slide {
  width: 39.5em;
  left: 20.6em;
  top: 9.6em;
  position: absolute;
  z-index: 4;
}
#main .soudan .section-in .soudan-slidebox .soudan-slide .swiper .swiper-wrapper {
  height: auto;
}
#main .soudan .section-in .soudan-slidebox .soudan-slide .swiper .swiper-wrapper .swiper-slide {
  width: 39.5em;
  padding: 0em 2.05em;
}
#main .soudan .section-in .img02 {
  width: 47.9em;
  margin: -26em 0em 0em 10.9em;
}
#main .reason .section-in {
  padding: 11em 0em 9.5em 0em;
  background-color: #28060a;
}
#main .reason .section-in .img01 {
  margin: 0em 0em 0.9em 0em;
}
#main .reason .section-in .img02 {
  width: 72.1em;
  margin: 0em auto;
}
#main .point .section-in {
  padding: 0em 0em 14em 0em;
  background-color: #28060a;
}
#main .point .section-in > div {
  width: 64em;
  background-color: #FFF;
  margin: 0em auto 6.8em auto;
  padding: 0em 0em 4em 0em;
}
#main .point .section-in > div .tl-box {
  margin: 0em 0em 5.8em 0em;
  padding: 3.2em 0em 0em 0em;
}
#main .point .section-in > div .tl-box .subti {
  margin: 0em auto 0em auto;
}
#main .point .section-in > div .tl-box .tl {
  margin-left: 3em;
}
#main .point .section-in > div .tl01 {
  margin: 0em 0em 4em 4.5em;
}
#main .point .section-in > div .text-box {
  padding-left: 4.8em;
  position: relative;
}
#main .point .section-in > div .text-box div {
  position: absolute;
  top: -0.2em;
  right: -5.5em;
}
#main .point .section-in > div .ph01 {
  width: 51.3em;
  margin: 0em auto 4.6em auto;
}
#main .point .section-in > div .img03 {
  margin: 0em 0em 0em 4.5em;
}
#main .point .section-in > div:nth-child(1) .tl-box {
  background-color: #5ea999;
}
#main .point .section-in > div:nth-child(1) .tl-box .subti {
  width: 19.1em;
}
#main .point .section-in > div:nth-child(1) .tl-box .tl {
  width: 58.5em;
}
#main .point .section-in > div:nth-child(1) .tl01 {
  width: 55.8em;
}
#main .point .section-in > div:nth-child(1) .text-box {
  margin-bottom: 10em;
}
#main .point .section-in > div:nth-child(1) .text-box p {
  width: 29.2em;
}
#main .point .section-in > div:nth-child(1) .text-box div {
  width: 33.2em;
}
#main .point .section-in > div:nth-child(1) .img03 {
  width: 59.2em;
}
#main .point .section-in > div:nth-child(2) .tl-box {
  background-color: #e26fa6;
}
#main .point .section-in > div:nth-child(2) .tl-box .subti {
  width: 19.2em;
}
#main .point .section-in > div:nth-child(2) .tl-box .tl {
  width: 60.2em;
}
#main .point .section-in > div:nth-child(2) .tl01 {
  width: 56.2em;
}
#main .point .section-in > div:nth-child(2) .text-box {
  margin-bottom: 5em;
}
#main .point .section-in > div:nth-child(2) .text-box p {
  width: 28.9em;
}
#main .point .section-in > div:nth-child(2) .text-box div {
  top: -2.5em;
  width: 32.7em;
}
#main .point .section-in > div:nth-child(2) .img03 {
  width: 55.1em;
}
#main .point .section-in > div:last-child {
  margin-bottom: 0;
}
#main .point .section-in .img01 {
  margin: 0em 0em 0.9em 0em;
}
#main .point .section-in .img02 {
  width: 72.1em;
  margin: 0em auto;
}
#main .sugosa .section-in {
  position: relative;
  padding: 34.5em 0em 8.5em 0em;
}
#main .sugosa .section-in .img01 {
  position: absolute;
  top: -9.5em;
  left: 0;
}
#main .sugosa .section-in .sugosa-box {
  background-color: #FFF;
  width: 64em;
  margin: 0 auto;
  padding: 15.5em 0em 5em 0em;
  margin-bottom: 6.7em;
}
#main .sugosa .section-in .sugosa-box > div {
  margin-bottom: 6.6em;
}
#main .sugosa .section-in .sugosa-box > div .tl01 {
  margin: 0em auto 2.2em auto;
}
#main .sugosa .section-in .sugosa-box > div .ph01 {
  width: 54.4em;
  margin: 0em auto 3em auto;
}
#main .sugosa .section-in .sugosa-box > div .text01 {
  margin: 0em auto 3.2em auto;
}
#main .sugosa .section-in .sugosa-box > div .cap01 {
  margin: 0em auto 0em auto;
}
#main .sugosa .section-in .sugosa-box > div:nth-child(1) .tl01 {
  width: 51.6em;
}
#main .sugosa .section-in .sugosa-box > div:nth-child(1) .text01 {
  width: 53.55em;
}
#main .sugosa .section-in .sugosa-box > div:nth-child(1) .cap01 {
  width: 54.7em;
}
#main .sugosa .section-in .sugosa-box > div:nth-child(2) .tl01 {
  width: 44.25em;
}
#main .sugosa .section-in .sugosa-box > div:nth-child(2) .text01 {
  width: 54.57em;
}
#main .sugosa .section-in .sugosa-box > div:nth-child(2) .cap01 {
  width: 54.7em;
}
#main .sugosa .section-in .sugosa-box > div:last-child {
  margin-bottom: 0;
}
#main .sugosa .section-in .img02 {
  width: 56.3em;
  margin: 0em auto 2.7em auto;
}
#main .sugosa .section-in .sugosa-moviebox .cap {
  width: 60.9em;
  margin: 2em auto 0em 4.5em;
}
#main .middle .section-in {
  padding: 12em 0em 9.5em 0em;
}
#main .middle .section-in .img01 {
  margin: 0em 0em 1.8em 0em;
}
#main .middle .section-in .cap01 {
  width: 46.87em;
  margin: 0em 0em 0em 4.5em;
}
#main .middle .section-in .img02 {
  width: 70.9em;
  margin: 5em 0em 0em 0em;
}
#main .chance .section-in {
  padding: 0em 0em 8em 0em;
}
#main .chance .section-in .img01 {
  width: 68.6em;
  margin: 0em 0em -5.6em 4.6em;
  position: relative;
  z-index: 4;
}
#main .chance .section-in .chance-box {
  width: 67em;
  position: relative;
  z-index: 2;
  margin: 0 auto;
  background-color: #FFF;
  border: 0.7em solid #ff7ec4;
  border-radius: 3.8em 3.2em;
  position: relative;
  padding: 3.4em 0em 4.2em 0em;
}
#main .chance .section-in .chance-box .img {
  width: 59.3em;
  margin: 0em 0em 3em 3.4em;
}
#main .chance .section-in .chance-box .gif-box {
  width: 53em;
  margin: 0 auto;
  position: relative;
}
#main .chance .section-in .chance-box .gif-box .icon {
  width: 28.4em;
  position: absolute;
  left: -1.3em;
  top: -6.1em;
  z-index: 4;
}
#main .chance .section-in .chance-box .gif-box .gif {
  position: relative;
  z-index: 2;
}
#main .chance .section-in .chance-box:before, #main .chance .section-in .chance-box:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 100%);
  width: 0;
  height: 0;
  border-style: solid;
}
#main .chance .section-in .chance-box:before {
  bottom: 1em;
  border-width: 4.1em 2.75em 0 2.75em;
  border-color: #fff transparent transparent transparent;
  z-index: 3;
}
#main .chance .section-in .chance-box:after {
  z-index: 2;
  border-width: 4.1em 2.75em 0 2.75em;
  border-color: #ff7ec4 transparent transparent transparent;
}
#main .faq .section-in {
  padding: 12.5em 0em 14.5em 0em;
}
#main .faq .section-in .tl {
  width: 37.1em;
  margin: 0em auto 3em auto;
}
#main .faq .section-in .faq-box > div {
  width: 65.6em;
  margin: 0em auto 2.7em auto;
  padding: 3em 3em;
  background-color: #FFF;
  clip-path: polygon(2.675em 0, calc(100% - 2.675em) 0, 100% 2.675em, 100% calc(100% - 2.675em), calc(100% - 2.675em) 100%, 2.675em 100%, 0 calc(100% - 2.675em), 0 2.675em);
}
#main .faq .section-in .faq-box > div > div {
  display: flex;
  gap: 0em 2.2em;
  padding: 2em 0em;
  border-bottom: 1px solid #801345;
}
#main .faq .section-in .faq-box > div > div.q {
  align-items: center;
}
#main .faq .section-in .faq-box > div > div.a .text {
  margin-top: 1.5em;
}
#main .faq .section-in .faq-box > div > div .icon {
  width: 6.1em;
  margin-left: -1em;
}
#main .faq .section-in .faq-box > div > div:first-child {
  padding-top: 0;
}
#main .faq .section-in .faq-box > div > div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
#main .faq .section-in .faq-box > div.faq01 .q .text {
  width: 50.5em;
}
#main .faq .section-in .faq-box > div.faq01 .a .text {
  width: 52.95em;
}
#main .faq .section-in .faq-box > div.faq02 .q .text {
  width: 35em;
}
#main .faq .section-in .faq-box > div.faq02 .a .text {
  width: 51.77em;
}
#main .faq .section-in .faq-box > div.faq03 .q .text {
  width: 43.7em;
}
#main .faq .section-in .faq-box > div.faq03 .a .text {
  width: 43.43em;
}
#main .faq .section-in .faq-box > div.faq04 .q .text {
  width: 50em;
}
#main .faq .section-in .faq-box > div.faq04 .a .text {
  width: 44.65em;
}
#main .faq .section-in .faq-box > div:last-child {
  margin-bottom: 0;
}
#main .back .section-in {
  padding: 8.5em 0em 0em 0em;
  overflow: hidden;
}
#main .back .section-in .tl {
  width: 35.9em;
  margin: 0em auto 0em auto;
  position: relative;
  z-index: 5;
}
#main .back .section-in .back-box {
  background-color: #eff1f3;
  position: relative;
  padding: 6.5em 0em 10em 0em;
}
#main .back .section-in .back-box > div {
  position: relative;
  z-index: 4;
}
#main .back .section-in .back-box .img01 {
  width: 66.7em;
  margin: 0em auto 5.4em 3em;
}
#main .back .section-in .back-box .img02 {
  width: 62.1em;
  margin: 0em 3.9em 0em auto;
}
#main .back .section-in .back-box .img03 {
  width: 68.9em;
  margin: 10em auto 2.4em 5.7em;
}
#main .back .section-in .back-box .voice-box {
  display: flex;
  justify-content: center;
  gap: 0em 2.5em;
}
#main .back .section-in .back-box .voice-box > div {
  width: 19.3em;
  border-radius: 50%;
  overflow: hidden;
}
#main .back .section-in .back-box .voice-box > div a {
  background-color: rgb(128, 19, 69);
  display: block;
  width: 100%;
  height: 19.3em;
  padding: 3.9em 0em 0em 0em;
  position: relative;
  transition: background-color 200ms ease;
}
#main .back .section-in .back-box .voice-box > div a span {
  display: block;
  width: 11.3em;
  margin: 0 auto;
}
#main .back .section-in .back-box .voice-box > div a:before, #main .back .section-in .back-box .voice-box > div a:after {
  left: 50%;
  bottom: 3.8em;
  transform: translateX(-50%);
  position: absolute;
  content: "";
}
#main .back .section-in .back-box .voice-box > div a:before {
  width: 5.2em;
  height: 6.3em;
  background: url(../images/voice_icon02.svg) no-repeat left top;
  background-size: 100% auto;
  display: none;
}
#main .back .section-in .back-box .voice-box > div a:after {
  width: 5.25em;
  height: 6.3em;
  background: url(../images/voice_icon01.svg) no-repeat left top;
  background-size: 100% auto;
}
#main .back .section-in .back-box .voice-box > div.is-playing a:before {
  display: block;
}
#main .back .section-in .back-box .voice-box > div.is-playing a:after {
  display: none;
}
#main .back .section-in .back-box .voice-box > div.on a {
  background: rgba(128, 19, 69, 0.8);
}
#main .back .section-in .back-box:after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -27em;
  width: 80em;
  height: 80em;
  background-color: #eff1f3;
  border-radius: 50%;
  z-index: 1;
}
#main .aitoq .section-in {
  padding: 9em 0em 0em 0em;
}
#main .aitoq .section-in .tl {
  width: 58.1em;
  margin: 0em auto 6.2em auto;
}
#main .aitoq .section-in .aitoq-box > div {
  margin: 0em 0em 9em 0em;
}
#main .aitoq .section-in .aitoq-box > div .q {
  width: 63em;
  margin: 0em auto 2em auto;
}
#main .aitoq .section-in .aitoq-box > div .a {
  width: 60.6em;
  margin: 0em auto 0em auto;
}
#main .aitoq .section-in .aitoq-box > div .a .ph {
  width: 60.6em;
  margin: 0 auto;
}
#main .aitoq .section-in .aitoq-box > div .a .acco {
  margin: 3.2em 0em 0em 0em;
  position: relative;
  padding: 0em 0em 0em 0em;
}
#main .aitoq .section-in .aitoq-box > div .a .acco a {
  display: block;
  position: relative;
  height: 15.1em;
  overflow: hidden;
}
#main .aitoq .section-in .aitoq-box > div .a .acco a p {
  padding-bottom: 6em;
}
#main .aitoq .section-in .aitoq-box > div .a .acco a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 11.8em;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(128, 19, 69, 0) 0%, rgb(128, 19, 69) 55%, rgb(128, 19, 69) 100%);
  z-index: 3;
  transition: opacity 400ms ease;
}
#main .aitoq .section-in .aitoq-box > div .a .acco:after, #main .aitoq .section-in .aitoq-box > div .a .acco:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  background-origin: left top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  pointer-events: none;
  z-index: 5;
  transition: transform 200ms ease;
}
#main .aitoq .section-in .aitoq-box > div .a .acco:before {
  width: 10.6em;
  height: 3.9em;
  background-image: url(../images/aitoq_btn01.svg);
}
#main .aitoq .section-in .aitoq-box > div .a .acco:after {
  width: 11.289em;
  height: 3.9em;
  background-image: url(../images/aitoq_btn01_02.svg);
  display: none;
}
#main .aitoq .section-in .aitoq-box > div .a .acco.active a:after {
  opacity: 0;
}
#main .aitoq .section-in .aitoq-box > div .a .acco.active:before {
  display: none;
}
#main .aitoq .section-in .aitoq-box > div .a .acco.active:after {
  display: block;
}
#main .aitoq .section-in .aitoq-box > div .a .acco.on:before, #main .aitoq .section-in .aitoq-box > div .a .acco.on:after {
  transform: translateY(1em);
}
#main .aitoq .section-in .aitoq-box > div:last-child {
  margin-bottom: 0;
}
#main .aitoq .section-in .img01 {
  width: 72.2em;
  margin: 6.8em auto 0em auto;
}
#main .youtube-btn {
  transition: opacity 200ms ease;
}
#main .youtube-btn.on {
  opacity: 0.8;
}
#main .youtube-btn a {
  display: block;
  position: relative;
}
#main .youtube-btn a:after {
  position: absolute;
  content: "";
}
#main .youtube-btn a:after {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 13.7em;
  height: 13.7em;
  background: url("../images/movie_icon01.svg") no-repeat left top;
  background-size: 100% auto;
  transition: transform 200ms ease;
}
#main .youtube-btn.on {
  opacity: 1;
}
#main .youtube-btn.on a:after {
  transform: translate(-50%, -50%) scale(1.1);
}
@media screen and (min-width: 769px) {
  #main {
    width: 650px;
    margin: 0 11.9760479042% 0 auto;
    font-size: 8.6666666667px;
    position: relative;
    z-index: 2;
    box-shadow: 1.44em 3.06em 7.3em 0.34em rgba(0, 0, 0, 0.57);
  }
}

.popup-overlay {
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  z-index: 9990;
  width: 100%;
  height: 100%;
  min-height: 100%;
  top: 0;
  left: 0;
  display: none;
}
.popup-overlay.view {
  display: block;
}

.popupBox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  z-index: 9991;
  display: none;
  -webkit-overflow-scrolling: touch;
}
.popupBox .popup-box-in {
  width: 100%;
  position: relative;
  display: table;
  height: 100%;
  min-height: 100%;
  z-index: 9992;
}
.popupBox .popup-box-in .popup-box-in-in {
  display: table-cell;
  vertical-align: middle;
  padding: 2em 0em;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box {
  position: relative;
  z-index: 9993;
  margin: 0 auto;
  width: 75em;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .movieWrap {
  width: 75em;
  padding-top: 56.25%;
  position: relative;
  margin: 0 auto;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .movieWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9994;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .close {
  width: 6em;
  height: 6em;
  position: absolute;
  top: 0em;
  right: 0em;
  z-index: 9995;
  transform: translateY(-110%);
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .close a {
  display: block;
  height: 100%;
  position: relative;
  width: 100%;
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .close a span {
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #FFF;
  transform: translate(-50%, -50%) rotate(45deg);
}
.popupBox .popup-box-in .popup-box-in-in .popup-box-box .close a span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.popupBox.view {
  display: block;
  animation: 200ms blockopacity02;
}
@media screen and (min-width: 769px) {
  .popupBox .popup-box-in .popup-box-in-in .popup-box-box {
    width: 80%;
    max-width: 1200px;
  }
  .popupBox .popup-box-in .popup-box-in-in .popup-box-box .movieWrap {
    width: 100%;
  }
  .popupBox .popup-box-in .popup-box-in-in .popup-box-box .close {
    width: 8em;
    transform: translateY(-120%);
  }
}

.sp_none {
  display: none;
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none;
  }
  .sp_none {
    display: block;
  }
}
@keyframes blockopacity02 {
  from {
    display: none;
    opacity: 0;
  }
  to {
    display: block;
    opacity: 1;
  }
}