#Outline #Contents .wrap .pre dl.course {
	width: 100%;
	font-size: 18px;
	box-sizing: border-box;
	color: #555;
	padding: 35px 25px 25px 25px;
}

#Outline #Contents .wrap .pre .course .balloon {
	position: absolute;
	top: 0;
	border-radius: 3px;
	padding: 0 5px;
	font-size: 12px;
	line-height: 2em;
	color: #fff;
	background-color: #FF5A5F;
}
#Outline #Contents .wrap .pre .course .balloon::after {
	content: '';
	position: absolute;
	right: 40px;
	bottom: -16px;
	border: 10px solid transparent;
	border-top: 12px solid #FF5A5F;
}

#Outline #Contents .wrap .pre .course dt {
	position: relative;
	padding: 0 0 20px 0;
	margin: 0 auto 20px;
	width: 70%;
	height: 80px;
	box-sizing: border-box;
}

#Outline #Contents .wrap .pre .course dt.catch {
	position: relative;
	margin: 0 auto 10px;
	padding: 0;
	width: 100%;
	height: auto;
	font-size: 12px;
	font-weight: normal;
	letter-spacing: 0.1em;
}
#Outline #Contents .wrap .pre .course dt.catch.emphasis {
	font-size: 18px;
}
#Outline #Contents .wrap .pre .course dt.catch.emphasis:not(:first-child) {
	padding-top: 10px;
	border-top: 1px dashed #ccc;
}
#Outline #Contents .wrap .pre .course dt.catch.emphasis::before {
	content: '■';
	margin-right: 5px;
}

#Outline #Contents .wrap .pre .course:not(.progressive) dt:nth-child(5n+2),
#Outline #Contents .wrap .pre .course:not(.progressive) dt:nth-child(5n+2) + dd {
	border-bottom: 0px dashed #ccc;
}
#Outline #Contents .wrap .pre .course:not(.progressive) dt:nth-child(5n+4),
#Outline #Contents .wrap .pre .course:not(.progressive) dt:nth-child(5n+4) + dd {
	border-bottom: 1px solid #ccc;
}

#Outline #Contents .wrap .pre .course.simple dt,
#Outline #Contents .wrap .pre .course.simple dt + dd {
	padding: 0 0 20px;
}
#Outline #Contents .wrap .pre .course.simple dt:has(.balloon),
#Outline #Contents .wrap .pre .course.simple dt:has(.balloon) + dd {
	padding: 30px 0 20px;
	height: 110px;
}
#Outline #Contents .wrap .pre .course.simple dt:has(+ dd:not(:last-child)),
#Outline #Contents .wrap .pre .course.simple dt + dd:not(:last-child) {
	border-bottom: 1px dashed #ccc;
}


#Outline #Contents .wrap .pre .course dt.course_setonline,
#Outline #Contents .wrap .pre .course dt.course_set {
	padding-top: 30px;
	height: 110px;
}
#Outline #Contents .wrap .pre .course dt label {
	font-weight: bold;
}
#Outline #Contents .wrap .pre .course dt .balloon {
	left: 20px;
}


#Outline #Contents .wrap .pre .course dd {
	position: relative;
	padding: 20px 0 20px 0px;
	margin: 0 auto 20px;
	width: 30%;
	height: 80px;
	box-sizing: border-box;
		font-weight: bold;
}
#Outline #Contents .wrap .pre .course dd.course_setonline {
	padding-top: 50px;
	height: 110px;
}

#Outline #Contents .wrap .pre .course dd .balloon {
	top: 20px;
	right: 0;
}

#Outline #Contents .wrap .pre .course dd .note  {
	font-size: 13px;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.9em;
}
