/*-----------------------------------------------------------------------------------
	    hashiguchi-geka
        Built with Blocs
-----------------------------------------------------------------------------------*/
 
body{
	margin:0;
	padding:0;
    background:#FFFFFF;
    overflow-x:hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.page-container{overflow-x:hidden;} /* Prevents unwanted scroll space when scroll FX used. */
a,button{transition: background .3s ease-in-out;outline: none!important;} /* Prevent ugly blue glow on chrome and safari */
a:hover{text-decoration: none; cursor:pointer;}


/* Preloader */

.page-preloader{position: fixed;top: 0;bottom: 0;width: 100%;z-index:100000;background:#FFFFFF url("../img/pageload-spinner.gif") no-repeat center center;}

/* = Blocs
-------------------------------------------------------------- */

.bloc{
	width:100%;
	clear:both;
	background: 50% 50% no-repeat;
	padding:0 50px;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position:relative;
	display:flex;
}
.bloc .container{
	padding-left:0;
	padding-right:0;
}


/* Sizes */

.bloc-lg{
	padding:100px 50px;
}
.bloc-md{
	padding:50px;
}
.bloc-sm{
	padding:20px 50px;
}

/* = Full Width Blocs 
-------------------------------------------------------------- */

.full-width-bloc{
	padding-left:0;
	padding-right:0;
}
.full-width-bloc .row{
	margin-left:0;
	margin-right:0;
}
.full-width-bloc .container{
	width:100%;
	max-width:100%!important;
}
.full-width-bloc .carousel img{
	width:100%;
	height:auto;
}


/* Background Styles */

.bg-center,.bg-l-edge,.bg-r-edge,.bg-t-edge,.bg-b-edge,.bg-tl-edge,.bg-bl-edge,.bg-tr-edge,.bg-br-edge,.bg-repeat{
	-webkit-background-size: auto!important;
	-moz-background-size: auto!important;
	-o-background-size: auto!important;
	background-size: auto!important;
}
.bg-repeat{
	background:repeat;
}


/* Dark theme */

.d-bloc{
	color:rgba(255,255,255,.7);
}
.d-bloc button:hover{
	color:rgba(255,255,255,.9);
}
.d-bloc .icon-round,.d-bloc .icon-square,.d-bloc .icon-rounded,.d-bloc .icon-semi-rounded-a,.d-bloc .icon-semi-rounded-b{
	border-color:rgba(255,255,255,.9);
}
.d-bloc .divider-h span{
	border-color:rgba(255,255,255,.2);
}
.d-bloc .a-btn,.d-bloc .navbar a, .d-bloc a .icon-sm, .d-bloc a .icon-md, .d-bloc a .icon-lg, .d-bloc a .icon-xl, .d-bloc h1 a, .d-bloc h2 a, .d-bloc h3 a, .d-bloc h4 a, .d-bloc h5 a, .d-bloc h6 a, .d-bloc p a{
	color:rgba(255,255,255,.6);
}
.d-bloc .a-btn:hover,.d-bloc .navbar a:hover,.d-bloc a:hover .icon-sm, .d-bloc a:hover .icon-md, .d-bloc a:hover .icon-lg, .d-bloc a:hover .icon-xl, .d-bloc h1 a:hover, .d-bloc h2 a:hover, .d-bloc h3 a:hover, .d-bloc h4 a:hover, .d-bloc h5 a:hover, .d-bloc h6 a:hover, .d-bloc p a:hover{
	color:rgba(255,255,255,1);
}
.d-bloc .navbar-toggle .icon-bar{
	background:rgba(255,255,255,1);
}
.d-bloc .btn-wire,.d-bloc .btn-wire:hover{
	color:rgba(255,255,255,1);
	border-color:rgba(255,255,255,1);
}
.d-bloc .card{
	color:rgba(0,0,0,.5);
}
.d-bloc .card button:hover{
	color:rgba(0,0,0,.7);
}
.d-bloc .card icon{
	border-color:rgba(0,0,0,.7);
}
.d-bloc .card .divider-h span{
	border-color:rgba(0,0,0,.1);
}
.d-bloc .card .a-btn{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .a-btn:hover{
	color:rgba(0,0,0,1);
}
.d-bloc .card .btn-wire, .d-bloc .card .btn-wire:hover{
	color:rgba(0,0,0,.7);
	border-color:rgba(0,0,0,.3);
}


/* Light theme */

.d-bloc .card,.l-bloc{
	color:rgba(0,0,0,.5);
}
.d-bloc .card button:hover,.l-bloc button:hover{
	color:rgba(0,0,0,.7);
}
.l-bloc .icon-round,.l-bloc .icon-square,.l-bloc .icon-rounded,.l-bloc .icon-semi-rounded-a,.l-bloc .icon-semi-rounded-b{
	border-color:rgba(0,0,0,.7);
}
.d-bloc .card .divider-h span,.l-bloc .divider-h span{
	border-color:rgba(0,0,0,.1);
}
.d-bloc .card .a-btn,.l-bloc .a-btn,.l-bloc .navbar a,.l-bloc a .icon-sm, .l-bloc a .icon-md, .l-bloc a .icon-lg, .l-bloc a .icon-xl, .l-bloc h1 a, .l-bloc h2 a, .l-bloc h3 a, .l-bloc h4 a, .l-bloc h5 a, .l-bloc h6 a, .l-bloc p a{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .a-btn:hover,.l-bloc .a-btn:hover,.l-bloc .navbar a:hover, .l-bloc a:hover .icon-sm, .l-bloc a:hover .icon-md, .l-bloc a:hover .icon-lg, .l-bloc a:hover .icon-xl, .l-bloc h1 a:hover, .l-bloc h2 a:hover, .l-bloc h3 a:hover, .l-bloc h4 a:hover, .l-bloc h5 a:hover, .l-bloc h6 a:hover, .l-bloc p a:hover{
	color:rgba(0,0,0,1);
}
.l-bloc .navbar-toggle .icon-bar{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .btn-wire,.d-bloc .card .btn-wire:hover,.l-bloc .btn-wire,.l-bloc .btn-wire:hover{
	color:rgba(0,0,0,.7);
	border-color:rgba(0,0,0,.3);
}

/* Row Margin Offsets */

.voffset{
	margin-top:30px;
}
.voffset-md{
	margin-top:50px;
}


/* = NavBar
-------------------------------------------------------------- */

.hero .hero-nav{
	padding-left:inherit;
	padding-right:inherit;
}
/* = Sticky Nav
-------------------------------------------------------------- */

.sticky-nav.sticky{
	position:fixed;
	top:0;
	z-index:1000;
	box-shadow:0 1px 2px rgba(0,0,0,.3);
	 transition: all .2s ease-out;
}
/* Handle Multi Level Navigation */.navbar-light .navbar-nav .nav-link {
	color: rgb(64, 64, 64);
}
.btco-menu li > a {
	padding: 10px 15px;
	color: #000;
}
.btco-menu .active a:focus,.btco-menu li a:focus ,.navbar > .show > a:focus{
	background: transparent;
	outline: 0;
}
.dropdown-menu .show > .dropdown-toggle::after{
	transform: rotate(-90deg);
}

/* = Bric adjustment margins
-------------------------------------------------------------- */

.mg-clear{
	margin:0;
}
.mg-sm{
	margin-top:10px;
	margin-bottom:5px;
}
.mg-md{
	margin-top:10px;
	margin-bottom:20px;
}
.mg-lg{
	margin-top:10px;
	margin-bottom:40px;
}
img.mg-sm,img.mg-md,img.mg-lg{
	margin-top: 0;
}
img.mg-sm{
	margin-bottom:10px;
}
img.mg-md{
	margin-bottom:30px;
}
img.mg-lg{
	margin-bottom:50px;
}

/* = Buttons
-------------------------------------------------------------- */

.btn-d,.btn-d:hover,.btn-d:focus{
	color:#FFF;
	background:rgba(0,0,0,.3);
}

/* Prevent ugly blue glow on chrome and safari */
button{
	outline: none!important;
}

.btn-sq{
	border-radius: 0px;
}
.icon-spacer{
	margin-right:5px;
}

/* = Icons
-------------------------------------------------------------- */
.icon-sm{
	font-size:18px!important;
}
.icon-md{
	font-size:30px!important;
}
.icon-round{
	margin:0 auto;
	border:2px solid transparent;
	border-radius: 50%;
	padding: 32px 30px 26px 30px;
	min-width:80px;
}
.icon-round.icon-md,.icon-square.icon-md,.icon-rounded.icon-md{
	min-width: 92px;
}
.icon-round.icon-lg,.icon-square.icon-lg,.icon-rounded.icon-lg{
	min-width: 122px;
}
.icon-round.icon-xl,.icon-square.icon-xl,.icon-rounded.icon-xl{
	min-width: 162px;
}




/* = Cards
-------------------------------------------------------------- */
.card-sq, .card-sq .card-header, .card-sq .card-footer{
	border-radius:0;
}
.card-rd{
	border-radius:30px;
}
.card-rd .card-header{
	border-radius:29px 29px 0 0;
}
.card-rd .card-footer{
	border-radius:0 0 29px 29px;
}

/* = Dividers
-------------------------------------------------------------- */
.divider-h{
	padding:20px 0;
	width:100%;
	display:inline-block;
}
.divider-h span{
	display: block;
	border-top:1px solid transparent;
}
.divider-half{
	width: 50%;
	margin: 0 auto;
}
.dropdown-menu .divider-h,.dropdown-menu .divider-half{
	padding:0;
}


/* iFrame */

iframe{
	border:0;
}


/* ScrollToTop button */

.scrollToTop{
	width:40px;
	height:40px;
	position:fixed;
	bottom:20px;
	right:20px;
	opacity: 0;
	z-index: 500;
	transition: all .3s ease-in-out;
}
.scrollToTop span{
	margin-top: 6px;
}
.showScrollTop{
	font-size: 14px;
	opacity: 1;
}

/* = Custom Styling
-------------------------------------------------------------- */

h1,h2,h3,h4,h5,h6,p,label,.btn,a{
	font-family:"Noto Serif JP";
	line-height:2em;
	font-weight:500;
}
.container{
	max-width:1170px;
}
.navbar-brand img{
	height:50px;
	width:215px;
}
.gnav{
	font-size:15px;
	margin-left:10px;
	color:#141414!important;
}
.gnav:hover{
	color:#45A932!important;
}
.tit-h1{
	font-size:24px;
	font-family:"Noto Serif JP";
	font-weight:700;
	line-height:24px;
	letter-spacing:8px;
	text-align:center;
	color:#FFFFFF!important;
}
.h1-consept-style{
	font-size:24px;
	letter-spacing:5px;
	color:#45AA33!important;
}
.row-margin-left{
	margin-left:55px;
	margin-right:55px;
}
.row-5-margin-left{
	margin-left:55px;
	margin-right:55px;
}
.button01{
	background-color:#313231;
	font-family:"Lato";
	font-weight:400;
	font-size:14px;
	letter-spacing:2px;
	background-position:center top;
	margin-bottom:10px;
	border-radius:0px 0px 0px 0px;
}
.button01:hover{
	color:#FEFFFE!important;
	background-color:#505050;
}
.header{
	border-style:solid;
	border-color:#45A932!important;
	border-width:5px 0px 0px 0px;
}
.header:hover{
	border-style:solid;
	border-color:#44AA33!important;
	border-width:5px 0px 0px 0px;
}
.p-margin-top{
	margin-top:15px;
	font-size:16px;
}
.h3-style{
	font-family:Cinzel;
	font-size:36px;
}
.p-style{
	font-size:12px;
}
.img-style{
	width:100px;
}
.tit-h3{
	font-size:18px;
	letter-spacing:2px;
	color:#45AA33!important;
	text-align:center;
	border-color:rgba(0,0,0,0.0)!important;
	text-shadow:0px 0px 0px #45AA33;
	box-shadow:0px 0px 0px #45AA33;
	font-family:"Noto Serif JP";
	font-weight:600;
}
.row-11-margin-left{
	margin-left:200px;
	margin-right:200px;
}
.img-12-style{
	width:240px;
	height:60px;
}
.p-7-style{
	font-size:10px;
}
.p-6-style{
	line-height:0em;
}
.h4-style{
	font-size:16px;
	color:#45AA33!important;
	font-weight:normal;
	text-align:center;
}
h3{
}
p{
}
.tit-h3:hover{
	box-shadow:0px 0px 0px #45AA33;
}
.button-menu{
	font-size:14px;
	font-family:"Lato";
	font-weight:400;
	background-color:#00AC0B;
	background-repeat:repeat;
	text-align:center;
	background-position:left bottom;
}
.p-29-style{
	font-family:Lato;
	font-weight:400;
}
.img-locomo-style{
	width:800px;
}
.p-comment{
	font-size:14px;
}
.p-news{
	font-size:16px;
	color:#FFFFFF!important;
	line-height:36px;
}
.black{
	color:#303230!important;
}
.box-line{
	border-color:#45AA33!important;
	border-style:solid;
	background-color:transparent;
	margin-bottom:20px;
	border-width:2px 2px 2px 2px;
}
.tit-h4{
	color:#22AC38!important;
	font-size:16px;
	border-style:solid;
	margin-bottom:10px;
	font-weight:bold;
	padding:0px 0px 0px 10px;
	border-width:0px 0px 0px 3px;
}
.line{
	background-color:#22AC38;
	padding-top:10px;
	padding-bottom:10px;
	color:#FFFFFF!important;
	text-align:center;
}
.img-menu-style{
	width:300px;
}
.img-27-style{
	width:300px;
}
.img-27-menu-style{
	width:300px;
}
.button02{
	background-color:#20B649;
	font-family:"Lato";
	font-weight:400;
	font-size:14px;
	letter-spacing:2px;
	background-position:center top;
	margin-bottom:10px;
	border-radius:0px 0px 0px 0px;
}
.button02:hover{
	color:#FEFFFE!important;
	background-color:#035A1D;
}

/* = Colour
-------------------------------------------------------------- */

/* Background colour styles */

.bgc-white{
	background-color:#FFFFFF;
}
.bgc-dark-pastel-green{
	background-color:#20B649;
}

/* Text colour styles */

.tc-white{
	color:#FFFFFF!important;
}
.tc-onyx{
	color:#141414!important;
}
.tc-kelly-green{
	color:#45AA33!important;
}

/* Icon colour styles */

.icon-dark-pastel-green{
	color:#20B649!important;
	border-color:#20B649!important;
}
.icon-kelly-green{
	color:#45AA33!important;
	border-color:#45AA33!important;
}
.icon-white{
	color:#FFFFFF!important;
	border-color:#FFFFFF!important;
}
.icon-ferrari-red{
	color:#FF2600!important;
	border-color:#FF2600!important;
}

/* Bloc image backgrounds */

.bg-lines-h-bg{
	background-image:url("../img/lines-h-bg.png");
}
.bg-haikei02{
	background-image:url("../img/haikei02.svg");
}
.bg-dots-bg{
	background-image:url("../img/dots-bg.png");
}
.bg-haikei02{
	background-image:url("../img/haikei02.png");
}



/* = Mobile adjustments 
-------------------------------------------------------------- */
@media (max-width: 1024px)
{
    .bloc{
        padding-left: 20px; 
        padding-right: 20px;  
    }
    .bloc.full-width-bloc, .bloc-tile-2.full-width-bloc .container, .bloc-tile-3.full-width-bloc .container, .bloc-tile-4.full-width-bloc .container{
        padding-left: 0; 
        padding-right: 0;  
    }
}
@media (max-width: 991px)
{
    .container{width:100%;}
    .page-container, #hero-bloc{overflow-x: hidden;position: relative;} /* Prevent unwanted side scroll on mobile */
    .bloc{padding-left: constant(safe-area-inset-left);padding-right: constant(safe-area-inset-right);} /* iPhone X Notch Support*/
    .bloc-group, .bloc-group .bloc{display:block;width:100%;}
}
@media (max-width: 767px)
{
    .page-container{
        overflow-x: hidden;
        position:relative;
    }
    .bloc-tile-2 .container, .bloc-tile-3 .container, .bloc-tile-4 .container{
        padding-left:0;padding-right:0;
    }
    .a-block{
        padding:0 10px;
    }
    .btn-dwn{
       display:none; 
    }
    .voffset{
        margin-top:5px;
    }
    .voffset-md{
        margin-top:20px;
    }
    .voffset-lg{
        margin-top:30px;
    }
    form{
        padding:5px;
    }
    .close-lightbox{
        display:inline-block;
    }
    .blocsapp-device-iphone5{
	   background-size: 216px 425px;
	   padding-top:60px;
	   width:216px;
	   height:425px;
    }
    .blocsapp-device-iphone5 img{
	   width: 180px;
	   height: 320px;
    }
}

@media (max-width: 991px){
	.tit-h1{
		font-size:16px;
	}
	.row-11-margin-left{
		margin-left:50px;
		margin-right:50px;
	}
	.tit-h3{
		font-size:18px;
	}
	
	/* MD Row Margin Offsets */
	.voffset-md{
		margin-top:30px;
	}
	
}

@media (max-width: 767px){
	.tit-h1{
		font-size:14px;
		letter-spacing:0px;
	}
	.row-margin-left{
		margin-right:-0px;
		margin-left:0px;
	}
	.h1-consept-style{
		font-size:20px;
	}
	.tit-h3{
		font-size:14px;
		letter-spacing:1px;
	}
	
}

@media (max-width: 575px){
	.navbar-brand img{
		height:55px;
	}
	.h1-consept-style{
		font-size:18px;
	}
	.h3-style{
		font-size:28px;
	}
	.p-bloc-4-style{
		font-size:14px;
		letter-spacing:-1px;
	}
	.p-margin-top{
		font-size:14px;
	}
	.row-5-margin-left{
		margin-left:15px;
		margin-right:15px;
	}
	.button01{
		margin-top:5px;
		margin-right:5px;
		margin-bottom:5px;
	}
	.button02{
		margin-top:5px;
		margin-right:5px;
		margin-bottom:5px;
	}
	
}

