@charset "UTF-8";
.p-op {
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  background: linear-gradient(-45deg, #a2002a 0%, #a2002a 50%, rgba(162, 0, 42, 0) 100%) no-repeat left 100% top 0/300% 100%;
  z-index: 50;
  opacity: 1;
  transition: background-position-x 2s cubic-bezier(0.87, 0, 0.13, 1), opacity 0.8s var(--ease_inout);
}
.is-op-end .p-op {
  background-position-x: left 0;
}
.is-load .p-op {
  opacity: 0;
}
.p-op::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/bg_main.jpg") no-repeat center/cover;
  opacity: 0;
}
.is-op .p-op::before {
  opacity: 0.3;
  transition: opacity 10s var(--ease_out);
}
.p-op__cover {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: scale(1.01);
}
.is-op .p-op__cover {
  opacity: 1;
  transform: scale(1.0001);
  transition: opacity 0.3s var(--ease_out), transform 1s var(--ease_out);
}
.p-op__cover::before {
  content: "";
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  display: block;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translate(0, -50%);
  border: 1px solid var(--color-white);
  z-index: -1;
}
.p-op__cover::after {
  content: "";
  width: 1rem;
  height: calc(100% - 2rem);
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translate(0, -50%);
  border-right: 1px solid var(--color-white);
  border-top: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
  z-index: -1;
}
.p-op__content {
  display: block;
  position: absolute;
  bottom: 2.5rem;
  left: 2.5rem;
  opacity: 0;
}
.is-op .p-op__content {
  opacity: 1;
  transition: opacity 0.3s var(--ease_out);
}
.p-op__cap {
  display: block;
  position: relative;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  text-align: left;
  color: var(--color-white);
}
@media screen and (max-width: 960px) {
  .p-op__cap {
    font-size: 1.1rem;
  }
}
.p-op__graph {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  position: relative;
}
.p-op__progress {
  --progress: 0%;
  width: 20rem;
  height: 1rem;
  display: block;
  position: relative;
}
.p-op__progress::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid var(--color-white);
}
.p-op__progress-bar {
  width: calc(100% - 0.8rem);
  height: 0.2rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-op__progress-line {
  width: var(--progress);
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-white);
  transform-origin: left center;
}
.p-op__percentage {
  display: block;
  position: relative;
}
.p-op__percentage-text {
  display: block;
  position: relative;
  font-size: 1.5rem;
  font-weight: 400;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: var(--color-white);
  text-align: center;
}

.p-top\:hero {
  display: block;
  position: relative;
  background: var(--color-filter-bg);
  z-index: 0;
  padding: 3rem 0;
}
@media screen and (max-width: 960px) {
  .p-top\:hero {
    padding: 2rem 0;
  }
}
.p-top\:hero__bg {
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
  left: 0;
  z-index: -1;
  visibility: hidden;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__bg {
    top: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero__bg {
    height: 12rem;
    bottom: 2rem;
  }
}
.is-in-view .p-top\:hero__bg {
  display: block;
  visibility: visible;
}
.p-top\:hero__bg-in {
  width: 100%;
  height: 100%;
  display: block;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__bg-in {
    max-height: var(--lvh);
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero__bg-in {
    position: absolute;
  }
}
.p-top\:hero__cover {
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
  visibility: hidden;
}
.is-in-view .p-top\:hero__cover {
  display: block;
  visibility: visible;
}
.p-top\:hero__cover-in {
  width: 100%;
  height: 100%;
  max-height: var(--lvh);
  display: block;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
}
.p-top\:hero__cover-in::before {
  width: 1rem;
  height: calc(100% - 8rem);
  display: block;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translate(0, -50%);
  border-left: 1px solid var(--color-red);
  border-top: 1px solid var(--color-red);
  border-bottom: 1px solid var(--color-red);
  z-index: -1;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__cover-in::before {
    content: "";
  }
}
.p-top\:hero__cover-in::after {
  width: 1rem;
  height: calc(100% - 8rem);
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translate(0, -50%);
  border-right: 1px solid var(--color-red);
  border-top: 1px solid var(--color-red);
  border-bottom: 1px solid var(--color-red);
  z-index: -1;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__cover-in::after {
    content: "";
  }
}
.p-top\:hero__cap {
  width: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
.p-top\:hero__cap-text {
  width: 100%;
  height: 200px;
  background: var(--color-red);
  display: block;
  position: relative;
  background: url("../img/bg_looptxt.webp") repeat-x 0 50%/1834px auto;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__cap-text {
    background-size: 917px auto;
    height: 100px;
  }
}
.is-in-view .p-top\:hero__cap-text {
  animation: hero_loop_text 60s linear infinite;
}
@media screen and (max-width: 960px) {
  .is-in-view .p-top\:hero__cap-text {
    animation-duration: 120s;
  }
}
@keyframes hero_loop_text {
  0% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: -1834px;
  }
}
.p-top\:hero__scroll {
  display: block;
  position: absolute;
  bottom: 6rem;
  left: 2rem;
  color: var(--color-white);
}
@media screen and (max-width: 960px) {
  .p-top\:hero__scroll {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    gap: 0.3rem;
    left: 1rem;
    bottom: 1rem;
  }
}
.p-top\:hero__scroll-text {
  display: block;
  position: relative;
  font-size: 1.3rem;
  letter-spacing: 0.2rem;
  line-height: 0.8;
  font-weight: 400;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  writing-mode: vertical-lr;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__scroll-text {
    font-size: 1.1rem;
    letter-spacing: 0.1rem;
    top: 0.1rem;
  }
}
.p-top\:hero__scroll-bar {
  width: 1rem;
  height: 16rem;
  display: block;
  position: relative;
  margin-top: 0.8rem;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__scroll-bar {
    width: 0.8rem;
    height: 6rem;
  }
}
.p-top\:hero__scroll-bar::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid var(--color-white);
}
.p-top\:hero__scroll-line {
  width: 0.2rem;
  height: calc(100% - 0.8rem);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__scroll-line {
    width: 0.2rem;
  }
}
.p-top\:hero__scroll-line::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-white);
}
.is-in-view .p-top\:hero__scroll-line::before {
  animation: scroll_bar 4s var(--ease_inout) infinite;
}
@media screen and (max-width: 960px) {
  .is-in-view .p-top\:hero__scroll-line::before {
    animation-duration: 3s;
  }
}
@keyframes scroll_bar {
  0% {
    height: 0;
    transform: translateY(0);
  }
  50% {
    height: 100%;
    transform: translateY(0);
  }
  100% {
    height: 100%;
    transform: translateY(100%);
  }
}
.p-top\:hero__line {
  width: 100%;
  height: 3rem;
  display: block;
  position: absolute;
  left: 0;
  background: var(--color-red);
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__line {
    height: 2rem;
  }
}
.p-top\:hero__line.--top {
  top: 0;
}
.p-top\:hero__line.--bottom {
  bottom: 0;
}
.p-top\:hero__line::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/icon_sparkle.svg") no-repeat left 1rem top 50%/13rem auto, url("../img/icon_sparkle.svg") no-repeat right 1rem top 50%/13rem auto;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__line::before {
    background: url("../img/icon_sparkle.svg") no-repeat left 0.5rem top 50%/6.5rem auto, url("../img/icon_sparkle.svg") no-repeat right 0.5rem top 50%/6.5rem auto;
  }
}
.p-top\:hero__line-text {
  width: 90%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__line-text {
    font-size: 1.1rem;
  }
}
.p-top\:hero__container {
  width: 100%;
  max-width: 2560px;
  display: block;
  position: relative;
  margin: 0 auto;
  z-index: 0;
}
.p-top\:hero__header {
  width: 37.6rem;
  display: block;
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__header {
    height: calc(100% + 3rem);
    top: 0;
    left: 2rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero__header {
    width: 18.2rem;
    right: 0;
    bottom: 13.5rem;
  }
}
.p-top\:hero__title {
  width: 100%;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__title {
    height: calc(var(--lvh) - 3rem);
    display: block;
    position: -webkit-sticky;
    position: sticky;
    top: 3rem;
    left: 0;
    padding-top: 1.8rem;
    opacity: 0;
    transform: scale(1.01);
    transform-origin: 300% 200%;
  }
  .is-load .p-top\:hero__title {
    opacity: 1;
    transform: scale(1.0001);
    transition: opacity 0.8s var(--ease_out) 0.3s, transform 1.2s var(--ease_out) 0.3s;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero__title {
    opacity: 0;
  }
  .is-load .p-top\:hero__title {
    opacity: 1;
    transition: opacity 0.8s var(--ease_out) 0.3s;
  }
}
.p-top\:hero__title-text {
  width: 100%;
  display: block;
  position: relative;
}
.p-top\:hero__inner {
  width: 100%;
  max-width: 140rem;
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-top\:hero__mv {
  display: block;
  position: relative;
}
.p-top\:hero__footer {
  width: 100%;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__footer {
    width: 24rem;
    height: 100%;
    display: none;
    position: absolute;
    top: 0;
    right: 2rem;
    padding-bottom: 2rem;
    visibility: hidden;
  }
  .is-in-view .p-top\:hero__footer {
    display: block;
    visibility: visible;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero__footer {
    padding: 1rem;
  }
}
.p-top\:hero__bnr {
  width: 100%;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__bnr {
    position: -webkit-sticky;
    position: sticky;
    top: calc(100% - 29rem);
    left: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero__bnr {
    width: 12rem;
    min-height: 12rem;
    margin-left: auto;
  }
}
.p-top\:hero__bnr-text {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.p-top\:hero_mv {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-top\:hero_mv__list {
  display: block;
  position: relative;
}
.p-top\:hero_mv__list-item {
  display: block;
  position: relative;
}

.p-top\:hero_kv {
  width: 100%;
  display: block;
  position: relative;
}
.p-top\:hero_kv__content {
  width: calc(100% - 36rem);
  max-width: 80rem;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-top\:hero_kv__content {
    width: 100%;
  }
}
.p-top\:hero_kv__visual {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
.p-top\:hero_kv__visual img {
  width: 100%;
}
.p-top\:hero_kv__visual-img {
  display: block;
  position: relative;
  transform: scale(1.03);
}
.is-load .p-top\:hero_kv__visual-img {
  transform: scale(1.0001);
  transition: transform 1.8s var(--ease_out);
}
.p-top\:hero_kv__visual-catch {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top\:hero_kv__cover {
  width: 18.5rem;
  display: block;
  position: absolute;
  bottom: 0;
  left: -15rem;
}
@media screen and (min-width: 961px) {
  .p-top\:hero_kv__cover {
    height: 100%;
    padding-bottom: 2.8rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero_kv__cover {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    left: 1rem;
    bottom: 1rem;
    transform: translate(0, 100%);
  }
}
.p-top\:hero_kv__no {
  width: 100%;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero_kv__no {
    height: 5.5rem;
    position: -webkit-sticky;
    position: sticky;
    top: calc(100% - 11rem);
    left: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero_kv__no {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 1rem;
  }
}
.p-top\:hero_kv__no-line {
  width: calc(100% - 1rem);
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero_kv__no-line {
    margin-left: auto;
    margin-bottom: 0.8rem;
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  .is-load .p-top\:hero_kv__no-line {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    transition: -webkit-clip-path 0.4s var(--ease_out) 0.2s;
    transition: clip-path 0.4s var(--ease_out) 0.2s;
    transition: clip-path 0.4s var(--ease_out) 0.2s, -webkit-clip-path 0.4s var(--ease_out) 0.2s;
  }
  .is-op.is-load .p-top\:hero_kv__no-line {
    transition-delay: 0.4s;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero_kv__no-line {
    width: 1.8rem;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  .is-load .p-top\:hero_kv__no-line {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    transition: -webkit-clip-path 0.4s var(--ease_out) 0.2s;
    transition: clip-path 0.4s var(--ease_out) 0.2s;
    transition: clip-path 0.4s var(--ease_out) 0.2s, -webkit-clip-path 0.4s var(--ease_out) 0.2s;
  }
  .is-op.is-load .p-top\:hero_kv__no-line {
    transition-delay: 0.4s;
  }
}
.p-top\:hero_kv__no-text {
  display: block;
  position: relative;
  padding-left: 1rem;
  font-size: 1.7rem;
  letter-spacing: 0.15rem;
  line-height: 1;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: var(--color-white);
  opacity: 0;
  transform: translateX(-1rem);
}
@media screen and (max-width: 960px) {
  .p-top\:hero_kv__no-text {
    top: 0.3rem;
    padding-left: 0.7rem;
    line-height: 0.8;
    font-size: 1rem;
  }
}
.is-load .p-top\:hero_kv__no-text {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.4s var(--ease_inout) 0.4s, transform 0.6s var(--ease_out) 0.4s;
}
.p-top\:hero_kv__no-text::before {
  content: "";
  width: 0.4rem;
  height: 90%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-white);
}

.p-top\:bnr {
  display: block;
  position: relative;
  background: url("../img/bg_bnr.jpg") repeat 0 0/30px auto;
  overflow: hidden;
}
.p-top\:bnr__content {
  width: 100%;
  max-width: 2560px;
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-top\:bnr__slide {
  width: 100%;
  display: block;
  position: relative;
  padding: 4.5rem 0;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-top\:bnr__slide {
    padding: 3rem 0;
  }
}
.p-top\:bnr__list {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  margin: 0 auto;
}
.p-top\:bnr__list-item {
  width: 40rem;
  flex-shrink: 0;
  display: block;
  position: relative;
}
.p-top\:bnr__link {
  display: block;
  position: relative;
  z-index: 0;
}
.p-top\:bnr__link::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--gradient-main);
  opacity: 0;
  transition: opacity 1s var(--ease_out);
  z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:bnr__link:hover::before {
    opacity: 0.4;
  }
}
.p-top\:bnr__link:focus-visible::before {
  opacity: 0.4;
}

.p-top\:bnr__pagination {
  width: 16rem;
  height: 1rem;
  display: block;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}
@media screen and (max-width: 960px) {
  .p-top\:bnr__pagination {
    height: 0.8rem;
    width: 6rem;
  }
}
.p-top\:bnr__pagination::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid var(--color-red);
}
.p-top\:bnr__pagination-bar {
  width: calc(100% - 0.8rem);
  height: 0.2rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-top\:bnr__pagination-line {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-red);
  transform-origin: left center;
}
.p-top\:bnr__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.8rem;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
}
@media screen and (max-width: 960px) {
  .p-top\:bnr__nav {
    gap: 0.8rem;
  }
}
.p-top\:bnr__nav-item {
  width: 5rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:bnr__nav-item {
    width: 2.6rem;
  }
}
.p-top\:bnr__nav-item.--prev {
  transform: scale(-1, 1);
}
.p-top\:bnr__nav-item.is-slide-disable {
  display: none;
}
.p-top\:bnr__btn {
  width: 100%;
  display: block;
  position: relative;
  color: var(--color-red);
  transform: scale(1.001);
}
.p-top\:bnr__btn-icon {
  width: 100%;
  height: auto !important;
  display: block;
  position: relative;
  margin: 0 auto;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1px;
  transition: fill 0.4s var(--ease_out);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:bnr__btn:hover .p-top\:bnr__btn-icon {
    fill: currentColor;
  }
}
.p-top\:bnr__btn:focus-visible .p-top\:bnr__btn-icon {
  fill: currentColor;
}

.p-top\:movie {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
.p-top\:movie::before {
  content: "PLAY MOVIE";
  width: 90%;
  display: block;
  position: absolute;
  top: 2.6rem;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.15rem;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  text-align: center;
  color: var(--color-white);
  z-index: 1;
  pointer-events: none;
}
@media screen and (max-width: 960px) {
  .p-top\:movie::before {
    top: 1.2rem;
    font-size: 1rem;
  }
}
.p-top\:movie::after {
  content: "PLAY MOVIE";
  width: 90%;
  display: block;
  position: absolute;
  bottom: 2.6rem;
  left: 50%;
  transform: translate(-50%, 50%);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.15rem;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  text-align: center;
  color: var(--color-white);
  z-index: 1;
  pointer-events: none;
}
@media screen and (max-width: 960px) {
  .p-top\:movie::after {
    bottom: 1.2rem;
    font-size: 1rem;
  }
}
.p-top\:movie__bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  visibility: hidden;
}
.is-in-view .p-top\:movie__bg {
  visibility: visible;
}
.p-top\:movie__bg-player {
  width: 100vw;
  min-width: 177.77vh;
  height: 100vh;
  min-height: 56.25vw;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-top\:movie__bg-player iframe {
  width: 100%;
  height: 200%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-top\:movie__content {
  width: 100%;
  height: 78.8rem;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-top\:movie__content {
    height: 39.4rem;
  }
}
.p-top\:movie__content::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/frame_movie_lt.webp") no-repeat left 0.8rem top 0.8rem/8.5rem auto, url("../img/frame_movie_rt.webp") no-repeat right 0.8rem top 0.8rem/8.5rem auto, url("../img/frame_movie_lb.webp") no-repeat left 0.8rem bottom 0.8rem/8.5rem auto, url("../img/frame_movie_rb.webp") no-repeat right 0.8rem bottom 0.8rem/8.5rem auto;
  pointer-events: none;
}
@media screen and (max-width: 960px) {
  .p-top\:movie__content::after {
    background: url("../img/frame_movie_lt.webp") no-repeat left 1rem top 1rem/4.25rem auto, url("../img/frame_movie_rt.webp") no-repeat right 1rem top 1rem/4.25rem auto, url("../img/frame_movie_lb.webp") no-repeat left 1rem bottom 1rem/4.25rem auto, url("../img/frame_movie_rb.webp") no-repeat right 1rem bottom 1rem/4.25rem auto;
  }
}
.p-top\:movie__slide {
  display: block;
  position: relative;
}
.p-top\:movie__list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
}
.p-top\:movie__list-item {
  width: 100%;
  flex-shrink: 0;
  display: block;
  position: relative;
  margin: 0 auto;
  pointer-events: none;
}
.p-top\:movie__list-item.is-slide-current {
  pointer-events: auto;
}
.p-top\:movie__thumb {
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 1s var(--ease_inout);
}
.is-slide-current .p-top\:movie__thumb {
  opacity: 1;
  transition: opacity 0.8s var(--ease_out);
}
.p-top\:movie__thumb::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-filter-movie);
  z-index: 1;
}
.p-top\:movie__thumb-img {
  width: 100%;
  height: 78.8rem;
  display: block;
  position: relative;
  opacity: 1;
  transition: opacity 1s var(--ease_inout);
}
@media screen and (max-width: 960px) {
  .p-top\:movie__thumb-img {
    height: 39.4rem;
  }
}
.is-movie-play .is-slide-current .p-top\:movie__thumb-img {
  opacity: 0;
  transition-delay: 0.3s;
}
.p-top\:movie__thumb-img img {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  transform: scale(1.1);
  transition: transform 0s linear 0.8s;
}
.is-slide-current .p-top\:movie__thumb-img img {
  transform: scale(1.0001);
  transition: transform 3.8s var(--ease_out);
}
.p-top\:movie__thumb-play {
  width: 24rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 960px) {
  .p-top\:movie__thumb-play {
    width: 12rem;
  }
}
.p-top\:movie__thumb-play::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/btn_play_bg.webp") no-repeat center/contain;
  transform: scale(1.001);
  transition: transform 0.4s var(--ease_out);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:movie__thumb:hover .p-top\:movie__thumb-play::before {
    transform: scale(0.9);
  }
}
.p-top\:movie__thumb:focus-visible .p-top\:movie__thumb-play::before {
  transform: scale(0.9);
}
.p-top\:movie__pagination {
  width: 16rem;
  height: 1rem;
  display: block;
  position: absolute;
  bottom: 4rem;
  left: 4rem;
}
@media screen and (max-width: 960px) {
  .p-top\:movie__pagination {
    height: 0.8rem;
    width: 6rem;
    bottom: 2.5rem;
    left: 3rem;
  }
}
.p-top\:movie__pagination::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid var(--color-white);
}
.p-top\:movie__pagination-bar {
  width: calc(100% - 0.8rem);
  height: 0.2rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-top\:movie__pagination-line {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-white);
  transform-origin: left center;
}
.p-top\:movie__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.8rem;
  position: absolute;
  bottom: 4rem;
  right: 4rem;
}
@media screen and (max-width: 960px) {
  .p-top\:movie__nav {
    gap: 0.8rem;
    bottom: 2.5rem;
    right: 2.5rem;
  }
}
.p-top\:movie__nav-item {
  width: 5rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:movie__nav-item {
    width: 2.6rem;
  }
}
.p-top\:movie__nav-item.--prev {
  transform: scale(-1, 1);
}
.p-top\:movie__btn {
  width: 100%;
  display: block;
  position: relative;
  color: var(--color-white);
  transform: scale(1.001);
}
.p-top\:movie__btn-icon {
  width: 100%;
  height: auto !important;
  display: block;
  position: relative;
  margin: 0 auto;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 1px;
  transition: fill 0.4s var(--ease_out);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:movie__btn:hover .p-top\:movie__btn-icon {
    fill: currentColor;
  }
}
.p-top\:movie__btn:focus-visible .p-top\:movie__btn-icon {
  fill: currentColor;
}

.p-top\:chara {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 10rem 0 6.6rem;
}
@media screen and (max-width: 960px) {
  .p-top\:chara {
    padding: 6.2rem 0 23.5rem;
  }
}
.p-top\:chara__art {
  display: block;
  position: absolute;
  overflow: hidden;
}
.p-top\:chara__art.--art1 {
  width: 22rem;
  top: 0;
  right: 0;
  -webkit-mask: url("../img/bg_chara_msk.webp") no-repeat center/contain;
  mask: url("../img/bg_chara_msk.webp") no-repeat center/contain;
}
@media screen and (max-width: 960px) {
  .p-top\:chara__art.--art1 {
    width: 11rem;
  }
}
.p-top\:chara__art.--art2 {
  width: 40rem;
  bottom: 6rem;
  left: 0;
  -webkit-mask: url("../img/bg_staff_msk.webp") no-repeat center/contain;
  mask: url("../img/bg_staff_msk.webp") no-repeat center/contain;
}
@media screen and (min-width: 961px) {
  .p-top\:chara__art.--art2 {
    transform: translate(0%, 100%);
  }
}
@media screen and (max-width: 960px) {
  .p-top\:chara__art.--art2 {
    bottom: 0;
    width: 20rem;
  }
}
.p-top\:chara__art-base {
  display: block;
  position: relative;
}
.p-top\:chara__art-cover {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top\:chara__art-canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  visibility: hidden;
}
.p-top\:chara__art-canvas.is-canvas-start {
  visibility: visible;
}
.p-top\:chara__art-canvas.is-canvas-start + img {
  visibility: hidden;
}
.p-top\:chara__art-canvas canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top\:chara__bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.p-top\:chara__deco {
  width: 42rem;
  position: absolute;
  top: 43.2rem;
  left: 0;
  transform: translate(-40%, -50%);
  -webkit-mask: linear-gradient(100deg, #fff 0%, #fff 33.33%, rgba(255, 255, 255, 0) 66.66%, rgba(255, 255, 255, 0) 100%) no-repeat right 0 top 0/300% 100%;
  mask: linear-gradient(100deg, #fff 0%, #fff 33.33%, rgba(255, 255, 255, 0) 66.66%, rgba(255, 255, 255, 0) 100%) no-repeat right 0 top 0/300% 100%;
}
@media screen and (max-width: 960px) {
  .p-top\:chara__deco {
    width: 30rem;
    top: 42.2rem;
    transform: translate(-50.5%, -50%);
  }
}
.is-active .p-top\:chara__deco {
  transition: -webkit-mask-position 0.5s var(--ease_inout);
  transition: mask-position 0.5s var(--ease_inout);
  transition: mask-position 0.5s var(--ease_inout), -webkit-mask-position 0.5s var(--ease_inout);
  -webkit-mask-position: right 100% top 0;
  mask-position: right 100% top 0;
}
.p-top\:chara__container {
  width: 85.7142857143%;
  max-width: 2560px;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-top\:chara__container {
    width: 84%;
    max-width: 630px;
  }
}
.p-top\:chara__header {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.is-active .p-top\:chara__header {
  opacity: 1;
  transition: opacity 0.7s var(--ease_inout);
}
.p-top\:chara__title {
  width: 67.2rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:chara__title {
    width: 29.2rem;
  }
}
.p-top\:chara__title-in {
  display: block;
  position: relative;
  -webkit-mask: url("../img/ttl_chara.svg") no-repeat center/100% auto;
  mask: url("../img/ttl_chara.svg") no-repeat center/100% auto;
  overflow: hidden;
}
.p-top\:chara__title-text {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  opacity: 0;
}
.p-top\:chara__title-text img {
  width: 100%;
}
.p-top\:chara__title-cover {
  width: 300%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  background: var(--gradient-cover);
}
.p-top\:chara__title-deco {
  width: 19.2%;
  display: block;
  position: absolute;
  bottom: 0.45%;
  left: 45.5%;
}
@media screen and (max-width: 960px) {
  .p-top\:chara__title-deco {
    width: 33%;
    bottom: -4.2rem;
    left: 0;
  }
}
.p-top\:chara__title-deco img {
  width: 100%;
}
.p-top\:chara__inner {
  display: block;
  position: relative;
}
.p-top\:chara__slide {
  display: block;
  position: relative;
  padding: 3.5rem 0;
}
@media screen and (max-width: 960px) {
  .p-top\:chara__slide {
    padding: 7rem 0 0;
  }
}
.p-top\:chara__list {
  display: block;
  position: relative;
}
.p-top\:chara__list-item {
  display: block;
  position: relative;
}

.p-top\:chara_data {
  width: 100%;
  max-width: 120rem;
  display: block;
  position: relative;
  margin: 0 auto;
  z-index: 0;
  visibility: hidden;
}
.is-in-view .p-top\:chara_data {
  visibility: visible;
}
.p-top\:chara_data__content {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:chara_data__content {
    display: grid;
    grid-template-columns: 1fr 23rem 1fr;
    grid-template-areas: "face visual profile";
    gap: 8.6rem;
  }
}
.p-top\:chara_data__visual {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:chara_data__visual {
    grid-area: visual;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__visual {
    width: 16.6rem;
    left: -1%;
    margin: 0 auto;
  }
}
.p-top\:chara_data__visual-img {
  display: block;
  position: relative;
  opacity: 0;
  transform: translateX(-2rem);
}
.is-active .p-top\:chara_data__visual-img {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.4s var(--ease_inout), transform 0.6s var(--ease_out);
}
.p-top\:chara_data__profile {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:chara_data__profile {
    grid-area: profile;
    padding-top: 21.3rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__profile {
    margin-top: 1rem;
  }
}
.p-top\:chara_data__profile > * {
  opacity: 0;
  transform: translateX(-2rem);
}
.is-active .p-top\:chara_data__profile > * {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.4s var(--ease_inout) 0.2s, transform 0.6s var(--ease_out) 0.2s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(1) {
  transition-delay: 0.2s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(2) {
  transition-delay: 0.25s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(3) {
  transition-delay: 0.3s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(4) {
  transition-delay: 0.35s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(5) {
  transition-delay: 0.4s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(6) {
  transition-delay: 0.45s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(7) {
  transition-delay: 0.5s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(8) {
  transition-delay: 0.55s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(9) {
  transition-delay: 0.6s;
}
.is-active .p-top\:chara_data__profile > *:nth-child(10) {
  transition-delay: 0.65s;
}
.p-top\:chara_data__title {
  display: block;
  position: relative;
  padding: 0.6rem 2rem 0;
  color: var(--color-red);
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__title {
    padding: 0.5rem 1.5rem 0;
  }
}
.p-top\:chara_data__title::before {
  content: "";
  width: 1rem;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-left: 1px solid var(--color-bg-line);
  border-top: 1px solid var(--color-bg-line);
  border-bottom: 1px solid var(--color-bg-line);
  z-index: -1;
}
.p-top\:chara_data__title-sub {
  display: block;
  position: relative;
  font-size: 1.4rem;
  letter-spacing: 0.05rem;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__title-sub {
    margin-bottom: 0.7rem;
    font-size: 1.2rem;
  }
}
.p-top\:chara_data__title-main {
  display: block;
  position: relative;
  margin-top: -1rem;
  font-size: 5.8rem;
  line-height: 1.3;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__title-main {
    font-size: 4rem;
  }
}
.p-top\:chara_data__info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  position: relative;
  margin-top: 2rem;
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__info {
    margin-top: 1.6rem;
  }
}
.p-top\:chara_data__cv {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0.8rem;
  position: relative;
  padding: 0.2rem 2.8rem 0.2rem 0.87rem;
  color: var(--color-white);
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__cv {
    padding: 0.1rem 1.8rem 0.1rem 0.55rem;
    gap: 0.5rem;
  }
}
.p-top\:chara_data__cv::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-black);
  transform-origin: right top;
  transform: skew(-34deg);
}
.p-top\:chara_data__cv-cap {
  display: block;
  position: relative;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__cv-cap {
    font-size: 1.3rem;
  }
}
.p-top\:chara_data__cv-text {
  display: block;
  position: relative;
  font-size: 1.9rem;
  font-weight: 400;
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__cv-text {
    font-size: 1.3rem;
    letter-spacing: 0.03rem;
  }
}
.p-top\:chara_data__comment {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  color: var(--color-red);
}
.p-top\:chara_data__comment-icon {
  width: 2.5rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__comment-icon {
    width: 2.2rem;
  }
}
.p-top\:chara_data__comment-text {
  display: block;
  position: relative;
  top: 0.1rem;
  font-size: 1.3rem;
  font-weight: 400;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__comment-text {
    font-size: 1rem;
  }
}
.p-top\:chara_data__comment-text::before {
  content: "";
  width: 0;
  height: 1px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: var(--color-red);
  transition: width 0.4s var(--ease_out);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:chara_data__comment:hover .p-top\:chara_data__comment-text::before {
    width: 100%;
  }
}
.p-top\:chara_data__comment:focus-visible .p-top\:chara_data__comment-text::before {
  width: 100%;
}
.p-top\:chara_data__description {
  display: block;
  position: relative;
  margin-top: 2.2rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__description {
    margin-top: 1.8rem;
    font-size: 1.3rem;
  }
}
.p-top\:chara_data__face {
  display: block;
  position: relative;
  opacity: 0;
  transform: translateX(-2rem);
}
@media screen and (min-width: 961px) {
  .p-top\:chara_data__face {
    grid-area: face;
  }
}
@media screen and (min-width: 961px){
  .p-top\:chara_data__visual {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-top\:chara_data__profile {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  .p-top\:chara_data__face {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__face {
    margin-top: 4.4rem;
  }
}
.is-active .p-top\:chara_data__face {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.4s var(--ease_inout) 0.1s, transform 0.6s var(--ease_out) 0.1s;
}
.p-top\:chara_data__face-img {
  width: 20rem;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:chara_data__face-img {
    position: absolute;
    top: 40rem;
    left: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:chara_data__face-img {
    width: 12rem;
    margin-left: auto;
  }
}

.p-top\:staff {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 10rem 0 5rem;
}
@media screen and (max-width: 960px) {
  .p-top\:staff {
    padding: 10rem 0 5rem;
  }
}
.p-top\:staff__art {
  width: 22rem;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-mask: url("../img/bg_chara_msk.webp") no-repeat center/contain;
  mask: url("../img/bg_chara_msk.webp") no-repeat center/contain;
  overflow: hidden;
}
.p-top\:staff__art-base {
  display: block;
  position: relative;
}
.p-top\:staff__art-cover {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top\:staff__bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.p-top\:staff__deco {
  width: 37rem;
  position: absolute;
  top: 10.8rem;
  right: 0;
  transform: translate(16%, -50%);
  -webkit-mask: linear-gradient(-100deg, #fff 0%, #fff 33.33%, rgba(255, 255, 255, 0) 66.66%, rgba(255, 255, 255, 0) 100%) no-repeat left 0 top 0/300% 100%;
  mask: linear-gradient(-100deg, #fff 0%, #fff 33.33%, rgba(255, 255, 255, 0) 66.66%, rgba(255, 255, 255, 0) 100%) no-repeat left 0 top 0/300% 100%;
}
@media screen and (max-width: 960px) {
  .p-top\:staff__deco {
    width: 28rem;
    top: 4.8rem;
    transform: translate(25%, -50%);
  }
}
.is-active .p-top\:staff__deco {
  transition: -webkit-mask-position 0.5s var(--ease_inout);
  transition: mask-position 0.5s var(--ease_inout);
  transition: mask-position 0.5s var(--ease_inout), -webkit-mask-position 0.5s var(--ease_inout);
  -webkit-mask-position: left 100% top 0;
  mask-position: left 100% top 0;
}
.p-top\:staff__container {
  width: 85.7142857143%;
  max-width: 2560px;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .p-top\:staff__container {
    padding-right: 8.3333333333%;
    padding-left: 40rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:staff__container {
    width: 84%;
    max-width: 630px;
  }
}
.p-top\:staff__header {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 1.8rem;
  position: relative;
  margin: 0 auto 7.8rem;
  opacity: 0;
}
@media screen and (max-width: 960px) {
  .p-top\:staff__header {
    gap: 2.2rem;
    margin-bottom: 3.7rem;
  }
}
.is-active .p-top\:staff__header {
  opacity: 1;
  transition: opacity 0.7s var(--ease_inout);
}
.p-top\:staff__title {
  width: 28.2rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:staff__title {
    width: 12.6rem;
  }
}
.p-top\:staff__title-in {
  display: block;
  position: relative;
  -webkit-mask: url("../img/ttl_staff.svg") no-repeat center/100% auto;
  mask: url("../img/ttl_staff.svg") no-repeat center/100% auto;
  overflow: hidden;
}
.p-top\:staff__title-text {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  opacity: 0;
}
.p-top\:staff__title-text img {
  width: 100%;
}
.p-top\:staff__title-cover {
  width: 300%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  background: var(--gradient-cover);
}
.p-top\:staff__title-deco {
  width: 19.2%;
  display: block;
  position: absolute;
  bottom: 0.45%;
  left: 45.5%;
}
.p-top\:staff__title-deco img {
  width: 100%;
}
.p-top\:staff__cap {
  flex: 1 1 0;
  min-width: 0;
  display: block;
  position: relative;
  padding-top: 0.8rem;
}
.p-top\:staff__cap-line {
  width: 0;
  height: 1px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-bg-line);
  overflow: hidden;
}
.is-active .p-top\:staff__cap-line {
  width: 100%;
  transition: width 1.2s var(--ease_inout) 0.3s;
}
.p-top\:staff__cap-line::before {
  content: "";
  width: 3rem;
  height: 2px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-red);
}
.p-top\:staff__cap-text {
  display: block;
  position: relative;
  font-size: 1.3rem;
  line-height: 1.2;
  letter-spacing: 0.12rem;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: var(--color-gray);
}
@media screen and (max-width: 960px) {
  .p-top\:staff__cap-text {
    font-size: 1.1rem;
    letter-spacing: 0.05rem;
  }
}
.p-top\:staff__inner {
  display: block;
  position: relative;
}
.p-top\:staff__list {
  display: block;
  position: relative;
}
.p-top\:staff__list-item {
  display: block;
  position: relative;
  opacity: 0;
  transform: translateX(-1rem);
  transition: opacity 0.5s var(--ease_inout), transform 0s linear 0.5s;
}
.is-active .p-top\:staff__list-item {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.5s var(--ease_out), transform 0.8s var(--ease_out);
}
.is-active .p-top\:staff__list-item:nth-child(1) {
  transition-delay: 0.2s;
}
.is-active .p-top\:staff__list-item:nth-child(2) {
  transition-delay: 0.23s;
}
.is-active .p-top\:staff__list-item:nth-child(3) {
  transition-delay: 0.26s;
}
.is-active .p-top\:staff__list-item:nth-child(4) {
  transition-delay: 0.29s;
}
.is-active .p-top\:staff__list-item:nth-child(5) {
  transition-delay: 0.32s;
}
.is-active .p-top\:staff__list-item:nth-child(6) {
  transition-delay: 0.35s;
}
.is-active .p-top\:staff__list-item:nth-child(7) {
  transition-delay: 0.38s;
}
.is-active .p-top\:staff__list-item:nth-child(8) {
  transition-delay: 0.41s;
}
.is-active .p-top\:staff__list-item:nth-child(9) {
  transition-delay: 0.44s;
}
.is-active .p-top\:staff__list-item:nth-child(10) {
  transition-delay: 0.47s;
}
.is-active .p-top\:staff__list-item:nth-child(11) {
  transition-delay: 0.5s;
}
.is-active .p-top\:staff__list-item:nth-child(12) {
  transition-delay: 0.53s;
}
.is-active .p-top\:staff__list-item:nth-child(13) {
  transition-delay: 0.56s;
}
.is-active .p-top\:staff__list-item:nth-child(14) {
  transition-delay: 0.59s;
}
.is-active .p-top\:staff__list-item:nth-child(15) {
  transition-delay: 0.62s;
}
.is-active .p-top\:staff__list-item:nth-child(16) {
  transition-delay: 0.65s;
}
.is-active .p-top\:staff__list-item:nth-child(17) {
  transition-delay: 0.68s;
}
.is-active .p-top\:staff__list-item:nth-child(18) {
  transition-delay: 0.71s;
}
.is-active .p-top\:staff__list-item:nth-child(19) {
  transition-delay: 0.74s;
}
.is-active .p-top\:staff__list-item:nth-child(20) {
  transition-delay: 0.77s;
}
.is-active .p-top\:staff__list-item:nth-child(21) {
  transition-delay: 0.8s;
}
.is-active .p-top\:staff__list-item:nth-child(22) {
  transition-delay: 0.83s;
}
.is-active .p-top\:staff__list-item:nth-child(23) {
  transition-delay: 0.86s;
}
.is-active .p-top\:staff__list-item:nth-child(24) {
  transition-delay: 0.89s;
}
.is-active .p-top\:staff__list-item:nth-child(25) {
  transition-delay: 0.92s;
}
.is-active .p-top\:staff__list-item:nth-child(26) {
  transition-delay: 0.95s;
}
.is-active .p-top\:staff__list-item:nth-child(27) {
  transition-delay: 0.98s;
}
.is-active .p-top\:staff__list-item:nth-child(28) {
  transition-delay: 1.01s;
}
.is-active .p-top\:staff__list-item:nth-child(29) {
  transition-delay: 1.04s;
}
.is-active .p-top\:staff__list-item:nth-child(30) {
  transition-delay: 1.07s;
}
.p-top\:staff__list-item + .p-top\:staff__list-item {
  margin-top: 2.3rem;
}
@media screen and (max-width: 960px) {
  .p-top\:staff__list-item + .p-top\:staff__list-item {
    margin-top: 1.5rem;
  }
}

.p-top\:staff_data {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:staff_data {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
  }
}
.p-top\:staff_data__cap {
  min-width: 28rem;
  display: block;
  position: relative;
  padding-left: 4rem;
  font-size: 1.7rem;
  font-weight: 600;
  color: var(--color-red);
  line-height: 1.3;
}
@media screen and (max-width: 960px) {
  .p-top\:staff_data__cap {
    margin-bottom: 0.2rem;
    padding-left: 3rem;
    font-size: 1.3rem;
  }
}
.p-top\:staff_data__cap::before {
  content: "";
  width: 2rem;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/icon_point.svg") no-repeat center/contain;
}
@media screen and (max-width: 960px) {
  .p-top\:staff_data__cap::before {
    width: 1.8rem;
  }
}
.p-top\:staff_data__content {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:staff_data__content {
    flex: 1 1 0;
    min-width: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:staff_data__content {
    width: 100%;
    gap: 0.3rem 0.7rem;
    padding-left: 3.05rem;
  }
}
.p-top\:staff_data__content-in {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  gap: 0.5rem 1rem;
  flex-wrap: wrap;
  position: relative;
}
.p-top\:staff_data__text {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .p-top\:staff_data__text {
    font-size: 1.3rem;
    letter-spacing: 0.08rem;
  }
}
.p-top\:staff_data__text small {
  display: inline-block;
  font-size: 0.8em;
}
.p-top\:staff_data__text.--br {
  width: 100%;
}
.p-top\:staff_data__comment {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  color: var(--color-red);
}
@media screen and (max-width: 960px) {
  .p-top\:staff_data__comment {
    gap: 0.3rem;
  }
}
.p-top\:staff_data__comment-icon {
  width: 2.5rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:staff_data__comment-icon {
    width: 1.8rem;
  }
}
.p-top\:staff_data__comment-text {
  display: block;
  position: relative;
  top: 0.1rem;
  font-size: 1.3rem;
  font-weight: 400;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
@media screen and (max-width: 960px) {
  .p-top\:staff_data__comment-text {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
}
.p-top\:staff_data__comment-text::before {
  content: "";
  width: 0;
  height: 1px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: var(--color-red);
  transition: width 0.4s var(--ease_out);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:staff_data__comment:hover .p-top\:staff_data__comment-text::before {
    width: 100%;
  }
}
.p-top\:staff_data__comment:focus-visible .p-top\:staff_data__comment-text::before {
  width: 100%;
}

.p-top\:original {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 24.5rem 0 14.6rem;
}
@media screen and (max-width: 960px) {
  .p-top\:original {
    padding: 17.5rem 0 10rem;
  }
}
.p-top\:original__art {
  display: block;
  position: absolute;
  overflow: hidden;
}
.p-top\:original__art.--art1 {
  width: 43rem;
  top: -6.1rem;
  right: 0;
  -webkit-mask: url("../img/bg_original_msk.webp") no-repeat center/contain;
  mask: url("../img/bg_original_msk.webp") no-repeat center/contain;
}
@media screen and (max-width: 960px) {
  .p-top\:original__art.--art1 {
    width: 21.5rem;
    top: -1.5rem;
  }
}
.p-top\:original__art-base {
  display: block;
  position: relative;
}
.p-top\:original__art-cover {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top\:original__art-canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.p-top\:original__art-canvas canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top\:original__bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.p-top\:original__deco {
  width: 42rem;
  position: absolute;
  top: 14rem;
  left: 0;
  transform: translate(-40%, -50%);
  -webkit-mask: linear-gradient(100deg, #fff 0%, #fff 33.33%, rgba(255, 255, 255, 0) 66.66%, rgba(255, 255, 255, 0) 100%) no-repeat right 0 top 0/300% 100%;
  mask: linear-gradient(100deg, #fff 0%, #fff 33.33%, rgba(255, 255, 255, 0) 66.66%, rgba(255, 255, 255, 0) 100%) no-repeat right 0 top 0/300% 100%;
}
@media screen and (max-width: 960px) {
  .p-top\:original__deco {
    width: 30rem;
    top: 9.8rem;
    transform: translate(-50.5%, -50%);
  }
}
.is-active .p-top\:original__deco {
  transition: -webkit-mask-position 0.5s var(--ease_inout);
  transition: mask-position 0.5s var(--ease_inout);
  transition: mask-position 0.5s var(--ease_inout), -webkit-mask-position 0.5s var(--ease_inout);
  -webkit-mask-position: right 100% top 0;
  mask-position: right 100% top 0;
}
.p-top\:original__container {
  width: 85.7142857143%;
  max-width: 2560px;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-top\:original__container {
    width: 84%;
    max-width: 630px;
  }
}
.p-top\:original__header {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto 5rem;
  opacity: 0;
}
@media screen and (min-width: 961px) {
  .p-top\:original__header {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 14.2rem;
  }
}
.is-active .p-top\:original__header {
  opacity: 1;
  transition: opacity 0.7s var(--ease_inout);
}
.p-top\:original__title {
  width: 45.8rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:original__title {
    width: 20rem;
    margin: 0 auto;
  }
}
.p-top\:original__title-in {
  display: block;
  position: relative;
  -webkit-mask: url("../img/ttl_original.svg") no-repeat center/100% auto;
  mask: url("../img/ttl_original.svg") no-repeat center/100% auto;
  overflow: hidden;
}
.p-top\:original__title-text {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  opacity: 0;
}
.p-top\:original__title-text img {
  width: 100%;
}
.p-top\:original__title-cover {
  width: 300%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  background: var(--gradient-cover);
}
.p-top\:original__title-deco {
  width: 19.2%;
  display: block;
  position: absolute;
  bottom: 0.45%;
  left: 45.5%;
}
.p-top\:original__title-deco img {
  width: 100%;
}
.p-top\:original__staff {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:original__staff {
    padding-top: 7rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:original__staff {
    margin-top: 2.7rem;
  }
}
.p-top\:original__staff-item {
  display: block;
  position: relative;
  opacity: 0;
  transform: translateX(-1rem);
  transition: opacity 0.5s var(--ease_inout), transform 0s linear 0.5s;
}
.is-active .p-top\:original__staff-item {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.5s var(--ease_out), transform 0.8s var(--ease_out);
}
.is-active .p-top\:original__staff-item:nth-child(1) {
  transition-delay: 0.2s;
}
.is-active .p-top\:original__staff-item:nth-child(2) {
  transition-delay: 0.23s;
}
.is-active .p-top\:original__staff-item:nth-child(3) {
  transition-delay: 0.26s;
}
.is-active .p-top\:original__staff-item:nth-child(4) {
  transition-delay: 0.29s;
}
.is-active .p-top\:original__staff-item:nth-child(5) {
  transition-delay: 0.32s;
}
.is-active .p-top\:original__staff-item:nth-child(6) {
  transition-delay: 0.35s;
}
.is-active .p-top\:original__staff-item:nth-child(7) {
  transition-delay: 0.38s;
}
.is-active .p-top\:original__staff-item:nth-child(8) {
  transition-delay: 0.41s;
}
.is-active .p-top\:original__staff-item:nth-child(9) {
  transition-delay: 0.44s;
}
.is-active .p-top\:original__staff-item:nth-child(10) {
  transition-delay: 0.47s;
}
.is-active .p-top\:original__staff-item:nth-child(11) {
  transition-delay: 0.5s;
}
.is-active .p-top\:original__staff-item:nth-child(12) {
  transition-delay: 0.53s;
}
.is-active .p-top\:original__staff-item:nth-child(13) {
  transition-delay: 0.56s;
}
.is-active .p-top\:original__staff-item:nth-child(14) {
  transition-delay: 0.59s;
}
.is-active .p-top\:original__staff-item:nth-child(15) {
  transition-delay: 0.62s;
}
.is-active .p-top\:original__staff-item:nth-child(16) {
  transition-delay: 0.65s;
}
.is-active .p-top\:original__staff-item:nth-child(17) {
  transition-delay: 0.68s;
}
.is-active .p-top\:original__staff-item:nth-child(18) {
  transition-delay: 0.71s;
}
.is-active .p-top\:original__staff-item:nth-child(19) {
  transition-delay: 0.74s;
}
.is-active .p-top\:original__staff-item:nth-child(20) {
  transition-delay: 0.77s;
}
.is-active .p-top\:original__staff-item:nth-child(21) {
  transition-delay: 0.8s;
}
.is-active .p-top\:original__staff-item:nth-child(22) {
  transition-delay: 0.83s;
}
.is-active .p-top\:original__staff-item:nth-child(23) {
  transition-delay: 0.86s;
}
.is-active .p-top\:original__staff-item:nth-child(24) {
  transition-delay: 0.89s;
}
.is-active .p-top\:original__staff-item:nth-child(25) {
  transition-delay: 0.92s;
}
.is-active .p-top\:original__staff-item:nth-child(26) {
  transition-delay: 0.95s;
}
.is-active .p-top\:original__staff-item:nth-child(27) {
  transition-delay: 0.98s;
}
.is-active .p-top\:original__staff-item:nth-child(28) {
  transition-delay: 1.01s;
}
.is-active .p-top\:original__staff-item:nth-child(29) {
  transition-delay: 1.04s;
}
.is-active .p-top\:original__staff-item:nth-child(30) {
  transition-delay: 1.07s;
}
.p-top\:original__staff-item + .p-top\:original__staff-item {
  margin-top: 1.9rem;
}
.p-top\:original__inner {
  display: block;
  position: relative;
}

.p-top\:original_staff {
  display: block;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 961px) {
  .p-top\:original_staff {
    display: flex;
    justify-content: flex-start;
    gap: 1.2rem;
    align-items: center;
  }
}
.p-top\:original_staff__cap {
  min-width: 24rem;
  display: block;
  position: relative;
  font-size: 1.5rem;
  padding: 0.05rem 2.8rem 0.05rem 0.87rem;
  color: var(--color-white);
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  .p-top\:original_staff__cap {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 0.7rem;
    min-width: 18rem;
    font-size: 1rem;
  }
}
.p-top\:original_staff__cap::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-black);
  transform-origin: right top;
  transform: skew(-45deg);
  z-index: -1;
}
.p-top\:original_staff__content {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:original_staff__content {
    min-width: 0;
    flex: 1 1 0;
  }
}
.p-top\:original_staff__text {
  display: block;
  position: relative;
  font-size: 1.6rem;
}
@media screen and (max-width: 960px) {
  .p-top\:original_staff__text {
    font-size: 1.3rem;
  }
}
.p-top\:original_staff__text small {
  display: inline-block;
  font-size: 0.8em;
}

.p-top\:original_content {
  display: block;
  position: relative;
  opacity: 0;
  transform: translateX(-2rem);
}
.p-top\:original_content.is-active {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.4s var(--ease_inout), transform 0.6s var(--ease_out);
}
.p-top\:original_content + .p-top\:original_content {
  margin-top: 6rem;
}
@media screen and (max-width: 960px) {
  .p-top\:original_content + .p-top\:original_content {
    margin-top: 5rem;
  }
}
.p-top\:original_content__header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3rem;
  position: relative;
  margin: 0 auto 3.8rem;
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__header {
    gap: 2rem;
    margin-bottom: 3rem;
  }
}
.p-top\:original_content__title {
  display: block;
  position: relative;
}
.--comic .p-top\:original_content__title {
  width: 27.48rem;
}
@media screen and (max-width: 960px) {
  .--comic .p-top\:original_content__title {
    width: 16.8rem;
  }
}
.--novel .p-top\:original_content__title {
  width: 23.358rem;
}
@media screen and (max-width: 960px) {
  .--novel .p-top\:original_content__title {
    width: 14.28rem;
  }
}
.p-top\:original_content__title-in {
  display: block;
  position: relative;
  overflow: hidden;
}
.--comic .p-top\:original_content__title-in {
  -webkit-mask: url("../img/ttl_comics.svg") no-repeat center/100% auto;
  mask: url("../img/ttl_comics.svg") no-repeat center/100% auto;
}
.--novel .p-top\:original_content__title-in {
  -webkit-mask: url("../img/ttl_novels.svg") no-repeat center/100% auto;
  mask: url("../img/ttl_novels.svg") no-repeat center/100% auto;
}
.p-top\:original_content__title-text {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  opacity: 0;
}
.p-top\:original_content__title-text img {
  width: 100%;
}
.p-top\:original_content__title-cover {
  width: 300%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  background: var(--gradient-cover);
}
.p-top\:original_content__title-deco {
  width: 19.2%;
  display: block;
  position: absolute;
  bottom: 0.45%;
  left: 45.5%;
}
.p-top\:original_content__title-deco img {
  width: 100%;
}
.p-top\:original_content__cap {
  min-width: 20rem;
  display: block;
  position: relative;
  margin-top: 2.2rem;
  padding: 0.8rem 1.2rem;
  color: var(--color-red);
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__cap {
    flex: 1 1 0;
    min-width: 12.6rem;
    margin-top: 0.7rem;
    padding: 0.6rem 0.8rem;
  }
}
.p-top\:original_content__cap::before {
  content: "";
  width: 1rem;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-left: 1px solid var(--color-red);
  border-top: 1px solid var(--color-red);
  border-bottom: 1px solid var(--color-red);
  z-index: -1;
}
.p-top\:original_content__cap-no {
  display: block;
  position: relative;
  font-size: 1.4rem;
  letter-spacing: 0.05rem;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__cap-no {
    font-size: 1rem;
  }
}
.p-top\:original_content__cap-text {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: 400;
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__cap-text {
    font-size: 1.1rem;
    letter-spacing: 0.1rem;
  }
}
.p-top\:original_content__inner {
  display: block;
  position: relative;
}
.p-top\:original_content__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  position: relative;
}
@media screen and (min-width: 961px) and (min-width: 2001px) {
  .p-top\:original_content__list {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media screen and (min-width: 961px) and (min-width: 2401px) {
  .p-top\:original_content__list {
    grid-template-columns: repeat(7, 1fr);
  }
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 651px) {
  .p-top\:original_content__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}
.p-top\:original_content__list-item {
  display: block;
  position: relative;
}
.p-top\:original_content__list-item.--dummy {
  display: none;
}
@media screen and (min-width: 961px) and (max-width: 2000px) {
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+1) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+2) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+3) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+3) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+4) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+5) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(5n+5) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
}
@media screen and (min-width: 961px) and (min-width: 2001px) and (max-width: 2400px) {
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+1) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+2) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+3) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+3) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+3) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+4) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+4) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+5) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+6) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(6n+6) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
}
@media screen and (min-width: 961px) and (min-width: 2401px) {
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+1) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+2) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+3) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+3) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+3) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+3) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+4) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+4) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+4) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+5) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+5) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+6) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+7) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(7n+7) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
}
@media screen and (max-width: 960px) and (max-width: 650px) {
  .p-top\:original_content__list-item:not(.--dummy):nth-child(2n+1) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(2n+2) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(2n+2) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
}
@media screen and (max-width: 960px) and (min-width: 651px) {
  .p-top\:original_content__list-item:not(.--dummy):nth-child(3n+1) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(3n+1) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(3n+2) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(3n+3) + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
  .p-top\:original_content__list-item:not(.--dummy):nth-child(3n+3) + .p-top\:original_content__list-item.--dummy + .p-top\:original_content__list-item.--dummy {
    display: block;
  }
}
.p-top\:original_content__data {
  display: block;
  position: relative;
  overflow: hidden;
}
.p-top\:original_content__data::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--gradient-main);
  opacity: 0;
  transition: opacity 0.3s var(--ease_inout);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:original_content__data[href]:hover::after {
    opacity: 0.4;
  }
}
.p-top\:original_content__data[href]:focus-visible::after {
  opacity: 0.4;
}

.p-top\:original_content__data-img {
  width: 100%;
  display: block;
  position: relative;
}
.p-top\:original_content__data-img img {
  width: 100%;
}
.p-top\:original_content__data-cover {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transform: scale(1.1);
  transition: opacity 0.3s var(--ease_inout), transform 0s linear 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:original_content__data[href]:hover .p-top\:original_content__data-cover {
    opacity: 1;
    transform: scale(1.001);
    transition: opacity 0.3s var(--ease_inout), transform 0.5s var(--ease_out);
  }
}
.p-top\:original_content__data[href]:focus-visible .p-top\:original_content__data-cover {
  opacity: 1;
  transform: scale(1.001);
}
.p-top\:original_content__data-cover::before {
  width: 1rem;
  height: calc(100% - 2rem);
  display: block;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translate(0, -50%);
  border-left: 1px solid var(--color-white);
  border-top: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
  z-index: -1;
}
@media screen and (min-width: 961px) {
  .p-top\:original_content__data-cover::before {
    content: "";
  }
}
.p-top\:original_content__data-cover::after {
  width: 1rem;
  height: calc(100% - 2rem);
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translate(0, -50%);
  border-right: 1px solid var(--color-white);
  border-top: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
  z-index: -1;
}
@media screen and (min-width: 961px) {
  .p-top\:original_content__data-cover::after {
    content: "";
  }
}
.p-top\:original_content__data-cap {
  width: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 2rem;
  font-family: "Tektur", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  white-space: nowrap;
  color: var(--color-white);
  text-align: center;
  transform: translate(-50%, -50%);
}
.p-top\:original_content__link {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2rem;
  position: relative;
  margin: 4rem auto 0;
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__link {
    margin-top: 2.8rem;
    gap: 1.5rem 1rem;
  }
}
.p-top\:original_content__link-item {
  width: 27rem;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__link-item {
    width: 25.5rem;
  }
}
.p-top\:original_content__btn {
  display: block;
  position: relative;
  color: var(--color-red);
  transition: color 0.3s var(--ease_out);
  z-index: 0;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:original_content__btn:hover {
    color: var(--color-white);
  }
}
.p-top\:original_content__btn:focus-visible {
  color: var(--color-white);
}
.p-top\:original_content__btn::before {
  content: "";
  width: calc(100% - 0.7rem);
  height: calc(100% - 0.7rem);
  display: block;
  position: absolute;
  top: 0.35rem;
  left: 0.35rem;
  background: linear-gradient(100deg, #a2002a 0%, #a2002a 33.33%, rgba(162, 0, 42, 0) 66.66%, rgba(162, 0, 42, 0) 100%) no-repeat right 0 top 0/300% 100%;
  opacity: 0;
  transition: opacity 0.4s var(--ease_out), background-position-x 0s linear 0.4s;
  z-index: -1;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:original_content__btn:hover::before {
    opacity: 1;
    background-position-x: right 100%;
    transition: opacity 0s linear, background-position-x 0.6s var(--ease_out);
  }
}
.p-top\:original_content__btn:focus-visible::before {
  opacity: 1;
  background-position-x: right 100%;
  transition: opacity 0s linear, background-position-x 0.6s var(--ease_out);
}

.p-top\:original_content__btn-base {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-top\:original_content__btn-text {
  width: calc(100% - 7rem);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  text-align: center;
  transform: translate(-50%, -50%);
  color: currentColor;
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__btn-text {
    width: calc(100% - 2rem);
    font-size: 1.2rem;
  }
}
.p-top\:original_content__btn-arrow {
  width: 1.8rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 1.5rem;
  fill: currentColor;
  transform: translate(-50%, -50%);
  transition: transform 0.3s var(--ease_out);
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__btn-arrow {
    width: 1.6rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:original_content__btn-arrow {
    width: 1.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:original_content__btn:hover .p-top\:original_content__btn-arrow {
    transform: translate(calc(-50% + 0.5rem), -50%);
  }
}
.p-top\:original_content__btn:focus-visible .p-top\:original_content__btn-arrow {
  transform: translate(calc(-50% + 0.5rem), -50%);
}
.p-top\:original_content__bnr {
  display: block;
  position: relative;
  overflow: hidden;
}
.p-top\:original_content__bnr::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--gradient-main);
  opacity: 0;
  transition: opacity 1s var(--ease_out);
  z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:original_content__bnr:hover::before {
    opacity: 0.4;
  }
}
.p-top\:original_content__bnr:focus-visible::before {
  opacity: 0.4;
}

.p-top {
  display: block;
  position: relative;
}
.p-top__header {
  display: block;
  position: relative;
}
.p-top__inner {
  display: block;
  position: relative;
  background: #fff url("../img/bg_white.jpg") repeat 0 0/20px auto;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  .p-top__inner {
    background-size: 10px auto;
  }
}
.p-top__inner::before {
  content: "";
  width: 71.4285714286%;
  max-width: 2133.3333333333px;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  border-left: 1px solid var(--color-bg-line);
  border-right: 1px solid var(--color-bg-line);
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .p-top__inner::before {
    width: 94.6666666667%;
  }
}
.p-top__inner::after {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  border-left: 1px solid var(--color-bg-line);
  z-index: -1;
}
.p-top__bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}