@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
カルチャー
---------------------------------------------------------------------------------------------------------------------
*/
.approach-section {
  padding: 80px 5%; }
  @media (min-width: 1024px) {
    .approach-section {
      padding: 110px 5% 140px; } }
  .approach-section__intro {
    margin: 0 auto 80px;
    text-align: center; }
    @media (min-width: 1024px) {
      .approach-section__intro {
        margin-bottom: 120px; } }
    .approach-section__intro h2 {
      font-size: 1.6em;
      font-weight: 700;
      line-height: 1.5em;
      margin: 0 0 30px 0; }
      @media (min-width: 768px) {
        .approach-section__intro h2 {
          font-size: 2.0em; } }
      @media (min-width: 1024px) {
        .approach-section__intro h2 {
          font-size: 2.4em; } }
      @media (min-width: 1200px) {
        .approach-section__intro h2 {
          font-size: 3em; } }
    .approach-section__intro p {
      max-width: 760px;
      margin: auto;
      font-size: 0.9em;
      line-height: 2.0em;
      text-align: left; }
      @media (min-width: 1024px) {
        .approach-section__intro p {
          font-size: 1.125em; } }
  .approach-section__inner {
    max-width: 1200px;
    margin: 0 auto; }

/*
---------------------------------------------------------------------------------------------------------------------
経営の特長
---------------------------------------------------------------------------------------------------------------------
*/
.approach-list {
  display: grid;
  gap: 36px;
  margin-top: 48px; }
  @media (min-width: 1024px) {
    .approach-list {
      gap: 60px;
      margin-top: 60px; } }
  .approach-list__item {
    display: grid;
    gap: 18px;
    align-items: center; }
    @media (min-width: 768px) {
      .approach-list__item {
        grid-template-columns: 180px 1fr 160px;
        gap: 20px; } }
    @media (min-width: 1024px) {
      .approach-list__item {
        grid-template-columns: 200px 1fr 200px;
        gap: 30px; } }
    @media (min-width: 1200px) {
      .approach-list__item {
        grid-template-columns: 260px 1fr 220px;
        gap: 60px; } }
  .approach-list__title {
    position: relative;
    padding: 20px 24px;
    border-radius: 5px;
    color: #fff;
    display: flex;
    align-items: center; }
    @media (min-width: 768px) {
      .approach-list__title {
        flex-direction: column;
        justify-content: center; } }
    @media (min-width: 1024px) {
      .approach-list__title {
        min-height: 230px;
        padding: 34px 20px; } }
    @media (min-width: 1200px) {
      .approach-list__title {
        padding: 34px 30px; } }
    .approach-list__title h3 {
      font-size: 2.2em;
      font-weight: 700;
      line-height: 1.0em; }
      @media (min-width: 768px) {
        .approach-list__title h3 {
          font-size: 2.8em; } }
      @media (min-width: 1200px) {
        .approach-list__title h3 {
          font-size: 3.4em; } }
    .approach-list__title p {
      font-size: 0.9em;
      line-height: 1.4em;
      margin-left: 10px; }
      @media (min-width: 768px) {
        .approach-list__title p {
          margin: 10px 0 0 0; } }
      @media (min-width: 1200px) {
        .approach-list__title p {
          font-size: 1.2em;
          margin: 20px 0 0 0; } }
  .approach-list__text {
    position: relative;
    padding: 28px 24px;
    border: 4px solid currentColor;
    box-sizing: border-box; }
    @media (min-width: 768px) {
      .approach-list__text {
        min-height: 190px;
        display: flex;
        align-items: center; } }
    @media (min-width: 1024px) {
      .approach-list__text {
        min-height: 230px;
        padding: 40px 54px; } }
    .approach-list__text p {
      font-size: 0.9em;
      line-height: 2.0em;
      text-align: justify;
      color: #000; }
      @media (min-width: 1024px) {
        .approach-list__text p {
          font-size: 1.0em; } }
  .approach-list__title::after, .approach-list__text::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    width: 6px;
    height: 20px;
    background: linear-gradient(180deg, #1f63d4 0%, #b9cbe9 100%);
    z-index: -1; }
    @media (min-width: 768px) {
      .approach-list__title::after, .approach-list__text::after {
        top: 50%;
        left: inherit;
        right: -20px;
        width: 20px;
        height: 6px;
        transform: translateY(-50%);
        background: linear-gradient(90deg, #1f63d4 0%, #b9cbe9 100%); } }
    @media (min-width: 1024px) {
      .approach-list__title::after, .approach-list__text::after {
        right: -30px;
        width: 30px; } }
    @media (min-width: 1200px) {
      .approach-list__title::after, .approach-list__text::after {
        right: -52px;
        width: 40px; } }
  .approach-list__photo {
    width: 160px;
    height: 160px;
    margin: 0 auto;
    border: 6px solid currentColor;
    border-radius: 50%;
    overflow: hidden; }
    @media (min-width: 1024px) {
      .approach-list__photo {
        width: 230px;
        height: 230px; } }
    @media (min-width: 1200px) {
      .approach-list__photo {
        width: 260px;
        height: 260px; } }
  .approach-list__item--blue .approach-list__title {
    background: #40BDF7; }
  .approach-list__item--blue .approach-list__text,
  .approach-list__item--blue .approach-list__photo {
    color: #40BDF7; }
  .approach-list__item--pink .approach-list__title {
    background: #F299FF; }
  .approach-list__item--pink .approach-list__text,
  .approach-list__item--pink .approach-list__photo {
    color: #F299FF; }
  .approach-list__item--green .approach-list__title {
    background: #95EFC0; }
  .approach-list__item--green .approach-list__text,
  .approach-list__item--green .approach-list__photo {
    color: #95EFC0; }
  .approach-list__item--navy .approach-list__title {
    background: #155FD5; }
  .approach-list__item--navy .approach-list__text,
  .approach-list__item--navy .approach-list__photo {
    color: #155FD5; }

/*
---------------------------------------------------------------------------------------------------------------------
コミュニケーションを支える取り組み
---------------------------------------------------------------------------------------------------------------------
*/
.community-section {
  padding: 80px 5%; }
  @media (min-width: 1024px) {
    .community-section {
      padding: 110px 5% 130px; } }
  .community-section__inner {
    max-width: 1120px;
    margin: 0 auto; }

.community-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px; }
  @media (min-width: 768px) {
    .community-list {
      grid-template-columns: repeat(2, 1fr);
      gap: 60px 40px; } }

.community-card h3 {
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.2em;
  color: #155FD5;
  margin: 0 0 10px 0; }
  @media (min-width: 1024px) {
    .community-card h3 {
      font-size: 1.25em;
      margin: 0 0 15px 0; } }
.community-card__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-bottom: 10px; }
  @media (min-width: 768px) {
    .community-card__images {
      margin-bottom: 20px; } }
  .community-card__images img {
    display: block;
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 6px; }
    @media (min-width: 768px) {
      .community-card__images img {
        height: 170px;
        border-radius: 10px; } }
    @media (min-width: 1024px) {
      .community-card__images img {
        height: 190px; } }
.community-card h4 {
  font-size: 1.0em;
  font-weight: 700;
  line-height: 1.4em;
  margin: 0 0 2px 0; }
  @media (min-width: 1024px) {
    .community-card h4 {
      font-size: 1.1em;
      margin: 0 0 10px 0; } }
.community-card p {
  font-size: 0.8em;
  line-height: 2.0em; }
  @media (min-width: 1024px) {
    .community-card p {
      font-size: 1.0em; } }
.community-card--wide .community-card__images {
  grid-template-columns: 1fr; }
  .community-card--wide .community-card__images img {
    height: 160px; }
    @media (min-width: 768px) {
      .community-card--wide .community-card__images img {
        height: 170px; } }
    @media (min-width: 1024px) {
      .community-card--wide .community-card__images img {
        height: 190px; } }
