/* トップの首屏より下。Home.dc.html / HomeM.dc.html の inline style を
   2026-11-09 のトークンへ写す。旧い .section の箱は使わない。
   幅 1120 は .site-main（800px）の外へ出す。対局区は触らない。 */

.home-content {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: var(--paper);
  color: var(--ink-body);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0;
}

.home-content__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 40px;
}

.home-content h2 {
  display: block;
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 800;
  font-size: 34px;
  line-height: 1.85;
  letter-spacing: 0;
  color: var(--ink-strong);
}

.home-content h3 {
  margin: 0;
  font-family: var(--font-sans);
  font-weight: 700;
  color: var(--ink-strong);
}

.home-content a { color: var(--ink-strong); }
.home-content a:hover { color: var(--shu); }

.home-block {
  padding: 72px 0;
  border-bottom: 1px solid var(--rule);
}

.home-block--intro {
  display: flex;
  gap: 64px;
  flex-wrap: wrap;
  padding: 88px 0 72px;
}

.home-block--faq {
  padding: 72px 0 88px;
  border-bottom: 0;
}

.home-intro__copy { flex: 1 1 520px; min-width: 0; }
.home-intro__copy h2 { margin: 0 0 20px; line-height: 1.35; }
.home-intro__copy p { margin: 0 0 16px; }
.home-intro__copy p:last-child { margin: 0; }

.home-intro__facts {
  flex: 0 1 360px;
  margin: 0;
  border-top: 2px solid var(--ink-strong);
}

.home-intro__facts div {
  display: flex;
  align-items: baseline;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--rule);
}

.home-intro__facts dt {
  width: 110px;
  flex: none;
  font-family: var(--font-serif);
  font-weight: 800;
  font-size: 28px;
  line-height: 1.1;
  color: var(--ink-strong);
}

.home-intro__facts dt.home-intro__mark { color: var(--shu); }
.home-intro__facts dd { margin: 0; min-width: 0; }

.home-steps-block h2 { margin: 0 0 36px; }

.home-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}

.home-steps li {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.home-steps__copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.home-steps__no {
  font-family: var(--font-serif);
  font-weight: 800;
  font-size: 15px;
  color: var(--shu);
}

.home-steps h3 { margin: -8px 0 0; font-size: 20px; }
.home-steps p { margin: 0; font-size: 15px; }

.home-fig svg { display: block; max-width: 100%; height: auto; }
.home-fig__m { display: none; }

.home-kinji__head { margin-bottom: 32px; }
.home-kinji__lead { max-width: 640px; }
.home-kinji h2 { margin: 0 0 14px; }
.home-kinji__lead p { margin: 0; }

.home-kinji__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}

.home-kinji figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.home-kinji figcaption { font-size: 15px; }

.home-kinji figcaption strong {
  display: block;
  font-family: var(--font-serif);
  font-size: 22px;
  line-height: 1.4;
  color: var(--ink-strong);
}

.home-kinji__note { margin: 28px 0 0; font-size: 14px; color: var(--ink-sub); }

.home-choose { position: relative; }
.home-choose h2 { margin: 0 0 14px; }
.home-choose__lead { margin: 0 0 28px; }

.home-choose__head {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.home-choose__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

.home-choose__table th {
  text-align: left;
  padding: 14px 0;
  width: 120px;
  color: var(--ink-sub);
  font-family: var(--font-sans);
  font-weight: 500;
}

.home-choose__opt {
  padding: 14px 16px 14px 0;
  width: 180px;
  color: var(--ink-strong);
  font-weight: 700;
}

.home-choose__when { padding: 14px 0; }
.home-choose__group--again { display: none; }
.home-choose__row--top > * { border-top: 2px solid var(--ink-strong); }
.home-choose__row--group > * { border-top: 1px solid var(--rule); }
.home-choose__row--in > * { border-top: 1px solid var(--rule-soft); }

.home-features h2 { margin: 0 0 32px; }

.home-features__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 40px;
}

.home-features__item {
  padding: 18px 0 22px;
  border-top: 1px solid var(--rule);
  min-width: 0;
}

.home-features h3 { margin: 0 0 6px; font-size: 18px; }
.home-features p { margin: 0; font-size: 15px; }

.home-tips-block h2 { margin: 0 0 32px; }

.home-tips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.home-tips a {
  display: flex;
  gap: 24px;
  align-items: center;
  padding: 20px;
  border-radius: 14px;
  border: 1px solid var(--rule);
  background: var(--paper-card);
  text-decoration: none;
  min-width: 0;
}

.home-tips__copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.home-tips__kind { font-size: 13px; color: var(--ink-sub); }

.home-tips__name {
  font-family: var(--font-serif);
  font-weight: 800;
  font-size: 26px;
  line-height: 1.2;
  color: var(--ink-strong);
}

.home-tips__text { font-size: 15px; color: var(--ink-body); }
.home-tips__cta { font-size: 14px; font-weight: 700; color: var(--shu); }
.home-tips__more { margin: 28px 0 0; }

.home-faq-block h2 { margin: 0 0 24px; }
.home-faq { border-top: 1px solid var(--rule); max-width: 820px; }
.home-faq details { border-bottom: 1px solid var(--rule); padding: 18px 0; }

.home-faq summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--ink-strong);
  list-style: disclosure-closed inside;
}

.home-faq details[open] > summary { list-style: disclosure-open inside; }
.home-faq summary::-webkit-details-marker { display: inline; }
.home-faq p { margin: 0; }

@media (max-width: 767px) {
  .home-content { font-size: 15px; }
  .home-content__inner { padding: 0 16px; }
  .home-content h2 { font-size: 25px; }
  .home-block { padding: 40px 0; }
  .home-block--intro { display: block; padding: 48px 0 40px; }
  .home-block--faq { padding: 40px 0 56px; }

  .home-intro__copy h2 { margin: 0 0 16px; line-height: 1.4; }
  .home-intro__copy p:last-child { margin: 0 0 20px; }
  .home-intro__facts div { gap: 16px; padding: 12px 0; }
  .home-intro__facts dt { width: 76px; font-size: 22px; line-height: 1.2; }
  .home-intro__facts dd { font-size: 14px; }

  .home-steps-block h2 { margin: 0 0 20px; }
  .home-steps { display: flex; flex-direction: column; gap: 20px; }
  .home-steps li { flex-direction: row; gap: 16px; align-items: center; }
  .home-steps__copy { gap: 0; flex: 1; }
  .home-steps__no { font-size: 13px; }
  .home-steps h3 { margin: 0; font-size: 17px; line-height: 1.5; }
  .home-steps p { font-size: 14px; line-height: 1.7; }
  .home-fig__d { display: none; }
  .home-fig__m { display: block; }

  .home-kinji__head { margin-bottom: 20px; }
  .home-kinji__lead { max-width: none; }
  .home-kinji h2 { margin: 0 0 12px; line-height: 1.4; }
  .home-kinji__grid { gap: 9px; }
  .home-kinji figure { gap: 8px; }
  .home-kinji figcaption { font-size: 12px; line-height: 1.5; }
  .home-kinji figcaption strong { font-size: 17px; line-height: inherit; }

  .home-choose h2 { margin: 0 0 12px; line-height: 1.4; }
  .home-choose__lead { margin: 0 0 16px; font-size: 14px; }
  .home-choose__sheet { border-top: 2px solid var(--ink-strong); }
  .home-choose__table,
  .home-choose__table tbody,
  .home-choose__table tr,
  .home-choose__table th,
  .home-choose__table td { display: block; width: auto; }
  .home-choose__table tr { padding: 12px 0; border-bottom: 1px solid var(--rule-soft); }
  .home-choose__row--top > *,
  .home-choose__row--group > *,
  .home-choose__row--in > * { border-top: 0; padding: 0; }
  .home-choose__table th,
  .home-choose__table td { padding: 0; }
  .home-choose__table th,
  .home-choose__table td.home-choose__opt { display: inline; width: auto; }
  .home-choose__table th { font-size: 12px; margin-right: 8px; }
  .home-choose__opt { font-size: 15px; }
  .home-choose__when { margin-top: 2px; font-size: 14px; line-height: 1.7; }
  .home-choose__group--again { display: inline; }

  .home-features h2 { margin: 0 0 16px; }
  .home-features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
  .home-features__item { padding: 12px 0 14px; }
  .home-features h3 { margin: 0 0 2px; font-size: 15px; }
  .home-features p { font-size: 13px; line-height: 1.7; }

  .home-tips-block h2 { margin: 0 0 16px; }
  .home-tips { display: flex; flex-direction: column; gap: 12px; }
  .home-tips a { gap: 16px; padding: 14px; border-radius: 12px; }
  .home-tips__copy { gap: 2px; }
  .home-tips__kind { font-size: 12px; }
  .home-tips__name { font-size: 22px; line-height: 1.3; }
  .home-tips__text { font-size: 13px; line-height: 1.6; }
  .home-tips__cta { font-size: 13px; }

  .home-faq-block h2 { margin: 0 0 16px; }
  .home-faq details { padding: 14px 0; }
  .home-faq summary { font-size: 15px; }
}
