@charset "UTF-8";
@import url(//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css);
/*--------------------
共通設定
----------------------*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  text-decoration: none;
  color: #171717;
  transition: .4s; }
  a:hover {
    color: #171717; }
  a:visited {
    color: transparent; }
  a.disabled {
    pointer-events: none;
    text-decoration: none; }

ul, ol {
  list-style: none; }

.pc {
  display: block; }
  @media screen and (max-width: 1080px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1080px) {
    .sp {
      display: block; } }

p {
  margin: 0;
  padding: 0; }

/*--------------------- ここから ----------------------*/
main {
  width: 90%;
  margin: 0 auto 15%;
  padding-top: 60px;
  overflow-x: hidden;
  max-width: 1800px; }
  @media screen and (max-width: 1920px) {
    main {
      max-width: 1500px; } }
  @media screen and (max-width: 600px) {
    main {
      margin-bottom: 15%;
      width: 94%; } }

h2 {
  font-size: 3.0em;
  font-weight: 400;
  text-align: left;
  margin: 24px auto; }
  @media screen and (max-width: 600px) {
    h2 {
      font-size: 8vw; } }

#ranking {
  text-align: left; }
  #ranking .tabs .tab-list {
    display: flex; }
    #ranking .tabs .tab-list .tab-item {
      margin-right: 3px;
      border-radius: 5px 5px 0 0;
      background-color: #737373;
      border: solid 1px #f2f2f2;
      border-width: 1px 1px 0 1px;
      padding: 8px 16px;
      color: #ffffff;
      cursor: pointer;
      font-size: 1.0em; }
      @media screen and (max-width: 600px) {
        #ranking .tabs .tab-list .tab-item {
          font-size: 3.0vw;
          padding: 8px; } }
      #ranking .tabs .tab-list .tab-item:last-child {
        margin-right: 0; }
      #ranking .tabs .tab-list .tab-item.active {
        background-color: #f2f2f2;
        color: #171717;
        border: #f2f2f2; }
  #ranking .tabs .tab-content {
    background-color: #f2f2f2; }
    #ranking .tabs .tab-content .tab-panel {
      display: none; }
      #ranking .tabs .tab-content .tab-panel.active {
        display: block;
        padding: 24px 24px; }
        @media screen and (max-width: 600px) {
          #ranking .tabs .tab-content .tab-panel.active {
            padding: 24px 16px; } }
      #ranking .tabs .tab-content .tab-panel .btn {
        margin: 0 auto;
        text-align: right; }
        #ranking .tabs .tab-content .tab-panel .btn a {
          position: relative;
          font-size: 1.0em;
          letter-spacing: .1em;
          color: #171717;
          padding-right: 1.0em; }
          #ranking .tabs .tab-content .tab-panel .btn a::after {
            content: "";
            position: absolute;
            width: 6px;
            height: 6px;
            border: solid #171717;
            border-width: 0 0 1px 1px;
            transform: translateY(-50%) rotate(-135deg);
            top: 50%;
            right: 0; }
  #ranking .rank {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    counter-reset: rank; }
    #ranking .rank li {
      width: calc(100%/5 - 8px);
      margin: 0 4px 48px;
      position: relative; }
      @media screen and (max-width: 600px) {
        #ranking .rank li {
          width: calc(100%/2 - 8px); } }
      #ranking .rank li::before {
        counter-increment: rank;
        content: counter(rank);
        position: absolute;
        font-size: 1.0em;
        left: 0;
        top: 0;
        line-height: 35px;
        text-align: center;
        width: 30px;
        height: 35px;
        background: rgba(0, 0, 0, 0.3);
        color: #ffffff; }
        @media screen and (max-width: 600px) {
          #ranking .rank li::before {
            font-size: 3.0vw;
            height: 30px;
            line-height: 30px; } }
      #ranking .rank li dl {
        font-size: 0.9em;
        margin-top: 16px; }
        @media screen and (max-width: 600px) {
          #ranking .rank li dl {
            font-size: 2.8vw; } }
        #ranking .rank li dl dd {
          font-size: 100%;
          height: calc(1.5em * 2);
          overflow: hidden;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
          letter-spacing: 0; }
        #ranking .rank li dl dt {
          font-size: 100%;
          margin-top: 1.0em; }
