:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:#233d3e;background:#f5f7f4;font-synthesis:none;--accent:#23746b;--muted:#617373;--line:#dce5df;--paper:#fff}*{box-sizing:border-box}body{margin:0;line-height:1.8}button,input,textarea,select{font:inherit}button,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #438d85;outline-offset:3px}.shell{max-width:900px;margin:auto;padding:0 28px}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.site-header .shell{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;padding-bottom:20px}.brand{font-size:24px;font-weight:750;letter-spacing:.08em;margin:0}.brand span{font-size:12px;font-weight:450;letter-spacing:.04em;border-left:1px solid #bdcec7;margin-left:18px;padding-left:18px}.header-note{color:var(--muted);font-size:12px}.intro{padding:46px 0 24px}.eyebrow{color:var(--accent);font-size:11px;font-weight:750;letter-spacing:.16em;margin:0 0 10px}h1{font-size:35px;line-height:1.55;letter-spacing:.035em;font-weight:650;margin:0 0 16px}.intro>p:last-child{color:var(--muted);font-size:14px}.mobile-break{display:none}.steps{list-style:none;display:flex;justify-content:space-between;padding:0 0 22px;margin:0 0 26px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.steps li{display:flex;align-items:center;gap:9px}.steps span{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid #cfdbd4;border-radius:50%;font-size:12px}.steps [aria-current]{color:var(--accent);font-weight:700}.steps [aria-current] span{background:var(--accent);border-color:var(--accent);color:#fff}.notice{background:#eaf1ec;border:1px solid #dce7de;border-radius:12px;padding:17px 20px;font-size:13px}.notice p{margin:4px 0 0;color:#536c62}.status{padding:15px 18px;border-left:3px solid var(--accent);font-size:14px;background:#edf4f0;margin:20px 0}.status.error{background:#fff1e9;border-color:#aa4b28;color:#763e28}.status:empty{display:none}form>fieldset{border:0;padding:0;margin:0;min-width:0}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:30px;margin-top:22px}.section-title{display:flex;align-items:center;gap:13px}.section-title>span{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.1em}h2{font-size:21px;line-height:1.6;margin:0;font-weight:650}.section-note{font-size:13px;color:var(--muted);margin:10px 0 21px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.field-grid>.full-width{grid-column:1/-1}.field{margin-top:20px;min-width:0}.field>label,.question>legend{display:block;font-weight:600;font-size:14px;margin-bottom:8px}.required{display:inline-block;vertical-align:middle;border-radius:4px;background:#e6f0eb;color:#2d7465;font-size:10px;line-height:1.7;padding:1px 6px;margin-left:5px;white-space:nowrap;font-weight:600}.optional{color:var(--muted);font-size:11px;font-weight:400;margin-left:5px}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=password],textarea,select{display:block;width:100%;min-width:0;min-height:47px;padding:10px 12px;border:1px solid #bccfc5;border-radius:7px;background:#fbfcfa;color:#233d3e;font-size:16px;line-height:1.5}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;margin:3px 8px 0 0}input:disabled,textarea:disabled,select:disabled{background:#f0f2ef;color:#687670}.hint{font-size:12px;font-weight:400;color:var(--muted);line-height:1.75;margin:7px 0 0}.question{border:0;padding:0;min-width:0;margin:25px 0 0}.question>legend{padding:0}.choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choices>label{display:flex;align-items:flex-start;font-size:14px;padding:11px 12px;background:#f5f8f4;border:1px solid #e5ebe5;border-radius:7px;cursor:pointer}.compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.compact>label{font-size:13px}.privacy{border-top:1px solid var(--line);margin-top:25px;padding-top:22px;font-size:13px}.privacy p{color:var(--muted)}.consent{display:flex;align-items:flex-start;padding:14px;background:#f1f6f1;border-radius:7px;cursor:pointer}.consent .required{margin-top:3px}.actions{text-align:center;margin:26px 0 35px}.primary,.secondary{border-radius:8px;padding:13px 23px;min-height:49px;border:1px solid var(--accent);font-size:15px;font-weight:600}.primary{background:var(--accent);color:white;min-width:260px}.primary span{margin-left:20px}.primary:hover{background:#1d625b}.secondary{color:var(--accent);background:white}.row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:0}.review-list{display:grid;grid-template-columns:210px 1fr;font-size:14px;border-top:1px solid var(--line);margin:24px 0}.review-list dt,.review-list dd{border-bottom:1px solid var(--line);padding:14px 0;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.review-list dt{color:var(--muted);padding-right:18px}.complete{text-align:center;padding:46px 28px}.complete-mark{display:grid;place-items:center;font-size:26px;background:#e7f3ec;color:var(--accent);border-radius:50%;width:58px;height:58px;margin:0 auto 20px}.receipt{display:inline-block;background:#f3f6f2;padding:14px 22px;border-radius:8px}.receipt strong{display:block;overflow-wrap:anywhere;font-size:18px}.page-footer{text-align:center;font-size:11px;color:var(--muted);padding-top:28px;padding-bottom:30px}.page-footer p{margin:4px 0}.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}[hidden]{display:none!important}@media(max-width:640px){.shell{padding-left:18px;padding-right:18px}.header-note{display:none}.brand{font-size:22px}.brand span{margin-left:12px;padding-left:12px}.intro{padding-top:30px}h1{font-size:29px}.mobile-break{display:block}.intro>p:last-child{font-size:13px}.steps{font-size:12px}.steps li{gap:6px}.steps span{width:25px;height:25px}.panel{padding:23px 18px;border-radius:12px}.field-grid{grid-template-columns:1fr}.choices{grid-template-columns:1fr}.compact{grid-template-columns:1fr 1fr}.compact>label:nth-child(3):last-child{grid-column:1/-1}h2{font-size:19px}.notice{padding:14px 16px}.primary{min-width:0;width:100%}.row>*{width:100%}.review-list{display:block}.review-list dt{padding:14px 0 0;border-bottom:0;font-size:12px}.review-list dd{padding:4px 0 14px}.complete{padding:32px 20px}.consent{flex-wrap:wrap}.consent .required{margin-left:26px}.question>legend{font-size:14px}}

.postal-status:empty{display:none}.postal-candidates{padding:15px;background:#f1f6f1;border:1px solid var(--line);border-radius:8px}.postal-candidate-controls{display:flex;align-items:start;gap:10px}.postal-candidate-controls select{flex:1}.postal-candidate-controls button{flex-shrink:0;font-size:12px;padding:10px 12px}.postal-candidates .hint{margin-bottom:0}@media(max-width:640px){.postal-candidate-controls{display:grid;grid-template-columns:minmax(0,1fr)}.postal-candidate-controls button{width:100%}}

.birth-date-field{border:0;padding:0;min-width:0}.birth-date-field>legend{font-size:14px;font-weight:600;padding:0;margin-bottom:8px}.birth-date-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px}.birth-date-controls>div{min-width:0}.birth-date-controls label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}@media(max-width:640px){.birth-date-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.clinic-home-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:8px;color:#000;text-decoration:none;touch-action:manipulation}.clinic-home-link:hover{background:#eaf1ec}.home-icon{display:block;width:26px;height:26px;fill:currentColor}.clinic-home-entry{text-align:center}
