@charset "UTF-8";



/* ++++++++++++++++++++++++++++++++++++++++++++++    PC    ++++++++++++++++++++++++++++++++++++++++++++++  */
/* 801px ~ */
@media screen and (min-width: 801px), print {

	
.deco {
	position: absolute;
	z-index: 1;
	transition-duration: 0.5s;
}
#deco01 {
	animation:4s ease-in-out infinite rotation2;
	top: -7%;
	right: 25%;
	width: 100px;
}
#deco02 {
	top: 15%;
	left: 22%;
	width: 60px;
}
#deco03 {
	top: 45%;
	right: 18%;
	width: 140px;
}
#deco04 {
	bottom: 32%;
	left: 5%;
	width: 50px;
}
#deco05 {
	animation:4s ease-in-out infinite rotation2;
	top: 4%;
    right: 12%;
	width: 146px;
}
#deco06 {
	top: 1%;
	left: 16vw;
	width: 30px;
}
#deco07 {
	top: 0;
	right: -5vw;
	width: 236px;
}
#deco08 {
	top: 12%;
	left: 4vw;
	width: 80px;
}
#deco09 {
	animation:4s ease-in-out infinite rotation2;
	top: 40%;
    left: -4.5vw;
    width: 126px;
}
#deco10 {
	top:35%;
	right: 16.5vw;
	width: 60px;
}
#deco11 {
	bottom: 40%;
	left: 6vw;
	width: 118px;
}
#deco12 {
	animation:3s linear infinite rotation1;
	bottom: 4%;
	left: 41vw;
	width: 30px;
}
#deco13 {
	bottom: 23%;
	right: 5vw;
	width: 40px;
}
#deco14 {
	bottom: 9%;
	right: 35vw;
	width: 56px;
}
#deco15 {
	bottom: 12%;
	left: 2vw;
	width: 36px;
}
#deco16 {
	animation:3s linear infinite rotation1;
	bottom: 37%;
	right: -3vw;
	width: 110px;
}
#deco17 {
	bottom: -1.4%;
	left: 15vw;
	width: 80px;
}

	
	
	#mainArea{
		position: relative;
		overflow: hidden;
		background-image: url("../img/training/mainimg.jpg");
		background-size: cover;
		padding: 17vw 0;
	}
		#mainArea h1 {
			position: relative;
			width: 340px;
			margin: auto;
		}
			#mainArea h1 img:nth-child(2) {
				position: absolute;
				top: 0;
				left: 0;
			}
	
	
	.frame {
		position: relative;
	}
	.frame_t::before ,
	.frame_t::after ,
	.frame_b::before ,
	.frame_b::after {
		position: absolute;
		content: "";
		box-sizing: border-box;
		border-style: solid;
		width: 0;
		height: 0;
	}
	.frame_t::before ,
	.frame_t::after {
		top: 0;
	}
	.frame_t::before {
		left: 0;
		border-width: 10px 10px 0 0;
		border-color: #fff transparent transparent transparent;
	}
	.frame_t::after {
		right: 0;
		border-width: 0 10px 10px 0;
		border-color: transparent #fff transparent transparent;
	}
	.frame_b::before ,
	.frame_b::after {
		bottom: 0;
	}
	.frame_b::before {
		left: 0;
		border-width: 10px 0 0 10px;
		border-color: transparent transparent transparent #fff;
	}
	.frame_b::after {
		right: 0;
		border-width: 0 0 10px 10px;
		border-color: transparent transparent #fff transparent;
	}
	.frame_bdr_t::before ,
	.frame_bdr_t::after ,
	.frame_bdr_b::before ,
	.frame_bdr_b::after {
		position: absolute;
		content: "";
		box-sizing: border-box;
		background-size: cover;
		width: 14px;
		height: 14px;
	}
	.frame_bdr_t::before ,
	.frame_bdr_t::after {
		top: -4px;
	}
	.frame_bdr_t::before {
		left: -4px;
	}
	.frame_bdr_t::after {
		right: -4px;
	}
	.frame.frame_r .frame_bdr_t::before {
		background-image: url("../img/bdr_t_l_r.jpg");
	}
	.frame.frame_r .frame_bdr_t::after {
		background-image: url("../img/bdr_t_r_r.jpg");
	}
	.frame.frame_bl .frame_bdr_t::before {
		background-image: url("../img/bdr_t_l_b.jpg");		
	}
	.frame.frame_bl .frame_bdr_t::after {
		background-image: url("../img/bdr_t_r_b.jpg");		
	}
	.frame_bdr_b::before ,
	.frame_bdr_b::after {
		bottom: -4px;
	}
	.frame_bdr_b::before {
		left: -4px;
	}
	.frame_bdr_b::after {
		right: -4px;
	}
	.frame.frame_r .frame_bdr_b::before {
		background-image: url("../img/bdr_b_l_r.jpg");
	}
	.frame.frame_r .frame_bdr_b::after {
		background-image: url("../img/bdr_b_r_r.jpg");
	}
	.frame.frame_bl .frame_bdr_b::before {
		background-image: url("../img/bdr_b_l_b.jpg");		
	}
	.frame.frame_bl .frame_bdr_b::after {
		background-image: url("../img/bdr_b_r_b.jpg");		
	}

	
	#secArea {
		overflow: hidden;
		position: relative;
		margin-top: 150px;
	}
		.sec {
		}
			.sec h2 {
				text-align: center;
			}
				.sec h2 span {
					font-weight: bold;
					font-size: 20px;
					position: relative;
					letter-spacing: 2px;
					display: inline-block;
				}
				.sec h2 span::before {
					position: absolute;
					content: "";
					bottom: -10px;
					left: 0;
					width: 100%;
					height: 5px;
					background-color: #000;
				}
			.sec .sec_grp {
				margin-top: 80px;
			}
				.sec .sec_grp dl {
					position: relative;
				}
					.sec .sec_grp dl dt {
					}
					.sec .sec_grp dl dd {	
						position: absolute;
						top: 0;
						left: 0;
						opacity: 0;
						transform: translate(-15px , 8px);
						transition-duration: 800ms;
					}
					.sec .sec_grp.fade_on dl dd {
						opacity: 1;
						transform: translate(0);
					}
					.sec .sec_grp dl dd:nth-of-type(1) {
						transition-delay: 1000ms;
					}
					.sec .sec_grp dl dd:nth-of-type(2) {
						transition-delay: 1500ms;
					}
					.sec .sec_grp dl dd:nth-of-type(3) {
						transition-delay: 2000ms;
					}

			.sec_blo {
				margin-top: 150px;
				padding-bottom: 180px;
			}
				.sec_blo .sec_sub {
					background-color: #000;
					color: #fff;
					text-align: center;
					font-size: 20px;
					font-weight: bold;
					padding: 5px 10px;
					line-height: 1.6;
				}
				.sec_blo ul {
					margin-top: 30px;
				}
					.sec_blo ul li {
						padding: 5px;
					}
					.sec_blo ul li.frame_bl {
						border: solid 4px #008dd6;
					}
					.sec_blo ul li.frame_r {
						border: solid 4px #e71f19;
					}
					.sec_blo ul li + li {
						margin-top: 40px;
					}
					.sec_blo ul li + li::before {
						position: absolute;
						content: "";
						top: -29px;
						left: 75px;
						margin: auto;
						box-sizing: border-box;
						width: 10px;
						height: 10px;
						border: 10px solid transparent;
						border-top: 10px solid #000;
					}
						.sec_blo ul li dl {
						}
							.sec_blo ul li dl dt ,
							.sec_blo ul li dl dd {
								float: left;
							}
							.sec_blo ul li dl dt {
								width: 158px;
							}
							.sec_blo ul li.frame_bl dl dt {
								border-right: solid 2px #008dd6;
							}
							.sec_blo ul li.frame_r dl dt {
								border-right: solid 2px #e71f19;
							}
								.sec_blo ul li dl dt div {
									display: table;
									width: 100%;
									height: 100%;
								}
									.sec_blo ul li dl dt div span {
										display: table-cell;
										vertical-align: middle;
										text-align: center;
									}
										.sec_blo ul li dl dt div span img {
											width: 71px;
										}
							.sec_blo ul li dl dd {
								width: calc(862px / 3);
								padding: 20px 30px;
								box-sizing: border-box;
								position: relative;
							}
							.sec_blo ul li dl dd + dd::before {
								position: absolute;
								content: "";
								top: 0;
								bottom: 0;
								left: 0;
								margin: auto;
								height: calc(100% - 40px);
								width: 1px;
							}
							.sec_blo ul li.frame_bl dl dd + dd::before {
								background-color: #008dd6;
							}
							.sec_blo ul li.frame_r dl dd + dd::before {
								background-color: #e71f19;
							}
								.sec_blo ul li dl dd div {
									font-weight: bold;
									font-size: 16px;
									text-align: center;
									line-height: 1.6;
									min-height: 50px;
									padding-top: 10px;
								}
									.sec_blo ul li dl dd div span {
										font-size: 13px;
										line-height: 1.6;
										display: block;
									}
								.sec_blo ul li dl dd p {
									margin-top: 15px;
									padding-bottom: 10px;
								}
									.sec_blo ul li dl dd p span {
										margin-top: 15px;
										display: inline-block;
										line-height: 1.4;
										text-indent: -1.2em;
										padding-left: 1.2em;
										font-size: 12px;
									}

	

	
}




/* ++++++++++++++++++++++++++++++++++++++++++++++    sp    ++++++++++++++++++++++++++++++++++++++++++++++  */
/* ~ 800px */
@media only screen and (max-width: 800px) {

.deco {
	position: absolute;
	z-index: 1;
	transition-duration: 0.5s;
}
#deco01 {
	animation:4s ease-in-out infinite rotation2;
	top: -10%;
	right: 30%;
	width: 62px;
}
#deco02 {
	display: none
}
#deco03 {
	bottom: 10%;
	right: 10%;
	width: 62px;
}
#deco04 {
	top: 20%;
	left: 2%;
	width: 40px;
}
#deco05 {
	animation:4s ease-in-out infinite rotation2;
	bottom: 0.5%;
	left: 18%;
	width: 63px;
}
#deco06 {
	top: 3%;
	left: 5vw;
	width: 28px;
}
#deco07 {
	display: none;
}
#deco08 {
	top: 29%;
	left: 2vw;
	width: 40px;
}
#deco09 {
	display: none;
}
#deco10 {
	top: 34.5%;
	left: 10%;
	width: 31px;
}
#deco11 {
	bottom: 50%;
	right: 2vw;
	width: 59px;
}
#deco12 {
	bottom: 33%;
	right: 6vw;
	width: 22px;
}
#deco13 {
	bottom: 27.5%;
    left: -5vw;
	width: 36px;
}
#deco14 {
	bottom: 20%;
	right: 5vw;
	width: 28px;
}
#deco15 {
	bottom: 12%;
	left: 10px;
	width: 40px;
}
#deco16 {
	animation:3s linear infinite rotation1;
	bottom: 70px;
	right: 5vw;
	width: 40px;
}
#deco17 {
	bottom: -1.6%;
	left: 15vw;
	width: 33px;
}

	
	#mainArea{
		position: relative;
		overflow: hidden;
		background-image: url("../img/training/mainimg_sp.jpg");
		background-size: cover;
		background-position: center;
		padding: 25vw 0;
	}
		#mainArea h1{
			position: relative;
			max-width:437px; 
			width: 75%;
			margin: 0 auto;
		}
			#mainArea h1 img:nth-child(2) {
				position: absolute;
				top: 0;
				left: 0;
			}
	

	.frame {
		position: relative;
	}
	.frame_t::before ,
	.frame_t::after ,
	.frame_b::before ,
	.frame_b::after {
		position: absolute;
		content: "";
		box-sizing: border-box;
		border-style: solid;
		width: 0;
		height: 0;
	}
	.frame_t::before ,
	.frame_t::after {
		top: 0;
	}
	.frame_t::before {
		left: 0;
		border-width: 10px 10px 0 0;
		border-color: #fff transparent transparent transparent;
	}
	.frame_t::after {
		right: 0;
		border-width: 0 10px 10px 0;
		border-color: transparent #fff transparent transparent;
	}
	.frame_b::before ,
	.frame_b::after {
		bottom: 0;
	}
	.frame_b::before {
		left: 0;
		border-width: 10px 0 0 10px;
		border-color: transparent transparent transparent #fff;
	}
	.frame_b::after {
		right: 0;
		border-width: 0 0 10px 10px;
		border-color: transparent transparent #fff transparent;
	}
	.frame_bdr_t::before ,
	.frame_bdr_t::after ,
	.frame_bdr_b::before ,
	.frame_bdr_b::after {
		position: absolute;
		content: "";
		box-sizing: border-box;
		background-size: cover;
		width: 14px;
		height: 14px;
	}
	.frame_bdr_t::before ,
	.frame_bdr_t::after {
		top: -4px;
	}
	.frame_bdr_t::before {
		left: -4px;
	}
	.frame_bdr_t::after {
		right: -4px;
	}
	.frame.frame_r .frame_bdr_t::before {
		background-image: url("../img/voice/bdr_t_l_r.jpg");
	}
	.frame.frame_r .frame_bdr_t::after {
		background-image: url("../img/voice/bdr_t_r_r.jpg");
	}
	.frame.frame_bl .frame_bdr_t::before {
		background-image: url("../img/voice/bdr_t_l_b.jpg");		
	}
	.frame.frame_bl .frame_bdr_t::after {
		background-image: url("../img/voice/bdr_t_r_b.jpg");		
	}
	.frame_bdr_b::before ,
	.frame_bdr_b::after {
		bottom: -4px;
	}
	.frame_bdr_b::before {
		left: -4px;
	}
	.frame_bdr_b::after {
		right: -4px;
	}
	.frame.frame_r .frame_bdr_b::before {
		background-image: url("../img/voice/bdr_b_l_r.jpg");
	}
	.frame.frame_r .frame_bdr_b::after {
		background-image: url("../img/voice/bdr_b_r_r.jpg");
	}
	.frame.frame_bl .frame_bdr_b::before {
		background-image: url("../img/voice/bdr_b_l_b.jpg");		
	}
	.frame.frame_bl .frame_bdr_b::after {
		background-image: url("../img/voice/bdr_b_r_b.jpg");		
	}

	
	#secArea {
		overflow: hidden;
		position: relative;
		margin-top: 80px;
	}
		.sec {
		}
			.sec h2 {
				text-align: center;

			}
				.sec h2 span {
					font-weight: bold;
					font-size: 18px;
					position: relative;
					letter-spacing: 2px;
					display: inline-block;

				}
				.sec h2 span::before {
					position: absolute;
					content: "";
					bottom: -18px;
					left: 0;
					width: 100%;
					height: 5px;
					background-color: #000;
				}
			.sec .sec_grp {
				width: 330px;
				margin: 60px auto 0;
			}
				.sec .sec_grp dl {
					position: relative;
					padding: 30px 0;
				}
					.sec .sec_grp dl dt {
						position: absolute;
						content: "";
						display: block;
						top: 0;
						right: 18px;
						width: 15px;
						height: 100%;
						background-color: #008dd6;
					}
					.sec .sec_grp dl dd {	
						opacity: 0;
						transform: translateY(-15px);
						transition-duration: 800ms;
					}
					.sec .sec_grp.fade_on dl dd {
						opacity: 1;
						transform: translateX(0);
					}
					.sec .sec_grp dl dd + dd {
						margin-top: 30px;
					}
					.sec .sec_grp dl dd:nth-of-type(1) {
						transition-delay: 1000ms;
					}
					.sec .sec_grp dl dd:nth-of-type(2) {
						transition-delay: 1500ms;
					}
					.sec .sec_grp dl dd:nth-of-type(3) {
						transition-delay: 2000ms;
					}

			.sec_blo {
				margin-top: 100px;
				padding-bottom: 100px;
			}
				.sec_blo .sec_sub {
					background-color: #000;
					color: #fff;
					text-align: center;
					font-size: 18px;
					font-weight: bold;
					padding: 5px 10px;
					line-height: 1.6;
				}
				.sec_blo ul {
					margin-top: 30px;
				}
					.sec_blo ul li {
						padding: 5px;
					}
					.sec_blo ul li.frame_bl {
						border: solid 4px #008dd6;
					}
					.sec_blo ul li.frame_r {
						border: solid 4px #e71f19;
					}
					.sec_blo ul li + li {
						margin-top: 40px;
					}
					.sec_blo ul li + li::before {
						position: absolute;
						content: "";
						top: -29px;
						left: 0;
						right: 0;
						margin: auto;
						box-sizing: border-box;
						width: 10px;
						height: 10px;
						border: 10px solid transparent;
						border-top: 10px solid #000;
					}
						.sec_blo ul li dl {
						}
							.sec_blo ul li dl dt ,
							.sec_blo ul li dl dd {
							}
							.sec_blo ul li dl dt {
								padding: 20px 0;
							}
							.sec_blo ul li.frame_bl dl dt {
								border-bottom: solid 2px #008dd6;
							}
							.sec_blo ul li.frame_r dl dt {
								border-bottom: solid 2px #e71f19;
							}
								.sec_blo ul li dl dt div {
									display: table;
									width: 100%;
									height: 100%;
								}
									.sec_blo ul li dl dt div span {
										display: table-cell;
										vertical-align: middle;
										text-align: center;
									}
										.sec_blo ul li dl dt div span img {
											width: 71px;
										}
							.sec_blo ul li dl dd {
								padding: 20px 30px;
								box-sizing: border-box;
								position: relative;
							}
							.sec_blo ul li dl dd + dd::before {
								position: absolute;
								content: "";
								top: 0;
								left: 0;
								right: 0;
								margin: auto;
								height: 1px;
								width: calc(100% - 40px);
							}
							.sec_blo ul li.frame_bl dl dd + dd::before {
								background-color: #008dd6;
							}
							.sec_blo ul li.frame_r dl dd + dd::before {
								background-color: #e71f19;
							}
								.sec_blo ul li dl dd div {
									font-weight: bold;
									font-size: 16px;
									text-align: center;
									line-height: 1.6;
									padding-top: 10px;
								}
									.sec_blo ul li dl dd div span {
										font-size: 13px;
										line-height: 1.6;
										display: block;
									}
								.sec_blo ul li dl dd p {
									margin-top: 15px;
									padding-bottom: 10px;
								}
									.sec_blo ul li dl dd p span {
										margin-top: 15px;
										display: inline-block;
										line-height: 1.4;
										text-indent: -1.2em;
										padding-left: 1.2em;
										font-size: 12px;
									}
	
	
	
	
	
}








