@charset "utf-8";

body{counter-reset: number 0;}
section {margin-bottom: 40px;}
#yobo h3, #pmtc h3{margin-top: 40px;}
#yobo article span, #pmtc article span, #dh article span{display: block; padding-top: 15px;}
#yobo article span:first-child, #pmtc article span:first-child, #dh article span:first-child{padding-top: 0;}
.yobo_img{width: 100%; padding-top: 20px;}

#yobo p, #dh p{margin: 0; padding-top: 15px;}


.intro h3{
	display: inline;
	border-left: none;
	text-align: center;
	color: #666;
	font-size: 1.2em;
	border-bottom:#999 dotted 1px;
	padding: 0 20px;
}
.on_illust{
	color: #339966;
	font-size: 1.2em;
	line-height: 1.4em;
	text-align: center;
}
.frequency{
	color: #339966;
	font-size: 1.2em;
	text-align: center;
	margin-top: 0;
}
.frequency span{
	display: block;
	border-top: 2px #339966 dotted;
	border-bottom: 2px #339966 dotted;
	padding: 8px 0 3px 0 !important;
	margin-top: 5px;
}

ul.contents_list{
	list-style: none;
	padding: 0;
	margin: 0;
}
ul.contents_list li{
	border: 5px solid #ccc;
    border-radius: 10px;
    margin-bottom: 35px;
    padding: 6px 10px;
    position: relative;
	background-color:#FFF;
}
ul.contents_list li h3{
	color: #666;
	border-left: none;
	text-align: center;
	border-bottom: solid 3px #d7d7d7;
	padding: .25em 0 .5em .75em;
}
ul.contents_list li img{
	float: none;
	margin:auto;
	display:block;
	max-width:95%;
}

#dh h2{
	padding-top: 10px;
	background-color: #ddd;
	text-align: center;
	padding: 0.4em 0.5em;
	border: none;
	margin-bottom:20px;
	font-weight:bold;
	color: #666;
}
#dh h3{
	color: #FFF;
	background-color: #5e8396;
	border: none;
	text-align: center;
	font-weight: normal;
	padding: 3px 0 0 0;
	margin-bottom: 10px;
	width: 100%;
}
#dh div{
	text-align: center;
	margin: 0 auto 30px;
	font-size: 1em;
	line-height: 1.8em;
}

.column{
	margin: 40px 0;
	padding:20px;
	border:5px #ffb6c1 solid;
	border-radius: 10px;
}
.column h4{
	background-color: #FFF;
	border-top: none;
	text-align: left;
	color: #333;
}
.column h5{
	color: #4169e1;
	border: none;
	text-align: left;
	font-weight: normal;
	padding: 0;
	margin-bottom: 10px;
}
.column img{
	padding-top: 10px;
}
.column > section{
	margin-bottom: 20px;
	
}
.w-100{width: 100%;}

#pmtc h3{
	background-color: #ddd;
	border: none;
	text-align: center;
	padding-top: 10px;
}
#pmtc ul {
	list-style-type: none;
} 
#pmtc ul li{
	text-align: left;
	border-bottom: 1px #CCC solid;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
#pmtc ul li:before{
	counter-increment: number 1;
	content: counter(number) ". ";
	color: #5e8396;
}
#pmtc ul li span{display: inline-block;}

#topic{padding:20px; border:5px #ffb6c1 solid;}
#topic h2{border-top: none; padding-top: 0;}
.topic_h{
	padding: 0.4em 0.5em;
	border-bottom: solid 3px #d7d7d7;
	margin-bottom:20px;
	font-weight:bold;
	color: #666;
}
#topic h3{
	color: #FFF;
	background-color: #5e8396;
	border: none;
	text-align: center;
	font-weight: normal;
	padding: 3px 0 0 0;
	margin-bottom: 10px;
	width: 90%;
}
#topic p{
	width: 90%;
	margin-bottom: 20px;
}
#topic img{margin-bottom: 15px;}
.btn3{background-color: #5e8396;}


/* ClearFix */
.clearfix:after{
	content: "";
	clear: both;
	display: block;
}

@media screen and (max-width : 959px) { /* SP用 */
	.float-right-img{margin-bottom: 20px;}
	.intro h3{line-height: 2em;}
	#pmtc h3{margin-top: 10px;}
	#pmtc ul span{
		font-weight: bold;
	}
	.teiki{margin-bottom: 40px;}
	#topic span{padding-bottom: 15px;}
	#topic span:last-child{padding-bottom: 0;}
}

@media screen and (min-width : 960px) { /* PC用 */
	.teiki {display: flex;}
	.left_teiki{order: 1;}
	.right_teiki{
		min-width: 336px;
		order: 2;
		margin-left: 25px;
		padding-top: 25px;
	}
	.right_teiki img{
		max-width: 280px;
		position: relative;
		z-index: 0;
		top: -60px;
	}
	.on_illust{
		text-align: left;
		position: relative;
		z-index: 1;
		left: 10px;
	}
	.frequency span{width: 85%; margin-left: auto; margin-right: auto;}

	ul.contents_list li img{
		float: left;
		margin: 10px 20px 10px 5px;
		max-width: 220px;
	}
	ul.contents_list li h3{margin-left: 10px;}

	#dh div{width: 90%;}
	.column img{max-width: 250px;}

	.column > section{margin-left: 10px;}
	#pmtc ul li{
		display: flex;
	}
	#pmtc ul li span{
		margin-left: 10px;
		min-width: 160px;
	}
	
	.flex-container {
		display: flex;
		flex-wrap: wrap;
		flex-grow: 1;
		justify-content: space-around;
		align-content: space-around;
	}
	flex-container > *[class^="col-"]{
		box-sizing: border-box;
		min-width: 50px;
		border: 1px solid #DDD;
	}
	.col-2 {width: calc( 50% );}

} 