@charset "UTF-8";
.header::before,
.header-logo-wrap,
.header-nav,
.header-language,
.header-fixed [class*=btn-] .btn-in {
  transform: translateY(-80px);
  animation: slideDownHeader 0.6s 1.9s forwards;
}

.home-kv-wrap {
  position: relative;
}
.home-kv-wrap.kv-no-anime .header::before,
.home-kv-wrap.kv-no-anime .header-logo-wrap,
.home-kv-wrap.kv-no-anime .header-nav,
.home-kv-wrap.kv-no-anime .header-language,
.home-kv-wrap.kv-no-anime .header-fixed [class*=btn-] .btn-in,
.home-kv-wrap.kv-no-anime .ticker-in {
  animation-delay: 0.6s;
}
.home-kv-wrap.kv-no-anime .clock {
  animation-delay: 1s;
}
.home-kv-wrap.kv-no-anime .still-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: fadeIn 0.8s 1.4s forwards;
}
.home-kv-wrap.kv-no-anime .still-image .bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-kv-wrap.kv-no-anime .still-image .ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  aspect-ratio: 750/1086;
  max-width: calc(var(--mvHeight) * 1px * 0.6906077348);
}
@media (max-width: 768px) {
  .home-kv-wrap.kv-no-anime .still-image .ttl {
    top: 0;
    transform: translate(-50%, 0%);
    max-width: calc((var(--mvHeight) - var(--mvClockHeight)) * 1px * 0.6906077348);
  }
}
@media (min-width: 769px) {
  .home-kv-wrap.kv-no-anime .still-image .ttl {
    aspect-ratio: 2732/1304;
    max-width: calc(var(--mvHeight) * 1px * 2.0950920245);
  }
}
.home-kv-wrap.kv-no-anime .still-image .ttl img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.home-kv-wrap.kv-no-anime .still-image .btn-mv-ticket {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1.2%;
  width: 40%;
}
@media (min-width: 769px) {
  .home-kv-wrap.kv-no-anime .still-image .btn-mv-ticket {
    bottom: 1.6%;
    width: 17%;
  }
}
.home-kv-wrap.kv-no-anime .still-image .btn-mv-ticket a {
  display: block;
}
.home-kv-wrap.kv-no-anime .still-image .btn-mv-ticket img {
  width: 100%;
}

/* === メインビジュアル
==================================== */
.mv {
  position: relative;
  height: 100vh;
  height: 100svh;
  background: #003f99;
  display: flex;
  flex-direction: column;
  padding-top: 60px;
  margin-top: -60px;
}
@media (min-width: 769px) {
  .mv {
    padding-top: 80px;
    margin-top: -80px;
  }
}
.mv .mv-in {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mv .mv-ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}
.mv.no-player .mv-ttl {
  width: 95%;
  height: 95%;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .mv .mv-ttl {
    width: 100%;
    height: 93%;
    top: 0;
    transform: translate(-50%, 0%);
  }
}
.mv .mv-player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  animation: fadeIn 1s 1.9s forwards;
}
.mv .mv-player [class*=pl-] {
  position: absolute;
  transition: left 0.8s 0.8s, right 0.8s 0.8s;
}
@media (min-width: 769px) {
  .mv .mv-player [class*=pl-] {
    max-height: 100%;
  }
  .mv .mv-player [class*=pl-] img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
.mv .mv-player .pl-01 {
  top: -2.4vw;
  left: 7.7333333333vw;
  width: 100vw;
}
@media (min-width: 769px) {
  .mv .mv-player .pl-01 {
    top: 50%;
    transform: translateY(-50%);
    left: 38%;
    width: 54.0263543192vw;
    height: 35.6515373353vw;
    margin-top: -11px;
  }
}
.mv .mv-player .pl-02 {
  top: 23.2vw;
  left: -9.3333333333vw;
  width: 88vw;
}
@media (min-width: 769px) {
  .mv .mv-player .pl-02 {
    top: 50%;
    transform: translateY(-50%);
    left: 0%;
    width: 43.9238653001vw;
    height: 36.7496339678vw;
    margin-top: -17px;
  }
}
.mv .mv-player .pl-03 {
  top: 30.6666666667vw;
  right: -11.7333333333vw;
  width: 64.8vw;
}
@media (min-width: 769px) {
  .mv .mv-player .pl-03 {
    top: 50%;
    transform: translateY(-50%);
    right: auto;
    left: 42%;
    width: 29.7218155198vw;
    height: 39.8243045388vw;
    margin-top: -39px;
  }
}
.mv .mv-player.anim-start .pl-01 {
  left: -8.5333333333vw;
}
@media (min-width: 769px) {
  .mv .mv-player.anim-start .pl-01 {
    left: 32%;
  }
}
.mv .mv-player.anim-start .pl-02 {
  left: -2.6666666667vw;
}
@media (min-width: 769px) {
  .mv .mv-player.anim-start .pl-02 {
    left: 8%;
  }
}
.mv .mv-player.anim-start .pl-03 {
  right: -5.0666666667vw;
}
@media (min-width: 769px) {
  .mv .mv-player.anim-start .pl-03 {
    left: 38%;
  }
}
.mv .mv-txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
}
.mv.no-player .mv-txt {
  height: 100%;
}

.mv.add-player .mv-txt {
  position: absolute;
  top: 64vw;
}
@media (min-width: 769px) {
  .mv.add-player .mv-txt {
    top: 50%;
    margin-top: -75px;
  }
}

.mv .mv-txt span {
  width: 100%;
  overflow: hidden;
}
.mv .mv-txt img {
  z-index: 10;
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
  transform: translateY(101%);
  animation: hoverTextShowup 0.6s 2.4s cubic-bezier(1, -0.04, 1, 1) forwards;
}
.mv .mv-txt .mv-txt-torayppo {
  height: 8.2723279649vw;
}
.mv .mv-txt .mv-txt-toray {
  height: 16vw;
  height: 7.3891625616vh;
}
.mv.no-player .mv-txt-toray {
  height: 8.9955022489vh;
}

.mv .mv-txt .mv-txt-ppo {
  height: 16vw;
  height: 7.3891625616vh;
  margin-top: 17px;
}
.mv.no-player .mv-txt-ppo {
  height: 8.9955022489vh;
}

.mv .mv-txt .mv-txt-tennis {
  margin-top: 17px;
  height: 16vw;
  height: 7.3891625616vh;
}
.mv.no-player .mv-txt-tennis {
  height: 8.9955022489vh;
}

@media (min-width: 769px) {
  .mv .mv-txt .mv-txt-tennis {
    margin-top: 30px;
    height: 8.2723279649vw;
  }
}
.mv .mv-txt .mv-txt-2023 {
  height: 10.6666666667vw;
  height: 4.9261083744vh;
  margin-top: 34px;
}
@media (min-width: 769px) {
  .mv .mv-txt .mv-txt-2023 {
    margin-top: 22px;
    height: 4.0263543192vw;
  }
}
.mv.no-player .mv-txt-2023 {
  height: 10.6666666667vw;
  height: 5.9970014993vh;
  margin-top: 34px;
}
@media (min-width: 769px) {
  .mv.no-player .mv-txt-2023 {
    margin-top: 38px;
    height: 4.7584187408vw;
  }
}

.mv [class*=mv-bg] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: fadeIn 0.2s 0s forwards;
}
@media (min-width: 769px) {
  .mv [class*=mv-bg] {
    width: calc(100% - 100px);
    left: 50px;
  }
}
@media (min-width: 769px) {
  .mv.no-player [class*=mv-bg] {
    width: 100%;
    left: 0;
  }
}

.mv .mv-bg1 {
  background: url(../images/home/mv2023/mv-sp-1.png) center/cover no-repeat;
  animation-delay: 0.5s;
}
@media (min-width: 769px) {
  .mv .mv-bg1 {
    background: url(../images/home/mv2023/mv-pc-1.png) center/cover no-repeat;
  }
}
.mv .mv-bg2 {
  background: url(../images/home/mv2023/mv-sp-2.png) center/cover no-repeat;
  animation-delay: 0.7s;
}
@media (min-width: 769px) {
  .mv .mv-bg2 {
    background: url(../images/home/mv2023/mv-pc-2.png) center/cover no-repeat;
  }
}
.mv .mv-bg3 {
  background: url(../images/home/mv2023/mv-sp-3.png) center/cover no-repeat;
  animation-delay: 0.9s;
}
@media (min-width: 769px) {
  .mv .mv-bg3 {
    background: url(../images/home/mv2023/mv-pc-3.png) center/cover no-repeat;
  }
}
.mv .mv-bg4 {
  background: url(../images/home/mv2023/mv-sp-4.png) center/cover no-repeat;
  animation-delay: 1.1s;
}
@media (min-width: 769px) {
  .mv .mv-bg4 {
    background: url(../images/home/mv2023/mv-pc-4.png) center/cover no-repeat;
  }
}
.mv .mv-bg5 {
  background: url(../images/home/mv2023/mv-sp-5.png) center/cover no-repeat;
  animation-delay: 1.3s;
}
@media (min-width: 769px) {
  .mv .mv-bg5 {
    background: url(../images/home/mv2023/mv-pc-5.png) center/cover no-repeat;
  }
}
.mv.no-player .mv-bg1 {
  background: url(../images/home/mv2023/no-player/mv-sp-1.png) center/cover no-repeat;
  animation-delay: 0.5s;
}
@media (min-width: 769px) {
  .mv.no-player .mv-bg1 {
    background: url(../images/home/mv2023/no-player/mv-pc-1.png) center/cover no-repeat;
  }
}
.mv.no-player .mv-bg2 {
  background: url(../images/home/mv2023/no-player/mv-sp-2.png) center/cover no-repeat;
  animation-delay: 0.7s;
}
@media (min-width: 769px) {
  .mv.no-player .mv-bg2 {
    background: url(../images/home/mv2023/no-player/mv-pc-2.png) center/cover no-repeat;
  }
}
.mv.no-player .mv-bg3 {
  background: url(../images/home/mv2023/no-player/mv-sp-3.png) center/cover no-repeat;
  animation-delay: 0.9s;
}
@media (min-width: 769px) {
  .mv.no-player .mv-bg3 {
    background: url(../images/home/mv2023/no-player/mv-pc-3.png) center/cover no-repeat;
  }
}
.mv.no-player .mv-bg4 {
  background: url(../images/home/mv2023/no-player/mv-sp-4.png) center/cover no-repeat;
  animation-delay: 1.1s;
}
@media (min-width: 769px) {
  .mv.no-player .mv-bg4 {
    background: url(../images/home/mv2023/no-player/mv-pc-4.png) center/cover no-repeat;
  }
}
.mv.no-player .mv-bg5 {
  background: url(../images/home/mv2023/no-player/mv-sp-5.png) center/cover no-repeat;
  animation-delay: 1.3s;
}
@media (min-width: 769px) {
  .mv.no-player .mv-bg5 {
    background: url(../images/home/mv2023/no-player/mv-pc-5.png) center/cover no-repeat;
  }
}

.mv .clock {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  animation: fadeIn 0.6s 1.9s forwards;
}
.mv .clock-in {
  position: relative;
  background: #F929C7;
  color: #fff;
  padding: 10px 10px 12px 15px;
  border-radius: 0 10px 0 0;
  display: flex;
  align-items: flex-end;
}
@media (min-width: 769px) {
  .mv .clock-in {
    padding: 18px 20px 15px 23px;
  }
}
.mv .normal-clock .clock-in {
  align-items: center;
  padding-left: 20px;
}
@media (max-width: 768px) {
  .mv .normal-clock .clock-in {
    padding-left: 15px;
  }
}
.mv .normal-clock .clock-countdown-days {
  display: none;
}
.mv .normal-clock .clock-head {
  font-size: 11px;
}
@media (max-width: 768px) {
  .mv .normal-clock .clock-head {
    font-size: 14px;
  }
}
.mv .clock-countdown-days {
  display: none;
  position: relative;
  margin: 0 20px 0 0;
}
@media (min-width: 769px) {
  .mv .clock-countdown-days {
    margin: 0 35px 0 10px;
  }
}
.mv .clock-countdown-days .clock-days {
  display: flex;
  align-items: flex-end;
  gap: 5px;
}
@media (min-width: 769px) {
  .mv .clock-countdown-days .clock-days {
    gap: 4px;
  }
}
.mv .clock-countdown-days img {
  width: auto;
  height: 28px;
}
@media (min-width: 769px) {
  .mv .clock-countdown-days img {
    height: 35px;
  }
}
.mv .clock-countdown-days .day-txt {
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}
@media (min-width: 769px) {
  .mv .clock-countdown-days .day-txt {
    font-size: 25px;
  }
}
.mv .clock-countdown-days .fukidashi {
  position: absolute;
  top: -55px;
  left: -5px;
  width: 70px;
  height: 42px;
  border-radius: 3px;
  background: #fff;
  color: #F929C7;
  padding: 3px 5px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.21428571;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 769px) {
  .mv .clock-countdown-days .fukidashi {
    top: -70px;
    left: -5px;
    width: 92px;
    height: 53px;
    font-size: 16px;
    line-height: 1.1875;
  }
}
.mv .clock-countdown-days .fukidashi::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 14px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 15px 15px 0;
  border-color: transparent #fff transparent transparent;
  transform: rotate(6deg);
}
.mv .clock-info {
  display: none;
  font-family: "Work Sans", sans-serif;
  font-weight: bold;
  font-size: 12px;
  margin-right: 15px;
}
@media (min-width: 769px) {
  .mv .clock-info {
    font-size: 15px;
    margin-right: 20px;
  }
}
.mv .clock-info .head {
  display: flex;
  justify-content: space-between;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}
@media (min-width: 769px) {
  .mv .clock-info .head {
    margin-top: 6px;
    margin-bottom: 3px;
  }
}
.mv .clock-info .date {
  font-size: 16px;
  letter-spacing: 0.025em;
}
@media (min-width: 769px) {
  .mv .clock-info .date {
    font-size: 20px;
  }
}
.mv .clock-head {
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: flex-end;
  margin-bottom: 10px;
  letter-spacing: 0.05em;
}
@media (min-width: 769px) {
  .mv .clock-head {
    font-size: 15px;
  }
}
.mv .clock-head .hdtxt1 {
  position: relative;
  padding-right: 1em;
  margin-right: 1em;
  border-right: 1px solid;
}
.mv .clock-head .clock-week {
  padding-left: 5px;
  padding-right: 13px;
  text-transform: uppercase;
}
.mv .clock-head .logo-seiko {
  width: 80px;
  margin-left: 8px;
}
@media (min-width: 769px) {
  .mv .clock-head .logo-seiko {
    width: 90px;
  }
}
.mv .clock-num {
  width: calc(100% - 10px);
  max-width: 190px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}
@media (min-width: 769px) {
  .mv .clock-num {
    width: 100%;
    max-width: 210px;
    gap: 6px;
  }
}
.mv .clock-num [class*=clock-] img {
  min-width: 10px;
  width: auto;
  height: 35px;
}
.mv .clock-num .clock-days,
.mv .clock-num .clock-hours,
.mv .clock-num .clock-minutes,
.mv .clock-num .clock-seconds {
  display: flex;
  align-items: center;
  gap: 3px;
}
.mv .clock-num .dot {
  display: block;
  background: url(../images/home/clock-dot.svg) center/5px auto no-repeat;
  width: 10px;
  height: 30px;
}
@media (min-width: 769px) {
  .mv .clock-num .dot {
    width: 5px;
    height: 35px;
  }
}
.mv .clock-num .time-num {
  display: block;
  width: 22px;
  height: 30px;
}
@media (min-width: 769px) {
  .mv .clock-num .time-num {
    width: 24px;
    height: 35px;
  }
}
.mv .clock-num .time-num0 {
  background: url(../images/home/clock-num-0.svg) center bottom/auto 100% no-repeat;
}
.mv .clock-num .time-num1 {
  background: url(../images/home/clock-num-1.svg) center bottom/auto 100% no-repeat;
}
.mv .clock-num .time-num2 {
  background: url(../images/home/clock-num-2.svg) center bottom/auto 100% no-repeat;
}
.mv .clock-num .time-num3 {
  background: url(../images/home/clock-num-3.svg) center bottom/auto 100% no-repeat;
}
.mv .clock-num .time-num4 {
  background: url(../images/home/clock-num-4.svg) center bottom/auto 100% no-repeat;
}
.mv .clock-num .time-num5 {
  background: url(../images/home/clock-num-5.svg) center bottom/auto 100% no-repeat;
}
.mv .clock-num .time-num6 {
  background: url(../images/home/clock-num-6.svg) center bottom/auto 100% no-repeat;
}
.mv .clock-num .time-num7 {
  background: url(../images/home/clock-num-7.svg) center bottom/auto 100% no-repeat;
}
.mv .clock-num .time-num8 {
  background: url(../images/home/clock-num-8.svg) center bottom/auto 100% no-repeat;
}
.mv .clock-num .time-num9 {
  background: url(../images/home/clock-num-9.svg) center bottom/auto 100% no-repeat;
}
.mv .countdown-clock .clock-fukidashi {
  display: inline-block;
}
.mv .countdown-clock .clock-num {
  display: none;
}
@media (max-width: 768px) {
  .mv .countdown-clock .clock-in {
    min-width: 300px;
    padding: 17px 5px 6px 8px;
  }
}
@media (min-width: 769px) {
  .mv .countdown-clock .clock-in {
    min-width: 340px;
  }
}
.mv .countdown-clock .day {
  padding: 20px 1px 0 0;
}
.mv .no-clock .clock-countdown-days,
.mv .no-clock .clock-time {
  display: none !important;
}
.mv .no-clock .clock-in {
  width: 313px;
  height: 84px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 769px) {
  .mv .no-clock .clock-in {
    width: 351px;
    height: 92px;
  }
}
.mv .no-clock .clock-info .head {
  font-size: 30px;
  margin: 5px 0 0;
}
.mv .no-clock .clock-info .date {
  font-size: 40px;
  margin-top: -5px;
}

/* === ニュースティッカー
==================================== */
.ticker {
  height: 31px;
}
@media (min-width: 769px) {
  .ticker {
    height: 34px;
  }
}
.ticker-in {
  transform: translateY(100%);
  animation: slideUp 0.6s 1.9s forwards;
  width: 100%;
  overflow: hidden;
  padding: 8px 0 11px;
  background: #fff;
}
@media (min-width: 769px) {
  .ticker-in {
    padding: 10px 0 11px;
  }
}
.ticker .ticker-slide {
  color: #002AF1;
  line-height: 1;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
}
@media (min-width: 769px) {
  .ticker .ticker-slide {
    font-size: 13px;
  }
}
.ticker .slide-item {
  padding: 0 10px;
  opacity: 0;
}
.ticker .infiniteslide_wrap .slide-item {
  animation: fadeIn 0.3s 0s forwards;
}

/* === サブバナー
==================================== */
.sub_bnr {
  margin-top: 40px;
}
@media (min-width: 769px) {
  .sub_bnr {
    margin: 80px auto 0;
    width: 87.5549048316vw;
  }
}
.sub_bnr .sub_bnr-in {
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 769px) {
  .sub_bnr .sub_bnr-in {
    padding: 0;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px 36px;
  }
  .sub_bnr .sub_bnr-in .bnr {
    width: calc((100% - 36px) / 2);
  }
}

.sub_bnr + .main_bnr {
  margin-top: 40px;
}
@media (min-width: 769px) {
  .sub_bnr + .main_bnr {
    margin-top: 80px;
  }
}

/* === メインバナー
==================================== */
.main_bnr {
  margin-top: 60px;
}
@media (min-width: 769px) {
  .main_bnr {
    margin-top: 150px;
  }
}
.main_bnr .main_bnr-in {
  width: 100%;
  overflow: hidden;
}
.main_bnr .main_bnr-swiper {
  width: 335px;
  margin: 0 auto;
  overflow: visible;
}
@media (min-width: 769px) {
  .main_bnr .main_bnr-swiper {
    width: 51.6105417277vw;
  }
}
.main_bnr .swiper-slide {
  aspect-ratio: 705/400;
}
.main_bnr .swiper-slide a {
  display: block;
  aspect-ratio: 705/400;
}
.main_bnr .swiper-slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.main_bnr .slider-controller {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 47px;
  margin-top: 26px;
}
@media (min-width: 769px) {
  .main_bnr .slider-controller {
    gap: 72px;
    margin-top: 40px;
  }
}
.main_bnr .slider-controller .swiper-counter {
  position: relative;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: auto;
  display: flex;
  color: transparent;
  font-size: 13px;
  font-weight: 700;
}
.main_bnr .slider-controller .swiper-counter .swiper-pagination-current,
.main_bnr .slider-controller .swiper-counter .swiper-pagination-total {
  display: inline-block;
  min-width: 18px;
  color: #002AF1;
}
.main_bnr .slider-controller .swiper-counter .swiper-pagination-current {
  position: relative;
  text-align: right;
  margin-right: 20px;
}
.main_bnr .slider-controller .swiper-counter .swiper-pagination-current::after {
  content: "";
  position: absolute;
  top: 1px;
  right: -19px;
  width: 14px;
  height: 14px;
  border-top: 1px solid;
  transform: rotate(-45deg);
  transform-origin: right top;
}
.main_bnr .slider-controller .swiper-btn-prev,
.main_bnr .slider-controller .swiper-btn-next {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background: #002AF1;
  cursor: pointer;
}
.main_bnr .slider-controller .swiper-btn-prev span,
.main_bnr .slider-controller .swiper-btn-next span {
  display: block;
  position: absolute;
  top: 0;
  left: 1px;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-mask: url(../images/common/arrow.svg) center/8px auto no-repeat;
  mask: url(../images/common/arrow.svg) center/8px auto no-repeat;
}
.main_bnr .slider-controller .swiper-btn-prev {
  transform: scale(-1, 1);
}

/* === TOPICS
==================================== */
.topics {
  padding: 65px 0 80px;
}
@media (min-width: 769px) {
  .topics {
    padding: 113px 0 138px;
  }
}

.topics-list {
  margin: 27px 20px 0;
}
@media (min-width: 769px) {
  .topics-list {
    margin: 9px auto 0;
    width: 87.5549048316vw;
  }
}

/* === MOVIE
==================================== */
.movie {
  background: #002AF1;
  color: #fff;
  padding: 64px 20px 76px;
}
@media (min-width: 769px) {
  .movie {
    padding: 83px 0 116px;
  }
}

.movie-ttl {
  opacity: 0.18;
}

.movie-wrap {
  margin-top: 19px;
}
@media (min-width: 769px) {
  .movie-wrap {
    display: flex;
    align-items: flex-start;
    width: 87.5549048316vw;
    margin: 15px auto 0;
    gap: 56px;
  }
}

.movie-play-area {
  position: relative;
  aspect-ratio: 16/9;
  width: 100%;
}
@media (min-width: 769px) {
  .movie-play-area {
    flex: 1;
  }
}
.movie-play-area .yt {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.4s;
  width: 100%;
  height: 100%;
}
.movie-play-area .yt.is-active {
  z-index: 2;
  opacity: 1;
}
.movie-play-area iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}

.movie-list {
  margin-top: 21px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 769px) {
  .movie-list {
    margin-top: 0;
    gap: 30px;
    width: max(27.9648609078vw, 250px);
  }
}
.movie-list button {
  display: flex;
  align-items: center;
  gap: 17px;
  color: #fff;
  width: 100%;
}
@media (min-width: 769px) {
  .movie-list button {
    transition: opacity 0.4s;
  }
  .movie-list button:hover {
    opacity: 0.6;
    color: inherit;
  }
}
.movie-list .text {
  flex: 1;
}
.movie-list .date {
  font-size: 14px;
}
@media (min-width: 769px) {
  .movie-list .date {
    margin-bottom: 10px;
  }
}
.movie-list .title {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media (min-width: 769px) {
  .movie-list .title {
    font-size: 13px;
    line-height: 1.76923077;
  }
}
.movie-list .thumbnail {
  position: relative;
  aspect-ratio: 150/84;
  border-radius: 3px;
  width: 45%;
  margin-bottom: 0;
}
@media (min-width: 769px) {
  .movie-list .thumbnail {
    width: 39.3%;
  }
}
.movie-list .thumbnail::before {
  z-index: 10;
  content: "";
  width: 22px;
  height: 22px;
  position: absolute;
  left: 8px;
  bottom: 4px;
  background: url(../images/common/icon-play.svg) center/100% no-repeat;
}
.movie-list .thumbnail::after {
  z-index: 5;
  content: "PLAY NOW";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Work Sans", sans-serif;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  background: rgba(18, 18, 18, 0.4);
  color: #fff;
  opacity: 0;
}
.movie-list .is-active .thumbnail::after {
  opacity: 1;
}

.movie-viewmore {
  margin-top: 30px;
  overflow: hidden;
  text-align: right;
}
@media (min-width: 769px) {
  .movie-viewmore {
    width: 87.5549048316vw;
    margin: 35px auto 0;
  }
}
.movie-viewmore a {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  gap: 45px;
}
@media (min-width: 769px) {
  .movie-viewmore a {
    gap: 33px;
  }
}
.movie-viewmore .txt {
  display: inline-block;
  font-family: "Work Sans", sans-serif;
  font-size: 16px;
  font-weight: 800;
}
@media (min-width: 769px) {
  .movie-viewmore .txt {
    font-size: 18px;
  }
}
.movie-viewmore .arrow-right {
  display: inline-block;
  width: 6px;
  height: 9px;
  background: url(../images/common/arrow.svg) right center/contain no-repeat;
}
@media (min-width: 769px) {
  .movie-viewmore .arrow-right {
    width: 8px;
    height: 12px;
  }
}

/* === インスタグラム
==================================== */
.instagram {
  padding: 97px 0 108px;
}
@media (min-width: 769px) {
  .instagram {
    padding: 112px 0 140px;
  }
}
@media (max-width: 768px) {
  .instagram .instagram-ttl span {
    font-size: 47px;
  }
}
@media (min-width: 769px) {
  .instagram .cmn-btn {
    margin-top: 26px;
  }
}

.instagram-gallery {
  margin-top: 22px;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 769px) {
  .instagram-gallery {
    margin-top: -50px;
  }
}
.instagram-gallery .instagram-swiper {
  width: 56%;
  overflow: visible;
}
@media (min-width: 769px) {
  .instagram-gallery .instagram-swiper {
    width: 320px;
  }
}
.instagram-gallery .swiper-wrapper {
  transition-timing-function: linear;
}
.instagram-gallery .swiper-slide:nth-child(even) {
  margin-top: 67px;
}
@media (min-width: 769px) {
  .instagram-gallery .swiper-slide:nth-child(even) {
    margin-top: 103px;
  }
}
.instagram-gallery .swiper-slide a {
  display: block;
  aspect-ratio: 1/1;
  background: #fff;
}
.instagram-gallery .swiper-slide a img,
.instagram-gallery .swiper-slide a video {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* === WOMEN'S TENNIS NEWS
==================================== */
.tennis_news {
  padding: 75px 20px 88px;
  background: #fff;
}
@media (min-width: 769px) {
  .tennis_news {
    position: relative;
    padding: 148px 6.2225475842vw;
    width: 100%;
    overflow: hidden;
  }
}

@media (min-width: 769px) {
  .tennis_news-ttl {
    text-align: left;
  }
}

.tennis_news-ttl span {
  font-size: 49px;
}
@media (max-width: 768px) {
  .tennis_news-ttl span {
    font-size: 47px;
  }
}

.tennis_news-circle {
  position: absolute;
  top: 0;
  right: 0;
  width: 440px;
  height: 100%;
  overflow: hidden;
}
.tennis_news-circle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -546px;
  width: 1093px;
  height: 1093px;
  animation: rotation 55s linear infinite;
  animation-direction: reverse;
  background: url(../images/home/tennis_news-circle.png) center left/1093px no-repeat;
}

.tennis_news-list {
  margin-top: 29px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 769px) {
  .tennis_news-list {
    margin-top: 38px;
    width: 100%;
    max-width: max(53.0014641288vw, 724px);
    gap: 0;
  }
}
.tennis_news-list li {
  padding-bottom: 8px;
  border-bottom: 1px solid #D7DBE3;
}
@media (min-width: 769px) {
  .tennis_news-list li {
    padding-bottom: 0;
  }
}
.tennis_news-list a {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media (min-width: 769px) {
  .tennis_news-list a {
    gap: 30px;
  }
}
.tennis_news-list .thumbnail {
  width: 33%;
  margin-bottom: 0;
}
@media (min-width: 769px) {
  .tennis_news-list .thumbnail {
    width: 34%;
    aspect-ratio: 246/140;
  }
}
.tennis_news-list .text {
  position: relative;
  flex: 1;
  padding-right: 24px;
}
@media (min-width: 769px) {
  .tennis_news-list .text {
    padding-right: 43px;
  }
}
.tennis_news-list .text::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 8px;
  height: 100%;
  background: #002AF1;
  -webkit-mask: url(../images/common/arrow.svg) right center/8px auto no-repeat;
  mask: url(../images/common/arrow.svg) right center/8px auto no-repeat;
}
.tennis_news-list .date {
  font-size: 10px;
}
@media (min-width: 769px) {
  .tennis_news-list .date {
    font-size: 13px;
  }
}
.tennis_news-list .title {
  font-size: 14px;
  line-height: 1.71428571;
}
@media (min-width: 769px) {
  .tennis_news-list .title {
    font-size: 16px;
    line-height: 1.75;
  }
}
.tennis_news-list .link-disabled {
  pointer-events: none;
}
.tennis_news-list .link-disabled .text::after {
  display: none;
}

/* === スポンサー
==================================== */
@media (max-width: 768px) {
  .sponsor {
    padding-bottom: 40px;
  }
}
@media (min-width: 769px) {
  .sponsor {
    padding-top: 110px;
    padding-bottom: 60px;
  }
}

@media (min-width: 769px) {
  .sponsor-ttl span {
    font-size: clamp(113px, 10.102489019vw, 138px);
  }
}

/* === 会場情報
==================================== */
.access {
  padding: 0 20px 90px;
}
@media (min-width: 769px) {
  .access {
    padding: 0 0 150px;
    width: 87.5549048316vw;
    margin: 0 auto;
  }
}
.access-in {
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .access-in {
    flex-direction: row;
  }
}
.access .info-box {
  padding: 40px 33px 40px 38px;
  background: #002AF1;
  color: #fff;
}
@media (min-width: 769px) {
  .access .info-box {
    width: 50%;
    min-width: 380px;
    padding: 56px 4.3191800878vw 42px 5.0512445095vw;
  }
}
.access .info-box .ttl {
  font-size: 16px;
  line-height: 1.625;
  font-weight: 700;
  margin-bottom: 30px;
}
@media (min-width: 769px) {
  .access .info-box .ttl {
    font-size: 21px;
  }
}
.access .info-box .txt {
  font-size: 13px;
  line-height: 2;
}
@media (min-width: 769px) {
  .access .info-box .txt {
    font-size: 16px;
    font-weight: 700;
  }
}
.access .info-box .cmn-btn {
  margin-top: 25px;
}
@media (min-width: 769px) {
  .access .info-box .cmn-btn {
    margin-top: 35px;
  }
}
.access .info-box .cmn-btn a {
  border: 1px solid;
}
@media (min-width: 769px) {
  .access .map-box {
    width: 50%;
  }
}
@media (min-width: 769px) {
  .access .map-box-in {
    width: 100%;
    height: 100%;
  }
}
.access .map-box iframe {
  width: 100%;
  height: 250px;
}
@media (min-width: 769px) {
  .access .map-box iframe {
    height: 100%;
  }
}
/*# sourceMappingURL=map/home.css.map */