#program {
	position : relative;
	padding : 45px 0 60px;
	background-color : #fff;
}

@media screen and (min-width: 768px) {
	#program {
		padding : 90px 0 120px;
	}
}

#program:before {
	content : '';
	position : absolute;
	top : 0;
	left : 0;
	display : block;
	width : 0;
	height : 0;
	border-style : solid;
	border-width : 50px 100vw 0 0;
	border-color : #fff transparent transparent transparent;
}

@media screen and (min-width: 768px) {
	#program:before {
		border-width : 120px 100vw 0 0;
	}
}

#program .u-prog {
	*zoom : 1;
	padding-top : 30px;
	margin : 20px 0 0;
}

#program .u-prog:after {
	content : ' ';
	display : table;
	clear : both;
}

@media screen and (min-width: 768px) {
	#program .u-prog {
		padding-top : 25px;
		margin : 80px -15px 0;
	}
}

#program .u-prog > *:first-child {
	margin-top : 0;
}

#program .u-prog .prog-img, #program .u-prog .prog-txt {
	margin-top : 10px;
}

@media screen and (min-width: 768px) {
	#program .u-prog .prog-img, #program .u-prog .prog-txt {
		padding : 0 15px;
		margin : 0;
	}
}

#program .u-prog .prog-img > *:first-child, #program .u-prog .prog-txt > *:first-child {
	margin-top : 0;
}

#program .u-prog .prog-img {
	display : inline-block;
	margin : 0 auto;
}

@media screen and (min-width: 768px) {
	#program .u-prog .prog-img {
		float : left;
		width : calc(100% / 3);
	}
}

@media screen and (min-width: 768px) {
	#program .u-prog .prog-txt {
		float : right;
		width : 66.6%;
	}
}

@media screen and (min-width: 768px) {
	#program .u-prog .prog-txt .m-txt-subttl2 {
		margin-top : -10px;
	}
}

#program .u-prog.prog01 .prog-img, #program .u-prog.prog02 .prog-img {
	position : relative;
}

#program .u-prog.prog01 .prog-img:before, #program .u-prog.prog02 .prog-img:before {
	content : '';
	position : absolute;
	top : -20px;
	left : 10px;
}

@media screen and (min-width: 768px) {
	#program .u-prog.prog01 .prog-img:before, #program .u-prog.prog02 .prog-img:before {
		top : -25px;
		left : 35px;
	}
}

#program .u-prog.prog01 .prog-img {
	position : relative;
}

#program .u-prog.prog01 .prog-img:before {
	width : 41px;
	height : 40px;
	background : url(../../images/i_num_gr01.png) center center no-repeat;
	background-size : 41px auto;
}

@media screen and (min-width: 768px) {
	#program .u-prog.prog01 .prog-img:before {
		width : 52px;
		height : 50px;
		background-size : 52px auto;
	}
}

#program .u-prog.prog02 .prog-img {
	position : relative;
}

#program .u-prog.prog02 .prog-img:before {
	width : 54px;
	height : 40px;
	background : url(../../images/i_num_gr02.png) center center no-repeat;
	background-size : 54px auto;
}

@media screen and (min-width: 768px) {
	#program .u-prog.prog02 .prog-img:before {
		width : 68px;
		height : 50px;
		background-size : 68px auto;
	}
}
