/*!
 * Start Bootstrap - Modern Business (http://startbootstrap.com/)
 * Copyright 2013-2016 Start Bootstrap
 * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
 */

/* Global Styles */

html,
body {
}

body {
	background-color: #FFF;
	font-family: "Noto Sans Japanese", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #009040;
    font-weight: 400;
	letter-spacing: 1px;
    overflow-x: hidden!important;
    -webkit-font-smoothing: antialiased;
	padding-top: 50px;
	padding-right: 30px;
	padding-bottom: 50px;
	padding-left: 30px;
}
.wrapper {
	background: #F5F5F5;
}
@media (max-width: 499px){
	body {
		padding-right: 20px;
		padding-bottom: 20px;
		padding-left: 20px;
	}
}


/* Loader
 * --------------------------------------- */
div#preloader {
	overflow: hidden;
	background-color: #F5F5F5;
	background-repeat: no-repeat;
	background-position: center center;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999999;
}
.spinner {
  width: 40px;
  height: 40px;
  background-color: #009040;
  margin: 25% auto 0;
  -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
  animation: sk-rotateplane 1.2s infinite ease-in-out;
}
@-webkit-keyframes sk-rotateplane {
  0% { -webkit-transform: perspective(120px) }
  50% { -webkit-transform: perspective(120px) rotateY(180deg) }
  100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}
@keyframes sk-rotateplane {
  0% { 
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) 
  } 50% { 
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) 
  } 100% { 
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}
@media (max-width: 1200px){
	.spinner {
		margin: 35% auto 0;
	}
}
@media (max-width: 990px){
	.spinner {
		margin: 60% auto 0;
	}
}
@media (max-width: 749px){
	.spinner {
		margin: 25% auto 0;
	}
}
@media (max-width: 499px){
	.spinner {
		margin: 80% auto 0;
	}
}


/* Container
 * --------------------------------------- */
.container-100p {
	width: 100%;
    padding-right: 0px;
    padding-left: 0px;
    margin-right: auto;
    margin-left: auto;
}
.container-100p50 {
	width: 100%;
    padding-right: 50px;
    padding-left: 50px;
    margin-right: auto;
    margin-left: auto;
}
@media (max-width: 990px){
	.container-100p50 {
		padding-right: 30px;
		padding-left: 30px;
	}
}
@media (max-width: 499px){
	.container-100p50 {
		padding-right: 20px;
		padding-left: 20px;
	}
}


/* Cpmmon
 * --------------------------------------- */
a {
    color: #94CEEA;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    -webkit-transition: 0.2s ease-in-out;
    -ms-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    letter-spacing: 0.03rem;
    font-weight: 400;
    outline: 0 !important;
}
a:hover, 
a:active, 
a:focus {
    color: #009FD5;
    text-decoration: none;
}
a[href^="tel:"] { 
	cursor: default;
}
img {
    height: auto;
    max-width: 100%;
}
img.img-responsive {
    height: auto;
    max-width: 100%;
}
.img-portfolio {
    margin-bottom: 30px;
}
.img-hover:hover {
    opacity: 0.8;
}
ul, menu, dir {
    display: block;
    list-style-type: none;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0px;
}


/* Home Page Carousel
 * --------------------------------------- */
.flex-control-nav {
	display: none;
}
.flex-direction-nav {
	display: none;
}


/* 404 Page Styles
 * --------------------------------------- */
.error-404 {
    font-size: 100px;
}

/* Responsive Styles */
@media(max-width:991px) {
    .customer-img,
    .img-related {
        margin-bottom: 30px;
    }
}
@media(max-width:767px) {
    .img-portfolio {
        margin-bottom: 15px;
    }
    header.carousel .carousel {
        height: 70%;
    }
}


/* Row
 * --------------------------------------- */
.row.margin5 {
    margin-right: 5px;
    margin-left: 5px;
}
.row.margin10 {
    margin-right: 10px;
    margin-left: 10px;
}
.row.margin15 {
    margin-right: 15px;
    margin-left: 15px;
}
.row.no-margin {
    display: block;
    margin-right: 0px;
    margin-left: 0px;
}
.row.no-margin-h600 {
    display: block;
	height: 100vh;
    margin-right: 0px;
    margin-left: 0px;
}
.no-padding {
    padding-right: 0px;
    padding-left: 0px;
}

.padding-rl5 {
    padding-right: 5px;
    padding-left: 5px;
}

.margin-b10 {
	margin-bottom: 10px;
}

.width-100 {
    width: 100%!important;
}

.row:before, 
.row:after { 
	width: 0;
}

@media (max-width: 1200px){
	.row.no-margin-h600 {
		height: 120vh;
	}
}
@media (max-width: 990px){
	.row.no-margin-h600 {
		height: 75vh;
	}
}
@media (max-width: 749px){
	.row.no-margin-h600 {
		height: 200vh;
	}
}
@media (max-width: 499px){
	.row.no-margin-h600 {
		height: 62vh;
	}
}


/* NavBar
 * --------------------------------------- */
.navbar {
	background-color: #FFF;
    border-bottom: none;
}
.navbar-inverse {
	background-color: #FFF;
}
.navbar-brand {
    float: left;
    height: 50px;
    padding: 10px 0;
	background-color: #FFF;
}
.navbar-brand span.mark {
	display: inline-block;
    padding: 0;
	background-color: #FFF !important;
}
.navbar-brand span.text {
	display: inline-block;
    font-size: 20px;
	font-weight: 600;
	font-family: "Noto Sans Japanese", sans-serif;
	letter-spacing: 6px;
    line-height: 1.0;
	color: #009040;
	margin-top: -10px;
}
@media (max-width: 359px){
	.navbar-brand {
		letter-spacing: 4px;
		padding: 12px 10px;
	}
	.navbar-brand span {
		letter-spacing: 0px;
	}
}
.navbar-inverse .navbar-brand {
	color: #009040;
}
.navbar-inverse .navbar-brand:focus, 
.navbar-inverse .navbar-brand:hover {
    color: #009FD5;
    background-color: transparent;
}
.navbar .navbar-nav .nav-link {
    opacity: 1;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0px;
    line-height: 1.0;
    color: #009040 !important;
    padding: 18px 20px 15px;
    text-transform: uppercase;
    transition: all .3s ease;
    z-index: 9999;
    overflow: hidden;
    text-align: left;
    -webkit-transition: color .25s;
    transition: color .25s;
}
@media (max-width: 990px){
	.navbar-right {
		margin-right: 0px;
	}
	.navbar .navbar-nav .nav-link {
		font-size: 13px;
		padding: 18px 6px 15px;
	}
}
.navbar .navbar-nav .nav-link:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-top: 2px solid #009FD5;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transition: all .25s;
    transition: all .25s;
}
.navbar .navbar-nav .nav-link:hover:before, 
.navbar .navbar-nav .nav-link:active:before {
    -webkit-transform: scale(1);
    transform: scale(1);
}
.navbar .navbar-nav .nav-link:hover {
    color: #009FD5 !important;
    background-color: transparent;
}
.navbar-inverse .navbar-nav>.open>a.nav-link, 
.navbar-inverse .navbar-nav>.open>a.nav-link:focus, 
.navbar-inverse .navbar-nav>.open>a.nav-link:hover {
    color: #009FD5;
    background-color: #FFF;
}
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 10px 0;
    margin: 0px 0 0;
    text-align: left;
    list-style: none;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #ccc;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 0px;
    -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
}
@media (min-width: 768px) {
	.navbar-right .dropdown-menu {
		right: auto;
		left: 0;
	}
}
.dropdown-menu>li>a {
    display: block;
    padding: 10px 20px;
    clear: both;
    font-size: 14px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
	letter-spacing: 0px;
    line-height: 1.0;
    color: #009040;
    white-space: nowrap;
}
.dropdown-menu>li>a:focus, 
.dropdown-menu>li>a:hover {
    color: #009FD5;
    text-decoration: none;
    background-color: #f5f5f5;
}


.navbar-inverse .navbar-toggle .icon-bar {
    background-color: #333;
}
.navbar-inverse .navbar-toggle:focus, 
.navbar-inverse .navbar-toggle:hover {
    background-color: #CCC;
}


.navbar-toggle {
    margin-right: 0px;
}
.navbar-inverse .navbar-toggle {
    border-color: #009040;
}
.navbar-inverse .navbar-toggle .icon-bar {
    background-color: #009040;
}

@media (max-width: 499px){
	.navbar-brand span.mark {
		width: 220px;
		padding-top: 4px;
	}
}
@media (max-width: 359px){
	.navbar-brand span.mark {
		width: 200px;
		padding-top: 3px;
	}
}

 
/* Hero
 * --------------------------------------- */
#hero {
	position: relative;
}
#hero::after {
	content: "OSAKA CHUO";
	position: absolute;
	top: 40px;
	right: 60px;
    font-size: 160px;
    font-weight: 900;
	font-style: italic;
	font-family: 'Roboto', sans-serif;
    line-height: 1.0;
    letter-spacing: 0px;
	text-align: right;
	color: rgba(226, 226, 226, 0.5);
    margin: 0;
    padding: 0;
	z-index: 9;
}
/* Hero Text
 * --------------------------------------- */
.txt-wrap {
	position: relative;
}
.txt-wrap .main-copy-t {
	display: block;
    font-size: 30px;
    font-weight: 600;
    color: #009040;
    line-height: 2.5;
    letter-spacing: 20px;
    margin: 80% 0 0 15%;
    padding: 0;
}

@media (max-width: 1680px){
	#hero::after {
		top: 40px;
		right: 40px;
		font-size: 120px;
	}
	.txt-wrap .main-copy-t {
		font-size: 24px;
	}
}
@media (max-width: 1480px){
	#hero::after {
		top: 20px;
		right: 20px;
		font-size: 100px;
	}
	.txt-wrap .main-copy-t {
		font-size: 24px;
		letter-spacing: 10px;
		line-height: 2.0;
	}
}
@media (max-width: 1200px){
	#hero::after {
	}
	.txt-wrap .main-copy-t {
		margin: 150px 0 90px 25px;
	}
}
@media (max-width: 990px){
	#hero::after {
		top: 10px;
		right: 10px;
		font-size: 84px;
	}
}
@media (max-width: 749px){
	#hero::after {
		font-size: 72px;
	}
	.txt-wrap .main-copy-t {
		margin: 120px 0 60px 25px;
		font-size: 20px;
		letter-spacing: 8px;
		line-height: 1.8;
	}
}
@media (max-width: 499px){
	#hero::after {
		font-size: 44px;
	}
	.txt-wrap .main-copy-t {
		margin: 80px 0 60px 25px;
	}
}
@media (max-width: 359px){
	#hero::after {
		font-size: 36px;
	}
}


/* About
 * --------------------------------------- */
#about {
	position: relative;
}
#about::before {
	content: "ABOUT";
	position: absolute;
	top: 30px;
	right: 60px;
    font-size: 160px;
    font-weight: 900;
	font-style: italic;
	font-family: 'Roboto', sans-serif;
    line-height: 1.0;
    letter-spacing: 0px;
	text-align: right;
	color: #FFF;
    margin: 0;
    padding: 0;
}
#about .txt-wrap-about {
	position: relative;
	margin: 20% 20% 15%;
	padding: 5%;
	background-color: #FFF;
}
.txt-wrap-about .about-title {
	display: inline-block;
    font-size: 28px;
    font-weight: 600;
    color: #009040;
    line-height: 1.0;
    letter-spacing: 20px;
	text-align: left;
    margin: 0 0 10%;
    padding: 0 0 20px;
	border-bottom: solid 1px #009040;
}
.txt-wrap-about .about-copy {
	display: block;
    font-size: 24px;
    font-weight: 400;
    color: #009040;
    line-height: 1.5;
    letter-spacing: 10px;
    margin: 0;
    padding: 0 0 10%;
}
.txt-wrap-about .about-copy br.br {
	display: none;
}
.txt-wrap-about .about-copy-text {
	display: block;
    font-size: 18px;
    font-weight: 400;
    color: #009040;
    line-height: 2.0;
    letter-spacing: 1px;
    margin: 0;
    padding: 0;
}

@media (max-width: 1680px){
	#about::before {
		top: 20px;
		right: 40px;
		font-size: 120px;
	}
	#about .txt-wrap-about {
		margin: 18% 14% 12%;
		padding: 5%;
	}
	.txt-wrap-about .about-title {
		font-size: 24px;
		letter-spacing: 20px;
		margin: 0 0 8%;
		padding: 0 0 20px;
	}
	.txt-wrap-about .about-copy {
		font-size: 20px;
		letter-spacing: 10px;
		padding: 0 0 8%;
	}
	.txt-wrap-about .about-copy-text {
		font-size: 16px;
	}
}
@media (max-width: 1480px){
	#about::before {
		top: 20px;
		right: 20px;
		font-size: 100px;
	}
	#about .txt-wrap-about {
		margin: 18% 10% 10%;
		padding: 5% 6% 8%;
	}
	.txt-wrap-about .about-title {
		font-size: 24px;
		letter-spacing: 10px;
		margin: 0 0 5%;
		padding: 0 0 20px;
	}
	.txt-wrap-about .about-copy {
		font-size: 20px;
		letter-spacing: 6px;
		padding: 0 0 5%;
	}
	.txt-wrap-about .about-copy-text {
		font-size: 15px;
	}
}
@media (max-width: 1200px){
	.swiper-wrap02 {
		display: none;
	}
	#about .txt-wrap-about {
		text-align: center;
		margin: 170px 8% 10%;
	}
	.txt-wrap-about .about-title {
		text-align: center;
		margin: 0 auto 5%;
		padding: 0 0 20px 10px;
	}
	.txt-wrap-about .about-copy {
		text-align: center;
	}
	.txt-wrap-about .about-copy-text {
		text-align: left;
	}
}
@media (max-width: 990px){
	#about::before {
		top: 10px;
		right: 10px;
		font-size: 84px;
	}
	#about .txt-wrap-about {
		margin: 120px 5% 80px;
	}
	.txt-wrap-about .about-copy {
		font-size: 18px;
		letter-spacing: 4px;
	}
}
@media (max-width: 749px){
	#about::before {
		font-size: 72px;
	}
	.txt-wrap-about .about-copy {
		font-size: 18px;
		letter-spacing: 2px;
	}
}
@media (max-width: 499px){
	#about::before {
		font-size: 44px;
	}
	#about .txt-wrap-about {
		margin: 80px 5% 40px;
	}
	.txt-wrap-about .about-title {
		font-size: 20px;
		text-align: center;
		margin: 20px auto 20px;
		padding: 0 0 20px 10px;
	}
	.txt-wrap-about .about-copy {
		font-weight: 600;
		font-size: 18px;
		letter-spacing: 1px;
		padding: 0 0 20px;
	}
	.txt-wrap-about .about-copy br.br {
		display: block;
	}
	.txt-wrap-about .about-copy-text {
		font-size: 14px;
	}
}
@media (max-width: 359px){
}


/* BackGround 01
 * --------------------------------------- */
#products-innerbg {
    position: relative;
	height: 900px;
    background: url(../images/testimonials-bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    padding: 60px 0;
}
.parallax {
    background-attachment: fixed !important;
}
@media (max-width: 1200px){
	.parallax {
		background-attachment: scroll !important;
	}
}


/* Greeting
 * --------------------------------------- */
#greeting {
	position: relative;
}
#greeting::before {
	content: "GREETINGS";
	position: absolute;
	top: 30px;
	right: 60px;
    font-size: 160px;
    font-weight: 900;
	font-style: italic;
	font-family: 'Roboto', sans-serif;
    line-height: 1.0;
    letter-spacing: 0px;
	text-align: right;
	color: #FFF;
    margin: 0;
    padding: 0;
}
#greeting .txt-wrap-greeting {
	position: relative;
	margin: 15% 20% 10%;
	padding: 5%;
	text-align: center;
	background-color: #FFF;
}
.txt-wrap-greeting .greeting-title {
	display: block;
	width: 180px;
    font-size: 28px;
    font-weight: 600;
    color: #009040;
    line-height: 1.0;
    letter-spacing: 20px;
    margin: 0 auto 10%;
    padding: 0 0 20px 20px;
	border-bottom: solid 1px #009040;
}
.txt-wrap-greeting .greeting-copy {
	display: block;
    font-size: 24px;
    font-weight: 400;
    color: #009040;
    line-height: 1.5;
    letter-spacing: 10px;
    margin: 0;
    padding: 0 0 8%;
}
.txt-wrap-greeting .greeting-copy-text {
	display: block;
    font-size: 18px;
    font-weight: 400;
    color: #009040;
    line-height: 2.0;
    letter-spacing: 1px;
	text-align: left;
    margin: 0;
    padding: 0;
}

@media (max-width: 1680px){
	#greeting::before {
		top: 40px;
		right: 40px;
		font-size: 120px;
	}
	#greeting .txt-wrap-greeting {
		margin: 15% 17% 10%;
		padding: 5%;
	}
	.txt-wrap-greeting .greeting-title {
		width: 180px;
		font-size: 24px;
		letter-spacing: 20px;
		margin: 0 auto 8%;
		padding: 0 0 20px 20px;
	}
	.txt-wrap-greeting .greeting-copy {
		font-size: 20px;
		letter-spacing: 10px;
		padding: 0 0 6%;
	}
	.txt-wrap-greeting .greeting-copy-text {
		font-size: 16px;
	}
}
@media (max-width: 1480px){
	#greeting::before {
		top: 20px;
		right: 20px;
		font-size: 100px;
	}
	#greeting .txt-wrap-greeting {
		margin: 15% 12% 10%;
		padding: 5% 7% 8%;
	}
	.txt-wrap-greeting .greeting-title {
		width: 180px;
		font-size: 24px;
		letter-spacing: 10px;
		margin: 0 auto 8%;
		padding: 0 0 20px 10px;
	}
	.txt-wrap-greeting .greeting-copy {
		font-size: 20px;
		letter-spacing: 6px;
		padding: 0 0 6%;
	}
	.txt-wrap-greeting .greeting-copy-text {
		font-size: 15px;
	}
}
@media (max-width: 1200px){
	#greeting .txt-wrap-greeting {
		margin: 170px 8% 10%;
		padding: 5% 8% 8%;
	}
}
@media (max-width: 990px){
	#greeting::before {
		top: 10px;
		right: 10px;
		font-size: 84px;
	}
	#greeting .txt-wrap-greeting {
		margin: 120px 5% 80px;
	}
	.txt-wrap-greeting .greeting-copy {
		font-size: 18px;
		letter-spacing: 4px;
	}
}
@media (max-width: 749px){
	#greeting::before {
		font-size: 72px;
	}
	.txt-wrap-greeting .greeting-copy {
		font-size: 18px;
		letter-spacing: 2px;
	}
}
@media (max-width: 499px){
	#greeting::before {
		font-size: 44px;
	}
	#greeting .txt-wrap-greeting {
		margin: 80px 5% 40px;
	}
	.txt-wrap-greeting .greeting-title {
		font-size: 20px;
		text-align: center;
		margin: 20px auto 20px;
		padding: 0 0 20px 10px;
	}
	.txt-wrap-greeting .greeting-copy {
		font-weight: 600;
		font-size: 18px;
		letter-spacing: 1px;
		padding: 0 0 20px;
	}
	.txt-wrap-greeting .greeting-copy-text {
		font-size: 14px;
	}
}
@media (max-width: 359px){
}


/* Mission
 * --------------------------------------- */
#mission {
	position: relative;
	background-color: #F0F0F0;
}
#mission::before {
	content: "MISSION";
	position: absolute;
	top: 30px;
	right: 60px;
    font-size: 160px;
    font-weight: 900;
	font-style: italic;
	font-family: 'Roboto', sans-serif;
    line-height: 1.0;
    letter-spacing: 0px;
	text-align: right;
	color: #FFF;
    margin: 0;
    padding: 0;
}
#mission .txt-wrap-mission {
	position: relative;
	margin: 15% 20% 10%;
	padding: 5%;
	text-align: center;
	background-color: #FFF;
}
.txt-wrap-mission .mission-title {
	display: block;
	width: 220px;
    font-size: 28px;
    font-weight: 600;
    color: #009040;
    line-height: 1.0;
    letter-spacing: 20px;
    margin: 0 auto 10%;
    padding: 0 0 20px 20px;
	border-bottom: solid 1px #009040;
}
.txt-wrap-mission .mission-img {
	display: block;
	width: 100%;
    padding: 0 0 30px;
}
.txt-wrap-mission .mission-copy {
	display: block;
    font-size: 30px;
    font-weight: 600;
    color: #009040;
    line-height: 1.5;
    letter-spacing: 1px;
    margin: 0;
    padding: 0 0 30px;
}
.txt-wrap-mission .mission-copy-text {
	display: block;
    font-size: 16px;
    font-weight: 400;
    color: #009040;
    line-height: 2.0;
    letter-spacing: 1px;
	text-align: left;
    margin: 0;
    padding: 0 30px;
}

@media (max-width: 1680px){
	#mission::before {
		top: 40px;
		right: 40px;
		font-size: 120px;
	}
	#mission .txt-wrap-mission {
		margin: 15% 17% 10%;
		padding: 5%;
	}
	.txt-wrap-mission .mission-title {
		width: 220px;
		font-size: 24px;
		letter-spacing: 20px;
		margin: 0 auto 10%;
		padding: 0 0 20px 20px;
	}
	.txt-wrap-mission .mission-img {
		padding: 0 0 30px;
	}
	.txt-wrap-mission .mission-copy {
		font-size: 24px;
		padding: 0 0 30px;
	}
	.txt-wrap-mission .mission-copy-text {
		font-size: 15px;
		padding: 0 10px;
	}
}
@media (max-width: 1480px){
	#mission::before {
		top: 20px;
		right: 20px;
		font-size: 100px;
	}
	#mission .txt-wrap-mission {
		margin: 15% 12% 10%;
		padding: 5% 7% 8%;
	}
	.txt-wrap-mission .mission-title {
		width: 220px;
		font-size: 24px;
		letter-spacing: 10px;
		margin: 0 auto 10%;
		padding: 0 0 20px 10px;
	}
	.txt-wrap-mission .mission-img {
		padding: 0 0 30px;
	}
	.txt-wrap-mission .mission-copy {
		font-size: 24px;
		padding: 0 0 30px;
	}
	.txt-wrap-mission .mission-copy-text {
		font-size: 14px;
		padding: 0;
	}
}
@media (max-width: 1200px){
	#mission .txt-wrap-mission {
		margin: 170px 8% 10%;
		padding: 5% 4% 8%;
	}
}
@media (max-width: 990px){
	#mission::before {
		top: 10px;
		right: 10px;
		font-size: 84px;
	}
	#mission .txt-wrap-mission {
		margin: 120px 5% 80px;
	}
	.txt-wrap-mission .mission-copy {
		font-size: 20px;
		padding: 0 0 20px;
	}
	.txt-wrap-mission .mission-copy-text {
		font-size: 13px;
		line-height: 1.6;
		letter-spacing: 0px;
	}
}
@media (max-width: 749px){
	#mission .txt-wrap-mission {
		margin: 120px 5% 40px;
	}
	.txt-wrap-mission .mission-copy-text {
		padding-bottom: 40px;
	}
}
@media (max-width: 499px){
	#mission::before {
		font-size: 44px;
	}
	#mission .txt-wrap-mission {
		margin: 80px 5% 40px;
	}
	.txt-wrap-mission .mission-title {
		font-size: 20px;
		text-align: center;
		margin: 20px auto 20px;
		padding: 0 0 20px 10px;
	}
	.txt-wrap-mission .mission-copy-text {
		padding-left: 10px;
		padding-right: 10px;
	}
}
@media (max-width: 359px){
}


/* BackGround 02
 * --------------------------------------- */
#products-innerbg02 {
    position: relative;
	height: 900px;
    background: url(../images/testimonials-bg02.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    padding: 60px 0;
}


/* Works
 * --------------------------------------- */
#works {
	position: relative;
}
#works::after {
	content: "SYSTEM";
	position: absolute;
	top: 30px;
	right: 60px;
    font-size: 160px;
    font-weight: 900;
	font-style: italic;
	font-family: 'Roboto', sans-serif;
    line-height: 1.0;
    letter-spacing: 0px;
	text-align: right;
	color: rgba(226, 226, 226, 0.5);
    margin: 0;
    padding: 0;
	z-index: 9;
}
#works .txt-wrap-works {
	position: relative;
	padding: 500px 16% 0;
}
.txt-wrap-works .works-title {
	display: inline-block;
    font-size: 28px;
    font-weight: 600;
    color: #009040;
    line-height: 1.0;
    letter-spacing: 20px;
	text-align: left;
    margin: 0 0 80px;
    padding: 0 0 20px;
	border-bottom: solid 1px #009040;
}
.txt-wrap-works .works-copy {
	display: block;
    font-size: 24px;
    font-weight: 400;
    color: #009040;
    line-height: 1.5;
    letter-spacing: 10px;
    margin: 0;
    padding: 0 0 10%;
}
.txt-wrap-works .works-copy-text {
	display: block;
    font-size: 18px;
    font-weight: 400;
    color: #009040;
    line-height: 2.0;
    letter-spacing: 1px;
    margin: 0;
    padding: 0;
}

#works .col-sm-20 {
	float: left;
	width: 20%;
    position: relative;
    min-height: 1px;
}
#works .txt-wrap-works02a {
	position: relative;
	padding: 50px 0 80px;
	text-align: center;
	background-color: #C6C6C6;
}
#works .txt-wrap-works02b {
	position: relative;
	padding: 50px 0 80px;
	text-align: center;
	background-color: #E2E2E2;
}
#works .txt-wrap-works02c {
	position: relative;
	padding: 50px 0 80px;
	text-align: center;
	background-color: #C6C6C6;
}
#works .txt-wrap-works03 {
	position: relative;
	padding: 100px 0 80px;
	text-align: center;
}
.works-number02 {
	display: block;
    font-size: 30px;
    font-weight: 900;
	font-family: 'Roboto', sans-serif;
    color: #009040;
    line-height: 1.0;
    letter-spacing: 0px;
    margin: 0;
    padding: 0 0 30px;
}
.works-title02 {
	display: block;
    font-size: 24px;
    font-weight: 600;
    color: #009040;
    line-height: 1.4;
    letter-spacing: 0px;
    margin: 0;
    padding: 0;
}
.works-title02 br.br {
	display: none;
}
.works-title03 {
	display: block;
    font-size: 28px;
    font-weight: 600;
    color: #009040;
    line-height: 1.4;
    letter-spacing: 0px;
    margin: 0;
    padding: 0;
}

@media (max-width: 1680px){
	#works::after {
		top: 40px;
		right: 40px;
		font-size: 120px;
	}
	#works .txt-wrap-works {
		padding: 400px 15% 0;
	}
	.txt-wrap-works .works-title {
		font-size: 24px;
		letter-spacing: 10px;
		margin: 0 0 60px;
		padding: 0 0 20px;
	}
	.txt-wrap-works .works-copy {
		font-size: 20px;
		letter-spacing: 10px;
		padding: 0 0 10%;
	}
	.txt-wrap-works .works-copy-text {
		font-size: 16px;
	}
	
	
	#works .txt-wrap-works02a {
		padding: 50px 0 80px;
	}
	#works .txt-wrap-works02b {
		padding: 50px 0 80px;
	}
	#works .txt-wrap-works02c {
		padding: 50px 0 80px;
	}
	#works .txt-wrap-works03 {
		padding: 100px 0 80px;
	}
	.works-number02 {
		font-size: 24px;
		padding: 0 0 30px;
	}
	.works-title02 {
		font-size: 20px;
	}
	.works-title03 {
		font-size: 28px;
	}
}
@media (max-width: 1480px){
	#works::after {
		top: 20px;
		right: 20px;
		font-size: 100px;
	}
	#works .txt-wrap-works {
		padding: 300px 12% 0;
	}
	.txt-wrap-works .works-title {
		font-size: 24px;
		letter-spacing: 8px;
		margin: 0 0 50px;
		padding: 0 0 20px;
	}
	.txt-wrap-works .works-copy-text {
		font-size: 15px;
	}

	.works-title02 {
		font-size: 18px;
	}
	.works-title03 {
		font-size: 24px;
	}
}
@media (max-width: 1200px){
	.swiper-works {
		display: none;
	}
	#works .txt-wrap-works {
		padding: 170px 15% 0;
		text-align: center;
	}
	.txt-wrap-works .works-copy-text {
		text-align: left;
	}
	.txt-wrap-works .works-copy-text br.br {
		display: none;
	}
	#works .txt-wrap-works03 {
		padding: 80px 0 50px;
	}
}
@media (max-width: 990px){
	#works::after {
		top: 10px;
		right: 10px;
		font-size: 84px;
	}
	#works .txt-wrap-works {
		padding: 150px 5% 0;
	}
	#works .col-sm-20 {
		width: 50%;
	}
	#works .txt-wrap-works02a.bg03a {
		background-color: #E2E2E2 !important;
	}
	#works .txt-wrap-works02b.bg03b {
		background-color: #C6C6C6 !important;
	}

}
@media (max-width: 499px){
	#works::after {
		font-size: 44px;
	}
	#works .txt-wrap-works {
		padding: 80px 5% 0;
	}
	.txt-wrap-works .works-title {
		font-size: 20px;
		text-align: center;
		margin: 20px auto 20px;
		padding: 0 0 20px 10px;
	}
	.txt-wrap-works .works-copy-text {
		font-size: 14px;
		text-align: left;
		padding: 0 8px;
	}
	#works .txt-wrap-works03 {
		padding: 50px 0 20px;
	}
	.works-title03 {
		font-size: 18px;
	}
	#works .txt-wrap-works02a {
		padding: 40px 0 50px;
	}
	#works .txt-wrap-works02b {
		padding: 40px 0 50px;
	}
	.works-title02 {
		font-size: 15px;
	}
	.works-title02 br.br {
		display: block;
	}
}
@media (max-width: 359px){
	.works-title02 {
		font-size: 14px;
	}
}


/* Access
 * --------------------------------------- */
#access {
	position: relative;
}
#access .txt-wrap-access::before {
	content: "ACCESS";
	position: absolute;
	top: 30px;
	right: 60px;
    font-size: 160px;
    font-weight: 900;
	font-style: italic;
	font-family: 'Roboto', sans-serif;
    line-height: 1.0;
    letter-spacing: 0px;
	text-align: right;
	color: #FFF;
    margin: 0;
    padding: 0;
}
#access .txt-wrap-access {
	position: relative;
	padding: 20% 0 0;
	text-align: center;
}
.txt-wrap-access .access-title {
	display: block;
	width: 240px;
    font-size: 30px;
    font-weight: 600;
    color: #009040;
    line-height: 1.0;
    letter-spacing: 20px;
    margin: 0 auto 100px;
    padding: 0 0 20px 20px;
	border-bottom: solid 1px #009040;
}
.txt-wrap-access .access-map-wrap {
	display: block;
	width: 100%;
	height: 600px;
    margin: 0;
    padding: 0;
}

@media (max-width: 1680px){
	#access .txt-wrap-access::before {
		top: 40px;
		right: 40px;
		font-size: 120px;
	}
	#access .txt-wrap-access {
		padding: 20% 0 0;
	}
	.txt-wrap-access .access-title {
		width: 220px;
		font-size: 24px;
		letter-spacing: 20px;
		margin: 0 auto 100px;
		padding: 0 0 20px 20px;
	}
}
@media (max-width: 1480px){
	#access .txt-wrap-access::before {
		top: 20px;
		right: 20px;
		font-size: 100px;
	}
}
@media (max-width: 1200px){
	#access .txt-wrap-access {
		padding: 220px 0 0;
	}
	.txt-wrap-access .access-title {
		margin: 0 auto 50px;
	}
}
@media (max-width: 990px){
	#access .txt-wrap-access::before {
		top: 10px;
		right: 10px;
		font-size: 84px;
	}
	#access .txt-wrap-access {
		padding: 150px 0 0;
	}
}
@media (max-width: 499px){
	#access .txt-wrap-access::before {
		font-size: 44px;
	}
	#access .txt-wrap-access {
		padding: 80px 0 0;
	}
	.txt-wrap-access .access-title {
		font-size: 20px;
		text-align: center;
		margin: 20px auto 20px;
		padding: 0 0 20px 10px;
	}
}
@media (max-width: 359px){
}


/* Footer
 * --------------------------------------- */
footer {
    padding: 100px 0 80px;
	text-align: center;
}
.footer-name {
    font-size: 24px;
    font-weight: 600;
	font-family: "Noto Sans Japanese", sans-serif;
    letter-spacing: 14px;
    line-height: 1.0;
    color: #009040;
    margin: 0;
    padding: 0 0 40px;
}
.footer-address {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.6;
    color: #009040;
    margin: 0;
    padding: 0 0 10px;
}
.footer-address br.br {
	display: none;
}
.footer-gmap {
    margin: 0;
    padding: 0 0 20px;
}
.footer-gmap a {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.0;
    color: #009040;
    margin: 0;
    padding: 0;
}
.footer-gmap a:hover {
    color: #009FD5;
    text-decoration: none;
}
.footer-tel {
    display: inline-block;
    margin: 0;
    padding: 0 0 50px;
}
.footer-tel a {
    display: inline-block;
    font-size: 22px;
    font-weight: 400;
	font-family: 'Oswald', sans-serif;
    letter-spacing: 0px;
    line-height: 1.0;
    color: #009040;
    margin: 0;
    padding: 0 20px 0 0;
}
.footer-fax {
    display: inline-block;
    font-size: 22px;
    font-weight: 400;
	font-family: 'Oswald', sans-serif;
    letter-spacing: 0px;
    line-height: 1.0;
    color: #009040;
    margin: 0;
    padding: 0 0 50px;
}
.footer-copyright {
    font-size: 14px;
    font-weight: 400;
	font-family: 'Roboto', sans-serif;
    letter-spacing: 0px;
    line-height: 1.0;
    color: #009040;
    margin: 0;
    padding: 0 0 50px;
}
.footer-banner {
	width: 320px;
    color: #009040;
    margin: 0 auto;
    padding: 0;
}
.footer-banner a img {
	max-width: 100%;
}

@media (max-width: 1480px){
	.footer-address {
		font-size: 12px;
		letter-spacing: 1px;
	}
	.footer-tel a {
		font-size: 20px;
		letter-spacing: 0px;
		padding: 0 10px 0 0;
	}
	.footer-fax {
		font-size: 20px;
		letter-spacing: 0px;
	}
}
@media (max-width: 1300px){
	footer {
		padding: 60px 0 50px;
	}
}
@media (max-width: 499px){
	footer {
		padding: 40px 15px 50px;
	}
	.footer-name {
		font-size: 20px;
		letter-spacing: 6px;
		padding: 0 0 15px;
	}
	.footer-address {
		font-size: 14px;
		letter-spacing: 0px;
	}
	.footer-address br.br {
		display: block;
	}
	.footer-tel {
		padding: 0 0 20px;
	}
	.footer-tel a {
		display: block;
		font-size: 24px;
		letter-spacing: 0px;
		padding: 0 0 0 0;
	}
	.footer-fax {
		display: block;
		font-size: 24px;
		letter-spacing: 0px;
	}
	.footer-menu {
		padding: 30px 0 0 0 !important;
	}
	.footer-menu li {
		width: 45%;
		padding: 4px 0;
	}
	.footer-menu li:after {
		content: '';
		margin-left: 6px;
		margin-right: 6px;
	}
	.footer-menu li a {
		font-size: 12px;
		letter-spacing: 0;
	}
	.footer-copyright {
		font-size: 12px;
	}
	.footer-banner {
		width: 90%;
		padding: 0 0 20px;
	}
}
@media (max-width: 359px){
	.footer-name {
		letter-spacing: 4px;
	}
	.footer-tel a {
		font-size: 24px;
	}
	.footer-fax {
		font-size: 24px;
	}
}


/* Scroll UP
 * --------------------------------------- */
.scroll-up {
    position: fixed;
    display: none;
    bottom: 50px;
    right: 30px;
    z-index: 999;
}
.scroll-up a {
    background: #fff;
    display: block;
    height: 40px;
    width: 40px;
    text-align: center;
    line-height: 40px;
    font-size: 14px;
    color: #009040;
    opacity: 0.6;
    border: solid 1px #009040;
}
.scroll-up a:hover, .scroll-up a:active {
    opacity: 1;
    color: #009FD5;
    border: solid 1px #009FD5;
}
@media (max-width: 1300px){
	.scroll-up {
		bottom: 50px;
		right: 30px;
	}
}
@media (max-width: 499px){
	.scroll-up {
		bottom: 20px;
		right: 20px;
	}
}

/*!------------------------------------------------------------------
[Button Contact]
*/

.button-contact-wrap {
	margin: 50px auto 0;
}

.button-contact {
	position: relative;
	display: inline-block;
	width: 260px;
    font-size: 1.4rem;
    font-weight: 500;
	text-align: center;
	text-decoration: none;
	outline: none;
	line-height: 1.0;
    letter-spacing: 1px;
    color: #c90926;
	margin: 0 auto;
	padding: 14px 0;
	background-color: transparent;
	border: solid 2px #c90926;
	border-radius: 30px;
	overflow: hidden;
	z-index: 2;
}

.button-contact::before,
.button-contact::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

.button-contact,
.button-contact::before,
.button-contact::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button-contact:hover {
	color: #FFF;
	border-color: #c90926;
}
.button-contact:active {
	color: #c90926;
}
.button-contact:focus {
	color: #c90926;
}

.button-contact::after {
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
}

.button-contact:hover::after {
	left: 0;
	background-color: #c90926;
}

@media (max-width: 760px){
	.button-contact-wrap {
		margin: 20px auto 0;
	}
}
@media (max-width: 499px){
	.button-contact-wrap {
		margin: 10px auto 0;
	}
	.button-contact {
		display: block;
		width: 100%;
	}
}


