@charset "utf-8";


/* =====================================================
people
===================================================== */
#people{
	margin-bottom: 9.375rem;
}
.filter_container{
	position: relative;
	border-top: 1px solid #CCD2DE;
	border-bottom: 1px solid #CCD2DE;
	padding: 3.125rem 0;
	margin-bottom: 5rem;
}
.filter_container .filter_label{
	position: absolute;
	top: 0.625rem;
	left: 0;
	color: #B89E7E;
	font-size: 0.875rem;
	letter-spacing: 0;
}
.filterflex{
	display: flex;
	justify-content: space-between;
}
.filterflex .filter_title{
	font-size: 1.25rem;
	flex: 1;
}
.filterflex .filter_conditions{
	width: 63.5rem;
}
.filterflex .filter_conditions ul{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.625rem;
}
.filterflex .conditionsflex button,.filterflex .filter_search button{
	color: #143369;
	font-family: YakuHanMP, "Noto Serif JP", serif;
  font-weight: 500;
	font-size: 0.75rem;
	background: #FFF;
	border: 1px solid #ccd2de;
	border-radius: 1rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 1.375rem;
	height: 2rem;
	transition: .3s;
}
.filterflex .conditionsflex button:hover,.filterflex .conditionsflex button.is-active,
.filterflex .filter_search button:hover,.filterflex .filter_search button.is-active{
	background: #143369;
	border: 1px solid #143369;
	color: #FFF;
}
.filter_conditions{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.filter_conditions .conditions_job{
	width: 34.375rem;
}
.filter_conditions .conditions_class{
	width: 28.75rem;
}
.filter_conditions .conditions_year{
	width: 100%;
}
.conditionsflex{
	display: flex;
	align-items: center;
	margin-bottom: 1.25rem;
}
.conditionsflex .conditions_label{
	border-right: 1px solid #CCD2DE;
	margin-right: 1.8125rem;
	padding-right: 1.8125rem;
}
.filter_search{
	width: 100%;
}
.filter_search_ac{
	background: #FFF;
	border-radius: 5px;
	padding: 1.625rem 2.5rem;
	margin-top: 1.25rem;
	margin-bottom: 2.5rem;
}
.search_termslist{
	display: none;
	border-top: 1px solid #ccd2de;
	margin-top: 1.25rem;
}
.searchlabel{
	display:flex;
	justify-content:space-between;
	align-items:center;
	cursor:pointer;
}
.searchlabel .ac_icon{
	position:relative;
	display:block;
	width:2.5rem;
	height:1.5rem;
	border: 1px solid #143369;
	border-radius:0.75rem;
	background:#143369;
	flex-shrink:0;
}
.filter_search_ac.is-open .searchlabel .ac_icon{
	border: 1px solid #143369;
	background:#FFF;
}
.searchlabel .ac_icon::before{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:0.625rem;
	height:1px;
	background:#FFF;
	transform:translate(-50%,-50%);
}
.searchlabel .ac_icon::after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:1px;
	height:0.625rem;
	background:#FFF;
	transform:translate(-50%,-50%);
	transition:.3s;
}
.filter_search_ac.is-open .ac_icon::before{
	background: #143369;
}
.filter_search_ac.is-open .ac_icon::after{
	background: #143369;
	transform:translate(-50%,-50%) rotate(90deg);
}
.termsflex{
	display: flex;
	margin-top: 1.25rem;
}
.termsflex .terms_label{
	border-right: 1px solid #CCD2DE;
	width: 6.25rem;
	margin-right: 1.875rem;
}
.termsflex .terms_list{
	flex: 1;
}
.searchbtn{
	width: 100%;
	text-align: center;
}
.searchbtn .sendbtn{
	display: inline-flex;
}
.peopleslider_bottom{
	margin-top: 3.775rem;
}
.peopleslide_progress-bar{
	position:relative;
	height:1px;
	background:#ccd2de;
}
.peopleslide_progress-current{
	position:absolute;
	top:0;
	left:0;
	width:0;
	height:100%;
	background:#143369;
}
.peopleslide_progress-bar{
	margin-bottom: 1.25rem;
}
.people_bottom{
	margin-top: 6.25rem;;
}
.pagebackbtn{
	margin-top: 5rem;
}
.people_contents_nofliter{
	border-top: 1px solid #CCD2DE;
	/* no filter css */
	margin-top: 6.875rem;
	padding-top: 5rem;
}
.contentsflex.three-column{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap:3.125rem 1.875rem;
}
.contentsflex.three-column .contentsitem{
	width: calc((100% - 3.75rem) / 3);
}
.contentsflex.three-column .contentsitem a{
	position: relative;
  border-radius: 5px;
  background: #FFF;
  display: flex;
	height: 7.5rem;
  align-items: center;
  padding: 0 2.5rem;
	box-shadow: 0 5px 30px rgba(20, 51, 105, 0.08);
}
#benefit01,#benefit02,#benefit03,#related{
	margin-top: 9.375rem;
}
#voices{
	margin-top: 8.125rem;
}
.benefithead .leadtext,.voiceshead .leadtext{
  font-size: 1rem;
  line-height: 2;
  /*width: 39rem;*/
	width: 40.875rem;
  margin-left: auto;
	margin-bottom: 3.125rem;
}
.benefitlist .benefit{
	position: relative;
  border-radius: 5px;
  background: #FFF;
	padding: 2.5rem;
	text-align: center;
	box-shadow: 0 5px 30px rgba(20, 51, 105, 0.08);
}
.benefit .benefit_icon{
	text-align: center;
	margin-bottom: 1.25rem;
}
.benefit .benefit_icon img{
	width: 11rem;
}
.benefit h3{
	font-size: 1.25rem;
	letter-spacing: 0.03em;
	margin-bottom: 1.25rem;
}
.benefit p{
	font-size: 1rem;
	text-align: left;
}

.numberlist{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:1.875rem;
}
.numberinfo{
	border-radius: 5px;
	background: #FFF;
	width: calc((100% - 1.875rem) / 2);
	padding: 2.5rem 2.5rem 1.5625rem;
}
.numberhead{
	display: flex;
	align-items: center;
}
.numberhead .numbericon{
	width: 11.875rem;
	margin-left: -1.625rem;
	margin-top: -1.5rem;
}
.numberhead h3 {
	font-size: 1.625rem;
	margin-top: -2.5rem;
	margin-left: 0.75rem;
}
.womennumber{
	color: #B89E7E;
	font-family: "antonia-variable",sans-serif;
  font-variation-settings: 'wght' 385, 'opsz' 48;
	font-size: 8.75rem;
	line-height: 1;
	text-align: right;
	margin-top: -2rem;
  margin-right: 2.25rem;
}
.womennumber .num{
	position: relative;
	display: inline-block;
}
.womennumber .num sup{
	position: absolute;
  top: 1.25rem;
  right: -1.25rem;
  font-size: 0.875rem;
}
.womennumber span{
	font-size: 1.875rem;
}
.womennumber small{
	font-size: 1.125rem;
}
.numberdata{
	border-top: 1px solid #ccd2de;
	margin-top: 0.875rem;
	padding-top: 1.5rem;
}
.averageflex{
	display: flex;
}
.averageflex .average{
	border-right: 1px solid #ccd2de;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12.75rem;
	font-size: 1rem;
	padding-right: 1.25rem;
}
.averageflex .average_comparison{
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	font-size: 1rem;
	letter-spacing: 0.1em;
	padding-left: 0.625rem;
}
.averageflex .average_comparison .pt{
	color: #B89E7E;
  font-family: "antonia-variable",sans-serif;
  font-variation-settings: 'wght' 385, 'opsz' 48;
	font-size: 3.75rem;
	line-height: 1;
	letter-spacing: 0;
	margin-left: 1.25rem;
}
.averageflex .average_comparison .pt span{
	font-size: 1.875rem;
	margin-left: 0.3125rem;
}
#numbers .inner p.note{
	font-size: 0.75rem;
	margin-top: 0.9375rem;
}
#related.mt70{
	margin-top: 3.75rem;
}

@media screen and (max-width: 767px) {
	#people{
		margin-bottom: 3.75rem;
	}
	.filter_container{
		padding: 1.125rem 0;
		margin-bottom: 2rem;
	}
	.filter_container .filter_label{
		top: 0.5rem;
		font-size: 0.4375rem;
	}
	.people_contents_nofliter{
		/* no filter css */
		padding-top: 2rem;
		margin-top: 2rem;
	}
	.filterflex{
		display:block;
	}
	.filterflex .filter_title{
		font-size: 0.5rem;
	}
	.filterflex .filter_conditions{
		width: 100%;
		margin-top: 1rem;
	}
	.filterflex .filter_conditions ul{
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 0.3125rem;
	}
	.filterflex .filter_conditions ul li{
		font-size: 0;
	}
	.filterflex .conditionsflex button,.filterflex .filter_search button{
		font-size: 0.375rem;
		padding: 0 0.46875rem;
		height: 1rem;
	}
	.filterflex .conditionsflex button:hover,.filterflex .conditionsflex button.is-active,
	.filterflex .filter_search button:hover,.filterflex .filter_search button.is-active{
		background: #143369;
		border: 1px solid #143369;
		color: #FFF;
	}
	.filter_conditions{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.filter_conditions .conditions_job,
	.filter_conditions .conditions_class,
	.filter_conditions .conditions_year{
		width: 100%;
	}
	.conditionsflex{
		display: block;
		margin-bottom: 0.625rem;
	}
	.conditionsflex .conditions_label{
		font-size: 0.4375rem;
		margin-right: 0;
		margin-bottom: 0.3125rem;
		padding-right: 0;
	}
	.filter_search{
		width: 100%;
	}
	.filter_search_ac{
		padding: 0.75rem 0.625rem;
		margin-top: 0.625rem;
		margin-bottom: 0.9375rem;
	}
	.search_termslist{
		margin-top: 0.625rem;
	}
	.searchlabel{
		font-size: 0.4375rem;
	}
	.searchlabel .ac_icon{
		width:1.25rem;
		height:0.75rem;
	}
	.searchlabel .ac_icon::before{
		width:0.3125rem;
	}
	.searchlabel .ac_icon::after{
		height:0.3125rem;
	}
	.filter_search_ac.is-open .ac_icon::after{
		transform:translate(-50%,-50%) rotate(90deg);
	}
	.termsflex{
		display: block;
		margin-top: 0.625rem;
	}
	.termsflex .terms_label{
		font-size: 0.4375rem;
		border-right: none;
		width: 100%;
		margin-right:0;
		margin-bottom: 0.3125rem;
	}
	.searchbtn{
		width: 100%;
		text-align: center;
	}
	.searchbtn .sendbtn{
		display: inline-flex;
	}
	.peopleslide_progress-bar {
		margin-bottom: 0.375rem;
	}
	.peopleslider_bottom {
		margin-top: 0.725rem;
	}
	.people_bottom{
		margin-top: 3.125rem;
	}
	.pagebackbtn{
		margin-top: 1.875rem;
	}
	
	.contentsflex.three-column{
		display: block;
	}
	.contentsflex.three-column .contentsitem{
		width: 100%;
		margin-bottom: 0.3125rem;
	}
	.contentsflex.three-column .contentsitem a{
		font-size: 0.5rem;
		padding: 0.9375rem;
		height: 3.125rem;
	}
	#benefit01,#benefit02,#benefit03,#voices,#related{
		margin-top: 3.125rem;
	}
	.benefithead .leadtext,.voiceshead .leadtext{
		font-size: 0.4375rem;
		width: 100%;
		margin-bottom: 0.9375rem;
	}
	.benefitlist .benefit{
		padding: 0.9375rem;
	}
	.benefit .benefithead{
		display: flex;
		align-items: center;
		margin-bottom: 0;
	}
	.benefit .benefithead .benefit_icon{
		width: 4.625rem;
		margin-left: -0.625rem;
		margin-top: -0.625rem;
		margin-bottom: 0;
	}
	.benefit .benefit_icon img{
		width: 100%;
	}
	.benefit h3{
		flex: 1;
		font-size: 0.5625rem;
		margin-top: -0.625rem;
		margin-left: 0.3125rem;
		margin-bottom: 0;
		text-align: left;
	}
	.benefit p{
		font-size: 0.4375rem;
	}
	.numberlist {
    display: block;
	}
	.numberinfo {
		width: 100%;
    padding: 0.9375rem 0.625rem 0.625rem;
		margin-bottom: 0.3125rem;
	}
	.numberhead .numbericon {
    width: 4.6875rem;
    margin-left: -0.625rem;
    margin-top: -0.5rem;
	}
	.numberhead h3 {
    font-size: 0.5625rem;
    margin-top: -0.625rem;
    margin-left: 0.25rem;
	}
	.womennumber{
		font-size: 2.625rem;
		margin: 0;
		text-align: center;
	}
	.womennumber span {
    font-size: 0.5625rem;
	}
	.womennumber small{
		font-size: 0.375rem;
	}
	.averageflex .average {
    width: 3.5625rem;
    padding-right: 0.3125rem;
		font-size: 0.375rem;
		letter-spacing: 0.02em;
	}
	.averageflex .average_comparison {
    font-size: 0.375rem;
    padding-left: 0.3125rem;
	}
	.averageflex .average_comparison .pt {
    font-size: 0.875rem;
    margin-left: 0.3125rem;
	}
	.averageflex .average_comparison .pt span {
    font-size: 0.4375rem;
    margin-left: 0.0625rem;
	}
	.numberdata {
    margin-top: 0.6875rem;
    padding-top: 0.625rem;
	}
	.cardlist .card .cardinner .cardhead .cat {
    font-size: 0.3125rem;
    margin-left: 0.3125rem;
	}
	.cardlist .card .cardinner .cardhead p {
    font-size: 0.375rem;
	}
	.cardlist .card .cardinner .cardhead{
		margin-bottom: 0.625rem;
	}
	.womennumber .num sup{
		position: absolute;
		top: 0.4125rem;
		right: -0.6125rem;
		font-size: 0.3125rem;
	}
	#numbers .inner p.note{
		font-size: 0.3125rem;
		margin-top: 0.3125rem;
	}
}

