@charset "UTF-8";
/*
	common
-----------------------------------------------------------------------------------------------*/
.ctsArea{
	text-align: center;
}
.case__head,
.feature__head,
.case__head{
	color: var(--blue);
	font-size: 3.8rem;
	font-weight: var(--bold);
	margin-bottom: 18px;
}
.case__lead,
.feature__lead{
	color: var(--blue);
	font-size: 2.0rem;
	font-weight: var(--bold);
	line-height: 1.7;
	margin: 18px 0 40px;
}
/*
	case
-----------------------------------------------------------------------------------------------*/
#case{
	position: relative;
}
#case::before,
#case::after{
	background: url(../img/bg_pattern01.png) no-repeat center center / cover;
	content: '';
	height: 380px;
	position: absolute;
	width: 650px;
	z-index: -1;
}
#case::before{
	right: 0;
	top: 0;
	transform: rotate(180deg);
}
#case::after{
	bottom: 0;
	left: 0;
}
[class^="case__item"]{
	background: #fffce7;
	border-radius: 25px;
	margin-top: 40px;
	padding: 50px 30px;
	position: relative;
}
[class^="case__item"] + [class^="case__item"]{
	margin-top: 70px;
}
.item__num{
	background: #fbad4b;
	border-radius: 55px;
	color: #fff8ee;
	display: block;
	font-weight: var(--bold);
	height: 110px;
	line-height: 1.2;
	padding: 24px 0;
	position: absolute;
	top: -50px;
	width: 110px;
}
.item__num::before{
	background: #fbad4b;
	content: '';
	height: 14px;
	left: 86px;
	position: absolute;
	top: 86px;
	width: 14px;
}
.item__num--sub{
	font-size: 4.0rem;
	line-height: 1;
}
.item__tit{
	color: #fbad4b;
	font-size: 2.7rem;
	font-weight: var(--bold);
}
.character__item{
	background: var(--blue);
	border-radius: 18px;
	color: #fff;
	display: inline-block;
	font-size: 1.7rem;
	margin: 20px 5px;
	padding: 5px 20px;
}
.item__ex{
	color: var(--blue);
	font-size: 1.7rem;
	font-weight: var(--bold);
}
.case__container{
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
	position: relative;
}
.case__container::before{
	border-right: 1px dashed #d8b881;
	content: '';
	height: 100%;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translate(-50%, 0);
}
.case__before,
.case__after{
	width: calc((100% - 45px)/2);
}
.case__before--tit,
.case__after--tit{
	align-items: center;
	background: #dbe7ed;
	border-radius: 10px;
	color: var(--blue);
	display: flex;
	font-size: 2.3rem;
	font-weight: var(--bold);
	height: 43px;
	justify-content: center;
	margin-bottom: 25px;
}
.case__after--tit{
	background: var(--green);
	color: #fff;
}
.case01__box{
	align-items: center;
	display: flex;
}
.case01__tit{
	align-items: center;
	background: #fff;
	border: 1px solid var(--blue);
	color: var(--blue);
	display: flex;
	font-size: 2.0rem;
	font-weight: var(--bold);
	height: 45px;
	justify-content: center;
	line-height: 1;
	min-width: 140px;
}
.case__after .case01__tit{
	border: 1px solid var(--green);
	color: var(--green);
}
.case__before--txt,
.case__after--txt{
	color: var(--blue);
	font-size: 1.7rem;
	line-height: 1.4;
}
.case__item--01 .case__before--txt,
.case__item--01 .case__after--txt{
	margin-left: 10px;
	text-align: left;

}
.case__after--txt{
	color: var(--green);
}
[class^="case__img"]{
	margin: 30px auto 0;
}
.case__item--01 .case__img01{
	width: 382px;
}
.case__item--02 .case__img01{
	width: 395px;
}
.case__item--03 .case__img01{
	width: 395px;
}
/*
	feature
-----------------------------------------------------------------------------------------------*/
#feature{
	background: #e8f1ff;
}
.feature__container{
	display: flex;
	justify-content: space-between;
}
[class^="feature__inner"]{
	width: calc((100% - 45px)/2);
}
.feature__head--user,
.feature__head--developer{
	margin-bottom: 20px;
	position: relative;
}
[class^="feature__person"]{
	bottom: -25px;
	position: absolute;
}
.feature__person01{
	left: 25px;
	width: 92px;
}
.feature__person02{
	right: 35px;
	width: 70px;
}
.feature__person03{
	right: 35px;
	width: 88px;
}
.feature__head--txt{
	background: var(--green);
	border-radius: 33px;
	color: #fff;
	display: inline-block;
	font-size: 2.3rem;
	font-weight: var(--bold);
	line-height: 1.3;
	padding: 10px;
	min-width: 200px;
}
.feature__inner--developer .feature__head--txt{
	background: #faaf50;
}
.feature__head--sub{
	display: block;
	font-size: 1.3rem;
}
.feature__list{
	background: #fff;
	border-radius: 25px;
	padding: 50px 30px;
}
.feature__item{
	border-bottom: 1px solid #dee9ee;
	display: flex;
	padding-bottom: 25px;
	text-align: left;
}
.feature__inner--developer .feature__item{
	padding-bottom: 43px;
}
.feature__item:last-child{
	border-bottom: none;
	padding-bottom: 0;
}
.feature__item + .feature__item{
	margin-top: 20px;
}
.feature__inner--developer .feature__item + .feature__item{
	margin-top: 35px;
}
.feature__img{
	align-items: center;
	display: flex;
	margin-right: 25px;
	min-width: 100px;
	max-width: 100px;
}
.feature__tit{
	color: var(--blue);
	font-size: 2.3rem;
	font-weight: var(--bold);
	margin-bottom: 5px;
}
.feature__txt{
	font-size: 1.5rem;
	line-height: 1.6;
}
/*
	faq
-----------------------------------------------------------------------------------------------*/
.faq__list{
	margin-top: 40px;
}
.faq__item + .faq__item{
	margin-top: 20px;
}
.faq__tit{
	align-items: center;
	background: #ccedff;
	cursor: pointer;
	border-radius: 10px;
	display: flex;
	font-size: 2.0rem;
	font-weight: var(--bold);
	height: 70px;
	padding: 10px 20px;
	position: relative;
}
.faq__tit::before,
.faq__tit::after{
	background: #1eade7;
	content: '';
	height: 22px;
	position: absolute;
	right: 33px;
	transform: rotate(0deg);
	transition: transform .3s;
	width: 2px;
}
.faq__tit::after{
	transform: rotate(90deg);
}
.close.faq__tit::before{
	transform: rotate(90deg);
	transition: transform .3s;
}
.faq__num{
	color: #1eade7;
	font-size: 3.0rem;
	line-height: .9;
	padding-right: 12px;
}
.faq__txt{
	display: none;
	line-height: 1.7;
	text-align: left;
	padding: 25px 10px 10px;
}
@media screen and (max-width:897px){
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	.case__head,
	.feature__head,
	.case__head{
		font-size: 2.8rem;
		margin-bottom: auto;
	}
	.case__lead,
	.feature__lead{
		font-size: 1.7rem;
		line-height: 1.7;
		margin: 20px 0 60px;
	}
	[class^="case__item"] + [class^="case__item"]{
		margin-top: 50px;
	}
	/*
		case
	-----------------------------------------------------------------------------------------------*/
	#case::before,
	#case::after{
		height: 150px;
		width: 300px;
	}
	[class^="case__item"]{
		border-radius: 15px;
		margin: 55px auto 0;
		max-width: 500px;
		padding: 50px 15px;
	}
	.item__num{
		border-radius: 55px;
		height: 80px;
		line-height: 1.2;
		padding: 13px 0;
		top: -35px;
		width: 80px;
	}
	.item__num::before{
		height: 10px;
		left: 63px;
		top: 63px;
		width: 10px;
	}
	.item__num--sub{
		font-size: 3.5rem;
		line-height: 0.8;
	}
	.item__tit{
		font-size: 2.0rem;
	}
	.character__item{
		font-size: 1.5rem;
		margin: 20px 5px;
		padding: 5px 20px;
	}
	.item__ex{
		font-size: 1.6rem;
	}
	.case__container{
		display: block;
		margin-top: 20px;
	}
	.case__container::before{
		content: none;
	}
	.case__before,
	.case__after{
		width: 100%;
	}
	.case__after{
		margin-top: 20px;
	}
	.case__before--tit,
	.case__after--tit{
		border-radius: 8px;
		font-size: 1.9rem;
		height: 40px;
		margin-bottom: 20px;
	}
	.case01__box{
		display: block;
	}
	.case01__tit{
		display: inline-flex;
		font-size: 1.5rem;
		height: 30px;
		margin-bottom: 8px;
		min-width: 140px;
	}
	.case__before--txt,
	.case__after--txt{
		font-size: 1.6rem;
		line-height: 1.4;
	}
	.case__item--01 .case__before--txt,
	.case__item--01 .case__after--txt{
		margin-left: 0;
		text-align: center;
	}
	[class^="case__img"]{
		margin: 20px auto 0;
	}
	.case__item--01 .case__img01,
	.case__item--02 .case__img01,
	.case__item--03 .case__img01{
		width: 100%;
	}
	/*
		feature
	-----------------------------------------------------------------------------------------------*/
	#feature{
		background: #e8f1ff;
	}
	.feature__container{
		display: block;
	}
	[class^="feature__inner"]{
		margin: 0 auto;
		max-width: 500px;
		width: 100%;
	}
	.feature__inner--developer{
		margin-top: 30px;
	}
	.feature__head--user,
	.feature__head--developer{
		margin-bottom: 20px;
	}
	[class^="feature__person"]{
		bottom: -25px;
		position: absolute;
	}
	.feature__person01{
		left: 20px;
		width: 70px;
	}
	.feature__person02{
		right: 25px;
		width: 55px;
	}
	.feature__person03{
		right: 20px;
		width: 70px;
	}
	.feature__head--txt{
		border-radius: 33px;
		font-size: 1.8rem;
		line-height: 1.3;
		padding: 10px;
		min-width: 160px;
	}
	.feature__inner--developer .feature__head--txt{
		background: #faaf50;
	}
	.feature__head--sub{
		display: block;
		font-size: 1.3rem;
	}
	.feature__list{
		border-radius: 15px;
		padding: 30px 15px;
	}
	.feature__item{
		padding-bottom: 20px;
	}
	.feature__inner--developer .feature__item{
		padding-bottom: 20px;
	}
	.feature__item:last-child{
		border-bottom: none;
		padding-bottom: 0;
	}
	.feature__item + .feature__item{
		margin-top: 20px;
	}
	.feature__inner--developer .feature__item + .feature__item{
		margin-top: 20px;
	}
	.feature__img{
		align-items: center;
		display: flex;
		margin-right: 15px;
		min-width: 60px;
		max-width: 60px;
	}
	.feature__tit{
		font-size: 1.8rem;
		margin-bottom: 5px;
	}
	.feature__txt{
		font-size: 1.4rem;
		line-height: 1.5;
	}
	/*
		faq
	-----------------------------------------------------------------------------------------------*/
	.faq__list{
		margin: 40px auto 0;
		max-width: 500px;
	}
	.faq__item + .faq__item{
		margin-top: 20px;
	}
	.faq__tit{
		border-radius: 7px;
		font-size: 1.6rem;
		height: auto;
		min-height: 60px;
		padding: 8px 50px 8px 15px;
		text-align: left;
	}
	.faq__tit::before,
	.faq__tit::after{
		height: 18px;
		right: 25px;
		width: 2px;
	}
	.faq__num{
		font-size: 2.2rem;
		padding-right: 8px;
	}
	.faq__txt{
		font-size: 1.5rem;
		line-height: 1.6;
		padding: 15px 0 0;
	}
}