@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&family=Rokkitt:ital,wght@0,100..900;1,100..900&display=swap');
@font-face {
  font-family: 'DIN Alternate Bold';
  font-style: normal;
  font-weight: normal;
  src: url('../font/DINAlternate-Bold.woff') format('woff');
}
@font-face {
  font-family: 'BStyle-Regular';
  src: url('../font/BStyle-Regular.ttf.woff') format('woff'),
  url('../font/BStyle-Regular.ttf.svg#BStyle-Regular') format('svg'),
  url('../font/BStyle-Regular.ttf.eot'),
  url('../font/BStyle-Regular.eot?#iefix') format('embedded-opentype'); 
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'BStyle-R';
  src: url('../font/BStyle_R.woff') format('woff'); 
  font-weight: 200;
  font-style: normal;
}
/* @import url('https://fonts.cdnfonts.com/css/bstyle');

.rokkitt {
  font-family: "Rokkitt", serif;
  font-optical-sizing: auto;
  font-style: normal;
} */
 /* *{
  border: red 1px solid;
 } */
body *,
.notoSans,
span.notoSans,
.notoSans * {
  /* font-family: "Noto Sans", "Noto Sans JP", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, sans-serif; */
  font-family: "Noto Sans", "Noto Sans JP", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, sans-serif;
}
.bebasFont,
.bebasFont *{
  font-family: "Bebas Neue" ,"Oswald", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.dinFont,
.dinFont *{
  font-family: "DIN Alternate Bold" ,"Oswald", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.DBStyleFont,
.DBStyleFont *{
  font-family: 'BStyle',"BStyle-Regular", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.RockwellFont,
.RockwellFont *{
  font-family: "Rockwell",'Rokkitt', sans-serif;
}
body{
  font-feature-settings: normal;
  overflow-x: hidden;
  width: 100vw;
}
.spOnly,
.pcHide,
section.loaded.spOnly,
footer.loaded.spOnly,
#floatingMenu.spOnly,
#topfloatingMenu.spOnly{
    display: block;
}
.pcOnly,
.spHide,
section.loaded.pcOnly,
footer.loaded.pcOnly,
#menuWrap > ul li.noBorder.pcOnly,
#floatingMenu.pcOnly,
#topfloatingMenu.pcOnly{
  display: none;
}
.br.marginB_5vw{ margin-bottom: .5vw; }
.br.marginB_75vw{ margin-bottom: .75vw; }
.br.marginB1vw{ margin-bottom: 1vw; }
.br.marginB2vw{ margin-bottom: 2vw; }
.br.marginB3vw{ margin-bottom: 3vw; }
.br.marginB4vw{ margin-bottom: 4vw; }

img{
  max-width: 100%;
}

.controllScrollOver{
  position: relative;
  width: 100vw;
  margin: auto;
  padding-top: 5vw;
  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;
}
.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: 100%;
  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: #FFF;
}
.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%);
}
/* header */
header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 5.6vw;
  margin: 0;
  width: 100vw;
}
header h1 {
  margin: 7.5vw 0 0 11vw;
}
header > *{
  height: 100%;
}
header section,
header section.loaded{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
}
header.loaded h1{
  margin: 9vw 0 0 9.25vw;
}
header.loaded h1 img,
h1 img,
h1 svg {
  width: 41vw;/*25.17*/
  height: auto;
}
h1 svg *{
  fill: #FFF;
}
header section nav {
  width: 9vw;
  height: 7.75vw;
  left:88vw;
  top: 6.75vw;
  padding: 3vw 0 3vw 3vw;
  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 b{
  top: 0;
}
header section nav i{
  width: 6.41vw;
  left: 5.5vw;
}
/* header.menuActive nav{
  padding: 3vw 0 0;
} */
header.menuActive section nav i{
  width: 9vw;
  left: 0;
}
section nav.fixed i,
section nav.fixed b{
  background: #333;
}
header.menuActive section nav i,
header.menuActive section nav b{
  background: #FFF;
  left: 0;
}
header.menuActive section nav i{
  transform: rotate(405deg);
  top: 1.45vw;
}
header.menuActive section nav b{
  transform: rotate(-405deg);
  top: 1.4vw;
}

header > nav{
  position: fixed;
  z-index: 4;
  left: 0;
  bottom: 0;
  background: linear-gradient(to bottom,#1C231C,#000);
  left: 100vw;
  top: 0;
  height: 100vh;
  width: 100vw;
  transition: left .6s;
  overflow-y: scroll;
}
header.menuActive > nav{
  left: 0;
}
.videoWrap{
  width: 100%;
  height: 100%;
}
.videoWrap video{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ytMovieWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  /* height: calc(100vh + 1px);
  margin-top: -1px; */
  height: 100%;
  width: 100%;
  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;
}
#menuWrap > ul {
  display: flex;
  width: 100vw;
  margin-top: 6vw;
  flex-flow: column;
  justify-content: flex-start;
}
#menuWrap > ul li {
  height: auto;
  color: #FFF;
  width: 100%;
  margin: 0;
  font-size: 5.13vw;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0 0 0 0;
}
#menuWrap > ul li.noBorder{
  display: inline-block;
  width: 100vw;
  padding: 0;
  margin: 0;
  border-bottom: none;
}
#menuWrap > ul li.noBorder svg{
  width: 25.17vw;
  height: auto;
}
#menuWrap > ul li.noBorder svg *{
  fill: #FFF;
}
#menuWrap > ul li::after {
  content: "";
  background: url(../img/common/arrow.svg) no-repeat center center;
  display: inline-block;
  width: 2.25vw;
  height: 2.25vw;
  background-size: contain;
  transform: rotate( -90deg );
  position: absolute;
  right: 9vw;
}
#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;
  width: 100vw;
  flex-flow: column;
  background: #536555;
  opacity: 1;
  padding: 0 6.8vw;
}
#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: 65vw;
  height: 13.9vw;

  display: flex;
  align-items: center;
  transition: all .4s;
}
#menuWrap > ul > li > a:active{
  width: 75vw;
  padding-left: 5vw;
}
#menuWrap > ul > li.noBorder a{
  height: auto;
  width: auto;
}
#menuWrap > ul > li.noBorder a:active{
  opacity: .7;
}
#menuWrap > ul > li i{
  font-style: normal;
  font-size: 2.9vw;
}
#menuWrap > ul > li > ul li a{
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: center;
}
#menuWrap > ul > li p{
  position: relative;
}
#menuWrap > ul > li p span{
  display: block;
  position: absolute;
  top: 50%;
  right: 5.8vw;
}
#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 JP", "游ゴシック体", 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;
  margin-top: 7.5vw;
}
#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: 6.41vw;
  margin-bottom: 2vw;
  text-align: center;
  font-weight: 500;
}
#menuWrap .menuImgWrap.photo .sidemenuSchedule .menuImgTxt b{
  font-size: 5.13vw;
  margin-bottom: 1vw;
}
#menuWrap .menuImgWrap.photo .sidemenuSchedule .menuImgTxt h4{
  font-size: 4.85vw;
}
/* #menuWrap .menuImgWrap.photo .menuImgTxt h4{
  font-size: 4vw;
} */
#menuWrap .menuImgWrap.photo li::before {
  content: none;
}
#menuWrap .menuImgWrap .wideClickWrap{
  width: 100%;
}
#menuWrap .menuImgWrap .wideClickWrap img{
  width: auto;
  
}
#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;
  margin-bottom: 3.5vw;
}
/* #menuWrap .menuImgWrap .wideClickWrap h4{
  font-size: 4.5vw;
} */

#menuWrap .menuImgWrap li.menuYoutubeSp p img {
  width: 56.46vw;
  margin-left: -6vw;
  margin-top: -4vw;
  margin-bottom: -2vw;
  
}
#menuWrap .menuImgWrap li.menuYoutubeSp h4{
  font-size: 6.41vw;
  font-family: "Noto Sans";
}
#menuWrap .menuImgWrap li.menuYoutubeSp p{
  margin-top: -3vw;
}
#menuWrap .menuImgWrap li.menuMapWrapSp{
display: flex;
}
#menuWrap .menuImgWrap li.menuMapWrapSp a{
  width: 50%;
  position: relative;
}
#menuWrap .menuImgWrap li.menuMapWrapSp a:last-child::after{
  content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -1px;
    width: 100%;
    height: 100%;
    border-left: 1.5px solid;
    border-image:linear-gradient(to bottom, transparent 10%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 1) 90%, transparent 10%, transparent 90%);
    border-image-slice: 1;
}
#menuWrap .menuImgWrap li.menuMapWrapSp .menuImgTxt{
  position: absolute;
  width: 100%;
  top: 4.13vw;
  left: 0;
  align-items: center;
}
#menuWrap .menuImgWrap li.menuMapWrapSp a::before{
  top: 27.5vw;
}
#menuWrap .menuImgWrap.photo li.MenuAppSp div img{
  height: 10vw;
  width: auto;
  margin-bottom: 1vw;
}

#menuWrap .menuImgWrap li.accessWrapSp a::before,
#menuWrap .menuImgWrap li.accessRentalBikeSp a::before{
  bottom: 3vw;
  left: 10vw;
  top: initial;
}
#menuWrap .menuImgWrap li.hujimiWrapSp a::before{
  top:6.5vw
}
#menuWrap .menuImgWrap li.accessRentalBikeSp a::before{
  bottom: 9vw;
}
/* #menuWrap .menuImgWrap li.menuStampWrapSp  a::before{
  top: 19vw;
  right: 87vw;
} */
#menuWrap .menuImgWrap li.MenuAppSp .menuImgTxt{
top:0;
left: 0;
padding: 6.41vw 9.23vw 0;
}
#menuWrap .menuImgWrap.photo li.MenuAppSp .menuImgTxt b{
  text-align: left;
  font-size: 5.13vw;
  line-height: 6.41vw;
  font-weight: 400;
  margin-bottom: 4vw;
}
#menuWrap .menuImgWrap.photo li.MenuAppSp .menuImgTxt h4{
  width:  45.13vw;
  font-weight: 400;
  font-size: 3.33vw;
  line-height: 5.13vw;
  margin-bottom: 1.8vw;
}
#menuWrap .menuImgWrap.photo li.MenuAppSp .menuImgTxt{
  padding: 5.41vw 9.23vw 0;
}

#menuWrap > ul#menuTextWrap li{
  border-bottom: 1px solid #fff;
}
#menuWrap > ul#menuTextWrap{
  width: 86%;
  margin: auto;
  font-weight: 600;
}
#menuWrap > ul#menuTextWrap > li a{
  width: 79vw;
  margin: auto;
}


/* ファーストビュー共通 */
#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 JP", "游ゴシック体", 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: 100svh;
  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 JP", "游ゴシック体", 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{
  margin-left: 10.8vw;
}
.menuBikersLogoWrap img {
  width: 46vw;
}
.menuLeftLinks,
.menuImgWrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-between;
  width: 100%;
  height: 100%;
}

/* #menuWrap .menuImgWrap:last-child {
  margin: 7vw 0 0;
} */
/* #menuWrap .menuImgWrap li {
  width: 50vw;
  margin: -1px 0;
  position: relative;
  border: none;
  padding: 0;
} */
#menuWrap .menuImgWrap li .menuImgTxt{
  position: absolute;
  top: 5.13vw;
  left: 8.72vw;
  /* text-shadow: #000 0 0.72vw 1.45vw; */
  display: flex;
  justify-content: start;
  align-items: start;
  height: 100%;
  width: auto;
  flex-flow: column;
  z-index: 2;
}
#menuWrap .menuImgWrap li img{
  width: 100%;
}
#menuWrap .menuImgWrap li::after{
  content: none;
}
#menuWrap .menuImgWrap li a::before{
  content: "";
  background: url(../img/common/menuArrow.svg) no-repeat center center; 
  background-size: contain;
  position: absolute;
  top: 4.8vw;
  right: 6vw;
  width: 3.75vw;
  height: 3.45vw;
  z-index: 2;
}
#menuWrap .menuImgWrap li.MenuAppSp a::before{
  top: 6.3vw;
}
#menuWrap .menuImgWrap li.sidemenuArrow2 a::before{
  top: 6.4vw;
}

#menuWrap .menuImgWrap p{
  font-size: 5.2vw;
  line-height: 6.41vw;
  font-weight: 500;
}
#menuWrap .menuImgWrap .menuPresentWrapSp p{
  padding-bottom: 2vw;
}
#menuWrap .menuImgWrap h3,.menuImgWrap h4{
  font-family: "Rokkitt", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 4.5vw;
  line-height: 6.41vw;
  font-weight: 500;
  margin-bottom: .8vw;
}
.menuImgWrap.photo h4{
  font-size:6.13vw;
  font-weight: 600;
  letter-spacing: .1vw;
}
#menuWrap .menuImgWideWrap{
  margin: 0 0 4vw;
}
#menuWrap .menuImgWideWrap li{
  width: 100vw;
  margin: 0;
  position: relative;
}
#menuWrap .menuImgWideWrap li.accessWrapSp p,
#menuWrap .menuImgWideWrap li.accessRentalBikeSp p{
  margin-bottom: 0;
}

#menuWrap .menuImgWideWrap li.accessWrapSp .menuImgTxt{
  top: 3.13vw;
}
#menuWrap .menuImgWideWrap li.accessRentalBikeSp .menuImgTxt{
  top: 5.13vw;
}
#menuWrap .menuImgWideWrap li img{
  width: 100vw;
}
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{
  margin-top: 46.15vw;
  padding: 0 0 30vw;
  width: 100vw;
  display: flex;
  flex-flow: column;
  justify-content: center;
  background: #FFF;
  align-items: center;
}
.menuFooterTopLink ,
.footerTopLink {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding: 11.25vw 9.5vw 13vw;
}

.menuFooterTopLink li ,
.footerTopLink li {
  width: 36.3vw;
  padding-bottom: 2vw;
  border-bottom: 1.5px solid #000;
  font-size: 3.3vw;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.menuFooterTopLink li::after ,
.footerTopLink li::after {
  content: "";
  display: block;
  background: url(../img/common/arrowRightBlack.svg) no-repeat 100%;
  width: 3.75vw;
  height: 5.59vw;
  background-size: 4vw;
}
#menuFooterWrap section:first-child{
  margin-bottom: 13vw;
}
#menuFooterWrap .shimanoLogo,
#menuFooterWrap #menuFooterSns > div{
  width: 49.58vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#menuFooterWrap #menuFooterSns{
  margin-top: 14vw;
}
#menuFooterWrap #menuFooterSns > div{
  padding: 0 2.7vw;
}
#menuFooterWrap #menuFooterSns svg,
#menuFooterWrap #menuFooterSns img{
  width: 8.1vw;
  height: auto;
}
#menuFooterWrap #menuFooterSns svg *{
  fill: #5F5F5F;
}
.menuFooter{
  margin: 14vw 0 1.5vw;
  width: 87vw;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 3vw;
}
.menuFooter li{
  color: #5F5F5F;
  border: none;
  width: auto;
  margin: 0 0 8.7vw;
  font-size: 3.6vw;
  padding: 0;
  font-weight: 500;
}
/* タブ */
.tab{
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 10vw;
  margin-top: 10vw;
  text-align: center;
  border-bottom: 1px solid #000;
  background-color: antiquewhite;
  position: relative;
}
.tab li{
  font-size: 7vw;
  font-weight: bold;
  line-height: 2rem;
  background-color: #fff;
  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: #000;
  color:#fff;
}
.tab span{
  display: inline-block;
  width: 100%;
  font-size: 3vw;
  font-weight: normal;
}
body .nonActive4tab{
  display: none;
}
/* タブ　第2階層 */
.tab.lv2{
  background: #f1f1f1;
  justify-content: center;
  }
.tab.lv2 li{
  background: #FFF;
  line-height: 4vw;
}

.tab.lv2 li:not(:first-child)::before {
  content:"";/*疑似要素の中身を指定*/
  position:absolute;/*絶対位置指定*/
  left: -.5px;/*横位置の指定*/
  top:33%;/*縦位置の指定*/
  background:#000000;/*線の色指定*/
  width:1px;/*線の幅指定*/
  height:4.83vw;/*線の高さ指定*/
}


.tab.lv2 li.active{
  background-color: #000;
  color: #FFF;
}
/* 枠線 */
.borderTop{
  border-top: 1px solid #000;
}
/* 枠線 */
/* 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;
} */
.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%;
  margin-bottom: 20vw;
  /* position: relative;
  z-index: 1; */
}
#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: 10vw auto;
  width: 100%;
  text-align: center;
}
body.bikersStyle footer .logo{
  margin-top: 13vw;
}
footer .sns_icon{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0px 12vw;
}
body.bikersStyle footer .sns_icon{
  width: 87%;
  align-items: center;
}
footer .sns_icon img,
footer .sns_icon svg{
  width: auto;
  height: 8vw;
}
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;
  color: #5F5F5F;
}

.copyright{
  text-align: center;
  margin-bottom: 10vw;
  width: 100%;
  color: #000;
  font-size: 2.9vw;
  font-weight: 200;
  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 JP", "游ゴシック体", 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 JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-family: "Oswald", "Bebas Neue" ,"Bebas",  "Noto Sans JP", "游ゴシック体", 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;
}

/* 追従メニュー */
#floatingMenu.spOnly{
  display: flex;
  position: fixed;
  bottom: -1px;
  z-index: 10;
  width: 100%;
  height: 21.28vw;
  background: #1F3D5A;
  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;*/
}

#floatingMenu li{
  position: relative;
  height: 100%;
  width: 100%;
}
#floatingMenu li a{
  display: block;
  width: 100%;
  height: 100%;
}

#floatingMenu li img{
  position: absolute;
  bottom: 9vw;
  margin: auto;
  height: 9.17vw;
  left: 0;
  right: 0;
}
#floatingMenu li i{
  display: none;
  align-items: center;
  justify-content: center;
  width: 10.26vw;
  height: 4.1vw;
  font-family: "oswald";
  position: absolute;
  background-color: #FFE200;
  color: #3C4E3E;
  border-radius: 10px;
  font-size: 3.33vw;
  text-align: center;
  padding: 0 2vw;
  left: 3vw;
  right: 0;
  top: -2vw;
  font-style: normal;
}
#floatingMenu li i.active{
  display: flex;
}