.catalog-copy-sp {
  display: none;
}

/* 260716 SP master: 393px is the reference width. */
@media (max-width: 767px) {
  :root {
    --canvas-width: 100%;
    --sp-header-height: clamp(52.926px, 16.5394vw, 126.856px);
    --sp-hero-height: clamp(567.569px, 177.5234vw, 1361.46px);
    --sp-cta-bottom: clamp(18.458px, 5.7677vw, 44.238px);
    --sp-cta-height: clamp(32.57px, 10.1781vw, 78.05px);
    --sp-cta-band-height: calc(var(--sp-hero-height) - clamp(15.354px, 4.7992vw, 36.82px) - clamp(486.904px, 152.1987vw, 1167.36px));
    /* 393px基準。文字、行高、字間、本文幅、左右余白を同じ倍率で縮放する。 */
    /* Each value is base value × clamp(320 / 393, viewport / 393, 430 / 393). */
    --sp-gutter: clamp(24.427px, 7.6336vw, 32.824px);
    /* 正本の実効本文幅333pxを文字と同じ倍率で縮放し、430px相当で固定する。 */
    --sp-content-measure: clamp(271.145px, 84.7328vw, 364.351px);
    --sp-content-width: min(calc(100% - (var(--sp-gutter) * 2)), var(--sp-content-measure));
    --sp-content-left: max(var(--sp-gutter), calc(50% - (var(--sp-content-measure) / 2)));
    --sp-intro-measure: clamp(259.644px, 81.1705vw, 349.032px);
    --sp-body-size: clamp(11.399px, 3.5623vw, 15.318px);
    --sp-body-leading: clamp(20.519px, 6.4122vw, 27.57px);
    --sp-heading-size: clamp(22.799px, 7.1247vw, 30.585px);
    --sp-heading-leading: clamp(34.198px, 10.687vw, 45.954px);
    --sp-display-size: clamp(29.313px, 9.1603vw, 39.389px);
    --sp-display-leading: clamp(33.384px, 10.4326vw, 44.962px);
    --sp-ui-size: clamp(11.399px, 3.5623vw, 15.318px);
    --sp-question-size: clamp(13.028px, 4.0712vw, 17.506px);
    --sp-question-leading: clamp(19.542px, 6.1069vw, 26.26px);
    --sp-related-half: clamp(105.385px, 32.9517vw, 141.64px);
    --sp-related-measure: clamp(210.77px, 65.9033vw, 283.28px);
    --sp-support-link-top: clamp(446px, calc(851px - 103vw), 480px);
    /* Q19対象sectionは393px正本の構図全体を320〜767pxで同率化する。 */
    --sp-section-gutter: 7.6336vw;
    --sp-section-measure: 84.7328vw;
    --sp-section-body-size: 3.5623vw;
    --sp-section-body-leading: 6.4122vw;
    --sp-section-heading-size: 7.1247vw;
    --sp-section-heading-leading: 10.687vw;
    --sp-section-display-size: 9.1603vw;
    --sp-section-display-leading: 10.4326vw;
    --sp-section-kicker-size: 3.0534vw;
    --sp-technology-shift: min(22px, max(0px, calc(118.44px - 30.14vw), calc(59.46vw - 233.69px)));
  }

  html,
  body {
    min-width: 0;
    width: 100%;
    overflow-x: clip;
  }

  /* 日本語の約物を行頭・行末に残しにくくし、OSごとの折返し差を抑える。 */
  :where(.introduction-copy, .plan-lead, .plan-description, .exterior-description,
    .floor-plan-description, .interior-description, .technology-description,
    .culture-description, .support-description, .catalog-cta p, .qa-item,
    .related-link) {
    line-break: strict;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .sp-copy-line {
    display: block;
    white-space: nowrap;
  }

  .sp-heading-line {
    display: block;
    white-space: nowrap;
  }

  .sp-copy-desktop-break { display: none; }

  .plan-section,
  .exterior-section,
  .floor-plan-section,
  .interior-section,
  .technology-section,
  .culture-section,
  .support-section,
  .qa-section { width: 100%; }

  .site-header {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    width: 100%;
    height: var(--sp-header-height);
    background: #fff;
  }

  .site-logo {
    position: static;
    top: auto;
    left: auto;
    font-size: clamp(27.735px, 8.6514vw, 66.36px);
    line-height: 1;
    letter-spacing: clamp(.832px, .2595vw, 1.991px);
    transform: none;
  }

  .site-actions {
    position: fixed;
    z-index: 30;
    top: auto;
    right: auto;
    bottom: var(--sp-cta-bottom);
    bottom: max(var(--sp-cta-bottom), env(safe-area-inset-bottom, 0px));
    left: 50%;
    gap: clamp(8.142px, 2.5445vw, 19.517px);
    width: min(73.7913vw, calc(100vw - 40px));
    margin: 0;
    transform: translateX(-50%);
  }

  .cta {
    flex: 1 1 0;
    width: auto;
    height: var(--sp-cta-height);
    font-size: clamp(11.4px, 3.5623vw, 27.33px);
    line-height: var(--sp-cta-height);
  }

  .hero {
    height: calc(var(--sp-hero-height) - var(--sp-cta-band-height));
    padding-top: 0;
  }

  .hero-image {
    top: clamp(15.354px, 4.7992vw, 36.82px);
    left: 0;
    right: auto;
    width: clamp(605.304px, 189.1733vw, 1451.96px);
    height: clamp(486.904px, 152.1987vw, 1167.36px);
    object-fit: fill;
    object-position: left top;
  }

  .hero-ornament { display: none; }

  .hero-sp-vertical-copy {
    position: absolute;
    top: clamp(61.069px, 19.084vw, 146.43px);
    left: clamp(18.728px, 5.8524vw, 44.9px);
    display: block;
    width: clamp(27.735px, 8.6514vw, 66.36px);
    height: clamp(364.629px, 114.0vw, 874.6px);
  }

  .hero-motto { display: none; }

  .introduction {
    height: 655px;
  }

  .introduction-image {
    width: 1163px;
    max-width: none;
    height: 655px;
    object-fit: cover;
    object-position: 49% center;
    transform: translateX(-385px);
  }

  .introduction-copy {
    top: 108px;
    left: 50%;
    width: min(calc(100% - (var(--sp-gutter) * 2)), var(--sp-intro-measure));
    font-size: var(--sp-body-size);
    line-height: var(--sp-body-leading);
    letter-spacing: .04em;
    white-space: normal;
  }

  .introduction-line {
    display: block;
    white-space: nowrap;
  }

  .introduction-desktop-break { display: none; }

  .play-button {
    top: auto;
    bottom: 80px;
    width: 96px;
    height: 96px;
  }

  .video-modal { padding: 16px; }
  .video-modal-panel { width: 100%; max-width: 960px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); }
  .introduction-video { width: 100%; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); }
  .video-modal-close { z-index: 2; top: 8px; right: 8px; transform: none; }

  .features { height: 158.5242vw; }

  .features > h2 {
    top: 18.8295vw;
    left: 10.1781vw;
    font-size: var(--sp-section-heading-size);
  }

  .feature-viewport {
    top: 37.659vw;
    left: 5.0891vw;
    width: calc(100% - 5.0891vw);
    height: 95.4198vw;
  }

  /* Keep the computed step just above scrollLeft's subpixel quantization boundary. */
  .feature-track { gap: calc(3.5623vw + .02px); height: 95.4198vw; }
  .feature-card { flex-basis: 73.5369vw; height: 95.4198vw; border-radius: 6.1069vw; }
  .feature-card h3 { top: 6.6158vw; left: 6.3613vw; font-size: 4.5802vw; line-height: 7.1247vw; }
  .feature-image { top: 27.4809vw; border-radius: 0 0 6.1069vw 6.1069vw; }
  .feature-card-exterior .feature-image img { top: -.5089vw; left: -17.3028vw; width: 103.5623vw; height: 68.4478vw; }
  .feature-card-plan .feature-image img { top: 6.1069vw; left: -4.5802vw; width: 87.7863vw; height: 61.5776vw; }
  .feature-card-interior .feature-image img { top: 0; left: -17.3028vw; width: 108.3969vw; height: 67.9389vw; }
  .feature-card-technology .feature-image img { top: 3.0534vw; left: 20.8651vw; width: 27.7354vw; height: 74.3003vw; }
  .feature-label { top: 61.3232vw; width: 7.6336vw; padding: 2.2901vw 0; font-size: 6.6158vw; line-height: 7.6336vw; }
  .feature-control { top: 141.9847vw; width: 7.6336vw; height: 7.6336vw; }
  .feature-control img { width: 7.6336vw; height: 6.6158vw; }
  .feature-control-prev { left: var(--sp-section-gutter); }
  .feature-control-next { right: var(--sp-section-gutter); left: auto; }

  .plan-section { height: 354.9618vw; margin-top: 25.4453vw; }
  .plan-introduction { top: 0; left: var(--sp-section-gutter); width: var(--sp-section-measure); }
  .plan-introduction h2 { font-size: var(--sp-section-heading-size); line-height: var(--sp-section-heading-leading); letter-spacing: .04em; }
  .plan-kicker { top: 13.9949vw; font-size: var(--sp-section-kicker-size); line-height: 10.1781vw; letter-spacing: .04em; }
  .plan-lead { top: 24.9364vw; font-size: var(--sp-section-body-size); line-height: var(--sp-section-body-leading); letter-spacing: .04em; white-space: normal; }
  .plan-kitchen-image { top: 63.8677vw; left: 0; width: 100%; height: 86.0051vw; }
  .plan-kitchen-image img { top: -3.8168vw; left: -4.8346vw; width: 133.5878vw; height: 89.0585vw; }
  .plan-description { top: 164.8855vw; left: var(--sp-section-gutter); width: var(--sp-section-measure); font-size: var(--sp-section-body-size); line-height: var(--sp-section-body-leading); letter-spacing: .04em; white-space: normal; }
  .plan-detail-image { top: auto; bottom: 0; left: auto; right: 0; width: 82.4427vw; height: 103.0534vw; }
  .plan-detail-image img { top: -18.3206vw; left: 0; width: 82.4427vw; height: 124.173vw; }

  .exterior-section { height: 262.0865vw; margin-top: 25.1908vw; }
  .exterior-copy { top: 0; left: var(--sp-section-gutter); width: var(--sp-section-measure); }
  .exterior-copy h2,
  .interior-copy h2,
  .technology-copy h2,
  .culture-title-block h2,
  .floor-plan-copy h2,
  .support-copy h2 { font-size: var(--sp-display-size); line-height: var(--sp-display-leading); }
  .exterior-copy h2,
  .floor-plan-copy h2 { font-size: var(--sp-section-display-size); line-height: var(--sp-section-display-leading); }
  .exterior-rule { top: 12.4682vw; width: 100%; }
  .exterior-heading { top: 20.8651vw; font-size: var(--sp-section-heading-size); line-height: var(--sp-section-heading-leading); letter-spacing: .03em; }
  .exterior-description { top: 56.9975vw; left: 0; width: 100%; font-size: var(--sp-section-body-size); line-height: var(--sp-section-body-leading); letter-spacing: .03em; }
  .exterior-main-image { top: 117.0483vw; left: 0; width: 95.4198vw; height: 63.6132vw; }
  .exterior-main-image img { width: 100%; height: 100%; object-fit: cover; }
  .exterior-window-image { top: 188.2952vw; left: 0; width: 43.257vw; height: 56.4885vw; }
  .exterior-window-image img { top: -1.1501vw; left: -3.3028vw; width: 47.9443vw; height: 71.9033vw; }
  .exterior-garden-image { top: 196.4377vw; left: auto; right: 0; width: 52.9262vw; height: 65.6489vw; }
  .exterior-garden-image img { top: 0; left: -3.8168vw; width: 54.4529vw; height: 81.6794vw; }

  .floor-plan-section { height: 277.3931vw; margin-top: 25.1908vw; }
  .floor-plan-copy { top: 0; left: var(--sp-section-gutter); width: var(--sp-section-measure); height: auto; text-align: left; }
  .floor-plan-rule { top: 14.5038vw; left: 0; width: 100%; }
  .floor-plan-heading { margin-top: 14.2494vw; font-size: var(--sp-section-heading-size); line-height: var(--sp-section-heading-leading); letter-spacing: .03em; white-space: normal; }
  .floor-plan-description { margin-top: 6.8702vw; font-size: var(--sp-section-body-size); line-height: var(--sp-section-body-leading); letter-spacing: .03em; white-space: normal; }
  .floor-plan-images { top: 86.7684vw; left: 0; width: 100%; height: 177.0712vw; }
  .floor-plan-first { top: 0; left: 7.888vw; width: 84.7328vw; height: 78.626vw; object-fit: contain; }
  .floor-plan-second { top: 92.1119vw; left: 15.5216vw; width: 68.9567vw; height: 71.2468vw; object-fit: contain; }
  .floor-plan-state:not([data-floor-state="0"]) { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); align-items: center; justify-items: center; }
  .floor-plan-state:not([data-floor-state="0"]) .floor-plan-first,
  .floor-plan-state:not([data-floor-state="0"]) .floor-plan-second { position: static; width: 84.7328vw; height: 78.626vw; object-fit: contain; }
  .floor-plan-state[data-floor-state="1"] { grid-template-rows: repeat(2, max-content); align-content: center; row-gap: 0; }
  .floor-plan-state[data-floor-state="1"] .floor-plan-first { height: 86.5vw; }
  .floor-plan-state[data-floor-state="1"] .floor-plan-second { height: 88.5vw; transform: translateX(5.0891vw); }
  .floor-plan-state[data-floor-state="2"] { grid-template-rows: repeat(2, max-content); align-content: center; row-gap: 15.2672vw; }
  .floor-plan-state[data-floor-state="2"] .floor-plan-first { width: 90.8397vw; height: auto; }
  .floor-plan-state[data-floor-state="2"] .floor-plan-second { width: 95.4198vw; height: auto; }
  .floor-plan-state[data-floor-state="2"] .floor-plan-first { order: 2; }
  .floor-plan-state[data-floor-state="2"] .floor-plan-second { order: 1; }
  .floor-plan-dots { top: 267.9108vw; left: 50%; gap: 1.7812vw; transform: translateX(-50%); }
  .floor-plan-dots button { width: 2.2901vw; height: 2.2901vw; }

  /* Q22: keep the 393px Interior master intact and scale its complete geometry. */
  .interior-section { height: 271.4504vw; margin-top: 25.4453vw; }
  .interior-copy { top: 0; left: var(--sp-section-gutter); width: var(--sp-section-measure); height: auto; text-align: left; }
  .interior-copy h2 { font-size: var(--sp-section-display-size); line-height: var(--sp-section-display-leading); }
  .interior-rule { top: 12.4682vw; left: 0; width: 100%; }
  .interior-heading { top: 24.6819vw; left: 0; font-size: var(--sp-section-heading-size); line-height: var(--sp-section-heading-leading); letter-spacing: .03em; white-space: normal; }
  .interior-description { top: 62.8499vw; left: 0; width: 100%; font-size: var(--sp-section-body-size); line-height: var(--sp-section-body-leading); letter-spacing: .03em; }
  .interior-main-image { top: 126.9211vw; left: 0; width: 95.4198vw; height: 60.5598vw; }
  .interior-main-image img { top: -2.0356vw; left: 0; width: 95.4198vw; height: 63.5496vw; object-fit: cover; }
  .interior-living-image { top: 190.0254vw; left: 0; width: 52.6718vw; height: 37.4046vw; }
  .interior-living-image img { top: 0; left: -1.6285vw; width: 56.1494vw; height: 37.4405vw; }
  .interior-kids-image { top: 229.9746vw; left: auto; right: 0; width: 58.2697vw; height: 41.4758vw; }
  .interior-kids-image img { top: -.3003vw; left: -.6794vw; width: 62.8595vw; height: 41.7972vw; object-fit: cover; }

  .technology-section { height: 1327px; margin-top: 100px; }
  .technology-copy { top: 0; left: var(--sp-content-left); width: var(--sp-content-width); height: auto; text-align: left; }
  .technology-rule { top: 49px; left: 0; width: 100%; }
  .technology-heading { top: 82px; left: 0; font-size: var(--sp-heading-size); line-height: var(--sp-heading-leading); letter-spacing: .03em; white-space: normal; }
  .technology-description { top: 228px; left: 0; width: 100%; font-size: var(--sp-body-size); line-height: var(--sp-body-leading); letter-spacing: .03em; }
  .technology-diagrams { top: 0; right: var(--sp-gutter); bottom: auto; left: var(--sp-gutter); height: 1327px; }
  .technology-tab { left: 0; width: 100%; height: 30px; font-size: var(--sp-ui-size); line-height: 30px; letter-spacing: .03em; }
  .technology-tab-insulation { top: calc(511px + var(--sp-technology-shift)); }
  .technology-window { top: calc(562px + var(--sp-technology-shift)); left: 19px; width: 120px; height: 211px; }
  .technology-window img { top: 0; left: 0; width: 153px; height: 208px; object-fit: contain; object-position: left top; }
  .technology-wall { top: calc(562px + var(--sp-technology-shift)); left: 145px; width: 159px; height: 211px; }
  .technology-wall img { top: 0; left: -8px; width: 190px; height: 219px; object-fit: contain; }
  .technology-tab-seismic { top: 828px; }
  .technology-seismic { top: 886px; left: 52px; width: 200px; height: 140px; }
  .technology-seismic img { top: 0; left: 0; width: 200px; height: 112px; object-fit: contain; }
  .technology-tab-load { top: 1057px; }
  .technology-load { top: 1109px; right: auto; left: 38px; width: 225px; height: 140px; }
  .technology-load img { width: 225px; height: 134px; object-fit: contain; }
  .technology-link { top: 1296px; right: 0; bottom: auto; width: 100%; height: 31px; font-size: var(--sp-ui-size); line-height: 21px; letter-spacing: .04em; }
  .technology-link img { top: 3px; right: 1px; width: 26px; height: 22px; }

  .culture-section { height: auto; margin-top: 30.5344vw; padding: 0 0 24px; overflow: visible; }
  .culture-title-block { position: relative; top: auto; left: var(--sp-section-gutter); width: var(--sp-section-measure); height: 47vw; }
  .culture-rule { top: 12.4682vw; width: 100%; }
  .culture-heading { top: 20.8651vw; font-size: var(--sp-section-heading-size); line-height: var(--sp-section-heading-leading); letter-spacing: .03em; }
  .culture-content { position: relative; top: auto; left: auto; display: flex; flex-direction: column; width: var(--sp-section-measure); height: auto; margin: 11.0814vw auto 0; }
  .culture-copy,
  .culture-accordion,
  .culture-visuals { display: contents; }
  .culture-copy { width: auto; }
  .culture-accordion { width: auto; }
  .culture-link { position: relative; left: 0; width: 100%; min-height: 12.2137vw; height: 12.2137vw; padding: 0; font-size: var(--sp-section-body-size); line-height: 7.3791vw; letter-spacing: .04em; }
  .culture-link img { top: 50%; right: 0; width: 5.598vw; height: 4.5802vw; transform: translateY(-50%); }
  .culture-link[aria-expanded="true"] img { transform: translateY(-50%) rotate(90deg); }
  .culture-description { position: relative; left: auto; width: 100%; margin: 20px 0 0; padding: 0; font-size: var(--sp-section-body-size); line-height: var(--sp-section-body-leading); letter-spacing: .03em; }
  .culture-description[hidden] { display: none !important; }
  .culture-visual { position: relative; top: auto; left: auto; display: none; width: 100%; margin-top: 30px; opacity: 1; pointer-events: none; }
  .culture-visual.is-active { display: block; }
  .culture-light-image,
  .culture-sharing-table,
  .culture-timeless-main { position: absolute; top: 0; left: 0; width: 73.7913vw; overflow: hidden; }
  .culture-night-image,
  .culture-sharing-tea,
  .culture-timeless-piano { position: absolute; right: -2.5445vw; width: 55.2163vw; overflow: hidden; }

  .culture-link[data-culture-accordion="0"] { order: 0; }
  .culture-description-light { order: 1; }
  .culture-visual[data-culture-visual="0"] { order: 2; height: 150.6361vw; }
  .culture-link[data-culture-accordion="1"] { order: 3; }
  #culture-panel-sharing { order: 4; }
  .culture-visual[data-culture-visual="1"] { order: 5; height: 151.1036vw; }
  .culture-link[data-culture-accordion="2"] { order: 6; }
  #culture-panel-timeless { order: 7; }
  .culture-visual[data-culture-visual="2"] { order: 8; height: 151.1036vw; }
  .culture-visual[data-culture-visual="0"],
  .culture-visual[data-culture-visual="1"] { margin-bottom: 25.4453vw; }

  .culture-light-image { width: 73.7913vw; height: 100.1636vw; }
  .culture-light-image img { top: 0; left: -71.5089vw; width: 150.1186vw; height: 100.0789vw; max-width: none; }
  .culture-night-image { top: 76.0814vw; height: 74.5547vw; }
  .culture-night-image img { top: -1.0178vw; left: -30.7888vw; width: 117.0483vw; height: 78.117vw; max-width: none; }

  .culture-sharing-table { height: 100.4384vw; }
  .culture-sharing-table img { position: relative; top: 0; left: -30.7463vw; width: 150.5015vw; height: 101.207vw; max-width: none; }
  .culture-sharing-tea { top: 76.157vw; height: 75.0221vw; }
  .culture-sharing-tea img { top: -4.2015vw; left: -10.3532vw; width: 90.7768vw; height: 90.1715vw; max-width: none; }

  .culture-timeless-main { height: 100.3265vw; }
  .culture-timeless-main img { position: relative; top: -7.3046vw; left: -44.2748vw; width: 161.4868vw; height: 107.631vw; max-width: none; }
  .culture-timeless-piano { top: 76.157vw; height: 75.0221vw; }
  .culture-timeless-piano img { top: -7.5023vw; left: -3.301vw; width: 73.5216vw; height: 97.4407vw; max-width: none; }

  .support-section { height: max(477px, calc(var(--sp-support-link-top) + 31px)); margin-top: 99px; }
  .support-copy { top: 0; left: var(--sp-content-left); width: var(--sp-content-width); height: auto; text-align: left; }
  .support-rule { top: 49px; left: 0; width: 100%; }
  .support-heading { top: 82px; left: 0; font-size: var(--sp-heading-size); line-height: var(--sp-heading-leading); letter-spacing: .03em; white-space: normal; }
  .support-description { top: 196px; left: 0; width: 100%; font-size: var(--sp-body-size); line-height: var(--sp-body-leading); letter-spacing: .03em; }
  .support-copy .lower-text-link { right: auto; bottom: auto; top: var(--sp-support-link-top); width: 100%; height: 31px; font-size: var(--sp-ui-size); line-height: 21px; letter-spacing: .04em; }

  .catalog-cta,
  .catalog-cta-bottom { height: 372px; }
  .catalog-cta { margin-top: 99px; }
  .catalog-cta-bottom { margin-top: 0; }
  .catalog-cta p { padding: 74px max(var(--sp-gutter), calc(50% - (var(--sp-content-measure) / 2))) 0; font-size: var(--sp-question-size); line-height: clamp(23.45px, 7.3282vw, 31.51px); letter-spacing: .03em; white-space: normal; }
  .catalog-copy-pc { display: none; }
  .catalog-copy-sp { display: block; }
  .catalog-copy-sp > span { display: block; white-space: nowrap; }
  .catalog-cta-button { top: 232px; left: 44px; width: calc(100% - 88px); height: 60px; font-size: 15px; line-height: 60px; }
  .catalog-cta-button img { top: 22px; right: 26px; width: 16px; height: 14px; }

  /* Q22: Q&A has no 430px plateau; every initial-state measure follows 393px. */
  .qa-section { min-height: 196.9466vw; margin-top: 0; padding: 24.3766vw 7.6336vw 20.3181vw; }
  .qa-section h2 { font-size: 5.0891vw; line-height: 7.6336vw; white-space: nowrap; }
  .qa-list { margin-top: 10.5344vw; }
  .qa-item { border: 0; }
  .qa-item h3 { box-shadow: inset 0 -.2545vw #bfc9bf; font-size: var(--sp-section-body-size); line-height: 6.1069vw; }
  .qa-item h3 button { position: relative; display: block; min-height: 0; padding: 2.2901vw 8.9059vw 2.2901vw 7.1247vw; text-indent: -7.1247vw; }
  .qa-item-four h3 button,
  .qa-item-five h3 button { padding-top: 2.0356vw; padding-bottom: 2.0356vw; }
  .qa-item-one { margin-bottom: 8.6514vw; }
  .qa-item-two,
  .qa-item-three,
  .qa-item-four { margin-bottom: 4.3257vw; }
  .qa-item [role="region"] { padding: 2.5445vw 0; }
  .qa-item p { font-size: var(--sp-section-body-size); line-height: 6.1069vw; }
  .qa-item h3 button > span { position: absolute; top: 50%; right: .5089vw; width: 4.0712vw; height: 4.0712vw; margin-left: 0; font-size: 4.0712vw; line-height: 4.0712vw; text-align: center; text-indent: 0; transform: translateY(-50%); }
  .qa-item h3 button[aria-expanded="false"] > span { transform: translateY(-50%) rotate(-90deg); }

  .related-section { height: 646px; }
  .related-link { top: 99px; left: max(var(--sp-gutter), calc(50% - var(--sp-related-half))); width: min(var(--sp-related-measure), calc(100% - (var(--sp-gutter) * 2))); height: 31px; font-size: var(--sp-ui-size); line-height: 21px; text-align: left; }
  .related-card { left: 20px; width: calc(100% - 40px); height: 174px; }
  .related-magazine-card { top: 198px; }
  .related-simulation-card { top: 383px; right: auto; }
  .related-magazine-logo { top: 31px; left: 37px; width: 142px; height: 78px; }
  .related-magazine-phone { top: 25px; left: 220px; width: 88px; height: 244px; border-width: 8px; border-radius: 15px; }
  .related-magazine-card p { top: 128px; left: 25px; width: 142px; font-size: 3px; line-height: 6px; letter-spacing: .09px; }
  .related-simulation-card img { top: 0; left: 31px; width: 289px; height: 174px; }
}

/* Official breakpoint and mobile rules from common.css. */
@media screen and (max-width: 768px) {
  .ft {
    margin-top: 80px;
    margin-bottom: 47px;
    font-size: 12px;
  }

  .ft li {
    font-size: 12px;
  }

  .ft .sp_show {
    display: block !important;
  }

  .ft .subLink .linkList {
    width: 100%;
    float: none;
    text-align: center;
  }

  .ft .subLink .linkList > li {
    width: 33.33%;
    margin: 9px 0;
    text-align: center;
  }

  .ft .subLink .linkList > li:nth-child(1),
  .ft .subLink .linkList > li:nth-child(4),
  .ft .subLink .linkList > li:nth-child(7) {
    border-left: 1px solid #ddd;
  }

  .ft .subLink .linkList > li:nth-last-child(1),
  .ft .subLink .linkList > li:nth-last-child(2) {
    width: 50%;
  }

  .ft .subLink .linkList > li a {
    font-size: 11px;
  }

  .ft .subLink .snsList {
    width: 100%;
    float: none;
    text-align: center;
  }

  .ft .mainLink {
    padding: 45px 0;
  }

  .ft .mainLink .ttl {
    font-size: 14px;
  }

  .ft .mainLink .linkList {
    text-align: left;
  }

  .ft .mainLink .linkList > li {
    width: 33.33%;
    margin: 4px 0;
    text-align: left;
  }

  .ft .mainLink .linkList > li a {
    font-size: 11px;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .feature-viewport { scroll-behavior: auto; }
}

@media (max-width: 359px) {
  .related-link { left: 30px; width: 260px; }

  .interior-copy,
  .technology-copy,
  .support-copy { width: var(--sp-content-width); }

  .technology-window { left: 0; width: 110px; }
  .technology-window img { width: 110px; }
  .technology-wall { left: 113px; width: 147px; }
  .technology-wall img { width: 147px; }
  .technology-seismic { left: 30px; width: 200px; }
  .technology-load { left: 20px; width: 220px; }
  .technology-load img { width: 220px; }

  .qa-section h2 { max-width: 100%; font-size: 5.0891vw; white-space: nowrap; }
  .related-simulation-card img { left: 0; width: 100%; height: 169px; }
  .related-magazine-logo { left: 20px; width: 120px; }
  .related-magazine-phone { left: 176px; width: 72px; height: 202px; }
  .related-magazine-card p { left: 20px; width: 120px; }
}
