@charset "UTF-8";
.rokkitt {
  font-family: "Rokkitt", serif;
  font-style: normal;
}

/* body *{
  border: 1px solid red;
} */
body *,
.notoSans,
span.notoSans,
.notoSans * {
  font-family: "Noto Sans", "Noto Sans JP", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, sans-serif;
}
.bebasFont,
.bebasFont *{
  font-family: "Bebas Neue" ,"Oswald", "Noto Sans","Noto Sans JP",  "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.dinFont,
.dinFont *{
  font-family: "DIN Alternate Bold" ,"Oswald", "Noto Sans","Noto Sans JP",  "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.DBStyleFont,
.DBStyleFont *{
  font-family: 'BStyle',"BStyle-Regular", "Noto Sans","Noto Sans JP",  "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
body{
  font-feature-settings: normal;
  overflow-x: hidden;
  width: 100%;
  background: #013453;
  color: #FFF;
}
.spOnly,
.pcHide,
section.loaded.spOnly,
footer.loaded.spOnly,
#floatingMenu.spOnly,
#topfloatingMenu.spOnly{
    display: block;
}
.pcOnly,
.pcOnlyFlex,
body .pcOnlyFlex,
body header .pcOnlyFlex,
body main .pcOnlyFlex,
body footer .pcOnlyFlex,
.spHide,
section.loaded.pcOnly,
footer.loaded.pcOnly,
#menuWrap ul li.noBorder.pcOnly,
#floatingMenu.pcOnly,
#topfloatingMenu.pcOnly,#textMenuKetta.pcOnly{
  display: none;
}
body.white {
  background-color: #fff;
  color: #013453;
  background-image: none;
}
body.white h1 svg *{
  fill: #003453;
}
table{
  border-collapse: collapse;
  border-spacing: 0;
}
/* 追従メニュー */
#floatingMenu{
  position: fixed;
  left: 0;
  bottom: -1px;
  z-index: 5;
  width: 100%;
  height: 21.28vw;
  background: #3F5972;
  color: #fff;
  display: flex;
  justify-content: space-between;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, .5) 25%, rgba(255, 255, 255, 0));
  background-blend-mode:multiply;

}
#floatingMenu li:last-child{
  background: #fff;
  color: #000;
  width: 14.1vw;
}
#floatingMenu li{
  position: relative;
  height: 100%;
  width: 100%;
  width: 12.82vw;
}
#floatingMenu li:nth-child(6){
  width: 11.54vw;
}
#floatingMenu li a{
  display: block;
  width: 100%;
  height: 100%;
}
#floatingMenu li img{
  position: absolute;
  bottom: 8vw;
  height: 8.5vw;
  margin: auto;
  left: 0;
  right: 0;
}
#floatingMenu li i{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.26vw;
  height: 4.1vw;
  font-family: "oswald";
  position: absolute;
  background-color:#FF0000 ;
  color: #fff;
  border-radius: 10px;
  font-size: 3.33vw;
  text-align: center;
  padding: 0 2vw;
  left :0;
  right: 0;
  top:-2vw;
  font-style: normal;
}


#flortHome img{
  width: 7.69vw;

}
#flortVillage img{
  width: 10.26vw;
}
#flortindividual img{
  width: 12.31vw;
}
#flortCourse img{
  width: 12.31vw;
}
#flortTeam img{
  width: 14.87vw;
}
#flortVillage img{
  width: 10.26vw;
}
#flortSchedule img{
  width: 11.28vw;
}
#flortNews img{
  width: 7.25vw;
}
#flortEntry img{
  width: 11.5vw;
}
/* 追従メニュー */
img{
  max-width: 100%;
}
.tabContent {
  display: none;
  margin-bottom: 0vw;
}
.tabContent.active{
  display: block;
}
/* header */
/* header {
  z-index: 2;
  height: 30.6vw;
  margin: 0;
  width: 100vw;
} */
header h1 {
  padding: 5.75vw 0 0 9.5vw;
}
/* header > *{
  height: 100%;
} */
/* header section.loaded{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
} */
/* header.loaded h1{
  margin: 8vw 0 0 -16.25vw;
} */
header.loaded h1 img,
h1 img,
h1 svg {
  width: 40.7vw;
  height: auto;
}
h1 svg *{
  fill: #FFF;
}
header section nav {
  width: 9vw;
  height: 7.75vw;
  left: 91vw;
  top: 7vw;
  padding: 3vw 0;
  position: absolute;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  z-index: 6;
  opacity: 1;
  cursor: pointer;
  transition: transform .2s;
}
header section nav.fixed{
  position: fixed;
  z-index: 3;
}
header.menuActive section nav{
  z-index: 4;
  opacity: 0;
}
header.menuActive section nav.fixed{
  z-index: 5;
  opacity: 1;
  right: 2vw;
}
header section nav i,
header section nav b{
  width: 9vw;
  position: absolute;
  height: 2px;
  background: #FFF;
  display: inline-block;
  transform: rotate(0);
  transition: all .4s;
}
header section nav i{
  width: 6.41vw;
  right: 0;
}
body.white header section nav i,
body.white header section nav b{
  background: #000;
}
body.white header.menuActive section nav.fixed i,
body.white header.menuActive section nav.fixed b {
  background: #FFF;
}
header section nav b{
  top: 0;
}
/* section nav.fixed i,
section nav.fixed b{
  background: #333;
} */
header.menuActive section nav i,
header.menuActive section nav b{
  background: #FFF;
}
header.menuActive section nav i{
  transform: rotate(405deg);
  top: 1.45vw;
  width: 9.41vw;
}
header.menuActive section nav b{
  transform: rotate(-405deg);
  top: 1.4vw;
}

header > nav{
  position: fixed;
  z-index: 4;
  left: 0;
  bottom: 0;
  background-image: linear-gradient(9deg, rgba(0, 0, 0, 1) 1%, rgba(0, 61, 100, 1)75%);
  left: 100vw;
  top: 0;
  height: 100vh;
  width: 100vw;
  transition: left .6s;
  overflow-y: scroll;
}
header.menuActive > nav{
  left: 0;
}

.ytMovieWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  position: relative;
  z-index: 1;
}
.ytMovieWrap::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.ytMovieWrap iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  aspect-ratio: 16 / 9;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
}
.ytMovieWrap iframe.wide{
  width: 100%;
  height: auto;
}


.controllScrollOver{
  position: relative;
  width: 100vw;
  margin: auto;
  z-index: 1;
}
.controllScrollOver .controllScrollOver{
  z-index: 2;
}
.controllScrollOver.spOnlyScroll .controllScrollItemWrap{
  min-width: initial;
}
.controllScrollOver.spOnlyScroll::before,
.controllScrollOver.spOnlyScroll::after {
  background-image: none;
}
.controllScrollWrap {
  width: 100%;
  overflow-x: scroll;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.controllScrollWrap::-webkit-scrollbar {
  display: none;
}
.controllScrollWrap .controllScrollItemWrap {
  display: flex;
  height: 100%;
  position: initial;
  cursor: pointer;
  width: fit-content;
}
.controllScrollOver.spOnlyScroll .controllScrollWrap{
  overflow-x: initial;
}
.controllScrollOver.spOnlyScroll .controllScrollWrap .controllScrollItemWrap {
  cursor: initial;
  pointer-events: none;
}
.controllScrollWrap .controllScrollItemWrap li {
  height: 100%;
  margin: 0 6.8vw 0 0;
  padding: 0;
}
.controllScrollWrap .controllScrollItemWrap li:last-child {
  padding-right: 20vw;
}
.controllScrollWrap a {
  height: 100%;
  display: inline-block;
  width: auto;
  position: relative;
}
.controllScrollWrap img {
  height: 100%;
  max-width: initial;
}
.controllScrollWrap .controllScrollItemWrap li .msg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  color: #FFF;
  z-index: 1;
  text-shadow: 0 .72vw 1.45vw #000;
  
  justify-content: flex-start;
  margin-top: 11vw;
}
.controllScrollBarOver {
  height: 5vw;
  width: 82%;
  margin: 2vw auto 0;
}
.controllScrollBarWrap {
  position: relative;
  width: 100%;
  cursor: pointer;
}
.controllScrollBar {
  width: 100%;
  height: 1px;
  background: #8D8D8D;
}
.controllScrollBarActive {
  position: absolute;
  top: -1px;
  left: 0;
  width: 5vw;
  height: 3px;
  background: #265791;
}
.controllScrollButtonWrap{
  position: absolute;
  left: 0;
  top: 40%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  z-index: 4;
  pointer-events: none;
}
.controllScrollButtonWrap .controllScrollButtonPrev,
.controllScrollButtonWrap .controllScrollButtonNext{
  pointer-events: auto;
  transition: all .2s;
}
.controllScrollButtonWrap .controllScrollButtonPrev:active{
  transform: translateX(-5%);
}
.controllScrollButtonWrap .controllScrollButtonNext:active{
  transform: translateX(5%);
}

#menuWrap{
  background-image: linear-gradient(9deg, rgba(0, 0, 0, 1) 1%, rgba(0, 61, 100, 1) 38%);
  padding-bottom: 16.15vw;
}
#menuWrap ul {
  display: flex;
  width: 100vw;
  padding-top: 6vw;
  flex-flow: column;
  justify-content: flex-start;
}
#menuWrap ul.menuImgWrap{
  padding-top: 0;
}
#menuWrap ul li {
  height: auto;
  color: #FFF;
  /* border-bottom: 1px solid #FFF; */
  font-size: 4.35vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
#menuWrap ul li.noBorder{
  display: inline-block;
  /* width: 100vw; */
  padding: 0;
  margin: 0;
  border-bottom: none;
}
#menuWrap ul li::after {
  content: "";
  background: url(../img/common/arrowRightwhite.svg) no-repeat center center;
  display: inline-block;
  width: 4.06vw;
  height: 2.88vw;
  background-size: contain;
}
#menuWrap ul li#textMenuKetta::after {
  content: none;
}
#menuWrap ul li#textMenuKetta{
  border-bottom: none;
}
#menuWrap ul > li.jsAddRemoveActive {
  flex-flow: column;
}
#menuWrap ul > li.jsAddRemoveActive p{
  margin-left: -4vw;
}
#menuWrap ul > li.jsAddRemoveActive::after {
  content: none;
}
#menuWrap ul > li.noBorder::after{
  content: none;
}
#menuWrap ul > li.jsAddRemoveActive > ul{
  display: none;
  transition: all .2s;
}
#menuWrap ul > li.jsAddRemoveActive.beforeActive > ul,
#menuWrap ul > li.jsAddRemoveActive.beforeNonActive > ul{
  display: flex;
  flex-flow: column;
  opacity: 0;
  width: 100vw;
  overflow-x: hidden;
}
#menuWrap ul > li.jsAddRemoveActive.active{
  border-bottom: none;
}
#menuWrap ul > li.jsAddRemoveActive.active > ul{
  display: flex;
  flex-flow: column;
  background: #536555;
  opacity: 1;
  padding-left: 6vw;
}
#menuWrap ul > li.jsAddRemoveActive > ul *{
  border-top: 1px solid transparent;
  transition: all .2s;
}
#menuWrap ul > li.jsAddRemoveActive.active > ul *{
  transition: all .2s;
}
#menuWrap ul > li.jsAddRemoveActive.active > ul li:first-of-type{
  border-top: 1px solid #FFF;
}
#menuWrap ul > li.jsAddRemoveActive.beforeActive > ul *,
#menuWrap ul > li.jsAddRemoveActive.beforeNonActive > ul *{
  opacity: 0;
  border: none;
  height: 7vw;
  font-size: 4vw;
  overflow: hidden;
}
#menuWrap ul > li.jsAddRemoveActive.beforeNonActive > ul *{
  height: 0;
  font-size: .5vw;
  margin: 0;
}
#menuWrap ul > li a{
  width: 100%;
  height: 12.2vw;

  transition: all .4s;
}

#menuWrap ul > li.noBorder a{
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
}

#menuWrap ul > li i{
  font-style: normal;
  font-size: 2.9vw;
}

#menuWrap ul > li p{
  position: relative;
}
#menuWrap ul > li p span{
  display: block;
  position: absolute;
  top: 50%;
  right: -3.2vw;
}
#menuWrap ul > li p b,
#menuWrap ul > li p i{
  display: flex;
  width: 2.7vw;
  height: 1px;
  background: #FFF;
}
#menuWrap ul > li p i{
  transform: rotateZ(270deg);
  transition: all .6s;
}
#menuWrap ul > li.active p i{
  transform: rotateZ(0);
}
#menuImgOver h2{
  font-family: "Oswald", "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 6vw;
  width: 100%;
  padding: 9vw 0 2vw 10vw;
  margin-bottom: 6vw;
  background-image: url(../img/common/arrowRightwhite.svg);
  background-repeat: no-repeat;
  background-position: 50% 75%;
  background-size: 3vw;
}
#menuWrap .menuImgWrap.photo{
  flex-flow: column;
}
#menuWrap .menuImgWrap.photo li,
#menuWrap .menuImgWrap.photo li img{
  width: 100vw;
}
#menuWrap .menuImgWrap.photo .menuImgTxt h3{
  font-size: 5vw;
}
#menuWrap .menuImgWrap.photo .menuImgTxt p{
  font-size: 4vw;
  display: flex;
  flex-flow: column;
  align-items: center;
}
#menuWrap .menuImgWrap.photo .menuImgTxt b{
  font-size: 7vw;
  margin-bottom: 3vw;
  text-align: center;
}
#menuWrap .menuImgWrap.photo .menuImgTxt h4{
  font-size: 4vw;
}
#menuWrap .menuImgWrap.photo li::before {
  content: none;
}

#menuWrap .menuImgWrap .wideClickWrap{
  width: 100%;
  position: relative;
}
#menuWrap .menuImgWrap .wideClickWrap::after{
  content: "";
  display: block;
  position: absolute;
  background-image: linear-gradient(90deg, rgba(0, 61, 100, 1), rgba(255, 255, 255, 0) 80%);
  width: 26vw;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
}
#menuWrap .menuImgWrap .wideClickWrap.menuketta{
  height: auto;
}
#menuWrap .menuImgWrap .wideClickWrap.menuketta:after{
  content: none;
}
#menuWrap .menuImgWrap .wideClickWrap img{
  width: auto;
  height: 5.5vw;
  max-width: 31vw;
}
#menuWrap .menuImgWrap .wideClickWrap p img{
  width: 10.43vw;
  margin: 3vw 0 5vw;
  display: block;
}
#menuWrap .menuImgWrap li.wideClickWrap::before{
  content: none;
}
#menuWrap .menuImgWrap .wideClickWrap b{
  font-size: 7.25vw;
}
#menuWrap .menuImgWrap .wideClickWrap h4{
  font-size: 5vw;
  width: 52.31vw;
  font-weight: 500;
  letter-spacing: .1vw;
}
#menuWrap .menuImgWrap .wideClickWrap.menuWhatisShimanoSuzukaRoad h4,
#menuWrap .menuImgWrap .wideClickWrap.menuLineup h4{
  font-size: 4.1vw;
  line-height: 5vw;
}
#menuWrap .menuImgWrap .wideClickWrap.menuWhatisShimanoSuzukaRoad img{
  height: 8.5vw;
}
#menuWrap .menuImgWrap .wideClickWrap.menuLineup img{
  height: 10.5vw;
}
#menuWrap .menuImgWrap .wideClickWrap.menuCourse h4,
#menuWrap .menuImgWrap .wideClickWrap.menuTopics h4{
  font-size: 4.1vw;
  line-height: 5vw;
}
#menuWrap .menuImgWrap .wideClickWrap.menuAccsess h4{
  font-size:4.36vw;
}
.menuEntry h4{
  color: #003D64;
}
#menuWrap #menuTextWrap{
  width: 81.5%;
  margin: 0 9.49vw 0;
}
#menuWrap #menuTextWrap li{
  border-bottom: 1px solid #FFF;

}
#menuWrap #menuTextWrap li:first-child{
  font-family: "Noto Sans","Noto Sans JP";
}
#menuTextWrap a{
  display: flex;
  align-items: center;
  font-size: 3.85vw;
}

/* ファーストビュー共通 */
#topContent{
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
#topContent > img{
  max-width: initial;
  object-fit: cover;
  width: 100vw;
  height: 100vh;
}
#topContentMsg{
  position: absolute;
  width: 100vw;
  height: 33vh;
  left: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  flex-flow: column;
  align-items: center;
  color: #FFF;
}
#topContentMsg > h2{
  text-align: center;
  font-size: 19.57vw;
  font-family: 'BStyle',"BStyle-Regular", "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  margin: 0;
  font-weight: 400;
}
#topContentMsg > p{
  text-align: center;
  font-size: 7vw;
  font-weight: bold;
}
/* ファーストビュー共通 */
/* スクロール効果 */
#scrollEffectOver{
  position: absolute;
  z-index: 6;
  top: 100vh;
  top: 100dvh;
  left: 45vw;
}
#scrollEffectWrap{
  position: absolute;
  z-index: 1;
  bottom: 0;
  display: flex;
  flex-flow: column;
  align-items: center;
  cursor: pointer;
}
#scrollEffectWrap i{
  font-family: "Oswald", "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-style: normal;
  font-size: 3.8vw;
  font-weight: 100;
  color: #FFF;
}
#scrollEffectWrap img{
  width: 3.4vw;
  animation: scrollEffectAnime .8s linear infinite;
  margin: 0;
}
@keyframes scrollEffectAnime{
  0%,100%{
    margin: 0;
  }
  25%{
    margin: 1.93vw 0 1.77vw;
  }
  50%{
    margin: 2.9vw 0 2.66vw;
  }
  70%{
    margin: 1.93vw 0 1.77vw;
  }
  90%{
    margin: .96vw 0 .89vw;
  }
}
/* スクロール効果 */


.menuBikersLogoWrap{
  padding-left: 10vw;
}
.menuBikersLogoWrap img {
  width: 40.51vw;
}
.menuLeftLinks,
.menuImgWrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-between;
  width: 100%;
  height: 100%;
  margin-top: 14.1vw;
}

#menuWrap .menuImgWrap li {
  position: relative;
  height: 16.15vw;

}
#menuWrap .menuImgWrap li:first-child,
#menuWrap .menuImgWrap li:nth-child(2),
#menuWrap .menuImgWrap li:nth-child(5) {
  position: relative;
  height: 17.44vw;

}
#menuWrap .menuImgWrap li.menuApp {
  display: block;
  height: 53.59vw;
  width: 100%;
  padding: 5.1vw  13.59vw;
  background:  no-repeat center center;
  background-size:41.72vw auto,auto;
  background-position:56vw 8.7vw, 0 0vw;
  background-image:url(../img/common/pcAppBg.png), linear-gradient(90deg, rgba(0, 100, 150, 1) 59%, rgba(255, 255, 255, 0));

}
#menuWrap .menuImgWrap li.menuApp::before{
  display: none;
}
#menuWrap .menuImgWrap li.menuApp h3{
  font-size: 5.13vw;
  font-weight: 500;
  line-height: 6.41vw;
  margin-bottom: 2.9vw;
  position: relative;
  z-index: 10;
}
#menuWrap .menuImgWrap li.menuApp h3::after{
  //*content: "（7月中旬リリース）";**/
  font-family: "Noto Sans", "Noto Sans JP", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, sans-serif;
  font-size: 3vw;
  font-feature-settings: "palt";
  position: absolute;
  top: 6.5vw;
  left: 26.5vw;
}
#menuWrap .menuImgWrap li.menuApp p{
  font-size: 3.33vw;
  line-height: 5.13vw;
  width: 40.46vw;
  padding-bottom: 4.5vw;
  position: relative;
  z-index: 10;
}
#menuWrap .menuImgWrap li.menuApp div{
  display: inline-block;
  position: relative;
    z-index: 10;
}
#menuWrap .menuImgWrap li.menuApp img {
  width: auto;
  height: 7.15vw;
}
#menuWrap .menuImgWrap li a::before{
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  fill: #fff;
  background-image: url(../../../top/assets/img/common/arrowRightwhite.svg);
  background-repeat: no-repeat;
  background-position: 86.4vw center;
  background-size: 4.25vw auto;
}
#menuWrap .menuImgWrap .menuApp.wideClickWrap::before{
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  fill: #fff;
  background-image: url(../../../top/assets/img/common/arrowRightwhite.svg);
  background-repeat: no-repeat;
  background-position: 91.4vw 8vw;
  background-size: 3.7vw auto;
}
#menuWrap .menuImgWrap li .menuImgTxt{
  z-index: 2;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding:  0 0 0 13.59vw;
}
#menuWrap .menuImgWrap li img{
  width: 50vw;
}
#menuWrap .menuImgWrap li::after{
  content: none;
}
#menuWrap .menuImgWrap li::before{
  content: "";
  background: url(../img/common/arrowRight.svg) no-repeat center center; 
  background-size: contain;
  position: absolute;
  bottom: 2.5vw;
  right: 4vw;
  width: 3.5vw;
  height: 3.5vw;
  z-index: 2;
}
#menuWrap .menuImgWrap p{
  font-size: 4.83vw;
}
#menuWrap .menuImgWrap h3{
  font-family: 'BStyle', "BStyle-Regular", "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 6.76vw;
  margin-bottom: .8vw;
}
#menuWrap .menuImgWideWrap{
  margin: 0 0 4vw;
}
#menuWrap .menuImgWideWrap li{
  width: 100vw;
  margin: 0;
  position: relative;
}
#menuWrap .menuImgWideWrap li img{
  width: 100vw;
}

.menuNews{
  background-image: linear-gradient(90deg, rgba(27, 93, 136, 1)59%, rgba(255, 255, 255, 0));
}
.menuEntry{
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 1)59%, rgba(255, 255, 255, 0));
  color: #003D64;
}
.menuWhatisShimanoSuzukaRoad{
  background: url(../img/common/spMneuWhatisBg.png) no-repeat center center;
  background-size: cover;
}
.menuLineup{
  background-image: linear-gradient(90deg, rgba(32, 121, 180, 1)59%, rgba(255, 255, 255, 0));

}
.menuSolo{
  background-image: linear-gradient(90deg, rgba(255, 0, 0, 1)59%, rgba(255, 255, 255, 0));
}
.menuTeam{
  background-image: linear-gradient(90deg, rgba(0, 167, 255, 1)59%, rgba(255, 255, 255, 0));
}
.menuBiginnar{
  background-image: linear-gradient(90deg, rgba(13, 103, 152, 1)59%, rgba(255, 255, 255, 0));
}
.menuVr{
  background: url(../img/common/spMneuVr.png) no-repeat center center;
  background-size: cover;
}
#menuWrap .menuImgWrap .menuVr h4{
  font-size: 4.1vw;
  width: 70.31vw;
}
.menuVillage{
  background-image: linear-gradient(90deg, rgba(6, 151, 157, 1)59%, rgba(255, 255, 255, 0));
}
.menuTopics{
  background-image: linear-gradient(90deg, rgba(27, 93, 136, 1)59%, rgba(255, 255, 255, 0));
}
.menuCourse{
  background-image: linear-gradient(90deg, rgba(95, 108, 121, 1)59%, rgba(255, 255, 255, 0));
}
.menuSchedule{
  background-image: linear-gradient(90deg, rgba(0, 122, 177, 1)59%, rgba(255, 255, 255, 0));
}
.menuBiginnar{
  background-image: linear-gradient(90deg,  rgba(10, 69, 101, 1)30%,rgba(13, 116, 173, 1)70%,rgba(13, 103, 152, 0)100%);

}
#iconMenuYT{
  width: 15.34vw;
  margin-right: 1.1vw;
}
header .shimanoLogo{
  width: 100vw;
}
.menuImgWideWrap li .menuImgTxt {
  justify-content: flex-start;
  align-items: flex-start;
  padding: 4vw;
}
.menuImgWideWrap p{
  font-size: 4.83vw;
  margin-bottom: 2.5vw;
}
.menuImgWideWrap h3{
  font-size: 3.86vw;
}
.menuImgWideWrap li::before {
  bottom: 2.5vw;
  right: initial;
  left: 4vw;
}
#menuFooterWrap{
  padding: 15.38vw 0 10.38vw;
  width: 100vw;
  display: flex;
  flex-flow: column;
  justify-content: center;
  background: #FFF;
  align-items: center;
}
#menuFooterWrap .shimanoLogo,
#menuFooterWrap #menuFooterSns > div{
  width: 49.37vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#menuFooterWrap #menuFooterSns{
  margin-top: 13.33vw;
}
#menuFooterWrap #menuFooterSns svg,
#menuFooterWrap #menuFooterSns img{
  width: 7.6vw;
  height: auto;
  
}
#menuFooterWrap #menuFooterSns a:nth-child(3) svg{
  width: 6.47vw;
}
#menuFooterWrap #menuFooterSns a:nth-child(4) svg{
  width: 8.22vw;
}
#menuFooterWrap #menuFooterSns svg *{
  fill:#5F5F5F;
}
.menuFooter{
  margin: 14.87vw auto 1.5vw;
  width: 85.64vw;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 3vw;
  
}
.menuFooter li{
  margin-bottom: 10vw;
  color: #5F5F5F;
  border: none;
  width: auto;
  margin: 0 0 9.7vw;
  font-size: 3.59vw;
  font-weight: 600;
  padding: 0;
}
/* タブ */
.tab{
  width: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
  border-bottom: 1px solid #000;
  position: relative;
}
.tab li{
  font-size: 4vw;
  font-weight: bold;
  line-height: 2rem;
  border-left: 2px solid;
  border-image: linear-gradient(to bottom, transparent 40%, #000 40% 60%, transparent 60%);
  border-image-slice: 2;
  cursor: pointer;
}
.tab li:first-of-type{
  border: none;
}
.tab li.active{
  background: #fff;
  color:#013453;
}
.tab span{
  display: inline-block;
  width: 100%;
  font-size: 3vw;
  font-weight: normal;
}
body .nonActive4tab{
  display: none;
}
body.white main{
  margin: auto;
  width: 81.54vw;
}
/* h2 */
body.white h2{
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  height: 22.56vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 9vw;
  font-size: 5.13vw;
  font-weight: bold;
}
.h2txt{
  margin: 12vw 0;
  word-break: break-word;
}
/* h2 */
/* content */
#contentMsg{
  width: 78.5vw;
  display: block;
  margin: 10vw auto 9vw;
  font-size: 4.59vw;
  line-height: 9.66vw;
}
.innerContent{
  width: 100%;
  margin: 0;
  padding: 0;
}
.innerContent.gray,
section.gray{
  background-color: #f1f1f1;
}
.innerContent h2{
  margin-left: 10.87vw;
  margin-bottom: 3vw;
  font-size: 5vw;
  font-weight: bold;
}
.iconTtl img{
  width: 9vw;
}
.innerContent p{
  font-size: 3.62vw;
  line-height: 7.25vw;
}
/* content */
/* スライダー */
.swiperWrap{
  position: relative;
}
.swiperWrap .swiper{
  position: initial;
}
.linerSlider .swiper-wrapper{
  transition-timing-function: linear;
}
.swiper-next,
.swiper-prev{
  background: url(../img/common/arrowRight4slider.svg) 25% center no-repeat;
  width: 16.2vw;
  height: 50.24vw;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  cursor: pointer;
}
.swiper-prev{
  left: 0;
  right: initial;
  transform: rotate(180deg);
}
/* スライダー */
/* YouTube動画 */
/* .ytMovieWrap{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56.2vw;
  width: 100vw;
  position: relative;
}
.ytMovie{
  display: block;
  width: 100%;
  height: 100%;

}
.ytMovieWrap iframe{
  width: 100%;
}
.ytMovieWrap h2{
  writing-mode: vertical-lr;
  position: absolute;
  z-index: 1;
  left: 2.75vw;
  bottom: 49.2vh;
  color: #fff;
}
.ytMovieWrap .top_movie_cover{
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
} */
video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top_movie_over{
  width: 5vw;
  z-index: 9;
  position: absolute;
  bottom: 4.9vw;
  left: 49.7vw;
}
.top_movie_over img{
  transform: scale(1);
  transition: all .3s;
}
.top_movie_over img:hover,
.top_movie_over img:active{
  transform: scale(2);
}
/* YouTube動画 */
/* footer */
footer{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  background: #fff;
  padding: 0 0 18vw;
}
#articleBody footer{
  background: #FFF;
}
footer ul{
  display: flex;
  width: 87%;
  margin: auto;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 10vw;
}
.snsCrWrap{
  order: 2;
  margin: auto;
  width: 90vw;
}
footer .logo{
  display: block;
  margin: 12.41vw auto 13vw;
  width: 100%;
  text-align: center;
}
body.bikersStyle footer .logo{
  margin-top: 13vw;
}
footer a > img{
  width: 49.37vw;
}
footer .sns_icon{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0px 16vw;
}
body.bikersStyle footer .sns_icon{
  width: 87%;
  align-items: center;
}

.footerTopLinkWrap{
  background-color: #fff;
}
footer .sns_icon img,
footer .sns_icon svg{
  width: 7.97vw;
  height: 7.97vw;
}
footer .sns_icon svg *{
  fill: #5F5F5F;
}
footer .foot_menu{
  display: flex;
  justify-content: space-between;
  padding: 4vw 0;
  width: 80.68vw;
  margin: auto;
  order: 3;
}
footer .foot_menu li{
  padding-bottom: 10vw;
  font-size: 3.38vw;
}

.copyright{
  text-align: center;
  margin-bottom: 10vw;
  width: 100%;
  color: #000;
  font-size: 3.08vw;
  font-weight: 100;
  order: 4;
}
.entryBtnWrap{
  /* width: 40.58vw; */
  width: 28.26vw;
  height: 9.66vw;
  background-color: #FFF;
  position: fixed;
  align-items: center;
  bottom: 0;
  right: 0;
  z-index: 10;
}
.entryBtnWrap a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  font-family: "DIN Alternate Bold" ,"Oswald", "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  padding-left: 3vw;
  letter-spacing: -.1vw;
  font-size: 3.3vw;
}
.entryBtnWrap img {
  margin-left: 2vw;
  width: 3.3vw;
  object-fit: cover;
}


/* VIEWボタン */
.viewMore{
  display: flex;
  color: #000;
  cursor: pointer;
  font-size: 1.3vw;
  border-bottom: 2px solid #000;
  font-family: "Bebas", "Bebas Neue" ,"Oswald", "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-family: "Oswald", "Bebas Neue" ,"Bebas",  "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  padding-bottom: 0.5vw;
  width: 16vw;
  transition: none;
  box-sizing: border-box;
  height: 1.8vw;
  transition: all .4s;
}
.viewMore:hover{
  color: #000;
  /* border-bottom: 4px solid #000; */
  height: calc(1.8vw + 2px);
  font-weight: bold;
  letter-spacing: -.02vw;
  margin-bottom: -2px;
  letter-spacing: .4vw;
}
.viewMore img{
  margin-left: 1vw;
  width: 1.2vw;
}
.viewMore:hover img{
  margin-left: 1vw;
}
.viewMore .dliPlus,
.viewMore .dliPlus::after{
  transition: all .4s;
  display: inline-block;
}
.viewMore .dliPlus{
  margin-left: auto;
  top: .6vw;
  width: 0.8vw;
  height: 0.02vw;
  color: #333;
  background: currentColor;
  position: relative;
}
.dliPlus::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: inline-block;
  background: inherit;
  transform: rotate(90deg);
}
.viewMore .dliPlus::after{ 
  width: .72vw;
}
a:hover .viewMore .dliPlus,
.viewMore:hover .dliPlus{ 
  width: 11.5vw;
}
a:hover .viewMore .dliPlus::after,
.viewMore:hover .dliPlus::after{ 
  width: 0;
}