@charset 'UTF-8';
body {font-size:1.8em;}
pre {
    font-family: "Noto Sans Japanese", 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    width: 100%;
    white-space: pre-wrap;
    word-break: break-all;
    white-space-collapse: preserve-breaks;
    text-wrap: wrap;
    overflow-wrap: break-word;
}
.title-03._common {
	font-size: clamp(2rem, 3vw, 3rem);
    font-weight: bold;
    line-height: 1.4;
	background:#5bc365;
	color:#fff;
	padding:10px 20px 5px 20px;
}
.title-04._common {
	font-size: clamp(2rem, 3vw, 3rem);
    font-weight: bold;
    line-height: 1.4;
	background:#5bb3c3;
	color:#fff;
	padding:10px 20px 5px 20px;
}
.title-03._common:before {
	content:url(../images/common/title-icon01);
	vertical-align: middle;
	padding-right:10px;
}
.title-04._common:before {
	content:url(../images/common/title-icon02);
	vertical-align: middle;
	padding-right:10px;
}
.flex3 {
	gap:2%;
	align-items: stretch !important;
}
.flex3 div {
	width:32%;
}
.flex3 div img {
	object-fit:cover;
	object-position:center;
	min-height:288px;
}
.contentBg {
	background:#f3f3f3;
	padding:5% 0;
}
.contentBg .box {
	background:#2da037;
	padding:20px;
	text-align:center;
	color:#fff;
	font-size:1.2em;
}
.contentBg .box h3 {
	font-size: clamp(1.8rem, 2.8vw, 2.8rem);
}

.contentBg .inner {
	gap:2%;
}
.contentBg .inner div {
	width:32%;
}
.contentBg2 {
	background:url(../images/common/bg-repeart.png);
}
.contentBg2 .inner {
	text-align:center;
	color:#fff;
}
.contentBg2 .inner h2 {
	font-size: clamp(2.4rem, 4vw, 4rem);
}
.contentBg2 .after-contact {
	margin:auto;
	justify-content: center;
}
.contentBg2 .contact-tel {
	color:#fff;
	padding:20px 40px;
	border:1px solid #fff;
}
.contentBg2 .contact-mail {
	color:#fff;
	padding:20px 40px;
	border:1px solid #fff;
}
.contentBg2 h3 {
	font-size:21px;
} 
.contentBg2 .contact-tel a,
.contentBg2 .contact-mail a {
	color:#fff;
	text-decoration:none;
	font-size: clamp(2rem, 3vw, 3rem);
}
.contentBg2 .contact-mail a:before {
	content:url(../images/common/mail.png);
	padding-right:10px;
}
.index-02 .banner {
    grid-template-columns: repeat(var(--column, 4), 1fr) !important;
}
.dis-pc {display:block;}
.dis-sp {display:none;}

@media screen and (max-width: 900px){
	.contentBg .box {
		font-size:1.0em;
	}
	.contentBg .box h3 {
		font-size: clamp(1.6rem, 2.2vw, 2.2rem);
	}
	.contentBg .box pre br {
		display:none;
	}
}
@media screen and (max-width: 834px){
	.flex3 div img {
		min-height:200px;
	}
	.contentBg2 h3 {
		font-size:18px;
	} 
}

@media screen and (max-width: 640px){
	.flex3 div img {
		min-height:150px;
	}
	.contentBg .inner {
		gap:0%;
		display:block;
	}
	.contentBg .inner div {
		width:100%;
	}
	.contentBg .box h3 {
		font-size: clamp(2.4rem, 3.6vw, 3.6rem);
	}
	.contentBg .box {
		font-size:1.4em;
		margin-bottom:2%;
	}
	.contentBg .box:last-child {
		margin-bottom:0%;
	}
	.contentBg .box pre br {
		display:block;
	}
	.contentBg2 h3 {
		font-size:14px;
	} 
	.contentBg2 .contact-tel,
	.contentBg2 .contact-mail {
		padding:10px 20px;
	}
	.contentBg2 .after-contact {
		gap:2%;
	}
	.dis-pc {display:none;}
	.dis-sp {display:block;}
}

@media screen and (max-width: 480px){
	.flex3 {
		display:block !important;
	}
	.flex3 div {
		margin-bottom:2%;
		width:100%;
	}
	.flex3 div img {
		min-height:100%;
	}
	.contentBg2 .after-contact {
		flex-flow: column;
	}
	.after-contact div {
		width:100%;
		margin-bottom:2%;
	}
}