/* generated by ~/.codex/tools/build-page.mjs. Do not edit directly. */

/* source:start assets/css/base.css */
:root {
  --ar-blue: #0068d9;
  --ar-deep-blue: #004da8;
  --ar-light-blue: #eef5ff;
  --ar-orange: #ff7800;
  --ar-text: #10233f;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

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

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

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

@media (max-width: 767.98px) {
  .pc {
    display: none !important;
    pointer-events: none;
  }
}

@media (min-width: 768px) {
  .sp {
    display: none !important;
    pointer-events: none;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--ar-text);
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
}

.ar {
  overflow-x: clip;
}

.ar-main {
  display: block;
}
/* source:end assets/css/base.css */

/* source:start assets/css/common.css */
/* Shared components fixed before section dispatch. */

.ar-contact-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

.ar-contact-actions__link {
  display: block;
  min-width: 0;
}

.ar-contact-actions__img {
  display: block;
  width: 100%;
  height: auto;
}

.ar-contact-actions--standard {
  width: 100%;
  max-width: 53.1177rem;
  align-items: flex-start;
}

.ar-contact-actions--standard .ar-contact-actions__link--phone {
  flex: 0 0 52.9717%;
  max-width: 28.1376rem;
  height: auto;
  /* aspect-ratio: 28.1376 / 6.9443; */
}

.ar-contact-actions--standard .ar-contact-actions__img--phone {
  width: 104.731%;
  max-width: none;
  transform: translate(-2.332%, -5.246%);
}

.ar-contact-actions--standard .ar-contact-actions__link--mail {
  align-self: flex-start;
  flex: 0 0 45.4165%;
  max-width: 24.124rem;
  height: auto;
  aspect-ratio: 24.124 / 6.7572;
}

.ar-contact-actions--standard .ar-contact-actions__img--mail {
  width: 100.911%;
  max-width: none;
  transform: translate(-0.453%, -0.879%);
}

/* Shared static diagnosis panel used by sections 05 and 10.
   Visual is absolutely positioned so section height follows the panel;
   overflow clips the image when content is shorter than the artwork. */
.ar-diagnosis__inner {
  position: relative;
  overflow: hidden;
  width: 92%;
  max-width: 80.375rem;
  margin-inline: auto;
  padding-bottom: min(2.875rem, 2.7381vw);
  background: linear-gradient(90deg, #0471cf 0%, #0c54b8 100%);
  border-radius: 1rem;
}

.ar-diagnosis__inner > picture,
.ar-diagnosis__inner > .ar-diagnosis__visual {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  line-height: 0;
  pointer-events: none;
}

.ar-diagnosis__visual {
  display: block;
  width: 100%;
  height: auto;
}

/* Spacer width is 100% of inner, so padding-% resolves against inner width
   (same basis as the absolute visual). */
.ar-diagnosis__header-space {
  display: block;
  width: 100%;
  padding-top: 21.3064%;
  pointer-events: none;
}

.ar-diagnosis__panel {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 57.4375rem;
  margin: 0 auto;
  padding-block: 1.2386rem 3.0671rem;
  background-color: #ffffff;
  border-radius: 2.0625rem;
}

.ar-diagnosis__progress {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  column-gap: 0.771rem;
  width: 100%;
  margin-bottom: 0.7414rem;
  padding-left: 3.7223rem;
}

.ar-diagnosis__steps {
  position: relative;
  display: flex;
  flex: 0 0 21.8467rem;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  color: #3a3a3a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.05rem;
  list-style: none;
}

.ar-diagnosis__steps::before {
  position: absolute;
  top: 1.576rem;
  right: 2.159%;
  left: 2.159%;
  border-top: 1px solid #cfd3d9;
  content: "";
}

.ar-diagnosis__step {
  position: relative;
  text-align: center;
  white-space: nowrap;
}

.ar-diagnosis__step::after {
  position: absolute;
  top: 1.3632rem;
  left: 50%;
  width: 0.376rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #d1d4d9;
  content: "";
  transform: translateX(-50%);
}

.ar-diagnosis__step.is-current {
  color: #074fb2;
  font-weight: 700;
}

.ar-diagnosis__step.is-current::after {
  top: 1.285rem;
  width: 0.75rem;
  border: 0.225rem solid #0b57bb;
  background-color: #ffffff;
}

.ar-diagnosis__remaining {
  display: flex;
  flex: 0 0 2.9513rem;
  align-items: baseline;
  margin: 0;
  padding-top: 0.7188rem;
  color: #3a3a3a;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.55;
  text-align: center;
  white-space: nowrap;
}

.ar-diagnosis__remaining span {
  font-size: 0.699rem;
  letter-spacing: 0.028rem;
}

.ar-diagnosis__remaining strong {
  font-size: 0.924rem;
  font-weight: 500;
  letter-spacing: 0.0462rem;
}

.ar-diagnosis__header {
  margin-bottom: 1.0969rem;
}

.ar-diagnosis__ttl {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.2173rem;
  margin: 0;
  color: #000000;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.1863rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1068rem;
  white-space: nowrap;
}

.ar-diagnosis__question-no {
  flex: 0 0 auto;
  color: #074fb2;
  white-space: nowrap;
}

.ar-diagnosis__ttl--multiple {
  white-space: normal;
}

.ar-diagnosis__choices {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  width: 76.6532%;
  max-width: 44.0277rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.ar-diagnosis__choice-item {
  display: flex;
  min-width: 0;
  list-style: none;
}

.ar-diagnosis-choice {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 7.3747rem;
  appearance: none;
  aspect-ratio: 170.1104 / 117.9951;
  padding: 0 0.5rem 0 0.5rem;
  background-color: rgba(238, 240, 243, 0.75);
  border: 1px solid transparent;
  border-radius: 0.1625rem;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.ar-diagnosis-choice--selected {
  background-color: rgba(48, 135, 255, 0.17);
  border: 0.075rem solid #2073e6;
}

.ar-diagnosis-choice__label {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.3432rem;
  width: 100%;
  max-width: 100%;
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03rem;
  margin-top: -0.6rem;
}

.ar-diagnosis-choice__label > span:last-child {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

.ar-diagnosis-choice--selected .ar-diagnosis-choice__hint {
  opacity: 0;
}

.ar-diagnosis-choice__radio {
  position: relative;
  flex: 0 0 1.3613rem;
  width: 1.3613rem;
  aspect-ratio: 1;
  top: 0.0202rem;
  border: 1px solid #cbd6e3;
  border-radius: 50%;
  background-color: #ffffff;
}

.ar-diagnosis-choice--selected .ar-diagnosis-choice__radio {
  border-color: #0b57bb;
  background-color: #0b57bb;
}

.ar-diagnosis-choice--selected .ar-diagnosis-choice__radio::after {
  position: absolute;
  inset: 0.44rem;
  border-radius: 50%;
  background-color: #ffffff;
  content: "";
}

.ar-diagnosis-choice--multiple .ar-diagnosis-choice__radio {
  border-radius: 0.25rem;
}

.ar-diagnosis-choice--multiple.ar-diagnosis-choice--selected .ar-diagnosis-choice__radio::after {
  inset: auto;
  top: 0.36rem;
  left: 0.34rem;
  width: 0.58rem;
  height: 0.32rem;
  border: 0;
  border-bottom: 0.125rem solid #ffffff;
  border-left: 0.125rem solid #ffffff;
  border-radius: 0;
  background: transparent;
  transform: rotate(-45deg);
}

.ar-diagnosis-choice__hint {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.1613rem;
  margin: 0;
  color: #0b4494;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.0481rem;
  white-space: nowrap;
  pointer-events: none;
}

.ar-diagnosis-choice__pointer {
  display: block;
  flex: 0 0 0.6401rem;
  width: 0.6401rem;
  height: auto;
}

.ar-diagnosis__nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 76.6532%;
  max-width: 44.0277rem;
  margin: 1rem auto 0;
}

.ar-diagnosis__nav--multiple {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
}

.ar-diagnosis__nav--multiple .ar-diagnosis__back {
  grid-column: 1;
  justify-self: start;
}

.ar-diagnosis__nav--multiple .ar-diagnosis__next {
  grid-column: 2;
  margin-left: 0;
}

.ar-diagnosis__back {
  appearance: none;
  margin: 0;
  padding: 0.4rem 0.15rem;
  border: 0;
  background: transparent;
  color: #0b4494;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04rem;
  cursor: pointer;
}

.ar-diagnosis__back::before {
  content: "‹";
  margin-right: 0.25rem;
  font-family: sans-serif;
  font-size: 1.15em;
  font-weight: 400;
  line-height: 1;
}

.ar-diagnosis__next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 7.5rem;
  min-height: 2.75rem;
  margin-left: auto;
  padding: 0.5rem 1rem;
  border: 0;
  border-radius: 999px;
  background-color: #0b57bb;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04rem;
  cursor: pointer;
}

.ar-diagnosis__next span {
  font-family: sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
}

.ar-diagnosis__next:disabled {
  background-color: #b8c5d4;
  cursor: not-allowed;
  opacity: 0.72;
}

.ar-diagnosis-choice:focus-visible,
.ar-diagnosis__back:focus-visible,
.ar-diagnosis__next:focus-visible,
.ar-diagnosis-result__copy:focus-visible,
.ar-diagnosis-result__restart-link:focus-visible,
.ar-diagnosis-result__phone:focus-visible,
.ar-diagnosis-result__primary:focus-visible {
  outline: 0.1875rem solid #ffcb52;
  outline-offset: 0.1875rem;
}

.ar-diagnosis__step.is-complete {
  color: #074fb2;
  font-weight: 700;
}

.ar-diagnosis__step.is-complete::after {
  top: 1.285rem;
  width: 0.75rem;
  border: 0.225rem solid #0b57bb;
  background-color: #ffffff;
}

.ar-diagnosis__remaining--complete {
  flex-basis: 3.875rem;
}

.ar-diagnosis__remaining--complete strong {
  font-size: 0.924rem;
}

@media (width >= 768px) {
  .ar-diagnosis.is-result .ar-diagnosis__header-space {
    /* padding-top: 31.3114%; */
  }
}

.ar-diagnosis__panel.is-result {
  padding-block: 1.2386rem 2.1438rem;
}

.ar-diagnosis-result__header {
  margin-bottom: 1.25rem;
  text-align: center;
}

.ar-diagnosis-result__heading,
.ar-diagnosis-result__type,
.ar-diagnosis-result__lead,
.ar-diagnosis-result__spec-badge,
.ar-diagnosis-result__notice {
  margin: 0;
}

.ar-diagnosis-result__heading {
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6761rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1341rem;
}

.ar-diagnosis-result__type {
  margin-bottom: 0.5rem;
  color: #00379d;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.8011rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.2801rem;
  white-space: nowrap;
}

.ar-diagnosis-result__lead {
  width: 90%;
  max-width: 42.625rem;
  margin-inline: auto;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05rem;
}

.ar-diagnosis-result__spec {
  width: 90%;
  max-width: 51.692rem;
  min-height: 33.485rem;
  margin: 0 auto 1.4375rem;
  padding: 1.8497rem 3.4027rem 2.1195rem;
  border-radius: 0.625rem;
  background: linear-gradient(97.559deg, rgba(240, 247, 255, 0.58) 12.413%, rgba(240, 243, 253, 0.58) 99.857%);
}

.ar-diagnosis-result__spec-badge {
  display: flex;
  width: 11.8509rem;
  min-height: 3.1685rem;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.3769rem;
  border-radius: 99rem;
  background-color: #00379d;
  color: #ffffff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.1761rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.0823rem;
}

.ar-diagnosis-result__spec-list {
  width: 100%;
  max-width: 38.0865rem;
  margin: 0 auto 1.9101rem;
}

.ar-diagnosis-result__spec-row {
  position: relative;
  display: grid;
  min-height: 3.8832rem;
  grid-template-columns: 8.3814rem minmax(0, 1fr);
  align-items: center;
  border-bottom: 1px solid #b7c2d1;
}

.ar-diagnosis-result__spec-row::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 8.3814rem;
  border-bottom: 1px solid #0d55b9;
  content: "";
}

.ar-diagnosis-result__spec-row dt,
.ar-diagnosis-result__spec-row dd {
  margin: 0;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.8;
}

.ar-diagnosis-result__spec-row dt {
  padding-left: 0.474rem;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.085rem;
}

.ar-diagnosis-result__spec-row dd {
  padding: 0.5rem 0 0.5rem 0.686rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.08rem;
}

.ar-diagnosis-result__copy {
  display: flex;
  width: 22.2612rem;
  min-height: 4.3474rem;
  appearance: none;
  align-items: center;
  justify-content: center;
  gap: 0.8125rem;
  margin: 0 auto;
  padding: 0.5rem 1.25rem;
  border: 0.0938rem solid #0d55b9;
  background-color: rgba(200, 206, 214, 0.22);
  mix-blend-mode: multiply;
  color: #0d55b9;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1125rem;
}

.ar-diagnosis-result__copy-icon {
  position: relative;
  width: 0.8438rem;
  height: 1.0549rem;
  border: 1px solid currentColor;
  border-radius: 0.125rem;
}

.ar-diagnosis-result__copy-icon::before {
  position: absolute;
  top: -0.25rem;
  left: -0.25rem;
  width: 0.6563rem;
  height: 0.8125rem;
  border: 1px solid currentColor;
  border-radius: 0.125rem;
  content: "";
}

.ar-diagnosis-result__restart {
  margin: 0.875rem 0 0;
  text-align: center;
}

.ar-diagnosis-result__restart-link {
  appearance: none;
  margin: 0;
  padding: 0.25rem 0.15rem;
  border: 0;
  background: transparent;
  color: #0b4494;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05rem;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.ar-diagnosis-result__notice {
  width: 90%;
  max-width: 42.625rem;
  margin: 0 auto 0.8125rem;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1013rem;
  text-align: center;
}

.ar-diagnosis-result__cta {
  width: 81.4791%;
  max-width: 53.1177rem;
  margin-inline: auto;
}

.ar-diagnosis-result__actions {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  margin-bottom: 0;
}

.ar-diagnosis-result__hours {
  width: 52.9717%;
  max-width: 28.1376rem;
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0525rem;
  text-align: center;
}

.ar-diagnosis-result__hours--sp {
  display: none;
}

.ar-diagnosis-result__primary--product {
  position: relative;
  display: flex;
  flex: 0 0 45.4165%;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  width: 45.4165%;
  max-width: 24.124rem;
  min-height: 6.0832rem;
  padding: 0.75rem 2.5rem;
  border: 0.2006rem solid #f37d00;
  border-radius: 99rem;
  color: #f37d00;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4307rem;
  font-weight: 900;
  line-height: normal;
  letter-spacing: 0.0858rem;
  text-align: center;
  text-decoration: none;
}

.ar-diagnosis-result__primary-arrow {
  position: absolute;
  right: 1.375rem;
  font-family: sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
}

@media (hover: hover) and (pointer: fine) {
  .ar-diagnosis-result__copy:hover {
    background-color: rgba(13, 85, 185, 0.08);
  }

  .ar-diagnosis-result__restart-link:hover {
    color: #00379d;
    opacity: 0.82;
  }

  .ar-diagnosis-result__phone:hover,
  .ar-diagnosis-result__primary:hover {
    transform: scale(1.02);
  }
}

@media (width < 768px) {
  .ar-diagnosis__header-space {
    padding-top: 82.2705%;
  }

  .ar-diagnosis__panel {
    width: 92.4627%;
    max-width: 23.2313rem;
    margin: 0 auto;
    padding-block: 1.4309rem 2.0466rem;
    border-radius: 1.6406rem;
  }

  .ar-diagnosis__progress {
    column-gap: 0.5174rem;
    margin-bottom: 1.0895rem;
    padding-left: 0;
  }

  .ar-diagnosis__steps {
    flex-basis: 13.8469rem;
    font-size: 0.6563rem;
    line-height: 1.3125rem;
    letter-spacing: 0.0525rem;
  }

  .ar-diagnosis__remaining {
    flex-basis: 3.1488rem;
    padding-top: 0.7547rem;
  }

  .ar-diagnosis__remaining span {
    font-size: 0.7339rem;
    letter-spacing: 0.0294rem;
  }

  .ar-diagnosis__remaining strong {
    font-size: 0.9702rem;
    letter-spacing: 0.0485rem;
  }

  .ar-diagnosis__header {
    margin-bottom: 0.8608rem;
  }

  .ar-diagnosis__ttl {
    gap: 0.212rem;
    font-size: 1.1833rem;
    letter-spacing: 0.1065rem;
  }

  .ar-diagnosis__choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.3715rem;
    row-gap: 0.3281rem;
    width: 92.0429%;
    max-width: 21.3827rem;
  }

  .ar-diagnosis__choices .ar-diagnosis-choice {
    min-height: 7.2871rem;
    aspect-ratio: 168.0897 / 116.5935;
    padding: 0 0.45rem 0 16px;
    border-radius: 0.1606rem;
  }

  .ar-diagnosis__choices .ar-diagnosis-choice__label {
    gap: 0.3391rem;
    font-size: 0.8125rem;
    letter-spacing: 0.02rem;
  }

  .ar-diagnosis__choices .ar-diagnosis-choice__radio {
    flex-basis: 1.3451rem;
    width: 1.3451rem;
  }

  .ar-diagnosis__choices .ar-diagnosis-choice__hint {
    bottom: 0.65rem;
    gap: 0.1594rem;
    font-size: 0.6793rem;
    letter-spacing: 0.0476rem;
  }

  .ar-diagnosis__choices .ar-diagnosis-choice__pointer {
    flex-basis: 0.6325rem;
    width: 0.6325rem;
    height: auto;
  }

  .ar-diagnosis__nav {
    width: 92.0429%;
    max-width: 21.3827rem;
    margin-top: 0.85rem;
  }

  .ar-diagnosis__back {
    font-size: 0.8125rem;
  }

  .ar-diagnosis__next {
    min-width: 7rem;
    min-height: 2.625rem;
    font-size: 0.8125rem;
  }

  .ar-diagnosis__panel.is-result {
    padding-block: 1.4309rem 2.0156rem;
  }

  .ar-diagnosis__remaining--complete {
    flex-basis: 4.0625rem;
  }

  .ar-diagnosis__remaining--complete strong {
    font-size: 0.924rem;
  }

  .ar-diagnosis-result__header {
    margin-bottom: 1.101rem;
  }

  .ar-diagnosis-result__heading {
    font-size: 1.1761rem;
    letter-spacing: 0.0941rem;
  }

  .ar-diagnosis-result__type {
    margin-bottom: 0.625rem;
    font-size: 1.9261rem;
    letter-spacing: 0.077rem;
  }

  .ar-diagnosis-result__lead {
    width: 92%;
    max-width: 20.375rem;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.0438rem;
  }

  .ar-diagnosis-result__spec {
    width: 92.2091%;
    max-width: 21.4213rem;
    min-height: 32.8206rem;
    margin-bottom: 0.7386rem;
    padding: 1.6039rem 0.8019rem 1.4195rem;
    background: linear-gradient(93.211deg, rgba(240, 247, 255, 0.58) 12.413%, rgba(240, 243, 253, 0.58) 99.857%);
  }

  .ar-diagnosis-result__spec-badge {
    width: 9.4808rem;
    min-height: 2.5348rem;
    margin-bottom: 1.5197rem;
    font-size: 0.9409rem;
    letter-spacing: 0.0659rem;
  }

  .ar-diagnosis-result__spec-list {
    max-width: 19.7868rem;
    margin-bottom: 1.5053rem;
  }

  .ar-diagnosis-result__spec-row {
    min-height: 3.9824rem;
    grid-template-columns: 5.5256rem minmax(0, 1fr);
  }

  .ar-diagnosis-result__spec-row::after {
    width: 5.5256rem;
  }

  .ar-diagnosis-result__spec-row dt {
    padding-left: 0.3017rem;
    font-size: 0.9563rem;
    letter-spacing: 0.0765rem;
  }

  .ar-diagnosis-result__spec-row:nth-child(n + 3) dt {
    font-size: 0.8938rem;
    letter-spacing: 0.0715rem;
  }

  .ar-diagnosis-result__spec-row dd {
    padding: 0.4375rem 0 0.4375rem 0.6363rem;
    font-size: 0.8625rem;
    line-height: 1.6;
    letter-spacing: 0.069rem;
  }

  .ar-diagnosis-result__copy {
    width: 17.1229rem;
    min-height: 4.0274rem;
    padding-inline: 0.75rem;
    border-width: 0.0825rem;
    font-size: 0.99rem;
    letter-spacing: 0.099rem;
  }

  .ar-diagnosis-result__restart {
    margin-top: 0.75rem;
  }

  .ar-diagnosis-result__restart-link {
    font-size: 0.8125rem;
    letter-spacing: 0.04rem;
  }

  .ar-diagnosis-result__notice {
    max-width: 20.375rem;
    margin-bottom: 1.2519rem;
    font-size: 0.9375rem;
    letter-spacing: 0.0844rem;
  }

  .ar-diagnosis-result__cta {
    width: 91.3667%;
    max-width: 21.2256rem;
  }

  .ar-diagnosis-result__actions {
    margin-bottom: 0;
  }

  .ar-diagnosis-result__hours {
    width: 100%;
    max-width: none;
    font-size: 0.6548rem;
    letter-spacing: 0.0458rem;
  }

  .ar-diagnosis-result__hours--sp {
    display: block;
    order: 2;
    margin: 0.15rem 0 0.55rem;
  }

  .ar-diagnosis-result__hours--pc {
    display: none;
  }

  .ar-diagnosis-result__phone {
    order: 1;
  }

  .ar-diagnosis-result__primary {
    order: 3;
  }

  .ar-diagnosis-result__primary--product {
    flex: 0 0 auto;
    align-self: center;
    width: 94%;
    max-width: 21.0603rem;
    min-height: 4.9216rem;
    gap: 0.5625rem;
    padding: 0.75rem 2.125rem 0.625rem;
    border-width: 0.1751rem;
    font-size: 1.1944rem;
    letter-spacing: 0.0717rem;
  }

  .ar-diagnosis-result__primary-arrow {
    right: 1.0625rem;
    font-size: 1.5rem;
  }

  .ar-contact-actions.ar-contact-actions--sp-standard {
    max-width: 24.3134rem;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .ar-contact-actions--sp-standard .ar-contact-actions__link--phone,
  .ar-contact-actions--sp-standard .ar-contact-actions__link--mail {
    align-self: center;
    flex: 0 0 auto;
    width: 94%;
    max-width: 24rem;
    /* height: 5.9695rem; */
    overflow: visible;
  }

  .ar-contact-actions--sp-standard .ar-contact-actions__link--phone {
    margin-bottom: 0;
    width: 100%;
  }

  .ar-contact-actions--sp-standard .ar-contact-actions__img--phone,
  .ar-contact-actions--sp-standard .ar-contact-actions__img--mail {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: fill;
    transform: none;
  }
}

/* Parent-frame inter-section rhythm. Values are measured from child-frame y bounds. */
.ar-main--integrated .ar-trust {
  padding-top: 3.6474rem;
}

.ar-main--integrated .ar-solution {
  padding-top: 6.8125rem;
}

.ar-main--integrated .ar-diagnosis-top {
  padding-top: 0.4375rem;
}

.ar-main--integrated .ar-strengths {
  padding-top: 3.6063rem;
}

.ar-main--integrated .ar-products {
  padding-top: 5.7711rem;
}

.ar-main--integrated .ar-use-cases {
  /* padding-top: 11.3135rem; */
}

.ar-main--integrated .ar-camera-types {
  /* padding-top: 6.0188rem; */
}

.ar-main--integrated .ar-diagnosis-bottom {
  /* padding-top: 0.0625rem; */
  position: relative;
  z-index: 2;
}

.ar-main--integrated .ar-recommendations {
  padding-bottom: 2.7779rem;
}

.ar-main--integrated .ar-support-flow {
  padding-top: 6.4188rem;
}

/* Subtle pressability on interactive controls (desktop hover only). */
.ar-contact-actions__link {
  transform-origin: center center;
  transition: transform 0.22s ease;
}

.ar-products-card__link,
.ar-products-set-card__link,
.ar-products__cta,
.ar-agency__cta,
.ar-recommendations-link,
a.ar-camera-type-card__btn,
.ar-diagnosis-choice,
.ar-diagnosis__next,
.ar-faq-item__question {
  transition: opacity 0.22s ease, background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease;
}

.ar-products__cta-arrow,
.ar-agency__cta-icon,
.ar-recommendations-link__icon,
.ar-voices-card__link-icon {
  transition: transform 0.22s ease;
}

@media (hover: hover) and (pointer: fine) {
  .ar-contact-actions__link:hover {
    transform: scale(1.02);
  }

  .ar-products-card__link:hover,
  .ar-products-set-card__link:hover {
    opacity: 0.86;
  }

  .ar-products__cta:hover,
  .ar-agency__cta:hover,
  .ar-recommendations-link:hover {
    background-color: #003d94;
  }

  .ar-products__cta:hover .ar-products__cta-arrow,
  .ar-agency__cta:hover .ar-agency__cta-icon,
  .ar-recommendations-link:hover .ar-recommendations-link__icon {
    transform: translateX(0.2rem);
  }

  a.ar-camera-type-card__btn:hover {
    color: #fff;
    background-color: #004db4;
  }

  .ar-diagnosis-choice:hover:not(.ar-diagnosis-choice--selected) {
    background-color: rgba(207, 220, 240, 0.75);
  }

  .ar-diagnosis__next:hover:not(:disabled) {
    background-color: #003d94;
  }

  .ar-faq-item__question:hover {
    opacity: 0.72;
  }
}
/* source:end assets/css/common.css */

/* source:start assets/css/sections/01-hero.css */
/* figma-css:start nodeId=797-18172 */
.ar-hero {
  position: relative;
  padding-block: 0;
  background: #ffffff;
  overflow: hidden;
}

.ar-hero__inner {
  width: 80%;
  max-width: 42.4375rem;
  margin-inline: auto;
}

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

.ar-hero__visual-img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}

.ar-hero__copy {
  position: relative;
  z-index: 1;
  margin-bottom: 0.8959vw;
  margin-top: -22.6318vw;
  text-align: center;
}

.ar-hero__header {
  position: relative;
  margin-bottom: 1.1126vw;
}

.ar-hero__ttl {
  margin: 0;
  margin-bottom: 0.339vw;
  color: #000f2a;
  font-size: 4.295vw;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 0.2147vw;
  white-space: nowrap;
}

.ar-hero__catch {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 98.216%;
  min-height: 3.9594vw;
  max-width: 39.6956vw;
  margin: 0 auto;
  border-top: 0.1786vw solid #075fbd;
  border-bottom: 0.1786vw solid #075fbd;
  background-image: linear-gradient(96.1deg, #003b92 14.0687%, #0078e8 44.5926%, #003b92 81.2876%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 2.0461vw;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.2148vw;
  white-space: nowrap;
}

.ar-hero__lead {
  margin: 0;
  color: #000f2a;
  font-size: 0.9822vw;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.1179vw;
  white-space: nowrap;
}

.ar-hero__marquee {
  --ar-hero-marquee-w: min(111.0625rem, 105.7738vw);
  position: relative;
  left: 50%;
  width: 100vw;
  margin-bottom: 0.2842rem;
  overflow: hidden;
  transform: translateX(-50%);
}

.ar-hero__marquee-track {
  display: flex;
  width: max-content;
  padding-inline-start: min(1.4375rem, 1.369vw);
  animation: ar-hero-marquee 40s linear infinite;
  will-change: transform;
}

.ar-hero__marquee-img {
  display: block;
  flex: 0 0 auto;
  width: var(--ar-hero-marquee-w);
  max-width: none;
  height: auto;
}

.ar-hero__contact {
  position: relative;
  left: 50%;
  width: 50.5892vw;
  max-width: none;
  margin-inline: 0;
  transform: translateX(-50%);
}

.ar-hero__actions {
  align-items: flex-start;
  gap: 0.8155vw;
  margin-bottom: 0.6847vw;
}

.ar-hero__phone-link {
  flex: 0 0 26.7977vw;
  height: 6.3355vw;
  padding-top: 0.2781vw;
}

.ar-hero__mail-link {
  flex: 0 0 22.9753vw;
  height: 6.4354vw;
  overflow: visible;
}

.ar-hero__phone-img {
  width: 28.0655vw;
  max-width: none;
  transform: translate(-0.625vw, -0.625vw);
}

.ar-hero__mail-img {
  width: 23.6508vw;
  max-width: none;
  transform: translate(-0.3427vw, -0.2942vw);
}

.ar-hero__reception {
  width: 26.7977vw;
  margin: 0;
  color: #000f2a;
  font-size: clamp(0.625rem, 0.7143vw, 0.75rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
  position: relative;
  z-index: 2;
}

@keyframes ar-hero-marquee {
  to {
    transform: translateX(calc(var(--ar-hero-marquee-w) * -1));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ar-hero__marquee-track {
    animation-duration: 70s;
  }
}

@media (width < 768px) {
  .ar-hero__inner {
    width: 100%;
    max-width: none;
  }

  .ar-hero__copy {
    margin-top: -24.5401rem;
    margin-bottom: 0.5282rem;
  }

  .ar-hero__header {
    margin-bottom: 14.8101rem;
  }

  .ar-hero__ttl {
    margin-bottom: 0.8144rem;
    font-size: 2.6522rem;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .ar-hero__catch {
    width: 90.8504%;
    min-height: 2.5053rem;
    max-width: 23.5075rem;
    border-top-width: 1px;
    border-bottom-width: 1px;
    background-image: linear-gradient(96.1deg, #003b92 14.0687%, #0078e8 44.5926%, #003b92 81.2876%);
    background-clip: text;
    color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 1.2609rem;
    font-weight: 900;
    line-height: 1.6;
    letter-spacing: 0.1261rem;
  }

  .ar-hero__lead {
    font-size: 0.875rem;
    line-height: 1.85;
    letter-spacing: 0.0875rem;
  }

  .ar-hero__marquee {
    height: 8.8753rem;
    margin-bottom: 1.1858rem;
  }

  .ar-hero__marquee-track {
    padding-inline-start: 0;
    animation-name: ar-hero-marquee-sp;
    transform: translateX(-0.6544rem);
  }

  .ar-hero__marquee-img {
    width: 55.5313rem;
    height: 8.8753rem;
  }

  .ar-hero__contact {
    left: auto;
    width: 93.9649%;
    max-width: 24.3134rem;
    padding-bottom: 0.5rem;
    transform: none;
    margin-inline: auto;
  }

  .ar-hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-bottom: 0;
  }

  .ar-hero__phone-link {
    align-self: flex-end;
    flex: 0 0 auto;
    width: 100%;
    max-width: 24rem;
    height: auto;
    aspect-ratio: 24 / 5.9695;
    margin-bottom: 0.0803rem;
    padding-top: 0;
  }

  .ar-hero__phone-img {
    width: 104.731%;
    max-width: none;
    height: auto;
    transform: translate(-2.332%, -5.246%);
  }

  .ar-hero__reception--sp {
    width: 100%;
    margin-bottom: 0.4197rem;
  }

  .ar-hero__mail-link {
    align-self: stretch;
    flex: 0 0 auto;
    width: 98%;
    max-width: 24.124rem;
    height: auto;
    overflow: visible;
    margin-inline: auto;
  }

  .ar-hero__mail-img {
    width: 100%;
    max-width: none;
    height: auto;
    transform: none;
  }

  @keyframes ar-hero-marquee-sp {
    from {
      transform: translateX(-0.6544rem);
    }

    to {
      transform: translateX(-56.1857rem);
    }
  }
}
/* figma-css:end nodeId=797-18172 */
/* source:end assets/css/sections/01-hero.css */

/* source:start assets/css/sections/02-trust.css */
/* figma-css:start nodeId=797-18175 */
.ar-trust {
  position: relative;
  padding-top: 3.0478rem;
  padding-bottom: 2.9258rem;
}

.ar-trust__inner {
  width: 80%;
  max-width: 67.7307rem;
  margin-inline: auto;
}

.ar-trust__header {
  position: relative;
  margin-bottom: 1.8796rem;
  text-align: center;
}

.ar-trust__watermark {
  position: absolute;
  top: -4.1813rem;
  left: calc(50% + 0.0938rem);
  z-index: -1;
  margin: 0;
  transform: translateX(-50%) scale(1.0945, 1.0794);
  transform-origin: center bottom;
  background: linear-gradient(90deg, #f0f7ff 0%, #f0f3fd 100%);
  background-clip: text;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 4.8758rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 1.75;
  letter-spacing: 0.7314rem;
  -webkit-text-stroke: 0.03em #f0f5fe;
  paint-order: stroke fill;
  opacity: 0.73;
  white-space: nowrap;
}

.ar-trust__title {
  position: relative;
  margin: 0 0 0.7279rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.9778rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1844rem;
}

.ar-trust__punctuation {
  letter-spacing: -0.07rem;
}

.ar-trust__lead {
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8199rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.0738rem;
}

.ar-trust__stats {
  display: flex;
  align-items: flex-start;
  gap: 1.395rem;
}

.ar-trust-stat {
  min-width: 0;
  margin: 0;
}

.ar-trust-stat--installations {
  flex: 350.5215 1 0;
}

.ar-trust-stat--cameras {
  flex: 362.3014 1 0;
}

.ar-trust-stat--public-agencies {
  flex: 326.2208 1 0;
}

.ar-trust-stat__img {
  display: block;
  width: 100%;
  height: auto;
}

@media (width < 768px) {
  .ar-trust,
  .ar-main--integrated .ar-trust {
    padding-top: 2.2747rem;
    padding-bottom: 1.4375rem;
  }

  .ar-trust__inner {
    width: 85.15%;
    max-width: 22.0326rem;
  }

  .ar-trust__header {
    margin-bottom: 1.4531rem;
  }

  .ar-trust__watermark {
    top: -2.0625rem;
    left: calc(50% - 0.4375rem);
    width: 23.375rem;
    transform: translateX(-50%) scale(1.1075, 1);
    font-size: 3.7774rem;
    line-height: 1.2;
    letter-spacing: 0.5666rem;
    white-space: normal;
  }

  .ar-trust__title {
    margin-bottom: 0.9812rem;
    font-size: 1.5403rem;
    line-height: 1.6;
    letter-spacing: 0.154rem;
  }

  .ar-trust__title > span:last-child {
    display: block;
  }

  .ar-trust__punctuation {
    letter-spacing: 0.154rem;
  }

  .ar-trust__lead {
    max-width: 18.0625rem;
    margin-inline: auto;
    font-size: 0.8199rem;
    line-height: 1.75;
    letter-spacing: 0.0902rem;
  }

  .ar-trust__lead > span {
    display: block;
    white-space: nowrap;
  }

  .ar-trust__stats {
    flex-direction: column;
    align-items: center;
    gap: 0.1781rem;
  }

  .ar-trust-stat--installations,
  .ar-trust-stat--cameras,
  .ar-trust-stat--public-agencies {
    flex: none;
  }

  .ar-trust-stat--installations {
    width: 100%;
  }

  .ar-trust-stat--cameras {
    width: 99.9376%;
  }

  .ar-trust-stat--public-agencies {
    width: 99.3474%;
  }

  .ar-trust-stat__img {
    height: 6.9446rem;
    object-fit: fill;
  }
}
/* figma-css:end nodeId=797-18175 */
/* source:end assets/css/sections/02-trust.css */

/* source:start assets/css/sections/03-problems.css */
/* figma-css:start nodeId=797-18176 */
.ar-problems {
  padding-block: 3.1565rem 3.9711rem;
  background-color: rgba(213, 215, 219, 0.23);
}

.ar-problems__inner {
  width: 80%;
  max-width: 58.5675rem;
  margin-inline: auto;
}

.ar-problems__header {
  margin-bottom: 1.8994rem;
  text-align: center;
}

.ar-problems__label-img {
  display: block;
  width: 7.196rem;
  height: auto;
  margin-inline: auto;
  margin-bottom: 0.5531rem;
}

.ar-problems__ttl {
  margin: 0;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.9791rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1583rem;
  text-align: center;
}

.ar-problems__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 0.7843rem;
  row-gap: 0.6939rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ar-problems-card {
  min-width: 0;
  padding-block: 1.016rem 1.222rem;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 0.375rem;
  box-shadow: 0 0 0.875rem rgba(0, 0, 0, 0.05);
}

.ar-problems-card__ttl {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  column-gap: 0.197rem;
  margin: 0 0 0.4964rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.ar-problems-card__category {
  position: relative;
  z-index: 0;
  padding-inline: 0.5115rem 0.4375rem;
  color: #f8f8f9;
  font-size: 1.2476rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1372rem;
}

.ar-problems-card__category::before {
  position: absolute;
  z-index: -1;
  inset: 0.2643rem 0 0.0747rem;
  background-color: #0150af;
  content: "";
}

.ar-problems-card__suffix {
  padding-top: 0.2316rem;
  color: #0150af;
  font-size: 1.1894rem;
  line-height: 1.7;
  letter-spacing: 0.0952rem;
}

.ar-problems-card__media {
  width: 70.0672%;
  max-width: 13.3125rem;
  margin-inline: auto;
  margin-bottom: 0.5rem;
}

.ar-problems-card__img {
  display: block;
  width: 100%;
  height: auto;
}

.ar-problems-card__txt {
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.0844rem;
  text-align: center;
}

.ar-problems-card__br--sp {
  display: none;
}

@media (width < 768px) {
  .ar-problems {
    padding-block: 3.2706rem 3.4949rem;
  }

  .ar-problems__inner {
    width: 87.94%;
    max-width: 22.7544rem;
  }

  .ar-problems__header {
    margin-bottom: 1.6483rem;
  }

  .ar-problems__label-img {
    margin-bottom: 0.3906rem;
  }

  .ar-problems__ttl {
    position: relative;
    left: 50%;
    width: 102.455%;
    max-width: 23.3125rem;
    font-size: 1.6666rem;
    line-height: 0;
    letter-spacing: 0.1133rem;
    transform: translateX(-50%);
  }

  .ar-problems__ttl-line {
    display: inline-block;
    line-height: 1.55;
  }

  .ar-problems__ttl-line--lead {
    font-size: 1.1041rem;
  }

  .ar-problems__items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .ar-problems-card {
    padding-block: 0.891rem 0.8033rem;
  }

  .ar-problems-card__ttl {
    margin-bottom: 0.3714rem;
  }

  .ar-problems-card--selection,
  .ar-problems-card--installation {
    padding-bottom: 1.1846rem;
  }

  .ar-problems-card__media {
    width: 71.559%;
    max-width: 16.2831rem;
    margin-bottom: 0.75rem;
  }

  .ar-problems-card__txt {
    font-size: 0.875rem;
    letter-spacing: 0.0788rem;
  }

  .ar-problems-card__br--pc {
    display: none;
  }

  .ar-problems-card__br--sp {
    display: inline;
  }
}
/* figma-css:end nodeId=797-18176 */
/* source:end assets/css/sections/03-problems.css */

/* source:start assets/css/sections/04-solution.css */
/* figma-css:start nodeId=797-18178 */
.ar-solution {
  position: relative;
  padding-block: 6.6875rem 4.5999rem;
  background-color: #fff;
}

.ar-solution__bg-copy {
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0;
  background: linear-gradient(90deg, #f0f7ff 0%, #f0f3fd 100%);
  background-clip: text;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 6.4383rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 1.75;
  letter-spacing: 0.6438rem;
  -webkit-text-stroke: 0.03em #f0f5fe;
  paint-order: stroke fill;
  opacity: 0.73;
  white-space: nowrap;
  transform: translateX(-50%) scaleX(1.04);
  pointer-events: none;
}

.ar-solution__inner {
  position: relative;
  width: 90%;
  max-width: 77.1534rem;
  margin-inline: auto;
}

.ar-solution__overview {
  display: grid;
  grid-template-columns: 38.6663% minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  align-items: flex-start;
  column-gap: 3.4894rem;
  margin-bottom: 3.0674rem;
}

.ar-solution__visual {
  grid-column: 1;
  grid-row: 1 / 4;
  min-width: 0;
  aspect-ratio: 477.3126 / 450.5306;
}

.ar-solution__visual-img {
  display: block;
  width: 100%;
  height: auto;
}

.ar-solution__header {
  grid-column: 2;
  grid-row: 1;
  margin-bottom: 3.1013rem;
  padding-top: 4.0625rem;
}

.ar-solution__label-img {
  display: block;
  width: 7.321rem;
  height: auto;
  margin-bottom: 0.6443rem;
}

.ar-solution__eyebrow {
  margin: 0 0 0.3853rem;
  padding-inline-start: 0.3945rem;
  background: linear-gradient(91.279deg, #003b92 0%, #0078e8 30%, #003b92 100%);
  background-clip: text;
  color: transparent;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.2291rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.0983rem;
  white-space: nowrap;
}

.ar-solution__ttl {
  margin: 0;
  padding-inline-start: 0.3945rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(2.4261rem,3.6vw);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.097rem;
  white-space: nowrap;
}

.ar-solution__txt {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  padding-inline-start: 0.3945rem;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.09rem;
  white-space: nowrap;
}

@media (width < 1200px) {
  .ar-solution__txt {
    white-space: normal;
  }
}

.ar-solution__process {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 66.6738rem;
  margin-inline: auto;
  margin-bottom: 5.186rem;
  padding-block: 2.5454rem 2.7433rem;
  background-color: #fff;
  border-radius: 12.5rem;
  box-shadow: 0 0 1.5625rem rgba(95, 115, 137, 0.16);
}

.ar-solution__process > picture {
  display: block;
  width: 80.2509%;
}

.ar-solution__process-img {
  display: block;
  width: 100%;
  height: auto;
  transform: translateX(-0.3863rem);
}

.ar-solution-point {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  max-width: 61.5508rem;
  margin-inline: auto;
  margin-bottom: 2.725rem;
  padding-inline-end: 1.2108rem;
}

.ar-solution-point__content {
  flex: 0 0 36.2852%;
  min-width: 0;
}

.ar-solution-point__header {
  margin-bottom: 1.1545rem;
}

.ar-solution-point__label-img {
  display: block;
  width: 5.196rem;
  height: auto;
  margin-bottom: 0.6443rem;
}

.ar-solution-point__eyebrow {
  margin: 0 0 0.3853rem;
  padding-inline-start: 0.3945rem;
  background: linear-gradient(91.279deg, #003b92 0%, #0078e8 30%, #003b92 100%);
  background-clip: text;
  color: transparent;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.2291rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.0983rem;
  white-space: nowrap;
}

.ar-solution-point__ttl {
  margin: 0;
  padding-inline-start: 0.3945rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.3011rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.092rem;
  white-space: nowrap;
}

.ar-solution-point__content > picture {
  display: block;
  width: 156.2164%;
  max-width: 34.2029rem;
}

.ar-solution-point__stats-img {
  display: block;
  width: 100%;
  height: auto;
  transform: translateX(-0.1584rem);
}

.ar-solution-point__map {
  flex: 0 0 42.0251%;
  min-width: 0;
  padding-top: 1.1245rem;
}

.ar-solution-point__map > picture {
  display: block;
  width: 100%;
}

.ar-solution-point__map-img {
  display: block;
  width: 100%;
  height: auto;
}

.ar-solution__features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5.998rem;
  width: 100%;
  max-width: 65.6816rem;
  margin-inline: auto;
  padding-inline-end: 0.6428rem;
}

.ar-solution-feature {
  position: relative;
  min-width: 0;
  padding-top: 1.3162rem;
  text-align: center;
}

.ar-solution-feature__index {
  position: absolute;
  top: 0;
  right: -3.3933rem;
  display: flex;
  align-items: center;
  width: 1.625rem;
  height: 14.7964rem;
  color: #606a77;
  font-family: "Gidole", sans-serif;
  font-size: 0.915rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1464rem;
  opacity: 0.31;
  text-orientation: sideways;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.ar-solution-feature__index::after {
  width: 1px;
  height: 9.769rem;
  margin-block-start: 0.6527rem;
  background-color: #606a77;
  content: "";
}

.ar-solution-feature__media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.319rem;
  margin-bottom: 1.0733rem;
}

.ar-solution-feature__icon {
  display: block;
  width: auto;
  height: auto;
  max-height: 100%;
}

.ar-solution-feature--1 .ar-solution-feature__icon {
  max-width: 3.0834rem;
}

.ar-solution-feature--2 .ar-solution-feature__icon {
  max-width: 2.6267rem;
  transform: translateY(0.2693rem);
}

.ar-solution-feature--3 .ar-solution-feature__icon {
  max-width: 3.3903rem;
}

.ar-solution-feature__ttl {
  margin: 0 0 1.0527rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.1064rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.0996rem;
  white-space: nowrap;
}

.ar-solution-feature__ttl strong {
  color: #005ac4;
  font-weight: 700;
}

.ar-solution-feature__txt {
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8438rem;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.0759rem;
  text-align: left;
  /* white-space: nowrap; */
}

@media (width < 768px) {
  .ar-solution,
  .ar-main--integrated .ar-solution {
    overflow: clip;
    padding-block: 3.4125rem 2.4097rem;
  }

  .ar-solution__bg-copy {
    top: 0;
    left: 0.0107rem;
    width: 48.25rem;
    font-size: 3.7971rem;
    line-height: 1.75;
    letter-spacing: 0.3797rem;
    text-align: center;
    transform: none;
  }

  .ar-solution__inner {
    width: 88.457%;
    max-width: 22.8886rem;
  }

  .ar-solution__overview {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 2.0578rem;
  }

  .ar-solution__header {
    order: 1;
    margin-bottom: 1.1531rem;
    padding-top: 0;
    padding-inline-start: 0.1548rem;
  }

  .ar-solution__label-img {
    width: 6.5702rem;
    height: 1.75rem;
    margin-bottom: 0.7943rem;
  }

  .ar-solution__eyebrow {
    margin-bottom: 0.4485rem;
    padding-inline-start: 0.0285rem;
    font-size: 1.1041rem;
    line-height: 1.8;
    letter-spacing: 0.0883rem;
  }

  .ar-solution__ttl {
    padding-inline-start: 0.091rem;
    font-size: 1.6875rem;
    line-height: 1.8;
    letter-spacing: 0.0338rem;
  }

  .ar-solution__visual {
    order: 2;
    width: 94.4432%;
    max-width: 21.6167rem;
    margin-inline: auto;
    margin-bottom: 2.2778rem;
    aspect-ratio: 345.8671 / 326.4592;
  }

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

  .ar-solution__txt {
    order: 3;
    width: 23.8438rem;
    padding-inline-start: 0.1974rem;
    font-size: 0.9375rem;
    line-height: 2;
    letter-spacing: 0.075rem;
    white-space: normal;
  }

  .ar-solution__process {
    width: 90.2122%;
    max-width: 20.6483rem;
    margin-bottom: 3.3975rem;
    padding-block: 1.9121rem 2.2139rem;
    border-radius: 1.875rem;
    box-shadow: 0 0 0.725rem rgba(95, 115, 137, 0.26);
  }

  .ar-solution__process > picture {
    width: 59.7147%;
  }

  .ar-solution__process-img {
    transform: translateX(-0.2062rem);
  }

  .ar-solution-point {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    margin-bottom: 1.2874rem;
    padding-inline-end: 0;
  }

  .ar-solution-point__content {
    flex: none;
    width: 100%;
  }

  .ar-solution-point__header {
    margin-bottom: 1.0296rem;
    padding-inline-start: 0.144rem;
  }

  .ar-solution-point__label-img {
    width: 4.6952rem;
    height: 1.75rem;
    margin-bottom: 0.5443rem;
  }

  .ar-solution-point__eyebrow {
    margin-bottom: 0.4611rem;
    padding-inline-start: 0.0722rem;
    font-size: 1.1041rem;
    line-height: 1.8;
    letter-spacing: 0.0883rem;
  }

  .ar-solution-point__ttl {
    padding-inline-start: 0.0722rem;
    font-size: 1.9886rem;
    line-height: 1.85;
    letter-spacing: 0.0795rem;
  }

  .ar-solution-point__content > picture {
    width: 99.7512%;
    max-width: 22.8316rem;
    margin-inline-start: 0.0569rem;
    margin-bottom: -3.4842rem;
  }

  .ar-solution-point__stats-img {
    transform: none;
  }

  .ar-solution-point__map {
    flex: none;
    width: 89.8731%;
    max-width: 20.5707rem;
    padding-top: 0;
  }

  .ar-solution__features {
    display: flex;
    flex-direction: column;
    gap: 2.5625rem;
    width: 94.1311%;
    max-width: 21.5453rem;
    padding-inline-end: 0;
  }

  .ar-solution-feature {
    padding-top: 0;
  }

  .ar-solution-feature__index {
    position: static;
    top: auto;
    right: auto;
    display: flex;
    align-items: center;
    width: 100%;
    height: 1.625rem;
    margin-bottom: 1.25rem;
    font-size: 0.915rem;
    line-height: 1.75;
    letter-spacing: 0.1464rem;
    opacity: 0.47;
    text-orientation: mixed;
    writing-mode: horizontal-tb;
  }

  .ar-solution-feature__index::after {
    flex: 1;
    width: auto;
    height: 1px;
    margin-block-start: 0;
    margin-inline-start: 0.5117rem;
  }

  .ar-solution-feature__media {
    height: 3.319rem;
    margin-bottom: 1.0719rem;
  }

  .ar-solution-feature--1 .ar-solution-feature__icon {
    width: 3.0834rem;
    max-width: none;
  }

  .ar-solution-feature--2 .ar-solution-feature__icon {
    width: 2.8894rem;
    max-width: none;
    transform: none;
  }

  .ar-solution-feature--3 .ar-solution-feature__icon {
    width: 3.3903rem;
    max-width: none;
  }

  .ar-solution-feature__ttl {
    margin-bottom: 0.9075rem;
    font-size: 1.1064rem;
    line-height: 1.6;
    letter-spacing: 0.0996rem;
    white-space: normal;
  }

  .ar-solution-feature--1 .ar-solution-feature__ttl br,
  .ar-solution-feature__txt br {
    display: none;
  }

  .ar-solution-feature__txt {
    width: 82.0646%;
    max-width: 17.6807rem;
    margin-inline: auto;
    font-size: 0.9063rem;
    line-height: 1.7;
    letter-spacing: 0.0816rem;
    text-align: center;
    white-space: normal;
  }
}
/* figma-css:end nodeId=797-18178 */
/* source:end assets/css/sections/04-solution.css */

/* source:start assets/css/sections/05-diagnosis-top.css */
/* Shared diagnosis UI styles are defined by `.ar-diagnosis*` in ../common.css. */

@media (width < 768px) {
  .ar-diagnosis-top {
    padding-bottom: 6.1532rem;
  }

  .ar-main--integrated .ar-diagnosis-top {
    padding-top: 0;
    padding-bottom: 0;
  }

  .ar-diagnosis-top__inner {
    width: 97.1014%;
    max-width: 25.125rem;
  }

  .ar-diagnosis-top__inner > picture {
    display: block;
  }
}
/* source:end assets/css/sections/05-diagnosis-top.css */

/* source:start assets/css/sections/06-strengths.css */
/* figma-css:start nodeId=797-18182 */
.ar-strengths {
  padding-block: 0.1815rem 0.1531rem;
  background-color: #fff;
}

.ar-strengths__inner {
  width: 90%;
  max-width: 69.4071rem;
  margin-inline: auto;
}

.ar-strengths__header {
  margin-bottom: 2.5803rem;
  text-align: center;
}

.ar-strengths__label-img {
  display: block;
  width: 7.4463rem;
  height: auto;
  margin-inline: auto;
  margin-bottom: 0.2323rem;
}

.ar-strengths__ttl {
  margin: 0 0 1.1774rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.7386rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1643rem;
  text-align: center;
}

.ar-strengths__lead {
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9688rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.0872rem;
  text-align: center;
}

.ar-strengths__items {
  display: flex;
  flex-direction: column;
  gap: 5.25rem;
  margin: 0 0 5.1764rem;
  padding: 0;
  list-style: none;
}

.ar-strengths-card {
  display: flex;
  align-items: flex-start;
  width: 95.7699%;
  max-width: 66.4712rem;
  margin-left: auto;
}

.ar-strengths-card--odd {
  justify-content: flex-end;
  column-gap: 3.0371rem;
}

.ar-strengths-card--even {
  justify-content: flex-start;
  column-gap: 6.3243rem;
}

.ar-strengths-card__content {
  position: relative;
  flex: 0 0 31.3625rem;
  min-width: 0;
  padding-top: 3.6419rem;
}

.ar-strengths-card--2 .ar-strengths-card__content {
  flex-basis: 27.4775rem;
}

.ar-strengths-card--4 .ar-strengths-card__content {
  flex-basis: 27.729rem;
}

.ar-strengths-card__badge {
  position: absolute;
  top: -0.375rem;
  left: -5.3125rem;
  width: 6.9688rem;
  pointer-events: none;
}

.ar-strengths-card__number-img {
  display: block;
  width: 100%;
  height: auto;
}

.ar-strengths-card__problem {
  display: flex;
  align-items: stretch;
  column-gap: 0.4438rem;
  padding-left: 0.0576rem;
  margin-bottom: 1.356rem;
}

.ar-strengths-card__problem-label {
  display: flex;
  flex: 0 0 1.4082rem;
  align-items: center;
  justify-content: center;
  min-height: 2.9835rem;
  height: auto;
  color: #fff;
  background-color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.7875rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: 0.0473rem;
  writing-mode: vertical-rl;
}

.ar-strengths-card__problem-txt {
  display: flex;
  align-items: center;
  margin: 0;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.0563rem;
  white-space: nowrap;
}

.ar-strengths-card__ribbon-img {
  display: block;
  width: 16.2777rem;
  height: 3.2579rem;
  margin-bottom: 0.5838rem;
}

.ar-strengths-card__ttl {
  margin: 0 0 0.4056rem;
  color: #00459d;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.9261rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1541rem;
  white-space: nowrap;
}
@media screen and (max-width: 1199.98px) {
.ar-strengths-card__ttl {
  white-space: initial;
}
}

.ar-strengths-card__sp-break {
  display: none;
}

.ar-strengths-card__txt {
  margin: 0;
  color: #00459d;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2.15;
  letter-spacing: 0.0844rem;
  white-space: nowrap;
}

.ar-strengths-card__media {
  flex: 1;
  margin: 0;
  max-width: 26.4rem;
}

.ar-strengths-card--1 .ar-strengths-card__media {
  padding-top: 5.8164rem;
}

.ar-strengths-card--2 .ar-strengths-card__media {
  padding-top: 4.8627rem;
}

.ar-strengths-card--3 .ar-strengths-card__media {
  padding-top: 5.8339rem;
}

.ar-strengths-card--4 .ar-strengths-card__media {
  padding-top: 3.6303rem;
}

.ar-strengths-card__media-img {
  display: block;
  width: 100%;
}

.ar-strengths__cta {
  width: 100%;
  max-width: 53.1177rem;
  margin-inline: auto;
}

.ar-strengths__cta-copy {
  margin: 0 0 0.9191rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.4261rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1284rem;
  text-align: center;
}

.ar-strengths__actions {
  margin-inline: auto;
  margin-bottom: 0.5318rem;
}

.ar-strengths__hours {
  width: 52.9717%;
  max-width: 28.1376rem;
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0525rem;
  text-align: center;
}

@media (width < 768px) {
  .ar-strengths {
    padding-block: 0;
  }

  .ar-strengths__inner {
    width: 100%;
    max-width: none;
  }

  .ar-strengths__header {
    padding-bottom: 0.1703rem;
    margin-bottom: 1.2766rem;
  }

  .ar-strengths__label-img {
    width: 6.6954rem;
    margin-bottom: 0.7656rem;
  }

  .ar-strengths__ttl {
    max-width: 19.5rem;
    margin: 0 auto 0.9194rem;
    font-size: 2.0511rem;
    line-height: 1.6;
    letter-spacing: 0.1231rem;
  }

  .ar-strengths__lead {
    width: 87.9396%;
    max-width: 22.7544rem;
    margin-inline: auto;
    font-size: 0.875rem;
    line-height: 1.9;
    letter-spacing: 0.0788rem;
  }

  .ar-strengths__items {
    gap: 3.125rem;
    margin-bottom: 2.6466rem;
  }

  .ar-strengths-card {
    position: relative;
    display: grid;
    grid-template-rows: repeat(5, auto);
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: none;
    margin-left: 0;
    padding: 4.2351rem 1.5487rem 0 1.5782rem;
  }

  .ar-strengths-card--odd {
    justify-content: initial;
    column-gap: 0;
    padding-top: 4.5788rem;
  }

  .ar-strengths-card--even {
    justify-content: initial;
    column-gap: 0;
  }

  .ar-strengths-card--3 {
    /* padding-bottom: 1.1987rem; */
  }

  .ar-strengths-card--4 {
    padding-bottom: 1.6563rem;
  }

  .ar-strengths-card__content,
  .ar-strengths-card--2 .ar-strengths-card__content,
  .ar-strengths-card--4 .ar-strengths-card__content {
    position: static;
    display: grid;
    grid-row: 1 / 6;
    grid-column: 1;
    grid-template-rows: subgrid;
    grid-template-columns: subgrid;
    min-width: 0;
    padding-top: 0;
  }

  .ar-strengths-card__badge {
    top: -0.375rem;
    left: 0.2064rem;
    width: 6.9688rem;
  }

  .ar-strengths-card__problem {
    grid-row: 1;
    column-gap: 0.526rem;
    padding-left: 0;
    margin-bottom: 0.7974rem;
  }

  .ar-strengths-card__problem-label {
    flex-basis: 1.4082rem;
    min-height: 3.8157rem;
    height: auto;
    font-size: 0.7875rem;
    line-height: 1.05;
    letter-spacing: 0.0473rem;
  }

  .ar-strengths-card__problem-txt {
    flex: 1;
    min-width: 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    letter-spacing: 0.0563rem;
    white-space: normal;
  }

  .ar-strengths-card__ribbon-img {
    grid-row: 2;
    width: 15.4532rem;
    height: auto;
    margin-bottom: 0.4869rem;
  }

  .ar-strengths-card__ttl {
    grid-row: 3;
    margin-bottom: 0.6837rem;
    font-size: 1.8285rem;
    line-height: 1.5;
    letter-spacing: 0.1463rem;
    white-space: normal;
  }

  .ar-strengths-card__sp-break {
    display: initial;
  }

  .ar-strengths-card--4 .ar-strengths-card__ttl {
    width: 23.0625rem;
    max-width: none;
    letter-spacing: 0.0914rem;
  }

  .ar-strengths-card__txt {
    grid-row: 5;
    font-size: 0.9375rem;
    line-height: 2;
    letter-spacing: 0.0844rem;
    white-space: normal;
  }

  .ar-strengths-card__txt br {
    display: none;
  }

  .ar-strengths-card__media,
  .ar-strengths-card--1 .ar-strengths-card__media,
  .ar-strengths-card--2 .ar-strengths-card__media,
  .ar-strengths-card--3 .ar-strengths-card__media,
  .ar-strengths-card--4 .ar-strengths-card__media {
    grid-row: 4;
    grid-column: 1;
    width: 100%;
    margin: 0 0 0.8836rem;
    padding-top: 0;
  }

  .ar-strengths-card__media-img {
    width: 100%;
    height: 14.5877rem;
    object-fit: cover;
  }

  .ar-strengths__cta {
    display: grid;
    grid-template-rows: repeat(4, auto);
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  .ar-strengths__cta-copy {
    grid-row: 1;
    grid-column: 1;
    max-width: 20rem;
    margin-bottom: 1.0715rem;
    font-size: 1.1761rem;
    line-height: 1.65;
    letter-spacing: 0.1059rem;
  }

  .ar-strengths__actions {
    display: grid;
    grid-row: 2 / 5;
    grid-column: 1;
    grid-template-rows: subgrid;
    grid-template-columns: 1fr;
    width: 100%;
    margin: 0;
    gap: 0;
  }

  .ar-strengths__phone-link,
  .ar-contact-actions--standard .ar-strengths__phone-link {
    grid-row: 1;
    width: 100%;
    max-width: 24rem;
    height: auto;
    margin-inline: auto;
    margin-bottom: 0.0801rem;
  }

  .ar-strengths__phone-img,
  .ar-contact-actions--standard .ar-strengths__phone-img {
    width: 100%;
    max-width: none;
    height: auto;
    transform: none;
  }

  .ar-strengths__mail-link,
  .ar-contact-actions--standard .ar-strengths__mail-link {
    grid-row: 3;
    width: 88%;
    max-width: 24.1241rem;
    height: auto;
    margin-inline: auto;
    overflow: visible;
  }

  .ar-strengths__mail-img,
  .ar-contact-actions--standard .ar-strengths__mail-img {
    width: 100%;
    height: auto;
    max-width: none;
    object-fit: contain;
    transform: none;
  }

  .ar-strengths__hours {
    z-index: 1;
    grid-row: 3;
    grid-column: 1;
    width: 9.0625rem;
    margin: 0 0 0.4325rem;
    font-size: 0.75rem;
    line-height: 1.6;
    letter-spacing: 0.0525rem;
    white-space: nowrap;
  }
}
/* figma-css:end nodeId=797-18182 */
/* source:end assets/css/sections/06-strengths.css */

/* source:start assets/css/sections/07-products.css */
/* figma-css:start nodeId=797-18185 */
.ar-products {
  position: relative;
  z-index: 0;
  padding-block: 4.8313rem 0;
  background-color: #fff;
}

.ar-products__watermark {
  position: absolute;
  z-index: -1;
  top: -2.9187rem;
  left: 50%;
  width: 91.0714%;
  margin: 0;
  transform: translateX(-50%);
  background-image: linear-gradient(90deg, #f0f7ff 0%, #f0f3fd 100%);
  background-clip: text;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 9.3133rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 1.75;
  letter-spacing: 1.0245rem;
  -webkit-text-stroke: 0.03em #f0f5fe;
  paint-order: stroke fill;
  text-align: center;
  white-space: nowrap;
  opacity: 0.74;
  pointer-events: none;
}

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

.ar-products__header {
  margin-bottom: 3.251rem;
  text-align: center;
}

.ar-products__label-image {
  display: block;
  width: 7.6338rem;
  height: auto;
  margin-inline: auto;
  margin-bottom: 0.2263rem;
}

.ar-products__title {
  margin: 0 0 1.1149rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.7386rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1643rem;
  white-space: nowrap;
}

.ar-products__lead {
  margin: 0;
  color: #000f2a;
  font-size: 0.9688rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.0872rem;
  white-space: nowrap;
}

.ar-products__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2616rem;
  margin: 0 0 2.6045rem;
  padding: 0;
  list-style: none;
}

.ar-products-card {
  min-width: 0;
  background-color: #fff;
  border-radius: 0.8714rem;
  box-shadow: 0 0.375rem 1.25rem rgba(0, 15, 42, 0.08);
  overflow: hidden;
}

.ar-products-card__link,
.ar-products-set-card__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.ar-products-card__media {
  aspect-ratio: 338.3758 / 187.1266;
}

.ar-products-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.ar-products-card__content {
  padding: 0.7936rem 1.0613rem 1.1419rem;
}

.ar-products-card__title {
  margin: 0 0 0.071rem;
  color: #000f2a;
  font-size: 0.7929rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.0714rem;
  white-space: nowrap;
}

.ar-products-card__price {
  display: flex;
  align-items: baseline;
  margin: 0 0 1.5313rem;
  color: #f12152;
  white-space: nowrap;
}

.ar-products-card__price-number {
  color: #f0023a;
  font-family: "Gidole", sans-serif;
  font-size: 1.453rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 1.2;
  /* letter-spacing: -0.0581rem; */
}

.ar-products-card__price-unit {
  font-size: 0.7929rem;
  font-weight: 900;
  line-height: 1.75;
  letter-spacing: 0.0714rem;
}

.ar-products-card__price-tax {
  font-size: 0.6343rem;
  font-weight: 900;
  line-height: 1.75;
  letter-spacing: 0.0571rem;
}

.ar-products-card__features {
  display: flex;
  align-items: center;
  gap: 0.1441rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ar-products-card__feature {
  flex: 0 0 1.9889rem;
  min-width: 0;
}

.ar-products-card__feature--stacked {
  display: grid;
}

.ar-products-card__feature--stacked .ar-products-card__feature-image {
  grid-area: 1 / 1;
}

.ar-products-card__feature-image {
  display: block;
  width: 100%;
  height: auto;
}

.ar-products-card__features--compact {
  gap: 0.133rem;
}

.ar-products-card__features--compact .ar-products-card__feature {
  flex-basis: 1.83rem;
}

.ar-products-popular__header {
  margin-bottom: 1.4565rem;
  text-align: center;
}

.ar-products-popular__title {
  margin: 0;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.4704rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1029rem;
  white-space: nowrap;
}

.ar-products-popular__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7951rem;
  margin: 0 0 2.7426rem;
  padding: 0;
  list-style: none;
}

.ar-products-set-card {
  min-width: 0;
  background-color: #fff;
  border-radius: 0.6549rem;
  box-shadow: 0 0.3125rem 1.125rem rgba(0, 15, 42, 0.08);
  overflow: hidden;
}

.ar-products-set-card__media {
  aspect-ratio: 254.3316 / 140.6489;
}

.ar-products-set-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.ar-products-set-card__content {
  padding: 0.5434rem 0.7979rem 0.8525rem;
}

.ar-products-set-card__title {
  margin: 0;
  color: #000f2a;
  font-size: 0.8081rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.0727rem;
  white-space: nowrap;
}

.ar-products-set-card__description {
  margin: 0 0 0.3375rem;
  color: #000f2a;
  font-size: 0.5832rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.0525rem;
  white-space: nowrap;
}

.ar-products-set-card__price {
  display: flex;
  align-items: baseline;
  margin: 0;
  color: #f12152;
  white-space: nowrap;
}

.ar-products-set-card__price-number {
  color: #f0023a;
  font-family: "Gidole", sans-serif;
  font-size: 1.2958rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 1.2;
  /* letter-spacing: -0.0518rem; */
}

.ar-products-set-card__price-range,
.ar-products-set-card__price-unit {
  font-size: 0.7071rem;
  font-weight: 900;
  line-height: 1.75;
  letter-spacing: 0.0636rem;
}

.ar-products-set-card__price-tax {
  font-size: 0.5658rem;
  font-weight: 900;
  line-height: 1.75;
  letter-spacing: 0.0509rem;
}

.ar-products__actions {
  display: flex;
  gap: 0.4639rem;
  width: 63.7906%;
  max-width: 42.0815rem;
  margin-inline: auto;
}

.ar-products__cta {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  min-height: 3.6118rem;
  padding-inline: 1.4637rem 1.3436rem;
  background-color: #004db4;
  border-radius: 0.1391rem;
  color: #fff;
  text-decoration: none;
}

.ar-products__cta-text {
  font-size: 0.8349rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1002rem;
  white-space: nowrap;
}

.ar-products__cta-arrow {
  flex: 0 0 2.4774rem;
  width: 2.4774rem;
  height: auto;
}

@media (width < 768px) {
  .ar-products {
    padding-block: 4.8732rem 2.8634rem;
    overflow-x: clip;
  }

  .ar-products__watermark {
    top: 0;
    left: 0.1406rem;
    width: 52.3125rem;
    transform: none;
    font-size: 5.0931rem;
    line-height: 1.75;
    letter-spacing: 0.5602rem;
    text-align: center;
  }

  .ar-products__inner {
    width: 100%;
    max-width: none;
  }

  .ar-products__header {
    margin-bottom: 2.2389rem;
  }

  .ar-products__label-image {
    width: 6.8829rem;
    height: 1.75rem;
    margin-bottom: 0.6263rem;
    object-fit: fill;
  }

  .ar-products__title {
    max-width: 20.0625rem;
    margin: 0 auto 1.0935rem;
    font-size: 2.1136rem;
    line-height: 1.6;
    letter-spacing: 0.1268rem;
    white-space: normal;
  }

  .ar-products__title-line {
    white-space: nowrap;
  }

  .ar-products__title-tight {
    letter-spacing: -0.0634rem;
  }

  .ar-products__lead {
    width: 87.8637%;
    max-width: 22.7347rem;
    margin-inline: auto;
    font-size: 0.9375rem;
    line-height: 1.9;
    letter-spacing: 0.0844rem;
    white-space: normal;
  }

  .ar-products__cards,
  .ar-products-popular__cards {
    display: flex;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .ar-products__cards::-webkit-scrollbar,
  .ar-products-popular__cards::-webkit-scrollbar {
    display: none;
  }

  .ar-products__cards {
    gap: 0.6875rem;
    margin-bottom: 0.1168rem;
    padding-inline: 1.1584rem;
    padding-block: 0.75rem 1.75rem;
  }

  .ar-products-card {
    flex: 0 0 21.1485rem;
  }

  .ar-products-popular__header {
    margin-bottom: 0.6946rem;
  }

  .ar-products-popular__title {
    font-size: 1.4079rem;
    line-height: 1.8;
    letter-spacing: 0.0986rem;
  }

  .ar-products-popular__cards {
    gap: 0.7951rem;
    margin-bottom: 0.3808rem;
    padding-inline: 0.9006rem;
    padding-block: 0.75rem 1.75rem;
  }

  .ar-products-set-card {
    flex: 0 0 15.8957rem;
  }

  .ar-products__actions {
    flex-direction: column;
    gap: 0.4812rem;
    width: 70.0319%;
    max-width: 18.1208rem;
  }

  .ar-products__cta {
    flex: none;
    min-height: 3.973rem;
    padding-inline: 3.4723rem 2.6466rem;
    border-radius: 0.1531rem;
  }

  .ar-products__cta-text {
    font-size: 0.9184rem;
    line-height: 1.75;
    letter-spacing: 0.1102rem;
  }

  .ar-products__cta-arrow {
    flex-basis: 2.7252rem;
    width: 2.7252rem;
  }
}
/* figma-css:end nodeId=797-18185 */
/* source:end assets/css/sections/07-products.css */

/* source:start assets/css/sections/08-use-cases.css */
/* figma-css:start nodeId=798-18189 */
.ar-use-cases {
  position: relative;
  z-index: 0;
  padding-block: 10.876rem 6.4421rem;
  background-color: #fff;
}

.ar-use-cases::before {
  position: absolute;
  z-index: -1;
  inset: 6.0347rem 1.9375rem 0;
  background-image: linear-gradient(100.6469deg, rgb(240, 247, 255) 12.413%, rgb(240, 243, 253) 99.857%);
  opacity: 0.58;
  content: "";
}

.ar-use-cases__inner {
  width: 83.2816%;
  max-width: 80.0957rem;
  margin-inline: auto;
}

.ar-use-cases__header {
  margin-bottom: 2.1036rem;
  text-align: center;
}

.ar-use-cases__side-label-img {
  position: absolute;
  top: 2.8428rem;
  left: 4.3481rem;
  display: block;
  width: 2rem;
  height: 24.8838rem;
}

.ar-use-cases__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15.0527rem;
  min-height: 2.7664rem;
  margin: 0 0 0.9152rem;
  padding-inline: 1.0635rem 0.8018rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.4971rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1647rem;
  white-space: nowrap;
  border: 0.0975rem solid #000f2a;
}

.ar-use-cases__ttl {
  margin: 0 0 1.2319rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.1136rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.1902rem;
  text-align: center;
}

.ar-use-cases__ttl strong {
  color: #004dc9;
}

.ar-use-cases__lead {
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.0844rem;
  text-align: center;
}

.ar-use-cases__nowrap {
  /* white-space: nowrap; */
}

.ar-use-cases__list {
  display: flex;
  width: 99.1412%;
  max-width: 79.4078rem;
  column-gap: 2.7993rem;
  margin: 0 auto 0 0;
  padding: 0;
  list-style: none;
}

.ar-use-cases-card {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  padding: 0 2.1939rem 0.988rem 0;
}

.ar-use-cases-card__evolution {
  position: absolute;
  top: 2.2147rem;
  right: 0;
  display: block;
  width: 0.6241rem;
  height: 15.5882rem;
}

.ar-use-cases-card__evolution-label {
  position: absolute;
  top: 0;
  left: 0.6241rem;
  font-family: "Gidole", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 0.6241rem;
  letter-spacing: 0.1716rem;
  white-space: nowrap;
  background-image: linear-gradient(170.37deg, #003b92 9.5436%, #0078e8 25.8113%, #003b92 83.9646%);
  background-clip: text;
  color: transparent;
  transform: rotate(90deg);
  transform-origin: top left;
}

.ar-use-cases-card__evolution::after {
  position: absolute;
  top: 6.5918rem;
  left: 0.1973rem;
  width: 0.0565rem;
  height: 8.9964rem;
  background-image: linear-gradient(180deg, #0059bc 0%, #003b92 60.45%, #003b92 100%);
  opacity: 0.5;
  content: "";
}

.ar-use-cases-card__media {
  position: relative;
  margin-bottom: 0.3164rem;
  padding-top: 2.3169rem;
}

.ar-use-cases-card__camera {
  position: absolute;
  top: 0;
  left: 0.1724rem;
  display: block;
  width: 2.3505rem;
  height: 2.0845rem;
}

.ar-use-cases-card__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 248.9375 / 143.1832;
}

.ar-use-cases-card__ttl {
  margin: 0 0 0.4277rem;
  color: #000;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.1064rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.0996rem;
  text-align: center;
  /* white-space: nowrap; */
}

.ar-use-cases-card__txt {
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8438rem;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.0759rem;
}

@media (width < 768px) {
  .ar-use-cases {
    padding-top: 3.0628rem;
    padding-bottom: 3.0856rem;
  }

  .ar-use-cases::before {
    top: 0;
    right: 0.5625rem;
    bottom: 0;
    left: 0.5625rem;
    background-image: linear-gradient(91.0636deg, rgb(240, 247, 255) 12.413%, rgb(240, 243, 253) 99.857%);
  }

  .ar-use-cases__inner {
    width: 87.4416%;
    max-width: 22.6255rem;
  }

  .ar-use-cases__header {
    margin-bottom: 3.09rem;
  }

  .ar-use-cases__side-label-img {
    top: 3.0628rem;
    left: 0.375rem;
    display: block;
    width: 1rem;
    height: auto;
    display: none;
  }

  .ar-use-cases__label {
    justify-content: flex-start;
    width: 12.0422rem;
    min-height: 2.2131rem;
    margin-bottom: 1.1918rem;
    margin-inline: auto;
    padding-left: 0.8508rem;
    padding-right: 0.4729rem;
    font-size: 1.1976rem;
    line-height: 1.7;
    letter-spacing: 0.1317rem;
    border-width: 0.078rem;
  }

  .ar-use-cases__ttl {
    margin-bottom: 1.5176rem;
    font-size: 1.599rem;
    line-height: 1.55;
    letter-spacing: 0.1383rem;
  }

  .ar-use-cases__ttl-small {
    display: block;
    font-size: 1.099rem;
    line-height: 1.55;
  }

  .ar-use-cases__ttl-small + br {
    display: none;
  }

  .ar-use-cases__lead {
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.9;
    letter-spacing: 0.0788rem;
  }

  .ar-use-cases__nowrap {
    white-space: normal;
  }

  .ar-use-cases__list {
    flex-direction: column;
    width: 92.9275%;
    max-width: 21.0253rem;
    row-gap: 1.6592rem;
    margin-inline: auto;
  }

  .ar-use-cases-card {
    display: flex;
    flex: none;
    flex-direction: column;
    width: 100%;
    padding: 0;
  }

  .ar-use-cases-card__evolution {
    position: relative;
    top: 0;
    order: 1;
    display: flex;
    align-items: center;
    width: 100%;
    height: 1.625rem;
    margin-bottom: 0.8751rem;
  }

  .ar-use-cases-card__evolution-label {
    position: static;
    flex: 0 0 6.8125rem;
    font-size: 0.875rem;
    line-height: 1.8571;
    letter-spacing: 0.1988rem;
    transform: translateX(-0.0976rem);
  }

  .ar-use-cases-card__evolution::after {
    position: static;
    flex: 1;
    width: auto;
    height: 1px;
    margin-left: 0.4385rem;
    background-image: linear-gradient(90deg, #0059bc 0%, #003b92 60.45%, #003b92 100%);
  }

  .ar-use-cases-card__media {
    order: 2;
    width: 73.9993%;
    max-width: 15.5586rem;
    margin-inline: auto;
  }

  .ar-use-cases-card__ttl {
    order: 3;
    margin-bottom: 0.679rem;
  }

  .ar-use-cases-card__txt {
    order: 4;
    width: 87.5205%;
    margin-inline: auto;
    font-size: 0.9063rem;
    letter-spacing: 0.0816rem;
  }
}
/* figma-css:end nodeId=798-18189 */
/* source:end assets/css/sections/08-use-cases.css */

/* source:start assets/css/sections/09-camera-types.css */
/* figma-css:start nodeId=798-18192 */
.ar-camera-types {
  position: relative;
  overflow: clip;
  padding-block: 4.9563rem 3.1597rem;
  background: #fff;
  color: #000f2a;
  padding-top: 6.0188rem;
}

.ar-camera-types__background-label {
  position: absolute;
  top: -3.6687rem;
  left: 50%;
  transform: translateX(-50%) scaleX(1.0382);
  background: linear-gradient(90deg, #f0f7ff, #f0f3fd);
  background-clip: text;
  color: transparent;
  font-family: "Gidole", sans-serif;
  font-size: 8.8133rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  letter-spacing: 0.9695rem;
  line-height: 1.75;
  -webkit-text-stroke: 0.03em #f0f5fe;
  paint-order: stroke fill;
  opacity: 0.74;
  white-space: nowrap;
  pointer-events: none;
}

.ar-camera-types__inner {
  position: relative;
  width: 80%;
  max-width: 66.75rem;
  margin-inline: auto;
}

.ar-camera-types__header {
  position: relative;
  margin-bottom: 3.3902rem;
  text-align: center;
}

.ar-camera-types__label-img {
  display: block;
  width: 4.8213rem;
  height: 2rem;
  margin-inline: auto;
  margin-bottom: 0.2263rem;
}

.ar-camera-types__title {
  margin: 0 0 0.4899rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.7386rem;
  font-weight: 700;
  letter-spacing: 0.1643rem;
  line-height: 1.8;
  white-space: nowrap;
}

.ar-camera-types__lead {
  margin: 0;
  font-size: 0.9688rem;
  font-weight: 400;
  letter-spacing: 0.0872rem;
  line-height: 1.9;
  white-space: nowrap;
}

.ar-camera-types__list {
  display: flex;
  gap: 2.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ar-camera-type-card {
  flex: 1 1 0;
  min-width: 0;
}

.ar-camera-type-card__purpose {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3.7218rem;
  margin-inline: auto;
  margin-bottom: 1.5008rem;
}

@media screen and (max-width: 767.98px) {
.ar-camera-type-card__purpose {
  margin-bottom: 0.4008rem;
}
}

.ar-camera-type-card__purpose-img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin-inline: auto;
  object-fit: contain;
}

.ar-camera-type-card__panel {
  position: relative;
}

.ar-camera-type-card__header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.9691rem;
  background: #074396;
  border-radius: 0.375rem 0.375rem 0 0;
}

.ar-camera-type-card__title {
  margin: 0;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.5511rem;
  font-weight: 700;
  letter-spacing: 0.0931rem;
  line-height: 1.8;
  white-space: nowrap;
}

.ar-camera-type-card--1 .ar-camera-type-card__title {
  font-size: 1.6136rem;
  letter-spacing: 0.0968rem;
}

.ar-camera-type-card--2 .ar-camera-type-card__title {
  letter-spacing: 0.031rem;
}

.ar-camera-type-card__body {
  position: relative;
  box-sizing: border-box;
  padding: 1.0851rem 5.5% 1.4082rem;
  background: #fff;
  border-radius: 0 0 0.375rem 0.375rem;
}

.ar-camera-type-card__body::before {
  position: absolute;
  inset: -0.4066rem 0 0;
  border: 0.0875rem solid #074396;
  border-radius: 0.375rem;
  pointer-events: none;
  content: "";
}

.ar-camera-type-card__media {
  width: 100%;
  margin-inline: auto;
  margin-bottom: 0.7626rem;
}

.ar-camera-type-card__img {
  display: block;
  width: 100%;
  height: auto;
}

.ar-camera-type-card__features {
  width: 92%;
  margin-inline: auto;
  margin-bottom: 0.8343rem;
  padding-inline: 0;
}

.ar-camera-type-card__features-title,
.ar-camera-type-card__recommendation-title {
  width: fit-content;
  margin: 0;
  font-size: 1.1084rem;
  font-weight: 700;
  letter-spacing: 0.1108rem;
  line-height: 1.9;
  text-decoration: underline;
  text-decoration-thickness: 0.0669rem;
  text-underline-offset: 0.12rem;
}

.ar-camera-type-card__features-title {
  margin-bottom: 0.0646rem;
}

.ar-camera-type-card__features-list,
.ar-camera-type-card__recommendation-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ar-camera-type-card__features-item {
  font-size: 0.9063rem;
  font-weight: 400;
  letter-spacing: 0.0544rem;
  line-height: 1.9;
}

.ar-camera-type-card__recommendation {
  box-sizing: border-box;
  width: 95%;
  margin-inline: auto;
  margin-bottom: 0.9138rem;
  padding: 0.8606rem 1.4419rem 1.2318rem;
  background: rgba(225, 230, 234, 0.38);
}

.ar-camera-type-card__recommendation-title {
  margin-bottom: 0.4246rem;
  color: #00459d;
}

.ar-camera-type-card__recommendation-list {
  padding-inline: 0.1768rem;
}

.ar-camera-type-card__recommendation-item {
  display: flex;
  align-items: center;
  gap: 0.2078rem;
  color: #00459d;
  font-size: 0.9922rem;
  font-weight: 500;
  letter-spacing: 0.0595rem;
  line-height: 1.9;
}

.ar-camera-type-card__check {
  flex: 0 0 0.9443rem;
  width: 0.9443rem;
  height: 0.9443rem;
}

.ar-camera-type-card__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 11.2031rem;
  max-width: 100%;
  height: 2.3413rem;
  margin-inline: auto;
  border: 0.1rem solid #004db4;
  border-radius: 0.15rem;
  color: #004db4;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.108rem;
  line-height: 1.75;
  text-decoration: none;
}

@media (width < 1100px) and (width >= 768px) {
  .ar-camera-types__list {
    gap: 1.25rem;
  }

  .ar-camera-type-card__title {
    font-size: 1.25rem;
    letter-spacing: 0.05rem;
  }

  .ar-camera-type-card--1 .ar-camera-type-card__title {
    font-size: 1.3rem;
  }

  .ar-camera-type-card__recommendation {
    padding-inline: 0.75rem;
  }

  .ar-camera-type-card__features-item,
  .ar-camera-type-card__recommendation-item {
    font-size: 0.85rem;
    letter-spacing: 0.02rem;
  }
}

@media (width < 768px) {
  .ar-camera-types {
    padding-block: 2.1574rem 3.3819rem;
  }

  .ar-camera-types__background-label {
    top: -1.8rem;
    font-size: 3.5773rem;
    letter-spacing: 0.3935rem;
  }

  .ar-camera-types__inner {
    width: 80.1932%;
    max-width: 20.75rem;
  }

  .ar-camera-types__header {
    margin-bottom: 2.6529rem;
  }

  .ar-camera-types__label-img {
    width: 4.3204rem;
    height: 1.75rem;
    margin-bottom: 0.7467rem;
  }

  .ar-camera-types__title {
    position: relative;
    left: 50%;
    width: max-content;
    margin-bottom: 0.6668rem;
    transform: translateX(-50%);
    font-size: 2.1136rem;
    letter-spacing: 0.0845rem;
    line-height: 1.7;
  }

  .ar-camera-types__lead {
    position: relative;
    left: 50%;
    width: max-content;
    transform: translateX(-50%);
    font-size: 0.9375rem;
    letter-spacing: 0.0844rem;
  }

  .ar-camera-types__list {
    flex-direction: column;
    gap: 2.9154rem;
  }

  .ar-camera-type-card {
    flex: none;
    width: 100%;
  }
}
/* figma-css:end nodeId=798-18192 */
/* source:end assets/css/sections/09-camera-types.css */

/* source:start assets/css/sections/10-diagnosis-bottom.css */
/* Shared diagnosis UI styles are defined by `.ar-diagnosis*` in ../common.css. */

@media (width < 768px) {
  .ar-diagnosis-bottom {
    padding-bottom: 6.1532rem;
  }

  .ar-main--integrated .ar-diagnosis-bottom {
    padding-top: 0;
    padding-bottom: 0;
  }

  .ar-diagnosis-bottom__inner {
    width: 97.1014%;
    max-width: 25.125rem;
  }

  .ar-diagnosis-bottom__inner > picture {
    display: block;
  }
}
/* source:end assets/css/sections/10-diagnosis-bottom.css */

/* source:start assets/css/sections/11-recommendations.css */
/* figma-css:start nodeId=798-18198 */
.ar-recommendations {
  position: relative;
  /* overflow: clip; */
  padding-block: 4.5198rem 2.4654rem;
  background-color: #fff;
}

.ar-recommendations::before {
  position: absolute;
  top: -24.125rem;
  right: -11.6587rem;
  width: 46.9741rem;
  aspect-ratio: 1;
  border: 10.625rem solid #f5f8fd;
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.ar-recommendations__inner {
  position: relative;
  width: 85%;
  max-width: 74.044rem;
  margin-inline: auto;
}

.ar-recommendations__header {
  margin-bottom: 3.1768rem;
  text-align: center;
}

.ar-recommendations__label {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.5383rem;
  margin: 0 0 0.5388rem;
  color: #00459d;
  font-family: "Gidole", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1688rem;
}

.ar-recommendations__label-icon {
  display: block;
  width: 1.3455rem;
  height: auto;
}

.ar-recommendations__ttl {
  margin: 0;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  text-align: center;
}

.ar-recommendations__ttl-lead {
  display: block;
  margin-bottom: -0.6801rem;
  font-size: 1.4886rem;
  line-height: 1.8;
  letter-spacing: 0.0893rem;
}

.ar-recommendations__ttl-main {
  display: block;
  font-size: 2.6761rem;
  line-height: 1.8;
  letter-spacing: 0.1606rem;
}

.ar-recommendations__examples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 3.0547rem;
  row-gap: 3.028rem;
  margin: 0 0 2.4054rem;
  padding: 0;
  list-style: none;
}

.ar-recommendation-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 24.7811rem;
  flex-direction: column;
  padding-block: 0.3472rem 0.7584rem;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 0.1875rem;
  box-shadow: 0 0 1.1688rem rgba(209, 212, 216, 0.55);
}

.ar-recommendation-card--office {
  padding-top: 0.3525rem;
}

.ar-recommendation-card__header {
  padding-inline: 0.3486rem;
  margin-bottom: 1.081rem;
}

.ar-recommendation-card--office .ar-recommendation-card__header {
  margin-bottom: 1.0646rem;
}

.ar-recommendation-card__ttl {
  display: inline-block;
  margin: 0;
  padding: 0.3339rem 1.101rem;
  color: #fff;
  background-color: #0550b9;
  border-radius: 0.1563rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.1875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1425rem;
  white-space: nowrap;
}

.ar-recommendation-card--office .ar-recommendation-card__ttl {
  min-width: 14.25rem;
  padding-block: 0.3656rem;
  font-size: 1.3004rem;
  letter-spacing: 0.1561rem;
}

.ar-recommendation-card--apartment .ar-recommendation-card__ttl {
  min-width: 13.8584rem;
  text-align: center;
}

.ar-recommendation-card--factory .ar-recommendation-card__ttl {
  min-width: 10.2993rem;
  text-align: center;
}

.ar-recommendation-card--parking .ar-recommendation-card__ttl {
  min-width: 11.4019rem;
  text-align: center;
}

.ar-recommendation-card__media-list {
  position: absolute;
  top: 0.5158rem;
  right: 0.3339rem;
  width: 14.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ar-recommendation-card--office .ar-recommendation-card__media-list {
  top: 0.328rem;
  right: 0.271rem;
}

.ar-recommendation-card--apartment .ar-recommendation-card__media-list {
  top: 1.0155rem;
  right: 0.3203rem;
}

.ar-recommendation-card--parking .ar-recommendation-card__media-list {
  top: 0.0814rem;
  right: 0.3203rem;
}

.ar-recommendation-card__media-item {
  margin: 0;
}

.ar-recommendation-card__img {
  display: block;
  width: 100%;
  height: auto;
}

.ar-recommendation-card__details {
  flex: 1;
  padding-inline: 1.2876rem;
}

.ar-recommendation-card__detail-group:first-child {
  margin-bottom: 0.1995rem;
}

.ar-recommendation-card--factory .ar-recommendation-card__detail-group:first-child {
  margin-bottom: 0.6173rem;
}

.ar-recommendation-card__detail-ttl {
  display: flex;
  align-items: center;
  column-gap: 0.3376rem;
  margin: 0 0 0.0978rem;
  color: #0550b9;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.09rem;
}

.ar-recommendation-card__detail-icon {
  display: block;
  width: 1.3455rem;
  height: auto;
  flex: 0 0 auto;
}

.ar-recommendation-card__list {
  margin: 0;
  padding: 0 0 0 1.673rem;
  list-style: none;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.0488rem;
}
.ar-recommendation-card__list--equipment {
  margin-bottom:1rem;
}

.ar-recommendation-card__list--wishes {
  counter-reset: wish-item;
}

.ar-recommendation-card__list--wishes > li,
.ar-recommendation-card__list--equipment > li {
  position: relative;
  padding-left: 1.15em;
}

.ar-recommendation-card__list--wishes > li {
  counter-increment: wish-item;
}

.ar-recommendation-card__list--wishes > li::before {
  position: absolute;
  left: 0;
  content: counter(wish-item) ".";
}

.ar-recommendation-card__list--equipment > li::before {
  position: absolute;
  left: 0;
  content: "・";
}

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

.ar-recommendation-card__price {
  min-height: 5.491rem;
  margin-inline: 1.2876rem 1.1415rem;
  padding: 0.7257rem 1.1606rem 0.65rem;
  background-color: #f6f9ff;
}

.ar-recommendation-card__price-row {
  display: flex;
  align-items: flex-start;
  column-gap: 0.1756rem;
  margin-bottom: -0.125rem;
}

.ar-recommendation-card__price-main {
  display: flex;
  align-items: center;
  column-gap: 0.347rem;
  flex: 0 0 auto;
}

.ar-recommendation-card__price-label {
  display: block;
  padding: 0.1533rem 0.34rem;
  color: #ed1838;
  border: 0.0661rem solid #ed1838;
  border-radius: 0.0661rem;
  font-size: 0.6619rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.0331rem;
  white-space: nowrap;
}

.ar-recommendation-card__price-amount {
  display: flex;
  align-items: baseline;
  color: #ed1838;
  font-family: "Gidole", sans-serif;
  font-size: 1.6814rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.0673rem;
  white-space: nowrap;
}

.ar-recommendation-card__price-unit {
  display: inline-flex;
  align-items: baseline;
  margin-inline-start: 0.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.7751rem;
  font-weight: 900;
  line-height: 1.75;
  letter-spacing: 0.0698rem;
}

.ar-recommendation-card__price-unit small {
  font-size: 0.6201rem;
  letter-spacing: 0.0558rem;
}

.ar-recommendation-card__price-note {
  margin: 0.9069rem 0 0;
  color: #ed1838;
  font-size: 0.5994rem;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.03rem;
  white-space: nowrap;
}

.ar-recommendation-card__price-desc {
  margin: 0;
  color: #000f2a;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.0488rem;
  white-space: nowrap;
}

.ar-recommendations__search {
  margin-bottom: 3.2807rem;
}

.ar-recommendations__search-list {
  display: flex;
  justify-content: center;
  column-gap: 0.4637rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ar-recommendations__search-item {
  flex: 0 1 13.7179rem;
  min-width: 0;
}

.ar-recommendations-link {
  position: relative;
  display: flex;
  min-height: 3.6118rem;
  align-items: center;
  justify-content: center;
  padding-inline: 1rem 3.35rem;
  color: #fff;
  background-color: #004db4;
  border-radius: 0.1391rem;
  font-size: 0.7886rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.0946rem;
  text-decoration: none;
  white-space: nowrap;
}

.ar-recommendations-link__icon {
  position: absolute;
  top: 0.6372rem;
  right: 1.3484rem;
  display: block;
  width: 2.4774rem;
  height: auto;
}

.ar-recommendations__cta {
  width: 71.8%;
  max-width: 53.1177rem;
  margin-inline: auto;
}

.ar-recommendations__cta-ttl {
  margin: 0 0 0.9191rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.4261rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1284rem;
  text-align: center;
}

.ar-recommendations__actions {
  margin-inline: auto;
  margin-bottom: 0;
}

.ar-recommendations__hours {
  width: 52.9717%;
  max-width: 28.1376rem;
  margin: 0;
  color: #000f2a;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0525rem;
  text-align: center;
}

.ar-recommendations__sp-break,
.ar-recommendations__hours--sp {
  display: none;
}

/* Keep PC card internals intact: when 2-col would squeeze the
   absolute media + nowrap text, stack as a single column. */
@media (width < 1200px) and (width >= 768px) {
  .ar-recommendations__examples {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  .ar-recommendation-card {
    width: min(100%, 35.49465rem);
  }
}

@media (width < 768px) {
  .ar-recommendations {
    padding-block: 1.9294rem 3.5979rem;
  }

  .ar-recommendations::before {
    top: -13.5109rem;
    right: -11.1376rem;
    width: 22.5654rem;
    border-width: 5.1063rem;
  }

  .ar-recommendations__inner {
    width: 91.7874%;
    max-width: 23.75rem;
  }

  .ar-recommendations__header {
    margin-bottom: 1.6385rem;
  }

  .ar-recommendations__label {
    column-gap: 0.4844rem;
    margin-bottom: 0.8138rem;
    font-size: 1.0125rem;
    letter-spacing: 0.1519rem;
  }

  .ar-recommendations__label-icon {
    width: 1.2109rem;
  }

  .ar-recommendations__ttl-lead {
    margin-bottom: 0.4365rem;
    font-size: 1.3011rem;
    letter-spacing: 0.0781rem;
  }

  .ar-recommendations__ttl-main {
    font-size: 2.2386rem;
    line-height: 1.5;
    letter-spacing: 0.1643rem;
  }

  .ar-recommendations__sp-break,
  .ar-recommendations__hours--sp {
    display: inline;
  }

  .ar-recommendations__examples {
    display: flex;
    flex-direction: column;
    row-gap: 1.3753rem;
    margin-bottom: 2.879rem;
  }

  .ar-recommendation-card,
  .ar-recommendation-card--office {
    min-height: 25.7281rem;
    padding-block: 0.1838rem 1.1414rem;
  }

  .ar-recommendation-card__header,
  .ar-recommendation-card--office .ar-recommendation-card__header {
    padding-inline: 0.2166rem;
    margin-bottom: 0.8143rem;
  }

  .ar-recommendation-card__ttl,
  .ar-recommendation-card--office .ar-recommendation-card__ttl,
  .ar-recommendation-card--apartment .ar-recommendation-card__ttl,
  .ar-recommendation-card--factory .ar-recommendation-card__ttl,
  .ar-recommendation-card--parking .ar-recommendation-card__ttl {
    min-width: 11.5422rem;
    padding: 0.2808rem 0.9732rem;
    font-size: 1.0533rem;
    line-height: 1.75;
    letter-spacing: 0.1264rem;
    text-align: center;
  }

  .ar-recommendation-card__media-list,
  .ar-recommendation-card--office .ar-recommendation-card__media-list,
  .ar-recommendation-card--apartment .ar-recommendation-card__media-list,
  .ar-recommendation-card--parking .ar-recommendation-card__media-list {
    z-index: 0;
    top: 0.2091rem;
    right: -0.167rem;
    width: 16.4362rem;
    overflow: hidden;
  }

  .ar-recommendation-card__media-item {
    position: relative;
    height: 15.9319rem;
    overflow: hidden;
  }

  .ar-recommendation-card__img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: auto;
    max-width: none;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
  }

  .ar-recommendation-card__details {
    position: relative;
    z-index: 2;
    padding-inline: 0.8616rem;
  }

  .ar-recommendation-card__detail-group:first-child,
  .ar-recommendation-card--factory .ar-recommendation-card__detail-group:first-child {
    margin-bottom: 1.0073rem;
  }

  .ar-recommendation-card__detail-ttl {
    column-gap: 0.335rem;
    margin-bottom: 0.347rem;
    font-size: 0.9966rem;
    letter-spacing: 0.0897rem;
  }

  .ar-recommendation-card__detail-icon {
    width: 1.3409rem;
  }

  .ar-recommendation-card__list,
  .ar-recommendation-card__list--equipment {
    padding-left: 0.6671rem;
    font-size: 0.8097rem;
    letter-spacing: 0.0486rem;
  }

  .ar-recommendation-card__list--wishes > li {
    line-height: 1.6;
  }

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

  .ar-recommendation-card__price {
    min-height: 4.7705rem;
    margin-inline: 0.8465rem;
    padding: 0.8035rem 0.7766rem 0.395rem;
  }

  .ar-recommendation-card__price-row {
    column-gap: 0;
    margin-bottom: -0.125rem;
  }

  .ar-recommendation-card__price-main {
    column-gap: 0.3421rem;
  }

  .ar-recommendation-card__price-label {
    padding: 0.1511rem 0.3352rem;
    border-width: 0.0651rem;
    border-radius: 0.0651rem;
    font-size: 0.6526rem;
    letter-spacing: 0.0326rem;
  }

  .ar-recommendation-card__price-amount {
    font-size: 1.6578rem;
    letter-spacing: -0.0663rem;
  }

  .ar-recommendation-card__price-unit {
    font-size: 0.7643rem;
    letter-spacing: 0.0688rem;
  }

  .ar-recommendation-card__price-unit small {
    font-size: 0.6114rem;
    letter-spacing: 0.055rem;
  }

  .ar-recommendation-card__price-note {
    margin-top: 0.9944rem;
    font-size: 0.491rem;
    letter-spacing: 0.0296rem;
  }

  .ar-recommendation-card__price-desc {
    font-size: 0.8636rem;
    letter-spacing: 0.0518rem;
  }

  .ar-recommendations__search {
    margin-bottom: 2.4418rem;
  }

  .ar-recommendations__search-list {
    width: 76.2979%;
    max-width: 18.1208rem;
    flex-direction: column;
    row-gap: 0.4812rem;
    margin-inline: auto;
  }

  .ar-recommendations__search-item {
    width: 100%;
    flex: 0 0 auto;
  }

  .ar-recommendations-link {
    min-height: 3.973rem;
    justify-content: flex-start;
    padding-inline: 2.8473rem 3.75rem;
    border-radius: 0.1531rem;
    font-size: 0.9184rem;
    letter-spacing: 0.1102rem;
  }

  .ar-recommendations-link__icon {
    top: 0.7008rem;
    right: 2.4591rem;
    width: 2.7252rem;
  }

  .ar-recommendations__cta {
    width: 100%;
    max-width: none;
  }

  .ar-recommendations__cta-ttl {
    width: 17.875rem;
    margin: 0 auto 1.0776rem;
    font-size: 1.1761rem;
    line-height: 1.65;
    letter-spacing: 0.1059rem;
  }

  .ar-recommendations__cta-nowrap {
    display: block;
    white-space: nowrap;
  }

  .ar-recommendations__cta-ttl .ar-recommendations__sp-break {
    display: none;
  }

  .ar-recommendations__actions {
    position: relative;
    left: 50%;
    width: 102.3723%;
    margin-bottom: 0;
    transform: translateX(-50%);
  }

  .ar-recommendations__phone-link {
    flex: 0 0 auto;
  }

  .ar-recommendations__actions .ar-recommendations__phone-link {
    min-height: 0;
    flex-basis: auto;
    width: 100%;
    max-width: 24rem;
    /* height: 5.9695rem; */
  }

  .ar-recommendations__hours {
    width: 9.0625rem;
    margin: 0 0 0.4198rem;
    font-size: 0.75rem;
    letter-spacing: 0.0525rem;
    white-space: nowrap;
  }

  .ar-recommendations__hours--pc {
    display: none;
  }

  .ar-recommendations__mail-link {
    flex: 0 0 auto;
  }

  .ar-recommendations__actions .ar-recommendations__mail-link {
    min-height: 0;
    flex-basis: auto;
    width: 93%;
    max-width: 24rem;
    /* height: 5.9695rem; */
  }
}

/* figma-css:end nodeId=798-18198 */
/* source:end assets/css/sections/11-recommendations.css */

/* source:start assets/css/sections/12-voices.css */
/* figma-css:start nodeId=798-18201 */
.ar-voices {
  position: relative;
  padding-block: 5.6827rem 7.447rem;
  color: #000f2a;
  background: linear-gradient(to right, #fff 0 1.8452%, rgba(225, 233, 247, 0.7) 1.8452% 98.1548%, #fff 98.1548% 100%);
}

.ar-voices__inner {
  width: 72.7655%;
  max-width: 76.4038rem;
  margin-inline: auto;
}

.ar-voices__header {
  margin-bottom: 2.0277rem;
  text-align: center;
}

.ar-voices__eyebrow,
.ar-voices__title,
.ar-voices-card__title,
.ar-voices-card__meta,
.ar-voices-card__details,
.ar-voices-card__detail-label,
.ar-voices-card__detail-value,
.ar-voices__subsidies-title,
.ar-voices__subsidy-list,
.ar-voices-grant__title,
.ar-voices-grant__body p {
  margin-block: 0;
}

.ar-voices__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5383rem;
  min-height: 2rem;
  margin-bottom: 0.0379rem;
  color: #00459d;
  font-family: "Gidole", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1688rem;
}

.ar-voices__eyebrow-dot {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 1.3455rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(128, 194, 246, 0.25);
}

.ar-voices__eyebrow-dot::before,
.ar-voices__eyebrow-dot::after {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  content: "";
  transform: translate(-50%, -50%);
}

.ar-voices__eyebrow-dot::before {
  width: 0.777rem;
  aspect-ratio: 1;
  background: rgba(100, 180, 243, 0.38);
}

.ar-voices__eyebrow-dot::after {
  width: 0.4938rem;
  aspect-ratio: 1;
  background: #006cd1;
}

.ar-voices__title {
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.6136rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1568rem;
}

.ar-voices__title-accent {
  color: #004dc9;
}

.ar-voices__title-wide {
  letter-spacing: 0.3398rem;
}

.ar-voices__title-ga {
  letter-spacing: -0.575rem;
}

.ar-voices__title-close {
  letter-spacing: -1.0454rem;
}

.ar-voices__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 95.6524%;
  margin-inline-start: auto;
  margin-inline-end: 1.7919%;
  margin-bottom: 4.3014rem;
  column-gap: 0.1931rem;
  row-gap: 0.9922rem;
}

.ar-voices-card {
  position: relative;
  min-width: 0;
  padding-block: 1.0166rem 0.3889rem;
}

.ar-voices-card__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 93.1105%;
  min-height: 25.9382rem;
  margin-inline-start: auto;
  margin-inline-end: 1.3575%;
  padding-block: 0.3125rem 0.625rem;
  border-radius: 0.3563rem;
  background: #fff;
  transition: box-shadow 0.22s ease;
}

.ar-voices-card__link::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
  cursor: pointer;
}

.ar-voices-card__media {
  width: 97.1293%;
  aspect-ratio: 350.6367 / 185;
  margin-inline: auto;
  margin-bottom: 0.625rem;
  border-radius: 0.3563rem 0.3563rem 0 0;
  overflow: hidden;
}

.ar-voices-card__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .ar-voices-card:hover .ar-voices-card__panel {
    box-shadow: 0 0.375rem 1.125rem rgba(0, 15, 42, 0.1);
  }

  .ar-voices-card:hover .ar-voices-card__photo {
    transform: scale(1.06);
  }

  .ar-voices-card:hover .ar-voices-card__link {
    background-color: #0446a3;
  }

  .ar-voices-card:hover .ar-voices-card__link-icon {
    transform: translateX(0.2rem);
  }
}

.ar-voices-card__content {
  min-width: 0;
  margin-bottom: auto;
  padding-inline: 3.8674% 4.0712%;
}

.ar-voices-card__title {
  margin-bottom: 0.3125rem;
  color: transparent;
  background: linear-gradient(107.05696692020247deg, rgb(0, 108, 209) 18.199%, rgb(0, 59, 146) 69.953%), linear-gradient(90deg, rgb(8, 94, 215) 0%, rgb(8, 94, 215) 100%);
  background-clip: text;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.0094rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.0505rem;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  word-break: break-word;
}

.ar-voices-card__meta {
  margin-bottom: 0.6674rem;
  padding-bottom: 0.3216rem;
  border-bottom: 1px solid rgba(0, 15, 42, 0.12);
  color: #000f2a;
  font-size: 0.6531rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.0392rem;
  white-space: nowrap;
}

.ar-voices-card__details {
  display: flex;
  flex-direction: column;
  gap: 0.3673rem;
  padding: 0;
}

.ar-voices-card--3 .ar-voices-card__details {
  margin-bottom: -0.1358rem;
}

.ar-voices-card__detail-row {
  display: flex;
  align-items: flex-start;
  gap: 0.3855rem;
}

.ar-voices-card__detail-label {
  position: relative;
  z-index: 0;
  flex: 0 0 2.0637rem;
  color: #fff;
  font-size: 0.7125rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.0428rem;
  text-align: center;
}

.ar-voices-card__detail-label::before {
  position: absolute;
  z-index: -1;
  top: 0.1416rem;
  inset-inline: 0;
  height: 1.1679rem;
  background: #000f2a;
  content: "";
}

.ar-voices-card__detail-value {
  flex: 1;
  min-width: 0;
  color: #000f2a;
  font-size: 0.7125rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.0356rem;
}

.ar-voices-card__detail-value--setup {
  line-height: 1.6;
}

.ar-voices-card__link {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 0.6736rem;
  width: 7.9725rem;
  min-height: 2.0606rem;
  margin-inline-start: auto;
  margin-inline-end: 0.6036rem;
  border-radius: 0.1044rem;
  color: #fff;
  background: #0550b9;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.0975rem;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.22s ease;
}

.ar-voices-card__link-icon {
  display: block;
  width: 0.5586rem;
  height: auto;
}

.ar-voices-card__badge-img,
.ar-voices-card__corner-img {
  position: absolute;
  display: block;
  height: auto;
  pointer-events: none;
}

.ar-voices-card__badge-img {
  z-index: 2;
  top: 0;
  left: 0;
  width: 4.7299rem;
}

.ar-voices-card__corner-img {
  z-index: 0;
  right: 0;
  bottom: 0;
  width: 4.6712rem;
}

.ar-voices__subsidies-title {
  margin-bottom: 1.5298rem;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.9261rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1348rem;
  text-align: center;
}

.ar-voices__subsidy-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8125rem;
  padding: 0;
  list-style: none;
}

.ar-voices-grant {
  position: relative;
  z-index: 0;
  min-width: 0;
  min-height: 10.2493rem;
  padding: 1.0948rem 1.9199rem 0.75rem;
}

.ar-voices-grant::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #ced5e1;
  content: "";
  mix-blend-mode: multiply;
  opacity: 0.28;
}

.ar-voices-grant__title {
  position: relative;
  margin-bottom: 1.2406rem;
  color: #0550b9;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.0788rem;
  text-align: center;
}

.ar-voices-grant__title::after {
  position: absolute;
  bottom: -0.3892rem;
  left: 50%;
  width: 2.0601rem;
  height: 1px;
  background: rgba(0, 15, 42, 0.62);
  content: "";
  transform: translateX(-50%);
}

.ar-voices-grant__body {
  color: #000f2a;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.0656rem;
}

.ar-voices-grant__body p {
  line-height: 1.7;
}

/* --- Responsive: tablet / narrow desktop --- */
@media (width < 1100px) and (width >= 768px) {
  .ar-voices__inner {
    width: 88%;
  }

  .ar-voices__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin-inline-end: 0;
    column-gap: 0.75rem;
    row-gap: 1.125rem;
  }

  .ar-voices-card__panel {
    width: 94%;
    min-height: 0;
  }

  .ar-voices-card__meta {
    white-space: normal;
  }

  .ar-voices__subsidy-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- Responsive: SP 414px --- */
@media (width < 768px) {
  .ar-voices {
    padding-block: 3.3109rem 3.1274rem;
    background: linear-gradient(to right, #fff 0 2.1739%, rgba(225, 233, 247, 0.7) 2.1739% 97.8261%, #fff 97.8261% 100%);
  }

  .ar-voices__inner {
    width: 93.6501%;
    max-width: 24.2319rem;
  }

  .ar-voices__header {
    margin-bottom: 1.1763rem;
  }

  .ar-voices__eyebrow {
    gap: 0.4845rem;
    min-height: 1.75rem;
    margin-bottom: 1.1173rem;
    font-size: 1.0125rem;
    letter-spacing: 0.1519rem;
  }

  .ar-voices__eyebrow-dot {
    width: 1.2109rem;
  }

  .ar-voices__eyebrow-dot::before {
    width: 0.6992rem;
  }

  .ar-voices__eyebrow-dot::after {
    width: 0.4444rem;
  }

  .ar-voices__title {
    width: 89.242%;
    max-width: 21.625rem;
    margin-inline: auto;
    font-size: 0;
    line-height: 0;
    letter-spacing: 0.1531rem;
  }

  .ar-voices__title-line,
  .ar-voices__title-main {
    display: block;
    line-height: 1.5;
  }

  .ar-voices__title-line {
    font-size: 1.8011rem;
    white-space: nowrap;
  }

  .ar-voices__title-main {
    font-size: 2.6761rem;
  }

  .ar-voices__title-wide {
    letter-spacing: 0.2341rem;
  }

  .ar-voices__title-ga {
    letter-spacing: -0.3962rem;
  }

  .ar-voices__title-close {
    letter-spacing: -0.7204rem;
  }

  .ar-voices__cards {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0 0 2.2793rem;
    gap: 0.1875rem;
  }

  .ar-voices-card {
    padding-block: 1.0167rem 0.389rem;
  }

  .ar-voices-card__panel {
    min-height: 25.9383rem;
    margin-inline-start: auto;
    margin-inline-end: 3.0299%;
  }

  .ar-voices-card__meta {
    white-space: normal;
  }

  .ar-voices-card__badge-img {
    left: -0.406rem;
  }

  .ar-voices-card__corner-img {
    right: 0.406rem;
  }

  .ar-voices__subsidies {
    width: 93.9024%;
    margin-inline-start: auto;
    margin-inline-end: 2.972%;
  }

  .ar-voices__subsidies-title {
    max-width: 16.625rem;
    margin-inline: auto;
    margin-bottom: 1.5988rem;
    font-size: 1.204rem;
    line-height: 2.1875rem;
    letter-spacing: 0.0843rem;
  }

  .ar-voices__subsidy-list {
    display: flex;
    flex-direction: column;
    width: 99.9099%;
    margin-inline: auto;
    gap: 0.625rem;
  }

  .ar-voices-grant {
    min-height: 0;
    padding-inline: 1.375rem;
  }

  .ar-voices-grant--1 {
    min-height: 10.2493rem;
  }

  .ar-voices-grant--2 {
    min-height: 9.2588rem;
  }

  .ar-voices-grant--3 {
    min-height: 9.0436rem;
  }
}
/* figma-css:end nodeId=798-18201 */
/* source:end assets/css/sections/12-voices.css */

/* source:start assets/css/sections/13-support-flow.css */
/* figma-css:start nodeId=798-18207 */
.ar-support-flow {
  position: relative;
  padding-block: 4.8313rem 1.1514rem;
  color: #000f2a;
  background: #fff;
}

.ar-support-flow__inner {
  width: 80%;
  max-width: 51.313rem;
  margin-inline: auto;
}

.ar-support-flow__header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.1423rem;
  margin-bottom: 2.362rem;
  text-align: center;
}

.ar-support-flow__backdrop {
  position: absolute;
  z-index: 0;
  top: -10.9714rem;
  left: 50%;
  margin: 0;
  color: transparent;
  background: linear-gradient(90deg, #f0f7ff 0%, #f0f3fd 100%);
  background-clip: text;
  font-family: "Gidole", sans-serif;
  font-size: 9.9383rem;
  font-weight: 700;
  font-synthesis-weight: auto;
  line-height: 1.75;
  letter-spacing: 1.0932rem;
  -webkit-text-stroke: 0.03em #f0f5fe;
  paint-order: stroke fill;
  opacity: 0.74;
  transform: translateX(-50%) scaleX(1.047);
  white-space: nowrap;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ar-support-flow__label-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 4.6963rem;
  height: 2rem;
}

.ar-support-flow__title {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.7386rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1643rem;
}

.ar-support-flow__steps-wrap {
  position: relative;
  margin-bottom: 1.8287rem;
}

.ar-support-flow__steps {
  display: flex;
  flex-direction: column;
  gap: 1.0625rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ar-support-flow__timeline-img {
  position: absolute;
  z-index: 0;
  top: 1.6511rem;
  left: 5.4588rem;
  display: block;
  width: 1.2296rem;
  height: 41.8539rem;
  object-fit: fill;
}

.ar-support-flow-step {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  min-height: 7.6485rem;
  padding-inline: 4.0869rem 4.3652rem;
  border-radius: 2.325rem;
  background: #f5f6f7;
}

.ar-support-flow-step__identity {
  display: flex;
  flex: 0 0 17.0093rem;
  align-items: center;
  gap: 1.013rem;
  min-width: 0;
}

.ar-support-flow-step__number-img {
  display: block;
  flex: 0 0 auto;
  width: 4.1326rem;
  height: 4.1326rem;
}

.ar-support-flow-step__title {
  margin: 0;
  color: #1465d2;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.395rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.0837rem;
  white-space: nowrap;
}

.ar-support-flow-step__title--compact {
  line-height: 1.4;
}

.ar-support-flow-step__description {
  flex: 1;
  min-width: 0;
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.0938rem;
}

.ar-support-flow__assurance {
  width: 41.3125rem;
  max-width: 100%;
  margin: 0 auto;
  padding-bottom: 0.0513rem;
  border-bottom: 1.5px solid #000f2a;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.0938rem;
  text-align: center;
  white-space: nowrap;
}

.ar-support-flow__assurance span {
  color: #2471d9;
}

@media (width < 768px) {
  .ar-support-flow {
    padding-block: 3.975rem 1.6539rem;
    /* background: linear-gradient(to bottom, #edf4fc 0 2.0565rem, #fff 2.0565rem 100%); */
  }

  .ar-support-flow__inner {
    width: 87.9256%;
    max-width: 22.7507rem;
  }

  .ar-support-flow__header {
    row-gap: 0.3625rem;
    margin-bottom: 2.2705rem;
  }

  .ar-support-flow__backdrop {
    top: -5.475rem;
    left: 50.2171%;
    font-size: 3.6664rem;
    line-height: 1.75;
    letter-spacing: 0.2933rem;
    transform: translateX(-50%) scaleX(1.0553);
  }

  .ar-support-flow__label-img {
    width: 4.2579rem;
    height: auto;
  }

  .ar-support-flow__title {
    font-size: 2.2386rem;
    line-height: 1.8;
    letter-spacing: 0.1791rem;
  }

  .ar-support-flow__steps-wrap {
    margin-bottom: 1.5608rem;
  }

  .ar-support-flow__steps {
    gap: 1.1875rem;
  }

  .ar-support-flow__timeline-img {
    top: 2.9847rem;
    left: 2.5982rem;
    width: 1.2296rem;
    height: calc(100% - 15.9109rem);
    object-fit: fill;
  }

  .ar-support-flow-step {
    display: grid;
    grid-template-columns: 4.1326rem minmax(0, 1fr);
    grid-template-rows: 3.0476rem auto;
    align-content: start;
    align-items: start;
    min-height: 12.8358rem;
    padding: 0.8954rem 2.0728rem 1.6954rem 1.1926rem;
    column-gap: 1.013rem;
    row-gap: 0.5225rem;
    border-radius: 2.325rem;
  }

  .ar-support-flow-step__identity {
    grid-column: 1 / -1;
    grid-row: 1;
    align-items: flex-start;
    gap: 1.013rem;
    min-width: 0;
  }

  .ar-support-flow-step__number-img {
    width: 4.1326rem;
    height: 4.1326rem;
  }

  .ar-support-flow-step__title,
  .ar-support-flow-step__title--compact {
    padding-top: 0.5225rem;
    font-size: 1.395rem;
    line-height: 1.8;
    letter-spacing: 0.0837rem;
  }

  .ar-support-flow-step__title--compact br {
    display: none;
  }

  .ar-support-flow-step__description {
    grid-column: 2;
    grid-row: 2;
    font-size: 0.9375rem;
    line-height: 1.55;
    letter-spacing: 0.0938rem;
  }

  .ar-support-flow__assurance {
    width: 100%;
    max-width: 18.9063rem;
    padding-bottom: 0;
    border-bottom: 0;
    font-size: 1.375rem;
    line-height: 1.9;
    letter-spacing: 0.0825rem;
    white-space: nowrap;
  }

  .ar-support-flow__assurance .ar-support-flow__assurance-line {
    display: block;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    border-bottom: 1px solid #000f2a;
    color: #000f2a;
  }

  .ar-support-flow__assurance .ar-support-flow__assurance-accent {
    color: #2471d9;
  }

  .ar-support-flow__assurance-line:first-child {
    transform: scaleX(0.9967);
  }

  .ar-support-flow__assurance-line:last-child {
    transform: scaleX(0.9811);
  }
}
/* figma-css:end nodeId=798-18207 */
/* source:end assets/css/sections/13-support-flow.css */

/* source:start assets/css/sections/14-agency.css */
/* figma-css:start nodeId=798-18209 */
.ar-agency {
  padding-block: 3.6663rem 2.8654rem;
  background-color: #ffffff;
  color: #000f2a;
}

.ar-agency__inner {
  position: relative;
  width: 90%;
  max-width: 61.9874rem;
  margin-inline: auto;
}

.ar-agency__content {
  position: relative;
  width: 99.5621%;
  padding-block: 1.6485rem 1.7744rem;
  background-color: #edf4fc;
  border-radius: 0.3125rem;
}

.ar-agency__side-label-img {
  position: absolute;
  z-index: 1;
  top: -2.7328rem;
  left: 0.9237rem;
  width: 1.9375rem;
  height: 9.5524rem;
}

.ar-agency__header {
  margin-bottom: 1.0536rem;
  text-align: center;
}

.ar-agency__eyebrow {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  margin-bottom: 0.1641rem;
  padding-block: 0.1524rem;
  padding-inline: 0.75rem;
  border: 0.0569rem solid #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.0681rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.0521rem;
  white-space: nowrap;
}

.ar-agency__title {
  margin-bottom: 0.2832rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.1835rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.2183rem;
  white-space: nowrap;
}

.ar-agency__title strong {
  color: #0057cc;
  font: inherit;
}

.ar-agency__intro {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.0788rem;
  white-space: nowrap;
}

.ar-agency__cards {
  display: flex;
  width: 75.5743%;
  max-width: 46.6414rem;
  margin-inline: auto;
  margin-bottom: 1.0163rem;
  gap: 0.5164rem;
}

.ar-agency-card {
  flex: 1 1 0;
  min-width: 0;
  padding-block: 1.2707rem 0.9382rem;
  background-color: #ffffff;
}

.ar-agency-card__title {
  color: #0057cc;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.0698rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0668rem;
  text-align: center;
  white-space: nowrap;
}

.ar-agency-card__title::after {
  display: block;
  width: 1.8541rem;
  height: 0.0731rem;
  margin: 0.5031rem auto 0.527rem;
  background-color: #000f2a;
  content: "";
}

.ar-agency-card__list {
  width: max-content;
  margin-inline: auto;
  padding-inline-end: 0.35rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8483rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.0509rem;
  white-space: nowrap;
}

.ar-agency-card__list--benefits {
  display: flex;
  flex-direction: column;
  gap: 0.0757rem;
}

.ar-agency-card__list--targets {
  display: flex;
  flex-direction: column;
  padding-block-start: 0.375rem;
  gap: 0.1882rem;
}

.ar-agency-benefit,
.ar-agency-target {
  display: flex;
  align-items: center;
}

.ar-agency-benefit {
  gap: 0.1775rem;
}

.ar-agency-benefit__icon {
  flex: 0 0 auto;
  width: 0.8074rem;
  height: 0.8074rem;
}

.ar-agency-target__marker {
  flex: 0 0 auto;
}

.ar-agency__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 31.2501%;
  max-width: 19.2863rem;
  margin-inline: auto;
  padding-block: 0.7938rem;
  gap: 0.5919rem;
  border-radius: 0.1688rem;
  background-color: #004db4;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.081rem;
  text-decoration: none;
  white-space: nowrap;
}

.ar-agency__cta-icon {
  flex: 0 0 auto;
  width: 0.8266rem;
  height: 0.8266rem;
}

.ar-agency__corner-deco {
  position: absolute;
  right: -0.2714rem;
  bottom: -0.3219rem;
  width: 4.2049rem;
  height: 4.2049rem;
  pointer-events: none;
}

.ar-agency__corner-deco::before,
.ar-agency__corner-deco::after {
  position: absolute;
  content: "";
  -webkit-mask-image: repeating-linear-gradient(135deg, #000000 0 0.0625rem, transparent 0.0625rem 0.3536rem);
  mask-image: repeating-linear-gradient(135deg, #000000 0 0.0625rem, transparent 0.0625rem 0.3536rem);
  -webkit-mask-position: -0.15rem 0;
  mask-position: -0.15rem 0;
}

.ar-agency__corner-deco::before {
  right: 0;
  bottom: 0;
  width: 0.375rem;
  height: 100%;
  background-image: linear-gradient(180deg, rgba(0, 59, 146, 0.5) 0%, rgba(0, 130, 255, 0.5) 100%);
}

.ar-agency__corner-deco::after {
  right: 0;
  bottom: 0;
  width: 100%;
  height: 0.375rem;
  background-image: linear-gradient(90deg, rgba(0, 59, 146, 0.5) 0%, rgba(0, 130, 255, 0.5) 100%);
}

@media (width < 768px) {
  .ar-agency {
    padding-block: 2.0911rem 3.27rem;
  }

  .ar-agency__inner {
    width: 90.8213%;
    max-width: 23.5rem;
  }

  .ar-agency__content {
    width: 100%;
    padding-block: 2.7501rem 2.4388rem;
  }

  .ar-agency__side-label-img {
    top: -2.0911rem;
    left: 0.7336rem;
    width: 1.75rem;
    height: 8.6161rem;
  }

  .ar-agency__header {
    margin-bottom: 1.276rem;
  }

  .ar-agency__eyebrow {
    width: fit-content;
    margin-bottom: 0.1016rem;
    font-size: 0.8681rem;
  }

  .ar-agency__title {
    margin-bottom: 0.5707rem;
    font-size: 1.746rem;
    letter-spacing: 0.1746rem;
  }

  .ar-agency__intro {
    width: 91.4473%;
    margin-inline: auto;
    font-size: 0.8125rem;
    line-height: 1.75;
    letter-spacing: 0.0813rem;
    white-space: normal;
  }

  .ar-agency__cards {
    flex-direction: column;
    width: 86.5384%;
    max-width: 20.3365rem;
    margin-bottom: 1.2563rem;
    gap: 0.5885rem;
  }

  .ar-agency-card {
    flex: none;
    min-height: 11.0542rem;
  }

  .ar-agency__cta {
    width: 82.0693%;
  }
}
/* figma-css:end nodeId=798-18209 */
/* source:end assets/css/sections/14-agency.css */

/* source:start assets/css/sections/15-faq.css */
/* figma-css:start nodeId=798-18213 */
.ar-faq {
  padding-block: 2.0978rem 8.0915rem;
  background: #fff;
  color: #000f2a;
}

.ar-faq__inner {
  width: 90%;
  max-width: 76.25rem;
  margin-inline: auto;
}

.ar-faq__header {
  position: relative;
  margin-bottom: 3.6476rem;
  text-align: center;
}

.ar-faq__label-img {
  display: block;
  width: 4.3213rem;
  height: 2rem;
  margin-inline: auto;
  margin-bottom: 0.1423rem;
}

.ar-faq__title {
  margin: 0;
  color: #000f2a;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.7386rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1643rem;
  white-space: nowrap;
}

.ar-faq__columns {
  display: flex;
  column-gap: 3.75rem;
}

.ar-faq__column {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  flex-direction: column;
  gap: 2.077rem;
}

.ar-faq-item {
  min-width: 0;
  padding-bottom: 2.0313rem;
  border-bottom: 0.0688rem solid #ced1d5;
}

.ar-faq-item__question {
  display: flex;
  align-items: flex-start;
  column-gap: 0.9937rem;
  padding-right: 1.3125rem;
  list-style: none;
  cursor: pointer;
}

.ar-faq-item__question::-webkit-details-marker {
  display: none;
}

.ar-faq-item__label-img {
  display: block;
  flex: 0 0 1.0625rem;
  width: 1.0625rem;
  height: 1.875rem;
  transform: translateY(0.1875rem);
  /* Keep row height on the prompt line-box so padding-bottom matches Figma text→line space */
  margin-bottom: calc((1.0625rem * 1.5) - 1.875rem - 0.1875rem);
}

.ar-faq-item__prompt {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.085rem;
}

.ar-faq-item__toggle {
  position: relative;
  flex: 0 0 0.9375rem;
  width: 0.9375rem;
  height: 0.9375rem;
  transform: translateY(0.275rem);
}

.ar-faq-item__toggle::before,
.ar-faq-item__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.9375rem;
  height: 1px;
  background-color: #313131;
  content: "";
  transform: translate(-50%, -50%);
}

.ar-faq-item__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.ar-faq-item[open] .ar-faq-item__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.ar-faq-item__answer {
  padding: 1rem 2rem 0 2.0562rem;
  color: #000f2a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.05rem;
}

.ar-faq-item__answer p {
  margin: 0;
}

.ar-faq-item__link {
  color: #0057cc;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.ar-faq-item__link:hover {
  color: #004db4;
}
/* figma-css:end nodeId=798-18213 */

/* --- Responsive: SP 414px secondary axis (node 799:22633) --- */
@media (width < 768px) {
  .ar-faq {
    padding-block: 0rem 4.2975rem;
  }

  .ar-faq__inner {
    width: 87.8509%;
    max-width: 22.7314rem;
  }

  .ar-faq__header {
    margin-bottom: 2.63rem;
  }

  .ar-faq__label-img {
    width: 3.8829rem;
    height: 1.75rem;
    margin-bottom: 0.1049rem;
  }

  .ar-faq__title {
    font-size: 2.4886rem;
    line-height: 1.8;
    letter-spacing: 0.1742rem;
  }

  .ar-faq__columns {
    flex-direction: column;
    column-gap: 0;
    row-gap: 1.3259rem;
  }

  .ar-faq__column {
    gap: 1.3259rem;
  }

  .ar-faq-item {
    padding-bottom: 1.345rem;
    border-bottom-width: 1px;
  }

  .ar-faq-item__question {
    column-gap: 0;
    padding-right: 0.1402rem;
  }

  .ar-faq-item__label-img {
    flex-basis: 1rem;
    width: 1rem;
    height: 1.8125rem;
    margin-right: 0.9328rem;
    transform: translateY(0.1763rem);
    margin-bottom: calc((0.9988rem * 1.5) - 1.8125rem - 0.1763rem);
  }

  .ar-faq-item__prompt {
    font-size: 0.9988rem;
    line-height: 1.5;
    letter-spacing: 0.0799rem;
  }

  .ar-faq-item__toggle {
    flex-basis: 0.8813rem;
    width: 0.8813rem;
    height: 0.8813rem;
    margin-left: auto;
    transform: translateY(0.2585rem);
  }

  .ar-faq-item__toggle::before,
  .ar-faq-item__toggle::after {
    width: 0.8813rem;
  }

  .ar-faq-item__answer {
    padding: 0.75rem 0.25rem 0 1.9328rem;
    font-size: 0.875rem;
  }
}
/* source:end assets/css/sections/15-faq.css */

/* source:start assets/css/sections/16-closing-cta.css */
/* figma-css:start nodeId=798-18212 */
.ar-closing-cta {
  position: relative;
  /* padding-block: 0 4.3526rem; */
  background: #0048a6;
}

.ar-closing-cta__inner {
  width: 73.077%;
  max-width: 76.7309rem;
  margin-inline: auto;
}

.ar-closing-cta__artwork {
  position: relative;
  left: 50%;
  display: block;
  width: 100vw;
  max-width: none;
  height: auto;
  margin-bottom: -11.2974vw;
  transform: translateX(-50%);
}

.ar-closing-cta__body {
  width: 59.9203%;
  max-width: 43.788vw;
}

.ar-closing-cta__actions {
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.7061vw;
  margin-bottom: 0.4384vw;
}

.ar-closing-cta__phone-link {
  flex: 0 0 23.1952vw;
}

.ar-closing-cta__phone-img {
  width: 24.2857vw;
  max-width: none;
  transform: translate(-0.5452vw, -0.3061vw);
}

.ar-closing-cta__mail-link {
  align-self: flex-start;
  flex: 0 0 19.8867vw;
}

.ar-closing-cta__mail-img {
  width: 20.0595vw;
  max-width: none;
  transform: translate(-0.0864vw, -0.0422vw);
}

.ar-closing-cta__hours {
  width: 23.1952vw;
  margin: 0;
  padding-left: 0.3316vw;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.6183vw;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.0432vw;
  text-align: center;
}

.ar-closing-cta__hours--sp {
  display: none;
}

@media (width < 768px) {
  .ar-closing-cta {
    background-color: #fff;
  }

  .ar-closing-cta__inner {
    width: 93.9649%;
    max-width: 24.3134rem;
  }

  .ar-closing-cta__artwork {
    width: 100vw;
    margin-bottom: -15.522rem;
  }

  .ar-closing-cta__body {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
  }

  .ar-closing-cta__actions {
    width: 100%;
    margin-bottom: 0;
  }

  .ar-closing-cta__phone-link,
  .ar-closing-cta__mail-link {
    flex: 0 0 auto;
    width: 100%;
    max-width: 24rem;
    /* height: 5.9695rem; */
  }

  .ar-closing-cta__phone-img,
  .ar-closing-cta__mail-img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: fill;
    transform: none;
  }

  .ar-closing-cta__hours {
    width: 9.0625rem;
    padding-left: 0;
    color: #000f2a;
    font-size: 0.75rem;
    letter-spacing: 0.0525rem;
    white-space: nowrap;
  }

  .ar-closing-cta__hours--sp {
    display: block;
    margin-bottom: 0.4198rem;
  }

  .ar-closing-cta__hours--pc {
    display: none;
  }
}
/* figma-css:end nodeId=798-18212 */
/* source:end assets/css/sections/16-closing-cta.css */

/* source:start assets/css/overrides.css */
/* Human/DevTools final adjustments live here. */
/* source:end assets/css/overrides.css */
