body,
html {
	margin: 0;
	padding: 0;
	height: 100%;
	overflow: hidden;
	font-family : "ヒラギノ角ゴ Pro", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, sans-serif;
	background-color: #EEEEEE;
	touch-action: pan-x pan-y;
}

p{
	margin: 0;
}

img{
	max-width: 100%;
}

#videoContainer {
	display: none;
	position: relative;
	width: 100%;
	height: 100%;
}

video {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}

#shutterButton {
	position: absolute;
	bottom: 4vw;
	left: 50%;
	-webkit-transform: translateX(-50%);
          transform: translateX(-50%);
	width: 15vw;
	height: 15vw;
	/* background-color: #fff; */
	background: rgba(0,0,0,0.3);
	border-radius: 50%;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 2;
	/* シャッターボタンがフォトフレームの上に表示されるようにする */
}

#shutterButton img{
	max-width: 100%;
}

.photoFrame {
	max-width: 100%;
	max-height: 100%;
	/* max-height: 75%; */
}

#photoFrameImg {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
	max-width: 100%;
	max-height: 100%;
	z-index: 1;
	/* フォトフレームがビデオの上に表示されるようにする */
}

#captureModal{
	display: none;
	position: absolute;
	-webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
			align-items: center;
	flex-direction: column;
	row-gap: 20px;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #7d7d7d;
	z-index: 3;
	/* フォトフレームがビデオの上に表示されるようにする */
}

#modalClose{
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	aspect-ratio: 1 / 1;
}

#modalClose::before,#modalClose::after{
	position: absolute;
	content: "";
	top: 20px;
	right: 20px;
	width: 35px;
	height: 1px;
	background-color: #fff;
}

#modalClose::before{
	-webkit-transform: translateX(50%) rotate(45deg);
          transform: translateX(50%) rotate(45deg);
				}
				#modalClose::after{
	-webkit-transform: translateX(50%) rotate(-45deg);
					transform: translateX(50%) rotate(-45deg);
}

.txt{
	color: #fff;
}

#cameraChange{
	position: absolute;
	top: 4vw;
	right: 4vw;
	width: 10vw;
	aspect-ratio: 1 / 1;
	z-index: 2;
}

.is-inCamera{
	transform: rotateY(180deg);
	-webkit-transform:rotateY(180deg);
	-moz-transform:rotateY(180deg);
}

.is-none{
	display: none !important;
}

canvas{
	/* touch-action: pan-x pan-y; */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.not-mobile-device{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
			align-items: center;
	flex-direction: column;
	row-gap: 20px;
	background-color: #EEEEEE;
	z-index: 100;
}
.landscape-device{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
			align-items: center;
	background-color: #EEEEEE;
	z-index: 99;
}

.split-photo-frame{
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
			-webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
	flex-direction: column;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	z-index: -1;
	/* フォトフレームがビデオの上に表示されるようにする */
}

.capture-img{
	touch-action: pan-x pan-y;
	max-width: 80%;
	max-height: 75%;
	overflow: scroll;
}