.bnkv-page{margin:0;color:#173d4c;background:#fff;font-family:var(--bnk-type-sans);}.bnkv-page *{box-sizing:border-box}.bnkv{max-width:1200px;margin:auto;padding:40px 28px 90px}.bnkv h1{font-size:clamp(26px,3vw,38px);margin:10px 0 12px;line-height:1.45}.bnkv h2{font-size:24px;margin:0 0 20px}.bnkv h3{font-size:18px;margin:0 0 16px}.bnkv p{margin:0 0 14px}.bnkv-start{font-size:24px;font-weight:700;color:#007f7b}.bnkv-eyebrow{color:#57727b;letter-spacing:.08em}.bnkv-lead{max-width:820px}.bnkv-intro{padding-bottom:28px;border-bottom:1px solid #d5e4e7}.bnkv-test{padding:12px 24px;text-align:center;background:#fff4df;color:#684b16;font-size:var(--bnk-type-info);font-weight:600}.bnkv-test span{font-weight:400;margin-left:14px}.bnkv-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:36px;margin-top:28px;align-items:start}.bnkv-section{padding:24px 0;border-bottom:1px solid #d5e4e7}.bnkv-methods{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bnkv-method{padding:20px 18px;display:flex;gap:12px;align-items:flex-start;border:1px solid #bacfd4;border-radius:6px;cursor:pointer;min-width:0;line-height:1.6}.bnkv-method:has(input:checked){border:2px solid #008a82;background:#effaf7;padding:19px 17px}.bnkv-method strong{display:block;font-size:20px;margin-bottom:6px}.bnkv-method small{display:block;font-size:var(--bnk-type-info);color:#486775}.bnkv input[type=radio],.bnkv input[type=checkbox]{accent-color:#00877f;min-width:20px;height:20px;margin:4px 0}.bnkv label{font-size:var(--bnk-type-label);font-weight:600}.bnkv input:not([type=checkbox]):not([type=radio]),.bnkv select,.bnkv textarea{width:100%;min-height:46px;border:1px solid #afc5cc;border-radius:5px;background:#fff;color:#173d4c;font:inherit;font-size:16px;padding:10px 12px}.bnkv textarea{min-height:100px;resize:vertical}.bnkv :focus-visible{outline:3px solid #eab37a;outline-offset:3px}.bnkv-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.bnkv-field{display:flex;flex-direction:column;gap:6px;min-width:0}.bnkv-wide{grid-column:1 / -1}.bnkv small,.bnkv-help{font-size:var(--bnk-type-info);font-weight:400;line-height:1.7}.bnkv-help{color:#536d76;margin-top:10px!important}.bnkv-person{margin:18px 0 0;padding:20px 0;border-top:1px solid #d5e4e7}.bnkv-person-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bnkv-person h3{color:#008179}.bnkv-person .bnkv-fee{font-weight:700;color:#007d76;text-align:right;grid-column:1 / -1;margin:0}.bnkv-check{display:flex;align-items:flex-start;gap:12px;font-weight:400!important}.bnkv-check span{padding-top:2px}.bnkv-note{background:#eff9f8;padding:18px;margin-top:18px;border-left:3px solid #008c83;font-size:var(--bnk-type-info)}.bnkv-note strong{display:block;margin-bottom:7px}.bnkv-count{max-width:200px}.bnkv-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bnkv-slot{border:1px solid #b9cfd3;padding:12px;display:flex;align-items:center;gap:8px;border-radius:5px;cursor:pointer;font-size:var(--bnk-type-info)!important}.bnkv-slot:has(input:checked){background:#eaf8f5;border-color:#008c83;color:#006c64}.bnkv-slot small{margin-left:auto;color:#597078;white-space:nowrap}.bnkv-slot-group{margin-top:20px}.bnkv-slot-group h3{font-size:16px}.bnkv-summary{position:sticky;top:112px;background:#f1f8f8;padding:24px 20px;border-radius:5px;font-size:var(--bnk-type-info);overflow-wrap:anywhere}.bnkv-summary h2{font-size:20px;color:#007f7b}.bnkv-summary-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.bnkv-total{display:flex;justify-content:space-between;padding-top:16px;margin:18px 0;border-top:1px solid #c7dddd;font-weight:700;font-size:18px}.bnkv-total strong{font-size:24px;color:#007d76}.bnkv-primary{display:block;background:#00867e;color:#fff;border:0;border-radius:7px;padding:15px 24px;font:inherit;font-weight:700;cursor:pointer;min-height:52px}.bnkv-primary:hover{background:#006e68}.bnkv-primary:disabled{background:#718f8d;cursor:wait}.bnkv-secondary{background:#fff;color:#007c77;border:1px solid #aac4c8;border-radius:5px;padding:11px 16px;font:inherit;font-size:var(--bnk-type-info);cursor:pointer}.bnkv-secondary:disabled{opacity:.5;cursor:not-allowed}.bnkv-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.bnkv-error{background:#fff2ed;color:#8e351b;padding:16px;border-left:3px solid #bf502a;margin-top:20px;white-space:pre-line}.bnkv-empty{padding:16px;background:#f3f6f6}.bnkv-confirm{margin:30px 0;max-width:860px}.bnkv-confirm dl{display:grid;grid-template-columns:160px 1fr;gap:14px;margin:0}.bnkv-confirm dt{font-weight:600}.bnkv-confirm dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.bnkv-confirm-person{padding:20px 0;border-top:1px solid #d5e4e7}.bnkv-confirm small{display:block}.bnkv-success{max-width:780px;margin:36px auto;padding:30px 0}.bnkv-reference{font-size:28px;font-weight:700;color:#007f7b;letter-spacing:.04em}.bnkv-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.bnkv-skip{position:absolute;top:-100px;left:16px;background:#fff;padding:12px;z-index:99999}.bnkv-skip:focus{top:8px}.bnkv button:hover{filter:brightness(.97)}
@media(max-width:1000px){.bnkv-grid{grid-template-columns:minmax(0,1fr) 245px;gap:24px}.bnkv-methods{grid-template-columns:1fr}.bnkv-fields{gap:16px}.bnkv-summary{padding:20px 16px}}
@media(max-width:767px){.bnkv{padding:26px 20px 85px}.bnkv-grid{grid-template-columns:1fr;gap:24px;margin-top:18px}.bnkv-summary{position:static;grid-row:auto}.bnkv h1{font-size:28px}.bnkv h2{font-size:21px}.bnkv-start{font-size:21px}.bnkv-fields{grid-template-columns:1fr}.bnkv-wide{grid-column:auto}.bnkv-person .bnkv-fee{grid-column:auto}.bnkv-methods{grid-template-columns:1fr 1fr;gap:10px}.bnkv-method{padding:15px 12px;gap:8px}.bnkv-method:has(input:checked){padding:14px 11px}.bnkv-method strong{font-size:18px}.bnkv-method small{font-size:var(--bnk-type-caption)}.bnkv-test{padding:10px 18px;text-align:left}.bnkv-test span{display:block;margin:5px 0 0}.bnkv-actions .bnkv-primary{width:100%}.bnkv-confirm dl{grid-template-columns:1fr;gap:6px}.bnkv-confirm dd{margin-bottom:12px}.bnkv-slot{flex-wrap:wrap;padding:10px}.bnkv-slot small{margin-left:28px}.bnkv-section{padding:20px 0}.bnkv-summary h2{margin-bottom:18px}}
@media(prefers-reduced-motion:no-preference){.bnkv button{transition:background-color .15s}}
/* 共通フッターの院名を中間幅でも枠内で折り返します。 */
.bnkv-page .bnk-site-footer a{white-space:normal;overflow-wrap:anywhere;max-width:100%}

/* 接種券の選択欄と確認事項の上下を揃えます。 */
@media(min-width:768px){.bnkv-field:has(>select[id^=coupon-])>label{line-height:1.8}.bnkv-field:has(>select[id^=coupon-])>select{flex:1}.bnkv-coupon-conditions{padding-top:calc(var(--bnk-type-label) * 1.8 + 6px)}}
@media(max-width:767px){.bnkv-coupon-conditions:empty{display:none}}
