/* -----------------------------------------------
= page-nav
----------------------------------------------- */
.page-nav .sub {
	margin-top: -20px;
	border-top: none;
}
@media print, screen and (min-width: 768px) {/* PC */
.page-nav .sub {
	margin-top: 0;
}
}/* @media */
/* -----------------------------------------------
= block
----------------------------------------------- */
.block {
	margin-top: 60px;
	scroll-margin-top: 90px;
}
.block:first-child {
	margin-top: 0;
}
.block-copy{
	font-size: calc(2.2rem / 1.6);
	font-weight: 400;
	line-height: calc(40 / 22);
	font-family: var(--min);
	margin-bottom: 30px;
}
.block p{
	font-size: calc(1.5rem / 1.6);
	line-height: 2;
	margin-bottom: 30px;
}
.block-contents{
	display: grid;
	align-items: center;
	position: relative;
	color: #FFFFFF;
}
.block-contents::after{
	position: absolute;
	top: 50%;
	right: 22px;
	translate: 0 -50%;
	content: "";
	aspect-ratio: 1 / 1;
	width: 8px;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background-color: currentColor;
}
.block-contents::before{
	position: absolute;
	top: 50%;
	right: 50px;
	translate: 0 -50%;
	content: "";
	width: 1px;
	height: 70px;
	background-color: #FFFFFF;
	opacity: .2;
}
.block-contents > *{
	grid-row: 1 / 2;
	grid-column: 1 / 2;
}
.block-contents .set{
	z-index: 1;
	color: white;
	padding: 0 50px 0 30px;
}
.block-contents .set > *{
	display: block;
}
.block-contents .set span{
	font-family: var(--min);
	font-size: calc(1.6rem / 1.6);
	margin-bottom: 14px;
}
.block-contents .set small{
	font-family: var(--hanken);
	font-size: calc(1.1rem / 1.6);
	font-weight: 400;
}
.block-contents img{
	object-fit: cover;
	height: 135px;
	border-radius: 0 0 30px 0;
}
@media print, screen and (min-width: 768px) {/* PC */
	.block {
		margin-top: 100px;
		scroll-margin-top: 118px;
	}
	.block-copy{
		font-size: calc(3.3rem / 1.6);
		font-weight: 400;
		line-height: calc(34 / 22);
		font-family: var(--min);
		margin-bottom: 30px;
	}
	.block-contents::after{
		right: 5.807200929%;
	}
	.block-contents::before{
		right: 12.543554007%;
		height: 120px;
		background-color: #FFFFFF;
		opacity: .2;
	}
	.block-contents .set{
		text-align: center;
		padding: 0;
	}
	.block-contents .set span{
		font-size: calc(2.4rem / 1.6);
		margin-bottom: 24px;
	}
	.block-contents .set small{
		font-size: calc(1.2rem / 1.6);
	}
	.block-contents img{
		height: 200px;
		border-radius: 0 0 60px 0;
	}
}/* @media */
/* -----------------------------------------------
= synergy
----------------------------------------------- */
.synergy .block-copy + picture img {
	margin-bottom: 60px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.synergy .block-copy + picture img {
		margin-bottom: 100px;
	}
}/* @media */

@media(hover:hover) {
	.hover-opacity {
		transition: opacity .3s;
	}
	.hover-opacity:hover {
		opacity: .8;
	}
}