/* 全体背景 */
.flow-area {
	/* background-color: #effbff; */
	background: url(../img/lbl_bg.jpg) top left;
	padding: 50px 0;
}
/* タイトル */
.sec-ttl-flow {
	text-align: center;
	margin-bottom: 50px;
}
.sec-ttl-flow .jp {
	display: block;
	font-size: 3rem;
	font-weight: bold;
}
.sec-ttl-flow .en {
	display: block;
	font-size: 1.5rem;
	color: #999;
	margin-top: 5px;
}
/* リスト */
.flow-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 10px;
}
/* カード */
.flow-item {
	background: #fff;
	/* ←採用フローカードの白 */
	padding: 25px 20px;
	border-radius: 10px;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
}
/* ヘッダー（丸数字・タイトル） */
/* .flow-header {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
} */
/* 丸数字 */
.flow-num {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-weight: bold;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	/* background: #333; */
	background: #0075c1;
	color: #fff;
	flex-shrink: 0;
	margin-right: 12px;
}
.flow-header {
	display: flex;
	flex-direction: column;
	/* ←縦方向に変更 */
	align-items: center;
	/* 中央揃え */
	gap: 10px;
	/* 数字とタイトルの隙間 */
}
/* タイトル */
.flow-header h3 {
	font-size: 1.6rem;
	font-weight: bold;
	color: #444;
}
/* 文章 */
.flow-text {
	line-height: 1.7;
	font-size: 1.5rem;
	color: #444;
	padding: 10px 0 0 0;
}
.flow-num {
	margin-right: 0;
	/* 横並び時の余白をリセット */
}
.flow-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.flow-list li {
	width: calc((100% - -75px) / 8);
	box-sizing: border-box;
}
/* -----------------------------------------------------------
   募集要項テーブル（共通）
-------------------------------------------------------------- */
#recruit .positionsbox {
	padding: 60px 0;
}
#recruit .positionsbox .table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	font-size: 1.6rem;
	line-height: 1.8;
}
#recruit .positionsbox .table tr {
	border-bottom: 1px solid #e5e5e5;
}
#recruit .positionsbox .table th {
	width: 25%;
	/* background-color: #F6F6FB; 採用ページの薄グレー */
	background-color: #4F9EB7;
	/* color: #333; */
	color: #ffffff;
	font-weight: bold;
	padding: 25px 20px;
	text-align: left;
	font-size: 1.7rem;
	vertical-align: top;
}
#recruit .positionsbox .table td {
	padding: 25px 20px;
	background-color: #fff;
	vertical-align: top;
}
#recruit .positionsbox .table .list {
	list-style: disc;
	margin-left: 20px;
	padding-left: 10px;
}
#recruit .positionsbox .table .list li {
	margin-bottom: 8px;
	line-height: 1.7;
}
/* 強調（合計など） */
#recruit .positionsbox .table strong {
	font-weight: bold;
	font-size: 1.7rem;
	color: #4475be;
}
/* -----------------------------------------------------------
   スマホ調整
-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
	.sec-ttl-flow .jp {
		font-size: 2rem;
	}
	#recruit .positionsbox {
		padding: 40px 0;
	}
	#recruit .positionsbox .table,
	#recruit .positionsbox .table tr,
	#recruit .positionsbox .table td,
	#recruit .positionsbox .table th {
		display: block;
		width: 100%;
	}
	#recruit .positionsbox .table th {
		background-color: #4F9EB7;
		color: #fff;
		padding: 15px 15px;
		border-radius: 6px 6px 0 0;
		margin-top: 25px;
		font-size: 1.6rem;
	}
	#recruit .positionsbox .table td {
		background: #fff;
		padding: 15px;
		border: 1px solid #e5e5e5;
		border-top: none;
		border-radius: 0 0 6px 6px;
		font-size: 1.5rem;
	}
	#recruit .positionsbox .table .list {
		margin-left: 0;
		padding-left: 20px;
	}
	.flow-list li {
		width: calc((100% - -75px) / 1);
	}
	.flow-area {
		/* padding: 20px; */
		padding: 30px 20px;
	}
	.flow-item {
		padding: 10px 20px;
	}
	#recruit .positionsbox .table {
		background: none;
	}
	.sec-ttl-flow {
		text-align: center;
		margin-bottom: 10px;
	}
	#recruit .positionsbox .table th {
		background-color: #4F9EB7;
		margin-top: 10px;
	}
}
a.blue {
	color: #4475be;
}

.sec-ttl-flow {
  position: relative;
  text-align: center;
  padding: 0 0 20px;
  margin: 0 0 20px;
}

.sec-ttl-flow .jp::after {
  background: #0075c1;
  content: "";
  display: block;
  height: 3px;
  width: 60px;
  margin: auto;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}
table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

/* 行 */
table tr {
  border-bottom: 1px solid #ddd;
}

/* 見出しセル */
table th {
  width: 15%;
  padding: 15px 20px;
  color: #fff;
  background: #0075c1;
  text-align: left;
  vertical-align: inherit;
  font-weight: bold;
  font-size: 1.6rem;
}

/* 内容セル */
table td {
  padding: 25px;
  font-size: 1.6rem;
  line-height: 1.8;
  vertical-align: top;
}

/* td 内リスト */
table td ul {
  margin: 0;
  padding-left: 1.2em;
}

table td ul {
  margin: 0;
  padding: 0;
}

table td ul li {
  list-style: disc;
  margin-bottom: 5px;
}

table td ul li {
  position: relative;
  padding-left: 14px; /* ●の分の余白 */
  list-style: none;   /* 既存の黒丸を消す */
}

table td ul li::after {
  content: '';
  position: absolute;
  top: 0.6em;         /* 行の中央に来やすい */
  left: 0;
  width: 5px;
  height: 5px;
  background: #0075c1;
  border-radius: 50%;
}
@media screen and (max-width: 667px){

  table {
    background: none;
    border: none;
    margin: 0;
  }

  table tr {
    border-bottom: none;
    margin-bottom: 15px;
  }

  table th,
  table td {
    display: block;
    width: 100%;
  }

  table th {
    background: #0075c1;
    font-weight: bold;
	padding: 12px 20px;
  }

  table td {
    padding: 5px 10px 20px;
  }

  #recruit .positionsbox:last-child{
  	padding: 60px 0 0 0;
	}


}

/* 20251219 追加 */
.text-right {
	text-align: right;
}
.flow-text.icon img {
	margin-top: 8px;
  margin-left: 8px;
}
@media screen and (max-width: 667px){
  .flow-text.icon img {
    display: block;
    margin: 0 auto;
  }
    .flow-text.icon {
		padding: 5px 0 0 0;
	}
}