
@charset "UTF-8";
@import 'subpage.css';


/*--------------------------------------------
 recruit
--------------------------------------------*/
.page_recruit .catename{
	height: 350px;
	}
	@media screen and (max-width: 767px){
		.page_recruit .catename{
			height: 200px;
		}
	}

#message{
	max-width: 900px;
}
#personality{
	position: relative;
	background: url(../img/recruit_pr_bg.jpg) no-repeat center #f3f8fb;
	background-size: cover;
}
#personality::after{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	display: block;
	opacity: 0.6;
	background: #003349;
}
#personality .midashi{
	position: relative;
	z-index: 1;
}
#personality .midashi .midashi-tit{
	color: #fff;
}

/* 求める人物像
--------------------------*/
.pr_wrap{
	position: relative;
	z-index: 1;
}
.pr_wrap dl{
	background: #fff;
	box-shadow: 0 8px 25px rgb(0 0 0 / 10%);
}
.pr_wrap dt{
	text-align: center;
	font-weight: 600;
	padding: 2rem 3rem;
	background: #eee;
}
.pr_wrap dd{
	padding: 2rem 3rem;
	margin: 0;
}
@media screen and (min-width: 768px){
	.pr_wrap{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.pr_wrap dl{
		width: 48%;
	}
}
@media screen and (max-width: 767px){
	.pr_wrap dt{
		font-size: 1.5rem;
		padding: 1.2rem 2rem;
	}
	.pr_wrap dd{
		font-size: 1.3rem;
		padding: 1.5rem 2rem;
	}
}

/* 先輩社員の声
--------------------------*/
#voice{
	position: relative;
	padding-bottom: 0;
}
#voice::after{
	position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    content: "";
    width: 100%;
    height: 65%;
    z-index: -1;
    background: #f3f8fb;
}
.voice_box {
	position: relative;
    max-width: 900px;
    margin: auto;
	border-radius: 2rem;
	border: 1px solid #ddd;
    padding: 3rem 4rem;
	background: #fff;
}
.voice_box+.voice_box{
	margin-top: 5rem;
}
.voice_box .txt {
	font-size: 1.5rem;
}
.voice_box .txt .title{
	margin: 0;
	font-weight: 600;
	font-size: 2rem;
}
.voice_box .txt .tit{
	display: block;
	font-weight: 600;
	margin: 0;
}
.voice_box .txt .tit+ul{
	line-height: 1.5;
	margin-top: 1rem;
}
.voice_box .name{
	color: #e40001;
	font-weight: 600;
	font-size: 1.3em;
	margin: 0 0 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #eee;
}
.voice_box .text{
	padding: 2.5rem;
    background: #f3f3f3;
}
@media screen and (max-width: 767px){
	.voice_box{
		padding: 2rem 2.4rem;
	}
	.voice_box .txt{
		margin-top: 0;
    	font-size: 1.3rem;
	}
	.voice_box .txt .title{
		font-size: 1.3em;
		line-height: 1.6;
	}
	.voice_box .txt .name{
		font-size: 1.6rem;
	}
	.voice_box .icon{
		display: none;
		width: 20%;
		max-width: 50px;
		margin: auto;
	}
}

/* 会社を知る
--------------------------*/
#about{
	background: #f3f8fb;
}
.about_list{
	list-style: none;
	padding: 0;
	width: 100%;
}
.about_list li{
	text-align: center;
	background: #fff;
    box-shadow: 0 8px 25px rgb(0 0 0 / 8%);
    transition: .5s;
}
.about_list li a{
	display: block;
	color: #000;
	font-weight: 600;
	font-size: 2rem;
	text-decoration: none;
	padding: 40px 10px 20px;
}
@media (hover: hover) {
	.about_list li:hover{
		box-shadow: 0 1px 1px rgb(0 0 0 / 8%);
	}
}
@media screen and (min-width: 768px){
	.about_list{
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.about_list li{
		width: 32%;
	}
}
@media screen and (max-width: 767px){
	.about_list li{
		margin-top: 1rem;
	}
	.about_list li a{
		display: flex;
		font-size: 1.2em;
		padding: 2rem 3rem;
	}
	.about_list li .thum{
		width: 30px;
		margin-right: 1.5rem;
	}
	.about_list li p{
		margin: 0;
	}
}

/* 募集中の採用情報
--------------------------*/
.rc_cat{
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rc_cat li{
	margin: 0 1rem 0 0;
}
.rc_cat li a{
	color: #000;
	display: block;
	text-align: center;
	font-weight: 400;
	text-decoration: none;
	border: 1px solid #ddd;
	border-radius: 100px;
}
.rc_list{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
}
.rc_list li{
	margin: 0;
}
.rc_list li a{
	color: #000;
	text-decoration: none;
}
.rc_list li a .thum{
	width: 100%;
	height: 180px;
	overflow: hidden;
	}
	.rc_list li a .thum img{
		transition: transform .6s ease;
	}
	@media (hover: hover) {
		.rc_cat li a:hover{
			background: #eee;
		}
		rc_list li a:hover .thum img{
			transform: scale(1.1);
		}
	}
.rc_list li a img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.rc_list li a .tag{
	color: #e40001;
	font-weight: 400;
	font-size: .9em;
	margin: 1rem 0 0;
}
.rc_list li a .tag::before{
	content: "#";
}
.rc_list li a .title{
	margin: 0;
	font-weight: 600;
}
@media screen and (min-width: 768px){
	.rc_list li{
		width: 23%;
		margin-right: 2.66%;
		margin-top: 3rem;
	}
	.rc_list li:nth-of-type(4n){
		margin-right: 0;
	}
	.rc_cat li a{
		padding: .8rem 4rem;
	}
	.rc_list li a .thum{
		height: 180px;
	}
}
@media screen and (max-width: 767px){
	.rc_cat{
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.rc_cat li{
		width: 49%;
		margin: 0;
		margin-bottom: 1rem;
	}
	.rc_cat li a{
		padding: .8rem 1rem;
	}

	.rc_list{
		justify-content: space-between;
	}
	.rc_list li{
		width: 48.5%;
		margin-top: 2.5rem;
	}
	.rc_list li a .thum{
		height: 120px;
	}
	.rc_list li a .tag{
		margin: .5rem 0 0;
	}
	.rc_list li a .title{
		line-height: 1.6;
	}
}

/* 採用の流れ
--------------------------*/
#flow{
	background: #f3f8fb;
}
.flow_box {
    display: flex;
    justify-content: space-between;
}
.flow_box dl {
    position: relative;
    width: 19%;
    background: #fff;
    box-shadow: 0 8px 25px rgb(0 0 0 / 8%);
}
.flow_box dt {
    color: #fff;
    font-weight: 700;
    text-align: center;
    background: #888;
    padding: 1.5rem 1rem;
}
.flow_box dd {
    margin: 0;
    padding: 1.5rem;
    line-height: 1.6;
}
.flow_box dl::after {
    position: absolute;
    right: -1rem;
    top: 6%;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 15px;
    border-color: transparent transparent transparent #888;
}
.flow_box dl:last-child dt {
    background: #003349;
}
.flow_box dl:last-child::after{
	display: none;
}
@media screen and (max-width: 767px){
	.flow_box {
    	display: block;
	}
	.flow_box dl{
		width: 100%;
	}
	.page_recruit .flow_box dl::after {
	    bottom: -15px;
	    top: auto;
	    left: 0;
	    right: 0;
	    margin: auto;
	    border-width: 10px 0 10px 10px;
	    transform: rotate(90deg);
	    border-color: transparent transparent transparent #bbb;
	}
	.flow_box dt {
    	padding: .6rem 1rem;
	}
	.flow_box dd{
		font-size: 1.3rem;
    	padding: .2rem 1.5rem;
	}
}

.btn_entry{
	padding-top: 8rem;
}
.btn_entry a{
	color: #fff;
}
.page_recruit .btn_entry{
	padding-bottom: 8rem;
}
.page_recruit .btn_entry a{
	font-size: 2rem;
	font-weight: 600;
	width: auto;
	max-width: 800px;
	height: 80px;
}
@media screen and (max-width: 767px){
	.btn_entry{
		padding-top: 5rem;
	}	
	.page_recruit .btn_entry{
		width: 85%;
		margin: auto;
		padding-bottom: 5rem;
	}
	.page_recruit .btn_entry a{
		font-size: 1.5rem;
		height: 60px;
	}

}

/*--------------------------------------------
 アーカイブ
--------------------------------------------*/
.no_messages{
	margin-top: 4rem ;
	padding: 4rem;
	border: 6px solid #eee;
	text-align: center;
}

/*--------------------------------------------
 詳細
--------------------------------------------*/
@media screen and (max-width: 767px){
	.guideline-table th,
	.guideline-table td{
		display: block;
		width: 100%;
		border: none;
		padding: 0;
		background: none;
	}
	.guideline-table th{
		padding: 2rem 0 0;
	}
	.guideline-table tr:first-child th{
		padding-top: 0;
	}
	.guideline-table td{
		padding: .5rem 0 2rem 1rem;
		border-bottom: 1px solid #ddd;
	}
}

/*--------------------------------------------
 採用情報 recruit 下層
--------------------------------------------*/
.recruit_nav{
	padding: 7rem 0;
	background: #f3f8fb;
	border-bottom: 1px solid #ddd;
}
.recruit_nav ul{
	margin: auto;
	padding: 0;
	list-style: none;
	display: flex;
}
.recruit_nav li{
	margin: 0 2% 0 0;
	width: 24%;
	display: flex;
	align-items: center;
	background: #fff;
	box-shadow: 0 8px 25px rgb(0 0 0 / 9%);
    transition: .5s;
}
.recruit_nav li:nth-child(4n){
	margin-right: 0;
}
.recruit_nav li a{
	display: block;
	color: #000;
	width: 100%;
	padding: 3rem 2rem;
	font-weight: 600;
	text-decoration: none;
}
.recruit_nav li a::before {
    color: #e40001;
    content: '\f138';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    margin-right: 1rem;
}
@media screen and (max-width: 1100px){
	.recruit_nav ul{
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.recruit_nav li{
		margin: 0;
		width: 49%;
	}
	.recruit_nav li:nth-child(n+3){
		margin-top: 1rem;
	}
}
@media screen and (max-width: 767px){
	.recruit_nav{
		padding: 5rem 0;
	}
	.recruit_nav ul{
		display: block;
	}
	.recruit_nav li{
		width: 100%;
	}
	.recruit_nav li:nth-child(n+2){
		margin-top: 1rem;
	}
	.recruit_nav li a{
		padding: 2rem 2rem;
	}
}
@media (hover: hover) {
	.recruit_nav li:hover{
		box-shadow: 0 1px 1px rgb(0 0 0 / 9%);
	}
}
