@charset "UTF-8";

/* qa
----------------------------------------*/
.qa_block {
	padding: 90px 20px;
}
.qa_block .inview {
	opacity: 0;
}
.qa_block .show {
	animation-fill-mode: forwards;
	animation-duration: 1000ms;
	animation-name: fadeUp;
}
.qa_block::before {
	content: '';
	display: block;
	width: 2081px;
	height: 2546px;
	background: url(../img/company/bg_company.svg) no-repeat;
	position: absolute;
	left: 50%;
	top: -42px;
	margin-left: -1155px;
}
.qa_block h2 {
	text-align: center;
	color: #0064AF;
	font-size: 2.3rem;
	line-height: 1.3;
	font-weight: 900;
	letter-spacing: .3em;
	margin-bottom: 90px;
}
.qa_block h2 .en {
	display: block;
	font-size: 6.6rem;
	font-weight: bold;
	color: #000;
	margin-bottom: 4px;
	letter-spacing: .05em;
}
.qa_nav {
	width: 1000px;
	margin: 0 auto 60px;
}
.qa_nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.qa_nav ul li {
	width: 32%;
	margin-bottom: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.qa_nav ul li:nth-child(n+4) {
	width: 48.5%;
}
.qa_nav ul li a {
	width: 100%;
	display: block;
	background: #0064AF;
	color: #fff;
	font-size: 2rem;
	letter-spacing: .05em;
	font-weight: 500;
	padding: 25.5px 60px 25.5px 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	position: relative;
	transition: color .3s, border-color .3s;
}
.qa_nav ul li a::after {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	background: url(../img/index/icon_btn_arrow.svg) no-repeat;
	position: absolute;
	right: 30px;
	top: 50%;
	margin-top: -6px;
	transform: rotate(90deg);
	transition: margin-top 300ms;
}
.qa_nav ul li a:hover::after {
	margin-top: 4px;
}
.qa_inner {
	width: 1000px;
	margin: 0 auto;
}
.qa_inner h3 {
	font-size: 3.4rem;
	text-align: center;
	margin: 0 0 58px;
	overflow: hidden;
	color: #0064AF;
	font-weight: 900;
	letter-spacing: .1em;
}
.qa_inner dl {
	margin-bottom: 80px;
	border-bottom: 2px solid #ccc;
	font-size: 2rem;
	font-weight: bold;
}
.qa_inner dt {
	border-top: 2px solid #ccc;
	padding: 25px 45px 25px 100px;
	transition: color .3s, background .3s;
	font-weight: bold;
	cursor: pointer;
	letter-spacing: .05em;
}
.qa_inner dt.open {
	background: #0064AF;
	color: #fff;
}
.qa_inner dt::before {
	content: 'Q';
	font-weight: 900;
	display: block;
	width: 40px;
	height: 40px;
	line-height: 39px;
	border-radius: 50%;
	background: #0064AF;
	color: #fff;
	position: absolute;
	top: 20px;
	left: 30px;
	text-align: center;
	font-size: 2.8rem;
	font-family: 'Roboto', sans-serif;
	transition: background .3s, color .3s;
}
.qa_inner dt.open::before {
	background: #fff;
	color: #0064AF;
}
.qa_inner dt::after {
	content: '';
	display: block;
	width: 17px;
	height: 12px;
	background: url(../img/qa/icon_arrow_01.svg) no-repeat;
	position: absolute;
	top: 50%;
	right: 32px;
	margin-top: -2px;
}
.qa_inner dt.open::after {
	background: url(../img/qa/icon_arrow_02.svg) no-repeat;
}
.qa_inner dd {
	border-top: 2px solid #CCC;
	background: #F9F9F9;
	padding: 37px 50px 36px 100px;
	display: none;
	font-size: 1.8rem;
	letter-spacing: .05em;
	line-height: 1.7;
	font-weight: 500;
}
.qa_inner dd::before {
	content: 'A';
	font-weight: 900;
	display: block;
	width: 40px;
	height: 40px;
	line-height: 39px;
	border-radius: 50%;
	background: #3D3C3B;
	color: #fff;
	position: absolute;
	top: 30px;
	left: 30px;
	text-align: center;
	font-size: 2.8rem;
	font-family: 'Roboto', sans-serif;
}

@media only screen and (max-width: 768px) {
	.qa_block {
		padding: 50px 6.666% 30px;
	}
	.qa_block::before {
		height: 1273px;
		background-size: auto 100%;
		bottom: 0;
		margin-left: -550px;
	}
	.qa_block h2 {
		font-size: 1.3rem;
		margin-bottom: 30px;
	}
	.qa_block h2 .en {
		font-size: 3rem;
	}
	.qa_nav {
		width: auto;
		margin: 0 auto 30px;
	}
	.qa_nav ul {
		display: block;
	}
	.qa_nav li {
		width: 100% !important;
	}
	.qa_nav ul li a {
		font-size: 1.5rem;
		padding: 15px 25px 15px 5px;
	}
	.qa_nav ul li a::after {
		width: 15px;
		height: 15px;
		background-size: 15px auto;
		right: 12px;
		margin-top: -4px;
	}
	.qa_nav ul li a:hover::after {
		margin-top: -4px;
	}
	.qa_inner {
		width: auto;
	}
	.qa_inner h3 {
		font-size: 2rem;
		margin: 0 0 30px;
	}
	.qa_inner dl {
		margin-bottom: 40px;
		font-size: 1.5rem;
	}
	.qa_inner dt {
		padding: 18px 30px 20px 50px;
	}
	.qa_inner dt::before {
		width: 30px;
		height: 30px;
		line-height: 29px;
		top: 15px;
		left: 12px;
		font-size: 2rem;
	}
	.qa_inner dt::after {
		right: 12px;
	}
	.qa_inner dd {
		padding: 18px 30px 20px 50px;
		font-size: 1.4rem;
	}
	.qa_inner dd::before {
		width: 30px;
		height: 30px;
		line-height: 29px;
		top: 15px;
		left: 12px;
		font-size: 2rem;
	}
}