@charset "UTF-8";
.faq {
		--gap-inner: 8px;
}
.faq dl, .faq dt, .faq dd {
		list-style: none;
		margin: 0;
		padding: 0;
		display: block;
}
.faq .title {
		cursor: pointer;
		user-select: none;
		background: var(--white);
		border-radius: var(--radius);
		color: var(--accent);
		font: bold 24px/1.1 var(--font-title);
		font-variant-numeric: lining-nums;
		letter-spacing: 0.01em;
		margin: 0;
		padding: var(--side-block) calc(var(--side-block) + 32px) var(--side-block) var(--side-block);
		position: relative;
}
.faq .title:not(:first-child) {
		margin-top: var(--gap-inner);
}
@media only screen and (max-width: 699.99px) {
		.faq .title {
				font-size: 16px;
				line-height: 1.05;
		}
}
.faq .title:before, .faq .title:after {
		content: '';
		position: absolute;
		top: 50%;
		right: var(--side-block);
		width: 20px;
		height: 3px;
		border-radius: 2px;
		background: currentColor;
		transition: transform 0.4s ease;
}
.faq .title:before {
		transform: translate3d(0, -50%, 0);
}
.faq .title:after {
		transform: translate3d(0, -50%, 0) rotate(90deg);
}
.faq .title.open:before {
		transform: translate3d(0, -50%, 0) rotate(45deg);
}
.faq .title.open:after {
		transform: translate3d(0, -50%, 0) rotate(135deg);
}
.faq .text {
		font-size: 18px;
		line-height: 1.2;
		color: var(--main-text);
		background: var(--white);
		border-radius: 0 0 var(--radius) var(--radius);
		position: relative;
		top: -8px;
		height: 0;
		overflow: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: height 0.4s ease;
		--height: 100px;
}
@media only screen and (max-width: 699.99px) {
		.faq .text {
				font-size: 16px;
		}
}
.faq .title.open + .text {
		height: var(--height);
}
.faq .text > * {
		display: block;
		padding: 0 calc(var(--side-block) + 32px) var(--side-block) var(--side-block);
}
.faq .text > * > *:first-child {
		margin-top: 0 !important;
}
.faq .text > * > *:last-child {
		margin-bottom: 0 !important;
}