@charset "UTF-8";
/* header
------------------------------------------------------------*/
header {
  margin-bottom: 2rem;
  position: relative;
  z-index: 10; }
  header > div {
    border-bottom: 2px #005cca solid;
    background: #fff;
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: 1.25fr 1.75fr 80px;
    align-items: center;
    gap: 1rem; }
    header > div h1 {
      margin: 1rem;
      text-align: center; }
      header > div h1 a {
        display: block;
        line-height: 1;
        transition: 0.3s; }
        header > div h1 a img {
          width: 100%; }
        header > div h1 a:hover {
          opacity: 0.7; }
      header > div h1 p {
        margin: 0;
        font-size: 1rem;
        overflow: hidden; }
    header > div > p {
      width: 50px;
      margin: 0 auto;
      padding: 0.5rem 0.5rem 0 0.5rem;
      font-size: 0.5rem;
      text-align: center;
      border: 1px #999 dotted;
      overflow: hidden;
      transition: 0.3s; }
      header > div > p:after {
        content: "\f103";
        display: block;
        padding: 0;
        color: #468;
        font-family: "fontawesome";
        font-size: 1.5rem;
        text-align: center;
        line-height: 1;
        transform: scale(2, 1); }
      header > div > p:hover {
        cursor: pointer;
        background: #f3f3f3; }
      header > div > p.underArrow {
        background: #ddd; }
        header > div > p.underArrow:after {
          content: "\f102"; }
  header nav {
    position: absolute;
    top: -1000vh;
    z-index: 5;
    transition: 0.5s; }
    header nav .tabArea {
      display: flex; }
      header nav .tabArea p {
        width: 50%;
        margin: 0;
        padding: 1rem 0 0.75rem 0;
        font-size: 0.875rem;
        font-weight: bold;
        text-align: center;
        background: #eee; }
        header nav .tabArea p.current {
          padding: 1.25rem 0 0.5rem 0;
          color: #fff;
          background: #666; }
        header nav .tabArea p:hover {
          cursor: pointer; }
    header nav .buttonArea ul {
      display: flex;
      margin: 0;
      padding: 1rem;
      list-style: none;
      background: #666;
      flex-wrap: wrap;
      gap: 0.5rem; }
      header nav .buttonArea ul li {
        margin: 0;
        padding: 0; }
        header nav .buttonArea ul li a {
          display: block;
          padding: 0.35rem 0.5rem 0.25rem 0.5rem;
          font-size: 0.75rem;
          background: #eee; }
          header nav .buttonArea ul li a:hover {
            cursor: pointer; }
          header nav .buttonArea ul li a.on {
            color: #fff;
            background: #005cca; }
        header nav .buttonArea ul li:last-child {
          display: none; }
        header nav .buttonArea ul li:nth-last-child(2) {
          margin: 0.25rem 0 0 auto; }
          header nav .buttonArea ul li:nth-last-child(2) a {
            color: #fff;
            background: none; }
            header nav .buttonArea ul li:nth-last-child(2) a:before {
              content: "\f0c1";
              padding-right: 5px; }
      header nav .buttonArea ul.cu {
        display: none; }

/* marsfinder
------------------------------------------------------------*/
.searchArea {
  margin: 0 0 0 7rem; }
  .searchArea > p {
    display: none; }
  .searchArea .mf-search-box {
    padding: 0;
    border: none; }
    .searchArea .mf-search-box .mf-search-bar .mf-search-bar_input {
      padding: 5px 5px 0 5px;
      border: 1px #999 solid;
      border-width: 1px 0 1px 1px;
      transition: 0.3s; }
      .searchArea .mf-search-box .mf-search-bar .mf-search-bar_input:focus {
        border-color: #999;
        background: #f3f3f3;
        outline: none; }
    .searchArea .mf-search-box .mf-search-bar .mf-search-bar_button {
      padding: 5px 5px 2px 6px;
      border: 1px #999 solid;
      border-width: 1px 1px 1px 0;
      border-radius: 0 !important;
      background: #fff;
      transition: 0.3s; }
      .searchArea .mf-search-box .mf-search-bar .mf-search-bar_button span {
        display: none; }
      .searchArea .mf-search-box .mf-search-bar .mf-search-bar_button .mf-search-bar_button_icon {
        color: #666 !important;
        transition: 0.3s; }
      .searchArea .mf-search-box .mf-search-bar .mf-search-bar_button:hover {
        background: #999 !important; }
        .searchArea .mf-search-box .mf-search-bar .mf-search-bar_button:hover .mf-search-bar_button_icon {
          color: #fff !important; }
      .searchArea .mf-search-box .mf-search-bar .mf-search-bar_button svg {
        margin: 0 !important; }
  .searchArea .mf-search-bar_doc-type {
    display: none; }
    .searchArea .mf-search-bar_doc-type.mf-custom-select-wrapper {
      display: none; }
  .searchArea .mf-filters {
    display: none; }

/* top aside */
body > aside {
  width: 260px;
  float: right; }
  body > aside h2 {
    margin: 20px 0 0 0;
    padding: 0 10px 10px 10px;
    font-size: 1.125rem; }
    body > aside h2:before {
      content: "\f002";
      padding: 0 10px 0 0;
      color: #468;
      font-size: 2rem;
      font-weight: normal;
      vertical-align: -5px; }
  body > aside #kw {
    padding-top: 21px;
    border-top: 1px #999 dotted; }
    body > aside #kw h3 {
      margin: 0 0 10px 0;
      padding: 0 10px;
      font-size: 1rem;
      font-weight: normal; }
      body > aside #kw h3:before {
        content: "\f02c";
        padding-right: 0.5rem;
        color: #468; }
    body > aside #kw ul {
      display: flex;
      margin: 0;
      padding: 0;
      list-style: none;
      flex-wrap: wrap;
      gap: 0.5rem 0rem; }
      body > aside #kw ul li {
        margin: 0;
        padding: 0; }
        body > aside #kw ul li a {
          display: block;
          padding: 5px 10px;
          font-size: 0.875rem; }
          body > aside #kw ul li a:hover {
            cursor: pointer;
            background: #cde; }
    body > aside #kw > div + div {
      margin-top: 30px; }
      body > aside #kw > div + div h3:before {
        content: "\f02e"; }
  body > aside > a {
    display: block;
    margin-top: 3rem;
    padding: 6px 0 4px 0;
    color: #fff;
    font-size: 0.875rem;
    text-align: center;
    border-radius: 9999px;
    background: #789;
    transition: 0.3s; }
    body > aside > a:hover {
      opacity: 0.6; }
    body > aside > a:before {
      content: "\f0c1";
      padding-right: 0.5rem; }
    body > aside > a + a {
      margin-top: 1rem;
      background: #468; }
      body > aside > a + a:before {
        content: "\f02d"; }
body article.oneCol {
  width: auto;
  float: none; }
  body article.oneCol + aside {
    display: none; }

/* キーワード無効化 */
@media only screen and (max-width: 500px) {
  header {
    margin-bottom: 1.25rem; }
    header > div {
      grid-template-columns: 1fr 60px 90px;
      gap: 0; }
      header > div .searchArea {
        margin: 0; }
      header > div h1 {
        margin: 1rem 1rem 1rem 0.75rem;
        text-align: left; }
        header > div h1 p {
          font-size: min(0.675rem, 0.675rem); }
        header > div h1 a img {
          width: 80%; }
    header .searchArea > p {
      display: block;
      width: 60px;
      height: 58px;
      margin: 0 0 0 auto;
      padding: 8px 0 0 12px;
      border: 1px #999 dotted;
      background: #fff;
      transition: 0.3s;
      box-sizing: border-box; }
      header .searchArea > p:before {
        content: "\f002";
        color: #999;
        font-family: FontAwesome;
        font-size: 38px; }
    header .searchArea .mf-search-box {
      visibility: hidden;
      width: calc(100% - 2rem);
      border: 1rem #005cca solid;
      position: absolute;
      top: var(--header-height);
      left: 0;
      opacity: 0;
      transition: 0.3s; }
    header .searchArea.showInput .mf-search-box {
      visibility: visible;
      opacity: 1; }
    header .searchArea.showInput > p {
      background: #005cca; }
      header .searchArea.showInput > p:before {
        color: #fff; }
    header nav .buttonArea ul li:last-child {
      display: block;
      width: 100%; }
      header nav .buttonArea ul li:last-child a {
        display: block;
        width: 50%;
        margin: 0 auto 0.5rem auto;
        padding: 5px 10px 3px 10px;
        color: #fff;
        text-align: center;
        border: 1px #fff solid;
        border-radius: 50px;
        background: #468; }
    header nav .buttonArea ul li:nth-last-child(2) {
      display: block;
      width: 100%;
      margin: 0.5rem auto;
      text-align: center; }
      header nav .buttonArea ul li:nth-last-child(2) a {
        display: inline;
        color: #fff;
        background: none; }
        header nav .buttonArea ul li:nth-last-child(2) a:before {
          content: "\f0c1";
          padding-right: 5px; }

  article {
    margin-top: 0; }

  /*top aside*/
  body#top header > div {
    grid-template-columns: 1fr 60px 90px;
    gap: 0; }
    body#top header > div .searchArea {
      margin: 0; }
    body#top header > div p {
      display: block; }
  body#top > aside {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #777;
    float: none;
    left: 0;
    top: -150vh;
    z-index: 1;
    transition: 0.5s; }
    body#top > aside.open {
      top: calc(var(--header-height) - 3px); }
    body#top > aside #kw {
      padding: 0;
      position: relative; }
      body#top > aside #kw > div {
        width: 100%;
        text-align: center;
        position: absolute;
        top: 0;
        left: 0;
        box-sizing: border-box; }
        body#top > aside #kw > div h3 {
          width: 50%;
          margin: 0;
          padding: 16px 0 12px 0;
          color: #000;
          font-size: 0.75rem;
          font-weight: bold;
          line-height: 1;
          background: #eee;
          position: relative;
          z-index: 100;
          box-sizing: border-box; }
          body#top > aside #kw > div h3:hover {
            cursor: pointer; }
          body#top > aside #kw > div h3:before {
            content: normal; }
        body#top > aside #kw > div ul {
          display: flex;
          width: 100%;
          margin: 0;
          padding: 21px 16px 10px 16px;
          list-style: none;
          background: #666;
          position: absolute;
          top: -100vh;
          transition: 0.5s;
          flex-wrap: wrap;
          gap: 6px 8px;
          box-sizing: border-box; }
          body#top > aside #kw > div ul li {
            margin: 0;
            padding: 0; }
            body#top > aside #kw > div ul li a {
              padding: 0.25rem 0.5rem;
              font-size: 0.75rem;
              background: #eee; }
              body#top > aside #kw > div ul li a.on {
                color: #fff;
                background: #005cca; }
            body#top > aside #kw > div ul li:hover {
              cursor: pointer; }
              body#top > aside #kw > div ul li:hover a {
                color: #005cca;
                background: #fff; }
            body#top > aside #kw > div ul li:last-child {
              display: block;
              width: 100%; }
              body#top > aside #kw > div ul li:last-child a {
                display: block;
                width: 50%;
                margin: 0 auto 0.5rem auto;
                padding: 5px 10px 3px 10px;
                color: #fff;
                text-align: center;
                border: 1px #fff solid;
                border-radius: 50px;
                background: #468; }
            body#top > aside #kw > div ul li:nth-last-child(2) {
              width: 100%;
              margin: 0.5rem auto; }
              body#top > aside #kw > div ul li:nth-last-child(2) a {
                color: #fff;
                background: none; }
                body#top > aside #kw > div ul li:nth-last-child(2) a:before {
                  content: "\f0c1";
                  padding-right: 5px; }
        body#top > aside #kw > div:nth-of-type(2) h3 {
          transform: translateX(100%); }
        body#top > aside #kw > div.current {
          position: relative; }
          body#top > aside #kw > div.current h3 {
            color: #fff;
            background: #666; }
          body#top > aside #kw > div.current ul {
            top: 2.5rem; }
        body#top > aside #kw > div + div {
          margin: 0; }
          body#top > aside #kw > div + div h3:before {
            content: normal; } }
#searchResult .headline-pageTitle h1 {
  padding: 0 20px; }
#searchResult .mf_finder_container {
  padding: 0 20px; }
#searchResult .mf-filters_selects_category {
  display: none; }
#searchResult .mf-filters_selects_other .mf-filters_selects_other_item svg + div:before {
  content: "表示件数";
  padding-right: 0.5rem;
  font-size: 0.875rem; }
#searchResult .mf-filters_selects {
  margin: 1.5rem 0 3rem 0; }
#searchResult .mf-related-keywords {
  margin: 4rem 0; }
#searchResult .mf-pagination {
  margin: 0 0 7rem 0; }
#searchResult .mf-search-results_mars-logo {
  display: none; }
#searchResult .mf-search-results_body_result {
  margin: 1.5rem 0; }

/* 2025 ranking linkArea add */
body > aside section {
  padding: 0;
  border: none; }
  body > aside section h2 {
    border-bottom: 1px #ccc solid; }
  body > aside section.ranking h2:before {
    display: inline-block;
    content: url("/bestengine/common/img/icon_clown.svg") !important;
    padding-right: 0.25rem;
    transform: translateY(2px); }
  body > aside section.ranking .rankingList {
    margin-top: 2rem; }
    body > aside section.ranking .rankingList a {
      display: grid;
      grid-template-columns: 13px 1fr;
      grid-row: span 4;
      grid-gap: 0.5rem 0.75rem;
      margin-bottom: 1rem;
      padding: 0.75rem;
      background: #f3f3f3;
      transition: 0.3s; }
      body > aside section.ranking .rankingList a img {
        grid-area: 1/1/2/3;
        width: 100%;
        margin: 0; }
      body > aside section.ranking .rankingList a span {
        grid-area: 2/1/3/2;
        width: 16px;
        height: 13px;
        padding: 4px 2px 2px 1px;
        color: #fff;
        font-size: 0.75rem;
        line-height: 1;
        text-align: center;
        vertical-align: middle;
        border-radius: 9999px;
        background: #468;
        transition: 0.3s; }
      body > aside section.ranking .rankingList a h3 {
        grid-area: 2/2/3/3;
        margin: 0;
        font-size: 0.875rem; }
      body > aside section.ranking .rankingList a div {
        display: flex;
        gap: 0.25rem;
        grid-area: 3/1/4/3; }
        body > aside section.ranking .rankingList a div:before {
          content: "\f02c";
          padding: 0 0.25em;
          font-size: 0.75rem;
          font-family: "fontawesome";
          transform: translateY(2.5px); }
        body > aside section.ranking .rankingList a div .tag {
          margin: 0;
          padding: 0;
          font-size: 0.75rem;
          list-style: none;
          background: none;
          gap: 0.25em; }
          body > aside section.ranking .rankingList a div .tag li {
            display: inline-block;
            margin: 0;
            padding: 0;
            text-indent: inherit;
            background: none; }
            body > aside section.ranking .rankingList a div .tag li:after {
              content: " , "; }
            body > aside section.ranking .rankingList a div .tag li:last-child:after {
              content: normal; }
      body > aside section.ranking .rankingList a time {
        grid-area: 4/1/5/3;
        color: #666;
        font-size: 0.75rem;
        text-align: right;
        transition: 0.3s; }
      body > aside section.ranking .rankingList a:hover {
        color: #fff;
        background: #468; }
        body > aside section.ranking .rankingList a:hover span {
          color: #468;
          background: #fff; }
        body > aside section.ranking .rankingList a:hover time {
          color: #fff; }
  body > aside section .rightExLink ul {
    margin: 2rem 0 1rem 0;
    padding: 1rem 0 0 0;
    border-top: 1px #666 dotted;
    list-style: none; }
    body > aside section .rightExLink ul li {
      margin: 1rem 0;
      padding: 0; }
      body > aside section .rightExLink ul li a {
        display: block;
        padding: 0.65rem 0 0.45rem 0;
        color: #468;
        font-size: 0.875rem;
        text-align: center;
        border: 1px #468 solid;
        border-radius: 9999px;
        background: #eee;
        transition: 0.3s; }
        body > aside section .rightExLink ul li a:hover {
          color: #eee;
          background: #468; }
        body > aside section .rightExLink ul li a:before {
          content: "\f02c";
          padding-right: 0.5rem;
          font-family: "fontawesome";
          transform: translateY(2px); }
      body > aside section .rightExLink ul li:nth-of-type(1) a:before {
        content: "\f0c1"; }
      body > aside section .rightExLink ul li:nth-of-type(2) a:before {
        content: "\f02d"; }

@media only screen and (max-width: 500px) {
  body > aside section.ranking {
    padding: 0 1rem 50px 1rem;
    background: #fff; }
    body > aside section.ranking .rankingList a {
      background: #eaeaea; }
  body > aside section .rightExLink {
    display: none; } }
