:root{--red:#df0025;--navy:#111f38;--muted:#596474;--line:#dce1e7;--bg:#f4f6f8}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:var(--bg);font:16px/1.7 "Yu Gothic",Meiryo,sans-serif}a{color:inherit}a:hover{color:var(--red)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.demo{padding:8px 20px;text-align:center;background:#fff0d5;color:#634900;font-size:13px;font-weight:bold}header{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:22px 4%;background:white;border-bottom:3px solid var(--red)}.brand img{display:block;width:min(300px,35vw);height:auto}nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:14px}nav form{margin:0}.skip{position:absolute;left:10px;top:-100px}.skip:focus{top:10px;z-index:5;background:white;padding:10px}main{max-width:1200px;margin:48px auto;padding:0 24px;min-height:60vh}.eyebrow{font-size:13px;letter-spacing:2px;color:var(--red);font-weight:bold}h1{font-size:clamp(24px,4vw,36px);line-height:1.35;margin:10px 0 30px}h2{font-size:22px;line-height:1.5}.panel{background:white;border:1px solid var(--line);padding:32px;margin:24px 0}.narrow{max-width:520px}.button{display:inline-block;border:1px solid var(--red);padding:13px 22px;background:var(--red);color:white;text-decoration:none;font-weight:bold;transition:background .2s,transform .2s}.button:hover{background:#b6001f;color:white;transform:translateY(-1px)}.secondary{background:white;color:var(--navy);border-color:var(--navy)}.secondary:hover{background:var(--navy);color:white}.text-button{background:none;border:none;padding:8px 0;text-decoration:underline;color:var(--navy)}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}label{display:block;font-weight:bold;font-size:14px;margin-bottom:18px}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #a7b1bf;border-radius:3px;background:white;padding:12px;min-height:48px;color:var(--navy)}input[type=checkbox]{width:22px;height:22px;accent-color:var(--red)}.check{display:flex;align-items:flex-start;gap:12px}.required{font-size:11px;color:var(--red);margin-left:6px}.hint{font-size:13px;color:var(--muted)}fieldset{border:0;padding:0;margin:0 0 28px}legend{font-size:20px;font-weight:bold;margin-bottom:20px;border-bottom:2px solid var(--red);padding-bottom:8px;width:100%}.notice,.error{padding:18px;border-left:4px solid;background:#eaf7ee;margin:20px 0}.error{background:#fff0f1;color:#a5001b}.demo-code{background:#fff0d5;padding:16px}.demo-code strong{font-size:24px;letter-spacing:4px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cards .panel{margin:24px 0 0}.badge{display:inline-block;background:#eef0f4;padding:4px 10px;font-size:13px;font-weight:bold}.green{background:#e4f5eb;color:#12603a}.filters{display:flex;gap:20px;align-items:end;flex-wrap:wrap;margin:24px 0}.filters label{flex:1;min-width:150px;margin:0}.payment-bar{background:white;border:1px solid var(--line);padding:20px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:20px;position:sticky;top:0;z-index:1}.payment-bar label{margin:0}.table-wrap{overflow:auto;background:white;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}caption{text-align:left;padding:15px;font-weight:bold}th{background:var(--navy);color:white;white-space:nowrap}th,td{padding:14px;border-bottom:1px solid var(--line);vertical-align:middle}td{min-width:100px}td:first-child{min-width:50px}tbody tr:hover{background:#f7f8fa}footer{text-align:center;background:var(--navy);color:white;padding:28px;font-size:12px}:focus-visible{outline:3px solid #257ac0;outline-offset:4px}@media(max-width:700px){header{align-items:flex-start;flex-direction:column;padding:20px}.brand img{width:240px}nav{gap:14px}.fields,.cards{grid-template-columns:1fr}main{margin:30px auto;padding:0 16px}.panel{padding:22px}.payment-bar{position:static;gap:15px}.button{width:100%;text-align:center;margin:6px 0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
nav a, nav .text-button { min-height: 48px; min-width: 48px; display: inline-flex; align-items: center; }
.entry-multi{max-width:960px;margin-inline:auto}.entry-intro{max-width:960px;margin-inline:auto}.entry-multi fieldset{margin-bottom:36px}.entry-multi legend{padding-bottom:14px}.entry-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.entry-category{padding:20px;background:var(--bg);border:1px solid var(--line)}.entry-category .check{min-height:48px;align-items:center;margin-bottom:12px}.entry-category label{margin-bottom:8px}.entry-total{font-size:20px;font-weight:bold;border-top:1px solid var(--line);padding-top:20px}.extra-contact{border-top:1px solid var(--line);margin-top:16px;padding-top:8px}.extra-contact summary{cursor:pointer;min-height:48px;padding:12px 8px;font-weight:bold}.entry-contact-row h3{font-size:17px}.entry-multi input[type=hidden]{display:none}@media(max-width:700px){.entry-category-grid{grid-template-columns:1fr}.entry-multi{padding:20px}.entry-category{padding:16px}.entry-total{font-size:18px}.entry-multi legend{font-size:19px}}
