h3 {
  font-weight:bolder;
  font-size: 25px;
  position: relative;
  padding: 0px;
  color: #fff;
  background-image: -webkit-linear-gradient(315deg, #9A0004 0%, #DA0113 29%, #B60109 67%, #900001 100%);
  background-image: linear-gradient(-225deg, #9A0004 0%, #DA0113 29%, #B60109 67%, #900001 100%);
}

h3 span {
  display: block;
  padding: 1rem 2rem;
  background: rgba(255, 255, 255, .2);
}

h4 {
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  color: #494949;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #9A0004;/*左線*/
}

h4 span {
  /* display: block; */
  /* padding: 1rem 2rem; */
  /* background: rgba(255, 255, 255, .2); */
}

.lesson-wrapper {
  height: 300px;
  /* padding-bottom: 80px; */
  /* background-color: #f7f7f7; */
  /* text-alignをcenterに指定してください */
  text-align: center;
}

.lesson {
  float: left;
  width: 33%;
}

.logo-wrapper {
  height: 300px;
  /* padding-bottom: 80px; */
  /* background-color: #f7f7f7; */
  /* text-alignをcenterに指定してください */
  text-align: center;
}

.logo {
  float: left;
  width: 50%;




/* 質問のやつです */

.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa {
	border-top: 1px solid #1b2538;
}
.cp_qa .cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 1px;
	color: #1b2538;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 2em 1em 1em;
	cursor: pointer;
	border-bottom: 1px solid #1b2538;
}
.cp_qa .cp_actab label:hover {
	color: #00838F;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.5s ease;
	        transition: max-height 0.5s ease;
	color: #ffffff;
	background: rgba(0, 131, 143, 0.5);
}
.cp_qa .cp_actab .cp_actab-content p {
	margin: 1em;
}
/* 質問を開いた時の仕様 */
/* --アイコン */
.cp_qa .cp_actab input:checked ~ label {
	color: #00838F;
}
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab label::after {
	line-height: 1.6;
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 3em;
	margin-top: -12.5px;
	-webkit-transition: all 0.5s ease;
	        transition: all 0.5s ease;
	text-align: center;
}
.cp_qa .cp_actab input[type=checkbox] + label::after {
	content: 'BC';
}
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg);
}





table.table01 {
	width:100%;
	border-right:#3EB1C6 solid 1px;
	border-collapse: collapse;
}
table.table01 thead th {
	background:#3EB1C6;
	color:#FFF;
	padding:10px 15px;
	border-right:#FFF solid 1px;
	border-bottom:#FFF solid 1px;
}
table.table01 thead th:last-child {
	border-right:#3EB1C6 solid 1px;
}
table.table01 tbody th {
	background:#3EB1C6;
	color:#FFF;
	padding:10px 15px;
	border-bottom:#FFF solid 1px;
	vertical-align:top;
}
table.table01 tbody tr:last-child th {
	border-bottom:#3EB1C6 solid 1px;
}
table.table01 tbody td {
	background:#FFF;
	padding:10px 15px;
	border-left:#3EB1C6 solid 1px;
	border-bottom:#3EB1C6 solid 1px;
	vertical-align:top;
}

@media screen and (max-width: 640px) {
table.table01 thead {
	display:none;
}
table.table01 tbody th {
	display:block;
}
table.table01 tbody td {
	display:block;
}
table.table01 tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:bold;
}
table.table01 tbody td p {
	padding-left:6em;
}
}