/*--------------------------------------------------*/
/*  FAQ                                             */
/*--------------------------------------------------*/
.ac_body {
	display: none;
}

.ac_menu dt {
	position: relative;
	padding: 12px 30px 12px 10px;
	font-size: 16px;
	line-height: 26px;
	cursor: pointer;
	border: 1px solid #c0c0c0;
	border-bottom: none;
}

.ac_menu dt.last {
	border-bottom: 1px solid #c0c0c0;
}

.ac_menu dt:hover {
	background: #fff0ff;
}

.ac_menu dt::after {
	position: absolute;
	top: calc(50% - 8px);
	right: 10px;
	color: #909090;
	font-size: 16px;
	font-family: FontAwesome;
	font-style: normal;
	content: "\f078";
	line-height: 1;
}

.ac_menu dt.ac_open::after {
	content: "\f077";
}

.ac_menu.faq_tbl dt {
	padding: 12px 30px 12px 42px;
}

.ac_menu.faq_tbl dt::before {
	position: absolute;
	top: 13px;
	left: 10px;
	width: 24px;
	height: 24px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	content: "Q";
	line-height: 24px;
	text-align: center;
	background: #0000d0;
	border-radius: 3px;
}

.ac_menu dd {
	position: relative;
	padding: 12px 10px;
	font-size: 16px;
	line-height: 26px;
	background: #fffaea;
	border: 1px solid #c0c0c0;
	border-bottom: none;
}

.ac_menu dd.last {
	border-top: none;
	border-bottom: 1px solid #c0c0c0;
}

.ac_menu.faq_tbl dd {
	padding: 12px 30px 12px 42px;
}

.ac_menu.faq_tbl dd::before {
	position: absolute;
	top: 13px;
	left: 10px;
	width: 24px;
	height: 24px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	content: "A";
	line-height: 24px;
	text-align: center;
	background: #d00000;
	border-radius: 3px;
}

/*--------------------------------------------------*/
/*  トップページコラムへのリンク                         */
/*--------------------------------------------------*/
.top_column_cover {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.top_column_box {
	width: 31%;
	margin-bottom: 25px;
	aspect-ratio: 16/9;
	position: relative;
}

.top_column_box a {
	display: block;
	transition: 0.5s;
}

.top_column_box a:hover {
	opacity: 0.6;
}

.top_column_box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;
}

.top_column_box .top_column_h {
	position: absolute;
	bottom: 0;
	background: linear-gradient(to top, rgba(68, 68, 68, 0.6), rgba(68, 68, 68, 0.5) 50%, rgba(68, 68, 68, 0.4) 80%, transparent);
	width: 100%;
	height: auto;
	margin-top: 0;
	padding: 15px 10px 10px;
	color: #ffffff;
	text-align: left;
	font-weight: 600;
	box-sizing: border-box;
	line-height: 1.4;
}

.top_column_link a {
	display: block;
	width: 250px;
	background: #1010ca;
	text-align: center;
	margin: 0 auto;
	border-radius: 20px;
	line-height: 40px;
	color: #fff;
	text-decoration: none;
	transition: 0.5s;
}

.top_column_link a:hover {
	opacity: 0.6;
	text-decoration: underline;
}
