@charset "utf-8";

/* Body */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');

/* Warranty Financial Contact Title */
@import url('https://fonts.googleapis.com/css2?family=Sansita&display=swap');

/* Footer and Contact Title */
@import url('https://fonts.googleapis.com/css2?family=Julius+Sans+One&display=swap');

/* Navi */
@import url('https://fonts.googleapis.com/css2?family=Alegreya+Sans+SC:wght@500&display=swap');


.cleaner {
	clear: both;
	height: 1px !important;
	background: transparent;
	list-style-type: none;
}


html, body{
	height: 100%;
    font-family: 'Noto Sans JP', sans-serif;
}


body {
    padding-top: 15px; /* Required padding for .navbar-fixed-top. Remove if using .navbar-static-top. Change if height of navigation changes. */
    background-color: #fff;
}


/*==============================
   Navi
==============================*/

.navbar {
	font-family: 'Alegreya Sans SC', sans-serif !important;
	font-size: 18px;
	letter-spacing: 2px;
	z-index: 1000;
}

.nav-bg {
	background: #000000 !important;
}

.nav-link {
	color: rgba(50, 205, 50, 1) !important;
}

a.nav-link:focus, a.nav-link:hover {
	color: #FFFFFF !important;
}

.navbar-nav .nav-link {
    margin-right: 20px;
    margin-left: 20px;
}

/*==============================
   To change color "hamburger icon" change value in the SVG data
stroke='rgba(255,102,203, 0.5)'

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
==============================*/

.navbar-toggler:focus,
.navbar-toggler:active {
    outline: 0;
}

.navbar-toggler span {
   display: block;
   background-color: #32cd32;
   height: 3px;
   width: 25px;
   margin-top: 4px;
   margin-bottom: 4px;
   -webkit-transform: rotate(0deg);
   -moz-transform: rotate(0deg);
   -o-transform: rotate(0deg);
   transform: rotate(0deg);
   opacity: 1;
}

.navbar-toggler span:nth-child(1),
.navbar-toggler span:nth-child(3) {
   -webkit-transition: transform .35s ease-in-out;
   -moz-transition: transform .35s ease-in-out;
   -o-transition: transform .35s ease-in-out;
   transition: transform .35s ease-in-out;
}

.navbar-toggler:not(.collapsed) span:nth-child(1) {
    margin-top: 0px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
    opacity: 0.9;
}

.navbar-toggler:not(.collapsed) span:nth-child(2) {
    height: 12px;
    visibility: hidden;
    background-color: transparent;
}

.navbar-toggler:not(.collapsed) span:nth-child(3) {
    margin-top: -22px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    transform: rotate(-135deg);
    opacity: 0.9;
}



/*==============================
   TOP Section Logo Info
==============================*/

.top-bar {
  background-color: #333333;
  margin-top: 44px;
  position: relative;
  right: 0;
  left: 0;
  z-index: 10;
}

.top-bar-container {
  margin-right: auto;
  margin-left: auto;
  padding: 20px 20px 20px 20px;
}

@media (min-width: 768px) {
  .top-bar-container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .top-bar-container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .top-bar-container {
    width: 1170px;
  }
}

.top-bar-container:before,
.top-bar-container:after {
  display: table;
  content: " ";
}

.top-bar-container:after {
  clear: both;
}


/*==============================*/


.col-2top-l, .col-2top-r {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.col-2top-r {
	font-size: 14px;
	color: #FFFFFF;
	padding-top: 30px !important;
	padding-right: 0 !important;
}
.col-2top-l {
	padding-left: 0;
	
	/** To make Center Vertically **/
	margin-top: auto;
   margin-bottom: auto;
}


/*==============================
   Carousel Fade Transition
==============================*/

.carousel.carousel-fade .carousel-item {
    display: block;
    opacity: 0;
    transition: opacity ease-out .7s;
}

.carousel.carousel-fade .carousel-item.active {
    opacity: 1 !important;
}


/*==============================
   Top Slider Title
==============================*/

.slider-title {
	font-size: 5vw;
	text-shadow: 0 0 10px #000000;
}

.slider-cap {
	font-size: 4vw;
	text-shadow: 0 0 10px #000000;
	position: relative;
	margin-bottom: -20px;
}

@media (min-width: 690px) {
	.slider-title {
		font-size: 4vw;
		text-shadow: 0 0 10px #000000;
	}

	.slider-cap {
		font-size: 3vw;
		text-shadow: 0 0 10px #000000;
		position: relative;
		margin-bottom: -20px;
	}
}


/*==============================*/

.line-red {
	width: 100%;
	height: 2px;
	background-color: #32cd32;
}

.space-25 {
	padding-top: 25px;
}

/*==============================*/

.row {
	text-align: center;
}

.row-L {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
       flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
	text-align: left;
}


/*==============================
   Testimonials - Warranty Page - Carousel Control icon and indicator
==============================*/

h2 {
	color: #333;
	text-align: center;
	font-style: italic;
	font-family: 'Sansita', sans-serif;
    font-size: 48px;
	position: relative;
	margin: 30px 0 60px;
}
h2::after {
	content: "";
	width: 250px;
	position: absolute;
	margin: 0 auto;
	height: 3px;
	background: #8fbc54;
	left: 0;
	right: 0;
	bottom: -10px;
}
.col-center {
	margin: 0 auto;
	float: none !important;
}
.c-testimonial {
	margin: 50px auto;
	padding: 0 70px;
}
.carousel .item {
	color: #999;
	font-size: 14px;
    text-align: center;
	overflow: hidden;
    min-height: 290px;
}
.carousel .item .img-box {
	width: 135px;
	height: 135px;
	margin: 0 auto;
	padding: 5px;
	border: 1px solid #ddd;
	border-radius: 50%;
}
.carousel .img-box img {
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 50%;
}
.carousel .testimonial {
	padding: 30px 0 10px;
}
.carousel .overview {	
	font-style: italic;
}
.carousel .overview b {
	text-transform: uppercase;
	color: #7AA641;
}
.carousel .carousel-control {
	width: 40px;
    height: 40px;
    margin-top: -20px;
    top: 50%;
	background: none;
}
.carousel-control i {
    font-size: 68px;
	line-height: 42px;
    position: absolute;
    display: inline-block;
	color: rgba(0, 0, 0, 0.8);
    text-shadow: 0 3px 3px #e6e6e6, 0 0 0 #000;
}
.carousel .carousel-indicators {
	bottom: -40px;
}
.carousel-indicators li, .carousel-indicators li.active {
	width: 10px;
	height: 10px;
	margin: 1px 3px;
	border-radius: 50%;
}
.carousel-indicators li {	
	background: #999;
	border-color: transparent;
	box-shadow: inset 0 2px 1px rgba(0,0,0,0.2);
}
.carousel-indicators li.active {	
	background: #555;		
	box-shadow: inset 0 2px 1px rgba(0,0,0,0.2);
}


#myCarousel .carousel-indicators {
    position: static;
    left: initial;
    width: initial;
    margin-left: initial;
}

#myCarousel .carousel-indicators > li {
    width: initial;
    height: initial;
    text-indent: initial;
}

#myCarousel .carousel-indicators > li.active img {
    opacity: 0.7;
}


/*==============================
    Swiper 2 of 3 - for Home page
==============================*/

	.swiper-container {
      	width: 100%;    
	}
	
	.swiper-slide {
      	text-align: center;
      	/*font-size: 18px;*/
      	background: #333333;

      /* Center slide text vertically */
      	display: -webkit-box;
      	display: -ms-flexbox;
      	display: -webkit-flex;
      	display: flex;
     	-webkit-box-pack: center;
      	-ms-flex-pack: center;
      	-webkit-justify-content: center;
      	justify-content: center;
      	-webkit-box-align: center;
      	-ms-flex-align: center;
      	-webkit-align-items: center;
      	align-items: center;
		padding-bottom: 100px;
	}
	
	.swiper-slide .title {
    	position: absolute;
		font-size: 14px;
    	line-height: 1.3;
    	width: 100%;
		padding-top: 20px;
		padding-bottom: 20px;
		background-color: #222222;
		color: #FFFFFF;
		bottom:0;
		margin-bottom: 40px;
	}

	.swiper-pagination-bullet-active {
  	background: #32cd32 !important;
	}
	

.swiper-button-prev.swiper-button-red,
.swiper-button-next.swiper-button-red {
  --swiper-navigation-color: #32cd32;
}


/*==============================*/


.bg_g {
	/*background: rgba(51, 51, 51, 0.8);*/
   background-color: #333333;
}

.bg_gr {
   background: #dff5df;
}

.bg_b {
   background-color: #000000;
}

a.red, .red {
	color: #32cd32; /* #FF0000 */
	text-decoration: none;
}

a.wt {
	color: #FFFFFF;
	text-decoration: none;
}
a.wt:hover {
  color: #FFFFFF;
  filter:alpha(opacity=70);
  opacity:0.7;
  text-decoration: none;
}
a.red:hover {
  color: #FFFFFF;
  filter:alpha(opacity=80);
  opacity:0.8;
  text-decoration: underline;
}

p.title_ol, .title_w {
	font-family: 'Sansita', sans-serif;
	font-style: italic;
}

p.title_ol {
	color: #32cd32;
}

.title_w {
	color: #FFFFFF;
	text-align: center;
	text-shadow: 2px 2px 5px rgba(0,0,0, 1), 0 0 25px #222222, 0 0 5px #333333;
}

p.title_ol, .title_w {
	font-size: 48px;
}


/*==============================
    Inventory
==============================*/

.key_form {
	text-align: right;
	margin: 20px 0px;
}
	
#key_form_in {
	border: #32cd32 1px solid;
	border-radius: 4px;
	padding: 7px;
}

.key_form .fas {
    margin: auto -30px;
}
	
.btn-page {
	margin-right:10px;
	padding: 5px 10px;
	border: #32cd32 1px solid;
	background:#FFF;
	border-radius:4px;
	cursor:pointer;
}

.btn-page:hover {
	background:#32cd32;
	color:#FFF;
}

.btn-page.current {
	background: #dbffed; /* #ffdbdb */
	color: #32cd32;
}

.card-inv {
	width: 14.375rem; /* 230px*/
	margin-bottom: 40px;
}


/*==============================*/


.col-c, .col-2foot-l, .col-2foot-r, .col-12one {
  position: relative;
  min-height: 1px;
  width: 100%;
}


/*==============================
    Footer
==============================*/

.col-2foot-l, .col-2foot-r {
	font-family: 'Julius Sans One', sans-serif;
	font-size: 12px;
	text-align: center;
	color: #FFFFFF;
	padding: 20px 20px 20px 20px;
}


/*==============================
    CENTERING A DIV IN A PAGE
==============================*/

.content-in-1, .content-in-2 {
	margin: 0 auto;
}


/*==============================
    Contact Info Contents
==============================*/

.col-c {
	background: rgba(0, 0, 0, 0.75);
	border-radius: 10px;
	padding: 20px 20px 20px 20px;
	
	/*margin: 30px 15px 30px 15px;*/
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: center;
	color: #FFFFFF;
}
.adjust-top-c {
	margin-top: 0 !important;
}

h1.title-center {
	font-family: 'Julius Sans One', sans-serif;
	font-size: 22px;
	text-align: center;
	color: #32cd32;
	letter-spacing: 1px;
	font-weight: bold;
}

.content-in-1 {
	max-width: 300px;
}
.content-in-2 {
	max-width: 300px;
}

@media (min-width: 768px) {
	.col-c {
    -ms-flex: 0 0 45%;
        flex: 0 0 45%;
    	max-width: 45%;
	}
	.adjust-top-c {
		margin-top: 30px !important;
	}
}

/*==============================*/


@media (min-width: 690px) {
	.adjust-top {
		position: relative;
		margin-top: -225px !important;
	}
	
	.top-bar {
		background-color: rgba(0, 0, 0, 0.7) !important;
	}
	
	.adjust-l-c, .adjust-r-c {
		margin-left: 20px !important;
		margin-right: 20px !important;
	}
	
	.col-2top-r {
		-ms-flex: 0 0 35%;
			 flex: 0 0 35%;
		max-width: 35%;
		left: 0 !important;
		text-align: right;
		padding-right: 20px !important;
		padding-top: 0 !important;
  }
  .col-2top-l {
		-ms-flex: 0 0 65%;
			 flex: 0 0 65%;
		max-width: 65%;
		left: 0 !important;
		text-align: left;
		padding-left: 20px;
	}
}


@media (min-width: 768px) {
	.adjust-l-c {
		margin-left: 15px !important;
		margin-right: 15px !important;
	}
	.adjust-r-c {
		margin-left: 15px !important;
	}
  
  .col-12one {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%;
    padding: 20px 0 20px 0;
  }
}


@media (min-width: 992px) {
	.adjust-top {
		position: relative;
		margin-top: -125px !important;
	}
	
	.col-2foot-l, .col-2foot-r {
		-ms-flex: 0 0 50%;
			 flex: 0 0 50%;
		max-width: 50%;
	}
	.col-2foot-l {
		text-align: left;
	}
	.col-2foot-r {
		text-align: right;
	}
}



/*==============================
    PARLX Responsive Tiny Parallax Background 2 of 3
==============================*/

.Bg {
  z-index: 1000;
  color: #ffffff;
}

.parallax {
  z-index: 10;
  position: relative;
  height: 430px;
  width:100%;
  /*height:100vh;*/
  overflow: hidden;
}

.parallax {
  text-align: center;
  align-items: center;
  justify-content: center;
  display: flex;
  min-height: 200px;
}

.bgimg {
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
}



/*==============================
    SPAM Honey-Pot 2 of 3
==============================*/
/* https://elasticemail.com/blog/marketing_tips/how-to-prevent-bots-from-spamming-your-sign-up-forms/ */
.dispnon {
	display: none
}
