section.eyecatch{
  padding: 0;
  height: clamp(100vw / 21 * 9, 100svh, 100vw / 5 * 4);
  position: relative;
  overflow: hidden;
  .swiper{
    z-index: -1;
    height: 100%;
    .swiper-wrapper{
      height: inherit;
      .swiper-slide{
        height: inherit;
        background-position: center;
        background-size: cover;
        filter: blur(1px) brightness(92%) contrast(105%);
      }
    }
  }
  h1{
    margin: unset;
    position: absolute;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    container-type: inline-size;
    width: 96%;
    left: 2%;
    bottom: max(1.5%, 8px);
    font-weight: 700;
    color: var(--white);
    transform: translate(-0.15vw, 0);
    user-select: none;
    text-shadow: 0 0 0.8vw rgba(0,25,25,0.3);
    span{
      opacity: 0;
      font-size: 9.5vw;
    }
    span.num{
      font-size: 10.5vw;
      letter-spacing: -3.8vw;
      transform: translate(-1.8vw, 0.45vw) scale(1, 1.04);
    }
  }
  h1.SP{
    display: none;;
  }
}
section.eyecatch h1 span.loaded{
  animation: effect 0.5s forwards;
  opacity: 1;
}
@keyframes effect{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
section.news{
  margin-top: var(--L);
}
section.news nav ul{
  display: flex;
  flex-wrap: wrap;
  gap: var(--M) calc(var(--M) * 2);
  margin-bottom: var(--M);
  align-items: center;
  a{
    display: block;
    border-bottom: var(--link-underline-transparent);
  }
  a:hover{
    border-bottom: var(--link-underline);
  }
  .news-date{
    font-size: var(--S);
    color: var(--gray-2);
  }
}
section .sponsors{
  padding: var(--M) 0;
  ul{
    --standard-size: calc(var(--M) * 4.5);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--standard-size), 1fr));
    gap: calc(var(--M) / 1.4);
    justify-items: center;
    li .sponsor-name{
      max-width: calc(var(--standard-size) * 1.4);
      display: grid;
      justify-items: center;
      text-align: center;
      border: unset;
    }
    li .sponsor-name p{
      margin-bottom: unset;
      transition: all 0.1s ease-in-out;
      font-size: var(--S);
      line-height: 1.5;
    }
    li a.sponsor-name:hover p{
      border-bottom: var(--link-underline);
    }
  }
}
@media screen and (max-width: 720px) {
  section.eyecatch{
    h1.SP{
      display: block;
      .num-wrap{
        text-align: right;
      }
      span{
        opacity: 0;
        font-size: 13.2vw;
        letter-spacing: -1.17vw;
      }
      span.num{
        --offset: calc(clamp(5px, -16.61px + 6.75vw, 32px) * -1);
        display: inline-block;
        font-size: 13.4vw;
        letter-spacing: -5vw;
        transform: translate(var(--offset), 3vw) scale(1, 1.03);
      }
    }
    h1.PC{
      display: none;
    }
  }
}