@charset "utf-8";
/* CSS Document */

.faq_titlebox h2 {
	color: #333333;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}

.faq_dotline {
  width: 248px;
  height: 4px;
  background-image: radial-gradient(circle, #8dc35c 2px, transparent 2px);
  background-size: 10px 4px;
  background-repeat: repeat-x;
  background-position: center;
}

.faq_boxwrap {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.faq_box {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.faq_q {
	position: relative;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 24px 70px 24px 28px;
	cursor: pointer;
}

.faq_q > p {
	color: #333333;
	font-weight: 700;
	line-height: 1.7;
}

.faq_a {
	padding: 0 28px 26px;
}
body:not(.gjs-dashed) .faq_a {
	display: none;
}
.faq_box.active .faq_a {
	display: block;
}

.faq_a_wrap {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

.faq_icon {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #8dc35c;
	border-radius: 50%;
}

.faq_a .faq_icon {
	background: #fda751;
}

.faq_icon p {
	color: #ffffff;
	font-weight: 700;
	line-height: 1;
}

.faq_a_wrap > p {
	color: #333333;
	line-height: 1.8;
}

.faq_toggle {
	position: absolute;
	top: 50%;
	right: 28px;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #8DC35C;
	border-radius: 50%;
	transform: translateY(-50%);
}
.faq_toggle::before,.faq_toggle::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 3px;
	background-color: #fff;
	border-radius: 50px;
	transition: ease 0.3s;
}
.faq_toggle::before{
	transform: translate(-50%,-50%) rotate(0deg);
}
.faq_toggle::after{
	transform: translate(-50%,-50%) rotate(90deg);
}
.faq_box.active .faq_toggle::after{
	transform: translate(-50%,-50%) rotate(0deg);
}
.faq_toggle i {
	display: none;
}

.faq_box.active .faq_toggle i {
	transform: rotate(45deg);
}

.faq_titlebox{
	flex-direction: column;
	gap: 5px;
}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}

/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px) {
}

/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px) {
}

/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px) {
	.faq_titlebox {
		display: block;
	}

	.faq_titlebox h2 {
		margin-bottom: 18px;
		white-space: normal;
	}

	.faq_dotline {
		width: 100%;
	}

	.faq_q {
		padding: 20px 58px 20px 20px;
	}

	.faq_a {
		padding: 0 20px 22px;
	}

	.faq_toggle {
		right: 20px;
	}
}

/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px) {

	.faq_boxwrap {
		gap: 12px;
	}

	.faq_q {
		gap: 12px;
		padding: 18px 52px 18px 16px;
	}

	.faq_a {
		padding: 0 16px 20px;
	}

	.faq_a_wrap {
		gap: 12px;
	}

	.faq_icon {
		width: 32px;
		height: 32px;
	}

	.faq_toggle {
		right: 16px;
		width: 30px;
		height: 30px;
	}
}

/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px) {
}