@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dokdo&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Zen+Maru+Gothic&display=swap');

:root {
	/*------▼基本設定▼------*/
	--color-background: #fff;
	--color-font: #4d4d4d;
	--color-primary: #DFDD6C;
	--color-primary-shade: #FFC7C8;
	--color-primary-tint:#FFE992;
	--color-secondary: #E80303;
	--color-secondary-shade: #FFE8E8;
	--color-secondary-tint: #E6EEEF;
	--color-thirdary: #9ADBC5;
	--color-thirdary-shade: #04B0B8;
	--color-thirdary-tint: #E6EEEF;
	--color-table-border: #866D5B;
	--body-font-size: min(calc(1.8rem + (1vw - 19.2px) * 0.1294), 1.8rem); /* 1.6-1.4rem (1920-375) */
	--body-font-family: "Zen Kaku Gothic New", serif;
	--content-max-width: 1240px;
	--max-wide:calc(((100vw - 100%) / 2) * -1);
	--max-wide-inner:calc((100vw - var(--content-max-width)) / 2);
	/*------▼ヘッダー設定▼------*/
	--header-background: #ffffff;
	--header-color-font: #4d4d4d;
	--header-color-primary: #F886A8;
	--header-color-primary-shade: #A0DDE0;
	--header-color-primary-tint: #ffffff;
	/*------▼フッター設定▼------*/
	--footer-background: #E6EEEF;
	--footer-color-font: #4D4D4D;
	--footer-color-primary: #4D4D4D;
	/*------▼フォント設定▼------*/
	--font-family01: "Noto Sans JP", serif;
	--font-family02: "Dokdo", serif;
	--font-family03:"Zen Maru Gothic", serif;
}
.bg_re{
	position:relative;
}
.bg_max{
	margin-left:var(--max-wide);
	margin-right:var(--max-wide);
}
.gap1{
	gap:1%;
}

/*.post img {
    padding: 0;
    border: none;
    vertical-align: bottom;
    height: 100%;
	object-fit: cover;
}*/

.post .txt_bold,.txt_bold{
	font-weight:600;
}
.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;
}
.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;
}
.ra_15 img{
	border-radius:15px;
}
.ra_25 img{
	border-radius:25px;
}
.ra_30 img{
	border-radius:30px;
}
.em_txt, .post .em_txt{
	font-size: var(--rem30););
	line-height: 1.2;
	font-family: var(--font-family02);
}
.mid_txt, .post .mid_txt{
	font-size: var(--rem24);
	font-weight: 500;
}
.min_txt, .post .min_txt {
    font-size: var(--rem16);
    font-weight: 500;
    line-height: 1.3;
}
.em_txt, .post .em_txt{
	font-family: var(--font-family01);
}

a {
  color: #777;
}

.mt30{
	margin-top: 30px;
}



/*blog*/
#front_top_content, #front_bottom_content{
	background: var(--color-secondary-tint);
	margin-left: var(--max-wide);
	margin-right: var(--max-wide);
}
.post .time, .postlist .time, .post2b .time, .post4b .time{
	border-radius:3px;
}
.post .time a, .post2b .time a, .post4b .time a, .postlist .time a {
	color: var(--color-font);
	font-weight:500;
}
/*metaslider*/
#mainImg img {
    height: auto;
}
@media print, screen and (min-width: 1024px) {
    #header .logo img{
		max-width: 400px;
	}
	nav#mainNav ul li.current-menu-item a span,nav#mainNav ul li.current-menu-parent a span{
			color: var(--header-color-primary);
	}
	nav#mainNav ul li a span {
        color: var(--header-color-primary);
        font-weight:400;
    }
	nav#mainNav ul li a span, nav#mainNav ul li a:hover span{
        color: var(--header-color-primary);
        font-weight:400;
    }
	#header a.head_btn{
		color:var(--header-color-font);	
	}
}
/*h1*/
h1.title{
	font-family:var(--font-family02);
	color: var(--color-primary);
	font-size:12rem;
	line-height: 1.0;
}
h1.title .sub_ttl{
	width: fit-content;
	margin: auto;
	background: var(--color-primary);
	font-family: var(--font-family03);
	color: var(--color-font);
	font-size: var(--rem36);
	padding: 1rem;
	border-radius: 1rem;
	line-height: 1.2;
	letter-spacing: 5px;
}
header#h1Header::before{
	opacity:0;
}
header h1.title span{
	color:var(--color-font);
}
header#h1Header h1.title span{
	font-family:var(--font-family03);
}

@media print, screen and (max-width: 768px){
	h1.title{
		font-size: var(--rem60);
	}
	h1.title .sub_ttl{
		font-size: var(--rem24);
	}
}
/*h2*/
.post h2{
	font-family:var(--font-family03);
	color: var(--color-font);
}
.post h2::after{
	content:none;
}
/*h3*/
.post h3{
	color:var(--color-thirdary-shade);
	font-family: "Inter", "Zen Maru";
	border-bottom: solid 1px var(--color-thirdary-shade);
	font-size: var(--rem30);
}
/*table*/
.post table th {
	background: var(--color-primary-shade);
}
/*linkBtn*/
.linkBtn, .post .linkBtn{
	width:300px;
	background:var(--color-primary-shade);
	color: var(--color-font);
	border-radius: 50px;
	font-weight: 600;
	font-family: var(--font-family03);
}
.linkBtn::after, input.linkBtn::after, .post .linkBtn::after{
	border-right: 2px solid var(--color-font);
	border-bottom: 2px solid var(--color-font);
}
.linkBtn:hover, .post .linkBtn:hover{
	background:var(--color-primary-shade);
	color: var(--color-font);
	opacity:0.75;
}
.post .subimitarea .linkBtn input[type="submit"] {
	padding:0;
}
input[type="submit"]{
	color:var(--color-font);
}


/*footer*/

.chubb_no {
	text-align: center;
}


/*sitemap*/
.post ul#sitemap_list.sitemap_disp_level_0 > li a {
	font-family:var(--body-font-family);
	font-weight:400;
}
@media print, screen and (max-width: 1600px) {
	.post .inner,.post .max_w1240,.post .max_w900,.post .max_w1000,.cta .inner{
		width:90%;
	}
}
/*top*/
.front_post_list h1{
	color:white;
}

.top01 .linkBtn{
	font-size:var(--rem18);
	width:-webkit-fill-available;
}
.top01 .linkBtn.right{
	background: var(--color-primary-tint);););
}
.top01 .inner{
	margin-top:-10rem;
	z-index: 10;
	position: relative;
	border-radius: 30px;
	box-shadow:0 0 10px 0 rgba(0, 0, 0, .2);
}
.top01 h2{
	text-align:left;
	font-family:var(--font-family03);
	color:var(--color-font);
	line-height: 2.0;
}
.top01 h2 span{
	background: var(--color-secondary-tint);
	border-radius: 5px;
	padding: 0.5rem;
}
.top01 h2::after{
	content:none;
}

.top02-service .title{
	text-align:center;
	background:var(--color-primary-shade);
	font-size:var(--rem36);
	padding-block:1.5rem;
	font-family:var(--font-family03);
	font-weight:600;
	border-radius:30px;
}
.top02-service .title.service02{
	background: var(--header-color-primary-shade);
}

.top02-service .service-area{
	background: var(--color-secondary-shade);
	border-radius: 30px;
}
.top02-service .service-area.service02{
	background: var(--color-secondary-tint);
}
.top02-service .service-area .card{
	background:white;
	padding:2rem;
	display: flex;
        flex-direction: column;
        justify-content: center;
        /*align-items: center;*/
}
.top02-service .service-area .card .sub_ttl{
	margin-top:1rem;
	margin-bottom:1rem;
	text-align:center;
	background: var(--color-primary-tint);
	font-weight: 600;
	font-family: var(--font-family03);
}
.top02-service .linkBtn{
	width:-webkit-fill-available;
	padding:1rem;
}
.top02-service .service02 .linkBtn{
	background: var(--header-color-primary-shade);
}
.top02-service .service02 div img{
	margin-right:1rem;
}
@media print, screen and (max-width: 430px){
	.top01 .linkBtn{
		/*width:250px;*/
	}
	.top02-service .linkBtn{
		width: 250px;
	}
	.top02-service .title {
		font-size: var(--rem16);
	}
}
.top03 h1{
	color:var(--color-primary-shade);
}
.top03 h1 .sub_ttl{
	margin-left: 0;
	background: none;
	padding: 0;
}
.top03 .inner{
	margin-top:-10rem;
	z-index: 10;
	position: relative;
	border-radius: 30px;
}
.top04 .flexbox{
	margin:auto;
}
.top04 .link_item {
    width: 47.5%;
    margin: 0;
    border: none;
    position: relative;
    display: inline-table;
}
.post .link_item .link_item_img {
    position: relative;
    width: 100%;
    overflow: hidden;
    border: solid 5px var(--color-thirdary);
    border-radius: 10px;
    height: 450px;
}
.post .link_item.right .link_item_img{
	border: solid 5px var(--color-primary);
}
.post .link_item_img:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.post .link_item .link_item_img:after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(160, 221, 224, 0.4);
    pointer-events: none;
}
.post .link_item.right .link_item_img:after{
	 background: rgba(223, 221, 108, 0.4);
}
.post .link_item_img img {
    position: absolute;
    width: 100%;
    max-width: initial;
    height: 450px;);
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -o-object-fit: cover;
    object-fit: cover;
    margin: 0;
    padding: 0;
    opacity: 0.5;
}

.post .link_item a:hover .link_item_img img {
    width: 120%;
    height: 120%;
}

.link_item .link_item_ttl {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    width: 80%;
    padding: 30px 15px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    font-size: var(--rem36);
    font-weight: 500;
    color: var(--color-font);
    background: white;
    border-radius: 5px;
}

.link_item .link_item_ttl span.top_ttl {
    font-size: var(--rem42);
    font-weight: 600;
    color:var(--color-font);
    text-align: center;
	font-family:var(--font-family03);
}
.link_item .link_item_ttl p {
    padding: 0 2rem;
    font-size: 16px;
    font-weight: 400;
}
.post .link_item a:hover .link_item_ttl {
    color: #fff;
}
.top04 .link_item_ttl .txt_c{
	margin:auto;
}
.top04 .link_item .linkBtn{
	width: 350px;
	margin: auto;
	font-size:var(--rem16);
	text-align:center;
	margin-top: 2rem;
	margin-bottom: 2rem;
	background: var(--color-thirdary);
	color: white;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}
.top04 .link_item.right .linkBtn{
	background: var(--color-primary);
}
.top04 .linkBtn::after{
	border-right: 2px solid white;
    border-bottom: 2px solid white;
}
.top04 .linkBtn:hover{
	background: var(--color-thirdary);
	color: white;
	opacity:0.5;
}
@media only screen and (max-width: 1100px) {
    .post .link_item{
		width:100%;
		height: 200px;
	}
	.post .link_item_img {
	    position: relative;
	    width: 100%;
	    overflow: hidden;
	    height: 200px;
	}
	    .post .link_item{
		height: 300px;
	}
	.post .link_item_img {
	    position: relative;
	    width: 100%;
	    overflow: hidden;
	    height: 300px;
	}
}
@media only screen and (max-width: 768px) {		
	.top04 .link_item.left{
		margin-bottom:30px;
	}
    .post .link_item{
		height: 300px;
	}
	.post .link_item_img {
	    position: relative;
	    width: 100%;
	    overflow: hidden;
	    height: 300px;
	}
	.post .link_3col {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 10px;
    }

    .post .link_item_img:before {
        padding-top: 120px;
    }

    .link_item .link_item_ttl {
        left: 0;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(12.5%, -52%);
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        gap: 0;
        padding: 0 15px;
    }
	
    .link_item .link_item_ttl span {
        font-size: 24px;
    }
	.link_item .link_item_ttl span.sub_ttl{
		padding:0;
		text-align: left;
	}
	.link_item .link_item_ttl span.top_ttl{
		margin: auto;
		margin-top: 1rem;
		margin-bottom: 1rem;
	}
	
}
@media only screen and (max-width: 430px){
	.top04 .link_item .linkBtn {
	    width: -webkit-fill-available;
	}
	.top04 .link_item.right .linkBtn {
	    width: 200px;
	}
	.top04 .link_item.left{
		height: 400px;
	}
	.post .link_item_img{
		height:400px;
	}
}

.cta .bg{
	position:absolute;
	background:url(/wp-content/uploads/cta-bg.png);
	top:0;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-size: cover;
	z-index:-10;
	background-position-x: 50%;
	left: 0;
}
.cta .bg::after{
	position:absolute;
	content:"";
	top:0;
	width:100%;
	height:100%;
	background: rgba(187, 224, 230, 0.25);
}
.cta .inner{
	padding: 5rem;
	border-radius: 5px;
}
a.btn{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1%;
	z-index: 10;
	border-radius: 5px;
	height: 100px;
}
a.btn:hover{
	opacity: 0.5;
}
a.btn.left{
	background: var(--color-primary-shade);
	color: var(--color-font);
}
a.btn.right{
	background: var(--header-color-primary-shade);
}
a.btn p{
	font-weight:500;
}
a.btn.right p{
	line-height:1.3;
}
.cta .min_txt{
	font-size: var(--rem28);
	font-weight: 600;
}
@media only screen and (max-width: 430px){
	.cta .inner{
		padding: 5rem 2rem;
	}
	.link_item .link_item_ttl p {
	    padding: 0 0.5rem;
	}
}

.post h3 .num{
	background:var(--color-thirdary-shade);
	color: white;
	padding: 5px 7px;
	margin-right: 1rem;
	border-radius:5px;
}

.flow .card{
	background: var(--color-secondary-tint);
	border-radius: 30px;
	margin-bottom:12.0rem;
	position:relative;
}

.flow .card:not(:last-child)::after {
	content: "";
	position: absolute;
	bottom: -80px;
	left: 50%;
	transform: translatex(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 25px 0 25px;
	border-color: var(--color-thirdary-shade) transparent transparent transparent;
}

/*--FAQ-------------------------------------------*/

.toggle {
	display: none;
}

.top_faq {
	margin-bottom: max(50px, min(5.71vw, 80px));
}

.faq_list {
	margin-bottom: 15px;
}

.faq_question {
	font-size: max(14px, min(1.82vw, 20px));
	line-height: 1.5;
	/* padding: 1em 2.5em 1em 3em; */
	display: block;
	background: transparent;
	position: relative;
	display: flex;
	border: solid 1px var(--color-thirdary-shade);
	font-weight: 500;
}
.faq_answer .a_ico{
	color: #ffffff;
	background: var(--color-secondary-tint);
	line-height: 1.0;
	padding: 1rem 1rem 1rem 1rem;
	font-size: 2.2rem;
	/* border-right: 1px solid #cccccc; */
	width: 100%;
	text-align: center;
	max-width: 90px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--body-font-family);
	border: solid 1px var(--color-thirdary-shade);
	color: var(--color-thirdary-shade);
	border-bottom: none;
}
.faq_question .q_ico{
	background: var(--color-thirdary-shade);
	line-height: 1.0;
	padding: 1rem 1rem 1rem 1rem;
	font-size: 2.2rem;
	font-weight: bold;
	width: 100%;
	text-align: center;
	max-width: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--body-font-family);
	border: 1px solid var(--color-thirdary-shade);
	color: white;
}

.faq_question .q_desc, .faq_answer .a_desc {
	padding: 1.5rem 1.5rem 1.5rem 2rem;
	line-height: 1.7;
}
.faq_question span {
	padding-right: 10px;
}

.faq_question,
.faq_answer {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	/*transition: all 0.3s;*/
}

.faq_answer {
	background: #FFF;
	padding-left: 3em;
	margin: 0 auto;
}

.faq_answer p {
	padding-left: 2.0em;
}


.faq_question::after {
	content:"";
	width: 10px;
	height: 10px;
	border-top: 1px solid var(--color-thirdary-shade);
	border-right: 1px solid var(--color-thirdary-shade);
	-webkit-transform: rotate(45deg);
	position: absolute;
	top: calc( 50% - 7px );
	right: max(15px, min(2.14vw, 30px));
	transform: rotate(135deg);
}

.faq_answer {
	height: 0;
	overflow: hidden;
}

.toggle:checked + .faq_question + .faq_answer {
	height: auto;
	/* padding:20px; */
	/*transition: all .3s;*/
	background: transparent;
	font-size: max(14px, min(1.82vw, 20px));
	display: flex;
	padding-left: 0;
	border-bottom: solid 1px var(--color-thirdary-shade);
	border-right: solid 1px var(--color-thirdary-shade);
}

.toggle:checked + .faq_question::after {
	transform: rotate(-45deg) !important;
}

@media only screen and (max-width: 430px){
	.faq_question .q_ico {
		max-width: 49px;
	}
	.faq_answer .a_ico{
		max-width: 49px;
	}
}
.txt_blue{
	color: #A0DDE0;
	font-family: var(--font-family03);
}
.txt_bigger{
	font-size:var(--rem40);
}
.about-us01 h1 .sub_ttl,.about-us02 h1 .sub_ttl{
	background: none;
    font-size: var(--rem40);
    padding: 0;
}
.about-us02 .card{
	padding: 4.5rem 3rem 3rem;
	background: var(--color-secondary-tint);
	border-radius:15px;
	width:33.3%;
}
.about-us02 {
	counter-reset: number;
}
.about-us02 .flexbox .w30 figure:before{
  position: absolute;
  counter-increment: number;
  content: "0" counter(number);
  display: inline-block;
  background: #A0DDE0;
  color: var(--color-font);
  font-weight: bold;
  font-size: 3rem;
  border-radius: 50%;
  left: 50%;
  width: 8rem;
  height: 8rem;
  line-height: 7.5rem;
  text-align: center;
  top: -9rem;
  transform: translateX(-50%);
  z-index: 99;
  font-family: var(--font-family03);
}
@media only screen and (max-width: 768px){
	.about-us02 .card{
		width:100%;
		margin-bottom:50px;
		padding: 4.5rem 2rem 2rem;
	}
}

p.font16{
	font-size:16px;
}

.dateLabel,header h1.title span{
	font-family: var(--body-font-family);
	font-style: normal;
}

@media print, screen and (min-width: 1024px) {
    #header a.head_btn.accident_btn::before {
        content: '\f0f9';
    }
	#header a.head_btn.accident_btn {
        background: #e97132;
    }
	#header a.head_btn:hover {
        background: var(--header-color-primary-tint);
    }
}

/*--スマホ時ヘッダーロゴサイズ調整------------------------------*/

@media print, screen and (max-width: 1023px) {
    body.mobile #header .logo img {
        width: auto;
        height: 100%;
        max-width: 320px;
        max-height: 50px;
        -o-object-fit: contain;
        object-fit: contain;
    }
}