*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:#28384a;background:#ffffff;font-family:'Noto Sans JP',sans-serif;line-height:1.85}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #cc2944;outline-offset:5px}img{max-width:100%}.skip{position:fixed;top:-100px;left:10px;background:white;z-index:20;padding:10px}.skip:focus{top:10px}.header{background:#ffffffed;backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;border-bottom:1px solid #f3e9df;padding:15px max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:block;width:185px;height:auto}.nav{display:flex;gap:24px;font-size:13px;font-weight:700}.nav a:hover{color:#c92b42}.wrap{max-width:1160px;margin:auto;padding:70px 24px}.hero{max-width:1260px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:55px 55px 0;min-height:615px;position:relative;overflow:hidden}.hero-copy{padding-bottom:50px;z-index:1}.eyebrow{color:#bc2940;font-size:13px;font-weight:800;letter-spacing:.06em}.hero h1{font-size:clamp(38px,4.5vw,64px);line-height:1.5;letter-spacing:-.06em;margin:17px 0 21px;font-weight:900}.hero h1 em{font-style:normal;color:#ca2a40}.hero-lead{font-size:16px;line-height:2.1}.portrait{position:relative;align-self:end;height:570px;display:flex;align-items:end;justify-content:center}.portrait:before{content:'';position:absolute;width:510px;height:510px;background:#ffe9a8;border-radius:50%;bottom:-40px;z-index:0}.portrait img{height:100%;width:auto;object-fit:contain;position:relative;z-index:1}.button{display:inline-block;padding:13px 25px;background:#cc2942;color:white;border-radius:50px;font-size:14px;font-weight:700}.hero .button{margin-top:15px}.small-link{display:inline-block;font-size:13px;margin-left:18px;text-decoration:underline;text-underline-offset:4px}.kind-note{background:#fff3cf;text-align:center;padding:24px;font-size:17px;font-weight:700}.section-label{font-size:12px;font-weight:800;color:#ba2940;letter-spacing:.08em}.heading{font-size:clamp(29px,3.5vw,43px);line-height:1.5;letter-spacing:-.045em;margin:12px 0 20px}.lead{font-size:15px;color:#5d6873;line-height:1.95;max-width:720px}.promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.promise{padding:26px 25px;border-radius:16px;background:white;border:1px solid #fae7df}.promise small{font-size:12px;color:#715c52}.promise h3{font-size:23px;line-height:1.6;margin:10px 0}.promise p{font-size:14px;color:#657078;margin:0}.policies-section{background:#f6f3ed}.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:32px;align-items:start}.policy{scroll-margin-top:95px;border-radius:15px;background:white;padding:30px;box-shadow:0 5px 18px #263a4610;min-width:0}.policy-top{display:flex;align-items:center;gap:12px;color:var(--accent);font-size:13px;font-weight:800}.number{font-size:24px;font-weight:800}.policy h3{font-size:25px;line-height:1.6;letter-spacing:-.045em;margin:12px 0}.policy-lead{font-size:14px;line-height:1.9;color:#61707a;min-height:54px}.policy>ul{list-style:none;padding:0;margin:18px 0 22px}.policy>ul>li{padding-left:19px;font-size:14px;line-height:1.85;margin:12px 0;position:relative}.policy>ul>li:before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;position:absolute;left:0;top:11px}summary{cursor:pointer;list-style:none;font-weight:700}summary::-webkit-details-marker{display:none}.policy-more>summary{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid #e9e5df;font-size:13px;color:var(--accent);gap:10px}.policy-more[open]>summary span{transform:rotate(45deg)}.detail-content{padding-top:15px}.subdetail{border-bottom:1px solid #eee8df;padding:14px 0}.subdetail summary{font-size:13px;line-height:1.7}.subdetail summary:before{content:'＋';margin-right:8px;color:var(--accent)}.subdetail[open] summary:before{content:'−'}.subdetail p{font-size:13px;line-height:1.95}.subdetail .reference{font-size:11px;color:#7d8288}.voices-preview{max-width:930px}.bubble{margin:27px 40px 27px 0;background:white;border:1px solid #eee8df;box-shadow:0 9px 28px #27313b08;border-radius:20px;padding:25px 30px;position:relative}.bubble:before{content:'';position:absolute;width:20px;height:20px;left:-10px;top:32px;transform:rotate(45deg);background:white;border-left:1px solid #eee8df;border-bottom:1px solid #eee8df}.bubble:nth-of-type(even){margin-left:40px;margin-right:0}.bubble:nth-of-type(even):before{left:auto;right:-10px;transform:rotate(225deg)}.bubble small{font-size:12px;font-weight:700;color:#c92b42}.bubble p{font-size:21px;font-weight:700;margin:8px 0 0;line-height:1.75}.voice-foot{font-size:12px;color:#747c82}.growth{background:#f2ece2}.cycle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:0;list-style:none;margin-top:30px}.cycle li{background:#ffffff;padding:24px;border-radius:12px;position:relative}.cycle li+li:before{content:'→';position:absolute;left:-23px;top:44%;color:#c44c55}.cycle b{font-size:20px;line-height:1.6;display:block}.cycle p{font-size:14px;line-height:1.85;margin-bottom:0;color:#637079}.cycle-back{font-size:14px;font-weight:700;text-align:center;margin-top:24px}.targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:28px}.target{background:#fff5dc;border-radius:12px;padding:21px}.target span{font-size:12px;display:block}.target strong{font-size:27px;color:#bc2940;display:block;margin:5px 0}.target small{font-size:11px;color:#72777d}.source-note{font-size:11px;color:#737c83;line-height:1.8}.data-note{margin-top:26px;padding:20px;border:1px solid #e4dfd7;border-radius:12px}.data-note summary{font-size:13px}.data-note p{font-size:13px}.closing{background:#d03348;color:white;text-align:center}.closing .wrap{padding-top:55px;padding-bottom:55px}.closing .button{background:white;color:#bd2940;margin-top:15px}.closing h2{font-size:34px;line-height:1.6;margin:0 0 12px}.closing p{font-size:15px}.footer{padding:35px 24px;max-width:1160px;margin:auto;display:flex;gap:35px;align-items:start}.footer .logo{width:150px;flex:none}.footer p{font-size:11px;color:#7c8187;margin:0}.footer a{text-decoration:underline}.draft{font-size:11px;color:#87756e}.message-more{max-width:700px;margin-top:24px;font-size:13px}.message-more summary{text-decoration:underline;text-underline-offset:4px}.message-more p{line-height:2}.message-body{padding-top:12px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:750px){.header{padding:13px 20px;gap:12px}.logo{width:150px}.nav{gap:14px;font-size:11px}.nav a:first-child{display:none}.hero{padding:35px 24px 0;grid-template-columns:1fr;min-height:0}.hero h1{font-size:42px}.hero-copy{padding-bottom:0}.hero-lead{font-size:14px}.hero .button{font-size:13px}.portrait{height:330px;width:100%;margin-top:25px}.portrait:before{width:360px;height:360px;bottom:-130px}.hero .small-link{margin-left:12px;font-size:12px}.wrap{padding:48px 22px}.kind-note{font-size:14px;padding:19px 20px}.promises,.policy-grid,.cycle{grid-template-columns:1fr}.promise{padding:22px}.promise h3{font-size:22px}.policy{padding:24px}.policy h3{font-size:24px}.policy-lead{min-height:0}.targets{grid-template-columns:repeat(2,minmax(0,1fr))}.target{padding:16px}.target strong{font-size:23px}.cycle{gap:25px}.cycle li+li:before{content:'↓';top:-29px;left:50%}.bubble{padding:22px;margin-right:16px}.bubble:nth-of-type(even){margin-left:16px}.bubble p{font-size:18px}.footer{display:block}.footer .logo{margin-bottom:20px}.closing h2{font-size:29px}}@media(max-width:360px){.hero h1{font-size:36px}.nav{gap:8px}.logo{width:135px}}

/* 2026-11-02: brighter, welcoming palette. */
.hero{background:radial-gradient(ellipse at 96% 15%,#fff7db 0,transparent 46%),radial-gradient(ellipse at 6% 100%,#fff3eb 0,transparent 48%);border-radius:0 0 36px 36px}

.hero h1 em{color:#ce3449}.portrait:before{box-shadow:0 0 0 28px #fff6db}
.button{box-shadow:0 5px 14px #d84b4520}.button:hover{background:#b3233c}
.promise:first-child{background:#fff8f5}.promise:nth-child(2){background:#f3fcf8}.promise:nth-child(3){background:#fffbef}
.policy{border:1px solid #f7e5dc;box-shadow:0 7px 24px #e9926b0c}
.bubble{border-color:#f6e0d5;box-shadow:0 9px 28px #dc957b10}.bubble:before{border-color:#f6e0d5}.bubble small{display:inline-block;background:#fff0e8;padding:3px 10px;border-radius:30px}
.target:nth-child(3n+2){background:#edf9f5}.target:nth-child(3n){background:#fff0ed}
.closing{background:linear-gradient(115deg,#fff3d6,#ffede8 65%,#fff6f0);color:#28384a;border-top:1px solid #f7e2d8}.closing .button{background:#cc2942;color:white}.closing .button:hover{background:#b3233c}
@media(max-width:750px){.hero{border-radius:0 0 28px 28px}.portrait:before{box-shadow:0 0 0 22px #fff6db}}

/* Goal silhouettes: decorative; goal labels remain selectable text. */
.target{min-width:0}.target-silhouette{display:block;width:76px;height:64px;fill:#c26c39;margin:0 0 14px}.target:nth-child(3n+2) .target-silhouette{fill:#408c74}.target:nth-child(3n) .target-silhouette{fill:#d46675}.target strong{line-height:1.5;overflow-wrap:anywhere}
@media(max-width:750px){.target-silhouette{width:62px;height:52px;margin-bottom:11px}.target strong{font-size:21px}}

/* Hopeful everyday-life silhouettes for the six policies. */
.policy-top{gap:10px}.policy-top>span:nth-child(2){flex:1;min-width:0}.policy-silhouette{width:112px;height:77px;display:block;flex:none;color:var(--accent);margin-left:auto}.policy-art-halo{fill:#fff2dd}.policy:nth-child(2) .policy-art-halo,.policy:nth-child(5) .policy-art-halo{fill:#e6f6ee}.policy:nth-child(3) .policy-art-halo,.policy:nth-child(6) .policy-art-halo{fill:#fff0f2}
@media(max-width:750px){.policy-silhouette{width:88px;height:61px}.policy-top{gap:8px}}@media(max-width:360px){.policy-silhouette{width:72px;height:50px}}

/* Match all six collapsed policy cards; anchor the disclosure at the bottom. */
.policy-grid{align-items:stretch;grid-auto-rows:1fr}
.policy{display:flex;flex-direction:column}
.policy-top{flex-shrink:0}
.policy-more{margin-top:auto}
/* Expanded policy text must remain fully readable without stretching every row. */
.policy-grid:has(> .policy > .policy-more[open]){grid-auto-rows:auto}

/* Shared visual language for the three promises. */
.promise-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px}.promise-silhouette{display:block;width:108px;height:75px;flex:none;color:#bd6454}.promise-art-halo{fill:#ffe6db}.promise:nth-child(2) .promise-silhouette{color:#4e8b72}.promise:nth-child(2) .promise-art-halo{fill:#def2e8}.promise:nth-child(3) .promise-silhouette{color:#ae792f}.promise:nth-child(3) .promise-art-halo{fill:#ffefbf}
@media(max-width:750px){.promise-top{min-height:65px}.promise-silhouette{width:96px;height:66px}}

/* Illustrated policy cycle with a return path, reflowing vertically on phones. */
.growth-diagram{position:relative;margin:34px 0 0;padding:0 0 8px}.growth-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;list-style:none;padding:0;margin:0}.growth-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #dbece3;border-radius:22px;padding:25px 20px 23px;box-shadow:0 6px 20px #48745b08}.growth-step-number{position:absolute;top:19px;left:20px;color:#7f8a81;font-size:12px;font-weight:800}.growth-illustration{display:block;width:146px;height:103px;margin:0 0 13px;color:#b87343}.growth-art-disc{fill:#fff3d9}.growth-step:nth-child(2) .growth-illustration{color:#cd6678}.growth-step:nth-child(2) .growth-art-disc{fill:#fff0f1}.growth-step:nth-child(3) .growth-illustration{color:#498d76}.growth-step:nth-child(3) .growth-art-disc{fill:#e9f8f1}.growth-step h3{font-size:21px;line-height:1.6;margin:0 0 12px;letter-spacing:-.035em}.growth-step p{font-size:14px;line-height:1.9;color:#5e6c64;margin:0 0 18px}.growth-step-tag{display:block;font-size:11px;font-weight:700;color:#557261;background:#f0f8f2;border-radius:30px;padding:5px 13px;margin-top:auto}.growth-step:not(:last-child):after{content:'→';position:absolute;right:-33px;top:45%;font-size:29px;color:#69a28a;font-weight:800;line-height:1}.growth-loop-line{position:absolute;left:15%;right:15%;top:145px;bottom:73px;border:3px solid #a2cbb6;border-top:0;border-radius:0 0 30px 30px}.growth-loop-line:before{content:'';position:absolute;left:-7px;top:0;width:11px;height:11px;border-top:3px solid #79ad93;border-left:3px solid #79ad93;transform:rotate(45deg)}.growth-return-label{position:relative;z-index:2;width:fit-content;max-width:calc(100% - 40px);margin:23px auto 0;background:#f0faf6;border:1px solid #a2cbb6;border-radius:40px;padding:11px 23px;color:#355f4a;font-size:16px;text-align:center;line-height:1.8}.growth-return-label>span{font-size:25px;vertical-align:middle;margin-right:5px}.growth-diagram figcaption{text-align:center;font-size:12px;color:#5f7166;margin-top:23px}
@media(max-width:750px){.growth-diagram{padding-left:23px}.growth-steps{grid-template-columns:1fr;gap:32px}.growth-step{padding:22px 17px}.growth-illustration{width:125px;height:88px}.growth-step h3{font-size:22px}.growth-step p{font-size:14px}.growth-step:not(:last-child):after{content:'↓';right:auto;left:calc(50% - 10px);top:auto;bottom:-31px;font-size:26px}.growth-loop-line{left:1px;right:50%;top:115px;bottom:86px;border-right:0;border-radius:20px 0 0 20px}.growth-loop-line:before{left:-7px;top:0}.growth-return-label{margin-top:25px;max-width:100%;padding:10px 14px;font-size:14px}.growth-diagram figcaption{font-size:11px;margin-top:20px}}

.growth-return-track{position:relative;padding-top:25px;padding-bottom:8px}.growth-return-track .growth-loop-line{top:0;bottom:27px}.growth-return-track .growth-return-label{margin-top:0}.growth-return-track .growth-loop-line:before{top:3px}.growth-diagram figcaption{margin-top:15px}@media(max-width:750px){.growth-return-track{position:static;padding-top:25px}.growth-return-track .growth-loop-line{top:115px;bottom:80px}.growth-return-track .growth-loop-line:before{top:0}}
