@charset "UTF-8";

/**======================================
	faq
======================================**/

/*--------------------------------------
	common
---------------------------------------*/



/*--------------------------------------
	index
---------------------------------------*/

/* faq_box */

.faq_box .faq_part {
	margin-bottom: 20px;
}

.faq_box .faq_heading {
	flex-basis: 75px;
	max-width: 75px;
}

.faq_box .open_close_handle {
	transition: .3s;
}

.faq_box .open_close_handle:hover {
	transition: .3s;
}

.faq_box .open_close_handle,
.faq_box .a_cont .entry_cont {
	flex-basis: calc(100% - 75px);
}

.faq_box .faq_heading span {
	display: inline-block;
	text-align: center;
	width: 45px;
	height: 45px;
	background: var(--main-color);
	color: #ffffff;
	font-weight: bold;
	line-height: 40px;
	font-size: 30px;
	border-radius: 23px;
	font-family: "Lato", "Noto Sans JP", sans-serif; 
}

.faq_box .q_cont,
.faq_box .a_cont{
	position: relative;
	display: flex;
	padding: 20px;
}

.faq_box .q_cont {
	background: var(--bg-color);
}

.faq_box .a_cont {
	border: 3px solid var(--bg-color);
	padding-bottom: 15px;
}

.open_close_handle {
	position: static !important;
	font-size: 1.8rem;
	font-weight: bold;
}

.open_close_wrap .open_close_handle.plus::before,
.open_close_wrap .open_close_handle.minus::before {
	margin-top: -28px;
    width: 50px;
    height: 50px;
    font-size: 50px;
    line-height: 50px;
    right: 20px;
	color: var(--main-color);	
	text-align: center;
}

.open_close_wrap .open_close_handle.plus::before {
    content: "+";
}

.open_close_wrap .open_close_handle.minus::before {
    content: "-";
}

 @media screen and (max-width: 599px) {

	.faq_box .faq_heading {
		flex-basis: 50px;
		max-width: 50px;
	}

	.faq_box .open_close_handle,
	.faq_box .a_cont .entry_cont {
		flex-basis: calc(100% - 50px);
	}

	.faq_box .open_close_handle {
		padding-right: 40px !important;		
	}

	.faq_box .faq_heading span {
		width: 35px;
		height: 35px;
		line-height: 33px;
		font-size: 22px;
		border-radius: 18px;
	}

	.faq_box .q_cont,
	.faq_box .a_cont{
		position: relative;
		display: flex;
		padding: 15px;
	}

	.faq_box .a_cont{
		padding-bottom: 12px;
	}

	.open_close_handle {
		font-size: 1.6rem;
		padding-right: 40px;
	}

	.open_close_wrap .open_close_handle.plus::before,
	.open_close_wrap .open_close_handle.minus::before {
		position: absolute;
		top: 50%;
		right: 15px;
		margin-top: -25px;
		width: 40px;
		height: 40px;
		font-size: 40px;
		line-height: 40px;
	}



}

 @media screen and (min-width: 600px) {

	.open_close_handle {
		padding: 0 60px 0 0 !important;
	}
}

 @media screen and (min-width: 960px) {
	 
}