@charset "utf-8";
.faq_section {
		background: #000;
		padding: 120px 40px;
}
.faq_container {
		max-width: 1010px;
		margin: 0 auto;
		background-repeat: repeat-y;
		background-position: center center;
		background-size: 100%;
		background-image: url("../images/frame_bg.jpg");
		padding: 1px;
}
.faq_frame {
		background: #000;
		padding: 10px;
}
.faq_frame_inner {
		background-repeat: repeat-y;
		background-position: center center;
		background-size: 100%;
		background-image: url("../images/frame_bg.jpg");
		padding: 1px;
}
.faq_inner {
		background: #000;
}
.faq_wrap {
		max-width: 800px;
		margin: 0 auto;
		padding-top: 60px;
		padding-bottom: 60px;
		padding-left: 40px;
		padding-right: 40px;
}
.faq_hd {
		max-width: 800px;
		margin: 0 auto 60px
}
.faq_hd img {
		width: 100%;
		height: auto;
}
.faq_item {
		font-family: YakuHanMP, "Noto Serif JP", serif;
		font-optical-sizing: auto;
		font-weight: 700;
		font-style: normal;
		margin: 0 0 40px;
}
.faq_wrap .faq_item:last-child {
		margin-bottom: 0;
}
.faq_item p {
		line-height: 1.8;
}
.faq_Q, .faq_A {
		padding-left: 28px;
		padding-right: 28px;
}
.faq_Q {
		color: #fff;
		background: #960C00;
		min-height: 90px;
		position: relative;
		display: flex;
		align-items: center;
		cursor: pointer;
		border-radius: 8px 8px 8px 8px;
}
.faq_Q.isOpen {
		border-radius: 8px 8px 0 0;
}
.faq_Q_no {
		font-size: 46px;
		line-height: 1;
		font-weight: 500;
		margin-right: 20px;
		transform: translateY(-4px)
}
.faq_A_no {
		font-size: 46px;
		line-height: 1;
		font-weight: 500;
		margin-right: 10px;
		transform: translateY(-3px);
		width: 62px;
		text-align: center;
}
.faq_Q p {
		flex: 1
}
.faq_Q .faq_trigger {
		position: absolute;
		width: 38px;
		height: 38px;
		border: 2px solid #fff;
		border-radius: 50%;
		box-sizing: border-box;
		top: calc(50% - 19px);
		right: 25px
}
.faq_trigger .faq_trigger_bar {
		position: absolute;
		top: 16px;
		left: 9px;
		width: 16px;
		height: 2px;
		background: #fff;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.faq_trigger .faq_trigger_bar:nth-child(2) {
		transform: rotate(90deg)
}
.isOpen .faq_trigger .faq_trigger_bar:nth-child(1) {
		transform: rotate(180deg)
}
.isOpen .faq_trigger .faq_trigger_bar:nth-child(2) {
		opacity: 0;
}
.faq_A {
		color: #000;
		background: #FFF;
		box-sizing: border-box;
		border-radius: 0 0 8px 8px;
		display: none
}
.faq_A_inner {
		padding-top: 40px;
		padding-bottom: 40px;
		display: flex;
}
.faq_A_inner p {
		flex: 1;
		text-align: justify;
}
@media(max-width: 767px) {
		.faq_section {
				padding: 60px 10px;
		}
		.faq_frame {
				padding: 3px;
		}
		.faq_wrap {
				padding: 40px 20px;
		}
		.faq_item {
				margin: 0 0 15px;
		}
		.faq_hd {
				margin: 0 auto 40px;
		}
		.faq_Q, .faq_A {
				padding-left: 10px;
				padding-right: 20px;
		}
		.faq_Q {
				min-height: 70px;
		}
		.faq_Q_no {
				font-size: 20px;
				margin-right: 10px;
				transform: translateY(-2px);
		}
		.faq_Q .faq_trigger {
				width: 17px;
				height: 17px;
				border: 1px solid #fff;
				top: calc(50% - 8.5px);
				right: 15px
		}
		.faq_trigger .faq_trigger_bar {
				top: 7px;
				left: 4.2px;
				width: 7px;
				height: 1px;
		}
		.faq_A_no {
				width: 30px;
				font-size: 22px;
				margin-right: 10px;
				line-height: 1;
				position: relative;
				top: 5px
		}
		.faq_A_inner {
				padding-top: 20px;
				padding-bottom: 20px;
		}
}
@media(max-width: 390px) {
		.faq_Q, .faq_A {
				padding-left: 8px;
				padding-right: 20px;
		}
		.faq_Q_no {
				font-size: 18px;
				margin-right: 8px;
				transform: translateY(-2px);
		}
		.faq_Q .faq_trigger {
				right: 10px
		}
		.faq_A_no {
				width: 28px;
				font-size: 18px;
				margin-right: 8px;
				top: 5px
		}
		.faq_A_inner {
				padding-top: 16px;
				padding-bottom: 16px;
		}
		.faq_Q p, .faq_A p {
				font-size: 14px;
		}
}