@charset "utf-8";

.keyVisual_content .innerBox .figure{
	background: url("../img/keyvisual_under.jpg") no-repeat center bottom / cover;
}

.keyVisual_content .keyVisual_title span::before{
	background: url("../img/p_voice_blue.png") no-repeat center bottom / contain;
	max-width: 126px;
	width: 100%;
	aspect-ratio: 252/151;
}

#sec_voice_under{
	padding: 70px 0 100px;
	border-bottom: solid 1px #000;
}
.bd-police #sec_voice_under{
	background: url("/voice/police/img/bg_border.png");
}
.bd-tenshoku #sec_voice_under{
	background: url("/voice/tenshoku/img/bg_border.png");
}

#sec_voice_under > .content{
	max-width: 1280px;
}

#sec_voice_under .page_title{
	margin-top: 0;
	margin-bottom: 40px;
	text-align: center;
}

#sec_voice_under .lead{
	font-size: 18px;
	line-height: 1.667;
}

@media screen and (max-width: 768px){
	.keyVisual_content .innerBox .figure{
		background-position: center ;
	}
	.keyVisual_content .keyVisual_title span{
		margin-left: 7.8125vw;
	}
	.keyVisual_content .keyVisual_title span::before{
		left: -5.599vw;
		width: 20%;
	}
	#sec_voice_under{
		padding: 70px 0 50px;
	}
	#sec_voice_under .page_title{
		font-size: clamp(20px,12.5vw,45px);
		margin-bottom: 30px;
	}
	#sec_voice_under .lead{
		text-align: left;
		font-size: 15px;
	}
}

/* ------------------------------------------------------------------------ */

/*  吹き出しエリア

/* ------------------------------------------------------------------------ */

#sec_voice_under .voiceBox{
	margin-top: 60px;
}

#sec_voice_under .voiceBox li{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
	transform: rotate(0);
}
#sec_voice_under .voiceBox li.row-left{
	flex-direction: row-reverse;
}

#sec_voice_under .voiceBox li + li{
	margin-top: 80px;
}

#sec_voice_under .voiceBox li .fig{
	border-radius: 50%;
	border: solid 1px #000;
	max-width: 100px;
	width: 100%;
	aspect-ratio: 1/1;
	flex-shrink: 0;
	background: #fff;
	overflow: hidden;
}

#sec_voice_under .voiceBox .txtBox{
	position: relative;
	background: #fff;
	border: solid 1px #000;
	border-radius: 10px;
	padding: 40px;
	padding-right: 36px;
	max-width: 940px;
	width: 100%;
}

#sec_voice_under .voiceBox li.row-right .txtBox::before,
#sec_voice_under .voiceBox li.row-right .txtBox::after,
#sec_voice_under .voiceBox li.row-left .txtBox::before,
#sec_voice_under .voiceBox li.row-left .txtBox::after{
	content: "";
	position: absolute;
	border-style: solid;
}

/* 左向き */
#sec_voice_under .voiceBox li.row-right .txtBox::before{
	top: 79px;
	right: 100%;
	border-width: 9px 21px 9px 0;
	border-color: transparent #000 transparent transparent;
}
#sec_voice_under .voiceBox li.row-right .txtBox::after{
	top: 80px;
	right: 100%;
	margin-right: -1px;
	border-width: 8px 20px 8px 0;
	border-color: transparent #fff transparent transparent;
}

/* 右向き */
#sec_voice_under .voiceBox li.row-left .txtBox::before{
	top: 79px;
	left: 100%;
	border-width: 9px 0 9px 21px;
	border-color: transparent transparent transparent #000;
}
#sec_voice_under .voiceBox li.row-left .txtBox::after{
	top: 80px;
	left: 100%;
	margin-left: -1px;
	border-width: 8px 0 8px 20px;
	border-color: transparent transparent transparent #fff;
}

#sec_voice_under .voiceBox li .ttl{
	font-size: 24px;
	margin-bottom: 12px;
}

#sec_voice_under .voiceBox li.row-right .person{
	margin-right: 36px;
}
#sec_voice_under .voiceBox li.row-left .person{
	margin-left: 36px;
}

#sec_voice_under .voiceBox .person{
	flex-shrink: 0;
	width: 60%;
}
#sec_voice_under .voiceBox .person.style1{
	max-width: 308px;
}
#sec_voice_under .voiceBox .person.style2{
	max-width: 300px;
}
#sec_voice_under .voiceBox .person.style3{
	max-width: 283.5px;
}
#sec_voice_under .voiceBox .person.style4{
	max-width: 260px;
}
	#sec_voice_under .voiceBox .person img{
		aspect-ratio: 1/1;
		width: 100%;
	}
	#sec_voice_under .voiceBox .person.style3 img{
		aspect-ratio: 567/611;
	}
	#sec_voice_under .voiceBox .person.style4 img{
		aspect-ratio: 520/600;
	}

#sec_voice_under .person figcaption{
	text-align: center;
	font-size: 26px;
	font-weight: 900;
	margin-top: 20px;
}

#sec_voice_under .voiceBox .idioms{
	margin-bottom: 40px;
	width: 60%;
}
	/* 県外出身者の声 */
	.bd-police #sec_voice_under .voice01 .idioms{
		max-width: 309px;
	}
	.bd-police #sec_voice_under .voice02 .idioms{
		max-width: 349px;
	}
	.bd-police #sec_voice_under .voice03 .idioms{
		max-width: 401px;
		width: 80%;
	}
	/* 社会人経験者の声 */
	.bd-tenshoku #sec_voice_under .voice01 .idioms{
		max-width: 300.5px;
	}
	.bd-tenshoku #sec_voice_under .voice02 .idioms{
		max-width: 534px;
		width: 80%;
	}
	.bd-tenshoku #sec_voice_under .voice03 .idioms{
		max-width: 394px;
	}

#sec_voice_under .voiceBox .txtBox .txt{
	font-size: 18px;
	line-height: 1.889;
	margin-top: 1em;
}

@media screen and (max-width: 768px){
	#sec_voice_under .voiceBox{
		margin-top: 30px;
	}
	#sec_voice_under .voiceBox li,
	#sec_voice_under .voiceBox li.row-left{
		flex-direction: column;
	}
	
	#sec_voice_under .voiceBox li + li{
		margin-top: 60px;
	}
	
	#sec_voice_under .voiceBox .txtBox{
		padding: 20px;
		padding-right: 16px;
		border-radius: 5px;
	}
	
	#sec_voice_under .voiceBox li .txtBox::before{
		border-width: 0 7px 17px 7px !important;
		border-color: transparent transparent #000 transparent !important;
		top: auto !important;
		right: auto !important;
		bottom: 100% !important;
		left: calc(100% / 2 - 8.5px) !important;
	}
	#sec_voice_under .voiceBox li .txtBox::after{
		border-width: 0 6px 16px 6px !important;
		border-color: transparent transparent #fff transparent !important;
		top: auto !important;
		right: auto !important;
		bottom: 100% !important;
		left: calc(100% / 2 - 7px) !important;
		margin: 0px !important;
	}
	
	#sec_voice_under .voiceBox .person{
		margin: 0 auto 20px !important;
	}
		#sec_voice_under .person figcaption{
			font-size: 18px;
			margin-top: 5px;
		}
	
	#sec_voice_under .voiceBox .idioms{
		margin-bottom: 20px;
	}
	#sec_voice_under .voiceBox .txtBox .txt{
		font-size: 14px;
	}
}

/* ------------------------------------------------------------------------ */

/*  各ページリンク

/* ------------------------------------------------------------------------ */

#sec_voice_link .page_title{
	border-bottom: solid 1px #000;
	text-align: center;
	margin: 0;
	transform: rotate(0);
}
	#sec_voice_link .page_title .content{
		display: block;
		border-right: solid 1px #000;
		border-left: solid 1px #000;
		padding: 100px 10px 60px;
		max-width: 1399px;
	}

#sec_voice_link > .content{
	border-right: solid 1px #000;
	border-left: solid 1px #000;
	max-width: 1399px;
}

#sec_voice_link ul{
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 14px;
	padding: 40px;
}

#sec_voice_link ul li{
	border-radius: 10px;
	border: solid 1px #000;
	overflow: hidden;
	width: calc(100% / 3);
	transform: rotate(0);
}
#sec_voice_link ul li.li-tenshoku{
	background: #ffe66b;
}
#sec_voice_link ul li.li-recruiter{
	background: #66ccc5;
}
#sec_voice_link ul li.li-challenge{
	background: #ff928a;
}
#sec_voice_link ul li.li-police{
	background: #00aeef;
}

#sec_voice_link li a{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-direction: column;
	transform: rotate(0);
	padding: 10px 10px 20px;
	font-size: 35px;
	font-weight: 900;
	color: #fff;
	-webkit-text-stroke: 1px #000;
	width: 100%;
	height: 100%;
	position: relative;
}

#sec_voice_link li .fig{
	display: block;
	transition: 0.3s;
	transform: rotate(0);
}
#sec_voice_link li.li-tenshoku .fig{
	background: url("/voice/img/link_under_01.webp") no-repeat center / contain;
	max-width: 230.5px;
	width: 62%;
	aspect-ratio: 461/400;
	margin-bottom: 8px;
	margin-left: 50px;
}
#sec_voice_link li.li-recruiter .fig{
	background: url("/voice/img/link_under_02.webp") no-repeat center / contain;
	max-width: 344px;
	width: 85%;
	aspect-ratio: 688/413;
	margin-bottom: -5px;
}
#sec_voice_link li.li-challenge .fig{
	background: url("/voice/img/link_under_03.webp") no-repeat center / contain;
	max-width: 295px;
	width: 77%;
	aspect-ratio: 590/400;
	margin-bottom: 0;
}
#sec_voice_link li.li-police .fig{
	background: url("/voice/img/link_under_04.webp") no-repeat center / contain;
	max-width: 262.5px;
	width: 67%;
	aspect-ratio: 525/400;
}

#sec_voice_link a:hover .fig{
	transform: rotate(0) scale(1.05);
}

@media screen and (max-width: 1024px){
	#sec_voice_link li a{
		font-size: clamp(20px, 3.8vw, 35px);
	}
	#sec_voice_link li.li-tenshoku .fig{
		margin-left: 18%;
	}
}
@media screen and (max-width: 768px){
	#sec_voice_link .page_title{
		border: none;
	}
	#sec_voice_link .page_title .content{
		font-size: clamp(14px,7.5vw,45px);
		padding: 50px 10px 20px;
	}
	#sec_voice_link ul{
		flex-direction: column;
		padding: 0 10px 60px;
		max-width: 480px;
		margin: 0 auto;
	}
	#sec_voice_link ul li{
		max-height: 150px;
		width: 100%;
		aspect-ratio: 610 / 240;
	}
	#sec_voice_link li a{
		flex-direction: row;
		justify-content: center;
		padding: 10px 20px;
	}
	#sec_voice_link li .fig{
		position: absolute;
	}
	#sec_voice_link li.li-tenshoku .fig{
		max-width: 153px;
		margin: 0;
		width: 41%;
		bottom: 0;
		left: 30px;
	}
	#sec_voice_link li.li-recruiter .fig{
		background-image: url("/voice/img/link_under_02_sp.webp");
		aspect-ratio: 665/479;
		max-width: 204px;
		width: 54%;
		right: -10px;
		bottom: -2px;
	}
	#sec_voice_link li.li-challenge .fig{
		max-width: 200px;
		width: 53%;
		bottom: -1px;
		left: -30px;
	}
	#sec_voice_link li.li-police .fig{
		max-width: 188px;
		margin: 0;
		width: 50%;
		bottom: 0;
		right: 0;
		left: auto;
	}
	#sec_voice_link li a{
		justify-content: flex-end;
	}
	#sec_voice_link li.li-police a,
	#sec_voice_link li.li-recruiter a{
		justify-content: flex-start;
	}
}

@media screen and (max-width: 767px){
	#sec_voice_link li a{
		justify-content: flex-end;
		font-size: clamp(20px,6vw,35px);
	}
}