@charset "utf-8";
/* 共通 */
body{
	color:#231815;
	background:#fff;
	width: 100%;
	min-height: 100%;
	font-family: 'Noto Sans JP', sans-serif; 
	font-size: 16px;
	line-height: 1.4;
	-webkit-text-size-adjust: 100%;
}

/* custom */
a,
a:link,
a:visited,
a:hover,
a:active {
	color:#231815;
	text-decoration:none;
}
a:hover {
	color:#666;
}
a:focus {
	outline:none;
}
img {
	width:100%;
	max-width:none;
	vertical-align:bottom;
}
table {
	width:100%;
}
a img,a img:hover{
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}
.clearfix:after, .container:after , .row:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	font-size: 0;
	visibility: hidden;
}
.clearfix, .container, .row { 
	min-height: 1px;
}
/* Hides from IE-mac \*/
* html .clearfix,
* html .container,
* html .row {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
@media only screen and (min-width: 768px) {
	body {
		font-size:18px;
	}
	img {
		width:auto;
		max-width: 100%;
	}
}
/* layout */
.header ,
.main ,
.footer {
	width:100%;
	padding:0;
	position:relative;
}
.container {
	width:100%;
	margin:0 auto;
	position:relative;
	padding:0;
}
@media only screen and (min-width: 768px){
	.header ,
	.main ,
	.footer {
		min-width:1200px;
	}
	.container {
		width:1200px;
		padding:0;
	}
}
/* s.header */
.header .logo {
	padding:3% 3% 0;
	margin:0 auto;
	width:50%;
}
.header .nav {
	padding:1% 3% 3%;
}
.header .nav li {
	display:block;
	padding:2% 0 1%;
}
.header .nav li a {
	font-size:0.8em;
	border-bottom:1px solid #231815;
	padding:0.5em;
}

@media only screen and (min-width: 768px){
	.header .logo,
	.header .nav {
		display:inline-block;
		width:49%;
		padding:2%;
		vertical-align: top;
		text-align:left;
	}
	.header .logo {
		padding:50px 100px;
	}
	.header .nav {
		padding:30px 100px;
	}
	.header .nav li a {
		display:inline-block;
		min-width:30%;
		padding-left:2em;
		text-align:right;
	}
}
.main {
	border-top:46px solid #e6e6e6;
}

.main .section {
	padding-bottom:20px;
}
.main .section > .title {
	line-height:0;
	padding: 3% 3% 0;
}
.main .section > .title img {
	max-width:100%;
	width:auto;
}
.main .section > .text {
	margin-top:3%;
	padding:0 3%;
	line-height:1.6;
}
@media only screen and (min-width: 768px){
	.main .section {
		padding-bottom:36px;
	}
	.main .section > .title {
		padding: 30px 0 0 100px;
		width:532px;
	}
	.main .section > .text {
		margin-top:20px;
	}
}
.home .main {
	background:#fff url(/theme/local/img/background.jpg?v=2)  40% top;
	border-top:0;
}
.home .main .section > .text {
	line-height:1.8;
}
.home .main .section > .text span {
	display:inline;
	background:#fff;
	padding:0.2em 0.5em 0.2em 0;
}
.home .main .section.philosophy > .title,
.home .main .section.services > .title {
	border-top:46px solid #e6e6e6;
}

@media only screen and (min-width: 768px){
	.home .main {
		background:#fff url(/theme/local/img/background.jpg?v=2) no-repeat top center;
	}
	.home .main .section > .text {
		padding:0 0 0 100px;
		line-height:1.8;
	}
	.home .main .section.services > .text,
	.home .main .section.contact > .text {
		font-size:0.9em;
	}
}
.company .main .section .list-box {
	line-height:1.8;
	margin-top:3%;
	padding:0 3%;
}
.company .main .section .list-box li {
	display:block;
	padding:2% 3%;
}
.company .main .section .list-box .index {
	border-top:1px solid #666;
	background:#f6f6f6;
}
.company .main .section .list-box .text {
	border-top:1px dashed #666;
}
.company .main .section .list-box .text img {
	width:auto;
	height:1em;
}
@media only screen and (min-width: 768px){
	.company .main {
		background:#fff url(/theme/local/img/company.jpg?v=2) no-repeat bottom center;
		padding-bottom:560px;
	}
	.company .main .section .list-box {
		margin-top:20px;
		padding:0 0 0 100px;
	}
	.company .main .section .list-box li {
		display:inline-block;
		vertical-align: top;
		padding:1% 0;
	}
	.company .main .section .list-box .index {
		width:8%;
		border-top:0;
		background:transparent;
	}
	.company .main .section .list-box .text {
		width:91%;
		margin-top:2px;
		padding-left:1em;
		border-top:0;
		border-left:1px dashed #666;
	}
	.company .main .section .list-box .text img {
		vertical-align:middle;
	}



}
.footer .copyright {
	color:#231815;
	font-size:1em;
	text-align: center;
	padding:3% 0;
}
@media only screen and (min-width: 768px){ 
	.footer {
		margin-top:0;
	}
		
	.footer .copyright {
		font-size:0.8em;
		padding:20px 0;
	}
}
/* s.maintenance */
.main .section.error,
.main .section.maintenance {
	padding:3%;
}
.main .section.error .title,
.main .section.maintenance .title {
	text-align:center;
	font-size:1.5em;
	color:#231815;
	margin:0 auto;
	padding:2% 3%;
	line-height:1.4;
	border:1px solid #231815;
	background:#fff;
	border-radius: 6px;
}
.main .section.error .text,
.main .section.maintenance .text {
	font-size:1em;
	font-weight:bold;
}
.main .section.error .text p,
.main .section.maintenance .text p {
	padding:2% 0 0;
}
@media only screen and (min-width: 768px){ 
	.main .section.error,
	.main .section.maintenance {
		padding:30px 0;
	}
	.main .section.error .title,
	.main .section.maintenance .title {
		font-size:2em;
		padding:10px 20px;
	}
	.main .section.error .text,
	.main .section.maintenance .text {
		font-size:180%;
		padding-top:10px;
	}
	.main .section.error .text p,
	.main .section.maintenance .text p {
		padding:10px 0 0;
		text-align:center;
	}
}
