:root {
  --brand: #a34f4d;
  --brand-dark: #803d3c;
  --logo-gray: #999a9c;
  --ink: #2b2c2e;
  --muted: #6f7073;
  --paper: #fffdfb;
  --soft: #f5f5f4;
  --line: #e2e1df;
  --green: #707174;
  --shell: 1180px;
}

* { box-sizing: border-box; }
html { color: var(--ink); background: var(--paper); font-family: "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
.site-header { position: relative; z-index: 950; background: #fff; }
.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.utility { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 12px; color: var(--muted); }
.utility p { margin: 0; }
.utility nav { display: flex; gap: 22px; }
.header-main { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: flex; align-items: center; }
.brand-logo { display: block; width: 300px; max-width: 34vw; height: auto; }
.brand-mark {
  position: relative;
  display: block;
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  overflow: hidden;
  color: transparent;
  background:
    linear-gradient(var(--logo-gray) 0 0) 0 0 / 18px 18px no-repeat,
    linear-gradient(var(--logo-gray) 0 0) 100% 0 / 18px 18px no-repeat,
    linear-gradient(var(--logo-gray) 0 0) 0 100% / 18px 18px no-repeat,
    linear-gradient(var(--logo-gray) 0 0) 100% 100% / 18px 18px no-repeat;
}
.brand-mark::before,
.brand-mark::after {
  content: "";
  position: absolute;
  z-index: 1;
  background: var(--brand);
}
.brand-mark::before { top: 21px; right: 0; left: 0; height: 10px; }
.brand-mark::after { top: 0; bottom: 0; left: 21px; width: 10px; }
.brand strong { display: block; color: var(--logo-gray); font: 800 26px/1 "Arial Narrow", "Helvetica Neue", Arial, sans-serif; letter-spacing: -1.1px; }
.brand strong b { color: var(--brand); font-weight: inherit; }
.brand small { display: block; margin-top: 5px; color: var(--brand); font-weight: 700; }
.header-actions { display: flex; align-items: center; gap: 22px; }
.header-link { font-weight: 700; }
.primary-nav { border-block: 1px solid var(--line); background: #fff; }
.primary-nav .shell { display: grid; grid-template-columns: repeat(7, minmax(92px, 1fr)) minmax(220px, 1.8fr); }
.primary-nav a { display: grid; min-height: 56px; padding: 10px 8px; place-items: center; text-align: center; font-size: 12px; font-weight: 700; border-left: 1px solid var(--line); }
.primary-nav a:last-child { border-right: 1px solid var(--line); }
.menu-button { display: none; }
.button { display: inline-flex; min-height: 50px; padding: 0 24px; align-items: center; justify-content: center; border-radius: 6px; font-weight: 800; }
.button-outline { min-height: 42px; border: 1px solid var(--brand); color: var(--brand-dark); }
.button-primary { color: #fff; background: var(--brand); box-shadow: 0 8px 24px rgb(157 55 67 / 20%); }
.button-secondary { color: #fff; background: var(--green); }
.hero { min-height: 570px; background: linear-gradient(90deg, #fffdfb 0%, rgb(255 253 251 / 96%) 35%, rgb(255 253 251 / 15%) 65%), url("./assets/home-hero-repair-workbench-v1.jpg") center/cover no-repeat; }
.hero-inner { min-height: 570px; display: flex; align-items: center; }
.hero-copy { width: min(590px, 56%); padding-block: 68px; }
.eyebrow { margin: 0 0 12px; color: var(--brand-dark); font-size: 13px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero h1 { margin: 0; font-size: clamp(40px, 4.2vw, 64px); line-height: 1.2; letter-spacing: -.05em; }
.hero-lead { margin: 24px 0 20px; color: #4f4d50; font-size: 17px; line-height: 1.9; }
.hero-points { display: flex; flex-wrap: wrap; gap: 9px 20px; margin: 0; padding: 0; list-style: none; font-size: 14px; font-weight: 800; }
.hero-points li::before { content: "✓"; margin-right: 7px; color: var(--brand); }
.hero-actions { display: flex; gap: 12px; margin-top: 30px; }
.important-notice { border-block: 1px solid #dddcd9; background: #f7f7f6; }
.important-notice .shell { display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; min-height: 62px; }
.important-notice strong { color: var(--brand-dark); font-size: 12px; letter-spacing: .08em; }
.important-notice p { margin: 0; color: #55565a; font-size: 13px; }
.important-notice a { color: var(--brand-dark); font-size: 12px; font-weight: 900; }
.device-entry { display: grid; grid-template-columns: 240px 1fr; gap: 34px; align-items: center; padding-block: 46px; }
.device-entry h2 { margin: 0; font-size: 24px; }
.device-entry nav { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); }
.device-entry a { padding: 18px 14px; border-right: 1px solid var(--line); background: #fff; }
.device-entry a:last-child { border-right: 0; }
.device-entry strong, .device-entry span { display: block; }
.device-entry strong { color: #4f5053; }
.device-entry span { margin-top: 5px; color: var(--muted); font-size: 10px; }
.intent-section { padding-block: 88px; }
.section-heading { margin-bottom: 34px; text-align: center; }
.section-heading h2 { margin: 0; font-size: clamp(30px, 3vw, 44px); letter-spacing: -.04em; }
.intent-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.intent-grid a { position: relative; padding: 24px 46px 24px 24px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgb(61 44 40 / 5%); }
.intent-grid a::after { content: "→"; position: absolute; right: 20px; top: 50%; translate: 0 -50%; color: var(--brand); font-size: 21px; }
.intent-grid strong, .intent-grid span { display: block; }
.intent-grid strong { font-size: 18px; }
.intent-grid span { margin-top: 6px; color: var(--muted); font-size: 13px; }
.section-pad { padding-block: 88px; }
.section-lead { max-width: 760px; margin: 16px auto 0; color: var(--muted); line-height: 1.9; }
.center-action { margin-top: 36px; text-align: center; }
.text-link { color: var(--brand-dark); font-weight: 900; }
.price-section { background: var(--soft); }
.price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.price-grid a { padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.price-grid span, .price-grid strong, .price-grid b { display: block; }
.price-grid span { color: var(--muted); font-size: 12px; }
.price-grid strong { margin-top: 7px; }
.price-grid b { margin-top: 15px; color: var(--brand-dark); font-size: 21px; }
.service-feature { padding-top: 0; background: var(--soft); }
.feature-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 18px; }
.feature-card { min-height: 350px; padding: 46px; border-radius: 10px; color: #fff; background: #353133; }
.feature-board { background: linear-gradient(120deg, rgb(32 29 30 / 96%), rgb(32 29 30 / 55%)), url("./assets/home-hero-repair-workbench-v1.jpg") center/cover; }
.feature-corporate { color: var(--ink); background: #e5e5e4; }
.area-guide { padding-block: 42px; border-block: 1px solid var(--line); background: #fff; }
.area-guide .shell { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.area-guide h2 { margin: 0; color: #3c3d40; font-size: 25px; }
.area-guide p:not(.eyebrow) { max-width: 760px; margin: 10px 0 0; color: var(--muted); line-height: 1.8; }
.feature-label { font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.feature-card h2 { margin: 48px 0 16px; font-size: clamp(25px, 2.5vw, 36px); line-height: 1.4; }
.feature-card p { max-width: 590px; line-height: 1.8; }
.feature-card b { display: inline-block; margin-top: 16px; }
.repair-menu-section { background: #fff; }
.repair-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.repair-grid a { min-height: 128px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.repair-grid i, .repair-grid strong, .repair-grid span { display: block; }
.repair-grid i { color: var(--brand); font-style: normal; font-size: 11px; font-weight: 900; }
.repair-grid strong { margin-top: 9px; font-size: 17px; }
.repair-grid span { margin-top: 7px; color: var(--muted); font-size: 12px; }
.method-section { background: var(--soft); }
.method-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.method-grid article { padding: 38px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.method-grid article > span { color: var(--brand-dark); font-size: 12px; font-weight: 900; }
.method-grid h3 { margin: 10px 0 12px; font-size: 28px; }
.method-grid p { color: var(--muted); line-height: 1.8; }
.method-grid ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 26px 0; padding: 0; list-style-position: inside; }
.method-grid li { padding: 13px 8px; color: #514d4e; background: var(--soft); font-size: 12px; text-align: center; }
.trust-section { padding-block: 86px; color: var(--ink); border-block: 1px solid var(--line); background: #f2f2f1; }
.section-heading-light .eyebrow { color: var(--brand-dark); }
.section-heading-light .section-lead { color: var(--muted); }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 980px; margin-inline: auto; }
.trust-grid article { padding: 24px; border: 1px solid #dddcd9; border-top: 3px solid var(--logo-gray); background: #fff; }
.trust-grid b { color: var(--brand); font-size: 13px; letter-spacing: .12em; }
.trust-grid h3 { margin: 14px 0 10px; font-size: 22px; }
.trust-grid p { margin: 0; color: var(--muted); line-height: 1.8; }
.trust-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 28px; margin-top: 44px; }
.trust-actions a { color: var(--brand-dark); font-weight: 800; }
.voices-section { background: #fff; }
.voice-grid, .media-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.voice-grid article, .media-grid article { padding: 30px; border: 1px solid var(--line); border-radius: 8px; }
.voice-grid span, .media-grid span { color: var(--brand-dark); font-size: 12px; font-weight: 900; }
.voice-grid h3, .media-grid h3 { font-size: 19px; line-height: 1.6; }
.voice-grid p, .media-grid p { color: var(--muted); line-height: 1.8; }
.symptom-section { background: var(--soft); }
.symptom-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.symptom-grid a { padding: 17px; border: 1px solid var(--line); background: #fff; font-size: 13px; font-weight: 700; }
.symptom-grid a::before { content: "＋"; margin-right: 8px; color: var(--brand); }
.content-narrow { max-width: 900px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 24px 52px 24px 8px; cursor: pointer; font-weight: 800; list-style: none; }
.faq-list summary::after { content: "＋"; position: absolute; right: 12px; color: var(--brand); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 52px 26px 8px; color: var(--muted); line-height: 1.9; }
.media-section { background: var(--soft); }
.media-grid article { background: #fff; }
.knowledge-section { background: #fff; }
.knowledge-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; }
.column-title { display: grid; grid-template-columns: 1fr auto; align-items: end; margin-bottom: 16px; }
.column-title span { grid-column: 1 / -1; color: var(--brand-dark); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.column-title h3 { margin: 7px 0 0; font-size: 24px; }
.column-title a { color: var(--brand-dark); font-size: 12px; font-weight: 900; }
.knowledge-list { border-top: 1px solid var(--line); }
.knowledge-list a { display: block; padding: 22px 4px; border-bottom: 1px solid var(--line); }
.knowledge-list small, .knowledge-list strong, .knowledge-list span { display: block; }
.knowledge-list small { color: var(--brand-dark); font-weight: 900; }
.knowledge-list strong { margin-top: 8px; font-size: 17px; line-height: 1.6; }
.knowledge-list span { margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.news-layout { display: grid; grid-template-columns: 220px 1fr; border: 1px solid var(--line); }
.news-layout nav { display: grid; align-content: start; background: var(--soft); }
.news-layout button { padding: 20px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; font-weight: 800; }
.news-layout button.active { color: #fff; background: var(--brand); }
.news-list { padding: 10px 30px; }
.news-list a { display: grid; grid-template-columns: 110px 100px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); align-items: center; }
.news-list time { color: var(--muted); font-size: 12px; }
.news-list span { color: var(--brand-dark); font-size: 11px; font-weight: 900; }
.final-cta { padding-block: 80px; text-align: center; background: #f2f2f1; }
.final-cta h2 { max-width: 850px; margin: 0 auto 30px; font-size: clamp(28px, 3vw, 44px); line-height: 1.5; }
.final-cta > .shell > div { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.site-footer { padding-top: 60px; color: #d8d8d7; background: #323335; }
.footer-grid { display: grid; grid-template-columns: 1.35fr repeat(4, 1fr); gap: 34px; padding-bottom: 50px; }
.footer-brand img { width: min(260px, 100%); height: auto; filter: brightness(1.22); }
.footer-grid strong { color: #fff; font-size: 23px; }
.footer-grid strong b { color: #c78280; }
.footer-grid p { line-height: 1.8; }
.footer-grid h2 { color: #fff; font-size: 14px; }
.footer-grid a { display: block; margin-top: 12px; font-size: 13px; }
.copyright { padding-block: 20px; border-top: 1px solid #494344; font-size: 11px; }
.mobile-sitemap { display: none; }

.estimate-dock {
  position: fixed;
  bottom: 18px;
  left: 50%;
  z-index: 900;
  display: grid;
  width: min(760px, calc(100% - 40px));
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  border: 1px solid #d9d4d1;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 34px rgb(28 22 23 / 22%);
  transform: translateX(-50%);
}
.estimate-dock-item {
  display: flex;
  min-width: 0;
  min-height: 76px;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 10px 18px;
  border: 0;
  border-right: 1px solid #e7e2df;
  color: #302c2e;
  background: #fff;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: color .2s, background .2s;
}
.estimate-dock-item:last-child { border-right: 0; }
.estimate-dock-item svg {
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.6;
}
.estimate-dock-item span,
.estimate-dock-item small,
.estimate-dock-item strong { display: block; }
.estimate-dock-item small {
  color: #82797c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
}
.estimate-dock-item strong { margin-top: 3px; font-size: 17px; }
.estimate-dock-item:hover { color: var(--brand-dark); background: #fbf7f5; }
.estimate-dock-price {
  color: #fff;
  background: var(--brand);
}
.estimate-dock-price small { color: rgb(255 255 255 / 82%); }
.estimate-dock-price:hover { color: #fff; background: var(--brand-dark); }
.estimate-dock-mail { color: #fff; background: var(--logo-gray); }
.estimate-dock-mail small { color: rgb(255 255 255 / 82%); }
.estimate-dock-mail:hover { color: #fff; background: #858689; }
.estimate-dock-contact { color: #fff; background: #55565a; }
.estimate-dock-contact small { color: rgb(255 255 255 / 82%); }
.estimate-dock-contact:hover { color: #fff; background: #414246; }
.estimate-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgb(20 18 19 / 62%);
  backdrop-filter: blur(3px);
}
.estimate-overlay[hidden] { display: none; }
.estimate-open { overflow: hidden; }
.estimate-modal {
  position: relative;
  width: min(920px, 100%);
  max-height: min(760px, calc(100vh - 48px));
  overflow: auto;
  padding: 42px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 80px rgb(0 0 0 / 28%);
}
.estimate-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: #625b5e;
  background: #fff;
  cursor: pointer;
  font-size: 26px;
}
.estimate-progress { display: flex; justify-content: center; gap: 8px; margin-bottom: 22px; }
.estimate-progress i { width: 52px; height: 4px; border-radius: 9px; background: #e8ded9; }
.estimate-progress i.active { background: var(--brand); }
.estimate-back { padding: 0; border: 0; color: var(--brand-dark); background: none; cursor: pointer; font-weight: 800; }
.estimate-content { max-width: 760px; margin: 24px auto 0; text-align: center; }
.estimate-kicker { margin: 0; color: var(--brand-dark); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.estimate-content h2 { margin: 10px 0 8px; font-size: clamp(26px, 3vw, 38px); }
.estimate-content > p:not(.estimate-kicker) { color: var(--muted); }
.estimate-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 30px; }
.estimate-option {
  min-height: 64px;
  padding: 12px;
  border: 1px solid #d9c5bf;
  border-radius: 8px;
  color: #282527;
  background: #fff;
  cursor: pointer;
  font: 800 16px/1.35 inherit;
}
.estimate-option:hover { border-color: var(--brand); background: #fcf5f3; }
.estimate-selection { margin: 28px 0; border-top: 1px solid var(--line); }
.estimate-selection div { display: grid; grid-template-columns: 120px 1fr; padding: 14px; border-bottom: 1px solid var(--line); text-align: left; }
.estimate-selection dt { color: var(--muted); }
.estimate-selection dd { margin: 0; font-weight: 800; }
.estimate-note { font-size: 13px; line-height: 1.8; }
.estimate-result-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.estimate-result-actions a { display: grid; min-height: 58px; place-items: center; border-radius: 7px; color: #fff; background: var(--brand); font-weight: 900; }
.estimate-result-actions a:last-child { background: #486b57; }

@media (max-width: 820px) {
  .shell { width: min(calc(100% - 32px), var(--shell)); }
  .utility, .header-actions { display: none; }
  .header-main { min-height: 72px; }
  .brand-mark {
    width: 42px;
    height: 42px;
    background-size: 15px 15px, 15px 15px, 15px 15px, 15px 15px;
  }
  .brand-mark::before { top: 17px; height: 8px; }
  .brand-mark::after { left: 17px; width: 8px; }
  .brand-logo { width: 210px; max-width: calc(100vw - 92px); }
  .brand strong { font-size: 20px; }
  .brand small { font-size: 10px; }
  .menu-button { display: block; width: 48px; height: 48px; border: 1px solid var(--brand); border-radius: 5px; color: var(--brand-dark); background: #fff; font-size: 11px; font-weight: 900; }
  .primary-nav {
    position: absolute;
    top: 72px;
    right: 0;
    left: 0;
    z-index: 1000;
    display: none;
    border-top: 1px solid var(--line);
    background: rgb(255 255 255 / 98%);
    box-shadow: 0 18px 34px rgb(44 42 43 / 14%);
  }
  .primary-nav.is-open { display: block; }
  .primary-nav .shell { width: 100%; grid-template-columns: 1fr 1fr; }
  .primary-nav a {
    min-height: 54px;
    padding: 11px 8px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    font-size: 12px;
  }
  .primary-nav a:nth-child(2n) { border-right: 0; }
  .primary-nav a:last-child { grid-column: 1 / -1; border-right: 0; }
  .menu-button[aria-expanded="true"] { color: #fff; background: var(--brand); }
  .mobile-sitemap {
    display: block;
    max-height: calc(100vh - 330px);
    overflow: auto;
    padding: 18px 16px 26px;
    border-top: 4px solid var(--soft);
    background: #fff;
  }
  .mobile-sitemap > p {
    margin: 0 0 14px;
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .1em;
  }
  .mobile-sitemap > div { display: grid; gap: 14px; }
  .mobile-sitemap section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #faf9f8;
  }
  .mobile-sitemap strong {
    grid-column: 1 / -1;
    padding-bottom: 5px;
    color: #3e3f42;
    font-size: 13px;
  }
  .mobile-sitemap a {
    display: grid;
    min-height: 40px;
    padding: 9px 10px;
    place-items: center start;
    border: 1px solid #ebe4e1;
    border-radius: 6px;
    color: #55565a;
    background: #fff;
    text-align: left;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
  }
  .mobile-sitemap-primary a {
    color: var(--brand-dark);
    border-color: #dec9c5;
    background: #fffafa;
  }
  .mobile-model-accordion {
    grid-column: 1 / -1;
    border: 1px solid #ebe4e1;
    border-radius: 7px;
    background: #fff;
    overflow: hidden;
  }
  .mobile-model-accordion summary {
    position: relative;
    min-height: 44px;
    padding: 12px 42px 12px 13px;
    cursor: pointer;
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
    list-style: none;
  }
  .mobile-model-accordion summary::-webkit-details-marker { display: none; }
  .mobile-model-accordion summary::after {
    content: "+";
    position: absolute;
    right: 14px;
    top: 50%;
    color: var(--brand);
    font-size: 18px;
    font-weight: 900;
    translate: 0 -50%;
  }
  .mobile-model-accordion[open] summary::after { content: "−"; }
  .mobile-model-accordion > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    padding: 10px;
    border-top: 1px solid var(--line);
    background: #fbfaf9;
  }
  .mobile-model-accordion a {
    min-height: 38px;
    padding: 8px 9px;
    font-size: 10px;
    background: #fff;
  }
  .hero { min-height: auto; padding-top: 250px; background: linear-gradient(0deg, #fffdfb 0%, #fffdfb 53%, rgb(255 253 251 / 5%) 75%), url("./assets/home-hero-repair-workbench-v1.jpg") 68% top/auto 320px no-repeat; }
  .hero-inner { min-height: auto; }
  .hero-copy { width: 100%; padding: 32px 0 54px; }
  .hero h1 { font-size: clamp(34px, 10vw, 48px); }
  .hero-lead { font-size: 15px; line-height: 1.8; }
  .hero-points { display: grid; gap: 8px; }
  .hero-actions { display: grid; }
  .important-notice .shell { grid-template-columns: 1fr; gap: 5px; padding-block: 14px; }
  .important-notice a { margin-top: 3px; }
  .device-entry { grid-template-columns: 1fr; gap: 20px; padding-block: 36px; }
  .device-entry nav { grid-template-columns: repeat(3, 1fr); }
  .device-entry a { border-bottom: 1px solid var(--line); }
  .device-entry a:nth-child(3) { border-right: 0; }
  .area-guide .shell { display: grid; }
  .area-guide .button { justify-self: start; }
  .intent-section { padding-block: 62px; }
  .intent-grid { grid-template-columns: 1fr 1fr; }
  .intent-grid a { padding: 19px 34px 19px 17px; }
  .intent-grid strong { font-size: 15px; }
  .section-pad { padding-block: 62px; }
  .price-grid { grid-template-columns: 1fr 1fr; }
  .feature-grid, .method-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 300px; padding: 30px; }
  .feature-card h2 { margin-top: 50px; }
  .repair-grid { grid-template-columns: 1fr 1fr; }
  .trust-grid { grid-template-columns: 1fr 1fr; gap: 26px; }
  .voice-grid, .media-grid { grid-template-columns: 1fr; }
  .knowledge-columns { grid-template-columns: 1fr; }
  .symptom-grid { grid-template-columns: 1fr 1fr; }
  .news-layout { grid-template-columns: 1fr; }
  .news-layout nav { display: flex; }
  .news-layout button { flex: 1; padding: 14px 7px; text-align: center; }
  .news-list { padding: 8px 18px; }
  .news-list a { grid-template-columns: 90px 1fr; }
  .news-list strong { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  body { padding-bottom: 108px; }
  .estimate-dock {
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    grid-template-columns: repeat(3, 1fr);
    overflow: visible;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
    border: 0;
    border-top: 1px solid #ddd7d4;
    border-radius: 0;
    background: rgb(255 255 255 / 96%);
    box-shadow: 0 -8px 28px rgb(32 26 28 / 12%);
    transform: none;
    backdrop-filter: blur(10px);
  }
  .estimate-dock-item {
    width: 92px;
    min-height: 92px;
    justify-self: center;
    flex-direction: column;
    gap: 3px;
    padding: 6px 3px;
    border: 1px solid #ddd7d4;
    border-radius: 50%;
    background: #fff;
    text-align: center;
  }
  .estimate-dock-item:last-child { border: 1px solid #ddd7d4; }
  .estimate-dock-item svg { width: 31px; height: 31px; }
  .estimate-dock-item small { display: none; }
  .estimate-dock-item strong { margin: 0; font-size: 13px; }
  .estimate-dock-price {
    width: 104px;
    margin-top: -19px;
    min-height: 104px;
    border-color: var(--brand);
    border-radius: 50%;
    background: var(--brand);
    box-shadow: 0 7px 18px rgb(167 61 73 / 24%);
  }
  .estimate-dock-mail {
    border-color: var(--logo-gray);
    color: #fff;
    background: var(--logo-gray);
  }
  .estimate-dock-contact {
    border-color: #55565a;
    color: #fff;
    background: #55565a;
  }
  .estimate-modal { padding: 34px 18px 24px; border-radius: 12px; }
  .estimate-options { grid-template-columns: 1fr 1fr; gap: 9px; }
  .estimate-option { min-height: 56px; font-size: 14px; }
}

@media (max-width: 480px) {
  .intent-grid { grid-template-columns: 1fr; }
  .price-grid, .repair-grid, .trust-grid, .symptom-grid, .footer-grid { grid-template-columns: 1fr; }
  .method-grid article { padding: 26px; }
  .method-grid ol { grid-template-columns: 1fr; }
  .final-cta > .shell > div { display: grid; }
  .device-entry nav { grid-template-columns: 1fr 1fr; }
  .device-entry a:nth-child(2n) { border-right: 0; }
  .device-entry a:nth-child(3) { border-right: 1px solid var(--line); }
  .estimate-options, .estimate-result-actions { grid-template-columns: 1fr; }
}

/* ===== フッター・フルサイトマップ（PC4列／SP折り畳みアコーディオン）===== */
.footer-brandrow { padding-bottom: 28px; }
.footer-sitemap { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; padding: 30px 0 46px; border-top: 1px solid rgba(255,255,255,.12); }
.footer-sitemap .fmap { border: 0; }
.footer-sitemap summary { list-style: none; color: #fff; font-size: 14px; font-weight: 800; margin-bottom: 12px; padding-bottom: 9px; border-bottom: 1px solid rgba(255,255,255,.18); }
.footer-sitemap summary::-webkit-details-marker { display: none; }
.footer-sitemap .fmap-links { display: flex; flex-direction: column; gap: 9px; }
.footer-sitemap .fmap-links a { display: block; color: #cfcdcc; font-size: 13px; line-height: 1.5; text-decoration: none; }
.footer-sitemap .fmap-links a:hover { color: #fff; text-decoration: underline; }
@media (min-width: 821px) {
  .footer-sitemap .fmap > summary { cursor: pointer; transition: color .15s ease; }
  .footer-sitemap .fmap > summary:hover { color: #fff; }
  .footer-sitemap .fmap > summary::after { content: "\25be"; float: right; color: #fff; opacity: .75; transition: transform .22s ease; }
  .footer-sitemap .fmap[open] > summary::after { transform: rotate(180deg); }
  .footer-sitemap .fmap[open] .fmap-links { animation: sdpFmapIn .22s ease both; }
  .footer-sitemap .fmap { position: relative; }
  .footer-sitemap .fmap[open] .fmap-links { position: absolute; left: 0; top: 100%; min-width: max(100%, 240px); background: #3a3b3e; padding: 14px 16px 16px; border-radius: 0 0 10px 10px; box-shadow: 0 18px 36px rgba(0,0,0,.45); z-index: 30; }
}
@media (max-width: 820px) {
  .footer-sitemap { grid-template-columns: 1fr; gap: 0; padding-top: 16px; }
  .footer-sitemap .fmap { border-bottom: 1px solid rgba(255,255,255,.14); }
  .footer-sitemap summary { cursor: pointer; margin-bottom: 0; padding: 15px 2px; border-bottom: 0; display: flex; justify-content: space-between; align-items: center; }
  .footer-sitemap summary::after { content: "＋"; color: #fff; font-weight: 800; }
  .footer-sitemap .fmap[open] summary::after { content: "−"; }
  .footer-sitemap .fmap-links { padding: 0 2px 16px; }
}

/* === 2026-06-21 TOP上部 iPhone画面割れ KVバナー === */
.top-kv-wrap{padding:16px 0 4px}
.top-kv-banner{display:block;margin:0 auto;max-width:1180px;border-radius:14px;overflow:hidden;box-shadow:0 14px 34px rgba(80,54,50,.12);transition:transform .25s ease, box-shadow .25s ease}
.top-kv-banner:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(80,54,50,.2)}
.top-kv-banner img{display:block;width:100%;height:auto}
@media (max-width:767px){.top-kv-wrap{padding:10px 0 2px}.top-kv-banner{border-radius:10px}}


/* === TOPスライダーヒーロー（top-slider-home.css 2026-06-21 17:36版・最新差し替え） === */
/* TOP mockup 11 fixed slider / responsive CSS redo / 2026-06-21
   Use exactly five images. Do not place a standalone banner above .hero. */

.top-kv-wrap {
  display: none !important;
}

.hero.sdp-home-hero {
  --sdp-brand: #a34f4d;
  --sdp-brand-dark: #803d3c;
  --sdp-ink: #242122;
  --sdp-muted: #5d5857;
  --sdp-line: #e3dad6;
  --sdp-soft: #fbf8f5;
  --sdp-paper: #fff;
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: linear-gradient(180deg, #fffdfb 0%, #fbf8f5 100%) !important;
  overflow: hidden;
}

.hero.sdp-home-hero,
.hero.sdp-home-hero * {
  box-sizing: border-box;
}

.hero.sdp-home-hero .sdp-home-hero__grid {
  min-height: 690px;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(620px, 1.12fr);
  gap: 54px;
  align-items: center;
  padding: 66px 0 44px;
}

.hero.sdp-home-hero .hero-copy {
  width: auto;
  max-width: 620px;
  padding: 0;
}

.hero.sdp-home-hero .hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.sdp-top-slider {
  position: relative;
  width: 100%;
  max-width: 790px;
  margin-left: auto;
  padding: 28px;
  border: 1px solid rgba(163, 79, 77, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 26px 62px rgba(54, 40, 38, .12);
}

.sdp-top-slider__stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 154px;
  gap: 18px;
  align-items: stretch;
}

.sdp-top-slider__viewport {
  position: relative;
  min-height: 312px;
  overflow: hidden;
}

.sdp-top-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 15px;
  min-height: 100%;
  padding: 14px;
  border: 1.5px solid var(--sdp-line);
  border-radius: 8px;
  color: var(--sdp-ink);
  text-decoration: none;
  opacity: 0;
  visibility: hidden;
  transform: translateX(16px);
  transition: opacity .35s ease, transform .35s ease, visibility .35s ease, border-color .25s ease;
}

.sdp-top-slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  border-color: var(--sdp-brand);
}

.sdp-top-slide__media {
  display: block;
  width: 100%;
  aspect-ratio: 1180 / 373;
  border: 1px solid var(--sdp-line);
  border-radius: 8px;
  background: #faf7f4;
  overflow: hidden;
}

.sdp-top-slide__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sdp-top-slide__copy {
  display: block;
  min-width: 0;
}

.sdp-top-slide__copy strong {
  display: block;
  margin: 0 0 7px;
  color: var(--sdp-ink);
  font-size: 27px;
  line-height: 1.28;
  font-weight: 900;
}

.sdp-top-slide__copy span {
  display: block;
  color: var(--sdp-muted);
  font-size: 14px;
  line-height: 1.65;
  font-weight: 700;
}

.sdp-top-slider__tabs {
  display: grid;
  gap: 10px;
  align-content: start;
}

.sdp-top-slider__tab,
.sdp-top-card {
  appearance: none;
  border: 0;
  cursor: pointer;
  font: inherit;
}

.sdp-top-slider__tab {
  min-height: 48px;
  border: 1px solid var(--sdp-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sdp-brand-dark);
  font-size: 14px;
  font-weight: 900;
  text-align: center;
  box-shadow: 0 10px 24px rgba(54, 40, 38, .05);
  transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.sdp-top-slider__tab.is-active,
.sdp-top-slider__tab:hover,
.sdp-top-slider__tab:focus-visible {
  border-color: var(--sdp-brand);
  background: #fff;
  color: var(--sdp-brand-dark);
  outline: none;
}

.sdp-top-slider__tab:hover,
.sdp-top-slider__tab:focus-visible {
  transform: translateX(-3px);
}

.sdp-top-slider__controls {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  padding-top: 18px;
}

.sdp-top-slider__arrows {
  display: flex;
  gap: 8px;
}

.sdp-top-slider__arrow,
.sdp-top-slider__dot {
  appearance: none;
  border: 0;
  cursor: pointer;
}

.sdp-top-slider__arrow {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #d9ceca;
  border-radius: 50%;
  background: #fff;
  color: var(--sdp-brand-dark);
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.sdp-top-slider__arrow:hover,
.sdp-top-slider__arrow:focus-visible {
  border-color: var(--sdp-brand);
  background: var(--sdp-brand);
  color: #fff;
  outline: none;
  transform: translateY(-2px);
}

.sdp-top-slider__dots {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.sdp-top-slider__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border-radius: 999px;
  background: #c8c0bd;
  transition: width .25s ease, background-color .25s ease, transform .25s ease;
}

.sdp-top-slider__dot.is-active {
  width: 30px;
  background: var(--sdp-brand);
}

.sdp-top-cardrail {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  margin-top: 18px;
  perspective: 1000px;
}

.sdp-top-card {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 10px;
  min-height: 250px;
  padding: 14px;
  border: 1px solid var(--sdp-line);
  border-radius: 8px;
  background: var(--sdp-paper);
  color: var(--sdp-ink);
  text-align: left;
  box-shadow: 0 18px 42px rgba(54, 40, 38, .08);
  overflow: hidden;
  transform: translateZ(0);
  transform-origin: center bottom;
  transition: border-color .2s ease, box-shadow .2s ease;
  will-change: transform;
}

.sdp-top-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1px;
  background: linear-gradient(110deg, transparent 0%, transparent 38%, rgba(255, 255, 255, .72) 48%, transparent 58%, transparent 100%);
  opacity: 0;
  transform: translateX(-110%) skewX(-14deg);
}

.sdp-top-card.is-active {
  border-color: var(--sdp-brand);
}

.sdp-top-card:focus-visible {
  border-color: var(--sdp-brand);
  outline: 3px solid rgba(163, 79, 77, .18);
  outline-offset: 3px;
}

.sdp-top-card__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid #e5dcd8;
  border-radius: 8px;
  background: #faf7f4;
  overflow: hidden;
}

.sdp-top-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .34s ease, filter .34s ease;
}

.sdp-top-card__num {
  display: inline-flex;
  width: fit-content;
  min-height: 30px;
  align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  background: #f7f1ee;
  color: var(--sdp-brand-dark);
  font-size: 13px;
  font-weight: 900;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.sdp-top-card strong {
  display: block;
  color: var(--sdp-ink);
  font-size: 22px;
  line-height: 1.25;
  font-weight: 900;
}

.sdp-top-card span:not(.sdp-top-card__media):not(.sdp-top-card__num) {
  display: block;
  color: var(--sdp-muted);
  font-size: 13px;
  line-height: 1.55;
  font-weight: 700;
}

.sdp-top-card__cta {
  justify-self: start;
  min-width: 126px;
  padding: 8px 15px;
  border: 1px solid var(--sdp-line);
  border-radius: 999px;
  color: var(--sdp-brand-dark) !important;
  background: var(--sdp-soft);
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.sdp-top-card.is-active .sdp-top-card__cta {
  border-color: var(--sdp-brand);
  background: var(--sdp-brand);
  color: #fff !important;
}

@media (hover: hover) and (pointer: fine) and (min-width: 1061px) {
  .sdp-top-card:hover {
    z-index: 5;
    border-color: var(--sdp-brand);
    box-shadow: 0 28px 62px rgba(80, 45, 42, .18);
    animation: sdp-card-wobble .62s cubic-bezier(.2, .8, .2, 1) both;
  }

  .sdp-top-card:hover::before {
    opacity: 1;
    transform: translateX(115%) skewX(-14deg);
    transition: transform .62s ease, opacity .2s ease;
  }

  .sdp-top-card:hover .sdp-top-card__media img {
    transform: scale(1.055);
    filter: saturate(1.04) contrast(1.03);
  }

  .sdp-top-card:hover .sdp-top-card__num {
    background: var(--sdp-brand);
    color: #fff;
    transform: translateY(-2px);
  }

  .sdp-top-card:hover .sdp-top-card__cta {
    border-color: var(--sdp-brand);
    background: var(--sdp-brand);
    color: #fff !important;
    transform: translateY(-1px);
  }
}

@keyframes sdp-card-wobble {
  0% {
    transform: translateY(0) scale(1) rotate(0);
  }
  34% {
    transform: translateY(-12px) scale(1.045) rotate(-.8deg);
  }
  66% {
    transform: translateY(-10px) scale(1.04) rotate(.55deg);
  }
  100% {
    transform: translateY(-10px) scale(1.04) rotate(0);
  }
}

@media (max-width: 1180px) {
  .hero.sdp-home-hero .sdp-home-hero__grid {
    grid-template-columns: 1fr;
    min-height: auto;
    gap: 28px;
    align-items: start;
    padding: 26px 0 46px;
  }

  .hero.sdp-home-hero .hero-copy,
  .sdp-top-slider {
    max-width: none;
    margin: 0;
  }

  .sdp-top-cardrail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .hero.sdp-home-hero .sdp-home-hero__grid {
    gap: 22px;
  }

  .sdp-top-slider {
    padding: 18px;
  }

  .sdp-top-slider__stage {
    grid-template-columns: 1fr;
  }

  .sdp-top-slider__viewport {
    min-height: 0;
    overflow: visible;
  }

  .sdp-top-slide {
    position: relative;
    inset: auto;
    display: none;
    min-height: auto;
    opacity: 0;
    visibility: hidden;
    transform: none;
  }

  .sdp-top-slide.is-active {
    display: grid;
    opacity: 1;
    visibility: visible;
  }

  .sdp-top-slide__copy strong {
    font-size: 24px;
  }

  .sdp-top-slider__tabs {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    grid-template-columns: none;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 2px 8px;
    scrollbar-width: none;
  }

  .sdp-top-slider__tabs::-webkit-scrollbar {
    display: none;
  }

  .sdp-top-slider__tab {
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 12px;
    white-space: nowrap;
  }

  .sdp-top-slider__tab:hover,
  .sdp-top-slider__tab:focus-visible {
    transform: translateY(-1px);
  }
}

@media (max-width: 720px) {
  .hero.sdp-home-hero {
    padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important;
  }

  .hero.sdp-home-hero .sdp-home-hero__grid {
    padding: 20px 0 24px;
  }

  .hero.sdp-home-hero .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .sdp-top-slider {
    padding: 14px;
    border-radius: 8px;
    box-shadow: 0 16px 36px rgba(54, 40, 38, .10);
  }

  .sdp-top-slide {
    gap: 12px;
    padding: 12px;
    border-width: 1px;
  }

  .sdp-top-slide__media {
    aspect-ratio: 1180 / 373;
  }

  .sdp-top-slide__media img {
    object-fit: contain;
  }

  .sdp-top-slide__copy strong {
    margin-bottom: 6px;
    font-size: 22px;
    line-height: 1.25;
  }

  .sdp-top-slide__copy span {
    font-size: 13px;
    line-height: 1.6;
  }

  .sdp-top-slider__controls {
    justify-content: center;
    gap: 14px;
    padding-top: 14px;
  }

  .sdp-top-slider__arrows {
    order: 2;
  }

  .sdp-top-slider__dots {
    order: 1;
  }

  .sdp-top-cardrail {
    display: flex;
    grid-template-columns: none;
    gap: 14px;
    margin: 18px -16px 0;
    padding: 0 16px 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .sdp-top-cardrail::-webkit-scrollbar {
    height: 0;
  }

  .sdp-top-card {
    flex: 0 0 min(78vw, 320px);
    min-height: 0;
    scroll-snap-align: start;
  }

  .sdp-top-card__media {
    aspect-ratio: 1180 / 373;
  }

  .sdp-top-card strong {
    font-size: 21px;
  }

  .sdp-top-card__cta {
    min-width: 118px;
  }
}

@media (max-width: 430px) {
  .hero.sdp-home-hero .hero-actions {
    grid-template-columns: 1fr;
  }

  .sdp-top-slider {
    padding: 12px;
  }

  .sdp-top-slide__copy strong {
    font-size: 20px;
  }

  .sdp-top-slider__arrow {
    width: 32px;
    height: 32px;
  }

  .sdp-top-card {
    flex-basis: 84vw;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sdp-top-slide,
  .sdp-top-slider__tab,
  .sdp-top-slider__dot,
  .sdp-top-slider__arrow,
  .sdp-top-card,
  .sdp-top-card::before,
  .sdp-top-card__media img,
  .sdp-top-card__num,
  .sdp-top-card__cta {
    animation: none !important;
    transition: none !important;
  }
}

/* === 法人カード：バナー入り（2026-06-21 法人修理バナー指示書） === */
.feature-corporate {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 350px;
  padding: 0;
  overflow: hidden;
  color: var(--ink);
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 18px 42px rgb(61 44 40 / 7%);
}
.feature-card__banner { display: block; padding: 20px 20px 0; }
.feature-card__banner img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1180 / 373;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbf8f5;
}
.feature-corporate .feature-card__body { display: block; padding: 24px 42px 38px; }
.feature-corporate .feature-label { color: var(--brand); }
.feature-corporate h2 { margin: 14px 0 14px; }
.feature-corporate p { color: var(--muted); }
.feature-corporate b { color: var(--brand-dark); }
@media (max-width: 900px) {
  .feature-corporate { padding: 0; }
  .feature-corporate .feature-card__body { padding: 22px 28px 30px; }
  .feature-corporate h2 { margin-top: 14px; }
}

/* === tx-table レスポンシブ折り返し（インラインnowrap上書き）2026-06-21 === */
.tx-table tbody th{white-space:normal!important}
@media(max-width:600px){
  .tx-table{font-size:13.5px}
  .tx-table th,.tx-table td{padding:9px 10px!important;word-break:break-word}
}

/* === device-entry: ブランド赤の縦区切り線を全セル右に（Mac含む・全幅対応）2026-06-22 === */
.device-entry nav { border-color: var(--brand); }
.device-entry nav a { border-right: 1px solid var(--brand) !important; border-bottom-color: var(--brand); }

/* === モバイル左右パン防止：TOP(styles.css)にもルートのクリップを適用（slider/cardrailは各自スクロール領域）2026-06-22 === */
@media (max-width: 900px){
  html, body { overflow-x: clip !important; max-width: 100% !important; }
}

/* === TOP 症状/端末グリッドのアイコン 2026-06-22 === */
.intent-grid a { padding-left: 86px; }
.intent-grid .intent-ico { position:absolute; left:20px; top:50%; transform:translateY(-50%); width:52px; height:52px; }
.device-entry nav a { text-align:center; }
.device-entry .dev-ico { display:block; width:52px; height:52px; margin:0 auto 8px; }
@media (max-width:600px){
  .intent-grid a { padding-left:70px; }
  .intent-grid .intent-ico { left:14px; width:44px; height:44px; }
  .device-entry .dev-ico { width:46px; height:46px; }
}

/* === デジタル庁 Website Guidelines / JIS X 8341-3:2016 AA コントラスト是正 (2026-06-22) === */
/* 明オレンジCTA(#ff6b35)は白文字が2.8:1で不足 → 濃いオレンジに(白文字>=4.5:1) */
[style*="#ff6b35"]{background-color:#c2410c!important;background-image:none!important;border-color:#c2410c!important}
/* オレンジ強調文字(#a34f4d/#ff6b35 を文字色に使用)を濃く */
/* removed: ブランド赤#a34f4dは暗色化しない(AA合格・ブランド統一) 2026-06-25 */
/* グレー補助テキストを4.5:1まで濃く */
[style*="color: #777"],[style*="color:#777"],[style*="color: #777777"]{color:#595959!important}
[style*="color: #8b817f"],[style*="color:#8b817f"]{color:#605755!important}
[style*="color: #999"],[style*="color:#999"],[style*="color: #aaa"],[style*="color:#aaa"]{color:#6a6a6a!important}
[style*="color: #555"],[style*="color:#555"]{color:#4d4d4d!important}
/* ブランド赤(#a34f4d)系の箱の上の淡色テキストは純白に(>=5.9:1) */
[style*="color: #ffe0b2"],[style*="color:#ffe0b2"],[style*="color: #f0d0d0"],[style*="color:#f0d0d0"]{color:#ffffff!important}
/* ピンク価格(#ee6386=旧コーラル系)はコントラスト3.1 → ブランド赤に */
[style*="color: #ee6386"],[style*="color:#ee6386"]{color:#a34f4d!important}
/* 見出し内の白キーワード字幕(<small color:#fff font-size:0.5em>)はライトヒーロー上で不可視 → 可読グレーに */
h1 small[style*="color:#fff"],h1 small[style*="color: #fff"],h2 small[style*="color:#fff"],h2 small[style*="color: #fff"],h3 small[style*="color:#fff"],h3 small[style*="color: #fff"]{color:#5c5c5c!important;-webkit-text-fill-color:#5c5c5c!important}
/* 淡色情報ボックス内の色未指定テキストが白を継承し不可視になる対策 */
#sec_conclusion p:not([style*="color"]),#sec_conclusion p:not([style*="color"]) strong,#sec_conclusion li{color:#3a2b28!important;-webkit-text-fill-color:#3a2b28!important}
/* ボタン文字色をコンテナのリンク色(.legacy-restored-content a 等)より優先して固定（赤地に濃赤文字=不可視の是正・全サービスLP） */
.button-primary,.button-secondary,a.button-primary,a.button-secondary{color:#fff!important;text-decoration:none!important}
.button-outline,a.button-outline{color:var(--brand-dark)!important;text-decoration:none!important}
/* TOPスライダー: 画像の内枠(余分な薄ボーダー/背景)を除去し画像を大きく 2026-06-23 */
.sdp-top-slide__media{border:0!important;background:transparent!important;border-radius:6px}
.sdp-top-slide{padding:10px}
.sdp-top-slide__media img{object-fit:cover!important}
@media (max-width:600px){.sdp-top-slide{padding:8px}}
/* TOPスライダー: バナーをカード上端いっぱいに広げて大きく見せる 2026-06-23 */
.sdp-top-slide__media{margin:-10px -10px 0!important;border-radius:7px 7px 0 0!important}
@media (max-width:600px){.sdp-top-slide__media{margin:-8px -8px 0!important}}
/* TOPスライダー: メディアをカード左右端いっぱいに(負マージン分を幅で補い右隙間を解消) 2026-06-23 */
.sdp-top-slide__media{width:calc(100% + 20px)!important}
@media (max-width:600px){.sdp-top-slide__media{width:calc(100% + 16px)!important}}

/* TOP service cards are now <a> links: prevent underline (2026-06-23) */
.sdp-top-card{text-decoration:none!important}
.sdp-top-card:hover{text-decoration:none!important}

/* benefit-list check marks: brand color, replaces green ✅ emoji (2026-06-23) */
.sdp-tick{color:#a34f4d;font-weight:900;margin-right:.15em;font-style:normal}

/* benefit point cards — replaces dated bnr_repair_point raster banners (2026-06-23) */
.legacy-restored-content .sdp-points{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0 24px;padding:0}
.legacy-restored-content .sdp-points li{display:flex;align-items:center;gap:12px;padding:15px 18px;border:1px solid #e6ddd9;border-radius:12px;background:#fff;font-weight:800;color:#2b2c2e;line-height:1.55;box-shadow:0 8px 22px rgba(80,54,50,.06)}
.legacy-restored-content .sdp-points li::before{content:"\2713";flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#a34f4d;color:#fff;font-weight:900;font-size:15px;display:inline-flex;align-items:center;justify-content:center}

/* burger menu (mobile-sitemap) fix: even 2-column grid + readable text per guideline (2026-06-23) */
@media (max-width: 820px){
  .mobile-sitemap section a:last-child{grid-column:auto}        /* undo full-width last-link leak -> clean 2 columns */
  .mobile-sitemap a{font-size:14px;min-height:44px}            /* 11px was too small; 14px + 44px tap target */
  .mobile-sitemap strong{font-size:14px}
  .mobile-sitemap > p{font-size:13px}
}

/* trust badges — replaces dated bnr_markset raster banner (2026-06-23) */
.legacy-restored-content .sdp-trust{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:18px 0 24px;padding:0}
.legacy-restored-content .sdp-trust li{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid #e6ddd9;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(80,54,50,.06);text-align:left}
.legacy-restored-content .sdp-trust .sdp-trust__mark{align-self:flex-start;padding:3px 11px;border-radius:999px;background:#a34f4d;color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em}
.legacy-restored-content .sdp-trust strong{color:#2b2c2e;font-size:15px;font-weight:800;line-height:1.5}
.legacy-restored-content .sdp-trust .sdp-trust__sub{color:#5c5654;font-size:12.5px;line-height:1.6}

/* burger top nav (primary-nav links) fix: even 2-column grid + readable text per guideline (2026-06-23) */
@media (max-width: 820px){
  .primary-nav .shell > a:last-child{grid-column:auto;border-right:0}  /* undo full-width last link -> clean 2 cols (2x4) */
  .primary-nav .shell > a{font-size:14px;min-height:44px}             /* 12px was small; 14px + 44px tap target */
}

/* お客様スナップ: always-visible horizontal photo slider (CSS scroll-snap, JS-independent) 2026-06-23 */
.legacy-restored-content .sdp-snap-section{margin:20px 0 26px}
.legacy-restored-content .sdp-snap-section>h2{font-size:18px;font-weight:800;color:#2b2c2e;border-left:5px solid #a34f4d;padding:3px 0 3px 12px;margin:0 0 8px;line-height:1.5}
.legacy-restored-content .sdp-photo-slider{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:6px 2px 14px;margin:12px 0 4px}
.legacy-restored-content .sdp-photo-slider .sdp-photo-slide{flex:0 0 auto;width:min(78%,340px);scroll-snap-align:center;border:1px solid #e6ddd9;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(80,54,50,.08)}
.legacy-restored-content .sdp-photo-slider .sdp-photo-slide{width:100%}.legacy-restored-content .sdp-photo-slider .sdp-photo-slide img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#f5f1ef}
.legacy-restored-content .sdp-photo-slider::-webkit-scrollbar{height:8px}
.legacy-restored-content .sdp-photo-slider::-webkit-scrollbar-track{background:#f3eeec;border-radius:99px}
.legacy-restored-content .sdp-photo-slider::-webkit-scrollbar-thumb{background:#cdbfba;border-radius:99px}
.legacy-restored-content .sdp-snap-hint{font-size:12.5px;color:#8a7f7c;margin:0 0 4px}

/* 修理事例リスト(.rss-voice): 2列グリッド表示 2026-06-23 */
.legacy-restored-content .item-voice_main{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.legacy-restored-content .item-voice_main .item-voice{border:1px solid #e6ddd9;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 22px rgba(80,54,50,.06)}
.legacy-restored-content .item-voice_main .item-voice a{text-decoration:none}
.legacy-restored-content .item-voice_main .media-wrap__con__list__item__img img{display:block;width:100%;height:180px;object-fit:cover}
.legacy-restored-content .item-voice_main .media-wrap__con__list__item__txt{padding:12px 14px}
.legacy-restored-content .item-voice_main .cate{display:inline-block;padding:2px 9px;border-radius:999px;background:#a34f4d;color:#fff;font-size:11px;font-weight:800;margin-bottom:6px}
.legacy-restored-content .item-voice_main .date{display:block;color:#8a7f7c;font-size:12px;margin-bottom:4px}
.legacy-restored-content .item-voice_main .item-voice h4{margin:0;font-size:13.5px;line-height:1.55}
.legacy-restored-content .item-voice_main .item-voice h4 a{color:#2b2c2e;font-weight:800}

/* FAQ list (.faq_list) Q&A badge decoration for all redesigned pages (2026-06-23) */
.legacy-restored-content .faq_list{display:grid;gap:0;margin:14px 0 0}
.legacy-restored-content .faq_list dt{position:relative;margin:16px 0 0;padding:16px 20px 13px 54px;border:1px solid #eadfdb;border-bottom:0;border-radius:8px 8px 0 0;color:#803d3c;background:#fff;font-size:16px;line-height:1.6;font-weight:900}
.legacy-restored-content .faq_list dt::before{content:"Q";position:absolute;top:15px;left:18px;display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;color:#fff;background:#a34f4d;font-size:14px;font-weight:900}
.legacy-restored-content .faq_list dd{position:relative;margin:0 0 2px;padding:8px 20px 18px 54px;border:1px solid #eadfdb;border-top:0;border-radius:0 0 8px 8px;color:#413838;background:#fff;box-shadow:0 10px 24px rgba(80,54,50,.07);font-size:15px;line-height:1.9}
.legacy-restored-content .faq_list dd::before{content:"A";position:absolute;top:8px;left:18px;display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border:1px solid #e4cbc6;border-radius:999px;color:#803d3c;background:#fff;font-size:14px;font-weight:900}

/* narrow screens: shrink hero ICON (service-visual with img) so it does not dominate / cause scroll (2026-06-23) */
@media (max-width: 820px){
  .service-hero .service-visual:has(> img){max-width:160px;margin-left:auto;margin-right:auto}
}
@media (max-width: 520px){
  .service-hero .service-visual:has(> img){max-width:128px}
}

/* 強みを前面に: スピード訴求 + E-E-A-T カード (2026-06-23) */
.legacy-restored-content .sdp-strengths{margin:18px 0 26px}
.legacy-restored-content .sdp-strengths__speed{display:flex;flex-direction:column;gap:6px;padding:18px 22px;border-radius:12px;background:linear-gradient(135deg,#a34f4d,#803d3c);color:#fff;box-shadow:0 14px 32px rgba(128,61,60,.22)}
.legacy-restored-content .sdp-strengths__speed strong{font-size:20px;font-weight:900;line-height:1.45}
.legacy-restored-content .sdp-strengths__speed span{font-size:13.5px;line-height:1.85;color:#fdeceb}
.legacy-restored-content .sdp-strengths__grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:12px 0 0;padding:0}
.legacy-restored-content .sdp-strengths__grid li{display:flex;flex-direction:column;gap:5px;padding:15px 17px;border:1px solid #e6ddd9;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(80,54,50,.06)}
.legacy-restored-content .sdp-strengths__mark{align-self:flex-start;padding:3px 11px;border-radius:999px;background:#803d3c;color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em}
.legacy-restored-content .sdp-strengths__grid strong{color:#2b2c2e;font-size:15px;font-weight:800;line-height:1.5}
.legacy-restored-content .sdp-strengths__grid li span:last-child{color:#5c5654;font-size:12.5px;line-height:1.7}

/* ワイド表の可読性: ゼブラ + 1列目(機種名)を固定 (2026-06-23) */
.legacy-restored-content .legacy-table-scroll tbody tr:nth-child(even) td{background:#faf7f6}

/* 旧ピンクのフリーダイヤル画像(bnr_repair_call)の置換: 新デザインTEL CTA (2026-06-23) */
.sdp-tel-cta{margin:18px 0 24px;padding:20px 22px;border:1px solid #e6ddd9;border-radius:12px;background:#faf7f6;text-align:center;box-shadow:0 8px 22px rgba(80,54,50,.06)}
.sdp-tel-cta__lead{margin:0 0 6px;font-weight:800;color:#803d3c;font-size:15px}
.sdp-tel-cta__num{display:inline-block;font-size:30px;font-weight:900;color:#a34f4d;text-decoration:none;letter-spacing:.02em;line-height:1.2}
.sdp-tel-cta__hours{margin:6px 0 14px;color:#5c5654;font-size:13px;line-height:1.7}
.sdp-tel-cta__btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.sdp-tel-cta__btns .button{min-width:180px}

/* legacy-table-scroll をグローバル化: どのページでもテーブルが横スクロール可（見切れ防止）2026-06-23 */
.legacy-table-scroll{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:14px 0 24px;border:1px solid #e6ddd9;border-radius:8px}
.legacy-table-scroll>table{margin:0;background:#fff}
.legacy-table-scroll tbody tr:nth-child(even) td{background:#faf7f6}

/* 郵送修理 上部ナビ アコーディオン 2026-06-24 */
.primary-nav .shell .yusou-subnav{display:none}
@media (max-width:820px){
  .primary-nav .shell > a:nth-child(2n){border-right:1px solid var(--line)}
  .primary-nav .shell > a:nth-of-type(2n){border-right:0}
  .primary-nav .shell .has-subnav{display:flex;align-items:center;justify-content:center;gap:5px}
  .primary-nav .shell .has-subnav::after{content:"\25BC";font-size:9px;color:var(--brand)}
  .primary-nav .shell .has-subnav.is-open::after{content:"\25B2"}
  .primary-nav .shell .yusou-subnav.open{display:block;grid-column:1 / -1;background:#faf7f6}
  .primary-nav .shell .yusou-subnav.open a{display:block;min-height:44px;line-height:1.5;text-align:left;padding:12px 18px 12px 34px;font-size:14px;font-weight:700;color:var(--brand-dark);border:0;border-bottom:1px solid #ece5e2;background:none}
  .primary-nav .shell .yusou-subnav.open a:last-child{border-bottom:0}
  .primary-nav .shell .yusou-subnav.open a::before{content:"\21B3";color:#b9a9a4;margin-right:7px}
}

/* 郵送料金アイコン一覧(.yuso-price) コンパクト化 2026-06-24 */
.legacy-restored-content .yuso-price{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 20px}
.legacy-restored-content .yuso-price .item{display:flex;align-items:center;gap:11px;padding:10px 13px;margin:0;border:1px solid #e6ddd9;border-radius:10px;background:#fff;box-shadow:0 4px 12px rgba(80,54,50,.05)}
.legacy-restored-content .yuso-price .item .l{flex:0 0 auto;margin:0}
.legacy-restored-content .yuso-price .item .l img{width:38px;height:38px;margin:0;display:block;border-radius:0}
.legacy-restored-content .yuso-price .item .r{flex:1 1 auto;min-width:0}
.legacy-restored-content .yuso-price .item .r > div:first-child{font-size:13px;font-weight:700;color:#2b2c2e;line-height:1.35}
.legacy-restored-content .yuso-price .item .r > div:last-child{font-size:15px;font-weight:bold;line-height:1.3;margin-top:1px}

/* 結論CTA(.tx-conc-cta) ボタン幅・高さ統一 2026-06-24 */
.tx-conc-cta{display:flex;flex-direction:column;gap:10px;margin:14px 0 6px;align-items:stretch}
.tx-conc-cta .button{width:100%;min-height:52px;box-sizing:border-box;text-align:center}
.tx-conc-cta .button-outline{min-height:52px}
@media (min-width:600px){
  .tx-conc-cta{flex-direction:row;flex-wrap:wrap}
  .tx-conc-cta .button{flex:1 1 240px;width:auto}
}
.tx-conc-cta .button{white-space:nowrap;font-size:14px;padding:0 16px;line-height:1.25}

/* 修理事例リスト(.item-voice_main) を全ページで2列グリッドに 2026-06-24 */
.rss-voice .item-voice_main,.item-voice_main{display:grid !important;grid-template-columns:1fr 1fr !important;gap:16px;margin:16px 0}
.item-voice_main > .item-voice{margin:0}
@media (max-width:480px){
  .rss-voice .item-voice_main,.item-voice_main{gap:10px}
}

/* 電話ボックスの吹き出し: 緑画像→ブランド赤CSS吹き出し（緑撤去）2026-06-24 */
.telbox_balloon{position:relative;text-align:center;margin:16px 0 0;line-height:0}
.telbox_balloon img{display:none !important}
.telbox_balloon::before{content:"お急ぎの時はお電話下さい！";display:inline-block;background:#a34f4d;color:#fff;font-weight:800;font-size:15px;line-height:1.5;padding:11px 22px;border-radius:999px;box-shadow:0 8px 20px rgba(128,61,60,.22)}
.telbox_balloon::after{content:"";position:absolute;left:50%;top:-8px;transform:translateX(-50%);width:0;height:0;border:9px solid transparent;border-bottom-color:#a34f4d}
/* 電話をかけるボタン: コーラル画像→ブランド赤CSSボタン（色統一）2026-06-24 */
.telbox_btn a img{display:none !important}
.telbox_btn a{display:flex;align-items:center;justify-content:center;gap:8px;background:#a34f4d;color:#fff !important;text-decoration:none;border-radius:10px;padding:16px 20px;font-size:18px;font-weight:800;box-shadow:0 8px 20px rgba(128,61,60,.22);min-height:56px;box-sizing:border-box}
.telbox_btn a::before{content:"\260E  電話をかける"}
.telbox_btn a:hover{background:#803d3c}

/* ガイドライン: 新デザイン本文(.legacy-restored-content)の本文最小文字サイズを14pxに底上げ(旧記事DB由来の小フォント是正) 2026-06-24 */
.legacy-restored-content [style*="font-size:13px"],
.legacy-restored-content [style*="font-size: 13px"],
.legacy-restored-content [style*="font-size:12px"],
.legacy-restored-content [style*="font-size: 12px"],
.legacy-restored-content [style*="font-size:0.5em"],
.legacy-restored-content [style*="font-size: 0.5em"],
.legacy-restored-content [style*="font-size:0.8em"],
.legacy-restored-content [style*="font-size: 0.8em"],
.legacy-restored-content [style*="font-size:0.82em"],
.legacy-restored-content [style*="font-size: 0.82em"],
.legacy-restored-content [style*="font-size:0.85em"],
.legacy-restored-content [style*="font-size: 0.85em"]{font-size:14px !important}
/* kiban系カード部品の本文/ラベルを14pxに底上げ(ページ内<style>の13px上書き) 2026-06-24 */
.legacy-restored-content .model-tag,
.legacy-restored-content .menu-card,
.legacy-restored-content .hero-price-card-head,
.legacy-restored-content .hero-price-card-note{font-size:14px !important}
/* ジャンプnav/症状カード/キャプションの本文・導線テキストを14pxに 2026-06-24 */
.legacy-restored-content .service-jump a,
.legacy-restored-content .service-jump strong,
.legacy-restored-content .symptom-card strong,
.legacy-restored-content figcaption{font-size:14px !important}
/* 共通部品(trust/cta/breadcrumb/corp)の本文・導線テキストを14pxに、極小バッジは12px最低 2026-06-24 */
.legacy-restored-content .sdp-trust__sub,
.legacy-restored-content .service-breadcrumbs,
.legacy-restored-content .service-breadcrumbs a,
.legacy-restored-content .sdp-cta-note,
.legacy-restored-content .sdp-cta-option-label,
.legacy-restored-content .sdp-cta-option-sub,
.legacy-restored-content .sdp-cta-option-link,
.legacy-restored-content .sdp-cta-hours,
.legacy-restored-content .corp_heading_02,
.legacy-restored-content div.label{font-size:14px !important}
.legacy-restored-content .sdp-trust__mark,
.legacy-restored-content .sdp-trouble-num{font-size:12px !important}
/* ナビ/トグル/注記の操作・導線テキストを14pxに 2026-06-24 */
.legacy-restored-content details.content-accordion>summary,
.legacy-restored-content .repair_scroll_navi .menu_list ul li,
.legacy-restored-content .repair_scroll_navi .menu_list ul li a,
.legacy-restored-content .menu_list.menu_btn ul li,
.legacy-restored-content .menu_list.menu_btn ul li a,
.legacy-restored-content nav.service-inline-links,
.legacy-restored-content nav.service-inline-links a,
.legacy-restored-content .promise_sheet .sdp-trust li,
.legacy-restored-content .repair_pricecard p small,
.legacy-restored-content p.lead_left small{font-size:14px !important}
/* 追加: インライン極小em(時刻注記等)を14pxに 2026-06-24 */
.legacy-restored-content [style*="font-size:0.68em"],
.legacy-restored-content [style*="font-size: 0.68em"],
.legacy-restored-content [style*="font-size:0.7em"],
.legacy-restored-content [style*="font-size: 0.7em"],
.legacy-restored-content [style*="font-size:0.75em"],
.legacy-restored-content [style*="font-size: 0.75em"]{font-size:14px !important}
/* 価格表セクションの基準フォントを14pxに(価格数値は明示サイズで不変) 2026-06-24 */
.legacy-restored-content .legacy-pricing-section{font-size:14px !important}
/* フッター監修・EEAT証拠ブロック 2026-06-25 */
.footer-eeat{max-width:1120px;margin:6px auto 0;padding:18px 20px 6px;border-top:1px solid rgba(255,255,255,.14)}
.footer-eeat-title{color:#fff;font-weight:800;font-size:15px;margin:0 0 7px}
.footer-eeat-body{color:#d4cecb;font-size:14px;line-height:1.85;margin:0 0 12px}
.footer-eeat-body strong{color:#fff}
.footer-eeat-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.footer-eeat-links li{position:relative;padding-left:14px}
.footer-eeat-links li::before{content:"›";position:absolute;left:0;color:#b98f8c}
.footer-eeat-links a{color:#ece3e1;font-size:14px;text-decoration:underline;text-underline-offset:.15em}
.footer-eeat-links a:hover{color:#fff}
@media(max-width:680px){.footer-eeat-links{flex-direction:column;gap:9px}}
/* 追従ドック(estimate-dock)がフッター下部(監修・EEAT/コピーライト)に被らないよう余白確保 2026-06-25 */
.site-footer{padding-bottom:100px}
@media (max-width:768px){.site-footer{padding-bottom:88px}}
/* 権威ページの関連リンク節（外部リンク資産→商用/EEAT内部導線）2026-06-25 */
.legacy-restored-content .sdp-related-links{margin:26px 0;padding:20px 22px;border:1px solid #e6ddd9;border-radius:12px;background:#faf7f6}
.legacy-restored-content .sdp-related-links h2{margin:0 0 12px;font-size:17px;color:#2b2c2e;border:0;padding:0;background:none}
.legacy-restored-content .sdp-related-links .legacy-link-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.legacy-restored-content .sdp-related-links .legacy-link-list li{position:relative;padding-left:18px}
.legacy-restored-content .sdp-related-links .legacy-link-list li::before{content:"›";position:absolute;left:0;color:#a34f4d;font-weight:900}
.legacy-restored-content .sdp-related-links a{color:#803d3c;font-size:14px;text-decoration:underline;text-underline-offset:.15em;font-weight:700}
/* アコーディオン間の間隔を確保（詰まり解消）2026-06-25 */
.legacy-restored-content .content-accordion.accordion-section{margin-bottom:16px}
.imported-content .content-accordion.accordion-section{margin-bottom:16px}
/* iPad「最も多い故障ケース」カードを2列グリッド・コンパクト化 2026-06-25 */
.legacy-restored-content .popular_case_index{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;margin:18px 0}
.legacy-restored-content .popular_case_index .item{border:1px solid #e6ddd9;border-radius:12px;background:#fff;padding:16px 16px 18px;box-shadow:0 6px 18px rgba(80,54,50,.06);text-align:center}
.legacy-restored-content .popular_case_index .item .thumb{margin:0 0 8px}
.legacy-restored-content .popular_case_index .item .thumb img{width:56px;height:56px}
.legacy-restored-content .popular_case_index .item h3{margin:0 0 8px;font-size:16px;line-height:1.45;color:#2b2c2e;background:none;border:0;padding:0;text-align:center}
.legacy-restored-content .popular_case_index .item .price{font-size:20px;font-weight:900;color:#a34f4d}
.legacy-restored-content .popular_case_index .item .time{font-size:14px;color:#5c5654;margin:2px 0 10px}
.legacy-restored-content .popular_case_index .item .txtbtn_03 a{display:inline-block;font-size:14px;font-weight:700;color:#803d3c;text-decoration:underline;text-underline-offset:.15em}
@media (max-width:600px){.legacy-restored-content .popular_case_index{grid-auto-flow:row;grid-template-columns:1fr 1fr;gap:10px}}
/* 「最も多い故障ケース」見出しはPCで1行（is_sp改行はSPのみ）2026-06-25 */
.legacy-restored-content h2.ipad br{display:none}
@media (max-width:768px){.legacy-restored-content h2.ipad br{display:inline}}
/* アコーディオンsummary内のh3見出し(用語集等)を他のh2見出しと同じ見た目・配置に揃える 2026-06-25 */
.legacy-restored-content .content-accordion>summary h3{margin:0;padding:0;border:0;background:none;font-size:23px;line-height:1.5;font-weight:800;color:#2b2c2e}
@media (max-width:768px){.legacy-restored-content .content-accordion>summary h3{font-size:20px}}
/* アコーディオン見出しの強制改行はPCで非表示=1行（SPは折返し維持）2026-06-25 */
@media (min-width:769px){
.legacy-restored-content .content-accordion>summary h2 br,
.legacy-restored-content .content-accordion>summary h3 br{display:none}
}

/* フッターサイトマップ hover展開アニメ 2026-06-25 */
@keyframes sdpFmapIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* ===== バーガーメニューのマウスオン/タップ動作 2026-06-25 ===== */
@media (max-width: 820px){
  .mobile-sitemap a,
  .mobile-model-accordion summary{
    transition: background .14s ease, border-color .14s ease, color .14s ease, transform .08s ease, box-shadow .14s ease;
  }
  .mobile-sitemap a:hover,
  .mobile-sitemap a:active{
    border-color: var(--brand);
    background: #fff5f4;
    color: var(--brand-dark);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(80,54,50,.14);
  }
  .mobile-sitemap-primary a:hover,
  .mobile-sitemap-primary a:active{ background: #ffeceb; }
  .mobile-model-accordion summary:hover,
  .mobile-model-accordion summary:active{ color: var(--brand-dark); background: #fbf5f4; }
  .mobile-model-accordion a:hover,
  .mobile-model-accordion a:active{ border-color: var(--brand); background: #fff5f4; }
}

/* バーガー文字サイズ ガイドライン準拠(最小14px) 2026-06-25 */
@media (max-width: 820px){
  .mobile-model-accordion summary{ font-size: 14px; }
  .mobile-sitemap > p{ font-size: 14px; }
}

/* ===== TOP(home) ガイドライン準拠：可読テキスト最小14px 2026-06-26 ===== */
.top-page .eyebrow,
.top-page .feature-label,
.top-page .sdp-top-card__num,
.top-page .sdp-top-card__cta,
.top-page .sdp-top-slider__tab,
.top-page .hero button,
.top-page nav button,
.top-page section time,
.top-page .knowledge-section small,
.top-page .sdp-top-proof span,
.top-page .repair-menu-section i,
.top-page .repair-menu-section span,
.top-page .method-section li,
.top-page .method-section span,
.top-page .trust-section b,
.top-page .symptom-section a,
.top-page .knowledge-section a,
.top-page .knowledge-section span,
.top-page .intent-section span,
.top-page .price-section span,
.top-page .voices-section span,
.top-page .media-section span,
.top-page .news-section span,
.top-page .hero span {
  font-size: 14px !important;
}
/* 料金表(tx-sec): 小さい見出し/セル/価格/リンクのみ14pxへ（16pxの強調spanは温存） */
.top-page .tx-sec th,
.top-page .tx-sec td,
.top-page .tx-sec .tx-price,
.top-page .tx-sec .tx-link { font-size: 14px !important; }
.top-page .tx-sec thead th { color:#fff !important; font-weight:bold !important; }
.top-page .tx-sec tbody th { color:#333 !important; font-weight:bold !important; }
/* フッター(共通): サイトマップ・コピーライトを14pxへ */
.footer-sitemap .fmap-links a { font-size:14px; }
.site-footer .copyright { font-size:14px; }

/* ===== 残り14px未満の底上げ（ヘッダーnav/ドック/結論等）2026-06-26 ===== */
.site-header .utility p,
.site-header .utility nav a,
.site-header .primary-nav > .shell a,
.top-page .tx-conclusion .tx-conc-eyebrow,
.top-page .tx-conclusion .tx-conc-prices li span,
.top-page .device-entry nav a span,
.menu-button { font-size: 14px !important; }
.estimate-dock-item small { font-size: 14px !important; }
@media (max-width: 820px){ .estimate-dock-item strong { font-size: 14px !important; } }

/* ===== 旧サービスLP部品の最小14px(ガイドライン準拠) 2026-06-26 ===== */
.service-breadcrumbs,
.service-points li,
.service-visual-note,
.service-jump strong,
.service-jump a,
.legacy-emergency-summary li,
.legacy-inline-cta a span { font-size: 14px !important; }

/* kiban 料金カード(未クラスdiv)の最小14px 2026-06-26 */
body.page-id-4110 .legacy-pricing-section div { font-size: 14px !important; }

/* ===== ガイドライン準拠：legacy/importedコンテンツ内 small・th の最小14px 2026-06-26 ===== */
.legacy-restored-content small,
.legacy-restored-content th,
.imported-content small,
.imported-content th { font-size: 14px !important; }

/* ===== ガイドライン準拠：共通小文字部品の最小14px(最終) 2026-06-26 ===== */
.sdp-trust__mark,
.content-accordion .accordion-body p,
.service-hero-actions button,
.yuso-price .item .r div,
.legacy-pricing-section div,
.promise_item span { font-size: 14px !important; }

/* ===== /media/ hero + 取材依頼 をブランドHTML化 2026-06-26 ===== */
.media-hero{max-width:1120px;margin:0 auto 28px;padding:26px 30px;border:1px solid #e7e0dc;border-radius:8px;background:#fffaf5}
.media-hero__kicker{margin:0 0 8px;color:#803d3c;font-size:14px;font-weight:900;letter-spacing:.04em}
.media-hero__lead{margin:0 0 16px;color:#353941;font-size:16px;line-height:1.85}
.media-hero__tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.media-hero__tags li{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border:1px solid #ead7cf;border-radius:999px;background:#fff;color:#3f2a25;font-size:14px;font-weight:700}
.media-hero__eeat{margin:0;font-size:14px;line-height:1.9}
.media-hero__eeat a{color:#803d3c;font-weight:700;text-decoration:underline;text-underline-offset:.15em}
#media_offer{max-width:1120px;margin:32px auto;padding:26px 30px;border:1px solid #e7e0dc;border-radius:8px;background:#faf7f6}
#media_offer h2{margin:0 0 10px;font-size:20px;line-height:1.5;color:#2b2c2e;border:0;padding:0;background:none}
#media_offer>p{margin:0 0 16px;font-size:15px;color:#353941}
.media-offer-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 12px;padding:0;list-style:none}
.media-offer-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 24px;border-radius:10px;font-size:16px;font-weight:800;line-height:1.3;text-decoration:none !important;box-shadow:0 6px 16px rgba(0,0,0,.12);transition:filter .15s ease}
.media-offer-btn--mail{background:#a34f4d;color:#fff !important}
.media-offer-btn--mail::before{content:"\2709";font-size:18px}
.media-offer-btn--tel{background:#803d3c;color:#fff !important}
.media-offer-btn--tel::before{content:"\260E";font-size:18px}
.media-offer-btn:hover{filter:brightness(1.06)}
.media-offer-note{margin:0;font-size:14px;color:#5f6670}
@media(max-width:680px){.media-offer-actions{flex-direction:column}.media-offer-btn{width:100%}.media-hero,#media_offer{padding:18px 16px}}

/* /media/ 元のキービジュアル(女性)をリサイズしてhero下に配置 2026-06-26 */
.media-hero-photo{margin:0 auto 30px;text-align:center}
.media-hero-photo img{max-width:340px;width:100%;height:auto;border-radius:14px;box-shadow:0 10px 28px rgba(80,54,50,.12);display:inline-block}
@media(max-width:680px){.media-hero-photo img{max-width:260px}}

/* Mac FAQ アコーディオン化 2026-06-26 */
details.sdp-faq-acc{margin-bottom:10px}
details.sdp-faq-acc>summary.sdp-faq-q{cursor:pointer;list-style:none;position:relative;padding-right:46px}
details.sdp-faq-acc>summary.sdp-faq-q::-webkit-details-marker{display:none}
details.sdp-faq-acc>summary.sdp-faq-q::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#a34f4d;font-weight:900;font-size:20px;line-height:1}
details.sdp-faq-acc[open]>summary.sdp-faq-q::after{content:"−"}
details.sdp-faq-acc>summary.sdp-faq-q:hover{filter:brightness(.97)}

/* Mac FAQ: 閉じている時は回答を隠す(既存 .sdp-faq-a{display:flex} の上書き) 2026-06-26 */
details.sdp-faq-acc:not([open]) > .sdp-faq-a{display:none !important}
details.sdp-faq-acc[open] > .sdp-faq-a{display:flex}

/* content-accordion: 閉じている時は本文を確実に隠す(レガシー本文のdisplay上書き対策) 2026-06-26 */
details.content-accordion:not([open]) > .accordion-body{display:none !important}


/* TOP proofbar 5-card (来店導線 大阪心斎橋本店 追加) 2026-06-26 */
.top-page .sdp-top-proof{grid-template-columns:repeat(5,minmax(0,1fr));}
@media(max-width:980px){.top-page .sdp-top-proof{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:736px){.top-page .sdp-top-proof{grid-template-columns:1fr;}}

/* 2026-06-27 a11y: 旧iOS赤 #ff3b30(白地3.55:1=AA不可)を濃赤#c01a13(>4.5:1)へ。文字色のみ(背景除外) */
[style*="color:#ff3b30"],[style*="color: #ff3b30"]{color:#c01a13 !important}

/* is_sp/is_pc responsive helpers (旧theme_sp由来。新テンプレで未定義だとPCで.is_sp改行が出て見出しが崩れる) 2026-06-27 */
@media (min-width:768px){.is_sp{display:none !important}}
@media (max-width:767px){.is_pc{display:none !important}}

/* Mac(ヒラギノ)でfont-weight:900が滲んで二重に見える対策。subpixel(auto)→grayscale(antialiased)でくっきり 2026-06-27 */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* TOP slider slide CTA (2026-06-28) */
.top-page .sdp-top-slide__copy .sdp-top-slide__cta{display:inline-block;margin-top:10px;padding:7px 14px;border:1px solid var(--sdp-brand);border-radius:999px;color:var(--sdp-brand-dark);background:var(--sdp-soft);font-size:13px;font-weight:900;line-height:1.3;text-decoration:none}
.sdp-top-slide:hover .sdp-top-slide__cta,.sdp-top-slide.is-active .sdp-top-slide__cta{border-color:var(--sdp-brand);background:var(--sdp-brand);color:#fff}

/* inline 簡単見積もりトリガー = 文中リンク調 (2026-06-28) */
.tx-inline-trigger{appearance:none;-webkit-appearance:none;display:inline;margin:0;padding:0;border:0;background:none;color:var(--brand-dark,#803d3c);font:inherit;font-weight:900;line-height:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer}
.tx-inline-trigger:hover,.tx-inline-trigger:focus-visible{color:var(--brand,#a34f4d);text-decoration-thickness:2px}

/* 旧theme_sp装飾画像の全ページ非表示(古バナー/MICロゴ箱/機種・部品写真/旧サムネ)・心斎橋の証明カードは除外 (2026-06-28) */
body:not(.sdp-shinsaibashi-modern) .legacy-restored-content .bnr_warrantee img,
body:not(.sdp-shinsaibashi-modern) .legacy-restored-content .bnr_mic,
body:not(.sdp-shinsaibashi-modern) .legacy-restored-content .pct,
body:not(.sdp-shinsaibashi-modern) .legacy-restored-content .thumb,
body:not(.sdp-shinsaibashi-modern) .legacy-restored-content img[src*="pct_model"],
body:not(.sdp-shinsaibashi-modern) .legacy-restored-content img[src*="/theme_sp/assets/images/model/"],
body:not(.sdp-shinsaibashi-modern) .legacy-restored-content img[src*="bnr_userdata"],
body:not(.sdp-shinsaibashi-modern) .legacy-restored-content img[src*="logo_mic"]{display:none !important}

/* 心斎橋セクションの3ボタンを均等幅に揃える 2026-06-29 */
.hero-actions--even{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.hero-actions--even .button{flex:1 1 0;min-width:200px;justify-content:center;text-align:center;white-space:nowrap}
@media (max-width:600px){.hero-actions--even .button{flex:1 1 100%;white-space:normal}}
