:root {
  --bk: #000;
  --bk00: rgb(0 0 0 / 0);
  --bk05: rgb(0 0 0 / .05);
  --bk10: rgb(0 0 0 / .10);
  --bk15: rgb(0 0 0 / .15);
  --bk20: rgb(0 0 0 / .20);
  --bk25: rgb(0 0 0 / .25);
  --bk30: rgb(0 0 0 / .30);
  --bk35: rgb(0 0 0 / .35);
  --bk40: rgb(0 0 0 / .40);
  --bk45: rgb(0 0 0 / .45);
  --bk50: rgb(0 0 0 / .50);
  --bk55: rgb(0 0 0 / .55);
  --bk60: rgb(0 0 0 / .60);
  --bk65: rgb(0 0 0 / .65);
  --bk70: rgb(0 0 0 / .70);
  --bk75: rgb(0 0 0 / .75);
  --bk80: rgb(0 0 0 / .80);
  --bk85: rgb(0 0 0 / .85);
  --bk90: rgb(0 0 0 / .90);
  --bk95: rgb(0 0 0 / .95);
  --wh: #fff;
  --wh00: rgb(255 255 255 / 0);
  --wh05: rgb(255 255 255 / .05);
  --wh10: rgb(255 255 255 / .10);
  --wh15: rgb(255 255 255 / .15);
  --wh20: rgb(255 255 255 / .20);
  --wh25: rgb(255 255 255 / .25);
  --wh30: rgb(255 255 255 / .30);
  --wh35: rgb(255 255 255 / .35);
  --wh40: rgb(255 255 255 / .40);
  --wh45: rgb(255 255 255 / .45);
  --wh50: rgb(255 255 255 / .50);
  --wh55: rgb(255 255 255 / .55);
  --wh60: rgb(255 255 255 / .60);
  --wh65: rgb(255 255 255 / .65);
  --wh70: rgb(255 255 255 / .70);
  --wh75: rgb(255 255 255 / .75);
  --wh80: rgb(255 255 255 / .80);
  --wh85: rgb(255 255 255 / .85);
  --wh90: rgb(255 255 255 / .90);
  --wh95: rgb(255 255 255 / .95);
  --mPink: #fa69a0;
  --mYellow: #f0d20a;
  --mBlue: #7ddce1;
  --rOrange: #fa9100;
  --rYellow: #dcb90f;
  --tPink: #eb50a0;
  --tBlue: #14bee6;
  --danger: #c00;
  --warning: #f90;
  --info: #089;
}

#home .alert {
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  #home .alert {
    margin-bottom: 6.6666666667vw;
  }
}
#home .alert-panel {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding: 1.5rem 6rem 1.5rem 2rem;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  #home .alert-panel {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6666666667vw;
    margin-top: 6.6666666667vw;
    padding: 3.3333333333vw 10vw 3.3333333333vw 3.3333333333vw;
    border-radius: 1.6666666667vw;
  }
}
@media (any-hover: hover) {
  #home .alert-panel:hover, #home .alert-panel:focus-visible {
    opacity: 0.6;
  }
}
#home .alert-panel::before, #home .alert-panel::after {
  content: "";
  position: absolute;
}
#home .alert-panel::before {
  top: 0;
  right: 0;
  width: 4rem;
  height: 100%;
  background-color: var(--bk20);
}
@media (max-width: 768px) {
  #home .alert-panel::before {
    width: 6.6666666667vw;
  }
}
#home .alert-panel::after {
  top: 50%;
  right: 1.5rem;
  width: 1rem;
  aspect-ratio: 1/1;
  background-color: var(--wh);
  mask: url("../images/icon_arrow.svg") no-repeat 50% 50%/contain;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  #home .alert-panel::after {
    right: 2.0833333333vw;
    width: 2.5vw;
  }
}
#home .alert-panel:not(:first-child) {
  margin-top: 1rem;
}
@media (max-width: 768px) {
  #home .alert-panel:not(:first-child) {
    margin-top: 3.3333333333vw;
  }
}
#home .alert-label {
  flex-shrink: 0;
  align-self: flex-start;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  background-color: var(--wh);
}
@media (max-width: 768px) {
  #home .alert-label {
    padding: 1.6666666667vw 3.3333333333vw;
    border-radius: 0.8333333333vw;
    font-size: 2.9166666667vw;
  }
}
#home .alert-message {
  color: var(--wh);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .alert-message {
    font-size: 3.3333333333vw;
  }
}
#home .alert-danger {
  background-color: var(--danger);
}
#home .alert-danger .alert-label {
  color: var(--danger);
}
#home .alert-warning {
  background-color: var(--warning);
}
#home .alert-warning .alert-label {
  color: var(--warning);
}
#home .alert-info {
  background-color: var(--info);
}
#home .alert-info .alert-label {
  color: var(--info);
}
#home .pickup {
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  #home .pickup {
    margin-bottom: 6.6666666667vw;
  }
}
#home .pickup-panel {
  position: relative;
  display: block;
  border-radius: 1rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  #home .pickup-panel {
    border-radius: 0;
  }
}
#home .pickup-panel::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 2;
  border: 2px solid var(--wh);
  border-radius: 0.75rem;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1), transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
  pointer-events: none;
}
@media (any-hover: hover) {
  #home .pickup-panel:hover::after, #home .pickup-panel:focus-visible::after {
    opacity: 1;
    transform: scale(1);
  }
  #home .pickup-panel:hover .pickup-visual img, #home .pickup-panel:focus-visible .pickup-visual img {
    filter: brightness(0.75);
  }
}
#home .pickup-visual img, #home .pickup-visual video {
  display: block;
  width: 100%;
  transition: filter 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  #home .pickup-visual img, #home .pickup-visual video {
    border-radius: 1.6666666667vw;
  }
}
#home .pickup-video {
  /* メタデータ読み込み完了前は実サイズが不定（ブラウザ既定で高さ約150pxになる）ため、
     暫定的に16:9を確保しておく。読み込み完了後は object-fit で違和感なく収める。 */
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
#home .pickup-youtube {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}
#home .pickup-youtube iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}
#home .pickup-info {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  padding: 2rem;
  color: var(--wh);
  background-image: linear-gradient(180deg, var(--bk00), var(--bk60));
}
@media (max-width: 768px) {
  #home .pickup-info {
    position: relative;
    gap: 1.6666666667vw;
    margin-top: 3.3333333333vw;
    padding: 0;
    color: var(--bk);
    background-image: none;
  }
}
#home .pickup-info h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .pickup-info h2 {
    font-size: 3.3333333333vw;
  }
}
#home .pickup-info p {
  font-size: 1.125rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .pickup-info p {
    font-size: 2.9166666667vw;
  }
}
#home .pickup-swiper {
  overflow: hidden;
}
#home .pickup .swiper-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  #home .pickup .swiper-controls {
    display: none;
  }
}
#home .pickup .swiper-button-prev, #home .pickup .swiper-button-next {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  border: 1px solid var(--bk);
  border-radius: 50%;
  background-color: var(--wh);
  transition: background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .pickup .swiper-button-prev::after, #home .pickup .swiper-button-next::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.625rem;
  aspect-ratio: 1/1;
  font-size: 0;
  background-color: var(--bk);
  mask: url("../images/icon_arrow.svg") no-repeat 50% 50%/contain;
  transition: background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (any-hover: hover) {
  #home .pickup .swiper-button-prev:hover, #home .pickup .swiper-button-prev:focus-visible, #home .pickup .swiper-button-next:hover, #home .pickup .swiper-button-next:focus-visible {
    background-color: var(--bk);
  }
  #home .pickup .swiper-button-prev:hover::after, #home .pickup .swiper-button-prev:focus-visible::after, #home .pickup .swiper-button-next:hover::after, #home .pickup .swiper-button-next:focus-visible::after {
    background-color: var(--wh);
  }
}
#home .pickup .swiper-button-prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
#home .pickup .swiper-button-next::after {
  transform: translate(-50%, -50%);
}
#home .pickup .swiper-pagination {
  position: relative;
  bottom: 0;
  z-index: 1;
  width: auto;
}
#home .pickup .swiper-pagination-bullet {
  position: relative;
  width: 2rem;
  height: 2rem;
  margin: 0;
  background-color: transparent;
  opacity: 1;
}
#home .pickup .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.625rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--bk);
  opacity: 0.2;
  transform: translate(-50%, -50%);
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .pickup .swiper-pagination-bullet-active::before {
  opacity: 1;
}
#home .section {
  position: relative;
  padding: 5rem 0;
  overflow: hidden;
}
@media (max-width: 768px) {
  #home .section {
    padding: 3.3333333333vw 0 6.6666666667vw;
  }
}
#home .section::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 40rem);
  z-index: -2;
  width: 80rem;
  aspect-ratio: 1/1;
  transform: translate(-50%, -50%);
}
@media (max-width: 768px) {
  #home .section::before {
    left: 0;
    width: 133.3333333333vw;
  }
}
#home .section::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 30rem);
  z-index: -1;
  width: 20rem;
  aspect-ratio: 2/3;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  #home .section::after {
    left: 16.6666666667vw;
    width: 50vw;
  }
}
#home .section.weather::before {
  background-image: radial-gradient(closest-side, rgba(250, 105, 160, 0.5) 0%, rgba(250, 105, 160, 0) 100%);
}
#home .section.weather::after {
  background-image: radial-gradient(closest-side, rgba(255, 80, 237, 0.5) 0%, rgba(255, 80, 237, 0) 100%);
}
#home .section.news::before {
  background-image: radial-gradient(closest-side, rgba(250, 145, 0, 0.5) 0%, rgba(250, 145, 0, 0) 100%);
}
#home .section.news::after {
  background-image: radial-gradient(closest-side, rgba(255, 90, 32, 0.5) 0%, rgba(255, 90, 32, 0) 100%);
}
#home .section.program::before {
  background-image: radial-gradient(closest-side, rgba(20, 190, 230, 0.5) 0%, rgba(20, 190, 230, 0) 100%);
}
#home .section.program::after {
  background-image: radial-gradient(closest-side, rgba(0, 160, 255, 0.5) 0%, rgba(0, 160, 255, 0) 100%);
}
#home .section.casts::before {
  background-image: radial-gradient(closest-side, rgba(235, 80, 160, 0.5) 0%, rgba(235, 80, 160, 0) 100%);
}
#home .section.casts::after {
  background-image: radial-gradient(closest-side, rgba(235, 128, 255, 0.5) 0%, rgba(235, 128, 255, 0) 100%);
}
#home .section.events::before {
  background-image: radial-gradient(closest-side, rgba(240, 210, 10, 0.5) 0%, rgba(240, 210, 10, 0) 100%);
}
#home .section.events::after {
  background-image: radial-gradient(closest-side, rgba(255, 255, 0, 0.5) 0%, rgba(255, 255, 0, 0) 100%);
}
#home .section.information::before {
  background-image: radial-gradient(closest-side, rgba(125, 220, 225, 0.5) 0%, rgba(125, 220, 225, 0) 100%);
}
#home .section.information::after {
  background-image: radial-gradient(closest-side, rgba(128, 160, 255, 0.5) 0%, rgba(128, 160, 255, 0) 100%);
}
#home .section.links::before {
  background-image: radial-gradient(closest-side, rgba(220, 185, 15, 0.5) 0%, rgba(220, 185, 15, 0) 100%);
}
#home .section.links::after {
  background-image: radial-gradient(closest-side, rgba(240, 230, 20, 0.5) 0%, rgba(240, 230, 20, 0) 100%);
}
#home .section-title {
  display: flex;
  align-items: center;
  height: 2.5rem;
  margin-bottom: 2rem;
  font-size: 0;
}
@media (max-width: 768px) {
  #home .section-title {
    height: 6.6666666667vw;
    margin-bottom: 3.3333333333vw;
  }
}
#home .section-title::before {
  content: "";
  width: 100%;
  height: 2rem;
  background-color: var(--bk);
  mask-repeat: no-repeat;
  mask-position: 0 50%;
  mask-size: contain;
}
@media (max-width: 768px) {
  #home .section-title::before {
    height: 4.1666666667vw;
  }
}
#home .section .more-nav {
  position: absolute;
  top: 0;
  right: 2rem;
}
@media (max-width: 768px) {
  #home .section .more-nav {
    position: relative;
    right: 0;
    margin-top: 3.3333333333vw;
  }
}
#home .section .swiper-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  #home .section .swiper-controls {
    display: none;
  }
}
#home .section .swiper-button-prev, #home .section .swiper-button-next {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  border: 1px solid var(--bk);
  border-radius: 50%;
  background-color: var(--wh);
  transition: background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .section .swiper-button-prev::after, #home .section .swiper-button-next::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.625rem;
  aspect-ratio: 1/1;
  font-size: 0;
  background-color: var(--bk);
  mask: url("../images/icon_arrow.svg") no-repeat 50% 50%/contain;
  transition: background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (any-hover: hover) {
  #home .section .swiper-button-prev:hover, #home .section .swiper-button-prev:focus-visible, #home .section .swiper-button-next:hover, #home .section .swiper-button-next:focus-visible {
    background-color: var(--bk);
  }
  #home .section .swiper-button-prev:hover::after, #home .section .swiper-button-prev:focus-visible::after, #home .section .swiper-button-next:hover::after, #home .section .swiper-button-next:focus-visible::after {
    background-color: var(--wh);
  }
}
#home .section .swiper-button-prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
#home .section .swiper-button-next::after {
  transform: translate(-50%, -50%);
}
#home .section .swiper-pagination {
  position: relative;
  bottom: 0;
  z-index: 1;
  width: auto;
}
#home .section .swiper-pagination-bullet {
  position: relative;
  width: 2rem;
  height: 2rem;
  margin: 0;
  background-color: transparent;
  opacity: 1;
}
#home .section .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.625rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--bk);
  opacity: 0.2;
  transform: translate(-50%, -50%);
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .section .swiper-pagination-bullet-active::before {
  opacity: 1;
}
@media (max-width: 768px) {
  #home .weather .container {
    padding-right: 0;
  }
}
#home .weather-swiper-clip {
  overflow: hidden;
}
#home .weather-swiper {
  overflow: clip;
  clip-path: inset(0);
}
#home .weather .section-title::before {
  mask-image: url("../images/title_weather.svg");
}
#home .weather-swiper-card {
  width: 37rem;
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  #home .weather-swiper-card {
    width: 66.6666666667vw;
  }
}
@media (any-hover: hover) {
  #home .weather-swiper-card:hover, #home .weather-swiper-card:focus-visible {
    opacity: 0.6;
  }
}
#home .weather-swiper-card-fig {
  width: 100%;
  margin-bottom: 0.5rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  #home .weather-swiper-card-fig {
    margin-bottom: 1.6666666667vw;
    border-radius: 1.6666666667vw;
  }
}
#home .weather-swiper-card-fig img {
  width: 100%;
  height: auto;
}
#home .weather-swiper-card-title {
  display: none;
}
@media (max-width: 768px) {
  #home .news .container {
    padding-right: 0;
  }
}
#home .news .section-title::before {
  mask-image: url("../images/title_news.svg");
}
#home .news-swiper-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 20rem;
  height: auto;
  margin-right: 2rem;
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  #home .news-swiper-card {
    gap: 1.6666666667vw;
    width: 66.6666666667vw;
    margin-right: 3.3333333333vw;
  }
}
@media (any-hover: hover) {
  #home .news-swiper-card:hover .news-swiper-card-fig::before, #home .news-swiper-card:focus-visible .news-swiper-card-fig::before {
    border-color: var(--rOrange);
  }
  #home .news-swiper-card:hover .news-swiper-card-fig::after, #home .news-swiper-card:focus-visible .news-swiper-card-fig::after {
    opacity: 1;
    transform: scale(1);
  }
  #home .news-swiper-card:hover .news-swiper-card-fig img, #home .news-swiper-card:focus-visible .news-swiper-card-fig img {
    filter: brightness(0.75);
  }
}
#home .news-swiper-card-fig {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--wh);
}
@media (max-width: 768px) {
  #home .news-swiper-card-fig {
    border-radius: 1.6666666667vw;
  }
}
#home .news-swiper-card-fig::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 1px solid var(--bk10);
  border-radius: 0.5rem;
  transition: border 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .news-swiper-card-fig::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 2;
  border: 2px solid var(--wh);
  border-radius: 0.375rem;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1), transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
  pointer-events: none;
}
#home .news-swiper-card-fig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .news-swiper-card-title {
  flex-grow: 1;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .news-swiper-card-title {
    font-size: 3.3333333333vw;
  }
}
#home .news-swiper-card-date {
  color: var(--bk40);
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .news-swiper-card-date {
    font-size: 2.5vw;
  }
}
@media (max-width: 768px) {
  #home .program .container {
    padding-right: 0;
  }
}
#home .program .section-title::before {
  mask-image: url("../images/title_program.svg");
}
#home .program-swiper-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 20rem;
  height: auto;
  margin-right: 2rem;
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  #home .program-swiper-card {
    gap: 1.6666666667vw;
    width: 37.5vw;
    margin-right: 3.3333333333vw;
  }
}
@media (any-hover: hover) {
  #home .program-swiper-card:hover .program-swiper-card-fig::before, #home .program-swiper-card:focus-visible .program-swiper-card-fig::before {
    border-color: var(--mBlue);
  }
  #home .program-swiper-card:hover .program-swiper-card-fig::after, #home .program-swiper-card:focus-visible .program-swiper-card-fig::after {
    opacity: 1;
    transform: scale(1);
  }
  #home .program-swiper-card:hover .program-swiper-card-fig img, #home .program-swiper-card:focus-visible .program-swiper-card-fig img {
    filter: brightness(0.75);
  }
}
#home .program-swiper-card-fig {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--wh);
}
@media (max-width: 768px) {
  #home .program-swiper-card-fig {
    border-radius: 1.6666666667vw;
  }
}
#home .program-swiper-card-fig::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 1px solid var(--bk10);
  border-radius: 0.5rem;
  transition: border 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .program-swiper-card-fig::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 2;
  border: 2px solid var(--wh);
  border-radius: 0.375rem;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1), transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
  pointer-events: none;
}
#home .program-swiper-card-fig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .program-swiper-card-title {
  flex-grow: 1;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .program-swiper-card-title {
    font-size: 2.9166666667vw;
  }
}
#home .program-swiper-card-date {
  color: var(--bk40);
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .program-swiper-card-date {
    font-size: 2.5vw;
  }
}
@media (max-width: 768px) {
  #home .casts .container {
    padding-right: 0;
  }
}
#home .casts .section-title::before {
  mask-image: url("../images/title_casts.svg");
}
#home .casts-swiper {
  width: 68.25rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #home .casts-swiper {
    width: auto;
  }
}
#home .casts-swiper-card {
  display: flex;
  flex-direction: column;
  width: 11.25rem;
  height: auto;
  margin-right: 3rem;
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  #home .casts-swiper-card {
    width: 37.5vw;
    margin-right: 3.3333333333vw;
  }
}
@media (any-hover: hover) {
  #home .casts-swiper-card:hover .casts-swiper-card-fig::before, #home .casts-swiper-card:focus-visible .casts-swiper-card-fig::before {
    border-color: var(--tPink);
  }
  #home .casts-swiper-card:hover .casts-swiper-card-fig::after, #home .casts-swiper-card:focus-visible .casts-swiper-card-fig::after {
    opacity: 1;
    transform: scale(1);
  }
  #home .casts-swiper-card:hover .casts-swiper-card-fig img, #home .casts-swiper-card:focus-visible .casts-swiper-card-fig img {
    filter: brightness(0.75);
  }
}
#home .casts-swiper-card-fig {
  position: relative;
  width: 100%;
  aspect-ratio: 9/10;
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--wh);
}
@media (max-width: 768px) {
  #home .casts-swiper-card-fig {
    border-radius: 1.6666666667vw;
  }
}
#home .casts-swiper-card-fig::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 1px solid var(--bk10);
  border-radius: 0.5rem;
  transition: border 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .casts-swiper-card-fig::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 2;
  border: 2px solid var(--wh);
  border-radius: 0.375rem;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1), transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
  pointer-events: none;
}
#home .casts-swiper-card-fig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .casts-swiper-card-name {
  flex-grow: 1;
  margin-top: 1rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .casts-swiper-card-name {
    margin-top: 1.6666666667vw;
    font-size: 3.75vw;
  }
}
#home .casts-swiper-card-read {
  color: var(--bk40);
  font-size: 0.875rem;
  text-align: center;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .casts-swiper-card-read {
    font-size: 2.5vw;
  }
}
@media (max-width: 768px) {
  #home .events .container {
    padding-right: 0;
  }
}
#home .events .section-title::before {
  mask-image: url("../images/title_events.svg");
}
#home .events-swiper-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 20rem;
  height: auto;
  margin-right: 2rem;
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  #home .events-swiper-card {
    gap: 1.6666666667vw;
    width: 37.5vw;
    margin-right: 3.3333333333vw;
  }
}
@media (any-hover: hover) {
  #home .events-swiper-card:hover .events-swiper-card-fig::before, #home .events-swiper-card:focus-visible .events-swiper-card-fig::before {
    border-color: var(--rYellow);
  }
  #home .events-swiper-card:hover .events-swiper-card-fig::after, #home .events-swiper-card:focus-visible .events-swiper-card-fig::after {
    opacity: 1;
    transform: scale(1);
  }
  #home .events-swiper-card:hover .events-swiper-card-fig img, #home .events-swiper-card:focus-visible .events-swiper-card-fig img {
    filter: brightness(0.75);
  }
}
#home .events-swiper-card-fig {
  position: relative;
  width: 100%;
  aspect-ratio: 80/111;
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--wh);
}
@media (max-width: 768px) {
  #home .events-swiper-card-fig {
    border-radius: 1.6666666667vw;
  }
}
#home .events-swiper-card-fig::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 1px solid var(--bk10);
  border-radius: 0.5rem;
  transition: border 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .events-swiper-card-fig::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 2;
  border: 2px solid var(--wh);
  border-radius: 0.375rem;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1), transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
  pointer-events: none;
}
#home .events-swiper-card-fig img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: filter 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .events-swiper-card-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .events-swiper-card-title {
    font-size: 2.9166666667vw;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
  }
}
#home .events-swiper-card-date {
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
  color: var(--bk40);
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .events-swiper-card-date {
    font-size: 2.5vw;
  }
}
#home .information .section-title::before {
  mask-image: url("../images/title_information.svg");
}
#home .information-list {
  width: 56.25rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #home .information-list {
    width: auto;
  }
}
#home .information-list-link {
  position: relative;
  display: flex;
  padding: 1rem 2rem;
  border-bottom: 1px solid var(--bk10);
  font-size: 1rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #home .information-list-link {
    flex-direction: column;
    gap: 0.8333333333vw;
    padding: 3.3333333333vw;
    font-size: 3.3333333333vw;
  }
}
#home .information-list-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--mBlue);
  transform: scale(0, 1);
  transform-origin: 0 0;
  transition: transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
  opacity: 0.2;
}
@media (any-hover: hover) {
  #home .information-list-link:hover::before, #home .information-list-link:focus-visible::before {
    transform: scale(1, 1);
  }
}
#home .information-list-date {
  flex-shrink: 0;
  width: 15rem;
  color: var(--bk50);
}
@media (max-width: 768px) {
  #home .information-list-date {
    width: auto;
  }
}
@media (max-width: 768px) {
  #home .links .container {
    padding-right: 0;
  }
}
#home .links .section-title::before {
  mask-image: url("../images/title_links.svg");
}
#home .links-swiper {
  width: 63rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #home .links-swiper {
    width: auto;
  }
}
#home .links-swiper-card {
  display: flex;
  flex-direction: column;
  width: 15rem;
  height: auto;
  margin-right: 1rem;
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  #home .links-swiper-card {
    width: 50vw;
    margin-right: 3.3333333333vw;
  }
}
@media (any-hover: hover) {
  #home .links-swiper-card:hover .links-swiper-card-fig, #home .links-swiper-card:focus-visible .links-swiper-card-fig {
    opacity: 0.6;
  }
}
#home .links-swiper-card-fig {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background-color: var(--wh);
  transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
#home .links-swiper-card-fig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}