.clinic-calendar{max-width:700px;margin:20px auto;color:#111;background:#fff;font-family:Arial,"Noto Sans JP",sans-serif;container-type:inline-size}.clinic-calendar *{box-sizing:border-box}.clinic-calendar table{width:100%;table-layout:fixed;border-collapse:collapse;margin:0;border:0;font-size:clamp(10px,2.1cqw,16px)}.clinic-calendar caption{font-size:clamp(18px,4.3cqw,30px);font-weight:700;padding:10px 0;line-height:1.2;color:#111}.clinic-calendar caption strong{font-size:1.6em;margin:0 .25em}.clinic-calendar th,.clinic-calendar td{border:1px solid #ccc;padding:0;text-align:center;vertical-align:middle;background:#fff;line-height:1.15}.clinic-calendar thead th{background:#505050;color:white;height:25px;font-weight:bold}.clinic-calendar thead th:first-child{background:white;border:0}.clinic-calendar thead th:nth-child(2){background:#ed0000}.clinic-calendar thead th:last-child{background:#4c63ff}.clinic-calendar .cc-label-col{width:22%}.clinic-calendar .cc-date td{height:20px;text-align:left;padding-left:8px;font-weight:bold}.clinic-calendar .cc-date th{border:0}.clinic-calendar .cc-sun{color:red}.clinic-calendar .cc-sat{color:#586cff}.clinic-calendar .cc-label{font-size:clamp(8px,1.65cqw,12px);font-weight:bold;padding:4px 1px;line-height:1.2}.clinic-calendar .cc-status{height:48px;font-size:clamp(20px,4.5cqw,32px);font-weight:500}.clinic-calendar .cc-closed{color:#ffadad;font-weight:bold}.clinic-calendar .cc-empty{background:#fafafa}.clinic-calendar nav{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:12px 0}.clinic-calendar button{border:0;background:transparent;color:#16466a;text-decoration:underline;font-size:18px;font-weight:700;cursor:pointer;padding:5px;font-family:inherit}.clinic-calendar button:focus-visible{outline:2px solid #16466a;outline-offset:3px}.clinic-calendar .cc-note{font-size:12px;color:#555;text-align:center;margin:8px}.clinic-calendar [hidden]{display:none!important}@media(max-width:420px){.clinic-calendar .cc-status{height:39px}.clinic-calendar .cc-date td{padding-left:4px;height:18px}.clinic-calendar button{font-size:15px}}