*{box-sizing:border-box}html{font-family:"Yu Gothic UI","Noto Sans JP",sans-serif;color:#172033;background:#f6f7fa}body{margin:0;font-size:16px;line-height:1.75}a{color:#715900}header{background:#07152e;color:white;padding:14px max(20px,calc((100% - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}header a{color:white;text-decoration:none}.brand{font-size:1.3rem;font-weight:800;letter-spacing:.08em}.brand:before{content:"◆";color:var(--gold);margin-right:.5rem}nav{display:flex;gap:18px}main{max-width:1120px;margin:auto;padding:34px 20px 70px;min-height:72vh}footer{background:#07152e;color:#ccd3df;text-align:center;padding:28px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:5}.hero{background:linear-gradient(135deg,#07152e,#19335b);color:white;padding:clamp(35px,8vw,90px);border-radius:16px;margin-bottom:36px}.hero h1{font-size:clamp(2rem,6vw,4.6rem);line-height:1.1;margin:.2em 0}.hero>p:first-child{color:var(--gold);font-weight:bold;letter-spacing:.15em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:16px 0 36px}.card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 4px 18px #12203816}.card a{text-decoration:none;color:inherit}.card img,.placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;background:#dfe4ea;display:grid;place-items:center;color:#667}.pad{padding:16px}.pad h3{margin:.4em 0}.score{color:#8a6900;font-weight:800}.button,button{display:inline-block;border:0;border-radius:7px;padding:11px 18px;min-height:44px;background:var(--gold);color:#111;font-weight:700;text-decoration:none;cursor:pointer;font-size:1rem}.secondary{background:#dce3eb}.danger{background:#b91c1c;color:white}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.center{text-align:center}.filters,.panel,form{background:white;padding:20px;border-radius:10px;margin:15px 0}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px}.filters>*{min-width:0}label{display:block;font-weight:700;margin:10px 0}input,textarea,select{display:block;width:100%;font:inherit;font-size:16px;padding:10px;border:1px solid #aab3c0;border-radius:6px;background:white}textarea{min-height:110px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.empty,.notice,.success,.error{padding:20px;border-radius:9px;background:#e8edf3}.notice{background:#fff7d6}.success{background:#dff7e7}.error{background:#fee2e2;color:#8b1010}.pager{justify-content:center}.pager a{padding:8px 13px;background:white}.pager .active{background:#07152e;color:white}.review{max-width:820px;margin:auto;background:white;padding:clamp(18px,5vw,50px);border-radius:14px}.review h1{font-size:clamp(2rem,7vw,4rem);line-height:1.15}.cover,figure img{display:block;max-width:100%;height:auto;margin:auto}.meta{display:flex;gap:16px;flex-wrap:wrap;border-block:1px solid #ddd;padding:12px 0}.meta strong{color:#8a6900;font-size:1.4rem}.lead{font-size:1.15rem}.bodytext{white-space:normal}.video iframe{width:100%;aspect-ratio:16/9;border:0}.note{display:block}.comment{border-left:4px solid var(--gold);background:white;padding:14px;margin:10px 0}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;background:white}th,td{text-align:left;padding:12px;border-bottom:1px solid #ddd}.narrow{max-width:480px;margin:30px auto}.block{border:1px solid #ccd3df;border-radius:8px;padding:14px;margin:12px 0;background:#fafbfd}.blockhead{display:flex;justify-content:space-between;gap:8px}.blockhead button{padding:6px 10px;min-height:44px}fieldset{border:1px solid #ccd3df;border-radius:8px;margin:22px 0}.save{font-size:1.1rem;padding:13px 30px}*:focus-visible{outline:3px solid #1473e6;outline-offset:2px}@media(max-width:760px){header{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filters,.grid{grid-template-columns:1fr}.review{margin-inline:-8px}.actions button{flex:1}.tablewrap{margin-inline:-12px}}@media(max-width:420px){main{padding-inline:14px}.cards{grid-template-columns:1fr}.hero{padding:30px 20px}.brand{font-size:1.1rem}nav{width:100%;justify-content:space-between}.blockhead{flex-direction:column}}
