@charset "utf-8";
/* CSS Document */


/* ==========================================================================
Common
========================================================================== */
html, body { width:100%; height: 100%; }
body {
  	margin: 0;
  	padding: 0;
	background:url(../image/main_back.jpg) #333;
	background-attachment:fixed;
	background-size:cover;
	position:relative;
	}
ul,li{
	margin:0; padding:0;
	}
.sec01{
	background-color:#FFF;
	position:relative;
	z-index:999;
	padding:60px 0;
	}
/* ==========================================================================
anime
========================================================================== */
.wait08{
	-webkit-animation-duration:0.8s;
  	animation-delay:0.8s;
	}
	
/* ==========================================================================
title
========================================================================== */
.h4_title{
	font-family: 'Oswald', sans-serif;
	font-weight:700;
	font-size:38px;
	margin-bottom:10px;
	color:#036EB8;
	}
.topcat{
	font-family: 'Oswald', sans-serif;
	font-size:25px;
	margin-bottom:10px;
	text-align:center;
	color:#CCC;
	}
	
/* ==========================================================================
Header
========================================================================== */
video {display:block;}
 
#bg-video {
	position:fixed;
	right:0;
	bottom:0;
	min-width:100%;
	min-height:100%;
	width:auto;
	height:auto;
	z-index:-1;
	}
	
.cover { position: relative; width: 100%; margin: 0; padding: 0; color: #fff;}

.centerBox { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: 100%; height: 150px; text-align: center; }
.centerBox h2 {
	font-family: 'Oswald', sans-serif;
	font-weight:700;
	font-size:72px;
	text-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	}
.centerBox h3{
	font-size:20px;
	text-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	}

.scroll_head{
	position: absolute; 
	top: 0; 
	bottom: 0; 
	left: 0; 
	right: 0; 
	margin: auto auto 10px auto ; 
	width: 100px; 
	height: 60px; 
	text-align: center;
	line-height:1em;
	}
.scroll_head a{
	color:#FFF;
	font-size:36px;
	}


.header_contents { height: 100%;}

.copyright{
	position:absolute;
	bottom:10px;
	right:10px;
	color:#FFF;
	font-size:10px;
	}

.header_in{
	padding-top:20px;
	position:relative;
	}
.header_logo{
	width:160px;
	float:left;
	}
.header_logo img{
	width:100%;
	height:auto;
	}

.header_nav{
	width:900px;
	float:right;
	}	


nav a {
	position: relative;
	display: inline-block;
	margin: 15px 15px;
	outline: none;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 400;
	text-shadow: 0 0 1px rgba(255,255,255,0.3);
	font-size: 1.35em;
}

nav a:hover,
nav a:focus {
	outline: none;
}

.header_nav{
	text-align:right;
	}
.header_nav a {
	margin: 0 10px;
	color:#FFF;
	text-align:center;
	text-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	padding: 10px 10px;
}

.header_nav a::before,
.header_nav a::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff;
	content: '';
	opacity: 1.0;
	-webkit-transition: opacity 0.3s, height 0.3s;
	-moz-transition: opacity 0.3s, height 0.3s;
	transition: opacity 0.3s, height 0.3s;
}

.header_nav a::after {
	top: 100%;
	opacity: 0;
	-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
	-moz-transition: -moz-transform 0.3s, opacity 0.3s;
	transition: transform 0.3s, opacity 0.3s;
	-webkit-transform: translateY(-10px);
	-moz-transform: translateY(-10px);
	transform: translateY(-10px);
}

.header_nav a span:first-child {
	z-index: 2;
	display: block;
	font-family: 'Oswald', sans-serif;
	font-weight:700;
}

.header_nav a span:last-child {
	z-index: 1;
	display: block;
	padding: 8px 0 0 0;
	text-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	text-transform: none;
	font-size: 13px;
	opacity: 0;
	-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
	-moz-transition: -moz-transform 0.3s, opacity 0.3s;
	transition: transform 0.3s, opacity 0.3s;
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	transform: translateY(-100%);
}

.header_nav a:hover::before,
.header_nav a:focus::before {
	height: 6px;
}

.header_nav a:hover::before,
.header_nav a:hover::after,
.header_nav a:focus::before,
.header_nav a:focus::after {
	opacity: 1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	transform: translateY(0px);
}

.header_nav a:hover span:last-child,
.header_nav a:focus span:last-child {
	opacity: 1;
	-webkit-transform: translateY(0%);
	-moz-transform: translateY(0%);
	transform: translateY(0%);
}

.top_catch{
	text-align:center;
	}
	
/* ==========================================================================
top_service
========================================================================== */
#top_service{
	background:url(../image/top/service_back.jpg) center center no-repeat;
	position:relative;
	z-index:999;
	padding:60px 0;
	color:#FFF;
	}
#top_service h2{
	font-size:24px;
	font-family: 'Noto Sans Japanese', serif;
	font-weight:700;
	margin-bottom:10px;
	}
#top_service p{
	width:50%;
	}

.button {
	display: inline-block;
	width: 180px;
	height: 50px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button i{
	font-size:16px;
	}

a.btn1 {
	position: relative;
	z-index: 2;
	border: 1px solid #FFF;
	color: #FFF;
	line-height: 50px;
	overflow: hidden;
	margin-top:30px;
}
.btn1:hover {
	color: #333;
}
.btn1::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.btn1:hover::after {
	-webkit-transform: scale(2) rotate(180deg);
	transform: scale(2) rotate(180deg);
	background: #FFF;
}

a.btn2 {
	position: relative;
	z-index: 2;
	border: 1px solid #333;
	color: #333;
	line-height: 50px;
	overflow: hidden;
	margin-top:30px;
}
.btn2:hover {
	color: #FFF;
	border: 1px solid #036EB8;
}
.btn2::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.btn2:hover::after {
	-webkit-transform: scale(2) rotate(180deg);
	transform: scale(2) rotate(180deg);
	background: #036EB8;
}


.top_service{
	margin-top:50px;
	text-align:center;
	}
.top_service a{
	color:#333;
	}
.top_service h5{
	font-size:18px;
	font-weight:bold;
	}
.top_service h6{
	font-size:13px;
	color:#036EB8;
	}
.top_service .icon_wrap{
	width:140px;
	height:140px;
	margin:8px auto 8px auto;
	}
.top_service .icon_img{
	width:70%;
	height:auto;
	padding:10px;
	margin:8px auto 8px auto;
	border:1px solid #CCC;
	border-radius: 5px;        /* CSS3草案 */  
    -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px;   /* Firefox用 */ 
	}
.top_service .icon_img img{
	width:100%;
	height:auto;
	}
.top_service .icon{
	display:table-cell;
	vertical-align:middle;
	font-size:80px;
	line-height:1em;
	width:140px;
	height:140px;
	color:#036EB8;
	background-color:#EEE;
	border-radius: 100px;        /* CSS3草案 */  
    -webkit-border-radius: 100px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 100px;   /* Firefox用 */  
	}
.top_service .icon img{
	width:80px;
	height:80px;
	}
.top_service p{
	font-size:12px;
	line-height:1.7em;
	}


/* ==========================================================================
Screenshots
========================================================================== */
.container-fluid{
	margin:20px 0 0 0;
	}
.screenshots{
	background-color:#FFF;
	position:relative;
	z-index:999;
	padding:60px 0 0 0;
	}
.screenshots ul {
    margin: 0;
    padding: 0;
    width: 100%;
}
.screenshots ul li {
    float: left;
    min-height: 100%;
    width: 25%;
    background-color: #000;
    list-style: none;
}
.screenshots figure {
    position: relative;
    overflow: hidden;
}
.screenshots figure img {
    width: 100%;
    height: 100%;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.screenshots figure:hover img, .screenshots figure:focus img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
.screenshots figcaption {
    position: absolute;
    top: 0;
    left: 0;
	right:0;
	bottom:0;
    margin:auto;
    width: 100%;
	height:100%;
    background-color: rgba(3, 110, 184, 0.70);
    text-align: center;
    font-size: 15px;
    opacity: 0;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.screenshots a {
    color: #FFF;
}
.screenshots a:hover img{
	opacity:1;
	filter:alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}
.screenshots figcaption a:hover, .screenshots figcaption a:focus {
    color: #FFF
}
.screenshots figure:hover figcaption, .screenshots figure:focus figcaption {
    opacity: 1
}
.visible {
    opacity: 1
}
.screenshots figure.cs-hover figcaption {
    opacity: 1
}
.screenshots figcaption i {
    font-size: 35px
}
.screenshots figcaption p {
    margin-bottom: 0;
    text-transform: uppercase;
    font-weight: 400;
}
.screenshots figcaption .caption-content {
    position: absolute;
    top: 0;
    left: 0;
	right:0;
	bottom:0;
    margin:auto;
    width: 100%;
	height:60px;
    -webkit-transform: translate(0px, 15px);
    -ms-transform: translate(0px, 15px);
    transform: translate(0px, 15px);
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.screenshots figure:hover figcaption .caption-content, .screenshots figure:focus figcaption .caption-content {
    -webkit-transform: translate(0px, 0px);
    -ms-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
}

/* ==========================================================================
top_news
========================================================================== */
#top_news{
	background:url(../image/top/news_back.jpg) center center no-repeat;
	position:relative;
	z-index:999;
	padding:60px 0;
	color:#FFF;
	}
.top_news {
	margin-top:30px;
	}
.top_news dt{
	width:13%;
	margin-right:2%;
	float:left;
	color:#333;
	text-align:center;
	background-color:#FFF;
	margin-bottom:8px;
	}
.top_news dd{
	float:left;
	width:85%;
	margin-bottom:20px;
	padding-bottom:5px;
	}


/* ==========================================================================
top_contact
========================================================================== */
#top_contact{
	background:url(../image/top/contact_back.jpg) center center no-repeat;
	position:relative;
	z-index:999;
	padding:60px 0;
	color:#FFF;
	}
.top_tel{
	text-align:center;
	font-size:48px;
	font-weight:700;
	line-height:14px;
	}
.top_tel i{
	margin-top:20px;
	margin-right:10px;
	}
.top_tel_cap{
	font-size:14px;
	font-weight:normal;
	}

/* ==========================================================================
footer
========================================================================== */

footer{
	background-color:#FFF;
	position:relative;
	z-index:999;
	padding:0;
	}
.footer_nav{
	text-align:center;
	padding:30px 0;
	}
.footer_nav li{
	display:inline-block;
	font-size:14px;
	margin:0 20px;
	}
.footer_nav li a{
	color:#333;
	}
.footer_nav li a:hover{
	color:#999;
	}

.footer_content{
	background-color:#EEE;
	padding:40px 0;
	}
.foot_logo{
	width:10%;
	margin:0 5% 0 0;
	float:left;
	}
.foot_logo img{
	width:100%;
	height:auto;
	}
.foot_address{
	width:60%;
	float:left;
	}
.foot_sns{
	width:20%;
	float:right;
	text-align:right;
	font-size:36px;
	}
.foot_sns i{
	margin:0 10px;
	}
a.twitter{
	color:#55acee;
	}
a:hover.twitter{
	color:#407aa5;
	}
a.facebook{
	color:#3B5998;
	}
a:hover.facebook{
	color:#283D6E;
	}
	
.main_copyright{
	text-align:center;
	color:#FFF;
	background-color:#036EB8;
	padding:10px 0;
	}


@media screen and (max-width:640px){
	nav{margin-top:40px;}
	.overlay ul{margin-left:0px;}
	.overlay ul li a{padding:20px 0;min-width:120px;font-size:12px;}
}
