
:root{--navy:#102942;--line:#d9dbe2;--green:#06c755}*{box-sizing:border-box}body{margin:0;background:#f2f3f6;color:#232323;font:14px/1.75 -apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif}header{padding:18px 20px;text-align:center;background:#fff;border-bottom:1px solid var(--line)}header img{width:180px;margin:auto}header p{margin:8px 0 0;font-size:12px;letter-spacing:2px}main{width:min(680px,100%);margin:auto;padding:22px 15px 60px}.notice,.intro,form,.complete{background:#fff;padding:24px;border-radius:10px}.intro{margin-bottom:14px}.intro h1,.complete h1{font-size:22px;line-height:1.4;margin:0 0 12px}.profile{padding:9px 12px;background:#f1f8f3;color:#176b37;border-radius:6px}form{display:grid;gap:24px}label,legend{font-weight:600}em{color:#b3132b;font-size:11px;font-style:normal}input,textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #c7c9d1;border-radius:5px;background:#fff;font:inherit}textarea{resize:vertical}fieldset{margin:0;padding:0;border:0}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.checks label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:5px;font-weight:400}.checks input,.consent input{width:auto;margin:0}.hint{display:block;color:#666;font-size:11px;margin-top:5px}.consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:400}button{width:100%;padding:15px;border:0;border-radius:5px;background:var(--navy);color:#fff;font:700 15px inherit;cursor:pointer}button:disabled{opacity:.55}.error{margin:0;color:#b3132b;text-align:center}.trap{position:absolute;left:-9999px}.complete{text-align:center;padding:40px 24px}.checkmark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 20px;border-radius:50%;background:var(--green);color:#fff;font-size:34px}.complete strong{color:var(--navy)}.complete .sub{font-size:12px;color:#666}.complete button{margin-top:18px;background:var(--green)}footer{text-align:center;padding:20px;color:#777;font-size:11px}@media(max-width:430px){.checks{grid-template-columns:1fr}.notice,.intro,form,.complete{padding:20px 16px}}

.delivery-notice{margin:0;padding:15px 17px;border:1px solid var(--line);border-left:3px solid #999;border-radius:5px;background:#f7f7f8}.delivery-notice h2{margin:0 0 5px;font-size:14px;line-height:1.5}.delivery-notice p{margin:0;color:#555;font-size:12px;font-weight:400;line-height:1.8}@media(max-width:430px){.delivery-notice{padding:14px}}

/* 送信完了画面：端末幅に左右されない中央配置 */
.complete{width:100%;max-width:650px;margin-right:auto;margin-left:auto}.complete>p{width:100%;max-width:480px;margin:12px auto;text-align:center}.complete .sub{max-width:420px}.complete #receipt-number{display:inline-block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.complete #back-to-line{display:block;width:min(100%,320px);margin:24px auto 0}
@media(max-width:430px){.complete{padding:32px 20px}.complete h1{font-size:20px}.complete>p{max-width:310px}.complete .sub{max-width:290px}.complete #receipt-number{font-size:13px;line-height:1.6}.complete #back-to-line{width:min(100%,290px)}}

@media(max-width:430px){.complete{width:calc(100% - 12px);max-width:calc(100vw - 42px);margin-right:auto;margin-left:auto;padding:30px 18px}.complete h1{font-size:19px}.complete>p{max-width:280px}.complete #back-to-line{width:min(100%,270px)}}

/* iPhone LIFF：親要素の左右余白を基準にカードを確実に中央配置 */
@media(max-width:430px){html,body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}main{width:100%;max-width:100%;margin-right:0;margin-left:0;padding-right:20px;padding-left:20px}.complete{width:100%;max-width:100%;margin-right:auto;margin-left:auto;padding:30px 18px;transform:none}.complete>p{max-width:280px;margin-right:auto;margin-left:auto}.complete #back-to-line{width:100%;max-width:270px;margin-right:auto;margin-left:auto}}