@charset "UTF-8";

/*================================================

　message

=================================================*/
.message {
	margin: 0 auto 30px;
	padding: 0;
	text-align: center;
}
.message__content {
	max-width: 795px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	font-size: 2.3rem;
	line-height: 1.65;
}
.message__content p {
	font-size: 2.3rem;
}
.message__content ul {
	color: #008CD6;
}

@media screen and (max-width: 1079px) {

	.message {
		margin: 0 auto 2.78035218vw;
	}
	.message__content {
		max-width: 73.6793327vw;
		font-size: clamp(1.6rem, (100vw - 769px) * 7 / 310 + 16px, 2.3rem);
	}
	.message__content p {
		font-size: clamp(1.6rem, (100vw - 769px) * 7 / 310 + 16px, 2.3rem);
	}

}

@media screen and (max-width: 768px) {

	.message__content {
		max-width: 83vw;
		font-size: clamp(1.1rem, (100vw - 375px) * 9 / 393 + 11px, 2rem);
	}
	.message__content p {
		font-size: clamp(1.1rem, (100vw - 375px) * 9 / 393 + 11px, 2rem);
	}

}

/*================================================

　content-nav

=================================================*/
.content-nav:last-child {
	margin-bottom: 80px;
}
.content-nav__content {
	max-width: 789px;
	margin: auto;
}
.content-nav__content nav ul {
	text-align: center;
}
.content-nav__content nav ul li {
	margin-bottom: 15px;
}
.content-nav__content nav ul li:last-child {
	margin-top: 40px;
	margin-bottom: 0;
}
.wf-link a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 483px;
	height: 45px;
	margin: auto;
	color: #FFF;
	font-size: 2rem;
	font-weight: 700;
	background-color: #228038;
	border-radius: 9px;
}

@media screen and (max-width: 1079px) {

	.content-nav:last-child {
		margin-bottom: 7.41427247vw;
	}
	.content-nav__content {
		max-width: 73.1232623vw;
	}
	.content-nav__content nav ul li {
		margin-bottom: 1.39017609vw;
	}
	.content-nav__content nav ul li:last-child {
		width: 44.7636701vw;
		margin: 3.70713624vw auto 0;
	}
	.wf-link a {
		width: 44.7636701vw;
		height: 4.17052827vw;
		font-size: clamp(1.4rem, (100vw - 769px) * 6 / 310 + 14px, 2rem);
		border-radius: 0.834105653vw;
	}

}

@media screen and (max-width: 768px) {

	.content-nav__content {
		max-width: 83vw;
	}
	.content-nav__content nav ul li {
		margin-bottom: 3.70713624vw;
	}
	.content-nav__content nav ul li:last-child {
		width: 83vw;
		margin: 3.70713624vw auto 0;
	}
	.wf-link a {
		width: 83vw;
		max-width:  483px;
		height: 7.62711864vw;
		max-height: 45px;
		font-size: clamp(1.2rem, (100vw - 375px) * 8 / 393 + 12px, 2rem);
	}


}

/*================================================

　voice

=================================================*/
.voice {
	overflow: hidden;
	width: 100%;
	margin: 80px auto 90px;
	padding: 0;
}
.voice__content {
	position: relative;
	max-width: 1088px;
	margin: auto;
	padding: 0;
}
.voice-card {
	margin-top: 60px;
}
.voice-card h3 {
	position: relative;
	margin-bottom: 20px;
	color: #000;
	text-align: left;
	font-size: 3rem;
	font-weight: 800;
	background-color: transparent;
}
.voice-card h3::before {
	position: absolute;
	content:'';
	width: 100%;
	height: 1px;
	top: 50%;
	left: 0;
	background-color: #000;
	z-index: -1;
}
.voice-card h3 span {
	padding-right: 10px;
	background-color: #FFF;
}
.voice-card h4 {
	font-size: 3.3rem;
	font-weight: 800;
}
.voice-card h4 span {
	padding-left: 15px;
	font-size: 1.8rem;
	font-weight: 500;
}
.voice__body {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin-top: 25px;
}
.voice__body__text {
	position: relative;
	width: 687px;
	margin-top: -0.7em;
}
.voice__body__text p {
	margin-bottom: 1.4em;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.4;
}
.voice__body__text p:last-child {
	margin-bottom: 0;
}
.voice__body figure {
	width: 361px;
}

@media screen and (max-width: 1279px) {

	.voice {
		margin: 6.25488663vw auto 7.03674746vw;
	}
	.voice__content {
		max-width: 85.0664582vw;
	}
	.voice-card {
		margin-top: 4.69116497vw;
	}
	.voice-card h3 {
		margin-bottom: 1.56372166vw;
		font-size: clamp(1.8rem, (100vw - 768px) * 12 / 511 + 18px, 3rem);
	}
	.voice-card h3 span {
		padding-right: 0.781860829vw;
	}
	.voice-card h4 {
		font-size: clamp(2rem, (100vw - 768px) * 13 / 511 + 20px, 3.3rem);
	}
	.voice-card h4 span {
		padding-left: 1.17279124vw;
		font-size: clamp(1rem, (100vw - 768px) * 8 / 511 + 10px, 1.8rem);
	}
	.voice__body {
		margin-top: 1.95465207vw;
	}
	.voice__body__text {
		width: 53.7138389vw;
	}
	.voice__body__text p {
		font-size: clamp(1rem, (100vw - 768px) * 8 / 511 + 10px, 1.8rem);
	}
	.voice__body figure {
		width: 28.2251759vw;
	}

}

@media screen and (max-width: 768px) {

	.voice-card {
		margin-top: 7.8125vw;
	}
	.voice-card h3 {
		margin-bottom: 2.60416666vw;
		font-size: clamp(1.5rem, (100vw - 375px) * 15 / 393 + 15px, 3rem);
	}
	.voice-card h3 span {
		padding-right: 1.30208333vw;
	}
	.voice-card h4 {
		font-size: clamp(1.7rem, (100vw - 375px) * 13 / 393 + 17px, 3.3rem);
	}
	.voice-card h4 span {
		padding-left: 1.953125vw;
		font-size: clamp(1rem, (100vw - 375px) * 8 / 393 + 10px, 1.8rem);
	}
	.voice__body {
		flex-direction: column-reverse;
		justify-content: center;
		align-items: center;
		margin-top: 5.20833333vw;
	}
	.voice__body__text {
		width: 85vw;
		margin-top: 3.90625vw;
	}
	.voice__body__text p {
		font-size: clamp(1.1rem, (100vw - 375px) * 7 / 393 + 11px, 1.8rem);
	}
	.voice__body figure {
		width: 47vw;
	}

}

/*================================================

　careers

=================================================*/
.careers {
	overflow: hidden;
	width: 100%;
	margin: 80px auto 0;
	padding: 0;
}
.careers__content {
	position: relative;
	max-width: 1088px;
	margin: auto;
	padding: 0;
}
.careers-card {
	width: 824px;
	margin: 80px auto 40px;
}
.careers-card h3 {
	padding: 8px 0;
	color: #FFF;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 600;
	background-color: #228038;
}
.careers-card table {
	width: 100%;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.4;
}
.careers-card table th {
	white-space: nowrap;
	padding: 14px;
	text-align: left;
	border: 1px solid #228038;
}
.careers-card table td {
	padding: 14px;
	align-content: center;
	border: 1px solid #228038;
}
.careers-card table td p {
	margin-bottom: 1.4em;
}
.careers-card table td p:last-child {
	margin-bottom: 0;
}
.careers-card table td span {
	display: block;
	margin-bottom: 1.4em;
}
.careers-card table td ul {
	margin-left: 1em;
}
.careers-card table td ul li {
	margin-bottom: 1.4em;
}
.careers-card table td ul.normal {
	margin-left: 0;
}
.careers-card table td ul.normal li {
	margin-bottom: 0;
}
.careers-card table td ul:last-child li:last-child {
	margin-bottom: 0;
}
.careers-card table td ol {
	margin-left: 1em;
}
.careers-card table td ol li {
	margin-top: 1.4em;
	padding-left: 2em;
	text-indent: -2em;
}
.careers-card table td dl:nth-of-type(2) {
	margin-top: 1.4em;
}
.careers-card table td dl dd {
	margin-left: 1em;
}

@media screen and (max-width: 1279px) {

	.careers {
		margin: 6.25488663vw auto 0;
	}
	.careers__content {
		max-width: 85.0664582vw;
	}

}

@media screen and (max-width: 1079px) {

	.careers-card {
		width: 76.3670065vw;
		margin: 7.41427247vw auto 3.70713624vw;
	}
	.careers-card h3 {
		padding: 8px 0;
	}

}

@media screen and (max-width: 768px) {

	.careers-card {
		width: 85.0664582vw;
	}
	.careers-card h3 {
		padding: 8px 0;
		font-size: clamp(1.2rem, (100vw - 375px) * 2 / 393 + 12px, 1.4rem);
	}
	.careers-card table {
		font-size: clamp(1.2rem, (100vw - 375px) * 2 / 393 + 12px, 1.4rem);
	}
	.careers-card table th {
		padding: 1.82291667vw;
	}
	.careers-card table td {
		padding: 1.82291667vw;
	}


}

