.navbar {
  border-radius: 0;
}
#site-header {
  position: relative;
  background-image: url("../images/site_header.jpg");
  background-position: top right;
  background-repeat: no-repeat;
  background-color: #071b48;
  background-size: 490px 90px;
  height: 90px;
}
#site-header .title-logo {
  position: absolute;
  top: 10px;
  left: 20px;
}
#moonage-widget {
  position: absolute;
  left: 320px;
  bottom: 10px;
}
#moonage-widget .current-date-and-moonage {
  color: white;
}
#moonage-widget img {
  vertical-align: bottom;
}
#tab-sm {
  display: none;
}

.popup:hover .dropdown-menu {
  display:block;
}
.align-left {
  text-align: left;
}
.align-right {
  text-align: right;
}
.align-center {
  text-align: center;
}
.bspace-1 {
  margin-bottom: 5px;
}
.bspace-2 {
  margin-bottom: 10px;
}
.bspace-3 {
  margin-bottom: 15px;
}
.vspace-1 {
  margin-top: 5px;
  margin-bottom: 5px;
}
.vspace-2 {
  margin-top: 10px;
  margin-bottom: 10px;
}
.vspace-3 {
  margin-top: 15px;
  margin-bottom: 15px;
}
.nobreak {
  white-space: nowrap;
}
p.error {
  color: #e00;
}
.info-icon {
  color: #428bca;
  margin-left: 5px;
}

#top-info-wrap {
  position: relative;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 26.67%;
  overflow: hidden;
}
#top-info-frame {
  position: absolute;
  border-width: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* headline */
#headline {
  margin-top: 15px;
}
#headline .item {
  height: 128px;
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
}
#headline .item h3.title {
  font-size: 100%;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 5px;
  text-align: justify;
  word-break: break-all;
}
#headline .item .abstract {
  margin-left: 135px;
}
#headline .item .abstract .publish-date {
  color: #666;
  text-align: right;
  font-style: italic;
}
#headline .item .summary {
  text-align: justify;
  word-break: break-all;
}
#headline .item .category {
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  padding: 2px 4px;
  background-color: rgba(34,34,34,0.8);
  color: #fff;
  font-size: 80%;
  white-space: nowrap;
}
#headline .item .category a {
  color: #fff;
}
#headline .item > .category a {
  color: #f60;
  text-decoration: none;
}
#headline .summary {
  font-size: 90%;
  color: #333;
}
#headline .item.ad .ad-mark {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #999;
  width: 3em;
  border: 1px solid #999;
  text-align: center;
  font-size: 12px;
}

#products-banner {
  display: block;
  margin: 0 auto 10px;
  border: 0 none;
}
.ad-side {
  max-width: 350px;
  position: relative;
  padding-bottom: 100%;
  height: 0;
  overflow: hidden;
  margin-bottom: 15px;
}
.ad-side iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0 none;
}
img.size-auto {
  max-width: 100%;
  height: auto;
}
.square-banner-list {
  margin: 0; padding: 0;
}
.square-banner-list li {
  display: block;
  padding: 0;
  margin-bottom: 10px;
}

#pao-navi iframe {
  width: 100%;
  height: 300px;
  border-style: none;
}

@media (min-width:768px) {
  #headline .item .icon img {
    width: 128px; height: 128px;
  }
}
footer {
  border-top: 1px solid #ccc;
  margin-top: 15px;
}
footer .copy {
  margin-top: 15px;
  text-align: center;
  font-size: 90%;
  color: #666;
}
#tags-wrap {
  display: table;
  margin: 20px 0 0;
}
#tags {
  display: table-row;
}
#article #tags h2 {
  display: table-cell;
  margin: 2px 0 0;
  white-space: nowrap;
  font-size: 100%;
  vertical-align: middle;
  padding: 0 4px;
}
#article #tags ul {
  display: table-cell;
  margin: 0;
  padding: 0;
  text-align: left;
  line-height: 1.8;
}
#article #tags li {
  display: inline-block;
}
#article #tags li a {
  padding: 2px 10px;
  border-radius: 4px;
  margin: 0 4px;
  white-space: nowrap;
}
#article #tags li a:hover {
  padding: 2px 10px;
  border-radius: 4px;
  margin: 0 4px;
  white-space: nowrap;
}
.btn-discreet {
  background-color: #f3f3f3;
  border-color: #ccc;
  color: #333;
}
.btn-discreet:hover {
  background-color: #ddd;
  border-color: #999;
  color: #333;
}

#social-buttons .item {
  display: inline-block;
}
#social-buttons .fb_iframe_widget > span {
  vertical-align: baseline !important;
}

#article {
  text-align: justify;
  line-height: 1.5;
}

#article h1 {
  font-size: 150%;
  font-weight: bold;
}
#article h2 {
  font-size: 110%;
  font-weight: bold;
}
#article h3 {
  font-size: 110%;
  font-weight: bold;
}
#article h4 {
  font-size: 100%;
  font-weight: bold;
}
#article h5 {
  font-size: 100%;
  font-weight: bold;
}
#article h6 {
  font-size: 100%;
  font-weight: bold;
}
#article > .summary {
  color: #333;
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
  padding: 1em 0;
  margin: 1em 0;
}
#article > .body figure {
  clear: both;
  float: right;
  width: 250px;
  margin-bottom: 15px;
  margin-left: 15px;
}
#article > .body figure img {
  width: 250px;
}
#article > .appendix {
  clear: both;
  font-size: 90%;
}
#article > .appendix ul {
  padding-left: 1em;
}
#article > .references {
  clear: both;
  font-size: 90%;
}
#article > .references h2:before {
  content: "〈";
}
#article > .references h2:after {
  content: "〉";
}
#article > .references ul {
  padding-left: 1em;
}
#article > .body h2,
#article > .body h3,
#article > .body h4,
#article > .body h5,
#article > .body h6,
#article > .body hr {
  clear: both;
}
#article > .body span.caption {
  display: block;
  color: #333;
  padding: 0.3em 0.5em;
  border-left: 6px solid #d9d9d9;
  font-size: 90%;
  font-style: italic;
}
#article ul {
  padding-left: 1em;
}
#article em {
  font-weight: bold;
  font-style: normal;
}
#article dt {
  margin-top: 0.5em;
}
#article img {
  max-width: 100%;
  height: auto;
  margin-top: .2em;
}
#article table {
  width: 100%;
  margin: 1em 0;
}
#article table thead th {
  border-bottom: 2px solid #ccc;
  padding: 4px 2px;
}
#article table tbody td {
  border-bottom: 1px solid #ccc;
  padding: 4px 2px;
}
#article table tbody tr:nth-child(even) {
  background-color: #fafafa;
}
#article .youtube-wrap, #article .vimeo-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 0;
}
#article .youtube-wrap iframe, #article .vimeo-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ref-goods {
  margin-left: -15px;
  margin-right: -15px;
  padding: 8px 15px;
  background-color: #fffff6;
}
.ref-goods h2 {
  font-size: 120%;
  margin-top: 0;
}
.ref-goods .item a {
  display: block;
}
.ref-goods .wrap-items {
  width: 100%;
  overflow: scroll;
  white-space: nowrap;
}
.ref-goods .wrap-items .item {
  width: 180px;
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}
.ref-goods .title,
.ref-goods .icon {
  text-align: center;
}
.ref-goods .summary {
  font-size: 80%;
}
.ad-article-top-wrap {
  max-width: 640px;
}
.ad-article-top {
  position: relative;
  height: 0;
  padding-bottom: 26.71875%;
  overflow: hidden;
}
.ad-article-top iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0 none;
}

.ad-article-top iframe {
  border-style: none;
}
.goods {
  margin-top: 20px;
}
.goods .item {
  border: 1px solid #c9c9c9;
  padding: 4px;
  min-height: 70px;
  margin-bottom: 15px;
}
.goods .item p {
  margin-bottom: 0;
}
.goods h2 {
  font-size: 120%;
  font-weight: bold;
}
.goods .item h2 {
  font-size: 100%;
  margin: 0;
}
.goods p.summary {
  font-size: 90%;
}
.goods img {
  float: left;
  margin-right: 10px;
}

section.revision {
  margin-top: 15px;
}

section.revision h2 {
  font-size: 16px;
  margin-bottom: 5px;
  background-color: #e8e8e8;
  border-radius: 4px;
  padding: 4px 15px;
}

#archive .article-list li {
  padding: 4px 0;
}
#archive .article-list li:nth-child(odd) {
  background-color: #f3f3f3;
}
#archive .article-list li .category, #archive .article-list li .date, #archive .article-list li .title {
  display: table-cell;
  vertical-align: middle;
  font-size: 90%;
  padding: 0 4px;
}
#archive .article-list li .date {
  padding: 0 8px;
}
#archive .article-list .category {
  width: 7em;
}

#archive-calendar .calendar .year {
  float: left;
  width: 5em;
  padding: 4px 0;
  background-color: #333;
  color: #fff;
  text-align: center;
  border: 1px solid #333;
  margin-bottom: 5px;
}

#archive-calendar .calendar .month-list {
  margin-left: 5em;
}

#archive-calendar .calendar .month a {
  display: inline-block;
  min-width: 2em;
  text-align: center;
  padding: 4px 2px;
  border: 1px solid #ccc;
  float: left;
  margin-left: -1px;
}
#archive-calendar .calendar .month a:hover {
  text-decoration: none;
  background-color: #f0f0f0;
}

@media (max-width:767px) {
  #site-header {
    height: 50px;
    background-image: url("../images/site_header_sm.jpg");
    background-position: top right;
    background-repeat: no-repeat;
    background-color: #071b48;
    background-size: 267px 50px;
  }
  #site-header .title-logo {
    position: absolute;
    top: 14px;
    left: 10px;
  }
  #site-header .title-logo a {
    display: inline-block;
    width: 159px;
    height: 24px;
    background-image: url("../images/site_header_title_sm.png");
    background-size: 159px 24px;
    background-repeat: no-repeat;
  }
  #site-header .title-logo a img {
    display: none;
  }
  #moonage-widget {
    position: absolute;
    left: 180px;
    bottom: 10px;
  }
  #moonage-widget .date {
    display: none;
  }
  #headline .item {
    height: 60px;
    overflow: hidden;
    position: relative;
    margin-bottom: 0;
  }
  #headline .item .icon {
    margin: 4px 0;
  }
  #headline .item .icon img {
    width: 52px;
    height: 52px;
  }
  #headline .item .abstract {
    margin-left: 64px;
    border-top: 1px solid #ccc;
    padding: 4px 0;
  }
  #headline h3.title {
    font-size: 16px;
    padding-top: 6px;
    margin-bottom: 0;
  }
  #headline h3.title a {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #headline .item .publish-date {
    font-size: 14px;
    color: #666;
  }
  #headline .item .summary, #headline .item .category, #headline .item .icon.icon-lg {
    display: none;
  }

  #article figure {
    clear: both;
    float: none;
    width: 100%;
    height: 100%;
    text-align: center;
    margin: 0 0 15px;
  }

  #article figure figcaption {
    text-align: left;
  }

  #article span.caption {
    font-size: 90%;
  }

  #article p {
    margin-bottom: 1em;
  }

  #article a {
    word-wrap: break-word;
  }

  .ad-side-wrap {
    max-width: 350px;
  }

  #archive .article-list .title {
    display: block;
  }

  #tab-sm {
    display: inline-block;
    margin: 0;
    padding: 0;
    border-top: 1px solid #ccc;
    width: 100%;
  }
  #tab-sm li {
    display: block;
    background-color: white;
    float: left;
    width: 20%;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  #tab-sm li a {
    display: block;
    padding: 4px;
    text-decoration: none;
    font-weight: 700;
    color: #666;
  }
  #tab-sm li a:hover {
    background-color: #f3f3f3;
  }
  #tab-sm li span.icon {
    text-align: center;
    display: block;
    margin: 0 auto;
    width: 32px;
    height: 32px;
  }
  span.icon.icon-news {
    background-image: url("../images/tab_icon.png");
    background-size: 192px 32px;
    background-position: 0px 0px;
  }
  span.icon.icon-alacarte {
    background-image: url("../images/tab_icon.png");
    background-size: 192px 32px;
    background-position: -32px 0px;
  }
  span.icon.icon-gallery {
    background-image: url("../images/tab_icon.png");
    background-size: 192px 32px;
    background-position: -64px 0px;
  }
  span.icon.icon-products {
    background-image: url("../images/tab_icon.png");
    background-size: 192px 32px;
    background-position: -96px 0px;
  }
  span.icon.icon-shop {
    background-image: url("../images/tab_icon.png");
    background-size: 192px 32px;
    background-position: -128px 0px;
  }
  span.icon.icon-hoshinavi {
    background-image: url("../images/tab_icon.png");
    background-size: 192px 32px;
    background-position: -160px 0px;
  }
  #tab-sm li span.label {
    overflow: hidden;
    display: block;
    white-space: nowrap;
    font-wight: 700;
    font-size: 9pt;
    text-align: center;
    text-overflow: ellipsis;
  }
  #tab-sm a .label {
    color: #666;
  }
}

@media (max-width:480px) {
  #archive .article-list li .category {
    display: none;
  }
}

@media print {
    a[href]:after {
        content: none;
    }

    abbr[title]:after {
        content: none;
    }
}

/*
 * submenu
 */
#submenu h2 {
  background-color: #0275c8;
  font-size: 120%;
  color: #fff;
  padding: 5px 15px;
  margin-top: 15px;
}
#submenu h2:first-child {
  margin-top: 0;
}
#submenu h2 a {
  color: #fff;
}

/* social buttons */
#submenu .badges {
  text-align: right;
}
#submenu .badges .item {
  display: inline-block;
}

/* google custom search */
#gcse {
  height: 30px; overflow: hidden;
  margin-top: 8px; margin-bottom: 8px
}
#gcse .gsc-input {
  font-size: 12px;
  padding-right: 3px;
}

#gcse .gsc-search-button .gsc-search-button-v2 {
  position: relative; top: 1px;
  width: auto;
  padding: 4px 18px;
  height: 24px;
}

/* topic */
#submenu .topic {
  margin-bottom: 15px;
}
#submenu .topic .item {
  min-height: 72px;
}
#submenu .topic .item > * {
  margin-left: 70px;
}
#submenu .topic .item .icon {
  margin-left: 0;
  padding-right: 10px;
}
#submenu .topic .item .summary {
  font-size: 85%;
}
#submenu .topic .icon img {
  border-radius: 3px;
}

#submenu-misc li {
  margin-top: 10px;
}

@media (max-width:767px) {
  #submenu {
    margin-top: 15px;
  }
}
