.p-development {
  padding: 8rem 0 12rem;
}

.p-development-text {
  margin-bottom: 8rem;
  text-align: center;
}

.p-development-ojt {
  margin-top: 6rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-development-ojt-area {
  color: #fff;
  background-color: #005ED2;
  width: 37.9rem;
  padding: 3.5rem 0;
  text-align: center;
}

.p-development-ojt-label {
  font-size: 8rem;
  line-height: 1.2;
  letter-spacing: 0.06em;
  font-weight: 400;
}

.p-development-ojt-desc {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.p-development-ojt-list {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.06em;
  font-weight: 400;
  flex: 1;
}
.p-development-ojt-list li {
  background: #EEF5FF;
  padding: 2rem 3rem;
}
.p-development-ojt-list li + li {
  border-top: solid 0.2rem #fff;
}

.p-development-table {
  margin-top: 3rem;
}

.p-development-row {
  display: flex;
  border-top: 0.1rem solid #fff;
}
.p-development-row + .p-development-row {
  margin-top: 3rem;
}

.p-development-cell {
  padding: 2rem;
}

.p-development-cell-head {
  width: 6.6rem;
  background: #0F4283;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  writing-mode: vertical-rl;
  text-orientation: upright;
  border-right: 0.5rem solid #fff;
}

.p-development-cell-body {
  flex: 1;
  background: #EEF5FF;
}

.p-development-box {
  border-bottom: 0.4rem solid #fff;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-development-box:last-child {
  border-bottom: none;
}

.p-development-box-title {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
  font-weight: 700;
  background: #5271B9;
  color: #fff;
  padding: 0 3rem;
  width: 30.8rem;
  min-height: 7.7rem;
  border-right: 0.4rem solid #fff;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-development-box-title-sub {
  min-height: 15rem;
}

.p-development-box-text {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.06em;
  font-weight: 400;
  padding: 1.2rem 3rem;
  flex: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-development {
    padding: 10.6666666667vw 0 16vw;
  }
  .p-development-text {
    margin-bottom: 10.6666666667vw;
    text-align: left;
  }
  .p-development-ojt {
    margin-top: 16vw;
    flex-direction: column;
  }
  .p-development-ojt-area {
    width: 100%;
    padding: 4vw 12vw;
    text-align: left;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .p-development-ojt-label {
    font-size: 13.3333333333vw;
    line-height: 1;
    letter-spacing: 0.06em;
    font-weight: 400;
  }
  .p-development-ojt-desc {
    font-size: 4.2666666667vw;
    line-height: 2.5;
    letter-spacing: 0.06em;
    font-weight: 400;
  }
  .p-development-ojt-list {
    font-size: 4.2666666667vw;
    line-height: 1.8125;
    letter-spacing: 0.06em;
    font-weight: 400;
  }
  .p-development-ojt-list li {
    padding: 5.3333333333vw;
  }
  .p-development-ojt-list li + li {
    border-top: solid 0.5333333333vw #fff;
  }
  .p-development-table {
    margin-top: 8vw;
  }
  .p-development-row {
    border-top: 0.2666666667vw solid #fff;
    flex-direction: column;
  }
  .p-development-row + .p-development-row {
    margin-top: 8vw;
  }
  .p-development-cell {
    padding: 5.3333333333vw;
  }
  .p-development-cell-head {
    width: 100%;
    font-size: 5.3333333333vw;
    line-height: 1.3;
    letter-spacing: 0.06em;
    font-weight: 700;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    border-right: 0;
    border-bottom: 1.0666666667vw solid #fff;
  }
  .p-development-cell-body {
    flex: 1;
  }
  .p-development-box {
    border-bottom: 0;
    flex-direction: column;
  }
  .p-development-box + .p-development-box {
    border-top: 1.3333333333vw solid #fff;
  }
  .p-development-box:last-child {
    border-bottom: none;
  }
  .p-development-box-title {
    font-size: 5.3333333333vw;
    line-height: 1.6;
    letter-spacing: 0.06em;
    font-weight: 700;
    padding: 5.3333333333vw;
    width: 100%;
    min-height: auto;
    border-right: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .p-development-box-title-sub {
    min-height: auto;
  }
  .p-development-box-text {
    font-size: 4.2666666667vw;
    line-height: 1.75;
    letter-spacing: 0.06em;
    font-weight: 400;
    padding: 3.2vw 8vw;
    flex: 1;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
