/* CSS Document */

#main_visual {
	
}
#main_visual .outer {
	position: relative;
	z-index: -1;
}
#main_visual h2 {
	position: absolute;
	bottom: 155px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1366px;
}
#main_visual h2 img {
	width: 442px;
}

@media only screen and (max-width: 767px) {
	#main_visual h2 {
		bottom: auto;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
	}
	#main_visual h2 img {
		width: calc(100vw * (315/375));
	}
}

#faq {
	padding: 50px 0
}

.faq-wrap {
	width: 900px;
	margin: 0 auto;
	padding-bottom: 50px;
}
.faq-wrap h2 {
	font-size: 1.4375rem;
	color: #248d3a;
}

.faq-accordion {
	color: #248d3a;
}
.faq-accordion-item {
	
}
.faq-accordion-header {
	font-size: 1.25rem; /*20px*/
	color: #248d3a;
	padding: 1em 0;
	cursor: pointer;
}
.faq-accordion-content {
	font-size: 1.25rem;
	color: #000;
}

.faq-accordion-header span.en,
.faq-accordion-content span.en {
	font-size: 1.4375rem; /*23px*/
	margin-right: 0.5em;
}

.faq-accordion-content {
  max-height: 0;
  overflow: hidden;
  background-color: #e6ded7;
  border-top: 1px solid #248d3a;
  transition: max-height 0.3s ease-in-out;
}

.faq-accordion-content-inner {
  text-indent: -1.7em;
  padding: 1em 1em 1.2em 3.5em;
}

.faq-accordion-content.show {
  max-height: 500px;
  opacity: 1;
  transform: translateY(0);
}


.faq-accordion-header {
  position: relative;
  padding-right: 30px;
  cursor: pointer;
	
  text-indent: -1.7em;
  padding-left: 2.5em;
}

.faq-accordion-header::before {
  content: '';
  position: absolute;
  right: 0px;
  top: 50%;
  width: 16px;
  height: 2px;
  background-color: #248d3a;
  transform: translateY(-50%);
  transition: transform 0.3s ease-in-out;
}

.faq-accordion-header::after {
  content: '';
  position: absolute;
  right: 7px;
  top: 50%;
  width: 2px;
  height: 16px;
  background-color: #248d3a;
  transform: translateY(-50%);
  transition: transform 0.3s ease-in-out;
}

.faq-accordion-item.active .faq-accordion-header::before {
  transform: translateY(-50%) rotate(180deg);
}

.faq-accordion-item.active .faq-accordion-header::after {
  transform: translateY(-50%) rotate(90deg);
}

@media only screen and (max-width: 767px) {
	.faq-wrap {
		width: calc(100vw * (335/375));
	}
	.faq-wrap h2 {
		font-size: calc(100vw * (20/375));
	}
	.faq-accordion-header {
		font-size: calc(100vw * (18/375));
	}
	.faq-accordion-content {
		font-size: calc(100vw * (18/375));
	}

	.faq-accordion-header span.en,
	.faq-accordion-content span.en {
		font-size: calc(100vw * (20/375));
	}

}
