@charset "utf-8";

ol.ol01 li {
	padding-bottom: 0.4em;
}

ul.ul01,
ul.ul02 {
	padding-left: 15px; 
}

ul.ul01 > li {
	margin-top: 10px;
}

.list_none {
	list-style: none;
}

ol {
	padding-left: 2em;
}

/*list height*/
.li_mb05 > li {
	margin-bottom: 0.5em;
}

ul.ul02 > li {
	border-bottom: 1px dotted #CCC;
	padding: 0;
	margin: 0;
	padding-bottom: 0.3em;
	margin-bottom: 0.5em;
	list-style: none;
	position: relative;
}
ul.ul02 > li:before {
	position: absolute;
	left: -1em;
	font-family:'FontAwesome';
	content: "\f0da";
	color: #575AA7;
}

ul.ul03 {
	margin: 0;
	padding-left: 15px; 
}

ul.ul03> li {
	margin-top: 0;
}

ul.lecture {
	list-style:none outside;
	margin: 0;
	padding: 0;
	margin-left: 1em;
}
ul.lecture li {
	text-indent: -3em;
	margin-left: 3em;
	line-height: 160%;
	font-weight: normal;
}

dl.lecture dt {
  float: left;
	font-weight: normal;
	background: #6365AD;
	text-align: center;
	clear: both;
	width: 3em;
	color: #FFF;
	border: 1px solid #6365AD;
	padding: 0;
}
dl.lecture dd {
	margin: 4px 0 3px 3.5em;
	border-bottom: 1px dotted #8E8FC3;
}

/* 表示領域が575.98px以下の場合に適用するスタイル */
@media screen and (max-width: 575.98px) {
	dl.lecture dt {
		float: inherit;
		margin-top: 0.7em
	}
	dl.lecture dd {
	  margin-left: 0.5em;
		margin-top: 2px;
	}
}

/* 表示領域が576px以上の場合に適用するスタイル */
@media screen and (min-width: 576px) {
	dl.lecture dd .txt_idt01 {
		padding-left: 5.3em;
		text-indent: -5.3em;
	}
}

/* テキストボックス 
------------------------------------*/
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	width: auto;
	margin: 2em auto;
}
.cp_box label {
	font-size: 1.6rem;
	font-weight: normal;
	position: relative;
	display: block;
	width: 100%;
	margin: auto;
	padding: 0.3em 1em;
	cursor: pointer;
	transition: all 0.3s;
	text-align: left;
	color: #ffffff;
	background: #6365AD;
	border: 2px solid #6365AD;
	border-radius: 3px;
}
.cp_box label:hover {
	transition: all 0.3s;
	color: #6365AD;
	background: none;
}
.cp_box label::after {
	color: #6365AD;
}
.cp_box label:hover::after {
	color: #6365AD;
}
.cp_box input:checked ~ label::after {
	color: #6365AD;
}
.cp_box input:checked ~ label:hover::after {
	color: #6365AD;
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	position: relative;
	z-index: 1;
	overflow: hidden;
	height: 0;
	margin-top: -1px;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
	background: rgba(255, 255, 255, 0.5);
}
.cp_box input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
/* 続きを読むを押すと表示されるテキストの高さ */
.cp_box input:checked ~ div.cp_container {
	height: 100%;
}
