@charset "UTF-8";
.title--s01 {
  z-index: 1;
}

.ytp-pause-overlay {
  display: none !important;
}

.sect--asaka {
  position: relative;
  margin: 100px 0;
  z-index: 2;
  /**************************\
  Demo Animation Style
  \**************************/
}
@media (max-width: 768px) {
  .sect--asaka {
    margin: 80px 0;
  }
}
.sect--asaka ul, .sect--asaka ol {
  list-style: none;
}
.sect--asaka .pic {
  display: block;
}
.sect--asaka .pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sect--asaka .asaka-c-nowrap {
  white-space: nowrap;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-c-nowrap {
    white-space: normal;
  }
}
.sect--asaka .asaka-c-btn {
  display: block;
  width: 56px;
  height: auto;
  z-index: 3;
  pointer-events: none;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-c-btn {
    width: 56px;
  }
}
.sect--asaka .asaka-c-cont {
  width: max(min(66.6666666667vw, 1160px), 870px);
  max-width: calc(100% - 90px);
  margin: 0 auto;
  padding: 0;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-c-cont {
    width: 100%;
    max-width: calc(100% - 40px);
  }
}
.sect--asaka .asaka-modal {
  position: relative;
  z-index: 1001;
}
.sect--asaka .asaka-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  padding: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-modal__overlay {
    padding: 60px 0;
  }
}
.sect--asaka .asaka-modal__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
}
.sect--asaka .asaka-modal__bg > img {
  object-fit: cover;
}
.sect--asaka .asaka-modal__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: max(min(60.4166666667vw, 960px), 760px);
  margin: -60px auto 0;
  z-index: 2;
  cursor: auto;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-modal__container {
    max-width: 670px;
  }
}
.sect--asaka .asaka-modal__title {
  line-height: 1.4;
  font-size: 18px;
  font-weight: 900;
  color: #fff;
  margin: 0 0 20px 0;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-modal__title {
    margin: 0 0 16px 0;
  }
}
.sect--asaka .asaka-modal__iframe {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sect--asaka .asaka-modal__iframe__wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding: 56.6% 0 0 0;
}
.sect--asaka .asaka-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
  border: 0;
  z-index: 10;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-modal__close {
    top: auto;
    bottom: 0;
    right: 50%;
    transform: translate(50%, calc(100% + 20px));
  }
}
@media (any-hover: hover) {
  .sect--asaka .asaka-modal__close:hover::after {
    opacity: 0.3;
  }
}
.sect--asaka .asaka-modal__close::before {
  content: "✕";
  position: relative;
  top: -1px;
  font-size: 24px;
  font-weight: 700;
  color: rgb(255, 8, 120);
}
.sect--asaka .asaka-modal__close::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
  z-index: 2;
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.sect--asaka .micromodal-slide {
  display: none;
}
.sect--asaka .micromodal-slide.is-open {
  display: block;
}
.sect--asaka .micromodal-slide[aria-hidden=false] .asaka-modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.sect--asaka .micromodal-slide[aria-hidden=false] .asaka-modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.sect--asaka .micromodal-slide[aria-hidden=true] .asaka-modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.sect--asaka .micromodal-slide[aria-hidden=true] .asaka-modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
@keyframes anime-sm-mask-asaka {
  0% {
    clip-path: polygon(6% 0%, 6% 0, 0 100%, 0% 100%);
  }
  50% {
    clip-path: polygon(6% 0, 100% 0, 94% 100%, 0% 100%);
  }
  51% {
    clip-path: polygon(6% 0, 100% 0, 94% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(100% 0, 100% 0, 94% 100%, 94% 100%);
  }
}
@keyframes anime-sm-txt-asaka {
  0% {
    transform: translateX(102%);
  }
  50% {
    transform: translateX(102%);
  }
  51% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(0);
  }
}
.sect--asaka *[data-a=slide-mask-b] {
  margin: 0 0 24px -1.6%;
}
@media (max-width: 768px) {
  .sect--asaka *[data-a=slide-mask-b] {
    margin: 0 0 24px -12px;
  }
}
.sect--asaka *[data-a=slide-mask-b]::before {
  width: 100%;
  clip-path: polygon(6% 0%, 6% 0, 0 100%, 0% 100%);
}
.sect--asaka *[data-a=slide-mask-b] > .pic {
  transform: translateX(102%);
}
.sect--asaka *[data-a=slide-mask-b] > .pic > img {
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 92%;
}
.sect--asaka .anime-slide-mask-b::before {
  animation: anime-sm-mask-asaka 1.4s forwards;
}
.sect--asaka .anime-slide-mask-b > .pic {
  animation: anime-sm-txt-asaka 1.4s forwards;
}
.sect--asaka *[data-a=slide-mask-b].color--01::before {
  background: linear-gradient(135deg, #B04D9C 0%, #F80D78 100%);
}
.sect--asaka *[data-a=slide-mask-b].color--02::before {
  background: #fff;
}
.sect--asaka .asaka-lv {
  position: relative;
  padding: 10px 0 0;
  z-index: 2;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video,
.sect--asaka .asaka-lv.loaded .asaka-lv__video__filter {
  animation: mmfadeIn 0.6s 0.6s ease-in both;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video__flame.is-flame01 {
  animation: anime-totop 1s ease-in-out both;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video__flame.is-flame02 {
  animation: anime-toright 1s ease-in-out both;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video__flame.is-flame03 {
  animation: anime-tobottom 1s ease-in-out both;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video__flame.is-flame04 {
  animation: anime-toleft 1s ease-in-out both;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video__text.is-text01::before {
  animation: anime-sm-mask-asaka 0.8s 0.8s forwards;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video__text.is-text01 > .pic {
  animation: anime-sm-txt-asaka 0.8s 0.8s both;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video__text.is-text02::before {
  animation: anime-sm-mask-asaka 0.8s 0.9s forwards;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video__text.is-text02 > .pic {
  animation: anime-sm-txt-asaka 0.8s 0.9s both;
}
.sect--asaka .asaka-lv.loaded .asaka-lv__video__btn {
  animation: mmfadeIn 0.6s 1.6s ease-in both;
}
.sect--asaka .asaka-lv__video {
  width: 100%;
  opacity: 0;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.sect--asaka .asaka-lv__video.is-pc {
  display: block;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video.is-pc {
    display: none;
  }
}
.sect--asaka .asaka-lv__video.is-sp {
  display: none;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video.is-sp {
    display: block;
  }
}
.sect--asaka .asaka-lv__video__wrap {
  position: relative;
  width: max(min(77.7777777778vw, 1280px), 1120px);
  max-width: calc(100% - 80px);
  margin: 0 auto;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video__wrap {
    width: 100%;
    max-width: none;
    height: 0;
    padding: 131.1111111111% 0 0 0;
  }
}
.sect--asaka .asaka-lv__video__filter {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
}
.sect--asaka .asaka-lv__video__filter > img {
  object-fit: cover;
}
.sect--asaka .asaka-lv__video__flame {
  position: absolute;
  pointer-events: none;
  z-index: 3;
}
@keyframes anime-totop {
  0% {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes anime-toright {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes anime-tobottom {
  0% {
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes anime-toleft {
  0% {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
.sect--asaka .asaka-lv__video__flame.is-flame01 {
  bottom: 0;
  left: -1px;
  width: auto;
  height: 96%;
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video__flame.is-flame01 {
    left: 0;
  }
}
.sect--asaka .asaka-lv__video__flame.is-flame01 > img {
  object-position: left bottom;
}
.sect--asaka .asaka-lv__video__flame.is-flame02 {
  top: -1px;
  left: 0;
  width: 98%;
  height: auto;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video__flame.is-flame02 {
    width: 96%;
    top: 0;
  }
}
.sect--asaka .asaka-lv__video__flame.is-flame02 > img {
  object-position: left top;
}
.sect--asaka .asaka-lv__video__flame.is-flame03 {
  top: 0;
  right: -1px;
  width: auto;
  height: 96%;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video__flame.is-flame03 {
    right: 0;
  }
}
.sect--asaka .asaka-lv__video__flame.is-flame03 > img {
  object-position: right top;
}
.sect--asaka .asaka-lv__video__flame.is-flame04 {
  bottom: -1px;
  right: 0;
  width: 98%;
  height: auto;
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video__flame.is-flame04 {
    width: 96%;
    bottom: 0;
  }
}
.sect--asaka .asaka-lv__video__flame.is-flame04 > img {
  object-position: right bottom;
}
.sect--asaka .asaka-lv__video__text {
  position: absolute;
  z-index: 3;
  overflow: hidden;
}
.sect--asaka .asaka-lv__video__text::before {
  content: "";
  width: 100%;
  height: 110%;
  position: absolute;
  left: 0;
  top: -5%;
  clip-path: polygon(6% 0%, 6% 0, 0 100%, 0% 100%);
  background: linear-gradient(135deg, #B04D9C 0%, #F80D78 100%);
  animation-timing-function: cubic-bezier(0, 0.74, 0.33, 1);
  z-index: 2;
}
.sect--asaka .asaka-lv__video__text > .pic {
  transform: translateX(102%);
  animation-timing-function: cubic-bezier(0, 0.74, 0.33, 1);
}
.sect--asaka .asaka-lv__video__text > .pic > img {
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 94%;
}
.sect--asaka .asaka-lv__video__text.is-text01 {
  bottom: 18.8%;
  left: 2.4%;
  width: 40.6%;
  height: auto;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video__text.is-text01 {
    bottom: 35.4%;
    left: 4.2%;
    width: 69%;
  }
}
.sect--asaka .asaka-lv__video__text.is-text02 {
  bottom: 5.6%;
  left: 1%;
  width: 55%;
  height: auto;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video__text.is-text02 {
    bottom: 26%;
    left: 49%;
    transform: translateX(-50%);
    width: 93%;
  }
}
.sect--asaka .asaka-lv__video__btn {
  position: relative;
  width: 19.3%;
  animation: mmfadeIn 0.6s 2s ease-in both;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video__btn {
    width: 41%;
  }
}
@media (any-hover: hover) {
  .sect--asaka .asaka-lv__video__btn:hover::before {
    opacity: 0.3;
  }
}
.sect--asaka .asaka-lv__video__btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  pointer-events: none;
  opacity: 0;
  z-index: 2;
  transition: opacity 0.2s ease;
}
.sect--asaka .asaka-lv__video__btn__wrap {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  position: absolute;
  bottom: 6%;
  right: 3.2%;
  width: 100%;
  z-index: 4;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-lv__video__btn__wrap {
    justify-content: center;
    bottom: 4.6%;
    right: 50%;
    transform: translateX(50%);
  }
}
.sect--asaka .asaka-about {
  padding: 80px 0;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-about {
    padding: 64px 0;
  }
}
.sect--asaka .asaka-about__title {
  width: 360px;
  max-width: 100%;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-about__title {
    width: 330px;
  }
}
.sect--asaka .asaka-about__lead {
  margin: 0;
  line-height: 1.6;
  font-size: 16px;
  font-weight: 500;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-about__lead {
    text-align: justify;
  }
}
.sect--asaka .asaka-movie {
  position: relative;
  margin: 0 0 80px;
  padding: 80px 0 72px;
  background: url(.././images/asaka_bg_0401@2x.jpg) no-repeat center top/auto 100% fixed;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-movie {
    margin: 0 0 64px;
    padding: 64px 0 48px;
    background: url(.././images/asaka_bg_0401_sp.jpg) no-repeat center top/cover fixed;
  }
}
.sect--asaka .asaka-movie__title {
  width: 200px;
  margin: 0 auto 56px;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-movie__title {
    width: 160px;
    margin: 0 auto 40px;
  }
}
.sect--asaka .asaka-movie__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.2222222222vw;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-movie__list {
    flex-direction: column;
    gap: 40px;
  }
}
.sect--asaka .asaka-movie__list > li {
  width: calc(50% - 1.1111111111vw);
}
@media (max-width: 768px) {
  .sect--asaka .asaka-movie__list > li {
    width: 100%;
  }
}
@media (any-hover: hover) {
  .sect--asaka .asaka-movie__btn:hover .asaka-movie__btn__pic::before {
    opacity: 0.3;
  }
  .sect--asaka .asaka-movie__btn:hover .asaka-c-btn {
    transform: scale(1.1);
  }
}
.sect--asaka .asaka-movie__btn__pic {
  position: relative;
}
.sect--asaka .asaka-movie__btn__pic::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 4;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.sect--asaka .asaka-movie__btn__title {
  text-align: center;
  line-height: 1.4;
  font-size: 18px;
  font-weight: 900;
  color: #fff;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-movie__btn__title {
    font-size: 16px;
  }
}
.sect--asaka .asaka-movie__btn__title__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding: 16px;
}
.sect--asaka .asaka-movie__btn__title__wrap .asaka-c-btn {
  transition: transform 0.2s ease;
}
.sect--asaka .asaka-slider {
  width: 100%;
}
.sect--asaka .asaka-slider .swiper-wrapper {
  transition-timing-function: linear;
}
.sect--asaka .asaka-slider .swiper-slide {
  width: 36.8055555556vw;
  max-width: 694px;
  padding: 0 min(0.3472222222vw, 5px);
}
@media (max-width: 768px) {
  .sect--asaka .asaka-slider .swiper-slide {
    width: 67.4418604651vw;
    padding: 0 min(0.9302325581vw, 5px);
  }
}
.sect--asaka .asaka-profile {
  padding: 80px 0 0;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-profile {
    padding: 64px 0 0;
  }
}
.sect--asaka .asaka-profile__title {
  width: 410px;
  max-width: 100%;
  margin-bottom: 48px;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-profile__title {
    width: 376px;
  }
}
.sect--asaka .asaka-profile__column {
  display: flex;
  justify-content: center;
  overflow: hidden;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-profile__column {
    flex-direction: column;
    align-items: center;
    width: 100vw;
    margin: 0 0 0 -20px;
  }
}
.sect--asaka .asaka-profile__pic {
  flex-shrink: 0;
  position: relative;
  width: 22.9166666667vw;
  max-width: 385px;
  min-width: 240px;
  margin: 0 0 max(min(3.0555555556vw, 52px), 32px) max(min(3.8888888889vw, 64px), 40px);
  z-index: 2;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-profile__pic {
    width: 67.4418604651vw;
    max-width: none;
    margin: 0 -7.4418604651vw 0 0;
  }
}
.sect--asaka .asaka-profile__pic > img {
  object-position: top center;
}
.sect--asaka .asaka-profile__txt {
  position: relative;
  width: 100%;
  max-width: 590px;
  margin: min(9.1666666667vw, 154px) 0 0 0;
  padding: max(min(2.7777777778vw, 46px), 32px) max(min(3.0555555556vw, 52px), 32px) max(min(3.0555555556vw, 52px), 40px);
}
@media (max-width: 768px) {
  .sect--asaka .asaka-profile__txt {
    width: calc(100% - 32px);
    margin: -40.9302325581vw -32px 0 0;
    padding: 48.3720930233vw 4.6511627907vw 9.3023255814vw 5.5813953488vw;
  }
}
.sect--asaka .asaka-profile__txt::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 50%;
  transform: translateX(50%);
  z-index: -1;
  width: 200vw;
  height: 100%;
  background: rgb(222, 233, 234);
}
@media (max-width: 768px) {
  .sect--asaka .asaka-profile__txt::before {
    right: auto;
    transform: none;
    left: 0;
    width: 100vw;
  }
}
.sect--asaka .asaka-profile__txt__title {
  margin: 0 0 12px 0;
  line-height: 1;
  font-size: 28px;
  font-weight: 500;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-profile__txt__title {
    font-size: 26px;
  }
}
.sect--asaka .asaka-profile__txt__lead {
  margin: 0;
  line-height: 1.6;
  font-size: 16px;
  font-weight: 500;
  word-break: break-all;
}
@media (max-width: 768px) {
  .sect--asaka .asaka-profile__txt__lead {
    text-align: justify;
  }
}