@charset "utf-8";

/*----------------------------------------------
	MV
---------------------------------------------*/
.s_mv_bg {
	padding-top: calc(80px + 10px);
	background-image: url(../img/mv/mv_bg-pc.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center bottom;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.s_mv_copy {
	background: var(--bl);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 10px 0 20px;
}

.s_mv_txt {
	color: var(--wh);
	font-size: 4rem;
}

@media (max-width: 1270px) {
	.s_mv_txt {
		font-size: 3rem;
	}
}

@media (max-width: 500px) {

	.s_mv_copy {
		gap: 10px;
		padding: 10px 0 10px;
	}

	.s_mv_txt {
		font-size: 1.6rem;
	}

	.s_mv_bg {
		padding-top: calc(50px + 10px);
		background-image: url(../img/mv/mv_bg-sp.jpg);
	}
}

/*----------------------------------------------
	アバウト
---------------------------------------------*/
.s_about {
	position: relative;
	padding-bottom: 80px;
}

.s_about::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -30px;
	left: 50%;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 40px solid transparent;
	border-left: 40px solid transparent;
	border-top: 30px solid var(--wh);
	border-bottom: 0;
	transform: translateX(-50%);
}

.s_about_container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px;
}

.s_about_box {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: var(--wh);
	border-radius: 20px;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
	padding: 30px;
}

.s_about_txt {
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 10px;
}

.s_about_txt span {
	color: var(--bl);
}

.s_about_img {
	width: auto;
	height: 208px;
}

@media (max-width: 1270px) {
	.s_about_container {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.s_about_box {
		flex-direction: row-reverse;
		gap: 20px;
		padding: 10px;
	}

	.s_about_txt {
		margin-bottom: 0px;
	}

	.s_about_img {
		height: 100px;
	}
}

@media (max-width:500px) {
	.s_about {
		padding-bottom: 40px;
	}

	.s_about::after {
		bottom: -10px;
		border-right: 20px solid transparent;
		border-left: 20px solid transparent;
		border-top: 10px solid var(--wh);
	}

	.s_about_container {
		gap: 10px;
	}

	.s_about_box {
		padding: 10px;
		gap: 10px;
		justify-content: center;
	}

	.s_about_txt {
		font-size: 1.4rem;
	}

	.s_about_img {
		width: auto;
		height: 80px;
	}
}

/*----------------------------------------------
	北海ホームサービスなら
---------------------------------------------*/
.s_ifso {
	background-image: url(../img/ifso/ifso_bg-pc.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 0;
}

.s_ifso_wrap {
	background: var(--wh);
	border-radius: 20px;
	padding: 80px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 1120px;
	margin: 0 auto;
}

.s_ifso_ttl {
	background: var(--bl);
	padding: 15px 30px;
	font-size: 3rem;
	border-radius: 50px;
	display: flex;
	align-items: flex-end;
	position: relative;
}

.s_ifso_ttl::before {
	content: "";
	display: block;
	width: 135px;
	height: 148px;
	background-image: url(../img/ifso/ifso_img-pc.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0px;
}

.s_ifso_ttl span {
	content: "";
	padding-left: calc(135px + 5px);
}

.s_ifso_txt-01 {
	font-size: 3rem;
}

.s_ifso_txt-02 {
	font-size: 4rem;
}

@media (max-width: 1270px) {
	.s_ifso_wrap {
		width: calc(100% - 80px);
	}

	.s_ifso_ttl {
		text-align: center;
	}

	.s_ifso_txt-01 {
		font-size: 2rem;
		text-align: center;
	}

	.s_ifso_txt-02 {
		font-size: 3rem;
		text-align: center;
	}
}

@media (max-width: 500px) {
	.s_ifso {
		background-image: url(../img/ifso/ifso_bg-sp.jpg);
		padding: 40px 0;
	}

	.s_ifso_wrap {
		width: calc(100% - 40px);
		padding: 20px 0;
	}

	.s_ifso_ttl {
		background: var(--bl);
		padding: 2px 20px;
		font-size: 1.8rem;
	}

	.s_ifso_ttl::before {
		width: 51px;
		height: 56px;
		background-image: url(../img/ifso/ifso_img-sp.png);
	}

	.s_ifso_ttl span {
		padding-left: calc(51px + 1px);
	}

	.s_ifso_txt-01 {
		font-size: 1.6rem;
	}

	.s_ifso_txt-02 {
		font-size: 2rem;
	}
}

/*----------------------------------------------
	選ばれる理由
---------------------------------------------*/
.s_reasons_ttl {
	margin-bottom: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.s_reasons_ttlbox {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.s_reasons_subttl-01 {
	font-size: 4rem;
}

.s_reasons_subttl-02 {
	font-size: 11rem;
	font-weight: 600;
	line-height: 1;
}

.s_reasons_subttl-03 {
	font-size: 5rem;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 20px;
}

.s_reasons_container {
	display: grid;
	grid-template-areas:
		". item01 item01 item02 item02 ."
		"item03 item03 item04 item04 item05 item05";
	row-gap: 60px;
	column-gap: 40px;
}

.s_reasons_box-01 {
	grid-area: item01;
}

.s_reasons_box-02 {
	grid-area: item02;
}

.s_reasons_box-03 {
	grid-area: item03;
}

.s_reasons_box-04 {
	grid-area: item04;
}

.s_reasons_box-05 {
	grid-area: item05;
}

.s_reasons_box {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
	padding: 40px 0 30px;
	background: var(--wh);
	border-radius: 20px;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
	position: relative;
}

.s_reasons_box::after {
	display: block;
	content: "";
	position: absolute;
	width: 50px;
	height: 50px;
	background: url(../img/reasons/reasons_icon-pc.svg);
	background-repeat: no-repeat;
	background-size: contain;
	top: -20px;
}

.s_reasons_item {
	font-size: 2.4rem;
	font-weight: 700;
}

.s_reasons_img {
	width: 150px;
	height: auto;
	object-fit: contain;
}

@media (max-width: 1270px) {
	.s_reasons_ttl {
		margin-bottom: 40px;
	}

	.s_reasons_subttl-01 {
		font-size: 2rem;
	}

	.s_reasons_subttl-02 {
		font-size: 6rem;
	}

	.s_reasons_subttl-03 {
		font-size: 3rem;
		margin-bottom: 10px;
	}

	.s_reasons_container {
		row-gap: 40px;
		column-gap: 20px;
	}

	.s_reasons_box {
		padding: 20px 0 20px;
		border-radius: 10px;
		justify-content: flex-start;
	}

	.s_reasons_box::after {
		width: 30px;
		height: 30px;
		background: url(../img/reasons/reasons_icon-sp.svg);
		top: -15px;
	}

	.s_reasons_item {
		font-size: 1.6rem;
		text-align: center;
	}

	.s_reasons_img {
		width: 100px;
	}
}

@media (max-width: 500px) {
	.s_reasons_container {
		grid-template-areas:
			". item01 item01 ."
			"item02 item02 item03 item03"
			"item04 item04 item05 item05";
		row-gap: 20px;
		column-gap: 10px;
	}

	.s_reasons_img {
		width: 80px;
	}

	.s_reasons_item {
		font-size: 1.5rem;
	}

	.s_reasons_txt {
		padding: 0 5px;
	}

}

/*----------------------------------------------
	CTA
---------------------------------------------*/
/* 上部 */
.s_cta {
	display: grid;
	grid-template-areas:
		". ttl pic"
		". btn pic";
	grid-template-columns: 1fr auto 1fr;
	column-gap: 5px;
	row-gap: 20px;
}

.s_cta_ttl {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	grid-area: ttl;
	font-size: 4rem;
}

.s_cta_btnbox {
	grid-area: btn;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: flex-start;
}

.s_cta_btn {
	padding: 0px 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 100%;
	height: 80px;
	background: var(--ye);
	border-radius: 50px;
	color: var(--dbl);
}

.s_cta_btn {
	animation: dokundokun 2s ease infinite;
	transform: scale(0.9);
}

@keyframes dokundokun {
	0% {
		transform: scale(0.9);
	}

	15% {
		transform: scale(1);
	}

	30% {
		transform: scale(0.9);
	}

	45% {
		transform: scale(1);
	}

	70% {
		transform: scale(0.9);
	}
}

.s_cta_btn:hover {
	background: var(--wh);
}

.s_cta_txt-01 {
	font-size: 3rem;
}

.s_cta_txt-02 {
	font-size: 3.7rem;
}

.s_cta_pic {
	grid-area: pic;
	padding-top: 20px;
}


@media (max-width: 1270px) {
	.s_cta {
		grid-template-areas:
			"ttl ttl"
			"btn pic";
		grid-template-columns: auto auto;
		justify-content: center;
		column-gap: 5px;
		row-gap: 20px;
	}

	.s_cta_ttl {
		padding-top: 20px;
		font-size: 2.8rem;
	}

	.s_cta_btnbox {
		grid-template-columns: 1fr;
		gap: 20px;
		padding-bottom: 20px;
	}

	.s_cta_btn {
		padding: 0;
		width: 300px;
		height: 40px;
	}

	.s_cta_txt-01 {
		font-size: 1.6rem;
	}

	.s_cta_txt-02 {
		font-size: 2rem;
	}

	.s_cta_pic {
		padding-top: 0px;
		height: 100%;
		width: auto;
	}

	.c_cta_img {
		width: auto;
		height: 100%;
		object-fit: contain;
	}
}

@media (max-width: 500px) {
	.s_cta {
		row-gap: 10px;
	}

	.s_cta_ttl {
		font-size: 1.8rem;
	}

	.s_cta_btnbox {
		gap: 10px;
	}

	.s_cta_btn {
		width: 220px;
	}
}

/*----------------------------------------------
	施行事例
---------------------------------------------*/
.s_case_sec-01,
.s_case_sec-03 {
	background: #DAE8FB;
}

.s_case_sec-02 {
	background: #C8CFE9;
}


.s_case_bg {
	padding: 80px 0 120px;
	background-repeat: no-repeat;
	background-size: cover;
}

.s_case_bg-01 {
	background-image: url(../img/case/case01_bg-pc.jpg);
}

.s_case_bg-02 {
	background-image: url(../img/case/case02_bg-pc.jpg);
}

.s_case_bg-03 {
	background-image: url(../img/case/case03_bg-pc.jpg);
}

.s_case_ttl {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--wh);
}

.s_case_subttl-01 {
	font-size: 3rem;
}

.s_case_subttl-02 {
	font-size: 5rem;
}

.s_case_point {
	width: 1120px;
	margin: 0 auto;
	padding: 40px 0px 40px;
	background: var(--wh);
	transform: translateY(-160px);
	border-radius: 20px;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
	position: relative;
}

.s_case_subttl {
	font-size: 2.4rem;
	margin-bottom: 10px;
	color: var(--bl);
}

.s_case_txt {
	margin-bottom: 20px;
}

.s_case_txt:last-of-type {
	margin-bottom: 0px;
}

.s_case_flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.s_case_pic {
	width: auto;
}

.s_case_pic-01 {
	height: 292px;
}

.s_case_pic-02 {
	height: 346px;
}

.s_case_pic-03 {
	height: 475px;
}

.s_case_img {
	display: block;
	width: auto;
	height: 100%;
}


.s_case_other {
	transform: translateY(-80px);
	width: 1120px;
	margin: 0 auto;
}

.s_case_semittl {
	margin-bottom: 40px;
	font-size: 3rem;
}

.s_case_grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px;
}

.s_case_gridbox {
	background: var(--wh);
	border-radius: 20px;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

.s_case_gridttl {
	padding: 20px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.s_case_gridname {
	font-size: 3rem;
}


@media (max-width: 1270px) {
	.s_case_bg {
		padding: 40px 0 40px;
	}

	.s_case_subttl-01 {
		font-size: 1.6rem;
	}

	.s_case_subttl-02 {
		font-size: 2.8rem;
	}

	.s_case_point {
		padding: 40px 0px;
		background: var(--wh);
		transform: translateY(-40px);
		border-radius: 10px;
		width: calc(100% - 40px);
	}

	.s_case_subttl {
		font-size: 1.8rem;
		margin-bottom: 5px;
	}

	.s_case_txt {
		margin-bottom: 10px;
	}

	.s_case_flex {
		flex-direction: column;
		justify-content: center;
		gap: 20px;
	}

	.s_case_pic {
		height: 200px;
	}

	.s_case_other {
		transform: translateY(-20px);
		width: calc(100% - 40px);
	}

	.s_case_semittl {
		margin-bottom: 20px;
		font-size: 2.4rem;
	}

	.s_case_grid {
		gap: 10px;
	}

	.s_case_gridbox {
		border-radius: 10px;
	}

	.s_case_gridttl {
		padding: 10px 0;
	}

	.s_case_gridname {
		font-size: 1.6rem;
	}
}


@media (max-width: 500px) {
	.s_case_bg {
		padding: 20px 0 30px;
	}

	.s_case_bg-01 {
		background-image: url(../img/case/case01_bg-sp.jpg);
	}

	.s_case_bg-02 {
		background-image: url(../img/case/case02_bg-sp.jpg);
	}

	.s_case_bg-03 {
		background-image: url(../img/case/case03_bg-sp.jpg);
	}

	.s_case_subttl-01 {
		font-size: 1.4rem;
	}

	.s_case_subttl-02 {
		font-size: 2rem;
	}

	.s_case_point {
		padding: 20px 0px;
		width: calc(100% - 20px);
	}

	.s_case_subttl {
		font-size: 1.6rem;
	}

	.s_case_txt {
		font-size: 1.4rem;
	}

	.s_case_flex {
		flex-direction: column;
		justify-content: center;
		gap: 20px;
	}

	.s_case_pic {
		height: 150px;
	}

	.s_case_other {
		width: calc(100% - 20px);
	}

	.s_case_semittl {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}

	.s_case_grid {
		gap: 5px;
	}

	.s_case_gridbox {
		border-radius: 10px;
	}

	.s_case_gridcopy {
		font-size: 1rem;
		text-align: center;
	}

	.s_case_gridname {
		font-size: 1.2rem;
		text-align: center;
	}


}

/*----------------------------------------------
	保険・補助金
---------------------------------------------*/
.s_ins_ttl {
	text-align: center;
	font-weight: 700;
}

.s_ins_ttl-01 {
	font-size: 3rem;
}

.s_ins_ttl-02 {
	font-size: 5rem;
	color: var(--bl);
}

.s_ins_ttl-03 {
	font-size: 5rem;
}

.s_ins_container {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 30px;
	align-items: flex-end;
}

.s_ins_deco {
	padding: 10px 40px;
	margin-bottom: 10px;
	display: inline-block;
	background: var(--bl);
	color: var(--wh);
	border-radius: 40px;
}

.s_ins_subttl {
	margin-bottom: 10px;
	font-size: 2.8rem;
}

.s_ins_ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 1.8rem;
}

.s_ins_list::before {
	display: inline-block;
	content: "・";
}

.s_ins_flex {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--gybl);
	border-radius: 200px;
}

.s_ins_flex .s_ins_img {
	width: 200px;
	height: auto;
}

.s_ins_txt {
	font-size: 1.8rem;
	padding: 30px 0;
	line-height: 1.5;
}

.s_ins_txt span {
	font-size: 2.8rem;
	color: var(--bl);
}

.s_ins_lead {
	font-size: 2.8rem;
	text-align: center;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.s_ins_lead::before,
.s_ins_lead::after {
	display: inline-block;
	content: "";
	width: 2px;
	height: 33px;
	background: var(--bk);
}

.s_ins_lead::before {
	transform: rotate(-15deg);
}

.s_ins_lead::after {
	transform: rotate(15deg);
}

.s_ins_link:hover {
	opacity: 70%;
}

@media (max-width: 1270px) {
	.s_ins_ttl-01 {
		font-size: 1.8rem;
	}

	.s_ins_ttl-02 {
		font-size: 2.8rem;
	}

	.s_ins_ttl-03 {
		font-size: 2.8rem;
	}

	.s_ins_container {
		grid-template-columns: 1fr;
		gap: 10px;
		align-items: center;
		justify-content: center;
	}

	.s_ins_pic {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.s_ins_img {
		width: 200px;
		height: auto;
	}

	.s_ins_deco {
		padding: 5px 20px;
	}

	.s_ins_subttl {
		font-size: 2rem;
	}

	.s_ins_ul {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 10px;
		font-size: 1.4rem;
	}

	.s_ins_flex {
		border-radius: 10px;
		padding: 0 20px;
	}

	.s_ins_flex .s_ins_img {
		width: 160px;
		height: auto;
	}

	.s_ins_txt {
		font-size: 1.4rem;
		padding: 20px 0;
	}

	.s_ins_txt span {
		font-size: 2.4rem;
	}

	.s_ins_lead {
		font-size: 2rem;
	}

	.s_ins_lead::before,
	.s_ins_lead::after {
		height: 20px;
	}

}

@media (max-width: 500px) {
	.s_ins_ttl-01 {
		font-size: 1.6rem;
	}

	.s_ins_ttl-02 {
		font-size: 2.4rem;
	}

	.s_ins_ttl-03 {
		font-size: 2.4rem;
	}

	.s_ins_img {
		width: 140px;
	}

	.s_ins_subttl {
		font-size: 1.6rem;
	}

	.s_ins_ul {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.s_ins_flex {
		flex-direction: column;
	}

	.s_ins_flex .s_ins_img {
		width: 100px;
	}

	.s_ins_txt {
		padding: 20px 0 0;
	}

	.s_ins_txt span {
		font-size: 2rem;
	}

	.s_ins_lead {
		font-size: 1.6rem;
	}

}

/*----------------------------------------------
	その他
---------------------------------------------*/
.s_other_span-01 {
	font-size: 3rem;
}

.s_other_span-02 {
	font-size: 5rem;
	color: var(--bl);
}

.s_other_span-03 {
	font-size: 5rem;
}

.s_other_grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr;
	gap: 40px;
}

.s_other_box {
	background: var(--bl);
	width: 210px;
	height: 210px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
}

.s_other_item {
	font-weight: 700;
	text-align: center;
	color: var(--wh);
}

.s_other_container {
	background: var(--bl);
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 30px;
	gap: 20px;
}

.s_other_img {
	width: 290px;
	height: auto;
}

.s_other_txt {
	font-size: 3.8rem;
	margin-bottom: 35px;
}

.s_other_btn {
	display: block;
	padding: 20px 40px;
	font-size: 3rem;
	color: var(--bl);
	font-weight: 700;
	background: var(--wh);
	border-radius: 50px;
}

.s_other_btn:hover {
	background: var(--gybl);
}

@media (max-width: 1050px) {

	.s_other_span-01 {
		font-size: 1.8rem;
	}

	.s_other_span-02 {
		font-size: 2.8rem;
	}

	.s_other_span-03 {
		font-size: 2.8rem;
	}

	.s_other_grid {
		gap: 10px;
	}

	.s_other_box {
		margin: 0 auto;
		width: 120px;
		height: 120px;
	}

	.s_other_container {
		border-radius: 10px;
		padding-top: 20px;
		gap: 5px;
	}

	.s_other_img {
		width: 180px;
		height: auto;
	}

	.s_other_txt {
		font-size: 2.8rem;
		margin-bottom: 10px;
	}

	.s_other_btn {
		margin: 0 auto;
		padding: 0;
		font-size: 1.6rem;
		width: 220px;
		height: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

@media (max-width: 500px) {

	.s_other_span-01 {
		font-size: 1.4rem;
	}

	.s_other_span-02 {
		font-size: 1.8rem;
	}

	.s_other_span-03 {
		font-size: 1.8rem;
	}

	.s_other_grid {
		gap: 5px;
	}

	.s_other_box {
		width: 76px;
		height: 76px;
		gap: 2px;
	}

	.s_other_item {
		font-size: 0.9rem;
	}

	.s_other_img {
		width: 100px;
	}

	.s_other_container {
		padding-top: 0px;
		align-items: flex-end;
	}

	.s_other_txt {
		font-size: 1.6rem;
	}

	.s_other_txtbox {
		padding: 10px 0;
	}

	.s_other_btn {
		font-size: 1.4rem;
		width: 200px;
		height: 50px;
	}
}

/*----------------------------------------------
	ご利用の流れ
---------------------------------------------*/

.s_flow {
	background-image: url(../img/flow/flow_bg-pc.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 0;
}

.s_flow_ttl {
	margin-bottom: 60px;
}

.s_flow_grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	gap: 20px;
}

.s_flow_box {
	padding: 40px 20px 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	background: var(--wh);
	border-radius: 10px;
	position: relative;
}

.s_flow_box:before {
	background: var(--bk);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-family: "Poppins", sans-serif;
	color: var(--wh);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -20px;
	font-weight: 700;
}

.s_flow_box:nth-of-type(1)::before {
	content: "01";
}

.s_flow_box:nth-of-type(2)::before {
	content: "02";
}

.s_flow_box:nth-of-type(3)::before {
	content: "03";
}

.s_flow_box:nth-of-type(4)::before {
	content: "04";
}

.s_flow_box:nth-of-type(5)::before {
	content: "05";
}

.s_flow_box:nth-of-type(6)::before {
	content: "06";
}

.s_flow_icon {
	margin-bottom: 20px;
}

.s_flow_subttl {
	font-size: 2.4rem;
	margin-bottom: 10px;
}

.s_flow_txt {
	font-size: 1.6rem;
}

.s_flow_container {
	display: grid;
	grid-template-columns: 240px auto 240px;
	background: var(--wh);
	justify-content: center;
	align-items: center;
	border-radius: 300px;
}

.s_flow_img {
	padding-top: 30px;
}

.s_flow_copy-01 {
	font-size: 3rem;
}

.s_flow_copy-02 {
	font-size: 2.4rem;
	letter-spacing: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.s_flow_copy-02::before {
	display: inline-block;
	content: "";
	width: 2px;
	height: 25px;
	background: var(--bk);
	transform: rotate(-25deg);
}

.s_flow_copy-02::after {
	display: inline-block;
	content: "";
	width: 2px;
	height: 25px;
	background: var(--bk);
	transform: rotate(25deg);
}

.s_flow_copy-03 {
	font-size: 4rem;
}

@media (max-width: 1270px) {
	.s_flow {
		background: #527CB4;
		padding: 40px 0;
	}

	.s_flow_ttl {
		margin-bottom: 40px;
	}

	.s_flow_grid {
		grid-template-columns: 1fr 1fr;
		column-gap: 10px;
		row-gap: 20px;
	}

	.s_flow_box:before {
		width: 30px;
		height: 30px;
		font-size: 1.4rem;
		top: -15px;
	}

	.s_flow_box {
		padding: 20px 20px 20px;
	}

	.s_flow_icon {
		margin-bottom: 10px;
	}

	.s_flow_subttl {
		font-size: 1.8rem;
		margin-bottom: 5px;
	}

	.s_flow_txt {
		font-size: 1.4rem;
		text-align: center;
	}

	.s_flow_container {
		padding: 20px 0 0;
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "txt txt""pic01 pic02";
		border-radius: 10px;
	}

	.s_flow_pic-01 {
		grid-area: pic01;
		display: flex;
		align-items: flex-end;
		justify-content: flex-end;
	}

	.s_flow_pic-02 {
		grid-area: pic02;
	}

	.s_flow_copybox {
		grid-area: txt;
	}

	.s_flow_img {
		padding-top: 10px;
		width: 150px;
		height: auto;
	}


	.s_flow_copy-01 {
		font-size: 1.8rem;
	}

	.s_flow_copy-02 {
		font-size: 1.6rem;
	}

	.s_flow_copy-02::before {
		height: 18px;
	}

	.s_flow_copy-02::after {
		height: 18px;
	}

	.s_flow_copy-03 {
		font-size: 2.8rem;
	}
}

@media (max-width: 500px) {

	.s_flow_box {
		padding: 20px 10px 10px;
	}

	.s_flow_subttl {
		font-size: 1.6rem;
	}

	.s_flow_txt {
		font-size: 1.3rem;
	}

	.s_flow_img {
		width: 100px;
	}

	.s_flow_copy-01 {
		font-size: 1.4rem;
	}

	.s_flow_copy-02 {
		font-size: 1.2rem;
	}

	.s_flow_copy-02::before,
	.s_flow_copy-02::after {
		height: 12px;
	}

	.s_flow_copy-03 {
		font-size: 1.8rem;
	}
}

/*----------------------------------------------
	無料相談
---------------------------------------------*/


/*----------------------------------------------
	お問い合わせ
---------------------------------------------*/
/* バリデーション */
.wpcf7-not-valid-tip {
	color: #EF1212 !important;
	font-weight: 500 !important;
}

.screen-reader-response p {
	color: #EF1212 !important;
	font-weight: 500 !important;
}

/* リキャプチャを消す */
.grecaptcha-badge {
	visibility: hidden;
}

.s_contact {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.s_contact_container {
	width: 960px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-bottom: 20px;
}

.s_contact_flex {
	display: flex;
	align-items: center;
	gap: 5px;
}

.s_contact_ttl {
	font-size: 2.4rem;
	font-weight: 500;
}

.s_contact_force {
	background: var(--bl);
	padding: 5px 15px;
	color: var(--wh);
	font-size: 1.2rem;
	border-radius: 30px;
	font-weight: 500;
	line-height: 1;
}

.s_contact_form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.s_contact_name {
	padding: 10px;
	width: 100%;
	font-size: 2rem;
	border-radius: 10px;
	border: 1px solid var(--bk);
}

.s_contact_area {
	padding: 10px;
	width: 100%;
	height: 200px;
	font-size: 2rem;
	border: 1px solid var(--bk);
	border-radius: 10px;
}

.s_contact_memo {
	margin-bottom: 10px;
	line-height: 1.8;
}

.s_contact_scroll {
	width: 100%;
	height: 300px;
	padding: 20px;
	line-height: 1.5;
	font-size: 1.5rem;
	overflow-y: scroll;
	background: var(--wh);
}

.s_contact_hidden {
	overflow: hidden;
	width: 100%;
	height: 300px;
	border: 1px solid var(--bk);
	border-radius: 10px;
	margin-bottom: 10px;
}

.s_contact_subttl {
	font-size: 2.4rem;
	font-weight: 500;
}

.s_contact_itemttl {
	font-size: 1.8rem;
}

.s_contact_ul,
.s_contact_subul,
.s_contact_thirdul {
	margin-bottom: 10px;
	padding-left: 10px;
}

.s_contact_tar {
	text-align: right;
}

.s_contact_flex-01 {
	justify-content: center;
}

.wpcf7-acceptance input {
	accent-color: var(--bl);
	cursor: pointer;
}

.wpcf7-acceptance label {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.s_contact_kojin {
	width: 20px;
	height: 20px;
}

.s_contact_submit {
	background: none;
	border: none;
	color: var(--wh);
	font-weight: 500;
	font-size: 2.4rem;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.wpcf7 .wpcf7-submit:disabled {
	background: #B2B2B2;
	border-radius: 50px;
}

.wpcf7 .wpcf7-submit {
	background: var(--bl);
	border-radius: 50px;
	cursor: pointer;
}

.s_contact_btn {
	font-size: 1.8rem;
	width: 300px;
	height: 50px;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	background: var(--bl);
	position: relative;
}

.s_contact_btn .wpcf7-spinner {
	position: absolute;
	bottom: -30px;
}

.s_contact_copy {
	font-size: 1.4rem;
}

.s_contact_copy a {
	transition: .3s;
	color: var(--dbl);
}

.s_contact_copy a:hover {
	color: var(--gybl);
}

.s_contact_post {
	font-size: 1.8rem;
	font-weight: 700;
}

.s_contact_post-wrap {
	width: 100px;
}

.s_contact input,
.s_contact textarea {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}

.wpcf7-list-item {
	margin: 0;
}

.s_contact_check {
	display: flex;
	gap: 10px;
}

.s_contact_check .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 1.8rem;
	font-weight: 500;
}

.s_contact_check .wpcf7-list-item input {
	width: 20px;
	height: 20px;
	accent-color: var(--dbl);
}

@media (max-width: 1280px) {
	.s_contact_container {
		width: 100%;
		padding-left: 40px;
		padding-right: 40px;
		gap: 20px;
	}

	.s_contact_ttl {
		font-size: 1.8rem;
	}

	.s_contact_force {
		padding: 3px 10px;
	}

	.s_contact_name {
		font-size: 1.6rem;
	}

	.s_contact_area {
		height: 200px;
		font-size: 1.6rem;
	}

	.s_contact_memo {
		line-height: 1.5;
	}

	.s_contact_scroll {
		height: 300px;
		padding: 10px;
		line-height: 1.5;
	}

	.s_contact_hidden {
		height: 300px;
	}


	.s_contact_submit {
		font-size: 1.6rem;
	}

	.s_contact_check .wpcf7-list-item label {
		font-size: 1.6rem;
	}

	.s_contact_subttl,
	.s_contact_itemttl {
		font-size: 1.6rem;
	}

	.s_contact_txt {
		font-size: 1.4rem;
	}
}

@media (max-width: 500px) {
	.s_contact_container {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}

	.s_contact_form {
		gap: 5px;
	}

	.s_contact_check {
		flex-direction: column;
		gap: 10px;
	}

	.s_contact_area {
		height: 150px;
	}

	.s_contact_scroll {
		height: 200px;
	}

	.s_contact_hidden {
		height: 200px;
	}

}