
#lib-final{color-scheme:light;font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;padding:20px 8px}#lib-final *{box-sizing:border-box}#lib-final .lb-app{background:#fff;color:#171717;max-width:480px;margin:auto;border:1px solid #dedede;border-radius:18px;overflow:hidden;box-shadow:0 12px 38px #00000010;font-size:18px;line-height:1.7}#lib-final .lb-header{padding:20px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd;gap:12px;font-size:16px}#lib-final .lb-logo{font-size:38px;letter-spacing:-2px;font-weight:500}#lib-final .lb-main{padding:26px}#lib-final .lb-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:13px;line-height:1.5;margin-bottom:32px}#lib-final .lb-progress span{padding-bottom:12px;border-bottom:3px solid #ddd;color:#555}#lib-final .lb-progress span[aria-current]{border-color:#111;color:#111;font-weight:500}#lib-final h2{font-size:30px;line-height:1.4;font-weight:500;letter-spacing:.02em;margin:0 0 20px}#lib-final p{margin:0 0 20px}#lib-final .lb-kicker{font-size:16px;margin-bottom:12px}#lib-final .lb-label{display:block;font-weight:500;margin:24px 0 8px}#lib-final select,#lib-final input:not([type=radio]):not([type=checkbox]){display:block;width:100%;min-height:58px;border:1px solid #aaa;border-radius:8px;background:#fff;color:#111;padding:12px;font:inherit;font-size:18px}#lib-final input::placeholder{color:#666}#lib-final fieldset{margin:26px 0 0;padding:0;border:0;min-width:0}#lib-final legend{font-weight:500;margin:0 0 10px}#lib-final .lb-menu{display:flex;align-items:center;gap:12px;margin-bottom:12px;border:1px solid #aaa;border-radius:10px;padding:17px 14px;background:#fff}#lib-final .lb-menu:has(input:checked){border:2px solid #111;padding:16px 13px;background:#f5f5f5}#lib-final input[type=radio],#lib-final input[type=checkbox]{accent-color:#111;width:21px;height:21px;flex-shrink:0}#lib-final .lb-menu strong{font-weight:500;font-size:18px}#lib-final .lb-menu small{display:block;font-size:16px;margin-top:4px;color:#444}#lib-final .lb-price{padding:22px;background:#f3f3f3;border-radius:10px;margin:28px 0}#lib-final .lb-price>span{font-size:16px}#lib-final .lb-price>strong{display:block;font-size:30px;font-weight:500;line-height:1.5}#lib-final .lb-price small{font-size:16px;font-weight:400}#lib-final .lb-price p{font-size:16px;margin:8px 0 0}#lib-final button{font:inherit}#lib-final .lb-primary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;padding:15px 18px;border:0;border-radius:8px;background:#111;color:#fff;font-size:18px;font-weight:500}#lib-final .lb-back{border:0;background:transparent;color:#222;font-size:16px;min-height:52px;padding:12px 0;margin-top:12px;text-align:left}#lib-final .lb-footer{border-top:1px solid #ddd;margin-top:30px;padding-top:22px;font-size:14px;color:#444;text-align:center}#lib-final .lb-note{font-size:16px;color:#444;margin-top:18px}#lib-final .lb-timegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}#lib-final .lb-timegrid label{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 8px;min-height:60px;border:1px solid #aaa;border-radius:8px}#lib-final .lb-timegrid label:has(input:checked){border:2px solid #111;padding:12px 7px;background:#f3f3f3}#lib-final .lb-required{font-size:14px;margin-left:8px;border:1px solid #333;border-radius:4px;padding:2px 6px;font-weight:400}#lib-final details{margin:26px 0;padding:18px 0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;font-size:16px}#lib-final summary{font-size:18px;min-height:44px}#lib-final details p{margin:12px 0}#lib-final .lb-consent{display:flex;gap:12px;align-items:flex-start;font-size:18px;margin:24px 0}#lib-final .lb-consent input{margin-top:7px}#lib-final dl{margin:22px 0}#lib-final dl div{border-bottom:1px solid #ddd;padding:15px 0}#lib-final dt{font-size:16px;color:#444}#lib-final dd{margin:4px 0 0;font-weight:500;overflow-wrap:anywhere}#lib-final .lb-address{background:#f3f3f3;border-radius:8px;padding:18px;margin:22px 0}#lib-final .lb-address strong{font-weight:500}#lib-final .lb-address p{font-size:16px;margin:8px 0 0}#lib-final #lb-result{margin-top:18px;font-weight:500}#lib-final [hidden]{display:none!important}@media(max-width:360px){#lib-final .lb-main{padding:20px}#lib-final .lb-header{padding:18px 20px}#lib-final .lb-progress{gap:5px;font-size:12px}#lib-final h2{font-size:28px}}

.hidden,[hidden]{display:none!important}body{margin:0;background:#f5f5f5}.lb-app{border-radius:0!important;box-shadow:none!important}.lb-menu{cursor:pointer}.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.slot{min-height:60px;background:#fff;color:#111;border:1px solid #999;border-radius:8px;font-size:18px}.slot.selected{background:#111;color:#fff}.lb-primary:disabled{opacity:.55;cursor:wait}#status{font-size:16px;margin-bottom:20px}#review div{border-bottom:1px solid #ddd;padding:14px 0}#review dt{font-size:16px;color:#444}#review dd{margin:4px 0;overflow-wrap:anywhere}.official-lib-logo{width:112px;height:auto;max-width:42%;display:block}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-actions a{display:flex;justify-content:center;align-items:center;border:1px solid #111;border-radius:8px;min-height:56px;font-size:18px;color:#111;text-decoration:none}.contact-help{margin:28px 0 0;border-top:1px solid #ccc;padding-top:20px;font-size:16px}button{cursor:pointer}:focus-visible{outline:3px solid #111;outline-offset:3px}
@media(max-width:600px){html,body{width:100%;margin:0;background:#fff}#lib-final{padding:0;min-height:100vh}#lib-final .lb-app{width:100%;max-width:none;margin:0;border:0;min-height:100vh}#lib-final .lb-header{padding:18px 20px}#lib-final .lb-main{padding:22px 20px}#lib-final .lb-progress{gap:6px;margin-bottom:24px}#lib-final .lb-menu strong{overflow-wrap:anywhere}}

#lib-final .lb-app{max-width:920px}#lib-final .lb-progress{grid-template-columns:repeat(3,1fr)}
#lib-final .week-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px}#lib-final .week-toolbar h3{margin:0;font-size:22px}#lib-final .week-refresh{background:#fff;color:#111;border:1px solid #111;border-radius:8px;padding:10px 16px;min-height:48px}
#lib-final .week-jumps{display:flex;gap:8px;margin:12px 0}#lib-final .week-jumps button{border:1px solid #aaa;background:#fff;color:#111;border-radius:6px;min-height:44px;padding:8px 12px;font-size:16px}
#lib-final .week-wrap{max-height:600px;overflow:auto;border:1px solid #ccc;position:relative;overscroll-behavior:contain}#lib-final .week-table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:16px}#lib-final .week-table th,#lib-final .week-table td{border-right:1px solid #ddd;border-bottom:1px solid #ddd;text-align:center;height:50px;padding:0}#lib-final .week-table thead th{position:sticky;top:0;background:#f5f5f5;z-index:2;height:60px;font-weight:500}#lib-final .week-table th:first-child{width:70px;position:sticky;left:0;background:#f5f5f5;z-index:1}#lib-final .week-table thead th:first-child{z-index:3}#lib-final .week-table .week-sat{background:#eef2f7}#lib-final .week-table .week-sun{background:#f6eeee}#lib-final .week-open{display:block;width:100%;height:50px;border:0;background:#fff;color:#111;font-size:30px;cursor:pointer}#lib-final .week-open:hover,#lib-final .week-open:focus-visible{background:#111;color:#fff}#lib-final .week-closed{background:#f1f1f1;color:#aaa;font-size:24px}#lib-final .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#lib-final .week-range{font-size:16px;margin:0 0 10px}#lib-final .week-help{font-size:16px;color:#555;margin:8px 0}

/* Keep calendar labels readable under WordPress theme table styles. */
#lib-final table.week-table th,
#lib-final table.week-table th *{color:#111!important;-webkit-text-fill-color:#111!important;opacity:1!important;font-weight:700!important;font-size:17px!important;text-shadow:none!important}
#lib-final table.week-table thead th{background:#ededed!important}
#lib-final table.week-table tbody th{background:#f2f2f2!important}
#lib-final table.week-table thead th.week-sat,
#lib-final table.week-table thead th.week-sun{background:#e2e2e2!important}
