@charset 'UTF-8';
/*----------------------------------------

	- job_search
	- recommended
	- featured
	- popular
	- area
	- job_category

-----------------------------------------*/

/* sp */
@media screen and (max-width: 800px) {
	.heading_l1 {
		font-size: var(--font-size28);
	}
}

/*----------------------------------------
job_search - お仕事検索
-----------------------------------------*/

.job_search {
	margin-top: 48px;
}

.job_search .gray_box {
	margin-top: 32px;
	padding: 32px 32px 24px;
}

.job_search form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.job_search [class*='form_'] {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.job_search .form_top>div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.job_search .form_top .pulldown_m:nth-of-type(1) select {
	width: 200px;
}

.job_search .form_top .pulldown_m:nth-of-type(2) select {
	width: 280px;
}

.job_search .ic_arrow--after {
	gap: 8px;
}

.job_search .ic_arrow--after::before {
	width: 0.75rem;
}

.job_search .form_bottom input {
	flex: 1;
	min-width: 328px;
	width: 100%;
}

.job_search .form_bottom .btn_xs2 {
	width: 180px;
}

.job_search .gray_box .font14 {
	display: flex;
}

/* sp */
@media screen and (max-width: 800px) {
	.job_search {
		width: calc(100% - (48px * 2));
		margin-top: 16px;
	}

	.job_search .gray_box {
		margin-top: 16px;
		padding: 32px 16px 24px;
	}

	.job_search form {
		gap: 8px;
	}

	.job_search [class*='form_'] {
		gap: 16px;
		justify-content: flex-end;
	}

	.job_search>.font18 {
		font-size: var(--font-size16);
	}

	.job_search .form_top>div {
		width: 100%;
	}

	.job_search .pulldown_m {
		width: 100%;
	}

	.job_search .form_top .pulldown_m:nth-of-type(1) select {
		width: 100%;
	}

	.job_search .form_top .pulldown_m:nth-of-type(2) select {
		width: 100%;
	}

	.job_search .ic_arrow--after {
		margin: 8px auto 0;
	}

	.job_search .form_bottom {
		display: flex;
		flex-direction: column;
	}

	.job_search .form_bottom input {
		flex: auto;
		min-width: unset;
		width: 100%;
	}

	.job_search .form_bottom .btn_xs2 {
		max-width: 180px;
		width: 100%;
	}
}

.pre_login {
	display: grid;
	gap: 16px 48px;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	margin-top: 48px;
}

.pre_login .gray_box {
	display: flex;
	flex-direction: column;
	gap: 24px;
	justify-content: space-between;
	min-height: 207px;
	padding: 32px;
}

.pre_login .gray_box p.font16 {
	display: flex;
	flex: 1;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.pre_login .gray_box [class*='btn_'] {
	margin-inline: auto;
}

/* sp */
@media screen and (max-width: 800px) {
	.pre_login {
		grid-template-columns: 1fr;
	}

	.pre_login .gray_box {
		padding-inline: 16px;
	}

	.pre_login .gray_box [class*='btn_'] {
		max-width: 315px;
		width: 100%;
	}
}

.setup_box {
	margin-top: 48px;
}

.setup_box .gray_box {
	display: flex;
	flex-direction: column;
	gap: 24px;
	justify-content: space-between;
	max-width: 640px;
	min-height: 207px;
	margin-inline: auto;
	padding: 32px;
}

.setup_box .gray_box p.font16 {
	display: flex;
	flex: 1;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.setup_box .gray_box [class*='btn_'] {
	margin-inline: auto;
}

/* sp */
@media screen and (max-width: 800px) {
	.setup_box .gray_box {
		gap: 24px;
		max-width: unset;
		padding: 18px;
	}

	.setup_box .gray_box [class*='btn_'] {
		max-width: 315px;
		width: 100%;
	}
}

/*----------------------------------------
recommended - あなたにおすすめのお仕事
-----------------------------------------*/
.recommended {
	margin-top: 80px;
}

.recommended .heading_l1 {
	text-align: center;
}

.recommended .swiper-card {
	margin-top: 48px;
}

@media screen and (max-width: 800px) {
	.recommended {
		margin-top: 64px;
	}

	.recommended .swiper-card {
		margin-top: 32px;
	}
}

/*----------------------------------------
featured - 注目のお仕事
-----------------------------------------*/
.featured {
	margin-top: 80px;
}

.featured .heading_l1 {
	text-align: center;
}

.featured .job_list {
	display: grid;
	gap: 48px;
	grid-template-columns: repeat(auto-fit, minmax(448px, 1fr));
	margin-top: 48px;
}

.featured .list_item {
	display: grid;
	gap: 24px;
	grid-template-columns: 240px 1fr;
}

.featured .list_item>figure {
	aspect-ratio: 240 / 160;
	overflow: hidden;
	border-radius: 8px;
}

@media (hover: hover) {
	.featured .job_list a:hover figure {
		background-color: var(--color_sapphire-500);
	}
	.featured .job_list a:hover img {
		opacity: 0.33;
	}
}

.featured .list_item img {
	height: 100%;
}

.featured .list_item>div {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* sp */
@media screen and (max-width: 800px) {
	.featured {
		margin-top: 64px;
	}

	.featured.inner_box {
		max-width: 480px;
	}

	.featured .list_item {
		gap: 16px;
		grid-template-columns: 1fr;
	}

	.featured .job_list {
		grid-template-columns: 1fr;
		margin-top: 32px;
	}

	.featured .list_item>div {
		gap: 8px;
	}

	.featured .list_item>figure {
		width: calc(100% - (16px * 2));
		margin-inline: auto;
	}
}


/*----------------------------------------
popular - 人気のお仕事
-----------------------------------------*/
.popular {
	margin-top: 80px;
}

.popular .heading_l1 {
	text-align: center;
}

.popular .swiper-card {
	margin-top: 48px;
}

/* sp */
@media screen and (max-width: 800px) {
	.popular {
		margin-top: 64px;
	}

	.popular .swiper-card {
		margin-top: 32px;
	}
}

/*----------------------------------------
area - エリアからお仕事を探す
-----------------------------------------*/
.area {
	margin-top: 80px;
}

.area .heading_l1 {
	text-align: center;
}

.area .area_box {
	display: grid;
	gap: 24px 64px;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	margin-top: 48px;
}

.area .area_list {
	display: grid;
	grid-template-columns: 160px 1fr;
}

.area .area_list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1px 24px;
}

/* sp */
@media screen and (max-width: 800px) {
	.area {
		margin-top: 64px;
	}

	.area .area_box {
		grid-template-columns: 1fr;
		margin-top: 32px;
	}

	.area .area_list {
		grid-template-columns: 120px 1fr;
	}
}

/*----------------------------------------
job_category - 職種からお仕事を探す
-----------------------------------------*/
.job_category {
	margin-top: 80px;
	padding-top: 48px;
	border-top: 1px solid var(--color_cmn-line);
}

.job_category .heading_l1 {
	text-align: center;
}

.job_category .job_list {
	display: grid;
	gap: 8px 24px;
	grid-template-columns: repeat(auto-fit, minmax(auto, 218px));
	margin-top: 48px;
}

@media screen and (max-width: 800px) {
	.job_category {
		margin-top: 64px;
	}

	.job_category .job_list {
		grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
		margin-top: 32px;
	}
}
