/* --------------------------------------------------
  開館カレンダーページ
-------------------------------------------------- */
div#yearCalendar {
//overflow: hidden;
}


div#yearCalendar table.calendar {
  margin: 8px !important;
  max-width: 31%;
  float: left;
}

div#yearCalendar table.calendar:nth-child(3n+1){
	clear:both;
}

table.opening_calendar {
  margin-bottom: 8px;
  max-width: 100%;
}

table.calendar caption {
  display: none;
}

table.calendar thead th {
//  background-color: #106489;
//  border: 1px solid #106489;
  background-color: #4088b5;
  border: 1px solid #4088b5;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 6px 4px;
}

table.calendar tbody th, table.calendar tbody td {
  border: 1px solid #aaa;
  padding: 4px 4px; text-align: center;
}
table.calendar tbody th {
  background: #C6E9F7;
}


table.calendar td.off_night {
  background-color: #D7E4F9;
}

table.calendar td.off {
  background-color: #F7E9B2;
}

table.calendar td.close {
  background-color: #FCC3CD;
}

table.calendar td.blank {
  background-color: #ccc;
}

/* --------------------------------------------------
  TOPページ　開館カレンダーパーツ
-------------------------------------------------- */
.sideOpenCalendar table {
  width: 100%;
  margin-bottom: 8px;
}

.sideOpenCalendar table caption {
  display: none;
}

.sideOpenCalendar table thead th {
//  background-color: #106489;
//  border: 1px solid #106489;
  background-color: #4088b5;
  border: 1px solid #4088b5;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 6px 4px;
}

.sideOpenCalendar table tbody th, .sideOpenCalendar table tbody td {
  border: 1px solid #aaa;
  padding: 6px 4px; text-align: center;
}

.sideOpenCalendar table tbody th {
  background: #C6E9F7;
}

.sideOpenCalendar table tbody td.blank {
  background: #ccc;
}

.sideOpenCalendar table tbody td.close {
  background: #FCC3CD;
}

.sideOpenCalendar table tbody td.off {
  background: #F7E9B2;
}

.sideOpenCalendar span.blank {
  color: #ccc;
}

.sideOpenCalendar span.close {
  color: #FCC3CD;
}

.sideOpenCalendar span.off {
  color: #F7E9B2;
} 

.sideOpenCalendar span.off_night {
  color: #D7E4F9;
}

/* IPA 早期警戒情報 */

div .sideText.sideIcathFeed {
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 10px 5px;
    margin-bottom: 20px;
    font-size: 1.3em;
}

/* 埋め込みshellコード整形用(/limited/aic/sv/*) */
.body p > code {
	padding: 0.1rem 0.5rem 0.2rem 0.5rem;
        margin: auto 0.5rem;
	background-color: #333;
	color: #ccc;
        border-radius : 0.3rem;
        vertical-align: top;
}

pre.sourceCode ,
pre.highlight {
	padding: 1rem;
        margin-bottom: 2rem;
	background-color: #333;
	color: #ccc;
	overflow: auto;
	font-size: 150%;
        border-radius : 0.5rem;
}

.body > .sect1:first-child > h2 {
        margin-top: 0 !important;
}

.body h2:first-child {
       margin-top: 4rem !important;
}

.body > h2:first-child {
       margin-top: 0 !important;
}


.body h3:first-child {
        margin-top: 3rem !important;
}

.body h4:first-child,
.body h5:first-child {
        margin-top: 2rem !important;
}

.body h2,
.body h3,
.body h4,
.body h5 {
    line-height: 2rem;
}

.body h5 {
    padding-left: 2rem;
    padding-bottom: 0.4rem;
    font-size: 150%;
}

.body h5:before {
    content: "■";
    color: #69C;
    background-color: none;
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    transform: none;
}

.body p {
    padding-left: 1rem;
    line-height: 1.25
}

.body table p:first-child {
    padding-left: 0;
    margin: 1rem auto !important;
}


.body ol, .body ul {
    padding-left: 1rem;
}
.body li p {
    padding-left: 0;
    line-height: 1.25;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.red { color: red; }
.blue { color: blue; }

.halign-left {
    text-align: left;
}

.halign-right {
    text-align: right;
}

.halign-center {
    text-align: center;
}

.valign-top {
    vertical-align: top;
}

.valign-middle {
    vertical-align: middle;
}

.valign-bottom {
    vertical-align: bottom;
}

.body .image > img {
    border: 1px gray solid;
    margin: 1rem auto 2rem;
}
/* 検索ボックスの周りに枠がでるbug修正用 */
.gsc-search-box table tbody th,
.gsc-search-box table tbody td {
    border: none;
}

#globalHeader #headerSearch {
    width: 180px;
}
/* bug対応ここまで */