.num {
  font-family: 'Roboto', sans-serif;
  font-style: italic;
  font-weight: 300; }

.intro .ttl-page {
  color: #0074a6; }
  .intro .ttl-page .bg {
    font-size: 2em; }
.intro .intro_wrapper .intro_content {
  color: #0074a6;
  border: 1px solid #09c;
  border-radius: 6px; }
.intro .intro_wrapper .strengths_ttl {
  position: relative;
  font-weight: bold; }
  .intro .intro_wrapper .strengths_ttl::before {
    content: "";
    display: block;
    background-color: #09c;
    position: absolute; }
  .intro .intro_wrapper .strengths_ttl .bg {
    display: block; }

.strengths_content .text .ttl-section {
  display: flex;
  align-items: baseline; }
  .strengths_content .text .ttl-section .num {
    margin-right: 6px; }

@media screen and (max-width: 767px) {
  .intro .ttl-page .bg {
    margin: 0 4px; }
  .intro .intro_wrapper {
    margin-top: 16px; }
    .intro .intro_wrapper .num {
      font-size: 28px; }
    .intro .intro_wrapper .intro_content {
      padding: 12px;
      display: flex;
      align-items: center; }
    .intro .intro_wrapper .strengths_ttl {
      margin-left: 12px;
      padding-left: 20px; }
      .intro .intro_wrapper .strengths_ttl::before {
        width: 1px;
        height: 44px;
        top: calc(50% - 22px);
        left: 0; }
      .intro .intro_wrapper .strengths_ttl .bg {
        font-size: 20px;
        margin-top: 2px; }

  .intro + .section {
    margin-top: 36px; }

  .strengths_content + .strengths_content {
    margin-top: 30px; }
  .strengths_content .text .ttl-section::before {
    top: 15px; }
  .strengths_content .text .ttl-section .num {
    font-size: 32px; }
  .strengths_content .text p {
    margin-top: 10px; }
  .strengths_content .img {
    margin-top: 4px; } }
@media screen and (min-width: 768px), print {
  .intro .ttl-page .bg {
    margin: 0 6px; }
  .intro .intro_wrapper {
    text-align: center;
    margin-top: 30px; }
    .intro .intro_wrapper .num {
      font-size: 32px; }
    .intro .intro_wrapper .intro_content {
      padding: 20px 0; }
    .intro .intro_wrapper .strengths_ttl {
      margin-top: 12px;
      padding-top: 12px;
      font-size: 15px; }
      .intro .intro_wrapper .strengths_ttl::before {
        width: 12px;
        height: 1px;
        top: 0;
        left: calc(50% - 6px); }
      .intro .intro_wrapper .strengths_ttl .bg {
        font-size: 23px;
        margin-top: 2px; }

  .intro + .section {
    margin-top: 90px; }

  .strengths_content {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .strengths_content:nth-child(odd) {
      flex-direction: row-reverse; }
    .strengths_content:nth-child(3) .text .ttl-section::before {
      bottom: auto;
      top: -28px; }
    .strengths_content + .strengths_content {
      margin-top: 60px; }
    .strengths_content .text {
      width: calc(50% - 11px); }
      .strengths_content .text .ttl-section::before {
        left: -16px; }
      .strengths_content .text .ttl-section .num {
        font-size: 40px; }
      .strengths_content .text p {
        margin-top: 30px; }
    .strengths_content .img {
      width: calc(50% - 16px); } }
@media screen and (min-width: 992px) {
  .intro .intro_wrapper .num {
    font-size: 36px; }
  .intro .intro_wrapper .intro_content {
    padding: 30px 0; }
  .intro .intro_wrapper .strengths_ttl {
    margin-top: 16px;
    padding-top: 16px;
    font-size: 16px; }
    .intro .intro_wrapper .strengths_ttl .bg {
      font-size: 26px;
      margin-top: 6px; }

  .strengths_content .text {
    width: calc(50% - 16px); } }
