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%;
	}
}

.head_contents {
	margin-top: 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid #004e90;
}
.head_contents p {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
}

h3.stitle {
	font-size: 36px;
	font-weight: bold;
	color: #004e90;
}
h4.sstitle {
	font-size: 30px;
	font-weight: bold;
	color: #1890c4;
}

#training {
	margin-top: 60px;
}
#training .head_txt01 {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
	margin-top: 60px;
}
#training .head_txt02 {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7em;
	margin-top: 30px;
}
#training .t_content {
	background-color: #fff;
	border-radius: 30px;
	margin-top: 50px;
	box-shadow: 6px 6px 0px 0px rgba(0, 78, 144, 1);
	padding-top: 65px;
	padding-bottom: 100px;
	border: 1px solid #004e90;
}
#training .t_content .training_section + .training_section {
	margin-top: 70px;
}
#training .t_content h4.sstitle {
	width: 88%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}
#training .t_content .newcomer_flow {
	width: 85%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 55px;
}
#training .t_content .newcomer_flow .flow_line {
	width: 8.7%;
	position: relative;
}
#training .t_content .newcomer_flow .flow_line .line {
	width: 6px;
	height: 100%;
	margin-left: auto;
	margin-right: auto;
	background-color: #c8c8c8;
	border-radius: 3px;
}
#training .t_content .newcomer_flow .flow_line .dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #c8c8c8;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
#training .t_content .newcomer_flow .flow_line .dot01 {
	bottom: -13px;
}
#training .t_content .newcomer_flow .flow_line .dot02 {
	bottom: -25px;
}
#training .t_content .newcomer_flow .flow_line .dot03 {
	bottom: -37px;
}
#training .t_content .newcomer_flow .flow_line .dot04 {
	bottom: -49px;
}
#training .t_content .newcomer_flow .flow_txt {
	width: 91.3%;
	padding-top: 38px;
}
#training .t_content .newcomer_flow .flow_txt .flow_block {
	position: relative;
}
#training .t_content .newcomer_flow .flow_txt .flow_block + .flow_block {
	margin-top: 55px;
}
#training .t_content .newcomer_flow .flow_txt .flow_block .point {
	position: absolute;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: #1890c4;
	top: 0;
	left: -45px;
}
#training .t_content .newcomer_flow .flow_txt .flow_block .txt01 {
	width: 100%;
}
#training .t_content .newcomer_flow .flow_txt #flow02 {
	width: 110px;
}
#training .t_content .newcomer_flow .flow_txt #flow02 .point {
	background-color: #1890c4;
	top: 50%;
	transform: translateY(-50%);
}
#training .t_content .hierarchy_box {
	width: 85%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#training .t_content .hierarchy_box .hierarchy_block {
	width: 48.8%;
	background-color: #daedf3;
	border-radius: 10px;
	padding-top: 25px;
	padding-bottom: 30px;
}
#training .t_content .hierarchy_box .hierarchy_block:nth-child(n+3) {
	margin-top: 20px;
}
#training .t_content .hierarchy_box .hierarchy_block .icon {
	width: 16.9%;
	margin-left: auto;
	margin-right: auto;
}
#training .t_content .hierarchy_box .hierarchy_block .ttl {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5em;
	margin-top: 0.3em;
}
#training .t_content .hierarchy_box .hierarchy_block .txt {
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	line-height: 1.7em;
	margin-top: 0.5em;
}
#training .t_content .theme_box {
	width: 85%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#training .t_content .theme_box .theme_block {
	width: 48.8%;
	background-color: #daedf3;
	border-radius: 10px;
	padding-top: 28px;
	padding-bottom: 30px;
}
#training .t_content .theme_box .theme_block:nth-child(n+3) {
	margin-top: 20px;
}
#training .t_content .theme_box .theme_block .icon {
	width: 21.7%;
	margin-left: auto;
	margin-right: auto;
}
#training .t_content .theme_box .theme_block .ttl {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5em;
	margin-top: 0.3em;
}
#training .t_content .theme_box .theme_block .txt {
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	line-height: 1.7em;
	margin-top: 0.5em;
}

#qualification {
	margin-top: 100px;
}
#qualification .head_txt01 {
	font-size: 18px;
	font-weight: 500;
	margin-top: 40px;
}
#qualification .qualification_box {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#qualification .qualification_box .qualification_block {
	width: 32%;
	height: 115px;
	background-color: #daedf3;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#qualification .qualification_box .qualification_block:nth-child(n+4) {
	margin-top: 20px;
}
#qualification .qualification_box .qualification_block:nth-child(7),
#qualification .qualification_box .qualification_block:nth-child(8) {
	width: 49%;
}
#qualification .qualification_box .qualification_block .txt01 {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5em;
}
#qualification .q_txt01 {
	font-size: 18px;
	font-weight: 500;
	margin-top: 0.5em;
	text-align: right;
}

@media (max-width:900px) {
	.head_contents {
		margin-top: 13.3vw;
		padding-bottom: 10.9vw;
	}
	.head_contents p {
		font-size: 5.3vw;
		line-height: 2em;
	}
	
	h3.stitle {
		font-size: 5.3vw;
	}
	h4.sstitle {
		font-size: 5.3vw;
	}
	
	#training {
		margin-top: 6vw;
	}
	#training .head_txt01 {
		font-size: 5.7vw;
		line-height: 2em;
		margin-top: 8.5vw;
	}
	#training .head_txt02 {
		font-size: 3.8vw;
		line-height: 2.4em;
		margin-top: 8.5vw;
	}
	#training .t_content {
		border-radius: 7.2vw;
		margin-top: 8.5vw;
		box-shadow: 0.5vw 0.5vw 0px 0px rgba(0, 78, 144, 1);
		padding-top: 9.7vw;
		padding-bottom: 18.1vw;
	}
	#training .t_content .training_section + .training_section {
		margin-top: 14.5vw;
	}
	#training .t_content h4.sstitle {
		width: 88.9%;
		margin-bottom: 7.2vw;
	}
	#training .t_content .newcomer_flow {
		width: 88.9%;
		padding-bottom: 9.4vw;
		margin-top: -5vw;
	}
	#training .t_content .newcomer_flow .flow_line {
		width: 6.2%;
	}
	#training .t_content .newcomer_flow .flow_line .line {
		width: 1vw;
		margin-left: 0;
		margin-right: auto;
		border-radius: 0.5vw;
	}
	#training .t_content .newcomer_flow .flow_line .dot {
		width: 1vw;
		width: 1vw;
		left: 0;
		transform: translateX(0);
	}
	#training .t_content .newcomer_flow .flow_line .dot01 {
		bottom: -3vw;
	}
	#training .t_content .newcomer_flow .flow_line .dot02 {
		bottom: -5vw;
	}
	#training .t_content .newcomer_flow .flow_line .dot03 {
		bottom: -7vw;
	}
	#training .t_content .newcomer_flow .flow_line .dot04 {
		bottom: -9vw
	}
	#training .t_content .newcomer_flow .flow_txt {
		width: 93.8%;
		padding-top: 12.1vw;
	}
	#training .t_content .newcomer_flow .flow_txt .flow_block + .flow_block {
		margin-top: 9.7vw;
	}
	#training .t_content .newcomer_flow .flow_txt .flow_block .point {
		width: 2.4vw;
		height: 2.4vw;
		left: -5.48vw;
	}
	#training .t_content .newcomer_flow .flow_txt #flow02 {
		display: block;
		font-size: 1px;
		width: 20.5vw;
	}
	#training .t_content .hierarchy_box {
		width: 88.9%;
	}
	#training .t_content .hierarchy_box .hierarchy_block {
		width: 47.8%;
		border-radius: 2.9vw;
		padding-top: 4.3vw;
		padding-bottom: 7.2vw;
	}
	#training .t_content .hierarchy_box .hierarchy_block:nth-child(n+3) {
		margin-top: 3.4vw;
	}
	#training .t_content .hierarchy_box .hierarchy_block .icon {
		width: 32.7%;
	}
	#training .t_content .hierarchy_box .hierarchy_block .ttl {
		font-size: 4.3vw;
		font-weight: bold;
		margin-top: 0.4em;
	}
	#training .t_content .hierarchy_box .hierarchy_block .txt {
		font-size: 3.4vw;
		font-weight: 500;
		margin-top: 0.5em;
	}
	#training .t_content .theme_box {
		width: 88.9%;
	}
	#training .t_content .theme_box .theme_block {
		width: 47.8%;
		border-radius: 2.9vw;
		padding-top: 4.3vw;
		padding-bottom: 6vw;
	}
	#training .t_content .theme_box .theme_block:nth-child(n+3) {
		margin-top: 3.4vw;
	}
	#training .t_content .theme_box .theme_block .icon {
		width: 45.8%;
	}
	#training .t_content .theme_box .theme_block .ttl {
		font-size: 4.3vw;
		font-weight: bold;
		margin-top: 0.4em;
	}
	#training .t_content .theme_box .theme_block .txt {
		font-size: 3.4vw;
		font-weight: 500;
		margin-top: 0.5em;
	}
	
	#qualification {
		margin-top: 21.7vw;
	}
	#qualification .head_txt01 {
		font-size: 3.9vw;
		line-height: 2.4em;
		margin-top: 4.8vw;
	}
	#qualification .qualification_box {
		margin-top: 7.2vw;
	}
	#qualification .qualification_box .qualification_block {
		width: 47.8%;
		height: 29vw;
		border-radius: 2.9vw;
	}
	#qualification .qualification_box .qualification_block:nth-child(n+3) {
		margin-top: 3.4vw;
	}
	#qualification .qualification_box .qualification_block:nth-child(7),
	#qualification .qualification_box .qualification_block:nth-child(8) {
		width: 47.8%;
	}
	#qualification .qualification_box .qualification_block .txt01 {
		font-size: 4vw;
		line-height: 1.4em;
	}
	#qualification .q_txt01 {
		font-size: 3.9vw;
		margin-top: 0.5em;
	}
}


/*---------------------------
アニメーション用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);
  }