@charset "utf-8";

.qa-container {
	width: 100%;
	position: relative;
	padding: 100px 0 120px;
	background: #fff;
}

.qa-title-wrap {
	max-width: 1200px;
	margin: 0 auto 40px;
}

h2.qa-title-main{
	font-size: 100px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.15em;
	margin-bottom: 5px;
}

h3.qa-title-sub{
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.qa-list {
	max-width: 800px;
	margin: 0 auto;
}
.qa-item {
	border-bottom: 1px solid #999999;
}

.qa-summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 0;
	cursor: pointer;
	list-style: none;
}
.qa-summary::-webkit-details-marker {
	display: none;
}

.qa-header-text,
.qa-answer-wrap {
  display: flex;
  align-items: flex-start;
  flex-grow: 1;
  padding-right: 20px;
}

.q-prefix, .a-prefix{
  font-size: 2.0rem;
  width: 24px;
  flex-shrink: 0;
  line-height: 1.5;
}
.q-prefix {
  font-weight: bold;
}

.qa-text-group {
  flex-grow: 1;
}

.qa-question.jp {
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.5;
}

.qa-answer-wrap {
  padding-bottom: 2.0rem;
  animation: qaFadeIn 0.3s ease;
}
.qa-answer.jp {
  font-size: 2.0rem;
  line-height: 1.5;
}

.qa-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border: 1px solid #999999;
  border-radius: 50%;
  position: relative;
  transition: transform 0.4s ease;
}

.qa-icon::after {
  content: "";
  position: absolute;
  top: 46%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-bottom: 1px solid #666666;
  border-right: 1px solid #666666;
  transform: translate(-50%, -50%) rotate(45deg);
}

.qa-item[open] .qa-icon {
  transform: rotate(180deg);
}

@keyframes qaFadeIn {
  0% { opacity: 0; transform: translateY(-4px); }
  100% { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
	.qa-container {
		padding: 60px 0 80px;
	}
	.qa-title-wrap {
		width: initial;
		margin-left: 15px;
		margin-bottom: 30px;
	}
	h2.qa-title-main{
		font-size: 4rem;
	}

	h3.qa-title-sub{
		font-size: 1.6rem;
	}
	.qa-list {
		max-width: initial;
		width: calc(100% - 30px);
		margin: 0 auto;
	}
	.qa-item {
	}
	.qa-summary {
		padding: 18px 0;
	}
	.qa-header-text,
	.qa-answer-wrap {
	}
	.q-prefix, .a-prefix{
		font-size: 1.6rem;
	}
	.qa-question.jp {
		font-size: 1.6rem;
	}
	.qa-answer-wrap {
		padding-bottom: 18px;
	}
	.qa-answer.jp {
		font-size: 1.6rem;
	}
	.qa-icon {
		width: 30px;
		height: 30px;
	}
	.qa-icon::after {
		width: 6px;
		height: 6px;
	}
}