.cp_qa *, .cp_qa *:after, .cp_qa *:before,
.cp_qa2 *, .cp_qa2 *:after, .cp_qa2 *:before,
.cp_qa3 *, .cp_qa3 *:after, .cp_qa3 *:before
{
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa .cp_actab, .cp_qa2 .cp_actab2, .cp_qa3 .cp_actab3 {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 0 2em 0;
	color: #FFF;
	/*background-color: #FCF;*/
	border-radius: 0.5em;
}

.cp_qa .cp_actab input, .cp_qa2 .cp_actab2 input, .cp_qa3 .cp_actab3 input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label, .cp_qa2 .cp_actab2 label, .cp_qa3 .cp_actab3 label{
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 2.5em 1em 2.2em;
	cursor: pointer;
	text-indent: 1em;
	border-radius: 0.5em;
	*background: rgba(27,37,56,0.1);
	font-size:1.2em;
}
.cp_qa .cp_actab label{ background-color: #187106;}
.cp_qa2 .cp_actab2 label{ background-color: #FFE5BF;}
.cp_qa3 .cp_actab3 label{ background-color: #FFE5E5;}

.cp_qa .cp_actab label::before, .cp_qa2 .cp_actab2 label::before, .cp_qa3 .cp_actab3 label::before{
	font-size: 1.5em;
	margin-left: -1.5em;
	padding-right: 0.3em;
	content: 'Q.';
}
.cp_qa .cp_actab label:hover, .cp_qa2 .cp_actab2 label:hover, .cp_qa3 .cp_actab3 label:hover{
	*transition: all 0.4s;
}
.cp_qa .cp_actab label:hover{ color: #FF6;}
.cp_qa2 .cp_actab2 label:hover{ color: #EE7F41;}
.cp_qa3 .cp_actab3 label:hover{ color: #FF6699;}

/* --質問の＋アイコン */
.cp_qa .cp_actab label::after, .cp_qa2 .cp_actab2 label::after, .cp_qa3 .cp_actab3 label::after{
	font-size: 1.7em;
	padding-top:.2em;
	font-weight: bold;
	line-height: 1.55em;
	position: absolute;
	top: 5px;
	right: 0;
	content: '+';
	display: inline-block;
	width: 1.9em;
	height: 1.9em;
	-webkit-transition: transform 0.4s;
	        transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content, .cp_qa2 .cp_actab2 .cp_actab-content, .cp_qa3 .cp_actab3 .cp_actab-content{
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 0 0 2.5em;
	-webkit-transition: max-height 0.2s;
	        transition: max-height 0.2s;
	border-radius: 0 0 0.5em 0.5em;
	background-color:#FFF;
	color:#336;
}

.cp_qa .cp_actab .cp_actab-content::before, .cp_qa2 .cp_actab2 .cp_actab-content::before, .cp_qa3 .cp_actab3 .cp_actab-content::before{
	font-size: 1.5em;
	position: absolute;
	margin: 0.3em 0 0 -0.8em;
	padding: 0;
	content: 'A.';
	color:#336;
}
.cp_qa .cp_actab .cp_actab-content::before{ color:#336;}
.cp_qa2 .cp_actab2 .cp_actab-content::before{ color:#EE7F41;}
.cp_qa3 .cp_actab3 .cp_actab-content::before{ color:#FF6699;}

.cp_qa .cp_actab .cp_actab-content p, .cp_qa2 .cp_actab2 .cp_actab-content p, .cp_qa3 .cp_actab3 .cp_actab-content p{
	margin: 1em 1em 1em 0;
	padding-left:1.5em;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content, .cp_qa2 .cp_actab2 input:checked ~ .cp_actab-content, .cp_qa3 .cp_actab3 input:checked ~ .cp_actab-content{
	max-height: inherit;
}
.cp_qa .cp_actab input:checked ~ .cp_actab-content{ border: 10px solid #187106;}
.cp_qa2 .cp_actab2 input:checked ~ .cp_actab-content{ border: 10px solid #FFE5BF;}
.cp_qa3 .cp_actab3 input:checked ~ .cp_actab-content{ border: 10px solid #FFE5E5;}

/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label, .cp_qa2 .cp_actab2 input:checked ~ label, .cp_qa3 .cp_actab3 input:checked ~ label {
	border-radius: 0.5em 0.5em 0 0;
}
.cp_qa .cp_actab input:checked ~ label{ color: #FF6;}
.cp_qa2 .cp_actab2 input:checked ~ label{ color: #EE7F41;}
.cp_qa3 .cp_actab3 input:checked ~ label { color: #FF6699;}

/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after, .cp_qa2 .cp_actab2 input[type=checkbox]:checked + label::after, .cp_qa3 .cp_actab3  input[type=checkbox]:checked + label::after {
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}