
:root{--navy:#102a43;--blue:#176b9a;--sky:#eaf4fa;--paper:#fff;--ink:#172b3a;--muted:#526777;--line:#d4e2eb;--accent:#2d83b8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sky);color:var(--ink);font-family:system-ui,-apple-system,"Yu Gothic","Meiryo",sans-serif;line-height:1.8}
a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}button,input,textarea{font:inherit}
.wrap{width:min(1120px,90%);margin:auto}header{background:var(--paper);border-bottom:1px solid var(--line)}.head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:850;font-size:1.25rem;letter-spacing:.04em;color:var(--navy)}.brand span{color:var(--blue)}nav{display:flex;gap:clamp(12px,2vw,28px);font-size:.82rem;font-weight:750;color:var(--muted);letter-spacing:.08em}
.hero{background:linear-gradient(125deg,#102a43,#176b9a);color:white;padding:clamp(65px,10vw,120px) 0}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:800;color:#b9d9ed}.hero h1{font-size:clamp(3.2rem,10vw,7.6rem);line-height:.98;letter-spacing:-.065em;margin:18px 0}.hero h1 small{display:block;font-size:.22em;letter-spacing:.08em;margin-top:22px}.hero p{max-width:610px;color:#e0edf5;font-size:1rem}.date{display:inline-block;border:1px solid #9dc7df;padding:8px 14px;border-radius:3px;font-size:.84rem;font-weight:750;margin-top:15px}
main{padding:65px 0 90px}.section{margin-bottom:70px}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:24px}.section-title h2{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;color:var(--navy);margin:0;letter-spacing:-.04em}.section-title span{font-size:.75rem;color:var(--muted);letter-spacing:.12em;font-weight:800}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 5px 18px #153b5510}.card .tag{font-size:.7rem;color:var(--blue);font-weight:850;letter-spacing:.13em}.card h3{font-size:1.15rem;color:var(--navy);margin:10px 0 6px}.card p{font-size:.91rem;color:var(--muted);margin:0}
.post{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.post time{font-size:.8rem;color:var(--muted);font-weight:750}.post h3{margin:0 0 6px;color:var(--navy);font-size:1.05rem}.post p{margin:0;color:var(--muted);white-space:pre-wrap}
footer{background:var(--navy);color:#dce9f1;padding:28px 0;font-size:.82rem}.foot{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.panel{background:white;border:1px solid var(--line);border-radius:8px;padding:clamp(22px,4vw,38px);box-shadow:0 8px 28px #153b5512}.panel h1,.panel h2{color:var(--navy);margin-top:0}.field{margin:16px 0}.field label{display:block;font-weight:750;margin-bottom:6px}.field input,.field textarea{width:100%;border:1px solid #b7cbd8;border-radius:5px;padding:12px;background:#fff;color:#172b3a}.field textarea{min-height:150px;resize:vertical}
.btn{border:0;border-radius:5px;background:var(--blue);color:white;padding:11px 18px;font-weight:800;cursor:pointer}.btn.secondary{background:#e7f0f6;color:var(--navy);border:1px solid var(--line)}.btn.danger{background:#a33b45}.muted{color:var(--muted);font-size:.88rem}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:22px 0}.item{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;align-items:center}.item h3{margin:0;color:var(--navy)}.error{color:#a33b45;font-weight:700}.success{color:#176b54;font-weight:700}
@media(max-width:760px){.head{align-items:flex-start;flex-direction:column;padding:16px 0}nav{flex-wrap:wrap}.cards{grid-template-columns:1fr}.post{grid-template-columns:1fr;gap:4px}.hero h1{font-size:clamp(3rem,16vw,5rem)}}
