.sec_company_philosophy {
  overflow: hidden;
  background: #fff;

  .wrap {
    margin: 0 auto;
    padding: 100px 40px 70px;
    max-width: 1360px;
    @media (max-width: 800px) { padding: 80px 28px 55px; }
    @media (max-width: 600px) { padding: 65px 18px 45px; }
  }

  .main {
    padding: 8px 0 75px;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 105px;
    @media (max-width: 1000px) { gap: 55px; }
    @media (max-width: 700px) { padding-bottom: 48px; display: block; }
  }

  .headline {
    .small { margin-bottom: 18px; }
    h2 {
      font-size: 47px;
      font-weight: 800;
      line-height: 1.55em;
      letter-spacing: -.05em;

      em { color: #176ce0; font-style: normal; }
      @media (max-width: 1100px) { font-size: 39px; }
      @media (max-width: 700px) { margin-bottom: 30px; font-size: 36px; }
      @media (max-width: 400px) { font-size: 31px; }
    }
  }

  .statement {
    padding: 3px 0 0 33px;
    border-left: 2px solid #50b8f4;

    .large { margin-bottom: 25px; color: #183a62; font-size: 23px; font-weight: 700; line-height: 1.7em; }
    p:not(.large) { margin-top: 16px; color: #526b87; font-size: 15px; line-height: 1.95em; }
    @media (max-width: 700px) { padding-left: 20px; .large { font-size: 19px; } p:not(.large) { font-size: 14px; } }
  }

  .footline {
    padding-top: 28px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #d6e5f4;
    color: #7b9abb;
    font-family: var(--font-en);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .17em;
    @media (max-width: 600px) { flex-wrap: wrap; justify-content: start; font-size: 10px; }
  }
}
