/* tab + アコーディオン  ---------------------------------------------------------- */

.tabchild.is-hide {
	display: none;
}
.tab_content {
	display: flex;
}
.tab_content .tab {
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: relative;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2;
	border:1px solid #54a3e2;
	transition: all 0.3s;
	box-sizing: border-box;
	width: 100%;
	height: 40px;
}
.tab_content button {
	position: relative;
	appearance: none;
	border: 0;
	border-radius: 0;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2;
	color: #54a3e2;
	background: #fff;
	border:1px solid #54a3e2;
	width: 100%;
	height: 40px;
	box-sizing: border-box;
	margin: 0;
	cursor: pointer;
	transition: all 0.3s;
}
.tab_content .tab.is-active,
.tab_content button.is-active {
	background: #54a3e2;
	color:#fff;
}
.tabList {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}
/* アコーディオン */
.accttl {
	background: #54a3e2;
	cursor: pointer;
	color: #fff;
	font-size: 18px;
	padding: 8px 12px;
	position: relative;
	z-index: 10;
	margin:20px 0;
}

.accttl span {
	position: relative;
	display: block;
}
.accttl span::before,
.accttl span::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 25px;
	display: block;
	width: 2px;
	height: 14px;
	background: #fff;
	margin-top: -6px;
	transition: all 0.3s;
}
.accttl span::after {
	transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}
.accttl.active span::before {
	opacity:0;
	transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}
.accContent {
	margin:20px 0;
	display:none;
}
.accContent.active {
	display:block;

}