/* ================= 下層LP共通 ================= */
.lpfv{position:relative;background:var(--cream);border-bottom:var(--bd);overflow:hidden;
 padding:104px 0 54px}
.lpfv__in{position:relative;z-index:2}
/* SPは、ボタンより先に写真を見せる */
@media(max-width:899px){
 .lpfv__in{display:flex;flex-direction:column}
 .lpfv__row{order:1} .lpfv__ph{order:2} .lpcta{order:3}
 .lpfv__ph{margin-top:22px} .lpcta{margin-top:22px}
}
.lpfv__row{display:block}
.lpfv .lb{margin-bottom:16px}
.lpfv__h{font-size:clamp(27px,8vw,36px);line-height:1.42;letter-spacing:-.025em;
 text-wrap:balance;word-break:auto-phrase}
.lpfv__h em{font-style:normal}
.lpfv__s{font-size:16px;font-weight:600;color:var(--sub);line-height:2;margin-top:18px;max-width:34em}
/* FVのメインコピー（ページ名より下、紹介文より強く） */
.lpfv__cat{display:block;font-size:clamp(19px,5.4vw,25px);font-weight:800;line-height:1.55;
 letter-spacing:-.025em;margin-top:14px;max-width:20em}
@media(min-width:900px){.lpfv__cat{font-size:clamp(25px,2.4vw,32px);margin-top:18px}}
.lpfv__ph{margin-top:28px;border:var(--bd);border-radius:14px;overflow:hidden;box-shadow:var(--sh)}
.lpfv__ph .bl{width:100%;aspect-ratio:16/9;min-height:0;border:none;border-radius:0}
.bc{display:flex;flex-wrap:wrap;gap:8px;font-size:16px;font-weight:700;color:var(--sub);margin-bottom:18px}
.bc a{text-decoration:underline;text-underline-offset:3px}
.bc span{opacity:.5}

/* 悩み */
.wor{display:grid;gap:12px;margin-top:30px}
.wor li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:var(--bd);border-radius:14px;
 padding:16px 18px;box-shadow:var(--shs);font-size:16px;font-weight:700;line-height:1.8}
.wor li:before{content:"";flex:0 0 22px;width:22px;height:22px;margin-top:4px;border:2px solid var(--ink);
 border-radius:50%;background:var(--gold)}
.wor__end{margin-top:26px;font-size:17px;font-weight:800;line-height:1.9}
.wor__end em{font-style:normal}

/* 3つの特長 */
.pt{display:grid;gap:16px;margin-top:34px}
.pt__c{position:relative;background:#fff;border:var(--bd);border-radius:18px;box-shadow:var(--sh);
 padding:26px 20px 24px;overflow:hidden}
.pt__n{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;
 border:var(--bd);background:var(--gold);font-size:17px;font-weight:800;letter-spacing:.02em}
.pt__t{display:block;font-size:21px;font-weight:800;line-height:1.45;margin-top:15px;letter-spacing:-.02em}
.pt__d{display:block;font-size:16px;line-height:2;color:var(--sub);margin-top:12px}
.pt__im{display:block;margin-top:18px;border:var(--bd);border-radius:12px;overflow:hidden}
.pt__im .bl{width:100%;aspect-ratio:4/3;min-height:0;border:none;border-radius:0}
.pt__c:nth-child(2) .pt__n{background:var(--green);color:#fff}
.pt__c:nth-child(3) .pt__n{background:var(--blue);color:#fff}

/* 流れ */
.flw{counter-reset:f;display:grid;gap:0;margin-top:34px;border-top:var(--bd)}
.flw li{counter-increment:f;display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start;
 padding:20px 4px;border-bottom:var(--bd)}
.flw li:before{content:"0" counter(f);display:flex;align-items:center;justify-content:center;
 width:48px;height:48px;border:var(--bd);border-radius:50%;background:#fff;box-shadow:var(--shs);
 font-size:16px;font-weight:800;letter-spacing:.02em}
.flw b{display:block;font-size:18px;font-weight:800;line-height:1.5;letter-spacing:-.01em}
.flw span{display:block;font-size:16px;line-height:1.95;color:var(--sub);margin-top:7px}

/* 性能・保証 */
.spec{display:grid;gap:12px;margin-top:30px}
.spec dl{background:#fff;border:var(--bd);border-radius:14px;padding:18px 20px;box-shadow:var(--shs)}
.spec dt{font-size:17px;font-weight:800;letter-spacing:-.01em}
.spec dd{font-size:16px;line-height:1.95;color:var(--sub);margin:7px 0 0}

/* FAQ */
.faq{display:grid;gap:12px;margin-top:30px}
.faq details{background:#fff;border:var(--bd);border-radius:14px;box-shadow:var(--shs);overflow:hidden}
.faq summary{display:flex;gap:12px;align-items:flex-start;cursor:pointer;list-style:none;
 padding:17px 50px 17px 18px;font-size:17px;font-weight:800;line-height:1.7;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before{content:"Q";flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--ink);
 color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;margin-top:1px}
.faq summary:after{content:"";position:absolute;right:20px;top:26px;width:13px;height:13px;
 border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg);
 transition:transform .2s}
.faq details[open] summary:after{transform:rotate(-135deg);top:30px}
.faq p{font-size:16px;line-height:2;color:var(--sub);margin:0;padding:0 18px 20px 56px}

@media(min-width:900px){
 .lpfv{padding:150px 0 72px}
 .lpfv__s{max-width:34em}
 .lpfv__h{font-size:clamp(34px,3.6vw,52px);line-height:1.34}
 .lpfv__s{font-size:17px;margin-top:22px}
 .lpfv__ph{margin-top:38px;border-radius:20px}
 .bc{font-size:16px;margin-bottom:22px}
 .wor{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:40px}
 .wor li{padding:20px 22px;font-size:17px}
 .wor__end{font-size:21px;margin-top:34px}
 .pt{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
 .pt__c{padding:32px 26px 28px;border-radius:24px}
 .pt__t{font-size:23px;margin-top:17px}
 .flw b{font-size:19px}
 .spec{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:40px}
 .spec dl{padding:22px 24px}
 .spec dt{font-size:18px}
 .faq{margin-top:40px;max-width:980px;margin-left:auto;margin-right:auto}
 .faq summary{padding:20px 56px 20px 22px;font-size:18px}
 .faq p{padding:0 22px 24px 62px;font-size:17px}
}

/* 下層LPのかるた（4枚） */
.kt--lp .kt__grid{grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){
 .kt--lp .kt__grid{grid-template-columns:repeat(4,1fr);max-width:1080px;gap:22px}
}

/* 事例1件フォーカス */
.ft1{display:grid;background:#fff;border:var(--bd);border-radius:18px;box-shadow:var(--sh);
 overflow:hidden;margin-top:28px;transition:transform .2s steps(2,end),box-shadow .2s steps(2,end)}
.ft1:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.ft1__ph{position:relative;line-height:0}
.ft1__ph .bl{width:100%;aspect-ratio:4/3;min-height:0;border:none;border-radius:0;border-bottom:var(--bd)}
.ft1__bd{display:block;padding:18px 18px 22px}
.ft1__hd{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ft1__area{font-size:13px;font-weight:800;letter-spacing:.04em;opacity:.62}
.ft1__bg{font-size:12px;font-weight:800;letter-spacing:.04em;border:2px solid currentColor;
 border-radius:999px;padding:2px 11px}
.ft1__t{display:block;font-size:23px;font-weight:800;line-height:1.45;letter-spacing:-.025em;margin-top:10px}
.ft1__d{display:block;font-size:15.5px;line-height:1.95;color:var(--sub);margin-top:11px}
.ft1__m{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.ft1__m span{font-size:12px;font-weight:700;border:1.5px solid currentColor;border-radius:999px;
 padding:2px 11px;opacity:.72}
.ft1__go{display:inline-block;margin-top:16px;font-size:16px;font-weight:800}
.ft1__note{font-size:14px;color:var(--sub);line-height:1.85;margin-top:18px;text-align:center}
@media(min-width:900px){
 .ft1{grid-template-columns:1.08fr .92fr;align-items:center;margin-top:44px;border-radius:26px}
 .ft1__ph .bl{aspect-ratio:4/3;border-bottom:none;border-right:var(--bd)}
 .ft1__bd{padding:0 44px}
 .ft1__t{font-size:30px;margin-top:12px}
 .ft1__d{font-size:16px;margin-top:14px}
 .ft1__note{font-size:15px;margin-top:24px}
}

.hdrow__b:empty{display:none}

/* 大型モニター：下層LPも横幅をしっかり使う */
@media(min-width:1520px){
 .kt--lp .kt__grid{max-width:1220px}
 .faq{max-width:1120px;margin-left:auto;margin-right:auto}

 .pt{gap:30px}
 .spec,.wor{gap:22px}
}

/* ---------- ペット：家の図＋写真 ---------- */
.dgm{margin-top:26px}
.dgm__fig{background:#fff;border:var(--bd);border-radius:16px;box-shadow:var(--sh);
 padding:12px;line-height:0}
.dgm__fig .bl{width:100%;aspect-ratio:16/10;min-height:0;border:1.5px dashed #BDB6A8;
 border-radius:10px;font-size:12px;padding:10px}

.dcds{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}
.dcd{display:block}
.dcd__ph{position:relative;display:block;line-height:0}
.dcd__ph .bl{width:100%;aspect-ratio:4/3;min-height:0;border:var(--bd);border-radius:13px;font-size:11px;padding:6px}
.dcd__n{position:absolute;left:-4px;top:-7px;display:inline-flex;align-items:center;justify-content:center;
 width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;
 font-size:12.5px;font-weight:800;border:2.5px solid #fff}
.dcd__t{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.03em;line-height:1.45;margin-top:11px}
.dcd__d{display:block;font-size:12.5px;line-height:1.8;color:var(--sub);font-weight:500;margin-top:6px}
.pwo__note{font-size:14px;line-height:1.95;font-weight:700;margin-top:26px;text-align:center}
.pwo__note em{font-style:normal}
@media(min-width:640px){
 .dcds{grid-template-columns:repeat(3,1fr);gap:16px}
}
@media(min-width:900px){
 .dgm{margin-top:42px}
 .dgm__fig{padding:26px 30px;border-radius:24px;max-width:920px;margin:0 auto;overflow:visible}
 .dgm__svg{width:100%}
 .dgm__hint{display:none}
 .rm text{font-size:14px}
 .dcds{grid-template-columns:repeat(4,1fr);gap:22px;margin-top:38px}
 .dcd__t{font-size:16px;margin-top:14px}
 .dcd__d{font-size:13.5px;margin-top:8px}
 .pwo__note{font-size:16px;margin-top:40px}
}
.hd--sub h2{font-size:23px;line-height:1.5}
.brd{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px}
.brd__h{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:-.01em;
 padding-bottom:10px;border-bottom:var(--bd)}
.brd__h--c{margin-top:22px}
.brd__h img{width:46px;height:auto;display:block;
 filter:drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff)}
.brd__c{display:flex;gap:13px;align-items:stretch;background:#fff;border:var(--bd);
 border-radius:16px;box-shadow:var(--shs);padding:12px}
.brd__ph{flex:0 0 92px;line-height:0}
.brd__ph .bl{width:92px;height:100%;min-height:92px;border:1.5px solid var(--ink);
 border-radius:11px;font-size:10px;padding:4px}
.brd__bd{display:block;flex:1 1 auto;min-width:0}
.brd__nm{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.03em;line-height:1.4}
.brd__tg{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.brd__tg i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:-.01em;
 border:1.5px solid var(--ink);border-radius:999px;padding:3px 9px;background:var(--butter)}
.brd__d{display:block;font-size:12.5px;line-height:1.85;color:var(--sub);font-weight:500;margin-top:9px}
.brd__n{font-size:12px;line-height:1.8;color:var(--sub);font-weight:600;margin-top:18px}
.brd__n--mid{text-align:center}
.pwo__note{font-size:14px;line-height:1.95;font-weight:700;margin-top:26px;text-align:center}
.pwo__note em{font-style:normal}

@media(min-width:640px){
 .pwl{grid-template-columns:repeat(2,1fr);gap:12px}
 .brd{grid-template-columns:repeat(2,1fr);gap:14px 28px;align-items:stretch}
 .brd>*{order:0 !important}
 .brd__h--c{margin-top:0}
 .brd__c{height:100%}
}
@media(min-width:900px){
 .pwg{margin-top:46px}
 .pwg__hd{gap:18px;padding-bottom:16px}
 .pwg__pet{flex:0 0 96px;width:96px}
 .pwg__t{font-size:25px}
 .pwg__d{font-size:14.5px;margin-top:7px}
 .pwl{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}
 .pwl__i{flex-direction:column;gap:0;padding:16px 17px 18px;border-radius:18px}
 .pwl__n{width:32px;height:32px;font-size:13.5px}
 .pwl__k{font-size:16.5px;margin-top:12px}
 .pwl__q{font-size:13px;margin-top:10px;padding:8px 11px;min-height:60px}
 .pwl__a{font-size:14px;margin-top:11px}
 .hd--sub h2{font-size:34px}
 .brd{gap:18px 40px;margin-top:34px}
 .brd__h{font-size:21px;gap:14px;padding-bottom:12px}
 .brd__h img{width:62px}
 .brd__c{padding:14px}
 .brd__ph{flex:0 0 110px}
 .brd__ph .bl{width:110px;min-height:110px;font-size:11px}
 .brd__nm{font-size:17px}
 .brd__d{font-size:13.5px}
 .brd__n{font-size:13px;margin-top:24px}
 .pwo__note{font-size:16px;margin-top:40px}
}

/* ---------- 特長（2カラム） ---------- */
.fea{display:grid;grid-template-columns:1fr;gap:10px;margin-top:26px}
.fea__c{position:relative;background:#fff;border:var(--bd);border-radius:14px;box-shadow:var(--shs);
 padding:14px 16px 16px 40px}
.fea__c::before{content:"";position:absolute;left:16px;top:19px;width:12px;height:12px;border-radius:50%;
 background:var(--gold);border:2px solid var(--ink)}
.fea__t{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.02em;line-height:1.45}
.fea__d{display:block;font-size:13.5px;line-height:1.9;color:var(--sub);font-weight:500;margin-top:7px}
@media(min-width:640px){.fea{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(min-width:900px){
 .fea{gap:18px;margin-top:44px}
 .fea__c{padding:18px 22px 20px 48px;border-radius:18px}
 .fea__c::before{left:20px;top:24px;width:14px;height:14px}
 .fea__t{font-size:18px}
 .fea__d{font-size:14.5px;margin-top:9px}
}
.lpfv__ph img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:inherit}
.pt__im img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}

/* ===== 写真主役セクション（松栄型） ===== */
.plt{display:grid;gap:44px;margin-top:34px}
.plt__r{display:grid;gap:18px}
.plt__im{position:relative;border:var(--bd);border-radius:20px;overflow:hidden;box-shadow:var(--sh)}
.plt__im img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.plt__n{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;
 padding:9px 16px 9px 14px;background:var(--gold);border-right:var(--bd);border-bottom:var(--bd);
 border-bottom-right-radius:16px;font-size:13px;font-weight:800;letter-spacing:.1em}
.plt__n b{font-size:19px;letter-spacing:.02em}
.plt__r:nth-child(2) .plt__n{background:var(--green);color:#fff}
.plt__r:nth-child(3) .plt__n{background:var(--blue);color:#fff}
.plt__b{display:grid;align-content:center}
.plt__t{font-size:23px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin:0}
.plt__d{font-size:16px;line-height:2.05;color:var(--sub);margin:13px 0 0}
.plt__l{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}
.plt__l li{position:relative;padding-left:26px;font-size:15.5px;line-height:1.8;font-weight:700}
.plt__l li:before{content:"";position:absolute;left:0;top:.52em;width:15px;height:9px;
 border-left:3px solid var(--red);border-bottom:3px solid var(--red);transform:rotate(-45deg)}

/* 写真で見る（グリッド） */
.phg{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:30px}
.phg figure{margin:0;border:var(--bd);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shs)}
.phg img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.phg figcaption{display:block;padding:10px 12px 12px;font-size:13.5px;line-height:1.65;
 font-weight:700;color:var(--sub)}
.phg .phg--w{grid-column:span 2}
.phg .phg--w img{aspect-ratio:16/9}

@media(min-width:900px){
 .plt{gap:72px;margin-top:48px}
 .plt__r{grid-template-columns:1.12fr .88fr;gap:46px;align-items:center}
 .plt__r:nth-child(even) .plt__im{order:2}
 .plt__r:nth-child(even) .plt__b{order:1}
 .plt__im img{aspect-ratio:4/3}
 .plt__t{font-size:28px}
 .plt__d{font-size:16.5px;margin-top:16px}
 .phg{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px}
 .phg .phg--w{grid-column:span 2}
}
.ft1__ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:var(--bd)}
@media(min-width:900px){.ft1__ph img{aspect-ratio:4/3;border-bottom:none;border-right:var(--bd);height:100%}}
.dcd__ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border:var(--bd);border-radius:13px}
.brd__nm{display:flex;align-items:center;gap:8px}
.brd__ic{width:30px;height:30px;object-fit:contain;flex:0 0 30px;display:block}
@media(min-width:900px){.brd__ic{width:36px;height:36px;flex:0 0 36px}}

/* 比較カード（リノベのコスト訴求） */
.vst{display:grid;gap:16px;margin-top:22px;background:#fff;border:var(--bd);border-radius:18px;
 box-shadow:var(--sh);overflow:hidden}
.vst__ph{line-height:0}
.vst__ph img{width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-bottom:var(--bd)}
.vst__bd{padding:0 18px 22px}
.vst__t{font-size:19px;font-weight:800;line-height:1.55;letter-spacing:-.02em}
.vst__t em{font-style:normal}
.vst__p{font-size:15.5px;line-height:1.95;color:var(--sub);margin-top:10px}
.vst__info{display:grid;gap:7px;margin-top:16px;border-top:1.5px dashed #CFC8BA;padding-top:14px}
.vst__r{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:baseline}
.vst__r span{font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--sub)}
.vst__r b{font-size:15px;font-weight:800;line-height:1.55;letter-spacing:-.02em}
@media(min-width:900px){
 .vst{grid-template-columns:1.05fr .95fr;gap:0;align-items:stretch;margin-top:26px;border-radius:24px}
 .vst__ph{display:flex}
 .vst__ph img{aspect-ratio:auto;height:100%;min-height:290px;border-bottom:none;border-right:var(--bd)}
 .vst__bd{padding:38px 40px;display:flex;flex-direction:column;justify-content:center}
 .vst__t{font-size:23px}
 .vst__p{font-size:16px;margin-top:13px}
 .vst__info{gap:9px;margin-top:20px;padding-top:17px}
 .vst__r{grid-template-columns:86px 1fr}
 .vst__r span{font-size:12.5px}
 .vst__r b{font-size:17px}
}

/* 二世帯：分け方の3タイプ */
.mdt{display:grid;gap:12px;margin-top:22px}
.mdt__c{background:#fff;border:var(--bd);border-radius:16px;box-shadow:var(--shs);padding:18px 18px 20px}
.mdt__k{display:inline-block;padding:5px 12px;border:var(--bd);border-radius:999px;
 font-size:12px;font-weight:800;letter-spacing:.06em}
.mdt__k--a{background:var(--gold)}
.mdt__k--b{background:var(--green);color:#fff}
.mdt__k--c{background:var(--blue);color:#fff}
.mdt__t{display:block;font-size:18px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:12px}
.mdt__d{display:block;font-size:15.5px;line-height:1.95;color:var(--sub);margin-top:9px}
.dgm__note{font-size:13.5px;line-height:1.8;color:var(--sub);margin-top:16px;text-align:center}
@media(min-width:900px){
 .mdt{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
 .mdt__c{padding:24px 24px 26px}
 .mdt__t{font-size:20px}
 .mdt__d{font-size:16px}
}

/* ===== FVの写真は高さを抑える（スクロール量に対して情報量を増やす） ===== */
.lpfv{padding:96px 0 44px}
.lpfv__ph{margin-top:22px}
.lpfv__ph img{aspect-ratio:21/9}
@media(min-width:900px){
 .lpfv{padding:138px 0 58px}
 .lpfv__ph{margin-top:30px}
 .lpfv__ph img{aspect-ratio:24/8}
}

/* ===== 特長は左右振り分けをやめ、縦積みのカードで横並びに ===== */
.plt{display:grid;gap:16px;margin-top:30px}
.plt__r{display:grid;grid-template-rows:auto 1fr;gap:0;background:#fff;border:var(--bd);
 border-radius:18px;box-shadow:var(--sh);overflow:hidden}
.plt__r:nth-child(even) .plt__im,.plt__r:nth-child(even) .plt__b{order:0}
.plt__im{border:none;border-radius:0;box-shadow:none;border-bottom:var(--bd)}
.plt__im img{aspect-ratio:16/10}
.plt__b{display:block;padding:20px 20px 22px}
.plt__t{font-size:19px;line-height:1.5}
.plt__d{font-size:15.5px;line-height:1.95;margin-top:10px}
.plt__l{margin-top:14px;gap:7px}
.plt__l li{font-size:14.5px;padding-left:23px}
.plt__l li:before{width:13px;height:8px;border-width:2.5px}
.plt__n{border-bottom-right-radius:14px}
@media(min-width:900px){
 .plt{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;align-items:stretch}
 .plt__r{height:100%}
 /* 見出しが2行になる段では、本文の開始位置をそろえる（.plt--t2 を付けた段だけ） */
 .plt--t2 .plt__t{min-height:3em}
 .plt__r{grid-template-columns:1fr}
 .plt__im img{aspect-ratio:16/10}
 .plt__b{padding:24px 24px 26px}
 .plt__t{font-size:20px}
 .plt__d{font-size:15.5px;margin-top:11px}
}

/* ===== FLOW：上から下へ流れているのが見えるように ===== */
.flw{counter-reset:f;display:grid;gap:0;margin-top:34px;border-top:none;position:relative}
.flw li{position:relative;counter-increment:f;display:grid;grid-template-columns:56px 1fr;gap:18px;
 align-items:start;padding:0 0 26px 0;border-bottom:none}
.flw li:last-child{padding-bottom:0}
/* 番号どうしをつなぐ縦の線 */
.flw li:after{content:"";position:absolute;left:27px;top:52px;bottom:-2px;width:3px;
 background:repeating-linear-gradient(180deg,var(--ink) 0 7px,transparent 7px 14px);z-index:0}
.flw li:last-child:after{display:none}
.flw li:before{position:relative;z-index:1;content:"0" counter(f);display:flex;align-items:center;
 justify-content:center;width:56px;height:56px;border:var(--bd);border-radius:50%;background:var(--gold);
 box-shadow:var(--shs);font-size:17px;font-weight:800;letter-spacing:.02em}
.flw__bd{background:#fff;border:var(--bd);border-radius:14px;box-shadow:var(--shs);
 padding:15px 18px 16px;margin-top:2px}
.flw b{font-size:17px}
.flw span{font-size:15.5px;line-height:1.9;margin-top:6px}
@media(min-width:900px){
 .flw{margin-top:42px;grid-template-columns:1fr;column-gap:0}
 .flw li{grid-template-columns:64px 1fr;gap:24px;padding-bottom:30px}
 .flw li:before{width:64px;height:64px;font-size:19px}
 .flw li:after{left:31px;top:60px}
 .flw__bd{padding:18px 24px 20px}
 .flw b{font-size:19px}
 .flw span{font-size:16px;margin-top:7px}
}

/* ===== ペット：最初に決める3つ（目次） ===== */
.thr{display:grid;gap:12px;margin-top:28px;counter-reset:th}
.thr__c{counter-increment:th;position:relative;background:#fff;border:var(--bd);border-radius:18px;
 box-shadow:var(--sh);padding:22px 20px 22px 20px;
 background-image:linear-gradient(177deg,#fff 0%,#FFFDF8 46%,#F8F4EB 100%)}
.thr__c:before{content:"0" counter(th);position:absolute;left:0;top:0;padding:8px 14px 8px 16px;
 background:var(--gold);border-right:var(--bd);border-bottom:var(--bd);border-bottom-right-radius:16px;
 font-size:15px;font-weight:800;letter-spacing:.04em}
.thr__t{display:block;font-size:19px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:34px}
.thr__t em{font-style:normal}
.thr__d{display:block;font-size:15px;line-height:1.95;color:var(--sub);margin-top:9px}
@media(min-width:900px){
 .thr{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
 .thr__c{padding:26px 24px 26px}
 .thr__t{font-size:21px;margin-top:38px}
 .thr__d{font-size:15.5px;margin-top:11px}
}

/* ===== ペット：ライフステージ ===== */
.lfs{display:grid;gap:14px;margin-top:26px}
.lfs__c{background:#fff;border:var(--bd);border-radius:18px;box-shadow:var(--sh);overflow:hidden}
.lfs__ph{display:block;line-height:0;border-bottom:var(--bd)}
.lfs__ph .bl{width:100%;aspect-ratio:4/3;min-height:0;border:none;border-radius:0;font-size:12px;padding:8px}
.lfs__bd{display:block;padding:18px 18px 20px}
.lfs__k{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.08em;
 border:var(--bd);border-radius:999px;padding:4px 11px;background:var(--butter)}
.lfs__t{display:block;font-size:19px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:11px}
.lfs__d{display:block;font-size:15px;line-height:1.95;color:var(--sub);margin-top:9px}
.lfs__l{display:grid;gap:7px;margin:13px 0 0;padding:0;list-style:none}
.lfs__l li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.75;font-weight:700}
.lfs__l li:before{content:"";position:absolute;left:0;top:.5em;width:13px;height:8px;
 border-left:2.5px solid var(--red);border-bottom:2.5px solid var(--red);transform:rotate(-45deg)}
@media(min-width:900px){
 .lfs{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
 .lfs__bd{padding:22px 22px 24px}
 .lfs__t{font-size:20px}
}

/* ===== コンセプト（写真＋情緒コピー） ===== */
.cnc{position:relative;border:var(--bd);border-radius:20px;overflow:hidden;box-shadow:var(--sh);
 background:var(--ink)}
.cnc__ph{position:relative;line-height:0}
.cnc__ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
 filter:saturate(1.05) contrast(1.03) brightness(.95)}
.cnc__ph:after{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(10,9,7,0) 55%,rgba(10,9,7,.55) 100%)}
.cnc__tx{position:relative;z-index:2;padding:24px 20px 28px;color:#fff}
.cnc__h{font-size:clamp(23px,6.6vw,30px);font-weight:800;line-height:1.5;letter-spacing:-.025em}
.cnc__h em{font-style:normal}
.cnc__p{font-size:15px;line-height:2.05;margin-top:14px;color:#E8E3D7;max-width:40em}
@media(min-width:900px){
 .cnc{border-radius:28px}
 .cnc__ph img{aspect-ratio:21/9}
 .cnc__ph:after{background:linear-gradient(100deg,rgba(10,9,7,.92) 0%,rgba(10,9,7,.82) 34%,
   rgba(10,9,7,.46) 58%,rgba(10,9,7,.10) 84%,rgba(10,9,7,0) 100%)}
 .cnc__tx{position:absolute;left:0;top:0;bottom:0;right:auto;width:min(50%,560px);
  padding:0 0 0 54px;display:flex;flex-direction:column;justify-content:center;
  text-shadow:0 2px 14px rgba(0,0,0,.5)}
 .cnc__h{font-size:clamp(28px,2.5vw,38px)}
 .cnc__p{font-size:16px;margin-top:18px}
}

/* ===== 特徴（コンパクト3枚・写真なし） ===== */
.cpt{display:grid;gap:12px;margin-top:28px;counter-reset:cp}
.cpt__c{counter-increment:cp;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;
 background:#fff;border:var(--bd);border-radius:16px;box-shadow:var(--shs);padding:17px 18px 18px}
.cpt__c:before{content:"0" counter(cp);display:flex;align-items:center;justify-content:center;
 width:44px;height:44px;border:var(--bd);border-radius:50%;background:var(--gold);
 font-size:15px;font-weight:800;letter-spacing:.02em}
.cpt__t{display:block;font-size:17px;font-weight:800;line-height:1.5;letter-spacing:-.02em}
.cpt__d{display:block;font-size:15px;line-height:1.9;color:var(--sub);margin-top:7px}
@media(min-width:900px){
 .cpt{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
 .cpt__c{grid-template-columns:1fr;gap:0;padding:22px 22px 24px}
 .cpt__c:before{margin-bottom:14px}
 .cpt__t{font-size:18px}
}

/* ===== 施工事例＋動画の2カラム ===== */
.wv{display:grid;gap:18px;margin-top:30px}
.wv__h{display:block;font-size:15px;font-weight:800;letter-spacing:.06em;margin-bottom:12px;
 padding-left:13px;border-left:5px solid var(--red)}
/* 左右の列は、見出し・写真・本文・リンクの位置をそろえる */
.wv__col{display:flex;flex-direction:column;min-width:0}
.wv__col>.ft1,.wv__col>.vid__c{flex:1 1 auto;display:flex;flex-direction:column}
.wv .ft1__ph,.wv .vid__fr{flex:0 0 auto}
.wv .ft1__ph img,.wv .vid__fr{aspect-ratio:16/10}
.wv .ft1__bd,.wv .vid__bd{flex:1 1 auto;display:flex;flex-direction:column;padding:18px 20px 22px}
.wv .ft1__t,.wv .vid__t{font-size:20px;margin-top:10px}
.wv .ft1__d,.wv .vid__d{font-size:14.5px;line-height:1.95;margin-top:10px}
.wv .ft1__m{margin-top:14px}
.wv .vid__hd{flex-direction:row-reverse;justify-content:flex-end}
.wv .vid__bg{background:#fff;border:var(--bd);color:var(--ink);font-size:12px;padding:3px 11px}
.wv .vid__ar{font-size:13px;letter-spacing:.04em;opacity:.62}
.wv .ft1__go,.wv .vid__go{margin-top:auto;padding-top:16px}
.wv .vid__go{display:block;font-size:16px;font-weight:800}
.wv__note{margin-top:26px;margin-bottom:6px;text-align:center;font-size:15px;line-height:1.9}

@media(min-width:900px){
 .wv{grid-template-columns:repeat(2,1fr);gap:30px;margin-top:38px;align-items:stretch}
 .wv .ft1__bd,.wv .vid__bd{padding:22px 26px 26px}
 .wv .ft1__t,.wv .vid__t{font-size:23px;margin-top:12px}
 .wv .ft1__d,.wv .vid__d{font-size:15.5px;margin-top:12px}
 .wv__note{margin-top:34px;font-size:16px}
}

/* ===== FVのCTA（広告の着地先として使うため） ===== */
.lpcta{display:grid;gap:10px;margin-top:22px}
.lpcta__b{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
 border:var(--bd);border-radius:14px;padding:14px 18px;background:#fff;
 transition:background .18s,color .18s}
.lpcta__b svg{width:21px;height:21px;flex:0 0 21px}
.lpcta__b b{display:block;font-size:16.5px;font-weight:800;letter-spacing:-.02em;line-height:1.4}
.lpcta__b span{display:block;font-size:12.5px;color:var(--sub);margin-top:3px;line-height:1.5}
.lpcta__b i{font-style:normal;font-size:18px;font-weight:800}
.lpcta__b--p{background:var(--red);color:#fff}
.lpcta__b--p span{color:#FBE4DE}
.lpcta__b--p:hover{background:#B63B25}
.lpcta__b--s:hover{background:var(--butter)}
.lpcta__n{font-size:12.5px;line-height:1.75;color:var(--sub);font-weight:700;margin-top:10px}
@media(min-width:900px){
 .lpcta{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px;max-width:700px}
 .lpcta__b{padding:16px 22px}
 .lpcta__n{grid-column:1/-1;margin-top:0}
}

/* ===== 見出しのまとまり（イラスト → ラベル → 見出し → リード文） =====
   写真を横に置くと行が削られて読みにくいので、上に置いて中央で揃える。 */
.hdph{display:block;line-height:0;margin-bottom:12px}
/* 縦長の切り抜きだけ極端に大きくならないよう、高さで揃える */
.hdph img{height:78px;width:auto;max-width:200px;object-fit:contain;display:block;margin:0 auto;
 filter:drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff)
        drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff)}
@media(min-width:900px){.hdph{margin-bottom:16px}.hdph img{height:104px;max-width:260px}}

/* ===== ライフステージ（犬／猫の2段組み） ===== */
.lst{display:grid;gap:16px;margin-top:28px}
.lst__c{background:#fff;border:var(--bd);border-radius:20px;overflow:hidden}
.lst__hd{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;
 padding:16px 18px;background:var(--butter);border-bottom:var(--bd)}
.lst__k{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--amber)}
.lst__t{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.4;margin-top:5px}
.lst__ph{line-height:0}
.lst__ph img{width:72px;height:auto;display:block;
 filter:drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff)
        drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff)}
.lst__ph .bl{width:72px;height:72px;min-height:0;border:1.5px solid var(--ink);border-radius:50%;font-size:9px;padding:4px}
.lst__ld{display:block;font-size:15px;line-height:1.95;color:var(--sub);padding:15px 18px 0}
.lst__ani{display:grid;gap:0;padding:14px 18px 18px}
.lst__a{padding-top:14px}
.lst__a + .lst__a{border-top:1.5px dashed #CFC8BA;margin-top:14px}
.lst__nm{display:flex;align-items:center;gap:8px;font-size:15.5px;font-weight:800;letter-spacing:-.02em}
.lst__nm img{width:28px;height:28px;object-fit:contain;display:block}
.lst__rk{display:block;font-size:12.5px;font-weight:800;letter-spacing:.04em;color:var(--red);margin-top:10px}
.lst__l{display:grid;gap:6px;margin:7px 0 0;padding:0;list-style:none}
.lst__l li{position:relative;padding-left:20px;font-size:14px;line-height:1.75;color:var(--sub);font-weight:600}
.lst__l li:before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;
 background:var(--ink)}
.lst__pk{display:block;font-size:12.5px;font-weight:800;letter-spacing:.04em;color:var(--green);margin-top:13px}
.lst__ol{counter-reset:lo;display:grid;gap:7px;margin:7px 0 0;padding:0;list-style:none}
.lst__ol li{counter-increment:lo;position:relative;padding-left:30px;font-size:14.5px;line-height:1.75;
 font-weight:700}
.lst__ol li:before{content:"0" counter(lo);position:absolute;left:0;top:.08em;font-size:11.5px;
 font-weight:800;letter-spacing:.02em;color:#fff;background:var(--green);border-radius:5px;padding:2px 5px}
@media(min-width:900px){
 .lst{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px;align-items:start}
 .lst__hd{padding:18px 20px}
 .lst__t{font-size:21px}
 .lst__ld{font-size:15px;padding:17px 20px 0}
 .lst__ani{padding:16px 20px 22px}
}

/* ペットページ用の補助 */
.hd--mid{text-align:center;max-width:none}
.hd--mid h2{text-wrap:balance}
.hd--mid p{max-width:44em;margin-left:auto;margin-right:auto}
@media(min-width:1040px){.hd--mid p{max-width:56em}}
.lead__p{font-size:15.5px;line-height:2.1;color:var(--sub);margin-top:18px;max-width:46em}
@media(min-width:900px){
 .lead__p{font-size:16.5px;line-height:2.15;margin-top:22px}
}

/* ===== 関連ページ（イラスト入り） ===== */
.rel{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px}
.rel__c{display:flex;flex-direction:column;background:#fff;border:var(--bd);border-radius:18px;
 overflow:hidden;transition:background .18s}
.rel__c:hover{background:var(--butter)}
.rel__ill{display:flex;align-items:flex-end;justify-content:center;height:106px;
 background:var(--tint);border-bottom:var(--bd);padding:10px 10px 0}
.rel__ill img{max-height:94px;width:auto;display:block}
.rel__bd{display:flex;flex-direction:column;flex:1 1 auto;padding:13px 14px 15px}
.rel__t{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.02em;line-height:1.45}
.rel__d{display:block;font-size:12.5px;line-height:1.8;color:var(--sub);margin-top:7px;flex:1 1 auto}
.rel__go{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:12px;
 font-size:12.5px;font-weight:800;letter-spacing:.02em;border:var(--bd);border-radius:999px;
 padding:5px 12px;background:#fff}
.rel__go--r{background:var(--red);color:#fff} .rel__go--g{background:var(--green);color:#fff}
.rel__go--b{background:var(--blue);color:#fff} .rel__go--y{background:var(--gold)}
@media(min-width:900px){
 .rel{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
 .rel__ill{height:148px;padding:14px 14px 0}
 .rel__ill img{max-height:130px}
 .rel__bd{padding:18px 20px 20px}
 .rel__t{font-size:18px}
 .rel__d{font-size:14px;margin-top:8px}
 .rel__go{font-size:13.5px;padding:6px 14px;margin-top:16px}
}
.lpfv__sig{display:inline-block;font-size:13.5px;font-weight:800;letter-spacing:.02em;
 color:var(--ink);margin-top:6px}
@media(min-width:900px){.lpfv__sig{font-size:14.5px;margin-top:8px}}

/* ===== 概念図：ご要望 → アステッドホーム → 理想の家 ===== */
.cfl{display:grid;gap:0;margin-top:30px;align-items:stretch}
.cfl__c{background:#fff;border:var(--bd);border-radius:20px;padding:22px 20px 24px;
 display:flex;flex-direction:column}
.cfl__k{display:inline-block;align-self:center;font-size:12px;font-weight:800;letter-spacing:.08em;
 border:var(--bd);border-radius:999px;padding:5px 13px;background:var(--butter)}
.cfl__t{display:block;font-size:21px;font-weight:800;line-height:1.5;letter-spacing:-.025em;margin-top:14px;
 text-align:center}
.cfl__t em{font-style:normal}
.cfl__d{display:block;font-size:14.5px;line-height:1.9;color:var(--sub);margin-top:10px}

/* 1 ご要望：吹き出し */
.cfl__w{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.cfl__w li{position:relative;background:var(--tint);border:var(--bd);border-radius:14px;
 padding:13px 15px;font-size:15px;font-weight:800;line-height:1.6;letter-spacing:-.02em}
.cfl__w li:after{content:"";position:absolute;left:26px;bottom:-9px;width:14px;height:14px;
 background:var(--tint);border-right:var(--bd);border-bottom:var(--bd);transform:rotate(45deg);
 border-radius:0 0 4px 0}
.cfl__pets{display:flex;gap:10px;align-items:flex-end;justify-content:center;margin-top:auto;padding-top:20px}
.cfl__pets img{height:52px;width:auto;display:block}

/* 2 アステッドホーム：背景は白のまま。番号バッジとロゴで区別する */
.cfl__c--us{background:#fff;border-color:var(--ink)}
.cfl__c--us .cfl__k{background:var(--gold);border-color:var(--ink);color:var(--ink)}
.cfl__logo{margin-top:auto;padding-top:20px;display:flex;justify-content:center;align-items:flex-end}
.cfl__logo img{width:auto;height:118px;max-width:100%;object-fit:contain;display:block}
.cfl__step{display:grid;gap:7px;margin:16px 0 0;padding:0;list-style:none;counter-reset:cf}
.cfl__step li{counter-increment:cf;position:relative;padding-left:32px;font-size:14.5px;
 line-height:1.7;font-weight:700}
.cfl__step li:before{content:"0" counter(cf);position:absolute;left:0;top:.1em;font-size:11px;
 font-weight:800;letter-spacing:.02em;background:#fff;color:var(--ink);border-radius:5px;padding:2px 5px}

/* 3 ゴール */
/* 地は01・02と同じ白。番号の丸だけ朱にして、締めのカードだと分かるようにする */
.cfl__c--goal{background:#fff;border-color:var(--ink)}
.cfl__c--goal .cfl__k{background:var(--red);border-color:var(--ink);color:#fff}
.cfl__goal{margin-top:auto;padding-top:14px;display:flex;justify-content:center}
.cfl__goal img{height:128px;width:auto;display:block}

/* 矢印 */
.cfl__ar{display:flex;align-items:center;justify-content:center;padding:14px 0}
.cfl__ar:before{content:"";width:0;height:0;border-left:16px solid transparent;
 border-right:16px solid transparent;border-top:20px solid var(--ink)}

@media(min-width:900px){
 .cfl{grid-template-columns:1fr 52px 1fr 52px 1fr;gap:0;margin-top:40px}
 .cfl__c{padding:28px 26px 30px;border-radius:24px}
 .cfl__t{font-size:23px;margin-top:16px}
 .cfl__d{font-size:15px}
 .cfl__ar{padding:0}
 .cfl__ar:before{border-left:22px solid var(--ink);border-top:16px solid transparent;
  border-bottom:16px solid transparent;border-right:0}
 .cfl__w li{font-size:15.5px;padding:15px 17px}
 .cfl__pets img{height:62px}
 .cfl__goal img{height:166px}
 .cfl__logo img{height:150px}
}

/* ===================================================================
   WIREFRAME — 構成を確認するための白黒モード。
   body に wf が付いたページだけ。外すときはクラスを取るだけ。
   =================================================================== */
.wf{
 --paper:#FFFFFF; --cream:#F7F7F7; --tint:#EFEFEF; --ink:#333333; --sub:#666666; --line:#333333;
 --red:#545454; --green:#777777; --blue:#999999; --gold:#DDDDDD;
 --butter:#F0F0F0; --amber:#666666; --leaf:#999999;
 --grain:none;
}
.wf img{filter:grayscale(1) contrast(.92)}
.wf .sticker,.wf .pgill,.wf .fuda__ill img,.wf .cfl__pets img,.wf .cfl__goal img,
.wf .brd__ic,.wf .hdcut__ph img,.wf .lst__nm img,.wf .nb__bk{filter:grayscale(1) opacity(.78)}
.wf .cfl__c--us{background:#fff;border-color:#333}
.wf .cfl__c--us .cfl__k{background:#DDD;border-color:#333;color:#333}
.wf .cfl__c--goal{background:#E6E6E6}
.wf .cfl__c--goal .cfl__k{background:#DDD;color:#333}
.wf .cfl__c--goal .cfl__t em{color:#333}
.wf .ct{background:#E0E0E0}
.wf .kt{background:#F0F0F0}
.wf .lpcta__b--p{background:#545454;color:#fff}
.wf .lpcta__b--p span{color:#E4E4E4}
.wf .lpcta__b--p:hover{background:#3E3E3E}
.wf .hcta,.wf .hcta__b{background:#545454;color:#fff}
.wf .lb--r,.wf .lb--g,.wf .lb--b{background:#545454;color:#fff}
.wf .lb--y{background:#DDD;color:#333}
.wf .vid__pl{background:#545454}
.wf .dt__bg--new,.wf .dt__bg--reno{background:#EEE}
.wf .rel__go--r,.wf .rel__go--g,.wf .rel__go--b{background:#545454;color:#fff}
.wf .rel__go--y{background:#DDD}
.wf .lst__rk{color:#333}
.wf .lst__pk{color:#555}
.wf .lst__ol li:before{background:#545454}
.wf .plt__n,.wf .thr__c:before{background:#DDD;color:#333}
.wf .plt__r:nth-child(2) .plt__n,.wf .plt__r:nth-child(3) .plt__n{background:#545454;color:#fff}
.wf .flw li:before{background:#DDD}
.wf .evt{background:#E0E0E0}

/* ===== ペット：かるたはSPでも2列×2段 ===== */
.kt--pet .kt__grid{grid-template-columns:repeat(2,1fr);max-width:1080px;margin-left:auto;margin-right:auto}
@media(min-width:900px){
 .kt--pet .kt__grid{grid-template-columns:repeat(4,1fr);gap:20px}
}

/* ===== 年齢に合わせた工夫 ===== */
.ag{display:grid;gap:16px;margin-top:30px}
.ag__c{background:#fff;border:var(--bd);border-radius:20px;overflow:hidden;display:flex;
 flex-direction:column}
.ag__ph{line-height:0;border-bottom:var(--bd)}
.ag__ph .bl{width:100%;aspect-ratio:4/3;min-height:0;border:none;border-radius:0;font-size:12px;padding:8px}
.ag__ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ag__bd{display:flex;flex-direction:column;flex:1 1 auto;padding:20px 20px 22px}
.ag__k{display:inline-block;align-self:flex-start;font-size:11.5px;font-weight:800;letter-spacing:.08em;
 border:var(--bd);border-radius:999px;padding:4px 12px;background:var(--butter)}
.ag__t{display:block;font-size:19px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:12px}
.ag__d{display:block;font-size:15px;line-height:1.95;color:var(--sub);margin-top:10px}
.ag__l{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.ag__l li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.75;font-weight:700}
.ag__l li:before{content:"";position:absolute;left:0;top:.5em;width:13px;height:8px;
 border-left:2.5px solid var(--red);border-bottom:2.5px solid var(--red);transform:rotate(-45deg)}
@media(min-width:900px){
 .ag{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}
 .ag__bd{padding:24px 24px 26px}
 .ag__t{font-size:20px}
}

/* ===== 犬種・猫種：SPはタブ、PCは2カラム ===== */
.bt__sw{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:26px;
 border:var(--bd);border-radius:999px;overflow:hidden;max-width:380px}
.bt__sw label{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 10px;
 font-size:14.5px;font-weight:800;cursor:pointer;background:#fff;transition:background .18s}
.bt__sw label img{width:26px;height:26px;object-fit:contain;display:block}
.bt__r{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
#btd:checked ~ .bt__sw label[for="btd"],
#btc:checked ~ .bt__sw label[for="btc"]{background:var(--gold)}
.bt__g{display:grid;gap:12px;margin-top:18px}
#btd:checked ~ .bt__g .bt__c--cat{display:none}
#btc:checked ~ .bt__g .bt__c--dog{display:none}
.bt__c{display:grid;grid-template-columns:96px 1fr;gap:14px;background:#fff;border:var(--bd);
 border-radius:16px;padding:13px}
.bt__ph{line-height:0}
.bt__ph .bl{width:96px;height:100%;min-height:96px;border:1.5px solid var(--ink);border-radius:12px;
 font-size:10px;padding:5px}
.bt__ph img{width:96px;height:100%;min-height:96px;object-fit:cover;display:block;
 border:1.5px solid var(--ink);border-radius:12px}
.bt__nm{display:block;font-size:13px;font-weight:800;letter-spacing:.02em;color:var(--sub)}
.bt__t{display:block;font-size:16px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:5px}
.bt__d{display:block;font-size:13.5px;line-height:1.85;color:var(--sub);margin-top:8px}
.bt__hd{display:none}
@media(min-width:900px){
 .bt__sw{display:none}
 .bt__g{grid-template-columns:repeat(2,1fr);gap:16px 36px;margin-top:30px;align-items:start}
 #btd:checked ~ .bt__g .bt__c--cat,#btc:checked ~ .bt__g .bt__c--dog{display:grid}
 /* 見出しの2つは display:grid にしない（アイコンと文字が縦に割れる） */
 #btd:checked ~ .bt__g .bt__hd,#btc:checked ~ .bt__g .bt__hd{display:flex}
 .bt__hd{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;
  letter-spacing:-.01em;padding-bottom:10px;border-bottom:var(--bd)}
 .bt__hd img{width:44px;height:44px;object-fit:contain;display:block}
 .bt__c{grid-template-columns:118px 1fr;gap:16px;padding:15px}
 .bt__ph .bl,.bt__ph img{width:118px;min-height:118px}
 .bt__t{font-size:17.5px}
 .bt__d{font-size:14px}
}

/* ===== 関連ページ：横長リンク ===== */
.rln{display:grid;gap:10px;margin-top:26px}
.rln a{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center;
 background:#fff;border:var(--bd);border-radius:14px;padding:12px 16px;transition:background .18s}
.rln a:hover{background:var(--butter)}
.rln__ill{display:flex;align-items:center;justify-content:center;height:50px}
.rln__ill img{max-height:50px;width:auto;display:block}
.rln b{display:block;font-size:16px;font-weight:800;letter-spacing:-.02em;line-height:1.45}
.rln span{display:block;font-size:13px;line-height:1.7;color:var(--sub);margin-top:4px}
.rln i{font-style:normal;font-size:18px;font-weight:800}
@media(min-width:900px){
 .rln{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px}
 .rln a{grid-template-columns:76px 1fr auto;padding:14px 20px}
 .rln__ill{height:62px}
 .rln__ill img{max-height:62px}
 .rln b{font-size:17px}
 .rln span{font-size:13.5px}
}

/* ===== 事例カードの縦積み版（2カラムの中で使う） ===== */
.ft1--v{display:block;margin-top:0}
.ft1--v .ft1__ph img,.ft1--v .ft1__ph .bl{width:100%;aspect-ratio:16/10;height:auto;min-height:0;
 border-right:none;border-bottom:var(--bd);object-fit:cover}
.ft1--v .ft1__bd{padding:18px 20px 22px}
.ft1--v .ft1__t{font-size:20px;margin-top:10px}
.ft1--v .ft1__d{font-size:14.5px;margin-top:10px}
@media(min-width:900px){
 .ft1--v{display:block;margin-top:0}
 .ft1--v .ft1__ph img,.ft1--v .ft1__ph .bl{aspect-ratio:16/10;height:auto;
  border-right:none;border-bottom:var(--bd)}
 .ft1--v .ft1__bd{padding:22px 26px 26px}
 .ft1--v .ft1__t{font-size:23px;margin-top:12px}
 .ft1--v .ft1__d{font-size:15.5px;margin-top:12px}
}
/* 6枚のときは3列に */
@media(min-width:900px){.dcds--3{grid-template-columns:repeat(3,1fr)}}
.dcds--3 .dcd__t{font-size:16px;margin-top:13px}
.dcds--3 .dcd__d{font-size:13.5px;line-height:1.9;margin-top:8px}
@media(min-width:900px){
 .dcds--3 .dcd__t{font-size:18px}
 .dcds--3 .dcd__d{font-size:14.5px}
}
.ideas__end{font-size:15.5px;line-height:1.95;font-weight:700;margin-top:30px;text-align:center}
.ideas__btn{text-align:center;margin-top:18px}

/* ===================================================================
   注文住宅ページ
   =================================================================== */

/* 土地・予算・性能などのカード（イラスト＋見出し＋本文） */
.nc{display:grid;gap:14px;margin-top:28px}
.nc__c{background:#fff;border:var(--bd);border-radius:20px;padding:22px 20px 24px;
 display:flex;flex-direction:column}
.nc__ill{line-height:0;margin-bottom:14px;height:70px;display:flex;align-items:flex-end}
.nc__ill--v{height:104px}  /* 縦長のイラスト用 */
.nc__ill img{max-height:100%;width:auto;max-width:100%;object-fit:contain;display:block}
.nc__t{display:block;font-size:19px;font-weight:800;line-height:1.5;letter-spacing:-.02em}
.nc__d{display:block;font-size:15px;line-height:1.95;color:var(--sub);margin-top:11px}
.nc__box{display:block;margin-top:16px;background:var(--butter);border:var(--bd);border-radius:14px;
 padding:14px 16px;font-size:14.5px;line-height:1.9;font-weight:700}
.nc__lk{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}
@media(min-width:900px){
 .nc{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px;align-items:stretch}
 .nc__c{padding:28px 26px 30px;border-radius:24px}
 .nc__ill{height:84px}
 .nc__ill--v{height:126px}
 .nc__t{font-size:21px}
 /* 見出しが2行になる段だけ、本文の開始位置をそろえる */
 .nc--t2 .nc__t{min-height:3.1em}
 .nc__d{font-size:15.5px;margin-top:12px}
 .nc__lk{justify-content:center;margin-top:32px;gap:14px}
}

/* 施工事例＋ルームツアーを1枚のカードに */
.cwg{display:grid;gap:18px;margin-top:28px}
.cwg>.vid__c{display:flex;flex-direction:column}
.cwg .vid__fr{flex:0 0 auto;aspect-ratio:16/10}
.cwg .vid__bd{flex:1 1 auto;display:flex;flex-direction:column;padding:18px 20px 22px}
.cwg .vid__t{font-size:20px;margin-top:10px}
.cwg .vid__d{font-size:14.5px;line-height:1.95;margin-top:10px}
.cwa{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:auto;padding-top:18px;align-items:center}
.cwa a,.cwa button{font-size:16px;font-weight:800;letter-spacing:-.01em}
.cwa button{padding:0;border:0;background:none;font-family:inherit;color:inherit;cursor:pointer}
.cwa a:hover,.cwa button:hover{text-decoration:underline;text-underline-offset:4px}
.cwg__note{margin-top:26px;margin-bottom:6px;text-align:center;font-size:15px;line-height:1.9}

@media(min-width:900px){
 .cwg{grid-template-columns:repeat(2,1fr);gap:30px;margin-top:38px;align-items:stretch}
 .cwg .vid__bd{padding:22px 26px 26px}
 .cwg .vid__t{font-size:23px;margin-top:12px}
 .cwg .vid__d{font-size:15.5px;margin-top:12px}
 .cwg__note{margin-top:34px;font-size:16px}
}

/* もうひとつの選び方（写真つき） */
.awy{display:grid;gap:14px;margin-top:28px}
.awy__c{display:flex;flex-direction:column;background:#fff;border:var(--bd);border-radius:20px;
 overflow:hidden;transition:background .18s}
.awy__c:hover{background:var(--butter)}
.awy__ph{line-height:0;border-bottom:var(--bd)}
.awy__ph img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.awy__bd{display:flex;flex-direction:column;flex:1 1 auto;padding:18px 20px 22px}
.awy__t{display:block;font-size:18px;font-weight:800;line-height:1.5;letter-spacing:-.02em}
.awy__d{display:block;font-size:14.5px;line-height:1.9;color:var(--sub);margin-top:9px}
.awy__go{display:inline-block;margin-top:auto;padding-top:16px;font-size:16px;font-weight:800}
@media(min-width:900px){
 .awy{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px;align-items:stretch}
 .awy__bd{padding:22px 24px 24px}
 .awy__t{font-size:20px}
 .awy__d{font-size:15px;margin-top:10px}
}

/* FVの補足（土地の有無どちらでも相談できること） */
.lpfv__note{display:block;margin-top:14px;font-size:14px;line-height:1.85;font-weight:700;color:var(--sub)}
@media(min-width:900px){.lpfv__note{font-size:15px;margin-top:16px}}

/* ===================================================================
   リノベーションページ
   =================================================================== */

/* 2つの入口（今の家を活かす／中古を買う） */
.sty{display:grid;gap:18px;margin-top:28px}
.sty__c{display:flex;flex-direction:column;background:#fff;border:var(--bd);border-radius:20px;overflow:hidden}
.sty__ph{position:relative;line-height:0;border-bottom:var(--bd)}
.sty__ph img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.sty__k{position:absolute;left:0;top:0;z-index:2;display:flex;align-items:center;gap:8px;
 background:var(--gold);color:var(--ink);border-right:var(--bd);border-bottom:var(--bd);
 border-bottom-right-radius:16px;padding:11px 18px 12px;font-size:14.5px;font-weight:800;letter-spacing:.03em}
.sty__k b{font-size:21px;letter-spacing:.02em;line-height:1}
.sty__c:nth-child(2) .sty__k{background:var(--green);color:#fff;border-color:var(--ink)}
.sty__c:nth-child(3) .sty__k{background:var(--blue);color:#fff;border-color:var(--ink)}
.sty__bd{display:flex;flex-direction:column;flex:1 1 auto;padding:20px 20px 24px}
.sty__t{display:block;font-size:20px;font-weight:800;line-height:1.5;letter-spacing:-.02em}
.sty__d{display:block;font-size:15px;line-height:1.95;color:var(--sub);margin-top:11px;
 word-break:auto-phrase;text-wrap:pretty}
.sty__l{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}
.sty__l li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.8;font-weight:700}
.sty__l li:before{content:"";position:absolute;left:0;top:.56em;width:14px;height:8px;
 border-left:3px solid var(--red);border-bottom:3px solid var(--red);transform:rotate(-45deg)}
.sty__c:nth-child(2) .sty__l li:before{border-color:var(--green)}
.sty__c:nth-child(3) .sty__l li:before{border-color:var(--blue)}
.sty__note{margin-top:18px;background:var(--butter);border:var(--bd);border-radius:14px;
 padding:13px 16px;font-size:14.5px;line-height:1.9;font-weight:700;text-align:center}
@media(min-width:900px){
 .sty{grid-template-columns:repeat(2,1fr);gap:26px;margin-top:38px;align-items:stretch}
 .sty--3{grid-template-columns:repeat(3,1fr);gap:20px}
 .sty__bd{padding:24px 26px 28px}
 .sty__t{font-size:23px}
 .sty--3 .sty__bd{padding:22px 22px 26px}
 .sty--3 .sty__t{font-size:20px;min-height:3em}
 .sty--3 .sty__d{font-size:15px}
 .sty__k{padding:12px 20px 13px;font-size:15.5px;border-bottom-right-radius:18px}
 .sty__k b{font-size:24px}
 .sty__d{font-size:15.5px;margin-top:12px}
 .sty__note{margin-top:26px;font-size:15.5px;padding:15px 20px}
}

/* 2つの選び方の比較 */
.chx{display:grid;gap:16px;margin-top:28px}
.chx__c{background:#fff;border:var(--bd);border-radius:20px;padding:22px 20px 24px;
 display:flex;flex-direction:column}
.chx__k{display:inline-block;align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.08em;
 border:var(--bd);border-radius:999px;padding:5px 13px;background:var(--butter)}
.chx__c--new .chx__k{background:var(--blue);color:#fff;border-color:var(--ink)}
.chx__t{display:block;font-size:19px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:14px}
.chx__d{display:block;font-size:15px;line-height:1.95;color:var(--sub);margin-top:11px}
.chx__note{margin-top:20px;text-align:center;font-size:14.5px;line-height:1.9;font-weight:700}
@media(min-width:900px){
 .chx{grid-template-columns:repeat(2,1fr);gap:26px;margin-top:38px;align-items:stretch}
 .chx__c{padding:28px 26px 30px;border-radius:24px}
 .chx__t{font-size:21px}
 .chx__d{font-size:15.5px}
 .chx__note{margin-top:28px;font-size:15.5px}
}

/* 住み始めてからのサポート（短い帯） */
.afb{display:grid;gap:14px;margin-top:0;background:#fff;border:var(--bd);border-radius:20px;
 padding:22px 20px 24px;align-items:center}
.afb__t{display:block;font-size:19px;font-weight:800;line-height:1.5;letter-spacing:-.02em}
.afb__d{display:block;font-size:15px;line-height:1.95;color:var(--sub);margin-top:9px}

@media(min-width:900px){
 .afb{grid-template-columns:1fr auto;gap:24px;padding:26px 30px}
 .afb__t{font-size:21px}
 .afb__go{white-space:nowrap}
 .afb .btn2{white-space:nowrap}
}
.sec--band{padding:52px 0}
@media(min-width:900px){.sec--band{padding:60px 0}}

/* 4枚のときは2列→4列 */
@media(min-width:700px){.nc--4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.nc--4{grid-template-columns:repeat(4,1fr)}}
/* 事例の横に並べる2枚組 */
.phg--2{display:grid;grid-template-columns:1fr;gap:12px;margin-top:0}
.phg--2 figure{margin:0;background:#fff;border:var(--bd);border-radius:18px;overflow:hidden}
.phg--2 img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-bottom:var(--bd)}
.phg--2 figcaption{display:block;padding:11px 14px 13px;font-size:13.5px;line-height:1.75;color:var(--sub);font-weight:600}
@media(min-width:900px){.phg--2{gap:16px}.phg--2 figcaption{font-size:14px;padding:12px 16px 14px}}

/* 事例が1邸のときは、カードを伸ばさずに上で揃える */
@media(min-width:900px){
 .wv--one{align-items:start}
 .wv--one .ft1__go{margin-top:16px}
}


/* ---------- 性能・施工・アフター（罫線で区切った行組み） ----------
   カードが続くと同じ見た目の段ばかりになるので、
   ここは面を持たせず、線だけで区切って読ませる。 */
.qlr{margin-top:26px;border-top:var(--bd)}
.qlr>li{border-bottom:var(--bd);padding:20px 0 22px}
.qlr__k{display:flex;align-items:baseline;gap:11px;margin-bottom:10px}
.qlr__k i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--sub)}
.qlr__k b{font-size:14px;font-weight:800;letter-spacing:.02em;
 border-bottom:2px solid var(--gold);padding-bottom:1px}
.qlr__t{display:block;font-size:19px;font-weight:800;line-height:1.5;letter-spacing:-.02em}
.qlr__d{display:block;font-size:15px;line-height:1.95;color:var(--sub);margin-top:10px}
@media(min-width:900px){
 .qlr{margin-top:36px}
 .qlr>li{display:grid;grid-template-columns:220px 1fr;gap:0 44px;
  align-items:start;padding:28px 0 30px}
 .qlr__k{flex-direction:column;align-items:flex-start;gap:9px;margin-bottom:0}
 .qlr__t{font-size:22px}
 .qlr__d{font-size:15.5px;max-width:44em}
}

/* ---------- もうひとつの選び方（写真つきの案内パネル） ---------- */
.alt{background:#fff;border:var(--bd);border-radius:22px;box-shadow:var(--sh);
 overflow:hidden;max-width:900px;margin:0 auto}
.alt__ph{line-height:0;border-bottom:var(--bd)}
.alt__ph img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.alt__bd{padding:24px 20px 28px}
.alt__t{font-size:21px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:13px}
.alt__d{font-size:15px;line-height:2;color:var(--sub);margin-top:13px;text-wrap:pretty}
.alt .btn2{margin-top:20px}
@media(min-width:900px){
 .alt{display:grid;grid-template-columns:1fr 44%;align-items:stretch;
  max-width:1080px;border-radius:26px}
 .alt__ph{order:2;border-bottom:none;border-left:var(--bd);height:100%}
 .alt__ph img{height:100%;aspect-ratio:auto;min-height:340px}
 .alt__bd{padding:40px 44px 44px;align-self:center}
 .alt__t{font-size:26px;margin-top:16px}
 .alt__d{font-size:15.5px;margin-top:16px}
 .alt .btn2{margin-top:26px}
}

/* ---------- 施工事例を1件だけ見せる（写真3枚＋本文） ----------
   左右2カラムだと高さがそろわないので、写真を横一列に並べて
   その下に本文を置く。どの幅でも段がそろう。 */
.wone{background:#fff;border:var(--bd);border-radius:20px;box-shadow:var(--sh);
 overflow:hidden;margin-top:28px}
.wone__ph{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;
 background:var(--ink);border-bottom:var(--bd)}
.wone__f{display:flex;flex-direction:column;background:#fff;line-height:0}
.wone__f--m{grid-column:1/-1}
.wone__f img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.wone__f figcaption{flex:1 1 auto;font-size:12.5px;line-height:1.75;color:var(--sub);
 padding:10px 13px 12px;letter-spacing:.01em}
.wone__bd{padding:22px 20px 26px}
.wone__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wone__area{font-size:13px;font-weight:800;letter-spacing:.04em;opacity:.62}
.wone__bg{font-size:12px;font-weight:800;letter-spacing:.04em;
 border:1.5px solid currentColor;border-radius:999px;padding:3px 11px;line-height:1.7}
.wone__t{font-size:21px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:12px}
.wone__d{font-size:15px;line-height:1.95;color:var(--sub);margin-top:11px}
.wone__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.wone__tags span{font-size:12.5px;font-weight:700;line-height:1.6;
 border:var(--bd);border-radius:999px;padding:4px 12px}
.wone__bd .btn2{margin-top:20px}
@media(min-width:900px){
 .wone{margin-top:38px;border-radius:26px}
 .wone__ph{grid-template-columns:repeat(3,1fr)}
 .wone__f--m{grid-column:auto}
 .wone__f figcaption{font-size:13.5px;padding:13px 18px 15px}
 .wone__bd{display:grid;grid-template-columns:1fr auto;align-items:end;
  gap:10px 34px;padding:30px 34px 34px}
 .wone__t{font-size:25px;margin-top:13px}
 .wone__d{font-size:15.5px;margin-top:13px;max-width:44em}
 .wone__bd .btn2{margin-top:0;white-space:nowrap}
}

/* ---------- SPでは、ブロックの最後に置く導線は中央に ---------- */
@media(max-width:899px){
 .nc__lk{justify-content:center}
 .alt .btn2,.wone__bd .btn2,.afb .btn2{
  display:flex;width:fit-content;margin-left:auto;margin-right:auto}
}

/* ---------- お悩み：親世帯・子世帯のふきだし ---------- */
.wsp{display:grid;gap:26px;margin-top:28px}
.wsp__p{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:14px}
.wsp__p img{height:76px;width:auto;max-width:none;display:block}
.wsp__nm{font-size:14px;font-weight:800;letter-spacing:.04em;
 border:var(--bd);border-radius:999px;padding:5px 15px;background:#fff;box-shadow:var(--btnsh)}
.wsp__g--a .wsp__nm{background:var(--butter)}
.wsp__g--b .wsp__nm{background:#D6E8E8}
.wsp__b{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.wsp__b li{position:relative;background:#fff;border:var(--bd);border-radius:16px;
 box-shadow:var(--shs);padding:14px 18px;font-size:15px;font-weight:700;line-height:1.75}
.wsp__b li:before{content:"";position:absolute;left:50%;margin-left:-7px;top:-9px;
 width:14px;height:14px;background:#fff;border-left:var(--bd);border-top:var(--bd);transform:rotate(45deg)}
.wsp__end{margin-top:26px;font-size:16px;font-weight:800;line-height:1.9;text-align:center}
.wsp__end em{font-style:normal}
.wsp__b li{text-align:center}
@media(min-width:800px){
 .wsp{grid-template-columns:repeat(2,1fr);gap:34px;margin-top:38px}
 .wsp__p img{height:124px}
 .wsp__b li{font-size:16px;padding:16px 22px;white-space:nowrap}
 .wsp__end{margin-top:34px;font-size:18px}
}

/* ---------- 間取りのタイプ：模式図つきカード ---------- */
.mdl{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin-top:22px}
.mdl span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;letter-spacing:.02em}
.mdl i{width:15px;height:15px;border:2px solid var(--ink);border-radius:4px;display:block}
.mdl i.is-a{background:var(--butter)} .mdl i.is-b{background:#D6E8E8} .mdl i.is-c{background:#EDE9DE}
.mdg{display:grid;gap:16px;margin-top:22px}
.mdg__c{background:#fff;border:var(--bd);border-radius:20px;overflow:hidden;
 display:flex;flex-direction:column}
.mdg__fig{background:var(--tint);border-bottom:var(--bd);padding:18px 16px;line-height:0}
.mdg__fig svg{width:100%;height:auto;display:block;max-width:300px;margin:0 auto}
.mdg__bd{padding:18px 18px 22px;display:flex;flex-direction:column;flex:1 1 auto}
.mdg__k{align-self:flex-start;font-size:13px;font-weight:800;letter-spacing:.04em;
 border:var(--bd);border-radius:999px;padding:4px 14px;background:#fff}
.mdg__c:nth-child(1) .mdg__k{background:var(--butter)}
.mdg__c:nth-child(2) .mdg__k{background:#D6E8E8}
.mdg__c:nth-child(3) .mdg__k{background:#EDE9DE}
.mdg__t{display:block;font-size:18px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:11px}
.mdg__d{display:block;font-size:14.5px;line-height:1.9;color:var(--sub);margin-top:9px}
@media(min-width:900px){
 .mdl{gap:10px 26px;margin-top:26px}
 .mdg{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px;align-items:stretch}
 .mdg__fig{padding:22px 18px}
 .mdg__bd{padding:22px 22px 26px}
 .mdg__t{font-size:19px;min-height:3em}
 .mdg__d{font-size:15px}
}

/* ---------- 設計・性能への配慮：図解つき ---------- */
.qdg{display:grid;gap:14px;margin-top:28px}
.qdg__c{background:#fff;border:var(--bd);border-radius:20px;overflow:hidden;
 display:flex;flex-direction:column}
.qdg__fig{background:var(--tint);border-bottom:var(--bd);padding:16px;line-height:0}
.qdg__fig svg{width:100%;height:auto;display:block;max-width:260px;margin:0 auto}
.qdg__bd{padding:18px 18px 22px}
.qdg__t{display:block;font-size:17.5px;font-weight:800;line-height:1.5;letter-spacing:-.02em}
.qdg__d{display:block;font-size:14.5px;line-height:1.9;color:var(--sub);margin-top:9px}
@media(min-width:700px){.qdg{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(min-width:1040px){
 .qdg{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px;align-items:stretch}
 .qdg__bd{padding:20px 20px 24px}
 .qdg__t{font-size:17px;min-height:3em}
}

/* ---------- 施工写真：物件ごとにまとめる ---------- */
.pgs{margin-top:28px}
.pgs+.pgs{margin-top:38px}
.pgs__h{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:14px}
.pgs__ar{font-size:13px;font-weight:800;letter-spacing:.04em;opacity:.62}
.pgs__nm{font-size:16px;font-weight:800;letter-spacing:-.01em}
.pgs__bg{font-size:12px;font-weight:800;letter-spacing:.04em;
 border:1.5px solid currentColor;border-radius:999px;padding:3px 11px;line-height:1.7}
@media(min-width:900px){
 .pgs{margin-top:36px} .pgs+.pgs{margin-top:46px}
 .pgs__nm{font-size:18px} .pgs__h{margin-bottom:18px}
}

/* ---------- 施工事例2件 ---------- */
.w2g{display:grid;gap:18px;margin-top:28px}
.w2g__c{display:flex;flex-direction:column;background:#fff;border:var(--bd);
 border-radius:20px;overflow:hidden;box-shadow:var(--sh)}
.w2g__ph{line-height:0;border-bottom:var(--bd)}
.w2g__ph img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.w2g__bd{display:flex;flex-direction:column;flex:1 1 auto;padding:20px 20px 24px}
.w2g__hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.w2g__ar{font-size:13px;font-weight:800;letter-spacing:.04em;opacity:.62}
.w2g__bg{font-size:12px;font-weight:800;letter-spacing:.04em;
 border:1.5px solid currentColor;border-radius:999px;padding:3px 11px;line-height:1.7}
.w2g__t{display:block;font-size:20px;font-weight:800;line-height:1.5;letter-spacing:-.02em;margin-top:11px}
.w2g__d{display:block;font-size:15px;line-height:1.95;color:var(--sub);margin-top:10px}
.w2g__m{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.w2g__m span{font-size:12.5px;font-weight:700;line-height:1.6;
 border:var(--bd);border-radius:999px;padding:4px 12px}
.w2g__c .btn2{margin-top:20px;align-self:flex-start}
@media(max-width:899px){.w2g__c .btn2{align-self:center}}
@media(min-width:900px){
 .w2g{grid-template-columns:repeat(2,1fr);gap:26px;margin-top:38px;align-items:stretch}
 .w2g__bd{padding:24px 26px 28px}
 .w2g__t{font-size:23px}
 .w2g__d{font-size:15.5px}
}

/* ---------- 間取りのタイプ：断面イラスト（PCでは出しすぎない） ---------- */
.mdkv{margin-top:26px;text-align:center}
.mdkv img{width:100%;max-width:330px;height:auto;margin:0 auto;display:block}
@media(min-width:900px){
 .mdkv{margin-top:30px}
 .mdkv img{max-width:420px}
}

/* ---------- 施工事例カードに動画を入れる ---------- */
.w2g__ph--v{display:block;line-height:0;border-bottom:var(--bd)}
.w2g__ph--v .vid__fr{aspect-ratio:16/10;border-radius:0}
.w2g__ph--v .vid__tm{right:10px;bottom:10px}
