/* September 2026 annotated revisions. */
:root{--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--serif:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',YuMincho,serif}
.header nav{font-size:14px;font-weight:600;gap:22px}
.header-logo{max-width:36%}
.party-logo{position:absolute;top:28px;right:3%;width:170px;height:auto;padding:13px 15px;background:none;border-radius:3px;z-index:1}
.quick-nav a{font-size:22px;gap:16px}
.quick-number{font-size:22px}
.section-heading .eyebrow,.message-copy .eyebrow{font-size:18px}
.section-heading h2,.message-copy h2{font-size:35px}
.message-copy h3{font-size:35px;line-height:1.5;letter-spacing:.04em}
.message-visual>img{object-position:96% 54%}
.photo-caption{padding:13px 24px}
.signature{display:flex;align-items:center;justify-content:flex-end;gap:15px;font-size:14px;flex-wrap:wrap}
.signature img{width:190px;height:auto}
.profile-history-title{font:500 14px/1.8 var(--sans);color:var(--red-dark);border-top:1px solid var(--line);padding-top:17px}
.profile-details dl>div{grid-template-columns:72px 1fr}
.numbers>div>span{font-size:20px}
.numbers small{font-size:18px;display:block;padding-inline:12px}
.numbers strong{font-family:var(--sans)}
.card-photo>span{width:45px;height:45px;font-size:14.4px;font-weight:700}
.more-achievements{margin-top:48px}
.more-grid{margin-top:0;align-items:start}
.more-grid .card-photo{margin-bottom:24px}
.more-grid .card-photo img{height:auto;aspect-ratio:2.2 / 1;object-fit:cover;object-position:center 48%}
.more-grid article:last-child .card-photo img{object-position:center 61%}
.more-grid h3{font-size:23px;margin:0 0 16px}
.more-grid p{font-size:15px;line-height:2}
.policy-heading{display:flex;align-items:center;gap:12px;padding:22px 15px;min-height:120px}
.policy-heading span{display:flex;justify-content:flex-start;align-items: center;}
.policy-heading img{width:49px;height:62px;object-fit:contain;flex-shrink:0}
.policy-heading img.no{width: 30px;padding-right: 9px;}
.policy-heading img.no01{}
.policy-heading img.no02{width: 37px;}
.policy-heading img.no03{width: 36px;}
.policy-heading img.no04{width: 37px;}
.policy-heading img.no05{width: 37px;}
.policy-heading img.no06{width: 38px;}
.policy-heading img.no07{width: 35px;}
.policy-heading>span{font-weight:700;color:var(--red);font-size:22px;line-height:1.5;flex:1;min-width:0}
.policy-heading small{font:700 23px/1.3 var(--sans);margin-bottom:5px}
.contact-layout>div>.eyebrow{font-size:13.2px}
.contact h2{font-size:38px}
.contact-layout>div>img{height:465px;object-position:49% 73%}
.phone{font-family:var(--sans);font-weight:700}
.phone>span{font-weight:400}
.support h4{font-size:20px}
.footer-logo{display:block;width:350px;max-width:38%;flex-shrink:0}
.footer-logo img{width:100%;height:auto}
.footer-main nav{font-size:16px;gap:20px;flex-wrap:wrap}
@media(max-width:1150px){.header nav{gap:14px}.header-logo{max-width:31%}.quick-nav a{font-size:20px;gap:10px}.quick-number{font-size:20px}.message{gap:45px}.message-copy h3{font-size:30px}.footer-main{flex-wrap:wrap}.footer-logo{max-width:60%}.footer-main nav{order:3;width:100%}}
@media(max-width:940px){.header-logo{width:min(69vw,300px);max-width:75%}.header nav{font-size:16px}.quick-nav a{font-size:18px}.quick-number{font-size:20px}.message-copy h3{font-size:29px}}
@media(max-width:760px){.party-logo{width:125px;top:0;right:0}.quick-nav a{font-size:22px;gap:17px}.quick-number{font-size:22px}.section-heading h2,.message-copy h2{font-size:30px}.message-copy h3{font-size:30px}.photo-caption{padding:13px 16px;font-size:16px}.message-visual>img{object-position:100% 60%}.profile-details dl>div{font-size:14px}.numbers>div>span{font-size:18px}.numbers small{font-size:16px}.more-grid .card-photo img{aspect-ratio:1.6 / 1}.more-grid p{font-size:16px}.policy-heading{padding:20px;gap:17px;min-height:106px}.policy-heading>span{font-size:20px}.contact h2{font-size:30.4px}.contact-layout>div>img{height:285px}.footer-logo{width:330px;max-width:75%}.footer-main nav{font-size:16px}.phone{font-size:clamp(24px,7vw,29px)}}
@media(max-width:370px){.quick-nav a{font-size:20px}.signature img{width:170px}.photo-caption{font-size:14px}.policy-heading{gap:12px}.policy-heading>span{font-size:18px}.party-logo{top:0;width:110px}}
