@charset "utf-8";
/* Copyright 2022 FSFIELD All Rights Reserved. */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

PC、タブレット、スマートフォン共通

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* ------------------------------------------------------------

ご依頼の流れ

------------------------------------------------------------ */

.sec_flow{
	max-width: 1160px;
	margin: 0 auto;
	padding: 110px 30px;
}

.sec_flow .heading01{margin-bottom: 55px;}

.sec_flow > p{
	text-align: center;
	margin-bottom: 80px;
}

.wrap_flow{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 -15px -43px;
}

.wrap_flow .flow{
	width: 33.333%;
	height: 100%;
	padding: 0 15px;
	margin-bottom: 43px;
}

.wrap_flow .flow .inner{
	position: relative;
	border: 1px solid #EBEBEB;
	padding: 42px 20px 25px;
	height: 100%;
}

.wrap_flow .flow:not(:first-of-type) .inner::before{
	content: "";
	display: block;
	background: url("../img/ico_arrow08.png") no-repeat 0 0;
	background-size: cover;
	width: 18px;
	height: 15px;
	position: absolute;
	top: 50%;
	left: -25px;
	margin-top: -7.5px;
}

.wrap_flow .flow .inner .step_num{
	display: inline-block;
	background: #40557F;
	color: #FFF;
	font-family: 'Roboto';
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
	min-width: 80px;
	padding: 6px 5px 5px;
	text-align: center;
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
}

.wrap_flow .flow .inner .step_ttl{
	color: #40557F;
	font-weight: 700;
	font-size: 2.1rem;
	line-height: 1.4;
	margin-bottom: 20px;
	text-align: center;
}

.wrap_flow .flow .txt{letter-spacing: 0.05em;}
.wrap_flow .flow .txt a{
	color: #000;
	text-decoration: underline;
}
.wrap_flow .flow .txt a:hover{
	text-decoration: none;
}

/* 業務委受託約款
---------------------------------------------- */
.agreement{
	max-width: 424px;
	margin: 0 auto 120px;
	display: flex;
    flex-direction: column;
    align-items: center;
}
.agreement a.image{
	display: block;
	box-shadow: 5px 5px 20px rgba(0,0,0,0.2);
	transition: box-shadow .33s;
	margin-bottom: 20px;
}
.agreement a.image:hover{
	box-shadow: 2.5px 2.5px 10px rgba(0,0,0,0.2);
}
.agreement a.image img{width: 100%;}




/* よくあるご質問
---------------------------------------------- */
.sec_faq{
	background: #F8F9F9;
	padding: 120px 0;
}
	
.sec_faq .faq_inner{
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 30px;
}

.wrap_faq01{
	border-top: 1px solid #E5E5E5;
	margin-bottom: 45px;
}

.wrap_faq01 .faq{
	border-bottom: 1px solid #E5E5E5;
	padding: 40px 0 37px;
	display: flex;
}

.wrap_faq01 .faq .question{
	flex: none;
	width: 365px;
	position: relative;
	padding:  0 40px 0 46px;
	font-weight: 700;
}

.wrap_faq01 .faq .answer{
	position: relative;
	padding-left: 48px;
}
.wrap_faq01 .faq .answer a{
	color: #1F1F1F;
	text-decoration: underline;
}
.wrap_faq01 .faq .answer a:hover{
	text-decoration: none;
}

.wrap_faq01 .faq .question::before{
	content: "Q";
	font-family: 'Roboto';
	font-size: 1.8rem;
	font-weight: 700;
	color: #FFF;
	background: #40557F;
	border-radius: 50%;
	width: 36px;
	height: 36px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -3px;
	left: 0;
}

.wrap_faq01 .faq .answer::before{
	content: "A";
	font-family: 'Roboto';
	font-size: 1.8rem;
	font-weight: 700;
	color: #40557F;
	background: #FFF;
	border-radius: 50%;
	border: 1px solid #D9D9D9;
	width: 34px;
	height: 34px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -3px;
	left: 0;
}

.wrap_faq01 .faq .answer > p:not(:last-child){margin-bottom: 26px;}

.faq_inner .txt_faq01{
	text-align: center;
	font-weight: 700;
	margin-bottom: 30px;
}

.faq_inner .txt_faq01 span{display: inline-block;}

.faq_inner .btn_contact{text-align: center;}

.faq_inner .btn_contact a{
	background: #00AC9B;
    color: #FFF;
    font-size: 1.5rem;
    padding: 16px 22px;
	width: 160px;
    border-radius: 25px;
    display: inline-block;
    line-height: 1.2;
}

.faq_inner .btn_contact a:hover{background: #4CC5B9;}

/* ご依頼の際は、～
---------------------------------------------- */
.request_message{
	max-width: 1160px;
	margin: 0 auto;
	padding: 120px 30px 0;
	display: flex;
}

.request_message p:nth-of-type(1){margin-right: 40px;}


@media only screen and (max-width:1024px){ /* 表示領域が1024px以下の場合に適用するスタイル */

	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	タブレット

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	ご依頼について

	------------------------------------------------------------ */
	
	/* ご依頼の流れ
	---------------------------------------------- */
	.wrap_flow{
		display: block;
		margin: 0;
	}

	.wrap_flow .flow{
		width: 100%;
		padding: 0;
	}
	
	.wrap_flow .flow:last-of-type{margin-bottom: 0;}
	
	.wrap_flow .flow .inner{padding: 27px 15px 25px;}
	
	.wrap_flow .flow:not(:first-of-type) .inner::before{
		transform: rotate(90deg);
		position: absolute;
		top: -29px;
		left: 50%;
		margin-left: -9px;
	}
	
	/* よくあるご質問
	---------------------------------------------- */
	.wrap_faq01 .faq .question{
		width: 320px;
		padding-right: 20px
	}
	
	/* ご依頼の際は、～
	---------------------------------------------- */
	.request_message{
		padding-top: 50px;
		display: block;
		text-align: center;
	}

	.request_message p:nth-of-type(1){margin: 0 0 18px;}
	
	
}/*--@media--*/


@media only screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	ご依頼について

	------------------------------------------------------------ */
	
	/* ご依頼の流れ
	---------------------------------------------- */
	.sec_flow{padding: 50px 10px;}
	
	.sec_flow .heading01{margin-bottom: 32px;}

	.sec_flow > p{
		margin-bottom: 60px;
	}

	.wrap_flow .flow{margin-bottom: 40px;}
	
	.wrap_flow .flow:not(:first-of-type) .inner::before{top: -26px;}
	
	.wrap_flow .flow .inner .step_num{
		font-size: 1.6rem;
		min-width: 70px;
		padding: 6px 4px 4px;
		top: -13px;
	}

	.wrap_flow .flow .inner .step_ttl{
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	
	/* 業務委受託約款
	---------------------------------------------- */
	.agreement{
		margin: 0 auto 50px;
	}
	.agreement a.image{
		width: 50vw;
		box-shadow: 3.75px 3.75px 15px rgba(0,0,0,0.2);
	}
	.agreement a.image:hover{
		box-shadow: 3.75px 3.75px 15px rgba(0,0,0,0.2);
	}

	/* よくあるご質問
	---------------------------------------------- */
	.sec_faq{padding: 45px 15px 30px;}

	.sec_faq .faq_inner{padding: 0;}
	
	.wrap_faq01{margin-bottom: 23px;}

	.wrap_faq01 .faq{
		padding: 21px 0 20px;
		display: block;
	}
	
	.wrap_faq01 .faq .question{
		width: 100%;
		padding:  0 0 12px 40px;
	}

	.wrap_faq01 .faq .answer{padding-left:  40px;}

	.wrap_faq01 .faq .question::before{
		font-size: 1.575rem;
		width: 31px;
		height: 31px;
		top: -3px;
		left: 0;
	}

	.wrap_faq01 .faq .answer::before{
		font-size: 1.575rem;
		width: 31px;
		height: 31px;
		position: absolute;
		top: -3px;
		left: 0;
	}

	.wrap_faq01 .faq .answer > p:not(:last-child){margin-bottom: 15px;}
	
	.faq_inner .txt_faq01{margin-bottom: 17px;}

	.faq_inner .btn_contact a{
		font-size: 1.3rem;
		padding: 13.5px 0;
		width: 150px;
		border-radius: 20px;
		line-height: 1;
	}
	
	/* ご依頼の際は、～
	---------------------------------------------- */
	.request_message{text-align: left;}
	
	
}/*--@media--*/

