/* 2026-09-14 approved v2 plan: targeted corrections only.
   A2 already meets 19px on desktop; A4 cycle and A5 FAQ are retained. */
html body.form-platform .contact-tel-block strong {font-size:39px!important;white-space:nowrap}
/* A3: attach the icon to the final, unbreakable phrase. */
html body.subpage .fi-option-link .r2-reading-unit {text-decoration:underline;text-underline-offset:3px}
html body.subpage .fi-option-link .r2-reading-unit:last-child {white-space:nowrap}
html body.subpage .fi-option-link .r2-reading-unit:last-child::after {
  content:"";display:inline-block;width:.85em;height:.85em;margin-left:5px;vertical-align:-.04em;background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9 2h5v5M14 2L7 9M6 3H2v11h11v-4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
html body.subpage .fi-option-link:hover {opacity:.75}
/* A11: preserve the existing glyph crop, enlarging just this source image. */
html body section.fv4ref .fv4ref-function img[src="assets/fv2/icon4.png"] {
  width:56px!important;max-width:none!important;flex-shrink:0;
  transform:translateX(19.7%) scale(1.3)!important;
  clip-path:inset(0 30.769231% 0 0)!important;
}
@media(max-width:768px){
  html body.form-platform .contact-tel-block strong {font-size:31px!important;letter-spacing:-.025em}
  /* A6: equal row tracks, including space for the two-line cost note. */
  html body.subpage.support-page .support-basic-section {--basic-label-line:20px;--basic-value-line:29px;--basic-note-line:18px}
  html body.subpage.support-page .support-basic-grid {gap:10px!important}
  html body.subpage.support-page .support-basic-grid .support-basic-card {
    height:116px;min-height:0;padding:10px 12px!important;row-gap:3px;
    grid-template-rows:20px 2px 29px auto;align-content:center;
  }
  /* 2026-09-14 Claude微調整：注記が2行のカード（費用）は下端に10pxの余白を確保。注記のないカードは中身を上下中央に置き、下の空きを均等にする */
  html body.subpage.support-page .support-basic-grid .support-basic-card:not(:has(.support-basic-note)) {
    grid-template-rows:20px 2px 29px;align-content:center;
  }
  /* 2026-09-14 Claude修正：A11の拡大がスマホにも56px枠のまま効き、他の3つ（30px枠）より大きく見えていた。スマホは他と同じ30px枠で同じ比率の拡大にする */
  html body section.fv4ref .fv4ref-function img[src="assets/fv2/icon4.png"] {
    width:30px!important;
  }
  /* A7: compact filtering without hiding categories or reducing label text. */
  html body.subpage.cases-list-page .page-head {padding-bottom:16px!important}
  html body.subpage.cases-list-page .case-sec {padding-top:12px!important;padding-bottom:12px!important}
  html body.subpage.cases-list-page .case-list-sec {padding-top:0!important}
  html body.subpage.cases-list-page .case-filter {padding:10px 8px!important;gap:8px!important}
  html body.subpage.cases-list-page .case-filter .cf-row {gap:6px!important;flex-wrap:nowrap!important;align-items:center}
  html body.subpage.cases-list-page .case-filter .cf-label {flex:0 0 70px!important;min-width:0;line-height:1.4!important}
  html body.subpage.cases-list-page .case-filter .cf-tags,
  html body.subpage.cases-list-page .case-filter .cf-opts {flex:1 1 0!important;gap:5px!important;padding:0!important;min-width:0}
  html body.subpage.cases-list-page .case-filter .cf-tag,
  html body.subpage.cases-list-page .case-filter .cf-opt {min-height:32px!important;padding:2px 3px!important;line-height:1.4!important;display:inline-flex;align-items:center}
  html body.subpage.cases-list-page .case-filter-actions {padding-top:6px!important}
  html body.subpage.cases-list-page .case-filter-reset {min-height:32px!important;padding:3px 10px!important}
  html body.subpage.cases-list-page .case-filter-status {margin:6px 0 10px!important}
  /* A8: stable vertical choices leave room for the longest label at 360px. */
  html body.form-platform .radio-group:has(#demo-method-online) {flex-direction:column!important;align-items:flex-start!important;gap:4px!important}
  html body.form-platform .radio-group:has(#demo-method-online) .radio {min-height:36px;align-items:center!important}
  /* A9 + A10: preserve image fades and actual text sizes. */
  html body section.fv4ref .fv4ref-functions {height:100px!important;min-height:0!important;padding:0!important}
  html body section.fv4ref .fv4ref-functions-card {height:100px!important;min-height:0!important;padding:4px 0!important}
  html body section.fv4ref .fv4ref-function {padding-top:0!important;padding-bottom:0!important}
  html body section.f04-features#features .f04-row:last-child {padding-bottom:16px!important}
  html body section.f04-features#features .f04-canvas {padding-bottom:16px!important}
  html body section[data-sec="07 RESULT 導入成果"].results-reference .rr-shell {padding-top:24px!important}
  /* A12 + A13: give long labels their full column width before increasing text. */
  html body.subpage.flow-page .process-note {font-size:14.5px!important;align-items:flex-start!important}
  html body.subpage .fi-basic-list, html body.subpage .fi-option-list {column-gap:8px!important}
  html body.subpage .fi-basic-list li {font-size:16px!important;grid-template-columns:24px minmax(0,1fr)!important;column-gap:4px!important;word-break:keep-all;overflow-wrap:normal}
  html body.subpage .fi-basic-list li img {width:24px!important;height:24px!important}
  html body.subpage .fi-option-item {grid-template-columns:minmax(0,1fr)!important;gap:6px!important;align-content:start;padding:12px 0!important}
  html body.subpage .fi-option-item h3 {font-size:16px!important;line-height:1.5!important;letter-spacing:0!important;word-break:keep-all;overflow-wrap:normal;margin:0!important}
  html body.subpage .fi-basic-section .fi-basic-note {font-size:14.5px!important}
  html body.subpage.switch-page .sw-progress-solution .solution-card h3 {font-size:21px!important;line-height:1.5!important}
  /* 24SP2-1 (2026-10-08): 96px labels, 2.5 visible columns, 14px text. */
  html body.subpage.switch-page .cmp-wrap {
    width:100%!important;max-width:100%!important;overflow-x:auto!important;
    container-type:inline-size;scroll-snap-type:none!important;scroll-padding-left:0!important;
  }
  html body.subpage.switch-page .cmp-wrap .compare {
    --cmp-head:96px;--cmp-col:calc((100cqw - var(--cmp-head)) / 1.5);
    width:calc(var(--cmp-head) + 3 * var(--cmp-col))!important;min-width:0!important;table-layout:fixed!important;
  }
  html body.subpage.switch-page .cmp-wrap .compare thead th:first-child,
  html body.subpage.switch-page .cmp-wrap .compare tbody th {
    position:static!important;left:auto!important;z-index:auto!important;width:var(--cmp-head)!important;
    padding:14px 8px!important;font-size:14px!important;line-height:1.6!important;
  }
  html body.subpage.switch-page .cmp-wrap .compare thead th .cmp-item-head strong {font-size:14px!important}
  html body.subpage.switch-page .cmp-wrap .compare thead th:nth-child(n+2),
  html body.subpage.switch-page .cmp-wrap .compare tbody td,
  html body.subpage.switch-page .cmp-wrap .compare tbody td:nth-child(2),
  html body.subpage.switch-page .cmp-wrap .compare tbody tr:first-child td:nth-child(2) {width:var(--cmp-col)!important;scroll-snap-align:none!important;font-size:14px!important;line-height:1.6!important;padding:14px 8px!important}
  html body.subpage.switch-page .cmp-wrap .compare tbody td:nth-child(2) {padding-left:42px!important;background-position:left 10px center!important}
}
