	body.SP .detail #contents_body img {width: 100%;}
	

/* =================================================== index */
	body.PC .index {
		width: 972px;
		margin: 0 auto;
	}

.index ul,
.index li {
	margin: 0;
	padding: 0;
}

.index li {
	list-style-type: none;
	box-sizing: border-box;
	border: solid 1px #E3007F;
}
	
	body.PC .index #profile {
		float: left;
		width: 216px;
	}
	
		body.SP .index #profile {
			width: 90%;
			margin: 2rem auto;
			padding: 1rem 0;
			border-top: solid 2px #F62E36;
			border-bottom: solid 2px #F62E36;
		}
	
	body.PC .index #profile #teacher,
	body.PC .index #profile #teacher_title {
		margin: 0 0 10px;
	}
	
		body.SP .index #profile #teacher {
			float: left;
			width: 40%;
		}
		
		body.SP .index #profile #profile_body {
			float: right;
			width: 58%;
		}
		body.SP .index #profile #teacher_title {
			width: 80%;
			margin-bottom: 1rem;
		}
	
.index #profile p img {width: 100%;}
.index #profile h3 {color: #0088CC;}

	body.PC .index #profile h3 {
		margin: 15px 0;
		font-size: 20px;
	}
	
.index #profile h3 span {
	display: block;
	font-weight: normal;
	line-height: 1.4em;
}
	
	body.PC .index #profile h3 span {
		margin-bottom: 10px;
		font-size: 12px;
	}

	body.PC .index #profile h3 span {
		display: block;
		margin-bottom: 10px;
		font-size: 12px;
		font-weight: normal;
		line-height: 1.4em;
	}
	
		body.SP .index #profile h3 span {
			margin-bottom: 1rem;
			font-size: 1.2rem;
		}
		
		body.SP .index #profile h3 {
			margin: 1.5rem 0;
			font-size: 2rem;
		}

.index #profile p.profile_txt {
	text-align: justify;
	text-justify: inter-ideograph;
	line-height: 1.6em;
}

	body.PC .index #profile p.profile_txt {font-size: 12px;}
		body.SP .index #profile p.profile_txt {font-size: 1.2rem;}
	
	
	body.PC .index ul {
		float: right;
		width: 700px;
	}
	
	body.PC .index li {
		position: relative;
		width: 700px;
		height: 160px;
		padding: 10px 10px 10px 200px;
		margin-bottom: 20px;
	}
	
		body.SP .index li {
			position: relative;
			width: 90%;
			margin: 3% auto;
			box-sizing: border-box;
		}
		
.index li a {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

	body.SP .index li a {
		padding-bottom: 5%;
	}
	
.index li h2 {
	font-weight: normal;
	text-align: justify;
	text-justify: inter-ideograph;
}

	body.PC .index li h2 {
		font-size: 20px;
		line-height: 1.5em;
	}
	
		body.SP .index li .visual,
		body.SP .index li h2 {
			display: inline-block;
			vertical-align: top;
		}
		body.SP .index li h2 {
			width: 60%;
			line-height: 1.4em;
			margin-bottom: 8%;
			padding: 2% 2% 0 0;
			font-size: 1.7rem;
		}
		body.SP .index li h2 span {
			display: block;
			margin-top: 3%;
			font-size: 1.3rem;
			line-height: 1.4em;
		}


/* =================================================== detail */
	body.PC .contents.detail #contents_title {
		height: 300px;
		background: url("../images/training/title_base.png") no-repeat left bottom #ffe3ea;
	}
	
		body.SP .contents.detail #contents_title {
			width: 100%;
		}
		body.SP .contents.detail #contents_title_body {
			display: table;
			width: 100%;
			height: 12rem;
			background: url("../images/training/title_base.png") no-repeat left bottom #ffe3ea;
			background-size: auto 11rem;
			text-align: center;
		}
		body.SP .contents.detail #contents_title_body h2 {
			display: table-cell;
			width: 100%;
			height: 100%;
			vertical-align: middle;
		}
	
	body.PC .contents.detail #mainImg {
		position: absolute;
		right: 0;
		top: 0;
		width: 50%;
		height: 300px;
		background-color: #FFE3EA;
	}
	
		body.SP .contents.detail #mainImg img {
			width: 100%;
		}
	
	body.PC .detail #contents_body {
		width: 972px;
		margin: 0 auto;
	}
	
		body.SP .detail #contents_body {
			width: 90%;
			margin: 0 auto;
		}

.detail #contents_body h3 {
	position: relative;
	line-height: 1.5em;
	border-bottom: solid 2px #F62E36;
	background-repeat: no-repeat;
	background-image: url("../images/common/contents_icon2.png");
}

	body.PC .detail #contents_body h3 {
		margin: 50px 0 15px;
		padding: 0 0 0 40px;
		font-size:  24px;
		background-position: right 6px;
		background-size: auto 36px;
	}
	body.PC .detail #contents_body h3 br {display: none;}
	
		body.SP .detail #contents_body h3 {
			margin: 3rem 0 1rem;
			padding: 0 0 .3rem 3rem;
			font-size:  1.7rem;
			background-position: right bottom;
			background-size: auto 2.2rem;
		}

.detail #contents_body h3 span {
	position: absolute;
	color: #F62E36;
}

	body.PC .detail #contents_body h3 span {
		top: -1px;
		left: 5px;
		margin: 0 15px 0 0;
		font-size:  30px;
	}
	
		body.SP .detail #contents_body h3 span {
			left: .5rem;
			top: 0;
			margin: 0 1rem 0 0;
			font-size:  1.8rem;
		}
	
	body.PC .detail #contents_body .pic_zu {
		width: 542px;
		margin: 40px auto;
	}
		
		body.SP .detail #contents_body .pic_zu {
			width: 90%;
			margin: 3rem auto;
		}

.detail #reference {
	box-sizing: border-box;
	background-color: #F6F7F7;
}

	body.PC .detail #reference {
		width: 800px;
		margin: 50px auto;
		padding: 20px;
	}
	
		body.SP .detail #reference {
			width: 100%;
			margin: 5rem auto;
			padding: 3%;
		}

.detail #reference h4 {
	color: #9E9F9F;
}

	body.PC .detail #reference h4 {
		margin: 0 0 20px !important;
		font-size: 16px;
	}
	
		body.SP .detail #reference h4 {
			margin: 0 0 1rem !important;
			font-size: 1.4rem;
		}

.detail #reference p {
	text-align: justify;
	line-height: 1.6em;
	color: #727171;
}

	body.PC .detail #reference p {font-size: 13px;}
		body.SP .detail #reference p {
			font-size: 1.2rem;
			word-wrap: break-word;
		}