/* Closing story: reassurance -> equipment options -> answers -> estimate. */
.closing-section{color:#092b4c;scroll-margin-top:24px;padding:80px 0;font-family:inherit}
.closing-wrap{width:min(1120px,calc(100% - 80px));margin-inline:auto}
.closing-wrap--narrow{max-width:900px}
.closing-heading{text-align:center;margin-bottom:48px}
.closing-eyebrow{margin:0 0 16px;color:#08749f;font-size:16px;font-weight:700;line-height:1.6}
.closing-heading h2,.closing-estimate-intro h2{margin:0;font-size:clamp(30px,3vw,42px);line-height:1.55;letter-spacing:-.035em;font-weight:800;word-break:keep-all;overflow-wrap:anywhere}
.closing-heading h2 em,.closing-estimate-intro h2 em{color:#087db4;font-style:normal}
.closing-heading>p:last-child:not(.closing-eyebrow){margin:20px auto 0;font-size:17px;line-height:1.9;font-weight:500;color:#425b6c;max-width:800px;text-wrap:pretty}
/* Alternate editorial illustration, equipment photography, quiet answers, dark conversion. */
.closing-support{background:#fff;border-top:1px solid #e0eaf0;padding-top:64px}
.closing-support-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;margin-bottom:44px}
.closing-support-hero .closing-heading{text-align:left;margin:0}
.closing-support-hero h2{font-size:clamp(38px,4vw,54px);line-height:1.45}
.closing-support-hero .closing-heading>p:last-child{margin-top:24px}
.closing-support-image{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.closing-steps{list-style:none;padding:28px 32px;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;background:#f1f7fa;border-radius:8px}
.closing-steps li{position:relative;padding:0 0 0 42px}
.closing-step-number{position:absolute;left:0;top:2px;font-size:22px;font-weight:500;color:#087db4;line-height:1.5;font-variant-numeric:tabular-nums}
.closing-steps h3{font-size:19px;line-height:1.6;margin:0 0 10px;font-weight:700;letter-spacing:-.03em}
.closing-steps p{font-size:14px;line-height:1.9;margin:0;color:#425b6c;font-weight:500}
.closing-support-bottom{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.closing-support-bottom p{margin:0;font-size:15px;line-height:1.8}
.closing-support-bottom a{color:#08749f;font-size:16px;font-weight:700;text-underline-offset:6px;white-space:nowrap}.closing-support-bottom a span{margin-left:20px}
/* Property outcome first; optional equipment detail supports consultation. */
.closing-equipment{background:#f0f5f7;padding-block:56px}
/* Diagram coordinates share a fixed aspect ratio so leaders remain attached. */
.equipment-map-heading{text-align:center}.equipment-map-heading .closing-eyebrow{font-size:14px;margin-bottom:12px}.equipment-map-heading h2{font-size:38px;line-height:1.5;font-weight:800;letter-spacing:-.035em;margin:0}.equipment-map-heading h2 em{font-style:normal;color:#08749f}.equipment-map-heading>p:last-child{font-size:16px;line-height:1.9;color:#425b6c;margin:18px 0 0}
.equipment-map{position:relative;aspect-ratio:1120/580;margin-top:16px}.equipment-map-building{position:absolute;left:20%;top:4%;width:60%;aspect-ratio:3/2}.equipment-map-building>img{width:100%;height:100%;display:block;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);}.equipment-map-pin{position:absolute;transform:translate(-50%,-50%);width:23px;height:23px;display:grid;place-items:center;background:#08749f;border:2px solid #fff;border-radius:50%;color:#fff;font-size:11px;font-weight:700;z-index:2}
.equipment-map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.equipment-map-label{position:absolute;width:23%;transform:translateY(-50%);z-index:3;background:#fff;padding:14px 16px;border-radius:6px;border:1px solid #d5e4eb;box-shadow:0 5px 16px rgba(9,43,76,.055)}
.equipment-label-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:72px}.equipment-map-label h3{font-size:20px;font-weight:800;letter-spacing:-.045em;line-height:1.4;margin:0;flex:1}.equipment-map-label p{font-size:13px;line-height:1.7;color:#425b6c;margin:9px 0 0}.equipment-map-label small{display:block;font-size:10px;color:#526d7c;margin-top:4px}.equipment-label-number{position:absolute;left:14px;top:-11px;font-size:11px;line-height:22px;width:28px;text-align:center;background:#08749f;color:#fff;font-weight:700;border-radius:3px}
.equipment-detail-visual{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:78px;height:72px;overflow:hidden;gap:0}.equipment-detail-visual>img{width:100%;height:100%;object-fit:contain}.equipment-detail-visual>img+img{margin-left:-5px}.equipment-map-label--delivery .equipment-detail-visual>img{object-fit:cover}.equipment-map-label--delivery .equipment-detail-visual>img,.equipment-map-label--lock .equipment-detail-visual>img{width:52%}.equipment-map-label--camera .equipment-detail-visual{border-radius:4px}.equipment-map-label--camera .equipment-detail-visual img{object-fit:cover;object-position:72% center}
.equipment-detail-akuvox{position:relative;overflow:hidden;width:29px;height:72px}.equipment-detail-akuvox img{position:absolute;max-width:none;width:137px;height:77px;left:-3px;top:-4px;clip-path:inset(0 78% 0 0)}
.equipment-detail-light{width:78px;height:60px;background-image:url('assets/equipment/building-map-v1.png');background-size:600px 400px;background-position:-352px -143px;border-radius:4px}
.equipment-map-pin{width:28px;height:28px;font-size:12px;box-shadow:0 0 0 5px rgba(8,116,159,.17)}
.equipment-map-label--camera,.equipment-map-label--delivery,.equipment-map-label--entry{left:0}.equipment-map-label--lock,.equipment-map-label--light,.equipment-map-label--power{right:0}.equipment-map-label--camera,.equipment-map-label--lock{top:25%}.equipment-map-label--delivery,.equipment-map-label--light{top:51.72%}.equipment-map-label--entry,.equipment-map-label--power{top:78.62%}
.equipment-map-caption{text-align:center;font-size:11px;color:#526d7c;margin:-10px 0 24px}
@media(max-width:1100px){.equipment-map-label{padding:12px;width:24%}.equipment-map-label h3{font-size:17px}.equipment-map-label p{font-size:12px;margin-top:6px}.equipment-map-label small{margin-top:2px}.equipment-detail-visual{width:62px;height:60px}.equipment-label-top{min-height:60px}}
@media(max-width:760px){.equipment-map-heading h2{font-size:29px}.equipment-map-heading>p:last-child{font-size:14px}.equipment-map{aspect-ratio:auto;margin-top:20px}.equipment-map-building{position:relative;left:auto;top:auto;width:100%;margin-bottom:28px}.equipment-map-lines{display:none}.equipment-map-labels{display:grid;grid-template-columns:1fr 1fr;gap:22px 12px}.equipment-map-label{position:relative;transform:none;width:auto;padding:15px 12px 12px;left:auto;right:auto;top:auto}.equipment-label-top{display:flex;flex-direction:column-reverse;align-items:start;gap:8px}.equipment-detail-visual{width:100%;height:65px}.equipment-detail-visual>img{width:auto;max-width:100%}.equipment-map-label--camera .equipment-detail-visual{height:65px}.equipment-map-label--camera .equipment-detail-visual img{width:100%}.equipment-map-label--delivery .equipment-detail-visual>img,.equipment-map-label--lock .equipment-detail-visual>img{width:45%}.equipment-map-label h3{font-size:16px;min-height:0}.equipment-map-label p{font-size:12px;margin-top:8px}.equipment-map-pin{width:24px;height:24px;font-size:11px;box-shadow:0 0 0 4px rgba(8,116,159,.17)}.equipment-map-caption{margin:16px 0 20px;font-size:10px}}
.equipment-topics-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px}.equipment-topics-intro p{font-size:17px;font-weight:700;margin:0}.equipment-topics-intro>span{font-size:12px;color:#526d7c}
.equipment-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.equipment-topic{border-top:1px solid #b7ccd7;border-bottom:1px solid #b7ccd7}.equipment-topic summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;cursor:pointer;list-style:none}.equipment-topic summary::-webkit-details-marker{display:none}
.equipment-topic summary b{font-size:21px;line-height:1.5;letter-spacing:-.025em}.equipment-topic summary small{display:block;font-size:13px;color:#425b6c;font-weight:400;margin-top:6px;line-height:1.6}.equipment-topic summary i{font-size:22px;font-weight:400;font-style:normal;color:#08749f;transition:transform .2s}.equipment-topic[open] summary i{transform:rotate(45deg)}
.equipment-brief{margin:0;padding:0 0 20px;display:grid;gap:16px}.equipment-brief>div{display:block}.equipment-brief dt{font-size:14px;line-height:1.6;font-weight:700;color:#092b4c}.equipment-brief dd{margin:4px 0 0;font-size:13px;line-height:1.8;color:#425b6c;font-weight:400}.equipment-brief small{display:block;font-size:11px;line-height:1.8;color:#526d7c;margin-top:4px}
.equipment-scene-consult{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}.equipment-scene-consult p{font-size:16px;font-weight:700;line-height:1.7;margin:0}
.equipment-scene-consult a{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#d95718;color:#fff;border-radius:4px;padding:17px 24px;text-decoration:none;font-size:16px;font-weight:700;line-height:1.6}.equipment-scene-consult a:hover{background:#bf470e}.equipment-scene-consult a span{font-size:23px}
.equipment-note{margin:20px 0 0;font-size:10px;line-height:1.8;color:#526d7c}
@media(max-width:1100px){.equipment-scene{min-height:490px}.equipment-scene-copy h2{font-size:35px}.equipment-scene-copy{top:16%}.equipment-topics{gap:20px}.equipment-scene-consult a{font-size:14px;gap:20px}.equipment-scene-consult p{font-size:14px}}
@media(max-width:760px){.closing-equipment{padding-block:32px}.equipment-scene{display:flex;flex-direction:column;min-height:0;aspect-ratio:auto;overflow:visible;background:none}.equipment-scene:before{display:none}.equipment-scene-copy{position:static;max-width:none;order:-1;margin:0 0 24px}.equipment-scene-copy>p:first-child{font-size:12px;margin-bottom:14px}.equipment-scene-copy h2{font-size:31px;line-height:1.5}.equipment-scene-copy>p:last-child{font-size:14px;margin-top:16px}.equipment-scene-image{position:static;z-index:0;height:280px;width:100%;object-position:78% center}.equipment-scene-caption{font-size:9px;bottom:10px;right:10px}.equipment-topics-intro{display:block;margin-top:24px}.equipment-topics-intro p{font-size:16px}.equipment-topics-intro>span{display:block;font-size:11px;margin-top:6px}.equipment-topics{grid-template-columns:1fr;gap:0}.equipment-topic{border-bottom:0}.equipment-topic:last-child{border-bottom:1px solid #b7ccd7}.equipment-topic summary{padding:15px 0}.equipment-topic summary b{font-size:19px}.equipment-topic summary small{font-size:12px;margin-top:3px}.equipment-scene-consult{display:block;margin-top:24px}.equipment-scene-consult p{font-size:14px;text-align:center;margin-bottom:14px}.equipment-scene-consult a{font-size:14px;gap:12px;padding:17px 16px}.equipment-note{font-size:10px;margin-top:16px}}
.closing-faq{background:#fff}
.closing-faq .closing-heading{margin-bottom:32px}
.closing-faq-list{margin:0;border-top:1px solid #cbdce5}
.closing-faq-list summary{font-size:17px;font-weight:700;min-height:72px;padding:20px 42px 20px 38px}
.closing-faq-list summary::before{left:0;font-size:18px;color:#08749f}
.closing-faq-list summary::after{right:4px;color:#08749f}
.closing-faq-list details p{font-size:16px;padding:0 38px 24px;line-height:1.9;color:#425b6c;font-weight:500}
.closing-faq-list details[open]{background:#f5f9fb}
.closing-faq-list details[open] summary{color:#08749f}
.closing-faq-more{margin-top:24px}
.closing-faq-more>summary{display:flex;justify-content:center;align-items:center;gap:20px;cursor:pointer;color:#08749f;font-size:16px;font-weight:700;padding:16px;list-style:none;text-align:center}
.closing-faq-more>summary::-webkit-details-marker{display:none}.closing-faq-more[open]>summary span{transform:rotate(45deg)}
.closing-faq-more .closing-faq-list{margin-top:16px}
.closing-estimate{background:#092b4c;color:#fff;padding-block:96px}.closing-estimate .closing-eyebrow{color:#9cdbef}.closing-estimate-intro h2 em{color:#fff}
.closing-estimate-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.closing-estimate-intro{padding-top:24px}
.closing-estimate-intro h2{font-size:clamp(29px,2.6vw,38px)}
.closing-estimate-intro>p:not(.closing-eyebrow){font-size:16px;line-height:1.9;color:#d0dfe9;margin:24px 0 0}
.closing-next{margin-top:40px;padding-top:24px;border-top:1px solid #49667f}
.closing-next h3{font-size:17px;margin:0 0 16px;font-weight:700}
.closing-next ol{margin:0;padding-left:24px;display:grid;gap:12px;font-size:16px;color:#d0dfe9;line-height:1.7}.closing-next li::marker{color:#9cdbef;font-weight:700}
.closing-form{background:#fff;color:#092b4c;border-radius:8px;padding:32px;box-shadow:0 12px 36px rgba(22,61,81,.05)}
.closing-form>h3{font-size:23px;margin:0 0 8px;font-weight:700}
.closing-form-note{font-size:14px;color:#526d7c;margin:0 0 24px}
.closing-form .form-grid{gap:16px}
.closing-form .form-grid label>span{font-size:15px;font-weight:700;margin-bottom:8px}
.closing-form .form-grid label>span em{font-size:11px;background:#fff0e8;color:#a83a0b;border-radius:2px}
.closing-form .form-grid label>span i{font-size:11px}
.closing-form input,.closing-form select,.closing-form textarea{font:inherit;font-size:16px;border-color:#93aeba;background:#fff;border-radius:4px;box-shadow:none}
.closing-form input,.closing-form select{height:48px}
.closing-form textarea{min-height:92px}
.closing-form .error{font-size:12px;min-height:0;margin-top:0}.closing-form .error:not(:empty){margin-top:5px}
.closing-form .form-submit{padding-top:0;border:0;margin-top:24px}
.closing-form .form-submit p{font-size:13px;line-height:1.8;margin-bottom:16px}
.closing-form .button{background:#d95718;color:#fff;border-radius:5px;min-height:62px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 18px rgba(164,59,8,.14);animation:none}
.closing-form .button b{font-size:18px}.closing-form .button i{font-size:23px;font-style:normal}.closing-form .button:hover{background:#bf470e}
.closing-section a:focus-visible,.closing-section summary:focus-visible,.closing-section button:focus-visible,.closing-section input:focus-visible,.closing-section select:focus-visible,.closing-section textarea:focus-visible{outline:3px solid #087db4;outline-offset:4px}
.closing-form .has-error input,.closing-form .has-error select{border-color:#b63722;background:#fff8f5}
.closing-form .form-status{font-size:14px;line-height:1.7}
@media(max-width:1100px){.closing-wrap{width:calc(100% - 64px)}.closing-support-hero{gap:24px}.closing-steps{gap:20px;padding:24px}.closing-steps li{padding-left:34px}.closing-steps h3{font-size:17px}.closing-steps p{font-size:13px}.closing-estimate-grid{gap:32px}.closing-form{padding:28px}.closing-heading>p:last-child:not(.closing-eyebrow){font-size:16px}}
@media(max-width:760px){.closing-section{padding:52px 0;scroll-margin-top:12px}.closing-wrap{width:calc(100% - 40px)}.closing-heading{margin-bottom:32px}.closing-eyebrow{font-size:14px;margin-bottom:12px}.closing-heading h2,.closing-estimate-intro h2{font-size:28px;line-height:1.6}.closing-heading>p:last-child:not(.closing-eyebrow){font-size:15px;margin-top:16px;text-align:left}.closing-support-hero{grid-template-columns:1fr;gap:16px;margin-bottom:24px}.closing-support-hero h2{font-size:38px;line-height:1.45}.closing-support-image{max-width:400px;margin:auto}.closing-steps{grid-template-columns:1fr;gap:22px;padding:24px}.closing-steps li{padding-left:38px}.closing-step-number{font-size:23px}.closing-steps h3{font-size:19px;margin-bottom:6px}.closing-steps p{font-size:14px}.closing-support-bottom{display:block;margin-top:24px}.closing-support-bottom p{font-size:14px;margin-bottom:16px}.closing-support-bottom a{display:inline-block}.closing-faq-list summary{font-size:16px;line-height:1.7;padding:18px 30px;min-height:68px}.closing-faq-list details p{padding:0 16px 20px 30px;font-size:15px}.closing-faq-more>summary{font-size:14px;padding:12px 0}.closing-estimate-grid{grid-template-columns:1fr;gap:28px}.closing-estimate-intro{padding:0}.closing-next{margin-top:24px}.closing-next ol{font-size:15px;gap:8px}.closing-form{padding:24px 20px}.closing-form>h3{font-size:21px}.closing-form .button b{font-size:16px}.closing-form .form-submit p{font-size:12px}}
.closing-form .button i{width:auto;height:auto;min-width:0;display:block;background:transparent;color:#fff;border-radius:0;box-shadow:none;line-height:1}


/* 設備図ラベルの重なり修正（2026-09-09）
   絶対配置の設備図は幅に対して高さがaspect-ratioで決まるため、
   761〜980pxと1101〜1140pxでラベル同士が重なっていた。
   既存の承認済みレイアウトを、それぞれの帯へそのまま適用して解消する。
   760px以下と1141px以上の表示は変更しない。 */
@media(min-width:761px) and (max-width:980px){.equipment-map-heading h2{font-size:29px}.equipment-map-heading>p:last-child{font-size:14px}.equipment-map{aspect-ratio:auto;margin-top:20px}.equipment-map-building{position:relative;left:auto;top:auto;width:100%;margin-bottom:28px}.equipment-map-lines{display:none}.equipment-map-labels{display:grid;grid-template-columns:1fr 1fr;gap:22px 12px}.equipment-map-label{position:relative;transform:none;width:auto;padding:15px 12px 12px;left:auto;right:auto;top:auto}.equipment-label-top{display:flex;flex-direction:column-reverse;align-items:start;gap:8px}.equipment-detail-visual{width:100%;height:65px}.equipment-detail-visual>img{width:auto;max-width:100%}.equipment-map-label--camera .equipment-detail-visual{height:65px}.equipment-map-label--camera .equipment-detail-visual img{width:100%}.equipment-map-label--delivery .equipment-detail-visual>img,.equipment-map-label--lock .equipment-detail-visual>img{width:45%}.equipment-map-label h3{font-size:16px;min-height:0}.equipment-map-label p{font-size:12px;margin-top:8px}.equipment-map-pin{width:24px;height:24px;font-size:11px;box-shadow:0 0 0 4px rgba(8,116,159,.17)}.equipment-map-caption{margin:16px 0 20px;font-size:10px}}
@media(min-width:761px) and (max-width:980px){.equipment-map-labels{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1101px) and (max-width:1140px){.equipment-map-label{padding:12px;width:24%}.equipment-map-label h3{font-size:17px}.equipment-map-label p{font-size:12px;margin-top:6px}.equipment-map-label small{margin-top:2px}.equipment-detail-visual{width:62px;height:60px}.equipment-label-top{min-height:60px}}

/* 送信先が未接続であることを示す通知。成功（緑）と紛らわしくならないようにする。 */
.form-status.notice{color:#7a4a12;background:#fdf4e3;border-left:4px solid #e0a33a}
