:root{font-family:Pretendard,sans-serif;color:#163c3b;background:#f5f5ed;line-height:1.75;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}header,main,footer{max-width:1180px;margin:auto;padding:25px 30px}header,footer{display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;text-decoration:none}.brand span{font-size:13px;font-weight:500;border-left:1px solid #a8bbb1;padding-left:14px}.intro{padding:45px 0 40px}.eyebrow,.category{font-size:13px;font-weight:700;color:#487062;letter-spacing:.04em}h1{font-size:clamp(36px,5.7vw,68px);line-height:1.22;letter-spacing:-.055em;margin:20px 0 24px}.lead{font-size:18px;color:#46625b}nav{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}nav a{padding:8px 15px;background:#e5ece2;border:1px solid #cad8c8;border-radius:24px;text-decoration:none;font-size:14px;min-height:44px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}article{position:relative;background:#fff;border:1px solid #d3dfd6;border-radius:18px;padding:28px;display:flex;flex-direction:column;scroll-margin-top:24px}article h2{font-size:29px;letter-spacing:-.04em;margin:3px 0 8px}article p{margin:10px 0;max-width:43ch}.number{position:absolute;right:25px;top:26px;font-size:13px;color:#748c80}.note{font-size:13px;color:#61746a}.links{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:auto;padding-top:20px;font-size:14px}.links a{min-height:44px;display:inline-flex;align-items:center}.links .primary{background:#154e43;color:white;border-radius:9px;padding:10px 15px;text-decoration:none;font-weight:700;gap:12px}.help{margin-top:38px;padding:24px 0;border-top:1px solid #c8d6ca;max-width:800px}.help h2{font-size:21px}.help p,footer{font-size:14px;color:#5c7067}footer{padding-bottom:35px;border-top:1px solid #c8d6ca}.skip{position:absolute;left:12px;top:-100px}.skip:focus{top:10px;background:white;padding:10px}a:focus-visible{outline:3px solid #bb761d;outline-offset:4px}p,a{overflow-wrap:anywhere}@media(max-width:640px){header,main,footer{padding:20px}.brand span{display:none}header>a:last-child{font-size:13px}.intro{padding-top:22px}.grid{grid-template-columns:1fr}article{padding:23px}.lead{font-size:16px}h1{font-size:36px;word-break:keep-all}.links{gap:12px}footer{align-items:flex-start}nav{gap:7px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Free-app cards precede the existing five public service links. */
header{flex-wrap:wrap;min-height:88px}header>a{max-width:100%;overflow-wrap:anywhere}
.brand{max-width:100%;flex-wrap:wrap}.brand span{white-space:normal;overflow-wrap:anywhere}
nav a{font-size:.9375rem;line-height:1.6;min-height:48px;max-width:100%;border-radius:10px}
#services{scroll-margin-top:24px}.help{max-width:100%}.help p,.note,footer{font-size:.9375rem;line-height:1.8}
.links a{font-size:.9375rem;line-height:1.6;min-height:48px;max-width:100%;overflow-wrap:anywhere}
footer{flex-wrap:wrap}article{min-width:0}article h2{overflow-wrap:anywhere}
@media(max-width:640px){header,main,footer{padding-left:20px;padding-right:20px}h1{font-size:2.25rem;overflow-wrap:anywhere}.lead{font-size:1rem}}

/* Choose a task before reading the full catalogue. */
.intro nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.intro nav a{display:flex;align-items:center;min-height:52px;font-size:1rem;padding:12px 16px}.use-steps{border-top:1px solid #dbe4de;margin-top:18px}.use-steps summary{cursor:pointer;padding:14px 0;min-height:48px;font-size:1rem;font-weight:600}.use-steps ol{margin:0 0 16px;padding-left:24px;font-size:1rem;line-height:1.8}.use-steps li+li{margin-top:8px}.use-steps summary:focus-visible{outline:3px solid #386458;outline-offset:4px}@media(max-width:640px){.intro nav{grid-template-columns:repeat(2,minmax(0,1fr))}.intro nav a{font-size:1rem;padding:12px;min-height:56px}}@media(max-width:360px){.intro nav{grid-template-columns:1fr}}
#services > section { padding-block: 1.75rem; scroll-margin-top: 1rem; }
#services > section > h2 { font-size: clamp(1.45rem, 3vw, 2rem); margin: 0 0 1rem; color: #173c36; }
#services article h3 { font-size: clamp(1.3rem, 2.5vw, 1.8rem); line-height: 1.32; margin: .35rem 0; max-width: 85%; overflow-wrap: anywhere; }
#services article:lang(ja), #services article:lang(zh) { line-break: strict; }
