/* 追加LPパーツ。配色・画像は既存LPの素材を共通利用する。 */
.hakkou-page .lp-support { --support-blue:#0360d3; --support-yellow:#f2e216; --support-orange:#fd7d06; width:100%; max-width:900px; margin:64px auto; padding:42px 32px; color:#222; font-size:16px; font-weight:500; line-height:1.9; letter-spacing:.025em; }
.hakkou-page .lp-support__badge { display:table; max-width:100%; margin:0 auto 22px; padding:8px 28px; border:2px solid var(--support-blue); border-radius:40px; background:#fff; color:var(--support-blue); font-size:18px; font-weight:900; line-height:1.6; text-align:center; }
.hakkou-page .lp-support h2 { margin:0 0 28px; color:var(--support-blue); font-size:clamp(28px,3.5vw,42px); font-weight:900; line-height:1.5; letter-spacing:.025em; text-align:center; text-wrap:balance; }
.hakkou-page .lp-support h2 em { font-style:normal; background:linear-gradient(transparent 76%,var(--support-yellow) 76%); }
.hakkou-page .lp-support__lead { margin-bottom:28px; text-align:center; font-size:17px; line-height:2; }
.hakkou-page .lp-support__note { margin-top:22px; font-size:13px; line-height:1.9; }
.hakkou-page .lp-support .hakkou-archive-link a { border:2px solid var(--support-blue); font-weight:900; }
.hakkou-page .lp-support__sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
/* 方眼紙のチェックリストと悩みの写真。 */
.hakkou-page .lp-concerns { position:relative; padding-bottom:0; background:#e9f7ff; border-top:6px solid var(--support-blue); }
.hakkou-page .lp-concerns::after { content:''; position:absolute; left:calc(50% - 28px); bottom:-22px; border:28px solid transparent; border-top-color:#e9f7ff; border-bottom:0; }
.hakkou-page .lp-concerns__sheet { display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:24px; padding:28px 22px; background-color:#fff; background-image:linear-gradient(#e9f7ff 1px,transparent 1px),linear-gradient(90deg,#e9f7ff 1px,transparent 1px); background-size:12px 12px; }
.hakkou-page .lp-concerns__list { display:grid; align-content:center; gap:17px; margin:0; padding:0; list-style:none; }
.hakkou-page .lp-concerns__list li { display:flex; align-items:flex-start; gap:12px; margin:0; padding:0; font-size:17px; line-height:1.9; }
.hakkou-page .lp-concerns__list strong { font-weight:900; background:linear-gradient(transparent 72%,var(--support-yellow) 72%); }
.hakkou-page .lp-concerns__check { display:grid; place-items:center; flex:none; width:25px; height:25px; margin-top:4px; background:#fff; border:2px solid #a6d3ff; color:var(--support-blue); font-size:30px; font-weight:900; line-height:1; }
.hakkou-page .lp-concerns__photo { align-self:center; margin:0; }
.hakkou-page .lp-concerns__photo p { position:relative; margin-bottom:20px; padding:12px 8px; background:#fff; color:var(--support-blue); border:2px solid var(--support-blue); border-radius:15px; font-size:17px; font-weight:900; line-height:1.6; text-align:center; }
.hakkou-page .lp-concerns__photo p::after { content:''; position:absolute; bottom:-10px; left:calc(50% - 8px); width:16px; height:16px; border-right:2px solid var(--support-blue); border-bottom:2px solid var(--support-blue); background:#fff; transform:rotate(45deg); }
.hakkou-page .lp-concerns__photo img { display:block; width:100%; height:260px; border:5px solid #fff; border-radius:100px; object-fit:cover; object-position:24% center; }
.hakkou-page .lp-concerns__answer { display:flex; align-items:center; justify-content:center; gap:28px; padding:28px 0; }
.hakkou-page .lp-concerns__answer img { width:75px; height:132px; object-fit:contain; flex:none; }
.hakkou-page .lp-concerns__answer p { color:var(--support-blue); font-size:23px; font-weight:900; line-height:1.7; }
.hakkou-page .lp-concerns__answer strong { font-size:30px; }
.hakkou-page .lp-concerns__answer p > span { display:block; margin-top:8px; color:#222; font-size:15px; font-weight:500; }
/* 清掃・LINE共通：罫線入りの用紙、リボン見出し、右側のビジュアル。 */
.hakkou-page .lp-feature { padding:18px; border:2px solid #a6d3ff; border-radius:24px; background:repeating-linear-gradient(-45deg,#a6d3ff 0 3px,#deefff 3px 5px); box-shadow:0 6px 0 #c5d7e8; }
.hakkou-page .lp-feature__sheet { display:grid; grid-template-columns:minmax(0,1fr) 265px; align-items:center; gap:30px; min-height:390px; padding:30px; background:#fff; border-radius:12px; }
.hakkou-page .lp-feature__content { min-width:0; }
.hakkou-page .lp-feature__ribbon { position:relative; display:table; padding:8px 18px; margin-bottom:18px; background:var(--support-blue); color:#fff; font-size:16px; font-weight:900; line-height:1.6; box-shadow:4px 4px 0 #a6d3ff; }
.hakkou-page .lp-feature h2 { margin:0 0 18px; color:var(--support-blue); font-size:32px; font-weight:900; line-height:1.55; text-align:left; text-wrap:initial; }
.hakkou-page .lp-feature__description { padding:4px 0; background:repeating-linear-gradient(transparent 0 31px,#deefff 31px 32px); font-size:15px; line-height:32px; }
.hakkou-page .lp-feature__description > strong { color:var(--support-blue); font-weight:900; }
.hakkou-page .lp-feature__note { margin-top:12px; color:#222; font-size:12px; line-height:1.7; }
.hakkou-page .lp-feature .hakkou-archive-link { margin-top:20px; text-align:left; }
.hakkou-page .lp-feature .hakkou-archive-link a { width:100%; padding:12px 16px; background:var(--support-blue); border-color:var(--support-blue); color:#fff; font-size:16px; }
.hakkou-page .lp-feature .hakkou-archive-link a:hover { background:#0059d0; }
.hakkou-page .lp-feature__visual { position:relative; width:100%; height:305px; margin:0; padding:18px 12px 34px; background:#e9f7ff; border:7px solid #fff; box-shadow:0 4px 0 #c5d7e8,0 0 0 1px #deefff; transform:rotate(3deg); }
.hakkou-page .lp-feature__visual::before { content:''; position:absolute; z-index:2; width:72px; height:22px; left:calc(50% - 36px); top:-17px; background:var(--support-yellow); transform:rotate(-7deg); }
.hakkou-page .lp-feature__sticker { position:absolute; z-index:3; top:10px; right:-10px; display:grid; place-content:center; width:80px; height:80px; background:var(--support-yellow); border:3px solid #fff; border-radius:50%; color:var(--support-blue); font-size:16px; font-weight:900; line-height:1.5; text-align:center; transform:rotate(-7deg); }
.hakkou-page .lp-feature__visual figcaption { position:absolute; inset:auto 0 6px; color:var(--support-blue); font-size:15px; font-weight:900; line-height:1.6; text-align:center; }
.hakkou-page .lp-aftercare__tags { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 0; padding:0; list-style:none; }
.hakkou-page .lp-aftercare__tags li { padding:4px 10px; margin:0; border:1px solid #a6d3ff; border-radius:5px; background:#e9f7ff; color:var(--support-blue); font-size:12px; font-weight:700; line-height:1.6; }
.hakkou-page .lp-aftercare__house { position:absolute; right:2px; top:38px; width:190px; height:190px; object-fit:contain; }
.hakkou-page .lp-aftercare__cleaning { position:absolute; left:0; bottom:30px; width:105px; height:105px; padding:6px; background:#fff; border-radius:50%; object-fit:contain; }
.hakkou-page .lp-line-estimate__person { display:block; width:100%; height:245px; object-fit:contain; object-position:center bottom; }
.hakkou-page .lp-line-estimate__button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin-top:22px; padding:13px 16px; border:2px solid #fff; border-radius:10px; background:#1ebc38; color:#fff; box-shadow:0 4px 0 #02b397; font-size:19px; font-weight:900; line-height:1.6; text-align:center; transition:transform .2s,box-shadow .2s; }
.hakkou-page .lp-line-estimate__button img { width:36px; height:36px; object-fit:contain; flex:none; }
.hakkou-page .lp-line-estimate__button > span[aria-hidden] { font:700 28px/1 Arial,sans-serif; }
.hakkou-page .lp-line-estimate__button:hover { transform:translateY(2px); box-shadow:0 2px 0 #02b397; }
.hakkou-page .lp-support a:focus-visible { outline:3px solid var(--support-orange); outline-offset:4px; }
@media(max-width:640px) {
 .hakkou-page .lp-support { width:calc(100% - 24px); margin-block:40px; padding:28px 16px; font-size:15px; }
 .hakkou-page .lp-support__badge { padding:7px 14px; margin-bottom:20px; font-size:14px; }
 .hakkou-page .lp-support h2 { font-size:clamp(22px,6vw,29px); margin-bottom:24px; }
 .hakkou-page .lp-support__lead { font-size:15px; text-align:left; }
 .hakkou-page .lp-support__desktop-break { display:none; }
 .hakkou-page .lp-support__note { font-size:12px; }
 .hakkou-page .lp-concerns { padding-bottom:0; }
 .hakkou-page .lp-concerns__sheet { display:flex; flex-direction:column; gap:22px; padding:20px 14px; }
 .hakkou-page .lp-concerns__photo { display:flex; align-items:center; justify-content:center; gap:14px; order:-1; width:100%; }
 .hakkou-page .lp-concerns__photo p { flex:1; max-width:145px; padding:10px 6px; margin-bottom:0; font-size:14px; }
 .hakkou-page .lp-concerns__photo p::after { bottom:calc(50% - 8px); left:auto; right:-10px; border-bottom:0; border-top:2px solid var(--support-blue); }
 .hakkou-page .lp-concerns__photo img { width:100px; height:124px; flex:none; }
 .hakkou-page .lp-concerns__list { gap:15px; }
 .hakkou-page .lp-concerns__list li { gap:9px; font-size:15px; }
 .hakkou-page .lp-concerns__check { width:21px; height:21px; font-size:25px; }
 .hakkou-page .lp-concerns__answer { gap:14px; padding:24px 0; }
 .hakkou-page .lp-concerns__answer img { width:45px; height:80px; }
 .hakkou-page .lp-concerns__answer p { font-size:17px; }
 .hakkou-page .lp-concerns__answer strong { font-size:21px; }
 .hakkou-page .lp-concerns__answer p > span { font-size:12px; }
 .hakkou-page .lp-support .hakkou-archive-link a { font-size:14px; padding-inline:14px; gap:12px; }
 .hakkou-page .lp-feature { padding:10px; border-radius:18px; }
 .hakkou-page .lp-feature__sheet { grid-template-columns:1fr; gap:22px; min-height:0; padding:22px 16px; border-radius:9px; }
 .hakkou-page .lp-feature__ribbon { padding:7px 12px; margin-bottom:16px; font-size:13px; }
 .hakkou-page .lp-feature h2 { margin-bottom:14px; font-size:clamp(21px,6vw,27px); }
 .hakkou-page .lp-feature__description { font-size:14px; line-height:28px; background:repeating-linear-gradient(transparent 0 27px,#deefff 27px 28px); }
 .hakkou-page .lp-feature__visual { max-width:220px; height:160px; margin:0 auto 5px; transform:rotate(2deg); }
 .hakkou-page .lp-feature__sticker { width:65px; height:65px; top:0; right:-4px; font-size:14px; }
 .hakkou-page .lp-feature__visual figcaption { font-size:13px; }
 .hakkou-page .lp-aftercare__house { width:115px; height:115px; top:5px; right:22px; }
 .hakkou-page .lp-aftercare__cleaning { width:66px; height:66px; bottom:22px; }
 .hakkou-page .lp-line-estimate__person { height:115px; }
 .hakkou-page .lp-line-estimate__button { padding:12px 10px; gap:8px; font-size:clamp(13px,3.8vw,17px); }
 .hakkou-page .lp-line-estimate__button img { width:28px; height:28px; }
 .hakkou-page .lp-feature .hakkou-archive-link a { font-size:14px; }

}
@media(prefers-reduced-motion:reduce) {
 .hakkou-page .lp-line-estimate__button { transition:none; }
}
