@charset "UTF-8";/*----------------------------------------------------------更新日：2024年12月27s日=PC(960以上)=PC & タブレット(960以下)=スマホ(768px以下)-------------------------------------------------------------*//*==================================================================  Top page===================================================================*/body {  min-height: 100vh;}/*#main {	overflow: hidden;}*//* #keyv------------------------------------------------------*/#keyv {	position: relative;}#keyv h1 {	position: absolute;	bottom: 0;	width: 100%;	max-width: 900px;	left: 50%;	text-align: right;	z-index: 1;	transform: translate(-50%,50%);}#keyv h2 {	position: absolute;	top: 50%;	width: 100%;	max-width: 900px;	left: 50%;	text-align: right;	z-index: 1;	transform: translate(-50%,-50%);}#keyv #keyvInner {	overflow: hidden;	height: 500px;}#keyv #keyvVideo {	overflow: hidden;	position: relative;	height: 700px;	background: url("/vr-ergono/asset/img/bg_keyv.jpg") no-repeat center center;	transform: translateY(-160px);}#keyvVideo video{	position: absolute;	top: 50%;	left: 50%;	transform: translate(-50%,-50%);}@media only screen and (max-width:900px) {	}@media only screen and (max-width:768px) {	#keyv h1 img,	#keyv h2 img {		width: 65vw;	}	#keyv #keyvInner {		height: 100vw;	}	#keyv #keyvVideo {		height: 130vw;		transform: translateY(-25vw);	}	#keyvVideo video {		transform: translate(-43%,-50%);	}}/* 基本セッティング------------------------------------------------------*/.sec {	position: relative;}.sec .fade,.sec .fade2,.sec .fade3 {	transition: 0.5s;	opacity: 0;	transform: translateY(100px);}.sec .fade.show,.sec .fade2.show,.sec .fade3.show {	opacity: 1;	transform: translateY(0);}.sec h2 {	margin-bottom: 6em;	text-align: center;	font-size: 0.75em;}.sec h2 span {	display: block;	margin-bottom: 0.25em;	letter-spacing: 0.05em;	font-family: Arial,'sans-serif';	font-size: 2.5em;	color: #8dcfd3;}/* #about------------------------------------------------------*/#about {	padding: 9em 0 3.5em;	background: url("/vr-ergono/asset/img/body_bg1.png") no-repeat center center;	line-height: 2em;}#about h2 { margin-bottom: 4em; }#about .inner {	display: flex;	margin-bottom: 3em;}#about .box {	width: 50%;}#about .txt,#about .pic { width: 50%; }#about .txt p {	margin-bottom: 2em;}#about .pic { text-align: center; }#about .inner2 {	display: flex;	border: 1px solid;	font-weight: bold;}#about .inner2 .box {	padding: 1em 0 0.5em;	text-align: center;}#about .inner2 .box:first-of-type { border-right: 1px solid; }#about .inner2 h3 {	margin-bottom: 0.5em;	font-size: 1.125em;	font-weight: bold;}@media only screen and (max-width:900px) {	#about {		background-size: contain;	}}@media only screen and (max-width:768px) {	#about {		padding: 5em 0 3.5em;	}	#about .inner {		flex-direction: column-reverse;		margin-bottom: 0;	}	#about .box,	#about .txt,	#about .pic { width: auto; }	#about .txt p {		margin-bottom: 2em;	}	#about .inner2 {		display: block;	}	#about .inner2 .box:first-of-type {		border-right:0;		border-bottom: 1px solid;	}}/* #movie------------------------------------------------------*/#movie {	padding: 3.5em 0;}#movie .bg {	position: absolute;	top: 50%;	left: 50%;	width: max-content;	transform: translate(-50%, -50%);	z-index: -1;	opacity: 0;	transition: 2.0s;}#movie .bg.show {	animation: fade 3s infinite linear 0s;}@keyframes fade {	0%{ opacity: 0.4; }	50% { opacity: 1; }	100%{  opacity: 0.4; }}/* #use-case------------------------------------------------------*/#use-case {	padding: 3.5em 0;}#use-case .flex {	justify-content: space-between;}#use-case .inner {	display: flex;	flex-direction: column;	width: calc(50% - 0.5em);	max-width: 400px;}#use-case .box {	flex-grow: 1;	border: 1px solid;}#use-case .pic {	position: relative;}#use-case .pic h3 {	position: absolute;	top: 50%;	width: 100%;	text-align: center;	font-size: 1.5em;	font-weight: bold;	transform: translateY(-50%);}#use-case .pic h3 span {	display: block;	font-size: 0.5em;	color: #8dcfd3;}#use-case .txt {	padding: 1.25em 1.65em;	font-size: 1.125em;}#use-case dl {	padding: 1.25em;	background: #8dcfd3;	text-align: center;	color: #000;}#use-case dt {	font-size: 1.125em;}#use-case dd {	font-size: 3.15em;	font-weight: bold;}#use-case .kome {	padding-top: 0.5em;	text-align: right;	font-size: 0.75em;}@media only screen and (max-width:768px) {	#use-case .flex {		display: block;	}	#use-case .inner {		display: block;		width: auto;		max-width: none;	}	#use-case .inner:first-of-type { margin-bottom: 2em; }}/* #feature------------------------------------------------------*/#feature {	padding: 6em 0;}#feature h2 {	text-shadow: 0 0.875em 0.5em rgba(0,0,0,0.5);}#feature .baseWidth {	padding-top: 24em;} #feature .box {	display: flex;	justify-content: space-between;}#feature .box:nth-of-type(even) {	flex-direction: row-reverse;	margin-top: 8.5em;}#feature .pic.pc {	display: block;}#feature .txt {	width: 450px;}#feature .txt h3 {	margin-bottom: 0.5em;	padding: 0.25em;	border: 1px solid;	text-align: center;	font-size: 1.5em;	font-weight: bold;}#feature .txt p {	font-size: 1.125em;}#feature .txt p:not(:last-of-type) { margin-bottom: 2em; }#feature .img {	position: absolute;	top: 14em;	left: 0;	width: 100%;	text-align: center;	z-index: -1;}#feature .img img.pc { display: inline; }#feature .bg {	position: absolute;	top: 0;	left: 50%;	width: max-content;	transform: translate(-50%, 0);	z-index: -2;	opacity: 0;	transition: 2.0s;}#feature .bg.show {	animation: fade2 0.5s linear 0s forwards;}@keyframes fade2 {	0% {		opacity: 0;	}	100% {		opacity: 1;	}}@media only screen and (max-width:1047px) {	#feature .baseWidth {		padding-top: 37vw;	} 	#feature .box:nth-of-type(even) {		margin-top: 10vw;	}}@media only screen and (max-width:900px) {	#feature .baseWidth {		padding-top: 35vw;	} 	#feature .box {		margin-left: 2em;		margin-right: 2em;	}	#feature .pic.pc {		width: 50%;	}	#feature .txt {		width: calc(50% - 1em);	}}@media only screen and (max-width:768px) {	#feature { padding-top: 4em; }	#feature .baseWidth {		padding-top: 37vw;	} 	#feature .box {		display: block;		margin-left: 0;		margin-right: 0;	}	#feature .box:nth-of-type(even) {		margin-top: 3em;	}	#feature .pic.sp,	#feature .txt {		width: auto;	}	#feature .txt h3,	#feature .txt .pic {		margin-bottom: 1em;	}	#feature .txt .pic img {		width: 100%;		max-width: none;	}	#feature .img {		top: 15em;	}	#feature .img img.sp {		display: inline !important;		width: 50vw;	}	#feature .bg {		top: 0;		left: 50%;		width: 380vw;		transform: translate(-50%, 0);	}}/* #flow------------------------------------------------------*/#flow {	padding: 6em 0 3.5em;	background:url("/vr-ergono/asset/img/flow_bg.png") no-repeat top center;	background-size: cover;}#flow .baseWidth { max-width: 1000px; }#flow .box {	overflow: hidden;	position: relative;	display: flex;	align-items: stretch;	justify-content: space-between;	margin-bottom: 5em;}#flow .box:first-of-type {	flex-direction: row-reverse;}#flow .txt {	position: relative;	width: 500px;	margin-top: 1em;	margin-right: -150px;	margin-bottom: 1em;	background: rgba(255,255,255,0.9);	z-index: 1;}#flow .box:first-of-type .txt {	margin-right:0;	margin-left: -150px;}#flow h3 {	padding: 0.25em 50px;	border-bottom: 1px solid;	font-size: 1.5em;	font-weight: bold;	color: #f20c88;}#flow dl {	padding: 0.5em 0 0.5em 50px;	color: #000;}#flow dt {	font-size: 1.1em;	font-weight: bold;}#flow dd {	margin-bottom: 0.5em;	padding-left: 1.3em;	font-size: 0.875em;}#flow .pic {	width: 550px;}#flow .box.noflex {	display: block;	margin-bottom: 0;	text-align: center;}#flow .box.noflex .txt {	width: auto;	margin: 0;	background: rgba(0,0,0,0.3);}#flow .box.noflex h3 {	padding: 0.5em;}#flow .box.noflex dl {	display: flex;	justify-content: center;	padding-left: 0;	color: #FFF;}#flow .box.noflex dl div {	width: 195px;	margin-right: -8px;	margin-bottom: 1em;}#flow .box.noflex div.last {	margin-right: 0;}#flow .box.noflex dt {	position: relative;	display: flex;	justify-content: center;	align-items: center;}#flow .box.noflex dt:after {	content: "";	position: absolute;	top: 50%;	right: 0;	background: url("/vr-ergono/asset/img/flow_line.png") no-repeat;	background-size: contain;	width: 44px;	height: 7px;	transform: translate(41%,-50%);}#flow .box.noflex div.last dt:after {	display: none;}#flow .box.noflex dt span {	position: absolute;}#flow .box.noflex dd {	padding-left: 0;	font-size: 0.8em;}@media only screen and (max-width:900px) {	#flow .txt {		width: 55%;		margin-right: -15%;	}	#flow .box:first-of-type .txt {		margin-right:0;		margin-left: -15%;	}	#flow h3 {		padding: 0.25em 10%;	}	#flow dl {		padding: 0.5em 0 0.5em 10%;	}	#flow .pic {		width: 60%;	}	#flow .box.noflex dl div {		width: 25%;		margin-right: 0;	}	#flow .box.noflex dt:after {		width: 28%;		height: 5%;		transform: translate(50%, -50%);	}}@media only screen and (max-width:768px) {	#flow {		padding-top: 4em;	}	#flow .box {		display: block;		margin-bottom: 2em;	}	#flow .txt {		width: auto;		margin: 0 !important;	}	#flow h3 {		padding: 0.25em 1em;	}	#flow dl {		padding: 0.5em 1em;	}	#flow dl br { display: none; }	#flow .pic {		width: auto;	}	#flow .box.noflex dl {		display: block;		padding: 1em;	}	#flow .box.noflex dl div {		display: flex;		align-items: center;		width: auto;		margin-bottom: 0;	}	#flow .box.noflex dt:after {		top: auto;		left: 50%;		right: auto;		bottom: -3%;		transform: translate(-50%,0) rotate(90deg);	}	#flow .box.noflex div.last dt:after {		display: none;	}	#flow .box.noflex dt {		flex-shrink: 0;		width: 35%;		font-size: 0.8em;	}	#flow .box.noflex dt span {		position: absolute;	}		#flow .box.noflex dd {		text-align: left;	}	.btnArea { padding: 3em 0 0; }}