@charset "UTF-8";
/* トップの仕上げ専用。共用home.cssや他ページの文字組みは変えない。 */
.home-top-page #promises { padding:0; background:transparent; }
.home-top-page .home-quality-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 48px; margin:30px 0; }
.home-top-page .home-quality-items article { padding-top:20px; border-top:1px solid #dce3db; }
.home-top-page .home-quality-items h3 { margin-bottom:10px; }
.home-top-page .home-quality-items p { margin:0; }
.home-top-page .home-compatible-note { margin:20px 0 12px; }
.home-top-page .home-text-action { display:inline-flex; align-items:center; min-height:44px; padding-block:8px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.home-top-page .home-text-action:focus-visible,.home-top-page .home-guide-disclosure summary:focus-visible { outline:3px solid #345d48; outline-offset:4px; }
.home-top-page .home-guarantee { padding-block:48px; }
.home-top-page .home-guarantee-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:48px; }
.home-top-page .home-guarantee-lead { font-weight:600; color:var(--color-brand); }
@media(max-width:900px) { .home-top-page .home-guarantee-grid { grid-template-columns:1fr; gap:16px; } }
@media(max-width:700px) { .home-top-page .home-quality-items { grid-template-columns:1fr; gap:24px; } .home-top-page .home-guarantee { padding-block:40px; } }

.home-top-page .home-search-help { display:grid; gap:6px; margin-top:18px; font-size:1rem; line-height:1.75; }
.home-top-page .home-search-help p { display:grid; grid-template-columns:minmax(0,30rem) minmax(0,1fr); gap:20px; align-items:center; margin:0; }
.home-top-page .home-search-help a { display:inline-block; justify-self:start; max-width:100%; padding-block:8px; min-height:44px; font-size:1.125rem; line-height:1.75; font-weight:600; color:var(--color-brand); text-decoration:underline; text-underline-offset:4px; }
.home-top-page .home-search-help a:focus-visible { outline:3px solid #345d48; outline-offset:4px; }
.home-top-page .home-search-purpose { margin:0; padding:18px 38px 0; font-size:1.125rem; line-height:1.75; font-weight:600; color:var(--color-brand); }
.home-top-page .guide-grid { align-items:start; }
.home-top-page .guide-grid article { min-width:0; }
.home-top-page .guide-grid h3 { margin-top:22px; }
.home-top-page .home-phrase { display:inline-block; max-width:100%; }
.home-top-page .guide-grid p { margin:0 0 16px; }
.home-top-page .guide-action,.home-top-page .home-guide-disclosure { border-top:1px solid #c9d5cb; width:100%; }
.home-top-page .home-guide-disclosure summary,.home-top-page .guide-action { display:flex; align-items:center; min-height:48px; padding:10px 0; font-size:var(--home-body-size); line-height:var(--home-body-line-height); font-weight:600; color:var(--color-brand); }
.home-top-page .home-guide-disclosure summary { justify-content:space-between; gap:14px; list-style:none; cursor:pointer; }
.home-top-page .home-guide-disclosure summary::-webkit-details-marker { display:none; }
.home-top-page .disclosure-symbol::before { content:'＋'; }
.home-top-page details[open] .disclosure-symbol::before { content:'−'; }
.home-top-page .home-guide-disclosure>div { padding-top:12px; }
.home-top-page #guide-model { scroll-margin-top:24px; }
.home-top-page #guide-model:focus-visible,.home-top-page #find-title:focus-visible,.home-top-page #contact:focus-visible { outline:2px solid #345d48; outline-offset:6px; }
.home-top-page .support-grid { grid-template-columns:1.25fr 1fr; gap:64px; }
.home-top-page #contact .home-button { margin-top:8px; max-width:100%; }
.home-top-page .home-company-name { font-size:var(--home-section-title-size); line-height:1.45; font-weight:700; color:var(--color-brand); margin-bottom:16px; }
.home-top-page #company h2 { font-size:var(--home-body-size); font-weight:400; margin-bottom:12px; }
.home-top-page .home-shop { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; border:1px solid #dce3db; font-size:1rem; font-weight:600; line-height:1.75; text-decoration:underline; text-underline-offset:4px; }
.home-top-page .home-shop span { margin:0; font-size:inherit; }
@media(max-width:1000px) { .home-top-page .guide-grid { grid-template-columns:1fr; gap:40px; } .home-top-page .guide-grid article { display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,1.6fr); column-gap:28px; } .home-top-page .guide-grid img { grid-column:1; grid-row:1/4; } .home-top-page .guide-grid h3 { margin-top:0; } .home-top-page .guide-grid article>h3,.home-top-page .guide-grid article>p,.home-top-page .guide-grid article>details,.home-top-page .guide-grid article>a { grid-column:2; } .home-top-page .support-grid { grid-template-columns:1fr; gap:40px; } }
@media(max-width:700px) { .home-top-page .home-search-purpose { padding:18px 18px 0; } .home-top-page .guide-grid article { display:block; } .home-top-page .guide-grid h3 { margin-top:20px; } .home-top-page .shop-grid { gap:12px; } }

/* 3列の閉じたガイドだけを自然伸長で整列。展開中や1列では高さを拘束しない。 */
@media(min-width:1001px) {
  .home-top-page .guide-grid { align-items:stretch; }
  .home-top-page .guide-grid article { display:flex; flex-direction:column; }
  .home-top-page .guide-grid article>img { flex-shrink:0; }
  .home-top-page .guide-grid h3 { min-height:2.9em; }
  .home-top-page .guide-grid article>.guide-action,
  .home-top-page .guide-grid article>.home-guide-disclosure { margin-top:auto; }
  .home-top-page .guide-grid:has(details[open]) { align-items:start; }
}
@media(max-width:900px) {
  .home-top-page .home-search-help { gap:12px; }
  .home-top-page .home-search-help p { grid-template-columns:minmax(0,1fr); gap:0; }
}

/* 自己確認を主操作に、連絡先は読みやすい補助案内として保持。 */
.home-top-page .home-product-check>.home-button { margin-top:8px; max-width:100%; }
.home-top-page .home-support-secondary { margin-top:24px; }
.home-top-page .home-support-secondary p { margin-bottom:8px; }
.home-top-page .home-no-results-actions { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:12px; }

/* Cの寸法候補だけ。検索幅はJSのSIZE_SEARCH_CONFIGから説明へ反映する。 */
.home-top-page #size-panel .size-search-width { color:#303a35; font-weight:600; }
.home-top-page #size-panel .size-input-error { color:#8b2924; font-size:1rem; line-height:1.6; margin:8px 0 0; }
.home-top-page #size-panel [aria-invalid="true"] { border:2px solid #8b2924; }
.home-top-page #size-form-message { color:#303a35; margin:0 0 16px; }
.home-top-page #size-result-conditions { display:flex; flex-wrap:wrap; gap:6px 24px; list-style:none; padding:0; margin:12px 0 24px; color:#303a35; font-size:1rem; line-height:1.75; }
.home-top-page #size-result-conditions[hidden] { display:none; }
.home-top-page #search-results .result-size-comparison { margin:16px 0; padding:14px 0; border-block:1px solid #dce3db; color:#303a35; font-size:1rem; line-height:1.75; overflow-wrap:anywhere; }
.home-top-page #search-results .size-match-label { color:var(--color-brand); font-weight:700; margin:0 0 8px; }
.home-top-page #search-results .size-orientation { margin:0 0 8px; }
.home-top-page #search-results .result-size-comparison ul { list-style:none; padding:0; margin:0; }
.home-top-page #search-results .result-size-comparison li { margin:4px 0; }
.home-top-page #search-results .size-difference-note { margin:8px 0 0; font-size:1rem; }
.home-top-page #edit-size-conditions { border:0; background:transparent; color:var(--color-brand); cursor:pointer; text-align:left; }
.home-top-page #search-result-area .results-heading { flex-wrap:wrap; }
.home-top-page #search-result-area .home-result>div { min-width:0; }
