* {
    box-sizing: border-box;
}

html, body
{
	height: 100%;
}

body
{
	margin: 0px;
	padding: 0px;
	background: #181818;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12pt;
	font-weight: 400;
	color: #FFF;
}

h1, h2, h3
{
	margin: 0;
	padding: 0;
}

p, ol, ul
{
	margin-top: 0;
}

ol, ul
{
	padding: 0;
	list-style: none;
}

p
{
	line-height: 180%;
}

strong
{
}

a
{
	color: #ee0000;
}

a:hover
{
	text-decoration: none;
}

.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}


[class*="col-"] {
    float: left;
}

.row::after {
    content: "";
    clear: both;
    display: table;
}

@media only screen and (max-width: 1150px) {
	/* For mobile phones: */
	[class*="col-"] {
		width: 100%;
	}
}

/*********************************************************************************/
/* Image Style                                                                   */
/*********************************************************************************/

.image
{
	display: inline-block;
}

.image img
{
	display: block;
	width: 100%;
}

.image-full
{
	display: block;
	width: 100%;
	margin: 0 0 2em 0;
}

.image-left
{
	float: left;
	margin: 0 2em 2em 0;
}

.image-centered
{
	display: block;
	margin: 0 0 2em 0;
}

.image-centered img
{
	margin: 0 auto;
	width: auto;
}

/*********************************************************************************/
/* List Styles                                                                   */
/*********************************************************************************/

ul.style1
{
}

ul.actions
{
}

ul.actions li
{
	display: inline-block;
	padding: 0em 0.50em;
}

/*********************************************************************************/
/* Social Icon Styles                                                            */
/*********************************************************************************/

ul.contact
{
	margin: 0;
	padding: 2em 0em 0em 0em;
	list-style: none;
}

ul.contact li
{
	display: inline-block;
	padding: 0em 0.30em;
	font-size: 1em;
}

ul.contact li span
{
	display: none;
	margin: 0;
	padding: 0;
}

ul.contact li a
{
	color: #FFF;
}

ul.contact li a:before
{
	display: inline-block;
	background: #3f3f3f;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 20px;
	text-align: center;
	color: #FFFFFF;
}

ul.contact li a.icon-twitter:before { background: #2DAAE4; }
ul.contact li a.icon-facebook:before { background: #39599F; }
ul.contact li a.icon-dribbble:before { background: #C4376B;	}
ul.contact li a.icon-tumblr:before { background: #31516A; }
ul.contact li a.icon-rss:before { background: #F2600B; }

/*********************************************************************************/
/* Button Style                                                                  */
/*********************************************************************************/

.button
{
	display: inline-block;
	padding: 1em 2em 1em 2em;
	letter-spacing: 0.10em;
	margin-top: 2em;
	padding: 1.40em 3em;
	background: #2651a8;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 700;
	font-size: 1em;
	color: #FFF;
}

.button-alt
{
	padding: 1em 2em;
	border-color: rgba(0,0,0,.8);
	color: #FFF;
	margin-bottom: 2em;

}
    
/*********************************************************************************/
/* Heading Titles                                                                */
/*********************************************************************************/
 
.title
{
	margin-bottom: 3em;
}

.title h2
{
	font-size: 2.7em;
	font-weight: 700;
}

.title .byline
{
	font-size: 1.3em;
	text-align: center;
	color: rgba(255,255,255,0.60);
}

/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/

#header-wrapper
{
	position: relative;
	padding: 5em 0em 7em 0em;
	background: #111111 url(../images/header-bg.jpg) no-repeat center;
	background-size: cover;
}

#header
{
	position: relative;
	padding: 5em 0em;
}

@media only screen and (max-width: 600px) {

	#header
	{
		position: relative;
		padding: 0em 0em;
	}

}

/*********************************************************************************/
/* Logo                                                                          */
/*********************************************************************************/

#logo
{
	position: absolute;
	top: 3.6em;
	left: 0;
	margin-left: 8%;
}

#logo h1
{
	font-size: 2.6em;
	color: #79C255;
	font-weight: 700;
	font-family: 'Josefin Sans', sans-serif;

}

#logo a
{
	text-decoration: none;
	color: rgba(255,255,255,1);
}

@media only screen and (max-width: 1150px) {
	/* For mobile phones: */
	#logo {
		position: static;
		margin: 0 auto;
		text-align: center;
	}

	#logo h1
	{
		font-size: 2.6em;
		color: #79C255;
	}
}

/*********************************************************************************/
/* Menu                                                                          */
/*********************************************************************************/

#menu
{
	position: absolute;
	top: 4.3em;
	right: 0;
	margin-right: 8%;
}

@media only screen and (max-width: 1150px) {
	/* For mobile phones: */
	#menu {
		position: static;
		margin: 1em auto;
		text-align: center;
	}
}

@media only screen and (max-width: 600px) {
	/* For mobile phones: */
	#menu {
		position: static;
		margin: 1em auto;
		text-align: center;
	}
}

#menu .topnav {
	overflow: hidden;
	text-align: right;
  }
  
#menu .topnav a {
	display: inline-block;
	color: rgba(255,255,255,0.80);
	text-align: center;
	text-decoration: none;
	font-size: 0.9em;
	text-transform: uppercase;
	padding: 0.65em 1.5em;
	margin: 0 0.25em;
	letter-spacing: 1px;
	border-radius: 6px;	
}
  
#menu .topnav a:hover {
	background-color: #ddd;
	color: black;
  }
  
#menu .topnav a.active {
	background: #2651a8;
	color: rgba(255,255,255,1);
  }
  
#menu .topnav .icon {
	display: none;
  }

  @media screen and (max-width: 1150px) {
	#menu .topnav {
		overflow: hidden;
		text-align: center;
	  }

	#menu .topnav a {
		float: none;
	}
  }

  @media screen and (max-width: 600px) {
	#menu .topnav a {
		float: none;
		display: block;
	}
  }

/*********************************************************************************/
/* Banner                                                                        */
/*********************************************************************************/

#banner
{
	padding: 10em 8% 0 8%;
	text-align: center;
}

#banner .title h2
{
	font-size: 4em;
	font-weight: 700;
}

#banner .title .byline
{
	font-size: 2em;
}

#banner .button
{
	margin-top: 2em;
	padding: 1.40em 3em;
	border-radius: 6px;
	font-weight: 400;
	font-size: 1em;
	
}

@media screen and (max-width: 1150px) {
	#banner
	{
		padding-top: 1em;
		margin-bottom: 0em;
	}

	#banner .title h2
	{
		font-size: 3.5em;
	}

	#banner .title .byline
	{
		padding-top: 2.5em;
		font-size: 1.6em;
	}

}

@media screen and (max-width: 600px) {
	#banner
	{
		padding-top: 1em;
		margin-bottom: 0em;
	}

	#banner .title h2
	{
		font-size: 3em;
	}

	#banner .title .byline
	{
		padding-top: 2.5em;
		font-size: 1.4em;
	}

}

/*********************************************************************************/
/* Services                                                                         */
/*********************************************************************************/

#services-wrapper
{
	position: relative;
	padding: 5em 0em 7em 0em;
	background: #FFF;
}

#services
{
	text-align: center;
	color: rgba(0,0,0,0.6);
	padding: 0em 5em;
}

@media screen and (max-width: 600px) {
	#services {
		padding: 0em 2em;
	}
}

#services .title h2
{
	font-size: 2.7em;
	font-weight: 700;
	color: rgba(0,0,0,0.8);

}

#services .title .byline
{
	font-size: 1.3em;
	text-align: center;
	color: rgba(0,0,0,.5);
}

#services .serviceBox {
	padding: 0 0.5em;
}

#services .serviceBox h2 {
	margin-bottom: 1.5em;
}

@media screen and (max-width: 600px) {
	#services .serviceBox {
		padding-top: 0em;
	}

	#services .serviceBox p {
		margin: 0;
	}
}

/*********************************************************************************/
/* Welcome                                                                       */
/*********************************************************************************/

#welcome
{
	position: relative;
	padding: 7em 5em 7em 5em;
	background: #2651a8;
	background-size: cover;
	text-align: center;
}

@media screen and (max-width: 600px) {
	#welcome
	{
		padding: 7em 2em 7em 2em;
	}
}

#welcome .title
{
	color: rgba(255,255,255,0.8);
}

#welcome p {
	color: rgba(255,255,255,0.8);
}

#welcome a
{
	color: rgba(255,255,255,1);
}

#welcome .button
{
	background: #FFF;
	color: #2651a8;
}



/*********************************************************************************/
/* Copyright                                                                     */
/*********************************************************************************/

#copyright
{
	overflow: hidden;
	padding: 5em 5em;
	border-top: 1px solid rgba(0,0,0,0.08);
}

@media screen and (max-width: 600px) {
	#copyright
	{
		padding: 5em 2em;
	}
}

#copyright p
{
	text-align: center;
	font-size: 1em;
	color: rgba(255,255,255,0.3);
}

#copyright a
{
	text-decoration: none;
	color: rgba(255,255,255,0.6);
}

