.easyform-simple {
	margin: 2rem 10px;
}
.easyform-simple-headline:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: 0 auto;
	border: 0;
	border-style: solid;
	border-width: 14px 14px 0 14px;
	border-color: #429868 transparent transparent transparent;
}
.easyform-simple-headline img {
	display: block;
	width: 100%;
}
.easyFormWrapper {
	padding: 5vw 3vw 3vw;
	background-color: #F5F5F5;
	border: 5px solid #429868;
	border-top: none;
}
.easyFormWrapper input[type='radio'],
.easyFormWrapper input[type='checkbox'] {
	display: none;
}
.easyFormWrapper .input_wrapper {
	display: flex;
	flex-direction: column;
	gap: 5vw;
}
.easyFormWrapper .input_wrapper .form-group {
	flex: 1;
	position: relative;
}
.easyFormWrapper .input_wrapper .form-group-ttl {
	font-size: 3.8vw;
	font-weight: bold;
}
.easyFormWrapper .input_wrapper .form-group-content {
	margin-top: 2vw;
	padding: 0 4vw;
}
.easyFormWrapper .input_wrapper .checkbox-items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3vw;
}
.easyFormWrapper .input_wrapper .checkbox-item .checkbox_btn {
	display: none;
}
.easyFormWrapper .input_wrapper .checkbox-item .checkbox_btn.active {
	display: block;
}
.easyFormWrapper .input_wrapper .form-group-select::after {
	content: '';
	position: absolute;
	top: 15px;
	right: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #000333 transparent transparent transparent;
}
.easyFormWrapper .input_wrapper .form-group select {
	-webkit-appearance: none;
	appearance: none; /* デフォルトの矢印を無効 */
}
.easyFormWrapper .input_wrapper .form-group select::-ms-expand {
	display: none; /* デフォルトの矢印を無効(IE用) */
}
.easyFormWrapper .input_wrapper .form-group input,
.easyFormWrapper .input_wrapper .form-group select {
	width: 100%;
	height: 40px;
	padding: 10px 10px !important;
	font-size: 15px !important;
	color: #333;
	border: 1px solid #666;
	border-radius: 0px;
	background: #fff;
}
.loading-hide,
.notice-hide {
	display: none;
}
.loading img {
	width: auto;
	display: inline;
}
.tel-info {
	margin-top: 1em;
	font-size: 0.8em;
}
.help-block {
	font-size: 0.9em;
}
.help-block p {
	margin-top: 0.3em;
}
.help-block p::before { /* チェックマーク */
	content: '';
	width: 13px;
	height: 9px;
	border-left: 3px solid #429868;
	border-bottom: 3px solid #429868;
	transform: rotate(-45deg);
	display: inline-block;
	margin: 0 5px;
}
.notice {
	margin-top: 0.8em;
	font-size: 0.8em;
}
/* 送信ボタン */
.btn_area {
	margin-top: 1em;
}
.submit__btn {
	display: block;
	width: 85%;
	height: 55px;
	margin: 0 auto 1rem;
	font-weight: bold;
	text-decoration: none;
	outline: 0;
	color: #fff;
	font-size: 18px;
	background: #f56767;
	border-radius: 35px;
	border: solid 2px #fff;
	box-shadow: 0px 3px 3px rgba(0,0,0,.1);
}
.submit__note {
	margin-top: 1.5em;
	font-size: 10px;
	letter-spacing: -0.02em;
	color: #333;
}
.submit__note a {
	text-decoration: underline;
}

/* ---------------- */
/* 簡易フォーム用CSS */
/* ---------------- */
.easyform-simple {
	margin: 2rem 10px;
}
.easyform-simple-headline{
	position: relative;
	background-color:#429868;
	padding:15px;
}
.easyform-simple-headline:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	bottom:-10px;
	margin: 0 auto;
	border: 0;
	border-style: solid;
	border-width: 14px 14px 0 14px;
	border-color: #429868 transparent transparent transparent;
}
.easyform-simple-headline img {
	display: block;
}


.easyFormWrapper {
	padding: 5vw 3vw 3vw;
	background-color: #F5F5F5;
	border: 5px solid #429868;
	border-top: none;
}



.easyFormWrapper input[type='radio'],
.easyFormWrapper input[type='checkbox'] {
	display: none;
}
.easyFormWrapper .input_wrapper {
	display: flex;
	flex-direction: column;
	gap: 5vw;
}
.easyFormWrapper .input_wrapper .form-group {
	flex: 1;
	position: relative;
}
.easyFormWrapper .input_wrapper .form-group-ttl {
	font-size: 5vw;
	font-weight: bold;
	text-align: center;
}
.easyFormWrapper .input_wrapper .form-group-content {
	margin-top: 2vw;
	padding: 0 4vw;
}
.easyFormWrapper .input_wrapper .checkbox-items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3vw;
}
.easyFormWrapper .input_wrapper .checkbox-item .checkbox_btn {
	display: none;
}
.easyFormWrapper .input_wrapper .checkbox-item .checkbox_btn.active {
	display: block;
}
.easyFormWrapper .input_wrapper .form-group-select::after {
	content: '';
	position: absolute;
	top: 15vw!important;
	right: 7vw!important;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #429868 transparent transparent transparent;
}
.easyFormWrapper .input_wrapper .form-group select {
	position:relative;
	-webkit-appearance: none;
	appearance: none; /* デフォルトの矢印を無効 */
}
.easyFormWrapper .input_wrapper .form-group select::-ms-expand {
	display: none; /* デフォルトの矢印を無効(IE用) */
}
.easyFormWrapper .input_wrapper .form-group input,
.easyFormWrapper .input_wrapper .form-group select {
	width: 100%;
	height: 40px;
	padding: 10px 10px !important;
	font-size: 15px !important;
	color: #333;
	border: 2px solid #429868;
	border-radius: 3px;
	background: #fff;
}
.loading-hide,
.notice-hide {
	display: none;
}
.loading img {
	width: auto;
	display: inline;
}
.tel-info {
	margin-top: 1em;
	font-size: 0.8em;
}
.help-block {
	font-size: 0.9em;
}
.help-block p {
	margin-top: 0.3em;
}
.help-block p::before { /* チェックマーク */
	content: '';
	width: 13px;
	height: 9px;
	border-left: 3px solid #429868;
	border-bottom: 3px solid #429868;
	transform: rotate(-45deg);
	display: inline-block;
	margin: 0 5px;
}
.notice {
	margin-top: 0.8em;
	font-size: 0.8em;
}
/* 送信ボタン */
.btn_area {
	margin-top: 1em;
}
.submit__btn {
	display: block;
	width: 85%;
	height: 55px;
	margin: 0 auto 1rem;
	font-weight: bold;
	text-decoration: none;
	outline: 0;
	color: #fff;
	font-size: 18px;
	background: #f56767;
	border-radius: 35px;
	border: solid 2px #fff;
	box-shadow: 0px 3px 3px rgba(0,0,0,.1);
}
.submit__note {
	margin-top: 1.5em;
	font-size: 10px;
	letter-spacing: -0.02em;
	color: #333;
}
.submit__note a {
	text-decoration: underline;
}
.greentxt{color:green}


/*
* リザルトページ
*/
.easyform-result {
	padding-top: 2vw;
	font-size: 1.6rem;
}
.easyform-result .inner {
	padding: 3vw;
}
.greeting p {
	font-weight: bold;
	font-size:3.5vw;
	padding:3vw;
}
.greeting .greeting_headline {
	width: fit-content;
	margin: 0 auto 5vw;
	padding-left: 3vw;
	font-size: 6vw;
	font-weight: bold;
	line-height: 1.6;
	border-bottom: 2px solid #429868;
}
.greeting .phone_info {
	margin-top: 4vw;
	text-align: center;
	line-height: 1;
	border: 3px solid #ffa30f;
}
.greeting .phone_note {
	padding: 2vw 0;
	font-size: 3.7vw;
}
.greeting .phone_number {
	font-size: 11vw;
	color: #ffa30f;
	font-family: 'Roboto', sans-serif;
}
.estimation {
	border-top: 3px solid #429868;
	background-color: #ddf1e6;
}
.estimation .estimation_headline {
	margin-bottom: 0.3em;
	font-size: 6vw;
	color: #429868;
	font-weight: bold;
}
.estimation .price_box {
	margin-top: 3vw;
	background-color: #fff;
	border: 2px solid #429868;
}
.estimation .price_headline {
	color: #429868;
	font-size: 2rem;
	font-weight: bold;
	padding-top: 0.5em;
	text-align: center;
}
.estimation .price_area {
	display: flex;
	align-items: center;
	justify-content: center;
}
.estimation .price_image img {
	max-width: 80px;
	height: auto;
}
.estimation .price_num {
	font-size: 2rem;
	font-weight: bold;
	color: #429868;
}
.estimation .price_num .num {
	font-size: 12vw;
	font-family: 'Roboto', sans-serif;
}
.faq_section .faq_headline {
	position: relative;
	margin-top: 1.5em;
	padding-bottom: 5px;
	font-size: 6vw;
	font-weight: bold;
	text-indent: 5px;
}
.faq_section .faq_headline::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(
		to right,
			/* 1. 緑色 (指定の30%までを占める) */
		#429868 0%,        /* 緑色の開始 */
		#429868 40%,       /* 緑色の終了 */
			/* 2. 灰色 (残りの70%を占める) */
		#ccc 40%,          /* 灰色の開始（緑の直後）*/
		#ccc 100%          /* 灰色の終了 */
	);
}
.faq_section .faq_content dl {
	margin-bottom: 20px;
	padding: 0;
	border-radius: 8px;
}
.faq_section .faq_content dt {
	font-weight: bold;
	color: #333;
	background-color: #ddf1e6;
	padding: 12px 15px;
	border-bottom: 1px solid #cfcfcf;
	border-radius: 8px 8px 0 0;
	font-size:5vw;
}
.faq_section .faq_content dt::before {
	content: "Q.";
	color: #429868; /* 緑色 */
	font-size: 1.2em;
	margin-right: 8px;
}
.faq_section .faq_content dd {
	background-color: #f7f7f7;
	color: #555;
	padding: 12px 15px;
	margin-left: 0;
	border-radius: 0 0 8px 8px;
	font-size:4vw;
}
.faq_section .faq_content dd:not(:last-child) {
	margin-bottom: 3vw;
}
.faq_section .faq_content dd::before {
	content: "A.";
	color: #f56767;
	font-size: 1.2em;
	font-weight: bold;
	margin-right: 8px;
}

.estimation.inner p{
	font-size:3.5vw;
}

@media (min-width: 768px) {
	main .inner {width:800px;}
	.easyform-simple{
		width:1000px;
		margin: 2rem auto;
	}
	.easyform-simple-headline{background:#429868;}
	.easyform-simple-headline img{display:block; width:350px; margin:0 auto;}

	.easyform-simple-headline:after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		width: 0;
		height: 0;
		margin: 0 auto;
		border: 0;
		border-style: solid;
		border-width: 14px 14px 0 14px;
		border-color: #429868 transparent transparent transparent;
	}

	.easyFormWrapper {
		padding: 3rem;
		background-color: #F5F5F5;
		border: 5px solid #429868;
		border-top: none;
	}
	.easyFormWrapper input[type='radio'],
	.easyFormWrapper input[type='checkbox'] {
		display: none;
	}
	.easyFormWrapper .input_wrapper {
		display: flex;
		gap: 5rem;
		flex-direction: row;
	}
	.easyFormWrapper .input_wrapper .form-group {
		flex: 1;
		position: relative;
		width:50%;
	}
	.checkbox-item{ width:40%; height:auto; }
	.easyFormWrapper .input_wrapper .form-group-ttl {
		font-size:18px;
		font-weight: bold;
	}
	.easyFormWrapper .input_wrapper .form-group-content {
		margin: 1vw;
		padding:0;
	}
	.easyFormWrapper .input_wrapper .checkbox-items {
		display: flex;
		justify-content: space-around;
		gap:1rem;
	}
	.easyFormWrapper .input_wrapper .checkbox-item .checkbox_btn {
		display: none;
		width:100%;
		height:auto;
	}
	.easyFormWrapper .input_wrapper .checkbox-item .checkbox_btn.active {
		display: block;
		width:100%;
		height:auto;
	}
	.pt10{padding-top:15px;}
	.easyFormWrapper .input_wrapper .form-group-select::after {
		content: '';
		position: absolute;
		top: 15px;
		right: 10px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 10px 6px 0 6px;
		border-color: #000333 transparent transparent transparent;
	}
	.easyFormWrapper .input_wrapper .form-group select {
		-webkit-appearance: none;
		appearance: none; /* デフォルトの矢印を無効 */
	}
	.easyFormWrapper .input_wrapper .form-group select::-ms-expand {
		display: none; /* デフォルトの矢印を無効(IE用) */
	}
	.easyFormWrapper .input_wrapper .form-group input,
	.easyFormWrapper .input_wrapper .form-group select {
		width: 80%;
		height: 60px;
		margin-right:auto;
		padding: 10px 10px !important;
		font-size: 2.5rem !important;
		color: #333;
		border: 1px solid #666;
		border-radius: 10px;
		background: #fff;
	}
	.easyFormWrapper .input_wrapper .form-group input{
		width: 90%;
		height: 50px;
		font-size: 18px !important;
		padding: 0 10px !important;
		margin-top: 15px;
	}
	.loading-hide,
	.notice-hide {
		display: none;
	}
	.loading img {
		width: auto;
		display: inline;
	}
	.tel-info {
		margin-top: 1em;
		font-size: 0.8em;
	}
	.help-block {
		font-size: 0.9em;
	}
	.help-block p {
		margin-top: 0.3em;
	}
	.help-block p::before { /* チェックマーク */
		content: '';
		width: 13px;
		height: 9px;
		border-left: 3px solid #429868;
		border-bottom: 3px solid #429868;
		transform: rotate(-45deg);
		display: inline-block;
		margin: 0 5px;
	}
	.notice {
		margin-top: 0.8em;
		font-size: 0.8em;
	}
	/* 送信ボタン */
	.btn_area {
		margin-top: 1em;
	}
	.submit__btn {
		display: block;
		width: 85%;
		height: 55px;
		margin: 0 auto 1rem;
		font-weight: bold;
		text-decoration: none;
		outline: 0;
		color: #fff;
		font-size: 20px;
		background: #f56767;
		border-radius: 35px;
		border: solid 2px #fff;
		box-shadow: 0px 3px 3px rgba(0,0,0,.1);
	}
	.submit__note {
		margin-top: 1.5em;
		font-size: 13px;
		letter-spacing: -0.02em;
		text-align: center;
		color: #333;
	}
	.submit__note a {
		text-decoration: underline;
	}
	h2.thx{
		font-size: 24px;
		line-height: 1.2;
		border-bottom: 2px solid #0e950e;
		width: 80%;
		font-weight: bold;
		margin: 20px auto 30px;
		color: #555;
		text-indent: 0.5em;
		padding-bottom: 0.3em;
		font-family: sans-serif;
	}
	.button-link {
		display: inline-block;
		padding: 12px 24px;
		text-decoration: none;
		background-color: #fff;
		color: #0e950e;
		border: 2px solid #0e950e;
		border-radius: 5px;
		font-weight: bold;
		font-family: sans-serif;
		transition: all 0.3s ease;
	}

	.button-link:hover {
		background-color: #0e950e;
		color: #fff;
	}
	.btn-txt {
		width: 60%;
		font-size: 18px;
		padding: 3rem 0 0 2rem;
		text-align: center;
		margin: 0 auto;
	}


	.easyform-result {
		padding-top: 2vw;
		font-size: 1.6rem;
	}
	.easyform-result .inner {
		padding: 0 20px 40px;
	}
	.greeting p {
		font-weight: bold;
		font-size:22px;
		padding:3vw;
	}
	.greeting .greeting_headline {
		width: fit-content;
		margin: 0 auto 3vw;
		padding-left: 0;
		font-size: 30px;
		font-weight: bold;
		line-height: 1.6;
		border-bottom: 2px solid #429868;
	}
	.greeting .phone_info {
		margin-top: 3vw;
		margin-bottom: 3vw;
		text-align: center;
		line-height: 1;
		border: 3px solid #ffa30f;
	}
	.greeting .phone_note {
		padding: 20px 0;
		font-size: 22px;
		margin:0;
	}
	.greeting .phone_number {
		font-size: 60px;
		color: #ffa30f;
		font-family: 'Roboto', sans-serif;
		margin:0;
		padding:16px;
	}
	.estimation {
		border-top: 3px solid #429868;
		background-color: #ddf1e6;
	}
	.estimation .estimation_headline {
		padding-top:16px;
		font-size: 30px;
		color: #429868;
		font-weight: bold;
		margin: 0;
	}
	.estimation .price_box {
		margin:20px auto;
		background-color: #fff;
		border: 2px solid #429868;
	}
	.estimation .price_headline {
		color: #429868;
		font-size: 2rem;
		font-weight: bold;
		padding-top: 0.5em;
		text-align: center;
	}
	.estimation .price_area {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.estimation .price_image img {
		max-width: 80px;
		height: auto;
	}
	.estimation .price_num {
		font-size: 2rem;
		font-weight: bold;
		color: #429868;
	}
	.estimation .price_num .num {
		font-size: 60px;
		font-family: 'Roboto', sans-serif;
	}
	.faq_section .faq_headline {
		position: relative;
		margin-top: 50px;
		padding-bottom: 5px;
		font-size: 30px;
		font-weight: bold;
		text-indent: 5px;
	}
	.faq_section .faq_headline::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 3px;
		background: linear-gradient(
			to right,
				/* 1. 緑色 (指定の30%までを占める) */
			#429868 0%,        /* 緑色の開始 */
			#429868 40%,       /* 緑色の終了 */
				/* 2. 灰色 (残りの70%を占める) */
			#ccc 40%,          /* 灰色の開始（緑の直後）*/
			#ccc 100%          /* 灰色の終了 */
		);
	}
	.faq_section .faq_content dl {
		margin-bottom: 20px;
		padding: 0;
		border-radius: 8px;
	}
	.faq_section .faq_content dt {
		font-weight: bold;
		color: #333;
		background-color: #ddf1e6;
		padding: 12px 15px;
		border-bottom: 1px solid #cfcfcf;
		border-radius: 8px 8px 0 0;
		font-size:26px;
	}
	.faq_section .faq_content dt::before {
		content: "Q.";
		color: #429868; /* 緑色 */
		font-size: 1.2em;
		margin-right: 8px;
	}
	.faq_section .faq_content dd {
		background-color: #f7f7f7;
		color: #555;
		padding: 24px;
		margin-left: 0;
		border-radius: 0 0 8px 8px;
		font-size:22px;
	}
	.faq_section .faq_content dd:not(:last-child) {
		margin-bottom: 3vw;
	}
	.faq_section .faq_content dd::before {
		content: "A.";
		color: #f56767;
		font-size: 1.2em;
		font-weight: bold;
		margin-right: 8px;
	}

	.estimation.inner p{
		font-size: 20px;
		padding: 0 30px;
		margin: 0;
	}
}




