@charset "UTF-8";

html{
  height: 100%;
}
body{
  position:fixed;
  left: 0;
  top: 0;
	*font-size: small;
	*font: x-small;
	font-size: 14px;
	line-height: 1.5;
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
	margin: 0;
	padding: 0;
	background: #000;
  overflow: hidden;
  position: relative;
}
body *,
body *::before,
bory *::after{
  box-sizing: border-box;
}
body.over{overflow:hidden;}
h1,h2,h3,h4,h5,p,ul,ol,li,img,table,th,td,dl,dt,dd{margin: 0px;padding: 0px;font-size: 14px;}
li{list-style-type: none;}
table{border-collapse: collapse;}
a{cursor: pointer;color: #000;text-decoration: none;}
img{vertical-align: top;border: 0;max-width: 100%;height: auto;}
a img{vertical-align: bottom;-webkit-backface-visibility: hidden;-ms-backface-visibility: hidden;backface-visibility: hidden;}
input {-webkit-appearance: none;-moz-appearance: none;appearance: none;border-radius: 0;}
input[type="text"] {line-height: 1.5;}
button {-webkit-appearance: none;-moz-appearance: none;appearance: none;padding: 0;border: none;background-color: transparent;cursor: pointer;}
button{
	font-size: 14px;
	line-height: 1.5;
	font-family: 'Noto Sans JP', sans-serif;
  color: #000;
}
select {box-sizing: border-box;white-space: nowrap;color: #000;}
input[type="text"]:focus,select:focus{outline: 0;}
#wrap {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  text-align: left;
  overflow: hidden;
  background: #fff;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
.spOnly{
  display: none;
}
#trial_caption{
  display: none;
}
@media only screen and (max-width:767px) {
.spOnly{
  display: block;
}
}


/*------------------------------------------------------------
	form
------------------------------------------------------------*/
form{
  height: 100%;
}


/*------------------------------------------------------------
	container
------------------------------------------------------------*/
#container{
  position: relative;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}


/*------------------------------------------------------------
	contents
------------------------------------------------------------*/
#contents{
  position: relative;
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}



/*------------------------------------------------------------
	modal
------------------------------------------------------------*/
.modal{
	-webkit-backface-visibility: hidden;
	z-index: 100;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  display: none;
}
.modal .bg{
	position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  background: #fff;
  width: 100%;
  height: 100%;
}
.modal .close{
  position: absolute;
  right: 25px;
  top: 25px;
  font-size: 16px;
  z-index: 103;
  line-height: 1;
  cursor: pointer;
}
.modal .close span{
  position: relative;
  top: -2px;
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 30px;
}
.modal .close span,
.favoriteClose span{
  transition: transform .3s;
}
.modal .close:active span,
.favoriteClose:active span{
  transform: scale(.5);
}
.modal .close span::before,
.modal .close span::after{
  content: "";
  display: block;
  position: absolute;
  background: #000;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 2px;
  margin-left: -15px;
}
.modal .close span::before{
  transform: rotate(-45deg);
}
.modal .close span::after{
  transform: rotate(45deg);
}
.modal .modalInner{
	box-sizing: border-box;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 0;
	padding: 70px 40px 40px 40px;
	overflow-y: scroll;
}
.modal .modalInner::-webkit-scrollbar{
	display:none;
}
.modal .modalInner::before{
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	content: "";
}
.modal .modalBox{
	display: inline-block;
	z-index: 101;
	position: relative;
	margin: 0 auto;
	text-align: left;
	vertical-align: middle;
	max-width: 1000px;
	width: 100%;
  box-sizing: border-box;
}
.modal .modalBox .over{
	position: relative;
	max-width: 1000px;
	width: 100%;
}
.modal .modalBox .ttl{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.modal .modalBox .ttl h2{
  font-size: 14px;
}
.modal .modalBox .ttl ul{
  font-size: 0;
  text-align: right;
}
.modal .modalBox .ttl ul li{
  display: inline-block;
  vertical-align: top;
  margin-left: 20px;
}
.modal .modalBox .ttl ul li:first-child{
  margin-left: 0;
}
.modal .modalBox .ttl ul li a,
.modal .modalBox .ttl ul li button{
  height: 40px;
  line-height: 40px;
  border-radius: 8px;
  font-weight: 500;
  font-size: 14px;
  text-align: left;
  display: flex;
  align-items: center;
}
.modal .modalBox .ttl ul li a svg,
.modal .modalBox .ttl ul li button svg{
  margin-right: 5px;
}
.modal .modalBox .ttl ul li#formBtn a{
  width: 200px;
  text-align: center;
  background: #333;
  color: #fff;
  justify-content: center;
}
.modal .modalBox .ttl ul li#formBtn a::before{
  display: none;
}
.modal .modalBox .box{
  border-top: 2px solid #000;
  padding: 25px 0 0 0;
  margin-top: 15px;
}
.modal .modalBox .box .logo{
  display: flex;
  align-items: center;
}
.modal .modalBox .box .logo .logoImg{
  width: 120px;
  height: 120px;
  text-align: center;
}
.modal .modalBox .box .logo img{
  max-width: 100%;
  max-height: 100%;
}
.modal .modalBox .box .logo .logoTxt{
  width: calc(100% - 120px);
  padding-left: 40px;
}
.modal .modalBox .box .logo .logoTxt h3{
  font-size: 20px;
}
.modal .modalBox .box .logo .logoTxt p{
  font-size: 14px;
  font-weight: 300;
  margin-top: 5px;
}
.modal .modalBox .box .img{
  margin-top: 25px;
}
.modal .modalBox .box .txt{
  position: relative;
  padding-left: 280px;
  margin-top: 40px;
  min-height: 202px;
}
.modal .modalBox .box .txt .qr{
  position: absolute;
  left: 0;
  top: 0;
  width: 202px;
  height: 202px;
  border: 1px solid #000;
}
.modal .modalBox .box .txt .qr canvas {
    padding: 15px;
    background-color: #fff;
}
.modal .modalBox .box .txt table{
  width: 100%;
}
.modal .modalBox .box .txt table th,
.modal .modalBox .box .txt table td{
  border-top: 1px solid #000;
  padding: 10px 10px;
  font-size: 14px;
}
.modal .modalBox .box .txt table tr:first-child th,
.modal .modalBox .box .txt table tr:first-child td{
  border-top: none;
  padding-top: 0;
}
.modal .modalBox .box .txt table td{
  text-align: right;
  font-weight: bold;
}
.modal .modalBox .box .txt .priceBox{
  border-top: 1px solid #000;
  text-align: right;
  padding-top: 10px;
}
.modal .modalBox .box .txt .priceBox p{
  font-size: 14px;
}
.modal .modalBox .box .txt .priceBox p strong{
  font-size: 28px;
}
.modal .modalBox .note{
  display: flex;
  flex-direction: row-reverse;
  position: relative;
  margin-top: 60px;
}
.modal .modalBox .note .info{
  width: 280px;
  padding-right: 30px;
}
.modal .modalBox .note .info p{
  font-size: 13px;
  line-height: 1.8;
  font-weight: 300;
}
.modal .modalBox .note .info p span{
  font-size: 12px;
}
.modal .modalBox .note .list{
  width: calc(100% - 280px);
}
.modal .modalBox .note .list ul li{
  font-size: 12px;
  margin: 2px 0 0 1em;
  text-indent: -1em;
  font-weight: 300;
}
.modal .modalBox .note .list ul li:first-child{
  margin-top: 0;
}
.modal .modalBox .note .list ul + ul{
  margin-top: 20px;
}
.modal .modalBox .copy{
  margin-top: 60px;
  font-size: 11px;
  font-weight: 300;
}
@media print{
.modal .modalBox .ttl{
  display: none;
}
.modal .modalBox .box {
  border-top: none;
  padding: 0;
  margin-top: 0;
}
.modal .bg{
  opacity: 1;
}
html{
  height: auto !important;
}
body{
  position: relative !important;
}
#wrap{
  height: auto !important;
  overflow: auto !important;
}
header,
footer,
#container,
.modal .close,
.modal::before{
  display: none !important;
}
.modal,
.modal .modalInner{
  position: relative;
  height: auto !important;
}
.modal .modalInner{
  padding: 0 !important;
}
.modal .modalBox .note{
  margin-top: 30px;
}
}
@media screen and (max-width: 1023px) {
.modal .modalBox .ttl{
  position: relative;
  flex-wrap: wrap;
}
.modal .modalBox .ttl h2{
  width: 100%;
  order: 2;
  height: 40px;
  line-height: 40px;
  margin-top: 20px;
}
.modal .modalBox .ttl ul{
  width: 100%;
  order: 1;
}
.modal .modalBox .ttl ul li#formBtn{
  position: absolute;
  right: 0;
  bottom: 0;
}
}
@media screen and (max-width: 767px) {
.modal::before{
  height: 65px;
}
.modal .modalInner{
	padding: 65px 20px 40px 20px;
}
.modal .close{
  right: 15px;
  top: 25px;
  font-size: 14px;
}
.modal .close span{
  margin-left: 5px;
}
.modal .modalBox .ttl h2{
  margin-top: 10px;
}
.modal .modalBox .ttl ul li a,
.modal .modalBox .ttl ul li button{
  height: 35px;
  font-size: 12px;
}
.modal .modalBox .ttl ul li a span,
.modal .modalBox .ttl ul li button span{
  display: none;
}
.modal .modalBox .ttl ul li#formBtn a{
  width: 140px;
  height: 40px;
  font-size: 13px;
}
.modal .modalBox .ttl ul li#formBtn a::before{
  display: none;
}
.modal .modalBox .box{
  display: block;
  border-top: 2px solid #000;
  padding: 15px 0 0 0;
  margin-top: 15px;
}
.modal .modalBox .box .logo .logoImg{
  width: 70px;
  height: 70px;
}
.modal .modalBox .box .logo .logoTxt{
  width: calc(100% - 70px);
  padding-left: 20px;
}
.modal .modalBox .box .logo .logoTxt h3{
  font-size: 16px;
}
.modal .modalBox .box .logo .logoTxt p{
  font-size: 12px;
}
.modal .modalBox .box .img{
  margin-top: 15px;
}
.modal .modalBox .box .txt{
  padding-left: 0;
  margin-top: 20px;
  min-height: 0;
}
.modal .modalBox .box .txt .qr{
  display: none;
}
.modal .modalBox .box .txt table th,
.modal .modalBox .box .txt table td{
  font-size: 13px;
}
.modal .modalBox .box .txt .priceBox p{
  font-size: 13px;
}
.modal .modalBox .note{
  display: block;
  margin-top: 30px;
  padding-left: 0;
}
.modal .modalBox .note .info{
  position: relative;
  width: 100%;
  margin-top: 20px;
  padding-right: 0;
}
.modal .modalBox .note .list{
  width: 100%;
}

.modal .modalBox .copy{
  margin-top: 20px;
}
}
/* ------------------
scene
------------------*/
#scene{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#scene canvas{
  /* background: -webkit-linear-gradient(left, #CDCCCA, #F9F9F8 42%,#F9F9F8 64%,#CDCCCA); */
  /* background: linear-gradient(90deg, #C2C2C2 0%, #fff 50%, #C2C2C2 100%); */
  height: calc(var(--vh, 1vh) * 100) !important;
}


/* ------------------
listModal
infoModal
------------------*/
#listModal .bg,
#infoModal .bg{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  background: #000;
  width: 100%;
  height: 100%;
  opacity: 0.3;
}
#listModal .modalInner,
#infoModal .modalInner{
	padding: 40px 40px 40px 40px;
}
#infoModal .modalDetail .box .txt .link{
  margin-top: 60px;
}
#infoModal .modalDetail .box .txt .link p{
  font-size: 18px;
  font-weight: bold;
}
#infoModal .modalDetail .box .txt .link a{
  font-size: 14px;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
#listModal .modalInner,
#infoModal .modalInner{
	padding: 40px 20px 40px 20px;
}
#infoModal .modalDetail .box .txt .link{
  margin-top: 30px;
}
#infoModal .modalDetail .box .txt .link p{
  font-size: 16px;
}
#infoModal .modalDetail .box .txt .link a{
  font-size: 13px;
  margin-top: 5px;
}
}

.modal .modalDetail{
	display: inline-block;
	z-index: 101;
	position: relative;
	margin: 0 auto;
	text-align: left;
	vertical-align: middle;
	max-width: 900px;
	width: 100%;
  box-sizing: border-box;
  background: #fff;
  border-radius: 8px;
}
.modal .modalDetail .over{
	position: relative;
	max-width: 900px;
	width: 100%;
  padding: 50px;
}
.modal .modalDetail .ttl h2{
  font-size: 27px;
}
.modal .modalDetail .box{
  display: flex;
  margin-top: 30px;
}
.modal .modalDetail .box .img{
  width: 40%;
  max-width: 320px;
  margin: 0 auto;
}
.modal .modalDetail .box .img img{
  width: 100%;
}
.modal .modalDetail .box .img canvas{
  padding: 15px;
  background-color: #fff;
}
.modal .modalDetail .box .txt{
  padding-left: 50px;
  width: 60%;
}
.modal .modalDetail .box .txt p{
  font-size: 14px;
  line-height: 2;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
}


/*------------------------------------------------------------
	カーソルストーカー
------------------------------------------------------------*/
#scene{
  cursor: none;
}
.cursor{
  position: fixed;
  border-radius:50px;
  transform: translate(-50%,-50%);
  z-index: 100;
  pointer-events: none;
  transition: width .2s,height .2s;
  opacity: .5;
}
#cursor1{
  background: #333;
  width: 10px;
  height: 10px;
}
#cursor2{
  border: 1px solid #333;
  width: 55px;
  height: 55px;
}
#cursor1.active{
  width: 20px;
  height: 20px;
}
#cursor2.active{
  width: 28px;
  height: 28px;
}
@media screen and (max-width: 767px) {
#scene{
  cursor: auto;
}
.cursor{
  display: none;
}
}


/*------------------
effect
------------------*/
#effect{
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,1) 100%);
  pointer-events: none;
  opacity: .2;
}

/*------------------
arvrModal
------------------*/
.modal#arvrModal .modalDetail .box{
  text-align: center;
  display: block;
}
.modal#arvrModal .modalDetail .box .btn {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
.modal#arvrModal .modalDetail .box .btn button {
  background: #333;
  color: #fff;
  font-size: 14px;
  height: 40px;
  padding: 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
}
.modal#arvrModal .modalDetail .box .img{
  width: 100%;
}
/*------------------
canvasModal
------------------*/
.modal#canvasModal .modalInner{
  box-sizing: border-box;
    position: absolute;
    text-align: center;
    padding: 0px;
    overflow-y: hidden;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.modal#canvasModal .modalInner > canvas{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.modal#canvasModal .modalInner .btn{
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: 4%;
  left: 50%;
  transform: translate(-50%,0%);
}
.modal#canvasModal .modalInner .btn a {
  background: #333;
  color: #fff;
  font-size: 14px;
  height: 40px;
  padding: 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  
}
.modal#canvasModal .modalInner canvas{
  background: url("/img/simulator/bgi_transparent.png") center;
}
/*------------------
shareModal
------------------*/
.modal#shareModal .modalBox .box {
  display: block;
  text-align: center;
  position: relative;
}
#shareModal .box .copyBox {
  display: inline-block;
  vertical-align: middle;
  border: solid 1px #000;
  background: transparent;
  padding: 27px 30px;
  font-size: 16px;
  line-height: 1.2;
  color: #000;
  word-break: break-all;
}
#shareModal .box .copyBtn {
  display: inline-block;
  vertical-align: middle;
  width: 22px;
  height: 27px;
  margin-left: 15px;
  cursor: pointer;
}
#shareModal .modalInner #shareQrArea {
  text-align: center;
  margin-top: 20px;
}
#shareModal .box .copyAlert {
  display: none;
  font-size: 12px;
  line-height: 1.2;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%,100%);
  margin-bottom: -10px;
  color: #000;
}
/*------------------
loader
------------------*/
.loader, .loader:before, .loader:after {
  border-radius: 50%;
}
.loader {
  color: #CCCCCC;
  font-size: 11px;
  text-indent: -99999em;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6em;
  height: 6em;
  box-shadow: inset 0 0 0 1em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translate(-3em, -3em);
  display: none;
}
.loader:before, .loader:after {
  position: absolute;
  content: '';
}
.loader:before {
  width: 3.2em;
  height: 6.2em;
  background: #FFFFFF;
  border-radius: 10.2em 0 0 10.2em;
  top: -0.1em;
  left: -0.1em;
  -webkit-transform-origin: 5.3em 5.3em;
  transform-origin: 3.1em 3.1em;
/*  will-change:animation;*/
  -webkit-animation: load2 2s infinite ease 1.5s;
  animation: load2 2s infinite ease 1.5s;
/*  -webkit-animation-fill-mode: forwards;*/
}
.loader:after {
  width: 3.2em;
  height: 6.2em;
  background: #FFFFFF;
  border-radius: 0 10.2em 10.2em 0;
  top: -0.1em;
  left: 3.1em;
  -webkit-transform-origin: 0.3em 5.3em;
  transform-origin: 0em 3.1em;
/*  will-change:animation;*/
  -webkit-animation: load2 2s infinite ease; 
  animation: load2 2s infinite ease;
/*  -webkit-animation-fill-mode: forwards;*/
}
@-webkit-keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.loader_bg{
  background-color: RGBA(0,0,0,0.2);
/*  background-color: #FFF;*/
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  display: none;
}
#loadCount{
	font-size: 16px;
  line-height: 1;
  font-family: 'Oswald', sans-serif;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translate(-50%,0);
  color: #222;
}
@media screen and (max-width: 768px) {	
#loadImg{
  font-size: 30px;
}
#loadCount{
  font-size: 14px;
}
}
#black{
  background-color:#000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
/* favoriteBox */
#favoriteBox{
  display: none;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
	overflow-y: auto;
}
#favoriteBox .inner{
	padding: 60px;
  text-align: center;
  font-size: 0;
}
#favoriteBox h2{
  font-size: 24px;
	line-height: 1.2;
	margin-bottom: 40px;
}
#favoriteBox ul{
  display: inline-block;
  text-align: left;
}
#favoriteBox ul li{
  font-size: 16px;
  line-height: 1.5;
  margin-top: 1em;
  position: relative;
}
#favoriteBox ul li svg{
  vertical-align: top;
}
#favoriteBox ul li .copyBtn{
  content: "";
  position: relative;
  top: -1px;
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 16px;
  font-size: 0;
  margin-right: 14px;
}
#favoriteBox ul li .mail{
  content: "";
  position: relative;
  top: -1px;
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 16px;
  margin-right: 14px;
}
#favoriteBox ul li a{
  color: #000;
}
#favoriteBox ul li .remove{
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  font-size: 0;
  cursor: pointer;
  width: 20px;
  height: 20px;
  position: relative;
  top: -1px;
}
#favoriteBox ul li .remove::before,
#favoriteBox ul li .remove::after{
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #000;
  position: absolute;
  top: 50%;
  left: 50%;
}
#favoriteBox ul li .remove::before{
  transform: translate(-50%,-50%) rotate(45deg);
}
#favoriteBox ul li .remove::after{
  transform: translate(-50%,-50%) rotate(-45deg);
}
@media screen and (max-width: 750px) {
  #favoriteBox .inner{
    padding: 60px 20px 20px;
	}
	#favoriteBox h2{
    font-size: 18px;
		margin-bottom: 30px;
	}
	#favoriteBox ul li{
    font-size: 14px;
	}
}
/*-------------------
favoriteClose
お気に入り登録、お気に入り一覧のcloseボタン
--------------------*/
.favoriteClose {
  position: absolute;
  right: 25px;
  top: 25px;
  font-size: 16px;
  z-index: 103;
  line-height: 1;
  cursor: pointer;
}
.favoriteClose span {
  position: relative;
  top: -2px;
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 30px;
}
.favoriteClose span::before, .favoriteClose span::after {
  content: "";
  display: block;
  position: absolute;
  background: #000;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 2px;
  margin-left: -15px;
}
.favoriteClose span::before {
  transform: rotate(-45deg);
}
.favoriteClose span::after {
  transform: rotate(45deg);
}
/* saveAlert */
#saveAlert{
	position: fixed;
	top: 50%;
	left: 50%;
  z-index: 100;
	transform: translate(-50%,-50%);
	background: #fff;
	padding: 40px;
	min-width: 210px;
	display: none;
}
#saveAlert p{
	font-size: 14px;
	line-height: 1.5;
}
#saveAlert .favoriteClose {
  right: 15px;
  top: 15px;
}

/*------------------------------------------------------------
	typeBtn 後で削除する
------------------------------------------------------------*/
#typeBtn{
  position: absolute;
  left: 20px;
  top: 100px;
  z-index: 2
}
#typeBtn li{
  margin-top: 10px;
}

/*------------------------------------------------------------
	title
------------------------------------------------------------*/
.title_bg{
  background-color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
/*  display: none;*/
}
.title{
/*  height: 50px;*/
  width: 60px;
/*  background-image: url("../img/simulator/logo_bc.png");*/
/*  background-image: url("/img/common/logo.svg");*/
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 50%;
  top: 47%;
  transform: translate(-50%, -50%);
  display: none;
}
/*
@media screen and (max-width: 767px) {
  .title{
    width: 50%;
  }
}
*/

/*----------------------------------------
.func_movieUrl
----------------------------------------*/
.func_movieUrl{
  width: 100%;
}


/*----------------------------------------
#helpModal
----------------------------------------*/
#helpModal{
  display: none;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
	overflow-y: auto;
}
#helpModal .close{
  position: absolute;
  right: 25px;
  top: 25px;
  font-size: 16px;
  z-index: 103;
  line-height: 1;
  cursor: pointer;
}
#helpModal .close span{
  position: relative;
  top: -2px;
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 30px;
}
#helpModal .close span::before,
#helpModal .close span::after{
  content: "";
  display: block;
  position: absolute;
  background: #000;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 2px;
  margin-left: -15px;
}
#helpModal .close span::before{
  transform: rotate(-45deg);
}
#helpModal .close span::after{
  transform: rotate(45deg);
}
#helpModal{
  padding: 80px 40px;
}
#helpModal h2{
  text-align: center;
  font-size: 24px;
}
#helpModal .box{
  max-width: 1000px;
  margin: 60px auto 0;
  display: flex;
}
#helpModal .col{
  width: calc(50% - 50px);
}
#helpModal .col:nth-child(1){
  margin-right: 100px;
}
#helpModal .col h3{
  font-size: 16px;
  padding: 0 30px 25px 30px;
  border-bottom: 1px solid #333;
  margin-top: 80px;
}
#helpModal .col h3:first-child{
  margin-top: 0;
}
#helpModal .col ul{
  padding-left: 30px;
  margin-top: 40px;
}
#helpModal .col ul li{
  position: relative;
  padding-left: 35px;
  margin-top: 35px;
}
#helpModal .col ul li:first-child{
  margin-top: 0;
}
#helpModal .col ul li.btn{
  padding-left: 0;
}
#helpModal .col ul li svg{
  position: absolute;
  left: 0;
  top: 0;
}
#helpModal .col ul li h4{
  font-size: 14px;
}
#helpModal .col ul li p{
  font-size: 12px;
}
#helpModal .col ul li.btn a{
  height: 40px;
  line-height: 40px;
  border-radius: 8px;
  font-weight: 500;
  font-size: 14px;
  text-align: left;
  display: flex;
  align-items: center;
  width: 200px;
  background: #333;
  color: #fff;
  justify-content: center;
  cursor: auto;
}
#helpModal .col ul li.btn p{
  padding-left: 30px;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
#helpModal{
  padding: 60px 20px;
}
#helpModal h2{
  font-size: 18px;
}
#helpModal .box{
  margin: 30px auto 0;
  display: block;
}
#helpModal .col{
  width: 100%;
}
#helpModal .col h3,
#helpModal .col h3:first-child{
  font-size: 14px;
  padding: 0 0 20px 0;
  margin-top: 40px;
}
#helpModal .col:first-child h3:first-child{
  margin-top: 0;
}
#helpModal .col ul{
  padding-left: 0;
  margin-top: 30px;
}
#helpModal .col ul li{
  margin-top: 15px;
}
#helpModal .col ul li.btn a{
  margin: 0 auto;
}
#helpModal .col ul li.btn p{
  padding-left: 0;
  text-align: center;
}
}
/*----------------------------------------
.selectList
----------------------------------------*/
.annotation_box ul.selectList button.info{
  height: 30px;
  background-color: #FFFFFF;
  border-radius: 10px;
  position: absolute;
  transform: translate(10px, 10px);
  z-index: 0;
  padding: 0 10px 2px;
  transform: translate(-50%, -125%);
  white-space: nowrap;
  display: none!important;
}
.annotation_box ul.selectList button.info::before{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 95%)rotate(180deg);
  border-right: 5px solid transparent;
  border-bottom: 10px solid #fff;
  border-left: 5px solid transparent;
}
.annotation_box ul.selectList button.info.select{
  display: block!important;
/*
  opacity: 0;
  visibility: hidden;
  transition: 300ms;
*/
}
.annotation_box ul.selectList button.info.active{
  opacity: 1;
  visibility: visible;
}
.annotation_box h2{
  display: none;
}


/*----------------------------------------
.copyright
----------------------------------------*/
.func_copyright_txt.mode_download::before{
  display: none !important;
}

/*----------------------------------------
alertModal
----------------------------------------*/
#alertModal{
  z-index: 999999;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  background: rgba(0,0,0,.5);
  text-align: center;
  font-size: 0;
  padding: 20px;
  display: none;
}
#alertModal::before{
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	content: "";
}
#alertModal .modalDetail{
	display: inline-block;
  vertical-align: middle;
	text-align: left;
	max-width: 400px;
  background: #fff;
  border-radius: 8px;
  padding: 35px 40px 30px 40px;
}
#alertModal p{
  font-size: 14px;
  line-height: 2;
}
#alertModal .close{
  display: block;
  font-size: 14px;
  color: #fff;
  background: #333;
  height: 40px;
  line-height: 40px;
  text-align: center;
  max-width: 210px;
  margin: 20px auto 0;
  cursor: pointer;
  border-radius: 8px;
}


/*------------------------------------------------------------
	load
------------------------------------------------------------*/
header{
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 1.0s,transform 1.0s;
  transition-delay: 1s;
}
.load header{
  opacity: 1;
  transform: translateY(0);
}
footer{
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.0s,transform 1.0s;
  transition-delay: 1s;
}
.load footer{
  opacity: 1;
  transform: translateY(0);
}
.zoomBtn{
  opacity: 0;
  transition: opacity 1.0s;
  transition-delay: 1s;
}
.load .zoomBtn{
  opacity: 1;
}


/*------------------------------------------------------------
	UIcolor
------------------------------------------------------------*/
:root {
  --uiColor: #7AC943;
  --uiTextColor: #FFFF00;
}
/*:root {
  --uiColor: #000;
  --uiTextColor: #fff;
}*/

header .btnList svg,
footer .btnList svg,
#helpModal .col ul li svg,
#favoriteBox ul li svg,
#leftSideMenu ul li svg{
  fill: var(--uiTextColor) !important;
}
header .ttl .txt,
footer .copyright,
footer .btnList ul li,
footer .btnList ul li button,
footer .btnList ul li select,
footer .copyright p a,
footer .cost .price,
footer .cost .btn button,
#menu .box .btn h2,
#menu .box .selectList li .txt h3,
#menu .box .selectList li .txt p,
#helpModal,
#infoModal,
#infoModal a,
#listModal,
#listModal a,
#favoriteBox,
#favoriteBox ul li a,
#saveAlert,
.annotation_box ul.selectList button.info,
#alertModal p{
  color: var(--uiTextColor) !important;
}
footer .btnList ul li .selectBox::after,
#menu .box .btn::before,
#helpModal .col h3,
#menuBtn::before{
  border-color: var(--uiTextColor) !important;
}
#menu .box .selectList li .info::before,
#menu::before,
#menu .box .selectList li label::before,
footer .cost .btn button,
#helpModal .close span::before,
#helpModal .close span::after,
#arvrModal .close span::before,
#arvrModal .close span::after,
#infoModal .close span::before,
#infoModal .close span::after,
#listModal .close span::before,
#listModal .close span::after,
#helpModal .col ul li.btn a,
.favoriteClose span::before,
.favoriteClose span::after,
#favoriteBox ul li .remove::before,
#favoriteBox ul li .remove::after,
#arvrModal .modalDetail .box .btn button,
#canvasModal .modalInner .btn a,
#canvasModal .close span::before,
#canvasModal .close span::after,
#alertModal .close{
  background: var(--uiTextColor) !important;
}
footer .cost .btn button svg{
  fill: var(--uiColor);
}
#helpModal .col ul li.btn a,
#arvrModal .modalDetail .box .btn button,
#menu .box .selectList li .info::after,
footer .cost .btn button,
#canvasModal .modalInner .btn a,
#alertModal .close{
  color: var(--uiColor) !important;
}
#helpModal,
#arvrModal .bg,
#arvrModal .modalDetail,
#infoModal .modalDetail,
#listModal .modalDetail,
#favoriteBox,
#saveAlert,
.annotation_box ul.selectList button.info,
#menuBtn,
#alertModal .modalDetail{
  background: var(--uiColor) !important;
}
.annotation_box ul.selectList button.info::before{
  border-bottom-color: var(--uiColor) !important;
}
#menu .box .selectList li label::after{
  border-color: var(--uiColor) !important;
}
header .ttl h1,
header .ttl p,
header .btnList ul li,
footer .btnList ul li,
footer .copyright,
footer .cost .price,
footer .cost .btn button,
#leftSideMenu ul li{
  filter: drop-shadow(0 0 6px var(--uiColor)) !important;
}

/*------------------------------------------------------------
	LeftSideMenu
------------------------------------------------------------*/
#leftSideMenu{
  position: absolute;
  left: 30px;
  top: 110px;
  overflow: hidden;
  z-index: 2;
}
#leftSideMenu ul{
  width: 40px;
}
#leftSideMenu ul li{
  height: 40px;
}
#leftSideMenu ul li button{
  width: 40px;
  height: 40px;
}
#alfaBtn,
#anotationSwitch,
#floorBtn,
#floorBtn_grid,
#uiBtn{
  opacity: 0.5;
}
#alfaBtn.active,
#anotationSwitch.active,
#floorBtn.active,
#floorBtn_grid.active,
#uiBtn.active{
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  #leftSideMenu{
    top: 80px;
    left: 5px;
  }
}

/*------------------------------------------------------------
	export-dropdownmenu
------------------------------------------------------------*/
#exportList{
  overflow: visible;
  width: 100px;
}
#exportList .selectBox svg{
  width: 14%;
  margin-top: 1px;
  margin-left: auto;
}
#exportBtn ul{
  display: none;
  position: sticky;
  margin-left: 0px;
  width: auto;
}
@media only screen and (max-width: 960px) {
  #exportList{
    width: 110px;
  }
  #exportList .selectBox svg{
    margin-top: -1px;
    width: 11%;
    margin-left: 14px;
  }
  #exportBtn ul{
    margin-left: 40px;
    width: 80px;
  }
}
#exportBtn ul li{
  font-size: 12px;
  text-align: left;
  cursor: pointer;
  z-index: 1;
}
.loader_export{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: RGBA(0,0,0,0.5);
}
#loader_export_wheel{
  width: 27px;
  height: 27px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  background-image: url("../img/common/loader.gif");
  background-repeat: no-repeat;
}

/*------------------------------------------------------------
	pulldown（各デザイン共通）
------------------------------------------------------------*/
footer .btnList ul li .selectBox select{
  padding: 0!important;
  text-align: center;
}
footer .btnList ul li .selectBox::after{
  content: none!important;
}
@media only screen and (max-width: 960px) {
  footer .btnList ul li .selectBox select{
    padding: 0 20px 0 40px!important;
    text-align: left;
  }
}

/*------------------------------------------------------------
	modal link
------------------------------------------------------------*/
.modal .modalBox .box .link {
  text-align: right;
  margin-top: 20px;
  margin-bottom: -40px;
}
.modal .modalBox .box .link a {
  height: 40px;
  line-height: 40px;
  border-radius: 8px;
  font-weight: 500;
  font-size: 14px;
  display: flex;
  align-items: center;
  width: 140px;
  text-align: center;
  background: #333;
  color: #fff;
  justify-content: center;
  margin: 0 0 0 auto;
}
@media only screen and (max-width: 767px) {
  .modal .modalBox .box .link {
    margin-top: 10px;
    margin-bottom: -15px;
  }
}