@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;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
}
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{
  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;
}
/*------------------------------------------------------------
	menu
------------------------------------------------------------*/
#menu {
  position: absolute;
  top: 90px!important;
  right: -400px!important;
  transition: transform .5s;
  z-index: 3;
  max-height: calc(100% - 250px)!important;
  height: auto!important;
  transform: translateX(100%);
  pointer-events: none;
  width: 400px;
  margin-top: 0!important;
}
#menu.active{
  transform: translateX(0);
}
#menu .inner{
  display: block!important;
  padding: 0!important;
  max-width: 400px!important;
  margin-top: 0px!important
}
#menu .over {
  width: auto!important;
}
#menuBtn{
  display: block!important;
  width: 40px;
  height: 40px;
  background: #fff;
  position: absolute;
  left: -44px;
  top: 0;
  cursor: pointer;
  border-radius: 8px;
}
#menuBtn::before{
  content: "";
  position: absolute;
  top: calc(50% - 5.5px);
  width: 9px;
  height: 9px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  right: 17px;
  transform: rotate(45deg);
}
#menuBtn.active::before{
  right: 13px;
  transform: rotate(-135deg);
}

#menu .box {
  margin-top: 0;
  padding: 0 17px;
}
#menu .box:first-child {
  border-radius: 8px 0 0 0;
}
#menu .box:not(:first-of-type) {
  border-radius: 0;
  margin-top: 0;
}
#menu .box:last-child {
  border-radius: 0 0 0 8px;
  
}
#menu .box .btn{
  padding: 18px 0px 18px 22px;
}
#menu .box .selectList {
  padding: 17px 0!important;
  border-bottom: 1px solid #ccc;
}
#menu .box .selectList li img{
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}
#menu .box:last-child .selectList{
  border-bottom: none;
}
@media only screen and (max-width: 960px) {
  #menu {
    top: 105px !important;
  }
}
@media only screen and (max-width:767px) {
  #menu{
    width: 320px;
    right: -320px !important;
  }
}
/*------------------------------------------------------------
	menu_item
------------------------------------------------------------*/
#menu_item{
  position: absolute;
  top: 90px;
  right: 0px;
  left: 0;
  transition: transform .5s;
  z-index: 3;
  max-height: calc(100% - 250px);
  height: 100%;
  transform: translateX(-100%);
  pointer-events: none;
  width: 400px;
}
#menu_item.active{
  transform: translateX(0);
}
#menuBtn_item{
  display: block;
  width: 40px;
  height: 40px;
  background: #fff;
  position: absolute;
  right: -45px;
  top: 0;
  cursor: pointer;
  border-radius: 8px;
}
#menuBtn_item::before{
  content: "";
  position: absolute;
  top: calc(50% - 5.5px);
  width: 9px;
  height: 9px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  right: 14px;
  transform: rotate(-135deg);
}
#menuBtn_item.active::before{
  right: 17px;
  transform: rotate(45deg);
}
#menu_item .over{
  overflow-y: auto;
  max-height: calc(100%);
  width: auto;
  min-width: 250px;
  pointer-events: auto;
  direction: rtl;
}
#menu_item .inner{
  max-width: 400px;
}
#menu_item .box{
  background: #f2f2f2;
  padding: 0 17px;}
#menu_item .box:first-child{
  border-radius: 0 8px 0 0;
}
#menu_item .box:last-child{
  border-radius: 0 0 8px 0;
}
#menu_item .box .btn{
  position: relative;
  min-height: 40px;
  padding: 18px 30px 18px 0;
  cursor: pointer;
}
#menu_item .box .btn h2{
  font-size: 14px;
}
#menu_item .box .btn::before{
  content: "";
  position: absolute;
  right: 22px;
  top: calc(50% - 6px);
  width: 8px;
  height: 8px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(135deg);
}
#menu_item .box .btn.active::before{
  top: calc(50% - 3px);
  transform: rotate(-45deg);
}
#menu_item .box .select_list{
  padding: 0 0 20px;
  display: none;
  font-size: 0;
  overflow: hidden;
  border-bottom: 1px solid #ccc;
}
#menu_item .box:last-child .select_list{
  border-bottom: none;
}
@keyframes fade{
  0% {opacity: 0;}
  100% {opacity: 1;}
}
#menu_item .box .select_list li{
  display: -webkit-box;
  position: relative;
  margin: 2px 5px 10px 10px;
  opacity: 0;
  animation: fade .8s forwards;
  width: 70px;
  float: left;
  height: 120px;
  overflow: hidden;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  line-height: 1.25;
}
#menu_item .box .select_list li a{
  color: #4d4d4d;
  font-weight: 400;
  font-size: 13px;
}
#menu_item .box .select_list li input{
  display: none;
}
#menu_item .box .select_list li label{
  display: flex;
  align-items: center;
  cursor: pointer;
  width: 100%;
}
#menu_item .box .select_list li .thumbnail{
  border-radius: 6px;
}
#menu_item .box .select_list li .img{
  position: relative;
  border-radius: 46px;
  width: 50px;
}
#menu_item .box .select_list li label .img::before{
  content: "";
  position: absolute;
  left: -2px;
  top: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  border-radius: 6px;
  background-image: repeating-linear-gradient(0deg, #8a8a8a, #8a8a8a 7px, transparent 7px, transparent 14px, #8a8a8a 14px), repeating-linear-gradient(90deg, #8a8a8a, #8a8a8a 7px, transparent 7px, transparent 14px, #8a8a8a 14px), repeating-linear-gradient(180deg, #8a8a8a, #8a8a8a 7px, transparent 7px, transparent 14px, #8a8a8a 14px), repeating-linear-gradient(270deg, #8a8a8a, #8a8a8a 7px, transparent 7px, transparent 14px, #8a8a8a 14px);
  background-size: 3px calc(100% + 14px), calc(100% + 14px) 3px, 3px calc(100% + 14px) , calc(100% + 14px) 3px;
  background-position: 0 0, 0 0, 100% 0, 0 100%;
  background-repeat: no-repeat;
  animation: borderAnimation 0.9s infinite linear;
}
@keyframes borderAnimation {
from { background-position: 0 0, -14px 0, 100% -14px, 0 100%; }
to { background-position: 0 -14px, 0 0, 100% 0, -14px 100%; }
}
#menu_item .box .select_list li label .img::before{
  pointer-events: none;
  opacity: 0;
}
#menu_item .box .select_list li :checked + label .img::before{
  opacity: 1;
}
#menu_item .box .select_list li img{
  width: 70px;
  align-self: top;
  border-radius: 6px;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}
#menu_item .box .select_list li .txt{
  padding-left: 18px;
}
#menu_item .box .select_list li .txt p{
  display: none;
}
#menu_item .box .select_list li .info{
  position: absolute;
  right: -4px;
  top: 50%;
  height: 16px;
  width: 16px;
  background: #F2F2F2;
  border-radius: 50%;
  line-height: 16px;
  font-size: 10px;
  color: #999;
  text-align: center;
  margin: 4px auto 0;
  transform: translateY(-50%);
}
#menu_item .box .select_list li a strong {
  font-weight: normal;
  padding-right: 2px;
  float: left;
}
#menu_item .box .select_list li a strong::after {
  content: ".";
  float: right;
}
#menu_item .box .select_list li a span {
  flex: 1;
  overflow-wrap: anywhere;
}
@media only screen and (max-width:960px) {
  #menu .over{
    max-width: 100%!important;
  }
  #menuBtn{
    top: 0px!important;
  }
  #menu::before,
  #menu_item::before{
    content: none!important;
  }

  #menu_item{
    top: 105px;
    right: auto;
    left: -380px;
    transform: translateX(100%);
    transition: transform .5s;
    max-height: 100%;
    margin-top: 0;
    width: 380px;
  }
  #menu_item::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: .5;
    border-radius: 8px;
  }
  #menuBtn_item{
    right: -50px;
    top: 50px;
  }
  #menuBtn_item::before{
    right: 17px;
    transform: rotate(45deg);
  }
  #menuBtn_item.active::before{
    right: 15px;
    transform: rotate(-135deg);
  }
  #menu_item .over{
    max-height: 100%;
    height: 100%;
  }
  #menu_item .over .inner{
    max-width: none;
  }
}
@media only screen and (max-width:767px) {
  #menu_item{
    left: -320px;
    width: 320px;
  }
}
/*------------------
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;
  -webkit-animation: load2 2s infinite ease 1.5s;
  animation: load2 2s infinite ease 1.5s;
}
.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;
  -webkit-animation: load2 2s infinite ease; 
  animation: load2 2s infinite ease;
}
@-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);
  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;
}
.title{
  width: 60px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 50%;
  top: 47%;
  transform: translate(-50%, -50%);
  display: none;
}

/*----------------------------------------
.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;
}
.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;
}

footer .copyright{
  pointer-events: none;
}

/*----------------------------------------
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;
}
#black a svg{
  fill: #666666 !important;
}
#leftSideMenu ul li svg{
  fill: #ebebeb !important;
  opacity: 0.7;
}
header .btnList svg,
footer .btnList svg,
#helpModal .col ul li svg,
#favoriteBox ul li svg{
  fill: var(--uiTextColor) !important;
}
#leftSideMenu ul li svg{
  fill: #ebebeb !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,
#menu_item .box .btn h2,
#menu_item .box .select_list li a strong,
#menu_item .box .select_list li a span,
#helpModal,
#infoModal,
#infoModal a,
#listModal,
#listModal a,
#favoriteBox,
#favoriteBox ul li a,
#saveAlert,
.annotation_box ul.selectList button.info,
.menu_title,
#alertModal p{
  color: var(--uiTextColor) !important;
}
footer .btnList ul li .selectBox::after,
#menu .box .btn::before,
#menu_item .box .btn::before,
#helpModal .col h3,
#menuBtn::before,
#menuBtn_item::before{
  border-color: var(--uiTextColor) !important;
}
#menu .box .selectList li .info,
#menu::before,
#menu .box .selectList li label::before,
#menu_item .box .selectList li .info,
#menu_item::before,
#menu_item .box .selectList li label::before,
#gizmoBtn ul li,
#fBtn ul li button,
#leftSideMenu ul li,
#texture_upload{
  background: var(--uiTextColor) !important;
}
#gizmoBtn ul li svg{
  fill: var(--uiColor) !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,
.dyobjSelect{
  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,
#menu_item .box,
.menu_title{
  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{
  filter: drop-shadow(0 0 6px var(--uiColor)) !important;
}

footer .cost .btn button span{
  color: #FFF;
}

/*------------------------------------------------------------
	LeftSideMenu
------------------------------------------------------------*/
#leftSideMenu{
  position: absolute;
  right: 30px;
  top: 30px;
  overflow: hidden;
  z-index: 2;
}
#leftSideMenu ul{
  width: 330px;
  overflow: hidden;
}
#leftSideMenu ul li{
  height: 30px;
  width: 30px;
  float: left;
  border-radius: 50%;
  margin-right: 20px;
}
#leftSideMenu ul li:last-child{
  margin-right: 0px;
}
#leftSideMenu ul li button{
  width: 40px;
  height: 40px;
}
#leftSideMenu ul li button#directionHandle{
}
#leftSideMenu ul li button#directionHandle canvas{
  margin-bottom: 6px;
  margin-right: 10px;
}
#leftSideMenu ul li button#wireBtn{
  position: absolute;
}
#alfaBtn,
#anotationSwitch,
#floorBtn,
#floorBtn_grid,
#uiBtn
{
  opacity: 0.2;
}
#alfaBtn.active,
#anotationSwitch.active,
#floorBtn.active,
#floorBtn_grid.active,
#uiBtn.active,
#parsBtn.active{
  opacity: 1;
}

#parsBtn{
  background-color: RGBA(0, 0, 0, 0);
  border-radius: 3px;
}

#parsBtn p,
#wireBtn p{
  font-size: 18px
}
#parsBtn #perspective,
#wireBtn #wire,
#wireBtn #shade{
  display: none;
}
#parsBtn #orshographic,
#parsBtn #perspective{
  margin: 0 auto;
}

#wireBtn #solid,
#wireBtn #wire,
#wireBtn #shade,
#wireBtn #shade-texture{
  scale: 44%;
  position: absolute;
  top: -7px;
  left: -5px;
}
#wireBtn #wire,
#wireBtn #shade,
#wireBtn #shade-texture{
  display: none;
}


@media only screen and (max-width: 767px) {
  #leftSideMenu{
    top: 20px;
    right: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: max-content;
  }
}


/*------------------------------------------------------------
	deleteModal
------------------------------------------------------------*/
.modal#delAlerts{
  -webkit-backface-visibility: hidden;
  z-index: 100;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 400px;
  height: 200px;
  display: none;
  transform: translate(-200px, -100px);
}
.modal#delAlerts .bg{
  position: relative;
  background: RGBA(0,0,0,0.5);
  width: 100%;
  height: 100%;
  border-radius: 8px;
  z-index: 0;
}
.modal#delAlerts .modalInner::before{
  height: auto;
}
.modal#delAlerts p{
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
.modal#delAlerts ul{
  width: 240px;
  height: 56px;
  display: inline-block;
  margin: 0 auto;
}
.modal#delAlerts ul li{
  float: left;
  width: 100px;
  height: 36px;
  text-align: center;
  background-color: #FFF;
  margin: 10px;
  border-radius: 6px;
  color: #333;
  padding-top: 7px;
  cursor: pointer;
}
.modal#delAlerts .close span::before,
.modal#delAlerts .close span::after{
  background: #FFF;
}

/*------------------------------------------------------------
	modal_reset
------------------------------------------------------------*/
.modal#modal_reset{
  -webkit-backface-visibility: hidden;
  z-index: 100;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 400px;
  height: 200px;
  display: none;
  transform: translate(-200px, -100px);
}
.modal#modal_reset .bg{
  position: relative;
  background: RGBA(0,0,0,0.5);
  width: 100%;
  height: 100%;
  border-radius: 8px;
  z-index: 0;
}
.modal#modal_reset .modalInner::before{
  height: auto;
}
.modal#modal_reset p{
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
.modal#modal_reset ul{
  width: 240px;
  height: 56px;
  display: inline-block;
  margin: 0 auto;
}
.modal#modal_reset ul li{
  float: left;
  width: 100px;
  height: 36px;
  text-align: center;
  background-color: #FFF;
  margin: 10px;
  border-radius: 6px;
  color: #333;
  padding-top: 7px;
  cursor: pointer;
}
.modal#modal_reset .close span::before,
.modal#modal_reset .close span::after{
  background: #FFF;
}

/*------------------------------------------------------------
	modal_error
------------------------------------------------------------*/
.modal#modal_error{
  -webkit-backface-visibility: hidden;
  z-index: 100;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 430px;
  height: 200px;
  display: none;
  transform: translate(-215px, -100px);
}
.modal#modal_error .bg{
  position: relative;
  background: RGBA(0,0,0,0.5);
  width: 100%;
  height: 100%;
  border-radius: 8px;
  z-index: 0;
}
.modal#modal_error .modalInner{
  padding: 47px 40px;
}
.modal#modal_error .modalInner::before{
  height: auto;
}
.modal#modal_error p{
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
.modal#modal_error ul{
  width: 290px;
  height: 56px;
  display: inline-block;
  margin: 0 auto;
}
.modal#modal_error ul li{
  float: left;
  width: auto;
  height: 36px;
  text-align: center;
  background-color: #FFF;
  margin: 10px;
  border-radius: 6px;
  color: #333;
  padding: 7px 10px;
  cursor: pointer;
}
.modal#modal_error .close span::before,
.modal#modal_error .close span::after{
  background: #FFF;
}
/*------------------------------------------------------------
	modal_save
------------------------------------------------------------*/
.modal#modal_save{
  -webkit-backface-visibility: hidden;
  z-index: 100;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 430px;
  height: 200px;
  display: none;
  transform: translate(-215px, -100px);
}
.modal#modal_save .bg{
  position: relative;
  background: RGBA(0,0,0,0.5);
  width: 100%;
  height: 100%;
  border-radius: 8px;
  z-index: 0;
}
.modal#modal_save .modalInner::before{
  height: auto;
}
.modal#modal_save p{
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
.modal#modal_save ul{
  height: 56px;
  display: inline-block;
  margin: 0 auto;
}
.modal#modal_save ul li{
  float: left;
  width: auto;
  height: 36px;
  text-align: center;
  background-color: #FFF;
  margin: 10px;
  border-radius: 6px;
  color: #333;
  padding: 7px 10px;
  cursor: pointer;
}
.modal#modal_save .close span::before,
.modal#modal_save .close span::after{
  background: #FFF;
}
/*------------------------------------------------------------
	saveModal
------------------------------------------------------------*/
.modal#saveModal{
  -webkit-backface-visibility: hidden;
  z-index: 100;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 300px;
  height: 100px;
  display: none;
  transform: translate(-150px, -50px);
}
.modal#saveModal .modalInner{
  padding: 35px;
}
.modal#saveModal .bg{
  position: relative;
  background: RGBA(0,0,0,0.5);
  width: 100%;
  height: 100%;
  border-radius: 8px;
  z-index: 0;
}
.modal#saveModal p{
  font-size: 18px;
  font-weight: 600;
  color: #FFF;
}
.modal#saveModal .modalInner::before{
  height: auto;
}

/*------------------------------------------------------------
	resetModal
------------------------------------------------------------*/
.modal#resetModal{
  -webkit-backface-visibility: hidden;
  z-index: 100;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 340px;
  height: 100px;
  display: none;
  transform: translate(-150px, -50px);
}
.modal#resetModal .modalInner{
  padding: 35px;
}
.modal#resetModal .bg{
  position: relative;
  background: RGBA(0,0,0,0.5);
  width: 100%;
  height: 100%;
  border-radius: 6px;
  z-index: 0;
}
.modal#resetModal p{
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
.modal#resetModal .modalInner::before{
  height: auto;
}

/*------------------------------------------------------------
	modal_print
------------------------------------------------------------*/
.modal#modal_print{
  -webkit-backface-visibility: hidden;
  z-index: 100;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 400px;
  height: 260px;
  display: none;
  transform: translate(-200px, -130px);
}
.modal#modal_print .close span::before,
.modal#modal_print .close span::after{
  background: #FFF;
}
.modal#modal_print .modalInner{
  padding: 35px;
}
.modal#modal_print #print_file{
  display: block;
  width: 230px;
  margin: 20px auto;
  color: #FFF;
}
.modal#modal_print .bg{
  position: relative;
  background: RGBA(0,0,0,0.5);
  width: 100%;
  height: 100%;
  border-radius: 6px;
  z-index: 0;
}
.modal#modal_print p{
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
.modal#modal_print ul{
  width: 280px;
  height: 24px;
  margin: 0 auto;
}
.modal#modal_print ul li{
  float: left;
  margin-left: 20px;
  color: #FFF;
}
.modal#modal_print ul li input{
  width: 50px;
  text-align: center;
  margin: 0px 2px;
}
.modal#modal_print .modalInner::before{
  height: auto;
}
.modal#modal_print #print_upload{
  margin: 20px auto;
  width: 160px;
  height: 40px;
  font-size: 14px;
  padding-top: 10px;
  background: #FFF;
  border-radius: 6px;
}

/*------------------------------------------------------------
	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;
  }
}

/*------------------------------------------------------------
	フッターボタン
------------------------------------------------------------*/
footer{
  left: 30% !important;
  width: 70% !important;
}
@media only screen and (max-width: 960px) {
  footer{
    left: 0% !important;
    width: 100% !important;
  }
  footer .btnList ul {
    bottom: 140px!important;
  }
}
/*------------------------------------------------------------
	ヘッダーボタン
------------------------------------------------------------*/
header .ttl{
  display: none !important;
}
header .btnList{
  right: auto !important;
  left: 30px;
}

/*------------------------------------------------------------
	gizmoBtn
------------------------------------------------------------*/
#gizmoBtn{
  position: absolute;
  left: 30px;
  bottom: 30px;
  z-index: 2;
}
#gizmoBtn ul{
  display: flex;
}
#gizmoBtn ul li{
  width: 30px;
  height: 30px;
  background: #333;
  border-radius: 50%;
  cursor: pointer;
}
#gizmoBtn ul li:not(:last-child){
  margin-right: 20px;
}
#gizmoBtn ul li svg{
  width: 100%;
  height: auto;
  fill: #fff;
}
@media only screen and (max-width: 960px) {
  #gizmoBtn{
    left: auto;
    right: 10px;
    bottom: 160px;
  }
}
@media screen and (max-width: 767px) {
  #gizmoBtn{
    left: 15px;
    bottom: 82px;
  }
  #gizmoBtn ul li:not(:last-child){
    margin-right: 10px;
  }
}
/*------------------------------------------------------------
	undo
------------------------------------------------------------*/
#undo{
  opacity: 0.5;
  pointer-events: none;
}
#undo.active{
  opacity: 1;
  pointer-events: auto;
}
#redo{
  display: none;
}
/*------------------------------------------------------------
	grid-scale
------------------------------------------------------------*/
#gridScale{
  position: absolute;
  right: 208px;
  top: 70px;
  background-color: #666;
  color: #FFF;
  padding: 10px;
  border-radius: 6px;
  display:none;
}
#gridScale::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  height: 14px;
  width: 14px;
  background-color: #666;
  transform: translate(-7px, -7px) rotate(45deg);
}
#gridScale ul li{
  margin-bottom: 2px;
  height: 0;
  overflow: hidden;
  transition: .2s;
}
#gridScale.active ul li{
  overflow: visible;
  height: 15px;
}

#gridScale ul li p{
  font-size: 12px;
  cursor: pointer;
}

@media only screen and (max-width: 767px) {
  #gridScale {
    right: 50%;
    top: 65px;
    transform: translate(-16%, 0px);
    z-index: 2;
  }
}
/*------------------------------------------------------------
	save / reset
------------------------------------------------------------*/
#fBtn{
  width: 290px;
  position: absolute;
  bottom: 100px;
  right: 30px;
  height: 40px;
  overflow: hidden;
}
#fBtn ul li button{
  float: left;
  width: 135px;
  height: 40px;
  margin-left: 10px;
  color: #FFF;
  border-radius: 6px;
}

#texture_upload {
  width: 160px;
  height: 40px;
  background-color: #333;
  border-radius: 6px;
  color: #FFF;
  text-align: center;
  padding-top: 10px;
  position: absolute;
  bottom: 90px;
  left: 30px;
  cursor: pointer;
}
#contents label.file input[type="file"] {
  display: none;
}
#loading{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 10px;
}
#loading.modal .bg{
  background: none;
}
#loading.modal .modalInner{
  width: 100px;
  height: 100px;
  background: RGBA(0, 0, 0, 0.5);
  top: 50%;
  left: 50%;
  transform: translate(-50px, -50px);
  border-radius: 10px;
  padding: 31px;
}
@media only screen and (max-width: 960px) {
  header .btnList ul li{
    float: left;
  }
}
@media only screen and (max-width: 767px) {
  #fBtn{
    width: 145px;
    bottom: 82px;
    right: 15px;
    height: 100px;
  }
  #fBtn ul li button{
    margin-top: 10px;
  }
  header .btnList{
    left: 50%;
    transform: translate(-50%, 0);
  }
  header .btnList ul li {
    display: inline-block!important;
  }
  #texture_upload{
    width: 135px;
    bottom: 182px;
    right: 15px;
    left: auto;
  }
}

/*------------------------------------------------------------
	dyobjSelect
------------------------------------------------------------*/
.dyObjSelect-container{
  display: none;
  position: absolute;
}
.dyobjSelect{
  background: #DDD;
  border: none;
  font-weight: bold;
  padding: 10px 30px 10px 10px;
  font-size: 12px;
  position: relative;
  left: 0;
  width: auto;
  color: #FFF;
  appearance: none;
  border-radius: 6px;
}
.dyObjSelect-container::after{
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  right: 12px;
  top: 10px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(135deg);
}
#menu .box .selectList .dyobjSelect li{
  width: 200px;
  margin: 5px;
  cursor: pointer;
}

/*------------------------------------------------------------
	menu開閉
------------------------------------------------------------*/
.load #menuBtn{
  opacity: 1;
  transform: translateX(100);
}

/*------------------------------------------------------------
	menutitle
------------------------------------------------------------*/
#menu .menu_title{
  padding-left: 17px;
  border-top-left-radius: 6px;
}
#menu_item .menu_title{
  border-top-right-radius: 6px;
}
.menu_title h2{
  padding: 20px;
}
