@charset "utf-8";

/* 社是 */
#policy div > p:first-of-type ,
#philosophy div > p {
	margin-bottom: 20px;
	font-size: 25px;
	font-weight: bold;
}
#policy div p span {
	font-size: 1.3em;
	border-bottom: 5px solid #00755f;
}

#policy div p + p {
	position: relative;
	margin-bottom: 20px;
	padding: 20px;
	list-style-type: none;
/*	line-height: 45px;*/
	font-size: 18px;
	border-radius: 10px;
	overflow: hidden;
	background: -moz-linear-gradient(top left, #f5e5ad, #d1ac2b); 
	background: -webkit-linear-gradient(top left, #f5e5ad, #d1ac2b); 
	background: linear-gradient(to bottom right, #f5e5ad, #d1ac2b); 
	border-bottom: 2px solid #b59464;
	
}
#policy div p + p::after {
	content: "";
	display: block;
	width: 30px;
	height: 100%;
	position: absolute;
	top: -180px;
	left: 0;
	background-color: #fffed7;
	opacity: 0;
	transform: rotate(45deg);
	animation: reflect 2s ease-in-out infinite;
	-webkit-transform: rotate(45deg);
	-webkit-animation: reflect 4s ease-in-out infinite;
}
@keyframes reflect {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflect {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@media screen and (max-width: 640px) {
	#policy p:fist-of-type br {
		display: none;
	}
}
/* 経営理念 */

#philosophy > div {
	text-shadow: 0px 0px 5px #fff,0px 0px 5px #fff,0px 0px 5px #fff,0px 0px 5px #fff;
	background: url("/img/bg_philosophy.jpg") no-repeat center top;
}
@media screen and (max-width: 640px) {
	#philosophy > div {
		background-position: center top 100px;
		background-size: contain;
	}
}
#philosophy > div > p span {
	margin-left: 5px;
	padding-left: 15px;
	font-weight: bold;
	font-size: 40px;
	letter-spacing: 5px;
	border-bottom: 5px solid #00755f;
}
@media screen and (max-width: 640px) {
	#philosophy > div > p span {
		display: inline-block;
		margin-left: 0;
		padding-left: 0;
	}
}
#philosophy div ul li {
	margin-bottom: 10px;
	list-style-type: none;
}

#philosophy div ul li:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

@media screen and (max-width: 640px) {
	#philosophy div ul li {
		margin-left: 0;
		text-align: center;
	}
}
#philosophy div ul li p {
	padding-top: 15px;
	font-size: 18px;
	transition: .4s;
}
@media screen and (min-width: 641px) {
	#philosophy div ul li p {
		margin-left: 100px;
	}
}

#philosophy div ul li div {
	position: relative;
	vertical-align: middle;
	display: inline-block;
	float: left;
	overflow: hidden;
	text-align: center;
	padding: 10px;
	width: 60px;
	height: 60px;
	font-weight: bold;
	font-size: 40px;
	border-radius: 10px;
	background: radial-gradient(#FFFFFF, #ffc905);
	background: -webkit-radial-gradient(#FFFFFF, #ffc905);
	background: -moz-radial-gradient(#FFFFFF, #ffc905);
	background: -ms-radial-gradient(#FFFFFF, #ffc905);
	border-radius: 70px;
	transition: 2s ease;
	transition: transform 0.3s;
}

#philosophy div ul li:first-child p {
	letter-spacing: 1px;
}
#philosophy div ul li:nth-child(2) p {
	letter-spacing: 0em;
}
#philosophy div ul li:last-child p {
	letter-spacing: 2px;
}

@media screen and (max-width: 640px) {
	#philosophy div ul li div {
		cursor: default;
		display: block;
		margin: auto;
		float: none;
	}
}
@media screen and (min-width: 641px) {
	#philosophy div ul li div:hover {
		cursor: pointer;
		transform: scale(1.2);
		text-decoration: none;
	}
}

#philosophy div ul li p.keyword_text1 {
	font-size: 1.5em;
}

@media screen and (min-width: 641px) {
	#philosophy div ul li p.keyword_text1 {
		line-height: 25px;
		letter-spacing: 0.3em;
	}
}

#philosophy div ul li p.keyword_text2 {
	font-size: 32px;
}

@media screen and (max-width: 640px) {
	#philosophy div ul li p.keyword_text2 {
		font-size: 38px;
	}
}

#philosophy div ul li p span {
	font-size: 28px;
	transition: .4s;

}

/* 会社概要 */

@media screen and (min-width: 641px) {
	.company_photo_sp {
		display: none;
	}
	.company_photo_pc {
		float: right;
	}


}

@media screen and (max-width: 640px) {
	.company_photo_sp {
		display: table;
	}
	.company_photo_sp span{
		display: table-cell;
		padding: 5px;
	}
	.company_photo_pc {
		display: none;
	}
	dl.table dt{
		float: none;
		display: block;
		width: auto;
		padding: 3px 15px;
	}
	dl.table dd{
		clear: both;
		margin:0;
		padding-bottom: 15px;
		border: none;
	}
}

/* アクセス */

#access a:hover img {
	filter: alpha(opacity=70);
	-ms-filter: alpha(opacity=70);
	opacity: 0.7;
	-moz-opacity: 0.7;
}

#access > section > section {
	margin-left: 15px;
}


@media screen and (max-width: 640px) {
	#access .ggmap {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
	}
	#access .ggmap iframe,
	#access .ggmap object,
	#access .ggmap embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

