body {
  font-size: 16px;
  letter-spacing: 0.075em;
  line-height: 1.75em; }

#header {
  position: relative;
  padding-top: 5px; }
  #header h1 {
    margin-top: 5px; }
  #header .hobo2 {
    position: absolute;
    right: 0;
    top: 0; }

#contentHeader {
  overflow: hidden;
  *zoom: 1;
  margin-top: 40px; }
  #contentHeader #yodogawa {
    float: left;
    width: auto;
    height: auto;
    margin-left: 40px; }
    #contentHeader #yodogawa p {
      margin: 0;
      font-weight: bold;
      line-height: 2em; }
  #contentHeader .toc {
    width: 320px;
    margin-left: 600px; }

.toc a:hover {
  text-decoration: none; }
.toc ul, .toc li {
  list-style: none;
  margin: 0;
  padding: 0; }
.toc ul li {
  border-bottom: 1px solid #CCC;
  padding: 10px 5px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2em; }
  .toc ul li em {
    float: left;
    font-style: normal; }
  .toc ul li span {
    display: block;
    margin-left: 42px; }
    .toc ul li span + span {
      font-size: 10px;
      color: #808080; }
  .toc ul li:first-child {
    border-top: 1px solid #CCC; }
  .toc ul li.current a {
    cursor: default; }
    .toc ul li.current a:link {
      text-decoration: none;
      color: #000; }
    .toc ul li.current a:visited {
      text-decoration: none;
      color: #000; }
    .toc ul li.current a:hover {
      color: #000;
      text-decoration: none; }
    .toc ul li.current a:active {
      color: #000;
      text-decoration: none; }
  .toc ul li.off {
    color: #CCC; }
    .toc ul li.off span {
      color: #CCC; }

.contents .article {
  margin-top: 40px; }
  .contents .article .photo {
    text-align: center; }

#footer {
  padding-top: 0;
  background-image: none; }
  #footer ul {
    margin: 0 auto 40px auto; }
  #footer ul.share {
    margin-top: 40px; }
    #footer ul.share li {
      padding: 0 5px; }
      #footer ul.share li.line {
        display: none; }
        @media only screen and (max-width: 479px) {
          #footer ul.share li.line {
            display: inline-block; } }
  #footer .copyright {
    color: #000; }

.banner {
  text-align: center; }
  .banner ul, .banner li {
    list-style: none;
    margin: 0;
    padding: 0; }
  .banner ul li {
    margin: 20px auto; }

@media only screen and (max-width: 479px) {
  body {
    font-size: 14px;
    letter-spacing: 0.075em;
    line-height: 1.75em; }

  #wrapper {
    width: 304px;
    padding-left: 8px;
    padding-right: 8px; }

  #header {
    width: 100%; }
    #header h1 img {
      width: 100%;
      height: auto; }
    #header .hobo img {
      width: 100px;
      height: auto; }
    #header .hobo2 {
      top: 5px;
      text-align: right; }
      #header .hobo2 img {
        width: 170px;
        height: auto; }

  #contentHeader {
    margin-top: 20px; }
    #contentHeader #yodogawa {
      float: none;
      margin-left: 0;
      margin-bottom: 20px;
      font-size: 14px;
      line-height: 2em;
      letter-spacing: 0.075em; }
    #contentHeader .toc {
      margin-left: 0; }

  .contents .article {
    width: 100%; }
    .contents .article h2 {
      margin-bottom: 20px; }
      .contents .article h2 img {
        height: 28px; }
    .contents .article .photo {
      width: auto;
      margin: 20px auto;
      text-align: center; }
      .contents .article .photo img {
        width: 100%; }

  #navi {
    width: 100%; }

  .banner {
    width: 304px;
    margin: 0 auto; }
    .banner img {
      width: 100%; } }
