html,
body{
  margin:0;
  padding:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#666;
}

.pamphlet-viewer{
  position:relative;
  z-index:1;
  width:100%;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#666;
  overflow:hidden;
}

.pamphlet-viewer::before{
  content:"";
  position:absolute;
  inset:-30%;
  z-index:0;
  pointer-events:none;

  background-image:url("/images/company/pamphlet/NIPPOrogo-gray.png");
  background-repeat:repeat;
  background-size:130px auto;
  background-position:0 0;

  opacity:.12;

  transform:rotate(-25deg);
  transform-origin:center;
}

#book,
.pamphlet-controls{
  position:relative;
  z-index:2;
}

.pamphlet-loading{
  z-index:20000;
}
	


/* ========================================
   ビューア全体
======================================== */

.pamphlet-viewer{
  width:100%;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#666;
}

/* ========================================
   本
======================================== */

#book{
  width:100%;
  max-width:1200px;
}

.page{
  background:#fff;
  overflow:hidden;
}

.page canvas{
  width:100%;
  height:100%;
  display:block;
}

/* ========================================
   操作パネル
======================================== */

.pamphlet-controls{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  z-index:9999;

  display:flex;
  align-items:center;
  gap:12px;

  padding:12px 18px;

  background:rgba(35,35,35,.88);
  border-radius:999px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);

  font-family:Arial, sans-serif;
  color:#fff;

  pointer-events:auto;
}

.pamphlet-controls button,
.pamphlet-controls a{

  appearance:none;
  border:none;

  background:#ffffff;
  color:#333;

  padding:8px 18px;

  border-radius:999px;

  font-size:14px;
  font-weight:bold;

  text-decoration:none;

  cursor:pointer;

  transition:.2s;
}

.pamphlet-controls button:hover,
.pamphlet-controls a:hover{

  background:#1b6ec2;
  color:#fff;

}

#pageNumber,
#zoomLabel{

  min-width:64px;

  text-align:center;

  color:#fff;

  font-weight:bold;

}

/* ========================================
   読み込み画面
======================================== */

.pamphlet-loading{

  position:fixed;
  inset:0;

  z-index:20000;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  gap:18px;

  background:#666;

  color:#fff;

  font-family:Arial,sans-serif;

}

.pamphlet-loading__text{

  font-size:20px;
  font-weight:bold;

}

.pamphlet-loading__bar{

  width:280px;
  height:6px;

  background:rgba(255,255,255,.25);

  border-radius:999px;

  overflow:hidden;

}

.pamphlet-loading__bar span{

  display:block;

  width:0;
  height:100%;

  background:#ffffff;

  transition:width .25s;

}

.pamphlet-loading__count{

  font-size:14px;

}

.pamphlet-loading.is-hide{

  display:none;

}


/* ========================================
   スマホ対応
======================================== */

@media (max-width: 768px){

  html,
  body{
    overflow:hidden;
  }

  .pamphlet-viewer{
    height:100vh;
    padding:0;
  }

  #book{
    max-width:100%;
  }

  .pamphlet-controls{
    bottom:12px;
    width:calc(100% - 24px);
    max-width:none;
    gap:6px;
    padding:10px 8px;
    border-radius:18px;
    box-sizing:border-box;
  }

  .pamphlet-controls button,
  .pamphlet-controls a{
    padding:7px 10px;
    font-size:12px;
    white-space:nowrap;
  }

  #pageNumber,
  #zoomLabel{
    min-width:48px;
    font-size:12px;
  }
}

