/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　修正する際はscssファイルを編集するように注意してください。
--------------------------------------------------------------- */
.clearfix:after {
	content: "";
	display: block;
	clear: both
}

li {
	list-style: none
}

img {
	max-width: 100%;
	height: auto
}

a {
	color: inherit;
	text-decoration: none
}

.min {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif
}

table {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0
}

td input {
	max-width: 100%
}

i,
em {
	font-style: normal
}

.inner {
	width: 100%;
	position: relative
}

@media(min-width: 1200px) {
	.inner {
		max-width: 1120px;
		padding: 0 20px;
		margin: 0 auto
	}
}

@media(min-width: 768px)and (max-width: 1199px) {
	.inner {
		padding: 0 4vw
	}
}

@media(max-width: 767px) {
	.inner {
		padding: 0 8%
	}
}

.pc-only {
	display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
	.pc-only {
		display: none
	}
}

@media(max-width: 767px) {
	.pc-only {
		display: none
	}
}

.tab-only {
	display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
	.tab-only {
		display: inherit
	}
}

@media(max-width: 767px) {
	.tab-only {
		display: none
	}
}

.sp-only {
	display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
	.sp-only {
		display: none
	}
}

@media(max-width: 767px) {
	.sp-only {
		display: inherit
	}
}

.pctab-only {
	display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
	.pctab-only {
		display: inherit
	}
}

@media(max-width: 767px) {
	.pctab-only {
		display: none
	}
}

.tabsp-only {
	display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
	.tabsp-only {
		display: unset
	}
}

@media(max-width: 767px) {
	.tabsp-only {
		display: unset
	}
}

a.tellink {
	pointer-events: none
}

@media(max-width: 767px) {
	a.tellink {
		pointer-events: inherit
	}
}

@media(max-width: 767px) {
	:root {
		font-size: 4.26666vw !important
	}
}

html,
body {
	font-size: 1rem;
	line-height: 2;
	color: #333;
	font-family: "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif
}

html {
	overflow: auto
}

body {
	overflow: hidden
}

.noto {
	font-family: "Noto Sans JP", sans-serif
}

.mont {
	font-family: "Montserrat", sans-serif
}

header {
	width: 100%;
	height: 100px;
	background-color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding: 0 2vw;
	z-index: 11
}

@media(max-width: 767px) {
	header {
		height: 16vw;
		position: static
	}
}

@media(max-width: 767px) {
	header .head_logo img {
		width: 47.2vw
	}
}

@media(min-width: 1200px) {
	header .right {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: center;
		gap: 0 2vw
	}
}

.main_home {
	height: calc(100vh - 100px);
	background: url(images/index/main01.jpg) center center/cover no-repeat
}

@media(min-width: 768px)and (max-width: 1199px) {
	.main_home {
		background: url(images/index/main01_sp@2x.jpg) center center/cover no-repeat
	}
}

@media(max-width: 767px) {
	.main_home {
		height: calc(100vh - 16vw);
		background: url(images/index/main01_sp@2x.jpg) center center/cover no-repeat
	}
}

.main_home .inner {
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	z-index: 1
}

@media(min-height: 682px)and (min-width: 1200px) {
	.main_home .inner {
		padding: 2vh 0;
	}
}

@media(min-width: 768px)and (max-width: 1199px) {
	.main_home .inner .txt {
		padding-bottom: 5vh
	}
}

@media(max-width: 767px) {
	.main_home .inner .txt {
		padding-bottom: 5vh
	}
}

.main_home p.txt_sub {
	width: -moz-fit-content;
	width: fit-content;
	background-color: #3ab484;
	border-radius: 999px;
	padding: .2em 1.5em;
	margin-bottom: 3vh
}

@media(max-width: 767px) {
	.main_home p.txt_sub {
		padding: .2em 1.2em;
		font-size: 0.6875rem
	}
}

.main_home .ttl01 {
	font-size: 2.0625rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1.5vh
}

@media(min-width: 1200px)and (max-width: 1400px) {
	.main_home .ttl01 {
		font-size: 1rem
	}
}

@media(min-width: 768px)and (max-width: 1199px) {
	.main_home .ttl01 {
		font-size: 1.125rem
	}
}

@media(max-width: 767px) {
	.main_home .ttl01 {
		font-size: 0.9375rem
	}
}

.main_home .ttl02 {
	font-size: 3.125rem;
	color: #fff;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 2vh
}

@media(min-width: 1200px)and (max-height: 680px) {
	.main_home .ttl02 {
		font-size: 2.0rem;
	}
}

@media(min-width: 768px)and (max-width: 1199px) {
	.main_home .ttl02 {
		font-size: 1.5rem;
		margin-bottom: 40vh
	}
}

@media(max-width: 767px) {
	.main_home .ttl02 {
		font-size: 1.375rem;
		margin-bottom: 30vh
	}
}

.main_home .ttl02 span {
	display: inline-block;
	width: -moz-fit-content;
	width: fit-content;
	background-color: #00a8ff;
	padding: .2em .4em
}

@media(max-width: 767px) {
	.main_home .ttl02 span {
		padding: .2em .2em
	}
}

.main_home .ttl02 span:not(:last-child) {
	margin-bottom: .1em
}

.main_home .triple {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch
}

@media(min-width: 1400px) {
	.main_home .triple {
		width: 540px
	}
}

@media(min-width: 1200px)and (max-width: 1400px) {
	.main_home .triple {
		width: 30vw
	}
}

@media(min-width: 768px)and (max-width: 1199px) {
	.main_home .triple {
		width: 60vw
	}
}

@media(max-width: 767px) {
	.main_home .triple {
		width: 84vw
	}
}

.main_home .triple .circle {
	width: 28%;
	position: relative
}

.main_home .triple .circle::before {
	content: "";
	display: block;
	padding-top: 100%;
	border-radius: 50%
}

.main_home .triple .circle>span {
	background-color: #3ab484;
	border-radius: 50%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0
}

.main_home .triple .circle>span p {
	font-size: 1.25rem;
	color: #fff;
	font-weight: 700;
	line-height: 1.1;
	text-align: center
}

@media(max-width: 767px) {
	.main_home .triple .circle>span p {
		font-size: 0.75rem
	}
}

.main_home .fix_right {
	width: 100vw;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 5
}

@media(min-width: 1200px) {
	.main_home .fix_right {
		display: none
	}
}

@media(max-width: 767px) {
	.main_home .fix_right {
		opacity: .8
	}
}

.main_home .fix_right .btn a {
	width: 50vw;
	height: 3.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center
}

.main_home .fix_right .btn a i {
	font-size: 1.5625rem;
	margin-right: .2em
}

.main_home .fix_right .btn a p {
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.5
}

.main_home .fix_right .btn a p em {
	font-size: 1.0625rem
}

.main_home .fix_right .btn a p span {
	display: block;
	font-size: 0.625rem
}

.main_home .fix_right .bg_bg a {
	background-color: #3ab484;
	color: #fff
}

.main_home .fix_right .bg_y a {
	background-color: #fee755
}

.section_cmn {
	padding: 6rem 0
}

@media(max-width: 767px) {
	.section_cmn {
		padding: 3.5rem 0
	}
}

.section_cmn.t_narrow {
	padding-top: 3.5rem
}

@media(max-width: 767px) {
	.section_cmn.t_narrow {
		padding-top: 2.5rem
	}
}

.section_cmn.b_narrow {
	padding-bottom: 3.5rem
}

@media(max-width: 767px) {
	.section_cmn.b_narrow {
		padding-bottom: 2.5rem
	}
}

.section_cmn.t_wide {
	padding-top: 7.5rem
}

@media(max-width: 767px) {
	.section_cmn.t_wide {
		padding-top: 3.5rem
	}
}

.section_cmn.b_wide {
	padding-bottom: 7.5rem
}

@media(max-width: 767px) {
	.section_cmn.b_wide {
		padding-bottom: 3.5rem
	}
}

.section_cmn.b_none {
	padding-bottom: 0
}

.ttl_cmn {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 2em;
	position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
	.ttl_cmn {
		font-size: 1.625rem
	}
}

@media(max-width: 767px) {
	.ttl_cmn {
		font-size: 1.5rem
	}
}

.ttl_cmn span.bg {
	font-size: 11.25rem;
	color: rgba(58, 180, 132, .05);
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	position: absolute;
	top: 35%;
	left: 50%;
	transform: translate(-50%, -50%)
}

@media(max-width: 767px) {
	.ttl_cmn span.bg {
		font-size: 3.375rem
	}
}

.ttl_cmn.bar::after {
	content: "";
	width: 1px;
	height: .7em;
	background-color: #3ab484;
	position: absolute;
	top: calc(100% + 10px);
	left: 50%
}

.ttl_cmn em {
	display: block;
	font-size: 3.5rem
}

@media(min-width: 768px)and (max-width: 1199px) {
	.ttl_cmn em {
		font-size: 2.25rem
	}
}

@media(max-width: 767px) {
	.ttl_cmn em {
		font-size: 2.25rem
	}
}

.ttl_cmn.tac {
	text-align: center
}

.ttl_cmn.color_w {
	color: #fff
}

.ttl_cmn.color_bg {
	color: #3ab484
}

.ttl_cmn.mb0 {
	margin-bottom: 0
}

.ttl_cmn2 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1em
}

@media(max-width: 767px) {
	.ttl_cmn2 {
		font-size: 1rem
	}
}

.ttl_cmn2.bdb {
	padding-bottom: .3em;
	border-bottom: 1px dashed currentColor;
	position: relative
}

.ttl_cmn2.regular {
	font-weight: 400
}

.ttl_cmn2.tac {
	text-align: center
}

.ttl_cmn2.color_w {
	color: #fff
}

.ttl_cmn2.color_bg {
	color: #3ab484
}

.ttl_cmn2.small {
	font-size: 1.25rem
}

@media(max-width: 767px) {
	.ttl_cmn2.small {
		font-size: 1rem
	}
}

.ttl_cmn2.mdl {
	font-size: 1.75rem
}

@media(min-width: 768px)and (max-width: 1199px) {
	.ttl_cmn2.mdl {
		font-size: 1.1875rem
	}
}

@media(max-width: 767px) {
	.ttl_cmn2.mdl {
		font-size: 1.0625rem
	}
}

.ttl_cmn2.large {
	font-size: 2.25rem
}

@media(min-width: 768px)and (max-width: 1199px) {
	.ttl_cmn2.large {
		font-size: 1.25rem
	}
}

@media(max-width: 767px) {
	.ttl_cmn2.large {
		font-size: 1.125rem
	}
}

.ttl_cmn2.mb0 {
	margin-bottom: 0
}

.txt_cmn {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2
}

@media(max-width: 767px) {
	.txt_cmn {
		font-size: 0.875rem
	}
}

.txt_cmn.lh_w {
	line-height: 2.4
}

@media(max-width: 767px) {
	.txt_cmn.lh_w {
		line-height: 2.2
	}
}

.txt_cmn.lh_n {
	line-height: 1.6
}

.txt_cmn.tac {
	text-align: center
}

.txt_cmn.bold {
	font-weight: 700
}

.txt_cmn.color_bg {
	color: #3ab484
}

.txt_cmn.color_w {
	color: #fff
}

.txt_cmn.exlarge {
	font-size: 1.25rem
}

@media(max-width: 767px) {
	.txt_cmn.exlarge {
		font-size: 1rem
	}
}

.txt_cmn.large {
	font-size: 1.125rem
}

@media(max-width: 767px) {
	.txt_cmn.large {
		font-size: 0.9375rem
	}
}

.txt_cmn.mdl {
	font-size: 0.875rem
}

@media(max-width: 767px) {
	.txt_cmn.mdl {
		font-size: 0.75rem
	}
}

.txt_cmn.small {
	font-size: 0.75rem
}

@media(max-width: 767px) {
	.txt_cmn.small {
		font-size: 0.625rem
	}
}

.btn_cmn {
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%
}

.btn_cmn a {
	width: 276px;
	height: 66px;
	max-width: 100%;
	border-radius: 999px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: unset;
	position: relative
}

@media(max-width: 767px) {
	.btn_cmn a {
		width: 84vw;
		height: 3.5rem
	}
}

.btn_cmn a>i {
	font-size: 1.625rem;
	line-height: 1;
	margin-right: .6em;
	position: relative;
	top: .1em
}

.btn_cmn a p {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3
}

.btn_cmn.btn_head a {
	width: 200px;
	height: 50px;
	box-shadow: unset
}

@media(max-width: 767px) {
	.btn_cmn.btn_head a {
		width: 16vw;
		height: 16vw
	}
}

.btn_cmn.btn_head a>i {
	font-size: 1.375rem;
	margin-right: .3em
}

.btn_cmn.btn_head a p {
	font-size: 0.8125rem
}

.btn_cmn.btn_head a p em {
	font-size: 1.0625rem
}

.btn_cmn.btn_head a p span {
	display: block;
	font-size: 0.625rem
}

.btn_cmn.large a {
	width: 428px;
	height: 108px
}

@media(max-width: 767px) {
	.btn_cmn.large a {
		width: 84vw;
		height: 4rem
	}
}

.btn_cmn.large a>i {
	font-size: 3rem
}

@media(max-width: 767px) {
	.btn_cmn.large a>i {
		font-size: 1.875rem
	}
}

.btn_cmn.large a p {
	font-size: 1.5625rem
}

@media(max-width: 767px) {
	.btn_cmn.large a p {
		font-size: 1.125rem
	}
}

.btn_cmn.large a p em {
	font-size: 2.4375rem
}

@media(max-width: 767px) {
	.btn_cmn.large a p em {
		font-size: 1.75rem
	}
}

.btn_cmn.large a p span {
	display: block;
	font-size: 1.1875rem;
	font-weight: 400
}

@media(max-width: 767px) {
	.btn_cmn.large a p span {
		font-size: 0.8125rem
	}
}

.btn_cmn.angular a {
	border-radius: 10px
}

.btn_cmn.center {
	margin: 0 auto
}

.btn_cmn.bg_bg a {
	background-color: #3ab484;
	color: #fff
}

.btn_cmn.bg_bg a:hover {
	background-color: #1b8a5e;
	transition: .3s ease
}

.btn_cmn.bg_y a {
	background-color: #fee755
}

.btn_cmn.bg_y a:hover {
	background-color: #e6d043;
	transition: .3s ease
}

.btn_cmn.bg_w a {
	background-color: #fff
}

.btn_cmn.bg_w a:hover {
	background-color: #f5f9f7;
	transition: .3s ease
}

.btn_cmn.shadow a {
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16)
}

.side_cmn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	align-content: unset
}

.side_cmn figure {
	width: 46.2962962963%;
	text-align: center
}

@media(max-width: 767px) {
	.side_cmn figure {
		width: 100%;
		margin-bottom: 1rem
	}
}

.side_cmn .txt {
	width: 50%
}

@media(max-width: 767px) {
	.side_cmn .txt {
		width: 100%
	}
}

.side_cmn.reverse {
	flex-direction: row-reverse
}

.side_cmn.a_start {
	align-items: flex-start
}

.side_cmn.voice figure {
	width: 22%
}

@media(max-width: 767px) {
	.side_cmn.voice figure {
		margin-bottom: 0
	}
}

.side_cmn.voice .txt {
	width: 72%
}

.side_cmn.faq figure {
	width: 12%
}

@media(max-width: 767px) {
	.side_cmn.faq figure {
		margin-bottom: 0
	}
}

.side_cmn.faq .txt {
	width: 84%
}

.over_cmn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	align-content: unset;
	padding: 0rem calc(50vw - 50%) 0rem 0;
	margin: 0 calc(50% - 50vw);
	position: relative
}

@media(max-width: 767px) {
	.over_cmn {
		padding: 0
	}
}

.over_cmn figure {
	width: calc(100% - 540px);
	text-align: right
}

@media(min-width: 768px)and (max-width: 1199px) {
	.over_cmn figure {
		width: 48.1481481481%
	}
}

@media(max-width: 767px) {
	.over_cmn figure {
		width: 100%;
		margin-bottom: 1rem
	}
}

.over_cmn .txt {
	width: 510px
}

@media(min-width: 768px)and (max-width: 1199px) {
	.over_cmn .txt {
		width: 48.1481481481%
	}
}

@media(max-width: 767px) {
	.over_cmn .txt {
		width: 100%;
		padding: 0 8%
	}
}

@media(max-width: 767px) {
	.over_cmn:not(.reverse) figure {
		margin-right: 8vw
	}
}

.over_cmn.a_start {
	align-items: flex-start
}

.over_cmn.reverse {
	flex-direction: row-reverse;
	padding: 0rem 0 0rem calc(50vw - 50%)
}

@media(max-width: 767px) {
	.over_cmn.reverse {
		padding: 0
	}
}

.over_cmn.reverse figure {
	text-align: left
}

@media(max-width: 767px) {
	.over_cmn.reverse figure {
		margin-left: 8vw
	}
}

.home_contact {
	background-color: #3ab484
}

.home_service {
	background-color: #f5f9f7
}

.home_trouble {
	background: url(images/index/person_trouble01.svg) center bottom no-repeat
}

@media(min-width: 768px)and (max-width: 1199px) {
	.home_trouble {
		background: url(images/index/person_trouble01_sp.svg) center bottom/100% auto no-repeat;
		padding-bottom: 58vh !important
	}
}

@media(max-width: 767px) {
	.home_trouble {
		background: url(images/index/person_trouble01_sp.svg) center bottom/100% auto no-repeat;
		padding-bottom: 50vh !important
	}
}

.home_trouble ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 0rem 11.1111111111%
}

@media(min-width: 768px)and (max-width: 1199px) {
	.home_trouble ul {
		justify-content: space-between;
		gap: 1.5rem 8%
	}
}

@media(max-width: 767px) {
	.home_trouble ul {
		justify-content: space-between;
		gap: 1rem 4%
	}
}

.home_trouble ul li {
	width: 25.9259259259%;
	position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
	.home_trouble ul li {
		width: 46%
	}
}

@media(max-width: 767px) {
	.home_trouble ul li {
		width: 48%
	}
}

.home_trouble ul li::before {
	content: "";
	display: block;
	padding-top: 100%;
	border-radius: 50%
}

.home_trouble ul li>span {
	background-color: #fff;
	border: 1px solid #707070;
	border-radius: 50%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 1rem 4%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0
}

.home_trouble ul li>span .num {
	width: -moz-fit-content;
	width: fit-content;
	font-size: 1.875rem;
	color: #3ab484;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 auto .4em;
	position: relative
}

@media(max-width: 767px) {
	.home_trouble ul li>span .num {
		font-size: 1rem
	}
}

.home_trouble ul li>span .num::before,
.home_trouble ul li>span .num::after {
	content: "";
	width: .6em;
	height: 2px;
	background-color: currentColor;
	position: absolute;
	top: 50%
}

.home_trouble ul li>span .num::before {
	right: calc(100% + .3em)
}

.home_trouble ul li>span .num::after {
	left: calc(100% + .3em)
}

@media(max-width: 767px) {
	.home_trouble ul li>span .ttl01 {
		font-size: 0.9375rem
	}
}

.home_trouble ul li>span .ttl01 b {
	color: #3ab484
}

.home_resolution {
	background: #f5f9f7 url(images/index/person_resolution01.svg) center bottom no-repeat
}

.bg_triangle {
	clip-path: polygon(50% 10%, 60% 0, 100% 0, 100% 100%, 0 100%, 0 0, 40% 0);
}

@media(max-width: 767px) {
	.home_resolution {
		background: #f5f9f7 url(images/index/person_resolution01_sp.svg) center bottom/100% auto no-repeat;
		padding-bottom: 50vh !important
	}

	.bg_triangle {
		clip-path: polygon(50% 3%, 60% 0, 100% 0, 100% 100%, 0 100%, 0 0, 40% 0);
	}
}

.home_resolution p.txt01 {
	max-width: 590px;
	margin-inline: auto
}

.home_consult .area {
	background-color: #3ab484;
	border-radius: 1.8rem;
	padding: 3.5rem 5% 4.5rem
}

@media(max-width: 767px) {
	.home_consult .area {
		padding: 2rem 4% 2.5rem
	}
}

.home_consult .area .topline {
	max-width: 900px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: flex-end;
	margin-inline: auto
}

.home_consult .area .topline h3.ttl_cmn2 {
	width: 60%;
	margin-bottom: 2rem
}

@media(max-width: 767px) {
	.home_consult .area .topline h3.ttl_cmn2 {
		width: 100%;
		text-align: center
	}
}

.home_consult .area .topline figure {
	width: 30%;
	text-align: center
}

@media(max-width: 767px) {
	.home_consult .area .topline figure {
		width: 100%
	}
}

.home_consult .area .topline figure img {
	margin-bottom: -5px
}

.home_consult .area .btnwrap {
	max-width: 900px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-inline: auto
}

@media(min-width: 768px)and (max-width: 1199px) {
	.home_consult .area .btnwrap .btn_cmn {
		margin-inline: auto
	}
}

@media(min-width: 768px)and (max-width: 1199px) {
	.home_consult .area .btnwrap .btn_cmn:not(:last-child) {
		margin-bottom: 1rem
	}
}

@media(max-width: 767px) {
	.home_consult .area .btnwrap .btn_cmn:not(:last-child) {
		margin-bottom: 1rem
	}
}

@media(min-width: 1200px) {
	.home_reason ul {
		margin: 0 -90px
	}
}

@media(min-width: 1200px)and (max-width: 1399px) {
	.home_reason ul {
		margin: 0 -20px
	}
}

.home_reason ul li {
	border: 1px solid #3ab484;
	border-radius: 10px;
	padding: 4rem 4%;
	position: relative
}

@media(max-width: 767px) {
	.home_reason ul li {
		padding: 1.5rem 4%
	}
}

.home_reason ul li:not(:last-child) {
	margin-bottom: 6rem
}

@media(min-width: 768px)and (max-width: 1199px) {
	.home_reason ul li:not(:last-child) {
		margin-bottom: 3.5rem
	}
}

@media(max-width: 767px) {
	.home_reason ul li:not(:last-child) {
		margin-bottom: 2.5rem
	}
}

.home_reason .num {
	font-size: 7.5rem;
	color: #3ab484;
	font-weight: 700;
	line-height: 1.5;
	position: absolute;
	top: 0;
	right: .5em;
	transform: translateY(-50%)
}

@media(max-width: 767px) {
	.home_reason .num {
		font-size: 3.75rem
	}
}

.home_reason .txt_sub {
	width: -moz-fit-content;
	width: fit-content;
	background-color: #3ab484;
	border-radius: 999px;
	padding: .2em 1.2em;
	line-height: 1.5;
	margin-bottom: 1em
}

.home_possible {
	background: #f5f9f7
}

.home_possible ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 2.4rem 1.3888888889%
}

.home_possible ul li {
	width: 32.4074074074%
}

@media(max-width: 767px) {
	.home_possible ul li {
		width: 100%
	}
}

.home_possible ul li figure {
	margin-bottom: 1rem
}

@media(max-width: 767px) {
	.home_possible ul li figure {
		margin-bottom: .4rem
	}
}

.home_possible ul li h3.ttl_cmn2 {
	margin-bottom: .5em
}

.home_possible ul li p.txt01 {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto
}

.home_compo figure {
	text-align: center
}

@media(max-width: 767px) {
	.home_compo figure {
		margin: 0 -6vw
	}
}

.home_orga {
	background-color: #f5f9f7
}

.home_orga figure {
	text-align: center
}

@media(max-width: 767px) {
	.home_orga figure {
		margin: 0 -6vw
	}
}

.home_plan ul.ul01>li {
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
	margin-bottom: 3rem
}

.home_plan ul.ul01>li .topline,
.home_plan ul.ul01>li .content {
	padding: 1.5rem 5%
}

@media(max-width: 767px) {

	.home_plan ul.ul01>li .topline,
	.home_plan ul.ul01>li .content {
		padding: 1rem 4%
	}
}

.home_plan ul.ul01>li .topline {
	background-color: #3ab484
}

.home_plan ul.ul01>li .topline dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center
}

@media(max-width: 767px) {
	.home_plan ul.ul01>li .topline dl dd {
		width: 100%;
		text-align: right;
		margin-top: .8rem
	}
}

.home_plan ul.ul01>li .topline dl dd em {
	font-size: 2.25rem;
	line-height: 1
}

@media(max-width: 767px) {
	.home_plan ul.ul01>li .topline dl dd em {
		font-size: 1.5rem
	}
}

.home_plan ul.ul01>li .content {
	background-color: #fff
}

.home_plan ul.ul01>li .content ul li {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	padding-left: 40px;
	position: relative
}

@media(max-width: 767px) {
	.home_plan ul.ul01>li .content ul li {
		font-size: 0.875rem;
		padding-left: 30px
	}
}

.home_plan ul.ul01>li .content ul li:not(:last-child) {
	margin-bottom: .5em
}

.home_plan ul.ul01>li .content ul li::before {
	content: "";
	font-size: 1.5rem;
	color: #3ab484;
	font-weight: 400;
	line-height: 1;
	font-family: "Font Awesome 5 Free";
	position: absolute;
	top: 0;
	left: 0
}

@media(max-width: 767px) {
	.home_plan ul.ul01>li .content ul li::before {
		font-size: 1.25rem
	}
}

.home_plan .box {
	background-color: #ebf9f4;
	border: 1px solid #3ab484;
	padding: 2.5rem 4%
}

@media(max-width: 767px) {
	.home_plan .box {
		padding: 1.5rem 4px
	}
}

.home_voice {
	background-color: #f5f9f7
}

.home_voice .ulwrap {
	background: url(images/index/bg_voice01.svg) left bottom no-repeat;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 8rem;
	gap: 0 7.4074074074%
}

@media(max-width: 767px) {
	.home_voice .ulwrap {
		background-size: 30vw auto;
		gap: 2rem 0;
		padding-bottom: 8rem
	}
}

.home_voice .ulwrap ul {
	width: 46.2962962963%
}

@media(max-width: 767px) {
	.home_voice .ulwrap ul {
		width: 100%
	}
}

.home_voice ul li {
	background-color: #fff;
	border-radius: 1.2rem 1.2rem 1.2rem;
	padding: 2rem 8% 2rem 4%
}

@media(max-width: 767px) {
	.home_voice ul li {
		padding: 1.5rem 4%
	}
}

.home_voice ul li:not(:last-child) {
	margin-bottom: 1.8rem
}

@media(max-width: 767px) {
	.home_voice ul li:not(:last-child) {
		margin-bottom: 1rem
	}
}

.home_voice .txt {
	position: relative
}

.home_voice .txt::before,
.home_voice .txt::after {
	content: "";
	width: 30px;
	height: 22px;
	position: absolute;
	bottom: 100%
}

@media(max-width: 767px) {

	.home_voice .txt::before,
	.home_voice .txt::after {
		width: 6vw;
		height: 4.4vw
	}
}

.home_voice .txt::before {
	background: url(images/index/icn_quote_l.svg) center center/100% auto no-repeat;
	right: 100%
}

.home_voice .txt::after {
	background: url(images/index/icn_quote_r.svg) center center/100% auto no-repeat;
	left: 100%
}

@media(max-width: 767px) {
	.home_voice .txt::after {
		left: 90%
	}
}

.home_voice h3.ttl_cmn2 {
	margin-bottom: .2em
}

.home_voice p.txt01 {
	line-height: 1.5
}

.home_flow ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 5.5rem 3.3333333333%;
	padding-top: 3rem
}

@media(max-width: 767px) {
	.home_flow ul {
		gap: 3rem 0;
		padding-top: 2rem
	}
}

.home_flow ul li {
	width: 31.1111111111%;
	background-color: #fff;
	border: 5px solid #3ab484;
	border-radius: 1.2rem;
	padding: 5.5rem 4% 2.5rem;
	position: relative
}

@media(max-width: 767px) {
	.home_flow ul li {
		width: 100%;
		padding: 3rem 4% 1.5rem
	}
}

.home_flow ul li .num {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 128px;
	height: 128px;
	background-color: #3ab484;
	border-radius: 50%;
	font-size: 3.75rem;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%)
}

@media(max-width: 767px) {
	.home_flow ul li .num {
		width: 20vw;
		height: 20vw;
		font-size: 2.25rem
	}
}

.home_flow ul li h3.ttl_cmn2 {
	font-weight: 500
}

.home_flow ul li figure {
	text-align: center
}

.home_faq {
	background-color: #f5f9f7
}

.home_faq ul li {
	background-color: #fff;
	border-radius: 1.2rem;
	padding: 2rem 4%
}

@media(max-width: 767px) {
	.home_faq ul li {
		padding: 1.2rem 4%
	}
}

.home_faq ul li:not(:last-child) {
	margin-bottom: 2rem
}

@media(max-width: 767px) {
	.home_faq ul li:not(:last-child) {
		margin-bottom: 1.5rem
	}
}

@media(max-width: 767px) {
	.home_faq ul li .side_cmn {
		align-items: flex-start
	}
}

.home_faq ul li .side_cmn:not(:last-child) {
	margin-bottom: 1.5rem
}

@media(max-width: 767px) {
	.home_faq ul li .side_cmn:not(:last-child) {
		margin-bottom: 1rem
	}
}

.tbl_contact {
	width: 100%;
	margin: 0 auto 2rem;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0 2rem
}

@media(max-width: 767px) {
	.tbl_contact {
		border-spacing: 0 1.5rem;
		margin-bottom: 1.5rem
	}
}

.tbl_contact .col_th {
	width: 30%
}

@media(max-width: 767px) {
	.tbl_contact .col_th {
		display: none
	}
}

.tbl_contact .col_td {
	width: 70%
}

@media(max-width: 767px) {
	.tbl_contact .col_td {
		display: none
	}
}

.tbl_contact th,
.tbl_contact td {
	font-size: 1rem;
	line-height: 1.5
}

@media(max-width: 767px) {

	.tbl_contact th,
	.tbl_contact td {
		display: block;
		font-size: 0.875rem
	}
}

.tbl_contact th {
	font-weight: 700;
	text-align: left;
	position: relative
}

@media(max-width: 767px) {
	.tbl_contact th {
		padding-bottom: .5rem
	}
}

.tbl_contact td {
	font-weight: 400
}

.tbl_contact .required::before,
.tbl_contact .any::before {
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1;
	padding: .2rem .8rem;
	margin-right: 1rem;
	position: relative;
	top: -0.1rem
}

@media(max-width: 767px) {

	.tbl_contact .required::before,
	.tbl_contact .any::before {
		padding: .1rem .5rem;
		margin-right: .6rem
	}
}

.tbl_contact .required::before {
	content: "必須";
	background-color: #3ab484;
	color: #fff
}

.tbl_contact .any::before {
	content: "任意";
	background-color: #98b43a;
	color: #fff
}

.tbl_contact td input[type=text],
.tbl_contact td input[type=tel],
.tbl_contact td input[type=email],
.tbl_contact td input[type=date],
.tbl_contact td select {
	background: #f5f9f7;
	border-bottom: 1px solid #3ab484;
	padding: 3px 5px
}

.tbl_contact td input[type=text],
.tbl_contact td input[type=email] {
	width: 100%
}

.tbl_contact td input[type=tel] {
	width: 100%
}

.tbl_contact td input[type=date] {
	width: 30%
}

.tbl_contact td select {
	width: 40%
}

.tbl_contact td textarea {
	width: 100%;
	height: 320px;
	background: #f5f9f7;
	border-bottom: 1px solid #3ab484;
	padding: 5px
}

.tbl_contact td span.wpcf7-list-item {
	margin: 0 2em 0 0
}

.th_textarea {
	vertical-align: top
}

.th_textarea.required::before,
.th_textarea.any::before {
	top: .4rem
}

@media(max-width: 767px) {

	.th_textarea.required::before,
	.th_textarea.any::before {
		top: .2rem
	}
}

p.txt_privacy {
	margin-bottom: 1.2em
}

p.txt_privacy a {
	text-decoration: underline
}

.check_confirm {
	font-size: 1rem;
	font-weight: 700;
	text-align: center;
	margin: 0px 0 20px
}

@media(max-width: 767px) {
	.check_confirm {
		font-size: 0.875rem;
		margin: 1rem 0 2rem
	}
}

.check_confirm label {
	padding: 20px
}

.check_confirm span {
	margin-right: 5px
}

.btn_submit {
	display: table;
	margin: 0 auto;
	font-size: 1.5625rem;
	color: #fff;
	font-weight: 700;
	line-height: 1.5;
	position: relative
}

@media(max-width: 767px) {
	.btn_submit {
		font-size: 1.125rem
	}
}

.btn_submit input[type=submit] {
	width: 428px;
	height: 108px;
	background-color: #3ab484;
	border-radius: 10px;
	text-align: center
}

@media(max-width: 767px) {
	.btn_submit input[type=submit] {
		width: 84vw;
		height: 4rem
	}
}

.btn_submit input[type=submit]:hover {
	transition: .3s ease
}

.btn_submit input[type=submit][disabled] {
	opacity: .3
}

.btn_submit input[type=submit]:not([disabled]):hover {
	cursor: pointer;
	opacity: .8
}

.ajax-loader {
	display: none !important
}

.wpcf7-spinner {
	display: none !important
}

.home_consider {
	background-color: #3ab484
}

.home_consider .topline {
	max-width: 900px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: flex-end;
	margin-inline: auto
}

.home_consider .topline h3.ttl_cmn2 {
	width: 60%;
	margin-bottom: 2rem
}

@media(max-width: 767px) {
	.home_consider .topline h3.ttl_cmn2 {
		width: 100%;
		text-align: center
	}
}

.home_consider .topline figure {
	width: 30%;
	text-align: center
}

@media(max-width: 767px) {
	.home_consider .topline figure {
		width: 100%
	}
}

.home_consider .topline figure img {
	margin-bottom: -5px
}

.home_consider .btnwrap {
	max-width: 900px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-inline: auto
}

@media(min-width: 768px)and (max-width: 1199px) {
	.home_consider .btnwrap .btn_cmn {
		margin-inline: auto
	}
}

@media(min-width: 768px)and (max-width: 1199px) {
	.home_consider .btnwrap .btn_cmn:not(:last-child) {
		margin-bottom: 1rem
	}
}

@media(max-width: 767px) {
	.home_consider .btnwrap .btn_cmn:not(:last-child) {
		margin-bottom: 1rem
	}
}

.main_page {
	height: 30vh;
	background-color: #3ab484;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: unset;
	position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
	.main_page {
		height: 20vh
	}
}

@media(max-width: 767px) {
	.main_page {
		height: 40vw
	}
}

.thanks_first p.txt01 {
	margin-bottom: 3.5rem
}

@media(max-width: 767px) {
	.thanks_first p.txt01 {
		margin-bottom: 2rem
	}
}

/*# sourceMappingURL=style.css.map */


/*プライバシーポリシー*/
.pp_ttl {
	font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
    margin-top: -2rem;
}

.privacy_policy {
	/*height: 300px;*/
    overflow: auto;
    border: 1px solid #3ab484;
    padding: 10px;
    font-size: 0.8rem;
	border-radius: 5px;
	background-color: #f5f9f7;
}

@media(max-width: 767px) {
	.privacy_policy {
		height: 100px;
	}
}

.privacy_policy .pp_01 li {
	list-style: decimal;
	margin-left: 1rem;
	margin-bottom: 1rem;
}

.privacy_policy .pp_02 li {
	list-style: disc;
	margin-left: 1rem;
	margin-bottom: 0.5rem;
}

.pp_required {
	margin-top: 1rem;
}

.pp_link {
	text-align: center;
    text-decoration: underline;
	color: #0538ff;
}