@charset "UTF-8";

/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  min-width: 20rem;
  color: #001a4d;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
}

em {
  font-style: normal;
}

li {
  list-style: none;
}

@media (width < 768px) {
  html {
    font-size: 3.8647342995vw;
  }

  .pc {
    display: none !important;
  }
}

@media (width >= 768px) and (width <= 1399px) {
  html {
    font-size: calc((100vw - 768px) / 632 * 3 + 13px);
  }
}

@media (width >= 768px) {
  .sp {
    display: none !important;
  }
}

@media (width > 1680px) {
  html {
    font-size: 0.9523809524vw;
  }
}

/* ==========================================================================
   Common components
   ========================================================================== */
.ar-cta-group {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.7534rem;
}

.ar-cta-link {
  display: block;
  flex: 0 0 21.1683rem;
  max-width: 100%;
  cursor: pointer;
}

.ar-cta-link picture,
.ar-cta-link > .ar-cta-link__img {
  display: block;
  width: 100%;
  transform-origin: center center;
  transition: transform 0.3s ease;
}

.ar-cta-link__img {
  width: 100%;
  height: auto;
}

.ar-cta-link:hover picture,
.ar-cta-link:hover > .ar-cta-link__img {
  transform: scale(1.03);
}

.ar-cta-group--artwork {
  gap: 0.7175vw;
}

.ar-cta-group--artwork .ar-cta-link {
  flex-basis: 20.1603vw;
}

.ar-header {
  position: relative;
  z-index: 10;
  margin-bottom: -0.125rem;
  background: #ffffff;
  box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.1);
}

.ar-header__inner {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 5.3125rem;
  padding-inline: 1.4375rem 1.5rem;
}

.ar-header__logo {
  display: block;
  flex: 0 0 5.7007rem;
}

.ar-header__logo-img {
  width: 100%;
  height: auto;
}

.ar-header__tagline {
  margin-left: 1.6118rem;
  color: #000000;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.1313rem;
}

.ar-header__contact {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 0.9524vw, 1rem);
  margin-left: auto;
}

.ar-header__phone {
  display: block;
  width: min(14.9722rem, 18vw);
  transition: opacity 0.3s ease;
}

.ar-header__phone:hover {
  opacity: 0.7;
}

.ar-header__phone-img {
  width: 100%;
  height: auto;
}

.ar-header__line {
  display: block;
  width: min(12.1875rem, 14vw);
  cursor: pointer;
  transform-origin: center center;
  transition: transform 0.3s ease;
}

.ar-header__line:hover {
  transform: scale(1.03);
}

.ar-header__line-img {
  width: 100%;
  height: auto;
}

.ar-header__web {
  display: block;
  width: min(12.1875rem, 14vw);
  cursor: pointer;
  transform-origin: center center;
  transition: transform 0.3s ease;
}

.ar-header__web:hover {
  transform: scale(1.03);
}

.ar-header__web-img {
  width: 100%;
  height: auto;
}

.ar-main {
  position: relative;
}

.ar-footer {
  padding-block: 1.9875rem 1.975rem;
  background: #00174a;
}

.ar-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 90%;
  max-width: fit-content;
  margin-inline: auto;
}

.ar-footer__nav {
  display: flex;
  align-items: center;
  gap: 0.9375rem;
  height: 1.125rem;
  margin-bottom: 0.75rem;
}

.ar-footer__link {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0344rem;
  transition: opacity 0.3s ease;
}

.ar-footer__link:hover {
  opacity: 0.7;
}

.ar-footer__copyright {
  color: #ffffff;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0344rem;
}

.ar-sticky-cta {
  position: fixed;
  z-index: 20;
  right: 1.4rem;
  bottom: 1.4rem;
  visibility: hidden;
  opacity: 0;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.ar-sticky-cta.is-visible {
  visibility: visible;
  opacity: 1;
}

.ar-sticky-cta__desktop {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.ar-sticky-cta__link {
  display: block;
  width: 17.1875rem;
  transform-origin: center center;
  transition: transform 0.3s ease;
}

.ar-sticky-cta__link:hover {
  transform: scale(1.03);
}

.ar-sticky-cta__img {
  width: 100%;
  height: auto;
}

.ar-thanks {
  min-height: calc(100svh - 11.875rem);
  padding: 4.6875rem 0 7.625rem;
  background: #fcf8ef;
}

.ar-thanks__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 90%;
  max-width: 62.5rem;
  margin-inline: auto;
  text-align: center;
}

.ar-thanks__title {
  margin-bottom: 1.8375rem;
  color: #00174a;
  font-size: 2.375rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1188rem;
}

.ar-thanks__messages {
  width: 100%;
  margin-bottom: 3.3125rem;
}

.ar-thanks__message {
  color: #00174a;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.0563rem;
}

.ar-thanks__message:not(:last-child) {
  margin-bottom: 1.25rem;
}

.ar-thanks__phone-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 20.625rem;
  height: 8.75rem;
  margin-bottom: 3.5rem;
  padding-top: 0.7625rem;
  border-radius: 0.625rem;
  background: #ffffff;
  box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.02);
}

.ar-thanks__logo {
  display: block;
  width: 5.13rem;
  height: 3.6rem;
  margin-bottom: 0.3875rem;
}

.ar-thanks__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ar-thanks__phone-number {
  display: flex;
  align-items: center;
  color: #000000;
  font-family: Avenir, Arial, sans-serif;
  font-size: 1.8125rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.1088rem;
}

.ar-thanks__phone-number img {
  flex: 0 0 auto;
  width: 1.11rem;
  height: 1.44rem;
  margin-right: 0.25rem;
}

.ar-thanks__hours {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: -0.125rem;
  color: #000000;
  font-family: Avenir, "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1275rem;
}

.ar-thanks__hours span:nth-child(2) {
  font-size: 0.9375rem;
  letter-spacing: 0.075rem;
}

.ar-thanks__back {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  box-sizing: border-box;
  width: 14.875rem;
  height: 3.125rem;
  border-radius: 0.3125rem;
  color: #ffffff;
  background: #00174a;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.06rem;
  transition: opacity 0.3s ease;
}

.ar-thanks__back:hover {
  opacity: 0.7;
}

.ar-thanks__back span {
  grid-column: 2;
  white-space: nowrap;
}

.ar-thanks__back img {
  grid-column: 3;
  justify-self: end;
  width: 0.479rem;
  height: 0.781rem;
  margin-right: 1rem;
}

@media (width >= 768px) and (width <= 1199px) {
  .ar-header__inner {
    padding-inline: clamp(0.75rem, 1.3699vw, 1.4375rem);
  }

  .ar-header__tagline {
    margin-left: clamp(0.75rem, 1.5368vw, 1.6118rem);
    font-size: clamp(0.6875rem, 1.0959vw, 0.875rem);
    letter-spacing: clamp(0.04rem, 0.1644vw, 0.1313rem);
  }
}

@media (width < 768px) {
  .ar-cta-group {
    flex-direction: column;
    align-items: center;
    gap: 0.8625rem;
  }

  .ar-cta-link {
    flex: 0 0 auto;
    width: 100%;
  }

  .ar-cta-group--artwork {
    gap: 1.0625rem;
  }

  .ar-cta-group--artwork .ar-cta-link {
    flex-basis: auto;
    width: 100%;
  }

  .ar-header {
    margin-bottom: 0;
    box-shadow: 0 0 0.3125rem rgba(0, 0, 0, 0.1);
  }

  .ar-header__inner {
    min-height: 2.75rem;
    padding-inline: 0.87rem;
  }

  .ar-header__logo {
    flex-basis: 2.5858rem;
  }

  .ar-header__tagline {
    margin-left: 1.2317rem;
    font-size: 0.625rem;
    line-height: 1.3;
    letter-spacing: 0.0938rem;
  }

  .ar-footer {
    box-sizing: border-box;
    min-height: 3.5625rem;
    padding-block: 1.6875rem 1.175rem;
  }

  .ar-footer__link {
    font-size: 0.75rem;
  }

  .ar-footer__copyright {
    font-size: 0.5rem;
  }

  .ar-sticky-cta {
    right: 0;
    bottom: 0;
    width: 100%;
    background: #00174a;
  }

  .ar-sticky-cta__mobile {
    display: grid;
    grid-template-columns: 165fr 537fr 540fr;
    width: 100%;
    padding-bottom: env(safe-area-inset-bottom);
  }

  .ar-sticky-cta__mobile .ar-sticky-cta__link {
    width: 100%;
  }

  .ar-sticky-cta__link:hover {
    transform: none;
  }

  .ar-thanks {
    min-height: 0;
    padding: 3.75rem 0 4.5rem;
  }

  .ar-thanks__inner {
    width: 90%;
    max-width: 23.375rem;
  }

  .ar-thanks__title {
    margin-bottom: 1.75rem;
    font-size: 1.75rem;
    line-height: 1.5;
    letter-spacing: 0.08rem;
  }

  .ar-thanks__messages {
    margin-bottom: 2.75rem;
  }

  .ar-thanks__message {
    font-size: 0.875rem;
    line-height: 1.9;
    letter-spacing: 0.03rem;
  }

  .ar-thanks__message:not(:last-child) {
    margin-bottom: 1.5rem;
  }

  .ar-thanks__phone-card {
    width: min(20.625rem, 100%);
    margin-bottom: 3rem;
  }

  .ar-thanks__back {
    font-size: 0.9375rem;
    font-weight: 800;
  }
}

/* ==========================================================================
   Hero
   ========================================================================== */
/* figma-css:start nodeId=934:76 */
.ar-hero {
  position: relative;
  z-index: 2;
  margin-bottom: -1.25rem;
  background-color: #ffffff;
  overflow: hidden;
}

.ar-hero__inner {
  width: 90%;
  max-width: 78.5898rem;
  margin-inline: auto;
}

.ar-hero__main {
  position: relative;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
}

.ar-hero__title {
  margin: 0;
}

.ar-hero__artwork {
  width: 100%;
  height: auto;
}

.ar-hero__cta-group {
  position: absolute;
  top: 27.9743vw;
  left: 16.9382vw;
  z-index: 3;
  width: 41.038vw;
}

.ar-hero__cta-link--web {
  transform: translateY(0.1067vw);
}

.ar-hero__note {
  position: absolute;
  top: 34.7024vw;
  left: 17.0238vw;
  width: 25.7738vw;
  margin: 0;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.5952vw;
  font-weight: 400;
  line-height: 0.9524vw;
  letter-spacing: 0.0298vw;
}

.ar-hero__services {
  position: relative;
  left: 50%;
  overflow: hidden;
  width: 100vw;
  transform: translateX(-50%);
}

.ar-hero__services-track {
  display: flex;
  gap: 0.4762vw;
}

.ar-hero-service {
  flex: 0 0 auto;
  width: 24.6429vw;
  margin: 0;
}

.ar-hero-service--clone {
  display: none;
}

.ar-hero-service__img {
  width: 100%;
  height: auto;
}

@media (width < 768px) {
  .ar-hero {
    margin-bottom: -4.6826rem;
    padding-bottom: 1.8621rem;
    overflow-x: clip;
    background: linear-gradient(
      to bottom,
      #ffffff 0 45.375rem,
      #fcf8ef 45.375rem
    );
  }

  .ar-hero__title picture {
    display: block;
    width: 100%;
  }

  .ar-hero__services {
    left: 50%;
    width: 100vw;
    margin-bottom: 1.4375rem;
    transform: translateX(-50%);
  }

  .ar-hero__services-track {
    gap: 0.375rem;
    width: max-content;
    animation: ar-hero-services-loop 20s linear infinite;
    will-change: transform;
  }

  .ar-hero-service {
    width: 10.625rem;
    height: 7.5rem;
  }

  .ar-hero-service--clone {
    display: block;
  }

  .ar-hero-service__img {
    height: 100%;
    object-fit: cover;
  }

  .ar-hero__cta-group {
    position: static;
    gap: 0.7774rem;
    width: 21.1683rem;
    margin: 0 auto 0.5254rem;
  }

  .ar-hero__note {
    position: static;
    width: 21.2308rem;
    margin: 0 auto;
    font-size: 0.625rem;
    line-height: 1rem;
    letter-spacing: 0.0313rem;
  }

  @keyframes ar-hero-services-loop {
    from {
      transform: translate3d(-44rem, 0, 0);
    }

    to {
      transform: translate3d(0, 0, 0);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .ar-hero__services-track {
    animation-play-state: paused;
  }
}
/* figma-css:end nodeId=934:76 */

/* ==========================================================================
   Overview
   ========================================================================== */
/* figma-css:start nodeId=855:3 */
/* generated-from: cached parent metadata + local Figma design_context for semantic slice y=972..2929 */
.ar-overview {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-block: 7.4375rem 0;
  background: #fffaf0;
  color: #00174a;
}

.ar-overview__base-plate {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 74.5rem;
  background: #fcf8ef;
}

.ar-overview__middle-shape {
  position: absolute;
  top: 46.125rem;
  left: 0;
  width: 100%;
  height: 41.375rem;
  background: #f8f2e4;
  clip-path: polygon(0 21.148%, 100% 0, 100% 78.852%, 0 100%);
}

.ar-overview__lower-shape {
  position: absolute;
  top: 113.5rem;
  left: 0;
  width: 100%;
  height: 41.375rem;
  background: #fcf8ef;
  clip-path: polygon(0 21.148%, 100% 0, 100% 78.852%, 0 100%);
}

.ar-overview__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 85.625rem;
  margin-inline: auto;
}

.ar-overview__header {
  display: grid;
  grid-template-columns: 0.7153rem 24.3626rem 1fr;
  margin-bottom: 1.6767rem;
}

.ar-overview__area-map-img {
  grid-row: 1;
  grid-column: 2;
  align-self: start;
  width: 100%;
  height: auto;
  margin-top: -2.4147rem;
}

.ar-overview__heading {
  grid-row: 1;
  grid-column: 1 / -1;
}

.ar-overview__achievement-img {
  width: 23.1756rem;
  height: auto;
  margin-inline: auto;
  margin-bottom: 0.9483rem;
}

.ar-overview__title {
  position: relative;
  text-align: center;
}

.ar-overview__audience-line {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: -0.5625rem;
}

.ar-overview__regions {
  display: flex;
  align-items: center;
  gap: 0.6563rem;
  margin-right: 0.586rem;
}

.ar-overview__region {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.5313rem;
  padding-inline: 1.3875rem 1.1275rem;
  border-radius: 0.3rem;
  background: #00174a;
  color: #ffffff;
  font-size: 1.625rem;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: 0.26rem;
  padding-bottom: 0.2rem;
}

.ar-overview__region--tokyo {
  min-width: 6.375rem;
}

.ar-overview__region--chiba {
  min-width: 6.375rem;
}

.ar-overview__region--saitama {
  min-width: 6.375rem;
}

.ar-overview__region--kanagawa {
  min-width: 7.5938rem;
}

.ar-overview__audience {
  color: #00174a;
  font-size: 2.375rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1188rem;
}

.ar-overview__brand-line {
  display: block;
  color: #00174a;
  font-size: 2.5438rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: -0.1272rem;
}

.ar-overview__brand {
  background-image:
    linear-gradient(
      169.5001deg,
      #b8007e 23.243%,
      #311b8a 54.366%,
      rgba(0, 45, 146, 0) 85.831%
    ),
    linear-gradient(90deg, #00174a 0%, #00174a 100%);
  background-clip: text;
  color: transparent;
  font-size: 42.9px;
  font-style: normal;
  font-weight: 900;
  line-height: 130%; /* 55.77px */
  letter-spacing: 2.574px;
}

.ar-overview__intro {
  display: flex;
  align-items: flex-start;
  gap: 1.5375rem;
  padding-left: 5.0625rem;
  margin-bottom: -0.5625rem;
}

.ar-overview__copy {
  flex: 0 0 38.0125rem;
  min-width: 0;
  padding-top: 0.625rem;
}

.ar-overview__lead {
  color: #00174a;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.06rem;
}

.ar-overview__copy-title {
  margin-bottom: -0.1589rem;
  background-image:
    linear-gradient(
      171.031deg,
      #b8007e 23.243%,
      #311b8a 54.366%,
      rgba(0, 45, 146, 0) 85.831%
    ),
    linear-gradient(90deg, #00174a 0%, #00174a 100%);
  background-clip: text;
  color: transparent;
  font-size: 2.375rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1188rem;
}

.ar-overview__copy-title-line {
  white-space: nowrap;
}

.ar-overview-reply {
  display: flex;
  align-items: flex-start;
}

.ar-overview-reply__portrait {
  position: relative;
  z-index: 1;
  flex: 0 0 5.283125rem;
  width: 5.283125rem;
  margin-right: 0.25rem;
}

.ar-overview-reply__portrait > picture:first-of-type {
  display: block;
  width: 100%;
  height: 100%;
}

.ar-overview-reply__portrait-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ar-overview-reply__sparkle {
  position: absolute;
  top: 2.5361rem;
  left: -0.9269rem;
  width: 1.6541rem;
  height: 1.9666rem;
}

.ar-overview-reply__sparkle-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ar-overview-reply__body {
  flex: 1;
  min-width: 0;
}

.ar-overview-reply__txt {
  display: flex;
  align-items: baseline;
  justify-content: center;
  min-height: 5.6481rem;
  padding: 0.9688rem 2rem 1.125rem;
  background: url("../img/overview-reply-txt-bg.webp") center / 100% 100%
    no-repeat;
}

.ar-overview-reply__shortest {
  color: #00174a;
  font-size: 1.8034rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.0902rem;
}

.ar-overview-reply__time {
  color: #b8007e;
  font-size: 2.4306rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.0972rem;
  transform: translateY(0.1rem);
}

.ar-overview-reply__message {
  color: #00174a;
  font-size: 1.8034rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.0902rem;
}

.ar-overview-reply__note {
  padding-left: 1.25rem;
  color: #00174a;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.0375rem;
  margin-top: -0.4rem;
}

.ar-overview-profile {
  position: relative;
  flex: 1;
  min-width: 0;
}

.ar-overview-profile__card {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 33.125rem;
  min-height: 15.375rem;
  background: #ffffff;
}

.ar-overview-profile__card::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0.1875rem;
  background: linear-gradient(90deg, #00174a 0%, #311b8a 55.662%, #b8007e 100%);
  content: "";
}

.ar-overview-profile__content {
  position: relative;
  z-index: 1;
  flex: 0 0 18.6875rem;
  min-width: 0;
  padding: 1.25rem 1rem 0 2.25rem;
}

.ar-overview-profile__company {
  margin-bottom: 0.4375rem;
  color: #00174a;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.075rem;
}

.ar-overview-profile__name {
  margin-bottom: 0.9375rem;
  color: #00174a;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.165rem;
}

.ar-overview-profile__name-line {
  display: grid;
  grid-template-columns: max-content max-content;
  justify-content: start;
  align-items: center;
  column-gap: 0.5rem;
  row-gap: 0.1875rem;
}

.ar-overview-profile__role {
  display: inline-flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-self: start;
  box-sizing: border-box;
  height: 1.125rem;
  padding: 0 0.75rem;
  border-radius: 2rem;
  background: #00174a;
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0.075rem;
  padding-bottom: 0.1rem;
}

.ar-overview-profile__roman {
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.12rem;
  margin-top: 0.1rem;
}

.ar-overview-profile__txt {
  padding-top: 0.625rem;
  border-top: 1px solid #00174a;
  color: #00174a;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.0375rem;
}

.ar-overview-profile__person-img {
  align-self: flex-end;
  flex: 0 0 13.875rem;
  width: 13.875rem;
  height: auto;
  margin-top: -2.5625rem;
}

.ar-overview-profile__note-img {
  position: absolute;
  top: 1.4928rem;
  right: 9.3345rem;
  z-index: 2;
  width: 8.0667rem;
  height: auto;
}

.ar-overview-profile__badges {
  position: absolute;
  top: -3.5089rem;
  right: -2.8375rem;
  z-index: 4;
}

.ar-overview-profile__badge {
  width: 7rem;
}

.ar-overview-profile__badge--career {
  margin-bottom: -0.6688rem;
}

.ar-overview-profile__badge--achievements {
  width: 7rem;
}

.ar-overview-profile__badge-img {
  width: 100%;
  height: auto;
}

.ar-overview-profile__soccer-img {
  position: relative;
  z-index: 3;
  display: block;
  width: 15.9063rem;
  height: auto;
  margin: -8.9244rem -1.1563rem -2.35rem auto;
}

.ar-overview__wordmark {
  position: relative;
  left: 50%;
  display: grid;
  width: min(100vw, 86.0625rem);
  margin-inline: auto;
  margin-bottom: -3.25rem;
  transform: translateX(-50%);
}

.ar-overview__wordmark-img {
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
}

.ar-overview__divider-logo-img {
  grid-area: 1 / 1;
  align-self: start;
  justify-self: center;
  width: 2.85rem;
  height: auto;
  transform: translateY(4.825rem);
}

.ar-overview-scope {
  position: relative;
}

.ar-overview-scope__header {
  position: relative;
  margin-bottom: 2.5rem;
  text-align: center;
}

.ar-overview-scope__title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  width: 53rem;
  min-height: 3.8125rem;
  padding-left: 0.5rem;
  margin-inline: auto;
  margin-bottom: 0.625rem;
  color: #00174a;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1125rem;
}

.ar-overview-scope__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 12.875rem;
  height: 3.125rem;
  border-radius: 0.3125rem;
  background-image:
    linear-gradient(
      160.6158deg,
      #b8007e 23.243%,
      #311b8a 54.366%,
      rgba(0, 45, 146, 0) 85.831%
    ),
    linear-gradient(90deg, #00174a 0%, #00174a 100%);
}

.ar-overview-scope__pill--wide {
  flex-basis: 14.375rem;
  background-image:
    linear-gradient(
      162.5087deg,
      #b8007e 23.243%,
      #311b8a 54.366%,
      rgba(0, 45, 146, 0) 85.831%
    ),
    linear-gradient(90deg, #00174a 0%, #00174a 100%);
}

.ar-overview-scope__hammer-img {
  width: 2.0442rem;
  height: 2.1712rem;
  margin-right: 0.375rem;
}

.ar-overview-scope__pill-txt {
  color: #ffffff;
  font-size: 1.6875rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.2531rem;
}

.ar-overview-scope__connector {
  display: inline-block;
}

.ar-overview-scope__lead {
  position: relative;
  display: inline-block;
  color: #00174a;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.0938rem;
}

.ar-overview-scope__lead::before {
  position: absolute;
  top: 0.25rem;
  left: -2.4375rem;
  width: 0.125rem;
  height: 2.75rem;
  background: #00174a;
  content: "";
  transform: rotate(-26.565deg);
}

.ar-overview-scope__lead::after {
  position: absolute;
  top: 0.25rem;
  right: -2.4375rem;
  width: 0.125rem;
  height: 2.75rem;
  background: #00174a;
  content: "";
  transform: rotate(26.565deg);
}

.ar-overview-scope__highlight {
  background-image: linear-gradient(#f5e22e, #f5e22e);
  background-position: 0 75.6%;
  background-size: 100% 1.0625rem;
  background-repeat: no-repeat;
}

.ar-overview-ticker {
  position: relative;
  z-index: 2;
  width: 100%;
  overflow: hidden;
}

.ar-overview-ticker__track {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  width: max-content;
  transform: translate3d(-2.5rem, 0, 0);
  animation: ar-overview-ticker-loop 35s linear infinite;
  will-change: transform;
}

.ar-overview-ticker__item {
  flex: 0 0 22.5rem;
  width: 22.5rem;
}

.ar-overview-ticker__img {
  width: 100%;
  height: auto;
}

.ar-overview-contact {
  position: relative;
  z-index: 1;
  padding-block: 11.25rem 10.875rem;
}

.ar-overview-contact__bg {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  max-width: none;
  transform: translateY(-50%);
  pointer-events: none;
  min-width: 1300px;
}

.ar-overview-contact__inner {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 48.5rem;
  margin-inline: auto;
}

.ar-overview-contact__card {
  position: relative;
  padding: 0 2.75rem 2.0938rem;
  border-radius: 1.25rem;
  background: #ffffff;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1);
}

.ar-overview-contact__top {
  position: relative;
  z-index: 2;
  display: grid;
  margin-bottom: -4rem;
}

.ar-overview-contact__top-row {
  grid-area: 1 / 1;
  display: flex;
  align-items: flex-start;
}

.ar-overview-contact__message {
  flex: 0 0 29.6942rem;
  min-width: 0;
  padding-top: 0.8125rem;
  padding-left: 1.1875rem;
  margin-top: -2.325rem;
}

.ar-overview-contact__speech {
  position: relative;
  width: 29.6942rem;
  height: 7.9263rem;
  padding-top: 0.75rem;
  padding-left: 3.5625rem;
  background-image: url("../img/overview-speed-speech.webp");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.ar-overview-contact__title {
  position: relative;
  z-index: 1;
  color: #00174a;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.1rem;
  padding-top: 0.6rem;
}

.ar-overview-contact__highlight {
  position: relative;
}

.ar-overview-contact__highlight::after {
  content: "";
  background: #fff36d;
  position: absolute;
  width: 100%;
  height: 1.375rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  bottom: 0;
}

.ar-overview-contact__sub-title {
  color: #00174a;
  font-size: 1.375rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.0688rem;
}

.ar-overview-contact__signature {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 0.6875rem;
  margin-top: 0.5rem;
}

.ar-overview-contact__logo-img {
  flex: 0 0 3.185rem;
  width: 3.185rem;
  height: auto;
  margin-right: 0.5rem;
}

.ar-overview-contact__identity {
  color: #00174a;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.0344rem;
}

.ar-overview-contact__name {
  color: #00174a;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.0844rem;
}

.ar-overview-contact__person-img {
  position: relative;
  z-index: 3;
  flex: 0 0 15.5375rem;
  width: 15.5375rem;
  height: auto;
  margin-top: -2.125rem;
  margin-left: -1.6502rem;
}

.ar-overview-contact__cta {
  position: relative;
  z-index: 2;
  margin-bottom: 0.5625rem;
}

.ar-overview-contact__note {
  color: #000000;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0313rem;
}

@keyframes ar-overview-ticker-loop {
  from {
    transform: translate3d(-2.5rem, 0, 0);
  }

  to {
    transform: translate3d(-121.25rem, 0, 0);
  }
}

@media (width >= 1281px) and (width <= 1420px) {
  .ar-overview__intro {
    transform: translateX(-2rem);
  }
}

@media (width >= 768px) and (width <= 860px) {
  .ar-overview__audience-line {
    flex-direction: column;
    gap: 0.35rem;
  }

  .ar-overview__regions {
    margin-right: 0;
  }
}
@media (width >= 768px) and (width <= 1280px) {
  .ar-overview__intro {
    flex-direction: column;
    align-items: stretch;
    gap: 4rem;
    padding-left: 0;
    margin-bottom: 0;
    width: 80%;
    margin-inline: auto;
  }

  .ar-overview__copy {
    flex: 0 0 auto;
    width: 82%;
    max-width: 590px;
    margin-inline: auto;
  }

  .ar-overview-profile {
    flex: 0 0 auto;
    width: 100%;
    max-width: 42rem;
    margin-inline: auto;
  }

  .ar-overview-profile__card {
    max-width: 100%;
    min-height: 17.5rem;
  }

  .ar-overview-profile__content {
    flex: 1 1 auto;
    padding: 1.5rem 1.25rem 1.25rem 2.5rem;
  }

  .ar-overview-profile__txt {
    font-size: 1rem;
  }

  .ar-overview-profile__name {
    margin-bottom: 0.75rem;
    font-size: 1.625rem;
  }

  .ar-overview-profile__name-line {
    column-gap: 0.75rem;
    white-space: nowrap;
  }

  .ar-overview-profile__person-img {
    flex: 0 0 16.5rem;
    width: 16.5rem;
    margin-top: -3.25rem;
  }

  .ar-overview-profile__note-img {
    top: 2.25rem;
    right: 11.15rem;
    width: 9.6rem;
  }

  .ar-overview-profile__badges {
    top: -4rem;
    right: -3.25rem;
  }

  .ar-overview-profile__badge {
    width: 7.75rem;
  }

  .ar-overview-profile__badge--achievements {
    width: 7.75rem;
  }

  .ar-overview-profile__soccer-img {
    width: 18.25rem;
    margin: -10rem -6.25rem -1.5rem auto;
  }
}

@media (width < 768px) {
  .ar-overview {
    overflow: hidden;
    margin-bottom: -0.0303rem;
    padding-block: 5.3659rem 0;
  }

  .ar-overview::before {
    position: absolute;
    right: auto;
    bottom: 0;
    left: 50%;
    z-index: 1;
    width: 100vw;
    height: auto;
    aspect-ratio: 1239 / 1599;
    background-image: url("../img/overview-background-sp.webp");
    background-position: center top;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    content: "";
    transform: translateX(-50%);
  }

  .ar-overview__base-plate {
    height: 74.3125rem;
  }

  .ar-overview__middle-shape {
    top: 67.6875rem;
    height: 29.6563rem;
  }

  .ar-overview__inner {
    z-index: 2;
    width: 90%;
  }

  .ar-overview__header {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding-bottom: 3.5813rem;
    margin-bottom: 0;
  }

  .ar-overview__header::after {
    position: absolute;
    bottom: 1.075rem;
    left: 50%;
    width: 1px;
    height: 1.875rem;
    background: #00174a;
    content: "";
    transform: translateX(-50%);
  }

  .ar-overview__area-map-img {
    grid-row: 1;
    grid-column: 1;
    align-self: start;
    width: 10.3139rem;
    margin-top: 0;
    transform: translateX(-0.5667rem);
  }

  .ar-overview__heading {
    grid-row: 1;
    grid-column: 1;
    padding-top: 2.5723rem;
  }

  .ar-overview__achievement-img {
    width: 18.54rem;
    margin-bottom: 0.7845rem;
  }

  .ar-overview__audience-line {
    display: grid;
    align-items: start;
    justify-content: stretch;
    width: 21.998rem;
    margin-inline: auto;
    margin-bottom: -0.3125rem;
  }

  .ar-overview__regions {
    grid-area: 1 / 1;
    align-self: start;
    justify-self: start;
    gap: 0.4552rem;
    margin-right: 0;
    transform: translateY(0.5449rem);
  }

  .ar-overview__region {
    font-weight: 800;
    height: 1.7542rem;
    padding-inline: 0;
    border-radius: 0.2079rem;
    font-size: 1.1261rem;
    line-height: 1.45;
    letter-spacing: 0.1802rem;
  }

  .ar-overview__region--tokyo {
    min-width: 4.4179rem;
  }

  .ar-overview__region--chiba {
    min-width: 4.4179rem;
  }

  .ar-overview__region--saitama {
    min-width: 4.4179rem;
  }

  .ar-overview__region--kanagawa {
    min-width: 5.2625rem;
  }

  .ar-overview__audience {
    font-weight: 800;
    grid-area: 1 / 1;
    display: block;
    width: 100%;
    color: #00174a;
    font-size: 1.5538rem;
    line-height: 1.7;
    letter-spacing: 0.0777rem;
    text-align: center;
    text-indent: 20.375rem;
  }

  .ar-overview__brand-line {
    font-weight: 800;
    width: 22.3589rem;
    margin-inline: auto;
    font-size: 1.6026rem;
    line-height: 1.7;
    letter-spacing: -0.0801rem;
  }

  .ar-overview__brand {
    font-weight: 800;
    font-size: 1.6892rem;
    line-height: 1.3;
    letter-spacing: 0.1014rem;
  }

  .ar-overview__intro {
    flex-direction: column;
    gap: 0;
    padding-left: 0;
    margin-bottom: 0;
  }

  .ar-overview__copy {
    flex: 0 0 auto;
    width: 100%;
    padding-top: 0;
    margin-bottom: 2.3375rem;
  }

  .ar-overview__lead {
    margin-bottom: 0.3075rem;
    font-size: 0.875rem;
    line-height: 1.85;
    letter-spacing: 0.0525rem;
    text-align: center;
  }

  .ar-overview__copy-title {
    margin-bottom: 0;
    font-size: 2.35rem;
    line-height: 1.35;
    letter-spacing: 0.1175rem;
    text-align: center;
    font-weight: 800;
  }

  .ar-overview__copy-title-line {
    white-space: normal;
  }

  .ar-overview-reply {
    align-items: flex-start;
    width: 100.375%;
    margin-inline: auto;
    transform: translateX(0.2rem);
  }

  .ar-overview-reply__portrait {
    flex-basis: 4.4374rem;
    width: 4.4374rem;
    height: 5.2853rem;
    margin-right: 0.085rem;
  }

  .ar-overview-reply__portrait-img {
    position: absolute;
    top: 0;
    left: 0.0783rem;
    width: 4.4591rem;
  }

  .ar-overview-reply__sparkle {
    top: 2.1302rem;
    left: 0;
    width: 1.3888rem;
    height: 1.6519rem;
  }

  .ar-overview-reply__body {
    padding-top: 0.6633rem;
  }

  .ar-overview-reply__txt {
    min-height: 3.2025rem;
    padding: 0.625rem 1.255rem 1.065rem 1.755rem;
    margin-bottom: 0.3047rem;
    white-space: nowrap;
  }

  .ar-overview-reply__shortest {
    font-weight: 800;
    font-size: 1.0225rem;
    line-height: 1.3;
    letter-spacing: 0.0511rem;
  }

  .ar-overview-reply__time {
    font-weight: 800;
    font-size: 1.3782rem;
    line-height: 1.3;
    letter-spacing: 0.0551rem;
    transform: translateY(0。１rem);
  }

  .ar-overview-reply__message {
    font-weight: 800;
    font-size: 1.0225rem;
    line-height: 1.3;
    letter-spacing: 0.0511rem;
  }

  .ar-overview-reply__note {
    padding-left: 0.6973rem;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.02625rem;
  }

  .ar-overview-profile {
    flex: 0 0 auto;
    width: 98.75%;
    margin-inline: auto;
  }

  .ar-overview-profile__card {
    isolation: isolate;
    width: 100%;
    max-width: none;
    min-height: 20.9882rem;
  }

  .ar-overview-profile__card::after {
    top: 0.4rem;
    right: -0.1875rem;
    bottom: -0.198rem;
    left: 0.2rem;
    z-index: 0;
    height: auto;
    clip-path: polygon(
      calc(100% - 0.1875rem) 0,
      100% 0,
      100% 100%,
      0 100%,
      0 calc(100% - 0.1875rem),
      calc(100% - 0.1875rem) calc(100% - 0.1875rem)
    );
  }

  .ar-overview-profile__content {
    flex-basis: 13.0625rem;
    padding: 4.375rem 0 1.4375rem 1.5rem;
  }

  .ar-overview-profile__company {
    margin-bottom: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.075rem;
  }

  .ar-overview-profile__name {
    margin-bottom: 0.3125rem;
    font-size: 1.3rem;
    line-height: 1.3;
    letter-spacing: 0.143rem;
  }

  .ar-overview-profile__name-line {
    display: grid;
    grid-template-columns: 5.25rem minmax(0, 1fr);
    align-items: center;
    column-gap: 0.75rem;
    row-gap: 0;
    white-space: normal;
  }

  .ar-overview-profile__role {
    display: inline-flex;
    grid-column: 1;
    height: 1.25rem;
    padding: 0 0.525rem;
    border-radius: 1.4rem;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.09rem;
    transform: translateY(0.5rem);
    padding-bottom: 0.05rem;
  }

  .ar-overview-profile__roman {
    grid-row: 2;
    grid-column: 2;
    font-size: 0.75rem;
    line-height: 1.6;
    letter-spacing: 0.12rem;
    margin-top: -0.2rem;
  }

  .ar-overview-profile__txt {
    padding-top: 0.4375rem;
    font-size: 0.875rem;
    line-height: 1.6;
    letter-spacing: 0.0438rem;
  }

  .ar-overview-profile__person-img {
    align-self: flex-start;
    flex-basis: 13.75rem;
    width: 13.75rem;
    height: 16rem;
    margin-top: 0;
    margin-left: -0.625rem;
    object-fit: cover;
    object-position: top;
    transform: translateY(3.8125rem);
    z-index: 2;
  }

  .ar-overview-profile__note-img {
    top: 0.2104rem;
    right: 0.4rem;
    width: 9.6789rem;
  }

  .ar-overview-profile__badges {
    top: -1.1125rem;
    right: auto;
    left: 0.7rem;
    display: flex;
    align-items: flex-start;
    gap: 0;
  }

  .ar-overview-profile__badge {
    width: 5.779rem;
  }

  .ar-overview-profile__badge--career {
    margin-bottom: 0;
  }

  .ar-overview-profile__badge--achievements {
    margin-left: -0.5rem;
  }

  .ar-overview-profile > picture {
    display: flex;
    justify-content: flex-end;
    margin-top: -7.45rem;
    margin-right: -4.9625rem;
  }

  .ar-overview-profile__soccer-img {
    width: 14.0622rem;
    margin: 0;
  }

  .ar-overview__wordmark {
    width: 100vw;
    margin-top: -2.125rem;
    margin-bottom: 1.5rem;
  }

  .ar-overview__wordmark-txt {
    grid-area: 1 / 1;
    color: rgba(255, 255, 255, 0.88);
    font-size: 3.75rem;
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: 0.41rem;
    text-align: center;
    white-space: nowrap;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .ar-overview__divider-logo-img {
    width: 2.9925rem;
    transform: translateY(5.9063rem);
  }

  .ar-overview-scope__header {
    margin-bottom: 1.2438rem;
  }

  .ar-overview-scope__title {
    font-weight: 800;
    display: grid;
    grid-template-columns: 9.0125rem 1.625rem 10.0625rem 1.625rem;
    grid-template-rows: 2.6875rem 2.997rem;
    column-gap: 0.3625rem;
    row-gap: 0;
    width: 23.4121rem;
    min-height: 0;
    padding-left: 0;
    margin-bottom: 0.2344rem;
    font-size: 1.575rem;
    line-height: 1.7;
    letter-spacing: 0.0788rem;
  }

  .ar-overview-scope__pill {
    flex-basis: auto;
    width: 9.0125rem;
    height: 2.1875rem;
    border-radius: 0.2188rem;
  }

  .ar-overview-scope__pill--wide {
    width: 10.0625rem;
  }

  .ar-overview-scope__hammer-img {
    width: 1.4309rem;
    height: 1.5198rem;
    margin-right: 0.1875rem;
  }

  .ar-overview-scope__pill-txt {
    font-weight: 800;
    font-size: 1.2438rem;
    line-height: 1.7;
    letter-spacing: 0.1866rem;
  }

  .ar-overview-scope__sp-main {
    grid-row: 2;
    grid-column: 1 / -1;
    align-self: start;
    justify-self: center;
    color: #00174a;
    font-size: 1.7625rem;
    font-weight: 800;
    line-height: 1.7;
    letter-spacing: 0.0881rem;
  }

  .ar-overview-scope__lead {
    display: block;
    width: 17.0635rem;
    margin-inline: auto;
    font-size: 0.9625rem;
    line-height: 1.7;
    letter-spacing: 0.0481rem;
    font-weight: 700;
  }

  .ar-overview-scope__lead::before {
    top: 0.6875rem;
    left: 0;
    width: 1px;
    height: 2.087rem;
  }

  .ar-overview-scope__lead::after {
    top: 0.6875rem;
    right: 0;
    width: 1px;
    height: 2.087rem;
  }

  .ar-overview-scope__highlight {
    background-position: 0 75%;
    background-size: 100% 0.4475rem;
  }

  .ar-overview-ticker {
    z-index: 2;
  }

  .ar-overview-ticker__track {
    gap: 0.8267rem;
    transform: translate3d(-25.9375rem, 0, 0);
    animation-name: ar-overview-ticker-loop-sp;
  }

  .ar-overview-ticker__item {
    flex-basis: 14.8837rem;
    width: 14.8837rem;
  }

  .ar-overview-ticker__item picture {
    display: block;
    width: 100%;
  }

  .ar-overview-contact {
    z-index: 2;
    padding-block: 5.668rem 4.6375rem;
  }

  .ar-overview-contact__inner {
    width: 90%;
    max-width: 22.75rem;
  }

  .ar-overview-contact__card {
    min-height: 23.3125rem;
    padding: 0 1.3125rem 0.4375rem;
    border-radius: 0.75rem;
  }

  .ar-overview-contact__top {
    margin-bottom: -3.3125rem;
  }

  .ar-overview-contact__top-row {
    padding-bottom: 0.4656rem;
  }

  .ar-overview-contact__message {
    flex: 0 0 17.327rem;
    padding-top: 0;
    padding-left: 0;
    margin-top: -1.7574rem;
    margin-left: -1.8155rem;
  }

  .ar-overview-contact__speech {
    width: 17.327rem;
    height: 4.7767rem;
    padding-top: 0.4922rem;
    padding-left: 1.3306rem;
    margin-bottom: 0.7rem;
  }

  .ar-overview-contact__title {
    font-weight: 800;
    font-size: 1.3165rem;
    line-height: 1.7;
    letter-spacing: 0.0658rem;
    padding-top: 0rem;
  }

  .ar-overview-contact__title-ni {
    color: #00174a;
    font-size: 0.9375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.0469rem;
    margin-left: 0.2rem;
  }

  .ar-overview-contact__highlight {
    color: #00174a;
    font-size: 1.3165rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.0658rem;
  }

  .ar-overview-contact__highlight::after {
    height: 0.875rem;
  }

  .ar-overview-contact__highlight-sa {
    letter-spacing: -0.158rem;
  }

  .ar-overview-contact__highlight-dot {
    letter-spacing: -0.1448rem;
  }

  .ar-overview-contact__sub-title {
    font-weight: 800;
    font-size: 0.9375rem;
    line-height: 1.7;
    letter-spacing: 0.0094rem;
    margin-top: -0.2rem;
    display: block;
  }

  .ar-overview-contact__signature {
    justify-content: flex-start;
    padding-right: 0;
    padding-left: 1.939rem;
  }

  .ar-overview-contact__logo-img {
    flex-basis: 3.6209rem;
    width: 3.6209rem;
    margin-right: 0.742rem;
  }

  .ar-overview-contact__identity {
    font-size: 0.75rem;
    line-height: 1.4;
    letter-spacing: 0.075rem;
    font-weight: 500;
  }

  .ar-overview-contact__name {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0.0788rem;
  }

  .ar-overview-contact__person-img {
    flex: 0 0 10.0871rem;
    width: 10.0871rem;
    margin-top: 0;
    margin-left: -4.7185rem;
    transform: translateY(0.4656rem);
  }

  .ar-overview-contact__cta {
    width: 20.1099rem;
    margin-inline: auto;
    margin-bottom: 0.3625rem;
  }

  .ar-overview-contact__cta-link picture {
    display: block;
    width: 100%;
  }

  .ar-overview-contact__note {
    width: 18.125rem;
    font-size: 0.625rem;
    line-height: 1.6;
    letter-spacing: 0.0313rem;
  }

  @keyframes ar-overview-ticker-loop-sp {
    from {
      transform: translate3d(-25.9375rem, 0, 0);
    }

    to {
      transform: translate3d(-104.4897rem, 0, 0);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .ar-overview-ticker__track {
    animation-play-state: paused;
  }
}
/* figma-css:end nodeId=855:3 */

@media screen and (min-width: 768px) and (max-width: 1180px) {
  .ar-overview-contact {
    padding-block: 7rem 8.075rem;
  }
  .ar-overview-contact__bg {
    top: 42%;
  }
}

/* ==========================================================================
   Pain points
   ========================================================================== */
/* figma-css:start nodeId=934:61 */
.ar-pain-points {
  position: relative;
  margin-bottom: -8.9375rem;
  padding-block: 4rem 9.1875rem;
  background: #ffffff;
  z-index: 2;
  overflow: hidden;
}

.ar-pain-points::before {
  position: absolute;
  inset: 0 0 0;
  background: #fcf8ef;
  clip-path: ellipse(135% 100% at 50% 0%);
  content: "";
}

.ar-pain-points__inner {
  position: relative;
  width: 90%;
  max-width: 59.875rem;
  margin-inline: auto;
}

.ar-pain-points__header {
  position: relative;
  margin-bottom: 2.7rem;
  text-align: center;
}

.ar-pain-points__question-bg {
  position: absolute;
  top: -4.4125rem;
  left: 50%;
  width: 60rem;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: translateX(-50%);
}

.ar-pain-points__mark {
  position: relative;
  width: 2.85rem;
  height: 1.6rem;
  margin-inline: auto;
  margin-bottom: 1.075rem;
}

.ar-pain-points__intro {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 41.375rem;
  min-height: 3.5625rem;
  margin-inline: auto;
  margin-bottom: 1.25rem;
  padding-inline: 2.125rem 1.3125rem;
  border: 0.0938rem solid #00174a;
  border-radius: 5rem;
  color: #00174a;
  font-size: 1.5625rem;
  font-weight: 900;
  line-height: 1.95;
  letter-spacing: 0.0781rem;
}

.ar-pain-points__intro-line {
  white-space: nowrap;
}

.ar-pain-points__title {
  position: relative;
  color: #00174a;
  font-size: 2.4375rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1219rem;
}

.ar-pain-points__kern-de {
  letter-spacing: 0.1463rem;
}

.ar-pain-points__kern-yo {
  letter-spacing: -0.0975rem;
}

.ar-pain-points__kern-ku {
  letter-spacing: -0.0244rem;
}

.ar-pain-points__kern-ru {
  letter-spacing: -0.7556rem;
}

.ar-pain-points__kern-ta {
  letter-spacing: -0.195rem;
}

.ar-pain-points__kern-excl {
  letter-spacing: -0.4144rem;
}

.ar-pain-points__kern-close {
  letter-spacing: -0.39rem;
}

.ar-pain-points__title-answer {
  position: relative;
  display: inline-block;
  padding-inline: 0.6074rem;
  padding-bottom: 0.0875rem;
  background-image: linear-gradient(#fff36d, #fff36d);
  background-repeat: no-repeat;
  background-position: calc(50% + 0.3125rem) bottom;
  background-size: 23.625rem 1.25rem;
}

.ar-pain-points__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 1.3125rem;
  column-gap: min(3vw, 2.875rem);
}

.ar-pain-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.ar-pain-card--1 {
  position: relative;
}

.ar-pain-card--2 {
  position: relative;
}

.ar-pain-card--3 {
  position: relative;
}

.ar-pain-card--4 {
  position: relative;
}

.ar-pain-card__header {
  position: relative;
}

.ar-pain-card__label-wrap {
  position: relative;
  min-height: 1.9375rem;
  margin-bottom: 0.125rem;
}

.ar-pain-card__label-deco {
  position: absolute;
  top: 0.0162rem;
  left: 3.0928rem;
  width: 1.8147rem;
  height: 1.7752rem;
}

.ar-pain-card__label {
  padding-left: 5.1875rem;
  color: #00174a;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.95;
  letter-spacing: 0.05rem;
}

.ar-pain-card__question {
  position: relative;
  width: 100%;
  max-width: 24.5rem;
  min-height: 5.75rem;
  margin-inline: auto;
  margin-bottom: -3.0625rem;
  padding: 0.6875rem 2.5625rem 0;
}

.ar-pain-card__question-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 5.75rem;
}

.ar-pain-card__question-lead {
  position: relative;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.0531rem;
}

.ar-pain-card__question-title {
  position: relative;
  color: #ffffff;
  font-size: 1.4375rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.0719rem;
}

.ar-pain-card__question-title-line {
  white-space: nowrap;
}

.ar-pain-card__panel {
  display: flex;
  min-height: 31.0625rem;
  flex: 1;
  flex-direction: column;
  padding-block: 3.5625rem 1.375rem;
  border-radius: 0.3125rem;
  background: #ffffff;
  box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.07);
}

.ar-pain-card__solution {
  display: flex;
  align-items: end;
  gap: 0.9546rem;
  margin-bottom: 0.5813rem;
  padding-inline: 2.6855rem 1.675rem;
}

.ar-pain-card__solution > picture {
  flex: 0 0 auto;
  display: block;
}

.ar-pain-card__avatar {
  position: relative;
  top: 0.5043rem;
  width: 3.4848rem;
  height: 5.0348rem;
}

.ar-pain-card__solution-copy {
  min-width: 0;
}

.ar-pain-card__solution-label {
  margin-bottom: 0.25rem;
  background-image:
    linear-gradient(
      123.1006deg,
      rgb(184, 0, 126) 5.8138%,
      rgb(49, 27, 138) 55.662%,
      rgba(0, 45, 146, 0) 106.06%
    ),
    linear-gradient(90deg, rgb(0, 23, 74) 0%, rgb(0, 23, 74) 100%);
  background-clip: text;
  color: transparent;
  font-size: 0.875rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.035rem;
}

.ar-pain-card__solution-title {
  color: #00174a;
  font-size: min(2vw, 1.4375rem);
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: 0.0719rem;
}

.ar-pain-card__solution-title-line {
}

.ar-pain-card__media {
  margin-inline: 2.5rem 2.375rem;
  margin-bottom: 0.6875rem;
}

.ar-pain-card__media-img {
  width: 100%;
  height: auto;
  aspect-ratio: 21 / 11;
  border-radius: 0.3125rem;
  object-fit: cover;
}

.ar-pain-card__body {
  padding-inline: 2.625rem 2.4375rem;
  color: #00174a;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0469rem;
  text-align: justify;
}

.ar-pain-card__body mark {
  background: linear-gradient(
    transparent 60%,
    #fff36d 60%,
    #fff36d 94%,
    transparent 94%
  );
  color: inherit;
}

.ar-pain-card--3 .ar-pain-card__body mark {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-repeat: no-repeat;
  background-size: calc(100% - 8px) 100%;
}

@media (width < 768px) {
  .ar-pain-points {
    margin-bottom: -0.0205rem;
    padding-block: 4.125rem 4.2068rem;
  }

  .ar-pain-points::before {
    inset: 0;
    clip-path: ellipse(300% 100% at 50% 0%);
  }

  .ar-pain-points__inner {
    width: 90%;
    max-width: 22.8125rem;
  }

  .ar-pain-points__header {
    margin-bottom: 1.5578rem;
  }

  .ar-pain-points__question-bg {
    top: -3.75rem;
    width: 26.4375rem;
  }

  .ar-pain-points__mark {
    width: 2.9925rem;
    height: 1.68rem;
    margin-bottom: 0.7591rem;
  }

  .ar-pain-points__intro {
    font-weight: 800;
    min-height: 1.9594rem;
    margin-bottom: 0.625rem;
    padding-inline: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.95;
    letter-spacing: 0.0438rem;
  }

  .ar-pain-points__title {
    font-weight: 800;
    font-size: 1.6531rem;
    line-height: 1.55;
    letter-spacing: 0.0827rem;
  }

  .ar-pain-points__kern-de {
    letter-spacing: 0.0992rem;
  }

  .ar-pain-points__kern-yo {
    letter-spacing: -0.0661rem;
  }

  .ar-pain-points__kern-ku {
    letter-spacing: -0.0165rem;
  }

  .ar-pain-points__kern-ru {
    letter-spacing: -0.5125rem;
  }

  .ar-pain-points__kern-ta {
    letter-spacing: -0.1323rem;
  }

  .ar-pain-points__kern-excl {
    letter-spacing: -0.281rem;
  }

  .ar-pain-points__kern-close {
    letter-spacing: -0.2645rem;
  }

  .ar-pain-points__title-answer {
    padding-inline: 0;
    padding-bottom: 0;
    background-position: center bottom;
    background-size: 15.9375rem 0.6875rem;
  }

  .ar-pain-points__cards {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .ar-pain-card__label-wrap {
    min-height: 1.65rem;
    margin-bottom: 0;
  }

  .ar-pain-card__label-deco {
    top: 0.0729rem;
    left: 2.5054rem;
    width: 1.4518rem;
    height: 1.4202rem;
  }

  .ar-pain-card__label {
    font-weight: 800;
    padding-left: 4.1812rem;
    font-size: 0.8438rem;
    line-height: 1.95;
    letter-spacing: 0.0422rem;
  }

  .ar-pain-card__question {
    width: 19.6rem;
    min-height: 4.6001rem;
    margin-bottom: -2.4563rem;
    padding: 0.55rem 2.125rem 0;
  }

  .ar-pain-card__question-bg {
    height: 4.6001rem;
  }

  .ar-pain-card__question-lead {
    font-weight: 800;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.0438rem;
    white-space: nowrap;
  }

  .ar-pain-card__question-title {
    font-weight: 800;
    font-size: 1.15rem;
    line-height: 1.5;
    letter-spacing: 0.0575rem;
    white-space: nowrap;
  }

  .ar-pain-card__panel {
    min-height: 26.25rem;
    padding-block: 2.6493rem 1.5938rem;
    border-radius: 0.3125rem;
  }

  .ar-pain-card__solution {
    gap: 0.9708rem;
    margin-bottom: 0.3833rem;
    padding-inline: 1.8559rem;
  }

  .ar-pain-card__avatar {
    width: 3.3733rem;
    top: 0;
    height: 4.8737rem;
  }

  .ar-pain-card__solution-label {
    font-weight: 800;
    margin-bottom: 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    letter-spacing: 0.0325rem;
  }

  .ar-pain-card__solution-title {
    font-weight: 800;
    font-size: 1.15rem;
    line-height: 1.45;
    letter-spacing: 0.0575rem;
  }

  .ar-pain-card__media {
    margin-inline: 1.9563rem;
    margin-bottom: 0.55rem;
  }

  .ar-pain-card__body {
    padding-inline: 2.0996rem 1.9129rem;
    font-size: 0.875rem;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.0438rem;
  }
}
/* figma-css:end nodeId=934:61 */

/* ==========================================================================
   Direct construction
   ========================================================================== */
/* figma-css:start nodeId=934:57 */
.ar-direct-construction {
  position: relative;
  padding-block: 0 5.7578rem;
  margin-top: 6.9rem;
  background-image: url("../img/direct-construction-background.webp");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 105rem 69.8125rem;
  z-index: 3;
  overflow: hidden;
}

.ar-direct-construction__inner {
  width: 90%;
  max-width: 75.6875rem;
  margin-inline: auto;
}

.ar-direct-construction__header {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ar-direct-construction__callout {
  position: relative;
  width: 9.7188rem;
  height: 4.5625rem;
}

.ar-direct-construction__callout--more {
  margin-bottom: -0.0559rem;
}

.ar-direct-construction__callout--therefore {
  margin-inline: auto;
  margin-bottom: -3.1184rem;
}

.ar-direct-construction__callout-img {
  width: 100%;
  height: 100%;
}

.ar-direct-construction__callout-text {
  position: absolute;
  top: 0.355rem;
  left: 52%;
  color: #b8007e;
  font-size: 1.52rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.076rem;
  transform: translateX(-50%);
  white-space: nowrap;
}

.ar-direct-construction__callout--therefore
  .ar-direct-construction__callout-text {
  top: 0.33rem;
}

.ar-direct-construction__heading-art {
  position: relative;
  width: 68.6875rem;
  height: 7.125rem;
  margin-bottom: -0.2329rem;
  background-image: linear-gradient(#00174a, #00174a);
  background-repeat: no-repeat;
  background-position: center 6.1875rem;
  background-size: 25.5625rem 0.125rem;
}

.ar-direct-construction__label-img {
  width: 100%;
  height: 100%;
}

.ar-direct-construction__brand {
  position: absolute;
  top: 1.7rem;
  left: 32.875rem;
  display: block;
  width: 2.85rem;
  height: 1.6rem;
  overflow: hidden;
}

.ar-direct-construction__brand-img {
  display: block;
  width: 100.81%;
  height: 126%;
  max-width: none;
}

.ar-direct-construction__lead {
  position: absolute;
  top: 3.6958rem;
  left: 50%;
  width: 25.125rem;
  color: #00174a;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.075rem;
  text-align: center;
  transform: translateX(-50%);
}

.ar-direct-construction__lead-text {
  white-space: nowrap;
}

.ar-direct-construction__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2036rem;
  margin-bottom: -0.2694rem;
  color: #00174a;
  font-weight: 900;
}

.ar-direct-construction__title-row {
  position: relative;
  right: 0.875rem;
  display: flex;
  align-items: flex-start;
  gap: 0.125rem;
}

.ar-direct-construction__title-prefix {
  font-size: 2.375rem;
  line-height: 1.7;
  letter-spacing: 0.1188rem;
  white-space: nowrap;
}

.ar-direct-construction__title-badge {
  position: relative;
  top: 0.0536rem;
  display: block;
  width: 13rem;
  height: 3.75rem;
}

.ar-direct-construction__title-badge-text {
  position: relative;
  z-index: 1;
  display: block;
  width: 12rem;
  padding-left: 0.75rem;
  background-image:
    linear-gradient(
      160.8478deg,
      rgb(184, 0, 126) 23.243%,
      rgb(49, 27, 138) 54.366%,
      rgba(0, 45, 146, 0) 85.831%
    ),
    linear-gradient(90deg, rgb(0, 23, 74) 0%, rgb(0, 23, 74) 100%);
  background-repeat: no-repeat;
  background-position: left 0.5625rem;
  background-size: 12rem 2.875rem;
  color: #ffffff;
  font-size: 2.1875rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1969rem;
  white-space: nowrap;
}

.ar-direct-construction__title-note {
  position: absolute;
  top: 0.3125rem;
  left: 12.3125rem;
  color: #00174a;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0375rem;
}

.ar-direct-construction__title-main {
  font-size: 2.25rem;
  line-height: 1.7;
  letter-spacing: 0.1125rem;
}

.ar-direct-construction__qualification-note {
  width: 50.375rem;
  max-width: 100%;
  margin-bottom: -0.2886rem;
  color: #00174a;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0313rem;
  text-align: right;
}

.ar-direct-construction__features {
  position: relative;
  display: flex;
  width: 75.6875rem;
  height: 40.375rem;
  margin-inline: auto;
  margin-bottom: 0.4065rem;
  left: 50%;
  transform: translateX(-50%);
}

.ar-direct-feature {
  position: relative;
  z-index: 0;
  flex: 0 0 40.375rem;
  width: 40.375rem;
  height: 40.375rem;
}

.ar-direct-feature--knowledge {
  position: relative;
}

.ar-direct-feature--technology {
  position: relative;
  margin-left: -5.0625rem;
}

.ar-direct-feature__art {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 40.375rem;
  height: 40.375rem;
}

.ar-direct-feature__title {
  position: absolute;
  z-index: 1;
  top: 0.1094rem;
  background-image:
    linear-gradient(
      129.8132deg,
      rgb(184, 0, 126) 23.243%,
      rgb(49, 27, 138) 54.366%,
      rgba(0, 45, 146, 0) 85.831%
    ),
    linear-gradient(90deg, rgb(0, 23, 74) 0%, rgb(0, 23, 74) 100%);
  background-clip: text;
  color: transparent;
  font-family: "Shippori Mincho B1", serif;
  font-size: 7.0625rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.3531rem;
}

.ar-direct-feature--knowledge .ar-direct-feature__title {
  left: 12.9218rem;
}

.ar-direct-feature--technology .ar-direct-feature__title {
  left: 12.9218rem;
}

.ar-direct-feature__title-line {
  font-family: "Shippori Mincho B1", serif;
  white-space: nowrap;
}

.ar-direct-feature__subtitle {
  position: absolute;
  z-index: 1;
  top: 10.6719rem;
  color: #00174a;
  font-size: 1.9375rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.2712rem;
}

.ar-direct-feature--knowledge .ar-direct-feature__subtitle {
  left: 13.6718rem;
}

.ar-direct-feature--technology .ar-direct-feature__subtitle {
  left: 12.5469rem;
}

.ar-direct-feature__subtitle-line {
  white-space: nowrap;
}

.ar-direct-feature__list {
  position: absolute;
  z-index: 1;
  top: 14.4219rem;
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
  width: 21.4375rem;
  color: #00174a;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.9;
}

.ar-direct-feature--knowledge .ar-direct-feature__list {
  left: 9.3594rem;
  letter-spacing: 0.0875rem;
}

.ar-direct-feature--technology .ar-direct-feature__list {
  left: 9.5469rem;
  letter-spacing: 0.0438rem;
}

.ar-direct-feature__item {
  position: relative;
  padding-left: 1.25rem;
  background-image: radial-gradient(circle, #b8007e 0 50%, transparent 51%);
  background-repeat: no-repeat;
  background-position: left 0.625rem;
  background-size: 0.4375rem 0.4375rem;
}

.ar-direct-feature__note {
  position: absolute;
  z-index: 2;
}

.ar-direct-feature--knowledge .ar-direct-feature__note {
  top: 8.9857rem;
  left: 25.4078rem;
  width: 5.0125rem;
  transform: rotate(-15deg);
}

.ar-direct-feature--technology .ar-direct-feature__note {
  top: 8.3112rem;
  left: 26.4355rem;
  width: 2.5rem;
  height: 2.125rem;
}

.ar-direct-construction__cross {
  position: absolute;
  z-index: 2;
  top: 13.5853rem;
  left: 50%;
  display: block;
  width: 13.7886rem;
  height: 13.7886rem;
  pointer-events: none;
  transform: translateX(-50%);
}

.ar-direct-construction__cross-bar {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9.75rem;
  height: 0.15rem;
  background: rgb(0 23 74 / 0.4);
  transform: translate(-50%, -50%) rotate(45deg);
}

.ar-direct-construction__cross-bar:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.ar-direct-result {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 90%;
  max-width: 58.8125rem;
  margin-inline: auto;
  padding-block: 4.125rem 2.75rem;
  border-radius: 1.875rem;
  background: #ffffff;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1);
}

.ar-direct-result__header {
  margin-bottom: 1.37rem;
  text-align: center;
}

.ar-direct-result__title {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ar-direct-result__lead {
  margin-bottom: -0.52rem;
  color: #00174a;
  font-size: 1.8125rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.0906rem;
  white-space: nowrap;
}

.ar-direct-result__emphasis {
  background-image:
    linear-gradient(
      170.8774deg,
      rgb(184, 0, 126) 23.243%,
      rgb(49, 27, 138) 54.366%,
      rgba(0, 45, 146, 0) 85.831%
    ),
    linear-gradient(90deg, rgb(0, 23, 74) 0%, rgb(0, 23, 74) 100%);
  background-clip: text;
  color: transparent;
  font-size: 2.6875rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1344rem;
}

.ar-direct-result__emphasis-line {
  white-space: nowrap;
}

.ar-direct-construction__cta {
  margin-bottom: 0.5313rem;
}

.ar-direct-construction__cta-web {
  position: relative;
  top: 0.1121rem;
}

.ar-direct-construction__cta-line {
  position: relative;
}

.ar-direct-result__note {
  width: 43.125rem;
  max-width: 100%;
  color: #000000;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0313rem;
}

@media (width >= 768px) and (width <= 999px) {
  .ar-direct-construction__heading-art {
    width: 90vw;
    height: auto;
    aspect-ratio: 1099 / 114;
    background-position: center 86.8421%;
    background-size: 37.2157% min(0.125rem, 0.1636vw);
  }

  .ar-direct-construction__brand {
    top: 23.8596%;
    left: 47.8617%;
    width: 4.1492%;
    height: 22.4561%;
  }

  .ar-direct-construction__lead {
    top: 51.8772%;
    width: 36.5787%;
    font-size: min(1.5rem, 1.9643vw);
    letter-spacing: min(0.075rem, 0.0982vw);
  }
}

@media (width < 768px) {
  .ar-direct-construction {
    padding-block: 1.6rem 3.125rem;
    background-image: url("../img/direct-construction-background-sp.webp");
    background-position: center bottom;
    background-size: 25.875rem 43.0709rem;
    margin-top: -1.6rem;
  }

  .ar-direct-construction__inner {
    width: 90%;
    max-width: 23.6875rem;
  }

  .ar-direct-construction__callout {
    width: 6.84rem;
    height: 3.263rem;
  }

  .ar-direct-construction__callout--more {
    margin-top: -1.0396rem;
    margin-bottom: 0.6828rem;
  }

  .ar-direct-construction__callout--therefore {
    margin-bottom: -1.7005rem;
  }

  .ar-direct-construction__callout-text {
    font-weight: 800;
    top: 0.2485rem;
    font-size: 1.064rem;
    letter-spacing: 0.0532rem;
    left: 53%;
  }

  .ar-direct-construction__callout--therefore
    .ar-direct-construction__callout-text {
    top: 0.2485rem;
  }

  .ar-direct-construction__heading-art {
    width: 100vw;
    height: 6.25rem;
    margin-bottom: -1.6724rem;
    overflow: hidden;
    background-position: center 4.0188rem;
    background-size: 16.6156rem 1px;
  }

  .ar-direct-construction__heading-art::before {
    content: "";
    position: absolute;
    top: 2.2813rem;
    left: 0;
    width: 100%;
    height: 3.125rem;
    background-image: url("../img/direct-construction-label.webp");
    background-repeat: no-repeat;
    background-position: -13.0625rem top;
    background-size: 39.0625rem auto;
    z-index: -1;
  }

  .ar-direct-construction__label-img {
    position: absolute;
    top: -0.4063rem;
    left: 6.875rem;
    width: 39.0625rem;
    height: auto;
    max-width: none;
    clip-path: inset(0 69.7% 0 0);
  }

  .ar-direct-construction__brand {
    top: 0.1563rem;
    left: 50%;
    width: 2.9925rem;
    height: 1.68rem;
    transform: translateX(-50%);
  }

  .ar-direct-construction__lead {
    font-weight: 800;
    top: 2.3125rem;
    width: 16.6156rem;
    font-size: 1rem;
    letter-spacing: 0.05rem;
  }

  .ar-direct-construction__title {
    font-weight: 800;
    width: 100%;
    gap: 0.0068rem;
    margin-bottom: 0.6969rem;
  }

  .ar-direct-construction__title-row {
    right: auto;
    width: 100%;
    min-width: 0;
    justify-content: center;
    gap: 0.0625rem;
  }

  .ar-direct-construction__title-prefix {
    font-size: 1.54375rem;
    letter-spacing: 0.0771875rem;
  }

  .ar-direct-construction__title-badge {
    top: 0.0349rem;
    width: 8.4404rem;
    height: 2.4375rem;
  }

  .ar-direct-construction__title-badge-text {
    font-weight: 800;
    box-sizing: border-box;
    width: 7.8rem;
    height: 2.4375rem;
    padding-left: 0.4873rem;
    background-position: left 0.3656rem;
    background-size: 7.8rem 1.8687rem;
    font-size: 1.421875rem;
    line-height: 1.7;
    letter-spacing: 0.128rem;
  }

  .ar-direct-construction__title-note {
    top: 0.2031rem;
    left: 8.0029rem;
    font-size: 0.5rem;
    letter-spacing: 0.025rem;
  }

  .ar-direct-construction__title-main {
    width: 100%;
    min-width: 0;
    text-align: center;
    font-size: 1.54375rem;
    letter-spacing: 0.0771875rem;
    line-height: 1.6;
  }

  .ar-direct-construction__qualification-note {
    width: 101.718%;
    max-width: none;
    margin-bottom: 0.5454rem;
    font-size: 0.625rem;
    line-height: 1.7778;
    letter-spacing: 0;
    text-align: left;
  }

  .ar-direct-construction__features {
    left: 50%;
    box-sizing: border-box;
    width: 100vw;
    height: auto;
    padding-inline: 0.8428rem;
    overflow: clip;
    gap: 0.8622rem;
    margin-bottom: 2.1836rem;
    transform: translateX(-50%);
  }

  .ar-direct-feature {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    width: auto;
    height: auto;
    min-width: 0;
  }

  .ar-direct-feature--technology {
    margin-left: 0;
  }

  .ar-direct-feature__visual-title {
    position: relative;
    order: 0;
    z-index: 1;
    height: 6.3125rem;
    background-image:
      linear-gradient(
        129.8132deg,
        rgb(184, 0, 126) 23.243%,
        rgb(49, 27, 138) 54.366%,
        rgba(0, 45, 146, 0) 85.831%
      ),
      linear-gradient(90deg, rgb(0, 23, 74) 0%, rgb(0, 23, 74) 100%);
    background-clip: text;
    color: transparent;
    font-family: "Shippori Mincho B1", serif;
    font-size: 3.675rem;
    font-weight: 400;
    line-height: 1.629;
    letter-spacing: 0.1938rem;
    text-align: center;
  }

  .ar-direct-feature__art {
    position: relative;
    order: 1;
    z-index: 0;
    inset: auto;
    align-self: center;
    width: 14.8344rem;
    height: auto;
    max-width: none;
    margin-top: -5.6686rem;
  }

  .ar-direct-feature__subtitle {
    font-weight: 800;
    position: relative;
    order: 2;
    z-index: 1;
    top: auto;
    left: auto;
    align-self: center;
    margin-top: -9.66rem;
    font-size: 1.0625rem;
    line-height: 1.7;
    letter-spacing: 0.1563rem;
  }

  .ar-direct-feature--knowledge .ar-direct-feature__subtitle {
    left: auto;
    margin-bottom: 7.5113rem;
  }

  .ar-direct-feature--technology .ar-direct-feature__subtitle {
    left: auto;
    margin-bottom: 16.5738rem;
  }

  .ar-direct-feature__detail {
    order: 3;
    box-sizing: border-box;
    flex: 0 0 auto;
    width: calc(200% + 0.8622rem);
  }

  .ar-direct-feature--knowledge .ar-direct-feature__detail {
    padding-left: 0.9073rem;
  }

  .ar-direct-feature--technology .ar-direct-feature__detail {
    padding-left: 0.475rem;
    transform: translateX(-50%);
  }

  .ar-direct-feature__detail-header {
    display: flex;
    align-items: center;
    height: 3.25rem;
  }

  .ar-direct-feature__title {
    position: static;
    flex: 0 0 auto;
    background-image:
      linear-gradient(
        129.8132deg,
        rgb(184, 0, 126) 23.243%,
        rgb(49, 27, 138) 54.366%,
        rgba(0, 45, 146, 0) 85.831%
      ),
      linear-gradient(90deg, rgb(0, 23, 74) 0%, rgb(0, 23, 74) 100%);
    font-size: 2.25rem;
    line-height: 1.4444;
    letter-spacing: 0.1125rem;
    font-weight: 300;
  }

  .ar-direct-feature--knowledge .ar-direct-feature__title {
    left: auto;
  }

  .ar-direct-feature--technology .ar-direct-feature__title {
    left: auto;
  }

  .ar-direct-feature__detail-header > picture {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
  }

  .ar-direct-feature__note {
    flex: 0 0 auto;
    height: auto;
    margin-left: 0.3125rem;
  }

  .ar-direct-feature--knowledge .ar-direct-feature__note {
    width: 4.4375rem;
    height: auto;
    position: static;
    margin-top: 0.5rem;
    transform: rotate(0);
  }

  .ar-direct-feature--technology .ar-direct-feature__note {
    width: 1.875rem;
    height: auto;
    top: 1.5rem;
    left: 5.2rem;
  }

  .ar-direct-feature__list {
    position: static;
    gap: 0.2375rem;
    width: 100%;
    color: #00174a;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.9;
  }

  .ar-direct-feature--knowledge .ar-direct-feature__list {
    left: auto;
    letter-spacing: 0.0875rem;
  }

  .ar-direct-feature--technology .ar-direct-feature__list {
    left: auto;
    letter-spacing: 0.0438rem;
  }

  .ar-direct-feature__item {
    padding-left: 1.3125rem;
    background-position: 0.28rem 0.625rem;
    background-size: 0.4375rem 0.4375rem;
    line-height: 1.9;
  }

  .ar-direct-construction__cross {
    top: 4.8296rem;
    width: 4.3241rem;
    height: 4.3241rem;
  }

  .ar-direct-construction__cross-bar {
    width: 3.0576rem;
    height: 0.12rem;
  }

  .ar-direct-result {
    width: 97.692%;
    max-width: none;
    padding-block: 2.035rem 1.1563rem;
    border-radius: 0.75rem;
  }

  .ar-direct-result__header {
    margin-bottom: 0.505rem;
  }

  .ar-direct-result__lead {
    font-weight: 800;
    margin-bottom: -0.1563rem;
    font-size: 0.95rem;
    line-height: 1.7105;
    letter-spacing: 0.0475rem;
  }

  .ar-direct-result__emphasis {
    font-weight: 800;
    font-size: 1.3359rem;
    line-height: 1.731;
    letter-spacing: 0.0668rem;
  }

  .ar-direct-construction__cta {
    width: 88.395%;
    margin-bottom: 0.5313rem;
  }

  .ar-direct-construction__cta-web {
    top: 0;
  }

  .ar-direct-result__note {
    align-self: flex-start;
    width: 18.125rem;
    max-width: 100%;
    margin-left: 1.3584rem;
    font-size: 0.625rem;
    line-height: 1.6;
    letter-spacing: 0.0313rem;
  }
}
/* figma-css:end nodeId=934:57 */

/* ==========================================================================
   Case studies
   ========================================================================== */
/* figma-css:start nodeId=934:35 */
.ar-case-studies {
  overflow: hidden;
  padding-block: 0 3.45rem;
  background: #fcf8ef;
}

.ar-case-studies__inner {
  width: 95%;
  max-width: 69.5rem;
  margin-inline: auto;
}

.ar-case-studies__header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 6.075rem;
  margin-bottom: 2.3625rem;
  text-align: center;
}

.ar-case-studies__wordmark {
  position: absolute;
  top: 2.3125rem;
  left: 50%;
  z-index: 0;
  width: 69.5rem;
  max-width: none;
  transform: translateX(-50%);
}

.ar-case-studies__nws-mark {
  position: relative;
  z-index: 1;
  width: 2.85rem;
  height: 1.6rem;
  margin-bottom: 0.2rem;
}

.ar-case-studies__label {
  position: relative;
  z-index: 1;
  width: 23.4375rem;
  border-bottom: 0.125rem solid #00174a;
  color: #00174a;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.075rem;
  text-align: center;
  margin-bottom: 0.625rem;
}

.ar-case-studies__title {
  position: relative;
  z-index: 1;
  color: #00174a;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1125rem;
  text-align: center;
}

.ar-case-studies__title-line {
  display: block;
  line-height: 1.7;
}

.ar-case-studies__title-highlight {
  background-image: linear-gradient(
    to bottom,
    transparent 49%,
    #fff36d 49%,
    #fff36d 82%,
    transparent 82%
  );
  background-repeat: no-repeat;
  background-position: center;
  background-size: 53.4375rem 100%;
}

.ar-case-studies__swiper {
  position: relative;
  left: 50%;
  width: 100vw;
  height: auto;
  padding-top: 0.25rem;
  padding-bottom: 1.5rem;
  overflow: hidden;
  transform: translateX(-50%);
}

.ar-case-studies__track {
  align-items: stretch;
}

.ar-case-studies__slide {
  box-sizing: border-box;
  display: flex;
  width: min(63.8125rem, 70vw);
  height: auto;
}

.ar-case-study {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 62.8125rem;
  height: 100%;
  flex: 1 1 auto;
  margin-inline: auto;
  padding-inline: 5.375rem;
  padding-bottom: 2.25rem;
  border: none;
  border-radius: 1.875rem;
  background: #ffffff;
  box-shadow: 0 0.625rem 0.9375rem rgba(0, 0, 0, 0.06);
}

.ar-case-study::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  padding: 0.125rem;
  background: linear-gradient(150deg, #b8007e 5%, #311b8a 45%, #00174a 100%);
  pointer-events: none;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
}

.ar-case-study__label-img {
  position: absolute;
  top: 1.375rem;
  left: 1.0625rem;
  width: 0.7188rem;
  height: 7.25rem;
}

.ar-case-study__header {
  width: 100%;
  padding-top: 2.9375rem;
  margin-bottom: 1.55rem;
}

.ar-case-study__customer {
  color: #00174a;
  font-size: 1.0625rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.0531rem;
  margin-bottom: 0.0625rem;
}

.ar-case-study__customer-line {
  height: 0.75rem;
  margin-left: 0.2813rem;
  margin-bottom: 0.875rem;
}

.ar-case-study__customer-line--short {
  width: 18.5938rem;
  max-width: 100%;
}

.ar-case-study__customer-line--long {
  width: 19.5313rem;
  max-width: 100%;
}

.ar-case-study__customer-line--shiopro {
  width: auto;
  max-width: 100%;
}

.ar-case-study__title {
  position: relative;
  padding-left: 1.4375rem;
  color: #00174a;
  font-size: 1.625rem;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 0.0813rem;
}

.ar-case-study__title em {
  color: #b8007e;
}

.ar-case-study__title-line {
  display: block;
  line-height: 1.6;
}

.ar-case-study__quote-img {
  position: absolute;
  top: -0.625rem;
  left: -0.125rem;
  width: 2.1197rem;
  height: 1.7364rem;
}

.ar-case-study__body {
  display: flex;
  align-items: stretch;
  flex: 1 1 auto;
  width: 100%;
  gap: 2.375rem;
  margin-bottom: 2rem;
}

.ar-case-study__review {
  flex: 1 1 0;
  min-width: 0;
  color: #00174a;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 2.15;
  letter-spacing: 0.0938rem;
}

.ar-case-study__media {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  align-self: flex-start;
  flex: 1 1 40%;
  width: auto;
  max-width: 22.5625rem;
  min-width: 0;
  margin-top: 0.375rem;
}

.ar-case-study__media::before {
  position: absolute;
  right: -0.1875rem;
  bottom: -0.16rem;
  z-index: 1;
  width: 13.5rem;
  height: 0.1875rem;
  background-image:
    linear-gradient(
      330.37deg,
      #b8007e 6.43%,
      #311b8a 32.9%,
      rgba(0, 45, 146, 0) 59.66%
    ),
    linear-gradient(#00174a, #00174a);
  background-repeat: no-repeat;
  background-size: 13.5rem 7.5rem;
  background-position: left bottom;
  content: "";
}

.ar-case-study__media::after {
  position: absolute;
  right: -0.1875rem;
  bottom: -0.1875rem;
  z-index: 1;
  width: 0.1875rem;
  height: 7.5rem;
  background-image:
    linear-gradient(
      330.37deg,
      #b8007e 6.43%,
      #311b8a 32.9%,
      rgba(0, 45, 146, 0) 59.66%
    ),
    linear-gradient(#00174a, #00174a);
  background-repeat: no-repeat;
  background-size: 13.5rem 7.4rem;
  background-position: right top;
  content: "";
}

.ar-case-study__photo {
  display: block;
  grid-area: 1 / 1;
  width: 100%;
  max-width: 22.5625rem;
  height: auto;
  aspect-ratio: 22.5625 / 12.5625;
  object-fit: cover;
}

.ar-case-study__meta {
  display: flex;
  align-items: stretch;
  width: 100%;
  gap: 1rem;
  margin-top: auto;
}

.ar-case-study__facts {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  gap: 0.6875rem;
}

.ar-case-study__fact {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.35rem 0.75rem;
  border-radius: 1.25rem;
  background: #00174a;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.0744rem;
  text-align: center;
}

.ar-case-study__work {
  box-sizing: border-box;
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  padding: 0.6875rem 1.625rem 1rem;
  border-radius: 0.625rem;
  background: #fcf8ef;
  max-width: 630px;
}

.ar-case-study__work-header {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 0 0 0 1.625rem;
  border-bottom: 0.125rem solid #00174a;
  width: fit-content;
  margin-bottom: 0.3125rem;
}

.ar-case-study__work-icon {
  position: absolute;
  top: 0.1rem;
  left: -0.1779rem;
  width: 1.5332rem;
}

.ar-case-study__work-title {
  color: #00174a;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1rem;
}

.ar-case-study__work-text {
  color: #00174a;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.0438rem;
}

.ar-case-studies__swiper .ar-case-studies__pagination {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  margin-top: 2.5625rem;
}

.ar-case-studies__swiper
  .ar-case-studies__pagination
  .swiper-pagination-bullet {
  width: 0.625rem;
  height: 0.625rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  margin-inline: 0.3125rem;
  background: #e1d4b5;
  opacity: 1;
  cursor: pointer;
}

.ar-case-studies__swiper
  .ar-case-studies__pagination
  .swiper-pagination-bullet-active {
  background: #be9007;
}

@media (width >= 768px) and (width <= 1260px) {
  .ar-case-study__body {
    flex-direction: column-reverse;
    gap: 1.475rem;
    margin-bottom: 0.6875rem;
  }

  .ar-case-study__title-line {
    display: inline;
  }

  .ar-case-study__media {
    flex: none;
    width: 100%;
    max-width: none;
  }

  .ar-case-study__photo {
    max-width: none;
  }

  .ar-case-study__meta {
    flex-direction: column;
    width: 100%;
  }

  .ar-case-study__work {
    width: 100%;
    max-width: none;
  }
  .ar-case-study__facts {
    flex-direction: row;
  }

  .ar-case-study__fact {
    padding: 0.35rem 1.15rem;
  }
}

/* --- Responsive: SP secondary axis --- */
@media (width < 768px) {
  .ar-case-studies {
    margin-bottom: 0.002rem;
    padding-block: 0 2.75rem;
  }

  .ar-case-studies__inner {
    width: 90%;
    max-width: 23.2875rem;
  }

  .ar-case-studies__header {
    padding-top: 3.125rem;
    margin-bottom: 1.7594rem;
  }

  .ar-case-studies__wordmark {
    top: 1.375rem;
    width: 26.4375rem;
  }

  .ar-case-studies__nws-mark {
    width: 2.9925rem;
    height: 1.68rem;
    margin-bottom: 0.4138rem;
  }

  .ar-case-studies__label {
    font-weight: 800;
    width: fit-content;
    height: 1.7188rem;
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: 0.05rem;
    margin-bottom: 0.9281rem;
  }

  .ar-case-studies__title {
    font-weight: 800;
    font-size: 1.6531rem;
    line-height: 1.6635;
    letter-spacing: 0.0827rem;
  }

  .ar-case-studies__title-line {
    line-height: 1.6635;
  }

  .ar-case-studies__title-highlight {
    background-size: 100% 100%;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  .ar-case-studies__swiper {
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
  }

  .ar-case-studies__track {
    height: auto;
    margin-bottom: 1.8125rem;
  }

  .ar-case-studies__slide {
    width: 22.5rem;
    height: auto;
  }

  .ar-case-study::before {
    padding: 0.08rem;
  }

  .ar-case-studies__slide.swiper-slide-next .ar-case-study {
    translate: 0;
  }

  .ar-case-study {
    width: 100%;
    max-width: none;
    padding-inline: 1.875rem 0;
    padding-bottom: 1.5rem;
    border-radius: 1.25rem;
    translate: 0;
  }

  .ar-case-study__label-img {
    top: 1.5156rem;
    left: 0.6869rem;
    width: 0.6875rem;
    height: 6.9875rem;
  }

  .ar-case-study__header {
    width: 100%;
    padding-top: 1.0625rem;
    margin-inline: 0;
    margin-left: 0.4199rem;
    margin-bottom: 0.735rem;
  }

  .ar-case-study__customer {
    padding-left: 0.1426rem;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.7;
    letter-spacing: 0.0438rem;
    margin-bottom: 0.0875rem;
  }

  .ar-case-study__customer-line {
    height: 0.65rem;
    margin-left: -0.0503rem;
    margin-bottom: 0.3125rem;
  }

  .ar-case-study__customer-line--short {
    width: 15.6172rem;
  }

  .ar-case-study__customer-line--long {
    width: 15.6172rem;
  }

  .ar-case-study__title {
    font-weight: 800;
    padding-left: 0;
    font-size: 1.0125rem;
    line-height: 1.7;
    letter-spacing: 0.081rem;
  }

  .ar-case-study__title em {
    display: block;
    width: 100%;
    line-height: 1.7;
  }

  .ar-case-study__title-line {
    display: inline;
    line-height: 1.7;
  }

  .ar-case-study__quote-img {
    top: 0;
    left: -0.75rem;
    width: 1rem;
    height: 0.8192rem;
  }

  .ar-case-study__body {
    flex-direction: column;
    width: 100%;
    gap: 0;
    margin-inline: 0;
    margin-bottom: 1.1625rem;
  }

  .ar-case-study__review {
    width: 100%;
    flex: none;
    color: #00174a;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.0438rem;
    padding-right: 1.875rem;
  }

  .ar-case-study__media {
    order: -1;
    width: 19.1125rem;
    max-width: none;
    flex: none;
    margin-top: 0;
    margin-bottom: 0.8375rem;
  }

  .ar-case-study__media::before {
    right: -0.2096rem;
    bottom: -0.1rem;
    width: 11.3104rem;
    height: 0.1875rem;
    background-size: 11.3104rem 4.8rem;
  }

  .ar-case-study__media::after {
    right: -0.19rem;
    bottom: 0.04rem;
    width: 0.1875rem;
    height: 4.8rem;
    background-size: 11.3104rem 4.8rem;
  }

  .ar-case-study__photo {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 2.351 / 1;
  }

  .ar-case-study__meta {
    flex-direction: column;
    width: 100%;
    gap: 0;
    margin-inline: 0;
    margin-left: 0;
    padding-right: 1.75rem;
  }

  .ar-case-study__facts {
    width: 100%;
    flex: none;
    flex-direction: row;
    gap: 0.4375rem;
    margin-left: 0.0625rem;
    margin-bottom: 0.5625rem;
  }

  .ar-case-study__fact {
    font-weight: 800;
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    min-height: 1.9375rem;
    height: auto;
    padding: 0.2rem 0.5rem;
    border-radius: 0.9rem;
    font-size: 0.9375rem;
    line-height: 1.7;
    letter-spacing: 0.0656rem;
  }

  .ar-case-study__fact:first-child {
  }

  .ar-case-study__work {
    align-self: stretch;
    width: 100%;
    flex: none;
    padding: 0.675rem 1.1875rem 0.8125rem;
    border-radius: 0.625rem;
  }

  .ar-case-study__work-header {
    padding: 0;
    margin-bottom: 0.25rem;
  }

  .ar-case-study__work-icon {
    top: 0;
    left: 0;
    width: 1.5332rem;
    height: 1.6285rem;
  }

  .ar-case-study__work-title {
    font-weight: 800;
    margin-left: 1.6542rem;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.0875rem;
  }

  .ar-case-study__work-text {
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.0406rem;
  }

  .ar-case-studies__swiper .ar-case-studies__pagination {
    position: static;
    gap: 0.5rem;
    height: 0.5rem;
    margin-top: 0;
  }

  .ar-case-studies__swiper
    .ar-case-studies__pagination
    .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
    margin-inline: 0;
  }
}
/* figma-css:end nodeId=934:35 */

@media screen and (min-width: 768px) and (max-width: 1440px) {
  .ar-case-study {
    padding-inline: 2.375rem;
  }
}

/* ==========================================================================
   Steps
   ========================================================================== */
/* figma-css:start nodeId=933:25 */
.ar-steps {
  padding-block: 4.6375rem 6.375rem;
  background: #ffffff;
}

.ar-steps__inner {
  width: 90%;
  max-width: 58.75rem;
  margin-inline: auto;
}

.ar-steps__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 3.6731rem;
  text-align: center;
}

.ar-steps__mark {
  width: 2.85rem;
  height: 1.6rem;
  margin-bottom: 0.7rem;
}

.ar-steps__eyebrow {
  width: 36.25rem;
  padding-bottom: 0.2rem;
  margin-bottom: 0.1188rem;
  background-image: linear-gradient(#00174a, #00174a);
  background-position: center bottom 0.125rem;
  background-size: 100% 0.125rem;
  background-repeat: no-repeat;
  color: #00174a;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.075rem;
}

.ar-steps__title {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.3438rem;
  color: #00174a;
  font-size: 2.6125rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.1306rem;
}

.ar-steps__title-prefix {
  line-height: 1.2;
}

.ar-steps__title-number {
  color: #b8007e;
  font-size: 3.6438rem;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0.1822rem;
  transform: translateY(0.15rem);
}

.ar-steps__title-suffix {
  line-height: 1.2;
}

.ar-steps__flow {
  position: relative;
  transform: translateX(0.5rem);
}

.ar-step-card {
  position: relative;
  box-sizing: border-box;
  border-radius: 3.125rem 3.125rem 0 3.125rem;
  background: #f8f8f8;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1);
}

.ar-step-card--primary {
  display: flex;
  width: 99.7872%;
  min-height: 15.125rem;
  margin-bottom: 1.4875rem;
}

.ar-step-card__primary-content {
  flex: 0 0 27.875rem;
  min-width: 0;
  margin-left: 4.5rem;
  padding-bottom: 1.2625rem;
}

.ar-step-card__header {
  position: relative;
}

.ar-step-card__header--primary {
  padding-top: 2.125rem;
  margin-bottom: 0.6875rem;
}

.ar-step-card__number-img {
  position: absolute;
  width: 5.5625rem;
  height: 2.375rem;
}

.ar-step-card__number-img--01 {
  top: -1.25rem;
  left: -3.4875rem;
}

.ar-step-card__eyebrow {
  color: #00174a;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.05rem;
}

.ar-step-card__eyebrow--primary {
  margin-bottom: 0.425rem;
}

.ar-step-card__title {
  background-image: linear-gradient(#7c87a1, #7c87a1);
  background-position: center bottom 0.0625rem;
  background-size: 100% 1px;
  background-repeat: no-repeat;
  color: #00174a;
  font-weight: 900;
}

.ar-step-card__title em {
  color: #b8007e;
}

.ar-step-card__title--primary {
  padding-bottom: 1.0938rem;
  font-size: 1.5625rem;
  line-height: 1.45;
  letter-spacing: 0.0781rem;
}

.ar-step-card__description {
  color: #00174a;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.0438rem;
}

.ar-step-card__description--primary {
  width: 27.875rem;
}

.ar-step-card__phone {
  flex: 0 0 27.7059rem;
  min-width: 0;
  margin: -2.5rem -3.2059rem 0 auto;
}

.ar-step-card__phone-img {
  width: 100%;
  height: auto;
}

.ar-steps__arrow-down {
  display: block;
  width: 1.35rem;
  height: 0.9rem;
  margin-left: 12.825rem;
  margin-bottom: 1.425rem;
  background: #00174a;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.ar-steps__lower {
  position: relative;
  display: flex;
  gap: 4.625rem;
  margin-bottom: 3.5rem;
}

.ar-step-card--secondary {
  flex: 0 0 27.0625rem;
  min-width: 0;
  padding-inline: 2.5rem 2.6875rem;
  padding-bottom: 1.4375rem;
}

.ar-step-card__header--secondary {
  padding-top: 1.75rem;
  margin-bottom: 1.125rem;
}

.ar-step-card__number-img--02 {
  top: -1.4375rem;
  left: -1.7375rem;
}

.ar-step-card__number-img--03 {
  top: -1.4375rem;
  left: -1.7375rem;
}

.ar-step-card__eyebrow--02 {
  margin-left: -0.125rem;
  margin-bottom: 0.2375rem;
}

.ar-step-card__eyebrow--03 {
  margin-left: -0.1875rem;
  margin-bottom: 0.2375rem;
}

.ar-step-card__title--secondary {
  padding-bottom: 0.7938rem;
  font-size: 1.375rem;
  line-height: 1.65;
  letter-spacing: 0.0688rem;
}

.ar-step-card__nowrap {
  white-space: nowrap;
}

.ar-step-card__body {
  display: flex;
  align-items: flex-start;
  gap: 2.0938rem;
  padding-left: 0.0625rem;
}

.ar-step-card--3 .ar-step-card__body {
  gap: 1.8438rem;
}

.ar-step-card__description--secondary {
  flex: 0 0 11.25rem;
}

.ar-step-card__worker {
  flex: 0 0 8.3125rem;
  min-width: 0;
  transform: translateY(-0.0858rem);
}

.ar-step-card__worker-img {
  width: 100%;
  height: auto;
}

.ar-step-card__worker-img--reply {
  display: block;
}

.ar-step-card__worker-img--planning {
  display: block;
}

.ar-steps__arrow-right {
  position: absolute;
  top: 7.575rem;
  left: 50%;
  width: 0.9rem;
  height: 1.35rem;
  background: #00174a;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: translateX(-50%);
}

.ar-steps__cta {
  margin-bottom: 0.5938rem;
  transform: translateX(0.0456rem);
}

.ar-steps__cta-web {
  transform: translateY(0.1169rem);
}

.ar-steps__note {
  width: 100%;
  max-width: 42.875rem;
  margin-inline: auto;
  color: #000000;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0313rem;
}

@media (width >= 768px) and (width <= 999px) {
  .ar-step-card__primary-content {
    flex: 1 1 0;
    margin-left: 2rem;
  }

  .ar-step-card__description--primary {
    width: 100%;
  }

  .ar-step-card__phone {
    flex-basis: 45%;
    margin-right: -1rem;
  }

  .ar-steps__lower {
    gap: clamp(1rem, 4vw, 2rem);
  }

  .ar-step-card--secondary {
    flex: 1 1 0;
    min-width: 0;
  }
}

@media (width < 768px) {
  .ar-steps {
    margin-bottom: 0.0186rem;
    padding-block: 2.0625rem 2.3125rem;
  }

  .ar-steps__inner {
    max-width: 23.2875rem;
  }

  .ar-steps__header {
    margin-bottom: 2.5369rem;
  }

  .ar-steps__mark {
    width: 2.9925rem;
    height: 1.68rem;
    margin-bottom: 0.6638rem;
  }

  .ar-steps__eyebrow {
    font-weight: 800;
    width: 23.5rem;
    padding-bottom: 0.0625rem;
    margin-bottom: 0.9696rem;
    background-position: center bottom;
    background-size: 100% 0.0813rem;
    font-size: 0.975rem;
    line-height: 1.7;
    letter-spacing: 0.0488rem;
    white-space: nowrap;
  }

  .ar-steps__title {
    font-weight: 800;
    display: block;
    font-size: 1.881rem;
    line-height: 1.2;
    letter-spacing: 0.0940625rem;
  }

  .ar-steps__title-sp {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
  }

  .ar-steps__title-first-line {
    display: block;
    line-height: 1.2;
  }

  .ar-steps__title-second-line {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.3438rem;
  }

  .ar-steps__title-lower-prefix {
    line-height: 1.2;
  }

  .ar-steps__title-number {
    font-weight: 800;
    font-size: 2.6125rem;
    line-height: 1.1;
    letter-spacing: 0.1306rem;
  }

  .ar-steps__title-suffix {
    line-height: 1.2;
    font-size: 1.9435rem;
  }

  .ar-steps__flow {
    width: 22.25rem;
    margin-inline: auto;
    transform: none;
  }

  .ar-step-card {
    border-radius: 2.5rem 2.5rem 0 2.5rem;
  }

  .ar-step-card--primary {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    margin-bottom: 1.7689rem;
    padding-bottom: 1.5436rem;
  }

  .ar-step-card__primary-content {
    flex: 0 0 auto;
    width: 100%;
    margin-left: 0;
    padding-bottom: 0;
  }

  .ar-step-card__header--primary {
    padding-top: 1.36rem;
    margin-bottom: 1.3125rem;
  }

  .ar-step-card__number-img {
    width: 4.4375rem;
    height: 1.9375rem;
  }

  .ar-step-card__number-img--01 {
    top: -1.125rem;
    left: 50%;
    transform: translateX(-50%);
  }

  .ar-step-card__eyebrow {
    font-size: 0.9063rem;
    font-weight: 800;
    line-height: 1.7;
    letter-spacing: 0.0453rem;
    text-align: center;
  }

  .ar-step-card__eyebrow--primary {
    margin-bottom: 0.1769rem;
  }

  .ar-step-card__title--primary {
    width: 18.125rem;
    padding-bottom: 0.9841rem;
    margin-inline: auto;
    background-position: center bottom;
    font-size: 1.2719rem;
    line-height: 1.45;
    letter-spacing: 0.0639rem;
    text-align: center;
  }

  .ar-step-card__description {
    font-weight: 500;
    line-height: 1.7;
  }

  .ar-step-card__description--primary {
    width: 9.875rem;
    margin-left: 1.6875rem;
    letter-spacing: 0;
  }

  .ar-step-card__phone {
    flex: 0 0 auto;
    width: 11.7391rem;
    margin: -10.745rem -0.638rem 0 0;
    align-self: flex-end;
  }

  .ar-steps__arrow-down {
    width: 1.08rem;
    height: 0.72rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 1.761rem;
  }

  .ar-steps__lower {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 1.845rem;
  }

  .ar-step-card--secondary {
    flex: 0 0 auto;
    width: 100%;
    padding-inline: 0;
    padding-bottom: 1.1rem;
  }

  .ar-step-card--2 {
    margin-bottom: 1.75rem;
  }

  .ar-step-card--3 {
    padding-bottom: 1.25rem;
  }

  .ar-step-card__header--secondary {
    padding-top: 1.3069rem;
    margin-bottom: 0.875rem;
  }

  .ar-step-card__number-img--02 {
    top: -1.125rem;
    left: 50%;
    transform: translateX(-50%);
  }

  .ar-step-card__number-img--03 {
    top: -1.2175rem;
    left: 50%;
    transform: translateX(-50%);
  }

  .ar-step-card__eyebrow--02 {
    margin-left: 0;
    margin-bottom: 0.0519rem;
  }

  .ar-step-card__eyebrow--03 {
    margin-left: 0;
    margin-bottom: 0.0519rem;
  }

  .ar-step-card__title--secondary {
    width: 100%;
    padding-bottom: 0.7407rem;
    margin-inline: auto;
    background-position: center bottom;
    background-size: 18.125rem 1px;
    font-size: 1.2788rem;
    line-height: 1.65;
    letter-spacing: 0.0639rem;
    text-align: center;
  }

  .ar-step-card__comma {
    letter-spacing: -0.5115rem;
  }

  .ar-step-card__body {
    gap: 1.375rem;
    padding-left: 1.5625rem;
  }

  .ar-step-card--3 .ar-step-card__body {
    gap: 1.375rem;
  }

  .ar-step-card__description--secondary {
    flex: 0 0 10.8125rem;
  }

  .ar-step-card__worker {
    flex: 0 0 6.65rem;
    transform: translateY(0.25rem);
  }

  .ar-steps__arrow-right {
    position: static;
    top: auto;
    left: auto;
    display: block;
    width: 1.08rem;
    height: 0.72rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 1.8725rem;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: none;
  }

  .ar-steps__cta {
    width: 20.1099rem;
    margin-inline: auto;
    margin-bottom: 0.6285rem;
    transform: none;
  }

  .ar-steps__cta-web {
    transform: none;
  }

  .ar-steps__note {
    width: 20.1099rem;
    max-width: none;
    margin-inline: auto;
    font-size: 0.625rem;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .ar-step-card__title {
    font-weight: 800;
  }
}
/* figma-css:end nodeId=933:25 */

/* ==========================================================================
   Services
   ========================================================================== */
/* figma-css:start nodeId=933:21 */
.ar-services {
  overflow: clip;
  margin-bottom: 0.25rem;
  padding-top: 0;
  padding-bottom: 7.875rem;
  background: #fcf8ef;
}

.ar-services__inner {
  width: 90%;
  max-width: 65.25rem;
  margin-inline: auto;
}

.ar-services__header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 5.45rem;
  margin-bottom: 3.4914rem;
  text-align: center;
}

.ar-services__eyecatch {
  position: absolute;
  top: 2.725rem;
  left: 50%;
  z-index: 0;
  width: 82.2188rem;
  max-width: none;
  height: auto;
  transform: translateX(-50%);
}

.ar-services__logo-mark {
  position: relative;
  z-index: 1;
  width: 2.85rem;
  height: 1.6rem;
  margin-bottom: 0.7625rem;
}

.ar-services__label {
  position: relative;
  z-index: 1;
  width: 17.6rem;
  border-width: 0 0 0.125rem;
  border-style: solid;
  border-color: #00174a;
  color: #00174a;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1rem;
}

.ar-services__title {
  position: relative;
  z-index: 1;
  margin-bottom: 0.5375rem;
  color: #00174a;
  font-size: 2.375rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1188rem;
}

.ar-services__lead {
  position: relative;
  z-index: 1;
  color: #00174a;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.1rem;
  text-align: center;
}

.ar-services__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2.75rem;
  row-gap: 2rem;
  margin-bottom: 3.375rem;
}

.ar-services-card-set {
  min-width: 0;
}

.ar-services-card-set--1 {
  display: block;
}

.ar-services-card-set--2 {
  display: block;
}

.ar-services-card-set--3 {
  display: block;
}

.ar-services-card-set--4 {
  display: block;
}

.ar-services-card__callout {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 27.0625rem;
  height: 4.625rem;
  padding-top: 1.0313rem;
  margin-inline: auto;
  margin-bottom: -2.75rem;
  background-image: url("../img/services-card-callout.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  color: #00174a;
  font-size: 1.1875rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1188rem;
  text-align: center;
  transform: translateY(-0.0938rem);
}

.ar-services-card__highlight {
  background-image: linear-gradient(#fff36d, #fff36d);
  background-position: center bottom;
  background-repeat: no-repeat;
  margin-top: 0.1rem;
}

.ar-services-card-set--1 .ar-services-card__highlight {
  background-size: 10.3125rem 0.5625rem;
}

.ar-services-card-set--2 .ar-services-card__highlight {
  min-width: 9.1875rem;
  background-size: 9.1875rem 0.5625rem;
}

.ar-services-card-set--3 .ar-services-card__highlight {
  min-width: 8.125rem;
  background-size: 8.125rem 0.5625rem;
}

.ar-services-card-set--4 .ar-services-card__highlight {
  min-width: 13.375rem;
  background-size: 13.375rem 0.5625rem;
}

.ar-services-card {
  box-sizing: border-box;
  border-radius: 0.625rem;
  background: #ffffff;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.04);
  text-align: center;
}

.ar-services-card--priced {
  padding-top: 2.9375rem;
  padding-bottom: 1.7903rem;
}

.ar-services-card--estimate {
  padding-top: 2.9375rem;
  padding-bottom: 2.2544rem;
}

.ar-services-card--partitions {
  display: block;
}

.ar-services-card--carpet {
  display: block;
}

.ar-services-card--layout-change {
  display: block;
}

.ar-services-card--reinstatement {
  display: block;
}

.ar-services-card__header {
  width: 90%;
  max-width: 26.6875rem;
  margin-inline: auto;
}

.ar-services-card__title {
  padding-bottom: 0.4375rem;
  border-width: 0 0 0.0625rem;
  border-style: solid;
  border-color: rgba(0, 23, 74, 0.2);
  margin-bottom: 0.5625rem;
  color: #00174a;
  font-size: min(2.4vw, 1.625rem);
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.0488rem;
  text-align: center;
}

.ar-services-card__subtitle {
  color: #00174a;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.0938rem;
  text-align: center;
}

.ar-services-card--priced .ar-services-card__subtitle {
  margin-bottom: -0.1055rem;
}

.ar-services-card--estimate .ar-services-card__subtitle {
  margin-bottom: 0.7316rem;
}

.ar-services-card__price-img {
  width: 15rem;
  height: 5.75rem;
  margin-inline: auto;
  margin-bottom: 0.0219rem;
}

.ar-services-card__estimate {
  margin-bottom: 1.2719rem;
  color: #b8007e;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.0938rem;
  text-align: center;
}

.ar-services-card__media {
  position: relative;
  max-width: 25.1143rem;
  margin-inline: auto;
  width: 85%;
}

.ar-services-card--priced .ar-services-card__media {
  margin-bottom: 1.2775rem;
}

.ar-services-card__side-label {
  position: absolute;
  top: 0.1031rem;
  left: -1.2335rem;
  width: auto;
  height: auto;
}

.ar-services-card__side-label--partitions {
  max-width: 0.7188rem;
}

.ar-services-card__side-label--carpet {
  max-width: 0.7188rem;
}

.ar-services-card__side-label--layout-change {
  max-width: 0.7188rem;
}

.ar-services-card__side-label--reinstatement {
  max-width: 0.7188rem;
}

.ar-services-card__photo {
  width: 100%;
  border-radius: 0.5625rem;
  object-fit: cover;
}

.ar-services-card__note {
  max-width: 24.6875rem;
  margin-inline: auto;
  color: #00174a;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.0375rem;
  text-align: left;
  width: 87%;
}

.ar-services-consultation {
  box-sizing: border-box;
  padding-top: 3.75rem;
  padding-right: 3.75rem;
  padding-bottom: 4.75rem;
  padding-left: 3.75rem;
  border-radius: 0.625rem;
  background: #ffffff;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.04);
}

.ar-services-consultation__header {
  display: flex;
  align-items: flex-start;
  width: 47.5rem;
  gap: 1.0293rem;
  margin-inline: auto;
  margin-bottom: 3.9875rem;
}

.ar-services-consultation__person {
  flex: 0 0 5.3456rem;
  width: 5.3456rem;
  height: 7.292rem;
}

.ar-services-consultation__content {
  flex: 0 0 37.125rem;
  min-width: 0;
  padding-top: 1rem;
}

.ar-services-consultation__title {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.25rem;
  height: 3.9063rem;
  margin-bottom: 0.5426rem;
  background-image: url("../img/services-consultation-heading.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  color: #00174a;
  font-size: 1.6875rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.0844rem;
  transform: translate(-0.1875rem, -0.1875rem);
}

.ar-services-consultation__title-text {
  padding-top: 0.875rem;
}

.ar-services-consultation__emphasis {
  padding-top: 0.1875rem;
  color: #b8007e;
  font-size: 1.875rem;
  line-height: 1.7;
  letter-spacing: 0.0938rem;
}

.ar-services-consultation__lead {
  color: #00174a;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.1rem;
  text-align: center;
}

.ar-services-menu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 58.125rem;
  column-gap: 1.875rem;
  row-gap: 1.5209rem;
}

.ar-services-menu__item {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-width: 0;
  min-height: 6.1875rem;
  padding-left: 2.0977rem;
  padding-right: 1.207rem;
  border-width: 0.0375rem;
  border-style: solid;
  border-color: rgba(0, 23, 74, 0.3);
  border-radius: 0.625rem;
  background: #ffffff;
}

.ar-services-menu__item--1 {
  display: flex;
}

.ar-services-menu__item--2 {
  display: flex;
}

.ar-services-menu__item--3 {
  display: flex;
}

.ar-services-menu__item--4 {
  display: flex;
}

.ar-services-menu__item--5 {
  display: flex;
}

.ar-services-menu__item--6 {
  display: flex;
}

.ar-services-menu__item--7 {
  display: flex;
}

.ar-services-menu__item--8 {
  display: flex;
}

.ar-services-menu__item--9 {
  display: flex;
}

.ar-services-menu__item--10 {
  display: flex;
}

.ar-services-menu__item--11 {
  display: flex;
}

.ar-services-menu__item--12 {
  display: flex;
}

.ar-services-menu__check {
  position: absolute;
  top: -0.3766rem;
  left: -0.4375rem;
  width: 1.5938rem;
  height: 1.5938rem;
}

.ar-services-menu__title {
  flex: 0 0 10.1875rem;
  min-width: 0;
  color: #00174a;
  font-size: 1.0625rem;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 0.1063rem;
}

.ar-services-menu__img {
  flex: 0 0 4.6589rem;
  width: 4.6589rem;
  height: 4.6589rem;
  margin-left: auto;
  border-radius: 50%;
}

@media (width >= 768px) and (width <= 1040px) {
  .ar-services-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 690px;
    margin-inline: auto;
  }
}

@media (width < 768px) {
  .ar-services {
    margin-bottom: 0.0098rem;
    padding-bottom: 3.1875rem;
  }

  .ar-services__inner {
    width: 90%;
    max-width: 23.1875rem;
  }

  .ar-services__header {
    padding-top: 3.375rem;
    margin-bottom: 1.4375rem;
  }

  .ar-services__eyecatch {
    top: 1.225rem;
    width: 26.6875rem;
  }

  .ar-services__logo-mark {
    width: 2.9925rem;
    height: 1.68rem;
    margin-bottom: 0.6013rem;
  }

  .ar-services__label {
    font-weight: 800;
    width: 11.4rem;
    border-bottom-width: 0.125rem;
    font-size: 0.975rem;
    line-height: 1.7;
    letter-spacing: 0.04875rem;
    margin-bottom: 0.521875rem;
  }

  .ar-services__title {
    font-weight: 800;
    margin-bottom: 0.571875rem;
    font-size: 1.775rem;
    line-height: 1.55;
    letter-spacing: 0.08875rem;
  }

  .ar-services__lead {
    width: 20.25rem;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.04375rem;
  }

  .ar-services__cards {
    display: flex;
    flex-direction: column;
    gap: 1.5625rem;
    margin-bottom: 1.9375rem;
  }

  .ar-services-card-set--1 {
    width: 98.3827%;
    margin-inline: auto;
  }

  .ar-services-card-set--2 {
    width: 98.3827%;
    margin-inline: auto;
  }

  .ar-services-card-set--3 {
    width: 100%;
  }

  .ar-services-card-set--4 {
    width: 100%;
  }

  .ar-services-card__callout {
    font-weight: 800;
    width: 20.1563rem;
    height: 3.3169rem;
    padding-top: 0.6031rem;
    margin-bottom: -1.8794rem;
    font-size: 0.8906rem;
    line-height: 1.7;
    letter-spacing: 0.0891rem;
    transform: none;
  }

  .ar-services-card-set--1 .ar-services-card__highlight {
    background-size: 7.7344rem 0.4219rem;
  }

  .ar-services-card-set--2 .ar-services-card__highlight {
    min-width: 6.4844rem;
    background-size: 6.4844rem 0.4219rem;
  }

  .ar-services-card-set--3 .ar-services-card__highlight {
    min-width: 6.0469rem;
    background-size: 6.0469rem 0.4219rem;
  }

  .ar-services-card-set--4 .ar-services-card__highlight {
    min-width: 9.7969rem;
    background-size: 9.7969rem 0.4219rem;
  }

  .ar-services-card {
    border-radius: 0.4688rem;
    box-shadow: 0 0 0.4688rem rgba(0, 0, 0, 0.04);
  }

  .ar-services-card--priced {
    padding-top: 2.1719rem;
    padding-bottom: 1.6281rem;
  }

  .ar-services-card--estimate {
    padding-top: 2.1719rem;
    padding-bottom: 1.666rem;
  }

  .ar-services-card--reinstatement {
    padding-bottom: 1.6025rem;
  }

  .ar-services-card__header {
    width: 20.0156rem;
  }

  .ar-services-card__title {
    font-weight: 800;
    padding-bottom: 0.3281rem;
    margin-bottom: 0.3344rem;
    font-size: 1.2188rem;
    line-height: 1.7;
    letter-spacing: 0.0366rem;
  }

  .ar-services-card__subtitle {
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.0875rem;
    font-weight: 500;
  }

  .ar-services-card--priced .ar-services-card__subtitle {
    margin-bottom: -0.3625rem;
  }

  .ar-services-card--estimate .ar-services-card__subtitle {
    margin-bottom: 0.5438rem;
  }

  .ar-services-card--reinstatement .ar-services-card__subtitle {
    margin-bottom: 0.0313rem;
    line-height: 1.5;
  }

  .ar-services-card__price-img {
    width: 11.25rem;
    height: 4.3125rem;
    margin-bottom: 0.0165rem;
  }

  .ar-services-card__estimate {
    font-weight: 800;
    margin-bottom: 1.0469rem;
    font-size: 1.4063rem;
    line-height: 1.7;
    letter-spacing: 0.0703rem;
  }

  .ar-services-card--reinstatement .ar-services-card__estimate {
    margin-bottom: 0.5rem;
  }

  .ar-services-card__media {
    width: 18.2106rem;
  }

  .ar-services-card--priced .ar-services-card__media {
    margin-bottom: 0.5518rem;
  }

  .ar-services-card__side-label {
    top: 0.0772rem;
    left: -1.1375rem;
  }

  .ar-services-card__side-label--partitions {
    max-width: 0.6875rem;
  }

  .ar-services-card__side-label--carpet {
    max-width: 0.6875rem;
  }

  .ar-services-card__side-label--layout-change {
    max-width: 0.6875rem;
  }

  .ar-services-card__side-label--reinstatement {
    max-width: 0.6875rem;
  }

  .ar-services-card__photo {
    height: 9.9004rem;
    border-radius: 0.4219rem;
  }

  .ar-services-card__note {
    width: 18.8125rem;
    font-size: 0.625rem;
    line-height: 1.6;
    letter-spacing: 0.0313rem;
  }

  .ar-services-card--partitions .ar-services-card__note {
    font-size: 0.5625rem;
    line-height: 1.7778;
    letter-spacing: 0.0188rem;
  }

  .ar-services-consultation {
    padding-top: 0.6771rem;
    padding-right: 0;
    padding-bottom: 2.125rem;
    padding-left: 0;
    border-radius: 0.4688rem;
    box-shadow: 0 0 0.4688rem rgba(0, 0, 0, 0.04);
  }

  .ar-services-consultation__header {
    flex-wrap: wrap;
    width: 20.7313rem;
    column-gap: 0.3rem;
    row-gap: 0.3854rem;
    margin-bottom: 1.3125rem;
  }

  .ar-services-consultation__person {
    flex-basis: 4.7813rem;
    width: 4.7813rem;
    height: 6.5rem;
  }

  .ar-services-consultation__content {
    flex: 1;
    padding-top: 1.1136rem;
  }

  .ar-services-consultation__title {
    font-weight: 800;
    display: block;
    height: 4.5674rem;
    padding-top: 0.6313rem;
    margin-bottom: 0;
    font-size: 1.063125rem;
    line-height: 1.7;
    letter-spacing: 0.053125rem;
    text-align: left;
    transform: none;
    background-image: url(../img/services-consultation-heading-sp.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    padding-left: 1.3rem;
  }

  .ar-services-consultation__title-text {
    display: inline;
    padding-top: 0;
  }

  .ar-services-consultation__title-consult {
    display: inline-block;
    transform: translateY(-0.2rem);
  }

  .ar-services-consultation__emphasis {
    display: inline;
    padding-top: 0;
    font-size: 1.18125rem;
    line-height: 1;
    letter-spacing: 0.0590625rem;
  }

  .ar-services-consultation__lead {
    width: fit-content;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.04375rem;
  }

  .ar-services-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 20.875rem;
    column-gap: 0.5rem;
    row-gap: 0.875rem;
    margin-inline: auto;
  }

  .ar-services-menu__item {
    flex-direction: column;
    align-items: center;
    min-height: 7.6875rem;
    padding-top: 0.8788rem;
    padding-right: 0;
    padding-left: 0;
    border-radius: 0.625rem;
  }

  .ar-services-menu__check {
    top: -0.3125rem;
    left: -0.125rem;
    width: 1.0557rem;
    height: 1.0557rem;
  }

  .ar-services-menu__title {
    flex: none;
    width: 100%;
    margin-bottom: 0.3213rem;
    font-size: 0.8125rem;
    line-height: 1.3;
    letter-spacing: 0.0813rem;
    text-align: center;
    font-weight: 600;
  }

  .ar-services-menu__img {
    flex-basis: 3.7269rem;
    width: 3.7269rem;
    height: 3.7269rem;
    margin-left: 0;
  }
}
/* figma-css:end nodeId=933:21 */

/* ==========================================================================
   Contact CTA
   ========================================================================== */
/* figma-css:start nodeId=933:12 */
.ar-contact-cta {
  position: relative;
  overflow: clip;
  box-sizing: border-box;
  padding-block: 5.8125rem 5.875rem;
  background-image: url("../img/contact-cta-background.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.ar-contact-cta__inner {
  width: 90%;
  max-width: 68.375rem;
  margin-inline: auto;
}

.ar-contact-cta__panel {
  position: relative;
  display: grid;
  box-sizing: border-box;
  padding-block: 3.2625rem 3.9375rem;
  border-radius: 1.25rem;
  background: #ffffff;
  box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.15);
}

.ar-contact-cta__panel-content {
  grid-area: 1 / 1;
}

.ar-contact-cta__badges {
  position: absolute;
  top: -2.4375rem;
  left: -3.875rem;
  display: flex;
  gap: 0.121rem;
}

.ar-contact-cta__badge-img {
  width: 9.504rem;
  height: 9.504rem;
  object-fit: contain;
}

.ar-contact-cta__badge-img--estimate {
  display: block;
}

.ar-contact-cta__badge-img--survey {
  display: block;
}

.ar-contact-cta__header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1.3125rem;
  text-align: center;
}

.ar-contact-cta__mark {
  width: 2.85rem;
  height: 1.6rem;
  margin-bottom: 0.575rem;
}

.ar-contact-cta__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4375rem;
  min-height: 2.6563rem;
  margin-bottom: 0.1875rem;
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5625rem;
  font-weight: 900;
  line-height: 2.6563rem;
  letter-spacing: 0.0781rem;
}

.ar-contact-cta__eyebrow-prefix {
  display: inline-block;
}

.ar-contact-cta__eyebrow-brand {
  display: inline-block;
  color: transparent;
  background-image:
    linear-gradient(
      166.053deg,
      #b8007e 23.243%,
      #311b8a 54.366%,
      rgba(0, 45, 146, 0) 85.831%
    ),
    linear-gradient(90deg, #00174a 0%, #00174a 100%);
  background-clip: text;
}

.ar-contact-cta__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
}

.ar-contact-cta__title-primary {
  display: flex;
  align-items: baseline;
  justify-content: center;
  min-height: 4.875rem;
  margin-bottom: 0.25rem;
  font-size: 2.875rem;
  line-height: 1.3;
  letter-spacing: 0.1438rem;
}

.ar-contact-cta__title-prefix {
  margin-right: 0.4375rem;
}

.ar-contact-cta__title-highlight {
  position: relative;
  display: flex;
  align-items: baseline;
  background: linear-gradient(
    to bottom,
    transparent 62.8%,
    #fff36d 62.8%,
    #fff36d 91%,
    transparent 91%
  );
}

.ar-contact-cta__title-fast {
  margin-right: 0.4375rem;
  color: #b8007e;
  font-size: 3.3616rem;
  line-height: 1.2;
  letter-spacing: -0.0336rem;
}

.ar-contact-cta__title-number {
  margin-right: 0.0625rem;
  color: #b8007e;
  font-size: 4.4241rem;
  line-height: 1.1;
  letter-spacing: -0.0442rem;
}

.ar-contact-cta__title-minute {
  margin-right: 0.375rem;
  color: #b8007e;
  font-size: 3.3616rem;
  line-height: 1.2;
  letter-spacing: -0.0336rem;
}

.ar-contact-cta__title-suffix {
  display: inline-block;
}

.ar-contact-cta__title-secondary {
  margin-bottom: 0.8875rem;
  font-size: 2.875rem;
  line-height: 1.3;
  letter-spacing: 0.1438rem;
}

.ar-contact-cta__divider {
  display: block;
  width: 2.75rem;
  height: 1px;
  background: #00174a;
}

.ar-contact-cta__lead {
  margin-bottom: 2.3625rem;
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.85rem;
  letter-spacing: 0.05rem;
  text-align: center;
}

.ar-contact-cta__actions {
  width: 43.09rem;
  margin-inline: auto;
}

.ar-contact-cta__cta {
  margin-bottom: 0.7188rem;
}

.ar-contact-cta__cta-web {
  transform: translateY(0.1121rem);
}

.ar-contact-cta__cta-line {
  display: block;
}

.ar-contact-cta__note {
  width: 27.0625rem;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.0313rem;
}

.ar-contact-cta__consultant {
  grid-area: 1 / 1;
  align-self: end;
  justify-self: end;
  width: 23.0625rem;
  height: 22.1875rem;
  margin-bottom: -3.9375rem;
}

.ar-contact-cta__consultant-img {
  width: 100%;
  height: 100%;
}

.ar-contact-cta__consultant > picture {
  display: block;
  width: 100%;
  height: 100%;
}

@media (width >= 768px) and (width <= 1040px) {
  .ar-contact-cta__consultant {
    display: none;
  }

  .ar-contact-cta__badges {
    top: -4.1375rem;
    left: -1.975rem;
  }
}

@media (width >= 768px) and (width <= 1140px) {
  .ar-contact-cta__badges {
    top: -4.1375rem;
    left: -1.975rem;
  }
}

/* --- Responsive --- */
@media (width < 768px) {
  .ar-contact-cta {
    padding-block: 4.625rem 3.875rem;
    background-color: #d7d2c8;
    background-image: url("../img/contact-cta-background-sp.webp");
    background-position: center top;
    background-size: 100% 100%;
  }

  .ar-contact-cta__inner {
    max-width: 22.75rem;
  }

  .ar-contact-cta__panel {
    padding-block: 4.15rem 1rem;
    border-radius: 0.75rem;
  }

  .ar-contact-cta__panel-content {
    display: grid;
    grid-template-columns: 1.5rem 13.8125rem minmax(0, 1fr);
  }

  .ar-contact-cta__badges {
    top: -2.5718rem;
    left: 0.502rem;
    gap: 0.0794rem;
  }

  .ar-contact-cta__badge-img {
    width: 6.2726rem;
    height: 6.2726rem;
  }

  .ar-contact-cta__header {
    grid-column: 1 / -1;
    margin-bottom: 0.2813rem;
  }

  .ar-contact-cta__mark {
    display: none;
  }
  .ar-contact-cta__eyebrow {
    font-weight: 800;
    gap: 0.1875rem;
    min-height: 1.5625rem;
    margin-bottom: 0.2465rem;
    font-size: 0.875rem;
    line-height: 1.5625rem;
    letter-spacing: 0.0438rem;
  }

  .ar-contact-cta__title-primary {
    flex-wrap: wrap;
    min-height: 0;
    margin-bottom: 0.0625rem;
    font-size: 1.875rem;
    line-height: 1.2;
    letter-spacing: 0.0938rem;
  }

  .ar-contact-cta__title-prefix {
    flex: 0 0 100%;
    margin-right: 0;
  }

  .ar-contact-cta__title-fast {
    margin-right: 0.3055rem;
    font-size: 2.3125rem;
    line-height: 1.2;
    letter-spacing: -0.0231rem;
  }

  .ar-contact-cta__title-number {
    margin-right: 0.043rem;
    font-size: 3rem;
    line-height: 1.1;
    letter-spacing: -0.03rem;
  }

  .ar-contact-cta__title-minute {
    margin-right: 0.2598rem;
    font-size: 2.3125rem;
    line-height: 1.2;
    letter-spacing: -0.0231rem;
  }

  .ar-contact-cta__title-secondary {
    margin-bottom: 0.425rem;
    font-size: 1.875rem;
    line-height: 1.3667;
    letter-spacing: 0.0938rem;
  }

  .ar-contact-cta__lead {
    grid-column: 2;
    width: 13.8125rem;
    max-width: 100%;
    margin-bottom: 2.5625rem;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0.0438rem;
    text-align: left;
  }

  .ar-contact-cta__actions {
    grid-column: 1 / -1;
    width: 88.395%;
    position: relative;
  }

  .ar-contact-cta__cta {
    margin-bottom: 0.3031rem;
  }

  .ar-contact-cta__cta-web {
    transform: none;
  }

  .ar-contact-cta__note {
    width: 18.125rem;
    max-width: 100%;
    font-size: 0.625rem;
    line-height: 1rem;
    letter-spacing: 0.0313rem;
  }

  .ar-contact-cta__consultant {
    align-self: center;
    width: 13.1357rem;
    height: 9.4375rem;
    margin-right: 0.625rem;
    margin-bottom: 2.0963rem;
  }

  .ar-contact-cta__title {
    font-weight: 800;
  }
}
/* figma-css:end nodeId=933:12 */

/* ==========================================================================
   FAQ
   ========================================================================== */
/* figma-css:start nodeId=863:1423 */
.ar-faq {
  margin-bottom: 0.375rem;
  padding-block: 5.25rem 5.75rem;
  background: #fcf8ef;
}

.ar-faq__inner {
  width: 90%;
  max-width: 50rem;
  margin-inline: auto;
}

.ar-faq__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1.3481rem;
  text-align: center;
}

.ar-faq__mark {
  width: 2.85rem;
  height: 1.6rem;
  margin-bottom: 0.5207rem;
}

.ar-faq__title {
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.1875rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1094rem;
}

.ar-faq__list {
  display: flex;
  flex-direction: column;
  gap: 1.1979rem;
}

.ar-faq-item {
  box-sizing: border-box;
  padding: 0.75rem 3.375rem 1.6716rem 3.8125rem;
  border-radius: 1.875rem;
  background: #ffffff;
  box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.05);
}

.ar-faq-item--2 {
  padding-bottom: 1.3466rem;
}

.ar-faq-item--6 {
  padding-bottom: 1.9716rem;
}

.ar-faq-item__heading {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 3.5rem;
  margin: 0 0 0.2409rem;
  padding: 0;
  border: 0;
  color: #00174a;
  font: inherit;
  background: transparent;
  text-align: left;
}

.ar-faq-item__q-img {
  flex: 0 0 1.875rem;
  width: 1.875rem;
  height: 3.5rem;
  margin-right: 1.0313rem;
}

.ar-faq-item__question {
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1875rem;
  font-weight: 900;
  line-height: 1.85;
  letter-spacing: 0.0594rem;
}

.ar-faq-item__answer {
  max-width: 42.625rem;
  padding-left: 0.1875rem;
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
}

.ar-faq-item__answer-text {
  line-height: 1.8;
}

@media (width < 768px) {
  .ar-faq {
    margin-bottom: 0.0215rem;
    padding-block: 2.1875rem 3.125rem;
  }

  .ar-faq__inner {
    width: 90%;
    max-width: 23.375rem;
  }

  .ar-faq__header {
    margin-bottom: 1.1594rem;
  }

  .ar-faq__mark {
    width: 2.9925rem;
    height: 1.68rem;
    margin-bottom: 0.4981rem;
  }

  .ar-faq__title {
    font-weight: 800;
    font-size: 1.75rem;
    line-height: 1.7;
    letter-spacing: 0.0875rem;
  }

  .ar-faq__list {
    gap: 1rem;
  }

  .ar-faq-item {
    padding: 0.8125rem 2.125rem 1.475rem 1.7847rem;
    border-radius: 1.25rem;
  }

  .ar-faq-item--2 {
    padding-bottom: 1.4rem;
  }

  .ar-faq-item--3 {
    padding-bottom: 1.425rem;
  }

  .ar-faq-item--4 {
    padding-bottom: 1.4875rem;
  }

  .ar-faq-item--5 {
    padding-bottom: 1.3625rem;
  }

  .ar-faq-item--6 {
    padding-bottom: 1.5125rem;
  }

  .ar-faq-item--7 {
    padding-bottom: 1.475rem;
  }

  .ar-faq-item__heading {
    align-items: flex-start;
    margin-bottom: 0.9125rem;
  }

  .ar-faq-item--2 .ar-faq-item__heading {
    margin-bottom: 0.3125rem;
  }

  .ar-faq-item__q-img {
    margin-right: 0.7153rem;
  }

  .ar-faq-item__question {
    font-weight: 800;
    flex: 1;
    min-width: 0;
    padding-top: 0.875rem;
    font-size: 1rem;
    line-height: 1.45;
    letter-spacing: 0.05rem;
  }

  .ar-faq-item__answer {
    padding-left: 0.3403rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.0875rem;
  }

  .ar-faq-item--3 .ar-faq-item__answer {
    letter-spacing: 0.075rem;
  }

  .ar-faq-item--6 .ar-faq-item__answer {
    letter-spacing: 0.075rem;
  }

  .ar-faq-item__answer-text {
    line-height: 1.7;
  }
}

/* figma-css:end nodeId=863:1423 */

/* ==========================================================================
   Contact form
   ========================================================================== */
/* figma-css:start nodeId=863:1416 */
.ar-contact {
  padding-block: 5.3438rem 6.0642rem;
  background: #ffffff;
}

.ar-contact__inner {
  width: 90%;
  max-width: 53.125rem;
  margin-inline: auto;
}

.ar-contact__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2.6125rem;
  text-align: center;
}

.ar-contact__eyebrow {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  box-sizing: border-box;
  width: 22.75rem;
  height: 5.6875rem;
  margin-bottom: 0.3394rem;
  padding-top: 0.875rem;
  color: #ffffff;
  background-image: url("../img/contact-form-badge.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6188rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1457rem;
}

.ar-contact__title {
  margin-bottom: 0.7855rem;
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.1875rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.1094rem;
}

.ar-contact__divider {
  width: 3.125rem;
  height: 1px;
  margin-bottom: 1rem;
  background: #b8007e;
}

.ar-contact__lead {
  margin-bottom: 0.25rem;
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.0438rem;
}

.ar-contact__lead-line {
  display: block;
  line-height: 1.85;
}

.ar-contact__note {
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.075rem;
}

.ar-contact__form {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ar-contact__errors {
  margin-bottom: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid #c62828;
  border-radius: 0.4375rem;
  background: #fff5f5;
  color: #9f1d1d;
  font-size: 0.875rem;
  line-height: 1.7;
}

.ar-contact__errors[hidden] {
  display: none;
}

.ar-contact__panel {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 0.8625rem;
  padding: 2.0625rem 4.5rem 3.5625rem 4.5625rem;
  border-radius: 1.875rem;
  background: #f6f6f6;
  box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.05);
}

.ar-contact-construction {
  min-width: 0;
  margin: 0rem 0rem 1.5rem;
  padding: 0;
  border: 0;
}

.ar-contact-construction__legend {
  width: 100%;
  margin-bottom: 0.3375rem;
  padding: 0;
}

.ar-contact-construction__legend-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.ar-contact-construction__title {
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.0563rem;
}

.ar-contact-construction__options {
  display: flex;
  flex-direction: column;
}

.ar-contact-construction__row {
  display: flex;
  align-items: center;
  height: 1.625rem;
}

.ar-contact-construction__row--1 {
  margin-bottom: 0.1938rem;
}

.ar-contact-option {
  display: flex;
  align-items: center;
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.0938rem;
  cursor: pointer;
}

.ar-contact-option--1 {
  flex: 0 0 6rem;
  margin-right: 2.0625rem;
}

.ar-contact-option--2 {
  flex: 0 0 15.25rem;
  margin-right: 1.5625rem;
}

.ar-contact-option--3 {
  flex: 0 0 8.0625rem;
}

.ar-contact-option--4 {
  flex: 0 0 13.1875rem;
  margin-right: 2.125rem;
}

.ar-contact-option--5 {
  flex: 0 0 10.125rem;
  margin-right: 2.25rem;
}

.ar-contact-option--6 {
  flex: 0 0 4.9375rem;
}

.ar-contact-option__input {
  appearance: none;
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0rem 0.6875rem 0rem 0rem;
  border: 2px solid #d9d9d9;
  border-radius: 0.125rem;
  background: #ffffff;
}

.ar-contact-option__input:checked {
  background: #00174a;
  box-shadow: inset 0 0 0 0.1875rem #ffffff;
}

.ar-contact-option__label {
  line-height: 1.7;
  white-space: nowrap;
}

.ar-contact-field {
  display: flex;
  flex-direction: column;
}

.ar-contact-field--1 {
  margin-bottom: 0.9375rem;
}

.ar-contact-field--2 {
  margin-bottom: 0.9375rem;
}

.ar-contact-field--3 {
  margin-bottom: 0.9375rem;
}

.ar-contact-field--4 {
  margin-bottom: 0.9375rem;
}

.ar-contact-field--5 {
  margin-bottom: 0.9375rem;
}

.ar-contact-field--6 {
  margin-bottom: 0.9375rem;
}

.ar-contact-field--7 {
  margin-bottom: 1.1875rem;
}

.ar-contact-field__label {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  height: 1.9375rem;
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.0563rem;
  margin-bottom: 0.3rem;
}

.ar-contact-field__label-text {
  line-height: 1.7;
}

.ar-contact__badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.4375rem;
  width: 2.4375rem;
  height: 1.375rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8125rem;
  font-weight: 900;
  line-height: 1.7;
  letter-spacing: 0.0406rem;
  background-position: center 0.125rem;
  background-repeat: no-repeat;
  background-size: 100% 1.1875rem;
  border-radius: 0.125rem;
}

.ar-contact__badge--required {
  background-image: linear-gradient(#fb3f3f, #fb3f3f);
}

.ar-contact__badge--optional {
  background-image: linear-gradient(#5e6e92, #5e6e92);
}

.ar-contact-field__input {
  z-index: 1;
  grid-area: 1 / 1;
  box-sizing: border-box;
  width: 100%;
  height: 3.375rem;
  padding-inline: 1.375rem;
  border: 2px solid #d9d9d9;
  border-radius: 0.4375rem;
  color: #494949;
  background: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: 0.0225rem;
}

.ar-contact-field__control {
  display: grid;
}

.ar-contact-field__placeholder {
  z-index: 2;
  grid-area: 1 / 1;
  align-self: center;
  padding-inline: 1.375rem;
  color: rgba(73, 73, 73, 0.3);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: 0.0225rem;
  opacity: 1;
  pointer-events: none;
}

.ar-contact-field__control:has(.ar-contact-field__input:focus)
  .ar-contact-field__placeholder {
  opacity: 0;
}

.ar-contact-field__control:has(.ar-contact-field__input:not(:placeholder-shown))
  .ar-contact-field__placeholder {
  opacity: 0;
}

.ar-contact-field__hint {
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.0375rem;
  margin-top: 0.1rem;
}

.ar-contact-field__textarea {
  z-index: 1;
  grid-area: 1 / 1;
  box-sizing: border-box;
  width: 100%;
  min-height: 10.25rem;
  padding: 0.6875rem 1.375rem;
  resize: none;
  border: 2px solid #d9d9d9;
  border-radius: 0.4375rem;
  color: #494949;
  background: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: 0.0225rem;
}

.ar-contact-field__placeholder--textarea {
  align-self: start;
  padding: 0.6875rem 1.375rem;
  color: rgba(73, 73, 73, 0.3);
  opacity: 1;
}

.ar-contact-field__control:has(.ar-contact-field__textarea:focus)
  .ar-contact-field__placeholder {
  opacity: 0;
}

.ar-contact-field__control:has(
    .ar-contact-field__textarea:not(:placeholder-shown)
  )
  .ar-contact-field__placeholder {
  opacity: 0;
}

.ar-contact-upload__label {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  height: 1.9375rem;
  margin-bottom: 0.75rem;
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.0563rem;
}

.ar-contact-upload__label-text {
  line-height: 1.7;
}

.ar-contact-upload__hint {
  color: #00174a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.0375rem;
}

.ar-contact-upload__files {
  display: flex;
  flex-direction: column;
  gap: 0.6875rem;
}

.ar-contact-file {
  position: relative;
  display: flex;
  align-items: center;
  height: 2.375rem;
}

.ar-contact-file__button {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 8.4375rem;
  width: 8.4375rem;
  height: 2.375rem;
  border: 1px solid #8c8c8c;
  color: #8c8c8c;
  background: #e1e1e1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.0438rem;
}

.ar-contact-file__status {
  margin-left: 0.875rem;
  color: #8c8c8c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.0438rem;
}

.ar-contact-file__input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.grecaptcha-badge {
  visibility: hidden;
}

.ar-contact__recaptcha-notice {
  margin-top: 16px;
  margin-top: 1rem;
  margin-right: 16px;
  margin-right: 1rem;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  margin-left: 16px;
  margin-left: 1rem;
  color: #666666;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1.6;
  text-align: center;
}

.ar-contact__recaptcha-notice a {
  color: #001a4d;
  text-decoration: underline;
}

.ar-contact__submit {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 21.1683rem;
  height: 5.2483rem;
  padding: 0;
  border: 0;
  border-radius: 0.2916rem;
  color: #ffffff;
  background: #e46c0a;
  box-shadow: 0 0.3499rem 0 #b35508;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2829rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.2694rem;
  cursor: pointer;
  transform-origin: center center;
  transition: transform 0.3s ease;
}

.ar-contact__submit:hover {
  transform: scale(1.03);
}

.ar-contact__submit-text {
  line-height: 1.3;
  grid-column: 2;
}

.ar-contact__submit-arrow {
  grid-column: 3;
  justify-self: end;
  display: block;
  width: 0.625rem;
  height: 0.9688rem;
  margin-right: 1.3288rem;
}

/* --- Responsive --- */
@media (width < 768px) {
  .ar-contact {
    margin-bottom: 0.0127rem;
    padding-block: 2.9587rem 4.1267rem;
  }

  .ar-contact__inner {
    width: 90%;
    max-width: 23.375rem;
  }

  .ar-contact__header {
    margin-bottom: 1.5266rem;
  }

  .ar-contact__eyebrow {
    font-weight: 800;
    width: 17.5175rem;
    height: 4.3793rem;
    margin-bottom: 0.0386rem;
    padding-top: 0.6737rem;
    font-size: 1.25rem;
    letter-spacing: 0.125rem;
    padding-left: 0.5rem;
  }

  .ar-contact__title {
    font-weight: 800;
    margin-bottom: 0.553rem;
    font-size: 1.75rem;
    letter-spacing: 0.0875rem;
  }

  .ar-contact__divider {
    width: 2.1875rem;
    margin-bottom: 0.6813rem;
  }

  .ar-contact__lead {
    width: 21.3125rem;
    margin-bottom: 0.2875rem;
    font-size: 0.875rem;
    line-height: 1.85;
    letter-spacing: 0.0438rem;
  }

  .ar-contact__lead-line {
    line-height: 1.85;
  }

  .ar-contact__note {
    font-size: 0.625rem;
    line-height: 1.6;
    letter-spacing: 0.0313rem;
  }

  .ar-contact__errors {
    width: 100%;
  }

  .ar-contact__panel {
    margin-bottom: 0.275rem;
    padding: 1.6875rem 1.75rem 1.8688rem 1.625rem;
    border-radius: 1.25rem;
  }

  .ar-contact-construction {
    margin: 0rem 0rem 1.425rem;
    padding: 0rem 0rem 0rem 0.2063rem;
  }

  .ar-contact-construction__legend {
    margin-bottom: 0.6625rem;
  }

  .ar-contact-construction__legend-row {
    gap: 0.75rem;
  }

  .ar-contact-construction__options {
    display: grid;
    width: 20.8096rem;
  }

  .ar-contact-construction__row {
    grid-area: 1 / 1;
    display: grid;
    grid-template-columns: 6.6563rem 1.8438rem 2.1934rem minmax(0, 1fr);
    grid-template-rows: repeat(3, 1.5rem);
    align-items: center;
    height: auto;
    row-gap: 0.8125rem;
  }

  .ar-contact-construction__row--1 {
    margin-bottom: 0;
  }

  .ar-contact-option {
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.0875rem;
  }

  .ar-contact-option--1 {
    grid-column: 1;
    grid-row: 1;
    margin-right: 0;
  }

  .ar-contact-option--2 {
    grid-column: 2 / 5;
    grid-row: 1;
    margin-right: 0;
  }

  .ar-contact-option--3 {
    grid-column: 1;
    grid-row: 2;
  }

  .ar-contact-option--4 {
    grid-column: 3 / 5;
    grid-row: 2;
    margin-right: 0;
  }

  .ar-contact-option--5 {
    grid-column: 1;
    grid-row: 3;
    margin-right: 0;
  }

  .ar-contact-option--6 {
    grid-column: 4;
    grid-row: 3;
  }

  .ar-contact-option__input {
    flex-basis: 1.1875rem;
    width: 1.1875rem;
    height: 1.1875rem;
    margin-right: 0.5283rem;
  }

  .ar-contact-field--1 {
    margin-bottom: 0.875rem;
  }

  .ar-contact-field--2 {
    margin-bottom: 0.875rem;
  }

  .ar-contact-field--3 {
    margin-bottom: 0.875rem;
  }

  .ar-contact-field--4 {
    margin-bottom: 0.875rem;
  }

  .ar-contact-field--5 {
    margin-bottom: 0.875rem;
  }

  .ar-contact-field--6 {
    margin-bottom: 1.125rem;
  }

  .ar-contact-field--7 {
    margin-bottom: 1.25rem;
  }

  .ar-contact-field__label {
    height: 1.9375rem;
    margin-bottom: 0.1875rem;
  }

  .ar-contact-field__label-text {
    padding-left: 0.2063rem;
  }

  .ar-contact__badge {
    font-weight: 800;
    flex-basis: 2.3156rem;
    width: 2.3156rem;
    height: 1.3125rem;
    background-position: center 0.1188rem;
    background-size: 100% 1.1281rem;
    border-radius: 0.11875rem;
  }

  .ar-contact-field__input {
    height: 4.0625rem;
    padding-inline: 0.875rem;
  }

  .ar-contact-field__placeholder {
    padding-inline: 0.875rem;
  }

  .ar-contact-field--message .ar-contact-field__label {
    flex-wrap: wrap;
    align-content: flex-start;
    height: auto;
    margin-bottom: 0.6rem;
    column-gap: 0.625rem;
    row-gap: 0;
  }

  .ar-contact-field__hint {
    flex: 0 0 16.1875rem;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.0375rem;
  }

  .ar-contact-field__textarea {
    min-height: 13.25rem;
    padding: 0.8125rem 0.875rem;
  }

  .ar-contact-field__placeholder--textarea {
    padding: 0.8125rem 0.875rem;
  }

  .ar-contact-upload__label {
    flex-wrap: wrap;
    align-content: flex-start;
    height: auto;
    margin-bottom: 0.5625rem;
    column-gap: 0.625rem;
    row-gap: 0;
  }

  .ar-contact-upload__label-text {
    padding-left: 0.2063rem;
  }

  .ar-contact-upload__hint {
    flex: 0 0 100%;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.0375rem;
  }

  .ar-contact-upload__files {
    gap: 0.8063rem;
  }

  .ar-contact-file {
    height: 2.2563rem;
    padding-left: 0.5rem;
  }

  .ar-contact-file__button {
    font-weight: 800;
    flex-basis: 8.0156rem;
    width: 8.0156rem;
    height: 2.2563rem;
  }

  .ar-contact-file__status {
    font-weight: 800;
    max-width: 8.1875rem;
    margin-left: 1.1719rem;
    white-space: normal;
    font-size: 0.83125rem;
    letter-spacing: 0.0415625rem;
  }

  .ar-contact__submit {
    font-weight: 800;
  }
}

/* figma-css:end nodeId=863:1416 */

/* ==========================================================================
   Final adjustments
   ========================================================================== */
/* DevTools Workspace and human-authored final adjustments. */
