@charset "utf-8";
hgroup.section_title .en {
		text-align: center !important;
}
.second_hdr_inner hgroup.section_title .en {
		text-align: left !important;
}
.recruitKV hgroup.section_title .jp::before {
		display: none !important
}
.second_hdr.recruitKV {
		background-image: url("../images/recruit_kv_pc.jpg");
		background-position: center bottom;
		background-repeat: no-repeat;
		background-size: cover;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		overflow: hidden;
}
@media(min-width: 1681px) {
		.second_hdr.recruitKV {
				background-size: cover;
				max-height: inherit;
		}
}
@media(max-width: 960px) {
		.second_hdr.recruitKV {
				background-image: url("../images/recruit_kv_sp-2.jpg");
				background-size: cover;
				background-position: right bottom;
				height: 100vh !important;
				height: 100svh !important;
				overflow: hidden;
		}
}
@media(max-width: 767px) {
		.second_hdr.recruitKV {
				background-image: url("../images/recruit_kv_sp.jpg");
				background-size: cover;
				background-position: right bottom;
				height: 100vh !important;
				height: 100svh !important;
				overflow: hidden;
		}
		.second_hdr.recruitKV::after {
				height: 100vh !important;
				height: 100svh !important;
		}
}
.recruitKV .second_hdr_inner {
		width: 90%;
		margin: 0 auto;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
}
.kv_photo_gr_wrap {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		pointer-events: none;
		z-index: 5
}
.kv_photo_gr {
		width: 55vw;
		display: flex;
		align-items: flex-start;
		pointer-events: none;
		position: relative;
		top: -5vw;
		right: 2vw
}
@media(min-width: 1921px) {
		.kv_photo_gr {
				width: 40vw;
		}
}
.kv_photo_gr .kv_photo:nth-child(1) {
		width: 39%;
}
.kv_photo_gr .kv_photo:nth-child(2) {
		width: 36%;
		position: absolute;
		top: 58%;
		left: 36%;
}
.kv_photo_gr .kv_photo:nth-child(3) {
		width: 32%;
		position: absolute;
		top: 10%;
		left: 68%;
}
.kv_photo img {
		width: 100%;
		height: auto;
		border-radius: 50%;
}
.recruitKV hgroup.section_title .en {
		font-size: 72px;
}
@media(max-width: 1440px) {
		.recruitKV hgroup.section_title .en {
				font-size: 60px;
		}
}
@media(max-width: 960px) {
		.kv_photo_gr {
				position: absolute !important;
				top: 0;
				left: 0;
				width: 100% !important;
				height: 100vh;
				pointer-events: none;
				z-index: 5;
		}
		.kv_photo_gr .kv_photo:nth-child(1) {
				position: absolute;
				width: 40vw;
				bottom: 80px;
				left: 60px;
		}
		.kv_photo_gr .kv_photo:nth-child(2) {
				width: 35vw;
				position: absolute;
				top: 150px;
				left: 62vw;
		}
		.kv_photo_gr .kv_photo:nth-child(3) {
				width: 29vw;
				position: absolute;
				top: 50vh;
				left: 62vw;
		}
		.kv_photo img {
				width: 100%;
				height: auto;
				border-radius: 50%;
		}
}
@media(max-width: 767px) {
		.kv_photo_gr .kv_photo:nth-child(1) {
				width: 45vw;
				bottom: initial;
				top: 68svh;
				left: 35px;
		}
		.kv_photo_gr .kv_photo:nth-child(2) {
				width: 42vw;
				top: 100px;
				left: initial;
				right: 50px
		}
		.kv_photo_gr .kv_photo:nth-child(3) {
				width: 38vw;
				top: 45vh;
				left: initial;
				right: 25px
		}
}
.recruitKV hgroup.section_title .en span {
		padding-left: 46px;
}
.recruitKV hgroup.section_title .en span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 9px);
		left: 0;
		width: 23px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 23px;
		background-image: url("../images/icon_logo_wht_l.png");
}
.recruitKV hgroup.section_title .jp {
		font-size: 24px;
		padding-left: 46px;
}
@media(max-width: 767px) {
		.recruitKV .second_hdr_inner {
				width: 100%;
				box-sizing: border-box;
				padding: 0 25px;
				margin: 0 auto;
				position: relative;
				top: -20px;
		}
		.recruitKV hgroup.section_title .en {
				font-size: 40px;
		}
		.recruitKV hgroup.section_title .en span {
				padding-left: 36px;
		}
		.recruitKV hgroup.section_title .jp {
				font-size: 20px;
				padding-left: 36px;
		}
}
.main_contents {
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 2600px;
		background-image: url("../images/recruit_bottom_pc.png");
}
.statement_section {
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 2200px;
		background-image: url("../images/recruit_bg_pc.png");
		padding-bottom: 160px;
}
@media(max-width: 767px) {
		.statement_section {
				padding-bottom: 80px;
				background-size: 100%;
				background-image: url("../images/recruit_bg_sp.png");
				background-position: right bottom;
		}
}
.statement_section .section_title {
		margin-bottom: 0;
}
.statement_catch {
		text-align: center;
		color: #3DAE35;
		margin: 0 0 80px;
		font-size: 84px;
		font-weight: 500;
		letter-spacing: 0;
		line-height: 1;
}
.statement_catch small {
		font-size: 50%;
		letter-spacing: 0.05em;
		font-weight: 600;
}
.statement_catch span {
		font-size: 70%;
		margin-left: 4px;
}
.statement_gr {
		text-align: center;
		padding: 0 20px;
}
.statement_section p {
		line-height: 2.2;
		margin: 0 0 1.5em;
		text-align: justify;
}
.message_photo {
		width: 280px;
		float: right;
		margin: 0 0 15px 35px
}
.message_photo img {
		width: 100%;
		height: auto;
		border-radius: 10px;
}
.message_sign_wrap {
		display: flex;
		justify-content: flex-end;
		text-align: right;
		margin-top: 80px;
}
.statement_section .message_sign p {
		margin: 0;
}
.message_sign_name {
		font-size: 24px;
}
@media(max-width: 960px) {
		.statement_catch {
				font-size: 68px;
		}
		.statement_end {
				font-size: 32px;
		}
}
@media(max-width: 767px) {
		.statement_catch {
				font-size: 9vw;
		}
		.statement_gr {
				text-align: left;
		}
		.statement_gr p {
				font-size: 16px;
				line-height: 2.2;
				margin: 0 0 1.5em
		}
		.statement_end {
				font-size: 30px;
				line-height: 1.6;
		}
}
/* =============== */
.personal_wrap {
		max-width: 1180px;
		margin: 0 auto;
}
.personal_wrap {
		max-width: 1180px;
		margin: 0 auto;
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url("../images/bg_texture_dark.png");
		background-color: #2a9164;
		position: relative;
		z-index: 5;
		padding: 80px 40px;
		box-sizing: border-box;
		border-radius: 16px;
}
.personal_wrap .section_title {
		color: #fff;
}
.personal_wrap hgroup.section_title .en {
		margin-bottom: 30px;
}
.personal_col {
		background: #fff;
		max-width: 860px;
		box-sizing: border-box;
		border-radius: 16px;
		margin: 0 auto;
		padding: 60px;
}
.personal_col ol {
		list-style: none;
		font-size: 21px;
		font-weight: 500;
		margin-left: 50px;
}
.personal_col ol li {
		line-height: 1.6;
		position: relative;
		margin: 0 0 20px;
}
.personal_col ol li span {
		position: absolute;
		display: block;
		top: 0;
		left: -50px;
		color: #3DAE35;
}
.personal_col ol li:first-child span {
		transform: translateX(1px)
}
.personal_col ol li:last-child {
		margin-bottom: 0;
}
.interview_section {
		padding: 80px 30px
}
.interview_other_wrap {
		max-width: 980px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 25px 20px;
		margin: 0 auto
}
.interview_tile a {
		color: #1e1e1e;
		text-decoration: none;
}
.interview_tile_thumb {
		margin-bottom: 10px;
		overflow: hidden;
		border-radius: 10px;
}
.interview_tile_thumb img {
		width: 100%;
		height: 230px;
		object-fit: cover;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.interview_tile_catch {
		font-size: 17px;
		font-weight: 500;
		line-height: 1.6;
		margin-bottom: 10px;
}
.interview_tile_division {
		font-size: 15px;
		font-weight: 500;
		line-height: 1.6;
}
.interview_tile_caption {
		position: relative;
}
.interview_tile_caption .interview_tile_arw {
		position: absolute;
		width: 30px;
		height: 30px;
		bottom: 0;
		right: 0;
		box-sizing: border-box
}
.interview_tile_arw::before, .interview_tile_arw::after {
		content: '';
		display: block;
		position: absolute;
		pointer-events: none;
		box-sizing: border-box
}
.interview_tile_arw::before {
		border-radius: 50%;
		width: 30px;
		height: 30px;
		border: 1px solid #1e1e1e;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
}
.interview_tile_arw::after {
		width: 8px;
		height: 8px;
		border-top: 2px solid #1e1e1e;
		border-right: 2px solid #1e1e1e;
		top: calc(50% - 4.5px);
		left: 10px;
		transform: rotate(45deg)
}
@media (hover: hover) {
		.interview_tile a:hover {
				color: #3DAE35;
		}
		.interview_tile a:hover .interview_tile_thumb img {
				transform: scale(1.05)
		}
		.interview_tile a:hover .interview_tile_arw::before {
				transform: scale(1.1);
				background: #3DAE35;
				border: 1px solid #3DAE35;
		}
		.interview_tile a:hover .interview_tile_arw::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
		}
}
@media(max-width: 767px) {
		.interview_tile {
				margin-bottom: 30px;
		}
		.interview_tile_thumb img {
				width: 100%;
				height: calc(calc(100vw - 40px) * 0.58);
		}
		.interview_tile_catch {
				font-size: 17px;
		}
		.interview_tile_division {
				font-size: 14px;
		}
}
/* ================ */
.human_section {
		padding: 80px 0;
		color: #fff;
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: cover;
		background-image: url("../images/recruit_human_bg_pc.jpg");
		position: relative;
}
.human_section::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url("../images/bg_texture_dark.png");
		pointer-events: none
}
@media(min-width: 1441px) {
		.human_section {
				padding: 150px 0;
		}
}
@media(max-width: 1440px) {
		.human_section {
				background-size: 1440px
		}
}
.human_section p {
		text-align: center;
		line-height: 2.0;
		margin: 0 0 40px;
}
/* ========= */
.job_section {
		padding: 160px 0
}
.job_item_flex {
		display: flex;
		justify-content: space-between;
		max-width: 980px;
		margin: 0 auto
}
.job_item {
		width: calc(calc(100% - 50px) / 3);
		background: #fff;
		box-sizing: border-box;
		border-radius: 16px;
		padding: 30px 10px;
		text-align: center;
}
.job_item_company {
		line-height: 1.6;
		font-weight: 500;
		margin: 0 0 5px
}
.job_item_type {
		font-size: 30px;
		font-weight: 600;
		line-height: 1.6;
}
.job_item .linkBtn {
		margin-top: 15px;
		margin-left: auto;
		margin-right: auto;
}
/* ========= */
.kessan_btn {
		margin-top: 30px;
		font-size: 28px;
}
@media(max-width: 1200px) {
		.message_photo {
				width: 35%;
		}
		.personal_col {
				padding: 60px 30px;
		}
		.personal_section {
				padding-left: 30px;
				padding-right: 30px;
		}
}
@media(max-width: 960px) {
		.personal_col ol {
				font-size: 18px;
				margin-left: 30px;
		}
		.personal_col ol li span {
				left: -30px;
		}
		.interview_tile_catch {
				font-size: 15px;
		}
}
@media(max-width: 767px) {
		.main_contents {
				background-repeat: no-repeat;
				background-position: center bottom;
				background-size: 100%;
				background-image: url("../images/recruit_bottom_sp.png");
		}
		.statement_catch {
				margin-bottom: 50px;
		}
		.message_photo {
				float: none;
				width: 100%;
				max-width: 240px;
				margin: 0 auto 40px;
		}
		.message_sign_wrap {
				margin-top: 50px;
		}
		.personal_section {
				padding-left: 20px;
				padding-right: 20px;
		}
		.statement_section p {
				line-height: 2.0;
				text-align: justify;
				margin: 0 0 1em;
		}
		.statement_section p.en {
				text-align: center;
		}
		.personal_wrap {
				padding: 60px 20px 25px;
				border-radius: 16px;
		}
		.personal_col {
				padding: 40px 20px 40px;
		}
		.personal_col ol {
				font-size: 15px;
				margin-left: 30px;
		}
		.personal_col ol li span {
				font-size: 20px;
		}
		.interview_section {
				padding: 80px 20px;
		}
		.interview_other_wrap {
				display: block;
				gap: 0;
		}
		.interview_tile_catch {
				font-size: 17px;
		}
		.human_section {
				padding: 80px 20px;
				padding-bottom: calc(45vw + 30px);
				color: #fff;
				background-repeat: no-repeat;
				background-position: center bottom;
				background-size: 100%;
				background-image: url("../images/recruit_human_bg_sp.jpg");
				background-color: #30a176;
		}
		.human_section .wrap780 {
				padding-left: 0;
				padding-right: 0;
		}
		.human_section p:not(.en) {
				text-align: justify;
				line-height: 1.8;
				margin: 0 0 40px;
		}
		.job_section {
				padding: 80px 20px;
		}
		.job_item_flex {
				display: block;
		}
		.job_item {
				width: 100%;
				padding: 30px 25px;
				margin: 0 0 15px;
		}
		.job_item_type {
				font-size: 28px;
				margin: 0 0 20px
		}
		.group_section {
				padding-left: 20px;
				padding-right: 20px;
		}
		.group_section p:not(.en) {
				text-align: justify !important;
				line-height: 1.8
		}
		.kessan_btn {
				margin-top: 40px;
				font-size: 20px;
				padding-left: 0;
				padding-right: 0;
		}
		.kessan_btn {
				font-size: 19px;
		}
		.kessan_btn span {
				transform: translateY(-1px)
		}
}
@media(max-width: 767px) {
		.group_section hgroup.section_title .jp {
				font-size: 28px;
		}
		.group_section .kessan_btn a {
				height: 70px
		}
}