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

html,body { margin:0; padding:0; font-size:14px; font-family:Arial, Helvetica, sans-serif; }

img{ margin:0; padding:0; border-style: none; outline: none; }

div.wrap { width:100%; }

header { height:440px; }

div.main { padding:0 10px; }

section{ padding-bottom: 20px; margin-bottom: 60px; }

section:after{
	content: "";
	width:100%;
	height:1px;
	margin-top:80px;
	position: absolute;
	left: 0;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
}

div.contents{ width: 930px; padding: 0; margin: 0 auto; }

div.footer { width:800px; margin:0 auto; }

.f_left { float:left; }

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.center{ text-align:center; }

p { margin: 0 0 0.5em 20px; line-height:1.3em;}

a,a:visited { color: #999; }
a:hover,a:active { color: #333; }

.mt10 { margin:10px 10px 0 10px; }
.ms10 { margin:0 10px; }
.mr10 { margin-right:10px; }

.p10 {
	padding: 0 10px;
}

hr {
	border: 0;
	height: 1px;
	margin: 0 0 5px 0;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
}

.gfont{ font-family: 'Source Sans Pro', sans-serif; }

/* 見出し */

h1 {
	font-size:42px;
	margin: 0 0 0 7%;
	padding: 15px 20px;
	font-weight: 300;
	font-family: 'Source Sans Pro', sans-serif;
}

h2 {
	font-size: 30px;
	font-weight: 300;
	font-family: 'Source Sans Pro', sans-serif;
	margin: 0 0 10px 0;
	padding: 0;
}

h3 {
	font-size: 24px;
	font-weight: 300;
	font-family: 'Source Sans Pro', sans-serif;
	margin: 0;
	padding: 0;
}
h4 { }
h5 { }

/* ヘッダ */

div.logo {
	width:100%;
	height:289px;
	text-align: center;
	padding:80px 0;
}

/* フッタ */

footer {
	font-weight: 300;
	font-family: 'Source Sans Pro', sans-serif;
	margin-top: -8px;
	padding: 5px;
}

/*
footer::before{
	content: "";
	width:100%;
	height:1px;
	position: absolute;
	left: 0;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
}
*/
div.footer{
	color: #999;
	font-weight: normal;
	margin-top: 4px;
}


/* ナビ */

nav{
	margin-bottom: 8px;
    padding: 4px 0 0 0;
	font-size: 20px;
	font-weight: 300;
	font-family: 'Source Sans Pro', sans-serif;
}

nav.menu::before, nav.menu:after{
	content: "";
	width:100%;
	height:1px;
	position: absolute;
	left: 0;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
}
	
nav ul{ padding: 5px 0; margin: 10px 0;	text-align:center; }
nav ul li { display: inline; margin: 1em; }
nav ul li a { text-decoration: none; color: #000; }
nav ul li a:hover{ border-bottom: dotted 1px #fff; }

/* 会社概要 */

table.abouttable {
	width: 500px;
	margin: 0 215px;
}

table.abouttable th{ width: 33%;}

table.abouttable tr:after{
	content: "";
	width:500px;
	height:1px;
	position: absolute;
	left: 50%;
	margin-left: -250px;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
}

table.abouttable tr:first-child:after{	height:0px; }

table.abouttable th{ text-align: right; }

/* グループ */

.group{
	width: 300px;
	margin: 5px;
	float: left;
}

.group h3{
	width: 300px;
	margin-bottom:10px;
	padding-bottom:3px;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
}

.group table{
	width: 300px;
	margin: 0 auto;
	padding: 0;
	text-align:center;
}

div.gdate, div.gurl{ font-size: 12px; margin-top:5px;}

div.gname{ line-height: 23px; }

#hosting header {height: auto;}

#hosting .logo { height: 120px; padding: 80px 0 0 0; }

#hosting h1{
	margin: 0;
}

#hosting section{
	position: absolute;
	top: 300px;
	left: 50%;
	margin-left: -465px;
}

#hosting .group{
	width: 930px;
	margin: 5px;
	float: none;
}

#hosting .group h3{
	width: 440px;
	margin-top: 20px;
	margin-bottom:0px;
	padding-bottom:3px;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
}

#hosting .group table{
	width: 930px;
	margin: 0 auto;
	padding: 0;
	text-align:center;
}


#hosting .group table tr td{
	width: auto;
}

#hosting .group table img{
	width: 120px;
}

#hosting section:after{
	content: none;
}


/* 問合せ */

table.contactform{
	width: 500px;
	margin: 0 auto;
}

table.contactform th{
	text-align:right;
	padding: 5px;
	font-weight: 400;
	font-family: 'Source Sans Pro', sans-serif;
}

table.contactform td{ width: 440px; }

input[type=text]{
	width: 220px;
	outline: none;
	border: 0;
	padding: 3px;
	font-size:14px;
	color:#333;
	border:solid 1px #ccc;
}

textarea{
	width:440px;
	outline: none;
	border:0;
	padding: 3px;
	font-size:14px;
	color:#333;
	border:solid 1px #ccc;
}

input:focus,textarea:focus {
    border:solid 1px #333;
	box-shadow: 0 0 5px #DDD;
}

input[type=submit]{
	border: solid 1px #ccc;
	padding: 5px 20px;
	margin: 0;
	font-size: 14px;
	font-weight: bold;
	cursor :pointer;
	font-weight: 400;
	font-family: 'Source Sans Pro', sans-serif;
	background-image: -webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:    -moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:     -ms-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:      -o-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-color: #FFF;
	-moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0px 1px 2px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0px 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0px 1px 2px rgba(0, 0, 0, 0.1);
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

input[type=submit]:hover{
	background-image: -webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.05));
	background-image:    -moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.05));
	background-image:     -ms-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.05));
	background-image:      -o-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.05));
}


input[type=submit]:active{
	background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:    -moz-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:     -ms-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:      -o-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,0.1));
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}

/* 新着情報 */

#news dl{ width: 480px; margin: 5px auto; padding-left:50px;}

dt{ font-weight: bold; }

dt::before{ content:"・"; font-weight:bold; }

dd{ margin-bottom: 5px; }

#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	font-size: 70%;
}

#page-top a {
	background-color: rgba(0,0,0,0.5) ;
	text-decoration: none;
	color: #fff;
	width: 80px;
	padding: 20px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
}




@media screen and (max-device-width: 480px) {




body { width: 480px; font-size:120%; -webkit-text-size-adjust: none; text-size-adjust: none;}

div.contents{ width: 450px; padding: 0 15px; margin: 0 auto; }

header { height:400px; }

div.logo {
	width:100%;
	height:289px;
	text-align: center;
	padding: 55px 0;
}

div.footer { width:450px; margin:8px auto 0; font-size: 15px; }

h1{ font-size: 40px; margin-left:0; padding: 15px; }

img.pholosophyimg{ width:450px; margin:0; }


/* 会社概要 */

table.abouttable {
	width: 450px;
	margin: 0;
}

table.abouttable tr:after{
	content: "";
	width:450px;
	height:1px;
	position: absolute;
	left: 50%;
	margin-left: -225px;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.2), rgba(0,0,0,0));
}

table.abouttable tr:first-child:after{	height:0px; }


/* グループ */

.group{
	width: 440px;
	margin: 5px;
	float: none;
}

.group h3{
	width: 440px;
	margin-top: 20px;
	margin-bottom:0px;
	padding-bottom:3px;
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
	background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
	background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
	background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.1), rgba(0,0,0,0));
}

.group table{
	width: 440px;
	margin: 0 auto;
	padding: 0;
	text-align:center;
}


.group table tr td{
	width: 50%;
}

.group table img{
	width: 120px;
}

span.gdate, span.gurl{ font-size: 0.9em; }

span.gname{ font-size: 1em; }


/* 問合せ */

table.contactform{
	width: 440px;
	margin: 0;
}

table.contactform th{
	width:40px;
	text-align:right;
	padding: 5px;
	font-weight: 400;
	font-family: 'Source Sans Pro', sans-serif;
}

table.contactform td{ width: 360px; }

input[type=text]{
	width: 50%;
	outline: none;
	border: 0;
	padding: 3px;
	font-size:14px;
	color:#333;
	border:solid 1px #ccc;
}

textarea{
	width: 98%;
	outline: none;
	border:0;
	padding: 3px;
	font-size:14px;
	color:#333;
	border:solid 1px #ccc;
}

input:focus,textarea:focus {
    border:solid 1px #333;
	box-shadow: 0 0 5px #DDD;
}

input[type=submit]{
	border: solid 1px #ccc;
	padding: 5px 20px;
	margin: 0;
	font-size: 14px;
	font-weight: bold;
	cursor :pointer;
	font-weight: 400;
	font-family: 'Source Sans Pro', sans-serif;
	background-image: -webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:    -moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:     -ms-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:      -o-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-color: #FFF;
	-moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0px 1px 2px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0px 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0px 1px 2px rgba(0, 0, 0, 0.1);
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

input[type=submit]:hover{
	background-image: -webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.05));
	background-image:    -moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.05));
	background-image:     -ms-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.05));
	background-image:      -o-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.05));
}


input[type=submit]:active{
	background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:    -moz-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:     -ms-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,0.1));
	background-image:      -o-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,0.1));
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}


/* 新着情報 */

#news dl{ width: 410px; margin: 5px auto; padding:0 10px 0 20px; }

dt{ font-weight: bold; }

dt::before{ content:"・"; font-weight:bold; }

dd{ margin-bottom: 5px; }

#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	font-size: 70%;
}

#page-top a {
	background-color: rgba(0,0,0,0.5) ;
	text-decoration: none;
	color: #fff;
	width: 80px;
	padding: 20px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
}


#page-top {
	position: fixed;
	bottom: 30px;
	right: 10px;
	font-size: 70%;
}

#page-top a {
	background-color: rgba(0,0,0,0.5) ;
	text-decoration: none;
	color: #fff;
	width: 70px;
	padding: 14px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
}