body {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-size:3vh;
  font-style: normal;
  color:#505050;
}

.first-view{
  min-height: 100dvh;
  min-height: calc(var(--vh, 1vh) * 100);
}

section{
  padding:0;
  margin:0;
}

.container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.block {
  display: block;
}

.sm-only {
    display:none;
}

.pc-only {
    display: block;
}

a {
    text-decoration: none;
    color: #505050;
}

.nowrap {
  white-space: nowrap;
}

.white {
  color:white;
}

.red {
  color:#E63C00;
}

.blue {
  color:#0050FF;
}

.bold {
  font-weight: bold;
}

.ls01{
  letter-spacing: 0.1em;
}

.f14{
  font-size:1.05vw;
}

.f15{
  font-size:1.05vw;
}

.f16{
  font-size:1.1vw;
}

.f17{
  font-size:1.3vw;
}

.f18{
  font-size:1.4vw;
}

.f19{
  font-size:1.5vw;
}

.f20{
  font-size:1.6vw;
}

.f22{
  font-size:1.7vw;
}

.f24{
  font-size:1.8vw;
}

.f40{
  font-size: 2.4vw;
}

.w-08{
  width:8%;
}

.w-10{
  width:10%;
}

.w-12{
  width: 12%;;
}

.w-15{
  width: 15%;
}

.w-20{
  width:20%;
}

.w-21{
  width:20.5%;
}

.w-30{
  width:30%;
}

.w-40{
  width:40%;
}

.w-45{
  width:45%;
}

.w-55{
  width:55%;
}

.w-60{
  width:60%;
}

.w-61{
  width:61%;
}

.w-65{
  width:65%;
}

.w-70{
  width:70%;
}

.w-80{
  width:80%;
}

.w-90{
  width:90%;
}

.w-95{
  width:95%;
}

.pt-6{
  padding-top: 6vw;
}

.bgline {
  background-image: url("./../img/bg.png");
  background-size: 2vh 8vh;
  background-repeat: repeat;
  /*min-height:100vh;
  height: calc(var(--vh_pc, 1vh) * 1.05);*/
  /*height:100vh;*/
}

.target-element {
  visibility: hidden;
  transition: visibility 0s ease 0.1s;
}
html.vh-ready .target-element {
  visibility: visible;
  transition-delay: 0s;
}


/* 共通ボタンデザイン */
.pc-icon-btn {
  width:4vw;
  height:4vw;
  background-color: transparent;
  color: white;
  border: none;
  cursor: pointer;
  border-radius: 1.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* サイドメニュー */
.menu {
  height: 100%;
  width: 0;
  position: fixed;
  top: 0;
  right: 0;
  background-color: white;
  overflow-x: hidden;
  transition: 0.3s;
  padding-top: 60px;
  z-index: 1000;
}

/* メニュー項目 */
.menu a {
  display: block;
  padding: 1vw 2vw;
  color: #505050;
  text-decoration: none;
  transition: 0.2s;
}

/* メニューボタン（右上固定） */
#pc-menuBtn {
  position: fixed;
  top:0px;
  right: 0px;
  z-index: 1001;
  background-color: white;
  border-bottom-left-radius: 1.5vw;
  width:4vw;
  height:4vw;
}

/* 閉じるボタン */
#pc-closeBtn {
  position: absolute;
  top: 0px;
  right: 0px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
}


#pc-bottomBtn{
  position: fixed;
  bottom:2vw;
  right:2vw;
  width:25vw;
  height:4vw;
  z-index: 1002;
}

#sm-bottomBtn{
  position: fixed;
  bottom:4vw;
  right:3vw;
  width:40vw;
  height:10vw;
  z-index: 1001;
}

.obi {
  background: linear-gradient(
    to right, 
    rgba(0, 80, 255, 0.6),
    rgba(230, 60, 0, 0.6)
  );
}

.slide{ padding: 0 1vw; } 

.underline{
  text-decoration: underline;
}

.s_tag{
  display: inline-block; 
  white-space: nowrap;
  background-color: #0050FF;
  border-radius: 15px;
}

.b_tag{
  display: inline-block; 
  white-space: nowrap;
  background-color: #E63C00;
  border-radius: 15px;
}

.btnShirayuki {
  position: relative;
  top:-2.2vw;
  left:-17vw;
}

.btnBus{
  position: relative;
  top:-2.2vw;
  right:-17vw;
}

.posrelative {
  position: relative;
  display: inline-block;
}

.t_timesimg{
  position: absolute;
  top:65%;
  left:0%;
  width:10%;
}

.t_timesweb{
  position: absolute;
  top:46.5%;
  left:9%;
}

.t_timesapl{
  position: absolute;
  top:85.5%;
  left:9%;
}

.b_download{
  position: absolute;
  top:49%;
  left:4%;
}

.t_ecar{
  position: absolute;
  top:65%;
  left:14%;
  width:10%;
}

.t_ekinet1{
  position: absolute;
  top:72%;
  left:10%;
}

.t_ekinet2{
  position: absolute;
  top:72%;
  left:40%;
}

.t_ekinet3{
  position: absolute;
  top:72%;
  right:20%;
}

.area_white{
  background-color: white;
  border-radius: 3vw;
}



@media screen and (max-width: 480px) {
/*@media screen and (max-width: 991.98px) {*/

    html{ scrollbar-gutter: stable both-edges; }
    html, body { overflow-x: hidden; }
    
    .sm-only {
        display:block;
    }
    
    .pc-only {
        display: none;
    }

    .f23{
      font-size:3.0vw;
    }

    .f24{
      font-size:3.3vw;
    }

    .f27{
      font-size:3.7vw;
    }

    .f28{
      font-size:3.8vw;
    }

    .f30{
      font-size:4.0vw;
    }

    .f31{
      font-size:4.2vw;
    }

    .f32{
      font-size:4.4vw;
    }

    .f48{
      font-size:6.4vw;
    }

    /*
    .vh_sm{
        min-height:100vh;
        height: calc(var(--vh_sm, 1vh) * 1.05);
    }
    */

    .sm-icon-btn {
      width:16vw;
      height:16vw;
      background-color: transparent;
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    #sm-menuBtn {
      position: fixed;
      top: 0px;
      right: 10px;
      z-index: 2085;
    }

    #sm-sideMenu {
      z-index: 1080;
    }

    #sm-closeBtn {
      position: absolute;
      top: 0px;
      right: 10px;
      z-index:1081;
    }

    .btnShirayuki {
      position: absolute;
      top:78%;
      left:10%;
    }

    .btnBus{
      position: absolute;
      top:80%;
      right:10%;
    }
  
    .bgline {
        background-image: url("./../img/bg.png");
        background-size: 2vh 8vh;
        background-repeat: repeat;
    }

    .t_ekinet1{
      position: absolute;
      top:20%;
      left:9%;
    }

    .t_ekinet2{
      position: absolute;
      top:46%;
      left:9%;
    }

    .t_ekinet3{
      position: absolute;
      top:79%;
      left:9%;
    }

    .b_download{
      position: absolute;
      top:23%;
      left:64%;
    }

}