@charset "utf-8";
header::before {
		background: rgba(255, 255, 255, 0);
		border-bottom: 1px solid rgba(255, 255, 255, 0);
}
header.isActive::before {
		background: rgba(255, 255, 255, 1);
		border-bottom: 1px solid #f3f4f8;
}
/* ================= */
.fv_section {
		background: #fff;
		position: relative;
		z-index: 0;
		min-height: 600px;
		display: flex;
		align-items: flex-end;
}
.video_player {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		width: 100%;
		height: 100vh;
		overflow: hidden;
}
.video_player video {
		position: absolute;
		top: 0%;
		left: 0%;
		transform: translate(0%, 0%);
		min-width: 100%;
		min-height: 100%;
		width: auto;
		height: auto;
		z-index: -1;
}
@media(min-width: 768px) {
		#video_sp {
				display: none;
		}
}
@media(max-width: 767px) {
		#video_pc {
				display: none;
		}
}
.fv_inner {
		width: 100%;
		position: relative;
		z-index: 100;
		box-sizing: border-box;
		padding: 0 50px 50px;
		color: #fff;
}
.fv_catch {
		font-size: 64px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 30px;
}
@media(min-width: 1600px) {
		.fv_inner {
				padding: 0 80px 80px;
		}
		.fv_catch {
				font-size: 90px;
				margin: 0 0 60px;
		}
}
.fv_en {
		font-size: 20px;
		font-family: "Manrope", sans-serif;
		font-weight: 500;
		line-height: 1.8;
}
.fv_inner .fv_btn {
		width: 216px;
		position: absolute;
		bottom: 50px;
		right: 50px;
		z-index: 50;
		font-size: 24px;
		font-family: "Manrope", sans-serif;
		font-weight: 500;
}
.fv_btn .link_btn a {
		background: #14b46e;
		color: #fff;
		border: 1px solid #14b46e;
		width: 216px;
}
@media (hover: hover) {
		.fv_btn .link_btn a:hover {
				background: #fff;
				color: #14b46e;
		}
}
.fv_btn .link_btn a::after {
		display: none;
}
@media(max-width: 1024px) {
		.verPortrait .fv_section {
				height: 600px;
				min-height: 600px;
		}
		.verPortrait .video_player video {
				top: 0;
				left: 50%;
				transform: translate(-50%, 0%);
				min-height: 600px;
				height: 600px;
		}
		.fv_inner {
				padding: 0 40px 40px;
		}
		.fv_catch {
				font-size: 50px;
				margin: 0 0 30px;
		}
		.fv_inner .fv_btn {
				width: 180px;
				bottom: 50px;
				right: 30px;
				font-size: 20px;
		}
		.fv_btn .link_btn a {
				width: 180px;
				height: 50px
		}
}
@media(max-width: 767px) {
		.video_player video, .verPortrait .video_player video {
				position: absolute;
				top: 20%;
				left: 50%;
				transform: translate(-50%, -20%);
				min-width: 100%;
				min-height: 100%;
				width: auto;
				height: auto;
				z-index: -1;
		}
		.fv_inner {
				padding: 0 20px 20px;
		}
		.fv_catch {
				font-size: 37px;
				line-height: 1.5;
				margin: 0 0 20px;
		}
		.fv_en {
				font-size: 14px;
		}
}
/* ================== */
section {
		min-height: 500px;
		background: #fff;
}
.message_section {
		padding: 170px 0 220px;
}
.message_section_inner {
		position: relative;
		padding-top: 80px;
}
.message_catch {
		font-size: 48px;
		font-weight: 600;
		line-height: 1.6;
		margin: 0 0 60px
}
.message_caption {
		font-weight: 500;
		line-height: 2.2;
		font-size: 20px;
}
.message_section_inner .message_photo_gr {
		position: absolute;
		width: 400px;
		top: -80px;
		right: -185px;
}
.message_photo_gr img {
		border-radius: 8px;
		width: 100%;
		height: auto;
}
.message_photo_gr .message_photo1 {
		margin: 0 0 54px;
}
.message_photo_gr .message_photo2 {
		position: relative;
		left: -196px;
}
.job_section {
		padding: 0 0 170px;
}
.job_section .section_title {
		margin: 0 0 80px;
}
.job_sb_gr {
		text-align: center;
		margin: 0 0 35px;
}
.job_sb {
		font-size: 24px;
		font-weight: 600;
		text-align: center;
		margin: 0 0 15px
}
.job_sb_en {
		color: #ccc;
		font-family: "Manrope", sans-serif;
		font-weight: 500;
		font-size: 14px;
}
.job_flex {
		display: flex;
		margin: 0 0 75px
}
.job_flex.reverse {
		display: flex;
		flex-direction: row-reverse;
}
.job_flex_photo {
		width: 450px;
		margin-right: 56px;
		position: relative;
}
.job_flex_photo::before {
		content: '';
		display: block;
		position: absolute;
		bottom: -75px;
		left: -75px;
		width: 300px;
		height: 300px;
		background: #f3f4f8;
		border-radius: 6px;
}
.reverse .job_flex_photo::before {
		left: inherit;
		right: -75px;
}
.job_flex_photo_in {
		position: relative;
		z-index: 5;
}
.job_flex.reverse .job_flex_photo {
		margin-right: 0;
		margin-left: 56px;
}
.job_flex_photo img {
		width: 100%;
		height: auto;
		border-radius: 8px;
}
.job_flex_caption {
		flex: 1;
}
.job_caption_hd {
		margin: 0 0 35px
}
.job_caption_hd h4 {
		font-size: 32px;
		font-weight: 600;
		margin: 0 0 10px;
}
.job_flex_caption p {
		line-height: 1.8;
		font-weight: 500;
}
.interview_nav_flex {
		display: flex;
		justify-content: space-between;
		margin: 0 auto 160px;
		max-width: 1020px;
}
.interview_nav_item {
		display: flex;
		width: calc(50% - 20px);
}
.interview_nav_item a {
		display: flex;
		color: #282828;
		text-decoration: none;
		position: relative;
}
.interview_nav_item a .top_merit_item_caption_arrow {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 32px;
		height: 32px;
		box-sizing: border-box;
		pointer-events: none;
		border-radius: 50%;
		border: 1px solid #282828;
		transition: background 0.3s;
}
.top_merit_item_caption_arrow::after {
		content: '';
		display: block;
		position: absolute;
		top: -1px;
		left: -1px;
		width: 32px;
		height: 32px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 32px;
		pointer-events: none;
		background-image: url("../n_images/top_merit_arrow.png");
		transition: background 0.3s;
}
@media (hover: hover) {
		.interview_nav_item a:hover .top_merit_item_caption_arrow {
				background: #14b46e;
				border: 1px solid #14b46e;
		}
		.interview_nav_item a:hover .top_merit_item_caption_arrow::after {
				background-image: url("../n_images/top_merit_arrow_wht.png");
		}
}
.interview_nav_thumb {
		width: 187px;
		margin-right: 20px;
		background: #fff;
		position: relative;
}
.interview_nav_thumb::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 1px solid #e6e6e6;
		border-radius: 6px;
		pointer-events: none;
}
.interview_nav_thumb img {
		width: 100%;
		height: auto;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		border-radius: 6px;
}
@media (hover: hover) {
		a:hover .interview_nav_thumb img {
				transform: scale(1.05)
		}
}
.interview_nav_caption {
		flex: 1;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
}
.interview_nav_caption h5 {
		font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-weight: 600;
		font-size: 24px;
		line-height: 1.6;
}
.interview_name {
		font-size: 18px;
		margin: 0 0 5px;
		font-weight: 500;
}
.interview_department {
		font-size: 14px;
		line-height: 1.6;
}
/* ============== */
.job_item {
		margin: 0 0 35px
}
.job_item dt {
		display: flex;
		align-items: center;
		background: #14b46e;
		color: #fff;
		position: relative;
		border-radius: 10px;
		height: 90px;
		padding: 0 45px;
		cursor: pointer;
		transition: border-radius 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.job_item dt.isOpen {
		border-radius: 10px 10px 0 0;
}
.job_item.isOpen dt {
		border-radius: 10px 10px 0 0;
		position: relative;
}
.job_item dt h3 {
		font-size: 24px;
		font-weight: 600;
}
.job_item dt .job_trigger {
		position: absolute;
		width: 30px;
		height: 30px;
		top: 30px;
		right: 35px;
}
.job_item dt .job_trigger::before, .job_item dt .job_trigger::after {
		content: '';
		display: block;
		position: absolute;
		top: 14px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #fff;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.job_item dt .job_trigger::after {
		transform: rotate(90deg);
}
.job_item dt.isOpen .job_trigger::before {
		transform: rotate(135deg);
		opacity: 0
}
.job_item dt.isOpen .job_trigger::after {
		transform: rotate(180deg);
}
.job_item dd {
		background: #f3f4f8;
		padding: 50px 80px 90px;
		border-radius: 0 0 10px 10px;
}
.job_item dd table {
		width: 100%;
		border-collapse: collapse;
		border-top: 1px solid #dcdcdc;
}
.job_item th, .job_item td {
		text-align: left;
		padding-top: 35px;
		padding-bottom: 35px;
		border-bottom: 1px solid #dcdcdc;
		line-height: 1.8;
		font-size: 16px;
		vertical-align: top;
}
.job_item th {
		padding-left: 45px;
		width: 1%;
		white-space: nowrap;
		padding-right: 70px;
		font-weight: 600;
}
.job_item td p {
		margin-bottom: 1em;
}
.job_item td p:last-child {
		margin-bottom: 0;
}
.job_item td ul {
		margin-left: 1em;
		list-style: none;
}
.job_item td li {
		position: relative;
		margin: 0 0 4px;
}
.job_item td ul li:last-child {
		margin-bottom: 0;
}
.job_item td li::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
		width: 100%;
		height: 100%;
}
dd .link_btn_center {
		margin-top: 80px;
}
.link_btn.entryBtn {
		width: 220px;
		font-size: 22px;
		font-family: "Manrope", sans-serif;
}
.link_btn.entryBtn a::after {
		display: none;
}
.link_btn.entryBtn a {
		background: #282828;
		color: #fff;
}
@media (hover: hover) {
		.link_btn.entryBtn a:hover {
				background: #14b46e;
				color: #fff;
		}
}
.entry_section {
		margin-top: 130px;
		background: #282828;
		color: #fff;
		border-radius: 10px;
		padding: 100px 75px;
		margin: 0 0 200px;
		cursor: pointer;
		transition: background 0.4s;
		position: relative;
}
@media (hover: hover) {
		.entry_section:hover {
				background: #f3f4f8;
				color: #14b46e;
		}
}
.entry_section_inner {
		position: relative;
}
.entry_section_hd {
		margin-bottom: 50px;
}
.entry_section_hd h3 {
		font-family: "Manrope", sans-serif;
		font-size: 100px;
		font-weight: 500;
		letter-spacing: -1.5px;
		line-height: 1;
		margin: 0 0 10px
}
.entry_section_hd + p {
		line-height: 1.8;
		font-weight: 500;
}
.entry_section_inner .entry_section_inner_arrow {
		width: 75px;
		height: 75px;
		position: absolute;
		right: 0;
		top: calc(50% - 32px);
}
.entry_section_inner_arrow::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url("../n_images/recruit_arrow_on.png") no-repeat 0 0;
		background-size: 100%;
		opacity: 0;
		transition: opacity 0.3s;
}
.entry_section_inner_arrow::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		border: 1px solid #fff;
		pointer-events: none;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.entry_section:hover .entry_section_inner_arrow::before {
				transform: scale(1.3);
				border: 1px solid #14b46e;
		}
		.entry_section:hover .entry_section_inner_arrow img {
				opacity: 0;
		}
		.entry_section:hover .entry_section_inner_arrow::after {
				opacity: 1;
		}
}
.header_logo {
		position: relative;
}
.header_logo .header_logo_wht {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 130px;
		height: 25px;
		background: url("../n_images/header_logo_wht.png") no-repeat 0 0;
		background-size: 100%;
		opacity: 0;
}
header .header_logo .header_logo_wht {
		opacity: 1;
}
header .header_logo img {
		opacity: 0;
}
header .header_inner ul, header .header_inner ul a {
		color: #fff;
}
header .header_inner ul ul a {
		color: #282828;
}
header .header_inner .parent .parentTrigger {
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
}
header .header_trigger {
		border: 1px solid #fff;
}
header .header_trigger_bar {
		background: #fff;
}
header .header_btn a {
		background: #fff;
		color: #282828;
}
header .header_inner .header_trigger {
		border: 1px solid #fff;
}
header .header_trigger_inner .header_trigger_bar {
		background: #fff;
}
header.isActive .header_logo .header_logo_wht {
		opacity: 0;
}
header.isActive .header_logo img {
		opacity: 1;
}
header.isActive .header_inner ul, header.isActive .header_inner ul a {
		color: #282828;
}
header.isActive .header_inner ul ul a {
		color: #282828;
}
header.isActive .header_inner .parent .parentTrigger {
		border-right: 2px solid #282828;
		border-bottom: 2px solid #282828;
}
header.isActive .header_trigger {
		border: 1px solid #282828;
}
header.isActive .header_trigger_bar {
		background: #282828;
}
header.isActive .header_btn a {
		background: #282828;
		color: #fff;
}
header.isActive .header_inner .header_trigger {
		border: 1px solid #282828;
}
header.isActive .header_trigger_inner .header_trigger_bar {
		background: #282828;
}
/* =============== */
@media(max-width: 1300px) {
		.second_wrap {
				padding: 0 40px;
		}
		.message_section_inner .message_photo_gr {
				width: 35%;
				top: 0px;
				right: -60px;
		}
		.message_photo_gr .message_photo2 {
				left: -40px;
		}
		.message_catch {
				font-size: 42px;
				margin: 0 0 40px;
		}
		.message_caption {
				font-size: 18px;
		}
		.job_flex_photo {
				width: 40vw;
				height: 27vw;
				margin-right: 40px;
		}
		.job_flex.reverse .job_flex_photo {
				margin-right: 0;
				margin-left: 40px;
		}
		.job_flex_photo::before {
				bottom: -30px;
				left: -30px;
				width: 100%;
				height: 100%;
		}
		.reverse .job_flex_photo::before {
				left: inherit;
				right: -30px;
		}
		.interview_nav_thumb {
				width: 45%;
				margin-right: 15px;
		}
		.interview_nav_caption h5 {
				font-size: 18px;
		}
		.job_item dd {
				padding: 50px 40px 90px;
		}
}
@media(max-width: 840px) {
		.message_section {
				padding: 100px 0 170px;
		}
		.job_section {
				padding: 0 0 100px;
		}
		.message_section_inner {
				padding-top: 30px;
		}
		.message_catch {
				font-size: 38px;
				margin: 0 0 30px;
		}
		.message_section_inner .message_photo_gr {
				width: 32%;
				top: 0px;
				right: -60px;
		}
		.interview_nav_thumb {
				width: 40%;
				margin-right: 15px;
		}
		.interview_nav_caption h5 {
				font-size: 16px;
		}
		.interview_nav_flex {
				margin: 0 auto 80px;
		}
}
@media(max-width: 767px) {
		.fv_section {
				overflow: hidden;
		}
		.fv_inner .fv_btn {
				width: 100% !important;
				bottom: inherit;
				right: inherit;
				font-size: 20px;
				position: static;
				margin-top: 30px;
				margin-bottom: 15px;
				display: flex;
				justify-content: flex-end;
		}
		.fv_inner .fv_btn .link_btn {
				width: auto;
		}
		.fv_inner .fv_btn .link_btn a {
				width: 160px;
				height: 42px;
		}
		.message_section {
				padding: 100px 0 100px;
				clear: both;
		}
		.second_wrap {
				padding: 0 20px;
		}
		.message_catch {
				font-size: 28px;
				margin: 0 0 30px;
		}
		.message_section_inner .message_photo_gr {
				position: static;
				width: 100%;
				top: inherit;
				right: inherit;
				box-sizing: border-box;
		}
		.message_photo_gr .message_photo1 {
				float: right;
				width: 60vw;
				margin: 0 0 25px;
				position: relative;
				right: -20px;
		}
		.message_photo_gr .message_photo2 {
				clear: both;
				width: 60vw;
				position: static;
				left: inherit;
		}
		.message_caption {
				font-size: 17px;
				margin: 0 0 40px
		}
		.message_caption br {
				display: none;
		}
		.job_flex {
				display: block !important;
				margin: 0 0 65px;
		}
		.job_flex_photo, .job_flex.reverse .job_flex_photo {
				width: 100%;
				height: auto;
				margin: 0 0 25px;
		}
		.job_flex_photo::before {
				bottom: -50px;
				left: inherit;
				right: -20px;
				width: 48vw;
				height: 48vw;
		}
		.reverse .job_flex_photo::before {
				bottom: -50px;
				right: inherit;
				left: -20px;
				width: 48vw;
				height: 48vw;
		}
		.job_caption_hd {
				position: relative;
				z-index: 5;
		}
		.job_caption_hd h4 {
				font-size: 28px;
				margin: 0 0 5px;
		}
		.interview_nav_flex {
				display: block;
				margin: 0 auto 80px;
		}
		.interview_nav_item {
				width: 100%;
				margin: 0 0 30px;
		}
		.interview_nav_thumb {
				width: 130px;
				margin-right: 15px;
		}
		.interview_nav_caption {
				display: block;
		}
		.interview_nav_caption h5 {
				font-size: 16px;
				margin: 0 0 20px
		}
		.interview_name {
				font-size: 15px;
				margin: 0 0 5px;
		}
		.interview_department {
				font-size: 13px;
		}
		.interview_nav_item a {
				width: 100%;
		}
		.job_section .section_title {
				margin: 0 0 40px;
		}
		.job_caption_hd {
				margin: 0 0 25px;
		}
		.job_item dd {
				padding: 40px 20px;
		}
		.job_item dt {
				height: 64px;
				padding: 0 20px;
		}
		.job_item dt h3 {
				font-size: 22px;
		}
		.job_item dt .job_trigger {
				position: absolute;
				width: 16px;
				height: 16px;
				top: 24px;
				right: 20px;
		}
		.job_item dt .job_trigger::before, .job_item dt .job_trigger::after {
				top: 6px;
		}
		.job_item th, .job_item td {
				display: block;
				width: auto;
				padding: 0;
				border: none;
		}
		.job_item th {
				padding-top: 30px;
		}
		.job_item td {
				padding-bottom: 30px;
				border-bottom: 1px solid #dcdcdc;
		}
		.job_sb {
				font-size: 20px;
				font-weight: 600;
				text-align: center;
				margin: 0 0 15px;
		}
		.entry_section {
				margin-top: 50px;
				padding: 50px 30px;
				margin: 0 0 100px;
		}
		.entry_section_hd h3 {
				font-size: 22vw;
				margin: 0 0 10px;
		}
		.entry_section_inner .entry_section_inner_arrow {
				width: 44px;
				height: 44px;
				right: 0;
				top: inherit;
				bottom: 0
		}
		.entry_section_inner_arrow img {
				width: 100%;
				height: auto;
		}
}