@charset "UTF-8";
.breadcrumb {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.2rem;
  color: #16224f;
  padding: 45px 0;
  text-align: right;
  max-width: 1560px;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .breadcrumb {
      font-size: 3.5897435897vw;
      padding: 7.6923076923vw 5.1282051282vw; } }

.srv-page-intro {
  padding: 50px 0 60px;
  text-align: center;
  background: #fff; }
  @media (max-width: 480px) {
    .srv-page-intro {
      padding: 10.2564102564vw 5.1282051282vw 12.8205128205vw; } }
  .srv-page-intro__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
    color: #16224f;
    letter-spacing: 2px;
    line-height: 1.6;
    margin-bottom: 30px; }
    @media (max-width: 480px) {
      .srv-page-intro__title {
        font-size: 6.4102564103vw;
        letter-spacing: 0.3846153846vw;
        margin-bottom: 5.1282051282vw;
        line-height: 1.5; } }
  .srv-page-intro__description {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #16224f;
    line-height: 1.78;
    max-width: 967px;
    margin: 0 auto; }
    @media (max-width: 480px) {
      .srv-page-intro__description {
        font-size: 3.3333333333vw;
        line-height: 1.7; } }

.section-heading {
  position: relative;
  margin-bottom: 40px; }
  @media (max-width: 480px) {
    .section-heading {
      margin-bottom: 5.1282051282vw; } }
  .section-heading__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 4.5rem;
    font-weight: 700;
    color: #16224f;
    letter-spacing: 3.6px;
    padding-left: 49px;
    line-height: 1.4; }
    @media (max-width: 480px) {
      .section-heading__title {
        font-size: 5.641025641vw;
        letter-spacing: 0.5128205128vw;
        padding-left: 7.6923076923vw; } }
  .section-heading__underline {
    position: absolute;
    left: 0;
    top: 35px;
    width: 30px;
    height: 6px;
    background: #e50810; }
    @media (max-width: 480px) {
      .section-heading__underline {
        top: 50%;
        transform: translateY(-50%);
        width: 6.1538461538vw;
        height: 1.0256410256vw; } }
  .section-heading.animate .section-heading__title {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
  .section-heading.effect .section-heading__title {
    opacity: 1;
    transform: translateX(0); }

.srv-cards {
  display: grid;
  grid-template-columns: repeat(2, 564px);
  gap: 61px 72px;
  max-width: 1200px;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .srv-cards {
      grid-template-columns: 1fr;
      gap: 7.6923076923vw;
      padding: 0 2.5641025641vw; } }

.srv-card {
  position: relative;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
  @media (max-width: 480px) {
    .srv-card {
      border-radius: 1.5384615385vw; } }
  .srv-card__number {
    position: absolute;
    left: 32px;
    top: 20px;
    font-family: "Oswald", sans-serif;
    font-size: 5rem;
    font-weight: 500;
    color: #16224f;
    line-height: 1;
    z-index: 2; }
    @media (max-width: 480px) {
      .srv-card__number {
        font-size: 7.6923076923vw;
        left: 5.1282051282vw;
        top: 3.8461538462vw; } }
  .srv-card__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 175px;
    padding-top: 55px; }
    @media (max-width: 480px) {
      .srv-card__icon {
        height: 30.7692307692vw;
        padding-top: 10.2564102564vw; } }
    .srv-card__icon img {
      width: 98px;
      height: 98px; }
      @media (max-width: 480px) {
        .srv-card__icon img {
          width: 17.9487179487vw;
          height: 17.9487179487vw; } }
  .srv-card__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #16224f;
    text-align: center;
    padding: 0 40px 24px; }
    @media (max-width: 480px) {
      .srv-card__title {
        font-size: 4.6153846154vw;
        padding: 0 5.1282051282vw 4.1025641026vw; } }
  .srv-card__description {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #16224f;
    line-height: 1.8;
    padding: 0 51px 40px; }
    @media (max-width: 480px) {
      .srv-card__description {
        font-size: 3.5897435897vw;
        padding: 0 5.1282051282vw 6.1538461538vw;
        line-height: 1.7; } }
  .srv-card.animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
  .srv-card.effect {
    opacity: 1;
    transform: translateY(0); }
  .srv-card:nth-child(1).animate {
    transition-delay: 0.15s; }
  .srv-card:nth-child(2).animate {
    transition-delay: 0.3s; }
  .srv-card:nth-child(3).animate {
    transition-delay: 0.45s; }
  .srv-card:nth-child(4).animate {
    transition-delay: 0.6s; }

.work-time-table {
  max-width: 1117px;
  margin: 0 auto 34px; }
  @media (max-width: 480px) {
    .work-time-table {
      padding: 0 2.5641025641vw;
      margin-bottom: 6.1538461538vw; } }
  .work-time-table table {
    width: 100%;
    border-collapse: collapse; }
    @media (max-width: 480px) {
      .work-time-table table {
        display: block;
        overflow-x: auto; } }
  .work-time-table tr {
    color: #000;
    border: 1px solid #16224F; }
  .work-time-table th {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    border: 1px solid #16224F;
    background-color: #DBDAD9;
    padding: 27.5px 20px;
    width: 557px; }
    @media (max-width: 480px) {
      .work-time-table th {
        width: 60%;
        font-size: 3.3333333333vw;
        padding: 4.1025641026vw 3.0769230769vw; } }
  .work-time-table td {
    background: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    padding: 27.5px 20px;
    width: 559px; }
    @media (max-width: 480px) {
      .work-time-table td {
        font-size: 3.0769230769vw;
        padding: 4.1025641026vw 3.0769230769vw;
        width: auto; } }
  .work-time-table__note {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.2rem;
    color: #000;
    padding-top: 10px; }
    @media (max-width: 480px) {
      .work-time-table__note {
        font-size: 3.0769230769vw;
        padding: 2.5641025641vw 0 0;
        line-height: 1.4; } }

.pick_txt {
  width: 680px;
  margin-bottom: 30px; }
  @media (max-width: 480px) {
    .pick_txt {
      width: 100%;
      margin-bottom: 7.6923076923vw; } }

.vehicle-list {
  position: relative;
  max-width: 1560px;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .vehicle-list {
      flex-direction: column;
      gap: 7.6923076923vw;
      padding: 0 2.5641025641vw; } }
  .vehicle-list__text {
    width: 680px;
    flex: 1; }
    @media (max-width: 480px) {
      .vehicle-list__text {
        width: 100%;
        order: 1; } }
    .vehicle-list__text .vehicle-list__txt {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 1.4rem;
      color: #16224f;
      line-height: 1.9;
      margin-bottom: 50px; }
      @media (max-width: 480px) {
        .vehicle-list__text .vehicle-list__txt {
          font-size: 3.5897435897vw;
          line-height: 1.7;
          margin-bottom: 3.0769230769vw; } }
    .vehicle-list__text .vehicle-list__ttl {
      color: #16224F;
      font-family: "Noto Sans JP";
      font-size: 25px;
      font-style: normal;
      font-weight: 700;
      margin-bottom: 20px;
      letter-spacing: 2px;
      line-height: 1.2; }
      @media (max-width: 480px) {
        .vehicle-list__text .vehicle-list__ttl {
          font-size: 4.1025641026vw;
          margin-bottom: 2.5641025641vw;
          letter-spacing: 0.5128205128vw; } }
    .vehicle-list__text ul {
      width: 600px;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 1.8rem;
      color: #16224f;
      line-height: 2.6;
      padding-left: 0; }
      @media (max-width: 480px) {
        .vehicle-list__text ul {
          width: 100%;
          font-size: 3.0769230769vw;
          line-height: 2.2; } }
      .vehicle-list__text ul li {
        border-bottom: 1px solid #DBDAD9; }
        @media (max-width: 480px) {
          .vehicle-list__text ul li {
            padding: 1.7948717949vw 0; } }
      .vehicle-list__text ul li::before {
        content: '・';
        margin-right: 0.5em; }
  .vehicle-list__txt2 {
    width: 556px;
    margin-bottom: 30px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    line-height: 1.9; }
    @media (max-width: 480px) {
      .vehicle-list__txt2 {
        width: 100%;
        font-size: 3.5897435897vw;
        margin-bottom: 5.1282051282vw;
        line-height: 1.7; } }
  .vehicle-list__image {
    position: absolute;
    width: 738px;
    right: -300px;
    bottom: 0; }
    @media (max-width: 480px) {
      .vehicle-list__image {
        position: relative;
        right: -7.6923076923vw;
        width: 100%;
        margin-bottom: 7.6923076923vw;
        order: 2; } }
    .vehicle-list__image img {
      width: 100%;
      height: auto; }
    .vehicle-list__image.animate {
      opacity: 0;
      transform: translateX(60px);
      transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
    .vehicle-list__image.effect {
      opacity: 1;
      transform: translateX(0); }
  .vehicle-list__image2 {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    right: 30px;
    top: 0; }
    @media (max-width: 480px) {
      .vehicle-list__image2 {
        position: unset;
        width: 80%;
        margin: 0 auto 7.6923076923vw;
        order: 2; } }
    .vehicle-list__image2 img {
      width: 100%;
      height: auto; }
    .vehicle-list__image2.animate {
      opacity: 1;
      transform: unset; }
      .vehicle-list__image2.animate .vehicle-list__image2--01 {
        transform: translateY(50px);
        transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
      .vehicle-list__image2.animate .vehicle-list__image2--02 {
        transform: translateY(50px);
        transition: opacity 0.8s .5s ease-out, transform 0.8s .5s ease-out; }
    .vehicle-list__image2.effect {
      opacity: 1;
      transform: translateX(0); }
      .vehicle-list__image2.effect .vehicle-list__image2--01 {
        transform: translateY(0);
        opacity: 1; }
      .vehicle-list__image2.effect .vehicle-list__image2--02 {
        transform: translateY(0);
        opacity: 1; }
    .vehicle-list__image2--01 {
      width: 257px;
      margin-top: 60px;
      opacity: 0; }
      @media (max-width: 480px) {
        .vehicle-list__image2--01 {
          width: 30.7692307692vw;
          margin-top: 10.2564102564vw; } }
    .vehicle-list__image2--02 {
      width: 257px;
      margin-left: 20px;
      opacity: 0; }
      @media (max-width: 480px) {
        .vehicle-list__image2--02 {
          width: 30.7692307692vw;
          margin-left: 5.1282051282vw; } }

.unit-img01 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  max-width: 1360px;
  margin: 60px auto 0; }
  @media (max-width: 480px) {
    .unit-img01 {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      margin-top: 10.2564102564vw; } }
  .unit-img01 .unit-img01__set {
    width: 240px;
    object-fit: cover; }
    @media (max-width: 480px) {
      .unit-img01 .unit-img01__set {
        width: 33%; } }
    .unit-img01 .unit-img01__set img {
      width: 100%;
      height: auto; }
    @media (max-width: 480px) {
      .unit-img01 .unit-img01__set:nth-child(4), .unit-img01 .unit-img01__set:nth-child(5) {
        display: none; } }

.srv-merit-section {
  background: #16224f;
  padding: 210px 0 100px; }
  @media (max-width: 480px) {
    .srv-merit-section {
      padding: 23.0769230769vw 0 7.6923076923vw; } }
  .srv-merit-section__heading {
    font-family: "Oswald", sans-serif;
    font-size: 8.6rem;
    font-weight: 500;
    color: #e50810;
    text-align: center;
    letter-spacing: 0;
    margin-bottom: 30px;
    line-height: 1; }
    @media (max-width: 480px) {
      .srv-merit-section__heading {
        font-size: 12.3076923077vw;
        margin-bottom: 2.0512820513vw; } }
  .srv-merit-section__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 4rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    letter-spacing: 0;
    margin-bottom: 70px; }
    @media (max-width: 480px) {
      .srv-merit-section__title {
        font-size: 4.6153846154vw;
        margin-bottom: 15.3846153846vw; } }

.srv-merit-grid {
  display: grid;
  grid-template-columns: repeat(3, 330px);
  gap: 57px 108px;
  max-width: 1200px;
  margin: 0 auto 80px; }
  @media (max-width: 480px) {
    .srv-merit-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 10.2564102564vw 8%;
      padding: 0;
      margin-bottom: 12.8205128205vw; } }

.srv-merit-card {
  position: relative; }
  @media (max-width: 480px) {
    .srv-merit-card {
      width: 46%; } }
  .srv-merit-card::after {
    position: absolute;
    content: " ";
    width: 1px;
    height: 100%;
    background: #fff;
    top: 0;
    right: -55px; }
    @media (max-width: 480px) {
      .srv-merit-card::after {
        width: 0.2564102564vw;
        right: -3.5897435897vw; } }
  .srv-merit-card:nth-child(3n)::after {
    display: none; }
    @media (max-width: 480px) {
      .srv-merit-card:nth-child(3n)::after {
        display: block; } }
  @media (max-width: 480px) {
    .srv-merit-card:nth-child(2n)::after {
      display: none; } }
  @media (max-width: 480px) {
    .srv-merit-card {
      text-align: center; } }
  .srv-merit-card__no {
    display: flex;
    align-items: center;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    font-size: 2.5rem;
    color: #fff;
    margin-bottom: 15px;
    line-height: 1; }
    @media (max-width: 480px) {
      .srv-merit-card__no {
        font-size: 3.3333333333vw; } }
    .srv-merit-card__no span {
      font-size: 4.5rem;
      font-weight: 500;
      padding-left: 10px; }
      @media (max-width: 480px) {
        .srv-merit-card__no span {
          font-size: 5.1282051282vw;
          padding-left: 2.0512820513vw; } }
  .srv-merit-card__label {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 63px;
    background: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: #16224f;
    margin-bottom: 31.75px;
    position: relative;
    letter-spacing: 0.2564102564vw; }
    @media (max-width: 480px) {
      .srv-merit-card__label {
        height: 10.2564102564vw;
        font-size: 3.5897435897vw;
        margin-bottom: 3.8461538462vw; } }
    .srv-merit-card__label::after {
      content: '';
      position: absolute;
      bottom: -10.75px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 12px solid transparent;
      border-right: 12px solid transparent;
      border-top: 11px solid #fff; }
      @media (max-width: 480px) {
        .srv-merit-card__label::after {
          bottom: -1.7948717949vw;
          border-left: 2.0512820513vw solid transparent;
          border-right: 2.0512820513vw solid transparent;
          border-top: 2.3076923077vw solid #fff; } }
  .srv-merit-card__image {
    width: 100%;
    height: 213px;
    margin-bottom: 30px; }
    @media (max-width: 480px) {
      .srv-merit-card__image {
        height: auto;
        margin-bottom: 5.1282051282vw; } }
    .srv-merit-card__image img {
      width: 100%;
      object-fit: cover; }
  .srv-merit-card__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    color: #fff;
    margin-bottom: 24px; }
    @media (max-width: 480px) {
      .srv-merit-card__title {
        font-size: 3.5897435897vw;
        margin-bottom: 4.1025641026vw;
        letter-spacing: 0; } }
  .srv-merit-card__description {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #fff;
    line-height: 1.86; }
    @media (max-width: 480px) {
      .srv-merit-card__description {
        font-size: 3.5897435897vw;
        text-align: left;
        line-height: 1.7; } }
  .srv-merit-card.animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
  .srv-merit-card.effect {
    opacity: 1;
    transform: translateY(0); }
  .srv-merit-card:nth-child(1).animate {
    transition-delay: 0.15s; }
  .srv-merit-card:nth-child(2).animate {
    transition-delay: 0.3s; }
  .srv-merit-card:nth-child(3).animate {
    transition-delay: 0.45s; }
  .srv-merit-card:nth-child(4).animate {
    transition-delay: 0.6s; }
  .srv-merit-card:nth-child(5).animate {
    transition-delay: 0.75s; }
  .srv-merit-card:nth-child(6).animate {
    transition-delay: 0.9s; }

.srv-strength-section {
  padding: 30px 0 105px;
  background: #16224f; }
  @media (max-width: 480px) {
    .srv-strength-section {
      padding: 15.3846153846vw 0 12.8205128205vw; } }
  .srv-strength-section__heading {
    font-family: 'Rift Soft', sans-serif;
    font-size: 7.15rem;
    font-weight: 500;
    color: #e50810;
    text-align: center;
    margin-bottom: 30px;
    line-height: 1; }
    @media (max-width: 480px) {
      .srv-strength-section__heading {
        font-size: 8.9743589744vw;
        margin-bottom: 7.6923076923vw; } }
  .srv-strength-section__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 4.5rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    letter-spacing: 3.6px;
    margin-bottom: 30px; }
    @media (max-width: 480px) {
      .srv-strength-section__title {
        font-size: 6.1538461538vw;
        letter-spacing: 0.5128205128vw;
        margin-bottom: 7.6923076923vw;
        letter-spacing: 0.5128205128vw;
        line-height: 1.4; } }
  .srv-strength-section__bg {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 90px; }
    @media (max-width: 480px) {
      .srv-strength-section__bg {
        margin-bottom: 10.2564102564vw; } }
    .srv-strength-section__bg img {
      width: 100%;
      height: auto; }
  .srv-strength-section__text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    color: #fff;
    line-height: 1.94;
    max-width: 1202px;
    margin: 0 auto 60px;
    text-align: center; }
    @media (max-width: 480px) {
      .srv-strength-section__text {
        font-size: 3.5897435897vw;
        line-height: 1.7;
        padding: 0;
        margin-bottom: 10.2564102564vw;
        text-align: left; } }

.map-section {
  padding-bottom: 20px !important; }
  @media (max-width: 480px) {
    .map-section {
      padding-bottom: 5.1282051282vw !important; } }

.area-map {
  display: flex;
  gap: 63px;
  margin-top: 50px; }
  @media (max-width: 480px) {
    .area-map {
      flex-direction: column;
      gap: 7.6923076923vw;
      padding: 0 2.5641025641vw;
      margin-top: 10.2564102564vw; } }
  .area-map__image {
    width: 645px; }
    @media (max-width: 480px) {
      .area-map__image {
        width: 100%; } }
    .area-map__image img {
      width: 100%;
      height: auto; }
  .area-map__table {
    flex: 1; }
    .area-map__table table {
      width: 100%;
      border-collapse: collapse; }
    .area-map__table tr {
      border: 1px solid #000; }
    .area-map__table th {
      width: 15%;
      background: #fff;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 1.6rem;
      font-weight: 700;
      padding: 20px 15px;
      background-color: #DBDAD9;
      text-align: center;
      vertical-align: middle;
      border: 1px solid #000; }
      @media (max-width: 480px) {
        .area-map__table th {
          width: 30%;
          font-size: 3.0769230769vw;
          padding: 3.0769230769vw 2.5641025641vw; } }
      .area-map__table th.map {
        width: 25%; }
        @media (max-width: 480px) {
          .area-map__table th.map {
            width: 30%; } }
    .area-map__table td {
      background: #fff;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 1.6rem;
      padding: 20px 15px;
      line-height: 1.8; }
      @media (max-width: 480px) {
        .area-map__table td {
          font-size: 2.8205128205vw;
          padding: 3.0769230769vw 2.5641025641vw;
          line-height: 1.6; } }
  .area-map__note {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    line-height: 1.2;
    margin: 15px auto 0; }
    @media (max-width: 480px) {
      .area-map__note {
        font-size: 3.0769230769vw;
        margin-top: 3.8461538462vw; } }

.srv-flow-steps {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 60px auto;
  position: relative; }
  @media (max-width: 480px) {
    .srv-flow-steps {
      gap: 10.2564102564vw 6%;
      justify-content: center;
      margin-top: 10.2564102564vw; } }

.srv-flow-step {
  text-align: center;
  width: 201px;
  position: relative;
  border: 1px solid #16224F;
  padding-top: 60px;
  border-radius: 10px;
  z-index: 1; }
  @media (max-width: 480px) {
    .srv-flow-step {
      width: 29%;
      padding: 10.2564102564vw 2.5641025641vw 0; } }
  .srv-flow-step__icon {
    height: 58px;
    margin: 0 auto 20px;
    text-align: center; }
    @media (max-width: 480px) {
      .srv-flow-step__icon {
        height: 6.4102564103vw;
        margin-bottom: 6.4102564103vw; } }
    .srv-flow-step__icon img {
      display: inline-block;
      width: auto;
      height: 100%; }
  .srv-flow-step__number {
    position: absolute;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #DBDAD9;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media (max-width: 480px) {
      .srv-flow-step__number {
        width: 15.3846153846vw;
        height: 15.3846153846vw;
        margin-bottom: 4.1025641026vw; } }
    .srv-flow-step__number .en {
      font-family: "Oswald", sans-serif;
      font-size: 2rem;
      font-weight: 500;
      color: #16224F;
      line-height: 1;
      letter-spacing: 0; }
      @media (max-width: 480px) {
        .srv-flow-step__number .en {
          font-size: 3.0769230769vw; } }
    .srv-flow-step__number .icon {
      width: 56px;
      height: 56px; }
      @media (max-width: 480px) {
        .srv-flow-step__number .icon {
          width: 10.2564102564vw;
          height: 10.2564102564vw; } }
      .srv-flow-step__number .icon img {
        width: 100%;
        height: 100%; }
  .srv-flow-step__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #16224f;
    line-height: 1.8;
    margin-bottom: 30px; }
    @media (max-width: 480px) {
      .srv-flow-step__title {
        font-size: 3.0769230769vw;
        margin-bottom: 5.1282051282vw;
        line-height: 1.4; } }
  .srv-flow-step__description {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    color: #16224f;
    line-height: 1.7; }
    @media (max-width: 480px) {
      .srv-flow-step__description {
        font-size: 3.5897435897vw; } }
  .srv-flow-step__arrow {
    position: absolute;
    right: -36px;
    top: 50%;
    width: 21px;
    height: 19px;
    background-image: url(../img/icons/arrow02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-50%); }
    @media (max-width: 480px) {
      .srv-flow-step__arrow {
        width: 4.1025641026vw;
        height: 3.5897435897vw;
        right: -5.1282051282vw; } }
  .srv-flow-step:last-child .srv-flow-step__arrow {
    display: none; }
  .srv-flow-step.animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
  .srv-flow-step.effect {
    opacity: 1;
    transform: translateY(0); }
  .srv-flow-step:nth-child(1).animate {
    transition-delay: 0.15s; }
  .srv-flow-step:nth-child(2).animate {
    transition-delay: 0.3s; }
  .srv-flow-step:nth-child(3).animate {
    transition-delay: 0.45s; }
  .srv-flow-step:nth-child(4).animate {
    transition-delay: 0.6s; }
  .srv-flow-step:nth-child(5).animate {
    transition-delay: 0.75s; }

.detail-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 349px;
  height: 66px;
  background: transparent;
  border: 2px solid #16224f;
  border-radius: 33px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #16224f;
  text-decoration: none;
  transition: background 0.3s, color 0.3s;
  position: relative; }
  @media (max-width: 480px) {
    .detail-button {
      width: 100%;
      max-width: 82.0512820513vw;
      height: 12.8205128205vw;
      font-size: 3.3333333333vw;
      border-radius: 6.4102564103vw; } }
  .detail-button::after {
    content: '';
    width: 16px;
    height: 18.5px;
    margin-left: 15px;
    background: url('data:image/svg+xml;utf8,<svg width="32" height="37" viewBox="0 0 32 37" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 18.5L31.5 36.7895L31.5 0.210526L0.5 18.5Z" fill="%2316224f"/></svg>') no-repeat center/contain; }
    @media (max-width: 480px) {
      .detail-button::after {
        width: 3.5897435897vw;
        height: 4.1025641026vw;
        margin-left: 2.5641025641vw; } }
  .detail-button:hover {
    background: #16224f;
    color: #fff; }
    .detail-button:hover::after {
      background-image: url('data:image/svg+xml;utf8,<svg width="32" height="37" viewBox="0 0 32 37" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 18.5L31.5 36.7895L31.5 0.210526L0.5 18.5Z" fill="%23fff"/></svg>'); }

.contents-wrapper {
  max-width: 1200px;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .contents-wrapper {
      padding: 0 5.1282051282vw 10.2564102564vw; } }

.section-space {
  padding: 120px 0;
  overflow: hidden; }
  @media (max-width: 480px) {
    .section-space {
      padding: 15.3846153846vw 0 0; } }
  .section-space--sm {
    padding: 80px 0; }
    @media (max-width: 480px) {
      .section-space--sm {
        padding: 10.2564102564vw 0 2.5641025641vw; } }
  .section-space--gray {
    background: #f5f4f3; }
  .section-space--navy {
    background: #16224f; }

.feature-content {
  padding: 180px 0 0;
  margin-bottom: -120px; }
  @media (max-width: 480px) {
    .feature-content {
      padding: 0;
      margin-bottom: -20.5128205128vw; } }

.str-intro {
  padding: 60px 0 150px;
  text-align: center; }
  @media (max-width: 480px) {
    .str-intro {
      padding: 10.2564102564vw 0 15.3846153846vw; } }
  .str-intro__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 5rem;
    font-weight: 700;
    color: #16224f;
    letter-spacing: 4px;
    line-height: 1.6;
    margin-bottom: 36px; }
    @media (max-width: 480px) {
      .str-intro__title {
        font-size: 7.1794871795vw;
        letter-spacing: 0.5128205128vw;
        margin-bottom: 6.1538461538vw; } }
  .str-intro__text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #16224f;
    line-height: 2;
    max-width: 1163px;
    margin: 0 auto; }
    @media (max-width: 480px) {
      .str-intro__text {
        font-size: 3.3333333333vw;
        line-height: 1.7;
        text-align: left; } }

.str-reason {
  position: relative;
  display: flex;
  align-items: stretch;
  margin-bottom: 130px;
  overflow: hidden; }
  @media (max-width: 480px) {
    .str-reason {
      flex-direction: column;
      min-height: auto;
      margin-bottom: 10.2564102564vw;
      overflow: hidden; } }
  .str-reason__image {
    position: absolute;
    width: 1172px;
    overflow: hidden;
    right: 50%;
    top: -70px;
    transform: translateX(-50%); }
    @media (max-width: 480px) {
      .str-reason__image {
        position: unset;
        width: 100%;
        order: 1; } }
    .str-reason__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .str-reason__image.animate {
      opacity: 0;
      transform: translateX(-40px);
      transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
    .str-reason__image.effect {
      opacity: 1;
      transform: translateX(0); }
  .str-reason__content {
    position: relative;
    width: 60%;
    min-height: 450px;
    background: #f5f4f3;
    padding: 20px 60px 40px;
    display: flex;
    margin-left: auto;
    flex-direction: column;
    justify-content: center;
    z-index: 1; }
    @media (max-width: 480px) {
      .str-reason__content {
        width: 90%;
        min-height: auto;
        margin: -10.2564102564vw auto 0;
        padding: 5.1282051282vw 5.1282051282vw;
        order: 2; } }
    .str-reason__content .str-reason__content--in {
      max-width: 720px; }
      @media (max-width: 480px) {
        .str-reason__content .str-reason__content--in {
          max-width: 100%; } }
  .str-reason__label {
    position: relative;
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 25px; }
    @media (max-width: 480px) {
      .str-reason__label {
        margin-bottom: 2.5641025641vw; } }
    .str-reason__label .label-en {
      font-family: "Oswald", sans-serif;
      font-size: 2.5rem;
      font-weight: 500;
      color: #16224f; }
      @media (max-width: 480px) {
        .str-reason__label .label-en {
          font-size: 4.6153846154vw; } }
    .str-reason__label .label-num {
      font-family: "Oswald", sans-serif;
      font-size: 4.5rem;
      font-weight: 700;
      color: #16224f; }
      @media (max-width: 480px) {
        .str-reason__label .label-num {
          font-size: 8.2051282051vw; } }
    .str-reason__label::after {
      content: '';
      position: absolute;
      bottom: 5px;
      left: 0;
      width: 170px;
      height: 1px;
      background: #E50810; }
      @media (max-width: 480px) {
        .str-reason__label::after {
          width: 10.2564102564vw;
          height: 0.2564102564vw;
          bottom: 1.2820512821vw; } }
  .str-reason__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 3.8rem;
    font-weight: 700;
    color: #16224f;
    letter-spacing: 3.04px;
    line-height: 1.4;
    margin-bottom: 32px; }
    @media (max-width: 480px) {
      .str-reason__title {
        font-size: 5.641025641vw;
        letter-spacing: 0.3846153846vw;
        margin-bottom: 5.1282051282vw; } }
  .str-reason__logo {
    margin-bottom: 32px; }
    @media (max-width: 480px) {
      .str-reason__logo {
        margin-bottom: 5.1282051282vw; } }
    .str-reason__logo img {
      width: 233px;
      height: auto; }
      @media (max-width: 480px) {
        .str-reason__logo img {
          width: 38.4615384615vw; } }
  .str-reason__text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #16224f;
    line-height: 1.94; }
    @media (max-width: 480px) {
      .str-reason__text {
        font-size: 3.3333333333vw;
        line-height: 1.7; } }
  .str-reason--02, .str-reason--04 {
    margin-bottom: 100px; }
    @media (max-width: 480px) {
      .str-reason--02, .str-reason--04 {
        flex-direction: column;
        margin-bottom: 2.5641025641vw; } }
    .str-reason--02 .str-reason__content, .str-reason--04 .str-reason__content {
      margin-left: 0;
      margin-right: auto; }
      @media (max-width: 480px) {
        .str-reason--02 .str-reason__content, .str-reason--04 .str-reason__content {
          margin-left: auto; } }
    .str-reason--02 .str-reason__content--in, .str-reason--04 .str-reason__content--in {
      margin-left: auto; }
    .str-reason--02 .str-reason__image, .str-reason--04 .str-reason__image {
      right: initial;
      left: 50%;
      transform: translateX(-50%); }
    .str-reason--02 .str-reason__image.animate, .str-reason--04 .str-reason__image.animate {
      transform: translateX(40px); }
    .str-reason--02 .str-reason__image.effect, .str-reason--04 .str-reason__image.effect {
      transform: translateX(0); }

.str-points {
  padding: 0 0 130px;
  background: #fff; }
  @media (max-width: 480px) {
    .str-points {
      padding: 15.3846153846vw 0; } }
  .str-points__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto; }
    @media (max-width: 480px) {
      .str-points__grid {
        grid-template-columns: 1fr;
        gap: 10.2564102564vw; } }

.str-point {
  position: relative;
  text-align: center; }
  @media (max-width: 480px) {
    .str-point {
      text-align: left; } }
  .str-point__label {
    width: 100%;
    position: absolute;
    font-family: 'Murecho', sans-serif;
    font-size: 5.6rem;
    font-weight: 700;
    color: #dbdad9;
    letter-spacing: 4.48px;
    line-height: 1;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media (max-width: 480px) {
      .str-point__label {
        font-size: 9.2307692308vw;
        margin-bottom: 4.1025641026vw;
        letter-spacing: 0.7692307692vw; } }
  .str-point__image {
    width: 100%;
    height: 193px;
    margin-bottom: 24px;
    overflow: hidden; }
    @media (max-width: 480px) {
      .str-point__image {
        height: 38.4615384615vw;
        margin-bottom: 4.1025641026vw; } }
    .str-point__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .str-point__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.3rem;
    font-weight: 700;
    color: #16224f;
    letter-spacing: 1.84px;
    line-height: 1.9;
    margin-bottom: 16px; }
    @media (max-width: 480px) {
      .str-point__title {
        font-size: 4.6153846154vw;
        margin-bottom: 3.0769230769vw; } }
  .str-point__text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #16224f;
    line-height: 1.8;
    text-align: left; }
    @media (max-width: 480px) {
      .str-point__text {
        font-size: 3.3333333333vw;
        line-height: 1.7; } }
  .str-point.animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
  .str-point.effect {
    opacity: 1;
    transform: translateY(0); }
  .str-point:nth-child(1).animate {
    transition-delay: 0.15s; }
  .str-point:nth-child(2).animate {
    transition-delay: 0.3s; }
  .str-point:nth-child(3).animate {
    transition-delay: 0.45s; }

.str-driver {
  padding: 50px 0 80px;
  background: #fff; }
  @media (max-width: 480px) {
    .str-driver {
      padding: 15.3846153846vw 0; } }
  .str-driver__heading {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 3.8rem;
    font-weight: 700;
    color: #16224f;
    letter-spacing: 3.04px;
    line-height: 1.6;
    text-align: center;
    max-width: 1100px;
    margin: 0 auto 80px; }
    @media (max-width: 480px) {
      .str-driver__heading {
        font-size: 5.1282051282vw;
        letter-spacing: 0.3846153846vw;
        margin-bottom: 10.2564102564vw;
        padding: 0 5.1282051282vw; } }

.str-service {
  background: #16224f;
  padding: 120px 0 140px; }
  @media (max-width: 480px) {
    .str-service {
      padding: 15.3846153846vw 0 10.2564102564vw; } }
  .str-service__heading {
    font-family: "Oswald", sans-serif;
    font-size: 8.6rem;
    font-weight: 700;
    color: #c9161d;
    text-align: center;
    letter-spacing: 6.88px;
    margin-bottom: 36px;
    line-height: 1; }
    @media (max-width: 480px) {
      .str-service__heading {
        font-size: 12.3076923077vw;
        margin-bottom: 5.1282051282vw; } }
  .str-service__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 4.5rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    letter-spacing: 3.6px;
    margin-bottom: 40px; }
    @media (max-width: 480px) {
      .str-service__title {
        font-size: 6.1538461538vw;
        margin-bottom: 6.1538461538vw; } }
  .str-service__text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #fff;
    line-height: 1.9;
    max-width: 1202px;
    margin: 0 auto 80px; }
    @media (max-width: 480px) {
      .str-service__text {
        font-size: 3.3333333333vw;
        line-height: 1.7;
        margin-bottom: 10.2564102564vw;
        padding: 0 5.1282051282vw; } }
  .str-service__image {
    width: 100%;
    max-width: 1200px;
    height: 400px;
    margin: 0 auto 80px;
    overflow: hidden; }
    @media (max-width: 480px) {
      .str-service__image {
        height: 51.2820512821vw;
        margin-bottom: 10.2564102564vw;
        padding: 0 5.1282051282vw; } }
    .str-service__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

.car-intro {
  padding: 60px 0 100px;
  text-align: center; }
  @media (max-width: 480px) {
    .car-intro {
      padding: 10.2564102564vw 0 5.1282051282vw; } }
  .car-intro__title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 5rem;
    font-weight: 700;
    color: #16224f;
    letter-spacing: 4px;
    line-height: 1.6;
    margin-bottom: 36px; }
    @media (max-width: 480px) {
      .car-intro__title {
        font-size: 7.1794871795vw;
        letter-spacing: 0.5128205128vw;
        margin-bottom: 6.1538461538vw; } }
  .car-intro__text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #16224f;
    line-height: 2;
    max-width: 1163px;
    margin: 0 auto; }
    @media (max-width: 480px) {
      .car-intro__text {
        font-size: 3.3333333333vw;
        line-height: 1.7;
        padding: 0 5.1282051282vw; } }

.car-hero {
  padding: 0 0 60px; }
  @media (max-width: 480px) {
    .car-hero {
      padding: 0; } }
  .car-hero__image {
    width: 100%;
    overflow: hidden; }
    .car-hero__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

.car-equipment {
  padding: 80px 0 0;
  background: #fff; }
  @media (max-width: 480px) {
    .car-equipment {
      padding: 7.6923076923vw 0 0; } }
  .car-equipment__diagram {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 80px; }
    @media (max-width: 480px) {
      .car-equipment__diagram {
        margin-bottom: 15.3846153846vw;
        padding: 0 5.1282051282vw; } }
  .car-equipment__diagram-image {
    width: 100%;
    height: auto;
    display: block; }
  .car-equipment__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 70px 30px;
    max-width: 1200px;
    margin: 0 auto; }
    @media (max-width: 480px) {
      .car-equipment__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10.2564102564vw 2.5641025641vw; } }

.car-equipment__card {
  position: relative;
  background: #16224f; }
  .car-equipment__card-number {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: #e50810;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Oswald", sans-serif;
    font-size: 3.5rem;
    font-weight: 500;
    color: #fff;
    z-index: 2; }
    @media (max-width: 480px) {
      .car-equipment__card-number {
        width: 10.2564102564vw;
        height: 10.2564102564vw;
        font-size: 5.641025641vw; } }
  .car-equipment__card-image {
    width: 100%;
    height: 200px;
    overflow: hidden; }
    @media (max-width: 480px) {
      .car-equipment__card-image {
        height: 38.4615384615vw; } }
    .car-equipment__card-image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .car-equipment__card-content {
    padding: 24px; }
    @media (max-width: 480px) {
      .car-equipment__card-content {
        padding: 5.1282051282vw 6.4102564103vw; } }
  .car-equipment__card-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
    letter-spacing: 1.28px;
    line-height: 1.75;
    margin-bottom: 16px; }
    @media (max-width: 480px) {
      .car-equipment__card-title {
        font-size: 3.5897435897vw;
        margin-bottom: 3.0769230769vw; } }
  .car-equipment__card-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #fff;
    line-height: 1.9; }
    @media (max-width: 480px) {
      .car-equipment__card-text {
        font-size: 3.3333333333vw;
        line-height: 1.7; } }

.car-detail {
  padding: 80px 0;
  background: #fff; }
  @media (max-width: 480px) {
    .car-detail {
      padding: 0; } }
  .car-detail__image {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden; }
    .car-detail__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

.car-generator {
  padding: 80px 0;
  background: #fff; }
  @media (max-width: 480px) {
    .car-generator {
      padding: 15.3846153846vw 0; } }
  .car-generator__content {
    max-width: 1200px;
    margin: 0 auto; }
  .car-generator__images {
    margin-bottom: 40px; }
    @media (max-width: 480px) {
      .car-generator__images {
        margin-bottom: 7.6923076923vw;
        padding: 0 5.1282051282vw; } }
  .car-generator__image-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px; }
    @media (max-width: 480px) {
      .car-generator__image-group {
        grid-template-columns: 1fr;
        gap: 5.1282051282vw; } }
    .car-generator__image-group img {
      width: 100%;
      height: 350px;
      object-fit: cover;
      border-radius: 8px; }
      @media (max-width: 480px) {
        .car-generator__image-group img {
          height: 51.2820512821vw; } }
  .car-generator__note {
    text-align: center;
    max-width: 840px;
    margin: 0 auto;
    padding: 30px;
    position: relative; }
    @media (max-width: 480px) {
      .car-generator__note {
        padding: 5.1282051282vw; } }
    .car-generator__note::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 495px;
      height: 150px;
      background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 495 150"><path d="M0,0 Q247.5,150 495,0" stroke="%23e50810" stroke-width="3" fill="none"/></svg>') no-repeat center;
      background-size: contain;
      opacity: 0.3;
      z-index: 0; }
      @media (max-width: 480px) {
        .car-generator__note::before {
          width: 100%;
          height: 20.5128205128vw; } }
  .car-generator__note-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    color: #16224f;
    line-height: 1.9;
    position: relative;
    z-index: 1; }
    @media (max-width: 480px) {
      .car-generator__note-text {
        font-size: 3.3333333333vw;
        line-height: 1.7; } }

.car-weekend {
  padding: 100px 0 80px;
  background: #fff;
  position: relative;
  overflow: hidden; }
  @media (max-width: 480px) {
    .car-weekend {
      padding: 15.3846153846vw 0; } }
  .car-weekend .img-line {
    width: 100%;
    height: 350px;
    background: url(../img/servicecar/generator-01.png) no-repeat center/cover; }
    @media (max-width: 480px) {
      .car-weekend .img-line {
        height: 43.5897435897vw; } }
  .car-weekend__images {
    position: relative;
    max-width: 1200px;
    margin: 60px auto 0; }
    @media (max-width: 480px) {
      .car-weekend__images {
        flex-direction: column;
        gap: 7.6923076923vw;
        padding: 0 5.1282051282vw;
        margin-top: 10.2564102564vw; } }
  .car-weekend__image-left {
    position: relative;
    width: 1172px;
    overflow: hidden;
    left: calc(50% - 230px);
    margin-bottom: 100px; }
    @media (max-width: 480px) {
      .car-weekend__image-left {
        width: 100%;
        left: auto;
        right: -7.6923076923vw;
        margin-bottom: 7.6923076923vw; } }
    .car-weekend__image-left img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .car-weekend__image-left.animate {
      opacity: 0;
      transform: translateX(60px);
      transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
    .car-weekend__image-left.effect {
      opacity: 1;
      transform: translateX(0); }
  .car-weekend__image-right {
    position: relative;
    width: 1172px;
    right: calc(50% - 230px);
    overflow: hidden; }
    @media (max-width: 480px) {
      .car-weekend__image-right {
        width: 100%;
        right: auto;
        left: -7.6923076923vw; } }
    .car-weekend__image-right img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .car-weekend__image-right.animate {
      opacity: 0;
      transform: translateX(-60px);
      transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
    .car-weekend__image-right.effect {
      opacity: 1;
      transform: translateX(0); }

.car-weekend-bg-text {
  position: relative;
  width: 100%;
  overflow: hidden;
  font-family: "Oswald", sans-serif;
  font-size: 18.1rem;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 14.48px;
  color: #dbdad9;
  white-space: nowrap;
  pointer-events: none;
  line-height: 1;
  top: -25px; }
  @media (max-width: 480px) {
    .car-weekend-bg-text {
      font-size: 17.9487179487vw;
      letter-spacing: 0.5128205128vw;
      top: -2.0512820513vw; } }
  .car-weekend-bg-text span {
    display: inline-block;
    animation: scrollText 40s linear infinite; }
    .car-weekend-bg-text span::after {
      content: '　WEEKEND-FREE MAINTENANCE　WEEKEND-FREE MAINTENANCE　WEEKEND-FREE MAINTENANCE　WEEKEND-FREE MAINTENANCE'; }

@keyframes scrollText {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-25%); } }
.flow-intro {
  padding: 120px 0 80px;
  text-align: center; }
  @media (max-width: 480px) {
    .flow-intro {
      padding: 15.3846153846vw 0 0; } }
  .flow-intro__title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 5rem;
    font-weight: 700;
    color: #16224f;
    margin-bottom: 40px;
    line-height: 1.6; }
    @media (max-width: 480px) {
      .flow-intro__title {
        font-size: 8.2051282051vw;
        margin-bottom: 6.1538461538vw; } }
  .flow-intro__text {
    font-size: 1.6rem;
    line-height: 2;
    color: #16224f; }
    @media (max-width: 480px) {
      .flow-intro__text {
        font-size: 3.5897435897vw;
        line-height: 1.8; } }

.flow-steps-detail {
  padding: 30px 0 80px; }
  @media (max-width: 480px) {
    .flow-steps-detail {
      padding: 0; } }

.flow-step-item {
  display: flex;
  gap: 60px;
  margin-bottom: 60px;
  position: relative; }
  @media (max-width: 480px) {
    .flow-step-item {
      gap: 7.6923076923vw 3.8461538462vw;
      margin-bottom: 15.3846153846vw; } }
  .flow-step-item:last-child {
    margin-bottom: 0; }
    .flow-step-item:last-child::after {
      display: none; }
  .flow-step-item::after {
    content: '';
    position: absolute;
    left: 69px;
    top: 138px;
    width: 2px;
    height: calc(100% - 138px + 100px);
    background: linear-gradient(to bottom, #dbdad9 50%, transparent 50%);
    background-size: 2px 12px; }
    @media (max-width: 480px) {
      .flow-step-item::after {
        left: 11.5384615385vw;
        top: 23.0769230769vw;
        height: 100%; } }
  .flow-step-item.animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
  .flow-step-item.effect {
    opacity: 1;
    transform: translateY(0); }
  .flow-step-item__number {
    flex-shrink: 0;
    position: relative;
    width: 138px;
    height: 138px; }
    @media (max-width: 480px) {
      .flow-step-item__number {
        width: 23.0769230769vw;
        height: 23.0769230769vw; } }
  .flow-step-item__number-circle {
    width: 138px;
    height: 138px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #16224f;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media (max-width: 480px) {
      .flow-step-item__number-circle {
        width: 23.0769230769vw;
        height: 23.0769230769vw; } }
    .flow-step-item__number-circle::before {
      content: '';
      position: absolute;
      width: 118px;
      height: 118px;
      border-radius: 50%;
      background: #16224f; }
      @media (max-width: 480px) {
        .flow-step-item__number-circle::before {
          width: 19.4871794872vw;
          height: 19.4871794872vw; } }
    .flow-step-item__number-circle img {
      width: 40%;
      height: auto;
      position: relative;
      z-index: 1; }
  .flow-step-item__number-text {
    position: absolute;
    top: -10px;
    left: 0;
    font-family: "Oswald", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    color: #16224f; }
    @media (max-width: 480px) {
      .flow-step-item__number-text {
        font-size: 7.1794871795vw;
        top: auto;
        bottom: 3.8461538462vw;
        left: 0; } }
    .flow-step-item__number-text::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 50px;
      height: 2px;
      background: #c9161d; }
      @media (max-width: 480px) {
        .flow-step-item__number-text::after {
          width: 10.2564102564vw;
          height: 0.5128205128vw; } }
  .flow-step-item__content {
    flex: 1;
    padding-top: 10px; }
    @media (max-width: 480px) {
      .flow-step-item__content {
        padding-top: 0; } }
  .flow-step-item__title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.8rem;
    font-weight: 700;
    color: #16224f;
    margin-bottom: 10px;
    padding-left: 70px;
    position: relative;
    padding-bottom: 15px; }
    @media (max-width: 480px) {
      .flow-step-item__title {
        font-size: 5.1282051282vw;
        margin-bottom: 2.5641025641vw;
        padding-bottom: 2.5641025641vw;
        padding-left: 12.8205128205vw;
        line-height: 1.4; } }
  .flow-step-item__description {
    font-size: 1.6rem;
    line-height: 2.06;
    color: #16224f;
    margin-bottom: 30px; }
    @media (max-width: 480px) {
      .flow-step-item__description {
        font-size: 3.5897435897vw;
        line-height: 1.8;
        margin-bottom: 5.1282051282vw; } }
    .flow-step-item__description p {
      margin-bottom: 0; }
  .flow-step-item__point {
    position: relative;
    background: #f5f4f3;
    padding: 40px 50px 40px 190px;
    border-radius: 8px;
    margin-top: 40px; }
    @media (max-width: 480px) {
      .flow-step-item__point {
        padding: 6.1538461538vw 5.1282051282vw;
        margin-top: 6.1538461538vw; } }
  .flow-step-item__point-label {
    position: absolute;
    width: 118px;
    height: 118px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Oswald", sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
    color: #16224f;
    border: 1px solid #16224f;
    border-radius: 50%;
    top: 50%;
    left: 40px;
    transform: translateY(-50%); }
    @media (max-width: 480px) {
      .flow-step-item__point-label {
        position: unset;
        width: 100%;
        height: auto;
        font-size: 3.5897435897vw;
        margin-bottom: 2.5641025641vw;
        text-align: center;
        border-radius: 0;
        transform: none; } }
  .flow-step-item__point-title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.3rem;
    font-weight: 700;
    color: #16224f;
    margin-bottom: 10px; }
    @media (max-width: 480px) {
      .flow-step-item__point-title {
        font-size: 4.1025641026vw;
        margin-bottom: 4.1025641026vw;
        line-height: 1.4; } }
  .flow-step-item__point-list {
    list-style: none;
    padding: 0;
    margin: 0; }
    .flow-step-item__point-list li {
      font-size: 1.6rem;
      line-height: 2;
      color: #16224f;
      margin-bottom: 5px; }
      @media (max-width: 480px) {
        .flow-step-item__point-list li {
          font-size: 3.3333333333vw;
          margin-bottom: 2.0512820513vw;
          text-indent: -4.1025641026vw;
          padding-left: 4.1025641026vw;
          line-height: 1.4; } }
      .flow-step-item__point-list li:last-child {
        margin-bottom: 0; }
