@charset 'utf-8';


.articlelist.line.thumb {
	display: flex;
	flex-wrap: wrap;
}


.articlelist .item {
	width: 100%;
	display: block;
	cursor: auto;
}

.articlelist .item > .inner {
	display: block;
}

.articlelist .item article {
	display: block;
}

.articlelist .item article .thumb {
	width: 100%;
	margin-bottom: 1em;
}

.articlelist.thumb .item .enclosed {
	width: 100%;
	padding: 0;
}

#recruititems .articlelist .item figure span {
	display: block;
	width: 100%;
	height: 100%;
	transform: translateX(-50%);
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 50%;
}

#recruititems .articlelist .item figure img {
	width: 100%;
	height: auto;
}

@media only screen and (min-width: 481px) {

/* 
	.articlelist .item .thumb {
		width: 23%;
	}

	.articlelist.thumb .item .enclosed {
		width: 77%;
		padding-left: 5%;
	}
 */
}

@media only screen and (min-width: 541px) {

	.articlelist .item {
		width: calc(50% - 4px);
	}
}

@media only screen and (min-width: 1001px) {

	.articlelist .item {
		width: calc(33.333% - 4px);
	}
}


#recruititems {
	max-width: 1200px;
	margin: 0 auto;
	line-height: 1.4;
}

#recruititems .item {
/* 
	margin-bottom: -1px;
 */
	padding: 20px;
	border: none;
/* 
	margin: 2px;
	border: 1px solid #ccc;
 */
/* 
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #fff;
 */
	position: relative;
}

#recruititems .item:not(:last-child) {
	border-bottom: 1px solid #ccc;
}

#recruititems .item > .inner,
#recruititems .item > .inner > article {
	padding: 0;
	overflow: visible;
}

#recruititems .item .enclosed {
	font-size: 1.6em;
	line-height: 1.5;
}

#recruititems .item h2 {
	margin: 0;
/* 	margin-left: calc(20% + 25px); */
	margin-bottom: .7em;
	font-size: 1.4em;
	line-height: 1.4;
}

#recruititems .item .custommeta {
/* 	margin-left: calc(20% + 25px); */
	margin-bottom: .3em;
	color: #627175;
	font-size: .85em;
	text-align: left;
}

#recruititems .item .custommeta .recruitinfo {
	margin-bottom: .3em;
}

#recruititems .item .custommeta .recruitinfo span {
	display: inline-block;
}

#recruititems .item .custommeta .recruitinfo .delimiter {
	padding: 0 .5em;
}

#recruititems .item .custommeta .time {
	margin-bottom: .5em;
}

#recruititems .item .custommeta .jobtype span {
	display: inline-block;
	margin: 2px;
	padding: .4em 1em;
	border: 2px solid #003f73;
	background: #fff;
	color: #003f73;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

/*
.nurse .jobtype span {
	background: #c987b6;
}

.doctor .jobtype span {
	background: #5288d4;
}

.social-worker .jobtype span {
	background: #63af8b;
}

.clerk .jobtype span {
	background: #82889b;
}

.care-manager .jobtype span {
	background: #bca44e;
}

.care-worker .jobtype span {
	background: #e59088;
}

.cooks .jobtype span {
	background: #93cb5e;
}
*/

#recruititems .item .custommeta .orginfo {
	margin-bottom: .5em;
	background: #204068;
	color: #fff;
}

#recruititems .item .custommeta .orginfo span {
	display: inline-block;
	padding: .2em .5em;
	font-weight: 700;
}

#recruititems .item .additionelem {
	margin-bottom: 1em;
}

#recruititems .item .addition {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
}

#recruititems .item .addition:not(:last-child) {
	margin-bottom: .5em;
}

#recruititems .item .addition span {
	display: block;
}

#recruititems .item .addition span.head {
	width: 5.5em;
	color: #627175;
	font-size: .85em;
}

#recruititems .item .addition span.data {
	width: calc(100% - 5.5em);
}

#recruititems .item .addition span.data span {
	display: inline-block;
	margin: 2px;
	padding: .4em 1em;
	border: 2px solid #003f73;
	background: #003f73;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

#recruititems .item .btnarea a {
	width: 100%;
/* 
	padding: 1em;
	font-size: 1.2em !important;
 */
	font-weight: 700;
}

#recruititems .item .btnarea a[target="_blank"]:after {
	content: '\f109';
	margin-left: .5em;
	font-size: .85em;
	font-family: 'uiicon';
	font-weight: normal !important;
	vertical-align: middle;
}

#recruititems .item .thumb {
	width: 100%;
/* 
	position: absolute;
	top: 30px;
	left: 30px;
 */
}

#recruititems .item article .thumb {
/* 
	top: 0;
	left: 0;
 */
}

@media only screen and (min-width: 481px) {

	#recruititems .item {
/* 
		margin-bottom: 20px;
		padding: 20px;
		border: 1px solid #ccc;
 */
		border: none !important;
	}

	#recruititems .item h2,
	#recruititems .item .custommeta {
		margin-left: 0;
	}

/* 
	#recruititems .item .thumb {
		position: relative;
		top: auto;
		left: auto;
	}
 */
}

@media only screen and (min-width: 641px) {

	#recruititems {
	}

/* 
	#recruititems .item {
		padding: 30px 50px;
	}
 */

/* 
	#recruititems .item .addition:not(:last-child) {
		margin-bottom: .2em;
	}
 */
}

@media only screen and (min-width: 641px) {

	#recruititems .item .btnarea a {
		font-size: 1em !important;
	}
}


#entryclose {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
	font-size: 16px;
	line-height: 1.6;
}

body:not(.index) #entryclose {
	font-size: 1.8em;
}

#entryclose .inner {
	padding: 20px;
}

body.safearea:not(.index) #entryclose .inner {
	padding-left: calc(env(safe-area-inset-left) + 20px);
	padding-right: calc(env(safe-area-inset-right) + 20px);
}

#entryclose .sentence {
	padding: 30px 20px;
	border: 5px solid #dedee2;
	background: #f5f5f5;
}

#entryclose .sentence p {
	font-weight: 700;
}

#entryclose .sentence p:not(:last-child) {
	margin-bottom: 1em;
}

#entryclose .sentence .btnarea a.return:before {
	content: '\f100';
	margin-right: .5em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	vertical-align: middle;
}

#entryclose .sentence .btnarea a[target="_blank"]:after {
	content: '\f109';
	margin-left: .5em;
	font-size: .85em;
	font-family: 'uiicon';
	font-weight: normal !important;
	vertical-align: middle;
}

#filtertab {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	margin-bottom: 20px;
	padding: 0;
}

/* 
body.safearea #filtertab {
	padding-left: calc(env(safe-area-inset-left) + 20px);
	padding-right: calc(env(safe-area-inset-right) + 20px);
}
 */

#filtertab h2 {
	padding: 0;
	border-bottom: 1px solid #596ff4;
	font-size: 1rem;
	font-weight: 700;
	text-align: right;
}

#filtertab h2 span {
	display: inline-flex;
	align-items: center;
	padding: .5em 2.1em;
	background: #596ff4;
	color: #fff;
	font-size: .85em;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

#filtertab h2 span:after {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	margin-left: .5em;
	content: '\f104';
	font-size: 16px;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	line-height: 16px;
	transition: .2s;
	transform: rotate(90deg);
}

#filtertab h2 span:after {
	content: '';
	width: 16px;
	height: 16px;
	content: '\f104';
	font-size: 16px;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	line-height: 16px;
	transition: .2s;
	transform: rotate(90deg);
}

#filtertab h2.open span:after {
	transform: rotate(-90deg);
}

#filtertab ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

#filtertab .filtergroup:first-child ul {
	justify-content: center;
}

#filtertab li {
	list-style: none;
	font-size: 1.3em;
	transition: .2s;
}

#filtertab li span {
	display: inline-block;
	margin: 2px;
	padding: .4em 1em;
	border: 2px solid #003f73;
	background: #fff;
	color: #003f73;
	font-weight: 700;
	line-height: 1;
	transition: .2s;
	cursor: pointer;
}

#filtertab li span:hover {
	background: #003f73;
	color: #fff;
}

#filtertab li span.hold {
	background: #b0b8d0;
	color: #fff;
}

#filtertab li.mask {
	opacity: .5;
}

#filtertab li.mask.hover {
	opacity: .8;
}

.btnarea {
	max-width: 900px;
	margin: 0 auto;
}

@media only screen and (min-width: 481px) {

	#filtertab {
		padding: 0;
	}

	body.safearea #filtertab {
		padding-left: 0;
		padding-right: 0;
	}
}

.filterpanel {
	display: none;
	padding: 30px;
	background: #f6f7f9;
	border-bottom: 1px solid #7193ba;
}

.filtergroup:not(:last-child) {
	margin-bottom: 1.5em;
}

.filtergroup {
	padding-bottom: 1em;
}

.filtergroup:not(:last-child) {
	border-bottom: 1px solid #b0b8d0;
}

.filtergroup h4 {
	margin-bottom: .5em;
	font-size: 1.4em;
}

@media only screen and (min-width: 769px) {

	.filtergroup {
		display: flex;
	}
	
	.filtergroup h4 {
		width: 6em;
	}
	
	.filtergroup ul {
		width: calc(100% - 6em);
	}
}

