@charset "UTF-8";
@keyframes audio-visualizer-1 {
  0% {
    height: 100%;
  }
  20% {
    height: 30%;
  }
  40% {
    height: 70%;
  }
  60% {
    height: 30%;
  }
  80% {
    height: 40%;
  }
  100% {
    height: 100%;
  }
}
@keyframes audio-visualizer-2 {
  0% {
    height: 100%;
  }
  20% {
    height: 80%;
  }
  40% {
    height: 50%;
  }
  60% {
    height: 100%;
  }
  80% {
    height: 0%;
  }
  100% {
    height: 100%;
  }
}
@keyframes audio-visualizer-3 {
  0% {
    height: 100%;
  }
  20% {
    height: 60%;
  }
  40% {
    height: 80%;
  }
  60% {
    height: 50%;
  }
  80% {
    height: 90%;
  }
  100% {
    height: 100%;
  }
}
.p-top\:hero {
  --color-text: var(--color-white);
  display: block;
  position: relative;
  color: var(--color-white);
  background: var(--color-black);
  overflow: hidden;
}
.p-top\:hero__container {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__container {
    min-height: var(--svh);
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero__container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto auto;
    grid-template-areas: "inner" "header" "footer";
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero__container {
    grid-template-rows: 56.25vw auto auto;
  }
}
.p-top\:hero__container::after {
  width: 100%;
  height: 15%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, var(--color-black-alpha-50) 0%, var(--color-black-alpha-0) 100%);
  pointer-events: none;
  opacity: 1;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__container::after {
    content: "";
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero__container::after {
    transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-top-hero-blur .p-top\:hero__container::after {
    opacity: 0;
  }
}
.p-top\:hero__header {
  width: 100%;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  padding-bottom: 4.5rem;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__header {
    grid-area: header;
    padding: 2rem 0 5rem;
    pointer-events: none;
  }
  .is-hero-info-active .p-top\:hero__header {
    pointer-events: auto;
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero__header {
    pointer-events: auto;
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero__header {
    display: block;
    position: relative;
    background-color: var(--color-black-dark);
  }
}
.p-top\:hero__header::before {
  content: "";
  width: 100%;
  height: 200%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, var(--color-black-alpha-50) 0%, var(--color-black-alpha-0) 100%);
  pointer-events: none;
  opacity: 1;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__header::before {
    height: 200%;
    background: linear-gradient(to top, var(--color-black) 0%, var(--color-black-alpha-0) 100%);
    opacity: 0.2;
    transition: opacity 1.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-hero-info-active .p-top\:hero__header::before {
    opacity: 1;
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero__header::before {
    opacity: 1;
  }
}
.p-top\:hero__header::after {
  width: 100%;
  height: 150%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, var(--color-black) 40%, var(--color-black-alpha-0) 100%);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  pointer-events: none;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__header::after {
    content: "";
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero__header::after {
    content: none;
  }
}
.is-top-hero-drawer-active .p-top\:hero__header::after {
  opacity: 1;
}
.p-top\:hero__pagination {
  width: calc(100% - 10rem);
  display: flex;
  position: relative;
  font-size: 1.2rem;
  margin: 0 auto 1rem;
  z-index: 2;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__pagination {
    width: calc(100% - 4rem);
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-hero-info-active .p-top\:hero__pagination {
    opacity: 1;
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero__pagination {
    opacity: 1;
  }
}
.p-top\:hero__pagination-text {
  display: block;
  position: relative;
  font-family: "Poppins", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
.p-top\:hero__pagination-bar {
  display: block;
  position: relative;
  font-family: "Poppins", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  margin: 0 0.1rem;
}
.p-top\:hero__info {
  width: calc(100% - 10rem);
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__info {
    width: calc(100% - 4rem);
    opacity: 0;
    pointer-events: none;
    z-index: -1;
    transition: opacity 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-hero-info-active .p-top\:hero__info {
    opacity: 1;
    pointer-events: auto;
    z-index: 0;
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero__info {
    opacity: 1;
    pointer-events: auto;
    z-index: 0;
  }
}
.p-top\:hero__info-item {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__info-item {
    top: auto;
    bottom: 0;
  }
}
.p-top\:hero__info-item.is-hero-current {
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__info-item.is-hero-current {
    pointer-events: auto;
  }
}
@media screen and (max-width: 960px) {
  .is-hero-info-active .p-top\:hero__info-item.is-hero-current {
    pointer-events: auto;
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero__info-item.is-hero-current {
    pointer-events: auto;
  }
}
.p-top\:hero__inner {
  display: block;
  position: relative;
  background-color: var(--color-black);
}
@media screen and (max-width: 960px) {
  .p-top\:hero__inner {
    grid-area: inner;
  }
}
@media screen and (max-width: 960px){
  .p-top\:hero__header {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-top\:hero__inner {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
.p-top\:hero__mv {
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__mv {
    pointer-events: none;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero__mv {
    padding-top: min(141.1764705882%, 60rem);
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero__mv {
    display: none;
  }
}
.p-top\:hero__mv-item {
  width: 100%;
  height: var(--svh);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  visibility: hidden;
  transform: translateY(0);
  transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1), visibility 1s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (min-width: 961px) {
  .p-top\:hero__mv-item:first-child {
    position: relative;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero__mv-item {
    height: 100% !important;
  }
}
.p-top\:hero__mv-item.is-hero-current {
  z-index: 1;
  visibility: visible;
}
.is-top-hero-drawer-active .p-top\:hero__mv-item {
  transform: translateY(-20rem);
}
.p-top\:hero__movie {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-movie-play .p-top\:hero__movie {
  opacity: 1;
}
.p-top\:hero__seekbar {
  width: 100%;
  height: 0.4rem;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__seekbar {
    height: 0.2rem;
  }
}
.p-top\:hero__seekbar::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-white);
  opacity: 0.3;
}
.p-top\:hero__seekbar-line {
  width: 0;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-white);
}
.p-top\:hero__sound {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero__sound {
    display: block;
    position: absolute;
    bottom: 4.4rem;
    right: 5rem;
    z-index: 2;
  }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 960px) {
  .p-top\:hero__sound {
    bottom: 2rem;
    right: 3rem;
  }
}
.p-top\:hero__footer {
  position: static;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__footer {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
  }
}
.p-top\:hero__nav {
  position: static;
}
@media screen and (max-width: 960px) {
  .p-top\:hero__nav {
    display: flex;
    justify-content: center;
    position: relative;
    margin: 0 auto;
  }
}
.p-top\:hero__nav-item {
  display: block;
}
@media screen and (min-width: 961px) {
  .p-top\:hero__nav-item {
    position: absolute;
    top: 50%;
    z-index: 1;
  }
  .p-top\:hero__nav-item.--next {
    right: 0;
  }
  .p-top\:hero__nav-item.--prev {
    left: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero__nav-item {
    transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-top-hero-blur .p-top\:hero__nav-item {
    opacity: 0;
  }
}

.p-top\:hero-info {
  display: block;
  position: relative;
  opacity: 0;
  visibility: hidden;
}
.is-hero-slide-init .p-top\:hero-info {
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1), visibility 0s linear 0.4s;
}
.is-hero-current .p-top\:hero-info {
  opacity: 1;
  visibility: visible;
}
.is-hero-slide-init .is-hero-current .p-top\:hero-info {
  transition: opacity 1.2s cubic-bezier(0.65, 0, 0.35, 1) 0.4s;
}
@media screen and (max-width: 960px) {
  .is-hero-slide-init .is-hero-current .p-top\:hero-info {
    transition: opacity 1.2s cubic-bezier(0.65, 0, 0.35, 1);
  }
}
.p-top\:hero-info__header {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero-info__header {
    margin-bottom: 2.8rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__header {
    display: grid;
    grid-template-columns: auto 4rem;
    grid-template-rows: auto 1fr;
    grid-template-areas: "title title" "movie movie";
    gap: 2rem 1rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero-info__header {
    grid-template-columns: 50% auto;
    grid-template-rows: 1fr;
    grid-template-areas: "title movie";
  }
}
.p-top\:hero-info__title {
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__title {
    grid-area: title;
  }
}
.p-top\:hero-info__title-main {
  display: block;
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__title-main {
    font-size: 1.8rem;
    font-weight: 500;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
.p-top\:hero-info__title-genre {
  display: block;
  position: relative;
  margin-top: 1rem;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__title-genre {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 961px) {
  .p-top\:hero-info__movie {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__movie {
    width: calc(100% - 5rem);
    max-width: 450px;
    grid-area: movie;
    transition: width 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-top-hero-drawer-active .p-top\:hero-info__movie {
    width: 100%;
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero-info__movie {
    display: none;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero-info__movie {
    width: 100%;
    max-width: none;
    margin-top: auto;
  }
}
@media screen and (min-width: 961px) {
  .p-top\:hero-info__switch {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__switch.--open {
    position: absolute;
    right: 0;
    bottom: 0;
    opacity: 1;
    transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-top-hero-drawer-active .p-top\:hero-info__switch.--open {
    opacity: 0;
    pointer-events: none;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero-info__switch.--open {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__switch.--close {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero-info__switch.--close {
    display: none;
  }
}
.p-top\:hero-info__inner {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero-info__inner {
    display: flex !important;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__inner {
    padding: 2rem 0 0;
    display: none;
  }
  .is-top-hero-drawer-open .p-top\:hero-info__inner {
    display: block;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero-info__inner {
    padding: 1rem 0 0;
    display: grid !important;
    grid-template-areas: "sns official";
    grid-template-columns: 50% auto;
    gap: 1.2rem;
  }
}
.p-top\:hero-info__official {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero-info__official {
    width: 32rem;
    margin-right: 1.2rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__official {
    max-width: 450px;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) and (hover: hover) and (pointer: fine) {
  .p-top\:hero-info__official {
    max-width: none;
  }
}
.p-top\:hero-info__sns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero-info__sns {
    flex: 1 1 0;
    min-width: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info__sns {
    padding-right: 5rem;
    justify-content: flex-start;
  }
}
.p-top\:hero-info__sns-item {
  min-width: 0;
  display: block;
  position: relative;
}

.p-top\:hero-info_movie {
  width: 100%;
  display: block;
  position: relative;
  color: var(--color-white);
  border-radius: 200px;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero-info_movie {
    transition: color 0.2s cubic-bezier(0.5, 1, 0.89, 1), background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:hero-info_movie:hover, .p-top\:hero-info_movie:focus-visible {
    color: var(--color-black);
    background-color: var(--color-white);
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-top\:hero-info_movie::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-white);
  border-radius: 200px;
  opacity: 0.2;
}
.p-top\:hero-info_movie::after {
  content: "";
  width: 0.6rem;
  height: 0.8rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  border-left: 0.6rem solid var(--color-white);
  border-top: 0.4rem solid transparent;
  border-bottom: 0.4rem solid transparent;
  transform: translate(0, -50%);
  border-left-color: var(--color-white);
  transition: border-left-color 0.2s cubic-bezier(0.5, 1, 0.89, 1);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero-info_movie:hover::after,
  .p-top\:hero-info_movie:focus-visible::after {
    color: var(--color-black);
    border-left-color: var(--color-black);
  }
}
.p-top\:hero-info_movie__text {
  display: block;
  position: relative;
  padding: 1rem 3rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  text-align: center;
}

.p-top\:hero-info_official {
  display: block;
  position: relative;
  border-radius: 200px;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero-info_official {
    transition: color 0.2s cubic-bezier(0.5, 1, 0.89, 1), background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:hero-info_official:hover, .p-top\:hero-info_official:focus-visible {
    color: var(--color-black);
    background-color: var(--color-white);
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-top\:hero-info_official::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-white);
  border-radius: 200px;
  opacity: 0.2;
}
.p-top\:hero-info_official__text {
  display: block;
  position: relative;
  padding: 1rem 3rem;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-top\:hero-info_official__text {
    font-size: 1.3rem;
  }
}
.p-top\:hero-info_official__arrow {
  width: 1.5rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero-info_official:hover .p-top\:hero-info_official__arrow, .p-top\:hero-info_official:focus-visible .p-top\:hero-info_official__arrow {
    animation: arrow_centerY 1s linear;
  }
}
.p-top\:hero-info_official__arrow-icon {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  fill: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero-info_official__arrow-icon {
    transition: fill 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:hero-info_official:hover .p-top\:hero-info_official__arrow-icon, .p-top\:hero-info_official:focus-visible .p-top\:hero-info_official__arrow-icon {
    fill: var(--color-black);
  }
}

.p-top\:hero-info_switch {
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.p-top\:hero-info_switch::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-white);
  border-radius: 50%;
  opacity: 0.2;
}
.p-top\:hero-info_switch__icon {
  width: 1.5rem;
  display: block;
  position: relative;
}
.p-top\:hero-info_switch__bar {
  width: 1rem;
  height: 1rem;
  display: block;
  position: relative;
}
.p-top\:hero-info_switch__bar::before {
  content: "";
  width: 133%;
  height: 0.1rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  background-color: var(--color-white);
}
.p-top\:hero-info_switch__bar::after {
  content: "";
  width: 133%;
  height: 0.1rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  background-color: var(--color-white);
}

.p-top\:hero-info_sns {
  width: 4.2rem;
  height: 4.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: 50%;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero-info_sns {
    background-color: transparent;
    transition: background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:hero-info_sns:hover, .p-top\:hero-info_sns:focus-visible {
    background-color: var(--color-white);
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-top\:hero-info_sns::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-white);
  border-radius: 50%;
  opacity: 0.2;
}
.p-top\:hero-info_sns__icon {
  width: 1.5rem;
  display: block;
  position: relative;
}
.p-top\:hero-info_sns__icon-svg {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  fill: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero-info_sns__icon-svg {
    transition: fill 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:hero-info_sns:hover .p-top\:hero-info_sns__icon-svg, .p-top\:hero-info_sns:focus-visible .p-top\:hero-info_sns__icon-svg {
    fill: var(--color-black);
  }
}
.p-top\:hero-info_sns__text {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0;
}

.p-top\:hero-mv {
  height: var(--svh);
  display: block;
  position: relative;
  content-visibility: auto;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-top\:hero-mv {
    height: 100%;
  }
}
.is-hero-current .p-top\:hero-mv {
  opacity: 1;
}
.p-top\:hero-mv__visual {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-black);
}
.p-top\:hero-mv__visual-bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1.25);
  filter: blur(3rem);
  opacity: 0.5;
}
.p-top\:hero-mv__visual-bg .u-lazy__loader {
  display: none !important;
}
.p-top\:hero-mv__visual-bg img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 1 !important;
  transition: none !important;
}
.p-top\:hero-mv__visual-img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top\:hero-mv__visual-img .u-lazy__loader {
  display: none !important;
}
.p-top\:hero-mv__visual-img img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: contain;
  object-fit: contain;
  opacity: 1 !important;
  transition: none !important;
}

.p-top\:hero-movie {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
}
.p-top\:hero-movie__player {
  width: 100%;
  min-width: 177vh;
  height: 100%;
  min-height: 56.25vw;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 960px) {
  .p-top\:hero-movie__player {
    min-width: auto;
  }
}
.p-top\:hero-movie__player iframe {
  width: 100%;
  height: 200%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-top\:hero-nav {
  width: 8rem;
  display: block;
  position: relative;
  color: var(--color-white);
}
@media screen and (min-width: 961px) {
  .p-top\:hero-nav {
    outline-color: var(--color-white) !important;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero-nav {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: grid;
    place-items: center;
    height: 5rem;
    padding: 1rem 1.5rem;
  }
}
.p-top\:hero-nav::after {
  content: "";
  width: 8rem;
  height: 8rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 960px) {
  .p-top\:hero-nav::after {
    width: 5rem;
    height: 5rem;
  }
}
.p-top\:hero-nav__bar {
  width: 100%;
  height: 0.2rem;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:hero-nav__bar {
    margin-bottom: 1.8rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:hero-nav__bar {
    width: 1rem;
    height: 0.1rem;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
  }
  .--prev .p-top\:hero-nav__bar {
    left: 0;
  }
  .--next .p-top\:hero-nav__bar {
    right: 0;
  }
}
.p-top\:hero-nav__bar::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  border-bottom: 0.2rem solid var(--color-white);
  box-shadow: 0 0 0.5rem var(--color-black-alpha-50);
  transition: width 0.2s cubic-bezier(0.5, 1, 0.89, 1);
}
.--prev .p-top\:hero-nav__bar::before {
  left: 0;
}
.--next .p-top\:hero-nav__bar::before {
  right: 0;
}
@media screen and (max-width: 960px) {
  .p-top\:hero-nav__bar::before {
    border-width: 0.1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:hero-nav:hover .p-top\:hero-nav__bar::before, .p-top\:hero-nav:focus-visible .p-top\:hero-nav__bar::before {
    width: 80%;
  }
}
.p-top\:hero-nav__text {
  display: block;
  position: relative;
  font-size: 1.3rem;
  letter-spacing: 0.05rem;
  font-family: "Poppins", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  line-height: 1;
  text-align: center;
  text-shadow: 0 0 0.5rem var(--color-black-alpha-50);
}
@media screen and (max-width: 960px) {
  .p-top\:hero-nav__text {
    font-size: 1.1rem;
  }
}

.p-top\:hero-sound {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  outline-color: var(--color-white) !important;
}
.p-top\:hero-sound__cap {
  display: block;
  position: relative;
  margin-right: 0.8rem;
  font-size: 1rem;
  font-family: "Poppins", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: var(--color-white);
}
.p-top\:hero-sound__bar {
  width: 2rem;
  height: 1.8rem;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.p-top\:hero-sound__bar-line {
  width: 0.2rem;
  height: 100%;
  display: block;
  position: relative;
}
.p-top\:hero-sound__bar-line::before {
  content: "";
  width: 100%;
  height: 0.2rem;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: var(--color-white);
}
.p-top\:hero-sound.is-bgm-play .p-top\:hero-sound__bar-line.-line1::before {
  animation: audio-visualizer-1 3s linear infinite;
}

.p-top\:hero-sound.is-bgm-play .p-top\:hero-sound__bar-line.-line2::before {
  animation: audio-visualizer-2 3s linear infinite;
}

.p-top\:hero-sound.is-bgm-play .p-top\:hero-sound__bar-line.-line3::before {
  animation: audio-visualizer-3 3s linear infinite alternate;
}

.p-top\:hero-sound.is-bgm-play .p-top\:hero-sound__bar-line.-line4::before {
  animation: audio-visualizer-2 3s linear infinite reverse;
}

.p-top\:banner {
  display: block;
  position: relative;
  overflow: hidden;
}
.p-top\:banner__container {
  width: var(--content-width);
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 7.2rem 0;
}
@media screen and (max-width: 960px) {
  .p-top\:banner__container {
    width: calc(100% - 4rem);
    padding: 2.4rem 0;
  }
}
.p-top\:banner__inner {
  display: block;
  position: relative;
}
.p-top\:banner__slide {
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:banner__slide {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .p-top\:banner__slide.is-banner-slidegrid-column {
    width: 100%;
    margin-left: 0;
  }
}
.p-top\:banner__list {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:banner__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
}
@media screen and (min-width: 961px) and (min-width: 2000px) {
  .p-top\:banner__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 960px) {
  .is-banner-slidegrid-column .p-top\:banner__list {
    height: 26rem;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }
}
.p-top\:banner__list-item {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:banner__list-item {
    opacity: 1 !important;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:banner__list-item {
    width: 30rem;
  }
  .p-top\:banner__list-item + .p-top\:banner__list-item {
    margin-top: 1rem;
  }
  .is-banner-slidegrid-column .p-top\:banner__list-item {
    margin-top: 0 !important;
    height: 50% !important;
  }
}
.p-top\:banner__link {
  display: block;
  position: relative;
  transform: translateY(0);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:banner__link {
    transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:banner__link:hover, .p-top\:banner__link:focus-visible {
    transform: translateY(-0.6rem);
  }
}
.p-top\:banner__link::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 1rem;
  box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  opacity: 0.5;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:banner__link::before {
    transition: box-shadow 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:banner__link:hover::before,
  .p-top\:banner__link:focus-visible::before {
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-top\:banner__link-img {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
.p-top\:banner__link-img img {
  width: 100% !important;
  max-width: none !important;
}

.p-top\:latest {
  display: block;
  position: relative;
  overflow: hidden;
}
.p-top\:latest__container {
  width: var(--content-width);
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 1rem 0 7rem;
}
@media screen and (max-width: 960px) {
  .p-top\:latest__container {
    width: calc(100% - 4rem);
    padding: 2.8rem 0;
  }
}
@media screen and (min-width: 961px) {
  .p-top\:latest:first-child .p-top\:latest__container {
    padding-top: 7rem;
  }
}
.p-top\:latest__header {
  display: block;
  position: relative;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 960px) {
  .p-top\:latest__header {
    margin-bottom: 2.8rem;
  }
}
.p-top\:latest__title {
  display: block;
  position: relative;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-top\:latest__title {
    font-size: 2.3rem;
    letter-spacing: 0.1rem;
  }
}
.p-top\:latest__switch {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.p-top\:latest__switch-item {
  display: block;
  position: relative;
}
.p-top\:latest__switch-item + .p-top\:latest__switch-item {
  margin-left: 1rem;
}
@media screen and (max-width: 960px) {
  .p-top\:latest__switch-item + .p-top\:latest__switch-item {
    margin-left: 1.4rem;
  }
}
.p-top\:latest__inner {
  display: block;
  position: relative;
}
.p-top\:latest__slide {
  --slide_index: 1;
  display: block;
  position: relative;
  opacity: 0;
  transform: translateX(4rem);
}
.is-scroll-active .p-top\:latest__slide {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.5s cubic-bezier(0.5, 1, 0.89, 1), transform 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top\:latest__list {
  display: flex;
  justify-content: flex-start;
  position: relative;
}
.is-latest-list .p-top\:latest__list {
  display: grid;
  gap: 3.5rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 961px) and (min-width: 2000px) {
  .is-latest-list .p-top\:latest__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 960px) {
  .is-latest-list .p-top\:latest__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-top\:latest__list-item {
  width: 21rem;
  flex-shrink: 0;
  display: block;
  position: relative;
}
.is-latest-list .p-top\:latest__list-item {
  width: 100%;
  opacity: 1 !important;
}

.p-top\:latest-switch {
  width: 4.2rem;
  height: 4.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  transition: background-color 0.1s cubic-bezier(0.5, 1, 0.89, 1);
  border-radius: 50%;
  z-index: 0;
}
@media screen and (max-width: 960px) {
  .p-top\:latest-switch {
    width: 4rem;
    height: 4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:latest-switch:hover, .p-top\:latest-switch:focus-visible {
    background-color: var(--color-active);
  }
}
.p-top\:latest-switch.is-switch-current {
  background-color: var(--color-black);
  pointer-events: none;
}
.p-top\:latest-switch::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-black);
  opacity: 0.2;
  border-radius: 50%;
}
.p-top\:latest-switch__icon {
  width: 1.5rem;
  display: block;
  position: relative;
}
.p-top\:latest-switch__icon-svg {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  fill: var(--color-black);
  transition: fill 0.1s cubic-bezier(0.5, 1, 0.89, 1);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:latest-switch:hover .p-top\:latest-switch__icon-svg, .p-top\:latest-switch:focus-visible .p-top\:latest-switch__icon-svg {
    fill: var(--color-white-light);
  }
}
.p-top\:latest-switch.is-switch-current .p-top\:latest-switch__icon-svg {
  fill: var(--color-white);
}

.p-top\:latest-card {
  display: block;
  position: relative;
}
.is-latest-list .p-top\:latest-card {
  display: flex;
  align-items: center;
}
.is-latest-list .p-top\:latest-card::before {
  content: "";
  width: calc(100% + 2rem);
  height: calc(100% + 2rem);
  display: block;
  position: absolute;
  top: -1rem;
  left: -1rem;
  background-color: var(--color-gray-hov);
  border-radius: 1rem;
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.5, 1, 0.89, 1);
}
@media (hover: hover) and (pointer: fine) {
  .is-latest-list .p-top\:latest-card:hover::before,
  .is-latest-list .p-top\:latest-card:focus-visible::before {
    opacity: 1;
  }
}
.p-top\:latest-card__thumb {
  display: block;
  position: relative;
  z-index: 0;
  transform: scale3d(1.001, 1.001, 1.001);
}
.is-latest-list .p-top\:latest-card__thumb {
  width: 12.5rem;
  margin-right: 2.5rem;
  transform: none !important;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:latest-card__thumb {
    transition: transform 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:latest-card:hover .p-top\:latest-card__thumb, .p-top\:latest-card:focus-visible .p-top\:latest-card__thumb {
    transform: scale3d(1.05, 1.05, 1.05) rotate(-3deg);
  }
}
.p-top\:latest-card__thumb::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 1.5rem;
  box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:latest-card__thumb::before {
    transition: box-shadow 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:latest-card:hover .p-top\:latest-card__thumb::before, .p-top\:latest-card:focus-visible .p-top\:latest-card__thumb::before {
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-top\:latest-card__thumb-base {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1.5rem;
  overflow: hidden;
  background-color: var(--color-gray-light);
  z-index: -1;
}
.p-top\:latest-card__thumb-img {
  padding-top: 141.1764705882%;
  display: block;
  position: relative;
  border-radius: 1.5rem;
  overflow: hidden;
  z-index: 1;
}
.p-top\:latest-card__title {
  display: block;
  position: relative;
  margin-top: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .p-top\:latest-card__title {
    margin-top: 1.5rem;
  }
}
.is-latest-list .p-top\:latest-card__title {
  flex: 1 1 0;
  min-width: 0;
  margin-top: 0;
}

.p-top\:featured {
  display: block;
  position: relative;
  background-color: var(--color-black);
  overflow: hidden;
}
.p-top\:featured__bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  filter: blur(10px);
  opacity: 0;
  transform: scale3d(1.2, 1.2, 1.2);
}
@media screen and (max-width: 960px) {
  .p-top\:featured__bg {
    filter: blur(0);
  }
}
.is-scroll-active .p-top\:featured__bg {
  opacity: 0.5;
  transform: scale3d(1.1, 1.1, 1.1);
  transition: opacity 0.5s cubic-bezier(0.5, 1, 0.89, 1), transform 2s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .is-scroll-active .p-top\:featured__bg {
    opacity: 0.15;
  }
}
.p-top\:featured__bg::after {
  content: "";
  width: 300%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to right, rgba(16, 17, 17, 0) 0%, rgba(16, 17, 17, 0) 33%, #101111 66%, #101111 100%) no-repeat 30% 0/100% 100%;
  transform: translate3d(-66%, 0, 0);
}
.is-scroll-active .p-top\:featured__bg::after {
  transform: translate3d(0, 0, 0);
  transition: transform 0.8s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top\:featured__bg-item {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s cubic-bezier(0.5, 1, 0.89, 1), visibility 0.2s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top\:featured__bg-item.is-featured-current {
  opacity: 1;
  visibility: visible;
}
.p-top\:featured__bg-img {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.p-top\:featured__bg-img img {
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top\:featured__container {
  width: calc(100% - 20rem);
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 8rem 0 7rem;
}
@media screen and (min-width: 961px) {
  .p-top\:featured__container {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:featured__container {
    width: calc(100% - 4rem);
    padding: 4rem 0 4rem;
  }
}
.p-top\:featured__header {
  display: block;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 961px) {
  .p-top\:featured__header {
    min-width: 10rem;
    margin-right: 8rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:featured__header {
    margin-bottom: 2.5rem;
  }
}
.p-top\:featured__title {
  display: block;
  position: relative;
  font-size: 2.1rem;
  line-height: 1;
  font-weight: 700;
  color: var(--color-white);
}
.p-top\:featured__inner {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:featured__inner {
    flex: 1 1 0;
    min-width: 0;
  }
}
.p-top\:featured__slide {
  display: block;
  position: relative;
  opacity: 0;
  transform: translateX(4rem);
}
.is-scroll-active .p-top\:featured__slide {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.5s cubic-bezier(0.5, 1, 0.89, 1), transform 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top\:featured__list {
  display: flex;
  justify-content: flex-start;
  position: relative;
}
.p-top\:featured__list-item {
  width: 86rem;
  flex-shrink: 0;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:featured__list-item {
    width: 34rem;
  }
}

.p-top\:featured_article {
  display: block;
  position: relative;
  padding: 1.2rem;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 1rem;
  /*
  &::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border: .2rem solid var(--color-white);
    border-radius: 1rem;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s cubic-bezier(0.5, 1, 0.89, 1);
    @at-root {
      @include hover {
        .p-top\:featured_article:hover::after,
        .p-top\:featured_article:focus-visible::after {
          opacity: 1;
        }
      }
    }
  }
  */
}
@media screen and (min-width: 961px) {
  .p-top\:featured_article {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:featured_article {
    padding: 1.2rem 1.2rem 2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:featured_article {
    transition: background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:featured_article:hover, .p-top\:featured_article:focus-visible {
    background-color: var(--color-active);
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-top\:featured_article__thumb {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top\:featured_article__thumb {
    width: 46.5rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:featured_article__thumb {
    margin-bottom: 2.5rem;
  }
}
.p-top\:featured_article__thumb-img {
  padding-top: 56.25%;
  display: block;
  position: relative;
  border-radius: 0.5rem;
  overflow: hidden;
}
.p-top\:featured_article__thumb-img img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top\:featured_article__title {
  display: block;
  position: relative;
  font-size: 1.9rem;
  line-height: 1.8;
  font-weight: 500;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}
@media screen and (min-width: 961px) {
  .p-top\:featured_article__title {
    min-width: 0;
    flex: 1 1 0;
    padding: 0 3rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:featured_article__title {
    padding: 0 1rem;
    font-size: 1.4rem;
  }
}

.p-top\:lineup {
  display: block;
  position: relative;
  background-color: var(--color-white);
  overflow: hidden;
}
.p-top\:lineup__bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  background: url("../img/common/bg_lineup.jpg") repeat-y center top/100% auto;
}
@supports ((background: -webkit-image-set("../img/common/bg_lineup.webp" type("image/webp"))) or (background: image-set("../img/common/bg_lineup.webp" type("image/webp")))) {
  .p-top\:lineup__bg {
    background-image: -webkit-image-set("../img/common/bg_lineup.webp" type("image/webp"), "../img/common/bg_lineup.jpeg" type("image/jpeg"));
    background-image: image-set("../img/common/bg_lineup.webp" type("image/webp"), "../img/common/bg_lineup.jpeg" type("image/jpeg"));
  }
}
.p-top\:lineup__container {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 7rem 0 10rem;
}
@media screen and (max-width: 960px) {
  .p-top\:lineup__container {
    padding: 10rem 0 11.8rem;
  }
}
.p-top\:lineup__inner {
  display: block;
  position: relative;
}
.p-top\:lineup__list {
  display: block;
  position: relative;
}
.p-top\:lineup__list-item {
  display: block;
  position: relative;
}
.p-top\:lineup__list-item + .p-top\:lineup__list-item {
  margin-top: 6rem;
}
@media screen and (max-width: 960px) {
  .p-top\:lineup__list-item + .p-top\:lineup__list-item {
    margin-top: 11rem;
  }
}

.p-top\:lineup-section {
  display: block;
  position: relative;
}
.p-top\:lineup-section__container {
  display: block;
  position: relative;
}
.p-top\:lineup-section__header {
  width: calc(100% - 6rem);
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-section__header {
    width: 100%;
  }
}
.p-top\:lineup-section__cap {
  display: flex;
  justify-content: flex-start;
  position: relative;
  font-size: 10rem;
  font-family: "Poppins", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  line-height: 0.65;
  letter-spacing: 0;
  color: var(--color-frame);
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-section__cap {
    font-size: 4.8rem;
  }
}
.p-top\:lineup-section__cap-word {
  display: block;
  position: relative;
  opacity: 0;
  transform: translateY(1em);
}
.is-scroll-active .p-top\:lineup-section__cap-word {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1), transform 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(1) {
  transition-delay: 0s;
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(2) {
  transition-delay: 0.05s;
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(3) {
  transition-delay: 0.1s;
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(4) {
  transition-delay: 0.15s;
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(5) {
  transition-delay: 0.2s;
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(6) {
  transition-delay: 0.25s;
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(7) {
  transition-delay: 0.3s;
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(8) {
  transition-delay: 0.35s;
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(9) {
  transition-delay: 0.4s;
}
.is-scroll-active .p-top\:lineup-section__cap-word:nth-child(10) {
  transition-delay: 0.45s;
}
.p-top\:lineup-section__title {
  display: block;
  position: absolute;
  left: 2rem;
  bottom: -3.5rem;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1;
  letter-spacing: 0;
  transform: translate(0, 100%);
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-section__title {
    bottom: -3.2rem;
    font-size: 2.2rem;
  }
}
.p-top\:lineup-section__inner {
  width: 87.5%;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-section__inner {
    width: 100%;
  }
}
.p-top\:lineup-section__inner::before {
  content: "";
  width: calc(100vw + 8rem);
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: -8rem;
  background-color: var(--color-frame);
  border-radius: 0 4rem 4rem 0;
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-section__inner::before {
    width: 100%;
    right: 0;
  }
}
.p-top\:lineup-section__slide {
  display: block;
  position: relative;
  padding: 8rem 0 6rem 14.5%;
}
@media screen and (min-width: 961px) {
  .p-top\:lineup-section__slide {
    overflow: hidden;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-section__slide {
    padding: 11rem 2rem 6.2rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 560px) {
  .p-top\:lineup-section__slide {
    padding: 8rem 2rem 6.2rem 5.8rem;
  }
}
.p-top\:lineup-section__more {
  width: 15.4rem;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(0, 50%);
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-section__more {
    width: 15rem;
    right: 2rem;
  }
}

.p-top\:lineup-slide {
  display: block;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-slide {
    width: 75%;
    max-width: 27rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 960px) and (min-width: 560px) {
  .p-top\:lineup-slide {
    width: 100%;
    max-width: none;
  }
}
.p-top\:lineup-slide__list {
  display: flex;
  justify-content: flex-start;
  position: relative;
}
.p-top\:lineup-slide__list-item {
  width: 21rem;
  flex-shrink: 0;
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) and (min-width: 560px) {
  .p-top\:lineup-slide__list-item {
    width: 24rem;
    padding-top: 2rem;
  }
}
.is-lineup-slide-init .p-top\:lineup-slide__list-item {
  transition: width 0.2s cubic-bezier(0.5, 1, 0.89, 1), padding-top 0.2s cubic-bezier(0.5, 1, 0.89, 1), opacity 0.2s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (min-width: 961px) {
  .p-top\:lineup-slide__list-item.is-lineup-current {
    width: 25rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 560px) {
  .p-top\:lineup-slide__list-item.is-lineup-current {
    width: 27.5rem;
    padding-top: 0;
  }
}
.p-top\:lineup-slide__scrollbar {
  width: calc(100% - 30rem - 30px);
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: var(--color-gray-hov);
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-slide__scrollbar {
    width: calc(100% - 2rem);
    left: -1.5rem;
    bottom: -1.5rem;
  }
}
.p-top\:lineup-card {
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-card {
    transform: scale3d(1.001, 1.001, 1.001);
    transition: transform 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-lineup-current .p-top\:lineup-card {
    transform: scale3d(1.15, 1.15, 1.15);
  }
}
@media screen and (max-width: 960px) and (min-width: 560px) {
  .is-lineup-current .p-top\:lineup-card {
    transform: none;
  }
}
.p-top\:lineup-card__thumb {
  display: block;
  position: relative;
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: scale3d(1.001, 1.001, 1.001);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:lineup-card__thumb {
    transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:lineup-card:hover .p-top\:lineup-card__thumb, .p-top\:lineup-card:focus-visible .p-top\:lineup-card__thumb {
    transform: scale3d(1.05, 1.05, 1.05) rotate(-3deg);
  }
}
.p-top\:lineup-card__thumb::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 1.5rem;
  box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:lineup-card__thumb::before {
    transition: box-shadow 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:lineup-card:hover .p-top\:lineup-card__thumb::before, .p-top\:lineup-card:focus-visible .p-top\:lineup-card__thumb::before {
    box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  }
}
.p-top\:lineup-card__thumb-base {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1.5rem;
  overflow: hidden;
  background-color: var(--color-gray-light);
  content-visibility: auto;
  z-index: -1;
}
.p-top\:lineup-card__thumb-img {
  padding-top: 141.1764705882%;
  display: grid;
  place-items: center;
  position: relative;
  border-radius: 1.5rem;
  overflow: hidden;
  z-index: 1;
}
.p-top\:lineup-card__title {
  display: block;
  position: relative;
  min-height: 5em;
  margin-top: 1.8rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  transition: font-size 0.2s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-top\:lineup-card__title {
    min-height: 8rem;
    margin-top: 1.2rem;
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 961px) {
  .is-lineup-current .p-top\:lineup-card__title {
    font-size: 1.7777777778rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 560px) {
  .is-lineup-current .p-top\:lineup-card__title {
    font-size: 1.4895833333rem;
  }
}

.p-top\:lineup-btn {
  display: block;
  position: relative;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 200px;
  box-shadow: 0 0 0.5rem var(--color-black-alpha-20);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:lineup-btn {
    transition: color 0.2s cubic-bezier(0.5, 1, 0.89, 1), background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:lineup-btn:hover, .p-top\:lineup-btn:focus-visible {
    background-color: var(--color-active);
    box-shadow: 0 0.5rem 2rem var(--color-black-alpha-20);
  }
}
.p-top\:lineup-btn__text {
  display: block;
  position: relative;
  padding: 1.3rem 1.5rem;
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 500;
}
.p-top\:lineup-btn__arrow {
  width: 1.5rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:lineup-btn:hover .p-top\:lineup-btn__arrow, .p-top\:lineup-btn:focus-visible .p-top\:lineup-btn__arrow {
    animation: arrow_centerY 1s linear;
  }
}
.p-top\:lineup-btn__arrow-icon {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  fill: var(--color-white);
}

.p-top\:info {
  display: block;
  position: relative;
  overflow: hidden;
}
.p-top\:info__container {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 6.5rem 0 8rem;
}
@media screen and (max-width: 960px) {
  .p-top\:info__container {
    padding: 5rem 0 8rem;
  }
}
.p-top\:info__inner {
  display: block;
  position: relative;
}
.p-top\:info__list {
  display: block;
  position: relative;
}
.p-top\:info__list-item {
  display: block;
  position: relative;
}
.p-top\:info__list-item + .p-top\:info__list-item {
  margin-top: 6rem;
}
@media screen and (max-width: 960px) {
  .p-top\:info__list-item + .p-top\:info__list-item {
    margin-top: 5.2rem;
  }
}

.p-top\:info-section {
  display: block;
  position: relative;
}
.p-top\:info-section__container {
  width: var(--content-width);
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-top\:info-section__container {
    width: calc(100% - 4rem);
  }
}
.p-top\:info-section__header {
  display: block;
  position: relative;
  margin-bottom: 2.5rem;
}
.p-top\:info-section__title {
  display: block;
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 960px) {
  .p-top\:info-section__title {
    letter-spacing: 0.1rem;
  }
}
.p-top\:info-section__inner {
  display: block;
  position: relative;
}

.p-top\:news {
  display: block;
  position: relative;
}
.p-top\:news__container {
  display: block;
  position: relative;
}
.p-top\:news__inner {
  display: block;
  position: relative;
}
.p-top\:news__list {
  display: block;
  position: relative;
  z-index: 0;
}
.p-top\:news__list-item {
  display: block;
  position: relative;
}
.p-top\:news__list-item::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 0.1rem dashed var(--color-gray);
  opacity: 0.5;
  pointer-events: none;
  z-index: -1;
}
.p-top\:news__list-item:last-child::after {
  content: "";
  width: 100%;
  height: 0.1rem;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 0.1rem dashed var(--color-gray);
  opacity: 0.5;
  pointer-events: none;
  z-index: -1;
}
.p-top\:news__footer {
  display: block;
  position: relative;
  margin-top: 2rem;
}
@media screen and (max-width: 960px) {
  .p-top\:news__footer {
    margin-top: 1.4rem;
  }
}
.p-top\:news__more {
  display: block;
  position: relative;
}

.p-top\:news-article {
  display: block;
  position: relative;
  padding: 2.2rem 0;
}
@media screen and (min-width: 961px) {
  .p-top\:news-article {
    display: grid;
    grid-template-columns: 10rem auto;
    grid-template-areas: "date title" "date category";
    gap: 1rem 3rem;
  }
  .p-top\:news-article > .p-top\:hero-info__title {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:news-article {
    padding: 2.1rem 0 1.9rem;
  }
}
.p-top\:news-article__title {
  min-width: 0;
  grid-area: title;
  display: block;
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (min-width: 961px) {
  .p-top\:news-article__title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:news-article__title {
    font-size: 1.4rem;
    line-height: 1.5;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:news-article:hover .p-top\:news-article__title, .p-top\:news-article:focus-visible .p-top\:news-article__title {
    text-decoration: underline;
  }
}
.p-top\:news-article__category {
  min-width: 0;
  grid-area: category;
  display: block;
  position: relative;
  font-size: 1.3rem;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-top\:news-article__category {
    margin-top: 0.5rem;
    font-size: 1.1rem;
  }
}
.p-top\:news-article__date {
  grid-area: date;
  display: block;
  position: relative;
  font-size: 1.6rem;
  font-family: "Poppins", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: var(--color-gray);
  letter-spacing: 0;
}
@media screen and (max-width: 960px){
  .p-top\:hero-info__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .p-top\:hero-info__movie {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .p-top\:news-article__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) and (hover: hover) and (pointer: fine){
  .p-top\:hero-info__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .p-top\:hero-info__movie {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .p-top\:news-article__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
}
@media screen and (min-width: 961px){
  .p-top\:news-article > .p-top\:news-article__title {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-top\:news-article__category {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .p-top\:news-article__date {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
}
@media screen and (max-width: 960px) {
  .p-top\:news-article__date {
    margin-top: 0.7rem;
    font-size: 1.3rem;
  }
}

.p-top\:news-btn {
  display: block;
  position: relative;
  border-radius: 200px;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:news-btn {
    transition: color 0.2s cubic-bezier(0.5, 1, 0.89, 1), background-color 0.2s cubic-bezier(0.5, 1, 0.89, 1), box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:news-btn:hover, .p-top\:news-btn:focus-visible {
    color: var(--color-white);
    background-color: var(--color-black);
    box-shadow: 0 0.5rem 1rem var(--color-black-alpha-20);
  }
}
.p-top\:news-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-black);
  opacity: 0.5;
  border-radius: 200px;
}
.p-top\:news-btn__text {
  padding: 1rem 5rem;
  display: block;
  position: relative;
  font-size: 1.4rem;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .p-top\:news-btn__text {
    font-size: 1.2rem;
  }
}
.p-top\:news-btn__arrow {
  width: 1.5rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:news-btn:hover .p-top\:news-btn__arrow, .p-top\:news-btn:focus-visible .p-top\:news-btn__arrow {
    animation: arrow_centerY 1s linear;
  }
}
.p-top\:news-btn__arrow-icon {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  fill: var(--color-black);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:news-btn__arrow-icon {
    transition: fill 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:news-btn:hover .p-top\:news-btn__arrow-icon, .p-top\:news-btn:focus-visible .p-top\:news-btn__arrow-icon {
    fill: var(--color-white);
  }
}

.p-top\:site {
  display: block;
  position: relative;
}
.p-top\:site__container {
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-top\:site__inner {
  display: block;
  position: relative;
}
.p-top\:site__list {
  --col: 3;
  display: grid;
  grid-template-columns: repeat(var(--col), 1fr);
  gap: 2.5rem;
  position: relative;
}
.p-top\:site__list.--col\:1 {
  --col: 1;
}
.p-top\:site__list.--col\:2 {
  --col: 2;
}
.p-top\:site__list.--col\:3 {
  --col: 3;
}
.p-top\:site__list.--col\:4 {
  --col: 4;
}
.p-top\:site__list.--col\:5 {
  --col: 5;
}
.p-top\:site__list.--col\:6 {
  --col: 6;
}
@media screen and (max-width: 960px) {
  .p-top\:site__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) {
  .p-top\:site__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-top\:site__list-item {
  min-width: 0;
  display: block;
  position: relative;
}
.p-top\:site__link {
  display: block;
  position: relative;
  transform: translateY(0);
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:site__link {
    transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:site__link:hover, .p-top\:site__link:focus-visible {
    transform: translateY(-0.6rem);
  }
}
.p-top\:site__link::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 1rem;
  box-shadow: 0.3rem 0.3rem 1rem var(--color-black-alpha-20);
  opacity: 0.5;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:site__link::before {
    transition: box-shadow 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:site__link:hover::before,
  .p-top\:site__link:focus-visible::before {
    box-shadow: 0 1rem 2rem 0 var(--color-black-alpha-20);
  }
}
.p-top\:site__link-img {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}

.p-top\:company {
  display: block;
  position: relative;
}
.p-top\:company__container {
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-top\:company__inner {
  display: block;
  position: relative;
}
.p-top\:company__list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1.5rem;
  position: relative;
}
@media screen and (min-width: 961px) and (max-width: 1200px) {
  .p-top\:company__list {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 960px) {
  .p-top\:company__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media screen and (max-width: 960px) and (min-width: 750px) {
  .p-top\:company__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-top\:company__list-item {
  min-width: 0;
  display: block;
  position: relative;
}
.p-top\:company__link {
  display: block;
  position: relative;
}
.p-top\:company__link::before {
  content: "";
  width: calc(100% + 1.2rem);
  height: calc(100% + 1.2rem);
  display: block;
  position: absolute;
  top: -0.6rem;
  left: -0.6rem;
  pointer-events: none;
  border-radius: 1rem;
  background-color: var(--color-gray-hov);
  transition: opacity 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  opacity: 0;
}
@media screen and (max-width: 960px) {
  .p-top\:company__link::before {
    width: calc(100% + 0.8rem);
    height: calc(100% + 0.8rem);
    top: -0.4rem;
    left: -0.4rem;
    border-radius: 0.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:company__link:hover::before,
  .p-top\:company__link:focus-visible::before {
    opacity: 1;
  }
}
.p-top\:company__link-img {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
}
@media (hover: hover) and (pointer: fine) {
  .p-top\:company__link-img {
    transition: box-shadow 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top\:company__link:hover .p-top\:company__link-img, .p-top\:company__link:focus-visible .p-top\:company__link-img {
    box-shadow: 0 0.3rem 0.5rem 0 var(--color-black-alpha-20);
  }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 960px) {
  .p-top\:company__link:hover .p-top\:company__link-img, .p-top\:company__link:focus-visible .p-top\:company__link-img {
    box-shadow: 0 0.2rem 0.4rem 0 var(--color-black-alpha-20);
  }
}

.p-top {
  display: block;
  position: relative;
}

@media screen and (min-width: 961px) and (hover: hover) and (pointer: fine) {
  .is-top-hero-blur .l-header {
    opacity: 0;
  }
}
@media screen and (min-width: 961px) {
  .l-header:not(.is-top-scroll) .l-header__container::before {
    opacity: 0;
    background-position: 100% 0;
  }
}
@media screen and (min-width: 961px) {
  .l-header:not(.is-top-scroll) .l-header__brand-icon {
    fill: var(--color-white-light);
  }
}
@media screen and (min-width: 961px) {
  .l-header:not(.is-top-scroll) .l-header\:nav-main__link::before {
    background-color: var(--color-white-light);
  }
  .l-header:not(.is-top-scroll) .l-header\:nav-main__link-text {
    color: var(--color-white-light);
  }
}
@media screen and (min-width: 961px) and (hover: hover) and (pointer: fine) {
  .l-header:not(.is-top-scroll) .l-header\:nav-main__link:hover .l-header\:nav-main__link-text, .l-header:not(.is-top-scroll) .l-header\:nav-main__link:focus-visible .l-header\:nav-main__link-text {
    color: var(--color-black);
  }
}
@media screen and (min-width: 961px) {
  .l-header:not(.is-top-scroll) .l-header\:shop-menu::before {
    background-color: var(--color-white-light);
  }
  .l-header:not(.is-top-scroll) .l-header\:shop-menu__text {
    --color-text: var(--color-white-light);
  }
}
@media screen and (min-width: 961px) and (hover: hover) and (pointer: fine) {
  .l-header:not(.is-top-scroll) .l-header\:shop-menu:hover .l-header\:shop-menu__text, .l-header:not(.is-top-scroll) .l-header\:shop-menu:focus-visible .l-header\:shop-menu__text {
    --color-text: var(--color-black);
  }
}
@media screen and (min-width: 961px) {
  .is-header-shop-open .l-header:not(.is-top-scroll) .l-header\:shop-menu__text {
    --color-text: var(--color-black);
  }
}
@media screen and (min-width: 961px) {
  .l-header:not(.is-top-scroll) .l-header\:official-menu::before {
    background-color: var(--color-white-light);
  }
  .l-header:not(.is-top-scroll) .l-header\:official-menu__text {
    --color-text: var(--color-white-light);
  }
}
@media screen and (min-width: 961px) and (hover: hover) and (pointer: fine) {
  .l-header:not(.is-top-scroll) .l-header\:official-menu:hover .l-header\:official-menu__text, .l-header:not(.is-top-scroll) .l-header\:official-menu:focus-visible .l-header\:official-menu__text {
    --color-text: var(--color-black);
  }
}
@media screen and (min-width: 961px) {
  .is-header-official-open .l-header:not(.is-top-scroll) .l-header\:official-menu__text {
    --color-text: var(--color-black);
  }
}
@media screen and (min-width: 961px) {
  .l-header:not(.is-top-scroll) .l-header\:search-btn::before {
    background-color: var(--color-white-light);
  }
  .l-header:not(.is-top-scroll) .l-header\:search-btn::after {
    opacity: 0.2;
  }
  .l-header:not(.is-top-scroll) .l-header\:search-btn__icon-svg {
    fill: var(--color-white-light);
  }
}
@media screen and (min-width: 961px) and (hover: hover) and (pointer: fine) {
  .l-header:not(.is-top-scroll) .l-header\:search-btn:hover .l-header\:search-btn__icon-svg, .l-header:not(.is-top-scroll) .l-header\:search-btn:focus-visible .l-header\:search-btn__icon-svg {
    fill: var(--color-black);
  }
}
@media screen and (min-width: 961px) {
  .is-header-search-open .l-header:not(.is-top-scroll) .l-header\:search-btn__icon-svg {
    fill: var(--color-black);
  }
}
@media screen and (min-width: 961px) {
  .l-header:not(.is-top-scroll) .l-header\:menu::before {
    background-color: var(--color-white-light);
  }
  .l-header:not(.is-top-scroll) .l-header\:menu::after {
    opacity: 0.2;
  }
  .l-header:not(.is-top-scroll) .l-header\:menu__icon-svg {
    fill: var(--color-white-light);
  }
}
@media screen and (min-width: 961px) and (hover: hover) and (pointer: fine) {
  .l-header:not(.is-top-scroll) .l-header\:menu:hover .l-header\:menu__icon-svg, .l-header:not(.is-top-scroll) .l-header\:menu:focus-visible .l-header\:menu__icon-svg {
    fill: var(--color-black);
  }
}
@media screen and (min-width: 961px) {
  .is-header-nav-open .l-header:not(.is-top-scroll) .l-header\:menu__icon-svg {
    fill: var(--color-black);
  }
}