.content__block--matrix--04{
	position: relative;
	display: flex;
	align-items: center;
	gap: 32px;
}
.content__subttl--matrix--04::before{
	content: '';
	display: block;
	width: calc(1140px - 68px);
	height: 3px;
	margin: auto;
	background: var(--page-main-color);
	position: absolute;
	top: 0px;
	bottom: 0;
	left: 0;
}
.content__subttl--matrix--04:last-of-type:before{
	background: #afacac;
}
	.content__subttl--matrix--04{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 68px;
		min-height: 172px;
		text-align: center;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		background: var(--page-main-color);
		color: #fff;
		letter-spacing: 5px;
		padding-top: 5px;
	}
	.content__subttl--matrix--04:not(:last-of-type){
		margin-bottom: 54px;
	}
	.content__subttl--matrix--04:last-of-type {
		background-color: #afacac;
	}
	
	.content__block--matrix--04 .content__list--vertical{
		gap: 20px;
		justify-content: flex-end;
	}
	.content__items--matrix--04{
		text-align: center;
		width: 86px;
		height: 454px;
		background: #fff;
		border: 1px solid var(--page-main-color);
		flex-wrap: wrap;
		padding: 12px 10px 10px;
	}
	.content__items--matrix--04.content__items--matrix--secondary{
		height: 310px;
	}
	.content__items--matrix--04:last-of-type{
		position: relative;
	}
	.content__items--matrix--04:last-of-type::before,
	.content__items--matrix--04:last-of-type::after,
	.content__items--matrix--04:nth-last-child(2)::before,
	.content__items--matrix--04:nth-last-child(2)::after {
		content: "";
		position: absolute;
		top: 118px;
		right: 82px;
		display: block;
		width: 20px;
		height: 2px;
		border-radius: 5px;
		background: var(--page-main-color);
		transform: rotate(-45deg);
	}
	.content__items--matrix--04:nth-last-child(2)::before,
	.content__items--matrix--04:nth-last-child(2)::after{
		top: inherit;
		bottom: 106px;
		right: -26px;
		background: #afacac;
	}
	.content__items--matrix--04:last-of-type::after{
		top: 106px;
		bottom: inherit;
		transform: rotate(45deg);
	}
	.content__items--matrix--04:nth-last-child(2)::after {
		top: inherit;
		bottom: 119px;
		transform: rotate(45deg);
	}
	.content__items__inner--matrix--04 .content__count--matrix--04{
		width: 66px;
		text-align: center;
		line-height: 1.3;
		color: var(--page-main-color);
		padding-bottom: 12px;
		margin: 0 auto 17px;
		border-bottom: 1px solid #DBDBDB;
		display: grid;
		letter-spacing: 2px;
	}
		.content__items__inner--matrix--04 .content__count--matrix--04::after{
			display: inline-block;
			content: counter(count, decimal-leading-zero);
			font-size: 22px;
			line-height: 1.4;
			color: var(--page-main-color);
			font-weight: 500;
			letter-spacing: 0;
		}
		.l-page .content__description--matrix--04{
			-ms-writing-mode: tb-rl;
			writing-mode: vertical-rl;
			text-align: center;
			margin: 0 auto;
			color: #212121;
			font-size: 20px;
			font-weight: 500;
			letter-spacing: 4px;
		}

@media screen and (max-width: 1080px){
	.section__wrapper--matrix--04 .section__ttl{
		margin-bottom: 5.333vw;
	}
	.content__block--matrix--04{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.content__inner--matrix--04{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14.667vw;
		margin-bottom: 5.333vw;
	}
	.section__wrapper--matrix--04 .content__subttl--matrix--04{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 32vw;
		min-height: 10.667vw;
		margin-bottom: 0;
		padding: 0;
		text-align: center;
		writing-mode: horizontal-tb;
		letter-spacing: 0.1em;
		font-size: 3.733vw;
		font-weight: 500;
		line-height: 1.5;
		background: #7D7D7D;
		color: #fff;
	}
	.content__subttl--matrix--04:last-of-type{
		background: #B5B5B5;
	}
	.content__subttl--matrix--04::before,
	.content__subttl--matrix--04:last-of-type::before{
		content: none;
		display: none;
	}

	.content__block--matrix--04 .content__list--vertical{
		position: relative;
		gap: 2.667vw;
		justify-content: flex-start;
		isolation: isolate;
	}
	.content__block--matrix--04 .content__list--vertical::before,
	.content__block--matrix--04 .content__list--vertical::after{
		content: '';
		display: block;
		width: 0.533vw;
		height: calc(100% + 10.667vw);
		background: #7D7D7D;
		position: absolute;
		top: -10.667vw;
		bottom: auto;
		left: 21.333vw;
		z-index: 0;
	}
	.content__block--matrix--04 .content__list--vertical::after{
		left: auto;
		right: 21.333vw;
		background: #B5B5B5;
	}

	.content__items--matrix--04{
		position: relative;
		z-index: 1;
		width: 100%;
		height: auto;
		min-height: 0;
		padding: 0;
		background: transparent;
		border: none;
		text-align: left;
	}
	.content__items--matrix--04.content__items--matrix--secondary{
		width: 57.333vw;
		height: auto;
	}
	.content__items__inner--matrix--04{
		display: flex;
		align-items: center;
		gap: 2.467vw;
		box-sizing: border-box;
		width: 100%;
		min-height: 13.867vw;
		padding: 1.567vw 3.733vw 1.567vw 0;
		background: #fff;
		border: 1px solid #DBDBDB;
	}
	.content__items__inner--matrix--04 .content__count--matrix--04{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.267vw;
		box-sizing: border-box;
		width: auto;
		width: 12vw;
		height: 10.133vw;
		margin: 0;
		padding: 0 2.133vw 0 2.133vw;
		text-align: center;
		line-height: 1.2;
		font-size: 3.2vw;
		font-weight: 500;
		letter-spacing: 0.1em;
		color: #333;
		border: none;
		border-right: 1px solid #DBDBDB;
		border-radius: 0;
	}
		.content__items__inner--matrix--04 .content__count--matrix--04::after{
			display: block;
			content: counter(count, decimal-leading-zero);
			font-size: 3.733vw;
			font-weight: 500;
			line-height: 1.2;
			letter-spacing: 0;
			color: #333;
		}
	.l-page .content__description--matrix--04,
	.content__description--matrix--04{
		writing-mode: horizontal-tb;
		flex: 1;
		min-width: 0;
		margin: 0;
		text-align: left;
		font-size: 4.533vw;
		font-weight: 500;
		line-height: 1.5;
		letter-spacing: 0;
		color: #333;
	}

	/* 最終手前〜最終の間に下向き矢印（左右トラック） */
	.content__items--matrix--04:last-of-type::before,
	.content__items--matrix--04:last-of-type::after,
	.content__items--matrix--04:nth-last-child(2)::before,
	.content__items--matrix--04:nth-last-child(2)::after{
		content: '';
		position: absolute;
		display: block;
		width: 2.667vw;
		height: 0.533vw;
		border-radius: 5px;
		z-index: 2;
	}
	.content__items--matrix--04:nth-last-child(2)::before,
	.content__items--matrix--04:nth-last-child(2)::after{
		top: auto;
		bottom: -1.867vw;
		left: 19.2vw;
		right: auto;
		background: #7D7D7D;
		transform: rotate(40deg);
	}
	.content__items--matrix--04:nth-last-child(2)::after{
		left: 21.367vw;
		transform: rotate(140deg);
	}
	.content__items--matrix--04:last-of-type::before,
	.content__items--matrix--04:last-of-type::after{
		top: -1.467vw;
		bottom: auto;
		right: 19.2vw;
		left: auto;
		background: #B5B5B5;
		transform: rotate(-40deg);
	}
	.content__items--matrix--04:last-of-type::after{
		right: 21.267vw;
		transform: rotate(40deg);
	}
}
