@charset "UTF-8";
@media screen and (min-width: 768px) {}
@media screen and (max-width: 767px) {}
/* =====================================
	全体設定
===================================== */
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}
/* =====================================
	header
===================================== */
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}

/* =====================================
	content
===================================== */

@media screen and (min-width: 768px) {
#mv {
	z-index: 1;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 258px;
	background: url("../img/recruit/recruit_bg.jpg") center center no-repeat;

}
#mv .ttlbox {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 387px;
	height: 200px;
	background: #ff0000;
	transform: skewX(-24deg);
	background-image: linear-gradient(90deg, #1ca7f6, #72c6f5);
	text-align: center;
}

#mv .ttlbox h3 {
	transform: skewX(24deg);
	color: #ffffff;
	text-align: center;
	line-height: 1.0;
}
#mv .ttlbox h3 span {
	display: inline-block;
	font-weight: 600;
}
#mv .ttlbox h3 span.main {
	margin-bottom: 10px;
	font-size: 42px; 
}
.cat07 #mv .ttlbox h3 span.main {
	font-size: 34px; 
}
#mv .ttlbox h3 span.sub01 {
	margin-bottom: 15px;
	font-size: 16px; 
}
#mv .ttlbox h3 span.sub02 {
	padding: 10px 12px;
	border: 1px solid #ffffff;
	border-radius: 6px;
	font-size: 18px;
}

#contents {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 1080px;
	margin: 0 auto;
	letter-spacing: 0.05em;
	padding-bottom: 120px;
}

#lnav {
	width: 240px;
}
#lnav ul {
	position: sticky;
	top: 110px;
	margin-bottom: 0;
}
#lnav ul li {
	margin-bottom: 0;
	font-size: calc(32/750*100vw);
}
#lnav ul li a {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 66px;
	padding-left: 12px;
	font-size: 14px;
	line-height: calc(21/14);
	border-bottom: 2px solid #fff;
	background: url("../img/index/sp/arrow01.png") 214px center no-repeat #f9f8f8;
	background-size: 9px;
}
#lnav ul li a:hover {
	color: #222222;
}
#lnav ul li.lnav01 a {
	border-left: 6px solid #1ca7f6;
}
#lnav ul li.lnav02 a {
	border-left: 6px solid #768ee6;
}
#lnav ul li.lnav03 a {
	border-left: 6px solid #f28389;
}
#lnav ul li.lnav04 a {
	border-left: 6px solid #f49975;
}
#lnav ul li.lnav05 a {
	border-left: 6px solid #12cf97;
}
#lnav ul li.lnav06 a {
	border-left: 6px solid #a4d21a;
}
#lnav ul li.lnav07 a {
	border-left: 6px solid #e0c21d;
}
.cat01 #lnav ul li.lnav01 a,
#lnav ul li.lnav01 a:hover {
	background-color: #e2f2fb;
}
.cat02 #lnav ul li.lnav02 a,
#lnav ul li.lnav02 a:hover {
	background-color: #e7ebfa;
}
.cat03 #lnav ul li.lnav03 a,
#lnav ul li.lnav03 a:hover {
	background-color: #fee8e9;
}
.cat04 #lnav ul li.lnav04 a,
#lnav ul li.lnav04 a:hover {
	background-color: #fee6dd;
}
.cat05 #lnav ul li.lnav05 a,
#lnav ul li.lnav05 a:hover {
	background-color: #e1f2ed;
}
.cat06 #lnav ul li.lnav06 a,
#lnav ul li.lnav06 a:hover {
	background-color: #edf3d9;
}
.cat07 #lnav ul li.lnav07 a,
#lnav ul li.lnav07 a:hover {
	background-color: #f3eed4;
}
	
}


.cat01 #mv .ttlbox {
	background-image: linear-gradient(90deg, #1ca7f6, #72c6f5);
}
.cat02 #mv .ttlbox {
	background-image: linear-gradient(90deg, #768ee6, #a0b2f4);
}
.cat03 #mv .ttlbox {
	background-image: linear-gradient(90deg, #f28389, #f5a3a8);
}
.cat04 #mv .ttlbox {
	background-image: linear-gradient(90deg, #f49975, #f8b094);
}
.cat05 #mv .ttlbox {
	background-image: linear-gradient(90deg, #12cf97, #5cd6b2);
}
.cat06 #mv .ttlbox {
	background-image: linear-gradient(90deg, #a4d21a, #b9de48);
}
.cat07 #mv .ttlbox {
	background-image: linear-gradient(90deg, #e0c21d, #e1ce63);
}


@media screen and (max-width: 767px) {
	main {
		padding-top: calc(110/750*100vw);

	}
	#mv {
		z-index: 1;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: calc(391/750*100vw);
		background: url("../img/recruit/sp/recruit_bg.jpg") center center no-repeat;
		background-size: 100% auto;

	}
	#mv .ttlbox {
		display: flex;
		justify-content: center;
		align-items: center;
		width: calc(467/750*100vw);
		height: calc(242/750*100vw);
		background: #ff0000;
		transform: skewX(-24deg);
		background-image: linear-gradient(90deg, #1ca7f6, #72c6f5);
		text-align: center;
	}
	#mv .ttlbox h3 {
		transform: skewX(24deg);
		color: #ffffff;
		text-align: center;
		line-height: 1.0;
	}
	#mv .ttlbox h3 span {
		display: inline-block;
		font-weight: 600;
	}
	#mv .ttlbox h3 span.main {
		margin-bottom: calc(15/750*100vw);
		font-size: calc(50/750*100vw); 
	}
	.cat07 #mv .ttlbox h3 span.main {
		font-size: calc(40/750*100vw); 
	}
	#mv .ttlbox h3 span.sub01 {
		margin-bottom: calc(20/750*100vw);
		font-size: calc(24/750*100vw); 
	}
	#mv .ttlbox h3 span.sub02 {
		padding: calc(8/750*100vw) calc(17/750*100vw) calc(12/750*100vw);
		border: calc(2/750*100vw) solid #ffffff;
		border-radius: calc(10/750*100vw);
		font-size: calc(28/750*100vw);
	}
	#contents {
		letter-spacing: 0.05em;
	}
	#lnav {
		display: none;
	}
	
}

@media screen and (min-width: 768px) {
	
#r_cont {
	width: 790px;
}
#r_cont.index h3 {
	padding: 12px 20px;
	background: #1ec7e0;
	border-radius: 10px;
	font-size: 22px;
	font-weight: 600;
	color: #fff;
}
.index .btn_area {
	padding: 30px 0 58px;
	text-align: center;
}

a.btn01 {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	height: 72px;
	padding: 0 78px 0 40px;
	line-height: 68px;
	text-align: left;
	font-size: 20px;
	font-weight: 600;
	color: #1ec7e0;
	background: #ffffff;
	border: 2px solid #1ec7e0;
	border-radius: 100px;
}
a.btn01 .arrow {
	position: absolute;
	right: 15px;
	top: 15px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	background-color: #1ec7e0;
}
a.btn01 .arrow span {
	display: inline-block;
	position: relative;
	width: 17px;
	height: 2px;
	background: #fff;
}

a.btn01 .arrow span::before {
	box-sizing: border-box;
	content: '';
	width: 10px;
	height: 10px;
	border: 2px solid #fff;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -1px;
}
a.btn01:hover {
	color: #ffffff;
	background: #1ec7e0;
}
a.btn01:hover .arrow {
	background-color: #ffffff;
}
a.btn01:hover .arrow span {
	background: #1ec7e0;
}
a.btn01:hover .arrow span::before {
	border: 2px solid #1ec7e0;
	border-left: 0;
	border-bottom: 0;
}
	
.index .info02 ul.list {
	margin-bottom: 30px;
}
.index .info02 ul.list li {
	border-bottom: 1px solid #dddddd
}

.index .info02 ul.list li a {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 78px;
	margin-bottom: 10px;
	padding: 10px 0;
	background: url("../img/recruit/circle_arrow.png") center right no-repeat;
	transition : 0.3s;
}
.index .info02 ul.list li a:hover {
	background: url("../img/recruit/circle_arrow_on.png") center right no-repeat;
	transition : 0.3s;
}
.index .info02 ul.list li a .day {
	width: 100px;
	font-size: 14px;
	font-family: "Sora", sans-serif;
}
.index .info02 ul.list li a .new {
	width: 78px;
}
.index .info02 ul.list li a p {
	width: 545px;
}
	
.info02 ul.past {
	display: flex;
	column-gap: 8px;
	margin-bottom: 60px;
}
.index .info02 ul.past li {
	text-align: center;
}

.index .info02 ul.past li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 190px;
	height: 50px;
	text-align: center;
	border: 1px solid #cccccc;
	border-radius: 10px;
}
.index .info02 ul.past li a:hover {
	border: 1px solid #1ec7e0;
	color: #1ec7e0;
}

	
}

@media screen and (max-width: 767px) {
	#r_cont {
		width: calc(650/750*100vw);
		margin: 0 auto;
		padding: calc(60/750*100vw) 0 calc(100/750*100vw);
	}
	#r_cont.index h3 {
		padding: calc(20/750*100vw) calc(30/750*100vw);
		background: #1ec7e0;
		border-radius: calc(16/750*100vw);
		font-size: calc(34/750*100vw);
		font-weight: 600;
		color: #fff;
	}
	.index .btn_area {
		padding: calc(40/750*100vw) 0 calc(80/750*100vw);
		text-align: center;
	}

	a.btn01 {
		position: relative;
		display: inline-block;
		box-sizing: border-box;
		height: calc(108/750*100vw);
		padding: 0 calc(105/750*100vw) 0 calc(45/750*100vw);
		line-height: calc(98/750*100vw);
		text-align: left;
		font-size: calc(32/750*100vw);
		font-weight: 600;
		color: #1ec7e0;
		background: #ffffff;
		border: calc(4/750*100vw) solid #1ec7e0;
		border-radius: calc(100/750*100vw);
	}
	a.btn01 .arrow {
		position: absolute;
		right: calc(21/750*100vw);
		top: calc(21/750*100vw);
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		width: calc(58/750*100vw);
		height: calc(58/750*100vw);
		border-radius: 9999px;
		background-color: #1ec7e0;
	}
	a.btn01 .arrow span {
		display: inline-block;
		position: relative;
		width: calc(25/750*100vw);
		height: calc(3/750*100vw);
		background: #fff;
	}

	a.btn01 .arrow span::before {
		box-sizing: border-box;
		content: '';
		width: calc(13/750*100vw);
		height: calc(13/750*100vw);
		border: calc(3/750*100vw) solid #fff;
		border-left: 0;
		border-bottom: 0;
		transform: rotate(45deg);
		transform-origin: top right;
		position: absolute;
		top: 50%;
		right: calc(-2/750*100vw);
	}
	a.btn01:hover {
		color: #ffffff;
		background: #1ec7e0;
	}
	a.btn01:hover .arrow {
		background-color: #ffffff;
	}
	a.btn01:hover .arrow span {
		background: #1ec7e0;
	}
	a.btn01:hover .arrow span::before {
		border: calc(3/750*100vw) solid #1ec7e0;
		border-left: 0;
		border-bottom: 0;
	}

	.index .info02 ul.list {
		margin-bottom: calc(40/750*100vw);
	}
	.index .info02 ul.list li {
		border-bottom: calc(2/750*100vw) solid #dddddd
	}

	.index .info02 ul.list li a {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		box-sizing: border-box;
		padding: calc(35/750*100vw) 0;
		background: url("../img/recruit/circle_arrow.png") center right no-repeat;
		background-size: calc(58/750*100vw) auto;
	}
	.index .info02 ul.list li a .day {
		margin: 0 calc(25/750*100vw) 0 0;
		font-size: calc(24/750*100vw);
		font-family: "Sora", sans-serif;
	}
	.index .info02 ul.list li a .new {
		width: calc(98/750*100vw);
	}
	.index .info02 ul.list li a p {
		width: calc(520/650*100vw);
		padding-top: calc(20/750*100vw);
	}

	.index .info02 ul.past {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: calc(60/750*100vw);
	}
	.index .info02 ul.past li {
		text-align: center;
		margin-bottom: calc(20/750*100vw);
	}

	.index .info02 ul.past li a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: calc(316/750*100vw);
		height: calc(70/750*100vw);
		text-align: center;
		border: calc(2/750*100vw) solid #cccccc;
		border-radius: calc(16/750*100vw);
	}
	
}

@media screen and (min-width: 768px) {
.article {
	font-size: 14px;
}
.article a {
	color: #01b6d1;
}
.tag {
	display: inline-block;
	height: 30px;
	margin-bottom: 26px;
	padding: 0 14px;
	line-height: 30px;
	font-size: 14px;
	font-weight: 600;
	color: #ffffff;
	background: #1ca7f6;
	border-radius: 6px;
}
.tag.un_t {
	background: #1ca7f6!important;
}
.tag.un_o {
	background: #768ee6!important;
}
.tag.hi_t {
	background: #f28389!important;
}
.tag.hi_o {
	background: #f49975!important;
}
.tag.ca_t {
	background: #12cf97!important;
}
.tag.ca_o {
	background: #a4d21a!important;
}
.tag02 {
	display: inline-block;
	height: 30px;
	margin: 0 0 10px 20px;
	padding: 0 0 0 20px;
	line-height: 30px;
	font-size: 14px;
	border-left: 1px solid #cccccc;
}
.article .head {
	margin-bottom: 35px;
}
.article h2 {
	margin-bottom: 25px;
	font-size: 36px;
	font-weight: 600;
	line-height: calc(50/36)
}
.article p.lead {
}

.article .tbl01 {
	border-collapse: collapse;
	border-top: 1px solid #dddddd;
}
.article .tbl01 th {
	box-sizing: border-box;
	width: 160px;
	padding: 25px 20px;
	background: #f2fcfe;
	border-bottom: 1px solid #dddddd;
	font-weight: 600;
}
.article .tbl01 td {
	box-sizing: border-box;
	padding: 25px 20px;
	border-bottom: 1px solid #dddddd;
}

}
@media screen and (max-width: 767px) {
	
	.article {
		font-size: calc(26/750*100vw);
	}
	.article a {
		color: #01b6d1;
	}
	.tag {
		display: inline-block;
		height: calc(60/750*100vw);
		margin-bottom: calc(40/750*100vw);
		padding: 0 calc(20/750*100vw);
		line-height: calc(54/750*100vw);
		font-size: calc(26/750*100vw);
		font-weight: 600;
		color: #ffffff;
		background: #1ca7f6;
		border-radius: calc(10/750*100vw);
	}
	.tag.un_t {
		background: #1ca7f6!important;
	}
	.tag.un_o {
		background: #768ee6!important;
	}
	.tag.hi_t {
		background: #f28389!important;
	}
	.tag.hi_o {
		background: #f49975!important;
	}
	.tag.ca_t {
		background: #12cf97!important;
	}
	.tag.ca_o {
		background: #a4d21a!important;
	}
	.tag02 {
		display: inline-block;
		height: calc(60/750*100vw);
		margin: 0 0 0 calc(25/750*100vw);
		padding: 0 0 0 calc(25/750*100vw);
		line-height: calc(60/750*100vw);
		font-size: calc(26/750*100vw);
		border-left: calc(2/750*100vw) solid #cccccc;
	}
	.article .head {
		margin-bottom: 35px;
	}
	.article h2 {
		margin-bottom: calc(25/750*100vw);
		font-size: calc(44/750*100vw);
		font-weight: 600;
		line-height: calc(50/36)
	}
	.article p.lead {
	}

	.article .tbl01 {
		display: block;
	}
	.article .tbl01 th {
		display: block;
		box-sizing: border-box;
		width: 100%;
		padding: calc(20/750*100vw) calc(25/750*100vw);
		background: #f2fcfe;
		border-top: calc(2/750*100vw) solid #dddddd;
		font-weight: 600;
	}
	.article .tbl01 td {
		display: block;
		box-sizing: border-box;
		padding: calc(20/750*100vw) 0 calc(30/750*100vw) calc(25/750*100vw);
	}
}




/* 
================================
2026/3　追加css
================================
*/

/* 
臨時的任用職員等用
================================*/
.temporary_wrap{
  width: 100%;
  margin-top: .8rem;
}
@media screen and (min-width: 768px) {
.temporary_wrap thead tr{
  display: flex;
  border-bottom: 1px solid #dddddd;
  background: #f9f8f8;
  padding: 2% 1%;
  & th:nth-child(1){
    width: 50%;
  }
  & th:nth-child(2){
    display: flex;
    width: 50%;
  }
  & th:nth-child(2) p:nth-child(1){
    width: 80%;
  }
}
.temporary_list{
  display: flex;
  min-height: 78px;
  margin-bottom: 10px;
  padding: 10px 1%;
  border-bottom: 1px solid #dddddd;
  & td{
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  & td .end_list{
    color: #ff0000;
  }
  & td:nth-child(1){
    width: 50%;
  }
  & td:nth-child(2){
    width: 50%;
  }
  & td .info{
    display: flex;
  }
  & td .info p:nth-child(1){
    width: 80%;
  }
  & td .info p:nth-child(2){
    width: 20%;
  }
  /* & td:nth-child(3){
    width: 10%;
  } */
}
}


@media screen and (max-width: 767px){
  .temporary_wrap{
    margin-top: .8rem;
  }
  .temporary_wrap thead{
    display:none;
  }
  .temporary_list{
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #dddddd;
    padding-top: 5%;
    &:first-child{
      padding-top: 0;
    }
    & td{
      display: flex;
      flex-direction: column;
    }
    & td .division{
      font-size: 110%;
      /* color: #1ec7e0; */
    }
    & td .division span{
      position: relative;
    }
    & td .division span img{
      width: auto !important;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
    }
    & td .end_list{
      color: #ff0000;
    }
    & td .info{
      display: flex;
      padding-top: calc(20 / 750 * 100vw);
      padding-bottom: calc(35 / 750 * 100vw);
    }
    & td .info p:nth-child(1){
      width: 80%;
    }
    & td .info p:nth-child(2){
      width: 20%;
      text-align: center;
    }
  }

}