/* 外壁ヒーローの最終レイアウト：左右を完全に分離し、低い画像バナー比率に固定 */
.sato-service--exterior .svc-hero--reference {
    min-height: 0 !important;
    height: clamp(400px, 33vw, 430px) !important;
    background: #fff !important;
}
.sato-service--exterior .svc-hero--reference .svc-hero__grid {
    display: block !important;
    width: min(100%, 1500px) !important;
    height: 100% !important;
    margin: 0 auto !important;
}
.sato-service--exterior .svc-hero--reference .svc-hero__copy {
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50% !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 28px clamp(26px, 4vw, 68px) 42px !important;
    text-align: center;
}
.sato-service--exterior .svc-hero--reference h1 {
    margin: 0 !important;
    color: #092744 !important;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
    font-size: clamp(34px, 3.2vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    letter-spacing: .06em !important;
    white-space: nowrap;
}
.sato-service--exterior .svc-hero--reference h1 span { color: #092744 !important; font-size: 1.1em; font-weight: 900; }
.sato-service--exterior .svc-hero--reference .svc-hero__lead {
    max-width: 400px !important;
    margin: 16px 0 0 !important;
    padding-top: 14px !important;
    color: #1e3044 !important;
    border-top: 1px solid #aeb5bb !important;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
    font-size: clamp(12px, .95vw, 15px) !important;
    font-weight: 600 !important;
    line-height: 1.9 !important;
    text-align: left;
}
.sato-service--exterior .svc-exterior-hero__visual {
    position: absolute !important;
    z-index: 1;
    inset: 0 0 0 auto !important;
    width: 50% !important;
    height: 100% !important;
    overflow: hidden;
    clip-path: none !important;
}
.sato-service--exterior .svc-exterior-hero__visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.sato-service--exterior .svc-exterior-hero__local {
    z-index: 5;
    min-width: 430px;
    gap: 24px;
    padding: 27px 44px;
}
.sato-service--exterior .svc-exterior-hero__local strong { font-size: 25px; }
.sato-service--exterior .svc-exterior-hero__local span { padding-left: 23px; font-size: 14px; }

/* 料金・関連工事はTOPに合わせた余白のある游明朝見出しへ */
.sato-service--exterior .svc-section--price .svc-heading--center,
.sato-service--exterior .svc-section--related .svc-heading--center {
    max-width: 980px;
    margin: 0 auto 48px;
    padding: 0 20px 25px;
    border-bottom: 1px solid #d4b365;
}
.sato-service--exterior .svc-section--price .svc-heading--center .svc-kicker,
.sato-service--exterior .svc-section--related .svc-heading--center .svc-kicker {
    color: #bd891c;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-size: 15px;
    letter-spacing: .2em;
}
.sato-service--exterior .svc-section--price .svc-heading--center h2,
.sato-service--exterior .svc-section--related .svc-heading--center h2 {
    color: #092744;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(32px, 3.2vw, 52px);
    font-weight: 700;
    letter-spacing: .08em;
}
.sato-service--exterior .svc-section--price .svc-heading--center h2 span { color: #b98618; }
.sato-service--exterior .svc-section--price .svc-heading--center > p:not(.svc-kicker),
.sato-service--exterior .svc-section--related .svc-heading--center > p:not(.svc-kicker) { color: #445464; font-family: "Yu Mincho", "YuMincho", serif; }

/* ページ全体の見出しスケールを統一 */
.sato-service--exterior .svc-reference-symptoms__heading h2 { font-size: clamp(30px, 2.5vw, 42px); line-height: 1.35; }
.sato-service--exterior .svc-reference-quality__heading h2 { font-size: clamp(32px, 3vw, 46px); line-height: 1.3; }
.sato-service--exterior .svc-section--price .svc-heading--center h2,
.sato-service--exterior .svc-section--related .svc-heading--center h2 { font-size: clamp(30px, 2.9vw, 44px); line-height: 1.35; }
.sato-service--exterior .svc-faq-layout .svc-heading h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.35; }
.sato-service--exterior .svc-reference-quality__cards h3 { font-size: clamp(19px, 1.45vw, 24px); }
.sato-service--exterior .svc-plan h3 { font-size: clamp(19px, 1.45vw, 23px); }
.sato-service--exterior .svc-related-grid span { font-size: clamp(17px, 1.35vw, 21px); }

/* 約束・工程の個別アイコンは縮小して余白を確保し、端を見切らせない */
.sato-service--index .svc-reason .svc-sprite,
.sato-service--index .svc-flow .svc-sprite,
.svc-exterior-flow .svc-sprite {
    box-sizing: border-box;
    padding: 7px;
    background-size: contain !important;
    background-origin: content-box;
    background-clip: content-box;
}

/* 外壁を基準にした4サービス共通ヒーローテンプレート */
:is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-hero--reference {
    min-height: 0 !important;
    height: clamp(400px, 33vw, 430px) !important;
    background: #fff !important;
}
:is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-hero--reference .svc-hero__grid {
    display: block !important;
    width: min(100%, 1500px) !important;
    height: 100% !important;
    margin: 0 auto !important;
}
:is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-hero--reference .svc-hero__copy {
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50% !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 28px clamp(26px, 4vw, 68px) 42px !important;
    text-align: center;
}
:is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-hero--reference h1 {
    margin: 0 !important;
    color: #092744 !important;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
    font-size: clamp(34px, 3.2vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    letter-spacing: .06em !important;
}
:is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-hero--reference .svc-hero__lead {
    max-width: 400px !important;
    margin: 16px 0 0 !important;
    padding-top: 14px !important;
    color: #1e3044 !important;
    border-top: 1px solid #aeb5bb !important;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
    font-size: clamp(12px, .95vw, 15px) !important;
    font-weight: 600 !important;
    line-height: 1.9 !important;
    text-align: left;
}
:is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-exterior-hero__visual {
    position: absolute !important;
    z-index: 1;
    inset: 0 0 0 auto !important;
    width: 50% !important;
    height: 100% !important;
    overflow: hidden;
    clip-path: none !important;
}
:is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-exterior-hero__visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
:is(.sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-exterior-hero__visual img { object-position: center 55%; }
@media (max-width: 699px) {
    :is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-hero--reference { height: auto !important; min-height: 420px !important; }
    :is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-hero--reference .svc-hero__grid { height: 420px !important; }
    :is(.sato-service--exterior, .sato-service--roof, .sato-service--waterproof, .sato-service--repair) .svc-hero--reference .svc-hero__copy { width: 56% !important; height: 100% !important; padding: 30px 12px 48px !important; }
}

/* 工程アイコン：切り抜き範囲を横・下方向に各2px拡張 */
.sato-service--index .svc-flow .svc-sprite,
.svc-exterior-flow .svc-sprite {
    padding: 7px 5px 5px;
}

/* 工事の考え方：全体を約15%コンパクトに整える */
.sato-service--exterior .svc-reference-quality {
    padding-top: clamp(52px, 5.8vw, 86px);
    padding-bottom: clamp(46px, 5vw, 76px);
}
.sato-service--exterior .svc-reference-quality__heading { margin-bottom: 22px; }
.sato-service--exterior .svc-reference-quality__heading h2 { font-size: clamp(30px, 2.7vw, 42px); }
.sato-service--exterior .svc-reference-quality__heading small { margin-top: 12px; font-size: clamp(13px, 1.15vw, 17px); }
.sato-service--exterior .svc-reference-quality__diagnosis { margin-bottom: 25px; padding: 18px clamp(18px, 3vw, 54px); }
.sato-service--exterior .svc-reference-quality__diagnosis > div { min-height: 130px; }
.sato-service--exterior .svc-reference-quality__diagnosis span { font-size: clamp(21px, 2.1vw, 34px); }
.sato-service--exterior .svc-reference-quality__diagnosis p { font-size: clamp(13px, 1.15vw, 17px); }
.sato-service--exterior .svc-reference-quality__cards { gap: 18px; }
.sato-service--exterior .svc-reference-quality__cards article { min-height: 205px; padding: 25px 22px 21px; }
@media (max-width: 699px) {
    .sato-service--exterior .svc-hero--reference { height: auto !important; min-height: 420px !important; }
    .sato-service--exterior .svc-hero--reference .svc-hero__grid { height: 420px !important; }
    .sato-service--exterior .svc-hero--reference .svc-hero__copy { width: 56% !important; height: 100% !important; padding: 30px 12px 48px !important; }
    .sato-service--exterior .svc-hero--reference h1 { font-size: clamp(30px, 8.5vw, 42px) !important; white-space: normal; }
    .sato-service--exterior .svc-exterior-hero__visual { width: 50% !important; height: 100% !important; opacity: 1 !important; }
}
