@charset "UTF-8";
.visible-sp{
  display: none!important;
}
#wrapper{
  position: relative;
  min-height: 100%;
  width: 100%;
  box-sizing:border-box;
  border-right:7px solid #f50057;
  border-left:7px solid #f50057;
  /*padding: 7px 0;*/
  margin: 7px 0;
  background-color: #fff;
  overflow: hidden;
}
#wrapper:after{
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  height: 7px;
  width: 100%;
  background-color: #f50057;
  z-index: 999;
}
#wrapper:before{
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  height: 7px;
  width: 100%;
  background-color: #f50057;
  z-index: 999;
}

body:after{
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 7px;
  background-color: #f50057;
  z-index: 999;
}
body:before{
  content: "";
  position: fixed;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 7px;
  background-color: #f50057;
  z-index: 999;
}



/*-------------------------------------------------------------------------
header
-------------------------------------------------------------------------*/
.header{
  position: relative;
  background-color: #fff;
  z-index: 998;
}

.header .seriesWrapper{
  background-color: #f6f6f6;
  /*overflow: hidden;*//*#wrapperに設定*/
  position: relative;
  z-index: 3;
  border-bottom: 1px solid #ccc;
}

.header:not(#headerNarrow) .seriesWrapper{
  opacity: 0;
}
.seriesWrapper .globalLogo{
  border-right: 1px solid #ccc;
  /*box-sizing:border-box;*/
  height: 100%;
  position: absolute;
  min-width: 110px;
  z-index: 3;
  background-color: #fff;
}

.seriesWrapper .globalLogo:after{
  /*content: "\00a0";*/
  content: "たのしいがゴール。";
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding:5px 0;
  line-height: 1.2;
  font-size: 11px;
  background-color: #e7e7e7;
  z-index: 3;
  border-bottom:1px solid #fff;
  transition: all 0.3s linear;
}
.seriesWrapper .globalLogo:hover:after{
  background-color: #F50057;
  color: #fff;
}

.seriesWrapper .globalLogo a{
  display: block;
  height: calc(100% - 20px);
  margin-top: 20px;
  transition:all 0.4s linear;
  background-color: #fff;
}
/*.seriesWrapper .globalLogo a:hover{
  background-color: #f6f6f6;
}*/
.seriesWrapper .globalLogo span{
  height: 100%;
  display: block;
  margin: 0 auto 0;
  max-width: 110px;
  background: url('/series/images/seriesLogo.png?1903') center center no-repeat;
  background-size: 100% auto;
}

.header .seriesWrapper ul.slider{
  position: absolute;
  width: 100%;
  top: 50%;
  margin-top: -30px;
}
.header .seriesWrapper ul.slider li{
  position: absolute;
 width: 40px;
 height: 60px;
 cursor: pointer;
}
.header .seriesWrapper ul.slider li.hide{
  cursor: default;
  opacity: 0;
}
.header .seriesWrapper ul.slider li img{
  position: absolute;
  top: 50%;
  margin-top: -10px;
  width: 20px;
}
.header .seriesWrapper ul.slider li.left{
  left: 0;
}
.header .seriesWrapper ul.slider li.left img{
  left: 3px;
}
.header .seriesWrapper ul.slider li.right{
  right: 0;
}
.header .seriesWrapper ul.slider li.right img{
  right: 3px;
}

ul.headerSeries{
  position: relative;
  left: 0;
  display: -webkit-flex;
  display: flex;
  box-sizing:border-box;
}
ul.headerSeries li{
  position: relative;

  -webkit-flex-basis: 15%;
  flex-basis: 15%;
  min-width: 120px;

  /*border-right:1px solid #ccc;*/
  box-sizing:border-box;
  text-align: center;
  line-height: 1.2;
  background-color: #f6f6f6;
  transition: all 0.3s linear;
}
ul.headerSeries li:not(:first-child):after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #ccc;
}
ul.headerSeries li:last-child:after{
  display: none;
}


ul.headerSeries li.linkout > a{
  opacity: 0.4;
}


ul.headerSeries li .partition{
  position: absolute;
  left: 0;
  bottom: 0;
  width: 52px;
  height: 52px;
  overflow: hidden;
}
ul.headerSeries li .partition span{
  position: absolute;
  bottom: 1px;
  left: 3px;
  padding: 0;
  line-height: 1;
  z-index: 1;
  color: #fff;
  font-family: 'Rajdhani', sans-serif;
  font-size: 15px;
  font-weight: 600;
}
ul.headerSeries li .partition:before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #bdbdbd;
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
  margin-top: 26px;
  margin-left: -26px;
  z-index: 0;
}
ul.headerSeries li.current,
ul.headerSeries li:not(.linkout):hover{
  background-color: #fff;
}


ul.headerSeries li .status{
  /*color: #fff;*/
  font-size: 12px;
  border-bottom:1px solid #fff;
}
ul.headerSeries li .status > div{
  padding: 5px 0;
  background-color: #e7e7e7;
  transition: all 0.3s linear;
}
ul.headerSeries li.current .status > div,
ul.headerSeries li:not(.linkout):hover .status > div{
  background-color: transparent;
  color: #fff;
}

ul.headerSeries li.current .status > div.black,
ul.headerSeries li:hover .status > div.black{
  color: #333;
}

ul.headerSeries li > span,
ul.headerSeries li > a{
  display: block;
  padding: 8px 8px;
}
ul.headerSeries li .logo{
  display: block;
  /*width: 70%;*/
  max-height: 60px;
  /*max-width: 50px;*/
  margin: -5px auto 0;

  /*display: none;*/
}
ul.headerSeries li .day{
  font-size: 22px;
  font-weight: bold;
  color: #666;
  font-family: 'Rajdhani', sans-serif;
}

ul.headerSeries li .time{
  /*font-size: 90%;*/
  /*font-weight: bold;*/
  color: #666;
  margin: 0 0 3px;
}
ul.headerSeries li .month{
  display: none;
  font-size: 90%;
  font-weight: bold;
  font-family: Helvetica, Arial, Verdana, sans-serif;
  color: #666;
}
ul.headerSeries li .stage{
  margin-top: 5px;
  font-size: 10px;
}
ul.headerSeries li .at{
  font-size: 10px;
}
/*#headerNarrow{
  height: 0;
  overflow: hidden;
}*/
ul.headerSeries li .detail{
  display: none;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;

}
ul.headerSeries li:hover > .detail{
  display: block;
}
ul.headerSeries li .detail:before{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: -17px;
  left: 50%;
  transform:translateX(-50%);
  /*margin-left: -4px;*/
  border:9px solid transparent;
  border-bottom: 9px solid #999;
  z-index: 2;
}
ul.headerSeries li .detail:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: -13px;
  left: 50%;
  transform:translateX(-50%);
  /*margin-left: -3px;*/
  border:7px solid transparent;
  border-bottom: 7px solid #fff;
  z-index: 3;
}
ul.headerSeries li .detail .frame{
  /*display: none;*/
  position: absolute;
  width: 260px;
  top: 0;
  left: -30px;/*common.jsで設定*/
  background-color: #fff;
  padding:10px;
  box-sizing:border-box;
  z-index: 1;
  border:1px solid #999;
  text-align: left;
  border-radius: 3px;
  box-shadow: 0 0 4px rgba(0,0,0,0.2);
}
ul.headerSeries li .detail .frame .textBlock{
  margin: 5px 0 0;
}

ul.headerSeries li .detail .frame .title{
  font-size: 120%;
  margin-bottom: 15px;
  font-weight: bold;
}

ul.headerSeries li .detail .frame dl{
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
}
ul.headerSeries li .detail .frame dt{
  width: 50px;
  padding-right: 10px;
  margin-bottom: 10px;
  box-sizing:border-box;
  color: #666;
  font-size: 0.9rem;
}
ul.headerSeries li .detail .frame dd{
  width: calc(100% - 50px);
  margin-bottom: 10px;
}

ul.headerSeries li .detail .frame .dateText{
  font-family: 'Rajdhani', sans-serif;
  font-size: 18px;
  line-height: 14px;
  vertical-align: top;
  /*font-weight: bold;*/
}
ul.headerSeries li .detail .frame .category span{
  color: #fff;
  padding: 5px 5px;
  line-height: 1;
  display: inline-block;
  margin: 0 2px 4px;
  font-size: 90%;
}
ul.headerSeries li .detail .frame .class{
  position: relative;
  font-size: 0;
}
ul.headerSeries li .detail .frame .class .icon{
  display: inline-block;
  width: 40px;
  margin:-3px 7px 7px 0;
  cursor: pointer;
  /*position: relative;*/
}
ul.headerSeries li .detail .frame .class img{
  width: 100p%;
}
ul.headerSeries li .detail .frame .class span{
  display: none;
  position: absolute;
  font-size: 11px;
  line-height: 1.4;
  /*width: 170px;*/
  left: 0;
  top: 50px;
  background-color: #333;
  color: #fff;
  border-radius: 4px;
  box-shadow: 0 3px 3px rgba(0,0,0,0.1);
  padding: 6px 8px;
}
ul.headerSeries li .detail .frame .class .icon:hover span{
  display: block;
}
ul.headerSeries li .detail .frame .class .icon:hover::after{
  content: '';
  position: absolute;
  display: block;
  /*left: 0;*/
  top: 40px;
  width: 0;
  height: 0;
  transform: translateX(18px);
  border: 5px solid transparent;
  border-bottom: 5px solid #333;
}

ul.headerSeries li .detail .frame .map{
  margin-top: 10px;
}
ul.headerSeries li .detail .frame .map img{
  width: 100%;
}


.header > #buttonList{
  position: absolute;
  z-index: 1;
  left: 10px;
  margin-top: 10px;
  padding: 3px 15px 3px 10px;
  background-color: #ededed;
  line-height: 22px;
  font-size: 13px;
  vertical-align: middle;
  transition:all 0.3s linear;
}
.header > #buttonList:before{
  content: url('/series/images/question.svg');
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  vertical-align: middle;
}
.header > #buttonList:hover{
  color: #F50057;
  /*background-color: #fff;*/
}
#headerNarrow > #buttonList{
  display: none;
}


.header .inner{
  position: relative;
  padding: 20px 0 0;
  z-index: 0;
  /*vertical-align: middle;*/
}

.header .inner .logo{
  /*width: 200px;*/
  /* height: 65px; */
  margin: 0 auto 40px;
  text-align: center;
}
.header .inner .logo > a{
  display: inline-block;
}


.header .option{
  position: absolute;
  right: 20px;
  top: 30px;
}
@media screen and (max-width: 1080px) {
  .header .option .siteSearch{
    display: none;
  }
}
.header .option li{
  display: inline-block;
  /*min-width: 10px;*/
  width: 30px;
  height: 30px;
  text-align: center;
  /*margin-left: 10px;*/
  vertical-align: bottom;
}

.header .option li img{
  width: 30px;
  height: 30px;
  margin-top: -5px;
}
.header .option li i{
  font-size: 180%;
  color: #333;
  transition:all 0.3s linear;
}
.header .option li a:hover i,
.header .option li a:hover img{
  opacity: 0.6;
}

/*.header .option li i.fa-facebook{
  color: #3B5998;
}*/


.header .option li.siteSearch{
  width: 250px;
  text-align: right;
}
.header .option li.siteSearch .searchSubmit{
  border:none;
  border-radius: 0;
  background-color: transparent;
  /*width: 2.1em;*/
  cursor: pointer;
  /*margin-right: 5px;*/
}
.header .option li.siteSearch .searchSubmit i{
  font-size: 160%!important;
  color: #333!important;
  transition:all 0.3s linear;
}
.header .option li.siteSearch input[type="text"]{
  border:none;
  width: 150px;
  border-bottom:1px solid #333;
  font-size: 1rem;
  /*color: #666;*/
  -webkit-appearance: none;
  border-radius: 0;
  background-color: transparent;
}

.header .option li.siteSearch .searchSubmit:hover i{
  opacity: 0.6;
}


.header .menu{
  display: none;

  position: absolute;
  top: 40px;
  left: 58px;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
}

.burgerMenu{
  display: none;

  position: absolute;
  top: 40px;
  z-index: 5;
  /*top: 50%;
  margin-top: -9px;*/
  left: 20px;
  width: 26px;
  height: 18px;
  cursor: pointer;
}
.burgerMenu span{
  position: absolute;
  width: 100%;
  height: 2px;
  top: 50%;
  margin-top: -1px;
  background-color: #333;
  transition: all 0.3s ease;
}
.burgerMenu:before{
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  top: 0;
  /*margin-top: -9px;*/
  background-color: #333;
  transition: all 0.3s ease;
}
.burgerMenu:after{
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  /*margin-top: 8px;*/
  background-color: #333;
  transition: all 0.3s ease;
}

.burgerMenu:hover span{
  opacity: 0;
  /*display: none;*/
}
.burgerMenu:hover:before{
  -webkit-transform:translateY(4px);
  transform:translateY(4px);
}
.burgerMenu:hover:after{
  -webkit-transform:translateY(-4px);
  transform:translateY(-4px);
}

.header .inner.activeNavi .burgerMenu span{
  display: none;
}
.header .inner.activeNavi .burgerMenu:before{
  -webkit-transform:translateY(5px) rotate(-45deg);
  transform:translateY(5px) rotate(-45deg);
  background-color: #333;
}
.header .inner.activeNavi .burgerMenu:after{
  -webkit-transform:translateY(-11px) rotate(45deg);
  transform:translateY(-11px) rotate(45deg);
  background-color: #333;
}

.modalNavi{
  /*display: none;*/
  position: absolute;
  z-index: 1;
  padding: 40px 20px 40px 55px;
  left: -999px;
  top: 20px;
  opacity: 0;
  box-shadow: 0 0 7px rgba(0,0,0,0.7);
  -webkit-transform:scale(0.95);
  transform:scale(0.95);
  /*background-color:rgba(30,30,30,0.97);
  color: #fff;*/
  background-color:rgba(255,255,255,0.9);
  color: #333;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease, left 0s 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0.3s ease;
}
.header .inner.activeNavi .modalNavi{
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  -webkit-transform:scale(1);
  transform:scale(1);
  opacity: 1;
  left: 10px;
}

.modalNavi > ul{
  /*text-align: center;*/
  font-size: 120%;
  /*width: 150px;*/
}
.modalNavi ul li{
  cursor: pointer;
  display: block;
}
.modalNavi ul li:not(:last-child){
  margin-bottom: 15px;
}
.modalNavi ul li a{
  position: relative;
  display: block;
}

.modalNavi ul li > div{
  position: relative;
  width: 180px;
}

.modalNavi ul li > div .caption{
  display: none;
}

.modalNavi ul li span{
  position: absolute;
  right: 0;
  top: 0;
  font-weight: bold;
}

.modalNavi ul.submenu{
  font-size: 90%;
  display: none;
}
.modalNavi ul.submenu li{
  margin: 5px 5px 5px 0;
}
.modalNavi ul.submenu > li{
  margin-left: 15px;
}
.modalNavi ul.submenu li.enduro{
  color: #0068b7;
}
.modalNavi ul.submenu li.hill{
  color: #00AB73;
}
.modalNavi ul.submenu li.kids{
  color: #FFA600;
}
.modalNavi ul.submenu li a:after{
  background: none;
}
.header .inner.activeNavi .modalNavi{
  display: block;
}


.globalNavi{
  /*display: none;*/
  position: relative;
  /*top: 17px;*/
  z-index: 0;
  box-sizing:border-box;
  /*overflow: hidden;*/
  /*height: 45px;*/
  padding: 0 5px;
  margin-top: 25px;
  left: 0px;
  width: 100%;
  background-color: #fff;
  /*border:1px solid #f00;*/
}

/*.globalNavi.slide{
  border-bottom: 1px solid #999;
}*/


.globalNavi ul{
  text-align: center;
  display: flex;
  justify-content: center;
}
.globalNavi > ul > li{
  /*display: inline-block;*/
  font-size: 15px;
  font-weight: bold;
  padding: 0 20px;
  /*letter-spacing: normal;*/
}

.globalNavi ul li a{
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding-bottom: 10px;
  transition: all 0.2s linear;
}

.globalNavi > ul > li > a.current:after {
    content: "";
    position: absolute;
    width: calc(100% + 10px);
    height: 3px;
    bottom: 0;
    left: -5px;
    background-color: #999;
}

.globalNavi > ul > li a:hover{
  color: #999;
}

.globalNavi > ul > li > .show{
  position: relative;
  /*cursor: pointer;*/
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 5px;
  /*border:1px solid #666;*/
  box-sizing: border-box;
  vertical-align: middle;
}
.globalNavi > ul > li > .show:after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border:5px solid transparent;
  border-top: 5px solid #333;
  margin:-3px 0 0 -5px;
}
.globalNavi > ul > li:hover > .show:after{
  border-top: 5px solid #999;
}

.globalNavi > ul > li a{
  position: relative;
}



.globalNavi > ul > li > a .caption{
  position: absolute;
  top: -35px;
  left: 50%;
  width: 200%;
  -webkit-transform:translateX(-50%);
  transform:translateX(-50%);
}

.globalNavi > ul > li .submenu .caption{
  display: none;
}

.globalNavi > ul > li .caption span{
  background-color: #FF3300;
  font-size: 12px;
  font-weight: bold;
  color: #fff!important;
  padding: 1px 10px;
  border-radius: 2px;
  display: inline-block;
  transition: all 0s;
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
}
.globalNavi > ul > li .caption span:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: 0;
  left: 50%;
  margin: 0 0 -11px -6px;
  border:6px solid transparent;
  border-top:6px solid #FF3300;
}


@media screen and (max-width: 1080px) {
  .globalNavi > ul > li{
    font-size: 1rem;
    padding: 0 13px;
  }
  .globalNavi ul .submenu ul li{
    font-size:12px!important;
  }
  .globalNavi > ul > li .caption span{
    font-size: 10px;
  }
}
@media screen and (max-width: 920px) {
  .globalNavi ul li{
    padding: 0 10px!important;
  }

  .globalNavi .submenu,
  .globalNavi ul li .show{
    display: none!important;
  }
}

.globalNavi ul li .submenu {
  /*display: none;*/
  position: absolute;
  width: 100%;
  left: 0;
  top: 30px;
  text-align: left;
  box-sizing: border-box;
  background-color: #fff;
  overflow: hidden;
  box-shadow: 0 3px 2px -2px rgba(0, 0, 0, 0.3);
  /*text-align: center;*/
  max-height: 0;
  transition:max-height 0.0s;
}
.globalNavi ul li.display .submenu{
  transition:max-height 0.3s linear;
  max-height: 140px;
  padding:8px 0 12px;
  z-index: 2;
}

.globalNavi ul .submenu ul{
  position: relative;
  display: inline;
  font-size: 0;
}
.globalNavi ul .submenu ul:after{
  content: "\A";/*改行*/
  white-space: pre;
}

.globalNavi ul .submenu ul li{
  position: relative;
  font-weight: normal;
  display: inline-block;
  padding: 0 10px;
  box-sizing:border-box;
  font-size:14px;
}
.globalNavi ul .submenu ul li ul li:first-child{
  padding-left: 0;
}

.globalNavi ul .submenu ul.division li:first-child{
  font-weight: bold;
  padding-right: 20px;
}
.globalNavi ul .submenu ul.division li:first-child:after{
  content: "";
  position: absolute;
  width: 1px;
  right:5px;
  top: 20%;
  height: 60%;
  background-color: #666;
}
.globalNavi ul .submenu a{
  padding-bottom: 0;
}

.globalNavi ul .submenu .enduro{
  color: #0068b7;
}
.globalNavi ul .submenu .hill{
  color: #00AB73;
}
.globalNavi ul .submenu .kids{
  color: #FFA600;
}
.globalNavi ul .submenu .cycling{
  color: #15932a;
}
.globalNavi ul .submenu ul li a{
  position: relative;
  color: inherit;
}
.globalNavi ul .submenu ul li a:hover{
  opacity: 0.6;
}
/*.globalNavi ul .submenu li.division{
  font-weight: bold;
  padding-right: 20px;
}

.globalNavi ul .submenu li.division:after{
  content: "";
  position: absolute;
  width: 1px;
  right:0;
  top: 20%;
  height: 60%;
  background-color: #666;
}*/

.globalNavi.fixed{
  position: fixed;
  top: 0;
  height: 60px;
  background-color: #fff;
  box-shadow: 0px 1px 1px 0px rgba(0,0,0,.2);
  text-align: center;
}
.globalNavi.fixed ul{
  padding-top: 15px;
}

#headerNarrow{
  position: fixed;
  width: -webkit-calc(100% - 14px);
  width: calc(100% - 14px);
  top: 7px;
  left: 7px;
  margin: -140px 0 0;
  border-bottom:1px solid #ccc;
  -webkit-transform:translateY(-100%);
  transform:translateY(-100%);
  /*overflow: hidden;*/
  /*-webkit-animation: slideDown 0.4s ease;
  animation: slideDown 0.4s ease;*/
  z-index: 998;
  transition: all 0.5s linear;
}
#headerNarrow.slideDown{
  margin: 0;
  -webkit-transform:translateY(0);
  transform:translateY(0);
  transition: all 0.5s ease;
}

#headerNarrow ul li .submenu{
  /*display: none;*/
  /*opacity: 0;*/
  /*transform: translateY(-100%);*/
}
#headerNarrow.slideDown ul li .submenu{
  /*display: block;*/
  /*opacity: 1;*/
  /*transform: translateY(0);*/
}

#headerNarrow .globalLogo span{
  background: url('/series/images/seriesLogo_narrow.png?1903') center center no-repeat;
  background-size: 90% auto;
}

#headerNarrow ul.headerSeries li .logo{
  display: none;
  height: auto;
  width: 90%;
  max-width: 60px;
}

#headerNarrow ul.headerSeries li .time{
  margin-top: 5px;
  font-size: 110%;
}
#headerNarrow ul.headerSeries li .day{
  font-size: 140%;
  font-weight: 600;
}
#headerNarrow ul.headerSeries li .at{
  display: none;
}

#headerNarrow .globalNavi{
  position: relative;
  margin: 0;
  /*max-height: 0;*/
}
#headerNarrow > .inner{
  padding: 15px 0 0;
}

#headerNarrow .submenu .caption{
  display: inline-block;
  padding: 0 5px;

}
#headerNarrow .submenu .caption span{
  font-size: 11px;
  padding: 3px 7px;
}
#headerNarrow .submenu .caption span:after{
  /*display: none;*/
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  right: 0;
  left: auto;
  margin: -6px -5px 0 0;
  border-radius: 2px;
  border:6px solid transparent;
  border-left: 6px solid #FF3300;
}

#headerNarrow .globalNavi > ul > li > a .caption,
#headerNarrow .logo,
#headerNarrow .burgerMenu,
#headerNarrow .menu,
#headerNarrow .option,
#headerNarrow .modalNavi{
  display: none;
}


/*-------------------------------------------------------------------------
main
-------------------------------------------------------------------------*/
#main section{
  padding: 30px 0;
  overflow: hidden;
  position: relative;
  margin-bottom: 40px;
  /*border:1px solid #f00;*/
}

#main section:last-child{
  margin-bottom: 0;
}

.contents > section{
  /*border:1px solid #f00;*/
  /*margin-bottom: 80px;*/
}
.contents section:first-child{
  /*border:1px solid #f00;*/
  padding-top: 10px!important;
}

#breadcrumbs{
  font-size: 90%;
  /*margin: 15px 0 0;*/
  padding: 7px 0;
  background-color: #f6f6f6;
  border-top: 1px solid #ededed;
  border-bottom: 1px solid #ededed;
}
#breadcrumbs ul{
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
}

#breadcrumbs li{
  display: inline-block;
  position: relative;
  color: #666;
}
#breadcrumbs li a{
  text-decoration: underline;
  color: #999;
}
#breadcrumbs li a:hover{
  text-decoration: none;
}
#breadcrumbs li:not(:last-child):after{
  content: "\003e";
  display: inline-block;
  margin: 0 5px;
}

header.pageHeader{
  padding: 20px 0;
  margin-bottom: 30px;
  /*border-top: 1px solid #ccc;*/
  border-bottom: 1px solid #ccc;
}
header.pageHeader .inner{
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
}

#main .contents{
  width: 95%;
  max-width: 1100px;
  margin: 20px auto 50px;
  min-height: 200px;
}


#main .contents a{
  text-decoration: underline;
}
#main .contents a:hover{
  text-decoration: none;
  color: #666;
}


.pageTitle{
  /*font-size: 220%;*/
  font-size: 26px;
  font-weight: normal;
}

.subTitle{
  text-align: center;
  margin-bottom: 20px;
  font-size: 14px;
}
.subTitle span{
  position: relative;
  font-size: 24px;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
  font-style: italic;
  letter-spacing: 0.03em;
  font-weight: 700;
}
.subTitle span.eng{
  font-family: 'Rajdhani', sans-serif;
  font-size: 34px;
}
.subTitle span:after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #666;
}
.subTitle span:not(.eng):after{
  bottom: -5px;
}

.sub2Title{
  font-size: 1.15rem;
  /*font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;*/
  letter-spacing: 0.03em;
  margin-bottom: 15px;
  line-height: 1.4;
  padding-left: 10px;
  border-left: 4px solid #666;
  border-bottom: 1px dotted #ccc;
}

.txtButton{
  display: inline-block;
  padding: 5px 15px;
  background-color: #333;
  color: #fff;
  font-weight: bold;
  text-decoration: none!important;
}
.txtButton:hover{
  opacity: 0.8;
  color: #fff!important;
  text-decoration: underline!important;
}

.txtBottunDisabled{
  display: inline-block;
  background-color: #BCBCBC;
  color: #fff;
  font-weight: bold;
  padding: 5px 15px;
}


.entryOption{
  position: relative;
  /*border:1px solid #f00;*/
  margin: 0px 20px 5px 20px;
  min-height: 35px;
}

ul.tags{
}

ul.tags li{
  /*display: inline-block;*/
  margin-right: 5px;
  position: relative;
  padding: 2px 25px 2px 10px;
  font-size: 0.9rem;
  /*line-height: 12px;*/
  background-color: #f6f6f6;
  border:1px solid #ccc;
  overflow: hidden;
  box-sizing:border-box;
  transition:all 0.2s linear;
  display: none;
}

ul.tags li:nth-child(-n+5){
  display: inline-block;
}

ul.tags li:hover{
  background-color: #fff;
}
ul.tags li a:hover{
  text-decoration: underline;
}

ul.tags li.hide{
  transition:opacity 0.0s, margin 0.3s 0.1s, padding 0.3s 0.1s, font-size 0.3s 0.1s;
  opacity: 0;
  margin: 0;
  padding: 0;
  border: none;
  font-size: 0;
}

ul.tags li .close{
  cursor: pointer;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 5px;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 10px;
  /*border:1px solid #f00;*/
}
ul.tags li .close:after{
  content: "";
  position: absolute;
  background-color: #999;
  height: 2px;
  width: 100%;
  top: 50%;
  left: 0;
  margin-top: -1px;
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
}
ul.tags li .close:before{
  content: "";
  position: absolute;
  background-color: #999;
  width: 2px;
  height: 100%;
  top: 0;
  left: 50%;
  margin-left: -1px;
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
}


ul.entries{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 10px;
}

ul.entries > li{
  position: relative;
  width: calc(25% - 20px);
  margin: 10px;
  background-color: #fff;
  overflow: hidden;
  transition: all 0.2s linear;
}

ul.entries li .category{
  position: absolute;
  width: 108px;
  height: 108px;
  top:-1px;
  right: -1px;
  overflow: hidden;
  z-index: 3;
}
ul.entries li .category span{
  position: absolute;
  right: 5px;
  top: 8px;
  width: 56px;
  text-align: right;
  z-index: 1;
  color: #fff;
  font-size: 85%;
  font-weight: bold;
  font-style: italic;
  line-height: 1.4;
  overflow: hidden;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
}
ul.entries li .category:after{
  content: "";
  position: absolute;
  background-color: #F50057;
  width: 100%;
  height: 100%;
  top:0;
  right: 0;
  -webkit-transform:translate(50%, -50%) rotate(-45deg);
  transform:translate(50%, -50%) rotate(-45deg);
  z-index: 0;
}

ul.entries li .thumb{
  position: relative;
  display: block;
  width: 100%;
  padding-top: 59.3%;
  transition: all 0.2s linear;
  /*backface-visibility: hidden;*/
  -webkit-transform: translate3d(0px, 0px, 0px);
}
ul.entries li .thumb img{
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  margin: 0;
}
ul.entries li a .thumb:after{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255,255,255,0);
  transition: all 0.2s linear;
}
ul.entries li a:hover .thumb:after{
  background-color: rgba(255,255,255,0.3);
}

ul.entries li .text{
  padding: 10px 15px;
  border-top: 1px solid #E7E7E7;
}
ul.entries li .text h4{
  font-size: 1.15rem;
  line-height: 1.4;
  margin-bottom: 7px;
}
ul.entries li .text .read{
  font-size: 95%;
  color: #444;
  line-height: 1.6;
  margin-bottom: 15px;
}
ul.entries li .text .date{
  font-family: 'Rajdhani', sans-serif;
  color: #666;
  font-size: 1.2rem;
  line-height: 1.4;
}
ul.entries li a{
  display: block;
  text-decoration: none!important;
}
ul.entries li a:hover h4{
  text-decoration: underline;
}

.topics .more{
  margin-top: 35px;
  text-align: center;
}
.topics .more img{
  width: 30px;
  margin: 2px auto;
}
.topics .more a:hover{
  text-decoration: underline;
}


nav.pagination{
  margin-top: 20px;
}

nav.pagination .screen-reader-text{
  display: none;
}

nav.pagination ul.page-numbers{
  text-align: center;
}
nav.pagination ul.page-numbers li{
  display: inline-block;
  margin: 0 2px;
}
nav.pagination ul.page-numbers li a,
nav.pagination ul.page-numbers li span:not(.dots){
  border:1px solid #333;
  color: #333;
  text-decoration: none!important;
  display: inline-block;
  width: 24px;
  height: 24px;
  line-height: 24px;
}
nav.pagination ul.page-numbers li a:hover{
  color: #666!important;
}
nav.pagination ul.page-numbers li span.current{
  color: #fff;
  background-color: #333;
}
.innerContainer{
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
}
.innerContainer p{
  margin-bottom: 10px;
}

/*-------------------------------------------------------------------------
entry-link
-------------------------------------------------------------------------*/
.entry-lnk{
  position: fixed;
  top: 180px;
  right: -45px;
  width: 25px;
  padding: 10px;
  color: #fff;
  background-color: #333;
  z-index: 100;
  opacity: 0;
  transition:opacity 0.3s linear, right 0s 0.3s;
}
.entry-lnk.active{
  right: 0;
  opacity: 1;
  transition:opacity 0.3s linear, right 0s 0s;
}
.entry-lnk li{
  font-weight: bolder;
  line-height: 1.5;
}
.entry-lnk i{
  font-size: 130%;
}


.flameDiagonal{
  margin-bottom: 10px;
  text-align: center;
  padding: 4px;
  background-color: #0089e0;
  background: linear-gradient(-45deg, #0089e0 25%, white 25%, white 50%, #0089e0 50%, #0089e0 75%, white 75%, white) repeat scroll 0% 0% / 6px 6px;
}
.flameDiagonal > div{
  padding: 15px;
  background-color: #fff;
  /*border:4px solid #0089e0;*/
}




/*-------------------------------------------------------------------------
HOME
-------------------------------------------------------------------------*/
#home #main .mainVisual{
  border-bottom: 1px solid #ccc;
  background-color: #F7F5F5;
 /* max-width: 1440px;
  margin: 0 auto;*/
}
#home #main .mainVisual .flexslider{
  max-width: 1440px;
  margin: 0 auto;
}
#home #main .mainVisual .slide{
  position: absolute;
}

#home #main .mainVisual .flexslider{
  position: relative;
  z-index: 1;
}
.flexslider img {
  -moz-user-select: none;
}
#home #main .mainVisual .slide ul li img{
  width: 100%;
}

#home #main .mainVisual .flex-direction-nav .flex-prev {
  left: 10px;
}
#home #main .mainVisual .flex-direction-nav .flex-next {
  right: 10px;
}
#home #main .mainVisual .flex-direction-nav .flex-prev:before{
  content: url('../images/arrowL.svg');
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  margin: -15px 0 0;
  padding: 0;
  font-size: 0;
}
#home #main .mainVisual .flex-direction-nav .flex-next:before{
  content: url('../images/arrowR.svg');
  position: absolute;
  top: 50%;
  right: 0;
  width: 30px;
  height: 30px;
  margin: -15px 0 0;
  padding: 0;
  font-size: 0;
}
#home #main .mainVisual .flex-control-nav{
  bottom: 0;
  z-index: 10;
}
#home #main .mainVisual .flex-control-paging li a {
  width: 10px;
  height: 10px;
  display: block;
  background: #666;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-indent: -9999px;
  border:2px solid #fff;
}
#home #main .mainVisual .flex-control-paging li a:hover {
  background: #333;
  background: rgba(0, 0, 0, 0.7);
}
#home #main .mainVisual .flex-control-paging li a.flex-active {
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  cursor: default;
}


#home #main .mainVisual .important{
  border-top:1px solid #ccc;
  display: flex;
  display: -webkit-flex;
  background-color: #f6f6f6;
}
#home #main .mainVisual .important b{
  -webkit-flex-basis: 140px;
  flex-basis: 140px;
  position: relative;
  line-height: 1.4;
  padding: 8px 5px;
  color: #fff;
  text-align: center;
  background-color: #f00;
}
#home #main .mainVisual .important > span{
  padding: 8px 15px;
}
#home #main .mainVisual .important span a{
  text-decoration: underline;
}
#home #main .mainVisual .important span a:hover{
  color: #666;
}

/*------------------------title------------------------*/
#home .ride h3{
  text-align: center;
  font-size: 22px;
  border:1px solid #f00;
}
#home .ride .typeTitle{
  position: relative;
  letter-spacing: 0.03em;
  margin: 0 0 35px;
}
#home .ride .typeTitle span{
  position: relative;
  z-index: 1;
}
#home .ride .typeTitle:after{
  content: " ";
  position: absolute;
  padding: 0 20px;
  bottom: 5px;
  left: calc(50% - 80px);
  width: 120px;
  height: 10px;
  z-index: 0;
}

#home #main .enduro h3.typeTitle:after{
  background: rgba(0,104,183,0.4);
}
#home #main .hill h3.typeTitle:after{
  background: rgba(0,171,115,0.4);
}
#home #main .kids h3.typeTitle:after{
  background: rgba(255,201,0,0.4);
}


/*------------------------section------------------------*/
#home #main section.topics{
  position: relative;
  /*padding: 30px 0 0; */
  margin-bottom: 0;
  /*border-bottom: 1px solid #ccc;*/
  background-color: #efefef;
}
#home #main section.topics ul.entries{
  max-width: 1440px;
  margin: 0 auto;
}

#home #main section.topics .tags{
  margin-top: -15px;
}


#home #main section.topics ul.entries .slick-track{
  display: -webkit-flex;
  display: flex;
  /*-webkit-flex-wrap: wrap;
  flex-wrap: wrap;*/
}



#home #main section.topics ul.entries li.slick-slide{
  position: relative;
  width: calc(25% - 20px);
  height: auto;
  margin: 10px;
  background-color: #fff;
  overflow: hidden;
}
#home #main section.topics ul.entries .slick-prev{
  left: 5px;
  z-index: 10;
  width: 24px;
  height: 24px;
}
#home #main section.topics ul.entries .slick-next{
  right: 5px;
  z-index: 11;
  width: 24px;
  height: 24px;
}
#home #main section.topics ul.entries .slick-prev:before,
#home #main section.topics ul.entries .slick-next:before{
  color: #333;
  font-size: 24px;
}

#home #main section.topics ul.entries ul.slick-dots{
  position: absolute;
  left: 0;
}
#home #main section.topics ul.entries ul.slick-dots li{
  margin: 0 3px;
}




#home #main section.ride{
  position: relative;
  padding: 30px 0 0;
  z-index: 3;
  margin-bottom: 0;
  /*background-color: #efefef;*/
}

#home #main .introduce{
  margin: 20px auto 50px;
  width: 75%;
}
#home #main .introduce p{
  margin-bottom: 15px;
}
#home #main .introduce p.eyecatch{
  text-align: center;
}
#home #main .introduce p.eyecatch img{
  width: 50%;
  height: auto;
}

#home #main .type{
  background-color: #fff;
  /*border-top: 1px solid #ccc;*/
}

#home #main .contents{
  max-width: 1050px;
  margin: 0 auto;
  overflow: hidden;
  padding: 10px 20px 0 10px;
}

/*------------------------rideinfo------------------------*/
#home #main .ride{
  /*border-bottom: 1px solid #ccc;*/
}
#home #main .ride > div{
  /*padding: 30px 0 0;*/
  padding-bottom: 20px;
}
#home #main .ride .contents{
  display: -webkit-flex;
  display: flex;
}
#home #main .ride .map{
  width: 40%;
  padding: 0;
  background: none;
  margin-bottom: 40px;
  border: none;
  /*max-width: 600px;
  max-height: 300px;*/
}
#home #main .ride .map img{
  position: relative;
  border:1px solid #ccc;
  box-sizing:border-box;
  height: auto;
  width: 100%;
}

#home #main .ride .map p a{
  text-decoration: none;
}
#home #main .ride .map p{
  /*font-size: 110%;*/
  text-align: right;
  margin-top: 5px;
  color: #333;
}
#home #main .ride .map li p a{
  font-size: 120%;
}

#home #main .ride .button{
  width: 58%;
  margin-left: 25px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#home #main .ride .contents ul{
  float: right;
  width: 49%;
}
#home #main .ride ul li{
  width: 100%;
  display: block;
  margin: 0 10px 10px;
  font-size: 18px;
  color: #fff;
  float: left;
}
#home #main .ride ul li a,
#home #main .ride ul li span{
  padding: 3.5% 0;
  text-decoration: none;
  display: block;
  text-align: center;
}
#home #main .ride ul li a:hover{
  box-shadow: 0 0 0 3px rgba(0,0,0,0.2) inset;
  transition: all 0.2s linear;
  color: inherit;
}
#home #main .ride ul li img{
  width: 30px;
  margin-right: 15px;
}

#home #main .ride .enduro li{
  background: #007FDF;
}
#home #main .ride .hill li{
  background: #00AB73;
}
#home #main .ride .kids li{
  background: #F5B300;
}
#home #main .ride .enduro li.entry{
  background: #0068b7;
}
#home #main .ride .hill li.entry{
  background: #008156;
}
#home #main .ride .kids li.entry{
  background: #DF9100;
}
#home #main .ride .button ul li{
  outline: none;
}

#home #main .ride .button ul li.disable{
  opacity: 0.5;
}
#home #main .ride .button ul li.disable span{
  background-color: rgba(0,0,0,0.5);
}

#home #recruit .tab{
  border-bottom:1px solid #ccc;
  margin-bottom: 50px;
  text-align: center;
}
#home #recruit .tab ul{
  display: inline-block;
  /*justify-content: space-between;*/
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
  white-space: nowrap;
}
#home #recruit .tab ul li{
  width: 25%;
  font-size: 110%;
  /*font-weight: bold;*/
  display: inline-block;
  box-sizing:border-box;
  text-align: center;
  padding: 10px 5px;
  border-bottom:3px solid #fff;
  cursor: pointer;
  transition:all 0.3s;
}
#home #recruit .tab ul li.current{
  border-bottom:3px solid #333;
}
/*#home #recruit .tab ul li a{
  padding: 10px 5px;
  display: block;
  border-bottom:3px solid #fff;
  transition:all 0.3s;
}*/
#home #recruit .tab ul li:not(.current):hover{
  color: #666;
  border-bottom:3px solid #ccc;
}

#home #recruit .categoryBlock .category{
  position: relative;
  z-index: 0;
  opacity: 0;
  height: 0;
  transition:opacity 0s linear;
}
#home #recruit .categoryBlock .category.current{
  z-index: 10;
  opacity: 1;
  height: auto;
  transition:opacity 0.5s linear;
}

#home #recruit .categoryBlock .category .tableBox{
  display: -webkit-flex;
  display: flex;
}
#home #recruit .categoryBlock .category table{
  width: calc(100% - 120px);
  margin: 0 5px 0 0;
}
#home #recruit .categoryBlock .category .button{
  width: 115px;
}
#home #recruit .categoryBlock .category .button a{
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -webkit-align-items: center;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  color: #0089E0;
  border:2px solid #0089E0;
  box-sizing:border-box;
  /*background-color: #0089E0;*/
  transition:all 0.3s linear;
}
#home #recruit .categoryBlock .category .button a:hover{
  background-color: #e7f4fc;
}
#home #recruit .categoryBlock .category .button a:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  right: -2px;
  bottom: -2px;
  border: 6px solid transparent;
  border-left: 6px solid #0089E0;
  transform: rotate(45deg);
}



/*------------------------localinfo------------------------*/
#home .local{
  margin: 0;
  padding: 0;
  position: relative;
  border-top: 1px solid #ccc;
}
#home .local #mapContainer{
  border-bottom: none;
}
#home #localArchive{
  position: absolute;
  top: 0;
  left: 0;
}

#home #localMap{
  margin-top: 0;
}

#home #localArchive .categories{
  position: absolute;
  top: 20px;
  left: 20px;
  border-bottom: 1px solid #ccc;
  padding: 10px 20px;
  /*min-height: 185px;*/
  width: 340px;
  height: auto;
}

#home #localArchive .categories p{
  position: absolute;
  top: 15px;
  right: 15px;
  text-align: right;
  font-size: 90%;
}

#home #localArchive .categories h2{
  font-size: 20px;
  line-height: 1.4;
  border-bottom: 1px solid #333;
  margin-bottom: 10px;
  padding-bottom: 3px;

}
#home #localArchive .categories h3{
  font-size: 12px;
  text-align: left;
  font-weight: normal;
  color: #777;
}

#home #localArchive .categories p a:hover{
  opacity: 0.8;
}
@media screen and (max-width: 980px) {
#home #localArchive .categories h2{
  line-height: 1.2;
  padding-bottom: 10px;
}
#home #localArchive .categories ul{
  margin: 10px 0 0 0;
}
}


/*------------------------------------------------*/
#home .np{
  padding: 30px 20px 0;
  box-sizing:border-box;
  /*width: 95%;*/
  max-width: 1440px;
  overflow: hidden;
  margin: 0 auto 40px;
}

#home .np .subTitle{
  text-align: left;
  margin: 10px 0 15px;
}
#home .np .subTitle span{
  font-size: 20px;
}

#home .np .more{
  position: absolute;
  top: 18px;
  font-size: 0.9rem;
}
#home .np .more:after{
  content:"\00bb";
  margin-left: 5px;
  font-size: 110%;
}
#home .np .more a{
  text-decoration: underline;
}
#home .np .more a:hover{
  color: #666!important;
}

#home .news{
  position: relative;
  font-size: 110%;
  float: left;
  width: 50%;
  padding-right: 20px;
  box-sizing:border-box;
}
#home .news .more{
  right: 25px;
}

#home .news dl{
  position: relative;
  border-top:1px dotted #999;
  padding-top: 10px;
  line-height: 20px;
}
#home .news dl dt{
  position: absolute;
  font-family: 'Rajdhani', sans-serif;
  color: #666;
  font-size: 1.2rem;
}
#home .news dl dd{
  padding-left: 100px;
  margin-bottom: 8px;
  border-bottom:1px dotted #999;
  padding-bottom: 8px;
}
#home .news dl dd.new p::before{
  content: 'NEW';
  padding: 1px 7px;
  margin-right: 5px;
  color: #fff;
  font-family: 'Rajdhani', sans-serif;
  line-height: 1;
  font-weight: 700;
  /* font-size: 12px; */
  background-color: #f50057;
}
#home .news dl dd a{
  text-decoration:underline;
}
#home .news dl dd a:hover{
  color: #666;
}

#home .links{
  position: relative;
  float: right;
  width: 50%;
  padding-left: 20px;
  box-sizing:border-box;
  padding-top: 25px;
}
#home .links ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#home .links ul li{
  width: 50%;
  padding: 4px;
  box-sizing:border-box;
}

#home .links ul li a{
  position: relative;
  height: 100%;
  background-color: #4c9bc5;
  color: #fff;
  padding: 10px 10px;
  font-size: 1.1rem;
  line-height: 1.3;
  box-sizing:border-box;
  /* text-align: center; */
  transition:all 0.3s linear;
  display: flex;
  align-items: center;
  justify-content: center;
}
#home .links ul li a img{
  width: 24px;
  height: 24px;
  margin-right: 10px;
}
#home .links ul.many li a{
  padding: 5px 10px;
}
#home .links ul li.emph a{
  background-color: #1a659e;
}
#home .links ul li a:after{
  content: "";
  position: absolute;
  right: 0px;
  bottom: 0px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-left: 6px solid #fff;
  transform: rotate(45deg);
}
#home .links ul li a:hover{
  box-shadow: 0 0 0 2px rgba(0,0,0,0.3) inset;
}



/*pickupは2016シリーズのみ*/
#home .pickup{
  position: relative;
  float: right;
  width: 50%;
  padding-left: 20px;
  box-sizing:border-box;
  /*margin-bottom: 50px;*/
}
#home .pickup .more{
  right: 5px;
}
#home .pickup ul.slides{
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}
#home .pickup ul.slides li{
  position: relative;
  width: 32%;
  border: 1px solid #ddd;
}
#home .pickup ul.slides li a{
  display: block;
  overflow: hidden;
}
#home .pickup ul.slides li .thumb{
  position: relative;
  /*max-width: 230px;
  height: 131px;*/
  padding-top: 59.3%;
  /*float: left;*/
  border-bottom:1px solid #ededed;
}
#home .pickup ul.slides li .thumb img{
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
#home .pickup ul.slides li .thumb:after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  z-index: 2;
  transition: all 0.3s linear;
}
#home .pickup ul.slides li a:hover .thumb:after{
  opacity: 0.3;
}

#home .pickup ul.slides li .text{
  /*width: calc(100% - 230px);*/
  padding: 10px;
  /*box-sizing:border-box;
  float: right;*/
}
#home .pickup ul.slides li .text h4{
  font-size: 110%;
  line-height: 1.4;
}
#home .pickup ul.slides li a:hover h4{
  text-decoration: underline;
}
#home .pickup ul.slides li .text .date{
  font-family: 'Rajdhani', sans-serif;
  color: #666;
  margin-top: 3px;
  font-size: 130%;
  line-height: 1.2;
}



/*-------------------------------------------------------------------------
NEWS
-------------------------------------------------------------------------*/
#newsArchive dl{
  position: relative;
  line-height: 24px;
}
#newsArchive dl dt{
  position: absolute;
  font-family: 'Rajdhani', sans-serif;
  color: #666;
  font-size: 1.4rem;
  width:100px;
  border-right:2px solid #999;
}
#newsArchive dl dd{
  padding-left: 120px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  font-size: 1.1rem;
}

#newsArchive dl dd.new p::before{
  content: 'NEW';
  padding: 1px 7px;
  margin-right: 5px;
  color: #fff;
  font-family: 'Rajdhani', sans-serif;
  line-height: 1;
  font-weight: 700;
  font-size: 14px;
  background-color: #f50057;
}

#newsArchive dl dd a{
  text-decoration:underline;
}
#newsArchive dl dd a:hover{
  color: #666;
}

/*-------------------------------------------------------------------------
TOPICS
-------------------------------------------------------------------------*/
header.pageHeader .info{
  margin-top: 10px;
}
header.pageHeader .date{
  font-family: 'Rajdhani', sans-serif;
  color: #666;
  font-size: 140%;
  line-height: 1.4;
  display: inline-block;
}
header.pageHeader .cat,
header.pageHeader .tag,
header.pageHeader ul,
header.pageHeader ul li{
  display: inline-block;
}

header.pageHeader .cat,
header.pageHeader .tag{
  margin-left: 25px;
}
header.pageHeader .cat ul li:not(:first-child):before{
  content: ', ';
  display: inline;
}

header.pageHeader .cat a{
  text-decoration: underline;
}
header.pageHeader .cat a:hover{
  text-decoration: none;
  color: #666;
}

header.pageHeader .tag ul li:not(:first-child){
  margin-left: 5px;
}
header.pageHeader .tag ul li a{
  border:1px solid #ccc;
  padding: 2px 8px;
  background-color: #f6f6f6;
  font-size: 90%;
  transition:all 0.3s linear;
}
header.pageHeader .tag ul li a:hover{
  background-color: #fff;
}

.contents .articles{
  display: -webkit-flex;
  display: flex;
}
.contents .articles .entry{
  width: -webkit-calc(100% - 300px);
  width: calc(100% - 300px);
  padding-right: 40px;
  box-sizing:border-box;
}

.contents .twoColumn{
  display: -webkit-flex;
  display: flex;
}
.contents .twoColumn .mainColumn{
  width: -webkit-calc(100% - 300px);
  width: calc(100% - 300px);
  padding-right: 40px;
  box-sizing:border-box;
}



/*トピックス詳細・その他ページ（トピックス風）共通*/
.entry .post .set{
  font-size: 115%;
}


.entry .post .set:not(:first-child){
  margin-top: 70px;
}



.entry .post div{
  max-width: 100%;
  height: auto;
}
.entry .post img{
  max-width: 100%;
  height: auto;
  margin: 5px 0;
}
.entry .post h1{
  font-size: 1.5rem;
  line-height: 1.3;
  background-color: #f1f1f1;
  /* color: #F50057; */
  margin: 10px 0 30px;
  padding: 13px 20px;
  border-radius: 4px;
}
.entry .post h2{
  font-size: 1.4rem;
  border-left: 3px solid #F50057;
  border-bottom: 1px dotted #ccc;
  margin: 10px 0 20px;
  padding: 2px 0 2px 10px;
}

.entry .post .description h2{
  font-size: 1.15rem;
  border-left: 3px solid #333;
  border-bottom: none;
  margin: 25px 0 5px;
  padding-left: 10px;
  line-height: 1.2;
}
.entry .post .description h3{
  margin-top: 10px;
  font-size: 1.1rem;
}

.entry .post .set .description{
  overflow: hidden;
}
.entry .post .set .description .img{
  width: 50%;
  float: left;
  padding-right: 20px;
  box-sizing:border-box;
}
.entry .post .set .description .text.right{
  width: 50%;
  float: right;
  box-sizing:border-box;
}


.entry .post p{
  margin-bottom: 15px;
}
.entry .post iframe{
  max-width: 100%;

}


#topicsArchive ul.entries{
  padding: 0;
  width: -webkit-calc(100% + 20px);
  width: calc(100% + 20px);
  margin-left: -10px;
}
#topicsArchive ul.entries li{
  -webkit-flex-basis: -webkit-calc(50% - 22px);
  flex-basis: calc(50% - 22px);


  border:1px solid #ccc;
  /*background-color: #f1f1f1;*/
  /*box-sizing:border-box;*/
}
#topicsArchive ul.entries li h4{
}
#topicsArchive ul.entries li .read{
  font-size: 1rem;
}


.contents .articles .popular{
  margin-top: 80px;
}
.contents .articles .popular ul{
  width: -webkit-calc(100% + 20px);
  width: calc(100% + 20px);
  margin-left: -10px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.contents .articles .popular ul li{
  -webkit-flex-basis: -webkit-calc(100% / 3 - 20px);
  flex-basis: calc(100% / 3 - 20px);
  margin-bottom: 20px;
  box-sizing: border-box;
  margin: 0 9px 20px;/*10だとIEで縮小時崩れることも*/
  /*border:1px solid #ccc;*/
  background-color: #f1f1f1;
  position: relative;
  overflow: hidden;
}
.contents .articles .popular ul li:before{
  content: "";
  position: absolute;
  background-color: #333;
  width: 50%;
  height: 50%;
  top: 0;
  right: 0;
  -webkit-transform: translate(70%, -70%) rotate(-45deg);
  transform: translate(70%, -70%) rotate(-45deg);
  z-index: 2;
}
.contents .articles .popular ul li:nth-child(1):before{
  background-color: #c8b010;
}
.contents .articles .popular ul li:nth-child(2):before{
  background-color: #796a62;
}
.contents .articles .popular ul li:nth-child(3):before{
  background-color: #a4440f;
}

.contents .articles .popular ul li:after{
  content: "1";
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  font-size: 130%;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  z-index: 3;
  color: #fff;
}
.contents .articles .popular ul li:nth-child(2):after{
  content: "2";
}
.contents .articles .popular ul li:nth-child(3):after{
  content: "3";
}
.contents .articles .popular ul li:nth-child(4):after{
  content: "4";
}
.contents .articles .popular ul li:nth-child(5):after{
  content: "5";
}
.contents .articles .popular ul li:nth-child(6):after{
  content: "6";
}

.contents .articles .popular ul li a{
  /*display: -webkit-flex;
  display: flex;*/
  display: block;
  text-decoration: none!important;
  /*padding:5px;*/

}
.contents .articles .popular ul li .thumb{
  width: 100%;
  position: relative;
  padding-top: 59.3%;
}
.contents .articles .popular ul li .thumb img{
  /*width: 100%;*/
  border:1px solid #f1f1f1;
  box-sizing:border-box;

  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
.contents .articles .popular ul li a .thumb:after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,0);
  z-index: 10;
  transition: all 0.3s linear;
}
.contents .articles .popular ul li a:hover .thumb:after{
  background-color: rgba(255,255,255,0.3);
}

.contents .articles .popular ul li .text{
  padding: 10px;
  line-height: 1.6;
}
.contents .articles .popular ul li .category{
  color: #666;
  margin-top: 5px;
  font-size: 90%;
}



.contents .sidebar{
  width: 300px;
}

.contents .articles .popular > h2,
.contents .articles .sidebar > h2{
  margin-bottom: 15px;
  color: #666;
  font-weight: normal;
}

.contents .articles .sidebar .search{
  position: relative;
  height: 30px;
  margin-top: 40px;
  /*border:1px solid #f00;*/
}
.contents .articles .sidebar .search .siteSearch{
  width: 100%;
  position: relative;
}

.contents .articles .sidebar .search .siteSearch input[type="text"]{
  width: -webkit-calc(100% - 40px);
  width: calc(100% - 40px);
}
.contents .articles .sidebar .search .siteSearch .searchSubmit{
  position: absolute;
  right: -5px;
}




.contents .articles .sidebar > h2{
  padding-bottom: 10px;
  border-bottom: 1px solid #333;
}

.contents .articles .sidebar h2.sub{
  font-size: 1.15rem;
  margin-top: 30px;
}
.contents .articles .sidebar .categoryList li{
  display: inline-block;
  margin-right: 10px;
  font-size: 110%;
}

.contents .articles .sidebar .tagList li{
  display: inline-block;
  margin: 5px 7px 5px 0;
}
.contents .articles .sidebar .tagList li a{
  border:1px solid #ccc;
  padding: 1px 10px;
  background-color: #ededed;
  text-decoration: none!important;
  transition:all 0.3s linear;
}
.contents .articles .sidebar .tagList li a:hover{
  background-color: #fff;
  /*text-decoration: underline!important;*/
}

.nowEntry{
  padding: 10px;
  margin-top: 50px;
  background-color: #ededed;
}

/*参加後のご案内*/
.sidebar div:first-child.nowEntry{
  margin-top: 0!important;
}

.nowEntry .conference{
  background-color: #fff;
  padding: 5px 10px;
  margin-top: 10px;
}
.nowEntry .conference a{
  color: inherit;
  text-decoration: none!important;
  display: block;
}
.nowEntry .conference header{
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.nowEntry .conference .logo{
  width: 100px;
  text-align: center;
}
.nowEntry .conference .logo img{
  width: 70%;
}
.nowEntry .conference .textBlock{
  width: calc(100% - 100px);
}
.nowEntry .conference .dateText{
  font-family: 'Rajdhani', sans-serif;
  font-size: 16px;
  line-height: 1.2;
}
.nowEntry .conference .info{
  border-top: 1px dotted #ccc;
  padding-top: 10px;
}
.nowEntry .conference dl{
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
}
.nowEntry .conference dt{
  width: 40px;
  padding-right: 10px;
  margin-bottom: 3px;
  box-sizing:border-box;
  color: #666;
}
.nowEntry .conference dd{
  width: calc(100% - 40px);
  margin-bottom: 3px;
}

.nowEntry .conference .category span{
  color: #fff;
  padding: 5px 5px;
  line-height: 1;
  display: inline-block;
  margin: 0 2px 4px;
  font-size: 90%;
}




.contents .articles .popular > h2 span,
.contents .articles .sidebar > h2 span{
  font-family: 'Rajdhani', sans-serif;
  font-weight: 600;
  font-style: italic;
  font-size: 200%;
  line-height: 1.1;
  color: #333;
}

.contents .articles .sidebar ul.recent li{
  margin-bottom: 15px;
  border-bottom: 1px solid #ededed;
  padding-bottom: 15px;
  /*display: -webkit-flex;
  display: flex;*/
}
.contents .articles .sidebar ul.recent li a{
  display: -webkit-flex;
  display: flex;
  text-decoration: none!important;
  font-size: 90%;
}
.contents .articles .sidebar ul.recent li .thumb{
  position: relative;
  width: 100px;
}
.contents .articles .sidebar ul.recent li .thumb img{
  width: 100%;
  border:1px solid #ededed;
  box-sizing:border-box;
}

.contents .articles .sidebar ul.recent li .text{
  width: -webkit-calc(100% - 100px);
  width: calc(100% - 100px);
  padding-left: 10px;
  box-sizing:border-box;
  line-height: 1.4;
}
.contents .articles .sidebar ul.recent li .text .date{
  font-family: 'Rajdhani', sans-serif;
  font-size: 1.2rem;
}
.contents .articles .popular ul li a:hover h4,
.contents .articles .sidebar ul.recent li a:hover h4{
  text-decoration: underline;
  color: #333;
}
.contents .articles .sidebar .ad{
  width: 300px;
  margin:30px auto 0;
}

#topicsDetail #share{
  margin: 60px 0 20px 0;
  padding: 20px 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
#topicsDetail #share ul li{
  display: inline-block;
  /*width: -webkit-calc(50% - 10px);
  width: calc(50% - 10px);*/
  width: calc(20% - 4px);
  box-sizing:border-box;
  margin: 2px;
  text-align: center;
  vertical-align: top;
}
#topicsDetail #share ul li a img{
  width: 24px;
  height: 24px;
}
#topicsDetail #share ul li.facebook a{
  background-color: #154C97;
}
#topicsDetail #share ul li.twitter a{
  background-color: #4898D7;
}
#topicsDetail #share ul li.hatena a{
  background-color: #2C6EBD;
}
#topicsDetail #share ul li.pocket a{
  background-color: #e7364a;
}
#topicsDetail #share ul li.evernote a{
  background-color: #79bd28;
}

#topicsDetail #share ul li a{
  height: 24px;
  padding: 5px;
  display: block;
  color: #fff;
  text-decoration: none!important;
  transition:all 0.3s linear;
}
#topicsDetail #share ul li a:hover{
  opacity: 0.7;
}
#topicsDetail #share ul li a i{
  font-size: 24px;
  /*margin-right: 10px;*/
}


/*-------------------------------------------------------------------------
はじめての方へ 注目トピックス
-------------------------------------------------------------------------*/
#pickup ul.entries{
  padding: 0;
}
#pickup ul.entries li{
  border:1px solid #ccc;
  box-sizing:border-box;
}



/*-------------------------------------------------------------------------
地域情報
-------------------------------------------------------------------------*/
#mapContainer{
  border-bottom:1px solid #ccc;
  background-color: #e5e3df;
  height:480px;
  position: relative;
}
#mapContainer.loading #localMap{
  opacity: 0.4;
}
#mapContainer.loading:after{
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 50%;
  margin-top: -10px;
  margin-left: -10px;
  border: 2px solid rgba(60,60,60,0.8);
  border-radius: 50%;
  border-top: 2px solid rgba(60,60,60,0.5);
  -webkit-animation: spin 0.8s linear 0s infinite;
  animation: spin 0.8s linear 0s infinite;
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}





#localMap{
  margin-top: -30px;
  width:100%;
  height:480px;
  transition: all 0.4s linear;
}
#localMap .infoWindow{
  display: block;
  /*width: calc(100% - 20px);*/
  width: 100%;
  margin-right: 20px;
  max-height:280px;
  box-sizing:border-box;
}
#localMap .infoWindow h1{
  font-size:120%;
  border-bottom:1px solid #ccc;
  line-height: 1.4;
  margin-bottom:10px;
  padding-bottom:5px;
}
#localMap .infoWindow .set{
  width: 540px;
  overflow: hidden;
}
#localMap .infoWindow .description{
  /* font-size: 90%; */
  color: #666;
  word-wrap: break-word;
}
#localMap .infoWindow .description p{
  margin-bottom: 10px;
}
#localMap .infoWindow .description.right{
  float: right;
  width: 260px;
}
#localMap .infoWindow .description img{
  max-width: 100%;
}
#localMap .infoWindow .description a{
  text-decoration: underline;
}


#localMap .infoWindow .viewGm a{
  color: #0089E0;
  text-decoration: none;
}

#localMap .infoWindow .photo{
  float: left;
  width:260px;
}
#localMap .infoWindow .photo img{
  width: 100%!important;
  height: auto!important;
  display: block;
  margin-bottom: 10px;
  box-sizing:border-box;
  border:1px solid #ededed

}


#localArchive{
  position: relative;
    width: 95%;
    max-width: 1100px;
    margin: 0 auto 50px;
    /*border:1px solid #f00;*/
}
#localArchive .information{
  position: relative;
  z-index: 2;
  /*border:1px solid #f00;*/
}
#localArchive .information:after{
  content: "";
  display: block;
  clear: both;
}

#localArchive .categories{
  /*float: left;
  width: -webkit-calc(32% - 30px);
  width: calc(32% - 30px);*/
  /*display: inline-block;*/
  position: absolute;
  background-color: #fff;
  box-sizing:border-box;
  border:1px solid #ccc;
  border-bottom: none;
  padding: 10px 20px;
  height: 85px;
  top: -85px;
  /*transform:translateY(-100%);*/
}
#localArchive .categories h3{
  font-size: 120%;
  /*border-bottom: 1px solid #333;*/
}
#localArchive .categories ul.index{
  margin-top: 10px;
}
#localArchive .categories ul.index li{
  display: inline-block;
  margin-right: 6px;
  margin-bottom: 10px;
}
#localArchive .categories ul.index li a{
  /*color: #fff;*/
  padding: 2px 15px;
  background-color: #f1f1f1;
  border:1px solid #ccc;
  text-decoration: none;
  font-size: 90%;
  transition: all 0.3s linear;
}
#localArchive .categories ul.index li a:hover{
  /*color: #fff;*/
  background-color: #fff;
  text-decoration: underline;
}
#localArchive .categories ul.index li a.mainCat{
  background-color: #4C9BC5;
  border: 1px solid #1A659E;
  color: #fff;
  font-size: 110%;
}
#localArchive .categories ul.index li a.mainCat:hover{
  background-color: #1A659E;
}


#localArchive .categories ul.index li a.current{
  padding: 2px 20px;
  background-color: #333;
  color: #fff;
  border:1px solid #333;
}
#localArchive .categories .feature{
  margin-top: 15px;
  line-height: 1.4;
}
#localArchive .categories .feature h3{
  font-family: 'Rajdhani', sans-serif;
  font-size: 18px!important;
  font-weight: 600;
  margin-bottom: 4px;
}
#localArchive .categories .feature ul li{
  font-size: 90%;
  /*padding-left: 3px;*/
  margin-bottom: 3px;
}
#localArchive .categories .feature ul li a{
  color: #0089e0;
}
#localArchive .categories .feature ul li a:hover{
  text-decoration: underline;
  opacity: 0.7;
}
#localArchive .noEntry{
  padding:30px 0 0;
  font-size: 140%;
  text-align: center;
  color: #666;
}

#localArchive .localEntries{
  /*float: right;
  width: 68%;*/
  position: relative;
  padding: 40px 10px 20px;
}
#localArchive .localEntries:after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,0.5);
  z-index: 0;
}
#localArchive .localEntries.loading:after{
  z-index: 2;
}

#localArchive .localEntries ul{
  display: -webkit-flex;
  display: flex;
  flex-wrap: -webkit-wrap;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
  box-sizing:border-box;
}

#localArchive .localEntries li{
  position: relative;
  /*-webkit-flex-basis: 33.3%;
  flex-basis: 33.3%;*/
  width: 33.3%;
  /*border:1px solid #f00;*/
  padding: 0 15px 20px 15px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ededed;
  box-sizing:border-box;
  overflow: hidden;
  cursor: pointer;
}

#localArchive .localEntries li:not(:last-child):not(:nth-child(3n)):after{
  content: "";
  position: absolute;
  display: block;
  top:0;
  right: 0;
  width: 1px;
  height: calc(100% - 20px);
  background-color: #ededed;
}


#localArchive .localEntries li:last-child,
#localArchive .localEntries li:nth-last-child(2):nth-child(3n+2),
#localArchive .localEntries li:nth-last-child(3):nth-child(3n+1),
#localArchive .localEntries li:nth-last-child(2):nth-child(3n+1){
  border-bottom: none;
}

#localArchive .localEntries li .thumb{
  float: left;
  width: 125px;
}
#localArchive .localEntries li .thumb img{
  width: 100%;
  border:2px solid #ccc;
  box-sizing:border-box;
}
#localArchive .localEntries li .text{
  width: -webkit-calc(100% - 135px);
  width: calc(100% - 135px);
  float: right;
  line-height: 1.4;
  transition:all 0.3s linear;
}
#localArchive .localEntries li:hover .text{
  opacity: 0.7;
}
#localArchive .localEntries li .text h4{
  margin-bottom: 5px;
  font-size: 110%;
  color: #0089E0;
}
#localArchive .localEntries li:hover .text h4{
  text-decoration: underline;
}
#localArchive .localEntries li .text p{
  font-size: 0.9rem;
}
#localArchive .localEntries li .text .category{
  margin-top: 5px;
  color: #999;
  font-size: 0.85rem;
}




/*-------------------------------------------------------------------------
大会概要
-------------------------------------------------------------------------*/
#overview{
  /*border:1px solid #f00;*/
  font-size: 110%;
}
#overview .feature .read{
  margin-bottom: 50px;
}
#overview .feature .read .eyecatch{
  margin-bottom: 20px;
}
#overview .feature .read .eyecatch img{
  box-sizing: border-box;
}
#overview .feature .read .copy{
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 10px;
}
#overview .feature .read p{
  text-align: center;
}

#overview .featureBox{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin: 30px auto 0;
}
#overview .feature .photo{
  flex-basis: 35%;
}
#overview .feature img{
  width: 100%;
  height: auto;
  /*border:4px solid rgba(100,100,100,0.5);*/
}
#overview .feature .point{
  padding-left: 50px;
  flex-basis: 60%;
}
#overview .feature .point h3{
  color: #0089e0;
  margin-bottom: 10px;
  font-size: 1.2rem;
  line-height: 1.4;
}
#overview .feature .point h3 strong{
  font-size: 1.5rem;
  font-style: italic;
  font-family: Verdana, Geneva, sans-serif;
  margin-right: 10px;
}

#overview table{
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
  line-height: 1.5;
  /*border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;*/
}
#overview table tr:nth-child(2n+1){
  background-color: #f4f4f4;
}
#overview table th{
  width: 25%;
  padding: 10px;
  text-align: left;
  vertical-align: middle;
}
#overview table td{
  width: 75%;
  padding: 10px;
  vertical-align: middle;
}

#overview .timeline {
  margin: 0 auto;
  margin-top: 30px;
  width: 80%;
  padding: 0;
  list-style: none;
  position: relative;
}
#overview .timeline:before {
  content: '';
  position: absolute;
  top: 10px;
  bottom: 10px;
  width: 10px;
  background: #efefef;
  left: 0;
  /*margin-left: -10px;*/
}
#overview .timeline li {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  position: relative;
  margin-bottom: 20px;
}
#overview .timeline li time{
  display: block;
  width: 120px;
  text-align: center;
  line-height: 1.3;
  font-size: 140%;
  font-weight: 500;
  /*position: absolute;*/
  font-family: 'Rajdhani', sans-serif;
}
#overview .timeline li div{
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
  border: 1px solid #0089e0;
  color: #333;
  padding: 10px 20px;
  font-size: 105%;
  font-weight: 300;
  line-height: 1.4;
  position: relative;
  border-radius: 3px;
}
#overview .timeline > li:before {
  content: " ";
  width: 14px;
  height: 14px;
  position: absolute;
  color: #fff;
  background: #0089e0;
  border-radius: 50%;
  text-align: center;
  left: 0;
  top: 5px;
  margin-left: -2px;
}

#overview .timeline > li:last-child:after {
  content: " ";
  width: 14px;
  height: 14px;
  position: absolute;
  background: #0089e0;
  border-radius: 50%;
  left: 0;
  bottom: 5px;
  margin-left: -2px;
}

.iframeContainer{
  position: relative;
  width: 100%;
  padding-top: 56.25%;/*16:9*/
}
.iframeContainer iframe{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

#overview .acsbox{
  margin-top: 25px;
}
/*#overview .acsbox p{
  margin-bottom: 0;
}*/
#overview .acsbox iframe{
  height: 450px;
  width: 100%;
}
#overview .parking p{
  font-size: 105%;
  margin-bottom: 2px;
}
#overview .parking .smaller{
  margin-top: 5px;
  font-size: 83%;
  line-height: 1.5;
}


#overview #anchor_gallery{
  overflow: visible;
}

#overview #gallerySlide .slider-for .slick-slide{
  /*border:4px solid #F50057;*/
  box-sizing:border-box;
  margin: 0 1px;
}

#overview #gallerySlide .slider-nav{
  margin-top: 2px;
}

#overview #gallerySlide .slider-nav .slick-slide{
  border:4px solid #ccc;
  box-sizing:border-box;
  margin: 0 1px;
  cursor: pointer;
}
#overview #gallerySlide .slider-nav .slick-current{
  border:4px solid #0089E0;
}

#overview #gallerySlide .slick-prev,
#overview #gallerySlide .slick-next{
  z-index: 99;
  width: 30px;
  height: 30px;
}
#overview #gallerySlide .slick-prev{
  left: -35px;
}
#overview #gallerySlide .slick-next{
  right: -35px;
}
#overview #gallerySlide .slick-prev:before,
#overview #gallerySlide .slick-next:before{
  color: #333;
  font-size: 30px;
  opacity: 1;
  /*text-shadow: 0 0 3px rgba(0,0,0,0.8);*/
}

#overview #gallerySlide .slider-nav .slick-dots{
  bottom: -35px;
}



/*-------------------------------------------------------------------------
コース
-------------------------------------------------------------------------*/
ul.pointList{
  margin: 10px 0;
  counter-reset:li;
}
ul.pointList li{
  font-size: 110%;
  margin: 10px 5px;
  padding-left: 30px;
  position:relative;
}
ul.pointList li:first-child{
  margin-top: 0;
}
ul.pointList li:after{
  counter-increment: li;
  content: "0"counter(li);
  position: absolute;
  left: 0;
  top: 0;
  background-color: #0089E0;
  color: #fff;
  height: 25px;
  width: 25px;
  line-height: 25px;
  text-align: center;
  font-weight: bolder;
  font-size: 120%;
  border-radius: 2px;
  font-family: 'Rajdhani', sans-serif;
}



/*つくばタイプ*/
#course .courseMap{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
#course .courseMap p{
  width: 55%;
  padding-right: 20px;
}
#course .courseMap p img{
  width: 100%;
}
#course .courseMap div{
  width: 45%;
}
#course .courseMap div h4{
  font-size: 120%;
  border-bottom: 3px double #ddd;
  margin-bottom: 15px;
  padding-left: 5px;
}
#course .courseMap ul{
  counter-reset:li;
}
#course .courseMap ul li{
  font-size: 110%;
  margin: 10px 5px;
  padding-left: 30px;
  position:relative;
}
#course .courseMap ul li:first-child{
  margin-top: 0;
}
#course .courseMap ul li:after{
  counter-increment: li;
  content: "0"counter(li);
  position: absolute;
  left: 0;
  top: 0;
  background-color: #0089E0;
  color: #fff;
  height: 25px;
  width: 25px;
  line-height: 25px;
  text-align: center;
  font-weight: bolder;
  font-size: 120%;
  border-radius: 2px;
  font-family: 'Rajdhani', sans-serif;
}

/*フジエコタイプ*/
#course .course{
  width: 40%;
  float: left;
  margin-top: 10px;
}
#course .course img{
  width: 100%;
  border:1px solid #ccc;
  box-sizing:border-box;
}

#course .route{
  margin-top: 10px;
  width: 60%;
  float: right;
  padding-left: 40px;
  box-sizing: border-box;
}

#course .route ul li:not(:last-child){
  margin-bottom: 50px;
}

/*ルートラボ用*/
#course iframe{
  padding:8px 8px 0;
  border:solid 1px #ccc;
  width:100%;
  height:370px;
  margin:0;
  box-sizing:border-box;
}

/*ルートラボ以外*/
#course iframe.other{
  height:100%;
  border:none;
  padding:0;
}

#course .route .catch{
  margin-bottom: 15px;
  font-size: 120%;
}


ul.gallery{
  display: flex;
  flex-wrap: wrap;
}

ul.gallery li{
  width: 25%;
  padding: 1px;
  box-sizing:border-box;
}

ul.gallery li img{
  width: 100%;
}

/*-------------------------------------------------------------------------
募集要項
-------------------------------------------------------------------------*/
.recruitBox{
  margin-bottom: 30px;
}

.recruitBox table,
.flameDiagonal table{
  border:1px solid #fff;
  margin: 10px 0;
  width: 100%;
  border-collapse: collapse;
}
.recruitBox table th,
.recruitBox table td,
.flameDiagonal table th,
.flameDiagonal table td{
  border:1px solid #fff;
  padding: 5px 15px;
  vertical-align: middle;
  background-color: #f1f1f1;
}
.recruitBox table th,
.flameDiagonal table th{
  background-color: #0089e0;
  color: #f6f6f6;
  min-width: 100px;
}

.recruitBox table th.w10,
.flameDiagonal table th.w10{
  width: 10%;
}
.recruitBox table th.w20,
.flameDiagonal table th.w20{
  width: 20%;
}
.recruitBox table th.w30,
.flameDiagonal table th.w30{
  width: 30%;
}
.recruitBox table th.w40,
.flameDiagonal table th.w40{
  width: 40%;
}
.recruitBox table th.w50,
.flameDiagonal table th.w50{
  width: 50%;
}

/*2017改修 .tableで囲むように*/
.recruitBox .table,
.flameDiagonal .table{
  margin-top: 20px;
}
.recruitBox .table h4,
.flameDiagonal .table h4{
  font-size: 110%;
}
.recruitBox .table table,
.flameDiagonal .table table{
  margin-top: 0;
}
.recruitBox .table table th,
.recruitBox .table table td,
.flameDiagonal .table table th,
.flameDiagonal .table table td{
  min-width: 80px;
  padding: 5px 10px;
}



#recruit .flameDiagonal h3{
  font-size: 180%;
  text-align: center;
  margin-right: 20px;
  color: #0089e0;
  font-weight: normal;
}
#recruit .flameDiagonal h3 img{
  width: 35px;
  height: 35px;
  padding: 5px;
}

#recruit .flameDiagonal p{
  font-size: 125%;
}

#recruit .flameDiagonal p span{
  margin-left: 10px;
}
#recruit .flameDiagonal p i{
  /*font-size: 120%;*/
  margin: 0 20px;
}

.recruitBox .important{
  margin: 5px 0 25px;
  text-align: center;
}
.recruitBox .important h4{
  font-size: 140%;
  color: #FF1806;
}
.recruitBox ol{
  list-style: decimal;
  margin-bottom: 15px;
}
.recruitBox ol li{
  margin-left: 1.8em;
}
.recruitBox ol li.smaller{
  margin-left: 0;
  list-style-type: none;
}
.recruitBox .mb15{
  margin-bottom: 15px;
}
.recruitBox ul{
  margin-bottom: 15px;
}

.recruitBox .red{
  color: #FF1806;
}
.recruitBox .address{
  border-top: 1px dotted #ccc;
  padding-top: 5px;
  margin-top: 5px;
}
.recruitBox .address .large{
  font-size: 110%;
}

/*2017.01.19追記*/
.recruitBox section{
  margin-bottom: 0;
}
.recruitBox section:last-child{
  padding-bottom: 0;
}

#recruit .flameDiagonal table td,
#recruit .flameDiagonal .left{
  text-align: left;
}

#partnerLink .category{
  margin: 30px 0;
}
#partnerLink .category:not(:last-child){
  margin-bottom: 50px;
}
#partnerLink .category h3{
  text-align: center;
  font-size: 120%;
  font-weight: normal;
}
#partnerLink .category ul,
#partnerLink .category ul li{
  margin: 0;
}




/*-------------------------------------------------------------------------
エントリー
-------------------------------------------------------------------------*/
#entry .entryBox{
  margin-bottom: 40px;
}
#entry .entryBox h4{
  font-size: 1.1rem;
}
#entry .entryBox div{
  margin-bottom: 15px;
}
#entry .entryBox h4 i{
  color: #FF1806;
  margin-right: 5px;
  font-size: 110%;
}
#entry .entryBox h4 .large{
  font-size: 116%;
  margin-right: 5px;
}
#entry .defaultlist
,#entry .defaultlist li{
  padding:0px;
  margin:0px;
}
#entry .defaultlist li{
  list-style-type:none !important;
  list-style-image:none !important;
  margin: 5px 0px 5px 0px !important;
}
#entry .list{
  counter-reset:li;
  margin-left:20px !important;
}
#entry .list li{
  position:relative;
  display: block;
  padding:8px 0px 8px 40px;
}
#entry li.list-count:after{
  counter-increment: li;
  content: "STEP"counter(li);
  position: absolute;
  left: -16px;
  top: 0;
  background: #0089e0;
  height: 42px;
  width: 42px;
  line-height: 42px;
  /*border: 2px solid #0089e0;*/
  text-align: center;
  font-weight: bold;
  font-size: 12px;
  border-radius: 30px;
  color: #fff;
}
#entry li.list-count:before{
  content:'';
  display:block;
  position:absolute;
  box-shadow: 0 0 2px 2px rgba(255,255,255,0.2) inset;
  top:14px;
  left:20px;
  height:0;
  width:0;
  border-top: 8px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 13px solid #0089e0;
}
#entry .list li > h4{
  color: #0089e0;
}
#entry ol{
  list-style: decimal-leading-zero;
  margin: 7px 0 15px;
}
#entry ol li{
  margin-left: 2.5em;
}

#entry .term{
  margin-bottom: 40px;
}

#entry .term .date{
  display: inline-block;
  font-size: 20px;
  padding: 10px 30px;
  color: #FF1806;
  line-height: 1.4;
  font-weight: bold;
  border: 2px solid #FF1806;
  border-radius: 2px;
  margin: 10px 0;
}
#entry .pattern{
  margin: 20px 0 80px!important;
  position:relative;
  counter-increment: pattern;
}
#entry .pattern:last-child{
  margin-bottom: 0;
}

#entry .pattern h4{
  font-size: 20px;
  color: #0089e0;
  padding-left: 130px;
  line-height: 35px;
}
#entry .pattern h4:before{
  content:'';
  display:block;
  position:absolute;
  top:0;
  left:100px;
  height:0;
  width:0;
  border-top: 17.5px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 15px solid #0089e0;
}
#entry .pattern h4:after{
  content: " Pattern."counter(pattern);
  position: absolute;
  left: 0;
  top: 0;
  background: #0089e0;
  color: #fff;
  height: 35px;
  width: 100px;
  text-align: center;
  font-weight: bolder;
  /*font-size: 120%;*/
  font-family: 'Rajdhani', sans-serif;
}

#entry .pattern > div {
  margin: 10px 0;
}
#entry .pattern ul{
  margin: 10px 0;
  font-size: 105%;
}
#entry .pattern ul li:first-child{
  font-size: 110%;
  padding: 5px 0;
}
#entry .pattern .number span{
  font-family: 'Rajdhani', sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.2;
}


/*-------------------------------------------------------------------------
参加要項
-------------------------------------------------------------------------*/
#attend .read .photo{
  border:1px solid #ccc;
  padding: 10px;
  margin-top: 15px;
}
#attend .read .photo img{
  width: 100%;
}

#attend .item{
  margin-top: 60px;
  position: relative;
}
#attend .item h3{
  font-size: 1.1rem;
  position: absolute;
}
#attend .item .description{
  margin-left: 130px;
  padding-left: 25px;
  border-left: 1px dotted #ccc;
}
#attend .item .description ul.btn{
  margin-top: 20px;
}
#attend .item .description ul.btn li{
  display: inline-block;
  margin: 0 5px 5px 0;
}
/*#attend .nowEntry{
  margin-top: 100px;
}
#attend .nowEntry .conferenceBlock{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#attend .nowEntry .conference{
  width: calc(50% - 5px);
  box-sizing: border-box;
}*/

/*-------------------------------------------------------------------------
よくある質問
-------------------------------------------------------------------------*/
#faq ul.qa li{
  margin-bottom: 25px;
}
#faq ul.qa li h4{
  color: #0089e0;
  margin-bottom: 3px;
}
#faq ul.qa li h4:before{
  content: "Q.";
}
#faq ul.qa li h4,
#faq ul.qa li p{
  text-indent: -1.0em;
  padding-left: 1.5em;
}
#faq ul.qa li p:before{
  content: "A.";
}




/*-------------------------------------------------------------------------
CONTACT
-------------------------------------------------------------------------*/
#contact p a,
#contact p a:hover{
  color: #ff3300!important;
}

#contact .formItem dl{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 1.2rem;
}
#contact .formItem dt,
#contact .formItem dd{
  box-sizing:border-box;
  /*border-bottom: 1px dotted #ccc;*/
  margin: 15px 0;
}

#contact .formItem dt{
  position: relative;
  -webkit-flex-basis: 35%;
  flex-basis: 35%;
  padding: 5px 0;
}
#contact .formItem dt.required:after{
  content: "必須";
  position: absolute;
  right: 30px;
  background-color: #ff3300;
  color: #fff;
  padding: 2px 10px;
}
#contact .formItem dd{
  -webkit-flex-basis: 65%;
  flex-basis: 65%;
}


#contact form input:not([type="radio"]),
#contact form textarea{
  width: 100%;
  /*display: block;*/
  font: inherit;
  padding: 5px 5px;
  box-sizing:border-box;
  -webkit-appearance: none;
  border: none;
  background-color: #ededed;
  transition:all 0.4s linear;
  border-radius: 0;
}

:-ms-input-placeholder {
  color: #666;
}
span.wpcf7-list-item{
  margin-left: 0!important;
}
.wpcf7-list-item-label{
  margin-right: 20px;
}

#contact form textarea{
  height: 180px;
}
#contact form input:focus,
#contact form textarea:focus{
  background-color: #f5f5f5;
}

#contact form select{
  padding: 5px 10px;
  /*-webkit-appearance: none;*/
  font-size: 100%;
  border:1px solid #999;
}

#contact .submit{
  margin: 40px auto;
  width: 240px;
}
#contact form input[type="submit"]{
  background-color: #333;
  color: #fff;
  width: 100%;
  border:none;
  font-size: 140%;
  cursor: pointer;
}
#contact form input[type="submit"]:hover{
  background-color: #666;
}

#contact .screen-reader-response{
  /*color: #ff3300;*/
  /*margin-bottom: 20px;*/
  font-weight: bold;
}
#contact .screen-reader-response ul{
  display: none;
}


.wpcf7-not-valid-tip{
  color: #ff3300;
}

.wpcf7-validation-errors{
  display: none!important;
}

.wpcf7-mail-sent-ok{
  margin: 0 0 50px!important;
  padding: 0!important;
  border:none!important;
  text-align: center;
  font-size: 120%;
}

#contact form input.wpcf7-not-valid,
#contact form textarea.wpcf7-not-valid{
  background-color: #fff6f3;
}




/*-------------------------------------------------------------------------
検索
-------------------------------------------------------------------------*/
#search .result{
  font-size: 120%;
  margin-bottom: 20px;
}
#search ul.list li:not(:last-child){
  padding: 20px 0;
  border-bottom:1px dotted #ccc;
  margin-bottom: 20px;
}
#search ul.list h2{
  font-size: 140%;
  margin-bottom: 10px;
}
#search ul.list .url{
  color: #999;
  word-break: break-all;
  line-height: 1.4;
}



/*-------------------------------------------------------------------------
footer
-------------------------------------------------------------------------*/
#footer{
  border-top: 1px solid #ccc;
}

#partnerLink{
  border-bottom: 1px solid #ccc;
}

#partnerLink ul{
  text-align: center;
  margin: 50px auto;
}
#partnerLink ul > li{
  display: inline-block;
}
#partnerLink ul > li img{
  width: 80%;
  height: auto;
}


#conferenceNavi{
  padding: 15px 0 30px;
  /*background-color: #f3f3f3;
  width: 75%;
  margin: 0 auto;*/
}
.nonSeries #conferenceNavi{
  background-color: #f3f3f3;
}

#conferenceNavi > ul{
  /*margin: 0 auto;*/
  /*width: 80%;*/
  max-width: 1200px;
  padding-left: 60px;
  overflow: hidden;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
#conferenceNavi > ul > li{
  -webkit-flex-basis: 20%;
  flex-basis: 20%;
  padding-right: 30px;
  box-sizing:border-box;
}

#conferenceNavi > ul li h3{
  font-weight: bold;
  margin: 15px 0 5px;
  padding-left: 0;
}

#conferenceNavi > ul > li ul{
  margin-bottom: 10px;
}


#conferenceNavi .logo{
  margin-top: 15px;
  margin-bottom: 10px;
  /*text-align: center;*/
}
#conferenceNavi .option{
  min-width: 10px;
  /*text-align: center;*/
  margin-top: 20px;
  margin-left: 10px;
  vertical-align: bottom;
  font-size: 150%;
}
#conferenceNavi .logo img{
  /*height: 40px;*/
  width: 85%;
}
#conferenceNavi .option img{
  width: 30px;
  height: 30px;
}

#conferenceNavi > ul > li ul li{
  padding-left: 10px;
}
#conferenceNavi > ul > li ul li b{
  margin-left: -5px;
  color: #999;
}


#conferenceNavi > ul a:hover{
  text-decoration: underline;
  color: #666;
}

#conferenceNavi > ul.siteMenu{
  display: none;
}

#footerNavi{
  padding: 15px 0 30px;
  background-color: #f3f3f3;
}

#footerNavi .forsp{
  display: none;
}

#footerNavi > ul.forpc{
  /*margin: 0 auto;*/
  max-width: 1200px;
  padding-left: 60px;
  overflow: hidden;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
#footerNavi > ul.forpc > li{
  -webkit-flex-basis: 25%;
  flex-basis: 25%;
  padding-right: 30px;
  box-sizing:border-box;
}

#footerNavi > ul.forpc > li:first-child,
#footerNavi > ul.forpc > li:last-child{
  -webkit-flex-basis: 18%;
  flex-basis: 18%;
}
#footerNavi > ul.forpc > li:nth-child(2){
  -webkit-flex-basis: 14%;
  flex-basis: 14%;
}


#footerNavi > ul.forpc > li ul{
  margin-bottom: 10px;
}
#footerNavi > ul.forpc li h3{
  font-weight: bold;
  margin: 15px 0 5px;
  padding-left: 0;
}
#footerNavi > ul.forpc li h3 .caption{
  display: block;
  font-size: 10px;
  font-weight: normal;
  line-height: 1.5;
  color: #666;
}
#footerNavi > ul.forpc > li ul li{
  padding-left: 10px;
}

#footerNavi > ul.forpc a:hover{
  text-decoration: underline;
  color: #666;
}

#footerBottom{
  position: relative;
  background-color: #e7e7e7;
}
#footerBottom .inner{
  overflow: hidden;
  /*max-width: 1200px;
  margin: 0 auto;*/
  padding: 10px 60px;
}
#footerBottom .logo{
  float: left;
  width: 50%;
  margin: 20px 0 0;
}
#footerBottom .logo img{
  height: 23px;
}
#footerBottom .logo span{
  margin-left: 15px;
  font-size: 1.15rem;
}

#footerBottom #copyright{
  color: #777;
  margin: 10px 5px 5px 2px;
  font-size: 12px;
}

#footerBottom .inq{
  float: right;
  width: 50%;
}
#footerBottom .inq .tel{
  /*font-weight: bold;*/
  font-size: 18px;
  text-align: right;
}
#footerBottom .inq .tel span{
  font-size: 36px;
  margin-left: 5px;
  font-family: 'Rajdhani', sans-serif;
  line-height: 1;
}

#footerBottom .inq .tel p{
  font-size: 12px;
  line-height: 1.4;
}

#footerBottom .inq ul{
  text-align: right;
}
#footerBottom .inq ul li{
  display: inline-block;
  margin: 5px 2px;
}
#footerBottom .inq ul li a{
  border:1px solid #666;
  padding: 1px 18px;
  min-width: 80px;
  text-align: center;
  display: inline-block;
  background-color: #ededed;
  transition:all 0.2s linear;
}
#footerBottom .inq ul li a:hover{
  border:1px solid #666;
  text-decoration: underline;
  background-color: #fff;
}

#footerBottom .management{
  clear: both;
  text-align: right;
  /*color: #666;*/
  font-size: 12px;
  margin: 5px 5px;
  line-height: 1.2;
}

.nonSeries #footerBottom .management{
  text-align: left;
}

#footerBottom .pagetop{
  position: fixed;
  bottom: 7px;
  right: 7px;
  /*position: absolute;
  bottom: 0;
  right: 0;*/
  width: 70px;
  height: 70px;
  overflow: hidden;
  z-index: 999;
  /*border:1px solid #000;*/
}
#footerBottom .pagetop a{
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 50%;
  height: 50%;
  z-index: 1;
  /*border:1px solid #000;*/
}
#footerBottom .pagetop a:hover img{
  opacity: 0.7;
}
#footerBottom .pagetop img{
  position: absolute;
  top: 7px;
  right: 5px;
  width: 20px;
  z-index: 1;
  transition:all 0.2s linear;
}
#footerBottom .pagetop:after{
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 200%;
  height: 200%;
  z-index: 0;
  background-color: #F50057;
  -webkit-transform:translate(65%, 65%) rotate(45deg);
  transform:translate(65%, 65%) rotate(45deg);
}
