/* button **********************************/
.btn {
  text-align: center;
  display: block;
  transition: all .2s ease 0s; }

/* category navi common header ************************************/
.catenavi {
  border-bottom: 1px solid #eee;
  border-top: 1px solid #eee; }
  .catenavi .catenavi_in {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 1120px;
    font-size: 0; }
    @media only screen and (max-width: 979px) {
      .catenavi .catenavi_in {
        width: 94%; } }
    @media only screen and (max-width: 691px) {
      .catenavi .catenavi_in {
        width: 90%; } }
    .catenavi .catenavi_in li {
      margin-right: 32px;
      display: inline-block; }
      .catenavi .catenavi_in li a {
        line-height: 1.5;
        font-size: 12px;
        position: relative;
        padding: 18px 0 16px;
        display: block;
        text-decoration: none; }
        @media only screen and (max-width: 979px) {
          .catenavi .catenavi_in li a {
            padding: 8px 0 6px; } }
        .catenavi .catenavi_in li a:after {
          background-color: #DF0000;
          content: "";
          height: 1px;
          width: 0;
          position: absolute;
          left: 0;
          bottom: -1px; }
        .catenavi .catenavi_in li a:hover {
          color: #DF0000; }
          .catenavi .catenavi_in li a:hover:after {
            width: 100%; }
      @media only screen and (max-width: 979px) {
        .catenavi .catenavi_in li {
          margin-right: 24px; } }
  .catenavi.foot {
    margin-top: 30px; }
  @media only screen and (max-width: 979px) {
    .catenavi {
      padding: 8px 0; } }
  @media only screen and (max-width: 690px) {
    .catenavi {
      display: none; } }

/* search ************************************/
.blog_search {
  margin-bottom: 24px;
  width: 100%;
  border: 2px solid #eee; }
  .blog_search input {
    display: block;
    padding: 0 4%;
    border-radius: 0;
    height: 48px;
    border: none; }
    .blog_search input.search_txt {
      float: left;
      line-height: 36px;
      width: 82%; }
    .blog_search input.submit_btn {
      background: #DF0000 url(../image/common/icon_search.png) no-repeat center center/24px auto;
      border: medium none;
      cursor: pointer;
      float: right;
      padding: 0;
      text-indent: -9999px;
      width: 18%; }

/* side ************************************/
.side {
  margin-bottom: 16px; }
  .side li {
    list-style: none; }
  .side .title {
    background-color: #8B0000;
    font-size: 16px;
    line-height: 40px;
    color: #ffffff;
    text-align: center; }
  .side .reco {
    margin-top: 20px; }
    .side .reco li {
      margin-bottom: 10px; }
      .side .reco li:after {
        content: "";
        display: table;
        clear: both; }
      .side .reco li .reco_thumbnail {
        float: left;
        width: 35%; }
      .side .reco li .info {
        float: right;
        width: 60%;
        font-size: 14px;
		line-height:1.5; }
      .side .reco li a {
        display: block; }
        .side .reco li a:hover .info {
          text-decoration: underline; }
      @media only screen and (min-width: 691px) and (max-width: 979px) {
        .side .reco li {
          width: 48%;
          float: left;
          margin-right: 4%;
          margin-bottom: 0;
          margin-top: 15px; }
          .side .reco li:nth-child(2n) {
            margin-right: 0; } }
    @media only screen and (min-width: 691px) and (max-width: 979px) {
      .side .reco {
        margin-top: 5px;
        margin-bottom: 20px; }
        .side .reco:after {
          content: "";
          display: table;
          clear: both; } }
  .side .sweep {
    padding: 20px 15px;
    background-color: #fafafa;
    border-style: solid;
    border-width: 0 1px 1px 1px;
    border-color: #eeeeee; }
    .side .sweep li {
      display: inline-block;
      margin: 2px 2px 2px 0; }
  .side .archive li {
    display: block;
    margin: 6px 0 6px 14px; }
    .side .archive li:first-child {
      margin-top: 0; }
    .side .archive li:last-child {
      margin-bottom: 0; }
    .side .archive li a {
      position: relative;
      display: block; }
      .side .archive li a:before {
        content: "";
        width: 6px;
        height: 6px;
        border-style: solid;
        border-width: 2px 2px 0 0;
        border-color: #DF0000;
        transform: rotate(45deg);
        position: absolute;
        top: 50%;
        left: -14px;
        margin-top: -3px; }
    @media only screen and (min-width: 691px) and (max-width: 979px) {
      .side .archive li {
        display: inline-block;
        margin-right: 10px; } }
  .side .cate li a {
    display: block;
    font-size: 12px;
    line-height: 1.2;
    padding: 6px 12px 5px;
    border-radius: 2px;
    color: #ffffff;
    background-color: #DF0000; }
    .side .cate li a:hover {
      background-color: #B40000; }
  .side .tag li {
    margin: 0 10px 6px 0; }
    .side .tag li a {
      display: block;
      font-size: 12px;
      line-height: 1.2;
      padding: 0 0 0 13px;
      background: url(../image/common/icon_sharp.png) no-repeat 0 1px/10px auto;
      color: #DF0000; }
      .side .tag li a:hover {
        text-decoration: underline; }
  .side .btn {
    background-color: #fafafa;
    background-color: #fafafa;
    border-style: solid;
    border-width: 0 1px 1px 1px;
    border-color: #eeeeee;
    color: #DF0000;
    font-size: 1.4rem;
    position: relative;
    padding: 13px 2%; }
    .side .btn:hover {
      background-color: #DF0000;
      color: #ffffff;
      text-decoration: none; }
      .side .btn:hover span:before {
        border-color: #ffffff; }
    .side .btn span {
      position: relative; }
      .side .btn span:before {
        content: "";
        width: 6px;
        height: 6px;
        border-style: solid;
        border-width: 2px 2px 0 0;
        border-color: #DF0000;
        transform: rotate(45deg);
        position: absolute;
        top: 50%;
        left: -14px;
        margin-top: -3px; }
  .side .banner li {
    margin: 3px 0;
    list-style: none; }
    .side .banner li:first-child {
      margin-top: -3px; }

@media screen and (min-width: 691px) and (max-width: 979px) {
  .tablet_l {
    float: left;
    width: 46%;
    margin-right: 2%;
    margin-left: 2%; }
    .tablet_l .fb_line {
      width: 300px;
      max-width: 500px;
      margin: auto; }
    .tablet_l .banner {
      max-width: 300px;
      margin: auto; } }
/* blog list category ************************************/
.catelist, .taglist {
  font-size: 0;
  margin: 4px 0; }
  .catelist a, .taglist a {
    margin-right: 16px;
    position: relative;
    color: #1A1A1A;
    font-size: 13px;
    line-height: 1.4; }
    @media screen and (max-width: 690px) {
      .catelist a, .taglist a {
        font-size: 11px; } }
/*    .catelist a:before, .taglist a:before {
      content: "/";
      color: #333333;
      font-size: 14px;
      padding-right: 10px;
      text-decoration: none; }*/
    .catelist a:first-child:before, .taglist a:first-child:before {
      display: none; }
    .catelist a:hover, .taglist a:hover {
      text-decoration: underline; }
      .catelist a:hover:before, .taglist a:hover:before {
        text-decoration: none; }
.catelist a {
    display: inline-block;
    font-size: 12px;
    line-height: 1.2;
    padding: 8px 15px;
    border-radius: 2px;
    color: #ffffff;
    background-color: #DF0000;
    margin-bottom: 5px;
    margin-right: 5px;
}
.catelist a:hover { 
  text-decoration: none;
  background-color: #B40000; 
}
.taglist a {
  background-color: #fafafa; 
  border: 1px solid #eeeeee;
  color: #333;
  padding: 2px 10px;
  border-radius: 3px;
  margin-right: 5px;
}
.taglist a:hover { 
  text-decoration: none;
  background-color: #eeeeee; 
}


/* archive year month tag category list ************************************/
.archivelist {
  font-size: 12px;
  line-height: 1.4;
  margin-bottom: 20px; }
  @media only screen and (max-width: 690px) {
    .archivelist {
      margin-bottom: 10px; } }
  .archivelist .list a {
    border: 1px solid #f5f5f5;
    border-radius: 3px;
    padding: 6px 15px 4px;
    display: inline-block;
    margin: 4px 2px;
    color: #555555; }
    .archivelist .list a:hover, .archivelist .list a.current {
      background-color: #555555;
      color: #ffffff;
      text-decoration: none; }
    @media only screen and (max-width: 690px) {
      .archivelist .list a {
        padding: 4px 10px 2px; } }
  .archivelist .year a {
    font-size: 16px; }
    @media only screen and (max-width: 690px) {
      .archivelist .year a {
        font-size: 14px; } }

/* pager new old ************************************/
.newold, .pager {
  text-align: right;
  margin-bottom: 15px; }
  .newold a, .pager a {
    color: #DF0000; }

.pager {
  font-size: 0; }
  .pager a {
    padding: 4px 10px;
    display: inline-block;
    font-size: 13px; }
  .pager span {
    background-color: #555555;
    color: #ffffff;
    padding: 4px 10px;
    margin: 0 5px;
    font-size: 13px; }
