/* 申込・問い合わせ共通スタイル（LPのブランドに合わせた黒×赤） */
:root{--red:#e60012; --red-d:#b8000e; --black:#0a0a0a;}
*{box-sizing:border-box;}
body{margin:0; background:#f4f4f4; color:#111; font-family:"Noto Sans JP","Yu Gothic UI","Hiragino Kaku Gothic ProN","Meiryo",sans-serif; font-size:15px; line-height:1.9;}
.siteheader{background:var(--black); border-bottom:3px solid var(--red); padding:13px 20px; display:flex; align-items:center; gap:11px;}
.siteheader img{width:32px; height:32px; border-radius:50%; border:2px solid #fff;}
.siteheader b{color:#fff; font-size:15px;}
main{max-width:640px; margin:0 auto; padding:36px 18px 70px;}
h1{font-size:22px; font-weight:900; border-left:6px solid var(--red); padding-left:13px; line-height:1.5;}
.lead{font-size:14px; color:#444;}
.card{background:#fff; border:1px solid #e2e2e2; border-radius:6px; padding:24px 22px; margin-top:18px; box-shadow:0 4px 14px rgba(0,0,0,.05);}
label.fl{display:block; font-weight:900; font-size:13.5px; margin:20px 0 6px;}
label.fl:first-child{margin-top:0;}
.req{display:inline-block; background:var(--red); color:#fff; font-size:10.5px; font-weight:900; padding:1px 7px; border-radius:3px; margin-left:7px; vertical-align:1px;}
input[type=text],input[type=email],input[type=password],select,textarea{width:100%; font-size:16px; padding:12px 13px; border:2px solid #ccc; border-radius:6px; background:#fff; font-family:inherit;}
input:focus,select:focus,textarea:focus{outline:none; border-color:var(--red);}
.err{color:var(--red); font-size:12.5px; font-weight:700; margin-top:4px;}
.radio-grid{display:grid; gap:10px; margin-top:6px;}
.radio-card{display:flex; align-items:center; gap:12px; border:2px solid #ccc; border-radius:8px; padding:14px 16px; cursor:pointer; background:#fff; transition:border-color .15s;}
.radio-card:has(input:checked){border-color:var(--red); background:#fff5f5;}
.radio-card input{accent-color:var(--red); width:18px; height:18px; flex:none;}
.radio-card .rc-name{font-weight:900;}
.radio-card .rc-price{margin-left:auto; font-weight:900; color:var(--red); white-space:nowrap;}
.agree{display:flex; align-items:flex-start; gap:10px; margin-top:22px; font-size:13.5px; font-weight:700;}
.agree input{width:18px; height:18px; accent-color:var(--red); flex:none; margin-top:3px;}
.agree a{color:var(--red);}
.btn{display:block; width:100%; margin-top:24px; background:linear-gradient(180deg,#ff2a3c,var(--red)); color:#fff; font-weight:900; font-size:17px; padding:16px; border:none; border-radius:8px; cursor:pointer; box-shadow:0 5px 0 var(--red-d); font-family:inherit;}
.btn:hover{filter:brightness(1.08);}
.btn:active{transform:translateY(3px); box-shadow:0 2px 0 var(--red-d);}
.note{font-size:12px; color:#777; margin-top:14px;}
.remain-box{display:inline-block; background:var(--black); color:#ffd400; font-weight:900; padding:6px 16px; border-radius:4px; font-size:13.5px;}
.alert{background:#fff5f5; border:2px solid var(--red); border-radius:6px; padding:16px 18px; font-weight:700; color:#8c0008;}
.bankbox{background:#fafafa; border:2px solid var(--black); border-radius:6px; padding:18px 20px; white-space:pre-wrap; font-weight:700; margin-top:12px;}
.kv{width:100%; border-collapse:collapse; margin-top:12px;}
.kv th,.kv td{border:1px solid #ddd; padding:10px 13px; text-align:left; font-size:14px;}
.kv th{background:#f4f4f4; width:36%; font-weight:900; white-space:nowrap;}
.back{display:inline-block; margin-top:26px; color:var(--red); font-weight:900;}
.pp-btn{display:inline-block; background:#ffc439; color:#111; font-weight:900; padding:13px 30px; border-radius:8px; text-decoration:none; margin-top:10px;}
@media(max-width:520px){ .kv th,.kv td{display:block; width:100%;} .kv th{border-bottom:none;} }
