@charset "UTF-8";
@font-face{font-family:Campaign;src:url('assets/fonts/noto-sans-jp.woff?v=11') format('woff');font-weight:100 900;font-style:normal;font-display:swap}
:root{--yellow:#ffcf00;--ink:#172c29;--paper:#fff;--line:#c7d1cd;--rail:92px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;padding-right:var(--rail);color:var(--ink);background:#fff;font-family:Campaign,"Noto Sans JP",sans-serif;font-weight:500;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:auto}button:focus-visible,a:focus-visible{outline:3px solid #3975bd;outline-offset:5px}.skip{position:fixed;top:-70px;z-index:100;background:white;padding:12px}.skip:focus{top:0}.header{height:96px;position:absolute;left:0;top:0;right:var(--rail);z-index:20;display:flex;align-items:center;padding:0 5%}.brand{display:flex;gap:17px;align-items:center}.brand strong{font-size:30px;font-weight:900;letter-spacing:-.06em;line-height:1.2}.brand span{font-size:11px;font-weight:800;line-height:1.45;border-left:1px solid;padding-left:17px}.header nav{position:fixed;right:0;top:0;width:var(--rail);height:100dvh;background:var(--ink);color:#fff;display:flex;flex-direction:column;padding-top:96px}.header nav:before{content:"宮本ひろふみ";position:absolute;top:33px;width:100%;text-align:center;font-size:14px;font-weight:900;color:var(--yellow)}.header nav a{font-size:12px;line-height:1.5;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:114px;border-top:1px solid #ffffff25;transition:background .2s,color .2s;font-weight:800}.header nav a span{font:800 18px Campaign;margin-bottom:7px;color:var(--yellow)}.header nav a:hover,.header nav a.active{background:var(--yellow);color:var(--ink)}.header nav a:hover span,.header nav a.active span{color:var(--ink)}.menu{display:none}.hero{height:800px;min-height:700px;max-height:1000px;position:relative;overflow:hidden;background:#f9faf7;isolation:isolate}.hero-orbit{position:absolute;width:820px;height:820px;border-radius:50%;background:var(--yellow);left:49%;top:112px;z-index:-1;animation:sun-rise 1.1s both}.hero-orbit:after{content:"";position:absolute;inset:36px;border:1px solid #172c291f;border-radius:50%}.hero-photo{position:absolute;width:62%;right:-5%;top:20px;z-index:1;animation:portrait-in .9s both}.hero-photo img{width:100%;height:auto;mask-image:url('assets/portrait-mask.png');mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url('assets/portrait-mask.png');-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}.hero-copy{position:absolute;left:6%;top:122px;z-index:2}.constituency{font-size:12px;font-weight:800;margin:0 0 24px;letter-spacing:.04em}.constituency span{background:var(--ink);color:#fff;padding:4px 10px;margin-left:9px}.hero h1{margin:0;color:#172c29;font-weight:900;letter-spacing:-.1em;line-height:1.02;transform:rotate(-6deg);transform-origin:left center}.hero h1>span{display:block;animation:words-in .65s both;white-space:nowrap}.h-now{font-size:clamp(80px,8.7vw,140px)}.h-team{font-size:clamp(100px,11vw,170px);animation-delay:.12s!important}.h-aso{font-size:clamp(130px,14vw,218px);animation-delay:.24s!important}.h-aso>span{font-size:.55em;margin-left:-.07em}.hero-name{display:flex;align-items:center;gap:18px;margin-top:30px}.name-rule{width:46px;height:5px;background:var(--yellow)}.hero-name p{font-size:46px;font-weight:900;letter-spacing:-.04em;line-height:1.1;margin:0}.hero-scroll{position:absolute;bottom:35px;left:6%;display:flex;align-items:center;gap:30px;font-size:11px;font-weight:800;z-index:5}.hero-scroll b{height:40px;width:40px;border:1px solid;border-radius:50%;display:grid;place-items:center;font-size:20px}.hero-foot{position:absolute;right:4%;bottom:26px;z-index:3;background:#fff;padding:12px 23px;font-size:18px;font-weight:900;transform:rotate(-4deg)}.ticker{height:65px;background:var(--yellow);overflow:hidden;display:flex;align-items:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.ticker>div{display:flex;width:max-content;animation:marquee 32s linear infinite}.ticker-group{display:flex;gap:40px;padding-right:40px;align-items:center;white-space:nowrap}.ticker-group>span{font-size:29px;font-weight:900;letter-spacing:-.05em}.ticker i{font-style:normal;font-size:12px}.section{max-width:1360px;margin:auto;padding:100px 7%}.section-label{margin:0 0 30px;font-size:14px;font-weight:800;display:flex;align-items:center;gap:12px}.section-label:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--yellow)}.message{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;padding-top:125px;padding-bottom:125px}.message h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-.06em;font-weight:900;line-height:1.6;margin:0 0 28px}.message em{font-style:normal;background:linear-gradient(transparent 65%,var(--yellow) 65%)}.body-copy{font-size:14px;line-height:2.4;font-weight:500}.text-link{background:var(--ink);color:#fff;border-radius:40px;display:flex;justify-content:space-between;align-items:center;padding:17px 26px;width:235px;font-size:13px;font-weight:700;margin-top:30px;transition:background .2s}.text-link:hover{background:#365950}.text-link span{font-size:22px}.message-photo{margin:0;position:relative;transform:rotate(3deg)}.message-photo:before{content:"";position:absolute;inset:20px -15px -20px 15px;background:var(--yellow);border-radius:5px;z-index:-1}.message-photo img{aspect-ratio:.95;object-fit:cover;border-radius:5px}.policy{background:var(--yellow);max-width:none;padding-left:max(7%,calc((100% - 1160px)/2));padding-right:max(7%,calc((100% - 1160px)/2));border-radius:70px 0 0 0}.policy .section-label:before{background:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:50px}.section-heading h2{font-size:clamp(40px,5.2vw,72px);letter-spacing:-.065em;font-weight:900;line-height:1.35;margin:0}.section-heading>p{font-size:13px;line-height:2;font-weight:500;max-width:350px}.policy-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.policy-row{position:relative;display:grid;grid-template-columns:1fr;background:#fff;border-radius:8px;padding:30px 34px 32px;overflow:hidden}.policy-number{position:absolute;top:12px;left:24px;font:900 70px/1.2 Campaign;color:var(--ink);letter-spacing:-.08em;z-index:2}.policy-art{grid-row:1;width:91%;margin:8px 0 0 auto;animation:float 5s ease-in-out infinite;pointer-events:none}.art-1{animation-delay:-1s}.art-2{animation-delay:-2s}.art-3{animation-delay:-3s}.policy-text{position:relative;z-index:2}.policy-category{font-size:12px;font-weight:800;letter-spacing:-.03em;margin:4px 0 13px}.policy-text h3{font-size:23px;letter-spacing:-.045em;line-height:1.55;font-weight:900;margin:0 0 16px}.policy-text>p:not(.policy-category){font-size:13px;line-height:1.9;margin:0 0 12px}.policy-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-top:1px solid #d3d9d4;padding:18px 0 0;margin-top:20px;background:transparent;font-weight:800;font-size:12px}.policy-button span{border-radius:50%;background:var(--ink);color:#fff;width:35px;height:35px;font-size:24px;display:grid;place-items:center;transition:transform .2s}.policy-button:hover span{transform:rotate(90deg)}.illustration-note{font-size:10px;text-align:right;margin:22px 0 0}.person{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:130px;padding-bottom:130px}.person-portrait{position:relative;background:#f3f1e9;border-radius:50% 50% 5px 5px;overflow:hidden}.person-portrait img{aspect-ratio:.8;object-fit:cover;object-position:center top}.person-copy h2{font-size:clamp(40px,4.4vw,62px);font-weight:900;letter-spacing:-.06em;line-height:1.4;margin:0 0 28px}.person-copy h3{font-size:36px;font-weight:900;letter-spacing:-.04em;margin:0 0 12px}.person-election{font-size:12px}.gallery{max-width:none;background:#edf2ed;padding:90px 7%}.photo-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.photo-grid figure{margin:0}.photo-grid img{height:340px;object-fit:cover;object-position:50% 15%;border-radius:5px}.photo-grid figure:first-child img{object-position:center}.photo-grid figcaption{font-size:12px;font-weight:700;padding-top:14px}.closing{background:var(--yellow);padding:55px 7%;display:flex;align-items:center;gap:30px;flex-wrap:wrap}.closing p{font-size:30px;font-weight:900;letter-spacing:-.05em;margin:0}.closing strong{font-size:48px;font-weight:900;letter-spacing:-.05em}.closing a{margin-left:auto;font-size:12px;font-weight:700;border-bottom:1px solid;padding:15px 0}.closing a span{margin-left:20px}footer{background:var(--ink);color:#fff;padding:45px 7%;display:flex;align-items:center;gap:25px;flex-wrap:wrap}footer .brand{display:block}footer .brand span{display:block;border:0;padding:0;font-size:10px;margin-top:12px;font-weight:500}footer small{font-size:9px;margin-left:auto}#motion{border:1px solid #ffffff60;background:transparent;color:#fff;border-radius:30px;padding:12px 18px;font-size:11px}dialog{width:min(680px,90vw);max-height:85vh;border:0;border-radius:8px;padding:45px;background:#fff;color:var(--ink)}dialog::backdrop{background:#10241dc4;backdrop-filter:blur(5px)}.close{position:absolute;right:15px;top:12px;background:transparent;border:0;font-size:30px}.detail-head{display:flex;align-items:center;gap:20px}.detail-head>span{font-weight:900;font-size:50px;letter-spacing:-.06em}.detail-head p{font-size:13px;font-weight:800}dialog h2{font-size:24px;font-weight:900;letter-spacing:-.04em;line-height:1.6}#detail-description{font-size:14px;line-height:2}#detail-list{padding-left:27px;font-size:14px;line-height:1.8}#detail-list li{padding:10px 0;border-bottom:1px solid var(--line)}.back{margin-top:20px;background:var(--yellow);border:0;border-radius:30px;padding:15px 25px;font-weight:800;font-size:13px}.paused *{animation-play-state:paused!important}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes float{0%,100%{transform:translateY(3px)}50%{transform:translateY(-8px)}}@keyframes words-in{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}@keyframes portrait-in{from{opacity:0;translate:30px 0}to{opacity:1;translate:0 0}}@keyframes sun-rise{from{transform:translateY(100px)}to{transform:translateY(0)}}
@media(min-width:1500px){.hero{height:940px}.hero-copy{top:150px}.hero-photo{top:0;width:59%}.hero-orbit{width:1000px;height:1000px}.hero-name{margin-top:42px}}
@media(min-width:701px) and (max-width:1050px){:root{--rail:76px}.header nav a{font-size:11px}.hero{height:700px;min-height:700px}.hero-photo{width:72%;right:-14%;top:95px}.hero-copy{top:130px;left:5%}.h-now{font-size:82px}.h-team{font-size:102px}.h-aso{font-size:132px}.hero-name p{font-size:38px}.hero-orbit{left:47%;width:650px;height:650px;top:180px}.policy-row{padding:24px}.policy-text h3{font-size:20px}.message h2{font-size:29px}.photo-grid img{height:270px}}
footer .office{font-style:normal;font-size:12px;line-height:1.9;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}footer .office b{background:var(--yellow);color:var(--ink);font-size:11px;padding:2px 10px;border-radius:20px}footer .office a{border-bottom:1px solid #ffffff80;font-size:11px}
@media(max-width:700px){:root{--rail:0px}html{scroll-padding-top:80px}.header{position:absolute;height:76px;padding:0 20px}.brand strong{font-size:27px}.brand span{font-size:9px;padding-left:12px}.brand{gap:12px}.menu{display:flex;position:fixed;right:15px;top:16px;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;background:var(--yellow);border:0;border-radius:50%;padding:13px}.menu span{height:2px;background:var(--ink);width:100%}.header nav{display:none;top:76px;right:16px;width:240px;height:auto;border-radius:8px;padding:8px;box-shadow:0 15px 40px #0003}.header nav:before{display:none}.header nav.open{display:flex}.header nav a{flex-direction:row;gap:14px;min-height:66px;border-top:0;justify-content:flex-start;text-align:left;padding:10px 16px;font-size:13px}.header nav a span{margin:0;font-size:20px}.header nav br{display:none}.hero{height:785px;min-height:0;max-height:none}.hero-copy{left:24px;top:105px}.constituency{font-size:9px;margin-bottom:22px;letter-spacing:0}.constituency span{padding:4px 7px;margin-left:5px}.hero h1{transform:rotate(-6deg)}.h-now{font-size:66px}.h-team{font-size:82px}.h-aso{font-size:110px}.hero-photo{width:112%;right:-29%;top:250px;z-index:1}.hero-orbit{width:530px;height:530px;top:328px;left:14%;}.hero-orbit:after{inset:20px}.hero-name{margin-top:24px;gap:10px;position:absolute;top:505px;left:0;white-space:nowrap;background:var(--yellow);padding:10px 16px;z-index:3}.hero-name p{font-size:36px}.name-rule{display:none}.hero-scroll{left:24px;bottom:26px;font-size:10px;gap:16px}.hero-scroll b{width:30px;height:30px;font-size:18px}.hero-foot{display:none}.ticker{height:49px}.ticker-group{gap:25px;padding-right:25px}.ticker-group>span{font-size:23px}.section{padding:66px 24px}.section-label{font-size:12px;margin-bottom:22px}.message{grid-template-columns:1fr;gap:45px}.message h2{font-size:31px;line-height:1.65}.body-copy{font-size:13px}.message-photo{margin:0 12px 12px 0}.message-photo img{aspect-ratio:1.1}.message-photo:before{inset:12px -12px -12px 12px}.text-link{padding:14px 22px;font-size:12px;width:220px}.policy{border-radius:35px 0 0 0;padding-left:18px;padding-right:18px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:44px}.section-heading>p{font-size:12px;margin-top:22px}.policy-list{grid-template-columns:1fr;gap:18px}.policy-row{padding:24px}.policy-number{top:8px;left:22px;font-size:62px}.policy-art{width:87%;margin-top:8px}.policy-category{font-size:11px}.policy-text h3{font-size:23px}.policy-text>p:not(.policy-category){font-size:12px}.policy-button{font-size:11px}.illustration-note{font-size:9px;line-height:1.8;text-align:left}.person{grid-template-columns:1fr;gap:45px}.person-portrait{margin:0 20px}.person-copy h2{font-size:46px}.person-copy h3{font-size:34px}.person-election{font-size:11px}.photo-grid{grid-template-columns:1fr 1fr;gap:24px 14px}.photo-grid figure:first-child{grid-column:1/-1}.photo-grid img{height:235px}.photo-grid figure:first-child img{height:auto;aspect-ratio:1.3;object-fit:cover}.photo-grid figcaption{font-size:10px;line-height:1.7}.closing{display:block;padding:40px 24px}.closing p{font-size:27px}.closing strong{display:block;font-size:50px;margin:10px 0 15px}.closing a{display:inline-block}footer{padding:35px 24px;gap:22px}footer small{width:100%;margin:0}footer .office{width:100%}dialog{padding:34px 24px}dialog h2{font-size:21px}.detail-head{gap:12px}.detail-head p{font-size:11px}#detail-list{font-size:13px}}
@media(max-width:360px){.h-now{font-size:60px}.h-team{font-size:76px}.h-aso{font-size:102px}.hero-photo{top:270px}.hero-name p{font-size:32px}.message h2{font-size:28px}.policy-text h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep the name inside the first desktop view. */
@media(min-width:1051px) and (max-width:1499px){.hero{height:740px;min-height:740px}.hero-copy{top:112px}.h-team{font-size:10.5vw}.h-aso{font-size:13vw}.hero-name{margin-top:20px}.hero-name p{font-size:42px}.hero-scroll{bottom:26px}}
@media(max-width:700px){.hero-photo{top:290px}}
/* Independent motions inside the illustration; terrain and buildings stay still. */
.policy-art{animation:none!important;width:100%;margin:0;overflow:visible}.policy-scene{display:block;width:100%;height:auto;overflow:visible}
.vehicle-route{animation:vehicle-drive 9s linear infinite;animation-delay:var(--delay,0s)}
.visitor-route{animation:visitor-walk 7s ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
.family-route{animation:family-walk 8s ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
.shopper-route{animation:shopper-walk 10s ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
.walking .left-leg{transform-origin:-4px -22px;animation:step-left .8s ease-in-out infinite;animation-delay:var(--delay,0s)}
.walking .right-leg{transform-origin:4px -22px;animation:step-right .8s ease-in-out infinite;animation-delay:var(--delay,0s)}
.walking .left-arm{transform-origin:-7px -41px;animation:step-right .8s ease-in-out infinite;animation-delay:var(--delay,0s)}
.walking .right-arm{transform-origin:7px -41px;animation:step-left .8s ease-in-out infinite;animation-delay:var(--delay,0s)}
.waving{transform-origin:7px -41px;animation:wave-hand 3s ease-in-out infinite}.wheel-spin{animation:wheel-turn .65s linear infinite}.cow-head{transform-origin:17px -22px;animation:graze 5s ease-in-out infinite}.cow-tail{transform-origin:-21px -22px;animation:tail-swish 2s ease-in-out infinite}.swing{transform-origin:5px -35px;animation:swing-seat 3s ease-in-out infinite}.water-line{animation:water-shimmer 3s ease-in-out infinite alternate}
@keyframes vehicle-drive{0%{transform:translate(0,0);opacity:0}6%{opacity:1}90%{opacity:1}100%{transform:translate(218px,99px);opacity:0}}
@keyframes visitor-walk{from{transform:translate(0,0)}to{transform:translate(32px,15px)}}
@keyframes family-walk{from{transform:translate(-17px,-8px)}to{transform:translate(24px,11px)}}
@keyframes shopper-walk{from{transform:translate(-20px,-9px)}to{transform:translate(40px,18px)}}
@keyframes step-left{0%,100%{transform:rotate(-19deg)}50%{transform:rotate(19deg)}}
@keyframes step-right{0%,100%{transform:rotate(19deg)}50%{transform:rotate(-19deg)}}
@keyframes wave-hand{0%,45%,100%{transform:rotate(0)}12%,32%{transform:rotate(-24deg)}22%{transform:rotate(8deg)}}
@keyframes wheel-turn{to{transform:rotate(360deg)}}
@keyframes graze{0%,65%,100%{transform:rotate(0)}30%,45%{transform:rotate(22deg)}}
@keyframes tail-swish{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(12deg)}}
@keyframes swing-seat{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes water-shimmer{from{opacity:.3}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.policy-scene *{animation:none!important}}
.art-1 .waving{animation-delay:-.7s}.art-2 .waving{animation-delay:-1.5s}.art-3 .waving{animation-delay:-2.1s}
/* Downloaded editorial photography and full policy pages. */
.photo-hero-page .header{background:#fff}.photo-hero-page .hero{height:820px;min-height:820px;background:#213b32}.photo-hero-page .hero-orbit,.photo-hero-page .hero-foot{display:none}.photo-hero-page .hero-photo{inset:96px 0 0;width:100%;height:calc(100% - 96px);animation:none}.photo-hero-page .hero-photo img{height:100%;object-fit:cover;object-position:65% 43%;mask:none;-webkit-mask:none}.photo-hero-page .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0c231ce0 0%,#0d251c88 34%,transparent 65%)}.photo-hero-page .hero-copy{top:125px}.photo-hero-page .constituency,.photo-hero-page .hero h1{color:#fff}.photo-hero-page .h-aso{color:var(--yellow)!important}.photo-hero-page .hero-name{background:var(--yellow);padding:10px 20px;width:max-content}.photo-hero-page .name-rule{display:none}.photo-hero-page .hero-scroll{color:#fff}.photo-hero-page .hero h1{line-height:1.04}.photo-hero-page .hero-name p{font-size:42px}
.subpage .header{position:relative;background:#fff}.breadcrumb{padding:25px 7%;font-size:11px;color:#607269;display:flex;gap:10px;flex-wrap:wrap}.breadcrumb a{text-decoration:underline}.page-title{padding:55px 7% 70px}.page-title h1{font-size:clamp(32px,4.1vw,58px);font-weight:900;line-height:1.5;letter-spacing:-.06em}.sub-hero{background:#f4f5ec;padding:55px 6%;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;border-top:10px solid var(--yellow)}.sub-hero h1{font-size:clamp(25px,3vw,40px);letter-spacing:-.06em;font-weight:900;line-height:1.6}.sub-hero p{font-size:14px;line-height:2.2}.sub-hero .sub-lead{font-size:20px;line-height:1.8;font-weight:800}.sub-hero .section-label{font-size:16px}.measure-nav{padding:40px 7%;display:grid;gap:10px}.measure-nav a{display:flex;align-items:center;gap:20px;background:#f5f6f0;padding:18px 22px;font-size:14px;font-weight:700}.measure-nav b{color:#788e71;font-size:24px}.measure-nav span{margin-left:auto}.detail-content{max-width:1040px;margin:auto;padding:10px 7% 70px}.policy-detail{display:grid;grid-template-columns:55px 1fr;gap:20px;border-top:2px solid var(--yellow);padding:35px 0}.measure-number{font-size:38px;font-weight:900;letter-spacing:-.07em}.policy-detail h2{font-size:25px;line-height:1.65;margin:0 0 22px;font-weight:900;letter-spacing:-.04em}.policy-detail h3{font-size:15px;margin:24px 0 12px;line-height:1.8}.policy-detail p,.policy-detail li{font-size:14px;line-height:2.1}.policy-detail ul{padding-left:21px}.policy-detail li{margin:9px 0}.other-policies{padding:55px 7%;background:var(--yellow);display:grid;grid-template-columns:1fr 1fr;gap:15px}.other-policies a{display:grid;grid-template-columns:1fr 30px;gap:8px;background:white;padding:22px}.other-policies small{grid-column:1/-1;font-size:11px}.other-policies strong{font-size:14px}.other-policies span{grid-column:2;grid-row:2}.policy-directory{padding:0 7% 80px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.policy-directory article{background:#f5f6ee;padding:28px;border-radius:8px}.policy-directory h2{font-size:22px;line-height:1.65}.policy-directory p{font-size:14px;line-height:1.8}.profile-intro{padding:45px 8% 80px;display:grid;grid-template-columns:1.1fr .8fr;gap:8%;align-items:center}.profile-intro h1{font-size:clamp(30px,3.5vw,50px);line-height:1.6;font-weight:900;letter-spacing:-.05em}.profile-intro h2{font-size:38px;margin-top:36px}.profile-intro img{border-radius:5px;max-height:650px;object-fit:contain}.profile-intro p{font-size:14px;line-height:2.1}.motto{border-top:1px solid var(--line);padding-top:24px}.motto strong{font-size:24px}.profile-message{padding:70px 12%;background:#f8f4de}.profile-message h2{font-size:42px;font-weight:900;letter-spacing:-.05em}.profile-message p{font-size:16px;line-height:2.3}.biography{padding:70px 10%;max-width:1050px;margin:auto}.biography h2{font-size:34px}.biography dl{display:grid;grid-template-columns:130px 1fr}.biography dt,.biography dd{margin:0;padding:22px 0;border-top:1px solid var(--line);font-size:14px;line-height:2}.biography dt{font-weight:800}.gallery-page{padding:0 7% 80px;display:grid;grid-template-columns:1fr 1fr;gap:40px 28px;align-items:start}.gallery-page figure{margin:0}.gallery-page img{width:100%;height:auto;border-radius:5px}.gallery-page figcaption{font-size:12px;font-weight:700;margin-top:12px}.header nav a[aria-current=page]{background:var(--yellow);color:var(--ink)}.header nav a[aria-current=page] span{color:var(--ink)}
@media(max-width:700px){.photo-hero-page .hero{height:840px;min-height:840px}.photo-hero-page .hero-photo{top:76px;height:764px}.photo-hero-page .hero-photo img{object-position:74% 50%}.photo-hero-page .hero-photo:after{background:linear-gradient(180deg,#0c231c30 0%,transparent 25%,#0c231c88 70%,#0c231ced 100%)}.photo-hero-page .hero-copy{top:98px;left:22px;right:15px;height:710px}.photo-hero-page .hero h1{position:absolute;top:350px;font-size:60px}.photo-hero-page .h-now{font-size:48px}.photo-hero-page .h-team{font-size:60px}.photo-hero-page .h-aso{font-size:78px}.photo-hero-page .hero-name{position:absolute;top:596px;margin:0;padding:10px 16px}.photo-hero-page .hero-name p{font-size:32px}.photo-hero-page .hero-scroll{bottom:20px;left:auto;right:22px}.photo-hero-page .constituency{background:#17362cd4;padding:6px 9px;display:inline-block}.breadcrumb{padding:20px 24px;font-size:10px}.page-title{padding:25px 24px 35px}.page-title h1{font-size:31px}.sub-hero{padding:30px 24px;grid-template-columns:1fr;gap:0}.sub-hero h1{font-size:28px}.sub-hero .sub-lead{font-size:19px}.sub-hero p{font-size:13px}.measure-nav{padding:25px 18px}.measure-nav a{font-size:12px;gap:12px;padding:14px}.measure-nav b{font-size:20px}.detail-content{padding:0 24px 40px}.policy-detail{grid-template-columns:1fr;gap:8px;padding:25px 0}.measure-number{font-size:30px}.policy-detail h2{font-size:22px}.policy-detail p,.policy-detail li{font-size:13px}.other-policies{grid-template-columns:1fr;padding:30px 24px}.policy-directory{grid-template-columns:1fr;padding:0 20px 50px}.policy-directory article{padding:22px}.profile-intro{padding:25px 24px 55px;grid-template-columns:1fr;gap:30px}.profile-intro h1{font-size:32px}.profile-intro img{max-height:520px}.profile-message{padding:45px 24px}.profile-message h2{font-size:30px}.profile-message p{font-size:14px}.biography{padding:45px 24px}.biography dl{grid-template-columns:84px 1fr}.biography dt,.biography dd{font-size:12px;padding:16px 0}.gallery-page{padding:0 24px 50px;gap:25px;grid-template-columns:1fr}}
@media(min-width:701px){.photo-hero-page .hero{background:#14302a}.photo-hero-page .hero-photo{left:38%;right:0;width:auto}.photo-hero-page .hero-photo img{object-position:60% 0%}.photo-hero-page .hero-photo:after{background:linear-gradient(90deg,#14302a 0%,#14302acc 14%,#14302a33 34%,transparent 50%)}}
@media(max-width:700px){.photo-hero-page .hero{background:#14302a}.photo-hero-page .hero-photo{height:580px}.photo-hero-page .hero-photo img{object-position:80% 12%}.photo-hero-page .hero-photo:after{background:linear-gradient(180deg,#14302a40 0%,transparent 18%,transparent 52%,#14302acc 80%,#14302a 100%)}.photo-hero-page .hero h1{top:385px}.photo-hero-page .hero-name{top:648px}}@media(max-width:360px){.photo-hero-page .hero-photo{height:540px}.photo-hero-page .hero h1{top:355px}.photo-hero-page .hero-name{top:610px}}
.iso-scene{position:relative;width:100%;aspect-ratio:3/2}.iso-bg{display:block;width:100%;height:100%}.sp{position:absolute;left:var(--x1);top:var(--y1);width:var(--w);pointer-events:none}.sp img{display:block;width:100%;height:auto;transform:translate(-50%,-100%);transform-origin:50% 100%}.sp-walk,.sp-drive{animation:sp-move var(--d) linear infinite;animation-delay:var(--delay)}.sp-walk img{animation:sp-step .55s ease-in-out infinite alternate}.sp-drive img{animation:sp-rumble .28s ease-in-out infinite alternate}.sp-wave img{animation:sp-wave 1.5s ease-in-out infinite}.sp-idle img{animation:sp-graze 4.5s ease-in-out infinite}@keyframes sp-move{0%{left:var(--x1);top:var(--y1);opacity:0}7%,93%{opacity:1}100%{left:var(--x2);top:var(--y2);opacity:0}}@keyframes sp-step{from{transform:translate(-50%,-100%) rotate(-2deg)}to{transform:translate(-50%,-104%) rotate(2deg)}}@keyframes sp-rumble{to{transform:translate(-50%,-101.2%)}}@keyframes sp-wave{0%,100%{transform:translate(-50%,-100%) rotate(0)}30%{transform:translate(-50%,-102.5%) rotate(-4deg)}70%{transform:translate(-50%,-100%) rotate(3deg)}}@keyframes sp-graze{0%,100%{transform:translate(-50%,-100%)}50%{transform:translate(-50%,-100%) scaleY(1.03) rotate(-1.2deg)}}@media(prefers-reduced-motion:reduce){.sp,.sp img{animation:none!important}}
.measure-figure{float:right;width:44%;margin:0 0 24px 36px}.measure-figure img{width:100%;height:auto;display:block}.policy-detail>div:after{content:"";display:block;clear:both}@media(max-width:700px){.measure-figure{float:none;width:100%;margin:0 0 18px}}
.header-catch{margin:0 0 0 auto;font-size:24px;font-weight:900;line-height:1.5;text-align:right;color:#c8102e;letter-spacing:.02em}.header-catch br{display:none}
@media(max-width:700px){.header .brand{flex-shrink:0;white-space:nowrap}.header-catch{position:absolute;top:76px;right:0;z-index:25;background:#c8102e;color:#fff;font-size:15px;line-height:1.3;padding:8px 16px;border-radius:0 0 0 12px;white-space:nowrap;margin:0}.header-catch br{display:none}}
.photo-hero-page .hero-name p{font-size:58px}@media(max-width:700px){.photo-hero-page .hero-name p{font-size:40px}}@media(max-width:360px){.photo-hero-page .hero-name p{font-size:36px}}
@media(max-width:700px){.photo-hero-page .constituency{margin-top:24px}.subpage .breadcrumb{margin-top:34px}}
.ticker-group>span{letter-spacing:.04em}

footer .sns{display:flex;gap:10px}footer .sns a{display:flex;align-items:center;gap:8px;border:1px solid #ffffff60;border-radius:30px;padding:9px 16px 9px 12px;font-size:12px;font-weight:700;transition:background .2s,color .2s}footer .sns a:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}footer .sns svg{width:18px;height:18px}
.sns-band{padding-top:90px;padding-bottom:100px}.sns-band h2{font-size:clamp(30px,3.4vw,46px);font-weight:900;letter-spacing:-.06em;line-height:1.45;margin:0 0 36px}.sns-band .sp{display:none}.sns-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.sns-card{display:flex;align-items:center;gap:22px;border:2px solid var(--ink);border-radius:14px;padding:26px 30px;background:#fff;transition:transform .2s,box-shadow .2s}.sns-card:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--yellow)}.sns-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;color:#fff;flex:none}.sns-icon svg{width:36px;height:36px}.sns-ig .sns-icon{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.sns-fb .sns-icon{background:#1877f2}.sns-card b{display:block;font-size:24px;font-weight:900;letter-spacing:-.03em}.sns-card small{display:block;font-size:13px;margin-top:4px;font-weight:600}.sns-card i{margin-left:auto;font-style:normal;font-size:24px;font-weight:800}
@media(max-width:700px){.sns-band{padding-top:60px;padding-bottom:66px}.sns-band h2{font-size:30px;margin-bottom:26px}.sns-band .sp{display:inline}.sns-cards{grid-template-columns:1fr;gap:14px}.sns-card{padding:18px 20px;gap:16px}.sns-icon{width:52px;height:52px;border-radius:15px}.sns-icon svg{width:30px;height:30px}.sns-card b{font-size:20px}footer .sns{width:100%}}

.sns-lead{font-size:14px;margin:-18px 0 28px}.ig-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;margin-bottom:40px}.ig-cell{position:relative;box-sizing:content-box;aspect-ratio:1/1;padding-top:54px;overflow:hidden;border-radius:10px;box-shadow:0 0 0 1px #d8ddd9;background:#f3f5f2}.ig-feed .instagram-media{position:absolute!important;top:0;left:0;min-width:0!important;width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.ig-feed blockquote.instagram-media{height:100%;display:grid;place-items:center;font-size:13px}
@media(max-width:700px){.sns-lead{font-size:13px;margin:-10px 0 20px}.ig-feed{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -24px 30px;padding:0 24px 8px}.ig-cell{flex:0 0 82%;scroll-snap-align:start}}
