@charset "UTF-8";

.faq main {
	background: #f8f8f8;
}

/* navi
----------------------------------------*/
.faq .navi {
	display: flex;
	justify-content: center;
	background: #E4EBDF;
	padding: 4rem 2rem;
	gap: 1rem;
}
.faq .navi a {
	background: #F5F5F5;
	border: .1rem solid #7AA160;
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: .1em;
	color: #7AA160;
	width: 19.7rem;
	display: block;
	border-radius: 2.1rem;
	padding: 1rem;
	transition: color .3s, background .3s;
}
.faq .navi a:first-child {
	padding-right: 2.5rem;
	width: 295px;
}
.faq .navi a::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .9rem .5rem 0 .5rem;
	border-color: #7AA160 transparent transparent;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.3rem;
	margin: auto 0;
	transition: border-color .3s;
}
@media (hover:hover) {
	.faq .navi a:hover {
		opacity: 1;
		background: #7AA160;
		color: #fff;
	}
	.faq .navi a:hover::after {
		border-color: #fff transparent transparent;
	}
}
@media only screen and (max-width: 768px) {
	.faq .navi {
		flex-direction: column;
		align-items: center;
		padding: 4rem 2rem 3.9rem;
		gap: 1.1rem;
	}
	.faq .navi a {
		text-align: left;
		font-size: 1.4rem;
		width: 29.5rem;
		border-radius: 2.4rem;
		padding: 1.3rem 2.8rem;
	}
	.faq .navi a:first-child {
		padding-right: 2.8rem;
		width: 290px;
		font-size: small;
	}
	.faq .navi a::after {
		right: 2rem;
		top: .2rem;
	}
}

/* link
----------------------------------------*/
.faq .list {
	padding: .8rem 2rem 11.1rem;
}
.faq .list_inner {
	width: 95.4rem;
	margin: 0 auto;
}
.faq .list h2 {
	font-weight: 400;
	color: #638442;
	letter-spacing: .1em;
	font-size: 1.8rem;
	margin-bottom: 1rem;
	padding-top: 5.3rem;
}
.faq .list dt {
	font-size: 1.6rem;
	letter-spacing: .09em;
	line-height: 1.4375;
	border-bottom: .1rem solid #BBC7AD;
	padding: 2.5rem 3rem 2.3rem 4.8rem;
	margin-bottom: .7rem;
	cursor: pointer;
}
.faq .list dt::after {
	content: '';
	display: block;
	width: 2.3rem;
	height: 2.3rem;
	background: url(../../img/common/icon_arrow_02.svg) no-repeat left top / 100% auto;
	position: absolute;
	top: 2.6rem;
	right: .8rem;
}
.faq .list dt.open::after {
	transform: scale(1, -1);
}
.faq .list dt .en {
	font-size: 2.2rem;
	color: #7AA160;
	position: absolute;
	left: 0;
	top: 2.2rem;
}
.faq .list dd {
	padding: 1.8rem 0 0 4.8rem;
	font-size: 1.3rem;
	line-height: 1.7692;
	letter-spacing: .09em;
	display: none;
}
.faq .list dd .en {
	font-size: 2.2rem;
	color: #7AA160;
	position: absolute;
	left: .2rem;
	top: 1.9rem;
}
.faq .list dd a {
	text-underline-offset: .4rem;
}
.faq .list dd a .list dd a  {
	text-decoration:  none !important;
}
@media only screen and (max-width: 768px) {
	.faq .list {
		padding: 1.8rem 2rem 4.3rem;
	}
	.faq .list_inner {
		width: auto;
	}
	.faq .list h2 {
		text-align: center;
		color: #7AA160;
		padding-top: 4.3rem;
	}
	.faq .list dt {
		font-size: 1.4rem;
		letter-spacing: .05em;
		line-height: 1.4286;
		padding: 2rem 4rem 2rem 3.5rem;
		margin-bottom: .9rem;
	}
	.faq .list dt::after {
		width: 1.9rem;
		height: 1.9rem;
		top: .6rem;
		bottom: 0;
		margin: auto 0;
		right: .1rem;
	}
	.faq .list dt .en {
		font-size: 2rem;
		top: 1rem;
		bottom: 0;
		display: flex;
		align-items: center;
	}
	.faq .list dd {
		padding: 0 0 .6rem 3.3rem;
		font-size: 1.2rem;
		line-height: 1.6667;
		letter-spacing: .05em;
	}
	.faq .list dd .en {
		display: none;
	}
	.faq .list dd a {
		text-decoration: none;
	}
}

/* guest
----------------------------------------*/
.faq .guest {
	background: #fff;
	padding: 8.4rem 2rem 4.6rem;
}
.faq .guest_inner {
	width: 95.4rem;
	margin: 0 auto;
}
.faq .guest h2 {
	text-align: center;
	font-size: 1.3rem;
	color: #7AA160;
	font-weight: 400;
	letter-spacing: .15em;
	margin-bottom: 3.3rem;
}
.faq .guest h2 .en {
	display: block;
	font-size: 3.3rem;
	letter-spacing: .15em;
}
.faq .guest h3 {
	text-align: center;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: .09em;
	margin-bottom: 1.7rem;
}
.faq .guest_lead {
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: .09em;
	line-height: 1.7692;
	margin-bottom: 4rem;
}
.faq .guest h4 {
	border-bottom: .1rem solid #BBC7AD;
	font-size: 2rem;
	padding-bottom: 2.6rem;
	font-weight: 500;
	letter-spacing: .09em;
	color: #7AA160;
	margin-bottom: 2rem;
}
.faq .guest_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 5.2rem;
}
.faq .guest_list:last-child {
	margin-bottom: 0;
}
.faq .guest_list dt {
	width: 17.2rem;
	font-size: 1.5rem;
	letter-spacing: .09em;
	border-bottom: .1rem solid #BBC7AD;
	margin-bottom: 2rem;
}
.faq .guest_list dd {
	width: calc(100% - 17.2rem);
	font-size: 1.3rem;
	letter-spacing: .09em;
	line-height: 1.7692;
	border-bottom: .1rem solid #BBC7AD;
	padding: .2rem 0 2.4rem;
	margin-bottom: 2rem;
}
.faq .guest_list:nth-last-of-type(1) dt:nth-last-of-type(1),
.faq .guest_list:nth-last-of-type(1) dd:nth-last-of-type(1) {
	border-bottom: 0;
}
.faq .guest_box {
	background: #F5F5F5;
	font-size: 1.3rem;
	letter-spacing: .09em;
	line-height: 1.7692;
	margin: 1.5rem 0;
	padding: 2.5rem 3.6rem;
}
.faq .guest_box li {
	margin-left: 1.25em;
	text-indent: -1.25em;
}
.faq .guest_box p {
	margin: .5rem 0 0 1.25em;
}
.faq .guest_box li + li {
	margin-top: 1.3rem;
}
.faq .guest_box ul.guest_kitsuke li + li {
	margin-top: .5rem;
}
.faq .guest_btn {
	display: block;
	width: 25.3rem;
	background: #7AA160;
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: .01em;
	border-radius: 2.1rem;
	margin: 1.3rem 0 .4rem;
	padding: 1rem 2.1rem;
}
.faq .guest_btn::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .5rem 0 .5rem .8rem;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.5rem;
	margin: auto 0;
	transition: transform .3s;
}
faq .guest_btn {
	display: block;
	width: 25.3rem;
	background: #7AA160;
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: .01em;
	border-radius: 2.1rem;
	margin: 1.3rem 0 .4rem;
	padding: 1rem 2.1rem;
}
.faq .guest_btn::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .5rem 0 .5rem .8rem;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.5rem;
	margin: auto 0;
	transition: transform .3s;
}
@media (hover:hover) {
	.faq .guest_btn:hover::after {
		transform: translateX(.5rem);
	}
}
@media only screen and (max-width: 768px) {
	.faq .guest {
		padding: 8.6rem 2rem 3.8rem;
	}
	.faq .guest_inner {
		width: auto;
	}
	.faq .guest h2 {
		margin-bottom: 3rem;
		line-height: 1.38;
	}
	.faq .guest h2 .en {
		font-size: 2.4rem;
	}
	.faq .guest h3 {
		font-size: 1.8rem;
		letter-spacing: .1em;
	}
	.faq .guest_lead {
		text-align: left;
		letter-spacing: .05em;
		line-height: 1.6923;
		margin-bottom: 4.7rem;
	}
	.faq .guest h4 {
		font-size: 1.8rem;
		padding-bottom: 1.2rem;
		letter-spacing: .05em;
		margin-bottom: 2.4rem;
	}
	.faq .guest_list {
		display: block;
		margin-bottom: 1.9rem;
	}
	.faq .guest_list dt {
		width: auto;
		border-bottom: 0;
		margin-bottom: .6rem;
	}
	.faq .guest_list dd {
		width: auto;
		font-size: 1.2rem;
		letter-spacing: .05em;
		line-height: 1.6667;
		padding: .2rem 0 2.6rem;
		margin-bottom: 2.3rem;
	}
	.faq .guest_list dt:nth-last-of-type(1),
	.faq .guest_list dd:nth-last-of-type(1) {
		border-bottom: 0;
	}
	.faq .guest_list:nth-last-of-type(1) dd:nth-last-of-type(1) {
		margin-bottom: 0;
	}
	.faq .guest_box {
		font-size: 1.2rem;
		letter-spacing: .05em;
		line-height: 1.6667;
		margin: 2.5rem 0 .5rem;
		padding: 2.3rem 2rem;
	}
	.faq .guest_box li {
		margin-left: 0;
		text-indent: 0;
	}
	.faq .guest_box p {
		margin: .8rem 0 0;
	}
	.faq .guest_box li + li {
		margin-top: 1rem;
	}
	.faq .guest_box ul.guest_kitsuke li + li {
		margin-top: .4rem;
	}
	.faq .guest_btn {
		width: 29.5rem;
		font-size: 1.4rem;
		letter-spacing: .1em;
		border-radius: 2.4rem;
		margin: 2.3rem auto 1.4rem;
		padding: 1.25rem 3rem;
	}
	.faq .guest_btn::after {
		right: 1.6rem;
	}
}