main p,
main ul, 
main ol,
main dl,
main h2 {
	margin-top: 0;
	margin-bottom: 0;
}

main img {
	max-width: none;
	width: 100%;
	height: auto;
	font-size: 1px;
}

main {
	color: #505050;
}

.bottom-flex {
	margin-top: 0px;
}

main .wrap01 {
	max-width: 1000px;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 900px) {
	main .wrap01 {
		max-width: noen;
		width: 87%;
	}
}

.page_title {
	margin-bottom: 100px;
}

.technologies_section + .technologies_section {
	margin-top: 90px;
}
.technologies_section .txt_box01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.technologies_section .txt_box01 .txt_block {
	width: 31%;
}
.technologies_section .txt_box01 .txt_block h3 {
	font-size: 34px;
	font-weight: bold;
	color: #004e90;
	line-height: 1.5em;
	margin-bottom: 30px;
}
.technologies_section .txt_box01 .txt_block .txt01 {
	font-size: 18px;
	line-height: 2.6em;
}
.technologies_section .txt_box01 .img01 {
	width: 62.4%;
	border-radius: 30px;
	overflow: hidden;
}
.technologies_section .txt_box01.reverse .txt_block {
	order: 1;
}
.technologies_section .txt_box01.reverse .img01 {
	order: 2;
}
.technologies_section .txt_box02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 50px;
}
.technologies_section .txt_box02 .txt_block {
	width: 23.5%;
	background-color: #004e90;
	color: #fff;
	border-radius: 20px;
	padding-top: 20px;
	padding-bottom: 25px;
}
.technologies_section .txt_box02 .txt_block .txt02 {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
}
.technologies_section .txt_box02 .txt_block .txt03 {
	font-size: 13px;
	line-height: 1.7em;
	text-align: center;
	margin-top: 0.6em;
}




@media (max-width:900px) {
	.page_title {
		margin-bottom: 21.7vw;
	}
	
	.technologies_section + .technologies_section {
		margin-top: 21.7vw;
	}
	.technologies_section .txt_box01 {
		display: block;
	}
	.technologies_section .txt_box01 .txt_block {
		width: 100%;
	}
	.technologies_section .txt_box01 .txt_block h3 {
		font-size: 6.3vw;
		margin-bottom: 4.3vw;
	}
	.technologies_section .txt_box01 .txt_block .txt01 {
		font-size: 3.9vw;
		line-height: 2.5em;
	}
	.technologies_section .txt_box01 .img01 {
		width: 100%;
		border-radius: 7.2vw;
		margin-bottom: 7.1vw;
	}
	.technologies_section .txt_box02 {
		margin-top: 6vw;
	}
	.technologies_section .txt_box02 .txt_block {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 47.8%;
		height: 38.2vw;
		border-radius: 2.9vw;
		padding-top: 0;
		padding-bottom: 0;
	}
	.technologies_section .txt_box02 .txt_block:nth-child(n+3) {
		margin-top: 3.9vw;
	}
	.technologies_section .txt_box02 .txt_block .txt02 {
		font-size: 3.8vw;
	}
	.technologies_section .txt_box02 .txt_block .txt03 {
		font-size: 2.6vw;
		line-height: 1.7em;
		margin-top: 0.6em;
	}	
}


/*---------------------------
アニメーション用CSS
-----------------------------*/
.animate, .animate2, .animate3 {
	opacity: 1;
	transition-property: opacity, transform;
	transition-duration: 0.5s;
	transition-timing-function: ease-in-out;
	transform: translateY(0);
  }
  
  .animate.deactive, .animate2.deactive, .animate3.deactive {
	opacity: 0;
	transition: 0s;
	transform: translateY(20px);
  }