@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/



/*--------------------------------------------------
	オリジナル設定
--------------------------------------------------*/
.fs { font-size: 85%; }
.fm { font-size: 115%; }
.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;
}
p.nm {
	padding-bottom: 0;
}
/**/
.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; }
}
/*--------------------------------------------------
	共通
--------------------------------------------------*/
.mb { margin-bottom: 40px; }
.bg_wide { position: relative; }
.bg_wide::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100vw;
	height: 100%;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	content: "";
	z-index: -1;
}
.bg_pad { padding: 30px 0; }
.box_pad { padding: 15px; box-sizing: border-box; }
.box_w2 .column2_50:not(.cen) { text-align: left; }
@media print, screen and (min-width: 641px){ /* PC用 */
	.mb { margin-bottom: 80px; }
	.bg_pad { padding: 60px 0; }
	.bg_fix::before { background-attachment: fixed !important; }
	.box_w2 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.box_w2.rev { flex-direction: row-reverse; }
	.box_w2.vcen { align-items: center; }
	.box_pad { padding: 30px; }
	.box_w2 .column2_50 { width: 48.5%; }
	.box_w2 .column2_60 { width: 58%; }
}
.w600 {
	box-sizing: border-box;
	width: 600px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.post .linkBtn {
	border-radius: 0;
	border: solid 1px #47B143;
	transition : all 0.8s;
}
.post .linkBtn::after {
	display: none;
}
.post .linkBtn:hover {
	background-color: #fff;
	color: #47B143;
}
#content .post {
	line-height: 2.0 !important;
}
/**/
#contact_box::before {
	background-image: url(/struct/wp-content/uploads/contact_bg.jpg);
	background-size: cover;
	background-position: center;
}
#contact_box p {
	line-height: 3em;
}
#contact_box .linkBtn {
	box-sizing: border-box;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
#contact_box .linkBtn.tel {
	background-color: #2486D1;
	border: solid 1px #2486D1;
}
#contact_box .linkBtn.tel:hover {
	background-color: #fff;
	color: #2486D1;
}
@media print, screen and (min-width: 641px){ /* PC用 */
	#contact_box .linkBtn {
		width: 47%;
	}
}
body:not(.home) #content .post {
	padding-bottom: 0;
	margin-bottom: 0;
}
body:not(.home) #content.wide {
	padding-bottom: 0;
}
/*--------------------------------------------------
	ヘッダー・見出し
--------------------------------------------------*/
#header .inner {
	width: 100%;
}
@media only screen and (min-width: 1024px){
	#header-layout {
		width: 100%;
		box-sizing: border-box;
		padding: 0;
		padding-left: 5%;
	}
	nav#mainNav {
		width: 100%;
	}
	nav#mainNav ul li a,
	nav#mainNav ul li.current-menu-item a,
	nav#mainNav ul li a:hover, 
	nav#mainNav ul li.current-menu-parent a {
		height: 80px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		transition : all 0.8s;
	}
	nav#mainNav ul li a span {
		font-size: 10px;
	}
	nav#mainNav ul li i {
		display: block;
		font-size: 200%;
		margin-bottom: 3px;
	}
	nav#mainNav ul li#menu-item-99 a b,
	nav#mainNav ul li#menu-item-98 a b {
		color: #fff;
		font-weight: normal;
	}
	nav#mainNav ul li#menu-item-99 a {
		background-color: #2486D1;
	}
	nav#mainNav ul li#menu-item-98 a {
		background-color: #47B143;
	}
	nav#mainNav ul li#menu-item-99 a:hover {
		background-color: #fff;
	}
	nav#mainNav ul li#menu-item-99 a:hover b {
		color: #2486D1;		
	}
	nav#mainNav ul li#menu-item-98 a:hover {
		background-color: #fff;
	}
	nav#mainNav ul li#menu-item-98 a:hover b {
		color: #47B143;
	}

	nav#mainNav ul li#menu-item-99 a::before {
		display: none;
	}
	nav#mainNav ul li#menu-item-98 a::before {
		display: none;
	}
}

header#h1Header h1.title {
	text-align: center;
}
#content h1 {
	text-align: center;
	width: 100%;
    box-sizing: border-box;
}
#content h1 b {
	display: block;
	color: #47B143;
	font-size: 45%;
	padding-bottom: 20px;
	font-weight: normal;
}
/*--------------------------------------------------
	トップページ
--------------------------------------------------*/
#wrapper {
	overflow: visible;
}
.post {
	background: none;
	border: none;
}
/**/
#top_msg {
	width: 100vw;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	box-sizing: border-box;
}
#top_msg img {
	padding: 0;
	margin: 0;
	vertical-align: bottom;
}
#top_msg h1 {
	text-align: left;
	border-bottom: 3px solid #47B143;
	width: 100%;
	box-sizing: border-box;
}
#top_msg .txt {
	box-sizing: border-box;
	padding: 15px;
}
@media print, screen and (min-width: 641px){ /* PC用 */	
	#top_msg .photo {
		width: 50%;
	}
	#top_msg .photo {
		width: 50%;
	}
	#top_msg .photo img {
		width: 100%;
		object-fit: cover;
		height: 628px;
	}
	#top_msg .txt {
		width: 42%;	
		padding: 0;
		margin: 0 auto;
	}
}
/**/
#top_business::before {
	background-color: #F8F8F8;
}
#top_business h2.sub {
	text-align: center;
	display: block;
	font-size: 41px;
}
#top_business h2.sub::after {
	display: none;
}
#top_business h2.sub b {
	display: block;
	color: #47B143;
	font-size: 45%;
	padding-bottom: 10px;
	font-weight: normal;	
}
#top_business ul li {
	text-align: center;
	color: #404040;
}
#top_business ul li img {
	margin-bottom: 15px;
}
@media print, screen and (min-width: 641px){ /* PC用 */	
	#top_business ul li {
		width: 47%;
	}
}

/**/
#front_bottom_content {
	background-color: #F8F8F8;
	margin: 40px 0;
	padding: 30px;
	position: relative;
}
#front_bottom_content .listTitle {
	text-align: center;
	position: unset;
}
#front_bottom_content .listTitle h1.title {
	text-align: left;
}
#front_bottom_content .listTitle h1.title b {
	color: #404040;
}
#front_bottom_content .listTitle .frontlist.frontbottom {
	top: auto;
	bottom: 0;
    right: 60px;	
}
#front_bottom_content .listTitle .frontlist.frontbottom a {
	color: #47B143;
	border-bottom: solid 1px #47B143;
	background: none;
	padding: 0;
}
@media print, screen and (min-width: 641px){ /* PC用 */	
	#front_bottom_content {
		margin: 80px 0;
		padding: 60px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	#front_bottom_content .listTitle {
		width: 40%;
		box-sizing: border-box;
	}
	#front_bottom_content .postlist {
		width: 60%;
		box-sizing: border-box;
	}
}
/*--------------------------------------------------
	会社概要
--------------------------------------------------*/
#company_tbl {
	margin-bottom: 80px;
	border: 0;
}
#company_tbl tr {
	border-bottom: dashed 1px #817566;
}
#company_tbl th {
	width: 30%;
	white-space: nowrap;
	border: 0;
	background: none;
	text-align: center;
	font-weight: bold;
	vertical-align: middle;
	padding: 20px 10px;
}
#company_tbl td {
	text-align: left;
	border: 0;
	padding: 20px 10px;
}
@media only screen and (max-width: 640px){ /* スマホ用 */
	#company_tbl th {
		text-align: left !important;
	}
}
/*--------------------------------------------------
	採用情報
--------------------------------------------------*/
#recruit_tbl {
	margin-bottom: 40px;
}
#recruit_tbl th {
	width: 20%;
	white-space: nowrap;
}
#recruit_tbl td {
	text-align: left;
}
/*--------------------------------------------------
	お問い合わせ
--------------------------------------------------*/
.wpcf7-form select {
	width: auto;
}
.wpcf7-form table td {
	text-align: left;
}
.wpcf7-form table td .wpcf7-checkbox {
	text-align: left;
}
@media print, screen and (min-width: 641px){ /* PC用 */
	.wpcf7-form table th {
		width: 200px;
		white-space: nowrap;
	}
}
/* ボタン */
.post form.wpcf7-form .linkBtn {
	padding:0 !important;
}
.post form.wpcf7-form .linkBtn input.wpcf7-submit {
	width:100%;
	padding:15px 40px;
}
.post form.wpcf7-form .linkBtn span.ajax-loader {
	position:absolute;
}
/* ナビゲーション調整 */
@media screen and (min-width: 1024px){
nav#mainNav ul li.current-menu-item a::before, nav#mainNav ul li a:hover::before {
    bottom: 21px;
}
}
@media screen and (max-width: 1023px){
body.mobile #mainImg, body.mobile #breadcrumb {
    margin-top: 0;
}
}
body.mobile #breadcrumb {
    margin-top: 0px;
}
/* SP ヘッダーとh1の重なり防止 */
@media only screen and (max-width: 1023px){
body.mobile {
    margin-top: 60px;
}
}
/*-------------------------------------------
   MV切り替え
--------------------------------------------*/
@media screen and (min-width:751px) {
.sp_mv {
display: none;
}
}
@media screen and (max-width:750px) {
.pc_mv {
display: none;
}
}
/*-------------------------------------------
   CTA リンクボタン 中央寄せ
--------------------------------------------*/
.ctaBtn_area {
    text-align: center;
}