@charset "utf-8";

/* ==========================================================================
   .page-project-idx
   ========================================================================== */
#recruitIndex {
	margin: 0 0 140px 0;
}

#recruitIndex .sec_body .lyt-inner {
	padding: 0 3%;
}

@media only screen and (max-width: 768px) {
	#recruitIndex {
		margin: 0 0 35px 0;
	}

	#recruitIndex .sec_body .lyt-inner {
		padding: 0 0;
	}
}

/* ------------------------------
 * .flow
 * ------------------------------ */
.recruitIndex {}

.recruitIndex_list {
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: stretch;
}

.recruitIndex_item {
	width: 50%;
}

.recruitIndex_link {
	display: block;
	width: 100%;
	height: 315px;
	position: relative;
	overflow: hidden;
}

.recruitIndex_link_bg {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
}
.recruitIndex_link-01 .recruitIndex_link_bg { background-image: url("/gradu/recruit/img/idx/recruitIndex_img01.jpg"); }
.recruitIndex_link-02 .recruitIndex_link_bg { background-image: url("/gradu/recruit/img/idx/recruitIndex_img02.jpg"); }
.recruitIndex_link-03 .recruitIndex_link_bg { background-image: url("/gradu/recruit/img/idx/recruitIndex_img03.jpg"); }
.recruitIndex_link-04 .recruitIndex_link_bg { background-image: url("/gradu/recruit/img/idx/recruitIndex_img04.jpg"); }

.recruitIndex_link_inner {
	width: 100%;
	height: 100%;
	margin: 0 0 0 auto;
	position: relative;
}

.recruitIndex_link_head {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: calc(437/470 * 100%);
	height: 60px;
	padding: 0 40px 0 20px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}

.recruitIndex_link_title {
	color: #0c24c1;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.4;
	letter-spacing: 0.05em;
}

/* comingsoon */
.recruitIndex_link.is-comingsoon:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .25);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.recruitIndex_link .icon-comingsoon {
	display: block;
	width: 110px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

/* hover */
.recruitIndex_link[href] .recruitIndex_link_bg {
	transform: scale(1);
	transition: all 300ms;
}

.recruitIndex_link[href]:hover .recruitIndex_link_bg {
	transform: scale(1.1);
}

/* .el-icon-blank */
.el-icon-blank {
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

.el-icon-blank * {
	fill: #0c24bd;
}

@media only screen and (max-width: 768px) {
	.el-icon-blank {
		width: 14px;
		height: 14px;
		right: 15px;
	}
}

@media only screen and (max-width: 768px) {
	.recruitIndex_list {
		width: 100vw;
		margin: 0 0 0 calc(24/320 * -100vw);
		display: block;
	}

	.recruitIndex_item {
		width: 100%;
		margin: 0 0 15px 0;
	}

	.recruitIndex_link {
		height: 214px;
	}

	.recruitIndex_link_head {
		width: calc(305/320 * 100%);
		height: 40px;
	}

	.recruitIndex_link_title {
		font-size: 1.5rem;
	}

	/* comingsoon */
	.recruitIndex_link .icon-comingsoon {
		width: 160px;
	}

	/* hover */
	.recruitIndex_link:hover .recruitIndex_link_bg {
		transform: scale(1);
	}
}

/* ==========================================================================
   .page-recruit-flow
   ========================================================================== */
#recruitFlow {
	margin: 0 0 140px 0;
}

#recruitFlow .sec_body .lyt-inner {
	padding: 0 3%;
}

@media only screen and (max-width: 768px) {
	#recruitFlow {
		margin: 0 0 35px 0;
	}

	#recruitFlow .sec_body .lyt-inner {
		padding: 0 0;
	}
}

/* ------------------------------
 * .flow
 * ------------------------------ */
.flow {
	margin: 0 0 100px 0;
}

.flow .lyt-inner {
	padding: 0 3%;
}

.flow_title-01 {
	font-weight: bold;
	color: #0c24c1;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.72;
}

.flow_table-01 {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
	margin: 30px 0 0 0;
}

.flow_table-01 > dt {
	width: 85px;
	margin: 10px 0 0 0
}

.flow_table-01 > dd {
	/*width: calc(100% - 85px);
	border-left: 1px solid #0c24c1; */
	width: 100%;
	margin: 10px 0 0 0;
	padding: 0 20px 0 35px;
}

.flow_date {
	color: #0c24c1;
	font-size: 1.8rem;
}

@media only screen and (max-width: 768px) {
	.flow {
		margin: 0 0 50px 0;
	}

	.flow .lyt-inner {
		padding: 0 0;
	}

	.flow_title-01 {
		font-size: 1.6rem;
	}

	.flow_table-01 {
		width: 100vw;
		display: block;
		margin: 20px 0 0 calc(24/320 * -100vw);
	}

	.flow_table-01 > dt {
		width: calc(300/320 * 100vw);
		margin: 10px auto 0 auto;
		padding: 0 0 10px 0;
		border-bottom: 1px solid #0c24c1;
	}

	.flow_table-01 > dd {
		width: 100%;
		border-left: none;
		margin: 10px 0 0 0;
		padding: 0 0 0 0;
	}

	.flow_date {
		font-size: 1.4rem;
	}
}

.step_container {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.step_column-01 {
	width: calc(480/800 * 100%);
}

.step_column-02 {
	width: calc(295/800 * 100%);
}

.step_column-03 {
	width: 100%;
}

@media only screen and (max-width: 768px) {
	.step_container {
		display: block;
	}

	.step_column-01 {
		width: 100%;
	}

	.step_column-02 {
		width: 100%;
	}

	.step_column-03 {
		width: 100%;
	}
}

.step {
	padding: 12px 0 5px 0;
	position: relative;
}

.step_inner {
	position: relative;
}

.step_title {
	color: #fff;
	font-size: 1.9rem;
	letter-spacing: 0.06em;
	text-align: center;
	width: 100%;
	background: #0c24c1;
	padding: 10px 0;
}

.step_text-01 {
	color: #000000;
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1.55;
	text-align: center;
	padding: 0 25px;
}

.step_title + .step_text-01 {
	margin-top: 25px;
}

.step_text-02 {
	color: #000000;
	font-size: 1.6rem;
	line-height: 1.75;
	padding: 0 25px;
}

.step_text-03 {
	color: #000000;
	font-weight: bold;
	font-size: 1.9rem;
	line-height: 1.85;
	padding: 0 25px;
}

@media only screen and (max-width: 768px) {
	.step {
		width: calc(300/320 * 100vw);
		padding: 5px 0 15px 0;
	}

	.step_title {
		font-size: 1.7rem;
		padding: 7px 0;
	}

	.step_text-01 {
		font-size: 1.6rem;
		line-height: 1.92;
		padding: 0 20px;
	}

	.step_title + .step_text-01 {
		margin-top: 20px;
	}

	.step_text-02 {
		font-size: 1.4rem;
		line-height: 1.75;
		margin: 0 0;
		padding: 0 20px;
	}

	.step_text-03 {
		font-size: 1.6rem;
		line-height: 1.92;
		padding: 0 20px;
	}
}

.btn-step {
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 20px 30px;
	background: #5f97d8;
	position: relative;
}

.btn-step:after {
	content: '';
	display: block;
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%) rotate(45deg);
}

.btn-step .text-mypage {
	margin: 0 3px 3px 3px;
}

.btn-step .text-mypage img {
	height: 14px;
	width: auto;
}

@media only screen and (max-width: 768px) {
	.btn-step {
		font-size: 1.3rem;
		padding: 12px 30px;
	}

	.btn-step:after {
		width: 5px;
		height: 5px;
		right: 15px;
		transform: translateY(-50%) rotate(45deg);
	}

	.btn-step .text-mypage {
		margin: 0 3px 1px 3px;
	}

	.btn-step .text-mypage img {
		height: 11px;
	}
}

/* step-a */
.step-a {
	width: 100%;
	height: calc(100% - 50px);
	background: rgba(244, 244, 244, 1);
	margin: 0 0 55px 0;
}

.step-a:before {
	content: '';
	display: block;
	width: calc(100% - 16px);
	height: 100%;
	background: linear-gradient(to bottom, rgba(220, 230, 240, 1) 50%, rgba(244, 244, 244, 1) 100%);
	position: absolute;
	bottom: 0;
	left: 8px;
}

.step-a:after {
	content: '';
	display: block;
	width: 100%;
	height: 45px;
	background: url("/gradu/recruit/img/flow/triangle_a.png") no-repeat center top / 100% 100%;
	position: absolute;
	bottom: -45px;
	left: 0;
}

.step-a .step_inner {
	width: 100%;
	height: calc(100% - 50px);
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}

.step-a .step_btn {
	width: calc(248/295 * 100%);
	max-width: 248px;
	margin: 70px auto 0 auto;
}

@media only screen and (max-width: 768px) {
	.step-a {
		width: 100vw;
		height: auto;
		background: rgba(244, 244, 244, 1);
		margin: 0 0 32px 0;
		padding-bottom: 2px;
	}

	.step-a:before {
		width: calc(100% - 12px);
		left: 6px;
	}

	.step-a:after {
		height: 30px;
		bottom: -30px;
	}

	.step-a .step_inner {
		padding: 20px 0 0 0;
	}

	.step-a .step_btn {
		width: calc(248/295 * 100%);
		max-width: 248px;
		margin: 20px auto 25px auto;
	}
}


/* step-01 */
.step-01 {
	background: #7cddf3;
	margin: 0 0 50px 0;
}

.step-01:before {
	content: '';
	display: block;
	width: calc(100% - 16px);
	height: 100%;
	background: #a8e8f7;
	position: absolute;
	bottom: 0;
	left: 8px;
}

.step-01:after {
	content: '';
	display: block;
	width: 100%;
	height: 45px;
	background: url("/gradu/recruit/img/flow/triangle_01.png") no-repeat center top / 100% 100%;
	position: absolute;
	bottom: -45px;
	left: 0;
}

.step-01 .step_btn {
	width: calc(338/480 * 100%);
	max-width: 338px;
	margin: 25px auto 0 auto;
	position: relative;
}

@media only screen and (max-width: 768px) {
	.step-01 {
		margin: 0 auto 32px auto;
	}

	.step-01:before {
		width: calc(100% - 12px);
		left: 6px;
	}

	.step-01:after {
		height: 28px;
		bottom: -28px;
	}

	.step-01 .step_btn {
		width: calc(170/320 * 100vw);
		min-width: 170px;
		margin: 15px auto 0 auto;
	}
}

/* step-02 */
.step-02 {
	background: #95d3f4;
	margin: 0 0 50px 0;
}

.step-02:before {
	content: '';
	display: block;
	width: calc(100% - 16px);
	height: 100%;
	background: #b4e0f7;
	position: absolute;
	bottom: 0;
	left: 8px;
}

.step-02:after {
	content: '';
	display: block;
	width: 100%;
	height: 45px;
	background: url("/gradu/recruit/img/flow/triangle_02.png") no-repeat center top / 100% 100%;
	position: absolute;
	bottom: -45px;
	left: 0;
}

.step-02 .step_text-02 {
	margin-top: 25px;
}

@media only screen and (max-width: 768px) {
	.step-02 {
		margin: 0 auto 32px auto;
	}

	.step-02:before {
		width: calc(100% - 12px);
		left: 6px;
	}

	.step-02:after {
		height: 28px;
		bottom: -28px;
	}

	.step-02 .step_text-02 {
		margin-top: 15px;
	}
}

/* step-03 */
.step-03 {
	background: #ace7da;
	margin: 0 0 75px 0;
}

.step-03:before {
	content: '';
	display: block;
	width: calc(100% - 16px);
	height: 100%;
	background: #c5eee5;
	position: absolute;
	bottom: 0;
	left: 8px;
}

.step-03:after {
	content: '';
	display: block;
	width: 100%;
	height: 75px;
	background: url("/gradu/recruit/img/flow/triangle_03.png") no-repeat center top / 100% 100%;
	position: absolute;
	bottom: -75px;
	left: 0;
}

.step-03 .step_text-02 {
	margin-top: 20px;
}

.step-03 .step_box {
	width: calc(100% - 16px);
	padding: 30px 45px;
	background: #fff;
	margin: 25px auto 0 auto;
}

.step-03 .kosha_list {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
}

.step-03 .kosha_item {
	margin: 10px 15px;
}

.step-03 .logo-kosha img {
	height: 30px;
	width: auto;
}

@media only screen and (max-width: 768px) {
	.step-03 {
		margin: 0 auto 32px auto;
	}

	.step-03:before {
		width: calc(100% - 12px);
		left: 6px;
	}

	.step-03:after {
		height: 28px;
		bottom: -28px;
	}

	.step-03 .step_text-02 {
		margin-top: 12px;
	}

	.step-03 .step_box {
		width: calc(100% - 12px);
		padding: 12px 5px;
		margin: 15px auto 0 auto;
	}

	.step-03 .kosha_item {
		margin: 10px 10px;
	}

	.step-03 .logo-kosha img {
		height: 18px;
		width: auto;
	}
}

/* ==========================================================================
   .page-recruit-faq
   ========================================================================== */
#recruitFaq {
	margin: 0 0 140px 0;
}

#recruitFaq .sec_body .lyt-inner {
	padding: 0 3%;
}

@media only screen and (max-width: 768px) {
	#recruitFaq {
		margin: 0 0 35px 0;
	}

	#recruitFaq .sec_body .lyt-inner {
		padding: 0 0;
	}
}

/* ------------------------------
 * .faq
 * ------------------------------ */
.faq_headline-01 {
	color: #fff;
	font-weight: bold;
	font-size: 2.8rem;
	letter-spacing: 0.05em;
	padding: 20px 25px;
	background: #0c24c4;
	position: relative;
}

* + .faq_headline-01 {
	margin: 50px 0 0 0;
}

.faq_headline-01:after {
	content: '';
	border-top: 12px solid #0c24c4;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-bottom: 12px solid transparent;
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 2;
	transform: translateX(-50%) translateY(100%);
}

.faq_list {}

.faq_head {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	width: 100%;
	padding: 8px 0;
	margin: 4px 0;
	background: #f2f2f2;
	position: relative;
	cursor: pointer;
}

.faq_head:after {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	border-right: 1px solid #0c24c4;
	border-bottom: 1px solid #0c24c4;
	position: absolute;
	top: 50%;
	right: 40px;
	transform: translateY(-50%) rotate(45deg);
}

.faq_head .faq_inner {
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: flex-start;
	width: calc(100% - 100px);
	padding: 0 80px 0 18px;
	border-left: 1px solid #0c24c4;
}

.faq_head .faq_icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100px;
	min-height: 80px;
}

.icon-q img {
	height: 23px;
}

.text-q {
	color: #0c24c4;
	font-weight: bold;
	font-size: 2.0rem;
	line-height: 1.45;
	width: 100%;
}

.faq_body {
	color: #333333;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
}

.faq_body .faq_inner {
	width: calc(100% - 100px);
	padding: 20px 0 20px 0;
}

.faq_body .faq_icon {
	width: 100px;
}

.icon-a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	margin: 25px;
	background: #5f97d8;
}

.icon-a img {
	height: 23px;
}

.text-a {
	font-size: 2.0rem;
	line-height: 1.8;
	width: 100%;
}

.faq .link-text {
	text-decoration: underline;
}

/* accrodion */
.faq_head:after {
	transition: all 250ms;
}

.faq_head.open:after {
	transform: translateY(-50%) rotate(225deg);
}

.js-accordion-target {
	display: none;
}

@media only screen and (max-width: 768px) {
	.faq_headline-01 {
		font-size: 1.8rem;
		padding: 10px 20px;
	}

	* + .faq_headline-01 {
		margin: 30px 0 0 0;
	}

	.faq_headline-01:after {
		border-width: 8px;
	}

	.faq_head:after {
		width: 9px;
		height: 9px;
		right: 15px;
	}

	.faq_head .faq_inner {
		width: calc(100% - 50px);
		padding: 0 35px 0 15px;
	}

	.faq_head .faq_icon {
		width: 50px;
		min-height: 60px;
	}

	.faq_body .faq_inner {
		width: calc(100% - 50px);
		padding: 10px 0;
	}

	.faq_body .faq_icon {
		width: 50px;
	}

	.text-q {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.text-a {
		font-size: 1.4rem;
		line-height: 1.95;
	}

	.icon-q img {
		height: 14px;
	}

	.icon-a {
		width: 30px;
		height: 30px;
		margin: 15px 10px;
	}

	.icon-a img {
		height: 13px;
	}
}