@charset "UTF-8";
/**▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼　デバイス毎の条件分岐　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼**/
/**▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ デバイス毎の条件分岐（触らない） ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲**/
/*//////////////////////  共通でつかう  /////////////////////////*/
h1 {
  font-size: 2.2rem;
  margin-bottom: 1rem; }

h2 {
  font-size: 2rem;
  margin-bottom: 1rem; }

h3 {
  font-size: 1.8rem;
  margin-bottom: 1rem; }

table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0px;
  word-break: break-all;
  word-wrap: break-word;
  background: #FFF;
  border-top: solid 1px #ccc;
  border-left: solid 1px #ccc;
  margin-bottom: 1rem; }
  table th, table td {
    padding: .7rem;
    border-bottom: solid 1px #ccc;
    border-right: solid 1px #ccc;
    vertical-align: middle; }
    @media only screen and (max-width: 767px) {
      table th, table td {
        font-size: 1.2rem; } }
  table th {
    background: #ddd; }

.flex {
  display: flex;
  justify-content: space-between; }

/* cvボタン */
.buttonarea {
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    .buttonarea {
      display: block; } }
  .buttonarea .shosai {
    width: 30%;
    margin: auto; }
    @media only screen and (max-width: 767px) {
      .buttonarea .shosai {
        width: 50%; } }
    .buttonarea .shosai a {
      border-radius: 20px;
      color: #fff;
      display: block;
      font-size: 1.7rem;
      font-weight: 700;
      text-align: center;
      text-decoration: none;
      line-height: 1.2;
      background: #ccc;
      padding: 2.5rem; }
      @media only screen and (max-width: 767px) {
        .buttonarea .shosai a {
          padding: 1rem;
          font-size: 1.6rem;
          border-radius: 10px;
          font-weight: normal; } }
    @media only screen and (max-width: 767px) {
      .buttonarea .shosai p {
        line-height: 1.4;
        font-size: 1.4rem; } }

.cv-btn {
  width: 65%;
  margin: 1rem auto; }
  @media only screen and (max-width: 767px) {
    .cv-btn {
      width: 100%;
      margin: 1rem auto; } }
  .cv-btn a {
    background-image: linear-gradient(180deg, #F6732E 10%, #DE4313 100%);
    border: solid 4px #faae87;
    border-radius: 20px;
    color: #fff;
    display: block;
    font-size: 1.7rem;
    font-weight: 700;
    padding: 1rem;
    text-align: center;
    text-decoration: none;
    line-height: 1.2; }
    @media only screen and (max-width: 767px) {
      .cv-btn a {
        font-size: 1.8rem;
        padding: 1rem;
        line-height: 1.2; } }
  .cv-btn .text-link {
    font-size: 1.2rem; }
  .cv-btn .sub-text {
    font-size: 1.2rem;
    padding: 0 .5rem; }

/* キラン */
@keyframes shiny {
  0% {
    left: -20%; }
  10% {
    left: 120%; }
  100% {
    left: 120%; } }
.shiny-btn {
  position: relative;
  display: block;
  overflow: hidden; }

.shiny-btn::after {
  content: '';
  position: absolute;
  top: -10%;
  left: -20%;
  width: 40px;
  height: 100%;
  transform: scale(2) rotate(20deg);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
  /* アニメーション */
  animation-name: shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite; }

/* タグラベル 詳細とPR */
.label {
  margin: 1.5rem auto 0.5rem; }
  @media only screen and (max-width: 767px) {
    .label {
      margin: 1rem auto 0.5rem; } }
  .label .row {
    justify-content: space-around; }
  @media only screen and (max-width: 767px) {
    .label ul {
      border-radius: 0px !important;
      border: none !important;
      padding: 0rem !important; } }
  .label ul li {
    border: solid 1px #ccc;
    padding: 0.5rem;
    border-radius: 4px;
    width: 184px;
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 0.7rem; }
    @media only screen and (max-width: 767px) {
      .label ul li {
        font-size: 1.1rem;
        width: 25%; } }
    .label ul li.spec_label-1 {
      background: #31367D;
      color: #fff; }
    .label ul li:before {
      display: none; }

/*LPmenuボタン*/
.menu-btn {
  width: 740px;
  margin: 2rem auto;
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    .menu-btn {
      width: 100%;
      margin: 2rem auto 1rem; } }
  .menu-btn li {
    background: #1A58BD;
    width: 320px;
    margin: 0rem auto 1.5rem;
    cursor: pointer;
    border: 2px solid #31367D;
    border-radius: 8px;
    border-bottom: 7px solid #31367D;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .menu-btn li {
        width: 48%;
        margin: 0rem auto 1.5rem; } }
    .menu-btn li a {
      color: #fff;
      display: block;
      font-size: 2rem;
      font-weight: 700;
      text-align: center;
      text-decoration: none;
      line-height: 1.2;
      padding: 2.5rem;
      letter-spacing: .08rem; }
      @media only screen and (max-width: 767px) {
        .menu-btn li a {
          font-size: 1.4rem;
          padding: 1rem; } }
      .menu-btn li a span {
        font-size: 2.2rem; }
        @media only screen and (max-width: 767px) {
          .menu-btn li a span {
            font-size: 1.6rem; } }
    .menu-btn li::after {
      border-top: solid 3px #fff;
      border-right: solid 3px #fff;
      -webkit-transform: rotate(45deg);
      content: "";
      display: block;
      height: 15px;
      position: absolute;
      right: 2rem;
      top: 47%;
      transform: rotate(45deg);
      width: 15px; }
      @media only screen and (max-width: 767px) {
        .menu-btn li::after {
          height: 10px;
          right: 1rem;
          width: 10px; } }

/*//////////////////////  看板画像ある場合のMV  /////////////////////////*/
.lp-mainvisual {
  width: 1000px;
  margin: 0 auto 1rem; }
  @media only screen and (max-width: 767px) {
    .lp-mainvisual {
      width: 100%;
      margin-bottom: 2rem; } }
  .lp-mainvisual img {
    width: 100%; }

/* モビット用看板調整 */
.lp-mainvisual-mobit {
  margin-bottom: -1rem; }
  @media only screen and (max-width: 767px) {
    .lp-mainvisual-mobit {
      margin-bottom: .5rem; } }

/*//////////////////////  ランキング見出し  /////////////////////////*/
.ttl-area {
  /*YDN用 見出し */ }
  .ttl-area .midashi {
    text-align: center;
    color: #FFF;
    font-size: 3rem;
    font-weight: 700;
    background: #1d4996;
    border-radius: 5px;
    width: 100%;
    margin: 0 auto 3rem auto;
    padding: 1.5rem;
    position: relative;
    line-height: 1.5; }
    @media only screen and (max-width: 960px) and (min-width: 768px) {
      .ttl-area .midashi {
        width: 80%; } }
    @media only screen and (max-width: 767px) {
      .ttl-area .midashi {
        font-size: 1.8rem;
        width: 100%;
        line-height: 1.2;
        margin: 0 auto 1.5rem auto;
        padding: .6rem 1rem .8rem; } }
    .ttl-area .midashi:after {
      content: "";
      display: inline-block;
      border-style: solid;
      border-width: 3.5em 0 3.5em 1em;
      border-color: transparent transparent transparent #1d4996;
      transform: translateY(0.1em) scale(0.8) rotate(90deg);
      position: absolute;
      bottom: -44rem;
      left: 0;
      right: 0; }
      @media only screen and (max-width: 767px) {
        .ttl-area .midashi:after {
          border-width: 6px;
          margin-left: -6px; } }
    .ttl-area .midashi small {
      display: block;
      font-size: 1.4rem;
      font-weight: normal; }
      @media only screen and (max-width: 767px) {
        .ttl-area .midashi small {
          font-size: 1.3rem;
          line-height: 1.5; } }

/* モビット用見出し */
.ttl-area-mobit {
  text-align: center;
  line-height: 1.2;
  margin-bottom: 0;
  color: #333333;
  font-size: 3rem;
  font-weight: bold;
  margin-top: 2rem; }
  @media only screen and (max-width: 767px) {
    .ttl-area-mobit {
      font-size: 1.9rem;
      margin: .5rem auto 0rem; } }
  .ttl-area-mobit span {
    font-size: 2.4rem; }
    @media only screen and (max-width: 767px) {
      .ttl-area-mobit span {
        font-size: 1.4rem; } }

/*//////////////////////  通常ランキング カード /////////////////////////*/
#ranking {
  /* rank02 ランキングカードのデザイン */
  /* モビットLP用 */
  /*/////  ボタン上注意書き  /////*/ }
  #ranking .rankingBox-item {
    background: #f2f5f7;
    padding: 0rem 2rem 1rem;
    margin-bottom: 2rem;
    border: solid 1px #ccc; }
    @media only screen and (max-width: 767px) {
      #ranking .rankingBox-item {
        padding: 0rem 1rem 1rem; } }
    #ranking .rankingBox-item h3 {
      display: flex;
      align-items: flex-end;
      background: #1d4996;
      margin: 0rem -2rem;
      padding: 0.5rem 1rem; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item h3 {
          padding: 0.5rem 1rem;
          margin: 0rem -1rem; } }
      #ranking .rankingBox-item h3 img {
        width: 60px; }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item h3 img {
            width: 36px; } }
        #ranking .rankingBox-item h3 img.link {
          width: 15px; }
      #ranking .rankingBox-item h3 p {
        font-size: 2.5rem;
        padding: 0rem 1rem 0rem 1.5rem;
        color: #fff; }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item h3 p {
            font-size: 2rem;
            padding-left: 1rem; } }
        #ranking .rankingBox-item h3 p a {
          color: #fff; }
    #ranking .rankingBox-item h4 {
      font-size: 1.8rem;
      padding: 1.5rem 0rem;
      letter-spacing: .08rem;
      line-height: 1.2; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item h4 {
          padding: 1rem;
          line-height: 1.2;
          font-size: 1.5rem;
          background: #fffceb;
          margin: 0rem -1rem 1rem; } }
    #ranking .rankingBox-item .item-in .flex {
      margin-bottom: 2rem; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item .item-in .flex {
          margin-bottom: 0rem; } }
      #ranking .rankingBox-item .item-in .flex .banner {
        width: 20%; }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item .item-in .flex .banner {
            width: 33%;
            margin: 0rem; } }
        #ranking .rankingBox-item .item-in .flex .banner img {
          width: 200px; }
      #ranking .rankingBox-item .item-in .flex ul.txt {
        background: #fff;
        border-radius: 5px;
        width: 78%;
        padding: 1.5rem 2rem;
        border: solid 3px #ccc; }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item .item-in .flex ul.txt {
            border: solid 2px #ccc; } }
        #ranking .rankingBox-item .item-in .flex ul.txt li {
          margin-bottom: 1rem;
          line-height: 1.4;
          font-size: 1.6rem;
          padding-left: 3rem;
          position: relative; }
          #ranking .rankingBox-item .item-in .flex ul.txt li:before {
            position: absolute;
            left: 0%;
            top: -4px;
            content: '\f00c ';
            font-family: 'FontAwesome';
            font-size: 22px;
            line-height: 1;
            color: #f00; }
    @media only screen and (max-width: 767px) {
      #ranking .rankingBox-item .item-in .detail {
        width: 64%; } }
    #ranking .rankingBox-item .item-in .detail td {
      text-align: center; }
    @media only screen and (max-width: 767px) {
      #ranking .rankingBox-item .item-in .detail th {
        width: 41%; } }
    @media only screen and (max-width: 767px) {
      #ranking .rankingBox-item .item-in ul.txt {
        background: #fff;
        border-radius: 5px;
        padding: 1.5rem 1rem 0.5rem;
        border: solid 2px #ccc; }
        #ranking .rankingBox-item .item-in ul.txt li {
          margin-bottom: 1rem;
          position: relative;
          padding-left: 2.5rem;
          line-height: 1.2;
          font-size: 1.4rem; }
          #ranking .rankingBox-item .item-in ul.txt li:before {
            position: absolute;
            left: 0%;
            top: -4px;
            content: '\f00c ';
            font-family: 'FontAwesome';
            font-size: 20px;
            line-height: 1;
            color: #f00; } }
    #ranking .rankingBox-item .cv-btn a {
      position: relative; }
      #ranking .rankingBox-item .cv-btn a::after {
        content: '';
        width: 10px;
        height: 10px;
        border: 0;
        border-top: solid 3px #fff;
        border-right: solid 3px #fff;
        position: absolute;
        top: 40%;
        right: 3rem;
        transform: rotate(45deg); }
  #ranking .cyushaku {
    font-size: 1.2rem; }
    @media only screen and (max-width: 767px) {
      #ranking .cyushaku {
        text-align: center; } }
  #ranking .boxwrap:nth-child(even) {
    float: left;
    width: 49%;
    clear: both; }
    @media only screen and (max-width: 767px) {
      #ranking .boxwrap:nth-child(even) {
        float: none;
        width: 100%; } }
  #ranking .boxwrap:nth-child(odd) {
    float: right;
    width: 49%; }
    @media only screen and (max-width: 767px) {
      #ranking .boxwrap:nth-child(odd) {
        float: none;
        width: 100%; } }
  #ranking .boxwrap .rankingBox-item {
    padding: 0rem 1.5rem 1rem; }
    #ranking .boxwrap .rankingBox-item h3 {
      margin: 0rem -1.5rem; }
      @media only screen and (max-width: 767px) {
        #ranking .boxwrap .rankingBox-item h3 {
          padding: 0.5rem 1rem; } }
      #ranking .boxwrap .rankingBox-item h3 img {
        width: 50px; }
        @media only screen and (max-width: 767px) {
          #ranking .boxwrap .rankingBox-item h3 img {
            width: 36px; } }
      #ranking .boxwrap .rankingBox-item h3 p {
        font-size: 2.2rem; }
        @media only screen and (max-width: 767px) {
          #ranking .boxwrap .rankingBox-item h3 p {
            font-size: 2rem;
            padding-left: 1rem; } }
    #ranking .boxwrap .rankingBox-item h4 {
      padding: 1rem;
      font-size: 1.7rem;
      line-height: 1.2; }
      @media only screen and (max-width: 767px) {
        #ranking .boxwrap .rankingBox-item h4 {
          padding: 1rem;
          line-height: 1.2;
          font-size: 1.5rem;
          background: #fffceb;
          margin: 0rem -1.5rem 1rem; } }
    #ranking .boxwrap .rankingBox-item .flex {
      margin-bottom: 0rem; }
      #ranking .boxwrap .rankingBox-item .flex .banner {
        width: 33%; }
      #ranking .boxwrap .rankingBox-item .flex .detail {
        width: 64%; }
        #ranking .boxwrap .rankingBox-item .flex .detail th {
          width: 41%;
          padding: .7rem .5rem; }
        #ranking .boxwrap .rankingBox-item .flex .detail th, #ranking .boxwrap .rankingBox-item .flex .detail td {
          font-size: 1.4rem; }
          @media only screen and (max-width: 767px) {
            #ranking .boxwrap .rankingBox-item .flex .detail th, #ranking .boxwrap .rankingBox-item .flex .detail td {
              font-size: 1.2rem; } }
    #ranking .boxwrap .rankingBox-item ul {
      background: #fff;
      border-radius: 5px;
      padding: 1.5rem 1.5rem 0.5rem;
      border: solid 2px #ccc; }
      #ranking .boxwrap .rankingBox-item ul li {
        margin-bottom: 1rem;
        position: relative;
        padding-left: 2.5rem;
        line-height: 1.2; }
        #ranking .boxwrap .rankingBox-item ul li:before {
          position: absolute;
          left: 0%;
          top: -4px;
          content: '\f00c ';
          font-family: 'FontAwesome';
          font-size: 20px;
          line-height: 1;
          color: #f00; }
    #ranking .boxwrap .rankingBox-item .cv-btn {
      width: 100%; }
  #ranking .rankingBox-item02 {
    margin-bottom: 3rem; }
    @media only screen and (max-width: 767px) {
      #ranking .rankingBox-item02 {
        margin-bottom: 2rem; } }
    #ranking .rankingBox-item02 h3 {
      align-items: center;
      padding: 0rem 1rem; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item02 h3 {
          margin-bottom: 1rem; } }
      #ranking .rankingBox-item02 h3 img {
        width: 55px;
        margin-bottom: 0.5rem; }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item02 h3 img {
            width: 45px; } }
    #ranking .rankingBox-item02 .item-in .flex {
      margin-bottom: 0; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item02 .item-in .flex {
          display: block; } }
      #ranking .rankingBox-item02 .item-in .flex .banner {
        width: 25%; }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item02 .item-in .flex .banner {
            width: 100%; } }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item02 .item-in .flex .banner img {
            width: 170px;
            margin: 1rem auto; } }
      #ranking .rankingBox-item02 .item-in .flex .right {
        width: 73%; }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item02 .item-in .flex .right {
            width: 100%; } }
        #ranking .rankingBox-item02 .item-in .flex .right ul.txt {
          margin-bottom: 1.5rem;
          width: 100%; }
          @media only screen and (max-width: 767px) {
            #ranking .rankingBox-item02 .item-in .flex .right ul.txt {
              padding: 1rem 1rem 0rem; } }
          @media only screen and (max-width: 767px) {
            #ranking .rankingBox-item02 .item-in .flex .right ul.txt li {
              font-size: 1.4rem;
              padding-left: 2.5rem; } }
          @media only screen and (max-width: 767px) {
            #ranking .rankingBox-item02 .item-in .flex .right ul.txt li:before {
              top: 0px;
              font-size: 18px; } }
    @media only screen and (max-width: 767px) {
      #ranking .rankingBox-item02 .item-in h4 {
        margin: 1rem auto;
        line-height: 1.3;
        padding: 0.5rem 1rem; } }
  #ranking .rankingBox-item-mobit {
    background: #EDFBE1;
    margin-bottom: 4rem; }
    @media only screen and (max-width: 767px) {
      #ranking .rankingBox-item-mobit {
        margin-bottom: 2rem; } }
    #ranking .rankingBox-item-mobit .flex {
      align-items: center;
      margin-bottom: 0rem !important; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item-mobit .flex {
          display: block; } }
      #ranking .rankingBox-item-mobit .flex .banner {
        width: 25% !important; }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item-mobit .flex .banner {
            width: 35% !important;
            float: left; } }
        #ranking .rankingBox-item-mobit .flex .banner img {
          width: auto !important; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item-mobit .flex #chart1 {
          margin-top: -5rem;
          margin-bottom: -2rem; } }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item-mobit .flex .chart {
          float: right;
          width: 59%; } }
    #ranking .rankingBox-item-mobit h3 {
      background: #004831;
      justify-content: space-between;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item-mobit h3 {
          margin-bottom: 2rem; } }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item-mobit h3 p {
          font-size: 1.8rem; } }
      #ranking .rankingBox-item-mobit h3 .star {
        display: flex;
        flex-basis: 280px;
        align-items: center;
        justify-content: flex-end; }
        @media only screen and (max-width: 767px) {
          #ranking .rankingBox-item-mobit h3 .star {
            flex-basis: 190px; } }
        #ranking .rankingBox-item-mobit h3 .star p {
          font-size: 1.8rem;
          padding: 0; }
          @media only screen and (max-width: 767px) {
            #ranking .rankingBox-item-mobit h3 .star p {
              font-size: 1.3rem; } }
        #ranking .rankingBox-item-mobit h3 .star img {
          width: 50%; }
          @media only screen and (max-width: 767px) {
            #ranking .rankingBox-item-mobit h3 .star img {
              width: 42%; } }
    #ranking .rankingBox-item-mobit table.detail {
      width: 35%; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item-mobit table.detail {
          width: 100% !important; } }
    #ranking .rankingBox-item-mobit .mobit-button {
      width: 30%;
      border-radius: 20px;
      display: block;
      font-weight: 700;
      text-align: center;
      line-height: 1.2;
      background: #fff;
      padding: 1rem;
      border: solid #004831;
      font-size: 1.5rem;
      text-decoration: none; }
      @media only screen and (max-width: 767px) {
        #ranking .rankingBox-item-mobit .mobit-button {
          width: 100%;
          padding: .5rem; } }
  #ranking .txt-note {
    font-size: 1.6rem;
    color: #000;
    text-align: center;
    font-weight: bold;
    margin: 1rem auto 0;
    animation: blinking 1.5s linear infinite;
    border: none !important;
    background: none !important;
    padding: 0 !important; }
@keyframes blinking {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*//////////////////////  横型ランキング  /////////////////////////*/
.comparison-table-title {
  margin-bottom: 0rem; }
  @media only screen and (max-width: 767px) {
    .comparison-table-title {
      margin: 1rem 1rem 0rem; } }
  .comparison-table-title img {
    width: 85%;
    margin: auto; }
    @media only screen and (max-width: 767px) {
      .comparison-table-title img {
        width: 100%; } }

.comparison-table {
  margin: 0rem auto 3rem;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .comparison-table {
      margin: 0rem auto 2rem; } }
  .comparison-table h2 {
    background: url(../img/icon/list-02.png) no-repeat left 15px center #31367D;
    background-size: 26px;
    padding: 1.5rem 5rem;
    color: #fff;
    margin-bottom: 0; }
  .comparison-table .table-scroll {
    overflow-x: scroll !important;
    margin-bottom: 1.5rem; }
    .comparison-table .table-scroll p {
      margin-bottom: 0rem;
      line-height: 1.6; }
      .comparison-table .table-scroll p.comp {
        font-size: 1.2rem;
        line-height: 1.2;
        color: #31367D; }
        @media only screen and (max-width: 767px) {
          .comparison-table .table-scroll p.comp {
            font-size: 1.1rem; } }
    @media only screen and (max-width: 767px) {
      .comparison-table .table-scroll {
        margin: 0 0 1rem 0; } }
    .comparison-table .table-scroll table {
      max-width: 1000px;
      table-layout: fixed;
      width: 100%;
      border-collapse: separate;
      border-spacing: 0px;
      border-top: 1px solid #DDD;
      border-left: 1px solid #DDD; }
    .comparison-table .table-scroll th {
      padding: 0;
      font-size: 1.2rem;
      padding: 0.8rem 0.2rem;
      text-align: center;
      background: #EFEFEF;
      line-height: 1.2; }
      @media only screen and (max-width: 767px) {
        .comparison-table .table-scroll th {
          padding: 0.5rem .2rem; } }
      .comparison-table .table-scroll th.comp {
        position: sticky;
        left: 0; }
    .comparison-table .table-scroll td {
      text-align: center;
      background: #fff;
      font-size: 1.3rem;
      font-weight: 700;
      padding: 5px;
      line-height: 1.2; }
      @media only screen and (max-width: 767px) {
        .comparison-table .table-scroll td {
          font-size: 1.1rem; } }
      .comparison-table .table-scroll td span.marker {
        font-size: 1.3rem; }
        @media only screen and (max-width: 767px) {
          .comparison-table .table-scroll td span.marker {
            font-size: 1.1rem; } }
      .comparison-table .table-scroll td .cv-btn {
        width: 100%; }
        .comparison-table .table-scroll td .cv-btn a {
          font-size: 1.3rem;
          padding: 1rem 0.5rem;
          border-radius: 5px;
          height: 58px;
          line-height: 1.1; }
          @media only screen and (max-width: 767px) {
            .comparison-table .table-scroll td .cv-btn a {
              padding: 0.7rem 0rem;
              height: 54px;
              line-height: 1.2; } }
      .comparison-table .table-scroll td.point {
        text-align: left;
        font-size: 1.2rem;
        line-height: 1.2; }
      .comparison-table .table-scroll td .banner {
        margin-bottom: .5rem; }
    .comparison-table .table-scroll td:first-child {
      position: sticky;
      left: -1px;
      z-index: 10; }
    .comparison-table .table-scroll .sort {
      background: #fffbe6 url(../img/icon/icon-asc.png) no-repeat right center;
      background-position: 94%;
      padding-right: .2rem; }

/* モビット用LP */
.hikaku-mobit h2 img {
  margin: auto; }

/*//////////////////////  PRボックス /////////////////////////*/
.pr-box {
  padding: 0 2rem 2rem;
  background: #fbfbd5;
  margin: 0 0 3rem; }
  @media only screen and (max-width: 767px) {
    .pr-box {
      padding: 0 1.5rem 1rem;
      margin: 0 0 1rem; } }
  .pr-box h2 {
    background: #1A58BD;
    color: #fff;
    padding: 2rem;
    font-size: 2.8rem;
    margin: 0rem -2rem 3rem;
    text-align: center;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .pr-box h2 {
        font-size: 2.1rem;
        padding: 1.5rem .5rem;
        line-height: 1.3;
        margin: 0rem -1.5rem 1.5rem; } }
  .pr-box .rankingBox-item {
    margin-bottom: 0rem !important; }
    .pr-box .rankingBox-item h3 {
      padding: 0rem !important; }
    @media only screen and (max-width: 767px) {
      .pr-box .rankingBox-item .flex {
        margin-bottom: 0rem !important; } }

/* rank02 おすすめ枠 */
.osusume-title {
  line-height: 1.1;
  padding: 1.5rem;
  font-size: 2.8rem;
  letter-spacing: .1rem;
  text-align: center;
  border: none;
  color: #fff;
  margin-bottom: 0rem;
  position: relative;
  background: #1A58BD; }
  @media only screen and (max-width: 767px) {
    .osusume-title {
      font-size: 2rem;
      padding: 1rem; } }

.pr-box02 {
  padding: 3rem 2rem 2rem; }
  @media only screen and (max-width: 767px) {
    .pr-box02 {
      padding: 2rem 1rem; } }
  .pr-box02 .kv {
    margin: 0rem auto .5rem;
    padding: 5px; }
    .pr-box02 .kv .kv_countdown .mini_count_now_txt {
      padding: 0.6rem; }
      .pr-box02 .kv .kv_countdown .mini_count_now_txt .hou, .pr-box02 .kv .kv_countdown .mini_count_now_txt .min, .pr-box02 .kv .kv_countdown .mini_count_now_txt .sec {
        font-size: 2.4rem; }
  .pr-box02 .rankingBox-item {
    padding: 0rem 2rem 2rem; }

/* コンテンツ内 ミニPR */
.pr-box-mini {
  background: #fffceb;
  padding: 1rem 1rem 1.5rem 1rem;
  margin: 2rem auto 4rem;
  max-width: 650px;
  border: solid 5px #FBE46B; }
  @media only screen and (max-width: 767px) {
    .pr-box-mini {
      margin: 0 0.8rem 1rem; } }
  @media only screen and (max-width: 767px) {
    .pr-box-mini .catch {
      font-size: 1.6rem;
      font-weight: bold;
      text-align: center;
      line-height: 1.5; } }
  .pr-box-mini .flex {
    display: flex;
    justify-content: space-around;
    align-items: center; }
    .pr-box-mini .flex a.flex-bannerbox {
      width: 27%;
      margin-right: 0.5rem; }
      @media only screen and (max-width: 767px) {
        .pr-box-mini .flex a.flex-bannerbox {
          width: 22%; } }
      .pr-box-mini .flex a.flex-bannerbox img {
        border: 3px solid #fff;
        width: 100%; }
        @media only screen and (max-width: 767px) {
          .pr-box-mini .flex a.flex-bannerbox img {
            border: 2px solid #fff; } }
    .pr-box-mini .flex .flex-rightbox {
      width: 65%;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .pr-box-mini .flex .flex-rightbox {
          width: 74%; } }
      .pr-box-mini .flex .flex-rightbox .catch {
        margin-bottom: 1rem;
        line-height: 1.5; }
        .pr-box-mini .flex .flex-rightbox .catch .main-txt {
          font-size: 2rem;
          font-weight: bold; }
        .pr-box-mini .flex .flex-rightbox .catch span {
          font-size: 1.5rem; }
      @media only screen and (max-width: 767px) {
        .pr-box-mini .flex .flex-rightbox .catch-mini {
          font-size: 1.3rem;
          line-height: 1.6;
          margin-bottom: 0.5rem; } }
  .pr-box-mini .cv-btn {
    margin: auto; }
    .pr-box-mini .cv-btn a {
      font-size: 1.8rem; }
      @media only screen and (max-width: 767px) {
        .pr-box-mini .cv-btn a {
          font-size: 1.6rem; } }
    .pr-box-mini .cv-btn img {
      position: absolute;
      right: 2.3rem;
      top: 1.8rem;
      width: 13px; }
      @media only screen and (max-width: 767px) {
        .pr-box-mini .cv-btn img {
          right: 2rem;
          top: 1.6rem; } }

/*//////////////////////  詳細ページ  /////////////////////////*/
.main-comp {
  background: #fff;
  padding: 2rem 3rem; }
  @media only screen and (max-width: 767px) {
    .main-comp {
      padding: 2rem 1rem; } }
  .main-comp .expanded {
    justify-content: space-between; }
    .main-comp .expanded .thumb {
      width: 25%; }
      @media only screen and (max-width: 767px) {
        .main-comp .expanded .thumb {
          width: 24%; } }
    .main-comp .expanded .right {
      width: 73%; }
      @media only screen and (max-width: 767px) {
        .main-comp .expanded .right {
          width: 73%; } }
      .main-comp .expanded .right table th {
        width: 24%; }
        @media only screen and (max-width: 767px) {
          .main-comp .expanded .right table th {
            width: 32%;
            padding: 0.5rem; } }
      @media only screen and (max-width: 767px) {
        .main-comp .expanded .right table td {
          padding: 0.5rem; } }
      .main-comp .expanded .right .label ul li {
        width: 155px; }
  .main-comp .checkpoint {
    line-height: 1.6em;
    margin: 15px 0;
    background: #fffaf7;
    padding: 1.5rem; }
    @media only screen and (max-width: 767px) {
      .main-comp .checkpoint {
        padding-bottom: 1rem; } }
    .main-comp .checkpoint .title {
      font-size: 1.7rem;
      font-weight: bold;
      margin-bottom: 1.5rem; }
      @media only screen and (max-width: 767px) {
        .main-comp .checkpoint .title {
          font-size: 1.5rem;
          margin-bottom: 1rem; } }
    .main-comp .checkpoint ul li {
      margin-bottom: 1rem;
      position: relative;
      padding-left: 3rem;
      line-height: 1.4; }
      @media only screen and (max-width: 767px) {
        .main-comp .checkpoint ul li {
          font-size: 1.3rem;
          padding-left: 2.5rem; } }
      .main-comp .checkpoint ul li:before {
        position: absolute;
        left: 0%;
        top: -4px;
        content: '\f00c ';
        font-family: 'FontAwesome';
        font-size: 22px;
        line-height: 1;
        color: #b90101; }
        @media only screen and (max-width: 767px) {
          .main-comp .checkpoint ul li:before {
            top: -2px;
            font-size: 20px; } }
  .main-comp .comp-txt {
    margin: 3rem auto; }
    @media only screen and (max-width: 767px) {
      .main-comp .comp-txt {
        margin: 2rem auto; } }
    .main-comp .comp-txt h2 {
      background: #31367D;
      padding: 1.5rem;
      color: #fff;
      margin-bottom: 2rem; }
      @media only screen and (max-width: 767px) {
        .main-comp .comp-txt h2 {
          line-height: 1.3;
          padding: 1rem;
          font-size: 1.6rem; } }
    .main-comp .comp-txt .box {
      margin-bottom: 2rem; }
      .main-comp .comp-txt .box h3 {
        border-left: 5px solid #31367D;
        color: #31367D;
        font-size: 1.8rem;
        font-weight: 700;
        padding: 0.5rem 1rem;
        margin-bottom: 0.5rem;
        border-bottom: none; }
        @media only screen and (max-width: 767px) {
          .main-comp .comp-txt .box h3 {
            line-height: 1.2;
            font-size: 1.6rem; } }
      .main-comp .comp-txt .box p {
        font-size: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .main-comp .comp-txt .box p {
            font-size: 1.3rem; } }
  .main-comp .spec {
    margin: 4rem auto; }
    @media only screen and (max-width: 767px) {
      .main-comp .spec {
        margin: 3rem auto; } }
    @media only screen and (max-width: 767px) {
      .main-comp .spec h2 {
        font-size: 1.4rem; } }
    .main-comp .spec table th, .main-comp .spec table td {
      font-size: 1.4rem; }
      @media only screen and (max-width: 767px) {
        .main-comp .spec table th, .main-comp .spec table td {
          font-size: 1.1rem; } }
  .main-comp .convenience {
    display: flex;
    align-items: center; }
    .main-comp .convenience li {
      margin-right: 1rem; }
  .main-comp .convenience-txt {
    font-size: 1.1rem; }
  .main-comp .cv-btn {
    margin: 2rem auto; }
    .main-comp .cv-btn a {
      padding: 2rem; }

/*//////////////////////  検索ボックス /////////////////////////*/
h3.search-title {
  background: url(../img/icon/search.png) no-repeat left 15px center #31367D;
  background-size: 20px;
  padding: 1.5rem 5rem;
  color: #fff;
  margin-bottom: 0;
  font-size: 2rem; }
  @media only screen and (max-width: 767px) {
    h3.search-title {
      text-align: left; } }

.main-search-table {
  margin-bottom: 2rem; }
  .main-search-table .main-search_in {
    padding: 2rem;
    overflow: hidden;
    background: #fff;
    border-radius: 5px; }
    @media only screen and (max-width: 767px) {
      .main-search-table .main-search_in {
        padding: 1rem; } }
  .main-search-table .main-search_button {
    margin-bottom: 1rem; }
    .main-search-table .main-search_button input {
      display: none; }
    .main-search-table .main-search_button ul {
      margin: 0 0 0 0;
      overflow: hidden;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .main-search-table .main-search_button ul li {
        width: 32.5%;
        float: left;
        margin-bottom: 5px;
        border: 1px solid #31367D;
        border-radius: 5px;
        background: url(../img/common/btn-search-checkoff.png) 15px no-repeat #fff;
        background-size: 15px;
        cursor: pointer;
        display: flex;
        flex-grow: 1;
        margin-right: .5rem;
        height: 50px; }
        @media only screen and (max-width: 767px) {
          .main-search-table .main-search_button ul li {
            width: 48%;
            height: 45px;
            background-size: 10px auto;
            background-position-x: 8px; } }
        .main-search-table .main-search_button ul li span {
          display: block;
          height: 100%;
          font-size: 1.5rem;
          font-weight: bold;
          line-height: 1em;
          color: #31367D;
          padding-left: 4rem;
          padding-top: 1.5rem; }
          @media only screen and (max-width: 767px) {
            .main-search-table .main-search_button ul li span {
              padding-left: 3rem;
              font-size: 1.2rem; } }
        .main-search-table .main-search_button ul li.checked {
          background: url(../img/common/btn-search-checkon.png) 15px no-repeat #fff;
          background-size: 15px;
          border: 1px solid #31367D; }
          .main-search-table .main-search_button ul li.checked span {
            color: #31367D;
            display: block;
            height: 100%;
            font-size: 1.5rem;
            font-weight: bold;
            padding-top: 1.5rem;
            padding-left: 4rem;
            line-height: 1em; }
            @media only screen and (max-width: 767px) {
              .main-search-table .main-search_button ul li.checked span {
                padding-left: 3rem;
                font-size: 1.2rem;
                padding-top: 15px; } }
        .main-search-table .main-search_button ul li label {
          width: 100%;
          height: 55px;
          display: block; }
        .main-search-table .main-search_button ul li:nth-of-type(3n) {
          margin-right: 0; }
          @media only screen and (max-width: 767px) {
            .main-search-table .main-search_button ul li:nth-of-type(3n) {
              margin-right: .5rem; } }
        .main-search-table .main-search_button ul li.checked {
          background: url(../img/common/btn-search-checkon.png) 15px no-repeat #fff;
          background-size: 15px;
          border: 1px solid #31367D; }
          .main-search-table .main-search_button ul li.checked span {
            color: #02126A; }
          @media only screen and (max-width: 767px) {
            .main-search-table .main-search_button ul li.checked {
              width: 48%;
              background-position-x: 8px; } }
  .main-search-table .submit-area {
    width: 100%;
    clear: both;
    position: relative; }
    .main-search-table .submit-area .send {
      position: relative; }
      .main-search-table .submit-area .send::after {
        content: '';
        width: 10px;
        height: 10px;
        border: 0;
        border-top: solid 3px #fff;
        border-right: solid 3px #fff;
        position: absolute;
        top: 38%;
        right: 13rem;
        transform: rotate(45deg); }
        @media only screen and (max-width: 767px) {
          .main-search-table .submit-area .send::after {
            right: 2rem; } }
  .main-search-table .send #submit-btn {
    background: #FF8610;
    border: none;
    border-radius: 8px;
    color: #fff;
    display: block;
    font-size: 2rem;
    font-weight: 700;
    margin: 2rem auto 0;
    padding: 2rem 1rem;
    text-align: center;
    text-decoration: none;
    width: 60%;
    cursor: pointer;
    text-shadow: none;
    border-bottom: solid 5px #82460b; }
    @media only screen and (max-width: 767px) {
      .main-search-table .send #submit-btn {
        height: 60px;
        font-size: 1.8rem;
        text-indent: inherit;
        width: 100%;
        display: block;
        padding: 0;
        margin: 0 auto;
        text-align: center; } }
  .main-search-table .result-box {
    position: absolute;
    bottom: 0;
    right: 10px; }
    @media only screen and (max-width: 767px) {
      .main-search-table .result-box {
        background: #FFF;
        border-radius: 50px;
        bottom: 20px;
        width: 54px;
        text-align: center;
        right: 30px; } }
    .main-search-table .result-box p {
      font-size: 2rem; }
      @media only screen and (max-width: 767px) {
        .main-search-table .result-box p {
          font-size: 1rem;
          padding: 0.2rem 0 !important; } }
    .main-search-table .result-box #result {
      font-size: 2.6rem;
      color: #f36956;
      font-weight: 700; }
      @media only screen and (max-width: 767px) {
        .main-search-table .result-box #result {
          font-size: 1.5rem; } }
  .main-search-table .search-sub-box {
    background: #FFF;
    border: 1px solid #DDD;
    padding: 1rem 1rem 0;
    overflow: hidden;
    margin-top: 3%; }
  .main-search-table .search-sub-txt {
    width: 45%;
    float: left;
    font-size: 1.2rem;
    font-weight: bold;
    color: #029962;
    line-height: 1.2em;
    clear: left; }
    .main-search-table .search-sub-txt span {
      font-size: 1.1rem;
      font-weight: normal;
      color: #333;
      margin-bottom: 1rem;
      display: inline-block; }
  .main-search-table .search-sub-select {
    width: 45%;
    float: right; }
    .main-search-table .search-sub-select select {
      width: 100%;
      padding: 0.6rem;
      border: 1px solid #ddd;
      font-size: 1.2rem; }
  .main-search-table table {
    width: 100%;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    color: #333; }
    .main-search-table table tr {
      border-bottom: 1px solid #DDD; }
    .main-search-table table th {
      width: 130px;
      background: #fbfbfb;
      color: #606363;
      font-size: 1.2rem;
      padding: 1rem;
      border-right: 1px solid #DDD;
      border-bottom: 1px solid #DDD;
      text-align: center;
      vertical-align: middle; }
    .main-search-table table td {
      overflow: hidden;
      padding: 1rem;
      border-bottom: 1px solid #DDD; }
      .main-search-table table td li {
        float: left;
        margin-right: 0;
        padding: 0;
        width: 33%;
        display: inline-block; }
        .main-search-table table td li label {
          font-weight: normal;
          font-size: 1.1rem;
          display: inline-table;
          width: 100%; }
          .main-search-table table td li label input {
            appearance: auto;
            margin-right: 0.3rem; }
  .main-search-table .accordion_btn {
    text-align: center; }
    .main-search-table .accordion_btn .open {
      color: #029962;
      font-size: 1.6rem; }
    .main-search-table .accordion_btn dt {
      display: inline-block;
      cursor: pointer;
      position: relative;
      font-size: 1.3rem;
      margin-top: 1rem; }
      .main-search-table .accordion_btn dt img {
        width: 20px;
        vertical-align: middle;
        display: inline; }
    .main-search-table .accordion_btn dd {
      padding: 8px;
      margin-bottom: 12px;
      display: none;
      background: #fff;
      font-size: 1.1rem; }
      .main-search-table .accordion_btn dd p {
        background: #eee;
        color: #2a2929; }
      .main-search-table .accordion_btn dd table {
        border: solid 1px #ccc;
        margin: 1rem 0; }
        .main-search-table .accordion_btn dd table th {
          padding: .3rem;
          font-size: 1.1rem;
          border: solid 1px #ccc; }
        .main-search-table .accordion_btn dd table td {
          padding: .3rem;
          font-size: 1.1rem;
          border: solid 1px #ccc; }
    .main-search-table .accordion_btn ul {
      margin: 0.5rem;
      text-align: left;
      padding-left: 1rem; }
    .main-search-table .accordion_btn li {
      width: 100%;
      float: left;
      font-size: 1.2rem;
      margin-bottom: 0.3rem; }
      .main-search-table .accordion_btn li label input {
        margin-right: 0.5rem; }

/*//////////////////////  検索結果  /////////////////////////*/
.search-result {
  margin-bottom: 3rem;
  /*スマホのみ適用*/ }
  .search-result h2 {
    display: flex;
    background: #31367D;
    color: #fff;
    padding: 1rem 2rem; }
  .search-result table th {
    background: #1A58BD;
    color: #fff; }
  .search-result table td .name {
    font-weight: bold;
    text-align: left;
    margin-bottom: 0.3rem; }
  .search-result table td .comp {
    display: flex;
    justify-content: space-between; }
    .search-result table td .comp .thumb {
      width: 33%; }
    .search-result table td .comp .text {
      width: 65%; }
      .search-result table td .comp .text .catch-arrow {
        border-radius: 5px;
        background: #fff8e7;
        padding: 0.5rem;
        text-align: left;
        font-size: 1.3rem; }
  .search-result table td span.caution {
    font-size: 1rem; }
  .search-result table th, .search-result table td {
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.2; }
    .search-result table th p, .search-result table td p {
      font-size: 1.4rem;
      line-height: 1.3; }
  .search-result table .cv-btn {
    width: 100%; }
    .search-result table .cv-btn a {
      border-radius: 15px;
      padding: 1rem;
      font-size: 1.4rem; }
  @media only screen and (max-width: 767px) {
    .search-result #ranking .rankingBox-item {
      padding: 0.5rem 1rem; }
      .search-result #ranking .rankingBox-item h3 {
        display: block;
        margin-bottom: 0; }
      .search-result #ranking .rankingBox-item .item-in .flex {
        display: flex;
        margin: 2rem auto; }
        .search-result #ranking .rankingBox-item .item-in .flex .banner {
          width: 27%; }
        .search-result #ranking .rankingBox-item .item-in .flex .right {
          width: 70%; }
          .search-result #ranking .rankingBox-item .item-in .flex .right .detail {
            width: 100%; }
          .search-result #ranking .rankingBox-item .item-in .flex .right table th, .search-result #ranking .rankingBox-item .item-in .flex .right table td {
            padding: 0.5rem;
            font-size: 1.2rem; }
          .search-result #ranking .rankingBox-item .item-in .flex .right table th {
            background: #f3f3f3;
            color: #333; }
      .search-result #ranking .rankingBox-item .point3 {
        border: 1px #000f49 solid;
        border-radius: 10px;
        margin: 0rem auto 1rem; }
        .search-result #ranking .rankingBox-item .point3 dt {
          padding: .5rem;
          font-size: 1.4rem;
          color: #fff;
          background: #000f49;
          font-weight: bold;
          text-align: center; }
        .search-result #ranking .rankingBox-item .point3 dd {
          margin-bottom: 1rem; }
          .search-result #ranking .rankingBox-item .point3 dd ul {
            padding: 1rem 1rem 0.5rem; }
            .search-result #ranking .rankingBox-item .point3 dd ul li {
              padding-left: 2.5rem;
              margin-bottom: 0.5rem;
              font-size: 1.4rem;
              font-weight: bold;
              line-height: 1.6;
              position: relative; }
              .search-result #ranking .rankingBox-item .point3 dd ul li::before {
                position: absolute;
                left: 0%;
                top: 0px;
                content: '\f00c ';
                font-family: 'FontAwesome';
                line-height: 1;
                color: #b90101;
                font-size: 17px; } }

/*//////////////////////  記事、LP内のテキスト系など  /////////////////////////*/
/* 記事TOP */
.column-area {
  margin: 3rem auto; }
  @media only screen and (max-width: 767px) {
    .column-area {
      margin: auto; } }
  .column-area h2.title {
    background: #31367D;
    background-size: 20px;
    padding: 1.5rem;
    color: #fff; }
  .column-area .column-cat-wrapper {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .column-area .column-cat-wrapper {
        display: block; } }
    .column-area .column-cat-wrapper .column-cat-term {
      background: #fff;
      padding: 2rem;
      border-radius: 5px;
      width: 49%; }
      @media only screen and (max-width: 767px) {
        .column-area .column-cat-wrapper .column-cat-term {
          width: 100%;
          margin-bottom: 2rem;
          padding: 1.5rem;
          border-radius: 10px;
          background: #fff; } }
      .column-area .column-cat-wrapper .column-cat-term h2 {
        border-left: solid #31367D 7px;
        padding: 0.8rem; }
      .column-area .column-cat-wrapper .column-cat-term h3 {
        font-weight: normal;
        font-size: 1.5rem;
        line-height: 1.4;
        position: relative;
        border-top: 1px solid #eee;
        padding: 1rem 1rem 0rem 2.5rem; }
        @media only screen and (max-width: 767px) {
          .column-area .column-cat-wrapper .column-cat-term h3 {
            font-size: 1.4rem;
            line-height: 1.3; } }
        .column-area .column-cat-wrapper .column-cat-term h3::before {
          position: absolute;
          left: 0%;
          top: 11px;
          content: '\f0a6 ';
          font-family: 'FontAwesome';
          font-size: 18px;
          line-height: 1;
          color: #FF8610; }
        .column-area .column-cat-wrapper .column-cat-term h3 a {
          text-decoration: none; }
          .column-area .column-cat-wrapper .column-cat-term h3 a:hover {
            opacity: 0.7; }
      .column-area .column-cat-wrapper .column-cat-term .archive-link {
        text-align: center;
        font-size: 1.5rem;
        margin-top: 2rem; }
        .column-area .column-cat-wrapper .column-cat-term .archive-link a {
          font-weight: bold;
          position: relative; }
          .column-area .column-cat-wrapper .column-cat-term .archive-link a::after {
            position: absolute;
            right: -28%;
            top: 3px;
            content: '\f054 ';
            font-family: 'FontAwesome';
            font-size: 14px;
            line-height: 1; }

/* 記事一覧 */
.archive-column h2 {
  background: #31367D;
  color: #fff;
  padding: 1.5rem;
  margin-bottom: 2rem; }
.archive-column .block-archive-column {
  background: #fff;
  padding: 2rem;
  margin-bottom: 2rem; }
  @media only screen and (max-width: 767px) {
    .archive-column .block-archive-column {
      margin-bottom: 1rem;
      padding: 1rem; } }
  .archive-column .block-archive-column a {
    text-decoration: none; }
    .archive-column .block-archive-column a .archive-column-box dl {
      display: flex;
      justify-content: space-between; }
      .archive-column .block-archive-column a .archive-column-box dl .thumbnail {
        width: 23%; }
        .archive-column .block-archive-column a .archive-column-box dl .thumbnail img {
          width: 100%; }
      .archive-column .block-archive-column a .archive-column-box dl .right {
        width: 74%; }
        .archive-column .block-archive-column a .archive-column-box dl .right dt {
          color: #31367D;
          font-size: 1.6rem;
          font-weight: bold;
          text-decoration: underline;
          margin-bottom: 0.5rem; }
          @media only screen and (max-width: 767px) {
            .archive-column .block-archive-column a .archive-column-box dl .right dt {
              font-size: 1.4rem; } }
        .archive-column .block-archive-column a .archive-column-box dl .right dd p {
          font-size: 1.5rem;
          line-height: 1.4; }
          @media only screen and (max-width: 767px) {
            .archive-column .block-archive-column a .archive-column-box dl .right dd p {
              font-size: 1.2rem; } }

/* 記事ページ */
.single-column {
  border-radius: 10px;
  padding: 3rem 3rem 1rem;
  margin-bottom: 3rem;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    .single-column {
      padding: 2rem 1rem; } }
  .single-column .single-column-in h1 {
    font-size: 2.5rem;
    line-height: 1.4; }
    @media only screen and (max-width: 767px) {
      .single-column .single-column-in h1 {
        font-size: 2rem;
        line-height: 1.2;
        margin-bottom: 0.5rem; } }
  .single-column .single-column-in h2 {
    background: #1d4996;
    padding: 1.5rem;
    color: #fff;
    margin-bottom: 2rem;
    border-radius: 5px; }
    @media only screen and (max-width: 767px) {
      .single-column .single-column-in h2 {
        padding: 1rem;
        font-size: 1.8rem;
        line-height: 1.2; } }
  .single-column .single-column-in h3 {
    font-size: 1.6rem;
    margin-bottom: 2rem;
    background: #f3f3f3;
    padding: 1.5rem;
    border-radius: 5px;
    border-left: solid 6px #ccc; }
  .single-column .single-column-in h4 {
    font-size: 1.7rem;
    margin-bottom: 1rem;
    border-left: solid 6px #1d4996;
    padding: .5rem 1rem; }
    @media only screen and (max-width: 767px) {
      .single-column .single-column-in h4 {
        line-height: 1.2; } }
  .single-column .single-column-in p {
    margin-bottom: 3rem; }
    @media only screen and (max-width: 767px) {
      .single-column .single-column-in p {
        margin-bottom: 2rem;
        font-size: 1.4rem; } }
    .single-column .single-column-in p img {
      margin: auto; }
  .single-column .single-column-in ul {
    margin: 2rem 1rem; }
    .single-column .single-column-in ul li {
      margin-bottom: 1.3rem;
      position: relative;
      padding-left: 2.5rem; }
      @media only screen and (max-width: 767px) {
        .single-column .single-column-in ul li {
          line-height: 1.4; } }
      .single-column .single-column-in ul li::before {
        position: absolute;
        left: 0%;
        top: -2px;
        content: '\f00c ';
        font-family: 'FontAwesome';
        font-size: 20px;
        line-height: 1;
        color: #FF8610; }
  .single-column .single-column-in dl.check, .single-column .single-column-in dl.caution {
    position: relative;
    background: #fffeee;
    border: 2px solid #fff9a3;
    box-sizing: border-box;
    margin: 3rem auto;
    width: 80%; }
    @media only screen and (max-width: 767px) {
      .single-column .single-column-in dl.check, .single-column .single-column-in dl.caution {
        width: 85%; } }
    .single-column .single-column-in dl.check dt, .single-column .single-column-in dl.caution dt {
      position: absolute;
      top: -10px;
      background: #fff9a3;
      padding: 5px 8px;
      left: 40%;
      font-weight: bold; }
      @media only screen and (max-width: 767px) {
        .single-column .single-column-in dl.check dt, .single-column .single-column-in dl.caution dt {
          left: 35%; } }
    .single-column .single-column-in dl.check dd, .single-column .single-column-in dl.caution dd {
      padding: 3.5rem 2rem 1rem; }
      @media only screen and (max-width: 767px) {
        .single-column .single-column-in dl.check dd, .single-column .single-column-in dl.caution dd {
          padding: 3.5rem 1rem 1rem;
          font-size: 1.2rem; } }

/* ページネーション */
.pagination {
  text-align: center;
  padding: 1rem; }
  @media only screen and (max-width: 767px) {
    .pagination {
      padding: 2rem 0rem 0rem; } }
  .pagination .pager, .pagination .next, .pagination .prev {
    background: #fff;
    padding: 1rem;
    margin: 0.5rem;
    font-size: 1.4rem; }

/* 目次 */
#toc_container {
  margin-bottom: 5rem !important;
  margin: 5rem auto;
  padding: 2rem 2rem 1rem !important; }
  @media only screen and (max-width: 767px) {
    #toc_container {
      margin-bottom: 3rem !important;
      margin: 3rem auto;
      padding: 1rem 1rem 0rem !important; } }
  #toc_container ul li {
    margin-bottom: 2rem; }
    @media only screen and (max-width: 767px) {
      #toc_container ul li {
        margin-bottom: 1rem; } }
    #toc_container ul li::before {
      display: none; }
    #toc_container ul li a {
      text-decoration: underline; }

/* LP装飾系  */
h2.best3 {
  background: url(../img/lp/top3-title.png) 50% no-repeat #31367D;
  background-size: 65%;
  padding: 2rem 1.5rem;
  margin-bottom: 2rem;
  color: #fff;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    h2.best3 {
      background: url(../img/lp/top3-title-sp.png) 50% no-repeat #31367D;
      background-size: contain; } }
  h2.best3 .sub-ttl {
    font-size: 1.6rem;
    font-weight: bold;
    background: #ddd937;
    color: #31367D;
    padding: 1rem;
    text-align: center;
    width: 15%;
    margin: 0 auto .5rem;
    display: grid; }
    @media only screen and (max-width: 767px) {
      h2.best3 .sub-ttl {
        width: 40%;
        padding: .5rem;
        margin-bottom: 1rem; } }
  h2.best3 .ttl {
    font-size: 3rem;
    line-height: 1.6; }
    @media only screen and (max-width: 767px) {
      h2.best3 .ttl {
        font-size: 2.6rem;
        line-height: 1.4; } }

/* LP内コンテンツ */
.content {
  margin-bottom: 4rem; }
  .content h2 {
    position: relative;
    line-height: 1;
    letter-spacing: .1rem;
    padding: 1.8rem;
    font-size: 2.6rem;
    text-align: center;
    margin: 1rem auto 0rem;
    background: #31367D;
    color: #fff;
    border: none;
    margin-bottom: 2rem; }
    @media only screen and (max-width: 767px) {
      .content h2 {
        font-size: 1.8rem;
        margin: 0rem auto 1rem;
        line-height: 1;
        padding: 1rem 0.5rem; } }
    .content h2 span {
      display: block;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .content h2 span {
          font-size: 1.6rem;
          margin-bottom: 0.5rem; } }
      .content h2 span.yellow {
        font-size: 4rem;
        padding: 0rem 0.3rem;
        color: #fff600;
        display: inline-block; }
        @media only screen and (max-width: 767px) {
          .content h2 span.yellow {
            font-size: 3rem; } }
    .content h2:before, .content h2:after {
      content: '';
      position: absolute;
      top: 30%;
      display: inline-block;
      width: 30px;
      height: 3px;
      background-color: #fff600; }
      @media only screen and (max-width: 767px) {
        .content h2:before, .content h2:after {
          top: 29%;
          width: 25px;
          height: 2px; } }
    .content h2:before {
      left: 32%;
      -webkit-transform: rotate(-118deg);
      transform: rotate(-118deg); }
      @media only screen and (max-width: 767px) {
        .content h2:before {
          left: 22%; } }
    .content h2:after {
      left: 65%;
      -webkit-transform: rotate(-60deg);
      transform: rotate(-60deg); }
      @media only screen and (max-width: 767px) {
        .content h2:after {
          left: 71%; } }
  .content .content-box {
    margin-bottom: 2rem; }
    @media only screen and (max-width: 767px) {
      .content .content-box {
        width: 94%;
        margin: 0rem auto 2rem; } }
    .content .content-box dl {
      border: solid 1px #585858;
      background: #fff;
      border-radius: 10px; }
      @media only screen and (max-width: 767px) {
        .content .content-box dl {
          margin-bottom: 1rem; } }
      .content .content-box dl dt {
        background: #585858;
        color: #fff;
        padding: 0.5rem;
        text-align: center;
        font-size: 2rem;
        font-weight: bold;
        border-radius: 5px 5px 0px 0px;
        line-height: 1.3; }
        @media only screen and (max-width: 767px) {
          .content .content-box dl dt {
            font-size: 1.6rem; } }
        .content .content-box dl dt span {
          display: block;
          font-size: 1.6rem;
          color: yellow; }
      .content .content-box dl dd {
        padding: 2rem;
        line-height: 1.9;
        font-size: 1.4rem; }
        @media only screen and (max-width: 767px) {
          .content .content-box dl dd {
            padding: 1.5rem;
            font-size: 1.2rem; } }
        .content .content-box dl dd img {
          width: 50%;
          margin: 0rem auto 0.5rem; }
        .content .content-box dl dd table {
          border-top: solid 1px #7d7d7d;
          border-left: solid 1px #7d7d7d;
          text-align: center;
          width: 70%;
          margin: 0rem auto -2rem;
          color: #333; }
          @media only screen and (max-width: 767px) {
            .content .content-box dl dd table {
              width: 100%; } }
          .content .content-box dl dd table th, .content .content-box dl dd table td {
            border-bottom: solid 1px #7d7d7d;
            border-right: solid 1px #7d7d7d;
            padding: 0.8rem;
            line-height: 1.4;
            font-size: 1.4rem; }
          .content .content-box dl dd table th.ttl, .content .content-box dl dd table td.ttl {
            width: 25%; }
          .content .content-box dl dd table th.cardloan, .content .content-box dl dd table td.cardloan {
            background: #FCF2E0;
            font-size: 1.6rem; }
            @media only screen and (max-width: 767px) {
              .content .content-box dl dd table th.cardloan, .content .content-box dl dd table td.cardloan {
                font-size: 1.4rem; } }
          .content .content-box dl dd table td.cardloan {
            color: #ed1120;
            font-weight: bold;
            font-size: 1.8rem; }
          .content .content-box dl dd table th.credit, .content .content-box dl dd table td.credit {
            background: #efefef; }
          .content .content-box dl dd table td.credit {
            font-weight: bold; }
        .content .content-box dl dd p {
          text-align: center; }
        @media only screen and (max-width: 767px) {
          .content .content-box dl dd img {
            width: 100%; } }
  .content .accordion_contents {
    margin-bottom: 1rem; }
    .content .accordion_contents dl table {
      margin-bottom: 1rem; }
    .content .accordion_contents dl .accordion-title {
      background: url(../img/icon/arrow-under.png) right 30px center no-repeat #585858;
      background-size: 20px; }
    .content .accordion_contents dl .accordion-title.open {
      background: #585858; }
    .content .accordion_contents dl dd {
      display: none; }

/* モビット用LPのコンテンツ */
.content-mobit {
  margin-bottom: 2rem;
  /* PRミニの調整 */ }
  .content-mobit h2 {
    background: #01A85F;
    padding: 2.5rem; }
    @media only screen and (max-width: 767px) {
      .content-mobit h2 {
        font-size: 1.8rem;
        padding: 1.5rem 1rem; } }
    .content-mobit h2:before, .content-mobit h2:after {
      display: none; }
  .content-mobit ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; }
    @media only screen and (max-width: 767px) {
      .content-mobit ul {
        margin: 2rem auto; } }
    .content-mobit ul a {
      border-radius: 18px;
      display: block;
      font-weight: 700;
      text-align: center;
      text-decoration: none;
      background: #ccc;
      padding: 1.5rem;
      width: 48%;
      margin-bottom: 1.5rem;
      position: relative;
      border: solid 1px #555;
      border-bottom: 5px solid #555; }
      @media only screen and (max-width: 767px) {
        .content-mobit ul a {
          padding: 1rem;
          margin: auto;
          margin-bottom: 1.5rem;
          border-radius: 10px; } }
      .content-mobit ul a::after {
        content: '';
        width: 10px;
        height: 10px;
        border: 0;
        border-top: solid 3px #333;
        border-right: solid 3px #333;
        position: absolute;
        top: 40%;
        right: 3rem;
        transform: rotate(45deg); }
        @media only screen and (max-width: 767px) {
          .content-mobit ul a::after {
            width: 6px;
            height: 6px;
            border-top: solid 2px #333;
            border-right: solid 2px #333;
            right: .7rem; } }
      .content-mobit ul a li {
        font-size: 1.8rem; }
        @media only screen and (max-width: 767px) {
          .content-mobit ul a li {
            font-size: 1.3rem; } }
        .content-mobit ul a li:hover {
          color: #333 !important;
          opacity: 0.8; }
  .content-mobit .content-box {
    margin: 2rem;
    background: #fff; }
    @media only screen and (max-width: 767px) {
      .content-mobit .content-box {
        margin: 0rem auto 2rem;
        padding-bottom: 1rem; } }
    .content-mobit .content-box dl {
      border: none;
      border-radius: 0px; }
      .content-mobit .content-box dl dt {
        border-top: solid 2px #004831;
        border-bottom: solid 2px #004831;
        background: #EDFBE1;
        padding: 1.5rem 0rem;
        text-align: center;
        font-size: 2rem;
        font-weight: bold;
        line-height: 1.3;
        border-radius: 0px;
        color: #333; }
        @media only screen and (max-width: 767px) {
          .content-mobit .content-box dl dt {
            padding: 1rem;
            font-size: 1.6rem; } }
        .content-mobit .content-box dl dt.point {
          position: relative;
          background: none;
          border: none;
          border-bottom: solid 5px #01A85F;
          padding: 0.5rem;
          width: 47%;
          margin: auto; }
          @media only screen and (max-width: 767px) {
            .content-mobit .content-box dl dt.point {
              width: 90%; } }
          .content-mobit .content-box dl dt.point:after {
            position: absolute;
            top: 3px;
            content: '\f2b5 ';
            font-family: 'FontAwesome';
            font-size: 24px;
            line-height: 1;
            right: 3%; }
        .content-mobit .content-box dl dt.point-adjustment {
          width: 53%;
          margin-top: 2rem; }
          .content-mobit .content-box dl dt.point-adjustment::after {
            top: 9px;
            right: 3%; }
          @media only screen and (max-width: 767px) {
            .content-mobit .content-box dl dt.point-adjustment {
              width: 90%;
              line-height: 1;
              margin-top: 2rem; }
              .content-mobit .content-box dl dt.point-adjustment::after {
                top: 13px;
                right: 6%; } }
        .content-mobit .content-box dl dt span {
          font-size: 2.6rem;
          color: #004831;
          display: inline-block; }
      .content-mobit .content-box dl dd {
        padding: 2rem;
        line-height: 1.7;
        font-size: 1.6rem; }
        @media only screen and (max-width: 767px) {
          .content-mobit .content-box dl dd {
            padding: 1.5rem 1.5rem 0rem 1.5rem;
            font-size: 1.3rem;
            line-height: 1.5; } }
        .content-mobit .content-box dl dd img.img01 {
          width: 55%; }
          @media only screen and (max-width: 767px) {
            .content-mobit .content-box dl dd img.img01 {
              width: 70%;
              margin: 1rem auto; } }
        .content-mobit .content-box dl dd .step3 {
          width: 64%;
          margin: 3rem auto; }
          @media only screen and (max-width: 767px) {
            .content-mobit .content-box dl dd .step3 {
              width: 100%;
              margin: 2rem auto;
              border: solid 2px #01A85F; } }
          .content-mobit .content-box dl dd .step3 p.title {
            font-size: 1.8rem;
            font-weight: bold;
            margin-bottom: 1rem;
            border: solid 2px #01A85F;
            padding: .5rem;
            border-radius: 15px; }
            @media only screen and (max-width: 767px) {
              .content-mobit .content-box dl dd .step3 p.title {
                line-height: 1.4;
                margin-bottom: 1rem;
                background: #ddd;
                border: none;
                border-bottom: solid 2px #01A85F;
                margin-bottom: 0;
                font-size: 1.6rem;
                border-radius: 0px; } }
          .content-mobit .content-box dl dd .step3 .step3-in {
            display: flex;
            align-items: center;
            justify-content: space-evenly; }
            @media only screen and (max-width: 767px) {
              .content-mobit .content-box dl dd .step3 .step3-in {
                padding: 1rem; } }
            .content-mobit .content-box dl dd .step3 .step3-in ul {
              display: block; }
              @media only screen and (max-width: 767px) {
                .content-mobit .content-box dl dd .step3 .step3-in ul {
                  width: 46%;
                  margin: auto; } }
              .content-mobit .content-box dl dd .step3 .step3-in ul li {
                font-weight: bold;
                font-size: 1.7rem; }
                @media only screen and (max-width: 767px) {
                  .content-mobit .content-box dl dd .step3 .step3-in ul li {
                    font-size: 1.5rem; } }
            .content-mobit .content-box dl dd .step3 .step3-in img.img08 {
              width: 29%; }
              @media only screen and (max-width: 767px) {
                .content-mobit .content-box dl dd .step3 .step3-in img.img08 {
                  width: 32%;
                  margin: auto; } }
        .content-mobit .content-box dl dd dl {
          font-size: 1.7rem; }
          .content-mobit .content-box dl dd dl dt {
            background: #ccc;
            border-radius: 15px;
            border: none;
            font-size: 1.8rem;
            margin-bottom: 2rem;
            position: relative; }
            @media only screen and (max-width: 767px) {
              .content-mobit .content-box dl dd dl dt {
                font-size: 1.4rem; } }
            .content-mobit .content-box dl dd dl dt:after {
              content: "";
              position: absolute;
              top: 2.2rem;
              right: 6rem;
              border: 10px solid transparent;
              border-top: 9px solid #555; }
              @media only screen and (max-width: 767px) {
                .content-mobit .content-box dl dd dl dt:after {
                  top: 1.8rem;
                  right: 2rem;
                  border: 8px solid transparent;
                  border-top: 8px solid #555; } }
          .content-mobit .content-box dl dd dl dd {
            margin-top: -1rem;
            display: none; }
            @media only screen and (max-width: 767px) {
              .content-mobit .content-box dl dd dl dd {
                margin-top: -2rem; } }
            .content-mobit .content-box dl dd dl dd img {
              width: 30%;
              margin: 1rem auto; }
              @media only screen and (max-width: 767px) {
                .content-mobit .content-box dl dd dl dd img {
                  width: 40%; } }
            .content-mobit .content-box dl dd dl dd p {
              font-size: 1.6rem;
              line-height: 1.7;
              text-align: left; }
              @media only screen and (max-width: 767px) {
                .content-mobit .content-box dl dd dl dd p {
                  font-size: 1.4rem; } }
    .content-mobit .content-box .caution {
      text-align: left;
      font-size: 1.2rem;
      line-height: 1.4; }
      @media only screen and (max-width: 767px) {
        .content-mobit .content-box .caution {
          margin-bottom: 1rem;
          font-size: 1rem;
          line-height: 1.6; } }
    .content-mobit .content-box .caution02 {
      border: dotted #fbe46c;
      font-size: 1.2rem;
      text-align: left;
      padding: 1rem; }
      @media only screen and (max-width: 767px) {
        .content-mobit .content-box .caution02 {
          line-height: 1.6;
          padding: .5rem;
          font-size: 1rem; } }
    .content-mobit .content-box .cta-catch {
      text-align: center;
      font-weight: bold;
      color: #DE4313; }
    .content-mobit .content-box .shiny-btn {
      margin: 0rem auto 1rem; }
    .content-mobit .content-box .linkbox {
      position: relative;
      background: #fffceb;
      padding: 2.5rem 2rem .5rem;
      border: solid 5px #FBE46B;
      width: 50%;
      margin: 1rem auto; }
      @media only screen and (max-width: 767px) {
        .content-mobit .content-box .linkbox {
          width: 100%;
          margin: 2rem auto 0rem;
          padding: 2.5rem 1rem .5rem; } }
      .content-mobit .content-box .linkbox .cta-catch-top {
        position: absolute;
        background: #FBE46B;
        top: -2rem;
        left: 0;
        right: 0;
        width: 75%;
        margin: auto;
        color: #333;
        text-align: center;
        font-weight: bold; }
        @media only screen and (max-width: 767px) {
          .content-mobit .content-box .linkbox .cta-catch-top {
            width: 83%; } }
      @media only screen and (max-width: 767px) {
        .content-mobit .content-box .linkbox .cta-catch {
          font-size: 1.2rem; } }
      .content-mobit .content-box .linkbox img {
        margin: 0rem auto 1rem; }
        @media only screen and (max-width: 767px) {
          .content-mobit .content-box .linkbox img {
            width: 40%; } }
      .content-mobit .content-box .linkbox .cv-btn {
        width: 100%; }
    .content-mobit .content-box img.img09 {
      width: 40%;
      margin: 0rem auto 0.5rem; }
      @media only screen and (max-width: 767px) {
        .content-mobit .content-box img.img09 {
          width: 50%; } }
    .content-mobit .content-box img.img10 {
      width: 75%; }
      @media only screen and (max-width: 767px) {
        .content-mobit .content-box img.img10 {
          width: 100%; } }
  @media only screen and (max-width: 767px) {
    .content-mobit .pr-box-mini {
      padding: 1rem 1rem 0.5rem 1rem; } }
  @media only screen and (max-width: 767px) {
    .content-mobit .pr-box-mini .cv-btn a {
      border-radius: 10px; } }

/* rank02 LP内にあるQA */
.qa-title {
  padding: 1.8rem;
  margin: 1rem auto 0rem;
  background: #31367D;
  margin-bottom: 2rem; }
  @media only screen and (max-width: 767px) {
    .qa-title {
      width: 100% !important;
      margin: 2rem auto !important; } }
  .qa-title img {
    margin: auto; }

.qa {
  display: none;
  background: #fff;
  padding: 2rem 3rem;
  margin-bottom: 4rem; }
  @media only screen and (max-width: 767px) {
    .qa {
      padding: 1rem; } }
  .qa dl {
    border: solid 2px #7b7b7b;
    border-radius: 15px;
    margin: 0rem auto 2rem; }
    @media only screen and (max-width: 767px) {
      .qa dl {
        width: 100%;
        border-radius: 10px; } }
    .qa dl:last-child {
      margin-bottom: 1rem; }
    .qa dl dt {
      background: #7b7b7b;
      color: #fff;
      font-weight: bold;
      font-size: 1.7rem;
      padding: 1rem 2rem;
      border-radius: 10px 10px 0px 0px; }
      @media only screen and (max-width: 767px) {
        .qa dl dt {
          font-size: 1.3rem;
          padding: 0.5rem 1rem;
          border-radius: 5px 5px 0px 0px; } }
      .qa dl dt span {
        font-size: 2rem;
        padding-right: 0.5rem; }
    .qa dl dd {
      padding: 1rem 2rem;
      font-size: 1.5rem; }
      @media only screen and (max-width: 767px) {
        .qa dl dd {
          font-size: 1.1rem;
          padding: 0.5rem 1rem;
          border-radius: 5px 5px 0px 0px; } }
      .qa dl dd span {
        font-size: 2rem;
        padding-right: 0.5rem; }
        @media only screen and (max-width: 767px) {
          .qa dl dd span {
            font-size: 1.6rem; } }

/*//////////////////////  固定ページ プラポリ、運営者、クッキー、用語集 /////////////////////////*/
.block-page {
  background: #fff;
  border-radius: 10px;
  padding: 3rem 2rem; }
  @media only screen and (max-width: 767px) {
    .block-page {
      background: #f3f3f3;
      border: none;
      padding: 2rem 1rem;
      margin-bottom: 1rem; } }
  .block-page h2 {
    padding: 1rem;
    background: #31367D;
    color: #fff;
    margin: 2rem auto 1rem; }
  .block-page h3 {
    border-left: solid 5px #31367D;
    padding: 0.5rem 1rem;
    margin: 2rem auto; }
    @media only screen and (max-width: 767px) {
      .block-page h3 {
        margin: 1rem auto;
        font-size: 1.6rem;
        padding: 0.3rem 1rem; } }
  .block-page ul {
    line-height: 1.6;
    padding: 0rem 1rem; }
    .block-page ul li {
      text-indent: -14.7px; }
  @media only screen and (max-width: 767px) {
    .block-page p {
      font-size: 1.4rem;
      line-height: 1.8; } }

/*//////////////////////  その他固定ページ、装飾、コンテンツなど、共通で使うものなど /////////////////////////*/
/* カウントダウン 既存デザイン*/
.kv {
  background: #fbe46c;
  padding: 8px;
  margin-top: -0.5rem;
  margin-bottom: 0rem; }
  @media only screen and (max-width: 767px) {
    .kv {
      padding: 5px; } }
  .kv .kv_countdown {
    border: 2px solid #000;
    font-size: 1.4rem;
    margin: 0 auto;
    width: 100%;
    background: #fff;
    box-sizing: border-box;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .kv .kv_countdown {
        margin: 0 auto 0rem; } }
    .kv .kv_countdown .kv_countdown_title {
      font-size: 1.6rem;
      font-weight: bold;
      text-align: center;
      width: 35%;
      line-height: 2; }
      @media only screen and (max-width: 767px) {
        .kv .kv_countdown .kv_countdown_title {
          font-size: 1.3rem;
          width: 70%; } }
    .kv .kv_countdown .kv_countdown_title_emphasis {
      color: #c11111;
      font-size: 1.8rem; }
      @media only screen and (max-width: 767px) {
        .kv .kv_countdown .kv_countdown_title_emphasis {
          font-size: 1.4rem; } }
    .kv .kv_countdown .mini_count_now_txt {
      width: 100%;
      font-size: 1.8rem;
      font-weight: bold;
      color: #fff;
      text-align: center;
      background: #000;
      margin-bottom: 0;
      padding: 0.5rem; }
      @media only screen and (max-width: 767px) {
        .kv .kv_countdown .mini_count_now_txt {
          font-size: 1.2rem; } }
      .kv .kv_countdown .mini_count_now_txt .hou, .kv .kv_countdown .mini_count_now_txt .min, .kv .kv_countdown .mini_count_now_txt .sec {
        font-size: 2.8rem;
        color: #fff600;
        padding: 0 .2rem; }
        @media only screen and (max-width: 767px) {
          .kv .kv_countdown .mini_count_now_txt .hou, .kv .kv_countdown .mini_count_now_txt .min, .kv .kv_countdown .mini_count_now_txt .sec {
            font-size: 2rem; } }

/* カウントダウン ランキングカード内 */
.kv-02 {
  margin-left: auto;
  width: 55%;
  padding: 5px;
  margin-top: 0rem;
  background: none; }
  .kv-02 .kv_countdown .kv_countdown_title {
    font-size: 1.6rem !important;
    width: 80%;
    color: #333 !important; }
  .kv-02 .kv_countdown .mini_count_now_txt {
    font-size: 1.6rem; }
  .kv-02 .kv_countdown .hou, .kv-02 .kv_countdown .min, .kv-02 .kv_countdown .sec {
    font-size: 2.6rem !important; }

/* ジャンル選択メニューボタン */
.catlink-box {
  margin-bottom: 3rem; }
  @media only screen and (max-width: 767px) {
    .catlink-box {
      margin: 1.5rem 0rem; } }
  .catlink-box h2 {
    background: #31367D;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 0rem;
    padding: 1.5rem 1.5rem 1.5rem 6rem;
    text-align: left;
    color: #fff;
    margin-bottom: 2rem;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .catlink-box h2 {
        margin-bottom: 1rem;
        padding: 1.5rem 1.5rem 1.5rem 5rem;
        font-size: 2rem; } }
    .catlink-box h2:before {
      position: absolute;
      top: 14px;
      content: '\f09d ';
      font-family: 'FontAwesome';
      font-size: 24px;
      line-height: 1;
      left: 3%; }
      @media only screen and (max-width: 767px) {
        .catlink-box h2:before {
          top: 17px;
          font-size: 20px;
          left: 5%; } }
  .catlink-box ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .catlink-box ul {
        width: 98%;
        margin: auto; } }
    .catlink-box ul a {
      width: 32%;
      text-decoration: none; }
      @media only screen and (max-width: 767px) {
        .catlink-box ul a {
          width: 49.5%; } }
      .catlink-box ul a:hover {
        opacity: 0.8; }
    .catlink-box ul li {
      margin: 0rem auto 1.5rem;
      cursor: pointer;
      line-height: 1.4;
      border: 2px solid #31367D;
      padding: 2rem 1rem 2rem 5.5rem;
      font-size: 1.4rem;
      border-radius: 8px;
      color: #fff;
      border-bottom: 7px solid #31367D;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .catlink-box ul li {
          line-height: 1.4;
          height: 58px;
          font-size: 1rem;
          padding: 1rem 0.3rem 1rem 2.5rem;
          margin: 0rem auto 1rem;
          border-bottom: 5px solid #31367D; } }
      .catlink-box ul li span {
        font-size: 1.7rem;
        font-weight: bold; }
        @media only screen and (max-width: 767px) {
          .catlink-box ul li span {
            font-size: 1.3rem; } }
      .catlink-box ul li.list-01 {
        background: url(../img/icon/list-01.png) 10px center no-repeat #1A58BD; }
      .catlink-box ul li.list-02 {
        background: url(../img/icon/list-02.png) 10px center no-repeat #1A58BD; }
      .catlink-box ul li.list-03 {
        background: url(../img/icon/list-03.png) 10px center no-repeat #1A58BD; }
      .catlink-box ul li.list-04 {
        background: url(../img/icon/list-04.png) 10px center no-repeat #1A58BD;
        padding: 1rem 1rem 1rem 5.5rem; }
        @media only screen and (max-width: 767px) {
          .catlink-box ul li.list-04 {
            padding: 0.5rem 0.3rem 0.5rem 2.5rem;
            line-height: 1.3; } }
      .catlink-box ul li.list-05 {
        background: url(../img/icon/list-05.png) 10px center no-repeat #1A58BD; }
      .catlink-box ul li.list-06 {
        background: url(../img/icon/list-06.png) 10px center no-repeat #1A58BD; }
      .catlink-box ul li.list-01, .catlink-box ul li.list-02, .catlink-box ul li.list-03, .catlink-box ul li.list-04, .catlink-box ul li.list-05, .catlink-box ul li.list-06 {
        background-size: 35px; }
        @media only screen and (max-width: 767px) {
          .catlink-box ul li.list-01, .catlink-box ul li.list-02, .catlink-box ul li.list-03, .catlink-box ul li.list-04, .catlink-box ul li.list-05, .catlink-box ul li.list-06 {
            background-size: 15px;
            background-position: 5px; } }
      .catlink-box ul li::after {
        content: '';
        width: 10px;
        height: 10px;
        margin-top: -5px;
        border-top: solid 3px #fff;
        /* 好みで色を変えてください */
        border-right: solid 3px #fff;
        /* 好みで色を変えてください */
        transform: rotate(45deg);
        position: absolute;
        top: 50%;
        right: 10px; }
        @media only screen and (max-width: 767px) {
          .catlink-box ul li::after {
            width: 7px;
            height: 7px;
            border-top: solid 2px #fff;
            border-right: solid 2px #fff;
            right: 5px; } }

/*  */
.sougourank-link {
  margin-bottom: 4rem;
  text-align: center;
  /*点滅*/ }
  @media only screen and (max-width: 767px) {
    .sougourank-link {
      margin-bottom: 2rem; } }
  .sougourank-link img {
    margin: auto; }
  .sougourank-link .cta-catch {
    font-weight: bold;
    color: #DE4313;
    font-size: 2rem;
    animation: blinking 0.5s ease-in-out infinite alternate; }
    @media only screen and (max-width: 767px) {
      .sougourank-link .cta-catch {
        font-size: 1.4rem; } }
@keyframes blinking {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* 注釈 */
.main-table_cautionbox {
  margin-bottom: 3rem;
  clear: both; }
  .main-table_cautionbox ul {
    padding: 5px 10px;
    background-color: #fff;
    overflow: hidden; }
    .main-table_cautionbox ul li {
      line-height: 1.5;
      font-size: 1.1rem;
      color: #9D9A9A; }
      @media only screen and (max-width: 767px) {
        .main-table_cautionbox ul li {
          font-size: 1rem; } }

/* 調査概要 */
.research {
  background: #ebebeb;
  padding: 2rem;
  margin: 3rem auto; }
  @media only screen and (max-width: 767px) {
    .research {
      padding: 1rem;
      margin: 1rem auto; } }
  .research p {
    line-height: 1.4;
    font-size: 1.2rem; }

/* シミュレーションBOX */
@media only screen and (max-width: 767px) {
  .simulation-box {
    margin-bottom: 2rem; } }
.simulation-box h2 {
  background: #31367D;
  padding: 1.5rem;
  color: #fff; }
.simulation-box .list-simulation {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .simulation-box .list-simulation::after {
    content: "";
    display: block;
    width: 32.5%; }
  .simulation-box .list-simulation li {
    width: 32.5%;
    margin-bottom: 1rem; }
    @media only screen and (max-width: 767px) {
      .simulation-box .list-simulation li {
        width: 49%; } }

#articlebox-simulation {
  padding: 30px;
  margin-bottom: 30px;
  background: #fff;
  border-radius: 10px;
  font-size: 1.4rem; }
  @media only screen and (max-width: 767px) {
    #articlebox-simulation {
      background-size: 80px;
      padding: 2rem;
      margin: 1rem 1rem 3rem; } }
  #articlebox-simulation .midashi {
    text-align: center;
    margin-bottom: 20px; }
    #articlebox-simulation .midashi p {
      color: #1d4996;
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 5px; }
      @media only screen and (max-width: 767px) {
        #articlebox-simulation .midashi p {
          font-size: 1.6rem; } }
    #articlebox-simulation .midashi span {
      background: #1d4996;
      color: #FFF;
      padding: 5px 30px;
      border-radius: 5px; }
      @media only screen and (max-width: 767px) {
        #articlebox-simulation .midashi span {
          font-size: 1rem;
          padding: 5px 10px; } }
  #articlebox-simulation .box-area {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    border: 3px solid #1d4996;
    margin-bottom: 10px; }
    @media only screen and (max-width: 767px) {
      #articlebox-simulation .box-area {
        width: 100%;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; } }
    #articlebox-simulation .box-area .form {
      width: 70%; }
      @media only screen and (max-width: 960px) and (min-width: 768px) {
        #articlebox-simulation .box-area .form {
          width: 75%; } }
      @media only screen and (max-width: 767px) {
        #articlebox-simulation .box-area .form {
          width: 100%; } }
      #articlebox-simulation .box-area .form .input-area {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        background: #ffffe8;
        padding: 20px 30px; }
        @media only screen and (max-width: 767px) {
          #articlebox-simulation .box-area .form .input-area {
            -ms-flex-wrap: wrap;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
            padding: 10px; } }
        #articlebox-simulation .box-area .form .input-area .item {
          width: 33%; }
          @media only screen and (max-width: 767px) {
            #articlebox-simulation .box-area .form .input-area .item {
              width: 100%;
              overflow: hidden; } }
          #articlebox-simulation .box-area .form .input-area .item .title {
            color: #1d4996;
            font-weight: bold;
            margin-bottom: 5px; }
            @media only screen and (max-width: 960px) and (min-width: 768px) {
              #articlebox-simulation .box-area .form .input-area .item .title {
                font-size: 14px; } }
            @media only screen and (max-width: 767px) {
              #articlebox-simulation .box-area .form .input-area .item .title {
                float: left;
                width: 50%; } }
          #articlebox-simulation .box-area .form .input-area .item .input {
            overflow: hidden;
            margin-bottom: 5px; }
            #articlebox-simulation .box-area .form .input-area .item .input input {
              width: 70%;
              float: left;
              margin-right: 5px;
              background: #fff;
              border: 1px solid #bbb;
              padding: 0.2rem 0.5rem; }
            @media only screen and (max-width: 767px) {
              #articlebox-simulation .box-area .form .input-area .item .input {
                float: right;
                width: 50%;
                font-size: 12px; } }
          #articlebox-simulation .box-area .form .input-area .item .notise {
            font-size: 12px; }
            @media only screen and (max-width: 767px) {
              #articlebox-simulation .box-area .form .input-area .item .notise {
                display: none; } }
      #articlebox-simulation .box-area .form .btn-submit {
        padding: 20px;
        text-align: center;
        background: #FFF;
        text-decoration: none;
        color: #fff;
        font-size: 1.6rem; }
        @media only screen and (max-width: 767px) {
          #articlebox-simulation .box-area .form .btn-submit {
            padding: 10px; } }
        #articlebox-simulation .box-area .form .btn-submit label {
          display: block;
          font-weight: bold;
          background: #FF8610;
          padding: 1.5rem;
          border-radius: 5px; }
          #articlebox-simulation .box-area .form .btn-submit label:hover {
            cursor: pointer; }
        #articlebox-simulation .box-area .form .btn-submit input {
          display: none; }
    #articlebox-simulation .box-area .simulation-kekka {
      width: 30%;
      background: #cbf8de;
      padding: 20px;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: center;
      -ms-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      text-align: center; }
      @media only screen and (max-width: 960px) and (min-width: 768px) {
        #articlebox-simulation .box-area .simulation-kekka {
          width: 25%; } }
      @media only screen and (max-width: 767px) {
        #articlebox-simulation .box-area .simulation-kekka {
          width: 100%; } }
      #articlebox-simulation .box-area .simulation-kekka .in {
        width: 100%; }
      #articlebox-simulation .box-area .simulation-kekka p {
        line-height: 1.2;
        margin-bottom: 10px; }
      #articlebox-simulation .box-area .simulation-kekka .apb-result {
        width: 100%;
        color: #fe1d72;
        font-weight: bold;
        font-size: 20px; }
  #articlebox-simulation .hosoku {
    font-size: 10px;
    line-height: 1.3;
    color: #666; }

/*その下のバナー*/
h2.title-article-h2 {
  background: #31367D;
  padding: 1.5rem;
  color: #fff;
  margin-bottom: 2rem; }

.bnrbox-simulation-col-2 {
  margin-bottom: 4rem; }
  .bnrbox-simulation-col-2 ul {
    display: flex; }
    @media only screen and (max-width: 767px) {
      .bnrbox-simulation-col-2 ul {
        display: block; } }
    @media only screen and (max-width: 767px) {
      .bnrbox-simulation-col-2 ul li {
        margin-bottom: 1rem; } }
    .bnrbox-simulation-col-2 ul li img {
      width: 96%;
      margin: auto; }

/* 固定ページのQA */
h1.qa {
  padding: 1rem;
  background: #31367D;
  color: #fff; }
  @media only screen and (max-width: 767px) {
    h1.qa {
      font-size: 1.7rem;
      margin-bottom: 0rem; } }

.accordion_qa {
  margin: 2rem auto; }
  @media only screen and (max-width: 767px) {
    .accordion_qa {
      width: 96%;
      margin: 1rem auto; } }
  .accordion_qa dt {
    background-color: #fff;
    padding: 1rem 1rem 1rem 4rem;
    font-weight: bold;
    border-radius: 5px;
    position: relative;
    margin-bottom: 1.5rem; }
    @media only screen and (max-width: 767px) {
      .accordion_qa dt {
        font-size: 1.3rem;
        padding: 0.5rem 2rem 0.5rem 3.5rem;
        margin-bottom: 1rem; } }
    .accordion_qa dt::before {
      content: "Q.";
      color: #31367D;
      position: absolute;
      left: 1rem;
      font-weight: 600;
      font-size: 1.3em;
      line-height: 1.2; }
    .accordion_qa dt::after {
      content: '▼';
      position: absolute;
      right: 0.5rem;
      color: #31367D;
      font-size: 1rem;
      top: 25%; }
  .accordion_qa dd {
    display: none;
    margin-bottom: 2rem;
    padding: 0rem 1rem 1rem 4rem;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .accordion_qa dd {
        font-size: 1.2rem;
        padding: 0rem 1rem 1rem 3.5rem;
        margin-bottom: 1rem; } }
    .accordion_qa dd::before {
      color: #BE2D4E;
      line-height: 1.2;
      content: "A.";
      position: absolute;
      left: 1rem;
      font-size: 1.3em;
      font-weight: bold; }
      @media only screen and (max-width: 767px) {
        .accordion_qa dd::before {
          font-size: 15px; } }

/* リファラーページ */
#main-w-re {
  padding: 18rem 0rem;
  background-color: #FFF;
  text-align: center;
  min-height: 100vh; }
  @media only screen and (max-width: 767px) {
    #main-w-re {
      padding: 4rem 0rem; } }

#main-w-re-in {
  max-width: 960px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    #main-w-re-in {
      width: 100%; } }
  #main-w-re-in a {
    text-decoration: none; }

#main-w-re p {
  font-size: 20px;
  line-height: 1.7em;
  color: #AAA; }
  @media only screen and (max-width: 767px) {
    #main-w-re p {
      font-size: 16px; } }

#main-w-re-logo img {
  margin: auto; }
  @media only screen and (max-width: 767px) {
    #main-w-re-logo img {
      width: 90%;
      margin: auto; } }

#main-w-re-loading img {
  text-align: center;
  margin: auto; }

#main-w-re-logo img {
  margin: auto;
  margin-bottom: 2rem; }

#main-w-re-link a {
  text-decoration: none;
  color: #333; }
  #main-w-re-link a span {
    text-decoration: underline;
    color: #31367D; }

/* //////////  全ページ表示リスト  ////////////// */
.all-list-contents .menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 2rem auto; }
  .all-list-contents .menu li {
    font-size: 16px;
    background: #fff;
    padding: 1rem;
    border: solid 1px #ccc;
    text-align: center;
    width: 20%; }
    @media only screen and (max-width: 767px) {
      .all-list-contents .menu li {
        font-size: 14px;
        width: 30%;
        padding: 1rem 0;
        margin-bottom: 0.5rem; } }
.all-list-contents .all-list {
  margin-bottom: 2rem; }
  .all-list-contents .all-list th {
    font-size: 14px;
    background: #333;
    color: #fff; }
  .all-list-contents .all-list td {
    font-size: 14px; }
    .all-list-contents .all-list td ul {
      padding-left: 20px;
      margin-bottom: 1rem; }
      .all-list-contents .all-list td ul li {
        font-size: 14px;
        list-style: disc;
        text-align: left; }

/*# sourceMappingURL=design.css.map */
