@charset "UTF-8";
:root{--ink:#203b33;--green:#1b6049;--green-dark:#123f32;--muted:#6e7b73;--line:#dce3db;--paper:#fafbf8;--soft:#eff3e9;--gold:#b89142}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.8 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #c9d3ca;border-radius:6px;color:var(--ink);background:#fff}textarea{min-height:120px}input[type=checkbox]{width:18px;min-height:18px;vertical-align:middle}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d2a44a;outline-offset:3px}.wrap{max-width:1180px;margin:auto;padding:0 30px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:98px}.brand{display:flex;gap:13px;align-items:center;font-size:21px;font-weight:700;letter-spacing:.04em}.brand small{display:block;font-size:9px;letter-spacing:.18em;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:44px;height:44px;background:var(--green);color:white;border-radius:50% 50% 50% 12px;font-size:23px}nav{display:flex;align-items:center;gap:27px;font-size:13px}.admin-link{color:var(--muted)}.hero{padding:54px 0 35px;background:var(--soft);border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--green);margin:0 0 10px}.hero-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.hero h1{font-size:39px;line-height:1.5;letter-spacing:.04em;margin:4px 0 18px}.hero h1 span{display:block;font-size:22px;font-weight:500;margin-top:3px}.hero-copy{color:#5a6b60;font-size:14px;line-height:2}.hero-emblem{border:1px solid #bfcfba;border-radius:50%;width:154px;height:154px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-right:48px;transform:rotate(-7deg);flex-shrink:0}.hero-emblem span{font-size:31px;font-weight:700;letter-spacing:.2em}.hero-emblem small{text-align:center;font-size:11px;letter-spacing:.1em}.search-panel{background:#fff;border:1px solid var(--line);padding:26px;border-radius:10px;box-shadow:0 7px 25px #183b2510;margin-top:26px}.search-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.search-fields label>span{display:block;font-size:12px;font-weight:700;margin-bottom:9px}.search-fields select{font-size:13px}.search-bottom{display:flex;gap:20px;margin-top:18px}.keyword{flex:1}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;min-height:46px;padding:11px 25px;background:var(--green);border:1px solid var(--green);border-radius:6px;color:#fff;font-size:14px;font-weight:700;text-decoration:none}.button:hover{background:var(--green-dark);text-decoration:none}.button.secondary{background:#fff;color:var(--green)}.button.danger{background:#963c30;border-color:#963c30}.search-note{font-size:11px;color:var(--muted);margin-bottom:0}.section{padding-top:46px;padding-bottom:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.section-heading h2{margin:0}.section-heading>a{font-size:12px;color:var(--green)}h1{font-size:30px;line-height:1.6}h2{font-size:23px;line-height:1.5;letter-spacing:.025em}h3{font-size:17px;line-height:1.7;margin:10px 0 20px}.purpose-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.purpose-grid>a{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:white;border-radius:7px;padding:18px 14px;font-size:12px;font-weight:700}.purpose-grid>a>span:last-child{margin-left:auto}.purpose-number{color:#869c80;font-size:11px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.subsidy-card{display:flex;flex-direction:column;padding:22px;background:#fff;border:1px solid var(--line);border-radius:9px;transition:border-color .15s}.subsidy-card:hover{border-color:#86a590}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;background:#edf0ee;color:#5e6c63}.badge.open{background:#e6f2e8;color:#246945}.badge.closing_soon{background:#fff0dc;color:#956013}.badge.scheduled{background:#e7eef5;color:#43617e}.badge.closed,.badge.suspended{background:#f2e9e6;color:#886258}.organization{font-size:12px;color:var(--muted);margin:17px 0 0}.amount{display:flex;flex-direction:column;padding-bottom:15px;border-bottom:1px solid var(--line);margin-top:auto}.amount>span{font-size:11px;color:var(--muted)}.amount strong{font-size:24px;letter-spacing:.02em}.card-facts{font-size:12px;margin:15px 0}.card-facts>div{display:flex;justify-content:space-between;gap:12px;margin:5px 0}.card-facts dt{color:var(--muted);flex-shrink:0}.card-facts dd{margin:0;text-align:right}.card-facts dd small{display:block;color:#9a6d30}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags a{background:#f1f4ed;padding:3px 8px;font-size:11px;border-radius:3px}.business-types{font-size:10px;color:var(--muted);line-height:1.9}.business-types span{display:block}.card-more{font-size:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-weight:700;color:var(--green)}.area-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.area-grid a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 4px;font-size:13px}.area-grid span{color:#90a189}.site-footer{background:#edf1e9;margin-top:62px;padding:38px 0 22px;border-top:1px solid var(--line)}.site-footer p{font-size:11px;max-width:950px;color:#68766b}.footer-bottom{border-top:1px solid #d1dacd;margin-top:22px;padding-top:17px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.empty{padding:40px;background:#fff;border:1px dashed var(--line);border-radius:7px}.preview-note{background:#fff1cb;text-align:center;padding:7px 15px;font-size:11px;color:#755619}.breadcrumbs{font-size:11px;color:var(--muted);margin-bottom:25px}.result-heading{margin-top:35px}.result-heading strong{color:var(--green)}.pagination{justify-content:center;margin-top:28px}.pagination a{border:1px solid var(--line);padding:7px 15px}.pagination [aria-current]{background:var(--green);color:white}.detail{max-width:920px}.detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);background:var(--soft);padding:24px;margin:25px 0;gap:20px;border-radius:8px}.detail-metrics span,.detail-metrics strong,.detail-metrics small{display:block}.detail-metrics span{font-size:12px;color:var(--muted)}.detail-metrics strong{font-size:23px}.detail-section{border-bottom:1px solid var(--line);padding:18px 0 28px}.detail-list>div{display:grid;grid-template-columns:190px 1fr;gap:22px;padding:10px 0;border-bottom:1px solid #dae0d5}.detail-list dt{color:var(--muted);font-size:13px}.detail-list dd{margin:0}.notice{background:#fbf4e5;padding:25px;border-left:4px solid #c8a151;border-radius:5px;margin:30px 0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.admin-nav{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding-top:20px;font-size:13px}.admin-nav form{margin-left:auto}.link-button{border:0;background:none;color:var(--green);padding:0}.login-box{max-width:480px;margin:65px auto;padding:30px;border:1px solid var(--line);background:#fff;border-radius:8px}.login-box label{display:block;margin-bottom:20px}.errors{background:#ffebe5;border-left:4px solid #ad4636;padding:18px;color:#773b30}.success{background:#e7f3e8;padding:14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{border:1px solid var(--line);background:#fff;padding:20px;border-radius:7px}.stat strong{display:block;font-size:32px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px;font-size:13px}th{background:var(--soft)}td a{color:var(--green);text-decoration:underline}.edit-form{max-width:960px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:block;margin-bottom:14px}.field>span{display:block;font-size:13px;font-weight:700;margin-bottom:6px}fieldset{border:1px solid var(--line);border-radius:6px;padding:20px;margin:24px 0;background:#fff}legend{font-weight:700;padding:0 8px}.checkbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:13px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.source-text{max-height:65vh;overflow:auto;background:#fff;border:1px solid var(--line);padding:16px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.sr-only,.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;z-index:99;background:white;padding:10px}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.purpose-grid{grid-template-columns:repeat(2,1fr)}.area-grid{grid-template-columns:repeat(4,1fr)}.search-fields{grid-template-columns:repeat(2,1fr)}.hero-emblem{margin-right:0}.header-inner{flex-wrap:wrap;padding-top:18px;padding-bottom:15px}.hero h1{font-size:32px}.review-grid{grid-template-columns:1fr}}
@media(max-width:600px){.wrap{padding-left:18px;padding-right:18px}.header-inner{gap:12px}.brand{font-size:18px}.brand-mark{width:37px;height:37px}nav{gap:22px;font-size:11px;flex-wrap:wrap}.hero{padding:30px 0 23px}.hero h1{font-size:27px}.hero h1 span{font-size:17px;margin-top:8px}.hero-copy{font-size:12px}.hero-emblem{display:none}.search-panel{padding:17px;margin-top:20px}.search-fields{gap:15px 10px}.search-fields label>span{font-size:11px}.search-bottom{flex-direction:column;gap:12px}.cards{grid-template-columns:1fr}.purpose-grid{gap:8px}.purpose-grid>a{padding:14px 10px;font-size:11px}.purpose-number{display:none}.section{padding-top:34px}.section-heading{gap:10px}h1{font-size:24px}h2{font-size:19px}.section-heading>a{font-size:11px}.area-grid{grid-template-columns:repeat(3,1fr)}.detail-metrics{grid-template-columns:1fr;padding:20px}.detail-list>div{grid-template-columns:1fr;gap:3px}.form-grid,.checkbox-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.login-box{margin:35px 18px;padding:22px}.notice{padding:18px}.admin-nav{gap:14px}.footer-bottom{gap:20px}.small{font-size:11px}}
