*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;color:#183e37;background:#f5f7f5}a{color:#146557}header{background:#103a32;color:white;padding:18px max(16px,calc((100% - 1080px)/2));display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}header a{color:white;text-decoration:none}nav{display:flex;gap:15px;flex-wrap:wrap}main{max-width:1080px;margin:auto;padding:26px 16px 70px}.hero{background:linear-gradient(130deg,#164e42,#347e70);color:white;border-radius:20px;padding:30px}.hero h1{font-size:clamp(25px,4vw,40px);line-height:1.35;margin:8px 0}.hero p{max-width:850px;line-height:1.8}.controls{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.controls input,.controls select{border:1px solid #b5c9c3;border-radius:9px;padding:11px;min-width:0;max-width:100%;background:white}.controls input{flex:2 1 200px}.controls select{flex:1 1 140px}button{cursor:pointer;background:#176454;border:0;color:white;border-radius:9px;padding:11px 15px;font:inherit}button.secondary{background:#fff;color:#176454;border:1px solid #176454}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 22px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}.card{background:white;border:1px solid #dce5df;border-radius:16px;padding:18px;box-shadow:0 6px 20px #123a3410}.card h2{font-size:19px;margin:7px 0}.meta{font-size:13px;color:#4e6a61}.badge{display:inline-block;border-radius:30px;background:#e8f1ed;padding:5px 9px;margin:8px 0;font-size:12px}.card label{display:block;font-size:13px;margin-top:11px}.card input,.card select,.card textarea{display:block;width:100%;min-width:0;padding:9px;margin-top:4px;border:1px solid #c6d6cf;border-radius:7px;font:inherit}.card textarea{resize:vertical;min-height:55px}.result{font-weight:700;margin-top:12px;background:#eef5f1;padding:11px;border-radius:8px}.card a{display:inline-block;margin-top:12px;font-size:13px;overflow-wrap:anywhere}.notice{font-size:13px;color:#4d655b;line-height:1.8}.empty{padding:30px;text-align:center}footer{padding:20px;text-align:center;color:#496a60} @media(max-width:390px){main{padding:12px 10px 48px}.hero{padding:19px}.card{padding:13px}.controls{gap:8px}nav{font-size:13px}.toolbar button{width:100%}}