@charset "utf-8";

html,body {
  margin: 0;
  padding: 0;
  height: 100%;
  background-color: #dcdcdc;
  font-family: "lucida grande", tahoma, verdana, arial, "Hiragino Kaku Gothic Pro","Osaka",Meiryo,"メイリオ","ＭＳ ゴシック",sans-serif;
}

@media (orientation:landscape) {
    html.ipad.ios7 > body {
        position: fixed;
        bottom: 0;
        width:100%;
        height: 644px !important;
        margin: 0;
        padding: 0;
        background-color: #dcdcdc;
        font-family: "lucida grande", tahoma, verdana, arial, "Hiragino Kaku Gothic Pro","Osaka",Meiryo,"メイリオ","ＭＳ ゴシック",sans-serif;
    }
}

@media print {
	body { display:none; }
}

a {
  color: #0645ad;
  text-decoration: none;
}

a:hover {
text-decoration: underline;
}

a:link {
  color: #0645ad;
}

#container {
  display:flex;
  flex-wrap:wrap;
  width:100vw;
  height:100vh;
  margin:0 auto;
  overflow:hidden;
  background-color:transparent;
}
  
/*header*/
header {
  width:100vw;
  height:40px;
  background-color:#cacaca;
}
#toolbarDiv {
  top:4px;
  width:100vw;
  background-color:transparent;
  top:0;
}
#toolbarDiv.fullpage {
  z-index:999999;
  width:100%;
  height:40px;
  border:none;
  background-color:#cacaca;
}

header .hfdleft{
  padding:8px 16px;
}
header .hfspanleft{
  width: calc(100vw - 584px);
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
#toolbarDiv.fullpage .hfdleft{
  display: none;
}
#toolbarDiv.fullpage .hfspanleft{
  width: calc(100vw - 300px);
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

header .hfdright,
#toolbarDiv.fullpage .hfdright {
  position: fixed;
  right: 0;
  top:8px;
}
#toolbarDiv.fullpage .hfdright{
  top:4px;
}

#operation-button {
  display:flex;
  justify-content:flex-end;
  list-style-type:none;
  margin:0 4px;
  padding:0;
}
#operation-button li {
  text-align:center;
}
#operation-button a {
  display:inline-block;
  width:5em;
}
#toolbarDiv.fullpage #operation-button a{
  width: 7em;
}
#operation-button li::after {
  display:inline-block;
  content:"｜";
}
#operation-button li:last-child::after {
  display:none;
}

#hamburgerbtn {
  position:fixed;
  top:5px;
  right:15px;
  z-index:2000000;
  width:50px;
  height:50px;
  border-radius:5px;
  background:#696969;
  cursor:pointer;
}
#hamburgerbtn span {
  display:inline-block;
  position:absolute;
  left:14px;
  width:45%;
  height:3px;
  border-radius:2px;
  background:#fff;
  transition:all .4s;
}
#hamburgerbtn span:nth-of-type(1) {
  top:15px;
}
#hamburgerbtn span:nth-of-type(2) {
  top:23px;
}
#hamburgerbtn span:nth-of-type(3) {
  top:31px;
}

#hamburgerbtn.active span:nth-of-type(1) {
  top:18px;
  left:18px;
  transform:translateY(6px) rotate(-45deg);
  width:30%;
}
#hamburgerbtn.active span:nth-of-type(2) {
  opacity:0;
}
#hamburgerbtn.active span:nth-of-type(3) {
  top:30px;
  left:18px;
  transform:translateY(-6px) rotate(45deg);
  width:30%;
}

/*fullpage ico*/
#toolbarDiv.fullpage #operation-button li::after{
  display: none;
}
#toolbarDiv.fullpage #operation-button a{
  width: 48px;
}
#toolbarDiv.fullpage span{
  display: none;
}
#toolbarDiv.fullpage #full-page::after{
  content: url(../images/re_fullscreen.png);
}
#toolbarDiv.fullpage #reset::after{
  content: url(../images/reset.png);
}
#toolbarDiv.fullpage #zoom-out::after{
  content: url(../images/zoom-out.png);
}
#toolbarDiv.fullpage #zoom-in::after{
  content: url(../images/zoom-in.png);
}
#toolbarDiv.fullpage #rotate-left::after{
  content: url(../images/rotate-left.png);
}
#toolbarDiv.fullpage #rotate-right::after{
  content: url(../images/rotate-right.png);
}

/*side*/
#images {
  z-index:1000;
  width:120px;
  height:calc(100vh - 80px);
  text-align:center;
}
#images h2 {
  margin:0;
  font-size:1em;
}
#images ul {
  margin-top:0;
  margin-bottom:0;
  margin-left:0;
  padding-left:0;
}
#images li {
  list-style-type:none;
  margin-top:0;
  margin-bottom:0;
  padding-top:0.75em;
  padding-bottom:0.25em;
  line-height:1.5em;
}
#images dt , #images dd {
  margin:0;
}
#images img {
  width:auto;
  max-width:80px;
  height:auto;
  max-height:80px;
}
a img {
  border:0;
}
.loading {
  background-position:50% 30px;
  background-repeat:no-repeat;
}
.scroll-parent {
  height:100%;
  overflow:auto;
}
.navigator .highlight {
  opacity:0.4;
  border:2px solid #900;
  background-color:#900;
  outline:none;

  filter:alpha(opacity=40);
}
.highlight {
  opacity:0.4;
  border:2px solid #0A7EbE;
  background-size:contain;
  background-color:white;
  outline:10px auto #0A7EbE;

  filter:alpha(opacity=40);
  -moz-background-size:contain;
}
.highlight:hover , .highlight:focus {
  opacity:0.7;
  background-size:contain;
  background-color:transparent;

  filter:alpha(opacity=70);
  -moz-background-size:contain;
}

/*main*/
#content {
  width:calc(100vw - 120px);
  height:calc(100vh - 80px);
  overflow:hidden;
}

#view {
  width:100%;
  height:100%;
}
#view.fullpage {
  position:fixed;
  left:0;
  z-index:999999;
  width:100%;
  border:0;
  border:none;
  background-color:#dcdcdc;
}

#right-arrow {
  opacity:0.8;
  position:fixed;
  top:50%;
  right:16px;
  z-index:88888888;
  width:21px;
}
#left-arrow {
  opacity:0.8;
  position:fixed;
  top:50%;
  left:136px;
  z-index:88888888;
  width:21px;
}
#left-arrow.fullpage{
  left: 16px;
}

/*footer*/
footer {
  width:100vw;
  height:40px;
  background-color:#cacaca;
}
#footerbarDiv {
  display:flex;
  align-items:center;
  width:100%;
  height:100%;
}

footer .hfspanleft {
  display:flex;
  justify-content:flex-start;
  align-items:center;
}
#page-button {
  display:flex;
  align-content:center;
  list-style-type:none;
  margin:0;
  padding:0;
  padding-left:8px;
}
#page-button li {
  text-align:center;
}
#page-button li:nth-child(1):after,
#page-button li:nth-child(2):after {
  display:inline-block;
  content:"｜";
}
#page-button li a {
  display:inline-block;
  width:3em;
}
#page-button span {
  padding:0 0.5em;
}
#page-button span::before {
  display:inline-block;
  margin-right:0.5em;
  content:"／";
}
#page-button span::after {
  display:inline-block;
  margin-left:0.5em;
  content:"｜";
}

#marks{
  margin: 0;
  padding: 0;
  display: flex;
  list-style-type: none;
  width: calc(100vw - 495px);
  overflow: hidden;
}
#marks li{
  padding: 0.3em;
}

footer .hfdright {
  position: fixed;
  bottom: 10px;
  right: 4px;
}
footer .hfdright span{
  padding-left: 3px;
  font-size: 10px;
}

@media (max-width: 768px) {
  header .hfspanleft{
    width: calc(100vw - 80px);
  }  
  header .hfdright {
    display:none;
    z-index:999999;
    width:100vw;
    background:#f7f7f7;
    top: 0;
    padding-top: 10px;
    padding-bottom: 5px;
  }
  header .hfdright.active {
    display:block;
  }
  #button-panel {
    margin:0 auto;
  }

  #operation-button li:first-child{
    display: none;
  }
  #operation-button {
    flex-wrap:wrap;
    justify-content:flex-start;
    margin-right: 70px;
  }
  #operation-button li {
    height:40px;
    margin:0.5em;
  }
  #operation-button li::after {
    display:none;
  }
  #operation-button li a {
    padding:0.5em 1em;
    border-radius:4px;
    background:#696969;
    color:#fff;
  }

  #toolbarDiv.fullpage #operation-button li{
    margin: 0;
    height: auto;
  }
  #toolbarDiv.fullpage #operation-button li a{
    padding: 0;
    border-radius: 0;
    background: transparent;
  }

  #content {
    width:100vw;
    height:calc(100vh - 80px);
  }
  #left-arrow {
    left:16px;
  }
  #right-arrow.active , #left-arrow.active {
    display:none;
  }

  #images {
    display:none;
    width:100vw;
    height:calc(100% - 193px);
    min-height:calc(100vh - 193x);
    margin-top:153px;
    padding:1em;
    background:#f7f7f7;
  }
  #images.active {
    display:block;
  }
  #images ul {
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
  }
  #images li {
    margin:0.5em;
  }

  footer .hfdleft {
    display:none;
    position:fixed;
    top: 127px;
    width: 100vw;
    background:#f7f7f7;
    padding: 5px 0;
    height: 66px;
  }
  footer .hfdleft.active {
    display:block;
  }
  footer .hfspanleft{
    flex-wrap: wrap;
  }
  #page-button li::after{
    display: none;
  }
  #page-button li:first-child a::before{
    content: "\0ab";
    margin-right: 3px;
  }
  #page-button li:nth-child(2) a::after{
    content: "\0bb";
    margin-left: 3px;
  }
  #page-button li a{
    width: auto;
    padding: 0 3px;
  }
  #page-button select{
    margin-left:3px ;
  }
  #marks{
    width: 100vw;
    position: fixed;
    top:161px;
  }
}

@media only screen and (min-width:769px) {
  #hamburgerbtn {
    display:none;
  }
}

@media (max-width: 457px) {
  #images {
    margin-top:217px;
    height: calc(100% - 257px);
    min-height: calc(100vh - 257px);
  }
  footer .hfdleft {
    top:183px;
  }
  #marks{
    top:217px;
  }
}