@charset "utf-8";
/* CSS Document */

.c-recruit-mv {
	background: linear-gradient(to bottom, #F1F9FC 90%, #FFF);
	padding-block: 10rem 10vw;
	margin-block: 0px;
	@media (max-width: 1360px) {
		padding-block: 5rem 5rem;
	}
}

.c-recruit-mv__inner {
	display: grid;
	gap: 3rem;
	@media (max-width: 1279.98px) {
		margin-inline: auto;
	}
}

.c-recruit-mv__title {
	margin-bottom: 5rem;
}

.c-recruit-mv__desc {
	z-index: 1;
	position: relative;
	p {
		font-size: clamp(1.4rem,1.6vw,1.8rem);
		line-height: var(--line-height-base);
		text-align: justify;
		max-width: 844px;
		width: 50vw;
		@media (max-width: 768px) {
			width: 100%;
		}
	}
}

.c-recruit-mv__image {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	z-index: 0;
	max-width: 740px;
	width: 43vw;
	top: 11rem;
	right: 0px;
	position: absolute;
	@media (max-width: 980px) {
		top: 13rem;
	}
	@media (max-width: 768px) {
		width: 100%;
		position: relative;
		flex-direction: row;
		top: 2rem;
	}
	span {
		display: block;
		width: 100%;
		height: auto;
	}
	.c-recruit-mv__image_01 {
		position: relative;
		max-width: 401px;
		width: 22vw;
		z-index: 1;
		@media (max-width: 768px) {
			position: relative;
			width: 30vw;
			top: -5vw;
		}
	}
	.c-recruit-mv__image_02 {
		max-width: 308px;
		width: 19vw;
		top: 6vw;
		right: 0px;
		position: absolute;
		@media (max-width: 768px) {
			position: relative;
			width: 23vw;
			top: 0px;
		}
	}
	.c-recruit-mv__image_03 {
		top: 6rem;
		position: relative;
		max-width: 401px;
		width: 22vw;
		@media (max-width: 768px) {
			top: -2rem;
			position: relative;
			width: 30vw;
		}
	}
}

.p-growth {
	margin-block: 2rem 10rem;
	@media (max-width: 767.98px) {
		margin-block: 0px 5rem;
	}
}

.p-growth__title {
	font-size: clamp(2.5rem,4vw,5rem);
	font-weight: bold;
	color: var(--font-base-color);
	padding-block: 5rem 2rem;
}

.p-growth__desc {
	padding-block: 1rem 5rem;
	font-size: clamp(1.4rem,1.6vw,1.8rem);
	@media (max-width: 767.98px) {
		padding-block: 0px;
	}
}

.p-growth__list_note {
	margin-block: 3rem 0px;
}

.p-growth__list {
    display: flex;
	flex-wrap: wrap;
    gap: 1rem 1em;
    list-style: none;
    padding-left: 0;
}

.p-growth__list li {
    position: relative;
	display: flex;
	align-items: center;
	font-size: clamp(1.6rem,2vw,2rem);
	font-family: var(--ff-robot);
    font-weight: bold;
}

.p-growth__list#type_number {
    counter-reset: growth-counter;
	margin-bottom: 2rem;
}

.p-growth__list#type_number li {
    counter-increment: growth-counter;
    padding-left: 24px;
	&::before {
		content: counter(growth-counter);
		position: absolute;
		left: 5px;
		text-align: center;
		font-size: clamp(1.4rem,1.6vw,1.6rem);
		color: #fff;
		z-index: 1;
	}
	&::after {
		content: '';
		background: #000;
		display: inline-block;
		width: 20px;
		height: 20px;
		left: 0px;
		border-radius: 30px;
		position: absolute;
	}
}

.p-growth__list#type_mark li {
	padding-left: 64px;
	&::before {
		content: '●';
		display: inline-block;
		left: 0px;
		position: absolute;
		font-size: 3rem;
	}
	&::after {
		content: '…';
		left: 36px;
		position: absolute;
	}
}

.p-growth__list#type_mark li.shugo {
	&::before {
		color: #FFE8E8;
	}
}

.p-growth__list#type_mark li.gaibu {
	&::before {
		color: #D2ECFF;
	}
}

.p-growth__list#type_mark li.other {
	&::before {
		color: #F8F8F8;
	}
}

.p-growth__graph {
	display: grid;
	row-gap: 2rem;
	border-top: 1px solid #707070;
	padding-top: 2rem;
	margin-block: 4rem 3rem;
}

.p-growth__img {
	margin-block: 3rem;
	@media (max-width: 767.98px) {
		margin-block: 2rem 0rem;
	}
	picture {
		min-width: 800px;
		width: 100%;
		@media (max-width: 599px) {
			height: 500px;
		}
	}
}

.p-program {
	padding-block: 12rem;
	background: var(--back-base-color);
	color: #FFF;
	@media (max-width: 767.98px) {
		padding-block: 6rem;
	}
}

.p-program__title {
	font-size: clamp(2.5rem,4vw,5rem);
	font-weight: bold;
}

.p-program__desc {
	padding-block: 5rem;
	font-size: clamp(1.4rem,1.6vw,1.8rem);
	@media (max-width: 767.98px) {
		padding-block: 2rem;
	}
}

.p-program__box {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3rem 6rem;
	margin-top: 6rem;
	picture {
	}
	@media (max-width: 980px) {
		grid-template-columns: repeat(1,1fr);
		margin-top: 2rem;
		picture {
			height: 30vh;
			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center 30%;
			}
		}
	}
}

.p-program__box_left {
	display: grid;
	row-gap: 5rem;
}

.p-program__box_title {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	font-weight: bold;
	margin-bottom: 1rem;
}

.p-program__curriculum {
	display: grid;
	row-gap: 1rem;
	dl {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		* {
			font-size: clamp(1.4rem,1.6vw,1.8rem);
		}
		dt {
			max-width: 170px;
			width: 20%;
			background: #66B1DC;
			font-size: clamp(1.4rem,1.6vw,1.8rem);
			font-weight: 500;
			display: flex;
			justify-content: center;
			align-items: center;
			text-align: center;
			padding: 5px;
			@media (max-width: 599px) {
				max-width: 100%;
				width: 100%;
			}
		}
		dd {
			width: 80%;
			text-align: justify;
			padding: 1rem;
			@media (max-width: 599px) {
				width: 100%;
			}
		}
	}
	p {
		font-size: clamp(1.4rem,1.6vw,1.8rem);
	}
}


.p-qualification {
	padding-block: 12rem 20rem;
	@media (max-width: 980px) {
		padding-block: 12rem 10rem;
	}
	@media (max-width: 767.98px) {
		padding-block: 6rem;
	}
}

.p-qualification__title {
	font-size: clamp(2.5rem,4vw,5rem);
	font-weight: bold;
	color: var(--font-base-color);
}

.p-qualification__desc {
	padding-block: 6rem;
	font-size: clamp(1.4rem,1.6vw,1.8rem);
	@media (max-width: 767.98px) {
		padding-block: 2rem;
	}
}

.p-qualification__box {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3rem 6rem;
	picture {
	}
	@media (max-width: 980px) {
		grid-template-columns: repeat(1,1fr);
		picture {
			height: 30vh;
			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center center;
			}
		}
	}
}

.p-qualification__box_left {
}

.p-qualified_person {
	background: #F4FBFF;
	padding: 3rem;
}

.p-qualified_person_title {
	font-size: clamp(2rem,2.4vw,2.4rem);
	font-weight: bold;
	margin-bottom: 1rem;
	color: var(--font-base-color);
}

.p-qualified_person_desc {
	font-size: clamp(1.4rem,1.6vw,1.8rem);
	text-align: justify;
	line-height: 200%;
}


