@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
/*------@import------*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@100;300;400;500;700;900&display=swap');
:root {
	/*------▼基本設定▼------*/
	--color-background: #fff;
	--color-font: #111;
	--color-primary: #2FB745;
	--color-primary-shade: #FFF9E1;
	--color-primary-tint: #2FB745;
	--color-secondary: #EAEAEA;
	--color-secondary-tint: #ff4949;
	--color-table-border: #ccc;
	--body-font-size: min(calc(1.6rem + (1vw - 19.2px) * 0.1294), 1.6rem); /* 1.6-1.4rem (1920-375) */
	--body-font-family: 'Noto Sans JP', sans-serif;
	--content-max-width: 1600px;
	/*------▼ヘッダー設定▼------*/
	--header-background: #fff;
	--header-color-font: #525252;
	--header-color-primary: #2FB745;
	--header-color-primary-shade: #EBD068;
	--header-color-primary-tint: #525252;
	/*------▼フッター設定▼------*/
	--footer-background: #2FB745;
	--footer-color-font: #fff;
	--footer-color-primary: #fff;
	/*------▼フォント設定▼------*/
	--font-family01: 'Zen Kaku Gothic New', sans-serif;
	--font-family02: 'Oswald', 'Noto Sans JP', sans-serif;
	--max-wide:calc(((100vw - 100%) / 2) * -1);
	--max-wide-inner:calc((100vw - var(--content-max-width)) / 2);
}

.bg_re{
	position:relative;
}
.bg_max{
	margin-left:var(--max-wide);
	margin-right:var(--max-wide);
}
.w_fit{
	max-width:fit-content
}
.flex_wrap{
	flex-wrap: wrap;
}
.gap_col_row {
    row-gap: 3em;
}
.txt_red {
	color:red;
}
.txt_white{
	color:white;
}
.mid_txt, .post .mid_txt {
	font-size: var(--rem24);
	font-weight: 600;
}
.ap_1 img{
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;	
}
.ap_3_2 img{
	width: 100%;
	aspect-ratio: 3/2;
	object-fit: cover;
}
.ap_8_5 img{
	width: 100%;
	aspect-ratio: 8/5;
	object-fit: cover;
}
.ap_7_3 img{
	width: 100%;
	aspect-ratio: 7/3;
	object-fit: cover;
}
.ap_9_5 img{
	width: 100%;
	aspect-ratio: 9/5;
	object-fit: cover;
}
.ap_8_5 img{
	width: 100%;
	aspect-ratio: 8/5;
	object-fit: cover;
}

.gap10 {
	gap: 10%;
}


/*--グローバルメニュー--------------------------------------------*/
nav#mainNav ul li a b{
    font-weight:500;
}
/*------フッターナビ
--------------------------------------------*/
#footer .footnav {
	float: none;
	margin-bottom: 20px;
}
#footer hr.inner {
	background-color:white;
	height: 1px;
	border: 0;
}
#footer .footnav ul > li {
	position: relative;
	line-height: 1.4;
	padding: 0 min(calc(16px + (1vw - 19.2px) * 0.4531), 16px) 0 min(calc(15px + (1vw - 19.2px) * 0.4531), 15px); /* 16-9px、15-8px (1920-375) */
	margin-bottom: 10px;
}
#footer .footnav ul > li::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	width: 6px;
	height: 6px;
	border-right: 1px solid var(--footer-color-font);
	border-bottom: 1px solid var(--footer-color-font);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-top: -3px;
	background: none;
}
#footer .footnav ul > li::before {
	left: -5px;
}
#footer .footnav ul > li::after{
	content:none;
}
#footer .inner{
	align-items: flex-end;
}
/*--メインビジュアル--------------------------------------------*/

@media print, screen and (min-width: 769px) {
	#mainImg .metaslider-259{
		display:none;
	}
	#mainImg .metaslider-98{
		display:contents;
	}
}
@media print, screen and (max-width: 768px) {
	#mainImg .metaslider-98{
		display:none;
	}
	#mainImg .metaslider-259{
		display:contents;
	}
}
/*--サイトマップ--------------------------------------------*/

.post ul#sitemap_list.sitemap_disp_level_0 > li {
    margin-bottom: 0;
    padding: 0;
    background: none;
    border-bottom: none;
}
.post ul#sitemap_list.sitemap_disp_level_0 > li a {
    font-weight: 400;
}
/* table */
.post table {
	border-collapse: separate;
	border-spacing: 0 2px;
}
.post table {
	border: none;
}
.post table th {
	border-right: none;
	background-color: var(--color-primary);
	color: #FFF;
	font-weight: 500;
}
.post table td {
	border-left: none;
}

@media only screen and (max-width: 640px) {
	.post table.responsive tr:last-child td:last-child {
		border-bottom: solid 1px var(--color-table-border);
	}
	.post table.responsive th {
		border-top: solid 1px var(--color-table-border);
		border-left: solid 1px var(--color-table-border);
		border-right: solid 1px var(--color-table-border);
	}
	.post table.responsive td {
		border-left: solid 1px var(--color-table-border);
		border-right: solid 1px var(--color-table-border);
	}
}

/*blog*/
#front_top_content, #front_bottom_content {
	background: white;
}
#front_bottom_content{
	margin-left: var(--max-wide);
	margin-right: var(--max-wide);
	background: var(--color-primary-shade);
	padding-bottom: 17em;
	position: relative;
}
#front_bottom_content:after{
	position: absolute;
	content:"";
	width:100%;
	height:50%;
	background:url(/wp-content/uploads/blog_bg.png);
	background-size:cover;
	bottom:0;
}
.front_post_list{
	background:white;
	padding:5%;
}

/*お問い合わせ*/
.wpcf7-form .must {
	background: var(--color-secondary-tint);
}
/*linkBtn*/
.linkBtn:hover, .post .linkBtn:hover{
	opacity:0.75;
}
.linkBtn, .post .linkBtn{
	line-height:1.2;
	z-index: 10;
}
.linkBtn.btn_w250{
	max-width: 250px;
}
.post .subimitarea .linkBtn input[type="submit"]{
	padding:0;
}
/*グローバルメニュー*/
@media print, screen and (min-width: 1024px) {
    #header a.head_btn:hover {
        background: var(--color-primary-shade);
        color: var(--color-primary);
    }
}
/*h1*/
post h1, h1.title {
	color: var(--header-color-primary-tint);
	letter-spacing: 0px;
}

/*h2*/
.post h2, #footer h2{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: var(--rem36);
	font-weight: 600;
	margin: var(--px120) auto var(--px50);
	margin-top: 0;
	color: var(--header-color-primary-tint);
	letter-spacing: 0px;
}

h2 {}
.post h2::after{
	content:none;
}
.post h2 img{
	width: 100px;
	margin-bottom:1em;
}
h2.txt_green{
	color: var(--color-primary);
}
h2.txt_l{
	align-items: flex-start;
}
/*top blog list*/
.post .time, .postlist .time, .post2b .time, .post4b .time{
	background: var(--header-color-primary-shade);
}
/*top*/
.top01 {
	background:url(/wp-content/uploads/top01-bg.jpg);
	padding-top: 10em;
	padding-bottom: 10em;
	background-size: cover;
}
.top01 .wh_box_50{
	box-shadow: 2px 2px 1px 0px #ccc;
}

.top01:before{
	content:"";
	position:absolute;
	width: 35%;
	height: 35%;
	background:url(/wp-content/uploads/deer.png);
	left: 10%;
	bottom:0;
	z-index:99;
	background-repeat:no-repeat;
	transform: translateY(-10%);
	background-size: contain;
}
.top01:after{
	content:"";
	position:absolute;
	width: 35%;
	height: 35%;
	background:url(/wp-content/uploads/bear.png);
	right: -10%;
	bottom:0;
	z-index:99;
	background-repeat:no-repeat;
	transform: translateY(-10%);
	background-size: contain;
}
.top02{
	background: var(--color-primary-shade);
}
.top02 .re_100 img{
	border-radius:100%;
	aspect-ratio:1;
}
.top02 .re_100{
	position:relative;
}
.top02 .re_100:before{
	position:absolute;
	content:"";
	width:100%;
	height: 90%;
	background:url(/wp-content/uploads/mimoza.png);
	background-size:contain;
	background-repeat:no-repeat;
	bottom:0;
	transform: translateY(40%);
}

.top02 h3{
	margin: 20% 0 1%;
	border:0;
	line-height: 1.2;
	color: var(--header-color-font);
}
.top03 .flexbox:nth-of-type(odd) .card{
	padding-left: var(--max-wide-inner);
}
.top03 .flexbox:nth-of-type(even) .card{
	padding-right: var(--max-wide-inner);
}

@media print, screen and (max-width: 1600px){
	.inner{
		width:90%;
	}
	.top03 .flexbox:nth-of-type(odd) .card{
		padding-left: 5%;
		padding-right: 5%;
		width: 50%;
	}
	.top03 .flexbox:nth-of-type(even) .card{
		padding-right: 5%;
		padding-left: 0;
		width: 50%;
	}
}
@media print, screen and (max-width: 1024px){
	.top02 .re_100:before{
	height: 100%;
}
}
@media print, screen and (max-width: 768px){
	
	.top03 .flexbox:nth-of-type(odd) .card{
		padding-left: 0;
		padding-right: 0;
		width: 50%;
	}
	.top03 .flexbox:nth-of-type(even) .card{
		padding-right: 0;
		padding-left: 0;
		width: 50%;
	}
	.top03 .flexbox{
		/* width:95%; */
		margin:auto;
	}
}
@media print, screen and (max-width: 1024px){
	.top01:before{
		width: 30%;
		height: 30%;
		left: 10%;
		top:0;
		transform: translateY(10%);
	}
	.top01:after{
		width: 30%;
		height: 30%;
		right: 0;
		transform: translateY(20%);
	}
	.top02 .inner{
		width:90%;
	}
}
@media print, screen and (max-width: 768px) {
	.inner {
		width: 90%;
	}
	.top03 .flexbox:nth-of-type(odd) .card,
	.top03 .flexbox:nth-of-type(even) .card{
		margin: 7% auto;
		width:90%;

	}
	.top02 .inner{
		width:40%;
	}
	a.btn_green, a.btn_gray {
        width:50%;
		margin:auto;
    }
}

@media print, screen and (max-width: 767px) {
	.top01:before{
		width: 40%;
		height: 40%;
		left: 10%;
		top:0;
		transform: translateY(10%);
	}
	.top01:after{
		width: 40%;
		height: 40%;
		right: 10%;
		transform: translateY(45%);
	}
	.top03 .flexbox{
		width:100%;
		margin:auto;
	}
}
@media print, screen and (max-width: 540px) {
	.top01:before,.top01:after{
		width: 35%;
		height: 35%;
	}
	.top02 .inner{
		width: 75%;
	}
}

.cta {
	background: url(/wp-content/uploads/cta_bg.jpg);
	background-size: cover;
	padding-top: 7em;
	padding-bottom: 7em;
	background-position-x: 55%;
}
body.home .cta.footer{
	display:none;
}
.cta .wh_box_90 {
	padding:5em 1em;
}

.cta .btn_green .mid_txt {
	font-size: var(--px30w);
}

a.btn_green,
a.btn_gray {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1%;
	height: 140px;
	margin-bottom: 0;
	line-height:1.5;
}

a.btn_green {
	background: var(--color-primary);
	color: white;
}

a.btn_gray {
	background: var(--color-secondary);
	color: var(--color-primary);
}

a.btn_green:hover,
a.btn_gray:hover {
	opacity: 0.75;
}

/*下層*/

/*header*/
header#h1Header h1.title{
	color: #777;
	letter-spacing: -1px;
}
#thumbImg::before, header#h1Header::before {
	background:none;
}
/*about-us*/

.about-us01 h2{
	display: block;
	color:green;
}
.about-us01 h2 span{
	margin-right:0.3em;
}
@media print, screen and (min-width: 768px){
	.about-us01 .pc_none{
		display:none;
	}
}
.about-us01 .pc_none{
	text-align:right;
	margin-top:-40vw;
}
.about-us01 .pc_none img{
	width:40%;

}

.about-us03 dl{
	padding-top:10px;
	border-bottom: solid 1px var(--color-primary);
}
.about-us03 dl:first-of-type{
	border-top: solid 1px var(--color-primary);
}

/*service*/
.service02 .gap{
	gap: 20%;
}
.service02 dl.flexbox{
	line-height:2.0;
}
.service02 dl.flexbox dt:before{
	position:absolute;
	content:"";
	width: 65px;
	height: 5px;
	top: 15%;
	right: -75px;
	background-image: radial-gradient(var(--color-primary) 30%, #fff 30%);
	background-size: 5px 5px;
}
.service02 dl.flexbox dd,
.service02 dl.flexbox dt{
	margin-top:1em;
}
.service02 dl.flexbox dd:before{
	position:absolute;
	content:"";
	width: 100%;
	height: 5px;
	left: 0;
	bottom: 0;
	background-image: radial-gradient(var(--color-primary) 30%, #fff 30%);
	background-size: 5px 5px;
}
.service02 dl.flexbox dd.lh_2{
	padding-bottom: 2em;
}

.service02.bg_re::before{
	position:absolute;
	content:"";
	width: max(250px, min(24.57vw, 400px));
	height: max(250px, min(24.57vw, 400px));
	background:url(/wp-content/uploads/flower-2.png) no-repeat;
	margin-left: 50vw;
	background-size: contain;
	bottom: max(100px, min(42.57vw, 200px));
}
@media print, screen and (max-width: 426px){
	.service02.bg_re::before{
		margin-left: 10vw;
		width: max(300px, min(24.57vw, 400px));
		height: max(300px, min(24.57vw, 400px));
		bottom: max(300px, min(42.57vw, 200px));
	}
}
.service03 h3 .num{
	padding:0.5% 1%;
	background: var(--color-primary);
	color:white;
	margin-right: 0.5em;
}
.service03 h3{
	padding-left:0;
	color: var(--header-color-font);
}
.service03 dl dt{
	color: var(--header-color-font);
}
.service03 .bg_re{
	background: var(--color-primary-shade);
}
.service03 .bg_re:not(:last-child){
	margin-bottom: 10em;
}
.service03 .bg_re:not(:last-child)::after {
	content: "";
	position: absolute;
	bottom: -7.5em;
	left: 50%;
	transform: translatex(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 50px 0 50px;
	border-color: var(--color-primary-tint) transparent transparent transparent;
}
@media print, screen and (max-width: 768px) {
	.service02 dl.flexbox dd{
		margin-left:2em;
	}
	.service02 dl.flexbox dt,.service02 dl.flexbox dd{
		margin-bottom:0;
	}
	.service02 dl.flexbox dt:before{
		width: 5px;
		height: 50px;
		top: 95%;
		left: 9px;
	}
	.service02 dl.flexbox dd:before{
		width:90%;
	}
	a.btn_green,
	a.btn_gray {
		height:110px;
	}
	.service02 .flexbox:first-child .w80:last-child{
	margin-bottom: 0;
	margin-left: 0;
	position: sticky;
}
}
@media print, screen and (max-width: 767px){
	a.btn_green,
	a.btn_gray {
		width:100%;
	}
}
body.category #content{
	width: 100%;
}
#footer{
	padding:0;
	padding-bottom: var(--px30);
}
#footer p.txt_c{
	color:var(--color-font);
}

@media print, screen and (max-width: 1023px) {
    nav#mainNav ul li a:hover {
        background-color: white !important;
    }
}

/*トップの文章左右余白調整*/

p.top_about{
	padding-left: 10%;
	padding-right: 10%;
}

p.top02_txtarea{
	padding-left: 8%;
	padding-right: 8%;
}

.max_w500 {
    max-width: 500px;
}