@charset "UTF-8";
@media screen and (min-width: 1080px) {

  /* ファーストビュー */
  #mainV #FVslider {
    width: 100%;
    height: 56.3vw;
    min-height: initial;
    z-index: 6;
  }


  #mainV {
    margin: 0;
    position: relative;
  }

  #mainV .controllScrollWrap {
    width: 100vw;
    height: auto;
  }

  #mainV #FVslider .controllScrollWrap img {
    width: 100vw;
    height: auto;
    object-fit: cover;
  }

  #mainV #FVslider .controllScrollButtonWrap {
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 95.73vw;
    top: 47%;
  }

  #mainV #FVslider button {
    width: 3.07vw;
    height: 3.07vw;
  }
  #mainV .controllScrollButtonPrev {
    left: 0;
  }
  #mainV .controllScrollButtonNext {
    right: 0;
    left: initial;
  }
  
  #mainV #FVslider button b img  {
    width: auto;
    height: 0.61vw;
  }
  
  #mainV #FVslider button b {
    padding: 0;
  }

  #mainMenu li {
    width: 5.1vw;
    position: relative;
  }
  #mainMenu li::after{
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    position: absolute;
    right: -1px;
    top: 0;
    background: linear-gradient(to bottom, transparent 0%, transparent 10%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, transparent 90%);
    border-radius: 50%;
  }
  #mainMenu li:last-of-type::after{
    display: none;
  }

  #mainMenu li:nth-child(even):not(:last-child),
  #mainMenu li:nth-child(odd):not(:nth-last-child(2)) {
    border-bottom: none;
    border-right: none;
  }

  #mainMenu li:nth-child(odd) {
    padding: 0;
  }


  #mainMenu li a {
    text-align: center;
    color: #000;
  }

  #mainMenu li.textSmall a p {
    font-size: 0.68vw;
    line-height: 1.04vw;
  }

  #mainMenu li:first-of-type a:hover{
    border-radius: 20px 0 0 20px;
  }
  #mainMenu li:last-of-type a:hover{
    border-radius: 0 20px 20px 0;
  }
  #mainMenu li:first-of-type a .iconWrap img {
    width: 1.98vw;
    height: auto;
  }
  #mainMenu li:nth-last-child(2) a:hover {
      border-bottom-left-radius: 0;
  }
  #mainMenu li:first-of-type a:hover .iconWrap img {
    fill: #fff;
  }

  #mainMenu li:first-of-type a:hover .iconWrap g *,
  #mainMenu li:first-of-type a:hover .iconWrap path path * {
    fill: #000;
  }

  #mainMenu li:nth-of-type(2) a .iconWrap img {
    width: 1.84vw;
    height: auto;
  }

  #mainMenu li:nth-of-type(3) a .iconWrap img {
    width: 2.14vw;
    height: auto;
  }

  #mainMenu li:nth-of-type(4) a .iconWrap img {
    width: 1.75vw;
    height: auto;
  }

  #mainMenu li:nth-of-type(5) a .iconWrap img {
    width: 1.92vw;
    height: auto;
  }

  #mainMenu li:nth-of-type(6) a .iconWrap img {
    width: 2.04vw;
    height: auto;
  }

  #mainMenu li:nth-of-type(7) a .iconWrap img {
    width: 2.11vw;
    height: auto;

  }

  #mainMenu li:nth-of-type(7) a .iconWrap img * {
    fill: #000;
  }

  #mainMenu li:nth-of-type(7) a:hover .iconWrap img * {
    fill: #fff;
  }

  #mainMenu li:nth-of-type(8) a .iconWrap img {
    width: 1.88vw;
    height: auto;
  }


  #mainMenu li:first-child a,
  #mainMenu li:last-child a {
    justify-content: start;

  }

  /* メインメニュー */

  #mainMenu {
    position: absolute;
    top: -30vw;
    right: 0;
    left: 0;
    z-index: 15;
    width: 71.98vw;
    height: 8.33vw;
    background-color: #FFF;
    border-radius: 20px;
    margin: 0 auto;
  }

  #mainMenu li:first-child,
  #mainMenu li:last-child {
    width: 8.96vw;
    border-bottom: none;
  }

  #mainMenu li {
    width: 8.96vw;
    height: 8.33vw;


  }

  #mainMenu li a p {
    height: 2.76vw;
    display: flex;
    justify-content: center;
    align-items: center;

  }

  #mainMenu li:nth-child(even),
  #mainMenu li:nth-child(odd) {
    border-bottom: none;
  }

  #mainMenu li:nth-child(even) {
    padding: 0;
  }

  #mainMenu li:last-child,
  #mainMenu li:first-child {
    height: auto;
  }

  #mainMenu li:nth-child(odd) a,
  #mainMenu li:nth-child(even) a {
    padding: 0;
  }

  #mainMenu li a {
    flex-direction: column;
    border-right: 1px solid;
    border-image: linear-gradient(to bottom, transparent 10%, transparent 10%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, transparent 0%, transparent 90%);
    border-image-slice: 1;
  }

  #mainMenu li:last-of-type a {
    border: none;
  }

  #mainMenu li a p {
    font-size: 0.94vw;
    line-height: 1.2vw;
  }

  #mainMenu li a .iconWrap {
    justify-content: center;
    width: 100%;
    padding: 1vw 0 0;
    height: 4.18vw;
  }

  #mainMenu li a .iconWrap img {
    width: auto;
    height: 1.87vw;
  }


  /* ファーストビュー */
  .innerContent .iconTtl img {
    margin: 0 1.75vw -.25vw 0;
    width: 3.27vw;
  }


  #newsWrap .controllScrollWrap,
  #eventList .controllScrollWrap,
  #Village .controllScrollWrap {
    width: 85.73vw;
    width: 86.05vw;
    padding: 0;
  }

  #topSlideInclude li {
    margin-right: 2.6vw;
  }

  #topSlideInclude li:last-child {
    padding-right: 20vw;
  }


  .controllScrollWrap>ul {
    padding-left: 0;
    height: auto;
  }

  .controllScrollWrap a::after {
    right: 0;
    bottom: 0;
    width: 1.1vw;
    height: 1.1vw;
    background-image: url(/2026/top/assets/img/top/arrowRightDownBlock.svg);
    background-size: .9vw;
    background-position: left top;
  }

  /* .controllScrollWrap>ul li {
    margin-right: 2vw;
  } */

  .controllScrollBarOver {
    margin-top: 2.8vw;
    display: flex;
    height: 5vw;
  }

  .controllScrollBar {
    width: 56.5vw;
    cursor: pointer;
  }

  .controllScrollBarActive {
    cursor: pointer;
  }

  .controllScrollButtonWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 35vw;
    top: 42%;
  }

  .controllScrollButtonNext b img {
    width: .62vw;
  }

  .controllScrollButtonNext {
    left: 84vw;
  }

  .controllScrollButtonPrev,
  .controllScrollButtonNext {
    border-radius: 3vw;
    width: 3vw;
    height: 3vw;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .6s;
  }

  .controllScrollButtonPrev:hover,
  .controllScrollButtonNext:hover {
    border-width: 3px;
  }

  .controllScrollButtonPrev:active,
  .controllScrollButtonNext:active {
    background: rgba(0, 0, 0, .2);
  }

  .controllScrollButtonPrev b,
  .controllScrollButtonNext b {
    transition: all .6s;
  }

  /* content */
  .innerContent {
    position: relative;
  }

  .innerContent .controllScrollWrap .controllScrollItemWrap {
    margin: 0 0 0 14vw;
    padding: 0;
    height: 20.78vw;
  }

  .innerContent h2 {
    margin: 2vw 0 4vw;
    font-size: 2.5vw;
    font-weight: 400;
    letter-spacing: -.2vw;
  }

  .innerContent h2 img {
    width: 3vw;
    margin-right: 2vw;
  }

  .innerContent p {
    font-size: initial;
    line-height: 1.6vw;

  }

  .innerContent .controllScrollButtonNext {
    position: absolute;
    right: -2.5vw;
    top: 50%;
    right: -53.5vw;
    background-color: #000;
    color: #FFF;
    height: 4.32vw;
    width: 4.32vw;
  }

  /* .tabContent {
    height: 30.78vw;
    padding: 0;
    margin: 4.25vw 0 5.95vw;
  } */
   
  #topBannerWrap{
    display: block;
    width: 74.02vw;
    height: 25.38vw;
    margin: 8.5vw 0 -7.31vw 14.01vw;
  }

  .topBanner {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    /* background-repeat: no-repeat;
    background-image: url(/2026/top/assets/img/top/firstBikersBnrPcBase.png);
    background-position: top;
    background-size: contain; */
  }

  #topBanner01 {
    position: absolute;
    width: 7.02vw;
    top: 0vw;
    left: 9vw;
    transition: all .6s;
    z-index: 4;

  }

  #topBanner02 {
    position: absolute;
    width: 10.05vw;
    top: 4vw;
    left: 15vw;
    transition: all .6s;
    z-index: 4;
  }

  #topBanner03 {
    position: absolute;
    width: 5.47vw;
    left: 46.5vw;
    top: 3vw;
    transition: all .6s;
    z-index: 4;
  }

  #topBanner04 {
    position: absolute;
    position: absolute;
    width: 14.95vw;
    left: 46.5vw;
    bottom: 4.56vw;
    transition: all .6s;
    z-index: 4;
  }

  /* .topBanner:hover {
    background-image: url(/2026/top/assets/img/top/firstBikersBnrPcBaseHover.png);
    transition: all .6s;
  } */
  #topBannerPc,#topBannerPcHover{
    position: absolute;
    z-index: 2;
  }
  #topBannerPcHover{
    display: none;
  }
  .topBanner:hover #topBannerPcHover{
    display: block;
    z-index: 3;
  }

  .topBanner:hover #topBanner01 {
    position: absolute;
    width: 7.02vw;
    top: 0vw;
    left: 8.5vw;
    transform: rotate(3deg);
  }

  .topBanner:hover #topBanner02 {
    position: absolute;
    width: 12.45vw;
    top: 3.2vw;
    transform: rotate(-19deg);
  }

  .topBanner:hover #topBanner03 {
    position: absolute;
    width: 6.51vw;
    transform: rotate(0deg);
    top: .6vw;
  }

  .topBanner:hover #topBanner04 {
    position: absolute;
    width: 17.81vw;
    left: 45vw;
  }

  /* NEWS */
  #newsSection {
    background: linear-gradient(180deg, #fff 0%, #fff 31.8%, rgba(112, 157, 168, 0.49) 31.8%, rgba(112, 157, 168, 0.49) 100%);
  }

  #newsSection>h3 {
    padding: 4.38vw 0 1.26vw;
  }

  .newsLinkWrap p img {
    margin: 0 0 0 .4vw;
    width: 1.77vw;
    height: auto;
    transition: all .4s;
  }
  .newsLinkWrap a:hover p img {
    transform: translateX(.5vw);
  }

  #newsWrap .controllScrollWrap,
  #newsWrap .controllScrollItemWrap,
  #newsWrap .controllScrollItemWrap .news{
    height: auto;
    margin-bottom: 8px;
  }
  #newsWrap .newsLinkWrap > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20%;
    margin: auto;
  }
  
  #newsWrap .news a{
    flex-flow: column;
    align-items: flex-start;
  }

  #newsWrap h3 {
    width: auto;
    font-size: 2.86vw;
    margin: 0 2.86vw 0 0;
  }

  #newsWrap p {
    font-size: 1.25vw;
    line-height: 2.4vw;
    font-weight: 500;
  }

  #newsSection .controllScrollOver {
    padding: 0 2.08vw 0 0;
    margin: 1.5vw 0 0;
  }

  .news,
  .news:first-of-type {
    width: 17.29vw;
    height: 20.78vw;
    font-size: 0.94vw;
    line-height: 1.56vw;
    border-radius: 10px;
    margin: 0 2.08vw 0 0;
    padding: 0 0 1.09vw;
  }

  .news h4 {
    font-size: 0.94vw;
    line-height: 1.56vw;
  }

  .news dd {
    height: auto;
    margin: 0 0 .2vw;
  }

  .news dt,
  .news h4 {
    padding: .75vw 1.25vw 0;
    letter-spacing: 0;
  }
  
  .news h4 {
    padding: 0 1.25vw 2.5vw;
  }

  p.badge,
  .news .badge {
    width: 7.78vw;
    height: 1.75vw;
    font-size: 0.94vw;
    margin: auto 1.25vw 0;
  }
  
  .news .badge {
    position: absolute;
    bottom: 1vw;
    left: 0;
  }
  
  #newsSection .controllScrollButtonWrap {
    top: 9.75vw;
  }

  main h3 {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 2.4vw;
    padding: 3.07vw 0 1vw;
  }

  .innerContent .controllScrollWrap .controllScrollItemWrap li:first-child,
  .innerContent .controllScrollWrap .controllScrollItemWrap li {
    margin: 0 2.56vw 0 0;
    width: 17.29vw;
    height: 100%;
    padding: 0 0 1.09vw
  }
  
  .innerContent .controllScrollWrap .controllScrollItemWrap .controllScrollItem{
    transition: all .3s;
  }
  .innerContent .controllScrollWrap .controllScrollItemWrap .controllScrollItem:hover{
    box-shadow: 0px 0px 12px rgba(0, 0, 0, .8);
  }


  
  .innerContent .controllScrollWrap .controllScrollItemWrap li a p {
    margin: auto 0 0 1.25vw;
    line-height: 1.3vw;
    height: 2vw;
  }

  .innerContent p {
    font-size: 0.94vw;

  }

  .innerContent .controllScrollOver{
    position: relative;
  }
  .innerContent .controllScrollOver::before {
    position: absolute;
    z-index: 2;
    width: 1vw;
    left: 84.73vw;
    left: 85.05vw;
    top: 2.56vw;
    top: 0;
    height: 100%;
    height: calc(100% - 16px);
    content: "";
    display: block;
    background: linear-gradient(to right, rgba(0,0,0,0),rgba(128,128,128,.4));
    mix-blend-mode: multiply;
  }

  #eventList{
    margin-bottom: 4vw;
  }
  #eventListTtl {
    padding: 4.8vw 0 2.07vw;
  }
  
  #eventList::before,
  #Village::before{
    top: 2.5vw;
    height: calc(100% - 2.5vw - 16px);
  }
  
  #eventList .controllScrollItemWrap,
  #Village .controllScrollItemWrap{
    padding-top: 2.5vw;
    height: 23.28vw;
    margin-bottom: 16px;
  }

  #eventList li.new::after {
    content: "";
    position: absolute;
    display: block;
    width: 4.43vw;
    height: 5vw;
    top: -2.19vw;
    left: -1.04vw;
    background-image: url(/2026/top/assets/img/top/iconEventNewPc.svg);
    background-repeat: no-repeat;
    background-size: cover;
  }

  #eventList li:first-child ,
  #eventList li {
    margin: 0 2vw 0.52vw 0;
    position: relative;

  }
  #eventList li a,.innerContent .controllScrollWrap .controllScrollItemWrap li a{
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    overflow: hidden;
  }
  #mainMenu li:nth-child(2) a:hover {
    border-top-right-radius: initial;
  }

  #eventList .controllScrollWrap::before {
    height: 22.99vw;
    top: 1vw;
  }
  
  #Village{
    margin: 2vw 0 4vw;
  }

  #tournamentInfo {
    margin: 0 14.01vw;
    gap: 2.56vw 0;
    padding-bottom: 7.29vw;
    padding-top: 2.92vw;
    margin-bottom: 3vw;
  }

  #tournamentInfo li a {
    font-size: 0.94vw;
    line-height: 1.2vw;
    flex-direction: column;
    width: 11.09vw;
    height: 7.81vw;
  }

  #tournamentInfo li a div {
    width: auto;
    height: 5.1vw;
  }


  #tournamentInfo li:first-child img {
    width: 2.54vw;
  }

  #tournamentInfo li:nth-child(2) img {
    width: 2.27vw;
  }

  #tournamentInfo li:nth-child(3) img {
    width: 1.36vw;
  }

  #tournamentInfo li:nth-child(4) img {
    width: 2.07vw;
  }

  #tournamentInfo li:nth-child(5) img {
    width: 2.12vw;
  }

  #tournamentInfo li:nth-child(6) img {
    width: 2.11vw;
  }

  .blackMenu {
    margin: 2.2vw 14.01vw 5vw;
    gap: 2.56vw 0.445vw
  }

  .blackMenu li a {
    border-radius: 10px;
  }


  .blackMenu li a,
  .blackMenu li:nth-of-type(5) a,
  .blackMenu li:nth-of-type(4) a {
    width: 13.54vw;
    height: 7.81vw;

  }



  .blackMenu li p {
    font-size: 1.04vw;
    line-height: 1.35vw;
    height: 2.62vw;
    display: flex;
    align-items: center;
  }

  .blackMenu li a .iconWrap {
    height: 6vw;
  }

  .blackMenu li p {
    height: 5.62vw;
    font-size: 0.94vw;
  }

  .blackMenu li:first-child img {
    height: 2.59vw;
  }

  .blackMenu li:nth-child(2) img {
    height: 2.54vw;
    fill: #fff;
  }

  .blackMenu li:nth-child(3) img {
    height: 2.01vw;
  }

  .blackMenu li:nth-child(4) img {
    height: 2.31vw;
  }

  .blackMenu li:nth-child(5) img {
    height: 2.02vw;
  }


  .blackMenu li a img {
    width: auto;
  }

  #underWrap {
    width: 100%;
    margin: 5.66vw 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-between;
  }
  #underWrap h3{
            padding: 5.07vw 0 3vw;
  }

  #underWrap ul {
    margin: 0 auto;
    padding: 0 0 7.29vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2.56vw 1vw;
  }

  #underWrap li a {
    font-size: 0.94vw;
    line-height: 1.2vw;
    width: 13.54vw;
    height: 7.81vw;
    padding: 1.72vw 0 0;
  }

  #underWrap li a img {
    height: 2.19vw;
  }

  #underWrap li a div {
    height: 3.91vw;
  }

  body .footerTopLinkWrap {
    height: 8.06vw;
    background: #EEF0F3;
    padding: 0;
  }

  .footerTopLink {
    padding: 0 38.96vw 0;
  }

  .footerTopLink li {
    width: 9.85vw;
    padding-bottom: .5vw;
    font-size: .83vw;
  }

  .footerTopLink li::after {
    width: 2vw;
    height: 2vw;
    background-size: 1.25vw;
  }

  .footerTopLink li:hover {
    letter-spacing: .04vw;
  }




  /* スポンサー */

  .sponTTl {
    font-size: 1.2vw;
    padding: 3.04vw 1vw 2vw 2vw;
    font-weight: 300;
    letter-spacing: .1vw;
  }

  .sponsor {
    padding-bottom: 3vw;
  }

  .sponsor .swiperWrap {
    margin-left: 2.08vw;
  }

  .sponsor .controllScrollWrap,
  .sponsor .swiper {
    height: 4.36vw;
    width: 37.5vw;
    margin: auto;
    border-radius: 0;
  }

  .sponsor .swiper .swiper-wrapper img {
    border-radius: 5px;
    height: 4.36vw;
  }

  .sponsor .swiper-next,
  .sponsor .swiper-prev {
    width: 7vw;
    height: 5vw;
    top: -.5vw;
    right: 24.5vw;
  }

  .sponsor .swiper-prev {
    left: 23vw;
  }

  .sponsor .controllScrollWrap {
    height: auto;
    width: auto;
    margin: auto;
  }

  .sponsor .controllScrollWrap>ul {
    height: auto;
    background-color: transparent;
    border-radius: initial;
    justify-content: flex-start;
    gap: 1vw 2.56vw;
    padding-left: 4vw;
  }

  .sponsor .controllScrollWrap>ul li {
    position: initial;
    height: auto;
    width: auto;
    opacity: 1;
    /* background-color: #fff; */
    border-radius: 0;
    height: auto;
    width: 8vw;
    margin: 0;
  }

  .sponsor .controllScrollWrap>ul::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 1px;
  }

  .sponsor .controllScrollWrap>ul li,
  .sponsor .controllScrollWrap>ul li.active,
  .sponsor .controllScrollWrap>ul li.done {
    opacity: 1;
    z-index: 1;
  }

  .sponsor .controllScrollWrap>ul li img {
    height: auto;
    width: 8vw;
    padding: 0;
  }

  .sponsor .controllScrollOver {
    margin: 0 0 3.1vw;
  }

  .sponLinkWrap {
    display: flex;
    width: 40vw;
    justify-content: center;
    margin: auto;
    padding-top: 3vw;
  }

  .sponLink {
    padding: 0vw 2vw .75vw 0;
    margin: 0 1.5vw;
    /* margin-left: 45%; */
    width: 9vw;
    font-size: .83vw;
    background-position: 98% 15%;
    background-size: 1.15vw;
    text-align: left;
    transition: all .4s;
  }

  .sponLink:hover {
    background-position: 100% 15%;
  }

  /* スポンサー */



}