@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/


/*--------------------------------------------------
	オリジナル設定
--------------------------------------------------*/
.fm { font-size: 115%; }
.fmm { font-size: 130%; }
.fl { font-size: 170%; }
.red { color: #FC0000; }
.pick { color: #80B624; }
.cf:after {
	clear: both;
	display: block;
	overflow: hidden;
	height: 0px;
	content: "";
}
p.attention {
	text-indent: -1em;
	margin-left: 1em;
}
/**/
.cen { text-align: center; }
.lft { text-align: left; }
.rit { text-align: right; }
/* 非表示用 */
@media print, screen and (min-width: 641px){ /* PC用 */
	.dsp_smt { display: none; }
	.cen_pc { text-align: center; }
}
@media only screen and (max-width: 640px){ /* スマホ用 */
	.dsp_hp { display: none; }
}
/*--------------------------------------------------
	共通
--------------------------------------------------*/
h1.title {
	position: relative;
}
h1.title::before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100vw;
	max-width: none;
	height: 100%;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	background: #8ad69e;
	content: "";
	z-index: -1;
}
.post {
	background: none;
	border: none;
}
@media print, screen and (min-width: 1024px) {
	nav#mainNav {
		padding-bottom: 0;
		margin-bottom: 0;
	}
}
/*--------------------------------------------------
	トップページ
--------------------------------------------------*/
.home #wrapper {
	overflow: visible;
}
.home #mainImg {
	margin: 0;
	padding: 0;
}
.home #content {
	padding-top: 0;
}
/**/
#top_msg {
	margin-top: 30px;
}
#top_msg .txt {
	background: url(/struct/wp-content/uploads/bg_ms.png) no-repeat left top;
	background-size: 100% auto;
	-webkit-background-size: 100% auto;
}
#top_msg .txt h2::after {
	display: none;
}
#top_msg .photo img {
	background: none;
}
@media print, screen and (min-width: 641px){ /* PC用 */
	#top_msg {
		display:-webkit-box;
		display:-moz-box;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:-moz-flex;
		display:flex;
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-webkit-flex-wrap:wrap;
		-moz-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	#top_msg .txt {
		position: relative;
		float: left;
		width: 55%;
		margin-right: -5%;
		padding-top: 30px;
	}
	#top_msg .txt p {
		padding-left: 30px;
	}
	#top_msg .photo {
		float: right;
		width: 40%;
	}
}
/*--------------------------------------------------
	会社概要
--------------------------------------------------*/
#company_tbl {
	margin: 30px 0;
}
#company_tbl th {
	width: 20%;
	white-space: nowrap;
}
.company_fream {
	background-image: url(/struct/wp-content/uploads/company_fream01.jpg), url(/struct/wp-content/uploads/company_fream02.jpg), url(/struct/wp-content/uploads/company_fream03.jpg), url(/struct/wp-content/uploads/company_fream03.jpg);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: left top, right bottom, center top 10px, bottom 10px center;
	background-size: 100px, 100px, 600px, 600px;
	padding: 4% 3% 3% 3%;
	margin-bottom: 30px;
}
@media only screen and (max-width: 640px){
.company_fream {
	padding: 10% 5% 5% 5%;
}
.company_fream .fmm {
	font-size: 120%;
}
.company_fream .fl {
	font-size: 130%;
}
}
/*--------------------------------------------------
	事業案内
--------------------------------------------------*/
#business_about .box {
	position: relative;
	padding: 50px 0;
}
#business_about .box::before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100vw;
	height: 100%;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	background: no-repeat center center;
	background-size: cover;
	-webkit-background-size: cover;
	content: "";
	z-index: -1;
}
#business_about .bg01::before {
	background-image: url(/struct/wp-content/uploads/bg_business01.jpg);
}
#business_about .bg02::before {
	background-image: url(/struct/wp-content/uploads/bg_business02.jpg);
}
#business_about .bg03::before {
	background-image: url(/struct/wp-content/uploads/bg_business03.jpg);
}
@media print, screen and (min-width: 641px){ /* PC用 */
	#business_about .bg01,
	#business_about .bg03 {
		padding-right: 50%;
	}
	#business_about .bg02 {
		padding-left: 50%;
	}
}
/*--------------------------------------------------
	橋梁工事
--------------------------------------------------*/
#business_list * {
	margin: 0;
	padding: 0;
	border: none;
}
#business_list {
	overflow: hidden;
	margin-bottom: 40px;
	padding: 15px;
	background: #317F46;
	color: #fff;
}
#business_list li::before {
	content: "\25C6";
}
@media print, screen and (min-width: 960px){ /* PC用 */
	#business_list li {
		float: left;
		width: 33.33%;
	}
}
/*--------------------------------------------------
	お問い合わせ
--------------------------------------------------*/
.wpcf7-form select {
	width: auto;
}
@media print, screen and (min-width: 641px){ /* PC用 */
	.wpcf7-form table th {
		width: 200px;
		white-space: nowrap;
	}
}
/* ボタン */
.page-contact .post form.wpcf7-form .linkBtn {
	padding:0 !important;
}
.page-contact .post form.wpcf7-form .linkBtn input.wpcf7-submit {
	width:100%;
	padding:15px 40px;
}
.page-contact .post form.wpcf7-form .linkBtn span.ajax-loader {
	position:absolute;
}
@media all and (min-width:1024px) {
	nav#mainNav ul li {
		height:auto;
	}
}

/*新HOLOCF7送信スピナーによるデザイン崩れ対応*/
.wpcf7-spinner{
    position: absolute;
    margin: 0;
}
