.scroll-left {
	opacity: 0;
	transition: opacity 1.5s, transform 1.5s;
}
.scroll-left { transform: translate3d(-60px, 0, 0); }
.is-animated {
	opacity: 1!important;
	transform: translate3d(0, 0, 0)!important;
}

/* メインビジュアル */
.visual-container {
	height: 70vh;
	background: url(/assets/26ddd9e8a3a7afd21cd1.jpg) no-repeat center/cover;
}
.visual-wrap {
	width: 1200px;
	height: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	color: #fff;
}
.visual-wrap .ttl {
	margin: 0;
	font-size: 32px;
}
.visual-wrap .txt {
	margin-bottom: 30px;
	font-size: 18px;
	text-align: right;
}
.visual-wrap .btn {
	margin-bottom: 10px;
	padding: 2px 40px 4px;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	border: 2px solid #fff;
	border-radius: 20px;
}
.visual-wrap .btn:hover {
	color: #000;
	background: #fff;
}
@media screen and (max-width: 896px) {
	.visual-container {
		height: 475px;
		background: url(/assets/d136593c3e6ef30ea252.jpg) no-repeat center/cover;
	}
	.visual-wrap {
		width: 100%;
		padding: 0 15px 30px;
		justify-content: flex-end;
	}
	.visual-wrap .ttl {
		margin: 0;
		font-size: 24px;
		text-shadow: 0 0 6px #333;
	}
	.visual-wrap .txt {
		margin-bottom: 20px;
		font-size: 16px;
		text-align: right;
		text-shadow: 0 0 6px #333;
	}
	.visual-wrap .btn {
		margin-bottom: 10px;
		padding: 2px 40px 4px;
		color: #000;
		font-size: 16px;
		font-weight: 500;
		border: 1px solid #000;
		border-radius: 20px;
		background: #fff;
		box-shadow: 0 0 6px #333;
	}
	.visual-wrap .btn:hover {
		color: #000;
		background: #fff;
	}
}

/* IREAL 3D マッピングソフトとは？ */
.overview-container {
	padding: 120px 0;
	color: #000;
	background: #f4f4f4;
}
.overview-wrap {
	width: 1200px;
	margin: 0 auto;
}
.overview-wrap .ttl {
	margin: 0 0 20px;
	font-weight: bold;
	display: inline-block;
	background: linear-gradient(90deg, #239af8, #66d9cc);
	background: -webkit-linear-gradient(0deg, #239af8, #66d9cc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.overview-wrap .txt {
	margin-bottom: 10px;
}
.overview-box {
	display: flex;
	justify-content: space-between;
}
.overview-box li {
	width: 19%;
	margin-top: 30px;
	padding: 40px 10px;
	display: flex;
	flex-direction: column;
	font-size: 14px;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 0 6px #bbb;
}
.overview-box li img {
	max-width: 46px;
	height: 40px;
}
.overview-box li .ttl {
	display: inline-block;
	height: 50px;
	margin: 5px 0 10px;
	font-size: 18px;
	line-height: 1.4;
	background: linear-gradient(90deg, #239af8, #66d9cc);
	background: -webkit-linear-gradient(0deg, #239af8, #66d9cc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.overview-box li .overview-icon {
	display: flex;
	flex-direction: column;
	margin-bottom: 10px;
}
.overview-box li .txt {
	margin: 0;
	line-height: 1.6;
}
@media screen and (max-width: 896px) {
	.overview-container {
		padding: 40px 0;
	}
	.overview-wrap {
		width: 100%;
		padding: 0 15px;
		flex-direction: column;
	}

	.overview-wrap .ttl {
		font-size: 22px;
	}
	.overview-wrap .txt {
		font-size: 14px;
	}
	.overview-box {
		padding: 0;
		flex-direction: column;
	}
	.overview-box li {
		width: 100%;
		margin-top: 15px;
		padding: 20px 10px;
	}
	.overview-box li img {
		max-width: 46px;
		height: 40px;
		margin-right: 10px;
	}
	.overview-box li .ttl {
		display: inline-block;
		height: auto;
		margin: 0;
		font-size: 18px;
		line-height: 1.4;
		background: linear-gradient(90deg, #239af8, #66d9cc);
		background: -webkit-linear-gradient(0deg, #239af8, #66d9cc);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
	.overview-box li .overview-icon {
		margin-bottom: 10px;
		flex-direction: row;
		align-items: center;
	}
	.overview-box li .txt {
		margin: 0;
		line-height: 1.6;
	}
}


/* マッピングサンプル */
.sample-container {
	padding: 120px 0;
	color: #000;
	background: #fff;
}
.sample-wrap {
	width: 1200px;
	margin: 0 auto;
}
.sample-wrap .ttl {
	margin: 0 0 20px;
	font-weight: bold;
	display: inline-block;
	background: linear-gradient(90deg, #239af8, #66d9cc);
	background: -webkit-linear-gradient(0deg, #239af8, #66d9cc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.sample-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sample-box li {
	width: 32%;
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
}
.sample-box li iframe {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
}
@media screen and (max-width: 896px) {
	.sample-container {
		padding: 60px 0;
	}
	.sample-wrap {
		width: 100%;
		padding: 0 15px;
	}
	.sample-wrap .ttl {
		font-size: 22px;
	}
	.sample-box li {
		width: 49%;
		margin-top: 15px;
	}
}


/* 流れ */
.flow-container {
	padding: 120px 0 100px;
	color: #000;
	background: #fff;
}
.flow-ttl {
	width: 1200px;
	margin: 0 auto;
}
.flow-ttl .ttl {
	margin: 0;
	font-weight: bold;
	display: inline-block;
	background: linear-gradient(90deg, #239af8, #66d9cc);
	background: -webkit-linear-gradient(0deg, #239af8, #66d9cc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.flow-list {
	margin: 0;
}
.flow-list li {
	padding: 60px 0;
	background: #fff;
}
.flow-list li:first-child {
	padding: 40px 0 100px;
}
.flow-list li:nth-child(even){
	background: #f4f4f4;
}
.flow-list li .flow-box,
.flow-list li .flow-box-row {
	width: 1170px;
	margin: 0 auto;
	display: flex;
}
.flow-list li .step-img {
	min-width: 104px;
	margin-right: 40px;
}
.flow-list li .step-ttl {
	padding: 16px 0;
}
.flow-list li .step-box .step-box-img {
}
.flow-list li .flow-box-row {
	display: flex;
}
.flow-list li .flow-box-row .box-row {
	display: flex;
}
.flow-list li .flow-box-row .step-box {
	margin-right: 50px;
}
.flow-list li .flow-img {
	margin-top: 40px;
	text-align: center;
}
.flow-list li .flow-img img {
	margin: 0 auto;
}
.flow-list li .step-movie {
	width: 100%;
	margin: auto;
}
.flow-list li .step-movie .vid_main {
	width: 100%;
	min-width: 540px;
}
@media screen and (max-width: 896px) {
	.flow-container {
		padding: 40px 0;
		background: #fff;
	}
	.flow-wrap {
		width: 100%;
	}
	.flow-wrap .ttl {
		padding: 0 15px;
		font-size: 22px;
	}
	.flow-list li {
		padding: 40px 15px;
	}
	.flow-list li:first-child {
		padding: 20px 15px 40px;
	}
	.flow-list li .flow-box,
	.flow-list li .flow-box-row {
		width: 100%;
		margin: 0 auto;
	}
	.flow-list li .step-img {
		min-width: 50px;
		margin-right: 20px;
	}
	.flow-list li .step-ttl {
		margin: 0 ;
		padding: 14px 0;
		font-size: 18px;
	}
	.flow-list li .step-txt {
		font-size: 14px;
		line-height: 1.5;
	}
	.flow-list li .flow-box-row {
		display: flex;
	}
	.flow-list li .flow-box-row .box-row {
		flex-direction: column;
	}
	.flow-list li .flow-box-row .step-box {
		margin-right: 0;
	}
	.flow-list li .flow-img {
		margin-top: 20px;
	}
	.flow-list li .step-movie .vid_main {
		min-width: auto;
	}
}

/* 解像度比較 */
.comparison-container {
	padding-bottom: 120px;
	color: #000;
	background: #fff;
}
.comparison-wrap {
	width: 1000px;
	margin: 0 auto;
}
.comparison-ttl {
	margin: 0 0 20px;
	font-weight: bold;
	display: inline-block;
	background: linear-gradient(90deg, #239af8, #66d9cc);
	background: -webkit-linear-gradient(0deg, #239af8, #66d9cc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.comparison-list {
	display: flex;
	justify-content: space-between;
	margin: 0;
}
@media screen and (max-width: 896px) {
	.comparison-container {
		padding-bottom: 60px;
	}
	.comparison-wrap {
		width: 100%;
	}
	.comparison-ttl {
		padding: 0 15px;
		font-size: 22px;
	}
	.comparison-list {
		padding: 0 10px;
	}
	.comparison-list li {
		margin: 0;
		padding: 0 5px;
	}
}

/* スペック */
.spec-container {
	padding-bottom: 120px;
	color: #000;
	background: #fff;
}
.spec-wrap {
	width: 1000px;
	margin: 0 auto;
}
.spec-wrap .ttl {
	margin: 0 0 20px;
	font-weight: bold;
	display: inline-block;
	background: linear-gradient(90deg, #239af8, #66d9cc);
	background: -webkit-linear-gradient(0deg, #239af8, #66d9cc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.spec-table {
	margin: 0;
	border: 2px solid #2099ff;
}
.spec-table tr {
	border-bottom: 1px solid #eee;
}
.spec-table tr:nth-child(even){
	background: #f9f9f9;
}
.spec-table tr th {
	min-width: 250px;
	padding: 8px 30px;
	font-weight: 500;
	border-right: 1px solid #eee;
}
.spec-table tr td {
	width: 750px;
	padding: 8px 30px;
	border-right: 1px solid #eee;
}
.trial-btn {
	margin-top: 100px;
	text-align: center;
}
.trial-btn .button {
	margin-bottom: 10px;
	padding: 10px 300px 12px;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	text-decoration: none;
	background: linear-gradient(90deg, #239af8, #66d9cc);
	background: -webkit-linear-gradient(0deg, #239af8, #66d9cc);
	border: 2px solid;
	border-image: linear-gradient(90deg, #239af8 0%, #66d9cc 100%);
	border-image-slice: 1;
}
.trial-btn .button:hover {
	background: linear-gradient(90deg, #fff, #fff);
	background: -webkit-linear-gradient(0deg, #fff, #fff);
	background: linear-gradient(90deg, #239af8, #66d9cc);
	background: -webkit-linear-gradient(0deg, #239af8, #66d9cc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@media screen and (max-width: 896px) {
	.spec-container {
		padding: 0 15px 40px;
	}
	.spec-wrap {
		width: 100%;
	}
	.spec-wrap .ttl {
		font-size: 22px;
	}
	.spec-table {
		width: 100%;
		margin-bottom: 20px;
		font-size: 14px;
	}
	.spec-table tr th {
		min-width: 90px;
		padding: 5px;
	}
	.spec-table tr td {
		width: auto;
		padding: 5px;
	}
	.trial-btn {
		margin-top: 10px;
	}
	.trial-btn .button {
		display: block;
		padding: 10px 0 12px;
	}
}