@charset "utf-8";
body {
		background: #F3F4F5;
}
/* ============= */
.recruit_profile_section {
		padding: 120px 0 80px;
}
@media(max-width: 1200px) {
		.recruit_profile_section {
				padding: 80px 0 40px;
		}
}
@media(max-width: 960px) {
		.recruit_profile_section {
				padding: 80px 0 0px;
		}
}
@media(max-width: 767px) {
		.recruit_profile_section {
				padding: 60px 0 0px;
		}
}
.profile_wrap {
		background-color: #fff;
		border-radius: 8px;
		box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05);
		display: flex;
		align-items: center;
		padding: 70px;
}
.profile_figure {
		width: 470px;
		margin-right: 60px;
}
.profile_figure img {
		width: 100%;
		height: auto
}
.profile_caption {
		flex: 1
}
.profile_caption h3 {
		font-size: 24px;
		font-weight: 600;
		line-height: 1.5;
		margin: 0 0 30px;
}
.profile_caption p {
		line-height: 2.2;
		margin: 0 0 1em
}
@media(max-width: 1200px) {
		.profile_wrap {
				padding: 40px;
		}
}
@media(max-width: 1360px) {
		.profile_wrap {
				padding: 50px;
		}
		.profile_figure {
				width: 40%;
				margin-right: 50px;
		}
		.profile_caption h3 {
				font-size: 20px;
				margin: 0 0 20px;
		}
		.profile_caption p {
				font-size: 15px;
		}
		.profile_caption p:last-child {
				margin-bottom: 0;
		}
}
@media screen and (orientation: landscape) and (max-width: 960px) {
		.profile_caption h3 {
				margin-bottom: 20px;
		}
		.profile_caption h3 br {
				display: none
		}
		.profile_figure {
				width: 50%;
				margin: 0 auto 20px;
		}
}
@media(max-width:960px) {
		.profile_wrap {
				display: flex;
				flex-direction: column;
				padding: 40px 20px;
		}
		.profile_caption {
				display: contents;
		}
		.profile_caption h3 {
				order: 1;
				text-align: center;
				font-size: 26px;
				margin: 0 0 20px;
				width: 100%;
		}
		.profile_figure {
				order: 2;
				width: 55%;
				margin: 0 auto 20px;
		}
		.profile_caption p {
				order: 3;
				font-size: 16px;
				line-height: 2.0;
				text-align: justify;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.profile_wrap {
				padding: 40px 20px;
				display: flex;
				flex-direction: column;
		}
		.profile_caption {
				display: contents;
		}
		.profile_caption h3 {
				order: 1;
				text-align: center;
				font-size: 20px;
				margin: 0 0 20px;
				width: 100%;
		}
		.profile_figure {
				order: 2;
				width: 100%;
				margin: 0 auto 20px;
		}
		.profile_caption p {
				order: 3;
				font-size: 15px;
				line-height: 1.8;
				text-align: justify;
		}
}
/* ===============  */
.interview_section {
		padding: 80px 0 120px;
		overflow: hidden
}
@media(max-width: 767px) {
		.interview_section {
				padding: 60px 0;
		}
}
/* =============== */
.appeal_section {
		padding: 80px 0;
		background-color: #224BA1;
		overflow: hidden;
		background-repeat: no-repeat;
		background-position: center bottom 20%;
		background-size: 2000px;
		background-image: url(../images/about_profile_bg2_pc.png);
}
@media(max-width: 767px) {
		.appeal_section {
				padding: 60px 0;
				background-color: #224BA1;
		}
}
.appeal_slider .swiper {
		padding-bottom: 60px;
}
.appeal_wrap {
		position: relative;
}
.swiper-slide.appeal_item {
		background-color: #fff;
		border-radius: 10px;
		width: 975px;
		height: 420px;
}
.appeal_item_in {
		display: flex;
		align-items: center;
		padding: 60px;
		padding-right: 70px;
		position: relative;
}
.appeal_item_in .no {
		position: absolute;
		top: 40px;
		right: 40px;
		font-size: 40px;
		font-family: "Poppins";
		font-weight: 700;
		color: #deebf0;
		text-align: right;
		line-height: 1;
}
.appeal_item_thumb {
		width: 290px;
		margin-right: 60px;
}
.appeal_item_thumb img {
		width: 100%;
		height: auto;
}
.appeal_item_caption {
		flex: 1;
}
.appeal_item_caption h3 {
		font-size: 34px;
		font-weight: 700;
		position: relative;
		margin: 0 0 70px;
}
.appeal_item_caption h3::after {
		content: '';
		display: block;
		position: absolute;
		background-color: #c2d3d8;
		width: 70px;
		height: 2px;
		left: 0;
		bottom: -35px;
}
.appeal_item_caption p {
		line-height: 2.0;
		text-align: justify;
}
.appeal_slider .swiper-pagination {
		display: flex;
		justify-content: center;
		height: 20px;
}
.appeal_slider .interview_slider .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .appeal_slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		width: 9px;
		height: 9px;
		border-radius: 50%;
		transition: all 0.2s;
		opacity: 1;
		background: #BDBDBD;
		margin: 0 5px
}
.appeal_slider .swiper-pagination-bullet-active {
		opacity: 1;
		transform: scale(1.35);
		background: #aaf7f8 !important;
}
@media(max-width: 1400px) {
		.swiper-slide.appeal_item {
				width: 900px;
				height: 390px;
		}
		.appeal_item_in {
				padding: 50px;
				padding-right: 60px;
		}
}
@media(max-width: 1260px) {
		.appeal_item_in {
				padding: 40px;
		}
		.appeal_item_thumb {
				width: 35%;
				margin-right: 30px;
		}
		.appeal_slider .swiper-pagination {
				max-width: 620px;
		}
		.appeal_item_in .no {
				top: 30px;
				right: 30px;
				font-size: 32px;
		}
		.appeal_item_caption h3 {
				font-size: 26px;
				margin: 0 0 40px;
		}
		.appeal_item_caption h3::after {
				width: 50px;
				bottom: -25px;
		}
		.appeal_item_caption p {
				font-size: 15px;
				line-height: 1.6;
		}
		.appeal_slider .swiper-pagination {
				max-width: inherit !important;
				display: flex;
				justify-content: center;
				margin: 0 auto
		}
}
@media(max-width: 960px) {
		.swiper-slide.appeal_item {
				width: 650px;
				height: 300px;
		}
		.appeal_item_caption p {
				font-size: 14px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.appeal_item_in .no {
				top: 25px;
				right: 25px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.swiper-slide.appeal_item {
				width: 70%;
				height: auto
		}
		.appeal_item_in {
				padding: 25px 20px 30px;
				display: block;
		}
		.appeal_item_thumb {
				width: 70%;
				margin: 0 auto 15px;
		}
		.appeal_item_in .no {
				top: 25px;
				right: 25px;
				font-size: 28px;
		}
		.appeal_item_caption h3 {
				font-size: 22px;
				text-align: center;
				margin: 0 0 30px;
		}
		.appeal_item_caption h3::after {
				width: 40px;
				left: calc(50% - 20px);
				bottom: -15px;
		}
		.appeal_item_caption p {
				font-size: 15px;
		}
}
/* =============== */
.benefit_section {
		padding: 80px 0;
}
@media(max-width: 767px) {
		.benefit_section {
				padding: 60px 0;
		}
}
.benefit_section .wrap1300 hgroup + p {
		line-height: 2.0;
		font-weight: 500;
		text-align: center;
		margin: 0 0 40px;
}
.benefit_section h3 {
		font-size: 26px;
		font-weight: 700;
		color: #353e4a;
		margin: 0 0 30px;
		position: relative;
		padding-left: 25px;
}
.benefit_section h3::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 13px);
		left: 0;
		background-color: #224ba1;
		width: 9px;
		height: 27px;
}
@media(max-width: 767px) {
		.benefit_section h3 {
				font-size: 22px;
				padding-left: 20px;
		}
		.benefit_section h3::before {
				top: calc(50% - 12px);
				width: 5px;
				height: 24px;
		}
}
@media(max-width: 1100px) {
		.benefit_section .wrap1300 hgroup + p {
				line-height: 2.0;
				text-align: left;
				margin: 0 0 40px;
		}
}
.benefit_flex {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 100px;
}
.benefit_item {
		background-color: #fff;
		border-radius: 10px;
		width: calc(50% - 10px);
		margin: 0 0 20px;
		box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05);
		padding: 30px;
		box-sizing: border-box;
		display: flex;
		align-items: center;
}
.benefit_item_thumb {
		width: 110px;
		margin-right: 40px;
}
.benefit_item_thumb img {
		width: 100%;
		height: auto;
}
.benefit_item_caption {
		flex: 1
}
.benefit_item_caption h4 {
		font-size: 20px;
		font-weight: 700;
		margin: 0 0 15px;
		line-height: 1.4;
}
@media(max-width: 767px) {
		.benefit_item_caption h4 br {
				display: none
		}
}
.benefit_item_caption p {
		line-height: 2.0;
}
@media(max-width: 1200px) {
		.benefit_item {
				padding: 15px;
				width: calc(50% - 5px);
				margin: 0 0 10px;
		}
		.benefit_item_thumb {
				width: 80px;
				margin-right: 15px;
		}
		.benefit_item_caption h4 {
				font-size: 18px;
				margin: 0 0 10px;
		}
		.benefit_item_caption p {
				font-size: 14px;
		}
}
@media(max-width: 960px) {
		.benefit_item_caption h4 {
				font-size: 16px;
				margin: 0 0 10px;
		}
		.benefit_item_caption p {
				font-size: 13px;
				line-height: 1.6;
		}
		.benefit_item_caption p br {
				display: none
		}
}
@media(min-width: 768px) {
		.benefit_item_caption h4 br {
				display: none
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.benefit_flex {
				display: block;
		}
		.benefit_item {
				width: 100%;
				display: block;
				padding: 20px 15px;
				margin: 0 0 20px;
		}
		.benefit_item_thumb {
				width: 40%;
				margin: 0 auto 15px;
		}
		.benefit_item_caption h4 {
				font-size: 16px;
				line-height: 1.6;
				margin: 0 0 5px;
				text-align: center;
		}
		.benefit_item_caption p {
				word-break: break-all;
				font-size: 14px;
		}
}
.benefit_wrap {
		background-color: #fff;
		border-radius: 10px;
		box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05);
		padding: 50px
}
.benefit_hd_flex {
		display: flex;
		margin: 0 0 35px;
}
.benefit_section .benefit_hd_flex h3 {
		margin-bottom: 0;
		margin-right: 70px;
}
.benefit_section .benefit_hd_flex h3::before {
		top: 2px;
}
.benefit_hd_flex p {
		line-height: 2.0;
		flex: 1;
		margin-block: calc((1em - 1lh) / 2);
}
.benefit_wrap {
		background-color: #fff;
		border-radius: 10px;
		padding: 50px 70px;
		box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05);
}
.benefit_wrap p {
		line-height: 2.0;
}
.benefit_wrap p + p {
		margin-top: 1em;
		font-size: 90%;
}
.benefit_wrap p a {
		color: #224BA1;
		text-decoration: underline;
		text-underline-offset: 4px;
}
@media (hover: hover) {
		.benefit_wrap p a:hover {
				color: #224BA1;
				text-decoration: none;
		}
}
.benefit_wrap h4 {
		font-size: 24px;
		font-weight: 700;
		text-align: center;
		color: #224ba1;
}
.benefit_wrap h4 span {
		position: relative;
		display: inline-block
}
.benefit_wrap h4 span::before, .benefit_wrap h4 span::after {
		content: '';
		display: block;
		position: absolute;
		width: 2px;
		height: 50px;
		background: #224BA1;
		top: calc(50% - 20px);
}
.benefit_wrap h4 span::before {
		transform: rotate(-43deg);
		left: -35px;
}
.benefit_wrap h4 span::after {
		transform: rotate(43deg);
		right: -35px
}
.benefit_wrap h5 {
		font-size: 18px;
		font-weight: 600;
		margin: 40px 0 10px;
		padding-top: 40px;
		border-top: 1px solid #c2d3d8;
}
.benefit_wrap h5:first-of-type {
		border-top: none;
		padding-top: 10px;
}
.benefit_wrap h5 span {
		padding-left: 20px;
		position: relative;
}
.benefit_wrap h5 span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		left: 0;
		width: 12px;
		height: 12px;
		border-radius: 50%;
		background: #224BA1;
}
.benefit_wrap ul {
		margin-left: 1em;
		list-style: none
}
.benefit_wrap li {
		line-height: 1.8;
		position: relative;
		margin: 0 0 5px
}
.benefit_wrap li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.benefit_wrap li br {
		display: none
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.benefit_wrap li br {
				display: block
		}
}
@media(max-width: 1200px) {
		.benefit_wrap {
				padding: 30px 50px;
		}
		.benefit_wrap h4 {
				font-size: 20px;
		}
		.benefit_wrap h4 span::before, .benefit_wrap h4 span::after {
				height: 40px;
				width: 1px;
				top: calc(50% - 15px);
		}
		.benefit_wrap h4 span::before {
				left: -25px;
		}
		.benefit_wrap h4 span::after {
				right: -25px
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.benefit_hd_flex {
				display: block;
				margin: 0 0 30px;
		}
		.benefit_section .benefit_hd_flex h3 {
				margin: 0 0 30px;
		}
		.benefit_wrap {
				padding: 30px 15px;
		}
		.benefit_wrap h4 {
				font-size: 18px;
				line-height: 1.6;
		}
		.benefit_wrap h4 span::before, .benefit_wrap h4 span::after {
				width: 1px;
				height: 50px;
				top: calc(50% - 20px);
		}
		.benefit_wrap h4 span::before {
				transform: rotate(-30deg);
				left: -25px;
		}
		.benefit_wrap h4 span::after {
				transform: rotate(30deg);
				right: -25px
		}
		.benefit_wrap h5 {
				font-size: 16px;
		}
		.benefit_wrap h5 span {
				padding-left: 15px;
		}
		.benefit_wrap h5 span::before {
				top: calc(50% - 2px);
				width: 8px;
				height: 8px;
		}
}
/* ============= */
.recruit_footer {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url("../images/recruit_footer_pc.jpg?2604");
		height: 690px;
		overflow: hidden;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
}
.recruit_footer .wrap1100 {
		position: relative;
		z-index: 5;
		width: 1100px;
}
.recruit_footer.short {
		background-image: url("../images/recruit_footer_short.jpg?2604");
		height: 315px;
}
.recruit_footer::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #011F53;
		background: rgba(1, 31, 83, 0.65);
		mix-blend-mode: multiply
}
.recruit_footer hgroup {
		display: flex;
		flex-direction: column-reverse;
		text-align: left;
		margin: 0 0 30px !important
}
.recruit_footer hgroup p {
		color: #fff;
		font-size: 54px;
		font-family: "Poppins";
		font-weight: 700;
		margin: 0 0 25px;
		letter-spacing: 0;
}
.recruit_footer hgroup h2 {
		color: #fff;
		font-size: 24px;
}
.recruit_footer_link {
		margin: 0 0 20px;
}
.recruit_footer .recruit_footer_link:last-child {
		margin: 0
}
.recruit_footer_link a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		background-color: #fff;
		border-radius: 8px;
		height: 160px;
		box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
		box-sizing: border-box;
		padding: 50px;
		text-decoration: none;
		transition: background 0.2s;
}
.recruit_footer_link a.disabled {
		opacity: 0.5;
		pointer-events: none
}
.recruit_footer_link_left .jp {
		font-size: 24px;
		font-weight: 600;
		line-height: 1;
		margin: 0 0 10px;
}
.recruit_footer_link_left .en {
		font-size: 14px;
		font-family: "Poppins";
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.02em
}
@media(max-width: 960px) {
		.recruit_footer_link_left .jp {
				font-size: 20px;
		}
		.recruit_footer_link_left .en {
				font-size: 12px;
		}
}
.recruit_footer_link_right {
		font-weight: 600;
}
.recruit_footer_link a .recruit_footer_link_left .jp {
		color: #353e4a;
}
.recruit_footer_link a .recruit_footer_link_left .en {
		color: #224ba1;
}
.recruit_footer_link a .recruit_footer_link_right {
		color: #3356a1;
}
@media (hover: hover) {
		.recruit_footer_link a:hover {
				background: #D7EBFF;
				background: #E6ECF0;
		}
}
.recruit_footer_link_right span {
		position: relative;
		display: inline-block;
		padding-right: 45px;
}
.recruit_footer_link_right span::before, .recruit_footer_link_right span::after {
		content: '';
		display: block;
		position: absolute;
		right: 0;
		top: calc(50% - 14px)
}
.recruit_footer_link_right span::before {
		background: #3356A1;
		border-radius: 4px;
		width: 28px;
		height: 28px;
}
.recruit_footer_link_right span::after {
		top: calc(50% - 7px);
		right: 7px;
		width: 14px;
		height: 14px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 14px;
		background-image: url("../images/icon_right_wht.png")
}
@media(max-width: 1200px) {
		.recruit_footer {
				height: 500px;
		}
		.recruit_footer hgroup p {
				font-size: 42px;
				margin: 0 0 20px;
		}
		.recruit_footer hgroup h2 {
				font-size: 18px;
		}
		.recruit_footer_link a {
				height: 120px;
				padding: 40px;
		}
}
@media(max-width: 960px) {
		.recruit_footer {
				height: 440px;
		}
		.recruit_footer_link a {
				height: 100px;
				padding: 30px;
		}
}
@media screen and (orientation: landscape) and (max-width: 1366px) {
		.recruit_footer {
				height: 360px;
		}
		.recruit_footer_link_group {
				display: flex;
				justify-content: space-between;
				align-items: center;
		}
		.recruit_footer_link {
				width: calc(50% - 10px);
				margin: 0;
		}
}
@media(max-width: 767px) {
		.recruit_footer {
				height: 350px;
				background-repeat: no-repeat;
				background-position: right center;
				background-size: cover;
				background-image: url("../images/recruit_footer_sp.jpg?2604");
		}
		.recruit_footer hgroup p {
				font-size: 40px;
				margin: 0 0 15px;
		}
		.recruit_footer hgroup h2 {
				font-size: 16px;
		}
		.recruit_footer_link_left .jp {
				font-size: 18px;
		}
		.recruit_footer_link_left .en {
				font-size: 12px;
		}
		.recruit_footer_link a {
				height: 80px;
				padding: 20px;
		}
		.recruit_footer_link_right span {
				padding-right: 32px;
		}
		.recruit_footer_link_right span::before, .recruit_footer_link_right span::after {
				top: calc(50% - 11px)
		}
		.recruit_footer_link_right span::before {
				width: 22px;
				height: 22px;
		}
		.recruit_footer_link_right span::after {
				top: calc(50% - 6px);
				right: 5px;
				width: 12px;
				height: 12px;
				background-size: 12px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.recruit_footer_link {
				margin: 0 0 15px;
		}
}
.loop_wrap {
		overflow: hidden;
}
.loop_slider, .reverse_slider {
		display: flex;
		width: 100%;
		overflow: hidden;
}
.loop_slider {
		position: relative;
		top: -130px;
		pointer-events: none;
		z-index: -1;
		margin-bottom: -130px;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.loop_slider {
				top: -90px;
				margin-bottom: -90px;
		}
}
.loop_inner, .reverse_inner {
		display: flex;
}
.loop_inner:first-child {
		animation: loop 150s linear infinite;
}
.loop_inner:nth-child(2) {
		animation: loop2 150s -100s linear infinite;
}
.loop_inner:last-child {
		animation: loop3 150s -50s linear infinite;
}
.reverse_slider .reverse_inner:first-child {
		animation: loop4 150s linear infinite;
}
.reverse_slider .reverse_inner:nth-child(2) {
		animation: loop5 150s -100s linear infinite;
}
.reverse_slider .reverse_inner:last-child {
		animation: loop6 150s -50s linear infinite;
}
.loop_item {
		width: 2100px;
}
.loop_item img {
		width: 100%;
		height: auto;
		mix-blend-mode: multiply;
}
@media(max-width: 960px) {
		.loop_item {
				width: 1680px;
		}
}
@media(max-width: 767px) {
		.loop_item {
				width: 1200px;
		}
}
@keyframes loop {
		0% {
				transform: translateX(200%);
		}
		to {
				transform: translateX(-100%);
		}
}
@keyframes loop2 {
		0% {
				transform: translateX(100%);
		}
		to {
				transform: translateX(-200%);
		}
}
@keyframes loop3 {
		0% {
				transform: translateX(0%);
		}
		to {
				transform: translateX(-300%);
		}
}
@keyframes loop4 {
		0% {
				transform: translateX(-100%);
		}
		to {
				transform: translateX(200%);
		}
}
@keyframes loop5 {
		0% {
				transform: translateX(-200%);
		}
		to {
				transform: translateX(100%);
		}
}
@keyframes loop6 {
		0% {
				transform: translateX(-300%);
		}
		to {
				transform: translateX(0%);
		}
}