@charset "utf-8";

/*------------------------------
TRIFORA people count
------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');
/*font-family: "Noto Sans JP", sans-serif;**/
/* font-family: 'Roboto', sans-serif; */


.page-people-count {
	position: relative;
	margin: 0 auto;
	background-color: #fff;
	font-family: "Noto Sans JP", sans-serif;
}

.page-people-count img.fit {
	width: 100%;
	height: auto;
}

.page-people-count .bg-color1 {
	/*background-color: #f9f9f9;*/
	background-color: #fff;
}

.page-people-count .bg-color2 {
	background-color: #f2f2f2;
}

.page-people-count .color1 {
	color: #ff8200;
}

.page-people-count .color2 {
	color: #575e68;
}

.page-people-count .color3 {
	color: #fff;
}

.page-people-count .tpc-page {
	margin: 0 auto;
	padding: 3rem 0 4rem;
}

.page-people-count .tpc-page .flex-wrap {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.page-people-count .tpc-page .flex-wrap .flex-box {
	flex: 1;
}

.page-people-count .tpc-page .sub-title {
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 0;
	margin-bottom: 0.75rem;
}

.page-people-count .tpc-page .sub-title.center {
	text-align: center;
}

.page-people-count .tpc-page .c-ttl-h2 {
	font-size: 1.4em;
	line-height: 1.75;
	letter-spacing: 0.15rem;
	text-indent: 0.15rem;
	margin-top: 0;
	margin-bottom: 3.5rem;
	padding-top: 1.5rem;
	font-weight: 700;
}

.page-people-count .tpc-page p {
	font-size: 1em;
	font-weight: 400;
	line-height: 1.8;
}

.page-people-count .tpc-page p a {
	text-decoration: underline;
}

.page-people-count .tpc-page iframe[src*="youtube.com"],
.page-people-count .tpc-page iframe[src*="youtube-nocookie.com"] {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}

.page-people-count .tpc-page sup {
	vertical-align: baseline;
	position: relative;
	top: -1ex;
	font-size: 0.6em;
}

@media screen and (min-width: 480px) {
	.page-people-count .tpc-page {
		padding: 3.5rem 0;
	}
}

@media screen and (min-width: 768px) {
	.page-people-count .tpc-page {
		padding: 5rem 0;
	}

	.page-people-count .tpc-page .large-width {
		max-width: 1020px;
		margin-left: auto;
		margin-right: auto;
	}

	.page-people-count .tpc-page .medium-width {
		max-width: 920px;
		margin-left: auto;
		margin-right: auto;
	}

	.page-people-count .tpc-page .small-width {
		max-width: 620px;
		margin-left: auto;
		margin-right: auto;
	}

	.page-people-count .tpc-page p.center {
		text-align: center;
	}

	.page-people-count .tpc-page .flex-wrap {
		flex-direction: row;
		gap: 5rem;
	}

	.page-people-count .tpc-page .flex-wrap.clmn03 {
		gap: 4rem;
	}

	.page-people-count .tpc-page .sub-title {
		font-size: 1.35em;
		margin-bottom: 1rem;
	}

	.page-people-count .tpc-page .c-ttl-h2 {
		font-size: 1.65em;
		line-height: 1.75;
		letter-spacing: 0.25rem;
		text-indent: 0.25rem;
		margin-bottom: 4.5rem;
	}

	.page-people-count .tpc-page .c-ttl-h2 br {
		display: none;
	}

	.page-people-count .tpc-page p {
		line-height: 2;
	}
}

.page-people-count .link-btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.page-people-count .link-btn a {
	position: relative;
	display: block;
	border: 2px solid #ffc07f;
	border-radius: 9999px;
	color: #ff8200;
	background-color: #fff;
	font-size: 1rem;
	padding: 0.75rem 2rem;
}

.page-people-count .link-btn a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 1rem;
	transform: translateY(-50%);
	border: 5px solid transparent;
	border-left: 8px solid #ff8200;
}

@media screen and (min-width: 768px) {
	.page-people-count .link-btn a {
		padding: 0.75rem 3rem;
		transition: all 0.25s ease-out;
	}

	.page-people-count .link-btn a:hover {
		border: 2px solid #ff8200;
		color: #fff;
		background-color: #ff8200;
	}

	.page-people-count .link-btn a:hover::before {
		border-left: 8px solid #fff;
	}
}

@media screen and (min-width: 1200px) {
	.page-people-count .link-btn a {
		padding: 1rem 3rem;
	}
}

.page-people-count .text-link-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1em;
}

.page-people-count .text-link-btn a {
	color: #ff8200;
	text-decoration: underline;
}

#tpc-mv {
	position: relative;
	background-image: url('/assets/trifora/people-count/images/mv_bg.jpg');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	padding: 0;
	margin-top: 60px;
	height: calc(60vh - 60px);
	height: calc(60vh - 60px);
	min-height: 390px;
	/*max-height: 540px;*/
	display: flex;
	align-items: flex-end;
	z-index: 1;
	overflow: hidden;
}

#tpc-mv .tpc-mv-inner {
	position: relative;
	max-width: 90%;
	margin: 0 auto;
	padding-bottom: 7.5vh;
	padding-bottom: 7.5lvh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	z-index: 3;
}

#tpc-mv .tpc-mv-inner::after {
	content: '';
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: 200vw;
	height: 200vw;
	width: 200lvw;
	height: 200lvw;
	background-image:
		radial-gradient(closest-side, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)),
		radial-gradient(closest-side, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
	z-index: -1;
	transform: translate(-50%, -50%);
}

#tpc-mv .tpc-mv-inner h1 {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
}

#tpc-mv .tpc-mv-inner h1 small {
	display: block;
	width: 50%;
}

#tpc-mv .tpc-mv-inner h1 small::before {
	content: '';
	width: 3rem;
	height: 2.5rem;
	display: block;
	margin: 0 auto 0.35rem;
	background-image: url('/assets/trifora/people-count/images/mv-head-icon.png');
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
}

#tpc-mv .tpc-mv-inner h1 em {
	font-size: 9.4vw;
	font-size: 9.4lvw;
	font-weight: 700;
	color: #575e68;
	letter-spacing: 0.1rem;
	text-indent: 0.1rem;
}

#tpc-mv .tpc-mv-inner p {
	font-size: 1em;
	font-weight: 500;
	line-height: 1.8;
	max-width: 90%;
	margin: 0 auto 0.75rem;
}

#tpc-mv .tpc-mv-inner p .pc-only {
	display: none;
}

@media screen and (min-width: 480px) {
	#tpc-mv {
		height: 110vw;
		max-height: 740px;
	}

	#tpc-mv .tpc-mv-inner {
		gap: 1rem;
	}

	#tpc-mv .tpc-mv-inner h1 {
		gap: 0.35rem;
	}

	#tpc-mv .tpc-mv-inner h1 small::before {
		width: 2.25rem;
		height: 1.75rem;
	}

	#tpc-mv .tpc-mv-inner h1 em {
		font-size: 7.4vw;
		font-size: 7.4lvw;
	}

	#tpc-mv .tpc-mv-inner p {
		font-size: 0.9em;
	}
}

@media screen and (min-width: 768px) {
	#tpc-mv {
		min-height: 480px;
		height: 480px;
		background-position: top 50px center;
		align-items: center;
		align-items: flex-end;
		margin-top: 0;
	}

	#tpc-mv .tpc-mv-inner {
		max-width: 580px;
		padding-bottom: 3.5rem;
	}

	#tpc-mv .tpc-mv-inner::after {
		width: 1100px;
		height: 700px;
	}

	#tpc-mv .tpc-mv-inner h1 small {
		width: 200px;
	}

	#tpc-mv .tpc-mv-inner h1 small::before {
		width: 3.5rem;
		height: 2.5rem;
		margin: 0 auto 0.75rem;
	}

	#tpc-mv .tpc-mv-inner h1 em {
		font-size: 2.6rem;
	}

	#tpc-mv .tpc-mv-inner p {
		font-size: 1.05em;
		text-align: center;
		max-width: 100%;
	}

	#tpc-mv .tpc-mv-inner p .pc-only {
		display: block;
	}
}

@media screen and (min-width: 1040px) {
	#tpc-mv {
		background-position: top 17.5% center;
	}

	#tpc-mv .tpc-mv-inner {
		padding-bottom: 5rem;
	}
}

#tpc-lead {
	overflow: hidden;
}

#tpc-lead .flex-wrap .flex-box figure {
	position: relative;
	z-index: 1;
	margin-top: 1rem;
	padding-left: 2rem;
	padding-right: 2rem;
}

#tpc-lead .flex-wrap .flex-box span {
	position: absolute;
	display: block;
}

#tpc-lead .flex-wrap .flex-box .camera {
	top: 0;
	right: 0;
	width: 50vw;
	width: 50svw;
	transform: translate(0, -30%);
	z-index: 2;
}

#tpc-lead .note {
	margin-top: 0.5rem;
	text-align: left;
	font-size: 0.9em;
	text-indent: -1em;
	padding-left: 1em;
}

@media screen and (min-width: 768px) {
	#tpc-lead .flex-wrap .flex-box figure {
		margin-top: 0;
		padding-left: 0;
		padding-right: 3rem;
	}

	#tpc-lead .flex-wrap .flex-box .camera {
		max-width: 250px;
		right: 0;
		transform: translate(0, -30%);
	}
}

#tpc-sec1 figcaption {
	margin-top: 0.75rem;
	font-size: 1.1em;
	font-weight: 500;
	line-height: 1.8;
	text-align: center;
}


#tpc-sec2 .flex-wrap {
	margin-top: 3rem;
	gap: 2.5rem;
}

#tpc-sec2 .flex-wrap .flex-box {
	border-top: 1px solid #ccc;
	padding-top: 2.5rem;
}

#tpc-sec2 .flex-wrap h3 {
	font-size: 1.4em;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	margin-bottom: 1.5rem;
	letter-spacing: 0.15rem;
	text-indent: 0.15rem;
}

#tpc-sec2 .flex-wrap video {
	width: 100%;
	height: auto;
}

#tpc-sec2 .flex-wrap ul {
	font-size: 1em;
	font-weight: 400;
	line-height: 1.8;
	text-align: left;
	list-style-type: disc;
	padding-left: 1.75em;
	margin-top: 1rem;
}

#tpc-sec2 .flex-wrap ul li {
	margin-bottom: 0.5rem;
}

#tpc-sec2 .arrow-area {
	position: relative;
	margin: 1.5rem auto 17.5vw;
	padding-top: 0.5rem;
	text-align: center;
}

#tpc-sec2 .arrow-area::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	border: 35vw solid transparent;
	border: 35dvw solid transparent;
	border-top: 20vw solid #ffc07f;
	border-top: 20dvw solid #ffc07f;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1;
}

#tpc-sec2 .arrow-area span {
	position: relative;
	font-size: 1.1em;
	font-weight: 700;
	z-index: 2;
}

#tpc-sec2 .result-area {
	max-width: 560px;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	#tpc-sec2 .flex-wrap {
		margin-top: 5rem;
		gap: 5rem;
	}

	#tpc-sec2 .flex-wrap .flex-box {
		border-top: none;
		padding-top: 0;
	}

	#tpc-sec2 .flex-wrap h3 {
		/*font-size: 1.2em;*/
		font-size: 1.6em;
		margin-bottom: 1.75rem;
	}

	#tpc-sec2 .flex-wrap h3 span {
		padding: 0 3em;
	}

	#tpc-sec2 .arrow-area {
		margin: 1.5rem auto 100px;
		padding-top: 0.5rem;
	}

	#tpc-sec2 .arrow-area::before {
		border: 150px solid transparent;
		border-top: 80px solid #ffc07f;
	}

	#tpc-sec2 .arrow-area span {
		font-size: 1.2em;
	}
}

#tpc-sec3 {
	overflow-x: hidden;
}

#tpc-sec3 .pc-area {
	position: relative;
	margin-top: 3rem;
}

#tpc-sec3 .pc-area .screen-image {
	position: relative;
	width: 95%;
	margin-left: auto;
	margin-right: auto;
	border: 2px solid #575e68;
	background-color: #fff;
	padding: 0 1.25rem 1rem;
	border-radius: 0.5rem;
	z-index: 2;
}

#tpc-sec3 .pc-area .screen-image dl {
	margin: 0 auto;
	width: 100%;
}

#tpc-sec3 .pc-area .screen-image dl dt {
	text-align: center;
	transform: translateY(-50%);
}

#tpc-sec3 .pc-area .screen-image dl dt span {
	font-size: 0.95rem;
	font-weight: 500;
	color: #575e68;
	border: 2px solid #575e68;
	border-radius: 9999px;
	padding: 0.25rem 2.25rem;
	background-color: #575e68;
	color: #fff;
}

#tpc-sec3 .pc-area .screen-image dl dd {
	position: relative;
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	padding-top: 0.75rem;
}

#tpc-sec3 .pc-area .screen-image dl dd::after {
	position: absolute;
	content: '';
	display: inline-block;
	left: 50%;
	top: 110%;
	width: 90px;
	height: 50px;
	background: #575e68;
	clip-path: polygon(0 38.5%, 23.5% 38.5%, 23.5% 0, 76.5% 0, 76.5% 38.5%, 100% 38.5%, 50% 100%);
	z-index: 3;
	transform: translateX(-50%);
}

#tpc-sec3 .pc-area .screen-image dl dd img {
	flex: 1;
	display: block;
	width: 50%;
}

#tpc-sec3 .pc-area .screen-image .float-cam {
	position: absolute;
	top: -7.5vw;
	top: -7.5dvw;
	left: -5%;
	width: 20vw;
	height: 20vw;
	width: 20dvw;
	height: 20dvw;
}

#tpc-sec3 .pc-area figure {
	max-width: 680px;
	padding-top: 1rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

#tpc-sec3 .pc-area figure>img {
	width: 130%;
	max-width: 130%;
	margin-left: -15%;
}

#tpc-sec3 .pc-area figcaption {
	position: relative;
	display: block;
	margin-top: 0.75rem;
	font-size: 1.05rem;
	font-weight: 700;
	text-align: center;
	border: 2px solid #707372;
	border-radius: 0.5rem;
	background-color: #fff;
	padding: 0.75rem 0;
}

#tpc-sec3 .pc-area figcaption::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 1rem 1rem 1rem;
	border-color: transparent transparent #707372;
	translate: -50% -100%;
}

#tpc-sec3 .pc-area figcaption::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 0.8rem 0.8rem 0.8rem;
	border-color: transparent transparent #fff;
	translate: -50% -100%;
}

#tpc-sec3 .csv-area {
	margin-top: 3rem;
}

#tpc-sec3 .csv-area h4 {
	position: relative;
	font-size: 1.15rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 2rem;
	margin-top: 1.5rem;
}

#tpc-sec3 .csv-area h4::before {
	content: '';
	display: block;
	width: 3rem;
	height: 3rem;
	margin: 0 auto 0.75rem;
	background-image: url('/assets/trifora/people-count/images/csv_icon.png');
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
}

#tpc-sec3 .csv-area figure {
	margin: 1.5rem auto 0;
	max-width: 680px;
}

#tpc-sec3 .csv-area figure figcaption {
	font-size: 0.9em;
	font-weight: 500;
	text-align: center;
	margin: 0.75rem auto 0;
}

@media screen and (min-width: 768px) {
	#tpc-sec3 .pc-area {
		margin-top: 4rem;
	}

	#tpc-sec3 .pc-area .screen-image {
		position: absolute;
		top: 0;
		right: 55%;
		max-width: 300px;
		padding: 0 2.5rem 2rem;
	}

	#tpc-sec3 .pc-area .screen-image dl dt span {
		font-size: 1rem;
		padding: 0.35rem 2rem;
	}

	#tpc-sec3 .pc-area .screen-image dl dd {
		gap: 0;
		padding-top: 1.5rem;
	}

	#tpc-sec3 .pc-area .screen-image dl dd img {
		transform: scale(140%);
	}

	#tpc-sec3 .pc-area .screen-image dl dd img:nth-child(1) {
		margin-top: 2rem;
	}

	#tpc-sec3 .pc-area .screen-image dl dd img:nth-child(2) {
		margin-bottom: 2rem;
	}

	#tpc-sec3 .pc-area .screen-image dl dd::after {
		left: 65%;
		transform: translateX(0) rotate(-30deg);
	}

	#tpc-sec3 .pc-area .screen-image .float-cam {
		top: -40px;
		left: 5px;
		width: 82px;
		height: 82px;
	}

	#tpc-sec3 .pc-area figure {
		padding-top: 1.5rem;
	}

	#tpc-sec3 .pc-area figure>img {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
	}

	#tpc-sec3 .pc-area figcaption {
		display: inline-block;
		margin-top: 0.75rem;
		font-size: 1.2rem;
		border-radius: 0.75rem;
		padding: 1rem 1.5rem;
	}

	#tpc-sec3 .pc-area figcaption br {
		display: none;
	}

	#tpc-sec3 .pc-area figcaption::after {
		border-width: 0 0.85rem 0.85rem 0.85rem;
	}

	#tpc-sec3 .csv-area {
		margin-top: 4.5rem;
		padding: 2.5rem 3rem;
	}

	#tpc-sec3 .csv-area h4 {
		font-size: 1.25rem;
		margin-bottom: 2.5rem;
	}

	#tpc-sec3 .csv-area h4 br {
		display: none;
	}

	#tpc-sec3 .csv-area h4::before {
		width: 3.5rem;
		height: 3.5rem;
		margin: 0 auto 1rem;
	}

	#tpc-sec3 .csv-area p {
		text-align: center;
	}

	#tpc-sec3 .csv-area .flex-wrap .flex-box figcaption {
		font-size: 1em;
		margin: 0.75rem auto 0;
	}
}

#tpc-sec3 .data2-area {
	margin-top: 3.5rem;
}

#tpc-sec3 .data2-area .flex-wrap {
	margin-top: 2.5rem;
}

#tpc-sec3 .data2-area dl {
	font-size: 1em;
}

#tpc-sec3 .data2-area dl dt {
	margin-top: 1.25rem;
	text-align: center;
	font-size: 1.05em;
	font-weight: 700;
}

#tpc-sec3 .data2-area dl dd {
	margin-top: 0.75rem;
	text-align: left;
	font-size: 0.9em;
	font-weight: 400;
	line-height: 1.8;
}

#tpc-sec3 .data2-area dl dd.note {
	margin-top: 0.25rem;
	text-align: left;
	font-size: 0.8em;
	text-indent: -1em;
	padding-left: 1em;
}

#tpc-sec3 .data2-area .movie-area {
	margin-top: 3.5rem;
}

@media screen and (min-width: 768px) {
	#tpc-sec3 .data2-area {
		margin-top: 5rem;
	}

	#tpc-sec3 .data2-area .movie-area {
		margin-top: 4.5rem;
	}
}

#tpc-sec3 .data3-area {
	margin-top: 3.5rem;
}

#tpc-sec3 .data3-area h3 {
	margin-bottom: 2.5rem;
	text-align: center;
}

#tpc-sec3 .data3-area h3 span {
	position: relative;
	display: inline-block;
	padding: 0 3em;
}

#tpc-sec3 .data3-area h3 span::before,
#tpc-sec3 .data3-area h3 span::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 2.5em;
	height: 1px;
	background-color: #575e68;
}

#tpc-sec3 .data3-area h3 span::before {
	left: 0;
	-webkit-transform: rotate(60deg);
	transform: rotate(60deg);
}

#tpc-sec3 .data3-area h3 span::after {
	right: 0;
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
}

#tpc-sec3 .data3-area .kakomi {
	border-radius: 1rem;
	padding: 1.5rem 1rem;
	background-color: #fff;
}

#tpc-sec3 .data3-area .flex-wrap .flex-box {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1rem;
}

#tpc-sec3 .data3-area .flex-wrap .flex-box figure {
	flex: 1;
}

#tpc-sec3 .data3-area .flex-wrap .flex-box dl {
	flex: 4;
	text-align: left;
}

#tpc-sec3 .data3-area .flex-wrap .flex-box dl dt {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 0.35rem;
}

#tpc-sec3 .data3-area .flex-wrap .flex-box dl dd {
	font-size: 0.95rem;
	font-weight: 400;
}

#tpc-sec3 .data3-area .note {
	margin-top: 0.75rem;
	text-align: left;
	font-size: 0.8em;
	text-indent: -1em;
	padding-left: 1em;
}

@media screen and (min-width: 768px) {
	#tpc-sec3 .data3-area {
		margin-top: 5rem;
	}

	#tpc-sec3 .data3-area h3 {
		margin-bottom: 3rem;
	}

	#tpc-sec3 .data3-area h3 br {
		display: none;
	}

	#tpc-sec3 .data3-area .kakomi {
		padding: 2.5rem 3.5rem 2.5rem;
	}

	#tpc-sec3 .data3-area .flex-wrap .flex-box {
		gap: 2.5rem;
	}

	#tpc-sec3 .data3-area .note {
		margin-top: 1.5rem;
		text-align: center;
		text-indent: 0;
		padding-left: 0;
	}
}



#tpc-lineup .lineup-area {
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 3.5rem auto 2rem;
	gap: 1.5rem 0;
}

#tpc-lineup .lineup-area::before {
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - 0.5px);
	width: 0;
	height: 100%;
	border-right: 1px solid #dedede;
}

#tpc-lineup .lineup-area::after {
	content: "";
	display: block;
	width: 47.5%;
}

#tpc-lineup .lineup-area .lineup-block {
	width: 50%;
	text-align: center;
}

#tpc-lineup .lineup-area .lineup-block:not(:last-child) {
	border-bottom: 1px solid #dedede;
	padding-bottom: 1rem;
}

#tpc-lineup .lineup-area figure {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	cursor: pointer;
}

#tpc-lineup .lineup-area figure img {
	display: block;
	margin: auto auto 0;
	padding: 0;
	width: 75%;
	max-width: 220px;
}

#tpc-lineup .lineup-area figure figcaption {
	margin: 0 auto auto;
	text-align: center;
	font-size: 0.85rem;
	font-weight: 600;
}

#tpc-lineup .lineup-area figure figcaption em {
	display: block;
	font-size: 0.9rem;
	font-family: "Roboto", sans-serif;
	font-weight: 600;
	margin-top: 0.25rem;
}

@media screen and (min-width: 768px) {
	#tpc-lineup .lineup-area {
		margin: 3.5rem auto 2.5rem;
		gap: 0 0;
	}

	#tpc-lineup .lineup-area .lineup-block {
		width: calc(100% / 3);
		padding-top: 1.5rem;
	}

	#tpc-lineup .lineup-area::before {
		content: none;
	}

	#tpc-lineup .lineup-area::after {
		width: calc(100% / 3 * 2);
	}

	#tpc-lineup .lineup-area .lineup-block:not(:last-child) {
		border-bottom: 1px solid #dedede;
		padding-bottom: 1rem;
	}

	#tpc-lineup .lineup-area .lineup-block:not(:nth-child(3n)) {
		border-right: 1px solid #dedede;
	}

	#tpc-lineup .lineup-area figure figcaption {
		font-size: 1rem;
	}

	#tpc-lineup .lineup-area figure figcaption em {
		font-size: 1.1rem;
		margin-top: 0.5rem;
	}

	#tpc-lineup .lineup-area figure img {
		max-width: 150px;
	}
}

@media screen and (min-width: 1040px) {
	#tpc-lineup .lineup-area .lineup-block {
		width: 25%;
	}

	#tpc-lineup .lineup-area::after {
		width: 25%;
	}

	#tpc-lineup .lineup-area .lineup-block:nth-child(4) {
		border-right: none;
	}

	#tpc-lineup .lineup-area .lineup-block:not(:nth-child(4n)) {
		border-right: 1px solid #dedede;
	}

	#tpc-lineup .lineup-area .lineup-block:nth-child(n+5) {
		border-bottom: none !important;
		padding-bottom: 0;
	}
}

#tpc-install .install-fig {
	margin: 2.5rem auto 3.5rem;
}

#tpc-install .link-btn {
	gap: 1.5rem;
}

#tpc-install .link-btn li {
	width: 100%;
}

#tpc-install .link-btn .pdf-icon a {
	padding-right: 1.5rem;
	padding-left: 2.5rem;
	color: #D93636;
	border: 2px solid #D93636;
}

#tpc-install .link-btn .pdf-icon a::before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
	top: 50%;
	left: 0.75rem;
	transform: translateY(-50%);
	border: none;
	mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 25 24"><path d="M0,23V1h15v5h-1.9V2.9H1.9v18.3h11.3V18H6V6h18v12h-9v5H0z M18.1,9.2C18.1,9.3,18.1,9.3,18.1,9.2 l0,5.5c0,0,0,0,0,0.1c0,0,0,0,0.1,0h0.9c0,0,0.1,0,0.1,0c0,0,0,0,0-0.1v-2.2c0,0,0,0,0,0c0,0,0,0,0,0H21c0,0,0,0,0.1,0 c0,0,0,0,0-0.1v-0.8c0,0,0-0.1,0-0.1c0,0,0,0-0.1,0h-1.7c0,0,0,0,0,0c0,0,0,0,0,0v-1.2c0,0,0,0,0,0c0,0,0,0,0,0h2.6 c0,0,0.1,0,0.1,0c0,0,0,0,0-0.1V9.3c0,0,0,0,0-0.1c0,0,0,0-0.1,0L18.1,9.2C18.2,9.2,18.2,9.2,18.1,9.2z M13.2,9.2 C13.2,9.3,13.2,9.3,13.2,9.2l0,5.5c0,0,0,0,0,0.1c0,0,0,0,0.1,0h2c0.4,0,0.7-0.1,1.1-0.2c0.3-0.1,0.5-0.3,0.7-0.6 c0.2-0.3,0.3-0.6,0.2-0.9v-2.2c0-0.3-0.1-0.6-0.2-0.9c-0.2-0.3-0.4-0.5-0.7-0.6c-0.3-0.1-0.7-0.2-1.1-0.2L13.2,9.2 C13.2,9.2,13.2,9.2,13.2,9.2z M8.4,9.2C8.4,9.2,8.3,9.3,8.4,9.2l0,5.5c0,0,0,0,0,0.1c0,0,0,0,0.1,0h0.9c0,0,0.1,0,0.1,0 c0,0,0,0,0-0.1v-2c0,0,0,0,0,0c0,0,0,0,0,0h1.1c0.3,0,0.7-0.1,0.9-0.2c0.3-0.1,0.5-0.3,0.6-0.6c0.2-0.3,0.2-0.6,0.2-0.9 c0-0.3-0.1-0.6-0.2-0.9c-0.1-0.3-0.4-0.5-0.6-0.6c-0.3-0.1-0.6-0.2-0.9-0.2L8.4,9.2C8.4,9.2,8.4,9.2,8.4,9.2z M14.3,13.8 C14.3,13.8,14.3,13.8,14.3,13.8C14.3,13.8,14.3,13.8,14.3,13.8l0-3.6c0,0,0,0,0,0h1c0.2,0,0.5,0.1,0.6,0.2c0.2,0.2,0.2,0.4,0.2,0.7 v1.8c0,0.2-0.1,0.5-0.2,0.7c-0.2,0.2-0.4,0.3-0.6,0.2H14.3z M9.5,11.7C9.5,11.7,9.5,11.7,9.5,11.7l0-1.5c0,0,0,0,0,0h1 c0.2,0,0.4,0.1,0.6,0.2c0.2,0.1,0.2,0.4,0.2,0.6c0,0.2-0.1,0.4-0.2,0.6c-0.2,0.1-0.4,0.2-0.6,0.2H9.5z" /></svg>');
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
	background-color: #D93636;
}

@media screen and (min-width: 768px) {
	#tpc-install .install-fig {
		margin: 3.5rem auto 5rem;
		width: 100%;
		height: auto;
		aspect-ratio: 1/0.258;
		background-image: url('/assets/trifora/people-count/images/install_fig.png');
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	#tpc-install .install-fig img {
		display: none;
	}

	#tpc-install .link-btn {
		flex-direction: row;
		gap: 2.5rem;
	}

	#tpc-install .link-btn li {
		width: auto;
	}

	#tpc-install .link-btn .pdf-icon a:hover {
		color: #fff;
		background-color: #D93636;
	}

	#tpc-install .link-btn .pdf-icon :hover::before {
		background-color: #fff;
	}
}

#tpc-case ul.case-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

#tpc-case ul.case-list>li {
	border: 1px solid #aaa;
	padding: 1rem 1rem 2rem;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

#tpc-case figure {
	width: 100%;
	height: auto;
}

#tpc-case figure img {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	object-fit: cover;
	object-position: center center;
}

#tpc-case dl {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 1em;
	line-height: 1.75;
	margin-bottom: 1.5rem;
}

#tpc-case dl dt {
	font-size: 1.05em;
	font-weight: 700;
}

#tpc-case dl dd {
	font-size: 0.9em;
	font-weight: 400;
}

#tpc-case .more-view a {
	padding: 0.75rem 3.5rem;
}


#tpc-banner.tpc-page {
	margin: 0 auto;
	padding: 0;
}

#tpc-banner .btn-flex {
	margin: 3.5rem auto 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
	max-width: 520px;
}

#tpc-banner .btn-flex .link-btn a {
	text-align: center;
	width: 100%;
	border-color: #b8b9b9;
	padding: 1.25rem 2rem;
	color: #707372;
	border-radius: 0;
}

#tpc-banner .btn-flex .link-btn a::before {
	border-left: 8px solid #707372;
}

@media screen and (min-width: 768px) {
	#tpc-banner .btn-flex {
		margin-top: 5rem;
	}

	#tpc-banner .btn-flex .link-btn a {
		padding: 1.75rem 3rem;
		font-size: 1.1rem;
	}

	#tpc-banner .btn-flex .link-btn a:hover::before {
		border-left: 8px solid #fff;
	}

	#tpc-banner .btn-flex .link-btn a:hover span {
		color: #fff;
	}
}