@charset "utf-8";

/* よくある質問
============================ */
/* アコーディオンなし */
dl.faq {
	width: 100%;
	line-height: 1.8;
	margin: 10px 0 40px;
}
dl.faq dt,
dl.faq dd {
	position: relative;
	padding: 1.5em 0 0.4em 2.2em;
	}
	@media screen and (min-width:1025px) {
	dl.faq dt,
	dl.faq dd {
		padding: 1.5em 0 0.4em 2.5em;
	}
}
dl.faq dt {
	font-weight: bold;
	border-bottom: 3px solid #2b913b;
	text-align: left;
}
dl.faq dt::before,
dl.faq dd::before {
	position: absolute;
	top: 0.3em;
	left: 0;
	font-size: 3.2rem;
	font-weight: 500;
}
dl.faq dt::before {
	content: 'Q';
	color: #2b913b;
	font-family: 'Lexend Exa', sans-serif;
	
}
dl.faq dd {
	padding-bottom: 1.2em;
	margin-top: -0.5em;
	word-break: break-all;
	}
	@media screen and (min-width:1025px) {
	dl.faq dd {
		padding-bottom: 2em;
	}
}
dl.faq dd a {
	text-decoration: underline!important;
}
dl.faq dd a:hover {
	text-decoration: none!important;
}
dl.faq dd img {
	width:1.8rem;
	margin: 1rem 0 0 0.5rem;
}
dl.faq dd::before {
	content: 'A';
	font-family: 'Lexend Exa', sans-serif;
	left: 1px;
}
dl.faq dt span,
dl.faq dd span {
	position: absolute;
	display:inline-block;
	text-indent: -9999px;
}

@media screen and (min-width:1025px) {
	dl.faq {
		margin: 20px 0 80px;
	}
}
@media screen and (min-width: 1025px) and (-ms-high-contrast:none) {
	*::-ms-backdrop, dl.faq dd img {
		margin: 8px 0 0 0.5rem;
	}
}
/* アコーディオンあり */
dl.accordion {
	font-size: 1.6rem;
	width: 100%;
	line-height: 2;
	border-bottom: 1px solid #ddd;
}
dl.accordion dt,
dl.accordion dd {
	position: relative;
	padding-left: 2em;
	padding: 1em 4rem 1em 2.5em;
	}
	@media screen and (min-width:1025px) {

	dl.accordion dt,
	dl.accordion dd {
		padding: 1em 60px 1em 2.5em;
	}
}
dl.accordion dt {
	border-top: 1px solid #ddd;
	cursor: pointer;
}
dl.accordion dt::before,
dl.accordion dd::before {
	position: absolute;
	left: 0;
	font-size: 125%;
	font-weight: bold;
}
dl.accordion dt::before {
	content: 'Q';
	color: #55AAEA;
	top: 0.5em;
}
dl.accordion dd {
	padding-top: 0;
}
dl.accordion dd::before {
	content: 'A';
	top: -0.2em;
	left: 1px;
}
dl.accordion dt::after,
dl.accordion dt.active::after {
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	text-align: center;
	font-size: 125%;
	cursor: pointer;
	top: 0.55em;
	right: 4px;
}
dl.accordion dt::after {
	content: '+';
}
dl.accordion dt.active::after {
	content: "－";
	color: #6b6b6b;
}

/* アコーディオンあり,アイコンアニメーション */
dl.accordion_icon {
	width: 100%;
	line-height: 2;
	border-bottom: 1px solid #ddd;
}
dl.accordion_icon dt,
dl.accordion_icon dd {
	position: relative;
	padding-left: 2em;
	padding: 1em 4rem 1em 2.5em;
	}
	@media screen and (min-width:768px) {
	dl.accordion_icon dt,
	dl.accordion_icon dd {
		padding: 1em 60px 1em 2.5em;
	}
}
dl.accordion_icon dt {
	border-top: 1px solid #ddd;
	cursor: pointer;
}
dl.accordion_icon dt::before,
dl.accordion_icon dd::before {
	position: absolute;
	left: 0;
	font-size: 125%;
	font-weight: bold;
}
dl.accordion_icon dt::before {
	content: 'Q';
	color: #55AAEA;
	top: 0.5em;
}
dl.accordion_icon dd {
	padding-top: 0;
}
dl.accordion_icon dd::before {
	content: 'A';
	top: -0.2em;
	left: 1px;
}
dl.accordion_icon dt span {
	position: relative;
	display: block;
}
dl.accordion_icon dt span::before,
dl.accordion_icon dt span::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -25px;
	display: block;
	width: 2px;
	height: 12px;
	background: #666;
	margin-top: -6px;
	}
	@media screen and (min-width:768px) {
	dl.accordion_icon dt span::before,
	dl.accordion_icon dt span::after {
		right: -40px;
	}
}
dl.accordion_icon dt span::before {
	z-index: 1;
	-webkit-transition: 0.8s;
	-moz-transition: 0.8s;
	-o-transition: 0.8s;
	-ms-transition: 0.8s;
	transition: 0.8s;
}
dl.accordion_icon dt span::after {
	transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}
dl.accordion_icon dt.active span::before {
	opacity: 0;
	transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}
dl.accordion_icon dt.active span::after {
	background: #aaa;
}
