@charset "utf-8";
/*
 * commons css 
 */

@media (max-width: 599px) {
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
} /* end 600-959 */

@media (min-width: 960px) {
} /* 960- */

/* ---------------------------------------- common */

main h2, 
main h3 {
	font-family:'游明朝',YuMincho,'Hiragino Mincho ProN','Hiragino Mincho Pro','ＭＳ 明朝',serif;
	text-align: center;
	line-height: 1.6;
	margin: 0 0 1.75em;
}
main .backimg h2,
main .backimg h3 {
	color: #fff;
}

article h2 {
	border-bottom: 1px #ccc solid;
	padding: 0 0 .5em;
}

/* ---------------------------------------- inside */

@media (max-width: 599px) {

	.inside + .inside { margin: 2em 0 0; }

} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {

	.inside + .inside { margin: 2em 0 0; }

} /* end 600-959 */

@media (min-width: 960px) {

	.inside + .inside { margin: 2em 0 0; }

} /* 960- */


/* ---------------------------------------- .field.flexs */

.field.flexs .imgwrap figure { text-align: center; }
.field.flexs .imgwrap figure + figure {
	margin: 1em 0 0;
}

@media (max-width: 599px) {

	.field.flexs .txtwrap {
		margin: 2em 0 0;
	}

} /* end -599 */

@media (min-width: 600px)  {

	.field.flexs.row .txtwrap,
	.field.flexs.row-reverse .txtwrap {
		width: 60%;
	}
	.field.flexs.row .imgwrap,
	.field.flexs.row-reverse .imgwrap {
		width: 36%;
	}

} /* 960- */

.field.flexs.column .txtwrap,
.field.flexs.column-reverse .imgwrap {
	margin: 2em 0 0;
}

/* ---------------------------------------- linkbutton */

.linkbutton {
	text-align: center;
	margin: 2em 0 0;
}
.linkbutton a {
	display: inline-block;	
	min-width: 40%;
	font-weight: bold;
	line-height: 1;
	padding: 1em 1.5em;
	-webkit-border-radius: 40px;
	border-radius: 40px;
}
main section.backimg .linkbutton a {
	border: 1px #fff solid;
}
.linkbutton a:hover {
	color: #333;
	background: none;
	border: 1px #333 solid;
}

@media (max-width: 599px) {

	.linkbutton a { font-size: 1.4rem; }

} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {

	.linkbutton a { font-size: 1.5rem; }

} /* end 600-959 */

@media (min-width: 960px) {

	.linkbutton a { font-size: 1.6rem; }

} /* 960- */

/* ---------------------------------------- table */

table { width: 100%; }
	
th { background: #f5f5f5; }

@media (max-width: 599px) {

	table { 
		background: #fff;
		border-top: 1px #ccc solid;
		border-right: 1px #ccc solid;
		border-left: 1px #ccc solid;
	}
	th, td { 
		border: 1px #ccc solid;
		font-size: 1.4rem;
		line-height: 1.6;
		vertical-align: middle;
	}
	table.multiple th, table.multiple td { 
		display: block;
		border-top: none;
		border-right: none;
		border-left: none;
		border-bottom: 1px #ccc solid;
		font-size: 1.3rem;
		line-height: 1.6;
		padding: 1em;
	}

} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {

	table { 
		background: #fff;
	}
	th, td { 
		border: 1px #ccc solid;
		font-size: 1.4rem;
		line-height: 1.6;
		vertical-align: middle;
	}
	th { 
		width: 30%;
		padding: 1em 2em;
	}
	td { padding: 1em; }

} /* end 600-959 */

@media (min-width: 960px) {

	table { 
		background: #fff;
		margin: 0 auto;
	}
	th, td { 
		border: 1px #ccc solid;
		font-size: 1.4rem;
		line-height: 1.6;
		vertical-align: middle;
	}
	th { 
		width: 30%;
		padding: 1em 2em;
	}
	td { padding: 1em; }


} /* 960- */


/* ---------------------------------------- #solutions ul.float3-inline */

#solutions h2 { text-align: center; }

@media (max-width: 599px) {

	.float3-inline { 
		text-align: center;
		letter-spacing: -0.4em; 
	}
	.float3-inline li {
		display: inline-block;
		width: 300px;
    	background: #14350a;
    	text-align: center;
		letter-spacing: normal;
		margin: 0 0 30px;
	}
	.float3-inline li a {
		display: block;
	}
	.float3-inline li a h3 {
		color: #fff;
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 12px;
		margin: 0;
	}

} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {

	.float3-inline { 
		text-align: center;
		letter-spacing: -0.4em; 
	}
	.float3-inline li {
		display: inline-block;
		width: 300px;
    	background: #14350a;
    	text-align: center;
		letter-spacing: normal;
		margin: 0 15px 30px;
	}
	.float3-inline li a {
		display: block;
	}
	.float3-inline li a h3 {
		color: #fff;
		font-size: 1.5rem;
		line-height: 1.5;
		padding: 12px;
		margin: 0;
	}

} /* end 600-959 */

@media (min-width: 960px) {

	.float3-inline { letter-spacing: -0.4em; }
	.float3-inline li {
		display: inline-block;
		width: 300px;
    	background: #14350a;
    	text-align: center;
		letter-spacing: normal;
		margin: 0 0 30px;
	}
	.float3-inline li:nth-child(3n+2){
		margin: 0 50px 30px;
	}
	.float3-inline li a {
		display: block;
	}
	.float3-inline li a h3 {
		color: #fff;
		font-size: 1.6rem;
		line-height: 1.5;
		padding: 12px;
		margin: 0;
	}

} /* 960- */
