@charset "UTF-8";
figure {
	text-align: center;
}
ul {
	list-style: none;
}
.mv {
	background-image: -moz-linear-gradient( 168deg, rgb(8,163,216) 6%, rgb(8,108,216) 100%);
	background-image: -webkit-linear-gradient( 168deg, rgb(8,163,216) 6%, rgb(8,108,216) 100%);
	background-image: -ms-linear-gradient( 168deg, rgb(8,163,216) 6%, rgb(8,108,216) 100%);
	
}
.mv_area {
	background-image:  url(mv.png);
	background-position: right bottom;
	background-size: 65%;
	background-repeat: no-repeat;
	padding: 120px 0 220px 0;
}

.mv h1 {
	color: #fff;
	font-size: 52px;
	font-style: italic;
	line-height: 64px;
	font-weight: bold;
	letter-spacing: 0.2rem;
	padding: 0 0 40px 0;
}
.mv_ttl p {
	font-size: 20px;
	color: #fff;
}
#problem {
	background-color: #eff6fc;
	padding: 80px 0;
}
#problem p.problem_txt {
	font-size: 26px;
	text-align: center;
	font-weight: bold;
	line-height: 42px;
	margin-bottom: 80px;
}
#problem .check {
	background-color: #fff;
	box-shadow: 0px 5px 13px 0px rgba(62, 62, 62, 0.2);
	width: 832px;
	margin: 0 auto;
	border-radius: 10px;
	box-sizing: border-box;
	position: relative;
	padding: 50px 0 40px 70px;
}
#problem .check ul li img {
	width: 30px;
}
#problem .check ul li {
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 22px;
}
#problem .check ul li p {
	margin: 0 0 0 15px;
	font-weight: bold;
	font-size: 20px;
}
figure.arrow img {
	width: 37px;
}
figure.arrow {
	padding: 40px 0;
}
.solution {
	width: 100%;
	margin: 0 auto;
	background-color: #ff217a;
	border-radius: 10px;
	box-sizing: border-box;
	padding: 50px 0 40px 0px;
}
.solution figure img {
	width: 140px;
}
.solution p {
	text-align: center;
	color: #fff;
	font-size: 23px;
	font-weight: bold;
	line-height: 41px;
}

#case {
	padding: 80px 0;
	background-image:  url(case_bg.png);
	background-size: 100%;
	background-position: center center;
}
#case h2 {
	margin-bottom: 60px;
}
.case_list {
	margin-bottom: 80px;
}
.case_list dl {
	width: 45%;
	margin-top: 40px;
	position: relative;
	background-color: #fff;
}
.case_list dl:nth-child(1)::after {
	content: "";
	display: block;
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: -70px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 29px 0 29px 28px;
	border-color: transparent transparent transparent #323232;
}
.case_list dl:nth-of-type(1) {
	border: 2px solid #147bab;
}
.case_list dl:nth-of-type(2) {
	border: 2px solid #ff3262;
}
.case_list dl:nth-of-type(1) dt{
	background-color: #147bab;
	color: #fff;
	text-align: center;
	padding: 8px 0;
	font-size: 22px;
	font-weight: bold;
}
.case_list dl:nth-of-type(2) dt{
	background-color: #ff3262;
	color: #fff;
	text-align: center;
	padding: 8px 0;
	font-size: 22px;
	font-weight: bold;
}
.case_list dl dd {
	padding: 15px 0 0 15px;
	font-size: 20px;
	font-weight: bold;
	background-color: #fff;
}
#analysis_chart {
	padding: 80px 0;
	background-color: #effcff;
}
.analysis {
	width: 70%;
	margin: 60px auto;
	box-sizing: border-box;
	padding: 5% 0 5% 5%;
	background-color: #fff;
}
.analysis {
	box-shadow: 0px 9px 16px 0px rgba(0, 0, 0, 0.07);
}
.analysis ul li {
	font-size: 22px;
	font-weight: bold;
	color: #2a2a2a;
	margin-bottom: 10px;
}
ul.analysis_image li {
	width: 25%;
	margin-top: 40px;
}
#price {
	padding: 80px 0 120px 0;
	background-image: url(price_illust.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center bottom;
}
#price table {
	width: 772px;
	margin: 40px auto;
	box-shadow: 0px 9px 16px 0px rgba(0, 0, 0, 0.07);
}
#price table tr td {
	text-align: center;
	padding: 10px 0;
	font-size: 20px;
	font-weight: bold;
}
#price table tr:nth-child(1) {
	background-color: #31a5fe;
}
#price table tr:nth-child(2) {
	background-color: #dcdcdc;
}
#price table tr:nth-child(3) {
	background-color: #f7f7f7;
}
#price table tr:nth-child(4) {
	background-color: #dcdcdc;
}
#price table tr:nth-child(5) {
	background-color: #f7f7f7;
}
#price table tr:nth-child(1) td {
	color: #fff;
	text-align: center;
}
#price table tr td:nth-of-type(1) {
	width: 50%;
}
#price table tr td:nth-of-type(2) {
	width: 25%;
}
#price table tr td:nth-of-type(3) {
	width: 25%;
}
#price table tr:nth-child(2) td,
#price table tr:nth-child(3) td,
#price table tr:nth-child(4) td,
#price table tr:nth-child(5) td {
	border-right: 2px solid #fff;
}
#flow {
	background-image: -moz-linear-gradient( 168deg, rgb(8,163,216) 6%, rgb(8,108,216) 100%);
  background-image: -webkit-linear-gradient( 168deg, rgb(8,163,216) 6%, rgb(8,108,216) 100%);
  background-image: -ms-linear-gradient( 168deg, rgb(8,163,216) 6%, rgb(8,108,216) 100%);
}
#price p {
	text-align: center;
	color: #ff3b65;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.8;
	margin-bottom: 40px;
}
#price ul li {
	font-size: 17px;
	color: #313131;
	width: 690px;
	margin: 0 auto;
	text-indent: -1rem;
	padding-left: 1rem;
}
#flow h2.flow_ttl:after,
#flow h2.flow_ttl:before {
	display: none;
}
@media screen and (max-width: 767px) {
	.mv h1 {
		font-size: 32px;
		line-height: 1.5;
	}
	.mv_area .container figure img {
		width: 50%;
	}
	.mv {
		padding: 0;
	}
	.mv_area {
		width: 100%;
		overflow: hidden;
		padding: 20px 0 170px 0;
		background-size: 75%
	}
	.mv_area::before {
		left: -10%;
		width: 70%;
	}
	.mv_area figure {
		text-align: right;
	}
	#problem p.problem_txt {
		font-size: 18px;
		margin-bottom: 40px;
	}
	#problem {
		padding: 40px 0 60px 0;
	}
	#problem .check {
		width: 100%;
		padding: 5% 0% 3% 5%;
		font-size: 3.7vw;
	}
	#problem .check ul li p {
		font-size: 3.7vw;
	}
	.check {
		width: 100%;
		padding: 5% 0% 3% 5%;
	}
	#problem .check ul li {
		align-items: center;
		flex-wrap: nowrap;
	}
	#problem .check ul li img {
		width: 5%;
	}
	#problem .check ul li p {
		width: 95%;
		margin-left: 10px;
	}
	.solution {
		width: 100%;
	}
	.solution p {
		font-size: 18px;
	}
	.what_intro p {
		font-size: 16px;
	}
	#price table,
	#price p,
	#price ul li {
		width: 100%;
	}
	#price p {
	text-align:left;
	color: #ff3b65;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.8;
	margin-bottom: 40px;
}
	.service01 .list_fst > figure.women_fst img,
	.service01 .list_fst > figure.women_second img {
		display: none;
	}
	.service01 .list_fst ul li {
		width: 100%;
		margin-bottom: 40px;
	}
	.service01 {
		margin-bottom: 60px;
	}
	#service {
		padding: 40px 0 60px 0;
	}
	#price table tr td {
		font-size: 14px;
	}
	#flow ul li figure:after {
		bottom: -160%;
	}
	#flow ul li:nth-child(2) figure:after {
		bottom: -160%;
	}
	#flow ul li:nth-child(3) figure:after {
		bottom: -160%;
	}
	#flow_chart {
		padding: 0;
	}
	.chart ul.chart_list {
		width: 100%;
	}
	.chart ul.chart_list li {
		margin-bottom: 70px;
		font-size: 19px;
	}
	.chart ul.chart_list li::after {
		bottom: -48px;
	}
	.chart ul.chart_img {
		width: 100%;
	}
	#price table tr td:nth-of-type(1) {
		width: 40%;
	}
	.case_list dl {
		width: 100%;
	}
	.analysis {
		width: 100%;
	}
	.analysis ul li {
		font-size: 16px;
	}
	.analysis ul li:nth-child(1) {
		text-indent: -1rem;
		padding-left: 1rem;
	}
	ul.analysis_image li {
		width: 100%;
	}
	.case_list dl:nth-child(1)::after {
		transform: rotate(90deg);
		right: 0;
		left: 0;
		bottom: -145%;
	}
	.ttl_box span,
	.case_list dl dd {
		font-size: 16px;
	}
	#case {
		padding: 40px 0;
	}
	#case h2 {
		margin-bottom: 40px;
	}
	.case_list:nth-of-type(4) {
		margin-bottom: 20px;
	}
	#analysis_chart {
		padding: 40px 0;
	}
	#price {
		padding: 40px 0 90px 0;
	}
}






