@charset "UTF-8";
/* CSS Document */

/*
	ホリプロの事業
-----------------------------------------------------------------------------------------------*/
/* アンカー
========================================*/
.listBusinessAnchor{
	display: flex;
	gap: 10px;
	width: var(--col1Width);
	padding-inline: 30px;
	margin: 0 auto 45px auto;
}
.listBusinessAnchor li{
	width: 220px;
}
.listBusinessAnchor li a{
	display: grid;
	place-content: center;
	min-height: 62px;
	font-size: 1.4rem;
	font-weight: 600;
	border: 1px solid #000000;
	position: relative;
	transition: var(--trstCmn);
}
.listBusinessAnchor li a .num{
	display: grid;
	place-content: center;
	width: 90px;
	min-height: 16px;
	padding-top: 1px;
	font-family: var(--ffEn);
	font-size: 1.2rem;
	font-weight: 500;
	color: #FFFFFF;
	line-height: 100%;
	background-color: #000000;
	position: absolute;
	top: -9px;
	left: calc(50% - 45px);
}
.listBusinessAnchor li a::after{
	content: ' ';
	display: block;
	width: 1px;
	height: 20px;
	background-color: rgb(0 0 0 / 0.3);
	position: absolute;
	top: 52px;
	left: 109px;
	transition: var(--trstCmn);
}
@media (any-hover: hover){
	.listBusinessAnchor li a:hover{
		color: #FFFFFF;
		background-color: var(--clGold);
	}
	.listBusinessAnchor li a:hover::after{
		height: 0;
		bottom: -14px;
		top: auto;
	}
}

/* 各事業_レイアウト
========================================*/
.businessCtsArea{
	display: flex;
	align-items: flex-start;
}
.businessCtsArea .titBox{
	flex: 0 0 420px;
	display: flex;
	flex-direction: column;
	gap: 10px 0;
	height: 510px;
	padding: 90px 40px 40px 40px;
	background-color: var(--clNavy);
	position: relative;
	z-index: 1;
}
.businessCtsArea .titBox.jsAnm{
	opacity: 1;
}
.businessCtsArea .detailBox{
	margin-top: 55px;
	margin-left: -50px;
	padding: 60px 50px 60px 100px;
	background-color: var(--clGray);
}
/* 偶数 */
.businessWrapper .businessCtsArea:nth-of-type(even){
	flex-direction: row-reverse;
}
.businessWrapper .businessCtsArea:nth-of-type(even) .detailBox{
	flex-direction: row-reverse;
	margin-right: -50px;
	margin-left: 0;
	padding: 60px 100px 60px 50px;
}
/* パターン背景 */
.businessCtsArea .titBox::before{
	content: ' ';
	display: block;
	width: calc(50vw - 570px);
	height: calc(100% - 55px);
	background: var(--patSlash);
	border-top: 1px solid var(--clGold);
	border-bottom: 1px solid var(--clGold);
	position: absolute;
	bottom: 0;
	right: 100%;
}
.businessCtsArea:nth-of-type(even) .titBox::before{
	right: auto;
	left: 100%;
}
#business02.businessCtsArea .titBox::before,
#business05.businessCtsArea .titBox::before{
	background: var(--patGrid);
}
#business03.businessCtsArea .titBox::before{
	background: var(--patDots);
}

/* 各事業_タイトル
========================================*/
.businessCtsArea .titBox .tit{
	display: grid;
	align-items: center;
	min-height: 90px;
	font-size: 3.6rem;
	font-weight: 700;
	color: #FFFFFF;
	letter-spacing: 0.15em;
	line-height: 125%;
}
/* 数字 */
.businessCtsArea .titBox .tit .num{
	display: block;
	padding-bottom: 1px;
	font-family: var(--ffEn);
	font-size: 3rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 100%;
	color: var(--clGold);
	border-bottom: 1px solid var(--clGold);
	position: absolute;
	top: 40px;
	left: 40px;
}
/* タイトルテキスト */
.businessCtsArea .titBox .tit .txt{
	opacity: 0;
}
/* イラスト　*/
.businessCtsArea .titBox .pic{
	flex: 1 0 auto;
	align-content: center;
	text-align: center;
	opacity: 0;
}
/* animation */
.businessCtsArea .titBox.jsAnmStart .tit .txt,
.businessCtsArea .titBox.jsAnmStart .pic{
	animation: fadeInBlur var(--anmDurationBase) 1 normal var(--anmDelayBase) var(--anmEasingBase) forwards;
}

/* 各事業_詳細
========================================*/
/* キャッチ */
.businessCtsArea .detailBox .catch{
	margin-bottom: 15px;
	font-size: 2.6rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}
/* 本文 */
.businessCtsArea .detailBox .txt{
	font-size: 1.4rem;
	text-align: justify;
	line-height: 180%;
}
@media screen and (812px < width){
	.businessCtsArea .detailBox .txt{
		font-feature-settings: 'pkna';
		letter-spacing: 0;
	}
}
/* 関連する職種_タイトル */
.titRelated{
	width: 210px;
	padding-block: 3px 4px;
	margin-block: 25px -10px;
	font-size: 1.3rem;
	font-weight: 600;
	color: #FFFFFF;
	text-align: center;
	line-height: 100%;
	background-color: var(--clGold);
	position: relative;
	z-index: 1;
}
/* 関連する職種_詳細 */
.relatedBox{
	padding: 30px;
	background-color: rgb(255 255 255 / 0.4);
	position: relative;
}
.relatedBox.row{
	display: flex;
	gap: 0 30px;
	align-items: baseline;
}
.relatedBox:nth-of-type(n+2){
	margin-top: 2px;
}
#business03 .relatedBox{
	padding-bottom: 70px;
}
/* リスト */
.listRelated{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.listRelated li{
	display: grid;
	place-content: center;
	width: 277px;
	min-height: 32px;
	padding-bottom: 2px;
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--clNavy);
	letter-spacing: 0.075em;
	text-align: center;
	background-color: #FFFFFF;
	border: 1px solid var(--clNavy);
}
/* リンク */
#business01 .btnBtmLine, #business03 .btnBtmLine{
	position: absolute;
	bottom: 30px;
	right: 30px;
}
.relatedBox.row .btnBtmLine{
	position: relative;
	top: -2px;
} 
/* animation */
.businessCtsArea .detailBox.jsAnmStart{
	animation-duration: 0.55s;
	animation-delay: 0.55s;
}


@media screen and (812px < width){

}

@media (any-hover: hover){

}



/* 
	SP
-----------------------------------------------------------------------------------------------*/
@media screen and (width <= 812px){
	/*
		ホリプロの事業
	-----------------------------------------------------------------------------------------------*/
	/* アンカー
	========================================*/
	.listBusinessAnchor{
		flex-wrap: wrap;
		gap: 20px 5px;
		padding-inline: 25px;
		margin: 0 auto 25px auto;
	}
	.listBusinessAnchor li{
		width: calc((100% - 5px)/2);
	}
	.listBusinessAnchor li a{
		min-height: 36px;
		font-size: 1.1rem;
	}
	.listBusinessAnchor li a .num{
		width: 74px;
		min-height: 13px;
		font-size: 1rem;
		top: -7px;
		left: calc(50% - 37px);
	}
	.listBusinessAnchor li a::after{
		height: 10px;
		top: 30px;
		left: 50%;
	}
	@media (any-hover: hover){
		.listBusinessAnchor li a:hover::after{
			height: 0;
			bottom: -6px;
			top: auto;
		}
	}

	/* 各事業_レイアウト
	========================================*/
	.businessCtsArea{
		display: block;
		padding-bottom: 40px;
	}
	.businessCtsArea .titBox{
		flex-direction: column-reverse;
		gap: 17px 0;
		width: 290px;
		height: auto;
		padding: 50px 20px 18px 20px;
	}
	.businessCtsArea .detailBox{
		margin-top: -60px;
		margin-left: 0;
		padding: 80px 35px 35px 35px;
	}
	/* 偶数 */
	.businessWrapper .businessCtsArea:nth-of-type(even) .titBox{
		margin-inline: 0;
	}
	.businessWrapper .businessCtsArea:nth-of-type(even) .detailBox{
		padding: 80px 35px 35px 35px;
		margin-right: 0;
	}
	/* パターン背景 */
	.businessCtsArea .titBox::before{
		width: calc(50vw - 25px);
		height: calc(100% - 25px);
	}
	.businessCtsArea:nth-of-type(even) .titBox::before {
		right: 100%;
		left: auto;
	}

	/* 各事業_タイトル
	========================================*/
	.businessCtsArea .titBox .tit{
		min-height: auto;
		font-size: 2rem;
	}
	/* 数字 */
	.businessCtsArea .titBox .tit .num{
		padding-bottom: 1px;
		font-size: 1.5rem;
		top: 19px;
		left: 20px;
	}
	/* イラスト */
	.businessCtsArea .titBox .pic{
		min-height: 105px;
	}
	#business01.businessCtsArea .titBox .pic img{
		width: 110px;
	}
	#business02.businessCtsArea .titBox .pic img{
		width: 100px;
	}
	#business03.businessCtsArea .titBox .pic img{
		width: 105px;
	}
	#business04.businessCtsArea .titBox .pic img{
		width: 126px;
	}
	#business05.businessCtsArea .titBox .pic img{
		width: 113px;
	}
	
	/* 各事業_詳細
	========================================*/
	/* キャッチ */
	.businessCtsArea .detailBox .catch{
		margin-right: -11px;
		margin-bottom: 8px;
		font-size: 1.6rem;
		letter-spacing: 0.05em;
	}
	/* 本文 */
	.businessCtsArea .detailBox .txt{
		font-size: 1.4rem;
		line-height: 160%;
	}
	/* 関連する職種_タイトル */
	.titRelated{
		width: fit-content;
		padding: 3px 25px 4px 25px;
		margin-block: 20px -10px;
		font-size: 1.2rem;
	}
	/* 関連する職種_詳細 */
	.relatedBox{
		padding: 20px 10px 43px 10px;
	}
	.relatedBox.row{
		display: block;
	}
	.relatedBox:nth-of-type(n+2){
		padding-top: 10px;
	}
	#business03 .relatedBox{
		padding-bottom: 43px;
	}
	/* リスト */
	.listRelated{
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
	}
	.listRelated li{
		width: 100%;
		min-height: 24px;
		padding-bottom: 1px;
		font-size: 1rem;
	}
	/* リンク */
	#business01 .btnBtmLine, #business03 .btnBtmLine, .relatedBox.row .btnBtmLine{
		bottom: 10px;
		right: 10px;
	}
	.relatedBox.row .btnBtmLine{
		position: absolute;
		top: auto;
	} 
	/* animation */
	.businessCtsArea .detailBox.anmFadeInLtoR.jsAnmStart{
		animation-name: fadeInRtoL;
	}
	
}
@media only screen and (width <= 812px) and (orientation: landscape){
	
}