.flex-side-column .al-r {
	text-align: right;
}

.flex-side-column .al-l {
	text-align: left;
}

.reverse {
	display: flex;
	flex-direction: column-reverse;
	align-self: flex-end;
}

.reverse figcaption {
	margin: 0;
}

@media (max-width: 767px) {
	.flex-side-column .al-r,
	.flex-side-column .al-l {
		text-align: center;
	}

	.reverse {
		display: block;
	}

	.reverse figcaption {
		margin: 0 0 16px 0;
	}
}

details.detail_switcher {
	display: block;
}

details.detail_switcher summary {
	position: relative;
	list-style-type: none;
	cursor: pointer;
}

details.detail_switcher summary::webkit-details-marker {
	display: none; /* Safari対策 */
}

details.detail_switcher summary::after {
	content: "▼";
	position: absolute;
	display: inline-block;
	font-size: 22px;
	bottom: 12px;
	right: 0;
	color: #315694;
	text-decoration: underline;
	transition: transform 0.5s;
}