* {outline: none !important;}

::selection {
	background-color: #475B6F;
	color: #fff;
}

html {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: none;
	-ms-text-size-adjust: none;
	overflow-y: scroll;
	scroll-behavior: smooth;
}

body {
	color: #363636;	
	background: #f1f0f0;
}

p {
	margin: 0 0 20px 0;	
	font-size:15px;
}

img {max-width: 100%;}

a {
	text-decoration: none;
	outline: none;
}

a{	
	color: rgb(86, 255, 40);
	-o-transition: all .4s;
	-ms-transition: all .4s;
	-moz-transition: all .4s;
	-webkit-transition: all .4s;
	transition: all .4s;
}

a:hover {
	color: #000000;	
}


h1, h2, h3, h4, h5, h6{		
	margin: 0 0 15px 0;	
	color: rgb(58, 184, 23);
	font-family: 'Fjalla One';
	letter-spacing: 0.03em;
}

.btn{border-radius: 5px;}
.btn-o {
	font-size:1.5em;
    border: 0 solid #3A4F52;
    color: #3A4F52;
}
.btn-o:hover {
    background: #21a300;
    color: white;
}
.btn.btn-o-white {
    border: 1px solid white;
    color: white;
    background: transparent;
}
.btn.btn-o-white:hover {
    background: white;
    color: #6a6a6a;
}



#header {	
	position: relative;
	padding: 0 !important;
}

#header.header-wrapper {
	background: url(../images/header-bg.jpg) no-repeat center center;
	background-size: cover;
	display: table;
	height: 100vh;
	width: 100%;
	position: relative;
	z-index: 100;
	overflow-x: hidden; 
}

@media screen and (max-width: 767px) and (orientation: landscape) {
    #header.header-wrapper {
		height: auto;
		min-height: 100vh;
		padding: 0px; 
	} 
}

#header.header-wrapper .header-wrapper-inner {
    display: table-cell;
    text-align: center;
    vertical-align: middle; 
}

#header .top {
	position:fixed;
	top:0;
	width: 100%;
	padding: 30px;
	height: auto;
	z-index: 500;
	-o-transition: all .5s;
	-ms-transition: all .5s;
	-moz-transition: all .5s;
	-webkit-transition: all .5s;	
	transition: all .5s;		
}

#header .top.solid {
    background: #000000;
    padding-top: 15px;
    padding-bottom: 15px;
}

#header .top h1{
	margin-bottom: 0;
}
#header .top.solid .toggleDrawer i {
    padding-top: 8px;
	
}

#header .logo, #header .toggleDrawer{
	/*font-family: 'Fjalla One';
	color: rgb(10, 204, 0);*/
	height:30px;
	width:auto;
	max-height: 30px;
	letter-spacing: 0.03em;
	
}

#header .slogan{
	font-size: 4em;
	margin-bottom: 15px;
	line-height: 1em;
	font-family: 'Nixie One';
	color: white;
}

#header .secondary-slogan{
	font-size: 1.6em;
	color: rgba(255,255,255,.5);
	line-height: 1em;
	font-family: 'Fjalla One';
	letter-spacing: 0.03em;
}

#header .bottom {
    bottom: 10%;
	display: block;
	position: absolute;
	width: 100%;
	z-index: 3;
}
#header .bottom a img {
    width: 50px;
}
#header .bottom a {
    opacity: 0.7;
}
#header .bottom a:hover {
    opacity: 1;
}


#drawer-right {
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    margin-right: -300px;
    background: #2B3E51;
    width: 300px;
    padding: 20px;
    z-index: 999;
}

#drawer-right h1, #drawer-right h2{color: white;}

#drawer-right .nav-pills>li>a {
	font-size: 18px;
	border-radius: 0;
}

#drawer-right .social{margin-top: 30px}
#drawer-right .social ul {
    list-style: none;
    padding-left: 20px;
}
#drawer-right .social ul > li {
    display: inline-block;
}
#drawer-right .social ul > li > a:hover{
	color: white;
}


.content-block{
	background:transparent no-repeat center center fixed;
	-webkit-background-size:100%;
	-moz-background-size:100%;
	-o-background-size:100%;
	background-size:100%;
	background-size:cover;
	-webkit-background-size:cover;
	-moz-background-size:cover;
	-o-background-size:cover;
	overflow:hidden;
	padding: 60px 0;
}
.parallax{
	padding: 80px 0;
}

.block-body {
	margin-top: 60px;
}

#purchase {
	background-image: url(../images/traffic.jpg);
	color: white;
}
#parallax {
	background-image: url(../images/blue_mac2.jpg);
	color: white;
}
#contact {
	background-color:black;
	color: white;
	z-index:0;
}
#parallax h1{
	margin-bottom: 60px;
	color: white;
}




.recent-work {
    width: 100%;
    padding-bottom: 27%;
    background: #C3C9CC;
    display: table;
    text-align: center;
    vertical-align: middle;
    padding-top: 27%;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    margin-bottom: 30px;
}

.recent-work span{
	margin-top: -18px;
	opacity: 0;
	position: relative;
	z-index: 1;
}
.recent-work:before {
    background: rgba(2, 56, 58, 0.7);
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    content: '';
    opacity: 0;
    -o-transition: all .2s;
	-ms-transition: all .2s;
	-moz-transition: all .2s;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.recent-work:hover {
    background-size: 200%;
    background-position: center;
}
.recent-work:hover:before, .recent-work:hover span {
    opacity: 1;
}





#purchase h1, #purchase h2{
	color: white;
}
.service i {
    font-size: 60px;
}
.service {
    padding: 0 25px;
}



#howto .blog-post img {
    margin-bottom: 20px;
}
#howto .date {
    margin-bottom: 15px;
    font-style: italic;
}



#whatawe{
	text-align: center;
}
#whatawe .testimonial > img {
    border-radius: 100%;
    margin-bottom: 15px;
}
#whatawe .testimonial {
	padding: 25px;
}




#contact{
	color: white;
}
#contact h1{color: white}

.form-control-white {
    background: transparent;
    color: white;
}

.form-control-white::-webkit-input-placeholder { /* WebKit browsers */
    color:    white;
}
.form-control-white:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    white;
    opacity:  1;
}
.form-control-white::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    white;
    opacity:  1;
}
.form-control-white:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:    white;
}

.form-control-gray {
    background: transparent;
    color: rgb(48, 48, 48);
}

.form-control-gray::-webkit-input-placeholder { /* WebKit browsers */
    color:    rgb(48, 48, 48);
}
.form-control-gray:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    rgb(48, 48, 48);
    opacity:  1;
}
.form-control-gray::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    rgb(48, 48, 48);
    opacity:  1;
}
.form-control-gray:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:    rgb(48, 48, 48);
}



#footer{ background: #000000; color: white;}





@media (max-width: 767px){
	#header .slogan {
		font-size: 2.8em; 
	} 

	#header .secondary-slogan {
		font-size: 1.2em;
	}

	#header .bottom {
		bottom: 13%;
	}

	.blog-post {
		margin-bottom: 40px;
	}

	.recent-work {
		background-position: center;
	}

	.recent-work:before {
		opacity: 1;
	}

	.recent-work span {
		opacity: 1;
	}
}

@media (max-width: 480px) {
	#drawer-right {
		padding: 10px 20px;
	}

	#drawer-right .nav-pills>li>a {
		font-size: 17px;
	}

	.nav-stacked>li+li {
		margin-top: 0;
	}

	.nav>li>a {
		padding: 8px 15px;
	}

	#drawer-right .social {
		margin-top: 5px;
	}

	#header {
		background-size: cover;
	}
}

.zen-kaku-gothic-new-regular {
	font-size: 1.5em;
	color:white;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.zen-p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

span.marker {
    background: linear-gradient(transparent 50%, #fff75d 50%);
}
span.marker-w {
    background: linear-gradient(transparent 50%, #fff75d 50%);
	width:100%;
	text-align:center;
}
.zen-top {
	font-size:40px;
	color:rgb(45, 45, 45);
	letter-spacing: 0.5em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-style: normal;
}
.zen-pay {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-style: normal;
  color:white;
  line-height:2.0em;
  margin-bottom: 2em;
}
@media (max-width: 480px) {
	.zen-pay {
		font-size:15px;
	}
}
.zen-howto {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.08em;
  margin-bottom:2em;
  color:rgb(60, 60, 60);
  text-align:center;
}

.fuchidori {
  font-weight: bold;
  font-size: 70px;
  color: rgba(0, 0, 0, 0);
  text-shadow: 3px 3px 0 #cd5;
  -webkit-text-stroke: 1px #616161;
  text-stroke: 1px #888;
  padding: 0 0 10px;
}
@media (max-width: 926px) {
	.fuchidori {
		font-size: 40px;
text-shadow: 3px 3px 3px 3px#cd5;
	}}
	@media (max-width: 529px) {
	.fuchidori {
		font-size: 30px;
		text-shadow: 2px 2px 2px 2px#cd5;
	}}
		@media (max-width: 397px) {
	.fuchidori {
		font-size: 25px;
	}}



.fuchidori2 {
  font-weight: bold;
  font-size: 60px;
  color: rgba(0, 0, 0, 0);

  text-shadow: 3px 3px 0 #9db;
  -webkit-text-stroke: 1px #888;
  text-stroke: 1px #888;
}

/* 閉じるボタン */
.close-button {
	color:rgb(47, 47, 47);
  	position: absolute;
  	top: 22px;
  	right: 40px;
 	cursor: pointer;
  	font-size: 30px;
	font-weight: 800;
	z-index:100010;
}

 .popup-wrapper {
      width: 100vw; /*画面に大きさを合わせる*/
      height: 100vh;
      position: fixed; /*ラッパーの左上隅を画面左上に固定*/
      top: 0px;
      left: 0px;
	  z-index:100010;
      }
      .popup-background{
      width: 100%; /*ラッパー全体を覆うようにする*/
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5); /*半透明の黒*/
	  z-index:100010;
      }
      .popup-body{
		color:rgb(46, 46, 46);
      	width: 35%; /*ラッパーの半分の大きさにする*/
      	height: 75vh;
		box-sizing: border-box; /* paddingを含めた幅計算にする */
  		overflow-y: auto;     /* はみ出た場合にスクロール */
      	position: absolute; /*ラッパーを基準に、画面中央にくるように調整*/
      	top:15%;
      	left:35%;
      	background-color: white;
	  	border-radius: 5px;
		z-index:100009;
		padding:0 2em 0 2em;
      }
		@media (max-width: 1174px) {
		.popup-body{
			width: 70%;
			height: 85%;
			top:10%;
			left:15%;
		}}
		@media (max-width: 767px) {
		.popup-body{
			width: 90%;
			height: 88%;
			left:5%;
		}}
      .is-hidden{
        visibility: hidden;
      }
	  .form-pdding{
		padding:0 2em 0 2em;
	  }

		@media (min-width: 768px) {
			.logo-left-center{
				text-align:left;
			}
		}
		@media (max-width: 767px) {
			.logo-left-center{
				text-align:center;
			}
		}

		@media (min-width: 768px) {
			.logo-right-center{
				text-align:right;
			}
		}
		@media (max-width: 767px) {
			.logo-right-center{
				text-align:center;
				margin-bottom:5px;
			}
		}

		.parent:hover{
    opacity: 0.7;
    transition: opacity .5s, background-color .5s;
}
.scrollup-banner{
    width: 250px;
    height: auto;
    opacity: .8;
    position: fixed;
    bottom: 20px;
    right: 55px;
    color: #fff;
    cursor: pointer;
    background-color: #000;
    z-index: 100008;
    transition: opacity .5s, background-color .5s;
    -moz-transition: opacity .5s, background-color .5s;
    -webkit-transition: opacity .5s, background-color .5s;
}

.scrollup-banner:hover {
    opacity: 1;
}

 @media screen and (max-width: 768px) {
    .screensize_pc {display:none;} /*スマホで閲覧したら非表示にするPC用コンテンツ*/
    }

    @media screen and (min-width: 768px) {
	.screensize_sp {display:none;} /*PCで閲覧したら非表示にするスマホ用コンテンツ*/
	}

	.campaign{
		border: solid 0;
		background-color: white;
		font-size:1.5em;
		color:red;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 600;
		box-sizing: border-box; /* paddingを含めた幅計算にする */
		padding:0.2em 1em 0.3em 1em;
		margin-bottom:1.5em;
		
	}

	/* Table */

	.table-wrapper {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
	}

	table {
		margin: 0 0 2em 0;
		width: 100%;
	}

		table tbody tr {
			border: solid 1px rgba(113, 113, 113, 0.487);
			border-left: 0;
			border-right: 0;
		}

			table tbody tr:nth-child(2n + 1) {
				background-color: rgba(255, 255, 255, 0.035);
			}

		table td {
			padding: 0.75em 0.75em;
			font-size: 0.9em;
		}

		table th {
			color: #505050;
			font-size: 0.9em;
			font-weight: 600;
			padding: 0 0.75em 0.75em 0.75em;
			text-align: left;
		}

		table thead {
			border-bottom: solid 2px rgba(212, 212, 255, 0.1);
		}

		table tfoot {
			border-top: solid 2px rgba(212, 212, 255, 0.1);
		}

		table.alt {
			border-collapse: separate;
		}

			table.alt tbody tr td {
				border: solid 1px rgba(212, 212, 255, 0.1);
				border-left-width: 0;
				border-top-width: 0;
			}

				table.alt tbody tr td:first-child {
					border-left-width: 1px;
				}

			table.alt tbody tr:first-child td {
				border-top-width: 1px;
			}

			table.alt thead {
				border-bottom: 0;
			}

			table.alt tfoot {
				border-top: 0;
			}
.speechBubble {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
  padding: 16px;
  border-radius: 8px;
  background-color: #13d100;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #ffffff;
}

.speechBubble::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 20px 10px 0 10px;
  border-color: #13d100 transparent transparent;
  translate: -50% 100%;
}
.speechBubble2 {
  position: relative;
  display: inline-block;
  padding: 16px;
  border: 3px solid #14d100;
  border-radius: 8px;
  background-color: #ffffff;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
}



/*ポップアップここから*/
 .popup_wrap input {
    position: relative;
    display: none;
  }
  
  .popup_overlay {
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
    transform: scale(0);
  }
  
  .popup_trigger {
    position: absolute;
    width: 100%;
    height: 100%;
  }
  
  .popup_content {
    position: relative;
    align-self: center;
    width: 90%;
    max-width: 90%;
	height:90%;
    padding: 30px 30px;
    box-sizing: border-box;
    background: #fff;
    line-height: 1.4em;
    transition: 0.5s;
	overflow: auto; 
  }
  
  .close_btn {
    position: absolute;
    top: 14px;
    right: 16px;
    font-size: 30px;
    cursor: pointer;
  }
  
  .popup_wrap input:checked ~ .popup_overlay {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
  }
  
  .open_btn {
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 30px;
    margin:10px auto;
    padding: 8px 16px;
    color: #fff;
    background:#0c0d62;
    font-weight: bold;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    border-radius: 3px;
    cursor: pointer;
    transition: .3s ease;
  
  }
  .open_btn:hover{
      background:#000;
      color:#fff;
      transition: .3s ease;
  }
  /*ポップアップココまで*/
  .rider-prof{
	font-size: 0.7em !important;
	line-height:1.2em !important;
}
/*team section css*/
.team{}
.team .head_title{
    color:#223d61;
}
.team .single_team{}
.team .single_item{
    position: relative;
    max-width: 100%;
    margin-bottom:30px;
}
.team .single_item img{
    max-width: 100%;
}
.team .single_item:hover .single_team_overlay{
    opacity: 1; 
}

.team .single_item .single_team_overlay{
    background: rgba(255, 0, 247, 0.592);
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height: 100%;
    text-align: center;
    padding: 50px 0px 10px 0px;
    transition: .6s;
    opacity: 0;
}
.team .single_item .single_team_overlay h4{
    color:#fff;
    text-transform: uppercase;
}
.team .single_item .single_team_overlay p{
    color:#fff;
    text-transform: uppercase;
}
.team .single_item .single_team_overlay .team_socail{
    margin-top:50px;
}

.team .single_item .single_team_overlay .team_socail a i{
    color:#fff;
    font-size:1.5rem;
    padding: 0px 5px;
}
.rider{
	width:100vw; 
	height:20em; 
	margin:0,1%,0,1%; 
	object-fit:cover;
	box-shadow: 0 0 8px gray;
}
.rider-name{
	text-align:center;
	font-weight:800;
	margin-top:0.7em;
	margin-bottom:2em;
	color:black;
}
.rider-jisseki{
	padding-left:1em;
	font-weight:600;
	color:black;
	letter-spacing:0.1em;
	line-height:1.5em;
	margin-top:1em;
}
.rider-comment{
	font-size:110%;
	font-weight:600;
	color:black;
	letter-spacing:0.1em;
	line-height:1.3em;
}
.rider-name2{
	font-weight:800;
	margin-top:0.7em;
	color:black;
}
