/* ------------------------------------------------
                    共通
--------------------------------------------------- */
/*---------- page title ----------*/
.sec-page-ttl {
	background: url("../../img/recruit/bg_page_ttl_recruit.jpg") center center no-repeat;
	background-size: cover;
}
@media (max-width: 768px) {
}



/* ------------------------------------------------
                   採用情報
--------------------------------------------------- */
/*---------- 社長メッセージ ----------*/
.sec-message {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.message-wrap {
	width: 100%;
	align-items: center;
	gap: 20px;
}
.message-txt-wrap {
	width: calc(100% - 20px - 350px - 100px);
	display: flex;
	flex-direction: column;
	gap: 50px;
}
.message-txt {
	font-size: 1.8rem;
	line-height: 2;
}

.message-aoki {
	width: 350px;
	margin: 0 50px;
}

.message-signature {
	width: 100%;
	margin-top: 20px;
	justify-content: flex-end;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 700;
}
.message-name {
	width: 208px;
	margin-left: 45px;
}


@media (max-width: 1100px) {
	.message-txt-wrap {
		width: 100%;
	}
	.message-txt {
		font-size: 1.8rem;
		line-height: 2;
	}

	.message-aoki {
		margin: 0 auto;
	}
	.message-aoki > img {
		width: 350px;
		margin: 30px auto 0;
	}

	.message-signature {
		width: 100%;
		margin-top: 30px;
	}
	.message-name {
		width: 208px;
	}

}


@media (max-width: 768px) {
	.sec-message {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.message-wrap {
		gap: 12vw;
	}
	.message-txt-wrap {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 8vw;
	}
	.message-txt {
		font-size: 3.4vw;
	}

	.message-aoki {
		width: 100%;
		margin: 0 auto;
	}
	.message-aoki > img {
		width: 60%;
		margin: 0 auto ;
	}

	.message-signature {
		width: 100%;
		margin-top: 4vw;
		justify-content: center;
		font-size: 3.4vw;
	}
	.message-name {
		width: 36vw;
		margin: 0 0 0 6vw;
	}

}




/*---------- サイフロについて ----------*/
.sec-about {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.about-box-wrap {
	width: 100%;
	gap: 40px;
}
.about-box {
	width: calc((100% - 40px) / 2);
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}
.about-box-ttl {
	padding: 10px 40px;
	display: inline-block;
	background: var(--color-blue);
	border-radius: 0 10px 10px 0;
	color: var(--color-white);
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.4;
	position: absolute;
	top: 30px;
	left: 0;
}


@media (max-width: 1120px) {
	.about-box-ttl {
		padding: 10px 3vw;
		font-size: 2.2vw;
	}

}


@media (max-width: 768px) {
	.sec-about {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.about-box-wrap {
		width: 100%;
		gap: 8vw;
	}
	.about-box {
		width: 100%;
		border-radius: 4vw;
		position: relative;
		overflow: hidden;
	}
	.about-box-ttl {
		padding: 2vw 8vw;
		display: inline-block;
		background: var(--color-blue);
		border-radius: 0 2vw 2vw 0;
		font-size: 4.2vw;
		top: 6vw;
		left: 0;
	}

}




/*---------- サイフロで働くメリット ----------*/
.sec-merit {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.merit-box-wrap {
	width: 100%;
	padding-top: 50px;
	gap: 80px 40px;
}
.merit-box {
	width: calc((100% - 40px) / 2);
	padding: 60px 30px 40px;
	background: var(--color-white);
	border: 10px solid var(--color-light-green);
	border-radius: 20px;
	position: relative;
}
.merit-box-num {
	width: 100px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-light-yellowgreen);
	border-radius: 50%;
	color: var(--color-white);
	font-size: 5.3rem;
	line-height: 1;
	position: absolute;
	top: -50px;
	left: calc(50% - 50px);
}
.merit-box-ttl-wrap {
	width: 100%;
	margin-bottom: 20px;
	align-items: center;
}
.merit-box-ttl-wrap img {
	width: 60px;
	margin-right: 20px;
}
.merit-box-ttl {
	width: calc(100% - 80px);
	color: var(--color-dark-green);
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
}
.merit-box-txt {
	font-size: 1.8rem;
}



@media (max-width: 1310px) {
	.merit-box-wrap {
		width: 100%;
		gap: 60px 3vw;
	}
	.merit-box {
		padding: 60px 2vw 40px;
	}
	.merit-box-ttl-wrap img {
		width: 4.8vw;
		margin-right: 0.8vw;
	}
	.merit-box-ttl {
		width: calc(100% - 5.6vw);
		font-size: 1.78vw;
	}
	.merit-box-txt {
		font-size: 1.4vw;
	}

}

@media (max-width: 768px) {
	.sec-merit {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.merit-box-wrap {
		width: 100%;
		padding-top: 4vw;
		gap: 12vw;
	}
	.merit-box {
		width: 100%;
		padding: 10vw 4vw 6vw;
		background: var(--color-white);
		border-radius: 4vw;
		position: relative;
	}
	.merit-box-num {
		width: 16vw;
		height: 16vw;
		font-size: 7.8vw;
		top: -8vw;
		left: calc(50% - 8vw);
	}
	.merit-box-ttl-wrap {
		width: 100%;
		margin-bottom: 4vw;
	}
	.merit-box-ttl-wrap img {
		width: 10vw;
		margin-right: 2vw;
	}
	.merit-box-ttl {
		width: calc(100% - 12vw);
		font-size: 3.66vw;
	}
	.merit-box-txt {
		font-size: 3.0vw;
	}

}




/*---------- 選考情報 ----------*/
.sec-recruitment {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.recruitment-ttl {
	width: 100%;
	margin-bottom: 30px;
	padding-bottom: 15px;
	align-items: center;
	border-bottom: 1px solid var(--color-dark-green);
	color: var(--color-dark-green);
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1;
}
.recruitment-ttl-num {
	margin-right: 30px;
	font-size: 5.2rem;
	font-weight: 500;
	line-height: 1;
}

.recruitment-box {
	width: 100%;
	padding: 40px;
	background: var(--color-white);
	border-radius: 20px;
}
.recruitment-box + .recruitment-box {
	margin-top: 50px;
}
.recruitment-box + .recruitment-ttl {
	margin-top: 100px;
}


.recruitment-box.is-accordion {
	width: 100%;
	padding: 30px;
}
.is-accordion + .is-accordion {
	margin-top: 30px;
}


/* 募集要項 */
.recruitment-box-ttl {
	width: 100%;
	padding: 20px;
	background: var(--color-light-gray);
	border-radius: 10px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	position: relative;
}
.recruitment-box-ttl .fs-l {
	font-size: 2.6rem;
}

.recruitment-box-ttl::before {
	content: '';
	width: 2px;
	height: 35px;
	background: var(--color-blue);
	position: absolute;
	top: calc(50% - 17px);
	right: calc(30px + 17px);
	transition: 0.3s ease-in-out;
}
.recruitment-box-ttl.is-open::before {
	opacity: 0;
}
.recruitment-box-ttl::after {
	content: '';
	width: 35px;
	height: 2px;
	background: var(--color-blue);
	border: none;
	position: absolute;
	top: calc(50% - 1px);
	right: 30px;
	transition: 0.3s ease-in-out;
}

.recruitment-box-cont-wrap {
	margin-top: 40px;
}
.accordion-cont {
	display: none;
}

/* table */
.recruitment-info {
	width: 100%;
	border-collapse: collapse;
}
.is-accordion .recruitment-info {
	width: calc(100% - 20px);
	margin: 0 auto;
	border-collapse: collapse;
}
.recruitment-info th {
	width: 180px;
	padding: 20px;
	border-top: 1px solid var(--color-dark-green);
	color: var(--color-dark-green);
	font-weight: 700;
	text-align: left;
	vertical-align: top;
}
.recruitment-info td {
	width: calc(100% - 180px);
	padding: 20px;
	border-top: 1px solid var(--color-line-gray);
}
.recruitment-info tr:last-child th {
	border-bottom: 1px solid var(--color-dark-green);
}
.recruitment-info tr:last-child td {
	border-bottom: 1px solid var(--color-line-gray);
}

.recruitment-tag {
	width: 120px;
	margin-bottom: 10px;
	padding: 5px 10px;
	background: var(--color-light-green);
	border-radius: 20px;
	color: var(--color-dark-green);
	line-height: 1;
	text-align: center;
}
.recruitment-info p + .recruitment-tag {
	margin-top: 50px;
}

a.btn-entry {
	width: 200px;
	margin: 20px 0 0 auto;
	padding: 10px;
	display: block;
	background: var(--color-dark-green);
	border-radius: 10px;
	color: var(--color-white);
	font-weight: 700;
	text-align: center;
	line-height: 1;
	position: relative;
}
a.btn-entry::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 6px solid var(--color-white);
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	position: absolute;
	top: calc(50% - 3px);
	right: 15px;
}


/* 選考フロー */
.flow-box-wrap {
	width: 100%;
	margin-bottom: 100px;
	padding-top: 40px;
	align-items: center;
	gap: 1%;
}
.flow-box {
	width: calc((100% - (6% * 2) - (1% * 4)) / 3);
	padding: 54px 5px 30px;
	background: var(--color-white);
	position: relative;
}
.flow-box-num {
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-light-yellowgreen);
	border-radius: 50%;
	color: var(--color-white);
	font-size: 4.5rem;
	line-height: 1;
	position: absolute;
	top: -40px;
	left: calc(50% - 40px);
}
.flow-box-ttl {
	margin-bottom: 20px;
	color: var(--color-dark-green);
	font-size: 2.0rem;
	font-weight: 700;
	text-align: center;
}
.flow-box-img {
	width: 90%;
	max-width: 230px;
	margin: 0 auto 20px;
	border-radius: 20px;
	overflow: hidden;
}
.flow-box-txt {
	text-align: center;
}

.flow-box-arrow {
	width: 6%;
}
.tb {
	display: none;
}


/* form */
.entry-form-wrap {
	width: 100%;
	/* aspect-ratio: 9 / 16;
	padding-top: 2200px; */
	position: relative;
}
.entry-form-wrap iframe {
	height: 1903px;
	margin: 0 auto;
}

@media (max-width: 1100px) {
	.sec-recruitment {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}
	.tb {
		display: block;
	}

}

@media (max-width: 768px) {
	.sec-recruitment {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}
	
	
	.recruitment-ttl {
		width: 100%;
		margin-bottom: 6vw;
		padding-bottom: 3vw;
		font-size: 5.2vw;
	}
	.recruitment-ttl-num {
		margin-right: 4vw;
		font-size: 6.8vw;
	}

	.recruitment-box {
		width: 100%;
		padding: 6vw 4vw;
		border-radius: 4vw;
	}
	.recruitment-box + .recruitment-box {
		margin-top: 10vw;
	}
	.recruitment-box + .recruitment-ttl {
		margin-top: 20vw;
	}
	.recruitment-box.is-accordion {
		width: 100%;
		padding: 4vw;
	}
	.is-accordion + .is-accordion {
		margin-top: 4vw;
	}


	/* 募集要項 */
	.recruitment-box-ttl {
		width: 100%;
		padding: 2vw 4vw;
		border-radius: 2vw;
		font-size: 3.2vw;
	}
	.recruitment-box-ttl .fs-l {
		font-size: 4.6vw;
		display: block;
	}

	.recruitment-box-ttl::before {
		content: '';
		width: 2px;
		height: 5vw;
		background: var(--color-blue);
		position: absolute;
		top: calc(50% - 2.5vw);
		right: calc(3vw + 2.5vw);
		transition: 0.3s ease-in-out;
	}
	.recruitment-box-ttl::after {
		content: '';
		width: 5vw;
		height: 2px;
		background: var(--color-blue);
		border: none;
		position: absolute;
		top: calc(50% - 1px);
		right: 3vw;
		transition: 0.3s ease-in-out;
	}

	.recruitment-box-cont-wrap {
		margin-top: 5vw;
	}

	/* table */
	.recruitment-info {
		width: 100%;
		display: block;
	}
	.is-accordion .recruitment-info {
		width: 100%;
	}
	.recruitment-info tr {
		display: flex;
		flex-wrap: wrap;
	}
	.recruitment-info th {
		width: 100%;
		padding: 3vw;
		display: block;
	}
	.recruitment-info td {
		width: 100%;
		padding: 3vw;
		display: block;
	}
	.recruitment-info tr:last-child th {
		border-bottom: none;
	}
	.recruitment-info tr:last-child td {
		border-bottom: 1px solid var(--color-dark-green);
	}

	.recruitment-tag {
		width: 30vw;
		margin-bottom: 2vw;
		padding: 1.5vw 2vw;
		border-radius: 4vw;
	}
	.recruitment-info p + .recruitment-tag {
		margin-top: 8vw;
	}

	a.btn-entry {
		width: 60%;
		margin: 4vw 0 0 auto;
		padding: 3vw;
		display: block;
		background: var(--color-dark-green);
		border-radius: 10px;
		color: var(--color-white);
		font-weight: 700;
		text-align: center;
		line-height: 1;
		position: relative;
	}
	a.btn-entry::after {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-top: 1.6vw solid var(--color-white);
		border-right: 1vw solid transparent;
		border-left: 1vw solid transparent;
		position: absolute;
		top: calc(50% - 0.5vw);
		right: 3vw;
	}


	/* 選考フロー */
	.flow-box-wrap {
		width: 100%;
		margin-bottom: 10vw;
		padding-top: 4vw;
		align-items: center;
		gap: 1%;
	}
	.flow-box {
		width: calc(100% - 8vw);
		margin: 0 0 0 auto;
		padding: 3vw 5vw 5vw 6vw;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
		position: relative;
	}
	.flow-box-num {
		width: 16vw;
		height: 16vw;
		font-size: 7.8vw;
		top: -4vw;
		left: -8vw;
	}
	.flow-box-ttl {
		width: 100%;
		margin-bottom: 4vw;
		padding-left: 4vw;
		font-size: 4.2vw;
		text-align: left;
	}
	.flow-box-img {
		width: 30vw;
		max-width: initial;
		margin: 0;
		border-radius: 3vw;
	}
	.flow-box-txt {
		width: calc(100% - 33vw);
		font-size: 3.2vw;
		text-align: left;
	}

	.flow-box-arrow {
		width: 12vw;
		margin: 0 auto;
		padding: 0 0 6vw;
		transform: rotate(90deg);
	}
	
	/* form */
	.entry-form-wrap {
		width: calc(100% + 10%);
		position: relative;
		left: -5%;
    }
}


@media (max-width: 600px) {
	.entry-form-wrap iframe {
		height: 1960px;
		margin: 0 auto;
	}
}




/*---------- メディア掲載情報 ----------*/
.sec-message {
	width: 100%;
	padding: 80px 0;
	position: relative;
}


@media (max-width: 768px) {
	.sec-overview {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

}