:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#243447;background:#fffdf5}
*{box-sizing:border-box}[hidden]{display:none!important}
.coupon-patient{margin:0;background:#fffdf5}
.coupon-shell{max-width:520px;margin:auto;padding:24px 20px 36px}
.coupon-shell header{margin-bottom:22px}
.coupon-shell header p{font-size:12px;font-weight:650;letter-spacing:.04em;margin:0 0 9px;color:#536478}
.coupon-shell h1{font-size:24px;line-height:1.5;margin:0;font-weight:800;color:#173967}
.coupon-notice,.coupon-error{padding:15px 17px;line-height:1.8;border-radius:10px;background:#eaf2ff}
.coupon-error{background:#fff1ed;color:#a32917;border:1px solid #f1b4a9}
.coupon-card{border:1px solid #e1e6ef;border-radius:18px;background:white;box-shadow:0 7px 18px #183b7312;overflow:hidden}
.coupon-ticket-head{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#075acb;padding:13px 18px;color:white}
.coupon-ticket-label{font-weight:750;font-size:14px;letter-spacing:.04em}
.coupon-ticket-en{font-size:11px}
.coupon-gift{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#ffe631}
.coupon-ticket-main{padding:18px 20px 22px;text-align:center;background:#fff}
.coupon-kicker{margin:0 0 3px;color:#1d477c;font-size:14px;font-weight:700}
.coupon-card h2{display:flex;align-items:baseline;justify-content:center;gap:3px;color:#df2225;margin:0 0 12px;white-space:nowrap;line-height:1}
.coupon-card h2 span{font-family:Arial,Helvetica,sans-serif;font-size:clamp(60px,21vw,94px);font-weight:900;letter-spacing:-.065em;line-height:1.05}
.coupon-card h2 small{font-size:24px;font-weight:800;margin-left:3px}
.coupon-card h2 b{font-family:Arial,sans-serif;font-size:24px;font-weight:800;margin-left:3px}
.coupon-minimum{font-size:12px;line-height:1.8;margin:0 0 13px;color:#314052}
.coupon-minimum strong{font-size:13px;font-weight:750;white-space:nowrap}
.coupon-exclusion{font-size:11px;line-height:1.8;color:#384454;padding:9px 10px;margin:0;background:#f3f6fc;border-radius:7px;text-align:left}
.coupon-exclusion strong{color:#bb2428;font-weight:800;margin-right:5px}
.coupon-stub{position:relative;background:#fff;padding:17px 20px 19px;border-top:2px dashed #d0dceb}
.coupon-stub:before,.coupon-stub:after{content:"";position:absolute;top:-11px;width:20px;height:20px;border:1px solid #dce3ed;border-radius:50%;background:#fffdf5}
.coupon-stub:before{left:-11px}.coupon-stub:after{right:-11px}
.coupon-ticket-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px;font-size:10px;color:#697688}
.coupon-ticket-foot strong{background:#e9f4ed;color:#1c7144;border-radius:5px;padding:5px 9px;font-size:11px}
.coupon-dates{display:flex;justify-content:space-between;gap:10px;margin:0 0 15px;align-items:start}
.coupon-dates dt{font-size:10px;color:#637187;margin-bottom:5px}
.coupon-dates dd{margin:0;font-size:14px;font-weight:750;line-height:1.6;font-variant-numeric:tabular-nums}
.coupon-countdown{flex-shrink:0;text-align:right}.coupon-countdown dd{font-size:14px;color:#075acb}
.coupon-code{font-size:10px;color:#6f7c8d;letter-spacing:.04em;margin:0;border-top:1px solid #edf0f6;padding-top:11px}
.coupon-code span{font-family:ui-monospace,monospace}
.coupon-instruction{font-size:13px;line-height:1.9;margin:22px 2px 12px}
.coupon-shell button{cursor:pointer;width:100%;padding:15px 14px;min-height:50px;border:1px solid #075acb;border-radius:10px;color:white;background:#075acb;font-size:15px;font-weight:700;font-family:inherit}
.coupon-shell button:focus-visible{outline:3px solid #ffcd00;outline-offset:3px}
.coupon-shell button:disabled{cursor:default;background:#edf0f4;color:#74808e;border-color:#d6dde7}
.coupon-shell .coupon-secondary{background:white;color:#075acb;border-color:#b6c8e1;margin-top:10px}
.coupon-small{font-size:11px;color:#74808e;line-height:1.8;margin:10px 2px}
.coupon-confirm{margin-top:16px;padding:17px;background:#fff9d9;border:1px solid #efdc7b;border-radius:12px}
.coupon-confirm h2{font-size:17px;margin:0 0 12px;line-height:1.7}.coupon-confirm p{font-size:12px;line-height:1.8}
.coupon-check{display:flex;align-items:start;gap:10px;font-size:13px;font-weight:650;line-height:1.8;cursor:pointer}
.coupon-check input{flex:0 0 auto;accent-color:#075acb;width:20px;height:20px;margin:3px 0 0}
.coupon-terms{margin-top:28px;border-top:1px solid #e1e6ed;padding-top:18px}
.coupon-terms summary{cursor:pointer;font-weight:650;font-size:13px}
.coupon-terms ul{padding-left:19px;font-size:12px;line-height:1.9;color:#657183}.coupon-terms li{margin-bottom:8px}
.coupon-shell footer{margin:28px 0 0;text-align:center;color:#7c8795;font-size:11px}
.coupon-card.is-inactive .coupon-gift{filter:grayscale(1);opacity:.65}
.coupon-card.is-inactive h2{color:#778391}.coupon-card.is-inactive .coupon-ticket-head{background:#737e8c}
.coupon-card.is-inactive .coupon-ticket-foot strong{background:#eef0f2;color:#657080}
.coupon-card.is-inactive .coupon-countdown{flex-shrink:1}.coupon-card.is-inactive .coupon-countdown dd{color:#788492}
#coupon-used{font-size:12px;line-height:1.8;color:#627287}
@media(max-width:350px){.coupon-shell{padding:21px 14px}.coupon-shell h1{font-size:22px}.coupon-ticket-main{padding:16px 17px 19px}.coupon-stub{padding:17px}.coupon-dates{display:block}.coupon-countdown{text-align:left;margin-top:10px}.coupon-card h2 small,.coupon-card h2 b{font-size:22px}}
.coupon-admin{max-width:1100px}.coupon-admin .coupon-admin-summary{padding:22px;background:#fff;border:1px solid #dce7e2;border-radius:14px;margin-bottom:22px}.coupon-admin .coupon-entry{overflow-wrap:anywhere}.coupon-admin form{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:20px 0}.coupon-admin label{display:grid;gap:7px}.coupon-admin input,.coupon-admin select{padding:10px;border:1px solid #aec3ba;border-radius:6px;font-size:15px}.coupon-admin button{width:auto;min-height:40px;padding:10px 20px}.coupon-admin .coupon-table{overflow-x:auto}.coupon-admin table{width:100%;border-collapse:collapse;font-size:13px;background:white}.coupon-admin th,.coupon-admin td{padding:13px;text-align:left;border-bottom:1px solid #e3eae5;vertical-align:top}.coupon-admin th{white-space:nowrap}.coupon-admin nav{display:flex;gap:25px;justify-content:space-between;margin:22px 0}.coupon-admin small{color:#6c8074}