@charset "UTF-8";

.section_ttl {
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	padding-top: 45px;
	padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
	.page_ttl {
		font-size: 5.6rem;
		color: #FFFFFF;
		line-height: 1.2;
		margin-bottom: 60px;
	}
	.page_ttl span {
		display: block;
		font-size: 2.4rem;
		padding-top: 47px;
	}
	.page_ttl::after {
		top: 82px;
		width: 80px;
		height: 2px;
	}
	.section_ttl {
		font-size: 2.8rem;
	}
}


.main {
	padding-top: 58px;
}
@media screen and (min-width: 768px) {
	.main {
		padding-top: 90px;
	}
}

/*------------------------------------------------------------------------

kv

------------------------------------------------------------------------*/
.kv {
	background-image: url( "../img/kv_sp.jpg");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding-top: 73.8666%;
	position: relative;
}
.page_ttl {
	font-size: 3.8rem;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	color: #FFFFFF;
	line-height: 1.2;
	width: 86%;
	background-color: #0976b5;
	margin-bottom: 40px;
	padding-top: 25px;
	padding-bottom: 20px;
	padding-left: 26px;
	position: absolute;
	top: 30px;
	left: 0;
}
.page_ttl span {
	display: block;
	font-size: 2.1rem;
	font-weight: normal;
	padding-top: 25px;
}
.page_ttl::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 80px;
	left: 26px;
	width: 55px;
	height: 2px;
	background-color: #FFFFFF;
}
@media screen and (min-width: 768px) {
	.kv {
		height: 426px;
		background-image: url( "../img/kv_pc.jpg");
		background-position: 50% 0;
		background-size: 1600px auto;
		margin-top: 0;
		padding-top: 0;
		position: relative;
	}
	.page_ttl {
		font-size: 5.6rem;
		width: 96%;
		max-width: 1200px;
		background-color: transparent;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 0;
		padding-top: 110px;
		padding-bottom: 0;
		padding-left: 0;
		position: relative;
	}
	.page_ttl span {
		font-size: 2.4rem;
		padding-top: 46px;
	}
	.page_ttl::after {
		top: 190px;
		left: 0;
		width: 60px;
		height: 2px;
	}
}
@media screen and (min-width: 1600px) {
	.kv {
		height: 426px;
		background-image: url( "../img/kv_pc.jpg");
		background-position: 50% 0;
		background-size: 100% auto;
	}
}


/*------------------------------------------------------------------------

intro

------------------------------------------------------------------------*/
.intro {
	line-height: 2.4em;
	padding-top: 25px;
}
@media screen and (min-width: 768px) {
	.intro {
		font-size: 1.8rem;
		line-height: 2.65em;
		text-align: center;
		padding-top: 40px;
		padding-bottom: 40px;
	}
}


/*------------------------------------------------------------------------

教育研修制度

------------------------------------------------------------------------*/
.plan_ttl {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.plan_table {
	width: 100%;
	font-size: 1.4rem;
	border-bottom: 1px solid #cfcfcf;
	border-left: 1px solid #cfcfcf;
	margin-bottom: 15px;
}
.plan_table th {
	font-weight: normal;
	text-align: center;
	line-height: 1.4;
	vertical-align: middle;
	background-color: #e1e0e0;
	border-top: 1px solid #cfcfcf;
	border-right: 1px solid #cfcfcf;
	padding-top: .8em;
	padding-right: .2em;
	padding-bottom: .6em;
	padding-left: .2em;
}
.plan_table td {
	text-align: center;
	line-height: 1.4;
	width: 25%;
	border-top: 1px solid #cfcfcf;
	border-right: 1px solid #cfcfcf;
	padding-top: .8em;
	padding-right: .2em;
	padding-bottom: .6em;
	padding-left: .2em;
}
.plan_1year {
	background-color: #e6f5fa;
}
.plan_4year {
	background-color: #91d8ef;
}
.plan_leader {
	background-color: #94e8c1;
}
.plan_intermediate {
	background-color: #d5f5e6;
}
@media screen and (min-width: 768px) {
	.plan_ttl {
		font-size: 1.8rem;
	}
	.plan_table {
		font-size: 1.6rem;
		margin-bottom: 15px;
	}
	.plan_table th {
		font-size: 1.8rem;
		font-weight: bold;
		padding-top: 1.0em;
		padding-bottom: .8em;
	}
	.plan_table td {
		padding-top: 1.0em;
		padding-bottom: .8em;
	}
}


.training {
	padding-top: 20px;
}
.training_container {
	margin-bottom: 50px;
}
.training_ttl	{
	font-size: 1.8rem;
	font-weight: 700;
	padding-left: 46px;
	margin-bottom: .2em;
	color: #0976b5;
	position: relative;
}
.training_ttl::before	{
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	width: 35px;
	height: 2px;
	background-color: #0976b5;
}
.training_img {
	margin-top: 10px;
}
@media screen and (min-width: 768px) {
	.training {
		padding-top: 50px;
	}
	.training_container {
		display: flex;
		margin-bottom: 40px;
	}
	.training_ttl {
		margin-bottom: .4em;
	}
	.training_box {
		order: 2;
	}
	.training_img {
		order: 1;
		margin-top: 0;
		margin-right: 40px;
	}
	.training_img img {
		object-fit: cover;
		width: 300px;
		height: 170px;
	}
}


/*------------------------------------------------------------------------

福利厚生

------------------------------------------------------------------------*/
.welfare {
	background-color: #e8f2f6;
	margin-top: 70px;
}
.welfare .section_ttl {
	padding-top: 80px;
}
.welfare_container {
	padding-bottom: 10px;
}
.welfare_wrap {
	margin-bottom: 35px;
}
.welfare_ttl	{
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: .2em;
	color: #0976b5;
}
.welfare_img {
	margin-top: 10px;
}

@media screen and (min-width: 768px) {
	.welfare {
		margin-top: 70px;
	}
	.welfare .section_ttl {
		padding-top: 80px;
		padding-bottom: 50px;
	}
	.welfare_container {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.welfare_wrap {
		flex-basis: 48%;
		max-width: 48%;
		display: flex;
		margin-bottom: 50px;
	}
	.welfare_box {
		order: 2;
		max-width: 53%;
	}
	.welfare_img {
		order: 1;
		width: 43%;
		margin-top: 0;
		margin-right: 4%;
	}
	.welfare_img img {
		object-fit: cover;
		min-height: 160px;
	}
}
