/* SERVICE */
.serviceIndex__main {
  max-width: 1420px;
  margin: 0 auto;
  padding: 60px;
  display: flex;
  gap: 60px;
  scroll-margin-top: 100px; }
  @media only screen and (max-width: 1144px) {
    .serviceIndex__main {
      flex-direction: column;
      gap: 40px;
      padding: 40px 10px; } }
  .serviceIndex__main--description {
    width: calc((100% - 60px)/2);
    flex-grow: 1;
    margin: 0;
    color: #000; }
    .serviceIndex__main--description .title {
      color: #0D3486;
      font-size: 24px;
      border-bottom: 1px solid #0D3486;
      padding-bottom: 4px;
      margin-bottom: 20px;
      width: fit-content;
      line-height: 1;
      letter-spacing: 0.05em;
      -webkit-text-stroke-width: 0.6px;
      -webkit-text-stroke-color: var(--Black, #0D3486); }
      @media only screen and (max-width: 1144px) {
        .serviceIndex__main--description .title {
          font-size: 18px;
          margin-bottom: 36px; } }
    .serviceIndex__main--description p {
      line-height: 1.8;
      letter-spacing: -0.01em;
      -webkit-text-stroke-width: 0.6px;
      -webkit-text-stroke-color: var(--Black, #000); }
      @media only screen and (max-width: 1144px) {
        .serviceIndex__main--description p {
          font-size: 16px; } }
    @media only screen and (max-width: 1144px) {
      .serviceIndex__main--description {
        width: auto; } }
  .serviceIndex__main--image {
    width: calc((100% - 60px)/2); }
    @media only screen and (max-width: 1144px) {
      .serviceIndex__main--image {
        width: auto; } }
    .serviceIndex__main--image img {
      border-radius: 15px; }
      @media only screen and (max-width: 1144px) {
        .serviceIndex__main--image img {
          border-radius: 10px; } }
.serviceIndex__mainService {
  max-width: 1420px;
  margin: 20px auto;
  padding: 0 60px 60px; }
  @media only screen and (max-width: 1144px) {
    .serviceIndex__mainService {
      margin: 10px auto;
      padding: 20px 10px; } }
  .serviceIndex__mainService h3 {
    text-align: center;
    font-weight: 700;
    margin-bottom: 40px;
    font-size: 24px;
    letter-spacing: 0.05em;
    -webkit-text-stroke-width: 0.6px;
    -webkit-text-stroke-color: var(--Black, #000); }
    @media only screen and (max-width: 1144px) {
      .serviceIndex__mainService h3 {
        font-size: 16px; } }
  .serviceIndex__mainService ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; }
    @media only screen and (max-width: 1144px) {
      .serviceIndex__mainService ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 10px; } }
    .serviceIndex__mainService ul li {
      min-height: 330px;
      padding: 40px;
      border-radius: 15px;
      background-color: #ddd;
      -webkit-text-stroke-width: 0.6px;
      -webkit-text-stroke-color: var(--Black, #000); }
      @media only screen and (max-width: 1144px) {
        .serviceIndex__mainService ul li {
          padding: 30px 20px;
          border-radius: 10px;
          min-height: 250px; } }
      .serviceIndex__mainService ul li h4 {
        letter-spacing: -0.01em;
        border-bottom: 1px solid #B51E23;
        padding-bottom: 15px;
        margin-bottom: 15px; }
      .serviceIndex__mainService ul li p {
        line-height: 1.8;
        letter-spacing: -0.01em; }
        @media only screen and (max-width: 1144px) {
          .serviceIndex__mainService ul li p {
            font-size: 12px;
            -webkit-text-stroke-width: 0.4px;
            line-height: 1.7; } }

.serviceCase {
  margin: 20px auto 0;
  width: calc(100% - 30px);
  max-width: 1420px; }
  @media only screen and (max-width: 1144px) {
    .serviceCase {
      margin: 10px 0 0 0;
      width: 100%; } }
  .serviceCase .app-heading {
    max-width: 1420px;
    margin: 100px auto 0;
    letter-spacing: -0.01em; }
    @media only screen and (max-width: 1144px) {
      .serviceCase .app-heading {
        margin: 60px auto 0 10px; } }
    .serviceCase .app-heading .heading02__sub {
      -webkit-text-stroke-width: 0.6px;
      -webkit-text-stroke-color: var(--Black, #000); }
  .serviceCase .serviceCase__wrapper {
    max-width: 1420px;
    margin: 0 auto; }
    .serviceCase .serviceCase__wrapper .title {
      color: #0D3486;
      font-size: 24px;
      border-bottom: 1px solid #0D3486;
      padding-bottom: 4px;
      margin: 60px 0 40px 0;
      width: fit-content;
      line-height: 1;
      letter-spacing: 0.05em;
      -webkit-text-stroke-width: 0.6px;
      -webkit-text-stroke-color: var(--Black, #0D3486); }
      @media only screen and (max-width: 1144px) {
        .serviceCase .serviceCase__wrapper .title {
          margin: 40px 0 20px 10px;
          font-size: 18px; } }
  .serviceCase .serviceCase__wrapper-inner {
    background: url("../../img/bg-grid.png") repeat left top;
    margin-bottom: 20px;
    padding: 60px 100px; }
    @media only screen and (max-width: 1144px) {
      .serviceCase .serviceCase__wrapper-inner {
        background: url("../../img/bg-grid-sp02.png") repeat left top;
        background-size: 17px 16px;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: 40px 15px; } }
  @media only screen and (max-width: 1144px) {
    .serviceCase .case {
      width: 100%; } }
  .serviceCase .case__list {
    max-width: 1420px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 40px; }
    @media only screen and (max-width: 1144px) {
      .serviceCase .case__list {
        grid-template-columns: 1fr;
        margin-bottom: 0; } }
  .serviceCase .case__section {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    background: url("../../img/bg-gray.png") no-repeat left top;
    background-size: cover;
    border-radius: 15px;
    padding: 40px; }
    @media only screen and (max-width: 1144px) {
      .serviceCase .case__section {
        padding: 40px 20px;
        border-radius: 10px; } }
    .serviceCase .case__section--cat {
      border-bottom: 1px solid #B51E23;
      padding-bottom: 6px;
      margin-bottom: 6px;
      line-height: 1;
      letter-spacing: -0.01em; }
      .serviceCase .case__section--cat span {
        color: #B51E23;
        font-size: 40px;
        margin-right: 10px;
        -webkit-text-stroke-width: 0; }
      .serviceCase .case__section--cat:not(span) {
        -webkit-text-stroke-width: 0.6px;
        -webkit-text-stroke-color: var(--Black, #000); }
    .serviceCase .case__section--name {
      font-size: 24px;
      margin-block: 0 30px;
      letter-spacing: 0.05em;
      -webkit-text-stroke-width: 0.6px;
      -webkit-text-stroke-color: var(--Black, #000); }
      @media only screen and (max-width: 1144px) {
        .serviceCase .case__section--name {
          font-size: 16px;
          margin-block: 0 40px; } }
    .serviceCase .case__section--property-list {
      letter-spacing: -0.01em; }
      .serviceCase .case__section--property-list p {
        line-height: 1;
        font-size: 16px;
        margin-block: 0 15px; }
        @media only screen and (max-width: 1144px) {
          .serviceCase .case__section--property-list p {
            font-size: 14px;
            letter-spacing: 0; } }
      .serviceCase .case__section--property-list ul li {
        -webkit-text-stroke-width: 0.2px;
        -webkit-text-stroke-color: var(--Black, #000); }
      .serviceCase .case__section--property-list.__tags {
        margin-top: 40px; }
        @media only screen and (max-width: 1144px) {
          .serviceCase .case__section--property-list.__tags {
            margin-top: 30px; } }
        .serviceCase .case__section--property-list.__tags ul {
          display: flex;
          gap: 5px;
          flex-wrap: wrap; }
          .serviceCase .case__section--property-list.__tags ul li {
            background: #ffffff;
            color: #0D3486;
            padding: 2px 5px;
            font-size: 14px;
            line-height: 1.5;
            -webkit-text-stroke-width: 0.2px;
            -webkit-text-stroke-color: var(--Black, #0D3486); }
            @media only screen and (max-width: 1144px) {
              .serviceCase .case__section--property-list.__tags ul li {
                font-size: 12px; } }
    .serviceCase .case__section--more {
      margin: 30px 0 0 auto; }
  .serviceCase .case__all--button {
    margin-inline: auto;
    padding-block: 40px; }
