/* 添付ラフに合わせた輪郭・円弧・リーフ配置。文字サイズは読みやすさ調整版を継承。 */
.rx-shape-defs{position:absolute;pointer-events:none;overflow:hidden}
/* 左肩はなだらか、右側中段にくびれ、下部は横に広い非対称の輪郭。 */
.rx-photo>img{border-radius:0;clip-path:url(#rx-portrait-contour);height:auto;aspect-ratio:405/390;object-fit:cover;object-position:50% 34%}
/* ラフでは前セクションの下端が中央で下がる、左右対称の浅い円弧。 */
.rx-redesign .rx-town{border-radius:0;padding-bottom:42px;background:#fffdf8}
.rx-redesign .rx-vision{--rx-arc-depth:42px;padding-top:calc(var(--rx-arc-depth) + 22px);background:linear-gradient(#fff0e2,#fff1e5)}
.rx-vision:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:calc(var(--rx-arc-depth) + 1px);background:#fffdf8;border-radius:0;clip-path:url(#rx-arc-contour);pointer-events:none}
/* リーフは見出しの外側で茎が文字側に向く配置。左だけ鏡像。 */
.rx-vision-heading h2{gap:12px;align-items:center;position:relative}
.rx-vision-heading h2>span{flex:0 1 auto;min-width:0}
.rx-vision-heading h2 img{display:block;width:50px;height:53px;object-fit:contain;flex:0 0 50px;transform:scaleX(-1) rotate(-9deg);margin:0 0 4px;align-self:center}
.rx-vision-heading h2 img:last-child{transform:rotate(-9deg);margin:0 0 4px}
@media(max-width:760px){
 .rx-photo>img{height:auto;aspect-ratio:405/390;object-position:50% 34%}
 .rx-redesign .rx-town{padding-bottom:32px}
 .rx-redesign .rx-vision{--rx-arc-depth:26px;padding-top:calc(var(--rx-arc-depth) + 18px)}
 .rx-vision-heading h2{gap:6px}
 .rx-vision-heading h2 img{width:26px;height:34px;flex-basis:26px;margin-bottom:2px}
 .rx-vision-heading h2 img:last-child{margin-bottom:2px}
}
@media(max-width:360px){.rx-vision-heading h2{gap:4px}.rx-vision-heading h2 img{width:21px;height:28px;flex-basis:21px}}

/* --- ストーリー4コマ：見出し・画像・本文の行をそろえる --- */
.story{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto auto;}
.st{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start;}
.st-hd{min-height:0;align-self:start;margin-bottom:12px;}
.st img{align-self:start;}
.st p{align-self:start;margin-top:14px;}
.st::after{top:50%;transform:translateY(-50%);margin-top:0;}
@media(max-width:1000px){
  .story{grid-template-columns:1fr;grid-template-rows:none;}
  .st{display:block;grid-row:auto;}
}

/* --- 3つの事実：「どんな人？」の下に配置 --- */
.rx-about .rx-facts{margin-top:34px;padding-top:30px;border-top:1px solid #f0d9bd;max-width:960px;}
.rx-about .rx-facts>div{padding-inline:20px;gap:16px;}
.rx-about .rx-facts img{width:62px;height:62px;}
.rx-about .rx-facts p{font-size:19px;line-height:1.5;}
@media(max-width:760px){
  .rx-about .rx-facts{margin-top:26px;padding-top:22px;}
  .rx-about .rx-facts img{width:46px;height:46px;}
  .rx-about .rx-facts p{font-size:16px;}
}

/* --- どんな人？：切り抜き済みの写真をそのまま使う --- */
.rx-about .rx-photo>img{clip-path:none;-webkit-clip-path:none;
  height:auto;width:100%;object-fit:contain;}

/* --- どんな人？：写真と文章を近づける --- */
@media(min-width:761px){
  .rx-about-grid{grid-template-columns:38% 1fr;gap:2.5%;}
  .rx-about .rx-photo{padding:0;}
}
/* --- 3つの事実：白いボックスでひとくくり --- */
.rx-about .rx-facts{background:#fff;border-radius:20px;border-top:0;
  box-shadow:0 4px 16px rgba(150,90,40,.14);
  padding:26px 14px;margin-top:38px;}
@media(max-width:760px){
  .rx-about .rx-facts{padding:16px 12px;margin-top:26px;border-radius:16px;}
}

/* --- めざす中村区：背景を白に／文章とイラストを近づける／イラストの縁をぼかす --- */
.rx-redesign .rx-town{background:#fff;}
@media(min-width:761px){
  .rx-town-grid{grid-template-columns:40% 60%;}
  .rx-town-art{width:104%;transform:translateX(-4%);}
}
.rx-town-art{
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),
                     linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),
             linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect;
}

/* --- めざす中村区：イラストを80%に、文章にさらに寄せる --- */
@media(min-width:761px){
  .rx-town-grid{grid-template-columns:44% 56%;}
  .rx-redesign .rx-town-art{width:83%;transform:translateX(-9%);}
}
/* --- 5つのキーワード：間隔を詰める --- */
.rx-redesign .rx-keywords{max-width:860px;margin-inline:auto;}
.rx-redesign .rx-keyword{padding:0 4px;}

/* --- ビジョンの上に余白 --- */
.rx-redesign .rx-vision{padding-top:56px;}
@media(max-width:760px){.rx-redesign .rx-vision{padding-top:40px;}}

/* --- めざす中村区：白いボックスの幅に合わせて中央に、文章をイラストへ寄せる --- */
@media(min-width:761px){
  .rx-redesign .rx-town-art{width:100%;transform:none;}
  .rx-redesign .rx-town-copy{padding-left:46px;}
}

/* --- 円弧を白に／ビジョン見出しの上に余白 --- */
.rx-redesign .rx-vision:before{background:#fff;}
.rx-redesign .rx-vision{padding-top:calc(var(--rx-arc-depth) + 64px);}
@media(max-width:760px){.rx-redesign .rx-vision{padding-top:calc(var(--rx-arc-depth) + 40px);}}

/* --- FVボタンの下に余白 --- */
.rx-redesign .rx-about{padding-top:86px;}
@media(max-width:760px){.rx-redesign .rx-about{padding-top:54px;}}
/* --- 「政策を見る」ボタンをオレンジに統一 --- */
.rx-redesign .fv-cta .btn-s{color:var(--or,#f37021);border-color:var(--or,#f37021);}

/* --- ストーリー見出し：2行に収める --- */
.st-hd h3{font-size:17px;line-height:1.6;}
@media(max-width:1000px){.st-hd h3{font-size:18px;}}

/* --- 矢印をイラストの天地センターに --- */
.st::after{position:absolute;grid-row:auto;grid-column:auto;top:44%;right:-34px;
  width:30px;height:30px;transform:translateY(-50%);margin:0;justify-self:auto;align-self:auto;}
@media(max-width:1000px){.st::after{display:none;}}

/* --- めざす中村区のイラストを左へ16px --- */
@media(min-width:761px){
  .rx-redesign .rx-town-art{transform:translateX(-16px);}
}

/* --- ビジョン見出しの草を120%に --- */
.rx-vision-heading h2 img{width:60px;height:64px;flex-basis:60px;}
@media(max-width:760px){.rx-vision-heading h2 img{width:31px;height:41px;flex-basis:31px;}}
@media(max-width:360px){.rx-vision-heading h2 img{width:25px;height:34px;flex-basis:25px;}}

/* --- 活動レポート：カード幅を抑える --- */
.acts{max-width:860px;margin-inline:auto;gap:26px;}
@media(max-width:760px){.acts{max-width:420px;}}

/* --- 帯：テキストと人物をひとかたまりにして中央に --- */
@media(min-width:861px){
  .obi-in{display:flex;align-items:flex-end;justify-content:center;gap:26px;padding:0;}
  .obi-txt{text-align:left;padding-bottom:4px;}
  .obi-photo{position:static;width:min(205px,20vw);margin:-72px 0 -16px 0;flex-shrink:0;}
}

/* おか千恵のビジョン：左に人物（01ボックスの上から出る） */
.rx-vision-oka{display:none;}
@media(min-width:861px){
  .rx-redesign .rx-policy{position:relative;z-index:1;}
  .rx-redesign .rx-vision-oka{
    display:block;position:absolute;left:0;bottom:-24px;
    width:210px;height:auto;z-index:0;pointer-events:none;
  }
}

/* ビジョン：2つの白ボックスの横幅を少し狭める */
@media(min-width:861px){
  .rx-redesign .rx-policies{max-width:880px;margin-inline:auto;}
}

/* どんな人？：写真＋テキストをひとかたまりでサイト中央に */
@media(min-width:761px){
  .rx-redesign .rx-about-grid{
    grid-template-columns:minmax(0,370px) minmax(0,max-content);
    justify-content:center;column-gap:52px;gap:0 52px;
  }
}

/* ビジョン：リード文を左揃え（左の葉っぱの左端にそろえる） */
@media(min-width:861px){
  .rx-redesign .rx-vision-heading{position:relative;width:max-content;max-width:100%;margin-inline:auto;padding-left:244px;}
  .rx-redesign .rx-vision-heading h2{justify-content:flex-start;}
  .rx-redesign .rx-vision-heading>p{text-align:left;}
}

/* 声をカタチに：囲み罫線をとる／矢印をイラストの天地センター＋120% */
.steps .step{background:transparent;border:0;border-radius:0;padding:0;container-type:inline-size;}
.steps .step::after{width:38px;height:38px;}
@media(min-width:761px){
  .steps .step::after{right:-42px;top:calc(45px + 37.5cqw);transform:translateY(-50%);}
}

/* ビジョン：見出し横の草をとり、タイトルをリード文の左にそろえる */
.rx-redesign .rx-vision-heading h2 img{display:none;}
.rx-redesign .rx-vision-heading h2{gap:0;}

/* おか千恵のストーリー：見出しの両端に草の飾り */
.h2-leaf{display:flex;align-items:center;justify-content:center;gap:20px;}
.h2-leaf img{width:78px;height:66px;object-fit:contain;transform:scaleX(-1);flex-shrink:0;}
.h2-leaf img:last-child{transform:none;}
@media(max-width:760px){
  .h2-leaf{gap:6px;}
  .h2-leaf img{width:42px;height:36px;}
}

/* 5つのキーワード：区切り罫線をイラスト〜テキストの天地いっぱいに */
.rx-redesign .rx-keyword+div:before{top:0;height:100%;}
/* スマホ：上段2つ／下段3つの2段組み */
@media(max-width:760px){
  .rx-redesign .rx-keywords{grid-template-columns:repeat(6,1fr);max-width:440px;row-gap:22px;}
  .rx-redesign .rx-keyword:nth-child(-n+2){grid-column:span 3;}
  .rx-redesign .rx-keyword:nth-child(n+3){grid-column:span 2;width:auto;justify-self:auto;}
  .rx-redesign .rx-keyword:nth-child(odd):before{display:block;}
  .rx-redesign .rx-keyword:nth-child(1):before,
  .rx-redesign .rx-keyword:nth-child(3):before{display:none;}
  .rx-redesign .rx-keyword{padding:0 6px;}
  .rx-redesign .rx-keyword img{width:84px;height:82px;}
}
/* 5つのキーワード：文字の太さをリード文と同じに */
.rx-redesign .rx-keyword p{font-weight:500;}

/* 最新情報はこちらから：スマホではグレーの区切り線をとる */
@media(max-width:760px){
  .sc+.sc::before{display:none;}
}

/* スマホ：おか千恵ってどんな人？ をきれいに左右センターへ */
@media(max-width:760px){
  .rx-redesign .rx-about-copy>p{width:max-content;max-width:100%;margin-inline:auto;}
  .rx-redesign .rx-about .rx-facts{display:grid;justify-content:center;}
}

/* スマホ：ストーリー1〜4の見出しを改行せず1行で */
@media(max-width:760px){
  .st{padding:0 3%;}
  .st-hd{min-height:0;align-items:center;gap:8px;}
  .st-hd h3 br{display:none;}
  .st-hd h3{font-size:16px;white-space:nowrap;line-height:1.5;}
}

/* 3つの事実：白ボックスの幅を少し縮めてサイト中央に */
@media(min-width:761px){
  .rx-redesign .rx-about .rx-facts{max-width:820px;margin-left:auto;margin-right:auto;}
}
@media(min-width:761px){
  .rx-redesign .rx-about .rx-facts{grid-template-columns:repeat(3,max-content);justify-content:center;}
}

/* 「あなたの声が、まちを変えました」の下に文字幅の罫線 */
.koe-ttl{width:max-content;max-width:100%;margin-inline:auto;
  padding-bottom:10px;border-bottom:1.5px solid var(--or);}

/* 3コマ本文：イラストの幅に左右そろえる（両端揃え） */
.steps .step p{text-align:left;word-break:break-all;}

/* FV：ボタンを「笑顔あふれる中村区へ。」の下に重ねて配置 */
.fv{position:relative;}
@media(min-width:861px){
  .fv .rx-top{position:absolute;left:10.6%;bottom:13%;width:auto;margin:0;z-index:4;background:transparent;}
  .fv .rx-redesign .fv-cta,.fv .fv-cta{margin:0;width:auto;
    grid-template-columns:repeat(2,minmax(0,250px));gap:16px;}
  .fv .fv-cta .btn{font-size:20px;}
  .rx-redesign .rx-about{padding-top:70px;}
}

/* =========================================================
   議会報告セクション（このセクション内のみに適用）
   ========================================================= */
.gikai-sec{position:relative;overflow:hidden;padding-bottom:70px;}
.gikai-sec>.wrap{position:relative;z-index:1;}
.gikai-sec::before{content:"";position:absolute;top:-150px;left:-120px;width:300px;height:300px;
  border-radius:50%;background:#f9d9bd;z-index:0;}
.gikai-sec::after{content:"";position:absolute;top:-58px;left:152px;width:132px;height:132px;
  border-radius:50%;background:#dfeec6;z-index:0;}

/* --- 上部 --- */
.gikai-sec .gikai-top{display:grid;grid-template-columns:1fr 360px;gap:36px;
  align-items:start;max-width:980px;margin:0 auto 32px;}
.gikai-sec .gikai-badge{background:var(--green-d);color:#fff;font-weight:700;
  font-size:14px;padding:6px 18px;border-radius:999px;}
.gikai-sec .gikai-ttl{font-size:clamp(26px,3.4vw,38px);margin:16px 0 12px;line-height:1.3;}
.gikai-sec .gikai-sub{font-size:16px;font-weight:700;color:var(--ink-sub);margin:0;}
.gikai-sec .gikai-sub.ttl{font-size:clamp(18px,2.2vw,23px);color:var(--ink);margin-top:8px;}
.gikai-sec .gikai-rule{display:block;width:76px;height:3px;border-radius:2px;
  background:var(--or);margin-top:20px;}
.gikai-sec .gikai-photo{margin:0;}
.gikai-sec .gikai-photo img{display:block;width:100%;height:auto;border-radius:14px;}

/* --- 質問カード --- */
.gikai-sec .qa{background:#fff;border:1px solid #f6d8bd;border-radius:14px;
  padding:32px;margin:0 auto 22px;max-width:980px;}
.gikai-sec .qa-label{display:inline-block;background:var(--or);color:#fff;font-weight:900;
  font-size:14px;letter-spacing:.04em;padding:6px 16px;border-radius:999px;line-height:1.4;}
.gikai-sec .qa-q{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;color:var(--ink);
  background:none;font-size:clamp(20px,2.6vw,27px);line-height:1.5;margin:16px 0 0;padding:0;display:block;}
.gikai-sec .qa-q::after{content:"";display:block;width:64px;height:3px;border-radius:2px;
  background:var(--or);margin-top:16px;}
.gikai-sec .qa-txt{font-size:18px;line-height:1.8;color:var(--ink);margin:18px 0 22px;}

/* --- 市の答弁 --- */
.gikai-sec .ans{display:block;background:#f2f8e9;border:0;border-radius:12px;padding:22px 26px 24px;}
.gikai-sec .ans-label{display:inline-block;background:var(--green-d);color:#fff;font-weight:700;
  font-size:14px;padding:6px 16px;border-radius:999px;line-height:1.4;}
.gikai-sec .ans ul{list-style:none;margin:16px 0 0;padding:0;}
.gikai-sec .ans li{position:relative;padding-left:40px;font-size:18px;line-height:1.8;margin:0 0 10px;}
.gikai-sec .ans li:last-child{margin-bottom:0;}
.gikai-sec .ans li::before{content:"";position:absolute;left:0;top:.3em;width:26px;height:26px;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23dcecc5'/%3E%3Cpath d='M6.8 12.4l3.4 3.4 7-7.2' fill='none' stroke='%234a7d16' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.gikai-sec .ans li strong{color:#3f6d12;font-weight:900;}

/* --- 下部 --- */
.gikai-sec .koe-note{margin:36px auto 0;}
.gikai-sec .koe-note::before,.gikai-sec .koe-note::after{border-top:1.5px solid var(--or);flex-basis:150px;}
.gikai-sec .gikai-wave{position:absolute;left:0;bottom:0;width:100%;height:120px;display:block;z-index:0;}

@media(max-width:760px){
  .gikai-sec{padding-bottom:56px;}
  .gikai-sec .gikai-top{grid-template-columns:1fr;gap:20px;margin-bottom:24px;}
  .gikai-sec .gikai-ttl{font-size:25px;}
  .gikai-sec .gikai-sub{font-size:15px;}
  .gikai-sec .gikai-sub.ttl{font-size:18px;}
  .gikai-sec .qa{padding:20px;border-radius:12px;}
  .gikai-sec .qa-q{font-size:20px;margin-top:14px;}
  .gikai-sec .qa-q .qa-br{display:none;}
  .gikai-sec .qa-txt{font-size:16px;margin:16px 0 18px;}
  .gikai-sec .ans{padding:18px;}
  .gikai-sec .ans li{font-size:16px;padding-left:32px;}
  .gikai-sec .ans li::before{width:22px;height:22px;}
  .gikai-sec::before{width:190px;height:190px;left:-88px;top:-100px;}
  .gikai-sec::after{width:92px;height:92px;left:86px;top:-40px;}
  .gikai-sec .gikai-wave{height:76px;}
}
/* 質問カード：見出し横のイラスト */
.gikai-sec .qa-head{display:grid;grid-template-columns:1fr minmax(0,320px);
  gap:16px;align-items:center;}
.gikai-sec .qa-head-txt{min-width:0;}
.gikai-sec .qa-art{display:block;width:100%;height:auto;margin:-10px 0 0;}
@media(max-width:760px){
  .gikai-sec .qa-head{grid-template-columns:1fr;gap:0;}
  .gikai-sec .qa-art{width:84%;max-width:300px;margin:14px auto 0;}
}
/* ごあいさつ上部の葉っぱ装飾をなしに */
.greet-sec::before,.greet-sec::after{content:none;display:none;}

/* ごあいさつ */
.greet-sec{background:#fff;padding-bottom:0;}
.greet-h2::before,.greet-h2::after{content:none;display:none;}
.greet-h2 img{width:78px;height:66px;object-fit:contain;transform:scaleX(-1);flex-shrink:0;}
.greet-h2 img:last-child{transform:none;}
.greet .sign::after{content:none;display:none;}
.greet-img img{display:block;margin-bottom:0;}
@media(max-width:760px){
  .greet-h2 img{width:42px;height:36px;}
  .greet-h2{gap:8px;}
}

/* 後援会ボタン：「最新情報はこちらから」のボタンと同じ見せ方に */
.kk-btns .btn{border-radius:999px;font-weight:700;border:0;box-shadow:none;}
.kk-btns .btn.fill{background:var(--or);color:#fff;}
.kk-btns .btn.line{background:#06c755;color:#fff;}
.kk-btns .btn svg{fill:currentColor;}
.kk-btns .btn .ar{color:#fff;}

/* 薄すぎるクリーム背景を、白との差がわかる濃さに */
.sec-cream{background:#fdf1e4;}
.greet-sec{background:#fff;}
/* 「議会で、こう訴えました」の下に罫線 */
.gikai-sec .gikai-ttl{width:max-content;max-width:100%;
  padding-bottom:10px;border-bottom:1.5px solid var(--or);}
/* 右下の円の飾り */
.gikai-deco{position:absolute;inset:0;pointer-events:none;z-index:0;display:block;}
.gikai-deco::before{content:"";position:absolute;right:-140px;bottom:-130px;
  width:300px;height:300px;border-radius:50%;background:#f9d9bd;}
.gikai-deco::after{content:"";position:absolute;right:150px;bottom:-52px;
  width:132px;height:132px;border-radius:50%;background:#dfeec6;}
@media(max-width:760px){
  .gikai-deco::before{width:190px;height:190px;right:-90px;bottom:-90px;}
  .gikai-deco::after{width:92px;height:92px;right:84px;bottom:-36px;}
}

/* 後援会ボックス：葉っぱと罫線をとる */
.kk::before,.kk::after{content:none;display:none;}
.kk h2::before,.kk h2::after{content:none;display:none;}
.kk-note::before,.kk-note::after{content:none;display:none;}
/* ごあいさつ：文章と人物を近づけて、ひとかたまりでサイト中央に */
@media(min-width:761px){
  .greet{grid-template-columns:auto auto;justify-content:center;column-gap:40px;}
  .greet-txt{max-width:640px;width:fit-content;}
  .greet-img{order:-1;}
  .greet-img img{margin-left:0;}
  /* タイトルに文章と人物を近づける */
  .greet-h2{margin-bottom:4px;}
  .greet{align-items:start;}
  .greet-txt{padding-top:56px;}
}
/* 「最新の活動はこちら！」＋ボタンの上下に余白 */
.act-latest{margin:62px 0 24px;}
.act-btns{margin-bottom:28px;}
@media(max-width:760px){
  .act-latest{margin:44px 0 18px;}
  .act-btns{margin-bottom:18px;}
}
/* 後援会ボックスの横幅を狭める */
@media(min-width:761px){
  .kk{max-width:880px;margin-inline:auto;}
}
/* ごあいさつの写真：オレンジ枠とくっつけず、下端をグラデでぼかす */
.greet-sec{padding-bottom:24px;}
.greet-img img{
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 74%,rgba(0,0,0,.45) 90%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0,#000 74%,rgba(0,0,0,.45) 90%,transparent 100%);
}
/* 活動レポートのカード：影をグレーにして視認性アップ */
.act{box-shadow:0 3px 14px rgba(60,55,50,.18);}
.act:hover{box-shadow:0 6px 20px rgba(60,55,50,.24);}

/* =========================================================
   プロフィール／中村区への想い（このセクション内のみ）
   ========================================================= */
.pf-sec .pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;}
.pf-sec .pf-card{background:#fff;border:1px solid #f6d8bd;border-radius:14px;padding:32px;min-width:0;}
.pf-sec .pf-h2{font-family:"Zen Maru Gothic",sans-serif;font-weight:900;color:var(--or);
  font-size:clamp(24px,2.8vw,32px);line-height:1.3;margin:0;}
.pf-sec .pf-h2::after{content:"";display:block;width:min(100%,250px);height:2px;
  background:#9ec46a;border-radius:2px;margin-top:10px;}

/* 上部：ラベル＋写真 */
.pf-sec .pf-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;
  align-items:center;margin:20px 0 24px;}
.pf-sec .pf-badge{margin:0;background:#fde6d1;color:var(--or-txt);font-weight:900;
  font-size:17px;line-height:1.5;padding:12px 18px;border-radius:999px;text-align:center;}
.pf-sec .pf-photo{position:relative;margin:0;width:180px;}
.pf-sec .pf-photo::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:94%;
  background:#fdeadb;border-radius:999px 999px 10px 10px;z-index:0;}
.pf-sec .pf-photo img{position:relative;z-index:1;display:block;width:100%;height:auto;}

/* プロフィール表 */
.pf-sec .pf-list{margin:0;}
.pf-sec .pf-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;
  padding:13px 0;border-top:1px solid #f3e2d2;}
.pf-sec .pf-row:last-child{border-bottom:1px solid #f3e2d2;}
.pf-sec .pf-row dt{margin:0;color:var(--or-txt);font-weight:900;font-size:16px;line-height:1.75;}
.pf-sec .pf-row dd{margin:0;min-width:0;color:#3f3833;font-size:17px;line-height:1.8;}

/* 経歴タイムライン */
.pf-sec .pf-hist{list-style:none;margin:0;padding:0 0 0 26px;position:relative;}
.pf-sec .pf-hist::before{content:"";position:absolute;left:5px;top:14px;bottom:14px;
  width:2px;background:#f8c795;}
.pf-sec .pf-hist li{position:relative;margin:0 0 6px;}
.pf-sec .pf-hist li:last-child{margin-bottom:0;}
.pf-sec .pf-hist li::before{content:"";position:absolute;left:-26px;top:.6em;
  width:12px;height:12px;border-radius:50%;background:var(--or-l);}

/* 中村区への想い */
.pf-sec .omoi-lead{color:#2f6b2a;font-weight:900;font-size:clamp(19px,2.2vw,23px);
  line-height:1.65;margin:20px 0 20px;}
.pf-sec .omoi-p{color:#3f3833;font-size:17px;line-height:1.85;margin:0 0 16px;}
.pf-sec .omoi-art{margin:8px 0 0;}
.pf-sec .omoi-art img{display:block;width:100%;max-width:100%;height:auto;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%),
    linear-gradient(to bottom,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%),
    linear-gradient(to bottom,transparent 0,#000 4%,#000 96%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect;}

@media(max-width:1024px){
  .pf-sec .pf-grid{grid-template-columns:1fr;gap:22px;}
  .pf-sec .pf-h2::after{max-width:220px;}
  .pf-sec .pf-badge{justify-self:start;max-width:340px;width:100%;}
}
@media(max-width:760px){
  .pf-sec .pf-card{padding:20px;border-radius:12px;}
  .pf-sec .pf-h2{font-size:23px;}
  .pf-sec .pf-top{gap:14px;margin:16px 0 18px;}
  .pf-sec .pf-photo{width:128px;}
  .pf-sec .pf-badge{font-size:15px;padding:10px 14px;}
  .pf-sec .pf-row{grid-template-columns:84px minmax(0,1fr);gap:10px;padding:11px 0;}
  .pf-sec .pf-row dt{font-size:14px;}
  .pf-sec .pf-row dd{font-size:16px;line-height:1.8;}
  .pf-sec .pf-hist{padding-left:22px;}
  .pf-sec .pf-hist li::before{left:-22px;width:10px;height:10px;}
  .pf-sec .omoi-lead{font-size:18px;margin:16px 0 16px;}
  .pf-sec .omoi-p{font-size:16px;}
}
@media(max-width:430px){
  .pf-sec .pf-top{grid-template-columns:1fr;justify-items:center;}
  .pf-sec .pf-badge{width:100%;}
  .pf-sec .pf-photo{width:132px;}
}
/* プロフィール上部：ラベル＋名前を見出しに近づける */
.pf-sec .pf-top{align-items:start;margin-top:16px;}
.pf-sec .pf-id{min-width:0;}
.pf-sec .pf-name{margin:14px 0 0;text-align:center;
  font-family:"Zen Maru Gothic",sans-serif;font-weight:900;color:var(--ink);
  font-size:clamp(26px,3vw,34px);line-height:1.3;letter-spacing:.04em;}
@media(max-width:760px){
  .pf-sec .pf-name{font-size:24px;margin-top:12px;}
}
/* FVボタン：白い下地をなくし、1つずつ独立した白フチに */
.fv .rx-top,.fv .fv-cta{background:transparent;}

/* プロフィール／想い：左右差をなくすため上下に積む */
.pf-sec .pf-grid{grid-template-columns:1fr;gap:24px;}
.pf-sec .omoi-body{display:grid;gap:26px;align-items:start;}
@media(min-width:861px){
  .pf-sec .omoi-body{grid-template-columns:minmax(0,1fr) minmax(0,46%);}
  .pf-sec .pf-top{grid-template-columns:minmax(0,1fr) auto;}
  .pf-sec .pf-id{max-width:360px;}
  .pf-sec .pf-badge{max-width:none;width:100%;}
}
.pf-sec .omoi-body .omoi-p:last-child{margin-bottom:0;}
.pf-sec .omoi-art{margin:0;}

/* プロフィール：ラベル・名前をやめ、写真を表の右に */
.pf-sec .pf-body{display:grid;grid-template-columns:minmax(0,1fr) 250px;
  gap:34px;align-items:start;margin-top:22px;}
.pf-sec .pf-body .pf-photo{width:100%;margin:0;}
@media(max-width:760px){
  .pf-sec .pf-body{grid-template-columns:1fr;gap:16px;margin-top:16px;}
  .pf-sec .pf-body .pf-photo{order:-1;width:150px;margin-inline:auto;}
}
@media(max-width:760px){.pf-sec .omoi-br{display:none;}}
/* 活動レポートの写真：枠内に収め、中心でトリミング */
.act{overflow:hidden;}
.act img{object-position:center center;border-radius:0;}

/* FVのボタン：白フチ付きで作り直し */
@media(min-width:861px){
  .fv .fv-cta{grid-template-columns:repeat(2,minmax(0,250px));gap:18px;}
  .fv .fv-cta .btn{
    display:flex;align-items:center;justify-content:center;gap:10px;
    box-sizing:border-box;width:100%;height:62px;padding:0 20px;
    border:3px solid #fff;border-radius:14px;
    font-size:19px;font-weight:900;line-height:1;letter-spacing:.02em;
    box-shadow:none;text-decoration:none;
  }
  .fv .fv-cta .btn-p{background:var(--or);color:#fff;}
  .fv .fv-cta .btn-p svg{fill:#fff;stroke:#fff;}
  .fv .fv-cta .btn-s{background:#fff;color:var(--or);box-shadow:inset 0 0 0 2px var(--or);}
  .fv .fv-cta .btn-s svg{fill:var(--or);stroke:var(--or);}
  .fv .fv-cta .btn>svg:first-of-type{width:20px;height:20px;flex:0 0 20px;stroke:none;}
  .fv .fv-cta .btn .arw{position:static;width:8px;height:13px;flex:0 0 8px;
    fill:none;stroke:currentColor;margin-left:4px;}
}
/* プロフィール写真：バストアップにトリミング */
.pf-sec .pf-body .pf-photo img{aspect-ratio:7/9;object-fit:cover;object-position:center top;}
/* 想い：テキストとイラストの天地をそろえる */
@media(min-width:861px){
  .pf-sec .omoi-body{align-items:stretch;}
  .pf-sec .omoi-txt{display:flex;flex-direction:column;justify-content:center;}
}
/* フッター：ロゴ＋事務所名をコンテンツの左端にそろえる */
.ft-in{width:min(1100px,90%);justify-content:space-between;gap:40px;}
@media(max-width:760px){
  .ft-in{justify-content:center;}
}
/* プロフィール：写真を大きくし、下の余白を詰める */
@media(min-width:861px){
  .pf-sec .pf-body{grid-template-columns:minmax(0,1fr) 340px;align-items:center;}
  .pf-sec .pf-body .pf-photo{align-self:center;}
}
/* プロフィール表：天地を詰める */
@media(min-width:861px){
  .pf-sec .pf-row{padding:9px 0;}
  .pf-sec .pf-row dd{line-height:1.7;}
  .pf-sec .pf-hist li{margin-bottom:2px;}
  .pf-sec .pf-hist{padding-top:2px;padding-bottom:2px;}
}
/* プロフィール／中村区への想い：見出し下の黄緑ラインを削除 */
.pf-sec .pf-h2::after{content:none;display:none;}
/* プロフィール表の区切り線：落ち着いたグレーに */
.pf-sec .pf-row{border-top-color:#e4e0dc;}
.pf-sec .pf-row:last-child{border-bottom-color:#e4e0dc;}
/* プロフィール表の区切り線：太く・濃くして見やすく */
.pf-sec .pf-row{border-top:2px solid #d3ccc5;}
.pf-sec .pf-row:last-child{border-bottom:2px solid #d3ccc5;}
/* プロフィール表：罫線が文字に対して長すぎないよう幅をしぼる */
@media(min-width:861px){
  .pf-sec .pf-body{grid-template-columns:minmax(0,580px) 340px;justify-content:space-between;}
}
/* 想い：リード文も本文側に入れ、文章ブロック全体とイラストの天地をそろえる */
.pf-sec .omoi-body{margin-top:22px;}
.pf-sec .omoi-lead{margin:0 0 18px;}
.pf-sec .omoi-ten{display:none;}
@media(min-width:861px){
  .pf-sec .omoi-body{align-items:center;gap:40px;}
  .pf-sec .omoi-txt{display:block;}
}
@media(max-width:760px){
  .pf-sec .omoi-body{margin-top:16px;}
  .pf-sec .omoi-lead{margin:0 0 14px;}
  .pf-sec .omoi-ten{display:inline;}
}
/* プロフィール表の区切り線：背景と同じうすいオレンジに */
.pf-sec .pf-row{border-top-color:#fdf1e4;}
.pf-sec .pf-row:last-child{border-bottom-color:#fdf1e4;}
/* 活動レポートの写真：被写体の中心がカードの左右中央にくるよう、左の余白ぶんだけ寄せて拡大 */
.act img.act-fit-womens{transform:scale(1.124);transform-origin:right center;clip-path:inset(5.5% 0 5.5% 11%);}
.act img.act-fit-orange{transform:scale(1.075);transform-origin:right center;clip-path:inset(3.5% 0 3.5% 7%);}
/* 活動レポートのカード：見出しとリードを中央揃えに */
.act .body{text-align:center;}

/* SNSカード：5つに（LINE／Instagram／X／YouTube／選挙ドットコム） */
.sns-cards{grid-template-columns:repeat(5,1fr);}
.sc.xx h3{color:#111;}
.sc.yt h3{color:#ff0000;}
.sc.xx .sc-btn{background:#111;}
.sc.yt .sc-btn{background:#ff0000;}
@media(max-width:980px){
  .sns-cards{grid-template-columns:repeat(3,1fr);row-gap:28px;}
}
@media(max-width:760px){
  .sns-cards{grid-template-columns:repeat(2,1fr);row-gap:26px;}
  .sns-cards .sc:last-child{grid-column:1/-1;}
}

/* SNSカード：5つの高さ・位置をそろえる */
.sns-cards{align-items:stretch;}
.sns-cards .sc{display:flex;flex-direction:column;height:100%;min-width:0;
  padding:12px 16px 14px;}
.sns-cards .sc-ic{height:72px;width:72px;margin:0 auto 12px;display:grid;place-items:center;}
.sns-cards .sc-ic.wide{width:100%;height:72px;}
.sns-cards .sc-ic img{max-height:40px;width:auto;max-width:100%;}
.sns-cards .sc-ic svg{width:58px;height:58px;}
.sns-cards .sc-ic.wide svg{width:auto;height:auto;}
.sns-cards .sc h3{margin:0 0 10px;font-size:19px;line-height:1.4;white-space:nowrap;}
.sns-cards .sc p{margin:0 0 16px;}
.sns-cards .sc-btn{margin:auto auto 0;width:100%;max-width:190px;height:44px;}

/* =========================================================
   リード文の統一（書体・色・サイズ・太さ）
   ========================================================= */
.rx-redesign .rx-about-copy>p,
.rx-redesign .rx-town-copy>p:last-child,
.rx-redesign .rx-vision-heading>p,
.koe-lead,
.kk-lead,
.pf-sec .omoi-p,
.gikai-sec .qa-txt{
  font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:18px;
  line-height:1.9;
  font-weight:500;
  color:#332d28;
  letter-spacing:.01em;
}
/* カード内の説明文：同じ書体・色・太さで、サイズだけ1段小さく */
.sns-cards .sc p,
.act p{
  font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:16px;
  line-height:1.9;
  font-weight:500;
  color:#332d28;
  letter-spacing:.01em;
}
@media(max-width:760px){
  .rx-redesign .rx-about-copy>p,
  .rx-redesign .rx-town-copy>p:last-child,
  .rx-redesign .rx-vision-heading>p,
  .koe-lead,
  .kk-lead,
  .pf-sec .omoi-p,
  .gikai-sec .qa-txt{font-size:16.5px;line-height:1.9;}
  .sns-cards .sc p,.act p{font-size:15.5px;}
}
/* フッター：ロゴ＋事務所名と問い合わせを近づけ、全体をサイト中央に */
@media(min-width:761px){
  .ft-in{justify-content:center;gap:72px;}
}
/* スマホ：メールアイコンとメニューを右端に */
@media(max-width:860px){
  .hd-r{margin-left:auto;}
}

/* =========================================================
   スマホ：本文をセンター揃えに統一
   ========================================================= */
@media(max-width:760px){
  .rx-redesign .rx-about-copy,
  .rx-redesign .rx-about-copy>p,
  .rx-redesign .rx-about-copy .rx-promise,
  .rx-redesign .rx-town-copy,
  .rx-redesign .rx-town-copy>p,
  .rx-redesign .rx-town-lead,
  .rx-redesign .rx-vision-heading,
  .rx-redesign .rx-vision-heading>p,
  .rx-redesign .rx-vision-heading h2,
  .rx-redesign .rx-policy>header,
  .koe-hd,.koe-lead,
  .kk-lead,.kk-note,
  .greet-txt,.greet p,
  .gikai-sec .gikai-head,
  .gikai-sec .qa-txt,
  .gikai-sec .qa-q,
  .pf-sec .omoi-lead,
  .pf-sec .omoi-p,
  .steps .step p,
  .st p,
  .act p,
  .act h3{
    text-align:center;
  }
  /* 幅を内容ぴったりにしていた箇所は、センター揃えのため解除 */
  .rx-redesign .rx-about-copy>p{width:auto;max-width:100%;}
  .rx-redesign .rx-vision-heading{width:auto;max-width:100%;padding-left:0;}
  .rx-redesign .rx-vision-heading h2{justify-content:center;}
  .steps .step p{word-break:normal;}
  .gikai-sec .qa-q::after{margin-left:auto;margin-right:auto;}
  .gikai-sec .gikai-head .gikai-badge{display:inline-flex;}
  .greet .sign{text-align:center;}
}
/* ストーリー見出し：スマホでは2行（おか千恵の／ストーリー） */
.h2-br{display:none;}
@media(max-width:760px){
  .h2-br{display:inline;}
  .h2-leaf{gap:10px;}
  .h2-leaf img{width:46px;height:40px;}
  .h2-leaf span{line-height:1.35;}
}

/* スマホ・タブレット：カードが縦積みになったときの矢印を下向き＆中央に */
@media(max-width:1000px){
  .story{row-gap:54px;}
  .st::after{display:block;left:50%;right:auto;top:auto;bottom:-34px;
    width:30px;height:30px;margin:0;
    transform:translateX(-50%) rotate(90deg);}
  .st:last-child::after{display:none;}
}
@media(max-width:760px){
  .steps{gap:50px;}
  .steps .step::after{display:block;left:50%;right:auto;top:auto;bottom:-36px;
    width:34px;height:34px;margin:0;
    transform:translateX(-50%) rotate(90deg);}
  .steps .step:last-child::after{display:none;}
}
/* スマホ：ストーリー見出しは葉っぱなしで2行をきれいに */
@media(max-width:760px){
  .h2-leaf img{display:none;}
  .h2-leaf{gap:0;}
  .h2-leaf span{white-space:nowrap;}
}
/* スマホ：本文と矢印の間にゆとりを */
@media(max-width:1000px){
  .story{row-gap:88px;}
  .st::after{bottom:-40px;}
}
@media(max-width:760px){
  .steps{gap:96px;}
  .steps .step::after{bottom:-44px;}
}
/* スマホ・タブレット縦積み時は2番目にも矢印を出す */
@media(max-width:1000px){
  .st:nth-child(2)::after{display:block;}
  .st:last-child::after{display:none;}
}
/* スマホ：ストーリーのイラストを天地20pxほど詰める */
@media(max-width:760px){
  .st img{aspect-ratio:1.07;object-fit:cover;object-position:center;}
}
/* スマホ：4コマ目の人物写真は顔が切れないよう上基準で */
@media(max-width:760px){
  .st img.st-photo{object-position:center top;}
}
/* スマホ：見出しもセンター＆改行位置を自然に */
@media(max-width:760px){
  .pf-sec .pf-h2{text-align:center;}
  .pf-sec .omoi-lead,
  .pf-sec .omoi-p,
  .rx-redesign .rx-about-copy>p,
  .rx-redesign .rx-town-copy>p,
  .rx-redesign .rx-vision-heading>p,
  .koe-lead,.kk-lead,
  .greet p,
  .steps .step p,
  .st p,
  .act p,
  .sns-cards .sc p,
  .gikai-sec .qa-txt{
    word-break:auto-phrase;
    overflow-wrap:normal;
    text-wrap:pretty;
  }
}
/* スマホ：帯の底辺と人物写真の底辺をそろえる */
@media(max-width:860px){
  .obi{padding-bottom:0;}
  .obi-photo{position:static;width:150px;margin:10px auto 0;display:block;}
}
/* 後援会見出し：全部オレンジに */
.kk h2 .g{color:var(--or);}
/* スマホ：「小さなご相談ほど〜」の横罫線をとって2行センターに */
@media(max-width:760px){
  .koe-note{display:block;text-align:center;}
  .koe-note::before,.koe-note::after{content:none;display:none;}
  .koe-note,.kk-note{word-break:auto-phrase;overflow-wrap:normal;text-wrap:pretty;}
  .kk-note{font-size:14px;}
}
/* スマホ：質問01・市の答弁のラベルをセンターに、答弁の改行も自然に */
@media(max-width:760px){
  .gikai-sec .qa-head-txt{text-align:center;}
  .gikai-sec .ans{text-align:center;}
  .gikai-sec .ans ul{text-align:left;}
  .gikai-sec .ans li{word-break:auto-phrase;overflow-wrap:normal;text-wrap:pretty;}
}
@media(max-width:760px){
  .gikai-sec .gikai-ttl{margin-left:auto;margin-right:auto;}
  .gikai-sec .qa-q,.gikai-sec .gikai-sub{word-break:auto-phrase;overflow-wrap:normal;text-wrap:pretty;}
}

/* =========================================================
   スマホ：ページ全体の改行位置を文節の切れ目にそろえる
   （単語の途中で割れないように）
   ========================================================= */
@media(max-width:760px){
  section p, section h2, section h3, section li, section dd, section dt,
  section figcaption, section .t, section span,
  .obi-txt span, .ft-info span, .ft-name, .copy{
    word-break:auto-phrase;
    overflow-wrap:break-word;
    text-wrap:pretty;
  }
}

/* =========================================================
   スマホ：文章量の多い本文は中央揃えをやめ、
   左右いっぱいに自然に流す
   ========================================================= */
@media(max-width:760px){
  .rx-redesign .rx-about-copy>p,
  .rx-redesign .rx-town-copy>p,
  .rx-redesign .rx-vision-heading>p,
  .pf-sec .omoi-p,
  .gikai-sec .qa-txt,
  .gikai-sec .ans li,
  .greet p,
  .steps .step p,
  .st p,
  .act p{
    text-align:left;
    word-break:normal;
    overflow-wrap:break-word;
    text-wrap:wrap;
  }
}
/* スマホ：本文中の手動改行は無効にして自然に流す */
@media(max-width:760px){
  .rx-redesign .rx-about-copy>p br,
  .rx-redesign .rx-town-copy>p:last-child br,
  .pf-sec .omoi-p br,
  .gikai-sec .qa-txt br,
  .greet p br,
  .steps .step p br,
  .st p br,
  .act p br{
    display:none;
  }
}
/* 強調コピーの改行は残す（カタチの前で折る） */
@media(max-width:760px){
  .rx-redesign .rx-about-copy>p.rx-promise br{display:inline;}
  .rx-redesign .rx-about-copy>p.rx-promise{text-align:center;}
}
/* めざす中村区のリード1行はセンター揃えのまま */
@media(max-width:760px){
  .rx-redesign .rx-town-copy>p.rx-town-lead{text-align:center;}
  .rx-redesign .rx-town-copy>p.rx-town-lead br{display:inline;}
}
/* 政策02のサブコピー：スマホは「家族も、」で改行 */
.pol-br{display:none;}
@media(max-width:760px){.pol-br{display:inline;}}
/* ストーリー見出し：スマホでも1行に */
@media(max-width:760px){
  .h2-br{display:none;}
  #profile-story .h2 span{white-space:nowrap;font-size:min(26px,7.2vw);}
}
/* スマホ：4コマ目の人物写真はイラストより控えめなサイズに */
@media(max-width:760px){
  .st img.st-photo{width:72%;margin-inline:auto;}
}
/* 「実際にいただいたご相談と、」で改行（スマホ） */
.koe-br{display:none;}
@media(max-width:760px){.koe-br{display:inline;}}
/* 「あなたの声が、／まちを変えました」各行が1行に収まるサイズに */
@media(max-width:760px){
  .koe-ttl{font-size:min(28px,7vw);line-height:1.45;white-space:nowrap;}
  .koe-lead{text-align:center;}
}
/* 質問の見出しは指定位置で改行（スマホ） */
@media(max-width:760px){
  .gikai-sec .qa-q .qa-br{display:inline;}
}
/* 想いのリード：スマホは「受け止め、」「安心を守り、」で改行 */
.omoi-br2{display:none;}
@media(max-width:760px){
  .pf-sec .omoi-br{display:inline;}
  .omoi-br2{display:inline;}
}

/* 実績：4点構成に */
.ach{grid-template-columns:repeat(4,1fr);max-width:900px;margin-inline:auto;}
@media(max-width:1000px){.ach{grid-template-columns:repeat(2,1fr);row-gap:22px;}}
@media(max-width:760px){.ach{grid-template-columns:repeat(2,1fr);}}

/* 後援会：ボタンが1つになったので中央に */
.kk-btns .btn{flex:0 1 340px;}

/* SNSアイコンを各社の公式素材（画像）に差し替え */
.sns a{background:none !important;width:34px;height:34px;padding:0;overflow:visible;}
.sns a img{width:100%;height:100%;object-fit:contain;display:block;}
.sns-cards .sc-ic img{width:58px;height:58px;max-height:none;object-fit:contain;}
.sns-cards .sc-ic.wide img{width:auto;height:auto;max-height:40px;max-width:100%;}

/* スマホ：画面下に固定のCTAボタン（木村LPと同仕様） */
.fixcta{display:none;}
@media(max-width:860px){
  .fixcta{display:grid;grid-template-columns:1fr 1fr;gap:9px;
    position:fixed;left:0;right:0;bottom:0;z-index:99;
    background:rgba(255,255,255,.96);padding:9px 12px;
    box-shadow:0 -3px 14px rgba(0,0,0,.12);
    padding-bottom:calc(9px + env(safe-area-inset-bottom));}
  .fixcta a{display:flex;align-items:center;justify-content:center;gap:7px;
    font-family:"Zen Maru Gothic",sans-serif;font-weight:700;font-size:14.5px;
    padding:13px 6px;border-radius:999px;text-decoration:none;}
  .fixcta svg{width:18px;height:18px;flex:0 0 18px;}
  .fixcta .a{background:var(--or);color:#fff;}
  .fixcta .b{background:#fff;color:var(--or);border:2px solid var(--or);}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom));}
}
/* スマホ：FV下のボタンは固定CTAに任せて非表示（木村LPと同仕様） */
@media(max-width:860px){
  .fv .rx-top{display:none;}
}

/* PCナビ：木村LPと同一仕様にそろえる */
.gnav a{color:var(--ink);}

/* ===== PCナビ：木村LPとブレークポイントをそろえる =====
   木村LPはロゴ縮小が720px以下。おか千恵は860px以下だったため、
   721〜860pxでヘッダーの高さ・ロゴサイズがズレていた。 */
@media(min-width:721px) and (max-width:860px){
  .hd-logo img{height:62px;}
  .hd-in{column-gap:18px;row-gap:8px;padding:10px 0 0;}
  .hd-cta{padding:10px 20px;border-radius:12px;}
  .hd-cta span{display:inline;}
}
/* ナビ項目の文字サイズも木村LPと同一に */
@media(max-width:860px){
  .hd .gnav a{font-size:15px;}
}

/* =========================================================
   フッター：木村LPと同じ並び・見せ方
   （左：事務所名／中央：連絡先／右：白ボックスの公明党ロゴ）
   ========================================================= */
.ft{padding:44px 0 0;}
.ft-in{width:min(1120px,92%);margin-inline:auto;
  display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center;
  justify-content:initial;padding-bottom:36px;}
.ft-name{font-size:27px;line-height:1.45;white-space:normal;}
.ft-name small{display:block;font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:500;font-size:13.5px;margin-top:8px;letter-spacing:.04em;}
.ft-info{display:grid;gap:12px;font-size:15.5px;}
.ft-info svg{width:19px;height:19px;margin-top:4px;}
.ft-logo{background:#fff;border-radius:14px;padding:14px 22px;
  display:flex;align-items:center;}
.ft-logo img{height:40px;width:auto;filter:none;}
.copy{font-size:13.5px;padding:15px 0;}
@media(max-width:860px){
  .ft-in{grid-template-columns:1fr;text-align:center;justify-items:center;gap:18px;}
  .ft-info{text-align:left;}
}

/* フッター：肩書きを小さく、氏名を大きく目立たせる */
.ft-name{font-size:36px;letter-spacing:.02em;}
.ft-name .ft-role{display:block;font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:500;font-size:15px;letter-spacing:.08em;margin-bottom:2px;opacity:.95;}

/* フッター：「名古屋市会議員 おか千恵」を1行でセンター、その下にメールアドレス */
.ft-in{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px;}
.ft-name{font-size:36px;line-height:1.3;}
.ft-name .ft-role{display:inline;font-size:20px;margin:0 14px 0 0;vertical-align:baseline;}
.ft-info{justify-items:center;}
.ft-info div{justify-content:center;}
@media(max-width:860px){
  .ft-info{text-align:center;}
}
@media(max-width:520px){
  .ft-name{font-size:30px;}
  .ft-name .ft-role{font-size:17px;margin-right:10px;}
}

/* フッター：公明党ロゴを左、その右に名前＋メアドを左揃え。
   ロゴ＋文字のかたまりをサイトの左右センターに */
@media(min-width:761px){
  .ft-in{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;
    justify-content:center;align-items:center;justify-items:start;
    text-align:left;column-gap:30px;row-gap:12px;}
  .ft-logo{grid-column:1;grid-row:1/3;align-self:center;}
  .ft-name{grid-column:2;grid-row:1;}
  .ft-info{grid-column:2;grid-row:2;justify-items:start;}
  .ft-info div{justify-content:flex-start;}
}

/* フッター：ロゴの白ボックスの天地を、名前＋メアドのかたまりとそろえる */
@media(min-width:761px){
  .ft-logo{align-self:stretch;justify-content:center;}
}
