@charset "UTF-8";
/**▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼　デバイス毎の条件分岐　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼**/
/**▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ デバイス毎の条件分岐（触らない） ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲**/
.spnone {
  display: block; }
  @media only screen and (max-width: 767px) {
    .spnone {
      display: none; } }

.pcnone {
  display: none; }
  @media only screen and (max-width: 767px) {
    .pcnone {
      display: block; } }

/* ------------------------------------------------- *
 *        ＠LP
 * ------------------------------------------------- */
.l-lp-mainvisual {
  margin-bottom: 2rem; }
  .l-lp-mainvisual .mainvisual-bg {
    background: url(../img/visual/main-visual-cat-rank-bg.jpg) center no-repeat;
    background-size: cover;
    height: 255px;
    position: relative;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .l-lp-mainvisual .mainvisual-bg {
        height: 130px; } }
    .l-lp-mainvisual .mainvisual-bg .center {
      position: absolute;
      top: 49%;
      left: 53%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      font-weight: bold;
      width: 100%; }
      .l-lp-mainvisual .mainvisual-bg .center .flex {
        display: flex;
        align-items: center;
        justify-content: space-around;
        width: 39%;
        margin: auto; }
        @media only screen and (max-width: 767px) {
          .l-lp-mainvisual .mainvisual-bg .center .flex {
            width: 57%; } }
      .l-lp-mainvisual .mainvisual-bg .center .year {
        background: #fff;
        color: #06076e;
        font-size: 2rem;
        padding: 0.8rem 2rem;
        border-radius: 25px;
        line-height: 1.4; }
        @media only screen and (max-width: 767px) {
          .l-lp-mainvisual .mainvisual-bg .center .year {
            font-size: 1.2rem;
            padding: 0.5rem 1rem;
            margin: auto 0.6rem; } }
      .l-lp-mainvisual .mainvisual-bg .center .subtitle {
        color: #fff;
        font-size: 5.8rem;
        line-height: 1.2; }
        @media only screen and (max-width: 767px) {
          .l-lp-mainvisual .mainvisual-bg .center .subtitle {
            font-size: 2.6rem;
            line-height: 1.8; } }
      .l-lp-mainvisual .mainvisual-bg .center p.txt {
        color: #efe20e;
        font-size: 7rem;
        line-height: 1.1;
        letter-spacing: .1rem; }
        @media only screen and (max-width: 767px) {
          .l-lp-mainvisual .mainvisual-bg .center p.txt {
            font-size: 3.3rem;
            line-height: 1.1; } }

.description {
  margin-bottom: 2rem; }

.title-oomidashi {
  background: #080544;
  border-radius: 5px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 3rem 0;
  padding: 2rem;
  position: relative;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .title-oomidashi {
      font-size: 1.8rem;
      padding: 1rem 1.5rem; } }
  .title-oomidashi::after {
    border-color: rgba(255, 85, 72, 0);
    border: solid transparent;
    border-top-color: black;
    border-width: 10px;
    content: " ";
    height: 0;
    left: 50%;
    margin-left: -10px;
    position: absolute;
    pointer-events: none;
    top: 100%;
    width: 0; }

.block-ranking {
  margin-bottom: 4rem; }
  .block-ranking .box-rank {
    border-radius: 10px;
    box-shadow: 0 3px 6px #ccc;
    margin-bottom: 2rem;
    border: 3px solid #0F3D9E; }
    @media only screen and (max-width: 767px) {
      .block-ranking .box-rank {
        border: 2px solid #0F3D9E; } }
    .block-ranking .box-rank .box {
      margin-bottom: 2rem;
      padding: 1rem 1.5rem 2.5rem; }
      @media only screen and (max-width: 767px) {
        .block-ranking .box-rank .box {
          margin-bottom: 0;
          padding: .5rem 1rem 2rem; } }
      .block-ranking .box-rank .box h4 {
        font-size: 1.8rem;
        line-height: 1.5;
        margin-bottom: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .box h4 {
            font-size: 1.3rem; } }
      .block-ranking .box-rank .box .reason {
        margin: 2rem 0 1.5rem; }
        .block-ranking .box-rank .box .reason dt {
          background: #1a3e86;
          color: #fff;
          font-size: 1.6rem;
          font-weight: 700;
          padding: 0.6rem 1rem;
          text-align: center; }
          @media only screen and (max-width: 767px) {
            .block-ranking .box-rank .box .reason dt {
              font-size: 1.4rem; } }
        .block-ranking .box-rank .box .reason dd {
          border: 1px solid #1a3e86;
          padding: 1.5rem; }
          @media only screen and (max-width: 767px) {
            .block-ranking .box-rank .box .reason dd {
              padding: 1rem; } }
          .block-ranking .box-rank .box .reason dd ul {
            background: none;
            padding: 0; }
    .block-ranking .box-rank .banner {
      padding: 0 1.5rem 1.5rem 0; }
    .block-ranking .box-rank .title {
      background: #0F3D9E;
      border-radius: 6px 6px 0 0;
      margin-bottom: 2rem;
      padding: 1rem 1.5rem; }
      @media only screen and (max-width: 767px) {
        .block-ranking .box-rank .title {
          padding: 1rem; } }
      .block-ranking .box-rank .title h3 {
        color: #fff;
        font-size: 2.8rem;
        line-height: 1.8;
        padding-left: 6.5rem;
        position: relative; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .title h3 {
            font-size: 2rem;
            padding-left: 4rem; } }
        .block-ranking .box-rank .title h3 .icon-rank {
          display: block;
          left: 0;
          position: absolute;
          top: .5rem; }
          @media only screen and (max-width: 767px) {
            .block-ranking .box-rank .title h3 .icon-rank {
              top: 0;
              width: 40px; } }
          .block-ranking .box-rank .title h3 .icon-rank img {
            display: inline-block; }
            @media only screen and (max-width: 767px) {
              .block-ranking .box-rank .title h3 .icon-rank img {
                width: 75%; } }
        .block-ranking .box-rank .title h3 a {
          color: #fff;
          text-decoration: none; }
    .block-ranking .box-rank .catch {
      background: #EAF196;
      margin-bottom: 1rem;
      padding: 1.3rem 1.5rem;
      color: #2b0074; }
      @media only screen and (max-width: 767px) {
        .block-ranking .box-rank .catch {
          padding: 1rem 0.8rem; } }
    .block-ranking .box-rank .point dl {
      border-radius: 6px;
      outline: 2px solid #4d7ee4;
      outline-offset: -2px; }
      .block-ranking .box-rank .point dl dt {
        background: #4d7ee4;
        border-radius: 6px 6px 0 0;
        color: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        padding: .5rem 1rem;
        text-align: center; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .point dl dt {
            font-size: 1.2rem; } }
        .block-ranking .box-rank .point dl dt span {
          padding-left: 3rem;
          position: relative; }
          .block-ranking .box-rank .point dl dt span img {
            left: 0;
            position: absolute; }
      .block-ranking .box-rank .point dl dd {
        margin-bottom: 1.5rem;
        padding: 1.5rem; }
        .block-ranking .box-rank .point dl dd li {
          background: url(../img/icon/icon-check.png) left -0.3rem no-repeat;
          background-size: 28px 28px;
          font-size: 1.5rem;
          line-height: 1.5;
          list-style: none;
          margin-bottom: 1rem;
          padding: 0 0 0 3rem; }
          @media only screen and (max-width: 767px) {
            .block-ranking .box-rank .point dl dd li {
              background: url(../img/icon/icon-check.png) -5px top no-repeat;
              background-size: 20px 20px;
              font-size: 1.3rem;
              padding: 0 0 0 1.5rem; } }
          .block-ranking .box-rank .point dl dd li:last-child {
            margin-bottom: 0; }
    .block-ranking .box-rank table {
      border-left: 1px solid #bfbfbf;
      border-top: 1px solid #bfbfbf;
      margin-bottom: 1.5rem;
      width: 100%; }
      .block-ranking .box-rank table th {
        background: #f2f4f7;
        border-bottom: 1px solid #bfbfbf;
        border-right: 1px solid #bfbfbf;
        font-size: 1.2rem;
        font-weight: 700;
        padding: .5rem;
        text-align: center;
        width: 14.2%;
        vertical-align: middle; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank table th {
            font-size: 1.1rem;
            padding: .5rem .2rem; } }
        .block-ranking .box-rank table th small {
          font-size: 1.1rem; }
          @media only screen and (max-width: 767px) {
            .block-ranking .box-rank table th small {
              font-weight: normal; } }
        .block-ranking .box-rank table th.th-sub {
          background: #fcfcfc;
          font-size: 1.1rem;
          font-weight: normal; }
      .block-ranking .box-rank table td {
        border-bottom: 1px solid #bfbfbf;
        border-right: 1px solid #bfbfbf;
        font-size: 1.4rem;
        padding: .8rem 1rem;
        text-align: center;
        vertical-align: middle; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank table td {
            font-size: 1.2rem;
            padding: .5rem .2rem; } }
        .block-ranking .box-rank table td .icon {
          margin: 0 auto; }
    .block-ranking .box-rank .text-caution {
      font-size: 1rem;
      line-height: 1.3; }
    .block-ranking .box-rank .comment {
      border: 1px solid #404040;
      border-radius: 6px; }
      .block-ranking .box-rank .comment dt {
        background-color: #404040;
        border-radius: 6px 6px 0 0;
        color: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        padding: .5rem 1rem;
        position: relative;
        text-align: center; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .comment dt {
            font-size: 1.3rem;
            padding: .8rem 1rem; } }
        .block-ranking .box-rank .comment dt span {
          padding-left: 3.5rem;
          position: relative; }
          .block-ranking .box-rank .comment dt span img {
            left: 0;
            position: absolute; }
        .block-ranking .box-rank .comment dt::after {
          border: solid transparent;
          border-color: rgba(128, 195, 77, 0);
          border-top-color: #404040;
          border-width: 8px;
          content: '';
          height: 0;
          left: 50%;
          margin-left: -8px;
          position: absolute;
          pointer-events: none;
          top: 100%;
          width: 0; }
          @media only screen and (max-width: 767px) {
            .block-ranking .box-rank .comment dt::after {
              border-width: 6px;
              margin-left: -6px; } }
      .block-ranking .box-rank .comment dd {
        font-size: 1.4rem;
        line-height: 1.5;
        padding: 2rem 1.5rem; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .comment dd {
            font-size: 1.3rem;
            padding: 1.5rem 1rem 1rem; } }
        .block-ranking .box-rank .comment dd ul {
          padding-left: 2rem; }
          @media only screen and (max-width: 767px) {
            .block-ranking .box-rank .comment dd ul {
              padding-left: 1.5rem; } }
          .block-ranking .box-rank .comment dd ul li {
            margin-bottom: 1rem; }
            @media only screen and (max-width: 767px) {
              .block-ranking .box-rank .comment dd ul li {
                font-size: 1.3rem;
                margin-bottom: .5rem; } }
            .block-ranking .box-rank .comment dd ul li:last-child {
              margin-bottom: 0; }
    .block-ranking .box-rank .campaign {
      margin: 2rem 0; }
      @media only screen and (max-width: 767px) {
        .block-ranking .box-rank .campaign {
          margin: 2rem 0 1rem; } }
      .block-ranking .box-rank .campaign dt {
        background: #f46f00;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 700;
        padding: .5rem 1rem;
        position: relative;
        text-align: center; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .campaign dt {
            font-size: 1.4rem; } }
        .block-ranking .box-rank .campaign dt::before, .block-ranking .box-rank .campaign dt::after {
          content: '';
          height: 0px;
          position: absolute;
          width: 0px;
          z-index: 1; }
        .block-ranking .box-rank .campaign dt::before {
          border-width: 16px 0px 16px 8px;
          border-color: transparent transparent transparent #fff;
          border-style: solid;
          left: 0;
          top: 0; }
        .block-ranking .box-rank .campaign dt::after {
          border-width: 16px 8px 16px 0px;
          border-color: transparent #fff transparent transparent;
          border-style: solid;
          right: 0;
          top: 0; }
      .block-ranking .box-rank .campaign dd {
        font-size: 1.6rem;
        font-weight: 700;
        padding: 1.5rem 0 0; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .campaign dd {
            font-size: 1.4rem;
            padding: 1rem 0 0; } }
        .block-ranking .box-rank .campaign dd span {
          font-size: 1.4rem;
          font-weight: normal; }
          @media only screen and (max-width: 767px) {
            .block-ranking .box-rank .campaign dd span {
              font-size: 1.2rem; } }
    .block-ranking .box-rank .box-btn {
      margin: 2rem 0; }
      .block-ranking .box-rank .box-btn .btn-shosai a {
        border: 1px solid #1a3e86;
        border-radius: 6px;
        bottom: 0;
        color: #1a3e86;
        display: block;
        font-size: 1.8rem;
        font-weight: 700;
        margin-top: .3rem;
        padding: 1.8rem 1rem;
        text-align: center;
        text-decoration: none;
        width: 90%; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .box-btn .btn-shosai a {
            font-size: 1.4rem;
            padding: 2rem 1rem; } }
      .block-ranking .box-rank .box-btn .btn-cv a {
        background: linear-gradient(180deg, #cf0f1d 0%, #d40720 100%);
        border-bottom: solid 6px #900717;
        border-radius: 6px;
        bottom: 0;
        color: #fff;
        display: block;
        font-size: 2.2rem;
        font-weight: 700;
        padding: 1.8rem 1rem;
        text-align: center;
        text-decoration: none; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .box-btn .btn-cv a {
            font-size: 1.8rem; } }
    .block-ranking .box-rank .btn-cv-long {
      margin: 2rem auto 1rem;
      width: 70%; }
      @media only screen and (max-width: 767px) {
        .block-ranking .box-rank .btn-cv-long {
          width: 100%; } }
      .block-ranking .box-rank .btn-cv-long a {
        background: linear-gradient(180deg, #cf0f1d 0%, #d40720 100%);
        border-bottom: solid 6px #900717;
        border-radius: 6px;
        bottom: 0;
        color: #fff;
        display: block;
        font-size: 2.2rem;
        font-weight: 700;
        padding: 1.8rem 1rem;
        text-align: center;
        text-decoration: none; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .btn-cv-long a {
            font-size: 1.8rem; } }
    .block-ranking .box-rank .btn-shosai.w-100 {
      margin: 2rem auto 0; }
      .block-ranking .box-rank .btn-shosai.w-100 a {
        border: 1px solid #1a3e86;
        border-radius: 6px;
        bottom: 0;
        color: #1a3e86;
        display: block;
        font-size: 1.8rem;
        font-weight: 700;
        margin-top: .3rem;
        padding: 1.8rem 1rem;
        text-align: center;
        text-decoration: none;
        width: 100%; }
        @media only screen and (max-width: 767px) {
          .block-ranking .box-rank .btn-shosai.w-100 a {
            font-size: 1.4rem;
            padding: 1.5rem 1rem; } }
  .block-ranking h5 {
    border-left: 5px solid #080544;
    font-size: 1.8rem;
    margin: 4rem 0 2rem;
    padding: 0.5rem 1rem; }
  .block-ranking .box-spec {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .block-ranking .box-spec table {
      width: 49%; }
      @media only screen and (max-width: 767px) {
        .block-ranking .box-spec table {
          width: 100%; } }
      .block-ranking .box-spec table .th-title {
        background: #080544;
        color: #fff; }
      .block-ranking .box-spec table .th-main {
        width: 40%; }

.block-ranking.detail .box-rank .title h3 {
  padding-left: 0; }

.txt-caution {
  margin: 2rem auto; }
  .txt-caution li {
    color: #666;
    font-size: 1rem;
    line-height: 1.3;
    list-style: none;
    margin-bottom: .3rem; }

.home .txt-caution li.fzfy-stgnone {
  display: none; }

.box-survey {
  color: #888;
  margin-bottom: 4rem; }
  @media only screen and (max-width: 767px) {
    .box-survey {
      padding: 0 1rem; } }
  .box-survey dt {
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 0.5rem; }
  .box-survey dd {
    font-size: 1.2rem; }
  .box-survey ul {
    margin-left: 2rem; }
    .box-survey ul li {
      font-size: 1.2rem;
      list-style: disc; }

.lp-content {
  border-radius: 6px;
  box-shadow: 0 1px 4px #ccc;
  margin-bottom: 3rem;
  padding: 1rem 1.5rem 2.5rem; }
  .lp-content p {
    margin-bottom: 1.5rem; }
  .lp-content table {
    border-top: 1px solid #DDD;
    border-left: 1px solid #DDD;
    margin: 2rem 0 3rem;
    width: 100%; }
    .lp-content table th {
      background: #F3F3F3;
      border-bottom: 1px solid #DDD;
      border-right: 1px solid #DDD;
      font-size: 1.4rem;
      padding: 1rem; }
    .lp-content table td {
      border-bottom: 1px solid #DDD;
      border-right: 1px solid #DDD;
      font-size: 1.4rem;
      padding: 1rem; }
  .lp-content ul {
    margin: 3rem 0;
    padding-left: 2rem; }
    .lp-content ul li {
      font-size: 1.5rem;
      line-height: 1.6;
      margin-bottom: 1.5rem; }

/*特集一覧*/
.special-box .tit-obi h3 {
  background: url(../img/icon/ico-hnav04.png) 1rem center no-repeat #080544;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  padding: 1.5rem 2rem 1.5rem 5rem;
  margin-bottom: 2rem; }
.special-box section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .special-box section .item {
    flex-basis: 48%; }
    .special-box section .item a {
      text-decoration: none; }
      .special-box section .item a .title {
        color: #fff;
        font-weight: bold;
        padding: 1.5rem 0rem;
        font-size: 2.3rem;
        letter-spacing: .05rem;
        text-align: center;
        border-radius: 15px;
        margin-bottom: 1rem; }
        @media only screen and (max-width: 767px) {
          .special-box section .item a .title {
            font-size: 1.7rem;
            margin-bottom: 0.5rem; } }
      .special-box section .item a .title-1 {
        background: #3377D3; }
      .special-box section .item a .title-2 {
        background: #F0A734; }
      .special-box section .item a .title-3 {
        background: #13A065; }
      .special-box section .item a .title-4 {
        background: #5394ED; }
      .special-box section .item a .title-5 {
        background: #F4BE18; }
      .special-box section .item a .title-6 {
        background: #EE663A; }
      .special-box section .item a .description {
        letter-spacing: .05rem;
        line-height: 1.5; }
        @media only screen and (max-width: 767px) {
          .special-box section .item a .description {
            font-size: 1.3rem; } }

/*コンバージョンボタン　キランとするやつ*/
@keyframes shiny {
  0% {
    transform: scale(0) rotate(25deg);
    opacity: 0; }
  50% {
    transform: scale(1) rotate(25deg);
    opacity: 1; }
  100% {
    transform: scale(50) rotate(25deg);
    opacity: 0; } }
.shiny-btn {
  position: relative;
  display: block;
  overflow: hidden; }
  .shiny-btn::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, white 100%, rgba(255, 255, 255, 0) 0%);
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite; }
  .shiny-btn a {
    color: #fff; }

/*--ＤＭＭ特単用　おすすめ
--------------------------------------------------------------------------------*/
.recommend {
  margin: 3rem auto 4rem;
  background: #ffffcc;
  border-radius: 5px;
  box-shadow: rgba(0, 0, 0, 0.2) 0rem 0.2rem 0.5rem;
  padding: 1rem 0; }
  @media only screen and (max-width: 767px) {
    .recommend {
      margin: 0 auto 3rem;
      width: 98%;
      padding: .5rem 0;
      border-radius: 10px; } }
  .recommend .recommend__mainttlbox {
    background: #FFFFCC;
    color: #FF0000;
    margin: auto;
    text-align: center;
    padding: .5rem 0; }
    @media only screen and (max-width: 767px) {
      .recommend .recommend__mainttlbox {
        padding: 0; } }
    .recommend .recommend__mainttlbox .recommend__mainttl {
      text-align: center;
      font-size: 2.8rem;
      letter-spacing: .3rem;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #FFFFCC;
      color: #FF0000; }
      @media only screen and (max-width: 767px) {
        .recommend .recommend__mainttlbox .recommend__mainttl {
          display: block;
          line-height: 1.2;
          margin: .3rem auto .5rem;
          letter-spacing: .08rem; } }
      .recommend .recommend__mainttlbox .recommend__mainttl::before, .recommend .recommend__mainttlbox .recommend__mainttl::after {
        content: '';
        width: 3px;
        height: 35px;
        background-color: #FFC857; }
        @media only screen and (max-width: 767px) {
          .recommend .recommend__mainttlbox .recommend__mainttl::before, .recommend .recommend__mainttlbox .recommend__mainttl::after {
            display: none; } }
      .recommend .recommend__mainttlbox .recommend__mainttl::before {
        transform: rotate(-35deg);
        margin-right: 20px; }
      .recommend .recommend__mainttlbox .recommend__mainttl::after {
        transform: rotate(35deg);
        margin-left: 20px; }
      .recommend .recommend__mainttlbox .recommend__mainttl .pc-none {
        display: none; }
        @media only screen and (max-width: 767px) {
          .recommend .recommend__mainttlbox .recommend__mainttl .pc-none {
            display: block; } }
    .recommend .recommend__mainttlbox .fa-crown::before {
      color: #FFC857;
      font-size: 20px;
      padding-bottom: .5rem; }
  .recommend .recommend__box {
    width: 92%;
    border-radius: 5px;
    margin: auto;
    letter-spacing: .05rem; }
    @media only screen and (max-width: 767px) {
      .recommend .recommend__box {
        width: 100%; } }
    .recommend .recommend__box .recommend__ttl {
      background: #ff7d7d;
      padding: 1.5rem 1rem;
      font-size: 1.8rem;
      color: #fff;
      font-weight: bold;
      text-align: center;
      letter-spacing: .08rem; }
      @media only screen and (max-width: 767px) {
        .recommend .recommend__box .recommend__ttl {
          line-height: 1.2;
          padding: 1rem .2rem;
          font-size: 1.6rem; } }
    .recommend .recommend__box .recommend__logo {
      margin: 2rem auto 1rem; }
      @media only screen and (max-width: 767px) {
        .recommend .recommend__box .recommend__logo {
          margin: 1rem auto;
          text-align: center; } }
      .recommend .recommend__box .recommend__logo img {
        width: 90px; }
        @media only screen and (max-width: 767px) {
          .recommend .recommend__box .recommend__logo img {
            margin: auto;
            width: 130px; } }
    .recommend .recommend__box .recommend__inner {
      padding: 0 0 1rem;
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .recommend .recommend__box .recommend__inner {
          display: block;
          padding: 0 .8rem 1rem; } }
      .recommend .recommend__box .recommend__inner .recommend__name-area {
        width: 40%; }
        @media only screen and (max-width: 767px) {
          .recommend .recommend__box .recommend__inner .recommend__name-area {
            width: 75%;
            margin: 0rem auto 1rem; }
            .recommend .recommend__box .recommend__inner .recommend__name-area p {
              text-align: center; } }
        .recommend .recommend__box .recommend__inner .recommend__name-area a {
          color: #333;
          font-weight: bold; }
      .recommend .recommend__box .recommend__inner .recommend__txt-area {
        width: 57%;
        background: #fff;
        padding: 1rem;
        border-radius: 5px; }
        @media only screen and (max-width: 767px) {
          .recommend .recommend__box .recommend__inner .recommend__txt-area {
            width: 100%;
            margin: 0 auto .5rem;
            padding: .5rem;
            font-weight: bold; } }
        .recommend .recommend__box .recommend__inner .recommend__txt-area ul li {
          font-size: 1.5rem;
          line-height: 1.5;
          margin-bottom: 2rem;
          text-indent: -2.5rem;
          list-style: none;
          padding-left: 3rem; }
          @media only screen and (max-width: 767px) {
            .recommend .recommend__box .recommend__inner .recommend__txt-area ul li {
              line-height: 1.4;
              margin-bottom: 1rem;
              font-size: 1.4rem; } }
          .recommend .recommend__box .recommend__inner .recommend__txt-area ul li::before {
            content: "\f14a";
            color: #4CFF4C;
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            font-size: 20px;
            padding-right: .8rem; }
          .recommend .recommend__box .recommend__inner .recommend__txt-area ul li:last-child {
            margin-bottom: 0; }
          .recommend .recommend__box .recommend__inner .recommend__txt-area ul li span.red {
            color: #FF0000;
            font-weight: bold; }
          .recommend .recommend__box .recommend__inner .recommend__txt-area ul li span.underline {
            text-decoration: underline; }
          .recommend .recommend__box .recommend__inner .recommend__txt-area ul li small {
            font-size: 1rem; }
        .recommend .recommend__box .recommend__inner .recommend__txt-area ul p {
          font-size: 1.3rem;
          line-height: 1.4;
          padding: 0 1rem; }
          @media only screen and (max-width: 767px) {
            .recommend .recommend__box .recommend__inner .recommend__txt-area ul p {
              font-size: 1.2rem; } }
    .recommend .recommend__box .recommend__cv-btn {
      width: 60%;
      background: #3cbe7d;
      border-bottom: #396736 4px solid;
      border-radius: 5px;
      text-align: center;
      margin: 1rem auto 2.5rem;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .recommend .recommend__box .recommend__cv-btn {
          width: 90%;
          margin: 0rem auto 1.5rem; } }
      .recommend .recommend__box .recommend__cv-btn a {
        display: block;
        width: 100%;
        color: #fff;
        font-size: 1.6rem;
        font-weight: bold;
        padding: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .recommend .recommend__box .recommend__cv-btn a {
            padding: 2rem 1.5rem; } }
      .recommend .recommend__box .recommend__cv-btn::after {
        border-top: solid 3px #fff;
        border-right: solid 3px #fff;
        -webkit-transform: rotate(45deg);
        content: "";
        display: block;
        height: 8px;
        right: 2rem;
        position: absolute;
        top: 40%;
        transform: rotate(45deg);
        width: 8px; }
    .recommend .recommend__box .recommend__caution {
      font-size: 1rem;
      margin: 2rem 4rem 1rem;
      color: #9D9A9A; }
      @media only screen and (max-width: 767px) {
        .recommend .recommend__box .recommend__caution {
          margin: 1rem 2rem; } }

/* サイドバー無い場合のおすすめ枠調整 */
.lp .recommend {
  width: 85%; }
  @media only screen and (max-width: 767px) {
    .lp .recommend {
      width: 98%; } }

.recommend-txt {
  font-size: .9rem;
  text-align: center;
  margin-bottom: .5rem;
  border-width: 1px;
  background: #ff0000;
  color: #fff; }
  @media only screen and (max-width: 767px) {
    .recommend-txt {
      font-size: 1rem;
      font-weight: bold; } }

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