/*-*- coding:utf-8 -*-*/
@charset "utf-8";
body {
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
    font-size: 15px;
}

/* h1-6
-------------------------------------------------------------- */
h1 {
    font-size: 24px;
    font-weight: normal;
}
h2 {
    font-size: 20px;
    font-weight: normal;
}
h3 {
    font-size: 18px;
    font-weight: normal;
}
h4 {
    font-size: 16px;
    font-weight: normal;
}
h5 {
    font-size: 15px;
    font-weight: normal;
}
h6 {
    font-size: 15px;
    font-weight: normal;
}
.no-margin {
    margin: 0;
}

/* menu
-------------------------------------------------------------- */
.w3-sidenav {
    font-size: 18px;
}
.w3-sidenav h3 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}
.w3-sidenav a, .w3-sidenav h3 {
    padding: 8px;
}
.w3-navbar li a {
    padding-top: 8px;
    padding-bottom: 8px;
}
div.menu {
    padding-top: 48px;
    padding-bottom: 100px;
}
div.menu-notop {
    padding-bottom: 100px;
}
div.menubox {
    margin: 8px;
    padding: 5px 0px 5px 0px;
}
div.menubox form {
    margin-top: 0px;
    margin-bottom: 0px;
}

/* form
-------------------------------------------------------------- */
input,
select,
textarea,
button,
radio {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    color: #333;
}

/* footer
-------------------------------------------------------------- */
#myFooter a {
    color: inherit;
    text-decoration: none;
}

/* anchor
-------------------------------------------------------------- */
.w3-main a {
    color: #1640b8;
    text-decoration: none;
}
.w3-main a:hover {
    text-decoration: underline;
}
.w3-main a:active {
    text-decoration: underline;
}

/* table
-------------------------------------------------------------- */
table {
    border-collapse: collapse;
    border-spacing: 0;
}
th {
    font-weight: normal;
    text-align: left;
    vertical-align: top;
}
td {
    vertical-align: top;
}
table.wide {
    width: 100%;
}
table.cool {
    margin: 10px 0px 10px 0px;
    border: 1px solid #A4A8B2;
    border-collapse: collapse;
    border-spacing: 0;
}
table.cool th, table.cool td {
    padding: 3px 5px;
    border-right: 1px solid #A4A8B2;
    border-bottom: 1px solid #A4A8B2;
    line-height: 1.5;
}
table.cool th {
    background: #dddfe1;
    text-align: center;
}
table.cool td ul li {
    line-height: 1;
}
/* @media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0) {
    table.itemize th {
	word-break: normal !important;
    }
} */
table.itemize th {
    text-align: right;
    font-weight: bold;
    word-break: keep-all;
    word-wrap: normal;
}
td.box {
    border: 1px solid #A4A8B2;
}
tr.select {
    background-color: #ffeeee;
}
tr.highlight {
    background-color: #eeffee;
}
table.alt tr.highlight.alt {
    background-color: #ddeedd;
}
table.alt tr.select.alt {
    background-color: #eedddd;
}
table.center {
    margin-left: auto;
    margin-right: auto;
}
table.middle td {
    vertical-align: middle;
}
table.link tr {
  vertical-align: middle;
}
table.link td {
  padding: 0;
  border: 1px solid #A4A8B2;
  width: 2em;
  text-align: center;
}
table.link a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #000000;
}
table.link a.select {
  background-color: #ffcccc;
}
table.link a:hover {
  background-color: #ffcccc;
}
table.calendar td.special {
    text-align: center;
    background-color: #ffdddd;
    color: #000000;
}
table.calendar td.special a {
    text-decoration: none;
    color: #000000;
}
table.calendar td.special a:hover {
    color: #ff0000;
}
table.calendar td.user {
    text-align: center;
    background-color: #ddffff;
    color: #000000;
}
table.calendar td.user a {
    text-decoration: none;
    color: #000000;
}
table.calendar td.user a:hover {
    color: #ff0000;
}
table.calendar td.event {
    text-align: center;
    background-color: #ffffcc;
    color: #000000;
}
table.calendar td.event a {
    text-decoration: none;
    color: #000000;
}
table.calendar td.event a:hover {
    color: #ff0000;
}

/* itemize
-------------------------------------------------------------- */
ul.cool {
    margin: 0px;
    padding: 5px 0px 5px 20px;
}
ul.cool > li {
    margin: 0px;
    padding: 0px;
    list-style-type: square;
    list-style-image: url(../images/square-yellow.gif);
    list-style-position: outside;
}
ul.cool > li img {
    vertical-align: top;
}
ol.cool > li textarea {
    vertical-align: top;
}
ul.cool3 > li textarea {
    vertical-align: top;
}
ul.cool2 {
    margin: 0px;
    padding: 5px 0px 5px 20px;
}
ul.cool2 > li {
    margin: 0px;
    padding: 0px;
    list-style-type: square;
    list-style-image: url(../images/square-blue.gif);
    list-style-position: outside;
}
ul.cool3 {
    margin: 0px;
    padding: 5px 0px 5px 10px;
    vertical-align: top;
}
ul.cool3 > li {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
    list-style-image: none;
}
ul.cool3 > li img {
    vertical-align: top;
}
ul.cool3.gap > li {
    margin-bottom: 1em;
}
ol.cool.gap > li {
    margin-bottom: 1em;
}
ul.cool4 {
    margin: 0px;
    padding: 5px 0px 5px 20px;
}
ul.cool4 > li {
    margin: 0px;
    padding: 0px;
}
ul.cool4 > li img {
    vertical-align: top;
}
ol.cool > li img {
    vertical-align: top;
}
ol.cool {
    margin: 0px;
    padding: 0px 0px 0px 2em;
}
ol.cool > li {
    margin: 0px;
    padding: 0px;
    list-style-type: decimal;
    list-style-position: outside;
}
ol.level1 {
    counter-reset: item;
}
ol.level1 > li {
    display: block;
}
ol.level1 > li:before {
    display: inline-block;
    content: counter(item) ".";
    counter-increment: item;
    width: 2em;
    margin-left: -2em;
    padding-right: 0.5em;
    text-align: right;
    vertical-align: top;
}
ol.level2 {
    counter-reset: item;
}
ol.level2 > li {
    display: block;
}
ol.level2 > li:before {
    display: inline-block;
    content: "(" counter(item) ") ";
    counter-increment: item;
    width: 2em;
    margin-left: -2em;
    padding-right: 0.5em;
    text-align: right;
    vertical-align: top;
}
ol.level3 {
    counter-reset: item;
}
ol.level3 > li {
    display: block;
}
ol.level3 > li:before {
    display: inline-block;
    content: "(" counter(item, lower-latin) ") ";
    counter-increment: item;
    width: 2em;
    margin-left: -2em;
    padding-right: 0.5em;
    text-align: right;
    vertical-align: top;
}
ol.level4 {
    counter-reset: item;
}
ol.level4 > li {
    display: block;
}
ol.level4 > li:before {
    display: inline-block;
    content: "(" counter(item, lower-roman) ") ";
    counter-increment: item;
    width: 2em;
    margin-left: -2em;
    padding-right: 0.5em;
    text-align: right;
    vertical-align: top;
}
ol.level5 {
    counter-reset: item;
}
ol.level5 > li {
    display: block;
}
ol.level5 > li:before {
    display: inline-block;
    content: counter(item, upper-latin) ". ";
    counter-increment: item;
    width: 2em;
    margin-left: -2em;
    padding-right: 0.5em;
    text-align: right;
    vertical-align: top;
}
ol.level6 {
    counter-reset: item;
}
ol.level6 > li {
    display: block;
}
ol.level6 > li:before {
    display: inline-block;
    content: counter(item, upper-roman) ". ";
    counter-increment: item;
    width: 2em;
    margin-left: -2em;
    padding-right: 0.5em;
    text-align: right;
    vertical-align: top;
}
a.button {
    border-radius: 4px;
    background-color: #009688;
    color: #ffffff;
    font-size: small;
    padding: 2px;
    margin-left: 1px;
    margin-right: 1pt;
    word-break: keep-all;
    white-space: nowrap;
}
a.button:link {
    background-color: #009688;
    color: #ffffff;
    text-decoration: none;
    font-size: small;
}
a.button:hover {
    box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
    background-color: #009688;
    color: #ffffff;
    text-decoration: none;
    font-size: small;
}
input.cool {
    border: 1px solid #888888;
    vertical-align: middle;
}
input.cool2 {
    border: 1px solid #009688;
}

/* misc
-------------------------------------------------------------- */
.error {
    color: #ff0000;
}
.center {
    text-align: center;
}
.middle {
    vertical-align: middle;
}
.right {
    text-align: right;
}
.overflow {
    overflow-x: auto;
    word-break: keep-all;
}
.overflow-scroll {
    overflow-x: scroll;
    word-break: keep-all;
}
.overflow-auto {
    overflow-x: auto;
    word-break: keep-all;
}
.overflow-hidden {
    overflow-x: hidden;
    word-break: keep-all;
    white-space: nowrap;
    overflow-y: hidden;
}
.word {
    word-break: break-all;
}
.nobreak {
    word-break: keep-all;
    white-space: nowrap;
}
em {
    font-style: normal;
    color: #ff0000;
}
.plan {
    color: #666666;
}
.floatLeft {
    float: left;
}
.floatRight {
    float: right;
}
.floatClear {
    clear: both;
}
.pad50 {
    padding-left: 50px;
}
span.box {
    border: 1px solid #A4A8B2;
    padding: 2px;
}
div.box {
    border: 1px solid #A4A8B2;
    margin: 5px;
    padding: 5px;
}
div.help {
    border: 1px solid #A4A8B2;
    margin: 5px;
    padding: 5px;
    font-size: small;
}
div.grab {
    cursor: url("../images/grab.cur"), move;
    cursor: -webkit-grab;
    cursor: -moz-grab;
    cursor: grab;
}
div.grab:active {
    cursor: url("../images/grabbing.cur"), move;
    cursor: -webkit-grabbing;
    cursor: -moz-grabbing;
    cursor: grabbing;
}
div.loadingIcon {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: url('../images/loading-icon.gif') center no-repeat;
    z-index: -1;
}
/* textLayer */
.textLayer {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    opacity: 0.2;
    line-height: 1.0;
}
.textLayer > div {
    color: transparent;
    position: absolute;
    white-space: pre;
    cursor: text;
    -webkit-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
}
.textLayer > span {
    color: transparent;
    position: absolute;
    white-space: pre;
    cursor: text;
    -webkit-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
}
.textLayer .highlight {
    margin: -1px;
    padding: 1px;
    background-color: rgb(180, 0, 170);
    border-radius: 4px;
}
.textLayer .highlight.begin {
    border-radius: 4px 0px 0px 4px;
}
.textLayer .highlight.end {
    border-radius: 0px 4px 4px 0px;
}
.textLayer .highlight.middle {
    border-radius: 0px;
}
.textLayer .highlight.selected {
    background-color: rgb(0, 100, 0);
}
.textLayer ::selection { background: rgb(0,0,255); }
.textLayer ::-moz-selection { background: rgb(0,0,255); }
.textLayer .endOfContent {
    display: block;
    position: absolute;
    left: 0px;
    top: 100%;
    right: 0px;
    bottom: 0px;
    z-index: -1;
    cursor: default;
    -webkit-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
}
.textLayer .endOfContent.active {
    top: 0px;
}
/* annotation layer */
.annotationLayer section {
  position: absolute;
}
.annotationLayer .linkAnnotation > a {
  position: absolute;
  font-size: 1em;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.annotationLayer .linkAnnotation > a /* -ms-a */  {
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat;
}
.annotationLayer .linkAnnotation > a:hover {
  opacity: 0.2;
  background: #ff0;
  box-shadow: 0px 2px 10px #ff0;
}
.annotationLayer .textAnnotation img {
  position: absolute;
  cursor: pointer;
}
.annotationLayer .textWidgetAnnotation input,
.annotationLayer .textWidgetAnnotation textarea {
  background-color: rgba(0, 54, 255, 0.13);
  border: 1px solid transparent;
  box-sizing: border-box;
  font-size: 9px;
  height: 100%;
  padding: 0 3px;
  vertical-align: top;
  width: 100%;
}
.annotationLayer .textWidgetAnnotation textarea {
  font: message-box;
  font-size: 9px;
  resize: none;
}
.annotationLayer .textWidgetAnnotation input[disabled],
.annotationLayer .textWidgetAnnotation textarea[disabled] {
  background: none;
  border: 1px solid transparent;
  cursor: not-allowed;
}
.annotationLayer .textWidgetAnnotation input:hover,
.annotationLayer .textWidgetAnnotation textarea:hover {
  border: 1px solid #000;
}
.annotationLayer .textWidgetAnnotation input:focus,
.annotationLayer .textWidgetAnnotation textarea:focus {
  background: none;
  border: 1px solid transparent;
}
.annotationLayer .textWidgetAnnotation input.comb {
  font-family: monospace;
  padding-left: 2px;
  padding-right: 0;
}
.annotationLayer .textWidgetAnnotation input.comb:focus {
  /*
   * Letter spacing is placed on the right side of each character. Hence, the
   * letter spacing of the last character may be placed outside the visible
   * area, causing horizontal scrolling. We avoid this by extending the width
   * when the element has focus and revert this when it loses focus.
   */
  width: 115%;
}
.annotationLayer .popupWrapper {
  position: absolute;
  width: 20em;
}
.annotationLayer .popup {
  position: absolute;
  z-index: 200;
  max-width: 20em;
  background-color: #FFFF99;
  box-shadow: 0px 2px 5px #333;
  border-radius: 2px;
  padding: 0.6em;
  margin-left: 5px;
  cursor: pointer;
  word-wrap: break-word;
}
.annotationLayer .popup h1 {
  font-size: 1em;
  border-bottom: 1px solid #000000;
  padding-bottom: 0.2em;
}
.annotationLayer .popup p {
  padding-top: 0.2em;
}
.annotationLayer .highlightAnnotation,
.annotationLayer .underlineAnnotation,
.annotationLayer .squigglyAnnotation,
.annotationLayer .strikeoutAnnotation,
.annotationLayer .fileAttachmentAnnotation {
  cursor: pointer;
}
/* findbar */
.find-button {
    position: relative;
    display: inline-block;
    cursor: pointer;
    vertical-align: top;
}
.hidden {
    visibility: hidden;
}
.find-button .find-bar {
    background-color: #ffdddd;
    color: #000000;
    word-break: keep-all;
    white-space: nowrap;
    text-align: center;
    font-weight: normal;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 60000;
    top: 125%;
    left: 0%;
}
/* Findbar arrow */
.find-button .find-bar::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 10%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #ffdddd transparent;
}
#find-message {
/*  font-style: italic; */
  color: #A6B7D0;
}

#find-input.notFound {
  background-color: rgb(255, 102, 102);
}
/* popup */
.popup {
    position: relative;
    display: inline-block;
    cursor: pointer;
    vertical-align: top;
}
/* The actual popup (appears on top) */
.popup .popuptext {
    visibility: hidden;
    background-color: #ffcc66;
    color: #000000;
    word-break: keep-all;
    white-space: nowrap;
    text-align: center;
    font-weight: normal;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
/*  bottom: 125%;
    left: 50%;
    margin-left: -80px; */
    left: 100%;
    bottom: 0%;
    margin-left: 10px;
    margin-top: -5px;
}
/* Popup arrow */
.popup .popuptext::after {
    content: "";
    position: absolute;
/*    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #ffeb3b transparent transparent transparent; */
    right: 100%;
    margin-left: -5px;
    margin-top: 5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent #ffcc66 transparent transparent;
}
/* mouse over */
.popup:hover .popuptext {
    visibility: visible;
    -webkit-animation: fadeIn 1s;
    animation: fadeIn 1s
}
/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
    from {opacity: 0;}
    to {opacity: 1;}
}

@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity:1 ;}
}
/* print */
@media print {
    .noprint {
	display: none !important;
    }
    .w3-main {
	margin-left: 0 !important;
    }
    .w3-container {
	padding-top: 0 !important;
    }
}
/* placeholder */
::-webkit-input-placeholder {
    color:    #999;
}
:-moz-placeholder {
    color:    #999;
}
::-moz-placeholder {
    color:    #999;
}
:-ms-input-placeholder {
    color:    #999;
}
/* giji */
.w3-sidenav.giji-list {
    overflow-x: hidden;
    overflow-y: scroll;
    word-break: keep-all;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: top;
}
.w3-sidenav.giji-list h1 {
    font-weight: bold;
}
.w3-sidenav.giji-list a {
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #1640b8;
    vertical-align: top;
}
.w3-sidenav.giji-list a:hover {
    word-break: break-all;
    white-space: normal;
}
.w3-sidenav.giji-list .select {
    color: #ff0000 !important;
}
.w3-sidenav.giji-list .select a {
    color: #ff0000 !important;
}
.canvas-container {
    position: relative;
    border: 1px solid #A4A8B2;
}
.noselect {
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer */
    -khtml-user-select: none; /* KHTML browsers (e.g. Konqueror) */
    -webkit-user-select: none; /* Chrome, Safari, and Opera */
    -webkit-touch-callout: none; /* Disable Android and iOS callouts*/    
    user-select: none;
}
.padding-top-48 {
    padding-top: 48px;
}
.padding-top-64 {
    padding-top: 64px;
}
.margin-top-64 {
    margin-top: 64px;
}
.w3-panel h2 {
    padding-top: 0px;
    margin-top: 0px;
}
.w3-sidenav.giji-list a.nolink {
    color: #000000;
}
del {
    text-decoration-color: red;
}
table.fixed {
    table-layout: fixed;
}
table.alt tr.alt {
    background-color: #F0F2F4;
}
.snippets {
    font-size: small;
    color: #888888;
    line-height: 1.0;
}
.snippets-highlight {
    font-weight: bold;
}
.search-result {
    line-height: 1.2;
    margin-top: 1em;
    margin-bottom: 1em;
}
#loading {
    text-align: center;
}
/* archive image */
div.galleryFolder {
  margin: 5px;
  border: 1px solid #ccc;
  float: left;
  width: 180px;
  height: 125px;
  overflow: hidden;
  font-size: x-small;
}
div.galleryFolder.selected {
  background: #ffeeee;
}
div.galleryFolder:hover {
  border: 1px solid #777;
}
div.gallery {
  margin: 5px;
  border: 1px solid #ccc;
  float: left;
  width: 180px;
  height: 250px;
  overflow: hidden;
  font-size: x-small;
}
div.gallery:hover {
  border: 1px solid #777;
}
div.gallery.selected {
  background: #ffeeee;
}
div.gallery .image {
  min-height: 135px;
  overflow: hidden;
  text-align: center;
}
div.desc {
  height: 110px;
  padding: 0px 5px 0px 5px;
  overflow-y: auto;
}
div.desc a {
  color: black;
}
div.comment {
  margin: 5px 15px 15px 15px;
}
div.commentTag {
  margin-bottom: 5px;
}
div.annotation {
  margin: 5px;
  border: 1px solid #777;
  width: 600px;
}
div.gallery img {
  image-orientation: none;
}
div.annotation img {
  image-orientation: none;
}
a.imageRaw:hover img {
  opacity: 0.8;
}
#topButton {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 20px; /* Place the button at the bottom of the page */
  right: 30px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: rgba(255, 0, 0, 0.6); /* Set a background color */
  color: white; /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  padding: 10px; /* Some padding */
  border-radius: 10px; /* Rounded corners */
  font-size: 18px; /* Increase font size */
}
#topButton:hover {
  background-color: #555; /* Add a dark-grey background on hover */
}
#bottomButton {
  display: block; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  top: 80px; /* Place the button at the top of the page */
  right: 30px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: rgba(255, 0, 0, 0.6); /* Set a background color */
  color: white; /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  padding: 10px; /* Some padding */
  border-radius: 10px; /* Rounded corners */
  font-size: 18px; /* Increase font size */
}
#bottomButton:hover {
  background-color: #555; /* Add a dark-grey background on hover */
}
.overlay {
    position: relative;
}
.overlay .caption120 {
    font-size: 130%;
    text-align: center;
    padding-top: 120px;
    color: #fff;
}
.overlay .caption40 {
    font-size: 130%;
    text-align: center;
    padding-top: 40px;
    color: #fff;
}
.overlay .mask {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    background-color: rgba(0,0,0,0.4);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.overlay:hover .mask {
    opacity: 1;
}
p.hang {
    text-indent: 2em hanging each-line;
}
.w3-navbar li a {
    padding: 8px 8px !important;
}
