.tsumugu-lp.middle-integrated .selection-step{display:block;font-size:14px;font-weight:600;letter-spacing:.04em;color:#a43a40;margin:0 0 15px}
.tsumugu-lp.middle-integrated .products-heading{padding-top:42px}
.tsumugu-lp.middle-integrated .size-nav a{display:flex;align-items:center;justify-content:center;padding:12px;min-height:54px;box-shadow:none}
.tsumugu-lp.middle-integrated .size-nav a:focus-visible{outline:3px solid #a43a40;outline-offset:3px}
.tsumugu-lp.middle-integrated .plan-intro h2{font-size:27px;line-height:1.65;max-width:640px;word-break:normal;overflow-wrap:break-word;text-wrap:balance}
.tsumugu-lp.middle-integrated .plan-intro-copy{flex:1;min-width:0}
.tsumugu-lp.middle-integrated .plan-content{padding-top:28px}
.tsumugu-lp.middle-integrated .footprint-group{max-width:920px;margin:0 auto}
.tsumugu-lp.middle-integrated .footprint-group>h3{font-size:18px;font-weight:600;text-align:center;color:#42474a;margin:0 0 10px}
.tsumugu-lp.middle-integrated .footprint-grid{display:grid;grid-template-columns:repeat(3,minmax(0,240px));justify-content:center;gap:22px}
.tsumugu-lp.middle-integrated .footprint-count-2{grid-template-columns:repeat(2,minmax(0,240px))}
.tsumugu-lp.middle-integrated .footprint-figure{margin:0;min-width:0;text-align:center}
.tsumugu-lp.middle-integrated .footprint-figure img{display:block;width:100%;height:auto}
.tsumugu-lp.middle-integrated .footprint-figure figcaption{font-size:19px;line-height:1.5;color:#42474a;font-weight:600;margin-top:0}
.tsumugu-lp.middle-integrated .footprint-note{font-size:12px;line-height:1.8;color:#646a6e;text-align:center;margin:20px 0 0}
.tsumugu-lp.middle-integrated .plan-target{margin-top:30px}
.tsumugu-lp.middle-integrated .selection-description{text-align:center}
.tsumugu-lp.middle-integrated .selection-description>span{display:inline-block;max-width:100%}
@media(max-width:767px){
  .tsumugu-lp.middle-integrated .selection-step{font-size:13px;letter-spacing:.01em;margin-bottom:12px}
 .tsumugu-lp.middle-integrated .products-heading{padding:32px 0 28px}
 .tsumugu-lp.middle-integrated .size-nav{margin-top:20px}
 .tsumugu-lp.middle-integrated .size-nav a{padding:10px 2px;min-height:48px;font-size:14px}
 .tsumugu-lp.middle-integrated .plan-intro{gap:12px;padding:22px 20px}
 .tsumugu-lp.middle-integrated .plan-intro-copy{display:contents}
 .tsumugu-lp.middle-integrated .plan-intro h2{font-size:21px;line-height:1.65;margin:0;text-align:center}
 .tsumugu-lp.middle-integrated .plan-content{padding-top:22px;padding-bottom:36px}
 .tsumugu-lp.middle-integrated .footprint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 8px;max-width:380px;margin:0 auto}
 .tsumugu-lp.middle-integrated .footprint-grid.footprint-count-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
 .tsumugu-lp.middle-integrated .footprint-grid.footprint-count-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
 .tsumugu-lp.middle-integrated .footprint-group>h3{font-size:16px;margin-bottom:8px}
 .tsumugu-lp.middle-integrated .footprint-figure figcaption{font-size:16px}
 .tsumugu-lp.middle-integrated .footprint-note{text-align:left;font-size:12px;margin-top:16px}
 .tsumugu-lp.middle-integrated .plan-target{margin-top:24px}
}
@media(max-width:359px){.tsumugu-lp.middle-integrated .plan-intro h2{font-size:20px}}

/* STEP2-A 共通説明と図の視認性調整。他セクションには適用しない。 */
.tsumugu-lp.middle-integrated .grid-guide{max-width:900px;margin:26px auto 0;padding:26px 30px;background:#f3f1eb;color:#42474a;text-align:left;box-sizing:border-box}
.tsumugu-lp.middle-integrated .grid-guide h3{margin:0 0 12px;font-size:21px;line-height:1.6;font-weight:600;text-align:left}
.tsumugu-lp.middle-integrated .grid-guide p{margin:0;font-size:15px;line-height:1.8;text-align:left}
.tsumugu-lp.middle-integrated .grid-guide-steps{display:grid;grid-template-columns:1fr 1fr;gap:28px;list-style:none;padding:0;margin:22px 0 18px}
.tsumugu-lp.middle-integrated .grid-guide-steps>li{display:flex;align-items:flex-start;gap:12px;min-width:0}
.tsumugu-lp.middle-integrated .grid-guide-number{font-size:16px;line-height:1.8;color:#a43a40;font-weight:600;flex:none}
.tsumugu-lp.middle-integrated .grid-guide h4{font-size:17px;line-height:1.7;margin:0 0 6px;font-weight:600}
.tsumugu-lp.middle-integrated .grid-guide .grid-guide-note{font-size:12px;line-height:1.75;color:#646a6e}
.tsumugu-lp.middle-integrated .footprint-figure img{max-width:176px;margin-inline:auto}
@media(max-width:767px){
 .tsumugu-lp.middle-integrated .grid-guide{margin-top:22px;padding:20px 18px}
 .tsumugu-lp.middle-integrated .grid-guide h3{font-size:19px;line-height:1.6;margin-bottom:12px}
 .tsumugu-lp.middle-integrated .grid-guide p{font-size:15px;line-height:1.75}
 .tsumugu-lp.middle-integrated .grid-guide-steps{grid-template-columns:1fr;gap:18px;margin:18px 0}
 .tsumugu-lp.middle-integrated .grid-guide-steps>li{gap:10px}
 .tsumugu-lp.middle-integrated .grid-guide h4{font-size:16px;margin-bottom:4px}
 .tsumugu-lp.middle-integrated .grid-guide .grid-guide-note{font-size:12px}
 .tsumugu-lp.middle-integrated .footprint-grid{gap:18px 14px;max-width:380px}
 .tsumugu-lp.middle-integrated .footprint-count-3>.footprint-figure:last-child{grid-column:1/-1;width:calc((100% - 14px)/2);justify-self:center}
 .tsumugu-lp.middle-integrated .footprint-figure figcaption{font-size:15px;font-weight:500;margin-top:7px}
}

/* 見出しの主従と外形図の名称を整理 */
.tsumugu-lp.middle-integrated .grid-guide h3{font-size:28px;line-height:1.5;text-align:center;margin:0 auto 14px;max-width:760px;letter-spacing:.02em;text-wrap:balance}
.tsumugu-lp.middle-integrated .grid-guide .grid-guide-lead{font-size:16px;line-height:1.8;text-align:center;max-width:760px;margin:0 auto 10px}
.tsumugu-lp.middle-integrated .grid-guide .grid-guide-intro{font-size:14px;line-height:1.8;text-align:center;margin:0}
.tsumugu-lp.middle-integrated .footprint-grid{align-items:start;gap:20px}
.tsumugu-lp.middle-integrated .footprint-figure{display:flex;flex-direction:column;align-items:center}
.tsumugu-lp.middle-integrated .footprint-figure .footprint-shape-label{font-size:16px;line-height:1.5;min-height:3em;display:flex;align-items:center;justify-content:center;margin:0 0 5px;font-weight:600;color:#42474a;text-align:center}
.tsumugu-lp.middle-integrated .footprint-figure img{max-width:176px;margin:0 auto}
.tsumugu-lp.middle-integrated .footprint-figure figcaption{font-size:14px;line-height:1.65;font-weight:400;margin:7px 0 0;color:#646a6e}
.tsumugu-lp.middle-integrated .footprint-figure figcaption>span{display:inline-block;white-space:nowrap}
@media(max-width:767px){
 .tsumugu-lp.middle-integrated .grid-guide h3{font-size:23px;line-height:1.55;letter-spacing:0;margin-bottom:14px}
 .tsumugu-lp.middle-integrated .grid-guide .grid-guide-lead{font-size:15px;line-height:1.75;text-align:center;margin-bottom:10px}
 .tsumugu-lp.middle-integrated .grid-guide .grid-guide-intro{font-size:14px;line-height:1.75}
 .tsumugu-lp.middle-integrated .grid-guide-steps{gap:16px;margin:20px 0 16px}
 .tsumugu-lp.middle-integrated .footprint-grid,.tsumugu-lp.middle-integrated .footprint-grid.footprint-count-2,.tsumugu-lp.middle-integrated .footprint-grid.footprint-count-3{gap:18px 14px}
 .tsumugu-lp.middle-integrated .footprint-figure .footprint-shape-label{font-size:14px;line-height:1.5;min-height:3em;margin-bottom:3px}
 .tsumugu-lp.middle-integrated .footprint-figure figcaption{font-size:13px;line-height:1.65;margin-top:6px}
}
@media(max-width:359px){.tsumugu-lp.middle-integrated .grid-guide h3{font-size:22px}}

/* 工程見出し：番号は補助、工程の内容を主役にする */
.tsumugu-lp.middle-integrated .selection-step{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;margin:0 0 20px;line-height:1.5;letter-spacing:0}
.tsumugu-lp.middle-integrated .selection-step-number{display:block;font-size:13px;line-height:1.4;letter-spacing:.1em;font-weight:600}
.tsumugu-lp.middle-integrated .selection-step-title{display:block;max-width:100%;font-size:28px;line-height:1.5;letter-spacing:.02em;font-weight:600;overflow-wrap:break-word}
@media(max-width:767px){
 .tsumugu-lp.middle-integrated .selection-step{gap:6px;margin-bottom:16px}
 .tsumugu-lp.middle-integrated .selection-step-number{font-size:12px}
 .tsumugu-lp.middle-integrated .selection-step-title{font-size:22px;letter-spacing:0;line-height:1.5}
}
@media(max-width:359px){.tsumugu-lp.middle-integrated .selection-step-title{font-size:20px}}
