@charset "utf-8";
/*--------------------------------------------------
サイドメニュー
--------------------------------------------------*/
.ly_cont__side {
    width: 250px;
}
.ly_cont__side_inner {
	background: #fff;
	border-radius: 10px;
}
.bl_sideSearchUnit {
	font-size: 14px;
}
.bl_sideSearchTtl {
	color: #fff;
	text-align: center;
	padding: 10px;
	width: 100%; 
	height: 39px;
	font-weight: 700;
	color: #fff;
	border-radius: 10px 10px 0 0;
	display: flex; 
	align-items: center; 
	justify-content: center;
	margin-bottom: 15px;
}
.bl_sideSearchList {
	margin-bottom: 15px;
	padding-bottom: 15px;
}
.bl_sideSearchList > li {
	line-height: 2;
	padding: 5px 0;
	display: block;
}
/*アコーディオン*/
.bl_sideSearchList > li > a,
.el_parentMenu {
	cursor: pointer;
	display: flex;
	align-items: center; 
	justify-content: space-between;
	padding: 0 20px;
}
.el_parentMenu {
	position: relative;
}
.el_parentMenu:hover {
	color: var(--blue);
}
.works .el_parentMenu:hover {
	color: var(--pink);
}
.el_parentMenu::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 1px solid var(--black);
	border-top: 1px solid var(--black);
	display: block;
	transform: rotate(135deg);
	position: absolute;
	top: 8px;
	right: 20px;
}
.el_parentMenu.close::after {
	transform: rotate(315deg);
	top: 13px;
}
.el_parentMenu:hover::after {
	border-color: var(--blue);
}
.works .el_parentMenu:hover::after {
	border-color: var(--pink);
}
.el_childMenu {
	display: none;
}
.el_childMenu li {
	padding: 5px 35px 0;
	position: relative;
}
.el_childMenu a {
	display: flex;
}
.el_childMenu li::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 1px solid var(--black);
	border-top: 1px solid var(--black);
	display: block;
	transform: rotate(45deg);
	position: absolute;
	top: 13px;
	right: 20px;
}
/*--------------------------------------------------
検索結果
--------------------------------------------------*/
.ly_search {
	margin: auto auto 100px;
	min-height: 65px;
	max-width: 892px;
}
.bl_searchArea {
	position: relative;
	min-height: 65px;
}
/*カード*/
#learn .bl_card_ttl {
	height: 61px;
}
/*条件検索*/
.bl_search_bar {
	position: absolute;
	top: 0;
	left: 0;
	box-shadow: 0px 0px 10px 0px #0000001A;
  background: #fff;
  border-radius: 20px;
	cursor: pointer;
	max-width: 450px; 
	width: 100%;
	height: 62px;
	padding: 0 20px;
	display: flex; 
	align-items: center;
	font-weight: 700;
}
.bl_search_bar::before {
	content: url(https://learn-work-prod.s3.ap-northeast-1.amazonaws.com/images/service/lower/search_b.svg);
	margin-right: 15px;
}
.bl_search_bar::after {
	content: "";
    width: 12px;
    height: 12px;
    border-right: 1px solid var(--black);
    border-top: 1px solid var(--black);
    display: block;
    transform: rotate(135deg);
    position: absolute;
    right: 22px;
}
.el_close_btn {
	position: absolute;
	top: 20px;
	right: 20px;
	cursor: pointer;
}
.el_none {
	display: none;
}
/*くわしく検索*/
.bl_searchUnit {
	box-shadow: 0px 0px 10px 0px #0000001A;
  background: #fff;
  border-radius: 20px;
	position: relative;
	z-index: 2;
	padding: 45px 10px 35px 40px;
}
.bl_searchUnit .el_search {
	display: flex; 
	align-items: center;
}
.bl_searchUnit .el_search  + .el_search  {
	margin-top: 20px;
}
.bl_searchUnit .el_search dt {
	font-size: 14px;
	width: 170px;
	flex-shrink: 0;
}
.bl_searchUnit .el_search dd {
	position: relative;
	font-size: 14px;
	max-width: 400px;
	width: 100%;
}
/*エリアで探す*/
.bl_searchUnit .el_search_area dd {
	width: 123px;
	height: 31px;
	border: 1px solid var(--black);
	border-radius: 50px;
	font-size: 12px;
	display: flex; 
	align-items: center;
	padding-left: 20px;
	cursor: pointer;
	transition: .3s;
}
.bl_searchUnit .el_search_area dd:hover {
	opacity: .5;
	transition: .3s;
}
.bl_searchUnit .el_search_area dd a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}
.bl_searchUnit .el_search_area dd::after {
	content: "";
  width: 6px;
  height: 6px;
  border-right: 1px solid var(--black);
  border-top: 1px solid var(--black);
  display: block;
  transform: rotate(45deg);
	position: absolute;
	right: 18px;
}
/***モーダルウィンドウ***/
.hide-area{
  display: none;
}
/*背景*/
.modaal-overlay {
	background: rgba(0,0,0,.3)!important;
}
/*中身*/
.modaal-container {
	max-width: 862px;
	border-radius: 20px;
}
.modaal-content-container {
	padding: 0;
}
/*×*/
.modaal-close {
	position: absolute;
	top: 30px; 
	right: 30px;
	width: 30px; 
	height: 30px;
}
.modaal-close:after,
.modaal-close:before {
	top: -3px;
  left: 17px;
	width: 2px;
	height: 30px;
	border-radius: 0;
	background: var(--black);
	transition: .3s;
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background: var(--black);
  opacity: .5;
	transition: .3s;
}
/*モーダル内エリア検索*/
.bl_area,
.bl_area dt {
	font-size: 14px;
	line-height: 1;
	font-weight: 400;
}
.bl_area > dl {
	padding: 30px 50px 0;
}
.bl_area > dl > div {
	display: flex;
	align-items: center;
}
.bl_area dt {
	width: 80px;
  margin-right: 16px;
	flex-shrink: 0;
}
.bl_areaList,
.bl_prefList {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 13px;
}
.el_pref {
	margin-top: 20px;
}
.bl_area dl li:not(:last-of-type) {
	padding-right: 13px;
	border-right: 1px solid var(--black);
}
.bl_area dl li a {
	transition: .3s;
}
.bl_area dl li a:hover,
.bl_area dl li .is-active {
	background: var(--black);
	color: #fff;
	padding: 5px 15px;
	transition: .3s;
	border-radius: 40px;
	opacity: 1;
}
.detail_area {
	margin-top: 28px;
	padding-top: 25px;
	padding: 25px 50px 0;
	border-top: 1px solid var(--gray);
}
.el_city > ul {
	display: flex;
	flex-wrap: wrap;
}
.el_city > ul li {
	width: 45%;
	margin-bottom: 13px;
	display: flex; 
	line-height: 1.3;
}
.el_city > ul li:nth-of-type(odd) {
	margin-right: 50px;
}
.el_city > ul li:nth-last-child(-n + 2) {
	margin-bottom: 0;
}
.el_city > ul li:hover {
	opacity: .5;
}
/*種類で探す*/
.bl_searchUnit .el_search_type dd {
	max-width: 550px;
}
.bl_searchUnit .bl_typeUnit {
	display: flex; 
	align-items: center;
	flex-wrap: wrap;
}
.bl_searchUnit .bl_typeUnit li {
	display: flex;
	margin-bottom: 10px;
	margin-right: 40px;
	width: 142px;
}
/*カテゴリで探す*/
.bl_searchUnit .el_open {
	width: 124px; 
	height: 31px;
	font-size: 12px;
	border: 1px solid var(--black);
	background: #fff;
	border-radius: 50px;
	display: flex; 
	align-items: center;
	padding-left: 25px;
	cursor: pointer;
	position: relative;
	transition: .3s;
}
.bl_searchUnit .el_open:hover {
	opacity: .5;
	transition: .3s;
}
.bl_searchUnit .el_open::after {
	content: url(https://learn-work-prod.s3.ap-northeast-1.amazonaws.com/images/service/lower/plus.svg);
	position: absolute;
	top: 9px;
	right: 11px;
}
.bl_searchUnit .el_open.close::after {
	content: url(https://learn-work-prod.s3.ap-northeast-1.amazonaws.com/images/service/lower/minus.svg);
	top: 4px;
}
.bl_searchUnit .bl_categoryArea {
	display: none;
}
.bl_searchUnit .el_search_category dd {
	max-width: 100%;
	width: 100%;
}
.bl_searchUnit .bl_categoryUnit {
	margin-top: 15px;
	display: flex;
	flex-wrap: wrap;
}
.bl_searchUnit .bl_categoryUnit li {
	width: 29.5%;
	margin-bottom: 10px;
	display: flex;
	margin-right: 5px;
	line-height: 1.3;
}
.bl_searchUnit .bl_categoryUnit li:nth-of-type(3n) {
	width: 38%;
}
/**フォーム部品**/
.bl_searchUnit .el_search_free dd::after,
.bl_searchUnit .el_search_company dd::after {
	content: url(https://learn-work-prod.s3.ap-northeast-1.amazonaws.com/images/service/lower/search.svg);
	position: absolute;
	top: 5px;
	right: 31px;
}
.bl_searchBtnUnit {
	display: flex;
	margin-top: 25px;
	padding: 0 50px 30px;
}
.bl_searchBtn:last-of-type {
	margin-left: 20px;
}
.bl_searchBtn {
	max-width: 200px;
	width: 100%;
}
.bl_searchBtn .el_btn {
	border: 1px solid var(--black);
	transition: .3s;
	width: 100%;
	text-align: center;
}
.bl_searchBtn .el_btn:hover {
	opacity: .5;
	transition: .3s;
}
.el_btn_submit {
	background: var(--black);
}
.el_btn_reset {
	background: #fff;
	color: var(--black);
}
/*--------------------------------------------------
選択した条件による検索結果
--------------------------------------------------*/
#result .bl_searchResultList {
	background: rgba(153, 153, 153, 0.1);
	box-shadow: none;
	margin-bottom: 30px;
	padding: 30px 40px;
	border-radius: 20px;
}
#result .bl_searchResultList div {
	display: flex;
	font-size: 14px;
	line-height: 1.3;
}
#result .bl_searchResultList dl > div + div {
	margin-top: 20px;
}
#result .bl_searchResultList dl dt {
	width: 95px;
	margin-right: 33px;
	flex-shrink: 0;
}
#result .bl_searchUnit {
	display: none;
}
#result .bl_searchUnit.el_none {
	display: block;
}
/*--------------------------------------------------
ページャー
--------------------------------------------------*/
.bl_searchResult_pagerUnit {
	display: flex;
	justify-content: space-between;
}
.bl_pagerUnit_head {
	border-bottom: 1px solid var(--gray);
	padding-bottom: 34px;
	margin-bottom: 50px;
}
.bl_pagerUnit_foot {
	border-top: 1px solid var(--gray);
	padding-top: 34px;
	margin-top: 50px;
}
.el_ltxt {
	font-size: 20px;
	font-weight: 700;
}
.el_number {
	font-size: 30px;
}
.bl_pagerUnit {
	display: flex; 
	align-items: center;
}
.bl_pagenation {
	display: flex; 
	align-items: center;
	justify-content: space-between;
}
.el_pager {
	width: 30px;
	height: 30px;
	border-radius: 100%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 5px;
	color: var(--black);
	cursor: pointer;
	padding-bottom: 2px;
}
.el_pager:hover,
.el_pager.is-active {
	color: #fff;
	background: var(--black);
}
.learn .el_pager.is-active,
.learn .el_pager:hover {
	background: var(--blue);
}
.works .el_pager.is-active,
.works .el_pager:hover {
	background: var(--pink);
}
/*矢印*/
.bl_prev:hover,
.bl_next:hover {
	cursor: pointer;
}
.bl_prev::before,
.bl_next::before {
	content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--black);
  border-top: 2px solid var(--black);
  display: block;
  transform: rotate(45deg);
	margin-left: 30px;
}
.bl_prev::before {
  transform: rotate(225deg);
	margin-right: 30px; 
	margin-left: 0;
}
.bl_prev:hover::before,
.bl_next:hover::before {
	opacity: .5;
}
/*--------------------------------------------------
求人を探す
--------------------------------------------------*/
#works .bl_searchUnit .el_search_type dd {
	max-width: 600px;
}
#works .bl_searchUnit .bl_typeUnit li {
	width: 157px;
}
#works .bl_worksUnit .bl_card {
	width: 100%;
	background: #fff;
}
#works .bl_card.is-new::before {
	content: none;
}
#works .bl_worksUnit .bl_card.is-new {
	background: var(--bg_pink);
}
#works .bl_worksUnit .bl_card + .bl_card {
	margin-top: 50px;
}
#works .bl_worksUnit .bl_card_imgWrapper {
	height: 200px;
	flex-shrink: 0;
	position: relative;
}
#works .bl_worksUnit .bl_card_header {
	margin-bottom: 15px;
	padding: 0;
}
#works .bl_worksUnit .bl_card_header .bl_card_header_cont dd {
	line-height: 1.3;
}
#works .bl_worksUnit .bl_card_ttl {
	font-size: 16px;
	margin-bottom: 10px;
}
#works .bl_worksUnit .bl_card_sub_ttl {
	margin-bottom: 20px;
}
#works .bl_worksUnit .bl_card_detail li + li {
	margin-top: 8px;
}
#works .el_btn_more {
	margin-left: 0;
}
/*--------------------------------------------------
900px
--------------------------------------------------*/
@media screen and (max-width : 900px) {
	/*検索ページャー用 */
	.bl_searchResult_pagerUnit {
		display: block;
		position: relative;
	}
	.bl_pagerUnit_head {
		margin-bottom: 120px;
		padding-bottom: 20px;
	}
	.bl_pagerUnit_head .bl_pagerUnit {
		bottom: -65px;
		position: absolute;
	}
	.bl_pagerUnit_foot {
		margin-top: 100px;
	}
	.bl_pagerUnit_foot .bl_searchResult_number {
		top: -60px;
    position: absolute;
	}
	/*works*/
	#works .bl_worksUnit .bl_card a {
		display: block;
	}
	#works .bl_worksUnit .bl_card_imgArea {
		margin-bottom: 20px;
	}
	#works .bl_worksUnit .bl_card_imgWrapper {
		width: 100%;
		margin-right: 0;
		border-radius: 10px 10px 0 0;
	}
	#works .bl_worksUnit .bl_card_imgWrapper img {
		border-radius: 10px 10px 0 0;
	}
	.bl_worksUnit .bl_card_body {
		padding: 0 20px;
	}
}
/*--------------------------------------------------
カテゴリで探す 1024px～
--------------------------------------------------*/
@media screen and (max-width : 1024px) {
	.bl_searchUnit .el_search_category {
		display: block;
	}
	.bl_searchUnit .el_search_category dd {
		margin-top: 30px;
	}
	.bl_searchUnit .bl_categoryUnit {
		margin-top: 0;
	}
	.bl_searchUnit .bl_categoryUnit li,
	.bl_searchUnit .bl_categoryUnit li:nth-of-type(3n) {
    width: 32%;
	}
	.bl_searchUnit .el_open {
    position: absolute;
    top: -51px;
    left: 170px;
	}
}
/*--------------------------------------------------
モーダル内検索 820px
--------------------------------------------------*/
@media screen and (max-width : 820px) {
	.bl_area dl li a:hover {
		padding: 0;
		background: none;
		color: var(--black);
	}
	.bl_area dl li .is-active:hover {
		background: var(--black);
		color: #fff;
		padding: 5px 15px;
		transition: .3s;
		border-radius: 40px;
		opacity: 1;
	}
	.el_city > ul li {
		width: 100%;
		margin-bottom: 13px!important;
		margin-right: 0!important;
	}
}
/*--------------------------------------------------
スマホ用 750px～430px
--------------------------------------------------*/
@media screen and (max-width : 750px) {
	/***検索用ページャー***/
	.bl_searchResult_number {
		text-align: center;
		left: 0;
		right: 0;
	}
	.bl_pagerUnit {
		justify-content: center;
		left: 0;
		right: 0;
		margin: auto;
	}
	.el_pager {
		margin: 0 3vw;
	}
	.bl_prev::before, .bl_next::before {
		margin-left: 1vw;
	}
	.bl_prev::before {
		margin-left: 0;
		margin-right: 1vw;
	}
	/***カード***/
	/*タイトル*/
	.bl_card_ttl {
		font-size: 18px;
		height: 90px;
	}
	/*ラベル*/
	.el_label {
		font-size: 14px;
		height: 25px;
		padding: 4px 0 0;
		min-width: 120px;
		margin-bottom: 2px;
	}
	/*青背景青文字部分*/
	.bl_card_detail li {
		font-size: 14px;
		padding-top: 3px;
    }
	/*モーダル内地域・都道府県*/
	.bl_areaList,
	.bl_prefList {
	    gap: 18px 13px;
	}
	.bl_area > dl > div {
		display: block;
	}
	.bl_area .el_pref {
		margin-top: 40px;
	}
	.bl_area dt {
		margin-bottom: 10px;
	}
	/*Works*/
	#works .bl_worksUnit .bl_card {
		padding: 0 0 30px;
		border-radius: 10px;
	}
	#works .bl_worksUnit .bl_card_header .bl_card_header_cont {
		margin-bottom: 5px;
	}
	#works .bl_worksUnit .bl_card_header .el_label {
    margin-right: 10px;
    letter-spacing: 0.3em;
    height: 25px;
    padding-top: 3px;
    min-width: 73px;
    padding: 4px 0 0;
	}
	#works .bl_worksUnit .bl_card_header .bl_card_header_cont dd {
		font-size: 14px;
		line-height: 1.5;
	}
	#works .bl_worksUnit .bl_card_ttl {
		font-size: 18px;
		height: auto;
	}
	#works .bl_worksUnit .bl_card_detail li {
		font-size: 16px;
	}
	#works .el_btn_more {
		margin-left: auto;
	}
}
/*--------------------------------------------------
検索エリア 600px
--------------------------------------------------*/
@media screen and (max-width : 600px) {
	.el_none {
		display: block!important;
	}
	.bl_searchUnit {
		display: none;
		padding: 55px 20px 40px;
	}
	.bl_searchUnit .el_search {
		display: block;
	}
	.bl_searchUnit .el_search + .el_search {
    margin-top: 30px;
	}
	.bl_searchUnit .el_search dt {
		width: 100%;
		font-size: 16px;
		margin-bottom: 10px;
	}
	.bl_searchUnit .el_search_free dd::after,
	.bl_searchUnit .el_search_company dd::after {
		width: 22px; 
		height: 22px; 
		top: 4px;
		right: 28px;
		content: "";
		background: url(https://learn-work-prod.s3.ap-northeast-1.amazonaws.com/images/service/lower/search.svg) center / cover no-repeat;
		display: block;
	}
	.bl_searchUnit .el_search_area dd {
    width: 200px;
    height: 41px;
    font-size: 16px;
	}
	.bl_searchUnit .el_search_area dd::after {
    width: 8px;
    height: 8px;
    right: 23px;
	}
	.bl_searchUnit .bl_typeUnit li {
		font-size: 16px;
		width: 100%!important;
	}
	.bl_searchUnit .el_search_category dd {
		margin-top: 10px;
	}
	.bl_searchUnit .el_open {
		position: relative;
		top: initial;
		left: initial;
		width: 200px;
    height: 41px;
    font-size: 16px;
	}
	.bl_searchUnit .el_open::after {
    top: 10px;
    right: 18px;
	}
	.bl_searchUnit .bl_categoryUnit {
		margin-top: 20px;
		display: block;
	}
	.bl_searchUnit .bl_categoryUnit li {
		width: 100%!important;
		font-size: 16px;
		margin-bottom: 15px;
	}
	.bl_searchUnit .bl_categoryUnit li label {
		display: flex; 
		align-items: center;
	}
	.bl_searchBtnUnit {
		margin-top: 40px;
	}
	.bl_searchBtn:last-of-type {
    margin-left: 16px;
	}
	#result .bl_searchResultList dl > div {
		display: block;
	}
	#result .bl_searchResultList dl > div dt {
		margin-right: 0;
		margin-bottom: 10px;
	}
}
/*--------------------------------------------------
検索用ページャー 500px
--------------------------------------------------*/
@media screen and (max-width : 500px) {
	.bl_pagerUnit {
		justify-content: space-between;
	}	
}
/*--------------------------------------------------
スマホ用 430px～320px
--------------------------------------------------*/
@media screen and (max-width : 429px) {
	.bl_searchResult_number {
		font-size: 4vw;
	}
	/*ラベル*/
	.el_label {
		padding: 4px 15px;
	}
	/*青背景青文字部分*/
	.bl_card_detail li {
		font-size: 13px;
		padding-top: 4px;
	}
	.bl_searchBtnUnit {
		display: block;
	}
	.bl_searchBtn {
		margin: auto;
	}
	.bl_searchBtn:last-of-type {
		margin-top: 20px;
		margin-left: auto;
	}
}