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

/*
	共通
-----------------------------------------------------------------------------------------------*/
#pageTitArea .titSub{
	color: var(--mainRed);
}


/*
	実績一覧
-----------------------------------------------------------------------------------------------*/
.listTag{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px 30px;
	padding: 30px;
	margin-bottom: 60px;
	border: 1px solid var(--otherGray);
}
.listTag li a{
	display: block;
	padding-left: 1em;
	font-size: 1.5rem;
	line-height: 145%;
	color: var(--tagGray);
	text-indent: -1em;
	transition: color 0.25s;
}
.listTag li a::before{
	content:'＃';
}
.listTag li.active a{
	color: var(--mainRed);
}
@media screen and (min-width:813px){
	.listTag li a:hover{
		color: #000000;
	}
	.listCaseIdx li:nth-of-type(3n - 1){
		animation-delay: 0.35s;
	}
	.listCaseIdx li:nth-of-type(3n){
		animation-delay: 0.45s;
	}
}

/*
	実績詳細
-----------------------------------------------------------------------------------------------*/
/* KV
--------------------------------------*/
.kvCaseBox{
	width: 900px;
	padding-bottom: 45px;
	margin: 0 auto;
}

/* 写真 */
.kvCaseBox .ph{
	width: fit-content;
	margin: 0 auto;
	overflow: hidden;
}
.kvCaseBox .ph img{
	max-width: 680px;
	max-height: 450px;
	object-fit: contain;
	opacity: 0;
	animation: fadeInScale 0.75s 1 normal 0.25s cubic-bezier(0.65, 0.05, 0.36, 1) forwards;
}

/* 動画 */
.kvCaseBox .mv iframe {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: 100%;
	animation: fadeInScale 0.75s 1 normal 0.25s cubic-bezier(0.65, 0.05, 0.36, 1) forwards;
}

/* 説明 */
.kvCaseBox .txt{
	width: fit-content;
	margin: 33px auto 0 auto;
	text-align: justify;
	opacity: 0;
	animation: fadeIn 0.75s 1 normal 0.25s cubic-bezier(0.65, 0.05, 0.36, 1) forwards;

}

/* 関連リンク（外部） */
.listRelatedLink{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 26px;
	opacity: 0;
	animation: fadeIn 0.75s 1 normal 0.25s cubic-bezier(0.65, 0.05, 0.36, 1) forwards;
}
.listRelatedLink li a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-width: 140px;
	min-height: 26px;
	padding: 4px 25px 4px 10px;
	font-size: 1.1rem;
	color: #FFFFFF;
	background: url(../images/ico_window_bk.svg) right 10px top 8px / 9px 9px no-repeat #000000;
	position: relative;
	transition: color 0.25s, background-color 0.25s;
}
.listRelatedLink li a::after{
	content: ' ';
	display: block;
	width: 9px;
	height: 9px;
	background: url(../images/ico_window.svg) left top / 9px 9px no-repeat;
	position: absolute;
	top: 8px;
	right: 10px;
	transition: opacity 0.25s, right 0.25s;
}
.listRelatedLink li a:hover::after{
	right: 0;
}
@media screen and (min-width:813px){
	.listRelatedLink li a:hover{
		color: #000000;
		background-color: #FFFFFF;
	}
	.listRelatedLink li a:hover::after{
		right: 0;
		opacity: 0;
	}
}

/* サブ写真
--------------------------------------*/
.caseSubPhArea{
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	padding-top: 60px;
}
.caseSubPhArea .subPhBox{
	flex: 0 0 var(--col3Width);
	display: flex;
	flex-direction: column;
	align-items: center;
	width: var(--col3Width);
}
.caseSubPhArea .subPhBox img{
	max-width: 340px;
	max-height: 400px;
	object-fit: contain;
}
.caseSubPhArea .subPhBox .txt{
	margin-top: 8px;
	font-size: 1.2rem;
	line-height: 145%;
}


@media screen and (max-width:812px){
	/*
		実績一覧
	-----------------------------------------------------------------------------------------------*/
	#pageTitArea .tit.ls01{
		font-size: 2.2rem;
		line-height: 125%;
	}
	.listTag{
		gap: 15px 15px;
		padding: 25px;
		margin-bottom: 25px;
	}
	.listTag li a{
		font-size: 1.3rem;
	}
	.listCaseIdx li:nth-of-type(2n){
		animation-delay: 0.1s;
	}


	/*
		実績詳細
	-----------------------------------------------------------------------------------------------*/
	/* KV
	--------------------------------------*/
	.kvCaseBox{
		padding-bottom: 40px;
	}

	/* 写真 */
	.kvCaseBox{
		width: 100%;
	}
	.kvCaseBox .ph img{
		max-width: 100%;
		max-height: 100%;
	}
	.kvCaseBox .txt{
		margin-top: 15px;
	}

	/* 関連リンク（外部） */
	.listRelatedLink{
		gap: 8px;
		margin-top: 23px;
	}

	/* サブ写真
	--------------------------------------*/
	.caseSubPhArea{
		gap: 30px 10px;
		padding: 40px 25px;
	}
	.caseSubPhArea .subPhBox img{
		max-width: 100%;
		max-height: 100%;
	}
	.caseSubPhArea .subPhBox .txt{
		margin-top: 5px;
		font-size: 1rem;
	}
}