@charset "UTF-8";


.csr2026 .after_target_arrow {
  position: relative;

  &::after {
    content: '';
    display: block;
    width: 30%;
    height: 2.5em;
    background-image: linear-gradient(to top, #114678, #fff);
    position: absolute;
    top: 100%;
    left: 50%;
    translate: -50% 1em;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }

  & + * {
    margin-top: 4.5em
  }

  @media (width < 768px) {
    & td {
      padding: .75em;

      & .pc-only {
        display: none;
      }
    }
    &::after {
      width: 62%;
    }
  }
}
.csr2026 .theme_target > dl {
  font-size: 90%;
  display: block;
  width: 40%;
  margin-inline: auto;

  & + & {
    margin-top: .75em;
  }

  dt {
    display: inline-block;
    width: 100%;
    border-radius: 8px;
    font-weight: bold;
    text-align: center;
  }
  & > dt {
    background-color: #114678;
    color: #fff;
  }
  & > dd {
    padding-top: .75em;

    & > dl {
      display: block;
      width: 90%;
      margin-inline: auto;

      dt {
        color: #114678;
        background-color: #E7ECF1;
      }
      dd + dt {
        margin-top: .5em;
      }
    }
  }
  @media (width < 768px) {
    width: 68%;
  }
}
.csr2026 .theme_target .target_inner_table {
  width: 100%;
  font-size: 90%;

  tbody td {
    text-align: right;
  }
  tbody th, tbody td {
    border-bottom: 1px solid #114678;
  }
  .m_note {
    margin-top: .5em;
    font-size: 85%;
  }
}
.csr2026.p-theme-3 .theme_target > dl {
  background-color: #114678;
  padding-block: 1em;
  border-radius: 12px;

  & > dd {
    & > dl {
      width: 50%;
      dt {
        background-color: #fff;
      }
      dd {
        color: #fff;
      }
    }
  }
}
.csr2026.h-theme-2 .theme_target > dl {

  dt {
    display: inline-block;
    width: 100%;
    font-weight: normal;
    text-align: left;
  }
  & > dt {
    border-radius: 8px;
    font-weight: bold;
    text-align: center;
    background-color: #114678;
    color: #fff;
  }
  & > dd {
    padding-top: 0;

    .m_list {
      margin: .75em auto 0;
      width: 90%;
      font-size: 95%;

      dd {
        padding-left: 1em;
        line-height: 1.3;
      }

    }
  }
  @media (width < 768px) {
    width: 75%;
  }
}



.csr2026 .m_hdg.caption {
  margin-bottom: .3em;

  h4 {
    font-size: 1.13rem;
  }
}

.csr2026 .progress.three_cols {
  display: grid;
  grid-template-columns: 25% auto 30%;
  column-gap: .5em;
  width: 100%;
  font-feature-settings: "palt";
  font-size: 85%;

  & .m_list {
    margin: 0;
  }
  & > li {
    display: flex;

    &:not(:last-child)::after {
      content: '';
      display: block;
      flex: 0 0 1.5rem;
      height: 2rem;
      margin-top: 1em;
      background-color: gray;
      clip-path: polygon(0 0, 100% 50%, 0 100%)
    }

    & > dl {
      box-sizing: border-box;
      display: block;
      width: 100%;
      height: 100%;
      border: 6px solid;
      border-radius: 8px;

      dt {
        font-weight: bold;
        text-align: center;
      }
      dd {
        padding: 1em;
      }
    }
    &:nth-of-type(1) {
      &::after {
        background-color: #F2D0D9;
      }
      dl {
        border-color: #F2D0D9;
        dt {
          background-color: #F2D0D9;
        }
        
      }
    }
    &:nth-of-type(2) {
      &::after {
        background-color: #D7D8D8;
      }
      dl {
        border-color: #D7D8D8;
        dt {
          background-color: #D7D8D8;
        }
      }
    }
    &:nth-of-type(3) {
      &::after {
        background-color: #CEDAEE;
      }
      dl {
        border-color: #CEDAEE;
        dt {
          background-color: #CEDAEE;
        }
      }
    }
  }
}
@media (width < 768px) {
  .csr2026 .progress.three_cols {
    display: block;
    width: 100%;

    & > li {
      display: block;
  
      &:not(:last-child)::after {
        width: 4rem;
        height: 1.5rem;
        margin: 0 auto 1em;
        clip-path: polygon(0 0, 100% 0, 50% 100%)
      }
    }
  }
}


/*/csr/priority-themes/theme-1.php*/
.num_list p {
display: table;
}
.num_list p span {
display: table-cell;
}
.num_list p .item_num {
white-space: nowrap;
}

/*csr/priority-themes/theme-2.php*/
.csr2026 .m_tbl-data td.valign_top {vertical-align: top;}


.m_tbl-data thead th.cell_left {
text-align: left;
}
.vertical_text {
writing-mode: vertical-rl;
text-orientation: upright; 
}
.vertical_text span {
display: flex;
justify-content: center;
align-items: center;
}
