@charset "UTF-8";

/*----------------------------------------
	box1
-----------------------------------------*/
#box1 img {
	float: right;
	width: 240px;
}

.maincon #box1 ul li {
	list-style-type: square;
	margin-left: 2.5rem;
}

#box1 ul {
	margin-top: 1rem;
}

#box1>section,
#box2 {
	clear: both;
	padding-top: 30px;
}

/*----------------------------------------
	box2
-----------------------------------------*/
#box2 .flexbox {
	display: flex;
	gap: 2rem;
}

#box2 .flexImage {
	flex: 0 0 240px;
}

#box2 .flexImage img {
	width: 100%;
	height: auto;
}

#box2 .flexTxt {
	flex: 1 1 auto;
}

#box2 .teacherlink {
	position: relative;
	border: 1px solid #06c;
}

#box2 .teacherlink::hover{
	border: 1px dotted #06c;
}

#box2 .teacherlink::after {
	position: absolute;
	bottom: 10px;
	right: 10px;
	content: "講師紹介ページは画像をクリック";
	display: inline-block;
	font-size: 10px;
	font-weight: bold;
	padding: 5px 5px 3px;
	background-color: #06c;
	color: #fff;
}

#box2 .inner dl {
	padding: 3px;
	margin-top: 20px;
	background: url(../../img/cmn_main_color02.gif);
}

#box2 .inner dt {
	color: #3eb2d4;
	background: #fff;
	padding-bottom: 5px;
	border-bottom: 1px dotted #3eb2d4;
	font-size: 120%;
	font-weight: bold;
	padding-top: 15px;
	padding-left: 15px;
}

#box2 .inner dd {
	background: #fff;
	padding: 7px 15px 15px 15px;
}

#box2 span {
	display: inline-block;
	padding: 5px 20px;
	margin: 0 10px 5px 0;
	color: rgb(51. 51, 51);
	font-weight: bold;
	background: #3eb2d4;
}

#box2 span.cat {
	background: #f8e352;
}

.banner {
	margin-top: 15px;
}

.banner:hover {
	opacity: 0.6;
}

.banner figcaption {
	text-align: center;
}

.lessonTxt,
.teacher-img {
	margin: 5px 0;
}

.teacher-img img {
	width: 100%;
	height: auto;
}

/*----------------------------------------
	box3
-----------------------------------------*/
#box3 p.teacher-img {
	text-align: center;
}

/*----------------------------------------
	PC表示
-----------------------------------------*/
@media screen and (min-width: 481px) {
	#box1 ul {
		float: left;
		width: 445px;
	}

	#box3 div {
		display: flex;
	}

	#box3 img {
		width: 230px;
		height: 160px;
		object-fit: cover;
	}

	#box3 p:first-child {
		margin-right: 1rem;
	}

	.flex {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 10px;
	}

}

/*----------------------------------------
	SP表示
-----------------------------------------*/
@media screen and (max-width: 480px) {
	#box2 p.teacher-img {
		text-align: center;
	}

	#box2 .inner dd {
		display: block;
	}

	#box1 img {
		float: none;
		width: 100%;
		height: auto;
		margin: 0 auto 15px auto;
	}

	#box1 p {
		float: none;
		width: 100%;
	}

	#box3 img {
		width: 100%;
		margin: 10px auto;
	}

	.banner img {
		width: 100%;
	}

}