@charset "UTF-8";
/*↓スマホ横css*/
/*↓ipad用縦css*/
/*↓ipad用横css*/
.sec_main {
  position: relative; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .sec_main img {
      aspect-ratio: 5/3;
      object-fit: cover; } }
  .sec_main .ttl {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: rgba(9, 128, 143, 0.8);
    width: 600px;
    height: 150px;
    padding: 20px 0 0 25px;
    overflow: hidden; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_main .ttl {
        padding: 0;
        width: auto;
        height: auto;
        padding: 15px 20px; } }
    .sec_main .ttl p {
      font-size: 25px;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      color: #fff;
      letter-spacing: 0.05em;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_main .ttl p {
          font-size: 16px; } }
      .sec_main .ttl p span {
        position: relative; }
        .sec_main .ttl p span:after {
          content: "";
          position: absolute;
          width: 100vw;
          height: 1px;
          background-color: #fff;
          left: 10px;
          top: 75%;
          transform: translate(0, -50%); }
    .sec_main .ttl h2 {
      font-size: 46px;
      font-weight: 700;
      color: #fff;
      line-height: 1.2;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_main .ttl h2 {
          font-size: 22px; } }

.sec_1 {
  padding: 70px 0; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .sec_1 {
      padding: 50px 0; } }
  .sec_1 .inner {
    width: 1070px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_1 .inner {
        width: 100%; } }
  .sec_1 .list_system {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 80px; }
    .sec_1 .list_system__item {
      width: 480px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_1 .list_system__item {
          width: 100%; } }
      .sec_1 .list_system__item .txt {
        display: flex;
        margin-top: 20px; }
        .sec_1 .list_system__item .txt i {
          width: 90px; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            .sec_1 .list_system__item .txt i {
              width: 50px; } }
        .sec_1 .list_system__item .txt dl {
          flex: 1;
          padding: 10px 0 0 30px; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            .sec_1 .list_system__item .txt dl {
              padding: 9px 0 0 10px; } }
          .sec_1 .list_system__item .txt dl dt {
            font-size: 20px;
            color: #09808F;
            font-weight: 600;
            line-height: 1.4;
            margin-bottom: 10px; }
            @media only screen and (max-width: 768px), print and (min-width: 2cm) {
              .sec_1 .list_system__item .txt dl dt {
                font-size: 18px; } }
          .sec_1 .list_system__item .txt dl dd {
            line-height: 1.6;
            font-feature-settings: "palt";
            text-align: justify;
            text-justify: inter-ideograph; }

.sec_2 {
  background: url("../img/welfare/bg_workspace.jpg") no-repeat center top/cover;
  padding: 40px 0 100px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .sec_2 {
      padding: 40px 0 60px; } }
  .sec_2 .inner {
    width: 1070px; }
  .sec_2 .ttl {
    margin-bottom: 30px; }
    .sec_2 .ttl p {
      font-size: 25px;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      color: #fff;
      letter-spacing: 0.05em;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_2 .ttl p {
          font-size: 16px; } }
      .sec_2 .ttl p span {
        position: relative; }
        .sec_2 .ttl p span:after {
          content: "";
          position: absolute;
          width: 100vw;
          height: 1px;
          background-color: #fff;
          left: 10px;
          top: 75%;
          transform: translate(0, -50%); }
    .sec_2 .ttl h2 {
      font-size: 46px;
      font-weight: 700;
      color: #fff;
      line-height: 1.2; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_2 .ttl h2 {
          font-size: 24px; } }
  .sec_2 .workspace_photo {
    display: flex;
    flex-wrap: wrap; }
    .sec_2 .workspace_photo img {
      width: 33.33%; }

/*# sourceMappingURL=welfare.css.map */
