@charset "utf-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

body {
  line-height: 1;
  color: #111;
  font-size: 12px;
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  background: url(../img/bg.png) left top;
  background-color: #fff;
}

a {
  color: #111;
  text-decoration: none;
}

#wrapper {
  width: 1024px;
  margin: 0 auto;
}

#header {
  position: relative;
  z-index: 1;
  height: 333px;
  background: url(../img/bg_top_image.png) center top no-repeat;
}
#header .header-left {
  position: absolute;
  left: 80px;
  top: 45px;
}
#header .header-right {
  position: absolute;
  top: 45px;
  right: 80px;
  text-align: right;
}
#header h1 {
  position: absolute;
  top: 20px;
  left: 391px;
}
#header li {
  border-bottom: 1px solid white;
  width: 270px;
  margin-bottom: 10px;
}
#header li a {
  display: block;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  padding: 20px;
  text-decoration: none;
}

#contents {
  *zoom: 1;
  position: relative;
  z-index: 2;
}
#contents:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  overflow: hidden;
  visibility: hidden;
}

.sidebar {
  float: left;
  margin-top: -40px;
  margin-left: 30px;
  width: 240px;
}
.sidebar .aboutme {
  overflow: hidden;
  *zoom: 1;
  margin-bottom: 20px;
  padding: 20px;
  background: #fff;
  border: 1px solid #cccccc;
}
.sidebar .aboutme-title {
  font-size: 24px;
  margin-bottom: 48px;
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzdmNjc2NC0yMzgyLTQ2MmUtYTQ0Mi00NWY2ZTE4ZjE1YTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzhFNjk4OUUwREY0MTFFM0EyQjZFMjE1RjcwQkZCMDUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkMyQzA3NjYwREI4MTFFM0EyQjZFMjE1RjcwQkZCMDUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OWYxNDExNzgtY2FhOS00ZWY3LWEwZTUtNTMxYjhlMmUyMzA2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc3N2Y2NzY0LTIzODItNDYyZS1hNDQyLTQ1ZjZlMThmMTVhNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmFPQUMAAAAOSURBVHjaYlBSUgIIMAAA0ABns9xFuAAAAABJRU5ErkJggg==') left 50% repeat-x;
}
.sidebar .aboutme-title span {
  background: #fff;
  padding-right: 20px;
  display: inline-block;
}
.sidebar .aboutme-detail {
  line-height: 2;
  letter-spacing: 2px;
}
.sidebar .aboutme-image {
  float: left;
}
.sidebar .aboutme-social {
  float: right;
}

.main {
  margin-top: -40px;
  float: right;
  width: 660px;
  margin-right: 30px;
}
.main .article {
  padding: 20px;
  background: #fff;
  border: 1px solid #cccccc;
  margin-bottom: 40px;
}
.main #searchform #s {
  font-size: 16px;
  padding: 2px;
}
.main #searchform #searchsubmit {
  font-size: 16px;
  padding: 2px;
  border: none;
  width: 100px;
  padding: 4px;
}
.main .screen-reader-text {
  font-size: 16px;
}
.main .article-count {
  margin-bottom: 10px;
  font-size: 16px;
}
.main .article-header {
  font-size: 24px;
  margin-bottom: 45px;
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzdmNjc2NC0yMzgyLTQ2MmUtYTQ0Mi00NWY2ZTE4ZjE1YTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkMyQzA3NjMwREI4MTFFM0EyQjZFMjE1RjcwQkZCMDUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkMyQzA3NjIwREI4MTFFM0EyQjZFMjE1RjcwQkZCMDUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OWYxNDExNzgtY2FhOS00ZWY3LWEwZTUtNTMxYjhlMmUyMzA2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc3N2Y2NzY0LTIzODItNDYyZS1hNDQyLTQ1ZjZlMThmMTVhNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuDrLgMAAAAPSURBVHjaYjhz5gxAgAEABMwCZTQYvMQAAAAASUVORK5CYII=') left 50% repeat-x;
}
.main .article-header-title {
  background: #fff;
  display: inline-block;
  padding-right: 20px;
}
.main .article-date {
  font-size: 12px;
  margin-left: 10px;
  vertical-align: middle;
}
.main .article-detail {
  line-height: 2;
  letter-spacing: 2px;
  margin-bottom: 40px;
  word-break: break-all;
  word-wrap: break-word;
}
.main .article-detail pre{
  word-wrap: break-word;
  white-space: pre-wrap;
}

.main .article-detail a {
  text-decoration: underline;
}
.main .article-footer {
  overflow: hidden;
  *zoom: 1;
  text-align: right;
}
.main .article-footer-category {
  float: right;
  display: block;
}
.main .article-footer-category-name {
  display: inline-block;
  background: #0067B9;
  padding: 5px 7px;
  line-height: 1;
  color: #fff;
  margin-left: 10px;
}
.main .article-footer-category-name a {
  color: #fff;
}
.main .article-footer-social {
  margin-left: 50px;
  float: right;
  display: block;
}
.main .twitter-share-button {
  width: 100px !important;
}
.main .pages {
  margin-left: 20px;
}
.main .pages li {
  margin-bottom: 10px;
  list-style-type: disc;
}
.main .monthly {
  overflow: hidden;
}
.main .monthly ul {
  margin-bottom: 10px;
}
.main .year_block {
  margin-bottom: 20px;
}
.main .year {
  font-size: 16px;
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 10px;
}
.main .year a {
  text-decoration: underline;
}
.main .month ul {
  display: none;
  position: relative;
  left: 100%;
  top: 0;
}
.main .month li {
  display: inline-block;
  padding: 4px;
  background: #ccc;
  margin-right: 10px;
  margin-bottom: 10px;
}

#footer {
  overflow: hidden;
  *zoom: 1;
  background: #000;
  color: #fff;
  padding: 30px;
}
#footer a {
  color: #fff;
}
#footer .footer-link {
  overflow: hidden;
  *zoom: 1;
  margin-left: 310px;
  width: 350px;
  float: left;
}
#footer .footer-link-ul {
  border-left: 1px solid white;
  padding-left: 20px;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-right: 30px;
  float: left;
}
#footer .footer-link-ul li {
  margin-bottom: 18px;
  letter-spacing: 2px;
}
#footer .footer-link-ul li.last {
  margin-bottom: 0px;
}
#footer .footer-copyright {
  float: right;
  margin-top: 30px;
}
#footer .footer-social {
  clear: both;
  float: right;
}

.pagination {
  clear: both;
  padding: 20px 0;
  margin: -20px 0 40px;
  position: relative;
  font-size: 11px;
  line-height: 13px;
  text-align: center;
}
.pagination span, .pagination a {
  display: inline-block;
  margin: 2px 2px 2px 0;
  padding: 6px 9px 5px 9px;
  text-decoration: none;
  width: auto;
  color: #000;
  border: 1px solid #cccccc;
  background: #fff;
}
.pagination a:hover {
  color: #000;
  background: #fff;
}
.pagination .current {
  padding: 6px 9px 5px 9px;
  background: #000;
  color: #fff;
}
