@charset "UTF-8";
.p-top {
  width: 100%;
  min-height: var(--svh);
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-top__bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.p-top__bg::before {
  content: "";
  width: 100%;
  height: calc(100% - 10rem);
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: var(--color-gray-base);
  z-index: -1;
}
.p-top__bg::after {
  content: "";
  width: 200%;
  height: 50rem;
  display: block;
  position: absolute;
  top: 30rem;
  left: 50%;
  background: var(--color-gray-base);
  z-index: -1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.p-top__container {
  display: block;
  position: relative;
}

.p-hero {
  display: block;
  position: relative;
  padding-bottom: 5.8rem;
  opacity: 0;
}
.is-load .p-hero {
  opacity: 1;
  transition: opacity 0.8s var(--ease_inout);
}
.p-hero__container {
  display: block;
  position: relative;
}
.p-hero__slide {
  width: 31.5rem;
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-hero__list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
}
.p-hero__list-item {
  flex-shrink: 0;
  width: 100%;
  display: block;
  position: relative;
}
.p-hero__pagination {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  position: absolute;
  padding: 0 2rem;
  top: 33rem;
  left: 0;
  gap: 0.8rem;
}
.p-hero__pagination-item {
  display: block;
  position: relative;
}

.p-hero_article {
  display: block;
  position: relative;
}
.p-hero_article__header {
  display: block;
  position: relative;
}
.p-hero_article__thumb {
  display: block;
  position: relative;
  background: var(--color-pink);
  box-shadow: var(--shadow-slide);
}
.p-hero_article__thumb-img {
  width: 100%;
  padding-top: 100%;
  display: block;
  position: relative;
  background-color: var(--color-gray-base);
  overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_article__thumb-img {
    transition: transform 0.3s var(--ease_out);
  }
  .p-hero_article[href]:hover .p-hero_article__thumb-img {
    transform: scale(0.95);
  }
}
.p-hero_article__thumb-img img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: contain;
  object-fit: contain;
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_article__thumb-img img {
    transition: transform 0.3s var(--ease_out);
  }
  .p-hero_article[href]:hover .p-hero_article__thumb-img img {
    transform: scale(1.1);
  }
}
.p-hero_article__inner {
  display: block;
  position: relative;
  margin-top: 4.2rem;
  opacity: 0;
  transition: opacity 0.4s var(--ease_out);
}
.is-slide-current:not(.is-clone) .p-hero_article__inner {
  opacity: 1;
}
.p-hero_article__text {
  width: calc(100% - 2rem);
  display: block;
  position: relative;
  padding: 1.8rem 2rem 1.6rem;
  margin: 0 auto;
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.05rem;
  font-weight: 500;
  color: var(--color-black);
  background-color: var(--color-white);
}
.p-hero_article__text::before {
  content: "";
  width: 1.5rem;
  height: 1rem;
  display: block;
  position: absolute;
  top: 1px;
  left: 10%;
  background: url("../img/bg_main_fukidashi.png") no-repeat 0 0/contain;
  transform: translate(0, -100%);
}

.p-hero_pagination {
  width: 16px;
  height: 16px;
  display: block;
  position: relative;
  color: var(--color-disable);
  z-index: 0;
  transition: color 0.3s var(--ease_out);
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_pagination {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.is-current .p-hero_pagination {
  color: var(--color-pink);
}
.p-hero_pagination::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.1rem solid var(--color-gray-light);
  border-radius: 50%;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.6s var(--ease_out);
}
.is-current .p-hero_pagination::after {
  opacity: 1;
}
.p-hero_pagination__circle {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  margin: 0 auto;
  transform: rotate(-90deg) scale(1, -1);
}
.is-slide-init .is-current .p-hero_pagination__circle {
  transform: rotate(-90deg) scale(1, 1);
}
.p-hero_pagination__circle-svg {
  width: 100%;
  display: block;
  position: relative;
  fill: none;
  stroke: currentColor;
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 50;
  stroke-dashoffset: 50;
  transition: stroke-dashoffset 1s var(--ease_inout);
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_pagination__circle-svg {
    stroke-dasharray: 5rem;
    stroke-dashoffset: 5rem;
  }
}
.is-slide-init .is-current .p-hero_pagination__circle-svg {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 9.9s linear;
}
.is-slide-init.is-slide-change .is-current .p-hero_pagination__circle-svg {
  transition: stroke-dashoffset 11s linear;
}
.p-hero_pagination__no {
  width: 10px;
  height: 10px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 0;
  background-color: currentColor;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_pagination__no {
    width: 1rem;
    height: 1rem;
  }
}

.p-headline {
  display: block;
  position: relative;
  padding: 5.8rem 0 7rem;
  color: var(--color-white);
  background: url("../img/bg_stripe.jpg") repeat 0 0/2rem auto;
}
.p-headline__container {
  width: calc(100% - 6rem);
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-headline__header {
  display: block;
  position: relative;
  margin-bottom: 2rem;
}
.p-headline__title {
  display: block;
  position: relative;
}
.p-headline__title-main {
  display: block;
  position: relative;
  font-size: 4rem;
  font-weight: 500;
  font-family: "Jost", "IBM Plex Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  text-align: center;
  opacity: 0;
  transform: translateY(1rem);
}
.is-scroll-active .p-headline__title-main {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s var(--ease_out), transform 0.6s var(--ease_out);
}
.p-headline__title-sub {
  display: block;
  position: relative;
  margin-top: 0.15rem;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.007rem;
  text-align: center;
  opacity: 0;
  transform: translateY(1rem) rotate(-0.05deg);
}
.is-scroll-active .p-headline__title-sub {
  opacity: 1;
  transform: translateY(0) rotate(-0.05deg);
  transition: opacity 0.4s var(--ease_out) 0.1s, transform 0.6s var(--ease_out) 0.1s;
}
.p-headline__inner {
  display: block;
  position: relative;
  opacity: 0;
  transform: translateY(1rem);
}
.is-scroll-active .p-headline__inner {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s var(--ease_out) 0.3s, transform 0.6s var(--ease_out) 0.3s;
}
.p-headline__list {
  display: block;
  position: relative;
}
.p-headline__list-item {
  display: block;
  position: relative;
}
.p-headline__list-item:nth-child(n+4) {
  display: none;
}
.p-headline__list-item + .p-headline__list-item::before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 1px solid var(--color-line-dark);
}
.p-headline__btn {
  width: 22.5rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 1.8rem auto 0;
  color: var(--color-white);
  border-radius: 20rem;
}
@media (hover: hover) and (pointer: fine) {
  .p-headline__btn {
    transition: color 0.3s var(--ease_out), background-color 0.3s var(--ease_out), box-shadow 0.3s var(--ease_out);
  }
  .p-headline__btn:hover {
    color: var(--color-gray-dark);
    background-color: var(--color-white);
    box-shadow: var(--shadow-btn);
  }
}
.p-headline__btn::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid var(--color-white);
  border-radius: 20rem;
}
.p-headline__btn-text {
  display: block;
  position: relative;
  text-align: center;
  padding-top: 0.15em;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
}
.p-headline__btn-icon {
  width: 1.1rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 1.56rem;
  transform: translate(0, -50%);
  fill: currentColor;
}
.p-headline__btn:hover .p-headline__btn-icon {
  animation: arrow_centerY 1s linear;
}

.p-headline_article {
  display: block;
  position: relative;
  padding: 1.6rem 0;
  color: var(--color-white);
}
.p-headline_article__date {
  display: block;
  position: relative;
  font-size: 1.2rem;
  font-weight: 600;
  font-family: "Jost", "IBM Plex Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: var(--color-pink);
}
.p-headline_article__title {
  display: block;
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@supports ((-webkit-text-decoration-color: transparent) or (text-decoration-color: transparent)) {
  @media (hover: hover) and (pointer: fine) {
    .p-headline_article__title {
      text-decoration: underline;
      -webkit-text-decoration-color: transparent;
      text-decoration-color: transparent;
      transition: -webkit-text-decoration-color 0.3s var(--ease_out);
      transition: text-decoration-color 0.3s var(--ease_out);
      transition: text-decoration-color 0.3s var(--ease_out), -webkit-text-decoration-color 0.3s var(--ease_out);
    }
    .p-headline_article:hover .p-headline_article__title {
      -webkit-text-decoration-color: currentColor;
      text-decoration-color: currentColor;
    }
  }
}
@supports not ((-webkit-text-decoration-color: transparent) or (text-decoration-color: transparent)) {
  @media (hover: hover) and (pointer: fine) {
    .p-headline_article:hover .p-headline_article__title {
      text-decoration: underline;
    }
  }
}

.p-lineup {
  display: block;
  position: relative;
  padding: 5.8rem 0 7.1rem;
}
.p-lineup__container {
  width: calc(100% - 3rem);
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-lineup__header {
  display: block;
  position: relative;
  margin-bottom: 3.5rem;
}
.p-lineup__title {
  display: block;
  position: relative;
  color: var(--color-pink);
}
.p-lineup__title-main {
  display: block;
  position: relative;
  font-size: 4rem;
  font-weight: 500;
  font-family: "Jost", "IBM Plex Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  text-align: center;
  opacity: 0;
  transform: translateY(1rem);
}
.is-scroll-active .p-lineup__title-main {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s var(--ease_out), transform 0.6s var(--ease_out);
}
.p-lineup__title-sub {
  display: block;
  position: relative;
  margin-top: 0.15rem;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.007rem;
  text-align: center;
  opacity: 0;
  transform: translateY(1rem) rotate(-0.05deg);
}
.is-scroll-active .p-lineup__title-sub {
  opacity: 1;
  transform: translateY(0) rotate(-0.05deg);
  transition: opacity 0.4s var(--ease_out) 0.1s, transform 0.6s var(--ease_out) 0.1s;
}
.p-lineup__inner {
  display: block;
  position: relative;
  opacity: 0;
  transform: translateY(1rem);
}
.is-scroll-active .p-lineup__inner {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s var(--ease_out) 0.3s, transform 0.6s var(--ease_out) 0.3s;
}
.p-lineup__list {
  display: block;
  position: relative;
}
.p-lineup__list-item {
  display: block;
  position: relative;
}
.p-lineup__list-item + .p-lineup__list-item {
  margin-top: 2.9rem;
}

.p-lineup_article {
  display: block;
  position: relative;
  padding: 1.5rem 1.5rem 3rem;
  background: var(--color-white);
  z-index: 0;
}
.p-lineup_article__header {
  display: block;
  position: relative;
  margin-bottom: 2.8rem;
}
.p-lineup_article__status {
  width: 7.8rem;
  display: block;
  position: absolute;
  top: -2rem;
  left: -2rem;
}
.p-lineup_article__category {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 12rem;
  min-height: 3.1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0.2rem 1rem;
  margin-bottom: 1.5rem;
  margin-left: auto;
  color: var(--color-white);
  background: var(--color-gray-dark);
}
.p-lineup_article__category[data-category=店頭販売] {
  background-color: var(--color-pink);
}
.p-lineup_article__category-text {
  display: block;
  position: relative;
  padding-left: 1.8rem;
  top: 0.2em;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.02rem;
}
.p-lineup_article__category-text::before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  display: block;
  position: absolute;
  top: 40%;
  left: 0;
  transform: translate(0, -50%);
}
[data-category=店頭販売] .p-lineup_article__category-text::before {
  background: url("../img/icon_shop.svg") no-repeat center/contain;
}
[data-category=オンラインくじ] .p-lineup_article__category-text::before {
  background: url("../img/icon_online.svg") no-repeat center/contain;
}
.p-lineup_article__thumb {
  display: block;
  position: relative;
  z-index: 1;
}
.p-lineup_article__thumb-img {
  display: block;
  position: relative;
}
.p-lineup_article__inner {
  width: calc(100% - 2.5rem);
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-lineup_article__title {
  display: block;
  position: relative;
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0;
}
.p-lineup_article__detail {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  margin-top: 1.5rem;
  padding: 2rem 0;
}
.p-lineup_article__detail + .p-lineup_article__detail {
  margin-top: 0;
}
.p-lineup_article__detail::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 1px solid var(--color-line-light);
}
.p-lineup_article__detail-cap {
  flex-shrink: 0;
  display: block;
  position: relative;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-pink);
  margin-right: 1rem;
}
.p-lineup_article__detail-text {
  flex: 1 1 0;
  min-width: 0;
  display: block;
  position: relative;
  font-size: 1.3rem;
  line-height: 1.5;
}
.p-lineup_article__btn {
  width: 28.6rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0.4rem auto 0;
  color: var(--color-white);
  background: var(--color-pink);
  border-radius: 20rem;
}
@media (hover: hover) and (pointer: fine) {
  .p-lineup_article__btn {
    transition: color 0.3s var(--ease_out), background-color 0.3s var(--ease_out), box-shadow 0.3s var(--ease_out);
  }
  .p-lineup_article__btn:hover {
    color: var(--color-white);
    background-color: var(--color-gray-dark);
    box-shadow: var(--shadow-btn);
  }
}
.p-lineup_article__btn-text {
  display: block;
  position: relative;
  text-align: center;
  padding-top: 0.15em;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
}
.p-lineup_article__btn-icon {
  width: 1.3rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
.p-lineup_article__btn[target=_blank] .p-lineup_article__btn-icon {
  transform: translate(0, -50%) rotate(-45deg);
}
.p-lineup_article__btn-path {
  display: block;
  position: relative;
  fill: currentColor;
}
.p-lineup_article__btn:hover .p-lineup_article__btn-path {
  animation: arrow 1s linear;
}