@charset "utf-8";
/* トップ */
#content_wrap.recruit{padding-top: 90px;}
#content_wrap.recruit::after{display: none;}
.recruit_wrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.recruit_txt{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding:0 32px;
	background: transparent linear-gradient(311deg, #2F5696 0%, #3290CE 100%) 0% 0% no-repeat padding-box;
}

.recruit_title{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
	color: #fff;
}
.recruit_copy{
	font-size: 3.2rem;
	letter-spacing: 3.2px;
	line-height: 4.4rem;
	color: #fff;
	margin: 20px 0 0;
}

/* コンテンツ */
.content_area{margin-top: 95px;}

/* 共通 */
.recruit_catch{
	font-size: 2.5rem;
	letter-spacing: 2.5px;
	line-height: 3.6rem;
	color: #2F5696;
	padding-left: 0;
	margin: 47px 0 23px;
}
.recruit_catch strong{font-weight: normal;}
p{
	line-height: 2.1rem;
	letter-spacing: 1.5px;
}

.engage_box{margin: 50px 0;}
.bg_blue .engage_txt{
	font-size: 1.8rem;
	letter-spacing: 1.8px;
	line-height: 2.6rem;
	margin-top: 20px;
}
.bg_blue .link_btn.engage_btn{margin-top: 30px !important;}
.bg_blue .link_btn.engage_btn a::after{background: url(/img/common/popup_white.svg) no-repeat center left 9px / 15px;}
.bg_blue .link_btn.engage_btn a:hover::after{background: url(/img/common/popup_blue.svg) no-repeat center left 9px / 15px;}

/* 求める人物像 */
.portrait_h3{
	font-size:2.3rem;
	letter-spacing: 2.3px;
	line-height: 3.4rem;
	color: #2F5696;
	padding-left: 36px;
	background: url(/img/recruit/icon_checkmark.png)no-repeat center left / 26px;
	margin: 0 0 10px;
}
.portrait_h3::before{display: none;}
.portrait_p{margin-bottom: 40px;}

/* 仕事内容 */
.slide_area{
	background: #EEF7FF;
	padding: 50px 40px 40px;
	margin: 30px 0 40px;
}
.slide_h3{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	line-height: 3.5rem;
	text-align: center;
	margin: 0 0 25px;
}
.slide_h3::before{display: none;}
.slide_info{
	text-align: center;
	margin: 0 0 30px;
}
.description_list{
	background: #fff;
	padding: 20px 40px;
	display: flex;
	flex-wrap: wrap;
}
.description_item{
	width: 50%;
	padding: 20px 0;
	margin-bottom: 0;
	list-style: none;
	position: relative;
	margin-bottom: 0 !important;
}
.description_ttl{
	font-size: 1.8rem;
	letter-spacing: 1.8px;
	line-height: 2.6rem;
	color: #2F5696;
	margin: 0 0 15px;
	padding-left: 0;
}
.description_ttl::before{display: none;}
.decoding_txt{
	letter-spacing: 1.5px;
	line-height: 2.1rem;
	margin-bottom: 0;
}

/* 仕事内容（スライド） */
.slide_box{padding: 0 75px;}
.slick-dotted.slick-slider{margin-bottom: 50px;}
.slick-list{margin: 0 80px;}
.slick-arrow{
	width: 58px;
	height: 58px;
	background: #2F5696 !important;
	border: 1px solid #2F5696;
	z-index: 10;
	transition: background 0.3s;
}
.slick-arrow:hover{
	background:#fff !important;
}
.slick-prev{left: 0;}
.slick-next{right: 0;}
.slick-prev:before,.slick-next:before{
	display: inline-block;
	position: relative;
	content: '';
	font-size: 0;
	width: 20px;
	height: 20px;
	opacity: 1;
	top: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(45deg);
	-webkit-animation-duration:.5s;
	animation-duration:.5s;
	-webkit-animation-fill-mode:forwards;
	animation-fill-mode:forwards;
	transition:border-color .5s;
	transition: border 0.3s;
}
.slick-prev:before{
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
	left: 5px;
}
.slick-next:before{
	border-top: 1px solid #ffff;
	border-right: 1px solid #fff;
	right: 5px;
}
.slick-arrow:hover:before{
	border-color: #2F5696;
}
.slick-prev:hover:before{
	-webkit-animation-name:prev_animate;
	animation-name:prev_animate;
}
.slick-next:hover:before{
	-webkit-animation-name:next_animate;
	animation-name:next_animate;
}
@-webkit-keyframes prev_animate{
	0%, 100%{
		-webkit-transform:translate(0, 0);
		transform:translate(0, 0) rotate(45deg);
	}
	50%, 60%{
		-webkit-transform:translate(-20px,0);
		transform:translate(-20px, 0) rotate(45deg);
	}
	61%{
		opacity:0;
		-webkit-transform:translate(20px,0);
		transform:translate(20px,0) rotate(45deg);
	}
	62%{
		opacity:1;
		-webkit-transform:translate(20px,0);
		transform:translate(20px,0) rotate(45deg);
	}
}
@-webkit-keyframes next_animate{
	0%, 100%{
		-webkit-transform:translate(0, 0);
		transform:translate(0, 0) rotate(45deg);
	}
	50%, 60%{
		-webkit-transform:translate(20px,0);
		transform:translate(20px, 0) rotate(45deg);
	}
	61%{
		opacity:0;
		-webkit-transform:translate(-20px,0);
		transform:translate(-20px,0) rotate(45deg);
	}
	62%{
		opacity:1;
		-webkit-transform:translate(-20px,0);
		transform:translate(-20px,0) rotate(45deg);
	}
}

.slick-dots{bottom: -28px;}
.slick-dots li {width: 6px;height: 6px;}
.slick-dots li button {
	padding: 0;
	width: 6px;
	height: 6px;
	border: none;
	background: transparent;
	line-height: 0;
	cursor: pointer;
}
.slick-dots li button:before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	background: #C9CED6;
	border-radius: 0;
	opacity: 1;
	transition: background .2s, transform .15s;
}
.slick-dots li.slick-active button:before {background: #2F5696;}

.mfp-container{
	max-width: 750px;
	right: 0;
	bottom: 0;
	margin: auto;
	padding: 0 80px;
	position: relative;
}
.mfp-close{
	font-size: 0;
	position: relative;
}
.mfp-close::before,.mfp-close::after{
	position: absolute;
	content: '';
	display: inline;
	background: #fff;
	width: 46px;
	height: 1px;
	right: 7px;
	top: 15px;
	margin: auto;
}
.mfp-close::before{transform: rotate(135deg);}
.mfp-close::after{transform: rotate(-135deg);}

.mfp-arrow{top: calc(50% + 35px);}
.mfp-arrow::before{display: none;}
.mfp-arrow:after{
	width: 20px;
	height: 20px;
	border: none;
	border-bottom: 1px solid #fff;
	border-top-width: 0;
}
.mfp-arrow-left::after{
	border-right: 1px solid #fff;
	transform: rotate(135deg);
}
.mfp-arrow-right::after{
	border-left: 1px solid #fff;
	transform: rotate(-135deg);
}

img.mfp-img{padding: 0;}
.mfp-figure:after{display: none;}
.mfp-counter{display: none;}

/* 教育制度・福利厚生 */
.welfare_list{
	display: flex;
	flex-wrap: wrap;
	padding-left: 0;
	margin: 25px 0 0;
}
.welfare_item{
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 25%;
	list-style: none;
	margin-bottom: 0 !important;
	padding: 20px;
	position: relative;
	text-align: center;
}
.welfare_ttl{
	margin: 9px 0 0;
	padding-left: 0;
	color: #2F5696;
}
.welfare_ttl::before{display: none;}
.welfare_info{margin: 10px 0 0;}
.welfare_item img{order: -1;}

/* 社員の声 */
.interview_list{
	display: flex;
	flex-direction: column;
	gap: 20px;
	list-style: none;
	padding-left: 0;
}
.interview_item{
	display: grid;
	grid-template-columns: minmax(300px, 1fr) 2fr;
	gap: 30px;
	background: #000;
	background: #EEF7FF;
	padding: 30px;
	margin-bottom: 0;
}
.interview_ttl{
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	margin: 0 0 7px;
	color: #2F5696;
	padding-left: 0;
	font-weight: 500;
}
.interview_ttl::before{display: none;}
.interview_name{
	font-size: 1.7rem;
	letter-spacing: 1.7px;
	line-height: 2.5rem;
	color: #2F5696;
	margin: 0 0 20px;
	font-weight: 500;
}
.interview_txt{
	margin: 0;
}
.interview_img{order: -1;}
/* フォトギャラリー */
.photo_gallery{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
	padding-left: 0;
}
.photo_item{
	list-style: none;
	margin-bottom: 0 !important;
	transition: background 0.3s;
	display: block;
	overflow: hidden;
}
.photo_link{
	text-decoration: none;
	position: relative;
	display: inline-block;
}
.photo_link::after{
	position: absolute;
	display: inline-block;
	content: '';
	width: 100%;
	height: 100%;
	background: transparent;
	top: 0;
	left: 0;
	transition: 0.3s;
	z-index: 10;
	pointer-events: none;
}
.photo_link:hover:after{
	background: rgba(47, 86, 150, 0.7);
}
.photo_p{
	position: absolute;
	font-weight: normal !important;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	color: #fff;
	font-weight: 700;
	text-align: center;
	padding-right: 20px;
	background: url(/img/common/popup_white.svg)no-repeat center right / 14px;
	opacity: 0;
	transition: opacity 0.3s;
	z-index: 20;
	pointer-events: none;
}
.photo_p:active{display: none;}
.photo_link:hover .photo_p{opacity: 1;}
.mfp-content { text-align: center; }
.mfp-figure .mfp-bottom-bar {
	background: transparent;
	box-shadow: none;
	top: auto;
	bottom: 0;
	margin-top: 0;
}
.mfp-title {
	position: absolute;
	display: inline-block;
	left: 0;
	margin-top: 10px;
	padding-right: 0;
}

/* 選考の流れ */
.process_list{
	padding-left: 0;
	text-align: center;
	margin-top: 50px;
}
.process_item{
	list-style: none;
	position: relative;
	padding: 30px 0 20px;
	margin-top: 30px;
}
.process_item:first-child{
	margin-top: 0;
	padding-top: 0;
}
.process_head{
	font-weight: bold;
	font-size: 2rem;
	background: #EEF7FE;
	padding: 15px 20px;
	margin: 0;
	width: 100%;
	display: block;
}
.process_head::before{display: none;}
.process_txt::after{
	position: absolute;
	content: "";
	width: 35px;
	height: 35px;
	background: #fff;
	border-right: 1px solid #2F5696;
	border-bottom: 1px solid #2F5696;
	transform: rotate(45deg);
	bottom: -18px;
	left: 0;
	right: 0;
	margin: auto;
}
.process_item:last-child .process_txt::after{display: none;}
.process_item .link_btn.engage_btn{margin-top:20px;}
.link_btn.engage_btn::before{background-color: #4869A2;}
.link_btn.engage_btn::after{background-color: #fff;}
.link_btn.engage_btn a{color: #fff;}
.link_btn.engage_btn a::after{background-image: url(/img/common/popup_white.svg);}
.link_btn.engage_btn:hover a{color: #4869A2;}
.link_btn.engage_btn:hover a::after{background-image: url(/img/common/popup_blue.svg);}

@media screen and (max-width:1023px){
/* トップ */
#content_wrap.recruit{padding-top: 60px;}
.recruit_copy {
	font-size: 2.8rem;
	letter-spacing: 2.8px;
	line-height: 4rem;
	margin-top: 15px;
}

/* コンテンツ */
.content_area{margin-top: 60px;}

/* スカイフォトサービスとは */
.recruit_catch {
	font-size: 2.3rem;
	letter-spacing: 2.3px;
}
/* 仕事内容（スライド） */
.slide_box{padding: 0;}

/* 教育制度・福利厚生 */
.welfare_ttl{line-height: 3rem;}

}

@media screen and (max-width:850px){
.recruit_copy br{display: none;}
}

@media screen and (min-width:768px){
/* 教育制度・福利厚生 */
.welfare_item:not(:nth-child(4n))::after{
	display: inline-block;
	position: absolute;
	content: '';
	width: 1px;
	height: calc(100% - 40px);
	background: #2F5696;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}
.welfare_item:nth-child(-n+4)::before{
	display: inline-block;
	position: absolute;
	content: '';
	height: 1px;
	width:calc(100% - 40px);
	background: #2F5696;
	bottom: 0;
	right: 0;
	left:0;
	margin: auto;
}
.welfare_item:nth-last-child(-n+4):not(:last-child)::before{
	display: inline-block;
	position: absolute;
	content: '';
	height: 7px;
	width:7px;
	background: #2F5696;
	top: -4px;
	right: -3px;
	margin: auto;
}

}
@media screen and (max-width:767px){

/* トップ */
.recruit_wrap{
	display: flex;
	flex-direction: column-reverse;
}
.recruit_txt{
	width: 100%;
	height: 200px;
}
.recruit_copy br{display: none;}
.recruit_img{width: 100%;}

/* 共通 */
.recruit_catch{
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	margin: 36px 0 10px;
}
p{
	line-height: 1.9rem;
	letter-spacing: 1.3px;
}

.engage_box{margin: 40px 0;padding-top: 17px !important;}
.link_btn.engage_btn{margin-top: 20px !important;}
.bg_blue .link_btn.engage_btn{max-width: 250px;}

/* 求める人物像 */
.portrait_h3{
	font-size:1.8rem;
	letter-spacing: 1.8px;
	line-height: 2.6rem;
	padding-left: 36px;
	margin-bottom: 10px;
	background-position: top left;
}
.portrait_p{
	font-size: 1.3rem;
	letter-spacing: 1.3px;
	line-height: 1.9rem;
}
.portrait_p:not(:last-child){margin-bottom: 40px;}

/* 仕事内容 */
.slide_area{
	margin: 40px calc(50% - 50vw) 40px;
	width: 100vw;
	padding: 43px 0;
}
.slide_h3{
	font-size: 1.9rem;
	letter-spacing: 1.9px;
	line-height: 2.7rem;
	margin-bottom: 15px;
}
.slide_info{
	text-align: center;
	margin: 0 0 30px;
	margin: 0 20px 30px;
}
.description_list{margin: 11px 20px;}

/* 仕事内容（スライド） */
.slick-list{margin: 0 20px;}
.slick-arrow{
	width: 38px;
	height: 38px;
}
.slick-prev:before,.slick-next:before{
	width: 10px;
	height: 10px;
}
.slick-prev:before{left: 3px;}
.slick-next:before{right: 3px;}
.slick-dots{bottom: -38px;}
.mfp-close::before,.mfp-close::after{width: 35px;}
.mfp-container{padding: 0 40px;}

/* 教育制度・福利厚生 */
.welfare_item{width: 50%;}
.welfare_item:nth-child(odd):after{
	display: inline-block;
	position: absolute;
	content: '';
	width: 1px;
	height: calc(100% - 40px);
	background: #2F5696;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}
.welfare_item:not(:nth-last-child(-n+2))::before{
	display: inline-block;
	position: absolute;
	content: '';
	height: 1px;
	width:calc(100% - 40px);
	background: #2F5696;
	bottom: 0;
	right: 0;
	left:0;
	margin: auto;
}
.welfare_item:nth-child(even):not(:nth-child(2))::after{
	display: inline-block;
	position: absolute;
	content: '';
	height: 7px;
	width:7px;
	background: #2F5696;
	top: -4px;
	left: -3px;
	margin: auto;
}
.welfare_txt{text-align: center;}
.welfare_ttl{
	margin: 9px 0 0;
	padding-left: 0;
	color: #2F5696;
}
.welfare_ttl::before{display: none;}
.welfare_info{margin: 10px 0 0;}


/* 社員の声 */
.interview_item{
	grid-template-columns: 1fr;
	gap: 20px;
	padding: 20px;
	margin-bottom: 0 !important;
}
.interview_img{
	display: block;
	margin: auto;
}
.interview_ttl{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
}
.interview_name{
	font-size: 1.3rem;
	letter-spacing: 1.3px;
	line-height: 2.1rem;
}
.interview_txt{line-height: 2.4rem;}

/* フォトギャラリー */
.photo_gallery{
	gap: 20px;
}
.photo_p{
	width: 100px;
}

/* 選考の流れ */
.process_list{margin-top: 20px;}
.process_item{
	list-style: none;
	position: relative;
	padding: 30px 0 20px;
	margin-top: 20px;
}
.process_item:first-child{
	margin-top: 0;
	padding-top: 0;
}
.process_head{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
	padding: 15px;
}
}

@media screen and (min-width:649px){
/* 仕事内容 */
.description_item:nth-child(odd){padding-right: 20px;}
.description_item:nth-child(even){padding-left: 20px;}
.description_item:nth-child(odd):not(:last-child)::before{
	position: absolute;
	content: '';
	display: inline-block;
	height: 1px;
	width: calc(100% - 20px);
	background: #2F5696;
	left: 0;
	bottom: 0;
}
.description_item:nth-child(even):not(:last-child)::before{
	position: absolute;
	content: '';
	display: inline-block;
	height: 1px;
	width: calc(100% - 20px);
	background: #2F5696;
	right: 0;
	bottom: 0;
}
.description_item:last-child::before,.description_item:nth-last-child(2):nth-child(odd)::before{
	display: none;
}
.description_item:nth-child(odd)::after{
	position: absolute;
	content: '';
	display: inline-block;
	width: 1px;
	height: calc(100% - 40px);
	background: #2F5696;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.description_item:nth-child(even):not(:last-child)::after{
	position: absolute;
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	background: #2F5696;
	left: -4px;;
	bottom: -3px;
}
}

@media screen and (max-width:650px){
/* 仕事内容 */
.description_list{padding: 0px 15px;}
.description_item{
	width: 100%;
	padding: 20px 0 25px;
	border-bottom: 1px solid #2F5696;
}
.description_item:last-child{border-bottom: none;}
.description_ttl{
	font-size: 1.5rem;
	letter-spacing: 1.5px;
	line-height: 2.1rem;
	margin-bottom:10px;
}
.decoding_txt{
	letter-spacing: 1.3px;
	line-height: 1.9rem;
}

/* フォトギャラリー */
.photo_gallery{
	grid-template-columns: 1fr 1fr;
}

/* 教育制度・福利厚生 */
.welfare_item{
	width: 100%;
	border-bottom: 1px solid #2F5696;
	padding: 20px 0 25px;
}
.welfare_item:nth-child(odd):after,
.welfare_item:not(:nth-last-child(-n+2))::before,
.welfare_item:nth-child(even):not(:first-child)::after{display: none;}
}