:root{--teal:#30949b;--dark:#216b72;--ink:#273f43;--pale:#edf7f7;--line:#dce8e8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fafcfc;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.8}a{color:var(--dark);text-underline-offset:4px}.trial{text-align:center;padding:9px 20px;background:#eef5f5;font-size:14px;color:#52686b}header{background:var(--teal);color:white}.header-inner{max-width:1120px;margin:auto;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:white;text-decoration:none;line-height:1.5}.brand span{display:block;font-size:14px;letter-spacing:.12em}.brand strong{font-size:27px;font-weight:500;letter-spacing:.1em}.home{color:white;font-size:14px}main{max-width:1120px;margin:auto;padding:38px 30px 65px}.title p{margin:5px 0}.eyebrow{font-size:14px;color:var(--dark);font-weight:700;letter-spacing:.1em}h1{font-size:32px;font-weight:500;letter-spacing:.08em;margin:7px 0 9px}h2{font-size:23px;font-weight:600;margin:0 0 10px}h3{font-size:16px;margin:10px 0}p{margin:9px 0}.steps{display:flex;padding:0;list-style:none;max-width:730px;margin:28px 0;gap:8px}.steps li{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;border-bottom:3px solid var(--line);padding:9px;color:#788c90;font-size:15px}.steps .active{color:var(--dark);border-color:var(--teal);font-weight:700}.steps .done{border-color:#a4d4d7;color:var(--dark)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:30px}.section-no{color:var(--teal);font-size:14px;letter-spacing:.08em;margin-bottom:6px}.muted{color:#61787c;font-size:14px}.symptoms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0}.symptom{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:17px 16px;border-radius:8px;cursor:pointer;background:#fff;font-weight:600;transition:.15s}.symptom:has(input:checked){background:var(--pale);border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}input[type=checkbox],input[type=radio]{accent-color:var(--teal);width:19px;height:19px;flex-shrink:0}button,.primary{font:inherit;cursor:pointer;border:0;border-radius:7px;padding:13px 22px;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;line-height:1.6}.primary{background:var(--teal);color:white;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:white;border:1px solid var(--line);color:var(--dark)}button:hover:not(:disabled),.primary:hover{filter:brightness(.95)}:focus-visible{outline:3px solid #df9c36;outline-offset:4px}.actions{display:flex;gap:12px;margin-top:26px;justify-content:space-between}.actions .primary{margin-left:auto}.side-card{background:var(--pale);border-radius:14px;padding:24px}.side-card h2{font-size:18px;line-height:1.8}.side-card p{font-size:14px}.side-line{border-top:1px solid #cbe2e3;margin:22px 0}.mini-note{font-size:14px;color:#60787c;margin:18px 4px}.notice{border-left:3px solid var(--teal);background:var(--pale);padding:13px 16px;font-size:14px;margin:20px 0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.field{display:block;font-weight:600}.field.full{grid-column:1/-1}.required{font-size:12px;color:var(--dark);background:var(--pale);padding:2px 5px;margin-left:8px}.field input,.field select,.field textarea{display:block;width:100%;font:inherit;border:1px solid #bccfd1;border-radius:6px;background:white;color:var(--ink);padding:11px 12px;margin-top:7px;font-weight:400}.field textarea{min-height:95px;resize:vertical}.checkline{display:flex;align-items:flex-start;gap:8px;font-size:14px;margin-top:20px}.phone{text-align:center;padding:25px 0}.phone .number{font-size:30px;display:block;margin:7px 0;color:var(--dark);font-weight:600;text-decoration:none}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:18px 0}.day{padding:10px 2px;font-size:14px;border:1px solid var(--line);background:white;color:var(--ink);display:block;text-align:center}.day small{display:block;font-size:12px}.day.selected,.slot.selected{background:var(--teal);color:white;border-color:var(--teal)}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 8px}.week-nav button{padding:7px 13px;font-size:14px}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 22px}.slot{border:1px solid var(--line);background:white;padding:10px 6px;color:var(--ink)}.slot small{display:block;font-size:12px}.slot:disabled{background:#f0f3f3;color:#7e8a8c;opacity:1}.selection{padding:12px 16px;background:var(--pale);border-radius:7px;margin-top:15px}dl{margin:20px 0}dl div{display:grid;grid-template-columns:110px 1fr;padding:12px 0;border-bottom:1px solid var(--line);gap:15px}dt{color:#647b7e;font-size:14px}dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.success{text-align:center;padding:16px 0}.success-mark{width:64px;height:64px;margin:0 auto 20px;background:var(--pale);color:var(--dark);border-radius:50%;font-size:32px;line-height:64px}footer{background:#edf3f3;border-top:1px solid var(--line);text-align:center;padding:28px;font-size:14px}footer strong{font-weight:500}footer p{margin:5px}#surface{min-width:0}.error{color:#a43727;font-size:14px}.sample{padding:5px 0;background:none;color:var(--dark);font-size:14px;text-decoration:underline}.date-title{font-size:18px;font-weight:600} @media(max-width:780px){.layout{grid-template-columns:1fr}aside{display:none}main{padding:25px 18px 45px}.header-inner{padding:20px 18px}.brand strong{font-size:23px}.home{font-size:12px}.trial{font-size:12px}.card{padding:23px 19px}h1{font-size:27px}.steps{gap:4px}.steps li{font-size:14px;gap:5px}.symptoms{gap:9px}.symptom{padding:13px 10px;font-size:15px}.fields{grid-template-columns:1fr;gap:17px}.day{font-size:13px}.days{gap:4px}.slots{gap:7px}dl div{grid-template-columns:85px 1fr;gap:8px}.actions{gap:8px}button,.primary{padding:12px 16px}}
.admin-main{max-width:1200px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.stats>div{background:var(--pale);border:1px solid var(--line);padding:17px 22px;border-radius:10px}.stats span{display:block;font-size:14px}.stats strong{font-size:30px;color:var(--dark)}.stats small{font-size:14px}.admin-tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:22px 0}.admin-tools label{font-size:14px}.admin-tools input,.admin-tools select{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.list-heading{display:flex;justify-content:space-between;align-items:center}.reservation-row{display:block;width:100%;border:1px solid var(--line);background:white;text-align:left;color:var(--ink);margin-top:12px;padding:17px}.reservation-row p{margin:5px 0}.reservation-row.current{background:var(--pale);border-color:var(--teal)}.reservation-row>div{display:flex;justify-content:space-between;gap:8px}.badge{color:var(--dark);background:#dcefee;padding:3px 8px;border-radius:4px;font-size:12px}.badge.cancelled{background:#eceff0;color:#61777b}.empty{padding:25px 0}.admin-grid dd{font-size:15px}header nav{display:flex;gap:12px;flex-wrap:wrap} @media(max-width:780px){.stats{gap:7px}.stats>div{padding:11px}.stats span{font-size:12px}.stats strong{font-size:25px}.admin-grid{grid-template-columns:1fr}.admin-tools{gap:10px}.header-inner{align-items:flex-start}header nav{display:block;text-align:right;max-width:130px}header nav a{display:block}.admin-main{padding-top:22px}}
.processing-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.processing-tabs button{background:white;border:1px solid var(--line);color:var(--dark);gap:9px;padding:11px 17px}.processing-tabs button.active{background:var(--teal);color:white;border-color:var(--teal)}.processing-tabs span{border-radius:20px;background:#edf5f5;color:var(--dark);padding:0 8px;font-size:14px}.reservation-item{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:8px;margin-top:13px;background:white;padding:13px}.reservation-item.current{background:var(--pale);border-color:var(--teal)}.reservation-info{flex:1;min-width:0;background:transparent;padding:3px;text-align:left;display:block;color:var(--ink)}.reservation-info p{margin:5px 0}.processing-control{font-size:13px;flex-shrink:0;color:var(--dark)}.processing-control select{display:block;font:inherit;font-size:15px;padding:9px 6px;margin-top:5px;border:1px solid #abcace;border-radius:6px;background:white;color:var(--dark)} @media(max-width:780px){.processing-tabs{gap:6px}.processing-tabs button{font-size:14px;padding:9px 12px}.reservation-item{gap:8px;padding:12px 9px}.processing-control select{font-size:14px}.reservation-info strong{font-size:15px}.reservation-info p{font-size:14px}}
