@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/

/*------------------------
改行位置の調整------------------------*/


@media screen and (min-width: 769px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 768px){	
  .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 #2d9e4e;
	margin-bottom:15px;
}

.round2 {
	border: 2px solid #FD9E4E;
	margin-bottom:15px;
}

.round3 {
	border: 2px solid #2D9EFE;
	margin-bottom:15px;
}


.round4 {
	border: 2px solid #071a0d;
	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(/struct/wp-content/uploads/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(/struct/wp-content/uploads/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 );
}


/*
テキストの背景に画像を敷くアレンジ（3）
*/

#wrapper, #content, .post{
	overflow: visible;
	}
.post {
    background-color: rgba(255,255,255,0);
}
#top3_msg {
	position: relative;
	margin-bottom: 30px;
	padding: 30px 0;
}
#top3_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(/struct/wp-content/uploads/top03x.jpg) no-repeat center center;
	background-size: cover;
	-webkit-background-size: cover;
	content: "";
	z-index: -1;
}
@media (min-width: 641px){
	#top3_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 .container .column3_33, .post .container-rwd .column3_33{
	margin:0 auto;
}
.post .container .column3_33 img, .post .container-rwd .column3_33 img{
	margin:0 auto;	
}

.post .container .column2_50, .post .container-rwd .column2_50{
	margin:0 auto;
}
.post .container .column2_50 img, .post .container-rwd .column2_50 img{
	margin:0 auto;	
}



/*表組み線のみアレンジ*/

.post table, .post table th, .post table td {
	border:none;
}
.post table tr {
	border-bottom:1px solid #071a0d;
}
.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: 26px;
}
}

/*------------------------
グローバルメニュー幅調整
------------------------*/
@media only screen and (min-width: 1024px) {

nav#mainNav ul li a {
	padding-left:26px;
	padding-right:26px;
}

}/*@media only screen and (min-width: 1024px) */


/*------------------------
投稿一覧ページ見出し修正
------------------------*/
.post4b h2 {
    overflow: hidden;
}

.post h2 {
    overflow: hidden;
}


/*タイトル背景img被り対策
-----------------------------------*/
body.mobile #mainImg,
body.mobile #breadcrumb ,
body.mobile #header + #wrapper,
body.mobile #header + #wrapper-full,
body.mobile #h1Header ,
body.mobile #thumbImg {
margin-top:60px !important;
}

body.mobile.page-template-page-fullthumb #breadcrumb,
body.mobile.page-template-page-nosidebar-fullthumb #breadcrumb,
body.mobile.page-template-page-nosidebar-fullwidththumb #breadcrumb,
body.mobile.page-template-page-fullthumb-h1 #breadcrumb,
body.mobile.page-template-page-nosidebar-fullthumb-h1 #breadcrumb,
body.mobile.page-template-page-nosidebar-fullwidththumb-h1 #breadcrumb {
margin-top:0px !important;
}



/*メイン画像下隙間詰める----------------------------*/

#mainImg {
    padding-bottom: 0;
}
.home #content {
    padding-top: 0;
}
.home .post {
    padding-top: 0;
}

/*カラムの間隔調整
----------------------------*/

.post .column3_33 {
	width:30.5%;
	margin:0 1%;
}
@media only screen and (max-width: 640px) {
	.post .column3_33 {
		width:100%;
		margin:5px 0;
	}
}


/*-----------------------------------
パララックス
-----------------------------------*/
body{
	overflow-x:hidden;
	}
#wrapper, #content, .post{
	overflow: visible;
	}
.greeting h1 {
	font-size: 200%;
	margin-bottom: 2em;
	text-align: center;
	border-width:0;
}
.greeting {
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: 0 calc((100vw - 100%) / 2);
	background: url(/struct/wp-content/uploads/top00.jpg) no-repeat center center;
	background-size:cover;
	background-attachment: fixed;
}
.bg-mask { /*背景写真を半透明白にする*/
  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);
}
.greeting .box {
padding:40px 8px;
font-weight:bold;
min-height: 360px;
}

/*表組み文字調整*/

.post table {
	font-size: 100%;
}







/*--------------------------------------------------
	オリジナル設定
--------------------------------------------------*/
.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;
	}
	.box_w2 .column2_50 {
		width: 48%;
	}
}
/*--------------------------------------------------
	商品紹介
--------------------------------------------------*/
/* 一覧 */
#products_list ul,
#products_list ul li {
	margin: 0;
	padding: 0;
	border: none;
}
#products_list .box {
	margin: 20px 0;
	padding: 15px;
	padding-bottom: 1px;
	border: 1px solid #7F7F7F;
}
#products_list .box .photo {
	height: 200px;
}
#products_list .box .photo img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
#products_list .box .linkBtn {
	background: #2D9E4E;
}
#products_list .box .linkBtn:hover {
	background: rgba(142,158,147,1);
}
@media print, screen and (min-width: 641px){ /* PC用 */
	#products_list .box {
		height: calc(100% - 50px);
		padding: 20px;
		padding-bottom: 1px;
		box-sizing: border-box;
	}
	#products_list .box li {
		width: 48%;
	}
}
/* 詳細 */
#products_detail ul,
#products_detail ul li {
	margin: 0;
	padding: 0;
	border: none;
}
#products_detail table {
	margin-bottom: 40px;
}
#products_detail table th {
	white-space: nowrap;
	vertical-align: middle;
}
#products_detail table td {
	text-align: left;
}
/**/
#products_detail .box {
	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-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#products_detail .price p.nm {
	margin-bottom: 6px;
}
#products_detail .price p.price_mr {
	margin-right: 22px;
}
#products_detail .mark {
	padding-left: 10px;
	text-align: center;
}
#products_detail .mark p {
	padding-bottom: 0;
}
#products_detail .mark img {
	width: 40px;
}
#products_detail .ico {
	margin-bottom: 15px;
	font-size: 10px;
	line-height: 1.3;
}
/**/
#products_detail .list li {
	display: inline-block;
	margin: 0 8px 10px 0;
}
#products_detail .list li img {
	width: 90px;
	border-radius: 10px;
}
#products_detail .linkBtn {
	display: block;
	background: #2D9E4E;
}
#products_detail .linkBtn:hover {
	background: rgba(142,158,147,1);
}
#products_detail .btn.btn_pdf li a {
	background: #fd9e4e;
}
@media print, screen and (min-width: 641px){ /* PC用 */
	#products_detail .box {
		float: right;
	}
	#products_detail .price {
		font-size: 115%;
	}
	#products_detail .btn li {
		width: 32%;
	}
	#products_detail .btn.btn_pdf li {
		width: 48.5%;
	}
}
@media only screen and (max-width: 640px){ /* スマホ用 */
	#products_detail table th {
		padding-bottom: 0;
	}
	#products_detail table td {
		padding-top: 5px;
	}
}

/*バージョンアップCF7送信スピナーによるテキストずれ対応*/
.wpcf7-spinner{
    position: absolute!important;
    margin: 0!important;
}