@charset "UTF-8";
/* ------------ nav ------------ */
nav {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 100;
}
ul#qq-navigation {
  width: 600px;
  height: 55px;
  /* floatの代わりにFlexboxで横並びにする */
  display: flex;
  margin: 32px 0 0 0;
  padding: 0;
  border: 0;
  list-style: none;
}
ul#qq-navigation li {
  position: relative;
  width: 150px;
  height: 55px;
  /* float: left; は撲滅 */
  background: url(../images/bor-nav.png) right 0 no-repeat;
  text-align: center;
  padding: 0;
}
ul#qq-navigation li a {
  display: block;
  color: #555;
  width: 150px;
  height: 55px;
  font-size: 0.6875rem; /* 11px */
  padding-top: 5px;
  background: url(../images/angle-down.png) center 30px no-repeat;
  text-decoration: none;
}
ul#qq-navigation li:last-child {
  background-image: none;
}
ul#qq-navigation li a:hover {
  background: url(../images/angle-down.png) center 34px no-repeat;
}
ul#qq-navigation li ul {
  position: absolute;
  top: 55px; /* 親メニューの高さと同じにする */
  left: 0;
  width: 150px;
  z-index: 100;
  margin: 0;
  padding: 0;
  font-weight: normal;
}
ul#qq-navigation li ul li {
  visibility: hidden;
  overflow: hidden;
  width: 150px;
  height: 0;
  background: #fff;
}
/* サブメニューのリンクもFlexboxで中央揃え */
ul#qq-navigation li ul li a {
  width: 150px;
  height: 40px;
  font-size: 0.5625rem; /* 9px */
  line-height: 1.2;
  color: #000;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: 1px solid #ccc;
}
ul#qq-navigation li ul li:hover, ul#qq-navigation li ul li a:hover {
  background-image: none;
  background: #fcc;
}
ul#qq-navigation li:hover ul li, ul#qq-navigation li a:hover ul li {
  visibility: visible;
  overflow: visible;
  height: 40px;
  z-index: 10;
}
ul#qq-navigation li.current_page_item a {
  color: #A81316;
}
/* ------------ footernav ------------ */
nav#footer navigation {
  /* 古い display: table を廃止し、Flexboxで右寄せにする */
  display: flex;
  justify-content: flex-end;
  width: 500px;
  height: 60px;
  margin-right: 40px;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  border: 0;
  list-style: none;
}
nav#footer navigation li {
  /* display: table-cell; と float: right; を撲滅 */
  height: 60px;
  background: none;
  padding-bottom: 20px;
}
nav#footer navigation li a {
  display: flex;
  align-items: center; /* 縦中央揃え */
  height: 60px;
  color: black;
  font-size: 0.75rem; /* 12px */
  padding: 0 20px;
}
/* ---------- sidebar ---------- */
#sidebar {
  width: 260px;
  margin-top: 25px;
}
/* sidenav */
.sidenav {
  width: 260px;
  height: auto;
  margin: 0 0 15px 0; /* float解除に伴い左マージン14pxは不要と判断し0に */
  padding: 0;
  border: 3px solid silver;
  border-radius: 6px;
  /* float: right; を撲滅 */
}
.sidenav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sidenav ul li {
  position: relative;
  height: 60px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sidenav ul li a {
  display: flex;
  align-items: center; /* テキストを縦中央に */
  width: 100%;
  height: 60px;
  font-size: 0.8125rem; /* 13px */
  line-height: 1;
  margin: 0;
  padding: 0 20px;
  list-style: none;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid #ccc;
  /* ベンダープレフィックスを削除し、モダンなグラデーションのみ記述 */
  background: #87101A;
  background: linear-gradient(to bottom, #CD191C 0%, #87101A 100%);
}
.sidenav ul li a:hover {
  background: #560a0b;
  background: linear-gradient(to bottom, #87101a 0%, #560a0b 100%);
  border-bottom: 1px solid #ccc;
}
/* sidenav-ent */
.sidenav-ent {
  width: 260px;
  min-height: 600px;
  height: auto;
  margin: 0 0 30px 0;
  padding: 0 0 20px 0;
  border: 3px solid #eee;
  border-radius: 6px;
  /* float: right; を撲滅 */
  color: #fff;
}
.sidenav-ent ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sidenav-ent ul li {
  height: 60px;
  font-size: 1rem; /* 100% */
  line-height: 60px;
  margin: 0;
  padding: 0 20px;
  list-style: none;
  border-bottom: 1px solid #ccc;
  background: #edd373;
  background: linear-gradient(to bottom, #edd373 0%, #fffabc 100%);
}
.sidenav-ent ul.wn-sidenav {
  margin: 0;
  padding: 20px 0 0 0;
  list-style: none;
}
.sidenav-ent ul.wn-sidenav li {
  height: auto;
  font-size: 0.75rem; /* 12px */
  line-height: 1.2;
  margin: 0;
  padding: 10px 20px;
  list-style: none;
  background: #fff;
  overflow: hidden;
  border: 0;
}
/* --- sidenav title date newest --- */
div.sidenav-ent ul li div.newstitle {
  /* サイドバー内部での無駄な clear: both; は不要なので削除し、marginで調整 */
  margin-top: 6px;
}
div.sidenav-ent ul li div.newstitle a {
  height: auto;
  font-size: 0.75rem; /* 12px */
  line-height: 1.4;
  text-decoration: none;
}
div.sidenav-ent ul li div.newstitle a:hover {
  text-decoration: underline;
}
div.sidenav-ent ul li div.newstitle em.newest {
  display: inline;
  width: auto;
  height: 8px;
  margin: 0 0 0 6px;
  font-size: 0.5rem !important; /* 8px */
  line-height: 1;
  color: #f30;
  font-style: normal;
}
div.sidenav-ent ul li div.newsdate {
  display: block;
  text-align: right;
  height: 12px;
  margin: 6px 0 0 0;
  font-size: 0.625rem; /* 10px */
  line-height: 1;
  color: #aaa;
}
/* ---  nav-menu on entry-page 2018 n2add --- */
nav#nav-entryinner ul {
  margin: 0 auto 40px;
  padding: 0;
  /* display: table; を廃止し、Flexbox化 */
  display: flex;
  width: 100%;
  text-align: center;
}
nav#nav-entryinner ul li {
  font-size: 0.6875rem; /* 11px */
  margin: 0;
  border: 1px solid #fff;
  position: relative;
  /* display: table-cell; を廃止し、flex: 1 で均等幅にする */
  flex: 1;
  background: #eee;
}
nav#nav-entryinner ul li a {
  font-size: 0.6875rem; /* 11px */
  list-style: none;
  text-decoration: none;
  color: #333;
  padding: 8px;
  display: block;
}
nav#nav-entryinner ul li a:hover {
  color: #fff;
  background: #333;
}
nav#nav-entryinner ul li a.active {
  color: #fff;
  background: #666;
}