@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/
#case_list li h2 {
    overflow: hidden;
}
.label {
    margin: auto;
    width: 80%;
    background: #70ad47;
    color: #feffff;
    padding: 15px;
    font-size: 100%;
    text-align: center;
}
@media print, screen and (min-width: 1024px){
nav#mainNav ul li a {
	height: 44px;
}
	}
@media print, screen and (min-width: 1024px) {
nav#mainNav ul li a {
	padding: 5px 15px;
}
.sticky-header #header .inner {
   background: rgb(255 255 255 / 70%);
}
@media only screen and (min-width: 1024px){
nav#mainNav ul li li:first-child a:hover, nav#mainNav ul li li:last-child a:hover, nav#mainNav ul li li a:hover, nav#mainNav ul li li.current-menu-item:first-child a, nav#mainNav ul li li.current-menu-item:last-child a, nav#mainNav ul li li.current-menu-item a {
    background: rgb(255 255 255 / 70%);
    color: #00a0ff;
}
	}
/*
nav#mainNav {
    box-shadow: 0px 2px 3px #9c9c9c;
}*/
header#h1Header img {
    height: 250px;
}
	}
.post table th {
    color: #85d231;
}
.gallery-caption{
    color: #ff0029;
    font-weight: bold;
    font-size: 20px;
}
.mincho{
	font-family: "Noto Serif JP", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E" , "Times New Roman" , "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media only screen and (max-width: 1023px) {
.mobile #header .inner {
    width: 100%;
    background: #FFF;
}
}
.post h2 {
    margin-top: 1.5em;
}
/*バナー*/
.bnnr {
	/*
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	*/
	display: flex;
}
.post .bnnr .column3_33 {
    width: auto;
	margin: 0;
}
.post .bnnr .column3_33 img {
    max-width: 100%;
	margin: 0;
}
.bnr01 {
	background-size: cover;
	position: relative;
}
.bnr02 {
	background-size: cover;
	position: relative;
}
.bnr03 {
	background-size: cover;
	position: relative;
}
.bnnr .kado{
    border-top: 3px solid;
    border-left: 3px solid;
	    margin: 5%;
}
.bnnr .ttl {
    position: absolute;
	color: #fff;
    font-size: 130%;
    font-weight: bold;
    top: 10%;
    left: 10%;
    /*border-top: 3px solid #000000;
    border-left: 3px solid #000000;*/
    padding: 5%;
	text-shadow:0px 0px 2px #5bbe19,0px 0px 3px #5bbe19,0px 0px 2px #5bbe19,0px 0px 6px #5bbe19,0px 0px 10px #5bbe19;
}
.bnnr .btn {
    position: absolute;
    bottom: 5%;
    right: 5%;
    /*border-bottom: 3px solid;
    border-right: 3px solid;*/
    padding: 5%;
	padding-bottom: 6%;
}
.bnnr .btn a {
    border: 1px solid #5bbe19;
    padding: 12px 40px;
    background-color: rgba(255,255,255,0.70);
    color: #000;
    font-weight: bold;
	font-size: 90%;
}
.bnnr .btn a:hover {
	background-color: rgba(255,255,255,1.00);
}
.bnnr .bg-mask {
    height: 100%;
    height: 100%;
    background: rgba(255,255,255,0.5);
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
    padding: 0 calc((100vw - 100%) / 2);
}
@media print, screen and (max-width: 640px){
.bnnr {
	flex-direction: column;
}
}
.post .bnnr .column3_33 img {
    max-width: 100%;
    margin: 0;
}
.post img.nodeco {
    padding: 0;
    border-width: 0 !important;
    background-color: transparent;
}
/*------------------------
 * マーカー
 * ------------------------*/
.linemarker {
	background: linear-gradient(transparent 60%, #ffe31e 60%);
	padding-left: 10px;
	padding-right: 10px;
	line-height: 1.3em;
}

/*------------------------
テキスト強調
------------------------*/
.txt_point1{
    font-weight: bold;
    font-size: 28px;
    text-align: center;
    line-height: 1.5em;
    padding: 25px 0px;
}
/*------------------------
QAテーブル
------------------------*/
.post table {
    font-size: 100%;
}
.post table.qa tr:nth-child(odd) th{
    font-size: 130%;
    color: #ffffff;
    width: 5%;
    border-color: #ff645b;
    background-color: #ff645b;
    text-align: center;
    vertical-align: middle;
}
.post table.qa tr:nth-child(even) th{
    font-size: 130%;
    color: #ffffff;
    width: 5%;
    border-color: #4488de;
    background-color: #4488de;
    text-align: center;
    vertical-align: middle;
}
.post table.qa  td {
    background-color: #f5f5f5;
}

/*------------------------
改行位置の調整------------------------*/


@media screen and (min-width: 640px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 640px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}

/*カラムの間隔調整
----------------------------*/

.post .column2_50 {
	width:47.5%;
	margin:0 1%;
}
@media only screen and (max-width: 640px) {
	.post .column2_50 {
		width:100%;
		margin:5px 0;
	}
}

/*----------------------
ヘッダー隙間調整
----------------------*/
.mobile #breadcrumb{
margin-top: 60px;
}
.mobile #mainImg{
margin-top: 60px;
}
body.mobile #header .logo{
height: 60px;
}
.mobile #header .logo .mark{
vertical-align: middle;
}


/*----------------------
送信ボタンの幅を広げる
----------------------*/
.wpcf7 .linkBtn {
display:block;
}

/*文字を枠で囲うアレンジ
----------------------------*/
.round {
	border: 2px solid #70AD47;
	margin-bottom:15px;
}

.round2 {
	border: 2px solid #cc8100;
	margin-bottom:15px;
}

.round3 {
	border: 2px solid #00ad17;
	margin-bottom:15px;
}


.round4 {
	border: 2px solid #ffffff;
	margin-bottom:15px;
}

.round p, .round2 p, .round3 p, .round4 p{
	padding:1em;
}


/*
テキストの背景に画像を敷くアレンジ（1）
*/

#wrapper, #content, .post{
	overflow: visible;
	}
.post {
    background-color: rgba(255,255,255,0);
}
#top_msg {
	position: relative;;
	padding: 30px 0;
	line-height: 1.8;
}
#top_msg::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: url(../images/top01.jpg) no-repeat center center;
	background-size: cover;
	-webkit-background-size: cover;
	content: "";
	z-index: -1;
}

@media (min-width: 641px){
	#top_msg {
		padding: 50px 0;
		text-align: center;
	}
}


/*
テキストの背景に画像を敷くアレンジ（2）
*/

#wrapper, #content, .post{
	overflow: visible;
	}
.post {
    background-color: rgba(255,255,255,0);
}
#top2_msg {
	position: relative;
	margin-bottom: 30px;
	padding: 30px 0;
	line-height: 1.8;
}
#top2_msg::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: url(../images/top02.jpg) no-repeat center center;
	background-size: cover;
	-webkit-background-size: cover;
	content: "";
	z-index: -1;
}
@media (min-width: 641px){
	#top2_msg {
		margin-bottom: 50px;
		padding: 50px 0;
		text-align: center;
	}
}


/*@media only screen and (min-width: 1024px) */
.full_width {
    width: 100vw;
    margin-left: calc(((100vw - 100%) / 2) * -1);
}

/*------------------------
画像を画面横幅一杯に表示
------------------------*/
/*class="container full_width"で、画面一杯&横並び配置になる*/
.container.full_width {
    width: 100vw;
    margin-left: calc((100vw - 100%) / 2 * -1);
}
/*class="container full_width mobile_verticalで、スマホ時は縦並びに*/
.post .container.full_width.mobile_vertical {
	flex-wrap:wrap;
}
@media (max-width:768px) {
	.post .container.full_width.mobile_vertical .column3_33,
	.post .container.full_width.mobile_vertical .column2_50 {
		width:100%;
	}
}

/*表組み線のみアレンジ*/

.post table, .post table th, .post table td {
	border:none;
}
.post table tr {
	border-bottom:1px solid #dddddd;
}
.post table th {
	background-color:transparent;
	font-weight:bold;
}
.post table tr:last-child {
	border-bottom:none;
}


/*------------------------
スマホ時のh1重なり防止
------------------------*/

@media only screen and (max-width: 900px) {
h1.title span, .post h1::before {
font-size: 24px;
}
}


/*------------------------
ボックスアレンジ
------------------------*/
.box26 {
    position: relative;
    margin: 2em 0;
    padding: 1em 20px;
    border: solid 3px #FF6532;
    border-radius: 8px;
    font-weight: bold;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -22px;
    left: 13px;
    padding: 0 9px;
    line-height: 1;
    font-size: 30px;
    background: #FFF;
    color: #FF6532;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 0;
}











/*--------------------------------------------------
	オリジナル設定
--------------------------------------------------*/
.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; }
.pad_anchor {
	margin-top: -115px;
	padding-top: 115px;
}
/* 非表示用 */
@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;
}
@media print, screen and (min-width: 641px){ /* PC用 */
	.bg_pad {
		padding: 60px 0;
	}
	.bg_fix::before {
		background-attachment: fixed !important;
	}
	.box_w2 {
		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;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	.box_w2.rev {
		flex-direction: row-reverse;
	}
	.box_w2.vcen {
		-webkit-align-items: center;
		align-items: center;
	}
	.box_pad {
		padding: 30px;
	}
}
/*--------------------------------------------------
	施工事例
--------------------------------------------------*/
.home .front_alinkBtn .linkBtn {
	background: #70AD47;
}
.home .front_alinkBtn .linkBtn:hover {
	background: #93C572;
}
/**/
#case_link,
#case_link li {
	margin: 0;
	padding: 0;
	border: none;
}
#case_link {
	margin-bottom: 40px;
}
#case_link li {
	margin-bottom: 15px;
}
#case_link a {
	display: block;
	padding: 10px;
	border: 1px solid #70AD47;
	color: #000;
	text-align: center;
}
#case_link a:hover {
	background: #70AD47;
	color: #fff;
}
@media print, screen and (min-width: 641px){ /* PC用 */
	#case_link li {
		width: 22.5%;
	}
}
/* 一覧 */
#case_list,
#case_list li {
	margin: 0;
	padding: 0;
	border: none;
}
#case_list li {
	margin-bottom: 30px;
}
#case_list li h2 {
	margin: 0 0 5px;
	padding-bottom: 6px;
}
#case_list .photo {
	text-align: center;
}
#case_list .photo img {
	margin: 0;
	padding: 0;
	border: none;
	vertical-align: bottom;
}
#case_list .tbl th {
	width: 1%;
	white-space: nowrap;
}
@media print, screen and (min-width: 641px){ /* PC用 */
	#case_list {
		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;
	}
	#case_list li {
		width: 32%;
		margin-right: 2%;
	}
	#case_list li:nth-child(3n) {
		margin-right: 0;
	}
}
/* 詳細 */
#case_details .photo,
#case_details .txt {
	overflow: hidden;
	margin-bottom: 20px;
}
#case_details .photo img {
	margin: 0;
	padding: 0;
	border: none;
	vertical-align: bottom;
}
#case_details .tbl th {
	width: 10%;
	white-space: nowrap;
}
/**/
#photo_main {
	margin-bottom: 20px;
	text-align: center;
}
#photo_thumb,
#photo_thumb li {
	margin: 0;
	padding: 0;
	border: none;
}
#photo_thumb {
	overflow: hidden;
}
@media print, screen and (min-width: 641px){ /* PC用 */
	#photo_main {
		float: left;
		width: 55%;
	}
	#photo_thumb {
		float: left;
		width: 45%;
	}
	#photo_thumb li {
		float: left;
		width: 31%;
		margin: 0 0 10px 2% !important;
	}
}
@media only screen and (max-width: 640px){ /* スマホ用 */
	#photo_thumb li {
		float: left;
		width: 23%;
		margin: 0 1% 10px !important;
	}
}
/*バージョンアップCF7送信スピナーによるテキストずれ対応*/
.wpcf7-spinner{
    position: absolute!important;
    margin: 0!important;
}