@charset "UTF-8";

/* ==================================================
   CLI+MIRU 求人一覧用サイドバー
   専用スコープ：.cm-job-search-sidebar
================================================== */

.cm-job-search-sidebar,
.cm-job-search-sidebar * {
	box-sizing: border-box;
}

.cm-job-search-sidebar {
	width: 100%;
	color: #24313a;
	font-family: inherit;
}

.cm-job-search-sidebar__card {
	overflow: hidden;
	border: 1px solid #e5ebee;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(28, 50, 60, .07);
}

.cm-job-search-sidebar__header {
	padding: 22px 22px 18px;
	border-bottom: 1px solid #edf1f3;
	background: linear-gradient(135deg, #f5fbfa 0%, #fff 100%);
}

.cm-job-search-sidebar__eyebrow {
	margin: 0 0 5px;
	color: #3d948d;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.4;
}

.cm-job-search-sidebar__title {
	margin: 0;
	color: #21343b;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.45;
}

.cm-job-search-sidebar__body {
	padding: 18px;
}

.cm-job-search-sidebar #feas-searchform-7 {
	display: block;
	margin: 0;
	padding: 0;
}

.cm-job-search-sidebar .cm-feas-field {
	margin: 0 0 16px;
}

.cm-job-search-sidebar .cm-feas-field__title {
	display: block;
	margin: 0 0 8px;
	color: #33454d;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.cm-job-search-sidebar .cm-feas-select-wrap {
	position: relative;
}

.cm-job-search-sidebar .cm-feas-select-wrap::after {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 7px;
	height: 7px;
	margin-top: -5px;
	border-right: 2px solid #6f7f86;
	border-bottom: 2px solid #6f7f86;
	content: "";
	pointer-events: none;
	transform: rotate(45deg);
}

.cm-job-search-sidebar #feas-searchform-7 select {
	display: block;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 42px 0 14px;
	border: 1px solid #dce4e7;
	border-radius: 10px;
	outline: none;
	background: #fff;
	color: #33454d;
	font: inherit;
	font-size: 14px;
	line-height: 48px;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.cm-job-search-sidebar #feas-searchform-7 select:focus {
	border-color: #56a8a1;
	box-shadow: 0 0 0 3px rgba(86, 168, 161, .13);
}

.cm-job-search-sidebar .cm-feas-detail-heading {
	margin: 22px 0 10px;
	padding-top: 18px;
	border-top: 1px solid #e9eef0;
	color: #21343b;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

.cm-job-search-sidebar .cm-feas-accordion {
	margin: 0 0 10px;
	border: 1px solid #e1e8ea;
	border-radius: 10px;
	background: #fff;
}

.cm-job-search-sidebar .cm-feas-accordion__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 12px 42px 12px 14px;
	border: 0;
	border-radius: 10px;
	background: #f8fafb;
	color: #33454d;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	text-align: left;
	cursor: pointer;
}

.cm-job-search-sidebar .cm-feas-accordion__button::before,
.cm-job-search-sidebar .cm-feas-accordion__button::after {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 12px;
	height: 2px;
	border-radius: 2px;
	background: #4d8f89;
	content: "";
	transform: translateY(-50%);
	transition: transform .2s ease;
}

.cm-job-search-sidebar .cm-feas-accordion__button::after {
	transform: translateY(-50%) rotate(90deg);
}

.cm-job-search-sidebar .cm-feas-accordion.is-open .cm-feas-accordion__button::after {
	transform: translateY(-50%) rotate(0);
}


/* チェックボックス */

.cm-job-search-sidebar .cm-feas-accordion__panel {
	display: grid;
	gap: 4px;
	padding: 8px 10px 12px;
}

.cm-job-search-sidebar .cm-feas-accordion__panel[hidden] {
	display: none !important;
}

.cm-job-search-sidebar .cm-feas-accordion__panel > label {
	position: relative;
	display: block;
	min-height: 32px;
	margin: 0;
	padding: 6px 8px 6px 31px;
	border-radius: 5px;
	color: #53636a;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
	box-sizing: border-box;
}

.cm-job-search-sidebar .cm-feas-accordion__panel > label:hover {
	background: #f4f8f8;
}

.cm-job-search-sidebar .cm-feas-accordion__panel > label > input[type="checkbox"] {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 14px;
	height: 14px;
	margin: 0;
	opacity: 1;
	pointer-events: auto;
	accent-color: #439b94;
	cursor: pointer;
}

.cm-job-search-sidebar .cm-feas-accordion__panel > label::before {
	display: none !important;
	content: none !important;
}

.cm-job-search-sidebar .cm-feas-accordion__panel > label::after {
	display: block;
	content: attr(data-cm-label);
}

.cm-job-search-sidebar .cm-feas-accordion__panel > label:has(input:checked) {
	background: #eef8f7;
	color: #28766f;
	font-weight: 600;
}

.cm-job-search-sidebar .cm-feas-accordion__panel > label > span {
	display: none !important;
}




/* 検索条件側では件数を表示しない */
.cm-job-search-sidebar .feas-count,
.cm-job-search-sidebar .feas_count,
.cm-job-search-sidebar [class*="count"] {
	display: none !important;
}

.cm-job-search-sidebar .cm-feas-actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 9px;
	margin-top: 18px;
}

.cm-job-search-sidebar #feas-submit-button-7 {
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 12px 18px;
	border: 0;
	border-radius: 10px;
	background: #3f938c;
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	cursor: pointer;
	box-shadow: 0 7px 16px rgba(63, 147, 140, .22);
	transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.cm-job-search-sidebar #feas-submit-button-7:hover {
	background: #34827c;
	box-shadow: 0 9px 20px rgba(63, 147, 140, .28);
	transform: translateY(-1px);
}

.cm-job-search-sidebar #feas-searchform-7 input[type="reset"] {
	width: 100%;
	min-height: 42px;
	margin: 0;
	padding: 9px 14px;
	border: 1px solid #dce4e7;
	border-radius: 9px;
	background: #fff;
	color: #6b7a80;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.cm-job-search-sidebar #feas-searchform-7 > .search_midashi,
.cm-job-search-sidebar #feas-searchform-7 > label {
	display: none;
}

@supports not selector(label:has(input:checked)) {
	.cm-job-search-sidebar .cm-feas-accordion__panel > label > input[type="checkbox"] {
		position: static;
		width: auto;
		height: auto;
		margin-right: 8px;
		opacity: 1;
		pointer-events: auto;
	}

	.cm-job-search-sidebar .cm-feas-accordion__panel > label::before,
	.cm-job-search-sidebar .cm-feas-accordion__panel > label::after {
		display: none;
	}

	.cm-job-search-sidebar .cm-feas-accordion__panel > label {
		padding: 8px 10px;
		border: 1px solid #e0e7e9;
		border-radius: 8px;
		font-size: 13px;
	}
}

@media (max-width: 767px) {
	.cm-job-search-sidebar__card {
		border-radius: 14px;
	}

	.cm-job-search-sidebar__header {
		padding: 19px 18px 16px;
	}

	.cm-job-search-sidebar__body {
		padding: 16px;
	}
}
@media screen and (min-width: 768px) {

	.cm-job-search-sidebar {
		position: sticky;
		top: 20px;
		max-height: calc(100vh - 40px);
		overflow-y: auto;
		overflow-x: hidden;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		box-sizing: border-box;
	}

	.cm-job-search-sidebar::-webkit-scrollbar {
		width: 6px;
	}

	.cm-job-search-sidebar::-webkit-scrollbar-track {
		background: transparent;
	}

	.cm-job-search-sidebar::-webkit-scrollbar-thumb {
		border-radius: 10px;
		background: rgba(67, 155, 148, .35);
	}

	.cm-job-search-sidebar::-webkit-scrollbar-thumb:hover {
		background: rgba(67, 155, 148, .55);
	}
}
/* ==================================================
   求人一覧用サイドバーB
   人気求人ランキング
================================================== */

.newcl-job-sidebar--ranking,
.newcl-job-sidebar--ranking * {
	box-sizing: border-box;
}

.newcl-job-sidebar--ranking {
	width: 100%;
	max-width: none;
	color: #26373e;
	font-family: inherit;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-card {
	width: 100%;
	overflow: hidden;
	border: 1px solid #e5ebee;
	border-radius: 11px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(29, 47, 56, .06);
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__card-header--ranking {
	display: flex;
    align-items: center;
    gap: 12px;
    min-height: 90px;
    padding: 8px 25px 8px 0;
    border-bottom: 1px solid #edf1f2;
    background: linear-gradient(315deg, #fff7d0 0%, #fffaf1 100%);
    justify-content: center;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__card-icon {
	display: flex;
    flex: 0 0 50px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 7px;
    background: #fff0c3;
    color: #d89d18;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__card-icon svg {
	display: block;
    width: 25px;
    height: 25px;
    overflow: visible;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__card-icon path {
	fill: none;
	stroke: currentColor;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__card-heading {
	min-width: 0;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__eyebrow {
	margin: 0 0 5px;
    color: #b47b00;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1.2;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__title {
	margin: 0;
    color: #21343b;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__card-body--flush {
	padding: 0;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-item {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #edf1f2;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-item:last-child {
	border-bottom: 0;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-link {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 8px;
	align-items: start;
	min-height: 80px;
	padding: 15px 8px;
	color: inherit;
	text-decoration: none;
	transition: background-color .18s ease;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-link:hover {
	background: #f8fafb;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-image {
	position: relative;
	display: block;
	width: 46px;
	height: 46px;
	overflow: hidden;
	border-radius: 5px;
	background: #edf1f2;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-number {
	position: absolute;
	z-index: 2;
	top: 3px;
	left: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 9px;
	background: rgba(70, 84, 91, .9);
	color: #fff;
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .2);
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-item:nth-child(1) .newcl-job-sidebar__ranking-number {
	background: #d8a31d;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-item:nth-child(2) .newcl-job-sidebar__ranking-number {
	background: #929fa5;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-item:nth-child(3) .newcl-job-sidebar__ranking-number {
	background: #ae7040;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-noimage {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 3px;
	color: #8d999e;
	font-size: 6px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-content {
	display: flex;
	min-width: 0;
	height: 50px;
	flex-direction: column;
	align-items: flex-start;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-title {
	display: -webkit-box;
    width: 100%;
    margin: 0;
    overflow: hidden;
    color: #333;
    font-family: monospace;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.8;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-company {
	display: block;
    width: 100%;
    margin-top: 2px;
    overflow: hidden;
    color: #748187;
    font-size: 9px;
    font-weight: 400;
    line-height: 1.8;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-views {
	display: flex;
	align-items: center;
	gap: 2px;
	margin-top: auto;
	color: #89959a;
	font-size: 9px;
	font-weight: 500;
	line-height: 1;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-eye {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 10px;
	height: 10px;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-eye svg {
	display: block;
	width: 10px;
	height: 10px;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-eye path,
.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-eye circle {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.newcl-job-sidebar--ranking .newcl-job-sidebar__empty {
	margin: 0;
	padding: 16px 8px;
	color: #748187;
	font-size: 9px;
	line-height: 1.6;
	text-align: center;
}
aside.p-sidebar.p-sidebar-b.l-tertiary {
	padding: 0;
	width: 100%;
}
aside.p-sidebar.p-sidebar-b.l-tertiary .l-tertiary__inner {
	width: 100%;
}
@media screen and (max-width: 767px) {

	.newcl-job-sidebar--ranking {
		max-width: none;
	}

	.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-link {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 10px;
		min-height: 82px;
		padding: 9px;
	}

	.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-image {
		width: 64px;
		height: 64px;
	}

	.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-content {
		height: 64px;
	}

	.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-title {
		font-size: 11px;
	}

	.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-company,
	.newcl-job-sidebar--ranking .newcl-job-sidebar__ranking-views {
		font-size: 9px;
	}
}