@media screen and (max-width:767px) {
	.heroMessage p:last-child {
		font-size: 1rem;
	}
}

.sectionSubTitle {
	position: relative;
	padding-bottom: 20px;
	font-size: 1.5rem;
	color: #123e80;
	line-height: 1;
	text-align: center;
}
@media screen and (max-width:767px) {
	.sectionSubTitle {
		font-size: 1.188rem;
		padding-bottom: 15px;
	}
}

.section01 {
	padding-top: 0;
	overflow: hidden;
}
.section01 .topSection {
	float: left;
	width: 100%;
}

.topSection > div {
	position: relative;
	float: left;
	width: 50%;
	text-align: center;
}
.section01block01 {
	margin-left: 15px;
	margin-right: -15px;
	margin-bottom: 60px;
	padding: 40px 140px 40px 40px;
}
.section01 .sectionParagraph {
	margin-bottom: 70px;
	line-height: 2;
}
.section01block01 img {
	margin-bottom: 40px;
	max-width: 402px;
}
.section01block01 .sectionSubTitle {
	margin-bottom: 50px;
}
.section01block01 .sectionSubTitle::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	right: 32%;
	height: 1px;
	width: 20000px;
	background-color: #123e80;
}
.section01block01::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	width: 20000px;
	background: #f3f5f9;
	clip-path: polygon(0% 0%, 19875px 0%, 100% 100%, 0% 100%);
}
.section01block01::after {
	content: '';
	position: absolute;
	top: 15px;
	right: -20px;
	bottom: -15px;
	z-index: -2;
	width: 20000px;
	background: #dce2ec;
	clip-path: polygon(0% 0%, 19875px 0%, 100% 100%, 0% 100%);
}
.section01block02 {
	margin-top: 115px;
	margin-left: -15px;
	margin-bottom: 60px;
	padding: 40px 40px 40px 140px;
}
.section01block02 img {
	margin-bottom: 60px;
	max-width: 332px;
}
.section01block02 .sectionSubTitle {
	margin-bottom: 60px;
}
.section01block02 .sectionSubTitle::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 32%;
	height: 1px;
	width: 20000px;
	background-color: #123e80;
}
.section01block02::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 20000px;
	background: #f3f5f9;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 115px 100%);
}
.section01block02::after {
	content: '';
	position: absolute;
	top: 15px;
	left: 20px;
	bottom: -15px;
	z-index: -2;
	width: 20000px;
	background: #dce2ec;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 115px 100%);
}
@media screen and (max-width:767px) {
	.topSection > div {
		width: 100%;
	}
	.topSection > div p {
		font-size: 1rem;
	}
	.section01block01 {
		padding: 25px 35px;
		padding-right: 50px;
		margin-left: 0;
    	margin-right: 0;
	}
	.section01 .sectionParagraph {
		margin-bottom: 40px;
	}
	.section01block01 .sectionSubTitle {
		margin-bottom: 25px;
	}
	.section01block01 .sectionSubTitle::before {
		right: 0;
	}
	.section01block01 img {
		max-width: 220px;
		padding-right: 20px;
		margin-bottom: 22px;
	}
	.section01block01::before {
		right: -50px;
		clip-path: polygon(0% 0%, 19920px 0%, 100% 100%, 0% 100%);
	}
	.section01block01::after {
		top: 8px;
		right: -62px;
		bottom: -8px;
		clip-path: polygon(0% 0%, 19920px 0%, 100% 100%, 0% 100%);
	}
	.section01block02 {
		margin-top: 50px;
		padding: 35px;
		padding-left: 50px;
	}
	.section01block02 .sectionSubTitle {
		margin-bottom: 30px;
	}
	.section01block02 .sectionSubTitle::before {
		left: 0;
	}
	.section01block02::before {
		left: -50px;
	}
	.section01block02::after {
		left: -55px;
		bottom: -8px;
	}
	.section01block02 img {
		margin-bottom: 25px;
		max-width: 220px;
	}
	.section01block02::before {
		left: -40px;
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 90px 100%);
	}
	.section01block02::after {
		left: -46px;
		bottom: -8;
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 90px 100%);
	}
}

.section01block03 {
	clear: both;
	position: relative;
	margin: 60px auto 0;
	padding: 40px 180px 40px 40px;
	width: 100%;
	max-width: 1600px;
}
.section01block03::before {
	content: '';
	position: absolute;
	top: 0;
	right: 100px;
	bottom: 0;
	z-index: -1;
	width: 20000px;
	background: #f3f5f9;
	clip-path: polygon(0% 0%, 19875px 0%, 100% 100%, 0% 100%);
}
.section01block03::after {
	content: '';
	position: absolute;
	top: 15px;
	right: 80px;
	bottom: -15px;
	z-index: -2;
	width: 20000px;
	background: #dce2ec;
	clip-path: polygon(0% 0%, 19875px 0%, 100% 100%, 0% 100%);
}
.section01block03 .sectionSubTitle {
	margin-bottom: 40px;
}
.section01block03 .sectionSubTitle::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	right: 32%;
	height: 1px;
	width: 20000px;
	background-color: #123e80;
}
.section01block03 .col2 {
	clear: both;
	overflow: hidden;
}
.section01block03 .col2 > div {
	float: left;
	width: 50%;
	text-align: center;
}
.section01block03 .col2 > div:first-child {
	padding-right: 15px;
}
.section01block03 .col2 > div:first-child > img {
	margin-top: 100px;
	margin-bottom: 60px;
	max-width: 330px;
}
.section01block03 .col2 > div:last-child > div {
	position: relative;
	float: left;
	width: 100%;
	padding: 10px 80px 10px 30px;
	text-align: left;
}
.section01block03 .itemsWrapper > div {
	overflow: hidden;
}
.section01block03 .itemsWrapper > div:first-child {
	margin-bottom: 30px;
}
.section01block03 .itemsWrapper img {
	float: left;
	width: 106px;
	margin-right: 30px;
}
.section01block03 .itemsWrapper h4 {
	margin-top: 10px;
	margin-bottom: 15px;
	font-family: 'NotoSansJP-Regular';
	font-weight: 600;
}
.section01block03 .itemsWrapper p {
	margin-bottom: 10px;
	margin-left: 136px;
	font-size: 1rem;
	font-family: 'NotoSansJP-Regular';
}
.section01block03 .item01::before,
.section01block03 .item02::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	width: 20000px;
	background: #fff;
}
.section01block03 .item01::before {
	clip-path: polygon(0% 0%, 19915px 0%, 19955px 100%, 0% 100%);
}
.section01block03 .item02::before {
	clip-path: polygon(0% 0%, 19960px 0%, 100% 100%, 0% 100%);
}
@media screen and (max-width:1200px) {
	.section01 {
		margin-top: 0;
	}
	.section01block03 .col2 > div {
		width: 100%;
	}
	.section01block03::before {
		right: 40px;
	}
	.section01block03::after {
		right: 20px;
	}
	.section01block03 {
		padding-right: 100px;
	}
	.section01block03 .col2 > div:first-child {
		padding-right: 0;
	}
	.itemsWrapper {
		margin-top: 40px;
	}
	.section01block03 .item01::before {
		clip-path: polygon(0% 0%, 19945px 0%, 19970px 100%, 0% 100%);
	}
	.section01block03 .item02::before {
		clip-path: polygon(0% 0%, 19975px 0%, 100% 100%, 0% 100%);
	}
}
@media screen and (max-width:767px) {
	.section01block03 {
		padding: 25px 0 25px 20px;
	}
	.section01block03::before {
		right: -100px;
		clip-path: polygon(0% 0%, 19875px 0%, 100% 100%, 0% 100%);
	}
	.section01block03::after {
		top: 12px;
		right: -112px;
		bottom: -8px;
		clip-path: polygon(0% 0%, 19875px 0%, 100% 100%, 0% 100%);
	}
	.section01block03 p {
		padding-right: 20px;
		font-size: 1rem;
		text-align: left;
	}
	.section01block03 .sectionSubTitle {
		margin-bottom: 25px;
	}
	.section01block03 .sectionSubTitle::before {
		right: 10%;
	}
	.section01block03 .itemsWrapper h4 {
		margin-bottom: 10px;
		font-size: 1rem;
	}
	.section01block03 .itemsWrapper img {
		width: 70px;
		margin-right: 10px;
	}
	.section01block03 .itemsWrapper p {
		margin-left: 80px;
		font-size: 0.875rem;
		line-height: 1.6;
	}
	.section01block03 .col2 > div:first-child > img {
		margin-top: 25px;
		margin-bottom: 0;
		max-width: 220px;
	}
	.section01block03 .col2 > div:last-child > div {
		padding: 10px;
		margin-right: -30px;
		overflow: initial;
	}
	.section01block03 .item01::before {
		clip-path: polygon(0% 0%, 19975px 0%, 100% 100%, 0% 100%);
	}
	.section01block03 .item02::before {
		right: 0;
		clip-path: polygon(0% 0%, 19975px 0%, 100% 100%, 0% 100%);
	}
}

.section02 {
	position: relative;
	padding: 80px 0;
	overflow: hidden;
}
.section02 h2 {
	margin-bottom: 35px;
	font-family: 'NotoSansJP-Regular';
	font-weight: 600;
	font-size: 1.5rem;
}
.section02 p {
	font-size: 1rem;
}
.section02 .sectionContainer > p {
	width: 40%;
	margin-bottom: 40px;
	font-family: 'NotoSansJP-Regular';
	line-height: 2;
}
.section02::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -50px;
	bottom: 0;
	z-index: -1;
	width: 20000px;
	background: #f3f5f9;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 170px 100%);
}
.section02block01 .col2::after {
	clear: both;
	content: '';
	display: block;
	width: 100%;
}
.section02block01 .col2 > div {
	position: relative;
	z-index: 5;
	width: 50%;
	text-align: center;
}
.section02block01 .item01 {
	float: right;
	margin-top: -165px;
	margin-left: -50px;
	margin-right: 50px;
	padding: 40px 40px 40px 140px;
}
.section02block01 .item01 .sectionSubTitle {
	margin-bottom: 40px;
}
.section02block01 .item01 .sectionSubTitle::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 30%;
	height: 1px;
	width: 20000px;
	background-color: #123e80;
}
.section02block01 .item01 img {
	max-width: 416px;
	margin-bottom: 40px;
}
.section02block01 .item01::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 20000px;
	background: #fff;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 115px 100%);
}
.section02block01 .item01::after {
	content: '';
	position: absolute;
	top: 15px;
	left: 20px;
	bottom: -15px;
	z-index: -2;
	width: 20000px;
	background: #dce2ec;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 115px 100%);
}
.section02block01 .item02 {
	float: left;
	padding: 40px 140px 40px 40px;
	margin-right: -50px;
	margin-left: 50px;
}
.section02block01 .item02 .sectionSubTitle {
	margin-bottom: 64px;
}
.section02block01 .item02 img {
	max-width: 340px;
	margin-bottom: 70px;
}
.section02block01 .item02 .sectionSubTitle::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	right: 32%;
	height: 1px;
	width: 20000px;
	background-color: #123e80;
}
.section02block01 .item02::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	width: 20000px;
	background: #fff;
	clip-path: polygon(0% 0%, 19875px 0%, 100% 100%, 0% 100%);
}
.section02block01 .item02::after {
	content: '';
	position: absolute;
	top: 15px;
	right: -20px;
	bottom: -15px;
	z-index: -2;
	width: 20000px;
	background: #d1dae780;
	clip-path: polygon(0% 0%, 19875px 0%, 100% 100%, 0% 100%);
}
@media screen and (max-width:767px) {
	.section02 {
		margin-top: 40px;
		padding: 40px 25px;
	}
	.section02::before {
		clip-path: none;
	}
	.section02 h2 {
		margin-bottom: 25px;
		font-size: 1.25rem;
	}
	.section02 .sectionContainer > p {
		width: 100%;
		font-size: 0.875rem;
	}
	.section02block01 .col2 > div {
		width: 100%;
	}
	.section02block01 .item01 {
		margin-top: 0;
		margin-left: 0;
		margin-right: 0;
		padding: 30px 0;
	}
	.section02block01 .item01 .sectionSubTitle::before {
		left: 10%;
	}
	.section02block01 .item01 img {
		max-width: 220px;
		margin-bottom: 25px;
	}
	.section02block01 .item01::before {
		left: -70px;
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 80px 100%);
	}
	.section02block01 .item01::after {
		top: 12px;
		left: -76px;
		bottom: -8px;
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 80px 100%);
	}
	.section02block01 .item01 .sectionSubTitle {
		margin-bottom: 25px;
	}
	.section02block01 .item02 {
		margin-top: 50px;
		margin-left: 0;
		margin-right: 0;
		padding: 35px 0;
	}
	.section02block01 .item02 .sectionSubTitle {
		margin-bottom: 25px;
	}
	.section02block01 .item02 .sectionSubTitle::before {
		right: 10%;
	}
	.section02block01 .item02 img {
		max-width: 220px;
		margin-bottom: 20px;
	}
	.section02block01 .item02::before {
		right: -55px;
		clip-path: polygon(0% 0%, 19950px 0%, 100% 100%, 0% 100%);
	}
	.section02block01 .item02::after {
		top: 12px;
		right: -66px;
		bottom: -8px;
		clip-path: polygon(0% 0%, 19950px 0%, 100% 100%, 0% 100%);
	}
}