@media not all and (max-width: 960px) {
  .is-pc {
    display: block;
  }
  .is-sp {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
}
.p-chara {
  padding-top: 197px;
  padding-bottom: 80px;
}
@media screen and (max-width: 960px) {
  .p-chara {
    padding-top: 120px;
    padding-bottom: 90px;
  }
}
.p-chara__container {
  position: relative;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-chara__container {
    width: 89.3333333333%;
  }
}
.p-chara__ttl {
  transform: translateY(30px);
  opacity: 0;
  filter: blur(5px);
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s cubic-bezier(0.25, 1, 0.5, 1), filter 1s cubic-bezier(0.25, 1, 0.5, 1);
}
.is-start .p-chara__ttl {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
@media not all and (max-width: 960px) {
  .p-chara__ttl {
    width: 73%;
    margin: 0 auto 65px;
  }
}
@media screen and (max-width: 960px) {
  .p-chara__ttl {
    margin-bottom: 50px;
  }
}
.p-chara__nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 77px;
  transform: translateY(30px);
  opacity: 0;
  filter: blur(5px);
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.2s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.2s, filter 1s cubic-bezier(0.25, 1, 0.5, 1) 0.2s;
}
.is-start .p-chara__nav {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
@media screen and (max-width: 960px) {
  .p-chara__nav {
    gap: 8px;
    margin-bottom: 58px;
  }
}
.p-chara__nav-item {
  position: relative;
  width: 125px;
}
@media screen and (max-width: 960px) {
  .p-chara__nav-item {
    width: 77.5px;
  }
}
.p-chara__nav-link {
  margin: 0;
  padding: 0;
  border: none;
  cursor: pointer;
}
@media not all and (max-width: 960px) {
  .p-chara__nav-link {
    overflow: hidden;
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .p-chara__nav-link:hover {
    opacity: 0.8;
  }
  .p-chara__nav-link:hover img {
    transform: scale(1.1);
  }
  .p-chara__nav-link img {
    transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .is-select .p-chara__nav-link {
    pointer-events: none;
  }
}
.p-chara__nav-select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(230, 46, 139, 0.5) 0%, rgba(234, 96, 158, 0.5) 100%);
  color: var(--color-white);
  font-family: var(--font-en);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 21px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
@media screen and (max-width: 960px) {
  .p-chara__nav-select {
    font-size: 13px;
  }
}
.p-chara__nav-item.is-current .p-chara__nav-select {
  opacity: 1;
}
.p-chara__nav-select span {
  display: block;
  transform: translateY(1px);
}
.p-chara__contents {
  position: relative;
  width: 100%;
  transform: translateY(30px);
  opacity: 0;
  filter: blur(5px);
  transition: transform 1.4s cubic-bezier(0.25, 1, 0.5, 1) 0.4s, opacity 1.4s cubic-bezier(0.25, 1, 0.5, 1) 0.4s, filter 1.4s cubic-bezier(0.25, 1, 0.5, 1) 0.4s;
}
.is-start .p-chara__contents {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
.p-chara__list {
  display: flex;
  align-items: flex-start;
}
.p-chara__list-item {
  width: 100%;
  flex-shrink: 0;
  pointer-events: none;
}
.p-chara__list-item.swiper-slide-active {
  pointer-events: auto;
}

.p-chara_data {
  position: relative;
  padding-bottom: 65px;
}
@media screen and (max-width: 960px) {
  .p-chara_data {
    padding-bottom: 53px;
  }
}
.p-chara_data__header {
  margin-bottom: 75px;
}
@media not all and (max-width: 960px) {
  .p-chara_data__header {
    display: flex;
    align-items: flex-start;
  }
}
@media screen and (max-width: 960px) {
  .p-chara_data__header {
    margin-bottom: 50px;
  }
}
@media not all and (max-width: 960px) {
  .p-chara_data__txt {
    flex-grow: 1;
    padding-right: 30px;
  }
}
.p-chara_data__txt-name {
  color: var(--color-pink);
  font-size: 40px;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 960px) {
  .p-chara_data__txt-name {
    text-align: center;
    font-size: 30px;
  }
}
.p-chara_data__txt-cv {
  display: flex;
  align-items: center;
  color: var(--color-pink);
  font-size: 18px;
  margin-top: 18px;
}
@media screen and (max-width: 960px) {
  .p-chara_data__txt-cv {
    justify-content: center;
    margin-top: 14px;
    font-size: 13px;
  }
}
.p-chara_data__txt-cv .p-in-cap {
  position: relative;
  padding-top: 3px;
  padding-right: 33px;
  letter-spacing: 0.1rem;
  font-family: var(--font-en);
}
@media screen and (max-width: 960px) {
  .p-chara_data__txt-cv .p-in-cap {
    padding-right: 24px;
  }
}
.p-chara_data__txt-cv .p-in-cap::after {
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  width: 14px;
  height: 100%;
  background: url(../img/icon_petal_1.png) center center no-repeat;
  background-size: contain;
}
@media screen and (max-width: 960px) {
  .p-chara_data__txt-cv .p-in-cap::after {
    width: 10px;
  }
}
.p-chara_data__txt-cv .p-in-name {
  letter-spacing: 0.1rem;
}
.p-chara_data__txt-desc {
  margin-top: 30px;
  font-size: 18px;
  line-height: 1.6;
}
@media screen and (max-width: 960px) {
  .p-chara_data__txt-desc {
    margin-top: 21px;
    font-size: 12px;
    line-height: 1.8;
  }
}
.p-chara_data__detail {
  position: relative;
  box-sizing: border-box;
  padding: 23px 20px;
  background: url(../img/character/bg_chara_check.jpg) center center repeat;
  background-size: 20px 20px;
  box-shadow: 0px 5px 20px 0px rgba(150, 111, 129, 0.1);
}
@media not all and (max-width: 960px) {
  .p-chara_data__detail {
    flex-shrink: 0;
    width: 35%;
  }
}
@media screen and (max-width: 960px) {
  .p-chara_data__detail {
    margin-top: 25px;
    padding: 16px 15px;
  }
}
@media screen and (max-width: 960px) {
  .p-chara_data__detail-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 14px;
  }
}
.p-chara_data__detail-item {
  display: flex;
  align-items: center;
}
@media not all and (max-width: 960px) {
  .p-chara_data__detail-item + .p-chara_data__detail-item {
    margin-top: 10px;
  }
}
.p-chara_data__detail-ttl {
  min-width: 100px;
  margin-right: 19px;
  padding: 7px 0;
  background: var(--color-pink);
  color: var(--color-white);
  text-align: center;
  border-radius: 20px;
  letter-spacing: 0.06rem;
  flex-shrink: 0;
}
@media screen and (max-width: 960px) {
  .p-chara_data__detail-ttl {
    min-width: 60px;
    padding: 4px 0;
  }
}
.p-chara_data__detail-txt {
  letter-spacing: 0.06rem;
  flex-grow: 1;
}
.p-chara_data__img {
  position: relative;
}
.p-chara_data__img::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 104.5%;
  padding-top: 64.5%;
  background: url(../img/character/bg_chara_img.png) center center no-repeat;
  background-size: contain;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0px 5px 20px rgba(150, 111, 129, 0.1));
}
.p-chara_data__img-inner {
  position: relative;
  padding: 10px;
  background: var(--color-white);
  box-shadow: 0px 5px 20px 0px rgba(150, 111, 129, 0.1);
}
@media screen and (max-width: 960px) {
  .p-chara_data__img-inner {
    padding: 5px;
  }
}
.p-chara_data__img img {
  position: relative;
}
.p-chara_data__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: auto;
  margin: 0 calc(50% - 50vw);
  display: flex;
}
.p-chara_data__bg-item {
  width: var(--width);
  flex-shrink: 0;
  animation-timing-function: linear;
  animation-duration: 10s;
  animation-iteration-count: infinite;
}
.p-chara__list-item:nth-child(1) .p-chara_data__bg-item {
  animation-name: loop_charaname_1;
}
.p-chara__list-item:nth-child(2) .p-chara_data__bg-item {
  animation-name: loop_charaname_2;
}
.p-chara__list-item:nth-child(3) .p-chara_data__bg-item {
  animation-name: loop_charaname_3;
}
.p-chara__list-item:nth-child(4) .p-chara_data__bg-item {
  animation-name: loop_charaname_4;
}
.p-chara__list-item:nth-child(5) .p-chara_data__bg-item {
  animation-name: loop_charaname_5;
}
.p-chara__list-item:nth-child(6) .p-chara_data__bg-item {
  animation-name: loop_charaname_6;
}
.p-chara__list-item:nth-child(7) .p-chara_data__bg-item {
  animation-name: loop_charaname_7;
}
.p-chara__list-item:nth-child(8) .p-chara_data__bg-item {
  animation-name: loop_charaname_8;
}
.p-chara__list-item:nth-child(9) .p-chara_data__bg-item {
  animation-name: loop_charaname_9;
}
.p-chara__list-item:nth-child(10) .p-chara_data__bg-item {
  animation-name: loop_charaname_10;
}
.p-chara__list-item:nth-child(11) .p-chara_data__bg-item {
  animation-name: loop_charaname_11;
}
.p-chara__list-item:nth-child(12) .p-chara_data__bg-item {
  animation-name: loop_charaname_12;
}
.p-chara__list-item:nth-child(13) .p-chara_data__bg-item {
  animation-name: loop_charaname_13;
}
.p-chara__list-item:nth-child(14) .p-chara_data__bg-item {
  animation-name: loop_charaname_14;
}
.p-chara__list-item:nth-child(15) .p-chara_data__bg-item {
  animation-name: loop_charaname_15;
}
.p-chara__list-item:nth-child(16) .p-chara_data__bg-item {
  animation-name: loop_charaname_16;
}
.p-chara__list-item:nth-child(17) .p-chara_data__bg-item {
  animation-name: loop_charaname_17;
}
.p-chara__list-item:nth-child(18) .p-chara_data__bg-item {
  animation-name: loop_charaname_18;
}
.p-chara__list-item:nth-child(19) .p-chara_data__bg-item {
  animation-name: loop_charaname_19;
}
.p-chara__list-item:nth-child(20) .p-chara_data__bg-item {
  animation-name: loop_charaname_20;
}
@media screen and (max-width: 960px) {
  .p-chara_data__bg-item {
    width: calc(var(--width) / 2);
    animation-duration: 20s;
  }
}

@keyframes loop_charaname_1 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_3 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_4 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_5 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_6 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_7 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_8 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_9 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_10 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_11 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_12 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_13 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_14 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_15 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_16 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_17 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_18 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_19 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}
@keyframes loop_charaname_20 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(var(--width) * -1));
  }
}