@charset "UTF-8";/*----------------------------------------------------------更新日：2024年7月31日=PC(960以上)=PC & タブレット(960以下)=スマホ(768px以下)-------------------------------------------------------------*//*==================================================================  Top page===================================================================*//* #keyv------------------------------------------------------*/#keyv {	position: relative;	z-index: 0;	height: 500px;}#keyv #keyvVideo {	overflow: hidden;	display: flex;	justify-content: center;	align-items: center;	position: absolute;	top: 0;	left: 0;	width: 100%;	height: 100%;}#keyvVideo video{	position: absolute;	min-width: 100%;	min-height: 100%;	background: url("../img/bg_keyv.jpg") no-repeat center center;	background-size: cover;}#keyv #keyvVideo:before {	content: "";	display: block;	position: absolute;	top: 0;	left: 0;	width: 100%;	height: 100%;	background-color: rgba(0,0,0,0.5);	z-index: 1;}#keyv .mainTxt {	display: flex;	flex-direction: column;	align-items: flex-start;	justify-content: center;	height: 100%;	padding: 0 1.5em;	position: relative;	z-index: 10;	max-width: 1000px;	margin: 0 auto;/*	border: 1px solid #F69;*/}#keyv .mainTxt .name {	color: #FFF;	text-align: left;	line-height: 1.6;	margin-bottom: 0.8em;	text-shadow: 0 1px 4px rgba(0, 0, 0, .6);	font-size:2.5em;}#keyv .mainTxt .name:after {	content: "";	display: block;	width: 50px;	height: 2px;	margin-top: 0.5em;	background: #FFF;}@media only screen and (max-width:960px) {}@media only screen and (max-width:768px) {	#keyv { height: 100vw; }  #keyv .mainTxt .name {		width: 90vw;		font-size: 2em;		line-height: 1.4;  }}/*セール用ボタン*/#keyv .saleBan{	width: 160px;	position: absolute;	right: 2%;  top: 7%;	z-index: 15;	opacity: 0;}#keyv .saleBan a:hover{	opacity: 0.8;}.saleBan {  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;	animation-delay: 0.5s;}@keyframes zoomIn {  0% {    transform: scale(0.5);    opacity: 0;  }  100% {    opacity: 1;    transform: scale(1);  }}@media only screen and (max-width:768px) {	#keyv .saleBan{		width: 20vw;		right: 2%;		top: 7%;	}}/* #poseest------------------------------------------------------*/#poseest {	background: #0c0c0c url("../img/bg_poseest.jpg") no-repeat 50% 50%;	background-size:cover;	background-color: #0c0c0c;}#poseest .flexBox{	display: flex;	justify-content: space-between;}#poseest .flexBox .txt{	color: #FFF;	text-shadow: 0 1px 4px rgba(0, 0, 0, .8);	width: 50%;}#poseest .flexBox .txt h2{	color: #f20c88;	font-size: 2em;	text-shadow: 0 1px 4px rgba(255, 255, 255, .8);	margin-bottom: 0.6em;}#poseest .flexBox .pic{	width: 45%;}@media only screen and (max-width:960px) {	#poseest .flexBox{		flex-direction: column;	}	#poseest .flexBox .txt{		width: 100%;	}	#poseest .flexBox .pic{		width: 100%;	}}/* #about------------------------------------------------------*/#about {/*	background: #fff url("../img/vp-sync/about_bg.webp") no-repeat 50% 50%;	background-size:contain;*//*	margin-bottom: 4em;*//*	padding-top: 2em;*/}#about header{	justify-content: flex-start;}#about header h2{	padding-bottom: 0.6em;}#about .toptxt{	font-size: 1.5em;	line-height: 1.6;}#about .flexBox{	display: flex;	justify-content: space-between;	margin-bottom: 3em;}#about .flexBox .txt{	width: 50%;/*	border: 1px solid #67F;*/}#about .flexBox .pic{	width: 45%;	text-align: center;	margin-top: -2em;/*	border: 1px solid #F67;*/}#about .flexBox .pic img{	max-width: 200px;/*	border: 1px solid #F67;*/}#about .movie {  margin: 0 auto 1em;}#about .youtube:empty {	background: #CCC;}#about .youtube:empty:before {	content: "動画準備中";	position: absolute;	top: 50%;	left: 50%;	color: #666;	transform: translate(-50%,-50%);}#about .flex {	justify-content: space-between;}#about .flex .movie {	max-width:none;	width: calc(50% - 20px);	margin: 0;}#about .flexBox2{	display: flex;	justify-content: space-between;	margin: 4em 0 3em;/*	border: 1px solid #5044F0;*/}#about .flexBox2 .txt{	width: 55%;/*	border: 1px solid #F67;*/}#about .flexBox2 .txt .title{	color: #f20c88;	font-size: 2em;	font-weight: 700;	margin-bottom: 0.5em;}#about .flexBox2 .txt p{	font-size: 1.5em;	margin: 0;}#about .flexBox2 .btnArea{	width: 40%;/*	border: 1px solid #6F7;*/	position: relative;}#about .flexBox2 .btnArea .btn{	position: absolute;	bottom:0;	right: 0;}@media only screen and (max-width:960px) {	#about .flexBox{		flex-direction: column-reverse;		justify-content: flex-start;		margin-bottom: 2em;	}	#about .flexBox .txt{		width: 100%;	}	#about .flexBox .pic{		width: 100%;		margin: 0 0 1em;	}	#about .flexBox2{		justify-content: flex-start;		flex-direction: column;		margin-bottom: 2em;	}	#about .flexBox2 .txt{		width: 100%;	}	#about .flexBox2 .btnArea{		width: 100%;		padding-top: 1em;	}	#about .flexBox2 .btnArea .btn {		position:inherit;		margin: 0 auto;	}}@media only screen and (max-width:768px) {	#about .toptxt{		font-size: 1.4em;	}	#about .flex {	}	#about .flex .movie {		width: 100%;		margin: 0 0 2em;	}	#about .flexBox2 .txt p{		font-size: 1.4em;	}}/* #product------------------------------------------------------*/#product{	background-color: #e8e8f0;}#product ul{	display: flex;	justify-content: space-between;}#product li{	background-color: #fff;	box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);	border-radius: 10px;	padding: 1em;	position: relative;}#product .box2List li{	width: 48.1%;}#product .box3List li{	width: 30.9%;}#product li .icon{	padding: 1em 0;	text-align: center;}#product li .icon img{	max-width: 90px;	max-height: 60px;}#product li .number{	color: #f20c88;	font-size: 2em;	font-weight: 700;	font-family: 'Roboto';	font-style: italic;	position: absolute;	top: 0.2em;	left: 0.6em;}#product li .txt .title{	font-size: 1.3em;	line-height: 1.6;	text-align: center;	padding: 0 0.5em;}#product li .txt p{	padding: 0 1em 0;}@media only screen and (max-width:960px) {	#product ul{		display: flex;		justify-content: flex-start;		flex-direction: column;	}	#product .box2List li{		width: 100%;	}	#product .box3List li{		width: 100%;	}}/* #contactArea------------------------------------------------------*/#contactArea{	background: #0c0c0c url("../img/bg_contact.jpg") no-repeat 50% 50%;	background-size:cover;	background-color: #0c0c0c;}#contactArea .flexBox{	color: #FFF;	font-size: 2em;	display: flex;	justify-content: space-between;	align-items: center;}#contactArea .flexBox .txt{	width: 55%;	text-shadow: 0 1px 4px rgba(0, 0, 0, .8);}@media only screen and (max-width:960px) {	#contactArea .flexBox{		flex-direction: column;	}	#contactArea .flexBox .txt{		width: 100%;		text-align: center;		line-height: 1.5;		margin-bottom: 1em;	}}@media only screen and (max-width:768px) {	#contactArea .flexBox{		font-size: 1.4em;	}}/* #design------------------------------------------------------*/#design{}#design .uppart{	text-align: center;	margin-bottom: 2em;}#design .flexBox{	display: flex;	justify-content: space-between;	flex-wrap: wrap;	max-width: 860px;	margin: 0 auto;}#design .flexBox li{	width: 400px;}#design .flexBox .title{	color: #f20c88;	font-size: 1.5em;	font-weight: 700;	line-height: 1.4;}#design .flexBox .txt{	margin-top: 0.5em;}@media only screen and (max-width:960px) {	#design .flexBox{		display: block;	}	#design .flexBox li{		width: 100%;	}	#design .flexBox .title{		margin-bottom: 0.5em;	}}/* #case------------------------------------------------------*/#case{	background-color: #e5d3dd;}#case .uppart{	text-align: center;	width: 80%;	margin: 0 auto 2em;}#case .flexBox{	display: flex;	justify-content: space-between;	align-items: center;}#case .flexBox .pic{	width: 40%;}#case .flexBox .txt{	width: 52%;}#case li {	font-size: 1.2em;	font-weight: 700;	line-height: 1.6;	margin-bottom: 0.8em;	padding-left: 1.6em;	background: transparent url(../img/icon_check.png) no-repeat left .2em;	background-size: 28px;}#case .btnArea {	display: flex;	justify-content: center;	padding-top: 2em;}@media only screen and (max-width:960px) {	#case .uppart{		width: 90%;		margin: 0 auto 2em;	}	#case .flexBox{		justify-content: flex-start;		flex-direction: column;		align-items: center;	}	#case .flexBox .pic{		width: 100%;		margin-bottom: 2em;	}	#case .flexBox .txt{		width: 100%;	}	#case li {		background: transparent url(../img/icon_check.png) no-repeat left .2em;		background-size: 22px 22px;		padding-left: 1.4em;	}}/* #spec------------------------------------------------------*/#spec header{	justify-content: flex-start;}#spec h3 {	font-size: 1.5em;	text-align: left;	border-bottom: 2px solid #000;	padding: 0 0 0.3em;/*	background: #EEE;*/}#spec h3:not(:first-of-type) { margin-top: 2em; }#spec table {	width: 100%;	border-collapse: collapse;	text-align: left;}#spec .sheet + .sheet {	margin-top: 2em;}#spec th,#spec td {/*	font-size: 14px;*/	vertical-align: top;	width: 50%;	padding: 0.4em 0;	line-height: 1.5;/*	border: 1px solid #CCC;	background-color: #FFF;*/}#spec th {/*	background: #e4f1fc;*/	white-space: nowrap;	font-weight: 500;}#spec .sub {	background: #eee;	white-space: nowrap;}#spec .capList{	margin-top: 2em;	margin-bottom: 0;	padding-top: 1em;	border-top: 2px solid #000;}#spec .capList + table {	margin-top: 2em;}#spec .capList li{	color: #444;	font-size: 0.8em;	padding-left: 1em;	text-indent: -1em;	margin-bottom: 0;	line-height: 1.6;}#spec .price {	font-weight: bold;	color: #f20c88;}.bnr { padding-top: 2em; }.bnr a:hover { opacity: 0.7; } @media only screen and (max-width:960px) {}@media only screen and (max-width:768px) {	#spec {		padding-top: 2em;		margin-bottom: 0;	}	#spec th,	#spec td {		padding: 0.5em;		font-size: 0.875em;	}}/* .infoNote------------------------------------------------------*/.infoNote li {  margin-bottom: 0;  border-bottom: 1px solid #CCC;}.infoNote li a:not(.txtLink),.infoNote li dl {  display: flex;  padding: 1em 0;}.infoNote li dd { margin-left: 0; }.infoNote li a:hover {  color: #f20c88;}.infoNote .date {  margin-right: 1em;  white-space: nowrap;  font-weight: bold;  color: #888;}@media only screen and (max-width:768px) {  .infoNote li a:not(.txtLink),  .infoNote li div {    display: block;    padding: 1em 0;  }}/* #contactArea2------------------------------------------------------*/#contactArea2{	background: #0c0c0c url("../img/bg_banlink.jpg") no-repeat 50% 50%;	background-size:cover;	background-color: #0c0c0c;}#contactArea2 .flexBox{	display: flex;	justify-content: space-evenly;	align-items: center;}#contactArea2 .flexBox div .btn{	min-width: 300px;}@media only screen and (max-width:960px) {	#contactArea2 .flexBox{		justify-content: flex-start;		flex-direction: column;		align-items: center;	}	#contactArea2 .flexBox div + div{		margin-top: 1em;	}}/* #contact------------------------------------------------------*/#contact header{	justify-content: flex-start;}#contact .topnote,#contact .cautionBox {	font-size: 0.9em;}#contact th { font-weight:500; }#contact img.mail {  height: 1em;  vertical-align: middle;}#contact .required,#contact .any {  min-width: 60px;}#contact .cautionBox { margin-top: 2em; }