.contentFrame {
  margin: 0;
  padding: 0 15px; }
  @media screen and (min-width: 769px) {
    .contentFrame {
      max-width: 1024px;
      margin: 0 auto;
      padding: 0; } }

@media screen and (max-width: 768px) {
  .breadcrumbs {
    white-space: nowrap;
    overflow-x: auto; }
    .breadcrumbs ul {
      margin: 0; }
      .breadcrumbs ul li:last-child {
        padding-right: 15px; } }

#pcb {
  position: relative;
  padding: 35px 15px 15px;
  border: 1px solid #d1d1d1; }
  @media screen and (min-width: 769px) {
    #pcb {
      padding: 80px 100px 60px; } }
  #pcb .leadtext {
    text-align: center; }
  #pcb .box {
    display: grid;
    grid-template-columns: 95px 1fr;
    border-top: 1px solid #DDDDDD;
    grid-gap: 30px; }
    @media screen and (min-width: 769px) {
      #pcb .box {
        grid-template-columns: 160px 1fr;
        grid-gap: 50px; } }
    #pcb .box h3 {
      font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 600;
      color: #174e9e;
      border-top: 1px solid #174e9e;
      font-size: 14px;
      transform: translateY(-1px);
      padding: 20px 0 0; }
      @media screen and (min-width: 769px) {
        #pcb .box h3 {
          font-size: 18px; } }
    #pcb .box .text {
      padding: 20px 0 0; }
    #pcb .box picture {
      display: block;
      margin: 2rem 0; }
    #pcb .box .note {
      font-size: 10px; }
      @media screen and (min-width: 769px) {
        #pcb .box .note {
          font-size: 12px; } }
  #pcb .frame {
    background: #E7EDF5;
    padding: 20px;
    margin: 0 0 1rem; }
    @media screen and (min-width: 769px) {
      #pcb .frame {
        padding: 30px 80px; } }
  @media screen and (max-width: 768px) {
    #pcb a.sp_wide {
      margin-left: -90px; } }

#feature ul {
  margin: 0;
  padding: 0;
  display: grid;
  grid-gap: 1rem; }
  @media screen and (min-width: 769px) {
    #feature ul {
      grid-template-columns: repeat(3, 1fr);
      grid-gap: 2rem; } }
  #feature ul li {
    margin: 0;
    padding: 0;
    border: 1px solid #d1d1d1;
    list-style: none;
    padding: 2rem 2rem 1rem; }
#feature h3 {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: 500;
  color: #174e9e;
  font-size: 14px;
  text-align: center;
  margin: 0 0 1rem; }
  @media screen and (min-width: 769px) {
    #feature h3 {
      font-size: 18px; } }

#flow {
  background: url("../../../images/rr-business/pcb/flow_bg.webp") no-repeat center top/cover;
  padding: 35px 15px 15px;
  border: 1px solid #d1d1d1; }
  @media screen and (min-width: 769px) {
    #flow {
      padding: 80px 100px 60px; } }
  #flow ol {
    margin: 0 0 4em;
    padding: 0;
    display: grid;
    grid-gap: 3rem; }
    #flow ol li {
      margin: 0;
      padding: 0;
      list-style: none; }
      #flow ol li:has(figure) {
        display: grid;
        grid-gap: 1rem; }
        @media screen and (min-width: 769px) {
          #flow ol li:has(figure) {
            grid-template-columns: 1fr 300px;
            grid-gap: 40px; } }
    #flow ol h3 {
      font-weight: bold;
      font-size: 14px; }
      @media screen and (min-width: 769px) {
        #flow ol h3 {
          font-size: 18px; } }
      #flow ol h3::after {
        content: "";
        display: block;
        background: #174e9e;
        width: 40px;
        height: 2px;
        margin: 10px 0 0; }
  #flow .frame {
    background: #fff;
    padding: 20px; }
    @media screen and (min-width: 769px) {
      #flow .frame {
        padding: 30px; } }
    #flow .frame a {
      display: table;
      margin-top: 0.5em; }
    #flow .frame .center a {
      margin: 0 auto; }

a[target="_blank"] {
  background: url(../../../images/common/common_icon_extlink_02.svg) no-repeat right calc(50% - 3px)/14px;
  display: inline-block;
  padding-right: 20px;
  color: #000;
  text-decoration-color: #254f98;
  text-underline-offset: 6px;
  padding-bottom: 3px;
  line-height: 2; }
  @media screen and (min-width: 769px) {
    a[target="_blank"] {
      padding-bottom: 5px;
      background-position: right calc(50% - 5px);
      padding-right: 40px;
      text-underline-offset: 10px;
      line-height: 2.5;
      background-size: 19px;
      transition: .3s; }
      a[target="_blank"]:hover {
        color: #254f98;
        text-underline-offset: 12px;
        text-decoration-color: transparent; } }

#contribution {
  position: relative;
  padding: 35px 15px 15px;
  border: 1px solid #d1d1d1; }
  @media screen and (min-width: 769px) {
    #contribution {
      padding: 80px 90px 60px;
      text-align: center; } }
  @media screen and (max-width: 768px) {
    #contribution .hStyle02 {
      font-size: 17px; } }
  #contribution .sub {
    margin-top: -30px; }
    #contribution .sub strong {
      display: block; }
      @media screen and (max-width: 768px) {
        #contribution .sub strong {
          text-align: center; } }
  #contribution .frame {
    background: #E7EDF5;
    padding: 20px;
    margin: 0 0 1rem; }
    @media screen and (min-width: 769px) {
      #contribution .frame {
        padding: 30px 80px; } }
