/* =========================================================
   花以想 法人ギフトTOP（/c/business）ページ専用CSS
   方針：装飾を足さない。色は緑（--hni-primary）1色＋墨＋グレー。
         線は1px・淡色のみ。見出しはBIZ UDP明朝、本文はゴシック。
   ========================================================= */
:root { --bz-serif: "BIZ UDPMincho", "BIZ UDP明朝", "Noto Serif JP", serif; --bz-line: #e3ded3; --bz-ink: #222; --bz-sub: #555; --bz-link: #015e53; --bz-gothic: "BIZ UDPGothic", "BIZ UDPゴシック", var(--hni-font, "Noto Sans JP"), sans-serif; }


/* ==========================================================
   ここから：これまで独自コメント内に直接書かれていたCSS（ページ用CSSへ集約）
   ========================================================== */

/* ---------- お客様の声（旧：独自コメント（4）内） ---------- */
.hni-biz-voice {
  font-family: var(--hni-font, "Noto Sans JP", sans-serif) !important;
  background: var(--hni-beige, #faf7f2);
  padding: clamp(48px, 6vw, 72px) 16px;
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  box-sizing: border-box;
}

.hni-biz-voice__inner {
  max-width: 960px;
  margin: 0 auto;
}

.hni-biz-voice__heading {
  font-family: var(--hni-font, sans-serif) !important;
  font-size: 19px;
  font-weight: 600;
  color: var(--hni-dark, #015e53);
  letter-spacing: .06em;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--hni-primary, #01796a);
  margin: 0 0 16px;
}

.hni-biz-voice__lead {
  font-size: 14px;
  color: var(--hni-text-sub, #555);
  line-height: 1.85;
  margin: 0 0 28px;
}

.hni-biz-voice__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 900px) {
  .hni-biz-voice__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .hni-biz-voice__grid { grid-template-columns: 1fr; gap: 16px; }
}

.hni-biz-voice__card {
  background: var(--hni-white, #fff);
  border: 1px solid var(--hni-border, #c6d8d3);
  border-top: 3px solid var(--hni-primary, #01796a);
  border-radius: 3px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.hni-biz-voice__figure-link {
  display: block;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
}

.hni-biz-voice__figure {
  margin: 0;
  background: var(--hni-bg, #f4f8f6);
}

.hni-biz-voice__image {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}

.hni-biz-voice__figure-link:hover .hni-biz-voice__image {
  transform: scale(1.03);
}

.hni-biz-voice__body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.hni-biz-voice__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.hni-biz-voice__industry {
  font-size: 13px;
  font-weight: 700;
  color: var(--hni-dark, #015e53);
  line-height: 1.5;
  letter-spacing: .03em;
}

.hni-biz-voice__rating {
  font-size: 14px;
  color: var(--hni-gold, #b8893a);
  letter-spacing: .12em;
  line-height: 1;
}

.hni-biz-voice__quote {
  font-size: 14px;
  line-height: 1.85;
  color: var(--hni-text, #222);
  margin: 0;
  padding-left: 14px;
  border-left: 2px solid var(--hni-border, #c6d8d3);
}

.hni-biz-voice__detail {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 10px;
  row-gap: 4px;
  margin: 0;
  padding-top: 10px;
  border-top: 1px solid var(--hni-border, #c6d8d3);
  font-size: 12px;
  line-height: 1.5;
}

.hni-biz-voice__detail dt {
  color: var(--hni-text-sub, #555);
  font-weight: 600;
  letter-spacing: .03em;
}

.hni-biz-voice__detail dd {
  color: var(--hni-text, #222);
  margin: 0;
}

.hni-biz-voice__cta {
  text-align: center;
  margin: 28px 0 0;
}

.hni-biz-voice__cta-link {
  display: inline-block;
  padding: 12px 28px;
  background: var(--hni-white, #fff);
  border: 1px solid var(--hni-primary, #01796a);
  border-radius: 3px;
  color: var(--hni-dark, #015e53);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .04em;
  min-height: 44px;
  transition: background .2s, box-shadow .2s;
}

.hni-biz-voice__cta-link:hover {
  background: var(--hni-bg, #f4f8f6);
  box-shadow: 0 3px 10px rgba(1, 94, 83, .1);
  color: var(--hni-dark, #015e53);
}

/* ---------- コーポレートカラーの実例（旧：独自コメント（7）内） ---------- */
.hni-biz-color {
  font-family: var(--hni-font, "Noto Sans JP", sans-serif) !important;
  background: #fff;
  padding: clamp(48px, 6vw, 72px) 16px;
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  box-sizing: border-box;
}

.hni-biz-color__inner {
  max-width: 1040px;
  margin: 0 auto;
}

.hni-biz-color__heading {
  font-family: var(--hni-font, sans-serif) !important;
  font-size: 19px;
  font-weight: 600;
  color: var(--hni-dark, #015e53);
  letter-spacing: .06em;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--hni-primary, #01796a);
  margin: 0 0 16px;
}

.hni-biz-color__lead {
  font-size: 14px;
  color: var(--hni-text-sub, #555);
  line-height: 1.85;
  margin: 0 0 28px;
}

.hni-biz-color__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

@media (max-width: 900px) {
  .hni-biz-color__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
}

@media (max-width: 600px) {
  .hni-biz-color__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

.hni-biz-color__card {
  display: flex;
  flex-direction: column;
  background: var(--hni-white, #fff);
  border: 1px solid var(--hni-border, #c6d8d3);
  border-radius: 3px;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: box-shadow .25s, transform .25s;
}

.hni-biz-color__card:hover {
  box-shadow: 0 6px 18px rgba(1, 94, 83, .12);
  transform: translateY(-2px);
}

.hni-biz-color__figure {
  margin: 0;
  background: var(--hni-bg, #f4f8f6);
  overflow: hidden;
}

.hni-biz-color__image {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  transition: transform .35s;
}

.hni-biz-color__card:hover .hni-biz-color__image {
  transform: scale(1.05);
}

.hni-biz-color__body {
  padding: 12px 12px 14px;
  text-align: center;
}

.hni-biz-color__name {
  font-family: var(--hni-font, sans-serif) !important;
  font-size: 15px;
  font-weight: 700;
  color: var(--hni-dark, #015e53);
  letter-spacing: .08em;
  margin: 0 0 4px;
  line-height: 1.4;
}

.hni-biz-color__hint {
  font-size: 12px;
  color: var(--hni-text-sub, #555);
  margin: 0;
  line-height: 1.5;
  letter-spacing: .03em;
}

/* カスタムメイド誘導 */
.hni-biz-color__custom {
  margin-top: 32px;
  padding: 24px 20px;
  background: var(--hni-beige, #faf7f2);
  border: 1px solid var(--hni-border, #c6d8d3);
  border-radius: 3px;
  text-align: center;
}

.hni-biz-color__custom-text {
  font-size: 14px;
  color: var(--hni-text, #222);
  line-height: 1.85;
  margin: 0 0 14px;
}

.hni-biz-color__custom-text .sp-only {
  display: none;
}

@media (max-width: 600px) {
  .hni-biz-color__custom-text .sp-only {
    display: inline;
  }
}

.hni-biz-color__custom-link {
  display: inline-block;
  padding: 12px 28px;
  background: var(--hni-primary, #01796a);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 3px;
  letter-spacing: .04em;
  min-height: 44px;
  transition: background .2s, box-shadow .2s;
}

.hni-biz-color__custom-link:hover {
  background: var(--hni-dark, #015e53);
  box-shadow: 0 3px 10px rgba(1, 94, 83, .2);
  color: #fff;
}

/* ---------- 読みもの｜花贈りの豆知識（ブログ記事への文字リンク） ---------- */
.hni-bz-jr { background: #fff; }
.hni-bz-jr .hni-bz-lead { margin-bottom: 28px; }
.hni-bz-jr__list { list-style: none; margin: 0 auto; padding: 0; max-width: 880px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; border-top: 1px solid var(--bz-line); }
.hni-bz-jr__list li { border-bottom: 1px solid var(--bz-line); }
.hni-bz-jr__list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 12px 4px; font-size: 16px; line-height: 1.6; color: var(--bz-ink); text-decoration: none; }
.hni-bz-jr__list a::after { content: "›"; flex: 0 0 auto; color: var(--hni-primary, #01796a); font-size: 18px; }
.hni-bz-jr__list a:hover { color: var(--bz-link); text-decoration: underline; text-underline-offset: 4px; }
.hni-bz-jr__all { text-align: center; margin: 32px 0 0; }
.hni-bz-jr__all a { display: inline-flex; align-items: center; min-height: 52px; padding: 10px 28px; border: 1px solid var(--hni-primary, #01796a); border-radius: 2px; color: var(--hni-primary, #01796a) !important; font-size: 15px; font-weight: 700; text-decoration: none; }
@media (max-width: 700px) {
  .hni-bz-jr__list { grid-template-columns: minmax(0, 1fr); }
}
/* ========================================================== ここまで */

/* ---------- 見出しを全セクションで統一（中央・明朝・線なし） ---------- */
.hni-cat-hero .hni-cat-hero__catch { font-family: var(--bz-serif) !important; font-weight: 400 !important; letter-spacing: .06em; line-height: 1.6; }
.hni-biz-nav .hni-biz-nav__heading,
.hni-biz-voice .hni-biz-voice__heading,
.hni-biz-color .hni-biz-color__heading,
section.hni-qa .hni-qa__heading,
#bz-a-list .c-heading-lv3,
.hni-bz-sec .hni-bz-heading {
  font-family: var(--bz-serif) !important; font-weight: 400 !important;
  font-size: clamp(24px, 3vw, 30px) !important; letter-spacing: .08em; line-height: 1.5;
  text-align: center; color: var(--bz-ink) !important;
  border: 0 !important; padding: 0 !important; margin: 0 0 28px !important;
}
.hni-biz-color .hni-biz-color__name { font-family: var(--bz-serif) !important; font-weight: 700 !important; }
.hni-bz-sec .hni-bz-heading::before, .hni-bz-sec .hni-bz-heading::after { content: none !important; display: none !important; }
/* 一覧（サイト共通の c-heading-lv3）も、ページ内の見出しと同じ明朝・線なしに */
#bz-a-list .c-heading-lv3 { background: none !important; box-shadow: none !important; text-decoration: none !important; }
#bz-a-list .c-heading-lv3::before, #bz-a-list .c-heading-lv3::after { content: none !important; display: none !important; }

/* ---------- 既存ブロックの余計な線・色帯を外す ---------- */
.hni-biz-nav .hni-biz-nav__card { border: 1px solid var(--bz-line) !important; border-radius: 2px; box-shadow: none; }
.hni-biz-nav .hni-biz-nav__card--orchid { border-top: 1px solid var(--bz-line) !important; }
.hni-biz-nav .hni-biz-nav__group-header::after { background: var(--bz-line); }
.hni-biz-nav .hni-biz-nav__group-label,
.hni-biz-nav .hni-biz-nav__group-label--navy { background: none !important; border: 0 !important; padding: 0 !important; color: var(--bz-sub) !important; font-weight: 400 !important; font-size: 13px !important; letter-spacing: .08em; }
.hni-biz-voice .hni-biz-voice__card { border: 1px solid var(--bz-line) !important; border-radius: 2px; }

/* ---------- シーンナビ下：そのほかのお祝い（文字リンク） ---------- */
.hni-bz-morelinks { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 22px; margin: 0 auto 32px; font-size: 16px; font-family: var(--bz-gothic); }
.hni-bz-morelinks__label { color: var(--bz-sub); }
.hni-bz-morelinks a { display: inline-flex; align-items: center; min-height: 44px; color: var(--bz-link); text-decoration: underline; text-underline-offset: 4px; }


/* ---------- 新設ブロック共通 ---------- */
.hni-bz-sec { font-family: var(--bz-gothic) !important; color: var(--bz-ink); font-size: 16px; line-height: 1.9; padding: clamp(56px, 7vw, 88px) 16px; }
.hni-bz-sec *, .hni-bz-sec *::before, .hni-bz-sec *::after { box-sizing: border-box; }
.hni-bz-sec a { text-decoration: none; }
.hni-bz-sec--tint { background: var(--hni-beige, #faf7f2); width: 100vw; position: relative; left: 50%; margin-left: -50vw; margin-right: -50vw; box-sizing: border-box; } /* 背景つきの帯は、お客様の声・一覧と同じく全幅 */
.hni-bz-inner { max-width: 960px; margin: 0 auto; }
.hni-bz-sec h2, .hni-bz-sec h3 { margin: 0; line-height: 1.5; }
.hni-bz-sec .hni-bz-heading { margin-bottom: 10px !important; }
.hni-bz-lead { font-size: 16px; color: var(--bz-sub); text-align: center; margin: 0 auto 40px; max-width: 640px; }
.hni-bz-all { text-align: center; margin: 48px 0 0; }
.hni-bz-all a { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 10px 28px; border: 1px solid var(--hni-primary, #01796a); border-radius: 2px; color: var(--hni-primary, #01796a) !important; font-size: 16px; font-weight: 700; }
.hni-bz-all a:hover { background: var(--hni-primary, #01796a); color: #fff !important; }
.hni-bz-note { font-size: 14px; color: var(--bz-sub); margin: 24px 0 0; }

/* ---------- ご予算から選ぶ ---------- */
.hni-bz-tier + .hni-bz-tier { margin-top: 48px; }
.hni-bz-tier__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; padding-bottom: 12px; margin-bottom: 20px; border-bottom: 1px solid var(--bz-line); }
.hni-bz-sec .hni-bz-tier__price { font-family: var(--bz-serif) !important; font-weight: 400 !important; font-size: 26px; letter-spacing: .06em; }
.hni-bz-tier__use { font-size: 15px; color: var(--bz-sub); }
.hni-bz-tier__more { margin-left: auto; font-size: 15px; color: var(--bz-link) !important; text-decoration: underline !important; text-underline-offset: 4px; display: inline-flex; align-items: center; min-height: 44px; }
.hni-bz-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.hni-bz-card { min-width: 0; }
.hni-bz-card a { display: flex; flex-direction: column; height: 100%; color: var(--bz-ink); }
.hni-bz-card__img { display: block; aspect-ratio: 1 / 1; background: #f2f1ed; overflow: hidden; margin-bottom: 12px; }
.hni-bz-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .3s; }
.hni-bz-card a:hover .hni-bz-card__img img { opacity: .88; }
.hni-bz-card__text { display: flex; flex-direction: column; flex: 1; }
.hni-bz-card__name { font-size: 16px; font-weight: 700; line-height: 1.5; }
.hni-bz-card__size { font-size: 14px; color: var(--bz-sub); line-height: 1.6; }
.hni-bz-card__price { margin-top: 8px; font-family: var(--bz-serif) !important; font-size: 23px; font-weight: 400; letter-spacing: .04em; }
.hni-bz-card__price small { font-family: var(--bz-gothic); font-size: 13px; margin-left: 2px; letter-spacing: 0; }

/* ---------- 法人のご担当者さまへ ---------- */
.hni-bz-panel { background: #fff; border: 1px solid var(--bz-line); padding: 28px 24px; }
.hni-bz-panel + .hni-bz-panel { margin-top: 16px; }
.hni-bz-sec .hni-bz-panel__h3 { font-family: var(--bz-serif) !important; font-weight: 400 !important; font-size: 22px; letter-spacing: .06em; margin-bottom: 4px; }
.hni-bz-panel__sub { font-size: 15px; color: var(--bz-sub); margin: 0 0 14px !important; }
.hni-bz-panel p { margin: 0 0 14px; }
.hni-bz-steps { margin: 4px 0 20px; padding-left: 1.4em; }
.hni-bz-steps li { padding: 2px 0; }
.hni-bz-table { width: 100%; border-collapse: collapse; font-size: 16px; margin: 4px 0 18px; }
.hni-bz-table th, .hni-bz-table td { border-bottom: 1px solid var(--bz-line); padding: 10px 4px; text-align: left; vertical-align: top; line-height: 1.7; }
.hni-bz-table th { font-weight: 400; color: var(--bz-sub); width: 34%; }
.hni-bz-media { margin-bottom: 16px; }
.hni-bz-media img { width: 100%; height: auto; display: block; }
.hni-bz-cta { display: flex; flex-wrap: wrap; gap: 10px; }
.hni-bz-btn { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-height: 56px; padding: 10px 24px; border-radius: 2px; flex: 1 1 220px; font-size: 16px; font-weight: 700; line-height: 1.4; text-align: center; border: 1px solid var(--hni-primary, #01796a); }
.hni-bz-btn--primary { background: var(--hni-primary, #01796a); color: #fff !important; }
.hni-bz-btn--outline { background: #fff; color: var(--hni-primary, #01796a) !important; }
.hni-bz-btn small { display: block; font-size: 13px; font-weight: 400; margin-top: 2px; }
.hni-bz-docs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 32px; }
.hni-bz-doc { padding: 14px 0; border-bottom: 1px solid var(--bz-line); }
.hni-bz-doc b { display: block; font-size: 17px; line-height: 1.5; }
.hni-bz-doc p { margin: 4px 0 0; font-size: 15px; color: #444; }

/* ---------- スマホ ---------- */
@media (max-width: 900px) and (min-width: 601px) {
  .hni-bz-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  /* スマホは1列の横並び（写真左・文字右）にして、文字を小さくしない */
  .hni-bz-cards { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .hni-bz-card { border-bottom: 1px solid var(--bz-line); }
  .hni-bz-card a { flex-direction: row; align-items: center; gap: 14px; padding: 12px 0; }
  .hni-bz-card__img { flex: 0 0 104px; width: 104px; margin-bottom: 0; }
  .hni-bz-card__text { display: flex; flex-direction: column; min-width: 0; }
  .hni-bz-card__name { font-size: 16px; }
  .hni-bz-card__size { font-size: 14px; }
  .hni-bz-card__price { font-size: 20px; margin-top: 4px; }
  .hni-bz-panel { padding: 22px 16px; }
  .hni-bz-tier__more { margin-left: 0; }
}
@media (min-width: 768px) {
  .hni-bz-docs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hni-bz-btn { flex: 0 1 300px; }
}

/* ---------- ページ内リンク（ヒーロー直下） ---------- */
html { scroll-behavior: smooth; }
#bz-a-scene, #bz-a-budget, #bz-a-color, #bz-a-voice, #bz-a-office, #bz-a-faq { scroll-margin-top: 90px; }
.hni-bz-pagenav { max-width: 960px; margin: 0 auto; padding: 0 16px; font-family: var(--bz-gothic); }
.hni-bz-pagenav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; justify-content: space-between; border-top: 1px solid var(--bz-line); border-bottom: 1px solid var(--bz-line); }
.hni-bz-pagenav li { display: flex; flex: 1 1 auto; min-width: 0; }
.hni-bz-pagenav li + li::before { content: ""; align-self: center; width: 1px; height: 14px; background: var(--bz-line); }
.hni-bz-pagenav a { display: inline-flex; align-items: center; min-height: 56px; padding: 0 8px; width: 100%; justify-content: center; white-space: nowrap; font-size: 16px; color: var(--bz-ink); text-decoration: none; letter-spacing: .02em; }
.hni-bz-pagenav a::after { content: "↓"; margin-left: 4px; font-size: 11px; color: var(--hni-primary, #01796a); }
.hni-bz-pagenav a:hover { color: var(--hni-primary, #01796a); }
@media (max-width: 900px) {
  .hni-bz-pagenav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
  .hni-bz-pagenav li { border-bottom: 1px solid var(--bz-line); }
  .hni-bz-pagenav li:nth-child(odd) { border-right: 1px solid var(--bz-line); }
  .hni-bz-pagenav li:nth-last-child(-n+2) { border-bottom: 0; }
  .hni-bz-pagenav li + li::before { display: none; }
  .hni-bz-pagenav a { width: 100%; justify-content: center; padding: 0 8px; font-size: 15px; min-height: 52px; }
}

/* ---------- 既存ブロックの小さすぎる文字を底上げ（40〜65歳の読み手に合わせる） ---------- */
.hni-biz-nav .hni-biz-nav__name { font-size: 15px !important; }
.hni-biz-nav .hni-biz-nav__orchid-text span { font-size: 15px !important; }
.hni-biz-nav .hni-biz-nav__group-label { font-size: 14px !important; }
.hni-biz-voice .hni-biz-voice__lead, .hni-biz-voice .hni-biz-voice__quote { font-size: 16px !important; line-height: 1.85; }
.hni-biz-voice .hni-biz-voice__industry, .hni-biz-voice .hni-biz-voice__detail { font-size: 14px !important; }
.hni-biz-color .hni-biz-color__lead { font-size: 16px !important; }
.hni-biz-color .hni-biz-color__name { font-size: 17px !important; }
.hni-biz-color .hni-biz-color__hint { font-size: 14px !important; }
section.hni-qa .hni-qa__q-text { font-size: 16px !important; }
section.hni-qa .hni-qa__a-text { font-size: 16px !important; line-height: 1.9; }
@media (max-width: 600px) {
  .hni-biz-nav .hni-biz-nav__name { font-size: 14px !important; }
  section.hni-qa .hni-qa__q-text, section.hni-qa .hni-qa__a-text { font-size: 15px !important; }
}

/* ---------- UD・UX：読みやすさと操作のしやすさ ---------- */
/* 本文はBIZ UDPゴシック（既存ブロックの本文にも適用） */
.hni-cat-hero .hni-cat-hero__lead, .hni-cat-hero .hni-cat-hero__signal,
.hni-biz-nav .hni-biz-nav__name, .hni-biz-nav .hni-biz-nav__orchid-text,
.hni-biz-voice .hni-biz-voice__lead, .hni-biz-voice .hni-biz-voice__quote, .hni-biz-voice .hni-biz-voice__meta, .hni-biz-voice .hni-biz-voice__detail,
.hni-biz-color .hni-biz-color__lead, .hni-biz-color .hni-biz-color__hint, .hni-biz-color .hni-biz-color__custom,
section.hni-qa .hni-qa__q-text, section.hni-qa .hni-qa__a-text { font-family: var(--bz-gothic) !important; }
.hni-cat-hero .hni-cat-hero__lead { font-size: 16px !important; line-height: 1.9; }
/* 1行の長さを抑える（約36字） */
.hni-bz-panel p, .hni-bz-doc p { max-width: 38em; }
/* 数字の桁をそろえる */
.hni-bz-card__price, .hni-bz-table td { font-variant-numeric: tabular-nums; }
/* キーボード操作時のフォーカスを見えるように */
.hni-bz-sec a:focus-visible, .hni-bz-pagenav a:focus-visible, .hni-bz-morelinks a:focus-visible, .hni-bz-jr a:focus-visible,
section.hni-qa .hni-qa__question:focus-visible { outline: 3px solid #015e53; outline-offset: 3px; }
/* 動きを減らす設定の人には、スクロールと拡大の動きを止める */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hni-bz-card__img img { transition: none; }
}

/* リード文の位置を全セクションでそろえる（中央） */
.hni-biz-color .hni-biz-color__lead, .hni-biz-voice .hni-biz-voice__lead { text-align: center; max-width: 720px; margin-left: auto !important; margin-right: auto !important; }

/* 重複する子カテゴリ一覧は非表示（シーンナビと同じリンクのため） */
.hni-bz-dup[hidden] { display: none !important; }
/* 商品一覧の見出し：一覧の直前なので下の余白を詰める */
.hni-bz-sec.hni-bz-listhead { padding-bottom: 8px; }
.hni-bz-listhead .hni-bz-lead { margin-bottom: 0; }
#bz-a-list { scroll-margin-top: 90px; }
