.dcc__section {
  position: relative;
  margin: 6rem 0; }
  .dcc__section__ttl {
    width: fit-content;
    text-align: left;
    font-size: 2.2rem;
    font-weight: normal;
    color: darkgrey;
    position: relative; }
    .dcc__section__ttl__sub {
      font-weight: normal;
      font-size: 1.6rem;
      position: relative;
      text-align: left; }
      .dcc__section__ttl__sub::after {
        content: "";
        left: 0;
        bottom: 0;
        width: 8rem;
        display: block;
        position: absolute;
        border-bottom: 2px dotted #00a6c2; }
    .dcc__section__ttl__en {
      position: absolute;
      top: 0;
      font-weight: bold;
      white-space: nowrap;
      color: #00a6c2;
      font-size: 0.7rem;
      letter-spacing: -1px;
      font-style: italic; }
    .dcc__section__ttl::before {
      content: "";
      display: block;
      position: absolute;
      left: 0px;
      bottom: 0;
      width: 2rem;
      border-bottom: 2px solid #00a6c2; }
    .dcc__section__ttl::after {
      content: "";
      left: 10px;
      bottom: 0;
      width: 8rem;
      display: block;
      position: absolute;
      border-bottom: 2px dotted #00a6c2; }
  .dcc__section__txt {
    font-size: 0.8rem;
    text-align: left; }

@media only screen and (max-width: 960px) {
  .dcc__section {
    width: 85%;
    margin: 4rem auto; }
    .dcc__section__txt {
      font-size: 1rem; } }
@media only screen and (max-width: 640px) {
  .dcc__section {
    margin: 4rem auto; }
    .dcc__section__ttl__en {
      position: relative; } }

.recruit {
  max-width: 1200px;
  margin: 0 auto; }
  @media only screen and (max-width: 1400px) {
    .recruit {
      max-width: 960px; } }
  .recruit .dcc__section__ttl__sub {
    font-size: 1.2rem;
    margin-top: 5rem; }
  .recruit__policy {
    width: 90%;
    margin: 5rem auto 0; }
    .recruit__policy__index {
      bottom: 100%;
      left: 0;
      position: absolute;
      font-weight: bold;
      white-space: nowrap;
      color: #00a6c2;
      font-size: 0.7rem;
      letter-spacing: -1px;
      font-style: italic; }

  .recruit__link {
    width: 70%;
    margin-top: 4rem; 
    display: inline-block;}
    .recruit__link:hover {
      text-decoration: underline; }
    .recruit__link__img {
      width: 100%; }
    .recruit__link__txt {
      background: #000;
      padding: 5px;
      border-radius: 1rem;
      color: #fff; }

    .recruit__banner {
        display: flex;
        width: 100%;
        box-shadow: 4px 4px #ddd1cf;
        border: 1px solid #c30003;
    }
    .recruit__banner .recruit__link__img--left {
        width: 48.5%;
    }
    .recruit__banner .recruit__link__img--right {
        width: 51.5%;
    }
    .onlySp {
        display: none;
    }

  .recruit__img {
    max-width: 100%;
    margin: auto;
    display: block; }
  .recruit__training {
    width: 90%;
    margin: 0 auto; }
  .recruit__program__ttl {
    margin-top: 4rem;
    margin-bottom: 0; }
  .recruit__program__list {
    list-style: disc;
    padding-left: 1rem; }

@media only screen and (max-width: 960px) {
  .recruit {
    width: 85%;
    margin: 0 auto; }
    .recruit .dcc__section {
      width: 100%; } }
@media only screen and (max-width: 640px) {
  .recruit__link {
    width: 100%; }

    .onlyPc {
        display: none;
    }
    .onlySp {
        display: block;
    }
    .recruit__banner--sp {
        display: flex;
        flex-direction: column;
        box-shadow: 4px 4px #ddd1cf;
        border: 1px solid #c30003;
    }
    .recruit__banner--sp img {
        width: 100%;
        height: auto;
    }

}