@charset "utf-8";

.positions-area{
	
}

/* -----------------------------------------------------------
    切り替えタブ
-------------------------------------------------------------- */

/*.tab-list{
	display: flex;
	width: 100%;
}
.tab-list li{
	width: calc(100% / 3);
}*/

.tab-label {
	background:var(--bg-beige);
	font-weight: bold;
	/* border: solid 2px #13c3ac; */
	position: relative;
	z-index: 1;
	cursor: pointer;
	float: left;
	font-size: 2rem;
	line-height: 1.4;
	text-align: center;
	padding: 20px 0;
	width: calc(100% / 3);
	height: 90px;
	border-radius: 20px 20px 0 0;
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.tab-label:not(:last-of-type):before{
	position: absolute;
	content: "";
	width: 2px;
	height: 100%;
	background-color: #fff;
	right: 0;
	top: 0px;
}
.tab-label span.sub{
	font-size: 1.6rem;
	display: block;
	width: 100%;
}
.tab-label span.sub2{
}

.tab-label:hover {
	/*opacity: 0.75;*/
}

.tab-content {
	width : 100%;
	display: none;
	overflow: hidden;
}

input[name="tab-switch"] {
	display: none;
}

input:checked + .tab-label {
    color: #fff;
	background-color: var(--recruit-main);
}
input:checked + .tab-label.shin-sougou {
	background-color: #74A3E1;
}
/*input:checked + .tab-label::after {
	content: '';
	width:calc(100% * 3);
	height: 2px;
	display: block;
	position: absolute;
	top: 100%;
	transition: all 0.3s ease 0s;
	background-color: var(--recruit-main);
}
input:checked + .tab-label.shin-sougou::after {
	left:0;
	background-color: var(--main);
}
input:checked + .tab-label.chuto-sougou::after {
	left:-100%;
}
input:checked + .tab-label.chuto-seisan::after {
	left:-200%;
}*/

#tab01:checked ~ #tab01-content,
#tab02:checked ~ #tab02-content,
#tab03:checked ~ #tab03-content{
	display: block;
}

@media screen and (max-width: 768px){
	.positions-area{
		margin: 40px 0 0;
	}
	/*.tab-label {
		width: calc(100% - 30px);
		margin: 0 auto;
		float: none;
		flex-direction: column;
		border-radius: 0;
		border-bottom: 1px solid #ddd;
	}*/
	
	.tab-label {
		font-size: 1.4rem;
		line-height: 1.4;
		padding: 5px 2px;
		height: 72px;
		border-radius: 0;
		flex-direction: column;
	}

	
	.tab-label.shin-sougou {
	}
	.tab-label span.sub{
		font-size: 1.2rem;
		margin: 0 0 3px;
	}
	.tab-label span.sub2{
		display: block;
		font-size: 1.2rem;
	}
	input:checked + .tab-label {
		border-bottom: none;
	}
}


/* -----------------------------------------------------------
    tab-area  
-------------------------------------------------------------- */
.tab-content{
	width: 100%;
	padding: 20px;
	background-color: var(--recruit-main);
}
.tab-content.shin-sougou{
	background-color: #74A3E1;
}

@media screen and (max-width: 768px){
	.tab-content{
		padding: 15px;
	}
}


/* -----------------------------------
    募集要項
----------------------------------- */
.tab-content .description-area{
	background-color: #fff;
	padding: 50px;
}
.tab-content .ttl-type02-m span {
	display: none;
}
.tab-content .description-area .ttl-type02-m {
	display: none;
}

.tab-content.shin-sougou .titlebox.recruit .title-en,
.tab-content.shin-sougou .titlebox.recruit .title-jp{
	color: #74A3E1;
}

/*.tab-content .section-ttl{
	font-size: 3.0rem;
	text-align: center;
	line-height: 1.2;
	margin: 0 0 20px;
    font-weight: 700;
}
.tab-content .section-ttl span.txt01 {
	font-size: 2.0rem;
	margin: 0 0 10px;
}
.tab-content .section-ttl span.txt02 {
	display: inline-block;
	padding: 0 0 0 10px;
}*/

.tab-content .table tr th{
	width: 200px;
	vertical-align: top;
}
.tab-content .table tr td ul li p{
	position: relative;
	padding: 0 0 0 18px;
}
.tab-content .table tr td ul li p::before{
	content: "・";
	display: block;
	font-family: var(--font-jp);
	font-weight: 600;
	line-height: 1.8;
	position: absolute;
	top: 0;
	left: 0;
}
.tab-content .table tr td .tel span{
	margin: 0 0 0 15px;
}

@media screen and (max-width: 768px){
	.tab-content .description-area{
		padding: 15px;
	}
	.tab-content .table{
		margin: 0;
	}
	.tab-content .table tr th{
		width: 100%;
		display: block;
		padding: 10px 0 0 0;
	}
	.tab-content .table tr td{
		width: 100%;
		display: block;
		padding: 10px 0 10px 0;
	}
	.tab-content .table tr td ul li p{
		padding: 0 0 0 15px;
	}
	.tab-content .table tr td .tel span{
		margin: 0 0 0 15px;
	}

}

/* -----------------------------------
    採用の流れ
----------------------------------- */
.flow-area{
	background-color: #fff;
	padding: 10px 50px 50px 50px;
}
.flow-list{
	display: flex;
	gap: 0 20px;
	padding: 0 0 40px;
}
.flow-list li{
	width: calc((100% - 60px)/4);
	border-radius: 30px;
	padding: 25px 20px 20px;
	border: 1px solid #ddd;
	position: relative;
}
/*生産職（製造オペレーター）*/
.flow-list.style02 li{
	width: calc((100% - 60px)/3);
}
.flow-list li::after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 17px solid transparent;
	border-bottom: 17px solid transparent;
	border-left: 25px solid var(--recruit-main);
	border-right: 0;
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: -20px;
	z-index: 1;
}
.flow-list li:last-child::after{
	display: none;
}
.flow-list .num{
	font-size: 1.6rem;
	font-weight: 600;
	color: #fff;
	display: inline-block;
	padding: 4px 15px 7px;
	border-radius: 15px;
	background-color: var(--recruit-main);
	line-height: 1;
	position: absolute;
	top: -15px;
	left: 20px;
}
.flow-list .img{
	height: 90px;
	text-align: center;
}
.flow-list .step-ttl{
	text-align: center;
	color: var(--recruit-main);
	font-weight: 600;
	font-size: 2.2rem;
	margin: 20px 0 0;
}
.flow-list .txt-wrap .txt{
	font-size: 1.4rem;
	margin: 15px 0 0;
}

.flow-list .txt-wrap .entry-btn a{
	display: block;
	width: 100%;
	border-radius: 50px;
	margin: 20px 0 0;
	padding: 5px 0 8px;
	/*背景の色と形状*/
	/*background: linear-gradient(270deg, #F8A13D 0%, #F87C3D 50%, #F8A13D 100%);*/
	background: linear-gradient(270deg, #F8A13D 0%, #ff4b00 50%, #ff4b00 100%);
	background-position: 1% 50%;
	background-size: 200% auto;
	/*アニメーションの指定*/
	transition: all 0.3s ease-out;
}
.flow-list .txt-wrap .entry-btn a:hover{
	background-position: 99% 50%;
	opacity: 1;
}
.flow-list .txt-wrap .entry-btn a .txt{
    font-size: 1.8rem;
    font-weight: 700;
	text-align: center;
	margin: 0;
	color: #fff;
}

/*【新卒】総合職*/
.tab-content.shin-sougou .flow-list .num{
	background: #74A3E1;
}
.tab-content.shin-sougou .flow-list .step-ttl{
	color: #74A3E1;
}
.tab-content.shin-sougou .flow-list li::after{
	border-left-color: #74A3E1;
}

/*【中途】生産職（製造オペレーター）*/
.tab-content.chuto-seisan {
	background-color: #0DBEB3;
}
input:checked + .tab-label.chuto-seisan {
	background-color: #0DBEB3;
}
.tab-content.chuto-seisan .titlebox.recruit .title-en,
.tab-content.chuto-seisan .titlebox.recruit .title-jp {
  color: #0DBEB3;
}
.tab-content.chuto-seisan .flow-list .num{
	background: #0DBEB3;
}
.tab-content.chuto-seisan .flow-list .step-ttl{
	color: #0DBEB3;
}
.tab-content.chuto-seisan .flow-list li::after{
	border-left-color: #0DBEB3;
}

@media screen and (max-width: 768px){
	.flow-area{
		padding: 15px;
	}
	.flow-list{
		flex-direction: column;
		gap: 25px 0;
		padding: 15px 0 30px;
	}
	.flow-list li{
		width: 100%;
		border-radius: 30px;
		padding: 25px 20px 20px;
	}
	/*生産職（製造オペレーター）*/
	.flow-list.style02 li{
		width: 100%;
	}
	.flow-list li::after{
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 25px solid var(--recruit-main);
		border-bottom: 0;
		border-left: 17px solid transparent;
		border-right:17px solid transparent;
		position: absolute;
		top: auto;
		bottom: -25px;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		z-index: 1;
	}
	.flow-list li:last-child::after{
		display: none;
	}
	
	/*【新卒】総合職*/
	.tab-content.shin-sougou .flow-list li::after{
		border-left: 17px solid transparent;
		border-top: 25px solid #74A3E1;
	}
	/*【中途】生産職（製造オペレーター）*/
	.tab-content.chuto-seisan .flow-list li::after{
		border-left: 17px solid transparent;
		border-top: 25px solid #0DBEB3;
	}

	
	.flow-list .num{
		font-size: 1.6rem;
		font-weight: 600;
		color: #fff;
		display: inline-block;
		padding: 4px 15px 7px;
		border-radius: 15px;
		background-color: var(--recruit-main);
		line-height: 1;
		position: absolute;
		top: -15px;
		left: 20px;
	}
	.flow-list li .flex{
		display: flex;
		align-items: center;
	}
	.flow-list .img{
		height: 50px;
		text-align: left;
		flex-shrink: 0;
	}
	.flow-list .img img{
		height: 100%;
		width: auto;
	}
	.flow-list .step-ttl{
		text-align: center;
		color: var(--recruit-main);
		font-weight: 600;
		font-size: 2.2rem;
		margin: 0 0 0 20px;
	}
	.flow-list .txt-wrap .txt{
		font-size: 1.4rem;
		margin: 15px 0 0;
	}

	.flow-list .txt-wrap .entry-btn a{
		display: block;
		width: 100%;
		margin: 20px 0 0;
		padding: 5px 0 8px;
		/*背景の色と形状*/
		background-position: 1% 50%;
		background-size: 200% auto;
		/*アニメーションの指定*/
		transition: all 0.3s ease-out;
	}
	.flow-list .txt-wrap .entry-btn a:hover{
		background-position: 99% 50%;
		opacity: 1;
	}
	.flow-list .txt-wrap .entry-btn a .txt{
		font-size: 1.8rem;
		font-weight: 700;
		text-align: center;
		margin: 0;
		color: #fff;
	}
}





