@charset "UTF-8";
.l-top {
  display: block;
  position: relative;
}
.l-top__container {
  display: block;
  position: relative;
  z-index: 0;
}
.l-top__header {
  display: block;
  position: relative;
  z-index: 1;
}
.l-top__inner {
  display: block;
  position: relative;
}

.p-deco {
  display: none;
}

.p-op {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 100;
  pointer-events: none;
}
.is-op .p-op {
  pointer-events: auto;
}
.is-load .p-op {
  opacity: 0;
  transition: opacity 1.4s cubic-bezier(0.65, 0, 0.35, 1) 0.5s;
  pointer-events: none;
}
.p-op__logo {
  position: relative;
  width: 82%;
  max-width: 550px;
  transform: translateY(5%) scale(1.15);
}
.is-op .p-op__logo {
  transform: translateY(5%) scale(1);
  transition: transform 12s cubic-bezier(0.5, 1, 0.89, 1), filter 0.55s;
}
.p-op__logo-item {
  position: relative;
  opacity: 0;
  filter: brightness(120%) blur(8px);
  transform: scale(1.05);
}
.p-op__logo-item:not(:first-of-type) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.p-op__logo-item:nth-of-type(1) {
  transform: translate3d(0, 0, 0) scale(1.1);
}
.p-op__logo-item:nth-of-type(2) {
  transform: translate3d(0, -15px, 0) scale(1.05);
}
.p-op__logo-item:nth-of-type(3) {
  transform: translate3d(-10px, 0, 0) scale(1.05);
  transform-origin: 65.3% 24.4%;
}
.p-op__logo-item:nth-of-type(4) {
  transform: translate3d(-2px, -2px, 0) scale(0.9);
  transform-origin: 86.2% 21.4%;
}
.p-op__logo-item:nth-of-type(5) {
  transform: translate3d(0, 0, 0) scale(1.35);
  transform-origin: 17.9% 74.8%;
}
.p-op__logo-item:nth-of-type(6) {
  transform: translate3d(15px, 0, 0) scale(1.05);
}
.p-op__logo-item:nth-of-type(7) {
  transform: translate3d(5px, 0, 0) scale(1.01);
}
.p-op__logo-item:nth-of-type(8) {
  transform: translate3d(5px, 0, 0) scale(1.01);
}
.p-op__logo-item:nth-of-type(9) {
  transform: translate3d(6px, 0, 0) scale(0.8);
  transform-origin: 91.8% 58.1%;
}
.is-op .p-op__logo-item {
  opacity: 1;
  filter: brightness(100%) blur(0);
  transform: translate3d(0, 0, 0) scale(1);
  transition: transform cubic-bezier(0.01, 0.53, 0.37, 0.99) 1s, opacity cubic-bezier(0.5, 1, 0.89, 1) 1s, filter cubic-bezier(0.5, 1, 0.89, 1) 1s;
}
.is-op .p-op__logo-item:nth-of-type(1) {
  transition-delay: 0.9s;
}
.is-op .p-op__logo-item:nth-of-type(2) {
  transition-delay: 1.22s;
}
.is-op .p-op__logo-item:nth-of-type(3) {
  transition-delay: 1.54s;
}
.is-op .p-op__logo-item:nth-of-type(4) {
  transition-delay: 1.86s;
}
.is-op .p-op__logo-item:nth-of-type(5) {
  transition-delay: 2.41s;
}
.is-op .p-op__logo-item:nth-of-type(6) {
  transition-delay: 2.65s;
}
.is-op .p-op__logo-item:nth-of-type(7) {
  transition-delay: 2.89s;
}
.is-op .p-op__logo-item:nth-of-type(8) {
  transition-delay: 3.13s;
}
.is-op .p-op__logo-item:nth-of-type(9) {
  transition-delay: 3.37s;
}
.is-op .p-op__logo-item:nth-of-type(10) {
  transition-delay: 3.61s;
}
.p-op_modal {
  width: 100%;
  max-width: 1200px;
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 1.5% 0;
}
.p-op_modal__img {
  display: block;
  position: relative;
}
.p-op_modal__text {
  width: 80%;
  position: relative;
  margin: 3% auto 0;
}
@media screen and (max-width: 960px) {
  .p-op_modal__text {
    width: 88%;
    margin-top: 6%;
  }
}

.p-hero {
  display: block;
  position: relative;
}
.p-hero__container {
  width: 100%;
  max-width: 1600px;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .p-hero__container {
    display: grid;
    grid-template-columns: auto 59.2857142857%;
    grid-row: auto;
  }
}
@media screen and (max-width: 960px) {
  .p-hero__container {
    max-width: 750px;
  }
}
.p-hero__header {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-hero__header {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
.p-hero__inner {
  width: 100%;
  min-width: 0;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .p-hero__inner {
    grid-column: 1/2;
    grid-row: 1/2;
    padding: 9rem 0;
  }
}
@media screen and (max-width: 960px) {
  .p-hero__inner {
    padding: 0 0 7.6rem;
  }
}
.p-hero__title {
  width: 81.5%;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-hero__title {
    width: 76%;
    margin-top: -12%;
  }
}
.p-hero__onair {
  width: 90%;
  display: block;
  position: relative;
  margin: min(2.1428571429vw,3.4285714286rem) auto 0;
  text-align: center;
  color: var(--color-pink);
}
@media screen and (max-width: 960px) {
  .p-hero__onair {
    width: 100%;
    margin-top: 1.2rem;
  }
}
.p-hero__onair-main {
  display: block;
  position: relative;
  font-size: min(2.1428571429vw,3.4285714286rem);
  font-weight: 900;
  letter-spacing: min(0.1428571429vw,0.2285714286rem);
  line-height: 1.15;
}
@media screen and (max-width: 960px) {
  .p-hero__onair-main {
    font-size: min(5.3333333333vw,4rem);
    letter-spacing: min(0.2666666667vw,0.2rem);
  }
}
.p-hero__onair-main > strong {
  font-size: 1.2em;
}
.p-hero__onair-sub {
  display: block;
  position: relative;
  margin-top: min(1vw,1.6rem);
  font-size: min(1.0714285714vw,1.7142857143rem);
  font-weight: 900;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (max-width: 960px) {
  .p-hero__onair-sub {
    margin-top: min(1.8666666667vw,1.4rem);
    font-size: min(2.9333333333vw,2.2rem);
    letter-spacing: 0.08rem;
  }
}
.p-hero__onair-cap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  position: relative;
  margin: min(1.2857142857vw,2.0571428571rem) auto 0;
  padding: min(0.1428571429vw,0.2285714286rem) min(0.5714285714vw,0.9142857143rem);
  font-size: min(1.1428571429vw,1.8285714286rem);
  font-weight: 900;
  line-height: 1.5;
  white-space: nowrap;
  color: var(--color-white);
  background: var(--color-pink);
}
@media screen and (max-width: 960px) {
  .p-hero__onair-cap {
    margin-top: min(2.4vw,1.8rem);
    font-size: min(2.9333333333vw,2.2rem);
    letter-spacing: 0.08rem;
  }
}
.p-hero__topic {
  width: 80%;
  max-width: 418px;
  display: block;
  position: relative;
  margin: min(4vw,10.2857142857rem) auto 0;
}
@media screen and (max-width: 960px) {
  .p-hero__topic {
    width: 81%;
    margin-top: 3.5rem;
  }
}
.p-hero__twitter {
  width: 75%;
  max-width: 326px;
  display: block;
  position: relative;
  margin: min(3.0714285714vw,4.9142857143rem) auto 0;
}
@media screen and (max-width: 960px) {
  .p-hero__twitter {
    width: 67%;
    margin-top: 4rem;
  }
}

.p-hero_kv {
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-hero_kv {
    align-items: flex-end;
  }
}
.p-hero_kv__inner {
  flex: 1 1 0;
  min-width: 0;
  display: block;
  position: relative;
  z-index: 0;
}
.p-hero_kv__cover {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
}
[data-kv="1"] .p-hero_kv__cover {
  opacity: 0;
}
.p-hero_kv__list {
  display: block;
  position: relative;
  z-index: 0;
}
.p-hero_kv__list-item {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  opacity: 0;
  z-index: 0;
  transition: opacity 0s linear 1s;
}
.p-hero_kv__list-item:first-child {
  position: relative;
}
.p-hero_kv__list-item.is-current {
  opacity: 1;
  z-index: 1;
  transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-hero_kv__footer {
  width: 9.6385542169%;
  display: block;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .p-hero_kv__footer {
    width: 13.3333333333%;
  }
}
.p-hero_kv__tab {
  width: 75%;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-hero_kv__tab {
    width: 85.7142857143%;
  }
}
.p-hero_kv__tab-item {
  display: block;
  position: relative;
}
.p-hero_kv__tab-item + .p-hero_kv__tab-item {
  margin-top: 2rem;
}
@media screen and (max-width: 960px) {
  .p-hero_kv__tab-item + .p-hero_kv__tab-item {
    margin-top: 0.5rem;
  }
}

.p-hero_kv_visual {
  display: block;
  position: relative;
  transform: scale(1.05);
  transition: transform 0s linear 1.8s;
}
.is-current .p-hero_kv_visual {
  transform: scale(1.001);
  transition: transform 3s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-hero_kv_visual__main {
  display: block;
  position: relative;
}
.-kv4 .p-hero_kv_visual__main {
  filter: brightness(140%);
  transition: filter 0s linear 1s;
}
.is-load .is-current .-kv4 .p-hero_kv_visual__main {
  filter: brightness(100%);
  transition: filter 2s cubic-bezier(0.65, 0, 0.35, 1);
}
.p-hero_kv_visual__main-cap {
  width: 20%;
  position: absolute;
  top: 57%;
  left: 20%;
  transform: translate(-50%, -50%);
}
.-kv5 .p-hero_kv_visual__main-cap {
  width: 8.1%;
  top: 78.4%;
  left: 8.5%;
}
.p-hero_kv_visual__cover1 {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
  visibility: hidden;
}
.is-current .p-hero_kv_visual__cover1 {
  visibility: visible;
}
.p-hero_kv_visual__cover1-img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.is-current .p-hero_kv_visual__cover1-img:nth-child(1) {
  animation: glare-in 4s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate;
}
.is-current .p-hero_kv_visual__cover1-img:nth-child(2) {
  animation: glare-out 8s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate;
}
.is-current .p-hero_kv_visual__cover1-img:nth-child(3) {
  animation: glare-in 12s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate;
}
@keyframes glare-out {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes glare-in {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.p-hero_kv_visual__cover2 {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
  visibility: hidden;
}
.is-current .p-hero_kv_visual__cover2 {
  visibility: visible;
}
.p-hero_kv_visual__cover2 canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-hero_kv_visual__cover3 {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
  visibility: hidden;
}
.is-current .p-hero_kv_visual__cover3 {
  visibility: visible;
}
.p-hero_kv_visual__cover3 canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-hero_kv_visual__movie {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
}
.is-movie-play .p-hero_kv_visual__movie {
  opacity: 1;
  transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-hero_kv_visual__movie video {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-hero_kv_btn {
  display: block;
  position: relative;
  cursor: pointer;
}
.is-current .p-hero_kv_btn {
  pointer-events: none;
}
.p-hero_kv_btn__thumb {
  width: 100%;
  display: block;
  position: relative;
  margin-bottom: 0.6rem;
  padding: 0.3rem;
  background: var(--color-white);
}
@media screen and (max-width: 960px) {
  .p-hero_kv_btn__thumb {
    margin-bottom: 0.2rem;
    padding: 0.2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_kv_btn__thumb {
    transition: background-color 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-hero_kv_btn:hover .p-hero_kv_btn__thumb {
    background-color: var(--color-pink);
  }
}
.p-hero_kv_btn__thumb::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-black);
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_kv_btn__thumb::after {
    transition: border-color 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-hero_kv_btn:hover .p-hero_kv_btn__thumb::after {
    border-color: var(--color-pink);
  }
}
.p-hero_kv_btn__thumb-img {
  width: 100%;
  padding-top: 100%;
  position: relative;
  margin: 0 auto;
}
.p-hero_kv_btn__thumb-img::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-pink);
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-current .p-hero_kv_btn__thumb-img::after {
  opacity: 0.5;
}
.p-hero_kv_btn__thumb-img img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-hero_kv_btn__title {
  display: block;
  position: relative;
  padding-left: min(0.9285714286vw,1.4857142857rem);
}
@media screen and (max-width: 960px) {
  .p-hero_kv_btn__title {
    padding-left: 0.5rem;
  }
}
.p-hero_kv_btn__title::before {
  content: "";
  width: min(0.4285714286vw,0.6857142857rem);
  height: min(0.5714285714vw,0.9142857143rem);
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  border-right: min(0.4285714286vw,0.6857142857rem) solid var(--color-black);
  border-top: min(0.2857142857vw,0.4571428571rem) solid transparent;
  border-bottom: min(0.2857142857vw,0.4571428571rem) solid transparent;
}
@media screen and (max-width: 960px) {
  .p-hero_kv_btn__title::before {
    width: 0.36rem;
    height: 0.48rem;
    border-right-width: 0.36rem;
    border-top-width: 0.24rem;
    border-bottom-width: 0.24rem;
  }
}
.p-hero_kv_btn__title-text {
  max-width: 4.6rem;
  display: block;
  position: relative;
  font-size: 1rem;
  font-family: "Inter", YakuHanJPs, "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.05rem;
  white-space: nowrap;
}

.p-hero_bnr {
  display: block;
  position: relative;
  margin-bottom: 2rem;
}
@media screen and (max-width: 960px) {
  .p-hero_bnr {
    margin-bottom: 1.2rem;
  }
}
.p-hero_bnr__link {
  display: block;
  position: relative;
}
.p-hero_bnr__link::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-pink);
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.5, 1, 0.89, 1);
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_bnr__link:hover::after,
  .p-hero_bnr__link:focus-visible::after {
    opacity: 0.3;
  }
}

.p-hero_topic {
  display: block;
  position: relative;
}
.p-hero_topic__header {
  display: block;
  position: relative;
  margin-bottom: min(0.5714285714vw,0.9142857143rem);
}
@media screen and (max-width: 960px) {
  .p-hero_topic__header {
    margin-bottom: 0.5rem;
  }
}
.p-hero_topic__title {
  display: block;
  position: relative;
  font-family: "Inter", YakuHanJPs, "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.2rem;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .p-hero_topic__title {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
}
.p-hero_topic__inner {
  width: 100%;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  padding: 0 0.1rem;
}
.p-hero_topic__list {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  font-size: 0;
  letter-spacing: -0.4em;
  white-space: nowrap;
}
.p-hero_topic__list-item {
  display: inline-block;
  position: relative;
  vertical-align: top;
  font-size: 1rem;
  letter-spacing: normal;
  white-space: normal;
}
.p-hero_topic__link {
  display: block;
  position: relative;
}
.p-hero_topic__link::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-pink);
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.5, 1, 0.89, 1);
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_topic__link:hover::after,
  .p-hero_topic__link:focus-visible::after {
    opacity: 0.3;
  }
}
.p-hero_topic__footer {
  display: block;
  position: relative;
  margin-top: 1.2rem;
}
@media screen and (max-width: 960px) {
  .p-hero_topic__footer {
    margin-top: 1.5rem;
  }
}
.p-hero_topic__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.p-hero_topic__pagination-item {
  width: 0.8rem;
  height: 0.8rem;
  display: block;
  position: relative;
  background: transparent;
  border-radius: 50%;
  transition: background-color 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-hero_topic__pagination-item {
    width: 0.7rem;
    height: 0.7rem;
  }
}
.p-hero_topic__pagination-item.is-current {
  background: var(--color-black);
}
.p-hero_topic__pagination-item::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-black);
  border-radius: 50%;
}
.p-hero_topic__pagination-item + .p-hero_topic__pagination-item {
  margin-left: 1.2rem;
}
@media screen and (max-width: 960px) {
  .p-hero_topic__pagination-item + .p-hero_topic__pagination-item {
    margin-left: 1rem;
  }
}

.p-hero_twitter {
  display: block;
  position: relative;
  color: var(--color-white);
  background-color: var(--color-tw-blue);
  border-radius: 200px;
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_twitter {
    transition: color 0.3s cubic-bezier(0.5, 1, 0.89, 1), background-color 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-hero_twitter:hover, .p-hero_twitter:focus-visible {
    color: var(--color-tw-blue);
    background: var(--color-white);
  }
}
.p-hero_twitter::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  box-shadow: 0 0.5rem 1rem 0 var(--color-tw-blue);
  border-radius: 200px;
  opacity: 0.5;
}
.p-hero_twitter::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.2rem solid var(--color-tw-blue);
  border-radius: 200px;
}
.p-hero_twitter__icon {
  width: 2rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 2.2rem;
  transform: translate(0, -50%);
}
@media screen and (max-width: 960px) {
  .p-hero_twitter__icon {
    width: 1.5rem;
    left: 2rem;
  }
}
.p-hero_twitter__icon-svg {
  height: auto;
  display: block;
  position: relative;
  fill: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_twitter__icon-svg {
    transition: fill 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-hero_twitter:hover .p-hero_twitter__icon-svg, .p-hero_twitter:focus-visible .p-hero_twitter__icon-svg {
    fill: var(--color-tw-blue);
  }
}
.p-hero_twitter__text {
  display: block;
  position: relative;
  padding: 2rem 2rem;
  font-size: 1.6rem;
  text-align: center;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .p-hero_twitter__text {
    padding: 1.65rem 1rem;
    font-size: 1.2rem;
  }
}

.p-top_news {
  display: block;
  position: relative;
  background-color: var(--color-gray-light);
}
.p-top_news::before {
  content: "";
  width: 100%;
  height: calc(100% + min(3vw, 14.4rem));
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url("../img/common/bg/bg_wide01.jpg") no-repeat center/cover;
}
@media screen and (max-width: 960px) {
  .p-top_news::before {
    height: 100%;
  }
}
.p-top_news__container {
  width: var(--areaW);
  max-width: var(--areaMaxW);
  position: relative;
  margin: 0 auto;
  padding: 10.1rem 0 9rem;
}
@media screen and (min-width: 961px) {
  .p-top_news__container {
    display: grid;
    grid-template-columns: minmax(26rem, auto) 1fr;
    grid-template-rows: 1fr auto;
  }
}
@media screen and (max-width: 960px) {
  .p-top_news__container {
    padding: 6rem 0 6rem;
  }
}
.p-top_news__header {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top_news__header {
    grid-column: 1/2;
    grid-row: 1/3;
    margin-right: 6.8rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top_news__header {
    margin-bottom: 2.4rem;
  }
}
.p-top_news__title {
  display: block;
  position: relative;
  font-size: 5.2rem;
  font-family: "Cormorant Garamond", YakuHanMPs, "Shippori Mincho", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
  line-height: 0.75;
  letter-spacing: 1.1rem;
}
@media screen and (max-width: 960px) {
  .p-top_news__title {
    font-size: 3.2rem;
    letter-spacing: 0.7rem;
  }
}
.p-top_news__inner {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top_news__inner {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
.p-top_news__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top_news__list {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.p-top_news__list-item {
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top_news__list-item + .p-top_news__list-item:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border-top: 0.1rem solid var(--color-black);
    opacity: 0.2;
  }
}
.p-top_news__footer {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-top_news__footer {
    grid-column: 2/3;
    grid-row: 2/3;
    margin-top: 3.2rem;
  }
}
@media screen and (max-width: 960px) {
  .p-top_news__footer {
    margin-top: 1.2rem;
  }
}
.p-top_news__btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  position: relative;
  margin-left: auto;
}

.p-top_news_data {
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-top_news_data {
    padding: 2.2rem 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top_news_data {
    transition: color 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top_news_data:hover, .p-top_news_data:focus-visible {
    color: var(--color-pink);
  }
}
.p-top_news_data__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 960px) {
  .p-top_news_data__header {
    margin-bottom: 1rem;
  }
}
.p-top_news_data__date {
  display: block;
  position: relative;
  font-size: min(1.0357142857vw,1.6571428571rem);
  font-family: "Inter", YakuHanJPs, "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  line-height: 1;
}
@media screen and (max-width: 960px) {
  .p-top_news_data__date {
    font-size: 1.1rem;
  }
}
.p-top_news_data__category {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  position: relative;
  color: var(--color-white);
  background-color: var(--color-black);
  border-radius: 0.4rem;
}
@media screen and (max-width: 960px) {
  .p-top_news_data__category {
    border-radius: 0.2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top_news_data__category {
    transition: background-color 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-top_news_data:hover .p-top_news_data__category, .p-top_news_data:focus-visible .p-top_news_data__category {
    background-color: var(--color-pink);
  }
}
.p-top_news_data__category-text {
  display: block;
  position: relative;
  padding: min(0.3571428571vw,0.5714285714rem) min(1.0714285714vw,1.7142857143rem);
  font-size: min(0.8571428571vw,1.3714285714rem);
  line-height: 1;
}
@media screen and (max-width: 960px) {
  .p-top_news_data__category-text {
    padding: 0.4rem 1.2rem;
    font-size: 1rem;
  }
}
.p-top_news_data__inner {
  display: block;
  position: relative;
}
.p-top_news_data__title {
  display: block;
  position: relative;
  font-size: min(1.2857142857vw,2.0571428571rem);
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 960px) {
  .p-top_news_data__title {
    font-size: 1.3rem;
  }
}

.p-top_movie {
  display: block;
  position: relative;
}
.p-top_movie::before {
  content: "";
  width: 74rem;
  height: 50rem;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  background: url("../img/common/deco_txt.png") no-repeat right top/contain;
  transform: translate(1%, -12%);
}
@media screen and (max-width: 960px) {
  .p-top_movie::before {
    width: 41.44rem;
    height: 28rem;
    transform: translate(2%, -11%);
  }
}
.p-top_movie__container {
  position: relative;
  margin: 0 auto;
  padding: 14.8rem 0 8rem;
}
@media screen and (min-width: 961px) {
  .p-top_movie__container {
    width: var(--areaW);
    max-width: var(--areaMaxW);
  }
}
@media screen and (max-width: 960px) {
  .p-top_movie__container {
    padding: 10.4rem 0 5rem;
  }
}
.p-top_movie__header {
  display: block;
}
@media screen and (min-width: 961px) {
  .p-top_movie__header {
    position: absolute;
    top: calc(50% + 0.8rem);
    left: 0;
    transform: translate(0, -50%);
    z-index: 1;
    padding-left: 7.8rem;
    pointer-events: none;
  }
}
@media screen and (max-width: 960px) {
  .p-top_movie__header {
    width: var(--areaW);
    max-width: var(--areaMaxW);
    display: block;
    position: relative;
    margin: 0 auto 1.2rem;
  }
}
.p-top_movie__header::after {
  width: 6rem;
  height: 6rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  background: url("../img/common/play.png") no-repeat center/contain;
}
@media screen and (min-width: 961px) {
  .p-top_movie__header::after {
    content: "";
  }
}
.p-top_movie__title {
  display: block;
  position: relative;
  font-size: 5.2rem;
  font-family: "Cormorant Garamond", YakuHanMPs, "Shippori Mincho", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: 1.3rem;
}
@media screen and (max-width: 960px) {
  .p-top_movie__title {
    font-size: 3.4rem;
    letter-spacing: 0.7rem;
  }
}
.p-top_movie__inner {
  width: 69.3548387097%;
  position: relative;
  margin: 0 auto;
  z-index: 0;
}
@media screen and (max-width: 960px) {
  .p-top_movie__inner {
    width: 94.6666666667%;
    margin-left: 0;
  }
}
.p-top_movie__thumb {
  width: 100%;
  position: relative;
  margin: 0 auto;
  cursor: pointer;
}
.p-top_movie__thumb::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-white);
  opacity: 0.4;
  z-index: 1;
  transition: background-color 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
@media (hover: hover) and (pointer: fine) {
  .p-top_movie__thumb:hover::before,
  .p-top_movie__thumb:focus-visible::before {
    background-color: var(--color-pink);
  }
}
.p-top_movie__thumb::after {
  width: 6rem;
  height: 6rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url("../img/common/play.png") no-repeat center/contain;
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .p-top_movie__thumb::after {
    content: "";
    width: 5rem;
    height: 5rem;
  }
}
.p-top_movie__thumb-img {
  display: block;
  position: relative;
  opacity: 1;
}
.is-mv-play .p-top_movie__thumb-img {
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top_movie__thumb-player {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
.p-top_movie__thumb-player iframe {
  width: 100%;
  height: 160%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-top_movie__footer {
  width: 69.3548387097%;
  position: relative;
  margin: 2.8rem auto 0;
}
@media screen and (max-width: 960px) {
  .p-top_movie__footer {
    width: 89.3333333333%;
    margin-top: 2.2rem;
  }
}
.p-top_movie__btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  position: relative;
  margin-left: auto;
}