/*汎用*/
@media (max-width: 979px){
  .sm-text-center{
    text-align: center!important;
  }
}
.js-shoot-show{/*カメラ写真のサムネ*/
  display: block;
  padding:10px;
  background-color: #ccc;
  margin-top:10px;
  max-width:90%;
}
/*---------モーダルウィンドウ--------------*/

/* モーダルウィンドウ全体のレイアウト（画面いっぱいに表示）*/
.js-modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100vw;
  top: 0;
  left: 0;
  z-index: 9999;
}

/* 黒背景の設定*/
.js-modal_bg {
  background: rgba(0, 0, 0, 0.6);
  height: 100vh;
  width: 100vw;
}
.js-modal-close{/*閉じるボタン*/
  cursor:pointer;
}
/* ウィンドウの設定*/
.js-modal_content {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 979px){
  .js-modal_content._sm {
    width: 100%;
  }
}
#videobox{
  width:100%;
}
#webCamera{/*pcの場合はここの高さはカメラ依存*/
  z-index: 1;
  max-width:100%;
}
@media (max-width: 979px){
  #webCamera{
    min-width:360px;
    min-height:640px;
  }
}
#webCameraPic{
  left:0; position: absolute; z-index: 100; background-color: transparent;
  max-width:100%;
}
#webCameraPicTemp{
  display:none;
}
#video-text{/*ビデオの上のテキスト*/
  text-align:center;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
@media (max-width: 979px){
  #video-text{/* スマホだとツールバーで画面が隠れるのでちょっと上に */
    top: calc(40% - 1.2em - 35px );
    transform:translate( -50%, calc(-40% + 1.2em + 35px) );
  }
}
/*ビデオ上の閉じるボタン*/
#video-close{
  position: absolute;
  top:0px;
  right:20px;
  z-index:1000;
}
@-moz-document url-prefix(){/*firefox*/
  #video-close{/* firefoxだとaspectRatioが効かないので横向き */
    top:-15px;
    right:0;
  }
}
@media (max-width: 979px){/* スマホだとツールバーで画面が隠れるのでちょっと上に */
  #video-close{
    top:20px;
    right:0px;
    line-height: 1em;
    top:calc(1em + 5px);
  }
}

/*撮影枠線*/
#strokeRect{
  display: block;
  border: solid 5px #f00;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 90%;
}
#strokeRect::before{
  content:"";
  display: block;
  padding-bottom: 131%; /* 幅に対する高さの比を1:1.31に */
}
@-moz-document url-prefix(){/*firefox*/
  #strokeRect{/* firefoxだとaspectRatioが効かないので横向き */
    top: 49%;
    left: 51%;
    height: 90%;
  }
}
@media (max-width: 979px){
  #strokeRect{/* スマホだとツールバーで画面が隠れるのでちょっと上に */
    width: 85%;
    top: 1.2em;
    left: 50%;
    transform: translate(-50%,1.2em);
  }
}
/*撮影ボタン*/
#js-shoot-cheese{
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translate(-50%);
}
@media (max-width: 979px){
  #js-shoot-cheese{/* スマホだとツールバーで画面が隠れるのでちょっと上に */
    bottom: 10%;
    bottom:calc(10% + 35px);
  }
}
/*サムネイル*/
.js-shoot-cap{
  display: inline-block;
  position: relative;
}
.js-shoot-cap .canvas{
  display: block;
  position: relative;
  width: min-content;
  margin: 0 auto;
}
.js-shoot-cap .canvas canvas{
  max-width: 150px;
  max-height:200px;
}
.js-shoot-cap img{
  max-width: 150px;
  max-height:200px;
  margin: 10px auto;/*中央寄せ*/
  display: block;
}
.js-shoot-cap p{
  line-height: 1;
}