@charset "utf-8";

.mbM { margin-bottom: 50px; }
.t-center { text-align: center; }
.t-right { text-align: right; }

/*-- トップページ --*/
#home main > * { padding: 2.5rem 0;  }
#home .mainvisual { position: relative; padding: 0; }
#home h1 { font-size: 1.2rem; margin-bottom: 1rem;}
#home .mainvisual .lead { color: #FFF; font-size: .85rem;  max-width: 1280px; width: 90%; position: absolute; left: 0; right: 0; top: 50%; margin: auto; z-index: 2;}
#home .mainvisual .lead .logo { width: 257px; height: 126px; position: absolute; bottom: 100%;}
#home .mainvisual #slider { width: 100%; height: auto; position: relative; z-index: 1;}
#home .mainvisual #slider { width: 100%; background: #333; }
#home .mainvisual #slider li { width: 100%; height: auto; max-height: 800px; overflow: hidden; position: relative; }
#home .mainvisual #slider li.hide { display: none; }
#home .mainvisual #slider li:before { content: ''; width: 100%; height: 0; padding-bottom: 40%; display: block; }
#home .mainvisual #slider li img { width: auto; height: 100%; max-width: 3000px; position: absolute; top: 50%; left: 50%; -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

#home .contents_navi figure { position: relative; margin-bottom: 1rem; text-align: center; }
#home .contents_navi figure img { width: 100%; }
#home .contents_navi figcaption { color: #FFF; font-size: 1.5rem; font-weight: 500; text-align: center;  height: 2em; padding-bottom: .5em; position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; }
#home .contents_navi figcaption:after { content: ''; width: 1rem; height: 1px; display: block; background: #FFF; position: absolute; bottom: 0; left: 0; right: 0; margin: auto; }
#home .contents_navi figure + p  { font-weight: bold; }
#home .contents_navi a:hover figure,
#home .contents_navi a:hover figure + p { opacity: .7; }

#home .news { width: 80%; /* float:left; */ }
/* #home .facebook { width:40%; float: right; overflow: hidden;} */

@media screen and (max-width: 960px) {
	#home .mainvisual .lead .logo { width: 30%; height: 0; padding-bottom: 15%; }
}

@media screen and (max-width: 640px) {
	#home h1 { font-size: .9rem; }
	#home h1 + p { font-size: .7rem; }
	#home .mainvisual .lead { top: 0; margin-top: 25%; }

	#home .mainvisual #slider li { max-height: auto;; }
	#home .mainvisual #slider li:before { padding-bottom: 80%; }

	#home .news { width: 100%; float:none; margin-bottom: 3rem;}
	#home .facebook { width:100%; float: none;}
}

/*下層ページ*/
body.lower img { height: auto; }

body.lower .mainvisual { padding: 100px 0; background-color: #ccc; background-size: cover; background-position: center center; background-repeat: no-repeat; }
body.lower .mainvisual.contact { padding: 50px 0; background: none;}
@media screen and (max-width: 640px) {
	body.lower .mainvisual { padding: 50px 0; }
}


.list_products:after{ content:"."; display: block; height:0; clear: both; visibility: hidden; }
.list_products > * { width: 23.5%; float: left; display: inline-block; margin-right: 2%; margin-bottom: 2%; vertical-align: top; }
.list_products > *:nth-child(4n) { margin-right: 0; }
.list_products li { background: #F8F8F8; padding: 10px 10px 1rem; text-align: center; }
.list_products figure { width: 100%; height: auto; margin-bottom: 2rem; position: relative;  }
.list_products figure:before { content:''; width: 100%; height: 0; padding-bottom: 70%; background: #FFF; display: block; }
.list_products figure img { width: auto; height: auto; max-width: 100%; max-height: 100%;  position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; z-index: 2;  }
.list_products h3 { font-weight: bold; text-align: left; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #DADADA; }
.list_products p { text-align: left; }
.list_products a { font-weight: bold; }
.list_products a:after { content:''; width: .4em; height: .4em; border-width: 1px 1px 0 0; border-style: solid; border-color: #333; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg);  display: inline-block; margin-left: .5em; vertical-align: middle;}

@media screen and (max-width: 960px) {
	.list_products > * { width: 32%;  }
	.list_products > *:nth-child(4n) { margin-right: 2%; }
	.list_products > *:nth-child(3n) { margin-right: 0; }
}
@media screen and (max-width: 640px) {
	.list_products > * { width: 48%; margin-right: 4%; margin-bottom: 4%; }
	.list_products > *:nth-child(3n) { margin-right: 4%; }
	.list_products > *:nth-child(2n) { margin-right: 0; }
}


.officer > *{ display: inline;}
.officer > dt  span { display: inline-block; width: 8em; }
.officer > dd + dt:before { content:'\A'; white-space:pre; }
@media screen and (max-width: 640px) {
	.officer > dt  span { width: auto; }
	.officer > dt  span:after { content: '：'; }
}
.conts_philosophy { font-family:'Crimson Text', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Verdana, Roboto, "Droid Sans", serif; }
.conts_philosophy * { font-family: inherit; }
.philosophy { font-size: 4rem; padding: 1.2em 0; line-height: 1em; text-align: center; border-top: 1px solid #AAA; border-bottom: 1px solid #AAA;  }
.philosophy span { font-size: 1rem; display: block; }

.list_philosophy dt { color: #FFF; font-size: 2rem; line-height: 2em; width: 2em; height: 2em; background: #004386; text-align: center; float: left; }
.list_philosophy dd { min-height: 4rem; padding-left: 5rem; margin-bottom: 2rem; }
.list_philosophy dd span { font-size: 2rem; line-height: 120%;display: block; margin-bottom: 1rem; }
@media screen and (max-width: 960px) {
	.philosophy { font-size: 2.5rem; }
	.list_philosophy dd span { font-size: 1.5rem; margin-bottom: .5rem; }
}

.product_links { margin-bottom: 3rem;  }
.product_links li { display: inline-block; }
.product_links li + li  { margin-left: 5rem; }
.product_links li:after { content: ''; width: .5em; height: .5em; display: inline-block; vertical-align: middle; border-top: 2px solid #000; border-right: 2px solid #000; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); margin:  0 0 2px .5em; }
.product_links li a {  font-weight: bold; text-decoration: underline; }
@media screen and (max-width: 960px) {
	.product_links li + li  { margin-left: 2rem; }
}
@media screen and (max-width: 640px) {
	.product_links li { display: block; }
	.product_links li + li  { margin-left: 0; }
}

.list-development li:first-child { width: 100%; font-size: 1.2em;}
.list-development li:nth-child(even) { margin-left: 0; margin-right: 6%; }