@charset "UTF-8";
:root{--red:#bd002d;--gold:#998000;--cream:#f7f7d9;--ink:#292525;--muted:#696060;--line:#e5ddd7;--green:#087d37}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.95;letter-spacing:.04em}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--red)}h1,h2,h3,h4,p,figure,blockquote{margin:0}h2{font-size:clamp(27px,3.2vw,40px);font-weight:800;line-height:1.55;letter-spacing:.09em;margin:12px 0 40px;text-align:center}h3,h4{line-height:1.6}p+p{margin-top:22px}[hidden]{display:none!important}.inner{width:min(1080px,88%);margin:auto}.narrow{max-width:820px}.section{padding:100px 0}.eyebrow{display:block;color:var(--gold);font-size:12px;letter-spacing:.2em;font-weight:700;text-align:center}.centered{text-align:center}.statement{font-size:clamp(26px,3.2vw,39px);font-weight:800;color:var(--red);margin-bottom:35px;line-height:1.7;letter-spacing:.07em}

.main-nav{position:sticky;top:0;z-index:46;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);padding:18px max(4%,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px}.main-nav a{text-decoration:none;font-weight:700;white-space:nowrap}.wordmark{font-size:24px;letter-spacing:.01em;color:var(--red);line-height:1.3}.wordmark span{font-size:22px}.main-nav>div{display:flex;gap:27px;font-size:13px}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:30px;background:none;border:0;padding:0;cursor:pointer;flex-shrink:0}.nav-toggle span{display:block;width:100%;height:2px;background:var(--ink);transition:transform .25s ease,opacity .25s ease}.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.vision{text-align:center;position:relative;overflow:hidden}.vision::before{content:'';position:absolute;inset:0;background-image:url('images/top-bg.jpg');background-size:cover;background-position:center;opacity:.14;pointer-events:none;z-index:0}.vision>*{position:relative;z-index:1}.vision p{line-height:2.4}.endorsement{background:#f8f7f2}.message-layout{display:grid;grid-template-columns:260px 1fr;gap:60px;max-width:970px;margin:auto;align-items:start}.endorser img{height:300px;width:100%;object-fit:contain;object-position:center bottom}.endorser p{border-top:1px solid var(--gold);padding-top:14px;font-size:13px;text-align:center}.endorser strong{font-size:25px;margin-right:6px}.message-copy h3{font-size:27px;color:var(--red);margin-bottom:23px}.message-copy p{font-size:15px;line-height:2.2}.movie{text-align:center;margin-top:60px}.movie h3{margin:15px}.movie iframe{width:100%;aspect-ratio:16/9;border:0}.policy-banner{background:var(--red);color:#fff;text-align:center;padding:70px 20px}.policy-banner .eyebrow{color:#fff;opacity:.8}.policy-banner h2{font-size:clamp(38px,6vw,68px);line-height:1.45;margin:20px 0 24px;letter-spacing:.13em}.banner-line{display:block;width:50px;height:2px;background:white;margin:auto}.vision-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.vision-copy{text-align:left}.vision-copy .eyebrow{text-align:left}.vision-copy .statement{text-align:left}.vision-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.fields-heading{text-align:center;margin:85px 0 40px}.fields-heading h3{font-size:35px;font-weight:800;color:var(--red);margin:12px 0}.fields-heading p{font-size:14px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:none;border:0;margin-bottom:45px}.field{background:#fff;padding:32px 18px;text-align:center;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.07)}.field h3{font-size:20px;color:var(--red);margin:5px 0 12px}.field p{font-size:14px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;position:relative;padding:24px 45px 24px 20px;font-weight:700;list-style:none;line-height:1.6}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:20px;top:24px;font-size:20px;color:var(--red)}details[open]>summary:after{content:'−'}.detail-body{padding:0 25px 28px;font-size:15px}.detail-body h3{color:var(--red);margin-bottom:15px}.profile{background:#f8f7f2}.profile-layout{display:grid;grid-template-columns:34% 1fr;gap:60px;align-items:start}.profile-picture{background:#fff}.profile-picture img{aspect-ratio:3/4;object-fit:cover;object-position:50% 33%}.profile-intro{font-size:23px;color:var(--red);font-weight:700;line-height:1.6;margin-bottom:20px}.profile-name{font-size:29px}.profile-name small{display:block;font-size:12px;color:var(--muted);font-weight:400;letter-spacing:.2em;margin-top:4px}.bio{display:grid;grid-template-columns:80px 1fr;gap:15px;font-size:14px;margin-top:28px}.bio dt{font-weight:700;color:#786800}.bio dd{margin:0}.roles summary{font-size:14px;padding-left:0}.roles ul{font-size:13px;padding-left:20px}.profile-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px}.profile-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px}.section-lead{margin-top:-15px;margin-bottom:45px}.activities{display:grid;grid-template-columns:1fr 1fr;gap:45px 35px}.activity img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px}.activity>div{padding-top:20px}.activity .eyebrow{text-align:left}.activity h3{font-size:22px;margin:8px 0 12px}.activity p{font-size:14px;line-height:2}.history{background:#f8f7f2}.history details{border-top:1px solid var(--line);border-bottom:0}.history details:last-child{border-bottom:1px solid var(--line)}.history summary{font-size:20px;padding-left:5px}.history summary>span{font-family:Georgia,serif;color:var(--gold);font-size:24px;margin-right:28px}.supporters{position:relative;overflow:hidden;background-color:var(--cream);background-image:repeating-linear-gradient(45deg,rgba(8,125,55,.07) 0 14px,transparent 14px 28px);text-align:center}.supporters-box{background:white;padding:45px 25px;border-top:4px solid var(--green);border-radius:18px}.supporters-box h3{font-size:27px;margin:20px 0}.supporters-box p{font-size:15px}.line-icon{display:inline-flex;justify-content:center;align-items:center;background:#06c755;border-radius:15px;color:white;width:65px;height:60px;font-size:17px;font-weight:800}.button{display:inline-block;padding:15px 30px;background:var(--red);color:white;text-decoration:none;font-weight:700;margin:25px 0 12px;border-radius:999px}.button:hover{color:white;filter:brightness(.9)}.line-button{background:var(--green);font-size:16px;padding:17px 38px;box-shadow:0 8px 20px rgba(8,125,55,.35);letter-spacing:.04em}
.donation-button{font-size:16px;padding:17px 38px;box-shadow:0 8px 20px rgba(189,0,45,.35);letter-spacing:.04em}
.line-cta,.cta-row{display:flex;align-items:center;justify-content:center;gap:26px;margin:25px 0 12px;flex-wrap:wrap}
.line-cta .button,.cta-row .button{margin:0}
.line-qr,.qr-code{width:120px;height:120px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 4px 12px rgba(0,0,0,.08)}.pending{display:block;background:#f5f5ef;border:1px solid #e1e1d7;border-radius:12px;padding:15px;margin:25px auto 15px!important;color:#5f5b50;font-size:14px;max-width:530px}.small{font-size:12px!important;color:var(--muted)}.blog-card{border:0;background:var(--red);color:#fff;display:flex;align-items:center;padding:32px;margin:40px 0 25px;gap:28px;border-radius:22px;box-shadow:0 12px 28px rgba(189,0,45,.28)}.blog-card .eyebrow{text-align:left;color:#ffd9df;opacity:1}.blog-card h3{font-size:22px;margin:8px 0;color:#fff}.blog-card p{font-size:13px;color:#ffe3e6}.blog-portrait{width:120px;height:120px;border-radius:50%;object-fit:cover;flex-shrink:0;border:4px solid rgba(255,255,255,.55)}.blog-button{display:inline-block;background:#fff;color:var(--red)!important;font-weight:800;padding:12px 30px;font-size:15px;box-shadow:none;margin:12px 0 0;border-radius:999px}.blog-button:hover{filter:brightness(.95)}.social-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.social-links>a{display:flex;align-items:center;justify-content:center;gap:10px;border:0;background:var(--red);color:#fff;padding:16px 14px;text-decoration:none;font-size:14px;font-weight:700;border-radius:999px;box-shadow:0 6px 16px rgba(189,0,45,.25)}.social-links>a:hover{filter:brightness(.93);color:#fff}.social-links svg{width:20px;height:20px;stroke:#fff;stroke-width:1.8;fill:none;flex-shrink:0}.social-links>a>span{display:none}.donation{background:#f8f7f2;text-align:center}.donation h2{margin-bottom:25px}footer{text-align:center;background:#fff8f9;color:var(--ink);padding:55px 20px 135px;font-size:13px}.footer-name{font-size:34px;font-weight:800;text-decoration:none}.copyright{font-size:11px;margin-top:30px}.floating-line{position:fixed;z-index:40;bottom:24px;left:24px;display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--green);color:var(--green);box-shadow:0 3px 16px #0002;border-radius:50px;padding:11px 22px 11px 12px;text-decoration:none;line-height:1.5;font-size:15px;font-weight:700}.floating-line:hover{color:var(--green);background:#effaf2}.floating-line small{display:block;font-size:10px}.floating-line{opacity:0;translate:0 16px;pointer-events:none;visibility:hidden;transition:opacity .45s ease,translate .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear .45s}.floating-line.is-shown{opacity:1;translate:0 0;pointer-events:auto;visibility:visible;transition-delay:0s}@media(prefers-reduced-motion:reduce){.floating-line{transition:none;translate:none}}.line-bubble{border-radius:50%;background:var(--green);color:white;width:40px;height:40px;display:grid;place-items:center;font-size:11px}.mobile{display:none}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;z-index:100;left:10px;top:10px;background:white;padding:12px}a:focus-visible,summary:focus-visible{outline:3px solid #145aa6;outline-offset:5px}@media(max-width:900px){.main-nav{padding:15px 5%;gap:15px;flex-wrap:wrap;justify-content:center}.main-nav>div{gap:22px}.message-layout{gap:30px;grid-template-columns:220px 1fr}.profile-layout{gap:30px}.social-links{gap:8px}.social-links>a{padding:14px 10px;font-size:12px;gap:7px}}@media(max-width:600px){body{font-size:14px;letter-spacing:.025em}.section{padding:65px 0}.inner{width:88%}.main-nav{padding:0;border:0;background:none}.wordmark{display:none}.nav-toggle{display:flex;position:fixed;top:16px;right:16px;z-index:50;width:46px;height:46px;background:#fff;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.18);justify-content:center;align-items:center;gap:5px}.nav-toggle span{width:20px}#nav-backdrop{display:none;position:fixed;inset:0;background:transparent;z-index:44}#nav-backdrop.is-open{display:block}#nav-menu{display:none;position:fixed;top:0;right:0;bottom:0;left:auto;width:min(78vw,300px);background:rgba(255,255,255,.9);backdrop-filter:blur(6px);flex-direction:column;padding:88px 28px 28px;box-shadow:-10px 0 30px rgba(0,0,0,.18);z-index:45;gap:0}#nav-menu.is-open{display:flex}#nav-menu a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:15px}#nav-menu a:last-child{border-bottom:0}.statement{font-size:27px}.vision p{line-height:2.2}.desktop{display:none}.mobile{display:inline}.message-layout{display:flex;flex-direction:column;gap:25px}.endorser{display:flex;align-items:end;justify-content:center;gap:20px;width:100%}.endorser img{width:145px;height:190px}.endorser p{border:0;text-align:left;padding-bottom:15px}.endorser strong{font-size:22px}.message-copy h3{font-size:24px;text-align:center}.message-copy p{font-size:14px}.policy-banner{padding:50px 20px}.policy-banner h2{font-size:43px}.vision-grid{grid-template-columns:1fr;gap:26px}.vision-image{order:-1}.fields-heading{margin:55px 0 28px}.fields-heading h3{font-size:29px}.fields{grid-template-columns:1fr 1fr}.field{padding:23px 10px}.field h3{font-size:17px}.field p{font-size:12px}.profile-layout{display:block}.profile-picture{width:58%;margin:0 auto 30px}.profile-intro{text-align:center;font-size:23px}.profile-name{text-align:center}.bio{font-size:13px;grid-template-columns:65px 1fr;gap:15px 10px}.profile-gallery{gap:8px;margin-top:35px;width:100%}.profile-gallery img{aspect-ratio:1/1}.activities{grid-template-columns:1fr;gap:35px}.activity h3{font-size:21px}.history summary{font-size:18px}.history summary>span{margin-right:20px}.supporters-box{padding:30px 18px}.supporters-box h3{font-size:23px}.supporters-box p{font-size:14px}.supporters h2{font-size:26px}.social-links{grid-template-columns:1fr}.social-links>a{font-size:16px;padding:17px 20px}.social-links svg{margin-right:8px}.blog-card{padding:23px}.blog-card h3{font-size:20px}.floating-line{bottom:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:94%;padding:9px 22px 9px 11px;box-shadow:0 3px 20px #0003;font-size:14px}.floating-line small{font-size:10px}.detail-body{padding:0 18px 22px;font-size:14px}h2{margin-bottom:32px}.donation p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.activity.reveal:nth-child(2),.profile-gallery img.reveal:nth-child(3n+2),.social-links>a.reveal:nth-child(2){transition-delay:.12s}
.activity.reveal:nth-child(3),.profile-gallery img.reveal:nth-child(3n),.social-links>a.reveal:nth-child(3){transition-delay:.24s}
.activity.reveal:nth-child(4){transition-delay:.36s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Red is used as a light structural accent, never as a large solid field. */

.policy-banner{position:relative;color:#fff;border-top:6px solid var(--gold);border-bottom:6px solid var(--gold)}
.policy-banner>*{position:relative}
.policy-banner .eyebrow{color:#fff;opacity:.85}
.policy-banner h2{color:#fff;font-weight:900}
.banner-line{background:var(--red)}
.profile-picture{border:3px solid rgba(189,0,45,.72);padding:7px;box-shadow:10px 10px 0 rgba(189,0,45,.08)}
.activity img{border-left:4px solid rgba(189,0,45,.72)}
footer{border-top:1px solid rgba(189,0,45,.16)}
.footer-name{color:var(--red)}
footer a:hover{color:var(--red)}

/* ===== v: TOP image hero / bolder type / stripes / generation illustrations / blog ===== */

.main-nav>div{font-size:17px;gap:34px}
.main-nav a{font-weight:800}
.wordmark{font-size:28px}.wordmark span{font-size:26px}
p{font-weight:600}
.policy-banner{background-color:#a10029;background-image:repeating-linear-gradient(60deg,#a10029 0 9px,#ab1c3f 9px 18px)}
.profile{background-color:#fff7f8;background-image:repeating-linear-gradient(60deg,rgba(189,0,45,.028) 0 10px,transparent 10px 20px)}
.blog-card{position:relative;overflow:visible;margin-top:100px;min-height:210px;padding:34px 30px 34px 405px;gap:0}
.blog-card .blog-portrait{position:absolute;left:14px;bottom:0;width:385px;height:auto;border:0;border-radius:0;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.25))}
.blog-card h3{font-size:clamp(22px,2.4vw,28px);font-weight:900;line-height:1.4}
.blog-card p{font-size:15px}
.social-links>a{box-shadow:0 6px 16px rgba(0,0,0,.18)}
.social-links>a:nth-child(1){background:linear-gradient(45deg,#f9a03f,#e1306c 50%,#833ab4)}
.social-links>a:nth-child(2){background:#1877f2}
.social-links>a:nth-child(3){background:#f00}
@media(max-width:600px){
#nav-menu a{font-size:20px;font-weight:800;padding:16px 4px}
.blog-card{margin-top:110px;padding:112px 22px 28px;text-align:center;min-height:0}
.blog-card .blog-portrait{left:50%;transform:translateX(-50%);bottom:auto;top:-95px;width:240px}
.blog-card .eyebrow{text-align:center}
}
.policy-banner .banner-line{background:#fff}

/* ===== 2026-10 修正 ===== */
/* ② 推薦メッセージ */
.message-copy h3{display:block;text-align:left;background:#1e64c8;color:#fff;font-weight:900;font-size:clamp(24px,2.8vw,32px);line-height:1.5;padding:10px 20px;border-radius:4px;margin-bottom:20px}
.message-copy blockquote p{font-size:17.5px;font-weight:600;color:var(--ink);line-height:2;text-indent:1em}
.message-copy h3>span{display:inline-block}
.history .detail-body h3>span,.policy-banner h2>span{display:inline-block}
.hl{color:#1e64c8;font-weight:800;background:linear-gradient(transparent 78%,#ffd400 78%);padding-bottom:1px}
/* ③ 私が一番実現したいこと */
.vision-copy .eyebrow{font-size:23px;font-weight:800;letter-spacing:.08em;line-height:1.5}
/* ⑤ 政策 */
.fields-heading .eyebrow{font-size:30px;font-weight:800;letter-spacing:.08em;line-height:1.4}
.fields-heading{margin-top:70px}
.policy-principles{background:#faf9f5;border-radius:14px;padding:40px 32px;margin-top:12px;text-align:center}
.policy-principles>h3{font-size:24px;font-weight:800;margin-bottom:14px}
.policy-principles>p{font-size:15px;max-width:44em;margin:0 auto;text-align:left;text-wrap:pretty}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}
.principle{background:#fff;padding:28px 18px;text-align:center;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.07)}
.principle h4{font-size:22px;font-weight:800;color:var(--red);margin-bottom:8px}
.principle p{font-size:14px;line-height:1.8;text-wrap:balance}
/* ⑦ 志を立てるまで：写真 */
.history .detail-body{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:center}
.history-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.history-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;border:1px solid var(--line)}
.history-photos img[src$="history3-1.jpg"]{object-position:50% 40%}
@media(max-width:900px){.history .detail-body{grid-template-columns:1fr 260px;gap:24px}}
@media(max-width:600px){
.message-copy h3{font-size:20px;padding:10px 16px}
.policy-banner h2{font-size:clamp(28px,9vw,40px);letter-spacing:.06em}
.message-copy blockquote p{font-size:16px}
.vision-copy .eyebrow{font-size:18px}
.fields-heading{margin-top:50px}
.fields-heading .eyebrow{font-size:24px}
.policy-principles{padding:28px 18px}
.policy-principles>h3{font-size:20px}
.policy-principles>p{font-size:14px}
.principles{grid-template-columns:1fr}
.principle{padding:20px 16px}
.principle h4{font-size:20px}
.history .detail-body{grid-template-columns:1fr;gap:18px}
}

/* ===== ヒーロー（ファーストビュー） ===== */
.hero{--side:calc((100% - min(100%,1200px))/2);position:relative;overflow:hidden;background:#b4062c}
.hero-top{height:auto;padding:clamp(16px,2.4vw,34px) 0 clamp(14px,1.8vw,26px);background:linear-gradient(90deg,rgba(255,255,255,.5),rgba(255,255,255,.35) 45%,rgba(255,255,255,0) 75%),url('images/hero-bg.jpg') center 72%/cover no-repeat}
.hero-tagline{position:relative;z-index:2;width:calc(var(--side) + min(100%,1200px)*.56);margin:0;padding:.3em 0 .3em calc(var(--side) + 32px);background:linear-gradient(90deg,#8c6d1c,#b39032 75%,rgba(179,144,50,0));color:#fff;font-size:clamp(16px,1.8vw,24px);font-weight:900;font-style:italic;line-height:1.5;letter-spacing:.04em;white-space:nowrap}
.hero-catch{position:relative;z-index:2;margin-top:clamp(8px,1.3vw,18px);padding-left:calc(var(--side) + 28px);color:#a17d22;font-size:min(clamp(44px,6.4vw,84px),10.5vh);font-weight:800;line-height:1.2;letter-spacing:.04em;text-shadow:0 0 4px rgba(255,255,255,.95),0 0 10px rgba(255,255,255,.9),0 0 20px rgba(255,255,255,.85),0 0 36px rgba(255,255,255,.7),0 0 60px rgba(255,255,255,.5)}
.hero-catch span{display:block;white-space:nowrap}
.hero-bottom{color:#fff;padding:clamp(16px,2vw,28px) calc(var(--side) + min(100%,1200px)*.42) clamp(18px,2.2vw,30px) calc(var(--side) + 32px)}
.hero-bottom>*{position:relative;z-index:2}
.hero-lead{font-size:clamp(15.3px,1.7vw,22px);font-weight:800;line-height:1.6;letter-spacing:.03em}
.hero-lead span{display:block;white-space:nowrap}
.hero-lead b{font-size:clamp(18px,2vw,26px);font-weight:900}
.hero-name{margin:.08em 0 .06em;color:#fff;font-size:min(clamp(64px,9vw,124px),14vh);font-weight:900;line-height:1.1;letter-spacing:-.02em;white-space:nowrap;-webkit-text-stroke:.025em #fff}
.hero-profile{font-size:clamp(16px,1.7vw,22px);font-weight:800;letter-spacing:.06em;white-space:nowrap}
.hero-profile i{font-style:normal;font-weight:300;opacity:.6;margin:0 .45em}
.hero-portrait{position:absolute;z-index:1;right:calc(var(--side) + min(100%,1200px)*.02);bottom:0;height:calc(100% - 8px);width:auto;max-width:50%;object-fit:contain;object-position:right bottom}
.hero-mushozoku{position:absolute;z-index:3;right:calc(var(--side) + min(100%,1200px)*.012);bottom:6%;width:clamp(140px,16vw,210px);height:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}
/* 表示アニメーション */
@keyframes heroUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes heroFadeIn{from{opacity:0}to{opacity:1}}
@keyframes badgePop{from{opacity:0;transform:translateY(20px) scale(.85)}to{opacity:1;transform:none}}
.hero-tagline{animation:heroUp .7s cubic-bezier(.2,.8,.2,1) .1s both}
.hero-catch{animation:heroUp .8s cubic-bezier(.2,.8,.2,1) .25s both}
.hero-portrait{animation:heroFadeIn .9s ease .2s both}
.hero-bottom>*{animation:heroUp .8s cubic-bezier(.2,.8,.2,1) .5s both}
.hero-mushozoku{animation:badgePop .7s cubic-bezier(.2,.8,.2,1) 1s both}
@media(prefers-reduced-motion:reduce){.hero-tagline,.hero-catch,.hero-portrait,.hero-bottom>*,.hero-mushozoku{animation:none}}
@media(max-width:600px){
.hero-top{position:relative;height:auto;padding:0;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0) 40%),url('images/hero-bg_sp.jpg') center bottom/cover no-repeat}
.hero-tagline{width:100%;padding:.35em 16px;font-size:clamp(13px,3.9vw,15px);letter-spacing:.02em;background:linear-gradient(90deg,#8c6d1c,#b39032)}
.hero-catch{margin-top:10px;padding:0 16px;font-size:clamp(36px,11vw,46px);text-shadow:0 0 4px rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.9),0 0 16px rgba(255,255,255,.85),0 0 28px rgba(255,255,255,.7),0 0 44px rgba(255,255,255,.5)}
.hero-portrait{position:relative;right:auto;bottom:auto;align-self:flex-end;display:block;width:72%;height:auto;max-width:none;margin-top:2px}
.hero-mushozoku{right:auto;left:14%;bottom:12px;width:29%}
.hero-bottom{padding:16px 16px 26px}
.hero-lead{font-size:clamp(12px,3.9vw,15px);letter-spacing:.02em}
.hero-lead b{font-size:clamp(14px,4.6vw,18px)}
.hero-name{font-size:clamp(48px,15vw,62px);letter-spacing:-.03em;margin:.12em 0 .08em}
.hero-profile{font-size:clamp(14px,4.2vw,16px)}
}

/* ===== 政策6項目のアイコン ===== */
.field-icon{display:block;width:72px;height:auto;margin:0 auto 10px}
.field--edu{--field-color:#c48b30}
.field--care{--field-color:#930984}
.field--agri{--field-color:#009234}
.field--work{--field-color:#d2496b}
.field--safety{--field-color:#2f72b9}
.field--community{--field-color:#a88147}
.field h3{color:var(--field-color,var(--red))}
@media(max-width:600px){.field-icon{width:56px}}

/* ===== 私の志：見出し画像 ===== */
.kokorozashi-title{line-height:1}
.kokorozashi-title img{display:block;width:clamp(200px,22vw,260px);height:auto;margin:0 auto}
@media(max-width:600px){.kokorozashi-title img{width:190px}}
