@charset "UTF-8";

.section_ttl {
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	padding-top: 50px;
	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,
.kv_career {
	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;
}
.kv_career {
	background-image: url( "../img/kv_career_sp.jpg");
}
.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;
}
.page_ttl-career {
	padding-top: 10px;
	padding-bottom: 10px;
}
.page_ttl-career::after {
	top: 110px;
	left: 26px;
}
@media screen and (min-width: 768px) {
	.kv,
	.kv_career {
		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;
	}
	.kv_career {
		background-image: url( "../img/kv_career_pc.jpg");
	}
	.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;
	}
	.page_ttl-career {
		padding-top: 65px;
		padding-bottom: 0;
	}
	.page_ttl-career::after {
		top: 215px;
		left: 0;
	}
}
@media screen and (min-width: 1600px) {
	.kv,
	.kv_career {
		height: 426px;
		background-position: 50% 0;
		background-size: 100% auto;
	}
}


/*------------------------------------------------------------------------

求める人材像

------------------------------------------------------------------------*/
.personality {
	color: #FFFFFF;
	text-align: center;
	line-height: 2.4em;
	background-color: #0976b5;
	margin-top: 50px;
	padding-bottom: 40px;
}
.personality .section_ttl {
	color: #FFFFFF;
}
.personality p {
	margin-bottom: 24px;
	padding-bottom: 24px;
	position: relative;
}
.personality p:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
.personality p::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%, 0);
	width:50px;
	height: 2px;
	background-color: #ffffff;
}
.personality p:last-child::after {
	display: none;
}
@media screen and (min-width: 768px) {
	.personality {
		font-size: 1.8rem;
		line-height: 2.65em;
		text-align: center;
		padding-top: 40px;
		padding-bottom: 40px;
	}
}


/*------------------------------------------------------------------------

募集要項

------------------------------------------------------------------------*/
.description .section_ttl {
	padding-bottom: 0;
}
.description_ttl {
	text-align: center;
	background-color: #ebebeb;
	margin-top: 20px;
	margin-bottom: .5em;
	padding-top: .4em;
	padding-bottom: .4em;
}
.description_container li p:nth-child(2) {
	margin-top: 10px;
}
.description_container .indent li,
.description_container .indent li:last-child {
	border: none;
	padding-left: 1em;
	text-indent: -1em;
}
@media screen and (min-width: 768px) {
	.description .section_ttl {
		padding-top: 100px;
		padding-bottom: 30px;
	}
	.description_container li {
		display: flex;
		border-top:  1px solid #cfcfcf;
	}
	.description_container li:last-child {
		border-bottom:  1px solid #cfcfcf;
	}
	.description_ttl {
		width: 16%;
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 1.4em;
		padding-bottom: 1.4em;
	}
	.description_container li div {
		width: 84%;
		padding-top: 1.4em;
		padding-bottom: 1.4em;
		padding-left: 60px;
	}
}

.description_note {
	margin-top: 1.0em;
}

/*------------------------------------------------------------------------

選考プロセス

------------------------------------------------------------------------*/
.process {
	background-color: #e8f2f6;
	margin-top: 50px;
	padding-bottom: 1px;
}
.process_container li {
	font-size: 1.8rem;
	text-align: center;
	background-color: #ffffff;
	margin-bottom: 50px;
	padding-top: 1.0em;
	padding-bottom: 1.0em;
	position: relative;
}
.process_container li::before {
	content: "";
	display: inline-block;
	position: absolute;
	top:100%;
	left: 50%;
	width: 20px;
	height: 20px;
	border-top: 2px solid #0976b5;
	border-right: 2px solid #0976b5;
	-webkit-transform: translate(-50% , 8px) rotate(135deg);
	transform: translate(-50% , 8px) rotate(135deg);
}
.process_container li:last-child::before {
	display: none;
}
.process_btn-item a {
	display: flex;
	align-items: center;
	width: 74%;
	height: 60px;
  box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.15);
	border-radius: 5px;
	margin-top: 15px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.process_btn-item a::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(50% - 4px);
	right: 19px;
	width: 8px;
	height: 8px;
	border-top: 1px solid #FFFFFF;
	border-right: 1px solid #FFFFFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	z-index: 2;
}
.process_btn-item a::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(50%);
	right: 10px;
	transform: translate(0, -50%);
  background-image: -moz-linear-gradient( 135deg, rgb(9,210,189) 0%, rgb(9,118,181) 100%);
  background-image: -webkit-linear-gradient( 135deg, rgb(9,210,189) 0%, rgb(9,118,181) 100%);
  background-image: -ms-linear-gradient( 135deg, rgb(9,210,189) 0%, rgb(9,118,181) 100%);
	width: 22px;
	height: 22px;
	border-radius: 50%;
}
.process_btn-item a:hover {
	opacity: .8;
}
.process_btn-item img {
	width: auto;
	height: 32px;
}
@media screen and (min-width: 768px) {
	.process {
		margin-top: 100px;
		padding-top: 50px;
		padding-bottom: 1px;
	}
	.process_container li {
		margin-bottom: 56px;
		padding-top: 1.6em;
		padding-bottom: 1.6em;
	}
	.process_container li::before {
		width: 20px;
		height: 20px;
		border-top: 3px solid #0976b5;
		border-right: 3px solid #0976b5;
		-webkit-transform: translate(-50% , 12px) rotate(135deg);
		transform: translate(-50% , 12px) rotate(135deg);
	}
	.process_btn {
		display: flex;
		justify-content: center;
	}
	.process_btn-item {
		width: 340px;
		margin-right: 10px;
		margin-left: 10px;
	}
	.process_btn-item a {
		width: 100%;
		height: 74px;
		border-radius: 10px;
	}
	.process_btn-item a::before {
		top: calc(50% - 4px);
		right: 20px;
		width: 8px;
		height: 8px;
		border-top: 1px solid #FFFFFF;
		border-right: 1px solid #FFFFFF;
	}
	.process_btn-item a::after {
		top: calc(50%);
		right: 10px;
		width: 26px;
		height: 26px;
	}
	.process_btn-item a:hover {
		opacity: .8;
	}
	.process_btn-item img {
		width: 160px;
		height: auto;
	}
	.process_btn-item:last-child img {
		width: 200px;
	}
}


/*------------------------------------------------------------------------

お問い合わせ先

------------------------------------------------------------------------*/
.contact p {
	text-align: center;
}
.contact_logo {
	width: 105px;
	margin-right: auto;
	margin-left: auto;
}
.contact_company {
	font-weight: bold;
	margin-top: 20px;
}
.contact_btn-item a,
.contact_fax{
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	border: 1px solid #000000;
	margin-top: 15px;
	padding-top: 1.2em;
	padding-right: 5px;
	padding-bottom: 1.2em;
	padding-left: 62px;
	position: relative;
}
.contact_btn-item a::before,
.contact_fax::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translate(0, -50%);
	width: calc(69px/2);
	height: calc(72px/2);
	background-image: url("../img/icon_tel.svg");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
}
.contact_btn-item:last-child a::before {
	width: calc(69px/2);
	height: calc(57px/2);
	background-image: url("../img/icon_mail.svg");
}
.contact_fax::before {
	width: calc(69px/2);
	height: calc(70px/2);
	background-image: url("../img/icon_fax.svg");
}
.contact_btn-item a:hover {
	opacity: .5;
}
@media screen and (min-width: 768px) {
	.contact {
		padding-top: 80px;
		padding-bottom: 40px;
	}
	.contact p {
		font-size: 1.8rem;
		text-align: left;
	}
	.contact_container {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.contact_wrap {
		border-left: 1px solid #000000;
		margin-left: 40px;
		padding-left: 40px;
	}
	.career .contact_wrap {
		border-left: none;
		margin-top: 30px;
		margin-left: 0;
		padding-left: 0;
	}
	.contact_box {
		display: flex;
		align-items: center;
	}
	.career .contact_box {
		justify-content: center;
	}
	.contact_logo {
		width: 78px;
		margin-right: 20px;
		margin-left: 0;
	}
	.contact_company {
		margin-top: 0;
	}
	.contact_btn {
		display: flex;
		margin-top: 10px;
	}
	.contact_btn-item {
		min-width: 330px;
		margin-right: 20px;
	}
	.contact_btn-item:first-child,
	.contact_fax {
		text-align: center;
	}
	.contact_btn-item a,
	.contact_fax{
		padding-top: 1.6em;
		padding-bottom: 1.6em;
	}
	.contact_btn-item:first-child a::before,
	.contact_fax::before {
		top: 50%;
		left: 50%;
		transform: translate(-90px, -50%);
		width: calc(69px/2);
		height: calc(72px/2);
		background-image: url("../img/icon_tel.svg");
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: contain;
	}
	.contact_fax::before {
		background-image: url("../img/icon_fax.svg");
	}
}

