/*
 * Home v1 candidate.
 * Component rules are isolated below .az-home-v1. The body-prefixed rules are
 * the documented front-page-only Cocoon layout exceptions.
 */

body.az-home-v1-page #sidebar {
  display: none;
}

body.az-home-v1-page #content-in {
  display: block;
  width: 100%;
  max-width: none;
  padding: 0;
}

body.az-home-v1-page main#main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.az-home-v1-page .site-hero,
body.az-home-v1-page #appeal {
  display: none;
}

.az-home-v1 {
  --az-green-900: #274630;
  --az-green-800: #31583c;
  --az-green-700: #3f6b4a;
  --az-green-600: #567d5e;
  --az-green-100: #edf3ec;
  --az-green-050: #f5f8f3;
  --az-cream-200: #eee8da;
  --az-cream-100: #f7f4ec;
  --az-cream-050: #fbfaf6;
  --az-terracotta: #94563f;
  --az-ink: #243229;
  --az-muted: #59655e;
  --az-line: #e6e5de;
  --az-white: #fff;
  --az-shadow-sm: 0 3px 14px rgb(37 56 42 / 8%);
  --az-shadow-md: 0 12px 32px rgb(43 58 47 / 12%);
  --az-radius-sm: 8px;
  --az-radius-md: 14px;
  --az-font-sans: system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;
  width: 100%;
  min-width: 0;
  overflow-x: clip;
  background: var(--az-white);
  color: var(--az-ink);
  font-family: var(--az-font-sans);
  font-size: 16px;
  line-height: 1.7;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}

.az-home-v1,
.az-home-v1 *,
.az-home-v1 *::before,
.az-home-v1 *::after {
  box-sizing: border-box;
}

.az-home-v1 :where(h2, h3, p, ul) {
  margin-top: 0;
}

.az-home-v1 :where(img) {
  display: block;
  max-width: 100%;
  height: auto;
}

.az-home-v1 :where(a) {
  color: inherit;
  text-decoration: none;
}

.az-home-v1 :where(button, input) {
  min-width: 0;
  margin: 0;
  color: inherit;
  font: inherit;
}

.az-home-v1 :focus-visible {
  outline: 3px solid var(--az-terracotta);
  outline-offset: 3px;
}

.az-home-v1 ::selection {
  background: #dbe8d9;
  color: var(--az-green-900);
}

.az-home-v1 .az-home-v1__container {
  width: min(1120px, calc(100% - 80px));
  margin-inline: auto;
}

.az-home-v1 .az-home-v1__hero {
  border-bottom: 1px solid #ebe8df;
  background:
    radial-gradient(circle at 72% 35%, rgb(232 224 205 / 54%), transparent 33%),
    linear-gradient(105deg, #fff 0%, var(--az-cream-050) 50%, #f5f0e5 100%);
}

.az-home-v1 .az-home-v1__hero-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  grid-template-rows: minmax(310px, 1fr) auto;
  min-height: 590px;
}

.az-home-v1 .az-home-v1__hero-copy {
  position: relative;
  z-index: 5;
  align-self: end;
  min-width: 0;
  padding: 62px 0 28px;
}

.az-home-v1 .az-home-v1__eyebrow {
  margin: 0 0 12px;
  color: var(--az-terracotta);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0.12em;
}

.az-home-v1 .az-home-v1__hero h2 {
  margin: 0;
  color: #162b36;
  font-size: clamp(22px, 3.8vw, 46px);
  font-weight: 750;
  letter-spacing: 0.045em;
  line-height: 1.45;
}

.az-home-v1 .az-home-v1__service-description {
  margin: 0 0 11px;
  color: var(--az-v2-green-700);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.az-home-v1 .az-home-v1__hero h2 > span {
  display: block;
  white-space: nowrap;
}

.az-home-v1 .az-home-v1__hero h2 em {
  position: relative;
  color: var(--az-green-700);
  font-style: normal;
}

.az-home-v1 .az-home-v1__hero h2 em::after {
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 3px;
  border-radius: 99px;
  background: #8dab91;
  content: "";
}

.az-home-v1 .az-home-v1__hero-lead {
  max-width: 470px;
  margin: 20px 0 0;
  color: #3e4c44;
  font-size: 15px;
  line-height: 1.9;
}

.az-home-v1 .az-home-v1__hero-visual {
  position: relative;
  z-index: 1;
  grid-column: 2;
  grid-row: 1 / 3;
  min-width: 0;
  min-height: 590px;
}

.az-home-v1 .az-home-v1__hero-visual > picture {
  position: absolute;
  right: -10px;
  bottom: 0;
  width: min(650px, 100%);
}

.az-home-v1 .az-home-v1__hero-visual img {
  width: 100%;
}

.az-home-v1 .az-home-v1__search-card {
  position: relative;
  z-index: 8;
  grid-column: 1;
  grid-row: 2;
  width: min(700px, calc(100vw - 80px));
  margin: 0 0 32px;
  padding: 16px 18px 14px;
  border: 1px solid #e4e4dd;
  border-radius: var(--az-radius-md);
  background: rgb(255 255 255 / 97%);
  box-shadow: var(--az-shadow-md);
}

.az-home-v1 .az-home-v1__search-heading {
  margin: 0 0 12px;
  color: var(--az-green-800);
  font-size: 13px;
  font-weight: 750;
  text-align: center;
}

.az-home-v1 .az-home-v1__search-form {
  margin: 0;
}

.az-home-v1 .az-home-v1__search-form > label {
  display: block;
  margin-bottom: 4px;
  color: #46544c;
  font-size: 11px;
  font-weight: 700;
}

.az-home-v1 .az-home-v1__search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.az-home-v1 .az-home-v1__search-row input {
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  border: 1px solid #d7ddd6;
  border-radius: 7px;
  background: var(--az-white);
  color: #344239;
  font-size: 14px;
}

.az-home-v1 .az-home-v1__search-row input::placeholder {
  color: #737d77;
  opacity: 1;
}

.az-home-v1 .az-home-v1__search-row input[aria-invalid="true"] {
  border-color: #a6473d;
}

.az-home-v1 .az-home-v1__search-row button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 128px;
  min-height: 46px;
  padding: 8px 18px;
  border: 0;
  border-radius: 7px;
  background: var(--az-green-700);
  color: var(--az-white);
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

.az-home-v1 .az-home-v1__search-note,
.az-home-v1 .az-home-v1__search-error {
  margin: 8px 0 0;
  font-size: 11px;
  text-align: center;
}

.az-home-v1 .az-home-v1__search-note {
  color: #606c65;
}

.az-home-v1 .az-home-v1__search-error {
  color: #8f3029;
  font-weight: 700;
}

.az-home-v1 .az-home-v1__search-error[hidden] {
  display: none;
}

.az-home-v1 .az-home-v1__region-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin-top: 8px;
  color: #526057;
  font-size: 11px;
}

.az-home-v1 .az-home-v1__region-links > span {
  font-weight: 700;
}

.az-home-v1 .az-home-v1__region-links > span small {
  display: block;
  color: #69746d;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__region-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding-inline: 5px;
  color: var(--az-green-800);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.az-home-v1 .az-home-v1__metrics {
  padding: 18px 0;
  background: var(--az-cream-100);
}

.az-home-v1 .az-home-v1__metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #ebe5d8;
  border-radius: 12px;
  background: rgb(255 255 255 / 48%);
}

.az-home-v1 .az-home-v1__metric {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 116px;
  padding: 16px;
}

.az-home-v1 .az-home-v1__metric + .az-home-v1__metric {
  border-left: 1px dashed #d8c9ae;
}

.az-home-v1 .az-home-v1__metric-icon {
  display: grid;
  width: 38px;
  height: 38px;
  border: 1px solid #b9cab9;
  border-radius: 50%;
  color: var(--az-green-800);
  font-size: 18px;
  font-weight: 750;
  line-height: 1;
  place-items: center;
}

.az-home-v1 .az-home-v1__metric > div {
  min-width: 0;
}

.az-home-v1 .az-home-v1__metric p {
  margin: 0;
  color: #38473e;
  font-size: 12px;
  font-weight: 750;
}

.az-home-v1 .az-home-v1__metric strong {
  display: flex;
  align-items: baseline;
  gap: 3px;
  color: var(--az-green-700);
  font-size: 29px;
  font-weight: 780;
  letter-spacing: -0.03em;
  line-height: 1.2;
  white-space: nowrap;
}

.az-home-v1 .az-home-v1__metric strong small {
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0;
}

.az-home-v1 .az-home-v1__metric > div > span {
  display: block;
  margin-top: 4px;
  color: #59655e;
  font-size: 10px;
  line-height: 1.45;
}

.az-home-v1 .az-home-v1__metric--text strong {
  margin-top: 3px;
  font-size: 18px;
  letter-spacing: 0;
  white-space: normal;
}

.az-home-v1 .az-home-v1__section {
  padding: 60px 0;
}

.az-home-v1 .az-home-v1__articles {
  border-block: 1px solid #efede6;
  background: var(--az-cream-050);
}

.az-home-v1 .az-home-v1__points {
  padding-bottom: 34px;
}

.az-home-v1 .az-home-v1__section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.az-home-v1 .az-home-v1__section-heading > div {
  min-width: 0;
}

.az-home-v1 .az-home-v1__section-heading p {
  margin: 0 0 3px;
  color: var(--az-terracotta);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.az-home-v1 .az-home-v1__section-heading h2 {
  margin: 0;
  color: #1c3023;
  font-size: clamp(22px, 2.4vw, 29px);
  line-height: 1.45;
  letter-spacing: 0.035em;
}

.az-home-v1 .az-home-v1__section-heading span {
  display: block;
  margin-top: 5px;
  color: var(--az-muted);
  font-size: 12px;
}

.az-home-v1 .az-home-v1__company-grid,
.az-home-v1 .az-home-v1__article-grid,
.az-home-v1 .az-home-v1__point-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.az-home-v1 .az-home-v1__company-card,
.az-home-v1 .az-home-v1__article-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--az-line);
  border-radius: var(--az-radius-md);
  background: var(--az-white);
  box-shadow: var(--az-shadow-sm);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.az-home-v1 .az-home-v1__company-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 270px;
  background:
    radial-gradient(circle at 92% 10%, rgb(143 174 145 / 18%) 0 42px, transparent 43px),
    linear-gradient(145deg, #fff 0%, #fbfcf9 58%, #f3f7f1 100%);
  isolation: isolate;
}

.az-home-v1 .az-home-v1__company-card::before {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  height: 7px;
  background: linear-gradient(90deg, var(--az-green-700), #83a489 68%, #d8c5a6);
  content: "";
}

.az-home-v1 .az-home-v1__company-card::after {
  position: absolute;
  z-index: 0;
  top: 25px;
  right: 18px;
  width: 34px;
  height: 34px;
  border: 1px solid rgb(63 107 74 / 20%);
  border-radius: 50%;
  content: "";
}

.az-home-v1 .az-home-v1__article-card {
  display: grid;
  grid-template-rows: auto 1fr;
}

.az-home-v1 .az-home-v1__card-image {
  display: grid;
  aspect-ratio: 16 / 9;
  min-height: 44px;
  overflow: hidden;
  background: var(--az-cream-100);
  place-items: center;
}

.az-home-v1 .az-home-v1__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transition: transform 0.35s ease;
}

.az-home-v1 .az-home-v1__image-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 120px;
  color: var(--az-green-600);
  font-size: 42px;
  place-items: center;
}

.az-home-v1 .az-home-v1__card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 14px;
}

.az-home-v1 .az-home-v1__company-card .az-home-v1__card-body {
  position: relative;
  z-index: 1;
  padding: 28px 18px 18px;
}

.az-home-v1 .az-home-v1__card-body h3 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--az-green-900);
  font-size: 16px;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__card-body h3 a {
  display: flex;
  align-items: flex-start;
  min-height: 44px;
}

.az-home-v1 .az-home-v1__company-card h3 {
  max-width: calc(100% - 42px);
  font-size: 18px;
  letter-spacing: 0.025em;
  line-height: 1.55;
}

.az-home-v1 .az-home-v1__company-card h3::after {
  display: block;
  width: 38px;
  height: 2px;
  margin-top: 9px;
  border-radius: 999px;
  background: var(--az-terracotta);
  content: "";
}

.az-home-v1 .az-home-v1__card-body > p:not(.az-home-v1__article-label) {
  display: -webkit-box;
  margin: 7px 0 11px;
  overflow: hidden;
  color: #4d5a52;
  font-size: 12px;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.az-home-v1 .az-home-v1__company-card .az-home-v1__card-body > p {
  margin: 14px 0 14px;
  color: #46564b;
  font-size: 12px;
  line-height: 1.75;
}

.az-home-v1 .az-home-v1__company-card .az-home-v1__chips {
  margin-bottom: 16px;
}

.az-home-v1 .az-home-v1__company-card .az-home-v1__outline-button {
  background: rgb(255 255 255 / 74%);
}

.az-home-v1 .az-home-v1__article-label {
  margin: 0 0 3px;
  color: var(--az-terracotta);
  font-size: 10px;
  font-weight: 750;
}

.az-home-v1 .az-home-v1__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 26px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.az-home-v1 .az-home-v1__chips li {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--az-green-100);
  color: var(--az-green-900);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
}

.az-home-v1 .az-home-v1__chips li:first-child:nth-last-child(2) {
  background: #f3eee4;
  color: #654f3f;
}

.az-home-v1 .az-home-v1__outline-button,
.az-home-v1 .az-home-v1__text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  margin-top: auto;
  font-size: 12px;
  font-weight: 750;
}

.az-home-v1 .az-home-v1__outline-button {
  border: 1px solid #7fa486;
  border-radius: 999px;
  color: var(--az-green-800);
}

.az-home-v1 .az-home-v1__text-link {
  justify-content: flex-start;
  color: var(--az-green-800);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.az-home-v1 .az-home-v1__outline-button span,
.az-home-v1 .az-home-v1__text-link span {
  transition: transform 0.2s ease;
}

.az-home-v1 .az-home-v1__article-card .az-home-v1__card-body {
  padding: 13px 14px 14px;
}

.az-home-v1 .az-home-v1__article-card h3 {
  color: #25362b;
  font-size: 14px;
  line-height: 1.55;
}

.az-home-v1 .az-home-v1__article-card h3 a {
  display: -webkit-box;
  min-height: 44px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.az-home-v1 .az-home-v1__article-card time {
  display: block;
  margin-top: auto;
  color: #66726a;
  font-size: 10px;
}

.az-home-v1 .az-home-v1__point-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 13px;
  min-width: 0;
  padding: 20px;
  border: 1px solid #e8e7df;
  border-radius: 10px;
  background: var(--az-white);
  box-shadow: var(--az-shadow-sm);
}

.az-home-v1 .az-home-v1__point-card > span {
  display: grid;
  width: 50px;
  height: 50px;
  border: 1px solid #b9cab9;
  border-radius: 50%;
  color: var(--az-green-700);
  font-size: 22px;
  line-height: 1;
  place-items: center;
}

.az-home-v1 .az-home-v1__point-card > div {
  min-width: 0;
}

.az-home-v1 .az-home-v1__point-card h3 {
  margin: 0;
  color: var(--az-green-800);
  font-size: 14px;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__point-card p {
  margin: 7px 0 0;
  color: #56635b;
  font-size: 11px;
  line-height: 1.65;
}

.az-home-v1 .az-home-v1__cta {
  padding: 0 0 54px;
}

.az-home-v1 .az-home-v1__cta-inner {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr) 200px;
  align-items: center;
  min-height: 160px;
  overflow: clip;
  border: 1px solid #e5dfd0;
  border-radius: var(--az-radius-md);
  background:
    radial-gradient(circle at 28% 20%, rgb(255 255 255 / 85%), transparent 36%),
    var(--az-cream-100);
}

.az-home-v1 .az-home-v1__cta picture {
  align-self: end;
  width: 270px;
  height: 156px;
}

.az-home-v1 .az-home-v1__cta picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

.az-home-v1 .az-home-v1__cta-copy {
  min-width: 0;
  padding: 22px 24px;
}

.az-home-v1 .az-home-v1__cta-copy > p {
  margin: 0 0 3px;
  color: var(--az-terracotta);
  font-size: 11px;
  font-weight: 750;
}

.az-home-v1 .az-home-v1__cta-copy h2 {
  margin: 0 0 5px;
  color: var(--az-green-900);
  font-size: 25px;
  line-height: 1.4;
}

.az-home-v1 .az-home-v1__cta-copy > span {
  display: block;
  color: #46534b;
  font-size: 11px;
}

.az-home-v1 .az-home-v1__cta-pending {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  margin-right: 20px;
  padding: 7px 12px;
  border: 1px solid #78987d;
  border-radius: 7px;
  background: var(--az-white);
  color: var(--az-green-800);
  cursor: not-allowed;
  font-size: 11px;
}

.az-home-v1 .az-home-v1__cta-pending span {
  padding: 1px 6px;
  border: 1px solid #d5d9d4;
  border-radius: 999px;
  color: #68726c;
  font-size: 9px;
  font-weight: 650;
}

.az-home-v1 .az-home-v1__empty {
  margin: 0;
  padding: 24px;
  border: 1px solid var(--az-line);
  border-radius: var(--az-radius-sm);
  background: var(--az-white);
  color: var(--az-muted);
  text-align: center;
}

@media (hover: hover) {
  .az-home-v1 .az-home-v1__company-card:hover,
  .az-home-v1 .az-home-v1__article-card:hover {
    border-color: #cbd8cd;
    box-shadow: var(--az-shadow-md);
    transform: translateY(-3px);
  }

  .az-home-v1 .az-home-v1__article-card:hover img {
    transform: scale(1.025);
  }

  .az-home-v1 .az-home-v1__outline-button:hover span,
  .az-home-v1 .az-home-v1__text-link:hover span {
    transform: translateX(3px);
  }
}

@media (max-width: 1160px) {
  .az-home-v1 .az-home-v1__metric {
    grid-template-columns: 34px minmax(0, 1fr);
    padding-inline: 12px;
  }

  .az-home-v1 .az-home-v1__metric-icon {
    width: 32px;
    height: 32px;
    font-size: 15px;
  }

  .az-home-v1 .az-home-v1__metric strong {
    font-size: 25px;
  }

  .az-home-v1 .az-home-v1__metric--text strong {
    font-size: 16px;
  }
}

@media (max-width: 1024px) {
  .az-home-v1 .az-home-v1__hero-layout {
    grid-template-columns: minmax(0, 47%) minmax(0, 53%);
  }

  .az-home-v1 .az-home-v1__hero h2 {
    font-size: clamp(22px, 3.8vw, 39px);
  }

  .az-home-v1 .az-home-v1__service-description {
    margin-bottom: 8px;
    font-size: 12px;
  }

  .az-home-v1 .az-home-v1__metric > div > span {
    font-size: 9px;
  }

  .az-home-v1 .az-home-v1__point-card {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 16px;
  }

  .az-home-v1 .az-home-v1__point-card > span {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }

  .az-home-v1 .az-home-v1__cta-inner {
    grid-template-columns: 230px minmax(0, 1fr) 190px;
  }

  .az-home-v1 .az-home-v1__cta picture {
    width: 230px;
  }
}

@media (max-width: 834px) {
  .az-home-v1 .az-home-v1__hero-layout {
    grid-template-rows: minmax(390px, auto) auto;
    min-height: 0;
  }

  .az-home-v1 .az-home-v1__hero-copy {
    align-self: center;
    padding-top: 42px;
  }

  .az-home-v1 .az-home-v1__hero h2 {
    letter-spacing: 0.05em;
  }

  .az-home-v1 .az-home-v1__hero-lead {
    font-size: 13px;
  }

  .az-home-v1 .az-home-v1__hero-visual {
    grid-row: 1;
    min-height: 390px;
  }

  .az-home-v1 .az-home-v1__hero-visual > picture {
    right: -20px;
    width: 118%;
    max-width: none;
  }

  .az-home-v1 .az-home-v1__search-card {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }

  .az-home-v1 .az-home-v1__metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .az-home-v1 .az-home-v1__metric + .az-home-v1__metric {
    border-left: 0;
  }

  .az-home-v1 .az-home-v1__metric:nth-child(even) {
    border-left: 1px dashed #d8c9ae;
  }

  .az-home-v1 .az-home-v1__metric:nth-child(n + 3) {
    border-top: 1px dashed #d8c9ae;
  }

  .az-home-v1 .az-home-v1__metric > div > span {
    font-size: 10px;
  }

  .az-home-v1 .az-home-v1__company-grid,
  .az-home-v1 .az-home-v1__article-grid,
  .az-home-v1 .az-home-v1__point-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .az-home-v1 .az-home-v1__cta-inner {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .az-home-v1 .az-home-v1__cta picture {
    grid-row: 1 / 3;
    width: 220px;
    height: 100%;
  }

  .az-home-v1 .az-home-v1__cta-copy {
    padding: 20px 20px 8px;
  }

  .az-home-v1 .az-home-v1__cta-pending {
    margin: 8px 20px 20px 0;
  }
}

@media (max-width: 600px) {
  .az-home-v1 .az-home-v1__container {
    width: calc(100% - 40px);
  }

  .az-home-v1 .az-home-v1__hero-layout {
    display: flex;
    flex-direction: column;
  }

  .az-home-v1 .az-home-v1__hero-copy {
    order: 1;
    padding: 34px 0 16px;
  }

  .az-home-v1 .az-home-v1__eyebrow {
    margin-bottom: 8px;
    font-size: 11px;
  }

  .az-home-v1 .az-home-v1__hero h2 {
    font-size: clamp(24px, 8vw, 36px);
    letter-spacing: 0.045em;
    line-height: 1.5;
  }

  .az-home-v1 .az-home-v1__hero-lead {
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.8;
  }

  .az-home-v1 .az-home-v1__hero-visual {
    order: 2;
    min-height: 0;
  }

  .az-home-v1 .az-home-v1__hero-visual > picture {
    position: static;
    width: 100%;
  }

  .az-home-v1 .az-home-v1__hero-visual img {
    width: 100%;
    object-fit: contain;
  }

  .az-home-v1 .az-home-v1__search-card {
    order: 3;
    width: 100%;
    margin: 18px 0 28px;
    padding: 15px;
  }

  .az-home-v1 .az-home-v1__search-heading {
    font-size: 12px;
    line-height: 1.5;
  }

  .az-home-v1 .az-home-v1__search-row {
    grid-template-columns: 1fr;
  }

  .az-home-v1 .az-home-v1__search-row button {
    width: 100%;
  }

  .az-home-v1 .az-home-v1__region-links {
    gap: 0 6px;
  }

  .az-home-v1 .az-home-v1__metrics {
    padding-block: 14px;
  }

  .az-home-v1 .az-home-v1__metrics-grid {
    grid-template-columns: 1fr;
  }

  .az-home-v1 .az-home-v1__metric {
    min-height: 96px;
    padding: 14px 18px;
  }

  .az-home-v1 .az-home-v1__metric:nth-child(even) {
    border-left: 0;
  }

  .az-home-v1 .az-home-v1__metric:nth-child(n + 2) {
    border-top: 1px dashed #d8c9ae;
  }

  .az-home-v1 .az-home-v1__section {
    padding: 44px 0;
  }

  .az-home-v1 .az-home-v1__points {
    padding-bottom: 28px;
  }

  .az-home-v1 .az-home-v1__section-heading {
    display: block;
    margin-bottom: 18px;
  }

  .az-home-v1 .az-home-v1__section-heading h2 {
    font-size: 22px;
  }

  .az-home-v1 .az-home-v1__company-grid,
  .az-home-v1 .az-home-v1__article-grid,
  .az-home-v1 .az-home-v1__point-grid {
    grid-template-columns: 1fr;
  }

  .az-home-v1 .az-home-v1__company-card .az-home-v1__card-body {
    padding: 24px 20px 20px;
  }

  .az-home-v1 .az-home-v1__company-card h3 {
    font-size: 17px;
  }

  .az-home-v1 .az-home-v1__article-card {
    grid-template-columns: 38% minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .az-home-v1 .az-home-v1__article-card .az-home-v1__card-image {
    height: 100%;
    aspect-ratio: auto;
  }

  .az-home-v1 .az-home-v1__article-card .az-home-v1__card-body {
    padding: 12px;
  }

  .az-home-v1 .az-home-v1__article-card h3 {
    font-size: 13px;
  }

  .az-home-v1 .az-home-v1__article-card .az-home-v1__card-body > p:not(.az-home-v1__article-label),
  .az-home-v1 .az-home-v1__article-card .az-home-v1__chips {
    display: none;
  }

  .az-home-v1 .az-home-v1__point-card {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .az-home-v1 .az-home-v1__cta {
    padding-bottom: 40px;
  }

  .az-home-v1 .az-home-v1__cta-inner {
    display: flex;
    flex-direction: column;
  }

  .az-home-v1 .az-home-v1__cta picture {
    width: 100%;
    height: auto;
    max-height: 220px;
  }

  .az-home-v1 .az-home-v1__cta picture img {
    aspect-ratio: 3 / 2;
  }

  .az-home-v1 .az-home-v1__cta-copy {
    padding: 8px 18px 12px;
    text-align: center;
  }

  .az-home-v1 .az-home-v1__cta-copy h2 {
    font-size: 23px;
  }

  .az-home-v1 .az-home-v1__cta-pending {
    width: calc(100% - 36px);
    margin: 4px 18px 20px;
  }
}

@media (max-width: 420px) {
  .az-home-v1 .az-home-v1__article-card {
    grid-template-columns: 1fr;
  }

  .az-home-v1 .az-home-v1__article-card .az-home-v1__card-image {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .az-home-v1 .az-home-v1__article-card .az-home-v1__card-body > p:not(.az-home-v1__article-label) {
    display: -webkit-box;
  }

  .az-home-v1 .az-home-v1__article-card .az-home-v1__chips {
    display: flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  .az-home-v1 *,
  .az-home-v1 *::before,
  .az-home-v1 *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* --------------------------------------------------------------------------
 * Service home v2 overrides
 * ----------------------------------------------------------------------- */

.az-home-v1 {
  --az-v2-green-950: #173d31;
  --az-v2-green-800: #285d47;
  --az-v2-green-700: #397257;
  --az-v2-green-100: #eaf3ed;
  --az-v2-navy: #18334a;
  --az-v2-ink: #263630;
  --az-v2-muted: #5d6a64;
  --az-v2-cream: #f7f3e9;
  --az-v2-cream-soft: #fcfaf5;
  --az-v2-line: #dfe6e0;
  --az-v2-white: #fff;
  --az-v2-shadow: 0 16px 42px rgb(25 52 39 / 12%);
  --az-v2-shadow-soft: 0 6px 20px rgb(25 52 39 / 8%);
  overflow-x: clip;
  background: var(--az-v2-white);
  color: var(--az-v2-ink);
  font-size: 16px;
  line-height: 1.75;
}

.az-home-v1 .az-home-v1__container {
  width: min(1120px, calc(100% - 64px));
  margin-inline: auto;
}

.az-home-v1 :where(section[id], div[id]) {
  scroll-margin-top: 24px;
}

.az-home-v1 :where(select, button) {
  font: inherit;
}

.az-home-v1 :where(button, summary, select) {
  cursor: pointer;
}

.az-home-v1 .az-home-v1__section {
  padding: 72px 0;
}

.az-home-v1 .az-home-v1__section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin: 0 0 30px;
}

.az-home-v1 .az-home-v1__section-heading > div {
  max-width: 780px;
}

.az-home-v1 .az-home-v1__section-heading p {
  margin: 0 0 6px;
  color: var(--az-v2-green-700);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.az-home-v1 .az-home-v1__section-heading h2 {
  margin: 0;
  color: var(--az-v2-navy);
  font-size: clamp(27px, 3vw, 36px);
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1.4;
}

.az-home-v1 .az-home-v1__section-heading h2::after {
  display: none;
}

.az-home-v1 .az-home-v1__section-heading > div > span {
  display: block;
  margin-top: 9px;
  color: var(--az-v2-muted);
  font-size: 16px;
  line-height: 1.75;
}

.az-home-v1 .az-home-v1__section-heading--center {
  justify-content: center;
  text-align: center;
}

.az-home-v1 .az-home-v1__section-heading--center > div {
  max-width: 850px;
}

.az-home-v1 .az-home-v1__section-heading--compact {
  margin-bottom: 24px;
}

.az-home-v1 .az-home-v1__button,
.az-home-v1 .az-home-v1__outline-button,
.az-home-v1 .az-home-v1__more-link,
.az-home-v1 .az-home-v1__heading-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 9px;
  font-weight: 750;
  line-height: 1.4;
  text-align: center;
}

.az-home-v1 .az-home-v1__button {
  gap: 10px;
  padding: 13px 21px;
  font-size: 16px;
}

.az-home-v1 .az-home-v1__button--primary {
  border: 1px solid var(--az-v2-green-800);
  background: linear-gradient(135deg, var(--az-v2-green-800), #347152);
  box-shadow: 0 8px 20px rgb(40 93 71 / 20%);
  color: var(--az-v2-white);
}

.az-home-v1 .az-home-v1__button--secondary {
  border: 1px solid #8aab98;
  background: rgb(255 255 255 / 78%);
  color: var(--az-v2-green-950);
}

.az-home-v1 .az-home-v1__service-header {
  position: relative;
  z-index: 30;
  border-bottom: 1px solid var(--az-v2-line);
  background: rgb(255 255 255 / 97%);
}

.az-home-v1 .az-home-v1__service-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 78px;
}

.az-home-v1 .az-home-v1__service-brand {
  display: inline-flex;
  flex: 0 1 310px;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 56px;
}

.az-home-v1 .az-home-v1__service-mark {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #cbdccf;
  border-radius: 11px;
  background: var(--az-v2-green-100);
}

.az-home-v1 .az-home-v1__service-mark svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: var(--az-v2-green-800);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.az-home-v1 .az-home-v1__service-brand small {
  display: block;
  min-width: 0;
  color: var(--az-v2-muted);
  font-size: 11px;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__service-menu {
  display: none;
}

.az-home-v1 .az-home-v1__service-nav--desktop {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 2px 16px;
}

.az-home-v1 .az-home-v1__service-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #34463e;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.az-home-v1 .az-home-v1__service-nav a:hover {
  color: var(--az-v2-green-700);
}

.az-home-v1 .az-home-v1__hero {
  padding: 52px 0 0;
  border-bottom: 0;
  background:
    radial-gradient(circle at 78% 30%, rgb(225 235 224 / 75%), transparent 30%),
    linear-gradient(112deg, #fff 0%, var(--az-v2-cream-soft) 51%, #f4efe3 100%);
}

.az-home-v1 .az-home-v1__hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%);
  grid-template-rows: minmax(470px, auto) auto;
  min-height: 0;
}

.az-home-v1 .az-home-v1__hero-copy {
  z-index: 5;
  align-self: center;
  padding: 24px 0 92px;
}

.az-home-v1 .az-home-v1__hero h2 {
  margin: 0;
  color: var(--az-v2-navy);
  font-size: clamp(31px, 3vw, 35px);
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1.43;
}

.az-home-v1 .az-home-v1__hero h2 > span {
  display: block;
  white-space: nowrap;
}

.az-home-v1 .az-home-v1__hero-lead {
  max-width: 515px;
  margin: 22px 0 0;
  color: #43534b;
  font-size: 16px;
  line-height: 1.9;
}

.az-home-v1 .az-home-v1__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 25px;
}

.az-home-v1 .az-home-v1__hero-visual {
  position: relative;
  z-index: 1;
  grid-column: 2;
  grid-row: 1;
  min-height: 470px;
}

.az-home-v1 .az-home-v1__family-image {
  position: absolute;
  right: 8px;
  bottom: 0;
  width: min(600px, 100%);
}

.az-home-v1 .az-home-v1__family-image img {
  width: 100%;
}

.az-home-v1 .az-home-v1__image-note {
  position: absolute;
  z-index: 4;
  width: 190px;
  margin: 0;
  padding: 8px;
  border: 1px solid rgb(222 224 216 / 90%);
  border-radius: 13px;
  background: rgb(255 255 255 / 94%);
  box-shadow: var(--az-v2-shadow);
}

.az-home-v1 .az-home-v1__image-note img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: 8px;
  object-fit: cover;
}

.az-home-v1 .az-home-v1__image-note figcaption {
  padding: 5px 2px 0;
  color: #66736d;
  font-size: 11px;
  line-height: 1.4;
}

.az-home-v1 .az-home-v1__image-note--house {
  top: 8px;
  right: -7px;
  transform: rotate(3.2deg);
}

.az-home-v1 .az-home-v1__image-note--interior {
  right: -18px;
  bottom: 24px;
  transform: rotate(-2.3deg);
}

.az-home-v1 .az-home-v1__search-card {
  position: relative;
  z-index: 10;
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
  margin: -58px 0 36px;
  padding: 27px 30px 22px;
  border: 1px solid #dce4dd;
  border-radius: 17px;
  background: rgb(255 255 255 / 97%);
  box-shadow: var(--az-v2-shadow);
}

.az-home-v1 .az-home-v1__search-heading {
  margin: 0 0 15px;
  color: var(--az-v2-navy);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
}

.az-home-v1 .az-home-v1__search-form > label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.az-home-v1 .az-home-v1__search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 12px;
}

.az-home-v1 .az-home-v1__search-row input,
.az-home-v1 .az-home-v1__search-row button {
  height: 58px;
  border-radius: 9px;
}

.az-home-v1 .az-home-v1__search-row input {
  width: 100%;
  padding: 0 18px;
  border: 1px solid #bfcac2;
  background: #fff;
  color: var(--az-v2-ink);
  font-size: 18px;
}

.az-home-v1 .az-home-v1__search-row input::placeholder {
  color: #718079;
  font-size: 16px;
  opacity: 1;
}

.az-home-v1 .az-home-v1__search-row button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--az-v2-green-800);
  background: var(--az-v2-green-800);
  color: #fff;
  font-size: 17px;
  font-weight: 800;
}

.az-home-v1 .az-home-v1__search-error {
  margin: 8px 0 0;
  color: #a13f33;
  font-size: 15px;
}

.az-home-v1 .az-home-v1__search-shortcuts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 28px;
  margin-top: 13px;
}

.az-home-v1 .az-home-v1__search-shortcuts a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border-bottom: 1px solid #8ba696;
  color: var(--az-v2-green-800);
  font-size: 16px;
  font-weight: 700;
}

.az-home-v1 .az-home-v1__trust {
  padding: 54px 0 58px;
  background: #fff;
}

.az-home-v1 .az-home-v1__metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #e2dfd5;
  border-radius: 15px;
  background: linear-gradient(90deg, #fbfaf5, #f7f3e9);
}

.az-home-v1 .az-home-v1__metric {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  min-height: 138px;
  padding: 20px 17px;
  border: 0;
  border-left: 1px dashed #d8cdb9;
  background: transparent;
}

.az-home-v1 .az-home-v1__metric:first-child {
  border-left: 0;
}

.az-home-v1 .az-home-v1__metric-icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid #a9bfaf;
  border-radius: 50%;
  background: #fff;
  color: var(--az-v2-green-800);
  font-size: 18px;
  font-weight: 800;
}

.az-home-v1 .az-home-v1__metric p,
.az-home-v1 .az-home-v1__metric strong,
.az-home-v1 .az-home-v1__metric div > span {
  display: block;
}

.az-home-v1 .az-home-v1__metric p {
  margin: 0 0 2px;
  color: #4d5c54;
  font-size: 14px;
  font-weight: 750;
}

.az-home-v1 .az-home-v1__metric strong {
  color: var(--az-v2-green-800);
  font-size: 30px;
  line-height: 1.3;
}

.az-home-v1 .az-home-v1__metric strong small {
  margin-left: 3px;
  font-size: 14px;
}

.az-home-v1 .az-home-v1__metric div > span {
  margin-top: 4px;
  color: #68746e;
  font-size: 11px;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__metric--text strong {
  font-size: 24px;
}

.az-home-v1 .az-home-v1__diagnosis {
  background:
    linear-gradient(rgb(255 255 255 / 55%), rgb(255 255 255 / 55%)),
    var(--az-v2-cream);
}

/* --------------------------------------------------------------------------
 * 診断 v3：診断前 / 質問中 / 結果 の3状態
 * ----------------------------------------------------------------------- */

.az-home-v1 .az-home-v1__dg {
  --az-dg-gold: #a9832f;
  --az-dg-radius: 16px;

  padding: 34px;
  border: 1px solid var(--az-v2-line);
  border-radius: 18px;
  background: var(--az-v2-white);
  box-shadow: var(--az-v2-shadow-soft);
}

/*
 * hidden属性は必ず非表示にする。
 * ブラウザ既定の [hidden]{display:none} は詳細度(0,1,0)しかないため、
 * 下の .az-home-v1 .az-home-v1__dg-start{display:grid} 等(0,2,0)に負ける。
 * 状態切り替えを hidden で行うので、ここで確実に上書きしておく。
 */
.az-home-v1 .az-home-v1__dg [hidden] {
  display: none;
}

.az-home-v1 .az-home-v1__dg-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 10px;
  color: var(--az-dg-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.az-home-v1 .az-home-v1__dg-eyebrow::before {
  flex: 0 0 24px;
  height: 1px;
  background: var(--az-dg-gold);
  content: "";
}

/* ---------- 共通ボタン ---------- */

.az-home-v1 .az-home-v1__dg-primary,
.az-home-v1 .az-home-v1__dg-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 10px 24px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
}

.az-home-v1 .az-home-v1__dg-primary {
  border: 1px solid var(--az-v2-green-800);
  background: var(--az-v2-green-800);
  box-shadow: 0 8px 20px rgb(40 93 71 / 16%);
  color: #fff;
}

.az-home-v1 .az-home-v1__dg-secondary {
  border: 1px solid #b6c6ba;
  background: #fff;
  color: var(--az-v2-green-950);
}

.az-home-v1 .az-home-v1__dg-primary.is-disabled {
  border-color: #c3ccc5;
  background: #eceeec;
  box-shadow: none;
  color: #7c8781;
}

/* ---------- 状態1：診断前 ---------- */

.az-home-v1 .az-home-v1__dg-start {
  display: grid;
  grid-template-areas:
    "copy visual"
    "copy tags";
  grid-template-columns: minmax(0, 1fr) minmax(0, 400px);
  grid-template-rows: auto 1fr;
  gap: 18px 34px;
  align-content: center;
}

.az-home-v1 .az-home-v1__dg-start-copy {
  grid-area: copy;
  min-width: 0;
  align-self: center;
}

.az-home-v1 .az-home-v1__dg-start-title {
  margin: 0 0 12px;
  color: var(--az-v2-navy);
  font-size: clamp(20px, 2.1vw, 25px);
  font-weight: 800;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__dg-start-text {
  margin: 0 0 16px;
  color: var(--az-v2-muted);
  font-size: 16px;
  line-height: 1.85;
}

.az-home-v1 .az-home-v1__dg-start-notes {
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.az-home-v1 .az-home-v1__dg-start-notes li {
  position: relative;
  padding-left: 22px;
  color: var(--az-v2-muted);
  font-size: 14px;
  line-height: 1.7;
}

.az-home-v1 .az-home-v1__dg-start-notes li + li {
  margin-top: 5px;
}

.az-home-v1 .az-home-v1__dg-start-notes li::before {
  position: absolute;
  top: 0.62em;
  left: 4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--az-v2-green-700);
  content: "";
}

.az-home-v1 .az-home-v1__dg-supervisor {
  margin: 14px 0 0;
  color: #6d7873;
  font-size: 13px;
}

.az-home-v1 .az-home-v1__dg-start-visual {
  grid-area: visual;
  min-width: 0;
}

.az-home-v1 .az-home-v1__dg-start-visual img {
  width: 100%;
  border-radius: var(--az-dg-radius);
}

.az-home-v1 .az-home-v1__dg-start-tags {
  grid-area: tags;
  align-self: start;
  padding: 16px 18px;
  border: 1px solid var(--az-v2-line);
  border-radius: 13px;
  background: var(--az-v2-cream-soft);
}

.az-home-v1 .az-home-v1__dg-start-tags p {
  margin: 0 0 9px;
  color: var(--az-v2-navy);
  font-size: 13px;
  font-weight: 800;
}

.az-home-v1 .az-home-v1__dg-start-tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.az-home-v1 .az-home-v1__dg-start-tags li {
  padding: 5px 11px;
  border: 1px solid #cfdcd3;
  border-radius: 999px;
  background: #fff;
  color: var(--az-v2-green-950);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

/* ---------- 状態2：質問中 ---------- */

.az-home-v1 .az-home-v1__dg-progress {
  margin-bottom: 24px;
}

.az-home-v1 .az-home-v1__dg-step {
  margin: 0 0 8px;
  color: var(--az-v2-green-700);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.az-home-v1 .az-home-v1__dg-bar {
  overflow: hidden;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #e7ece7;
}

.az-home-v1 .az-home-v1__dg-bar > span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--az-v2-green-700), var(--az-v2-green-800));
  transition: width 260ms ease;
}

/*
 * 質問を移動しても「次へ」の位置が動かないよう、質問領域の高さをそろえる。
 * PCの質問の自然高は115〜295pxなので300pxで全問そろう。
 */
.az-home-v1 .az-home-v1__dg-panel {
  min-height: 300px;
}

.az-home-v1 .az-home-v1__dg-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.az-home-v1 .az-home-v1__dg-legend {
  display: block;
  width: 100%;
  padding: 0;
}

.az-home-v1 .az-home-v1__dg-question {
  display: flex;
  align-items: start;
  gap: 12px;
  margin: 0 0 6px;
  color: var(--az-v2-navy);
  font-size: clamp(19px, 2vw, 23px);
  font-weight: 800;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__dg-question:focus-visible {
  outline: 3px solid var(--az-terracotta);
  outline-offset: 4px;
}

.az-home-v1 .az-home-v1__dg-qnum {
  display: inline-grid;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  margin-top: 3px;
  place-items: center;
  border-radius: 50%;
  background: var(--az-v2-green-800);
  color: #fff;
  font-size: 15px;
}

.az-home-v1 .az-home-v1__dg-note {
  margin: 0 0 14px;
  padding-left: 44px;
  color: var(--az-v2-muted);
  font-size: 14px;
  line-height: 1.7;
}

.az-home-v1 .az-home-v1__dg-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
  padding: 0;
  border: 0;
}

.az-home-v1 .az-home-v1__dg-option {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 64px;
  padding: 12px 16px;
  border: 1px solid #ccd6cf;
  border-radius: 12px;
  background: #fff;
  color: #37453d;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}

.az-home-v1 .az-home-v1__dg-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  clip-path: inset(50%);
  white-space: nowrap;
}

.az-home-v1 .az-home-v1__dg-option-mark {
  display: grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #a9b8ae;
  border-radius: 50%;
  background: #fff;
}

.az-home-v1 .az-home-v1__dg-option-mark::before {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: transparent;
  content: "";
}

.az-home-v1 .az-home-v1__dg-option-text {
  min-width: 0;
}

.az-home-v1 .az-home-v1__dg-option input:checked + .az-home-v1__dg-option-mark {
  border-color: var(--az-v2-green-800);
  background: var(--az-v2-green-800);
}

.az-home-v1 .az-home-v1__dg-option input:checked + .az-home-v1__dg-option-mark::before {
  background: #fff;
}

.az-home-v1 .az-home-v1__dg-option:has(input:checked) {
  border-color: var(--az-v2-green-800);
  background: var(--az-v2-green-100);
  box-shadow: inset 0 0 0 1px var(--az-v2-green-800);
  color: var(--az-v2-green-950);
}

.az-home-v1 .az-home-v1__dg-option input:focus-visible + .az-home-v1__dg-option-mark {
  outline: 3px solid var(--az-terracotta);
  outline-offset: 3px;
}

.az-home-v1 .az-home-v1__dg-option:has(input:focus-visible) {
  border-color: var(--az-v2-green-800);
}

.az-home-v1 .az-home-v1__dg-panel select {
  width: min(420px, 100%);
  min-height: 56px;
  margin-top: 18px;
  padding: 0 14px;
  border: 1px solid #b8c6bc;
  border-radius: 10px;
  background: #fff;
  color: var(--az-v2-ink);
  font-size: 16px;
}

.az-home-v1 .az-home-v1__dg-panel .az-home-v1__dg-question label {
  cursor: pointer;
}

.az-home-v1 .az-home-v1__dg-error {
  margin: 12px 0 0;
  color: #9a3521;
  font-size: 14px;
  font-weight: 700;
}

.az-home-v1 .az-home-v1__dg-panel.is-invalid .az-home-v1__dg-options {
  padding: 8px;
  border: 1px solid #d2a396;
  border-radius: 14px;
  background: #fdf6f4;
}

.az-home-v1 .az-home-v1__dg-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--az-v2-line);
}

.az-home-v1 .az-home-v1__dg-controls .az-home-v1__dg-primary {
  min-width: 220px;
}

.az-home-v1 .az-home-v1__dg-controls [data-dg-prev][hidden] {
  display: none;
}

.az-home-v1 .az-home-v1__dg-privacy {
  margin: 14px 0 0;
  color: #6d7873;
  font-size: 13px;
  text-align: center;
}

/* ---------- 状態3：結果 ---------- */

.az-home-v1 .az-home-v1__dg-result-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr);
  gap: 26px;
  align-items: start;
}

.az-home-v1 .az-home-v1__dg-result-title {
  margin: 0 0 10px;
  color: var(--az-v2-navy);
  font-size: clamp(22px, 2.4vw, 29px);
  font-weight: 800;
  line-height: 1.45;
}

.az-home-v1 .az-home-v1__dg-result-title:focus-visible {
  outline: 3px solid var(--az-terracotta);
  outline-offset: 4px;
}

.az-home-v1 .az-home-v1__dg-result-text {
  margin: 0 0 22px;
  color: #3f5148;
  font-size: 16px;
  line-height: 1.9;
}

.az-home-v1 .az-home-v1__dg-block {
  margin-top: 16px;
  padding: 20px 22px;
  border: 1px solid var(--az-v2-line);
  border-radius: var(--az-dg-radius);
  background: var(--az-v2-cream-soft);
}

.az-home-v1 .az-home-v1__dg-block h4 {
  margin: 0 0 12px;
  color: var(--az-v2-navy);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__dg-checks {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: az-dg-check;
}

.az-home-v1 .az-home-v1__dg-checks li {
  position: relative;
  padding: 9px 0 9px 38px;
  border-top: 1px solid #e8e6dd;
  color: var(--az-v2-ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  counter-increment: az-dg-check;
}

.az-home-v1 .az-home-v1__dg-checks li:first-child {
  border-top: 0;
}

.az-home-v1 .az-home-v1__dg-checks li::before {
  position: absolute;
  top: 10px;
  left: 0;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border: 1px solid #cfdcd3;
  border-radius: 8px;
  background: #fff;
  color: var(--az-v2-green-700);
  content: counter(az-dg-check);
  font-size: 13px;
  font-weight: 800;
}

.az-home-v1 .az-home-v1__dg-next {
  border-color: #bed0c3;
  background: var(--az-v2-green-100);
}

.az-home-v1 .az-home-v1__dg-next-stage {
  margin: 0 0 6px;
  color: var(--az-v2-green-700);
  font-size: 13px;
  font-weight: 800;
}

.az-home-v1 .az-home-v1__dg-next-text {
  margin: 0;
  color: var(--az-v2-green-950);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}

.az-home-v1 .az-home-v1__dg-result-side .az-home-v1__dg-block:first-child {
  margin-top: 0;
}

.az-home-v1 .az-home-v1__dg-scale-note {
  margin: -4px 0 14px;
  color: var(--az-v2-muted);
  font-size: 12px;
  line-height: 1.65;
}

.az-home-v1 .az-home-v1__dg-axes {
  margin: 0;
  padding: 0;
  list-style: none;
}

.az-home-v1 .az-home-v1__dg-axis {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px 34px;
  gap: 10px;
  align-items: center;
  padding: 7px 0;
}

.az-home-v1 .az-home-v1__dg-axis + .az-home-v1__dg-axis {
  border-top: 1px solid #e8e6dd;
}

.az-home-v1 .az-home-v1__dg-axis-name {
  min-width: 0;
  color: var(--az-v2-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__dg-axis.is-top .az-home-v1__dg-axis-name {
  color: var(--az-v2-green-950);
}

.az-home-v1 .az-home-v1__dg-axis.is-top .az-home-v1__dg-axis-name::after {
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--az-dg-gold);
  color: #fff;
  content: "最重視";
  font-size: 10px;
  font-weight: 800;
  vertical-align: 2px;
}

.az-home-v1 .az-home-v1__dg-axis-meter {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 3px;
}

.az-home-v1 .az-home-v1__dg-axis-cell {
  height: 13px;
  border: 1px solid #d3dcd6;
  border-radius: 3px;
  background: #fff;
}

.az-home-v1 .az-home-v1__dg-axis-cell.is-on {
  border-color: var(--az-v2-green-700);
  background: var(--az-v2-green-700);
}

.az-home-v1 .az-home-v1__dg-axis.is-top .az-home-v1__dg-axis-cell.is-on {
  border-color: var(--az-v2-green-950);
  background: var(--az-v2-green-950);
}

.az-home-v1 .az-home-v1__dg-axis-value {
  color: var(--az-v2-muted);
  font-size: 12px;
  font-weight: 700;
  text-align: right;
}

.az-home-v1 .az-home-v1__dg-summary {
  display: grid;
  grid-template-columns: 6.6em minmax(0, 1fr);
  margin: 0;
}

.az-home-v1 .az-home-v1__dg-summary dt,
.az-home-v1 .az-home-v1__dg-summary dd {
  padding: 8px 0;
  border-top: 1px solid #e8e6dd;
  font-size: 14px;
  line-height: 1.6;
}

.az-home-v1 .az-home-v1__dg-summary dt:first-of-type,
.az-home-v1 .az-home-v1__dg-summary dt:first-of-type + dd {
  border-top: 0;
}

.az-home-v1 .az-home-v1__dg-summary dt {
  color: var(--az-v2-muted);
  font-weight: 700;
}

.az-home-v1 .az-home-v1__dg-summary dd {
  margin: 0;
  color: var(--az-v2-ink);
  font-weight: 700;
}

/* ---------- 結果の導線 ---------- */

.az-home-v1 .az-home-v1__dg-actions {
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid var(--az-v2-line);
}

.az-home-v1 .az-home-v1__dg-actions h4 {
  margin: 0 0 14px;
  color: var(--az-v2-navy);
  font-size: 16px;
  font-weight: 800;
}

.az-home-v1 .az-home-v1__dg-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.az-home-v1 .az-home-v1__dg-action {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  min-height: 74px;
  padding: 15px 44px 15px 18px;
  border: 1px solid #b6c6ba;
  border-radius: 12px;
  background: #fff;
  color: var(--az-v2-green-950);
}

.az-home-v1 .az-home-v1__dg-action::after {
  position: absolute;
  top: 50%;
  right: 17px;
  color: var(--az-v2-green-700);
  content: "→";
  font-size: 16px;
  transform: translateY(-50%);
}

.az-home-v1 .az-home-v1__dg-action {
  position: relative;
}

.az-home-v1 .az-home-v1__dg-action-title {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__dg-action-note {
  color: var(--az-v2-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
}

/* ---------- コピー・やり直し ---------- */

.az-home-v1 .az-home-v1__dg-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--az-v2-line);
}

.az-home-v1 .az-home-v1__dg-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.az-home-v1 .az-home-v1__dg-copy-status {
  margin: 0;
  color: var(--az-v2-green-700);
  font-size: 14px;
  font-weight: 800;
}

.az-home-v1 .az-home-v1__dg-copy-status.is-visible::before {
  margin-right: 5px;
  content: "✓";
}

.az-home-v1 .az-home-v1__dg-copy-fallback {
  margin-top: 16px;
}

.az-home-v1 .az-home-v1__dg-copy-fallback label {
  display: block;
  margin-bottom: 7px;
  color: var(--az-v2-muted);
  font-size: 13px;
  font-weight: 700;
}

.az-home-v1 .az-home-v1__dg-copy-fallback textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #b8c6bc;
  border-radius: 10px;
  background: #fff;
  color: var(--az-v2-ink);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.8;
  resize: vertical;
}

/* ---------- JavaScript無効時 ---------- */

.az-home-v1 .az-home-v1__dg-noscript {
  padding: 22px;
  border: 1px solid var(--az-v2-line);
  border-radius: var(--az-dg-radius);
  background: var(--az-v2-cream-soft);
}

.az-home-v1 .az-home-v1__dg-noscript p {
  margin: 0 0 14px;
  color: var(--az-v2-ink);
  font-size: 15px;
  line-height: 1.8;
}

.az-home-v1 .az-home-v1__dg-noscript nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.az-home-v1 .az-home-v1__dg-noscript nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 9px 16px;
  border: 1px solid #9cb9a7;
  border-radius: 9px;
  background: #fff;
  color: var(--az-v2-green-950);
  font-size: 15px;
  font-weight: 750;
}

.az-home-v1 .az-home-v1__companies {
  background: #fff;
}

.az-home-v1 .az-home-v1__company-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.az-home-v1 .az-home-v1__company-card {
  display: flex;
  min-width: 0;

  /* 下限を置かず内容なりの高さにする。行内の高さはグリッドのstretchでそろい、
     ボタンは margin-top:auto で下端にそろうため、説明文とボタンの間に
     60px前後の空白が残るのを防ぐ。 */
  min-height: 0;
  flex-direction: column;
  padding: 22px 19px 18px;
  overflow: hidden;
  border: 1px solid #dfe5df;
  border-top: 4px solid var(--az-v2-green-800);
  border-radius: 13px;
  background: #fff;
  box-shadow: var(--az-v2-shadow-soft);
}

.az-home-v1 .az-home-v1__company-card::before,
.az-home-v1 .az-home-v1__company-card::after,
.az-home-v1 .az-home-v1__company-card h3::after {
  display: none;
}

.az-home-v1 .az-home-v1__company-card:nth-child(even) {
  border-top-color: var(--az-v2-navy);
}

.az-home-v1 .az-home-v1__company-card-head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.az-home-v1 .az-home-v1__monogram {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 13px;
  background: var(--az-v2-green-100);
  color: var(--az-v2-green-800);
  font-size: 23px;
  font-weight: 850;
}

.az-home-v1 .az-home-v1__company-card:nth-child(even) .az-home-v1__monogram {
  background: #eaf0f4;
  color: var(--az-v2-navy);
}

.az-home-v1 .az-home-v1__company-card h3 {
  max-width: none;
  min-width: 0;
  margin: 0;
  color: var(--az-v2-navy);
  font-size: 18px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.az-home-v1 .az-home-v1__company-card h3 a,
.az-home-v1 .az-home-v1__article-card h3 a {
  display: flex;
  align-items: center;
  min-height: 44px;
}

.az-home-v1 .az-home-v1__file-labels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  margin: 21px 0 0;
  padding: 0;
  list-style: none;
}

.az-home-v1 .az-home-v1__file-labels li {
  padding: 6px 2px;
  border: 1px solid #d9e3dc;
  border-radius: 6px;
  background: #f8fbf8;
  color: #476052;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  text-align: center;
}

.az-home-v1 .az-home-v1__company-note {
  margin: 12px 0 16px;
  color: #68746e;
  font-size: 13px;
}

.az-home-v1 .az-home-v1__outline-button {
  gap: 8px;
  width: 100%;
  min-height: 46px;
  margin-top: auto;
  padding: 9px 10px;
  border: 1px solid #7ca18a;
  background: #fff;
  color: var(--az-v2-green-950);
  font-size: 14px;
}

.az-home-v1 .az-home-v1__more-link {
  gap: 8px;
  min-width: 180px;
  margin: 25px auto 0;
  padding: 10px 20px;
  border: 1px solid #8eac99;
  background: #fff;
  color: var(--az-v2-green-950);
  font-size: 15px;
}

.az-home-v1 .az-home-v1__prefectures {
  background: var(--az-v2-cream-soft);
}

.az-home-v1 .az-home-v1__prefecture-desktop {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.az-home-v1 .az-home-v1__region-block {
  padding: 20px;
  border: 1px solid #e0e4dc;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 12px rgb(25 52 39 / 5%);
}

.az-home-v1 .az-home-v1__region-block h3 {
  margin: 0 0 12px;
  padding-bottom: 9px;
  border-bottom: 2px solid #dbe8de;
  color: var(--az-v2-navy);
  font-size: 18px;
}

.az-home-v1 .az-home-v1__region-block > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 8px;
}

.az-home-v1 .az-home-v1__region-block a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 6px 5px;
  color: #3f574b;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__region-block a::before {
  margin-right: 6px;
  color: #82a58e;
  content: "›";
}

.az-home-v1 .az-home-v1__prefecture-mobile {
  display: none;
}

.az-home-v1 .az-home-v1__needs {
  padding-top: 62px;
  background: #fff;
}

.az-home-v1 .az-home-v1__needs-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.az-home-v1 .az-home-v1__needs-grid > a {
  display: flex;
  min-width: 0;
  min-height: 184px;
  flex-direction: column;
  align-items: flex-start;
  padding: 18px;
  border: 1px solid var(--az-v2-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #fff, #f9fbf9);
  box-shadow: var(--az-v2-shadow-soft);
}

.az-home-v1 .az-home-v1__needs-grid > a > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #b7cdbd;
  border-radius: 50%;
  background: var(--az-v2-green-100);
  color: var(--az-v2-green-800);
  font-weight: 850;
}

.az-home-v1 .az-home-v1__needs-grid strong {
  margin-top: 13px;
  color: var(--az-v2-navy);
  font-size: 16px;
  line-height: 1.55;
}

.az-home-v1 .az-home-v1__needs-grid small {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  margin-top: auto;
  color: var(--az-v2-green-700);
  font-size: 13px;
  font-weight: 750;
}

.az-home-v1 .az-home-v1__articles {
  background: var(--az-v2-cream-soft);
}

.az-home-v1 .az-home-v1__heading-link {
  flex: 0 0 auto;
  gap: 7px;
  padding: 8px 4px;
  border-bottom: 1px solid #7d9d87;
  border-radius: 0;
  color: var(--az-v2-green-800);
  font-size: 15px;
}

.az-home-v1 .az-home-v1__article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
}

.az-home-v1 .az-home-v1__article-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e1e4dd;
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--az-v2-shadow-soft);
}

.az-home-v1 .az-home-v1__article-card .az-home-v1__card-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #eef2ed;
}

.az-home-v1 .az-home-v1__article-card .az-home-v1__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.az-home-v1 .az-home-v1__article-card .az-home-v1__card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px;
}

.az-home-v1 .az-home-v1__article-card h3 {
  margin: 0;
  color: var(--az-v2-navy);
  font-size: 18px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.az-home-v1 .az-home-v1__article-card .az-home-v1__card-body > p {
  display: -webkit-box;
  margin: 9px 0 0;
  overflow: hidden;
  color: #516159;
  font-size: 14px;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.az-home-v1 .az-home-v1__article-card time {
  display: block;
  margin-top: 12px;
  color: #748079;
  font-size: 12px;
}

.az-home-v1 .az-home-v1__text-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  margin-top: auto;
  padding-top: 10px;
  color: var(--az-v2-green-800);
  font-size: 14px;
  font-weight: 750;
}

.az-home-v1 .az-home-v1__more-link--articles {
  display: none;
}

.az-home-v1 .az-home-v1__points {
  padding-bottom: 64px;
  background: #fff;
}

.az-home-v1 .az-home-v1__point-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.az-home-v1 .az-home-v1__point-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  min-width: 0;
  padding: 21px 17px;
  border: 1px solid var(--az-v2-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--az-v2-shadow-soft);
}

.az-home-v1 .az-home-v1__point-card > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 11px;
  background: var(--az-v2-green-100);
  color: var(--az-v2-green-800);
  font-size: 20px;
  font-weight: 800;
}

.az-home-v1 .az-home-v1__point-card h3 {
  margin: 0;
  color: var(--az-v2-navy);
  font-size: 17px;
  line-height: 1.45;
}

.az-home-v1 .az-home-v1__point-card p {
  margin: 7px 0 0;
  color: #59675f;
  font-size: 13px;
  line-height: 1.7;
}

.az-home-v1 .az-home-v1__cta {
  padding: 0 0 72px;
  background: #fff;
}

.az-home-v1 .az-home-v1__cta-shell {
  overflow: hidden;
  border: 1px solid #dddccc;
  border-radius: 16px;
  background: linear-gradient(120deg, #fbfaf3, #f5f4e8);
  box-shadow: var(--az-v2-shadow-soft);
}

.az-home-v1 .az-home-v1__cta-intro {
  display: grid;
  grid-template-columns: 34% minmax(0, 1fr);
  align-items: center;
  min-height: 220px;
  border-bottom: 1px solid #dfddcf;
}

.az-home-v1 .az-home-v1__cta-intro picture {
  align-self: end;
  width: 100%;
}

.az-home-v1 .az-home-v1__cta-intro picture img {
  width: 100%;
  max-height: 220px;
  object-fit: contain;
  object-position: center bottom;
}

.az-home-v1 .az-home-v1__cta-copy {
  padding: 28px 40px;
  text-align: left;
}

.az-home-v1 .az-home-v1__cta-copy h2 {
  margin: 0;
  color: var(--az-v2-navy);
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.45;
}

.az-home-v1 .az-home-v1__cta-copy p {
  margin: 10px 0 0;
  color: #4f5e56;
  font-size: 16px;
}

.az-home-v1 .az-home-v1__cta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: #dfddcf;
}

.az-home-v1 .az-home-v1__cta-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 22px;
  background: rgb(255 255 255 / 88%);
}

.az-home-v1 .az-home-v1__cta-card > p {
  margin: 0;
  color: var(--az-v2-green-700);
  font-size: 12px;
  font-weight: 800;
}

.az-home-v1 .az-home-v1__cta-card h3 {
  margin: 4px 0 15px;
  color: var(--az-v2-navy);
  font-size: 17px;
  line-height: 1.5;
}

.az-home-v1 .az-home-v1__cta-card a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 50px;
  margin-top: auto;
  padding: 10px 13px;
  border: 1px solid var(--az-v2-green-800);
  border-radius: 8px;
  background: var(--az-v2-green-800);
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.4;
}

@media (max-width: 1024px) {
  .az-home-v1 .az-home-v1__container {
    width: min(100% - 48px, 960px);
  }

  .az-home-v1 .az-home-v1__service-header-inner {
    gap: 12px;
  }

  .az-home-v1 .az-home-v1__service-brand {
    flex: 0 1 235px;
    gap: 8px;
  }

  .az-home-v1 .az-home-v1__service-mark {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }

  .az-home-v1 .az-home-v1__service-brand small {
    font-size: 10px;
  }

  .az-home-v1 .az-home-v1__service-nav--desktop {
    justify-content: space-between;
    gap: 8px;
  }

  .az-home-v1 .az-home-v1__service-nav a {
    font-size: 13px;
  }

  .az-home-v1 .az-home-v1__hero-layout {
    grid-template-rows: minmax(430px, auto) auto;
  }

  .az-home-v1 .az-home-v1__hero-copy {
    padding-bottom: 76px;
  }

  .az-home-v1 .az-home-v1__hero h2 {
    font-size: clamp(30px, 3vw, 33px);
  }

  .az-home-v1 .az-home-v1__image-note {
    width: 150px;
  }

  .az-home-v1 .az-home-v1__metrics-grid,
  .az-home-v1 .az-home-v1__company-grid,
  .az-home-v1 .az-home-v1__prefecture-desktop,
  .az-home-v1 .az-home-v1__point-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .az-home-v1 .az-home-v1__metric:nth-child(3) {
    border-left: 0;
  }

  .az-home-v1 .az-home-v1__metric:nth-child(n + 3) {
    border-top: 1px dashed #d8cdb9;
  }

  .az-home-v1 .az-home-v1__needs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .az-home-v1 .az-home-v1__article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .az-home-v1 .az-home-v1__dg {
    padding: 28px;
  }

  .az-home-v1 .az-home-v1__dg-start {
    grid-template-columns: minmax(0, 1fr) minmax(0, 330px);
    gap: 16px 26px;
  }
}

@media (max-width: 833px) {
  .az-home-v1 .az-home-v1__service-header-inner {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    min-height: 0;
    padding-block: 6px;
  }

  .az-home-v1 .az-home-v1__service-brand {
    flex: none;
    min-height: 52px;
  }

  .az-home-v1 .az-home-v1__service-nav--desktop {
    display: none;
  }

  .az-home-v1 .az-home-v1__service-menu {
    display: block;
    width: 100%;
  }

  .az-home-v1 .az-home-v1__service-menu > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    color: var(--az-v2-green-950);
    font-size: 15px;
    font-weight: 750;
    list-style: none;
  }

  .az-home-v1 .az-home-v1__service-menu > summary::-webkit-details-marker {
    display: none;
  }

  .az-home-v1 .az-home-v1__service-menu:not([open]) .az-home-v1__service-nav--mobile {
    display: none;
  }

  .az-home-v1 .az-home-v1__service-nav--mobile {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
    padding: 4px 0 10px;
  }

  .az-home-v1 .az-home-v1__service-nav a {
    justify-content: center;
    padding: 6px;
    border: 1px solid #dce5de;
    border-radius: 7px;
    background: #f8fbf9;
    font-size: 13px;
    white-space: normal;
    text-align: center;
  }

  .az-home-v1 .az-home-v1__hero {
    padding-top: 30px;
  }

  .az-home-v1 .az-home-v1__hero-layout {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    grid-template-rows: none;
  }

  .az-home-v1 .az-home-v1__hero-copy {
    order: 1;
    padding: 8px 0 12px;
  }

  .az-home-v1 .az-home-v1__hero-visual {
    order: 2;
    min-height: 430px;
  }

  .az-home-v1 .az-home-v1__family-image {
    right: 50%;
    width: min(580px, 94%);
    transform: translateX(50%);
  }

  .az-home-v1 .az-home-v1__image-note--house {
    right: 1%;
  }

  .az-home-v1 .az-home-v1__image-note--interior {
    right: auto;
    bottom: 10px;
    left: 0;
  }

  .az-home-v1 .az-home-v1__search-card {
    order: 3;
    margin: -16px 0 30px;
  }

  .az-home-v1 .az-home-v1__cta-intro {
    grid-template-columns: 40% minmax(0, 1fr);
  }

  .az-home-v1 .az-home-v1__cta-copy {
    padding: 24px;
  }

  .az-home-v1 .az-home-v1__cta-grid {
    grid-template-columns: 1fr;
  }

  .az-home-v1 .az-home-v1__dg {
    padding: 24px;
  }

  .az-home-v1 .az-home-v1__dg-start {
    grid-template-areas:
      "visual"
      "copy"
      "tags";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 20px;
  }

  .az-home-v1 .az-home-v1__dg-start-visual img {
    max-height: 220px;
    object-fit: cover;
    object-position: center 42%;
  }

  .az-home-v1 .az-home-v1__dg-result-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .az-home-v1 .az-home-v1__dg-result-side .az-home-v1__dg-block:first-child {
    margin-top: 16px;
  }
}

@media (min-width: 601px) and (max-width: 1023px) {
  .az-home-v1 .az-home-v1__hero-layout,
  .az-home-v1 .az-home-v1__hero-layout > *,
  .az-home-v1 .az-home-v1__hero-visual {
    min-width: 0;
    max-width: 100%;
  }

  .az-home-v1 .az-home-v1__hero-visual {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }

  .az-home-v1 .az-home-v1__hero-copy {
    width: 100%;
    max-width: 100%;
  }

  .az-home-v1 .az-home-v1__hero-visual > .az-home-v1__family-image {
    display: block;
    position: static;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    transform: none;
  }

  .az-home-v1 .az-home-v1__hero-visual > .az-home-v1__family-image img {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    object-fit: contain;
  }

  .az-home-v1 .az-home-v1__hero-visual > .az-home-v1__image-note {
    max-width: 42%;
  }

  .az-home-v1 .az-home-v1__hero-visual > .az-home-v1__image-note--house {
    right: 2%;
    left: auto;
  }

  .az-home-v1 .az-home-v1__hero-visual > .az-home-v1__image-note--interior {
    right: auto;
    left: 2%;
  }
}

@media (max-width: 600px) {
  .az-home-v1 {
    font-size: 15px;
  }

  .az-home-v1 .az-home-v1__container {
    width: calc(100% - 36px);
  }

  .az-home-v1 .az-home-v1__section {
    padding: 36px 0;
  }

  .az-home-v1 .az-home-v1__section-heading {
    display: block;
    margin-bottom: 18px;
  }

  .az-home-v1 .az-home-v1__section-heading h2 {
    font-size: 23px;
    line-height: 1.45;
  }

  .az-home-v1 .az-home-v1__section-heading > div > span {
    margin-top: 5px;
    font-size: 15px;
    line-height: 1.55;
  }

  .az-home-v1 .az-home-v1__service-header-inner {
    padding-block: 6px;
  }

  .az-home-v1 .az-home-v1__service-brand {
    min-height: 52px;
  }

  .az-home-v1 .az-home-v1__service-mark {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }

  .az-home-v1 .az-home-v1__service-brand small {
    font-size: 10px;
  }

  .az-home-v1 .az-home-v1__hero {
    padding-top: 25px;
  }

  .az-home-v1 .az-home-v1__hero h2 {
    font-size: clamp(18px, 5.6vw, 24px);
    letter-spacing: 0;
    line-height: 1.5;
  }

  .az-home-v1 .az-home-v1__hero h2 > span {
    white-space: nowrap;
  }

  .az-home-v1 .az-home-v1__hero-lead {
    margin-top: 13px;
    font-size: 15px;
    line-height: 1.7;
  }

  .az-home-v1 .az-home-v1__hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 18px;
  }

  .az-home-v1 .az-home-v1__button {
    width: 100%;
    min-height: 50px;
  }

  .az-home-v1 .az-home-v1__hero-visual {
    min-height: 340px;
  }

  .az-home-v1 .az-home-v1__family-image {
    width: min(500px, 100%);
  }

  .az-home-v1 .az-home-v1__image-note {
    width: 118px;
    padding: 5px;
  }

  .az-home-v1 .az-home-v1__image-note figcaption {
    font-size: 9px;
  }

  .az-home-v1 .az-home-v1__image-note--house {
    top: 2px;
    right: -5px;
  }

  .az-home-v1 .az-home-v1__image-note--interior {
    bottom: 7px;
    left: -5px;
  }

  .az-home-v1 .az-home-v1__search-card {
    margin: -10px 0 26px;
    padding: 21px 16px 17px;
  }

  .az-home-v1 .az-home-v1__search-heading {
    margin-bottom: 13px;
    font-size: 21px;
    line-height: 1.5;
    text-align: left;
  }

  .az-home-v1 .az-home-v1__search-row {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .az-home-v1 .az-home-v1__search-row input,
  .az-home-v1 .az-home-v1__search-row button {
    min-height: 50px;
    height: 54px;
  }

  .az-home-v1 .az-home-v1__search-row input {
    padding-inline: 14px;
    font-size: 16px;
  }

  .az-home-v1 .az-home-v1__search-row input::placeholder {
    font-size: 16px;
  }

  .az-home-v1 .az-home-v1__search-row button {
    font-size: 16px;
  }

  .az-home-v1 .az-home-v1__search-shortcuts {
    justify-content: flex-start;
    gap: 2px 16px;
    margin-top: 10px;
  }

  .az-home-v1 .az-home-v1__search-shortcuts a {
    min-height: 48px;
    font-size: 15px;
  }

  .az-home-v1 .az-home-v1__trust {
    padding: 36px 0;
  }

  .az-home-v1 .az-home-v1__metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .az-home-v1 .az-home-v1__metric {
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 0;
    padding: 14px 11px;
    border-left: 0;
  }

  .az-home-v1 .az-home-v1__metric:nth-child(even) {
    border-left: 1px dashed #d8cdb9;
  }

  .az-home-v1 .az-home-v1__metric:nth-child(n + 3) {
    border-top: 1px dashed #d8cdb9;
  }

  .az-home-v1 .az-home-v1__metric-icon {
    width: 32px;
    height: 32px;
    font-size: 15px;
  }

  .az-home-v1 .az-home-v1__metric p {
    font-size: 12px;
  }

  .az-home-v1 .az-home-v1__metric strong {
    font-size: 22px;
  }

  .az-home-v1 .az-home-v1__metric--text strong {
    font-size: 18px;
  }

  .az-home-v1 .az-home-v1__dg {
    padding: 18px 16px;
    border-radius: 15px;
  }

  .az-home-v1 .az-home-v1__dg-start {
    gap: 18px;
  }

  .az-home-v1 .az-home-v1__dg-start-visual img {
    max-height: 168px;
  }

  .az-home-v1 .az-home-v1__dg-primary,
  .az-home-v1 .az-home-v1__dg-secondary {
    width: 100%;
    min-height: 52px;
    padding-inline: 16px;
    font-size: 16px;
  }

  .az-home-v1 .az-home-v1__dg-progress {
    margin-bottom: 18px;
  }

  /* SPの自然高は129〜479px。質問2までをそろえ、以降の差を小さくする値。 */
  .az-home-v1 .az-home-v1__dg-panel {
    min-height: 330px;
  }

  .az-home-v1 .az-home-v1__dg-question {
    gap: 10px;
    font-size: 19px;
  }

  .az-home-v1 .az-home-v1__dg-qnum {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    font-size: 14px;
  }

  .az-home-v1 .az-home-v1__dg-note {
    padding-left: 0;
    font-size: 13px;
  }

  .az-home-v1 .az-home-v1__dg-options {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    margin-top: 14px;
  }

  .az-home-v1 .az-home-v1__dg-option {
    min-height: 56px;
    padding: 11px 14px;
    font-size: 15px;
  }

  .az-home-v1 .az-home-v1__dg-panel select {
    width: 100%;
    min-height: 52px;
    margin-top: 14px;
  }

  .az-home-v1 .az-home-v1__dg-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-top: 20px;
    padding-top: 16px;
  }

  .az-home-v1 .az-home-v1__dg-controls .az-home-v1__dg-primary {
    order: -1;
    min-width: 0;
  }

  .az-home-v1 .az-home-v1__dg-result-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .az-home-v1 .az-home-v1__dg-block {
    padding: 16px;
  }

  .az-home-v1 .az-home-v1__dg-result-text {
    margin-bottom: 16px;
    font-size: 15px;
  }

  .az-home-v1 .az-home-v1__dg-checks li {
    padding-left: 34px;
    font-size: 14px;
  }

  .az-home-v1 .az-home-v1__dg-axis {
    grid-template-columns: minmax(0, 1fr) 84px 32px;
    gap: 8px;
  }

  .az-home-v1 .az-home-v1__dg-axis-name {
    font-size: 13px;
  }

  .az-home-v1 .az-home-v1__dg-summary {
    grid-template-columns: 5.6em minmax(0, 1fr);
  }

  .az-home-v1 .az-home-v1__dg-summary dt,
  .az-home-v1 .az-home-v1__dg-summary dd {
    font-size: 13px;
  }

  .az-home-v1 .az-home-v1__dg-actions {
    margin-top: 20px;
    padding-top: 18px;
  }

  .az-home-v1 .az-home-v1__dg-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .az-home-v1 .az-home-v1__dg-action {
    min-height: 68px;
    padding: 13px 40px 13px 15px;
  }

  .az-home-v1 .az-home-v1__dg-action-title {
    font-size: 15px;
  }

  .az-home-v1 .az-home-v1__dg-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-top: 20px;
    padding-top: 18px;
  }

  .az-home-v1 .az-home-v1__dg-copy {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .az-home-v1 .az-home-v1__dg-copy-status {
    text-align: center;
  }

  .az-home-v1 .az-home-v1__dg-noscript {
    padding: 16px;
  }

  .az-home-v1 .az-home-v1__dg-noscript nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .az-home-v1 .az-home-v1__company-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .az-home-v1 .az-home-v1__company-card {
    min-height: 0;
    padding: 14px 12px 12px;
  }

  .az-home-v1 .az-home-v1__company-card:nth-child(n + 5) {
    display: none;
  }

  .az-home-v1 .az-home-v1__company-note {
    margin-block: 9px 12px;
    font-size: 12px;
  }

  .az-home-v1 .az-home-v1__company-card-head {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 8px;
  }

  .az-home-v1 .az-home-v1__monogram {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    font-size: 18px;
  }

  .az-home-v1 .az-home-v1__company-card h3 {
    font-size: 14px;
  }

  .az-home-v1 .az-home-v1__file-labels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 13px;
  }

  .az-home-v1 .az-home-v1__outline-button {
    padding-inline: 6px;
    font-size: 12px;
  }

  .az-home-v1 .az-home-v1__prefecture-desktop {
    display: none;
  }

  .az-home-v1 .az-home-v1__prefecture-mobile {
    display: block;
  }

  .az-home-v1 .az-home-v1__prefecture-mobile details {
    border-bottom: 1px solid #d9e0d8;
  }

  .az-home-v1 .az-home-v1__prefecture-mobile details:first-child {
    border-top: 1px solid #d9e0d8;
  }

  .az-home-v1 .az-home-v1__prefecture-mobile summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 52px;
    padding: 4px 2px;
    color: var(--az-v2-navy);
    font-size: 18px;
    font-weight: 800;
    list-style: none;
  }

  .az-home-v1 .az-home-v1__prefecture-mobile summary::-webkit-details-marker {
    display: none;
  }

  .az-home-v1 .az-home-v1__prefecture-mobile details[open] summary span {
    transform: rotate(45deg);
  }

  .az-home-v1 .az-home-v1__prefecture-mobile details > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px 7px;
    padding: 4px 0 13px;
  }

  .az-home-v1 .az-home-v1__prefecture-mobile a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 5px;
    border-radius: 6px;
    background: #fff;
    color: #40564b;
    font-size: 15px;
    font-weight: 650;
  }

  .az-home-v1 .az-home-v1__needs {
    padding-top: 36px;
  }

  .az-home-v1 .az-home-v1__needs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .az-home-v1 .az-home-v1__needs-grid > a {
    min-height: 154px;
    padding: 14px;
  }

  .az-home-v1 .az-home-v1__needs-grid > a > span {
    width: 36px;
    height: 36px;
  }

  .az-home-v1 .az-home-v1__needs-grid strong {
    margin-top: 9px;
    font-size: 14px;
  }

  .az-home-v1 .az-home-v1__needs-grid small {
    font-size: 12px;
  }

  .az-home-v1 .az-home-v1__heading-link {
    display: none;
  }

  .az-home-v1 .az-home-v1__article-grid {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .az-home-v1 .az-home-v1__article-card {
    display: grid;
    grid-template-columns: 35% minmax(0, 1fr);
  }

  .az-home-v1 .az-home-v1__article-card:nth-child(n + 5) {
    display: none;
  }

  .az-home-v1 .az-home-v1__article-card .az-home-v1__card-image {
    height: 100%;
    min-height: 155px;
    aspect-ratio: auto;
  }

  .az-home-v1 .az-home-v1__article-card .az-home-v1__card-body {
    padding: 13px;
  }

  .az-home-v1 .az-home-v1__article-card h3 {
    font-size: 15px;
  }

  .az-home-v1 .az-home-v1__article-card .az-home-v1__card-body > p {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.55;
    -webkit-line-clamp: 2;
  }

  .az-home-v1 .az-home-v1__article-card time {
    margin-top: 6px;
  }

  .az-home-v1 .az-home-v1__text-link {
    font-size: 13px;
  }

  .az-home-v1 .az-home-v1__more-link--articles {
    display: flex;
  }

  .az-home-v1 .az-home-v1__point-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .az-home-v1 .az-home-v1__point-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 15px 13px;
  }

  .az-home-v1 .az-home-v1__point-card h3 {
    font-size: 15px;
  }

  .az-home-v1 .az-home-v1__point-card p {
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.55;
  }

  .az-home-v1 .az-home-v1__cta {
    padding-bottom: 40px;
  }

  .az-home-v1 .az-home-v1__cta-intro {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .az-home-v1 .az-home-v1__cta-intro picture {
    width: 100%;
    max-height: 180px;
    overflow: hidden;
  }

  .az-home-v1 .az-home-v1__cta-intro picture img {
    max-height: 180px;
  }

  .az-home-v1 .az-home-v1__cta-copy {
    padding: 20px 17px 23px;
    text-align: center;
  }

  .az-home-v1 .az-home-v1__cta-copy h2 {
    font-size: 23px;
  }

  .az-home-v1 .az-home-v1__cta-copy p {
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.6;
  }

  .az-home-v1 .az-home-v1__cta-card {
    padding: 17px;
  }

  .az-home-v1 .az-home-v1__cta-card h3 {
    margin-bottom: 10px;
    font-size: 16px;
  }

  .az-home-v1 .az-home-v1__cta-card a {
    min-height: 50px;
    font-size: 14px;
  }
}

@media (max-width: 360px) {
  .az-home-v1 .az-home-v1__research .az-research__metric-label {
    font-size: 12px;
  }

  .az-home-v1 .az-home-v1__container {
    width: calc(100% - 28px);
  }

  .az-home-v1 .az-home-v1__service-nav--mobile {
    grid-template-columns: 1fr;
  }

  .az-home-v1 .az-home-v1__section {
    padding-block: 32px;
  }

  .az-home-v1 .az-home-v1__section-heading {
    margin-bottom: 16px;
  }

  .az-home-v1 .az-home-v1__hero h2 {
    font-size: clamp(18px, 5.6vw, 20px);
  }

  .az-home-v1 .az-home-v1__hero-visual {
    min-height: 310px;
  }

  .az-home-v1 .az-home-v1__search-card {
    padding-inline: 14px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .az-home-v1 .az-home-v1__dg,
  .az-home-v1 .az-home-v1__dg-result {
    scroll-behavior: auto;
  }

  .az-home-v1 .az-home-v1__dg-bar > span {
    transition: none;
  }
}

.az-home-v1 .az-home-v1__hero-badges {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.az-home-v1 .az-home-v1__hero-badges li {
  position: relative;
  margin: 0;
  padding-left: 20px;
  color: #38443e;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}

.az-home-v1 .az-home-v1__hero-badges li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #bf603b;
  content: "✓";
}

.az-home-v1 .az-home-v1__trust .az-home-v1__metric {
  grid-template-columns: minmax(0, 1fr);
  align-items: flex-start;
}

.az-home-v1 .az-home-v1__trust .az-home-v1__metric h3 {
  margin: 0 0 8px;
  color: #26342d;
  font-size: 17px;
  line-height: 1.4;
}

.az-home-v1 .az-home-v1__trust .az-home-v1__metric p {
  margin: 0;
  color: #58635d;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
}

.az-home-v1 .az-home-v1__trust-note {
  margin: 18px 0 0;
  color: #58635d;
  font-size: 13px;
  line-height: 1.7;
}

.az-home-v1 .az-home-v1__research {
  background: #f7f3eb;
}

.az-home-v1 .az-home-v1__research-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.az-home-v1 .az-home-v1__research .az-research__card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e3ddd2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(38, 52, 45, 0.08);
}

/*
 * トップの独自調査カード。アイキャッチは写真ではなく、その調査に実在する代表数値を1つ見せる。
 * research-v1.css と同じ見た目にするため、こちら側にも同内容を置く（詳細度が高いため）。
 */
.az-home-v1 .az-home-v1__research .az-research__cover {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 6px;
  padding: 18px 20px;
  border-bottom: 1px solid #e3ddd2;
  background: var(--az-research-thumb-bg, #eef2ec);
  color: #26342d;
  text-decoration: none;
}

.az-home-v1 .az-home-v1__research .az-research__card-topic {
  color: #9b4d31;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.az-home-v1 .az-home-v1__research .az-research__cover-topic {
  color: var(--az-research-thumb-accent, #2f6b45);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

/* 分類ごとの弱いアクセント。分類名の文字は必ず併記するので、色だけの判別にはならない。 */
.az-home-v1 .az-home-v1__research [data-research-topic="home-money"] {
  --az-research-thumb-bg: #eaf1ea;
  --az-research-thumb-accent: #2f6b45;
  --az-research-thumb-bar: #4f8a63;
}

.az-home-v1 .az-home-v1__research [data-research-topic="family-life"] {
  --az-research-thumb-bg: #f6ece2;
  --az-research-thumb-accent: #9b4d31;
  --az-research-thumb-bar: #bf7550;
}

.az-home-v1 .az-home-v1__research [data-research-topic="work-digital"] {
  --az-research-thumb-bg: #e9edf1;
  --az-research-thumb-accent: #3f5a72;
  --az-research-thumb-bar: #6b8199;
}

.az-home-v1 .az-home-v1__research .az-research__metric {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.az-home-v1 .az-home-v1__research .az-research__metric-value {
  margin: 0;
  color: var(--az-research-thumb-accent, #2f6b45);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
}

.az-home-v1 .az-home-v1__research .az-research__metric-label {
  margin: 0;
  min-width: 0;
  color: #26342d;
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.az-home-v1 .az-home-v1__research .az-research__metric-bar {
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  margin-top: 2px;
  background: rgba(38, 52, 45, 0.1);
}

.az-home-v1 .az-home-v1__research .az-research__metric-fill {
  display: block;
  height: 100%;
  background: var(--az-research-thumb-bar, #4f8a63);
}

.az-home-v1 .az-home-v1__research .az-research__metric-fill--second {
  background: rgba(38, 52, 45, 0.28);
}

.az-home-v1 .az-home-v1__research .az-research__metric-second {
  margin: 0;
  color: #6f7a70;
  font-size: 12px;
}


.az-home-v1 .az-home-v1__research .az-research__card-body {
  padding: 20px;
}

.az-home-v1 .az-home-v1__research .az-research__card-topic {
  margin: 0 0 7px;
}

.az-home-v1 .az-home-v1__research .az-research__card h3 {
  display: -webkit-box;
  min-height: 3em;
  margin: 0;
  overflow: hidden;
  font-size: 18px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.az-home-v1 .az-home-v1__research .az-research__card h3 a {
  display: flex;
  min-height: 44px;
  align-items: flex-start;
  color: #26342d;
  text-decoration: none;
}

.az-home-v1 .az-home-v1__research .az-research__card-summary {
  display: -webkit-box;
  margin: 12px 0 0;
  overflow: hidden;
  color: #58635d;
  font-size: 14px;
  line-height: 1.7;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.az-home-v1 .az-home-v1__research .az-home-v1__more-link {
  margin-top: 24px;
}

@media (max-width: 900px) {
  .az-home-v1 .az-home-v1__research-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .az-home-v1 .az-home-v1__research .az-research__card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
	.az-home-v1 .az-home-v1__trust .az-home-v1__metrics-grid {
		grid-template-columns: 1fr;
	}

	.az-home-v1 .az-home-v1__trust .az-home-v1__metric:nth-child(n) {
		border-left: 0;
	}

	.az-home-v1 .az-home-v1__trust .az-home-v1__metric + .az-home-v1__metric {
		border-top: 1px dashed #d8cdb9;
	}

  .az-home-v1 .az-home-v1__hero-badges {
    grid-template-columns: 1fr;
    gap: 5px;
    margin-top: 14px;
  }

  .az-home-v1 .az-home-v1__hero-badges li {
    font-size: 12px;
  }

  .az-home-v1 .az-home-v1__research-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .az-home-v1 .az-home-v1__research .az-research__card:last-child {
    grid-column: auto;
  }

  .az-home-v1 .az-home-v1__research .az-research__cover {
    min-height: 136px;
    padding: 18px;
  }

  .az-home-v1 .az-home-v1__research .az-research__cover-title {
    font-size: 18px;
  }
}
