:root{--plum:#7F2A8C;--deep:#4A1458;--lav:#CCA3D5;--lilac:#F1E0F2;--coral:#F68290;--sun:#FFF200;--sky:#7CA7DE;
--bg:#FFFFF7;--surface:#FFFFFF;--fg:#2B1633;--muted:#5E4A66;--alt:#F1E0F2;--acc:#7F2A8C;
--font:"BIZ UDPGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;
--disp:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:17px;line-height:1.9;letter-spacing:.04em;overflow-x:hidden}
h1,h2,h3,p{margin:0}
h1,h2,h3,.huge,.stamp,.kick,.sh,.area h3,.pr b{font-family:var(--disp);font-weight:900}
.no1{font-family:"Barlow Condensed","Noto Sans JP",sans-serif;font-style:italic;font-weight:800;letter-spacing:.02em}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.in{max-width:1180px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* 名前（常に左上） */
.chip-name{position:fixed;z-index:40;left:max(16px,env(safe-area-inset-left,0px));top:max(14px,env(safe-area-inset-top,0px));background:#fff;color:var(--plum);padding:12px 24px 12px 20px;text-decoration:none;font-family:var(--disp);font-weight:900;font-size:36px;letter-spacing:.1em;line-height:1.15;border-left:8px solid var(--sun);box-shadow:0 2px 12px rgba(79,20,88,.18)}
.chip-name small{display:block;font-family:var(--font);font-weight:400;font-size:13px;letter-spacing:.06em;color:#5A2466}
.chip-name .chip-logo{height:44px;width:auto}

/* 右端の縦メニュー（PC） */
.side{position:fixed;z-index:25;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px}
.side a{flex:none;min-height:70px;display:flex;align-items:center;justify-content:center;text-orientation:upright;line-height:1.5;writing-mode:vertical-rl;padding:12px 11px;background:#fff;color:var(--plum);border:1px solid var(--lav);border-right:0;border-radius:10px 0 0 10px;font-weight:900;font-size:16px;letter-spacing:.28em;text-decoration:none;box-shadow:0 2px 10px rgba(79,20,88,.12);font-family:var(--disp)}
.side a:hover{background:#F6E9F7}
.side a[aria-current=page]{background:var(--plum);color:#fff;box-shadow:inset 6px 0 0 var(--sun)}
.burger,.sheet{display:none}

/* 左：写真 / 右：内容 */
.stage{display:grid;grid-template-columns:1fr 1fr;position:relative}
.photo{position:sticky;top:0;align-self:start;height:clamp(560px,100svh,920px);background:var(--lav);overflow:hidden}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(127,42,140,.45),rgba(127,42,140,.1) 50%,rgba(127,42,140,.55))}
.photo.cut img{inset:auto;left:50%;top:6%;bottom:auto;transform:translateX(-50%);width:auto;height:130%;max-width:none;object-fit:contain;z-index:1}
.photo .big{position:absolute;left:50%;top:6%;transform:translateX(-50%);font-family:var(--disp);font-size:clamp(150px,19vw,290px);line-height:1;font-weight:900;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.7);white-space:nowrap;z-index:0}
.photo .tag{position:absolute;left:max(16px,env(safe-area-inset-left,0px));bottom:24px;z-index:3;margin:0;display:flex;align-items:flex-end;gap:.4em;color:var(--plum);line-height:1;background:#fff;padding:14px 14px 7px 12px;border-left:6px solid var(--sun);box-shadow:0 2px 12px rgba(79,20,88,.18)}
.photo .tag .tp{font-family:var(--disp);font-weight:900;font-size:clamp(11px,1.1vw,16px);letter-spacing:.08em;white-space:nowrap;padding-bottom:.1em}
.photo .tag .tc{display:flex;flex-direction:column;align-items:flex-start}
.photo .tag .ts{font-family:var(--disp);font-weight:900;font-size:clamp(9px,.85vw,12px);letter-spacing:.12em;line-height:1;margin-bottom:-.12em;margin-left:.35em;position:relative;z-index:1;text-shadow:0 0 8px rgba(255,255,255,.7)}
.photo .tag .tb{font-family:"Barlow Condensed","Noto Sans JP",sans-serif;font-style:italic;font-weight:800;font-size:clamp(31px,3.1vw,48px);letter-spacing:.01em;line-height:.82;color:var(--sun);-webkit-text-stroke:.05em var(--plum);paint-order:stroke fill;padding:0 .08em 0 0}
.photo .tag .tb .one{display:inline-block;transform:scaleY(1.3);transform-origin:50% 86%;margin-left:.04em}
.photo .tag-img{background:none;border:0;padding:0}
.photo .tag-img img{position:static;width:auto;height:64px;object-fit:contain}
.photo .party{position:absolute;left:0;top:0;z-index:3;background:none;color:var(--deep);font-weight:900;font-size:16px;letter-spacing:.1em;padding:0;text-shadow:0 0 10px rgba(255,255,255,.55)}
.photo .party img,.photo.cut .party img{position:static;inset:auto;transform:none;max-width:none;object-fit:contain;z-index:auto;width:auto;height:clamp(84px,8.5vw,128px)}
@media (max-width:860px){.photo .party img,.photo.cut .party img{height:64px}}
.text{background:var(--bg)}
.ch{min-height:clamp(560px,100svh,920px);padding:64px clamp(20px,4vw,64px);padding-right:clamp(64px,7vw,96px);display:flex;flex-direction:column;justify-content:center;gap:22px}
.ch.plain{min-height:100svh;justify-content:flex-start;gap:20px}
.kick{font-weight:700;letter-spacing:.14em;font-size:clamp(18px,1.7vw,26px);line-height:1.7;color:var(--acc)}
.huge{font-size:clamp(30px,3.7vw,54px);line-height:1.35;letter-spacing:.01em;text-wrap:balance}
.ch.plain .huge{font-size:clamp(34px,4.2vw,56px)}
.ch.plain .huge.sm{font-size:clamp(26px,3vw,40px);line-height:1.45}
.huge em{font-style:normal;background:linear-gradient(transparent 62%,var(--sun) 62%)}
.lede,.lede-hero{max-width:34em;font-weight:500;color:var(--muted)}
.crumb{margin:0;align-self:flex-start;font-family:inherit;font-weight:700;font-size:15px;line-height:1.5;letter-spacing:inherit;color:var(--plum)}
.crumb a,.crumb .here{color:var(--plum);text-decoration:none;font:inherit}
.crumb .here{font-weight:700;-webkit-text-stroke:.35px currentColor}
.crumb .sep{color:var(--lav);font-weight:400;margin:0 .3em}
.blocks{display:grid;gap:20px;margin-top:6px}

/* ブロック */
.rt p{margin:0 0 1em}.rt ul,.rt ol{margin:0 0 1em;padding-left:1.3em}.rt a{color:var(--plum)}
.sh{margin:28px 0 0;font-size:22px;color:var(--plum)}
.bimg{margin:0}.bimg img{border-radius:10px;width:100%}.bimg figcaption{font-size:14px;color:var(--muted);margin-top:6px}
.bline{border:0;border-top:1px solid var(--lav);width:100%;margin:8px 0}
.pr{display:grid;grid-template-columns:5.5em 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--lav)}
.pr b{font-size:21px;color:var(--plum);line-height:1.7}.pr b:empty{display:none}.pr:has(b:empty){grid-template-columns:1fr}
.pr p{font-size:16.5px;line-height:1.95}.pr p+p{margin-top:1em}
.area{padding:22px 0;border-bottom:1px solid var(--lav)}.area h3{font-size:24px;color:var(--plum)}.area .aim{font-weight:700;margin-top:4px}.area ul{margin:12px 0 0;padding-left:1.3em;line-height:1.9}
.cards{display:grid;gap:26px;margin-top:8px}.cards.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}
.card{position:relative;background:var(--surface);border:1px solid var(--lav);border-radius:12px;padding:30px 22px 20px;display:grid;gap:10px;align-content:start}
.stamp{position:absolute;top:-12px;right:14px;font-size:14px;padding:2px 14px;border-radius:6px;letter-spacing:.06em;transform:rotate(-2deg)}
.stamp.real{background:var(--coral);color:#fff}.stamp.pend{background:var(--sun);color:var(--deep)}
.voice{background:#DCE8F7;color:#1C3A66;padding:14px 18px;border-radius:18px;font-weight:900;line-height:1.55;position:relative}
.voice::after{content:"";position:absolute;left:28px;bottom:-9px;width:18px;height:18px;background:inherit;transform:rotate(45deg);border-radius:3px}
.label{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--muted);margin-top:8px}
.card .res{font-size:16px;line-height:1.85}
.chip{background:var(--lilac);color:#5A2466;border-radius:999px;padding:1px 12px;font-size:13px;font-weight:700}
.heard{list-style:none;margin:0;padding:0 0 10px;display:grid;gap:26px;justify-items:start}
.heard li{position:relative;background:#DCE8F7;color:#1C3A66;padding:14px 22px;border-radius:22px;font-weight:900;font-size:16px;line-height:1.6;max-width:min(100%,34em);text-wrap:pretty}
.heard li::after{content:"";position:absolute;left:30px;bottom:-10px;width:20px;height:20px;background:inherit;transform:rotate(45deg);border-radius:4px}
.heard li:nth-child(even){justify-self:end}
.heard li:nth-child(even)::after{left:auto;right:30px}

/* 応援する（開閉ボタン） */
.acc{display:grid;gap:14px;max-width:560px}.acc details{border:0;background:none}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;border-radius:999px;font-weight:700;font-size:18px;letter-spacing:.06em;background:var(--plum);color:#fff;max-width:340px}
.acc summary::-webkit-details-marker{display:none}
.acc details[open] summary{background:var(--sun);color:var(--deep);outline:3px solid var(--plum);outline-offset:3px}
.accb{margin-top:14px;padding:20px 22px 24px;display:grid;gap:14px;background:#fff;border:1px solid var(--lav);border-radius:12px}
.accb p+p{margin-top:.8em}

/* フォーム */
.frm{display:grid;gap:16px;max-width:520px}
.frm label{display:grid;gap:6px;font-weight:700}
.frm input,.frm textarea{font:inherit;padding:12px;border:1px solid var(--lav);border-radius:8px;background:var(--surface);color:var(--fg)}
.frm .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{display:inline-flex;align-items:center;justify-self:start;min-height:56px;padding:0 30px;border-radius:999px;font:inherit;font-weight:900;font-size:18px;border:0;cursor:pointer;background:var(--plum);color:#fff;text-decoration:none}
.ok{background:#E8F4E8;color:#1E4D2B;padding:14px 18px;border-radius:12px;font-weight:700}
.err{background:#FDE7E9;color:#8A1C2B;padding:12px 16px;border-radius:10px;font-weight:700}

/* 活動報告（ブログ） */
.phg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:26px 22px;margin-top:8px}
.postcard{text-decoration:none;display:block}
.postcard img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:10px}
.postcard p{font-weight:700;font-size:16px;margin-top:4px;line-height:1.65}
.pdate{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.1em;display:block;margin-top:10px}
.pager{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:36px;padding-top:16px;border-top:1px solid var(--lav);font-weight:700}
.pager a{color:var(--plum);text-decoration:none;border-bottom:2px solid var(--plum)}
.link{font-weight:700;color:var(--plum);border-bottom:2px solid currentColor;text-decoration:none}

footer{background:var(--plum);color:#fff;padding-block:28px;font-size:14px}
footer .in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.fsns{display:flex;gap:10px}
.fsns a,.sheet .sns a{width:44px;height:44px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;color:#fff;text-decoration:none}
.gl{font-family:var(--disp);font-weight:900;font-size:20px;line-height:1}.gl.s{font-size:10px;letter-spacing:0}

@media (max-width:860px){
.burger{display:grid;place-items:center;position:fixed;z-index:60;right:max(12px,env(safe-area-inset-right,0px));top:max(12px,env(safe-area-inset-top,0px));width:48px;height:48px;border:0;border-radius:8px;background:#fff;color:var(--plum);box-shadow:0 2px 12px rgba(79,20,88,.22);cursor:pointer}
.burger i,.burger i::before,.burger i::after{display:block;width:22px;height:3px;background:currentColor;border-radius:2px;content:"";position:relative;transition:transform .2s,opacity .2s}
.burger i::before{position:absolute;top:-7px}.burger i::after{position:absolute;top:7px}
.burger[aria-expanded=true] i{background:transparent}.burger[aria-expanded=true] i::before{transform:translateY(7px) rotate(45deg)}.burger[aria-expanded=true] i::after{transform:translateY(-7px) rotate(-45deg)}
.sheet{position:fixed;z-index:55;inset:0;background:var(--plum);padding:88px max(24px,env(safe-area-inset-right,0px)) 32px max(24px,env(safe-area-inset-left,0px));flex-direction:column;gap:2px;overflow-y:auto}
.sheet[hidden]{display:none}.sheet:not([hidden]){display:flex}
.sheet>a{color:#fff;text-decoration:none;font-family:var(--disp);font-weight:900;font-size:24px;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.28);letter-spacing:.08em}
.sheet>a[aria-current=page]{color:var(--sun)}
.sheet .sns{display:flex;flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:28px}.sheet .sns a{width:52px;height:52px}
.chip-name{font-size:24px;padding:8px 14px;border-left-width:6px}.chip-name small{display:none}.chip-name .chip-logo{height:30px}
.side{display:none}
.stage{grid-template-columns:1fr}
.photo{position:relative;height:clamp(420px,92vw,600px)}.sub .photo{height:clamp(220px,52vw,360px)}
.photo.cut img{height:120%;top:6%}.photo .big{font-size:34vw}
.ch,.ch.plain{min-height:0;padding:44px 16px}
.is-home .ch{padding-bottom:56px}
.pr{grid-template-columns:4.6em 1fr;gap:12px}
}

/* 写真の手前の肩書き＋名前（トップ） */
.heroname{--fs:clamp(60px,min(12vw,17.5vh),188px);position:absolute;left:max(24px,3vw);bottom:clamp(76px,10vh,116px);z-index:3;color:#751a7b;pointer-events:none}
.heroname .ht{display:block;font-family:var(--disp);font-weight:900;font-size:clamp(21px,min(3.4vw,5.4vh),46px);letter-spacing:.14em;margin-bottom:calc(var(--fs) * -.1);text-shadow:0 0 12px rgba(255,255,255,.7)}
@media (max-width:860px){.heroname{--fs:clamp(56px,20vw,112px);left:16px;bottom:88px}.is-sub .heroname{--fs:clamp(44px,13vw,96px)}.is-sub .photo.has-hero.cut img{left:auto;right:3%;transform:none}.heroname .ht{font-size:clamp(18px,5.8vw,30px)}}

.heroname .hn{margin:0;line-height:0}
.hn-svg{display:block;width:calc(var(--fs) * 3.44);height:auto;overflow:visible}

/* キャッチコピー（実績ページ） */
.catch{margin:6px 0 4px;padding-bottom:18px;border-bottom:3px solid var(--plum);font-family:var(--disp);font-weight:900;font-size:clamp(22px,2.45vw,34px);line-height:1.55;color:var(--plum);letter-spacing:.03em}
.catch .hl{color:#fff;-webkit-text-stroke:.17em var(--plum);paint-order:stroke fill;filter:drop-shadow(.07em .07em 0 var(--sun));letter-spacing:.06em;margin-right:.05em;display:inline-block}
.catch .sm{font-size:.62em;display:inline-block;filter:drop-shadow(.09em .09em 0 var(--sun));margin-left:.15em}
/* ホームの補足文は、小さな文字(.kick)と同じ書体・太さ・大きさ・色 */
.lede-hero{max-width:none;font-family:var(--disp);font-weight:700;letter-spacing:.14em;font-size:clamp(18px,1.7vw,26px);line-height:1.7;color:var(--acc)}
.home-catch{border-bottom:0;padding-bottom:6px;margin:0 0 10px}
/* ホーム最上部：左下のタグと同じ形(背景なし・大きめ) */
.goal.tag{position:static;display:flex;align-items:flex-end;gap:.4em;margin:0 0 6px;padding:.5em 0 0;background:none;border:0;box-shadow:none;color:var(--plum);line-height:1}
.goal .tp{font-family:var(--disp);font-weight:900;font-size:clamp(18px,2vw,30px);letter-spacing:.08em;white-space:nowrap;padding-bottom:.1em}
.goal .tc{display:flex;flex-direction:column;align-items:flex-start}
.goal .ts{font-family:var(--disp);font-weight:900;font-size:clamp(12px,1.2vw,18px);letter-spacing:.12em;line-height:1;margin-bottom:-.12em;margin-left:.65em;position:relative;z-index:1}
.goal .tb{font-family:"Barlow Condensed","Noto Sans JP",sans-serif;font-style:italic;font-weight:800;font-size:clamp(60px,6.2vw,96px);letter-spacing:.01em;line-height:.82;color:var(--sun);-webkit-text-stroke:.05em var(--plum);paint-order:stroke fill;padding:0 .08em 0 0}
.goal .tb .one{display:inline-block;transform:scaleY(1.3);transform-origin:50% 86%;margin-left:.04em}
@media (max-width:860px){.goal .tp{font-size:clamp(15px,4.4vw,20px)}.goal .ts{font-size:clamp(11px,3vw,14px)}.goal .tb{font-size:clamp(54px,16vw,76px)}}
.goal .gb .one{display:inline-block;transform:scaleY(1.42);transform-origin:50% 86%;margin-left:.04em}
.goal{padding-top:.5em}

/* ホーム：党名/ロゴを名前の札の上へ。札は下にずらす */
.is-home{--pl:clamp(84px,8.5vw,128px)}
@media (max-width:860px){.is-home{--pl:64px}}
.photo .party:not(:has(img)){padding:20px 0 0 17px}
/* タブレット・スマホでは左上の名前の札を出さない */
@media (max-width:1024px){.chip-name{display:none}}

/* No.1への挑戦 */
.n1{padding:26px 0 28px;border-bottom:1px solid var(--lav);display:grid;gap:12px}
.n1h{margin:0;display:flex;align-items:flex-end;flex-wrap:wrap;gap:.35em;line-height:1;color:var(--plum)}
.n1l{font-family:var(--disp);font-weight:900;font-size:clamp(24px,2.6vw,36px);letter-spacing:.06em;padding-bottom:.08em}
.n1b{font-family:"Barlow Condensed","Noto Sans JP",sans-serif;font-style:italic;font-weight:800;font-size:clamp(46px,4.8vw,70px);line-height:.82;color:var(--sun);-webkit-text-stroke:.05em var(--plum);paint-order:stroke fill;padding:.2em .08em 0 0}
.n1b .one{display:inline-block;transform:scaleY(1.3);transform-origin:50% 86%;margin-left:.04em}
.n1t{display:inline-block;justify-self:start;background:var(--sun);color:var(--deep);font-weight:900;padding:.3em .9em;line-height:1.6;margin:0}
.n1 ul{margin:2px 0 0;padding-left:1.3em;line-height:1.9}
.n1n{font-size:13px;color:var(--muted);margin:0}

/* 右側のメニュー：横書きの丸いボタン(PCのみ)。参考：幅を広くとって読みやすく */
@media (min-width:861px){
  :root{--rail:clamp(108px,8.4vw,128px);--btn:clamp(78px,min(6.4vw,10.4vh),96px)}
  .side{right:clamp(10px,1.2vw,20px);top:50%;transform:translateY(-50%);gap:clamp(6px,1.2vh,12px);align-items:center;max-height:96vh}
  .side a,.side a.is-no1{writing-mode:horizontal-tb;text-orientation:mixed;width:var(--btn);height:var(--btn);min-height:0;padding:2px;border:2px solid var(--lav);border-radius:50%;box-shadow:0 2px 10px rgba(79,20,88,.14);font-size:clamp(11px,.92vw,13.5px);letter-spacing:0;line-height:1.25;text-align:center;text-wrap:balance;word-break:keep-all}
  .side a:hover{background:#F6E9F7;border-color:var(--plum)}
  .side a[aria-current=page]{background:var(--plum);color:#fff;border-color:var(--plum);box-shadow:0 0 0 3px var(--sun),0 2px 10px rgba(79,20,88,.18)}
  .ch{padding-right:calc(var(--rail) + 12px)}
  .side a.is-no1 .n1m{font-family:"Barlow Condensed","Noto Sans JP",sans-serif;font-style:italic;font-weight:800;font-size:clamp(24px,2.3vw,34px);line-height:1;color:var(--sun);-webkit-text-stroke:.07em var(--plum);paint-order:stroke fill;white-space:nowrap}
  .side a.is-no1 .one{display:inline-block;transform:scaleY(1.25);transform-origin:50% 86%;margin-left:.03em}
  .side a.is-no1[aria-current=page] .n1m{-webkit-text-stroke:0}
}

/* 左上の名前：背景・黄色い線なし（画像だけ置く） */
.chip-name,.chip-name:hover{background:none;border:0;box-shadow:none;padding:0}
.chip-name .chip-logo{width:clamp(90px,9.6vw,136px);height:auto}
.chip-name small{display:none}
.chip-name .chip-logo{filter:drop-shadow(0 0 6px rgba(255,255,255,.75)) drop-shadow(0 0 2px rgba(255,255,255,.6))}
.bvid{aspect-ratio:16/9;width:100%}.bvid iframe{width:100%;height:100%;border:0;border-radius:10px}

/* 活動報告：年ボタン・もっと見る */
.yrs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.yrs button,.more{font:inherit;font-weight:700;cursor:pointer;border:2px solid var(--lav);background:#fff;color:var(--plum);border-radius:999px;padding:6px 16px;font-size:15px}
.yrs button:hover,.more:hover{border-color:var(--plum);background:#F6E9F7}
.yrs button.on{background:var(--plum);border-color:var(--plum);color:#fff}
.more{display:block;margin:28px auto 8px;padding:12px 40px;font-size:16px}
.postcard[hidden],.more[hidden]{display:none}

/* 記事の前後ナビ */
.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px;padding-top:20px;border-top:1px solid var(--lav)}
.pn a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:2px solid var(--lav);border-radius:14px;text-decoration:none;color:var(--ink,inherit);min-width:0}
.pn a:hover{border-color:var(--plum);background:#F6E9F7}
.pn small{font-weight:700;font-size:13px;color:var(--plum)}
.pn b{font-size:15px;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pn-r{text-align:right}
.pn-all{text-align:center;margin:18px 0 0}.pn-all a{color:var(--plum);font-weight:700}
@media (max-width:520px){.pn{grid-template-columns:1fr}.pn-r{text-align:left}}

/* ブログ記事のタイトル：No.1ページの見出し文字(.n1l)と同じ・紫 */
.ch.plain h1.huge.sm{font-family:var(--disp);font-weight:900;font-size:clamp(24px,2.6vw,36px);letter-spacing:.06em;line-height:1.5;color:var(--fg)}

/* 長いURLや英数字の連続で画面が横にずれないように */
.ch,.text,.blocks,.rt{min-width:0}
.rt,.blocks,.postcard p,.pn b,.ch h1,.ch h2,.ch h3{overflow-wrap:anywhere;word-break:normal}
.rt a{overflow-wrap:anywhere;word-break:break-all}
.blocks img,.blocks iframe,.blocks video{max-width:100%}
.photo.no-wash::after{display:none}

/* スマホのメニュー：小さめ・上づめで、スクロールなしで全部見える */
@media (max-width:860px){
  .sheet{padding-top:64px;padding-bottom:16px;gap:0}
  .sheet>a{font-size:17px;line-height:1.5;padding:11px 4px;letter-spacing:.06em}
  .sheet .sns{margin-top:0;padding-top:20px;gap:12px}.sheet .sns a{width:44px;height:44px}
}

/* スマホ：トップ以外の上の写真を30%高く */
@media (max-width:860px){.sub .photo{height:clamp(286px,67.6vw,468px)}}

/* SNSアイコン：各サービスのオリジナルの色 */
.fsns a[data-p],.sheet .sns a[data-p]{color:#fff}
[data-p=x]{background:#000}
[data-p=instagram]{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
[data-p=facebook]{background:#1877F2}
[data-p=line]{background:#06C755}
[data-p=youtube]{background:#FF0000}
[data-p=tiktok]{background:#000}
[data-p=threads]{background:#000}
[data-p=note]{background:#41C9B4}

/* フッター左：政党ロゴ＋SNS */
.fl{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.fparty{background:none;padding:0;display:inline-flex;align-items:center;line-height:1}
.fparty img{display:block;height:clamp(80px,10vw,112px);width:auto;max-width:none;filter:brightness(0) invert(1)}
.fparty.tx{color:#fff;font-weight:900;font-size:clamp(30px,3.6vw,44px);letter-spacing:.06em}

/* フッターの左端を、左上のロゴ(16px)にそろえる */
footer .in{max-width:none;margin-inline:0}

/* ロゴが大きくても、フッターの高さは変えない（上下にはみ出させる） */
.fparty{height:44px}
@media (max-width:620px){.fparty{height:auto}}

/* 左端の位置合わせは、ページ下のスクリプトが画像の透明な余白を取り除いて行う（ここで二重にずらさない） */
.fparty{text-decoration:none;color:inherit}.fparty:hover{opacity:.85}
.copy{font-size:11px;letter-spacing:.03em;opacity:.9}

/* No.1ページ：各分野の写真（黄色い帯の下） */
.n1p{margin:14px 0 4px}
.n1p img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 35%;border-radius:10px}

/* 主要政策：No.1ページと同じ見せ方（紫の大きな見出し＋黄色い帯） */
.area{padding:26px 0 28px;display:grid;gap:12px}
.area h3{margin:0;font-size:clamp(24px,2.6vw,36px);letter-spacing:.06em;line-height:1.3;color:var(--plum)}
.area .aim{display:inline-block;justify-self:start;background:var(--sun);color:var(--deep);font-weight:900;padding:.3em .9em;line-height:1.6;margin:0}
.area ul{margin:2px 0 0;padding-left:1.3em;line-height:1.9;font-size:17px}
.area li+li{margin-top:.15em}
.st{display:inline-block;font-size:.76em;font-weight:700;letter-spacing:.04em;line-height:1.7;padding:0 .7em;margin-left:.6em;border-radius:999px;background:var(--lilac);color:var(--deep);vertical-align:.08em}
.st.ok{background:var(--plum);color:#fff}

/* 応援する：登録の選び方・寄付フォーム */
.accb h4{font-size:17px;font-weight:900;color:var(--plum);margin:.9em 0 .2em;letter-spacing:.04em}
.accb h4:first-child{margin-top:0}
.accb ul{margin:.2em 0 .4em 1.2em;list-style:disc;display:grid;gap:.3em}
.opts{display:grid;gap:12px;margin-top:6px}
.acc .opts .btn{width:100%;max-width:340px;justify-content:center;justify-self:start;box-sizing:border-box}
.btn.line{background:#06C755;color:#fff}
.acc .opts details.sub{border:0}
.acc .opts details.sub summary.btn{background:var(--plum);color:#fff;outline:0;max-width:340px;cursor:pointer;list-style:none}
.acc .opts details.sub[open] summary.btn{background:var(--lilac);color:var(--deep);outline:2px solid var(--plum);outline-offset:2px}
.opts details.sub .frm{margin-top:14px}
.frm em{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--coral);border-radius:4px;padding:1px 6px;margin-left:8px;vertical-align:1px}
.frm select{font:inherit;padding:12px;border:1px solid var(--lav);border-radius:8px;background:var(--surface);color:var(--fg)}
.frm fieldset.chk{border:0;padding:0;margin:0;display:grid;gap:6px}
.frm fieldset.chk legend{font-weight:700;padding:0;margin-bottom:6px}
.frm label.inl{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.frm label.inl input{margin-top:5px;width:18px;height:18px;flex:none}
.frm label.inl small{display:block;margin-top:2px;color:var(--fg);opacity:.75;font-size:13px}
.frm .yen{display:flex;align-items:center;gap:8px}.frm .yen input{flex:1;min-width:0}.frm .yen b{font-weight:700}

/* 応援する：文字の読みやすさ調整 */
.acc summary{font-size:17px}
.accb{font-size:15.5px;line-height:1.85;letter-spacing:.02em;padding:22px 24px 26px;gap:12px}
.accb p+p{margin-top:.5em}
.accb h4{font-size:16px;margin:1.2em 0 .1em}
.accb ul{margin-left:1.1em;gap:.15em}
.accb .frm{gap:14px}
.accb .frm label,.accb .frm legend{font-size:14.5px;line-height:1.5}
.accb .frm input,.accb .frm textarea,.accb .frm select{font-size:16px}
.accb .frm label.inl{font-size:15px}
.accb .frm label.inl small{font-size:12.5px;line-height:1.6}
.accb .frm em{font-size:10.5px}
.accb .btn{font-size:16px;min-height:50px}
@media(max-width:860px){.accb{font-size:15px;padding:20px 18px 24px}}

/* スマホ：左上に名前のロゴを出す（固定しない。スクロールしたら一緒に流れて見えなくなる） */
@media (max-width:860px){
  .chip-name{display:block;position:absolute;left:max(14px,env(safe-area-inset-left,0px));top:max(14px,env(safe-area-inset-top,0px))}
  .chip-name .chip-logo{width:clamp(96px,27vw,128px);height:auto;filter:drop-shadow(0 0 7px rgba(255,255,255,.9)) drop-shadow(0 0 3px rgba(255,255,255,.8))}
}

/* わたしの視点 */
.n1v{margin:22px 0 6px;padding:16px 18px 14px;background:var(--lilac);border-left:6px solid var(--plum);border-radius:0 10px 10px 0}
.n1vh{margin:0 0 8px;font-weight:900;font-size:15px;letter-spacing:.12em;color:var(--plum)}
.n1v p{margin:.6em 0 0}
.n1v p:first-of-type{margin-top:0}

/* ホームの下に続くプロフィール */
.ch.plain.prof{min-height:0;justify-content:flex-start;scroll-margin-top:0}
.is-home .ch.hero:has(~ .prof){min-height:clamp(520px,80svh,820px);padding-bottom:36px}
.is-home .ch.prof{padding-top:24px}
@media (max-width:860px){.is-home .ch.hero:has(~ .prof){min-height:0;padding-bottom:28px}.is-home .ch.prof{padding-top:20px}}
