.tatehoko-chuuoudai-wrap *{box-sizing:border-box;margin:0;padding:0}
.tatehoko-chuuoudai-wrap{max-width:720px;padding:1.5rem 1rem;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;margin:0 auto;color:#1a1a1a}
.tatehoko-chuuoudai-wrap .header{text-align:center;margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:2px solid #674598}
.tatehoko-chuuoudai-wrap .header h1{font-size:22px;color:#674598;font-weight:700;margin-bottom:.5rem;letter-spacing:.05em}
.tatehoko-chuuoudai-wrap .header p{font-size:14px;color:#555;line-height:1.7}
.tatehoko-chuuoudai-wrap .card{background:#fff;border:1px solid #e8e6e0;border-radius:12px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 2px 6px rgba(0,0,0,.03)}
.tatehoko-chuuoudai-wrap .section-title{font-size:15px;font-weight:700;color:#674598;letter-spacing:.05em;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #edebe8;display:flex;align-items:center;gap:8px}
.tatehoko-chuuoudai-wrap .section-title::before{content:"";width:4px;height:16px;background:#674598;border-radius:2px;display:inline-block}
.tatehoko-chuuoudai-wrap .field{margin-bottom:1.1rem}
.tatehoko-chuuoudai-wrap .field:last-child{margin-bottom:0}
.tatehoko-chuuoudai-wrap label{display:block;font-size:13px;font-weight:600;color:#444;margin-bottom:.35rem}
.tatehoko-chuuoudai-wrap .req{color:#c0392b;margin-left:4px;font-size:12px;font-weight:normal}
.tatehoko-chuuoudai-wrap .opt{color:#888;margin-left:4px;font-size:12px;font-weight:normal}
.tatehoko-chuuoudai-wrap .help-text{font-size:12px;color:#777;margin-top:4px;line-height:1.5}
.tatehoko-chuuoudai-wrap input[type=text],
.tatehoko-chuuoudai-wrap input[type=tel],
.tatehoko-chuuoudai-wrap input[type=email],
.tatehoko-chuuoudai-wrap input[type=number],
.tatehoko-chuuoudai-wrap select,
.tatehoko-chuuoudai-wrap textarea{width:100%;padding:10px 12px;font-size:15px;border:1px solid #ccc;border-radius:8px;background:#fff;color:#1a1a1a;font-family:inherit;transition:border-color .15s}
.tatehoko-chuuoudai-wrap input:focus,
.tatehoko-chuuoudai-wrap select:focus,
.tatehoko-chuuoudai-wrap textarea:focus{outline:none;border-color:#674598;box-shadow:0 0 0 2px rgba(103,69,152,.15)}
.tatehoko-chuuoudai-wrap .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.tatehoko-chuuoudai-wrap .row2{grid-template-columns:1fr}}

.tatehoko-chuuoudai-wrap .choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1rem}
@media(max-width:560px){.tatehoko-chuuoudai-wrap .choice-grid{grid-template-columns:1fr}}
.tatehoko-chuuoudai-wrap .choice-card{border:2px solid #e0ded9;border-radius:10px;padding:1rem;cursor:pointer;background:#faf9f7;transition:all .2s;position:relative}
.tatehoko-chuuoudai-wrap .choice-card:hover{border-color:#a58ac2;background:#fff}
.tatehoko-chuuoudai-wrap .choice-card.selected{border-color:#674598;background:rgba(103,69,152,.05)}
.tatehoko-chuuoudai-wrap .choice-card input[type=checkbox],
.tatehoko-chuuoudai-wrap .choice-card input[type=radio]{position:absolute;top:1rem;right:1rem;width:18px;height:18px;accent-color:#674598}
.tatehoko-chuuoudai-wrap .choice-title{font-size:16px;font-weight:700;color:#1a1a1a;margin-bottom:.3rem;padding-right:24px}
.tatehoko-chuuoudai-wrap .choice-desc{font-size:12px;color:#666;line-height:1.5}
.tatehoko-chuuoudai-wrap .choice-price{margin-top:.4rem;font-size:14px;color:#674598;font-weight:700}

.tatehoko-chuuoudai-wrap .radio-group{display:flex;flex-direction:column;gap:8px}
.tatehoko-chuuoudai-wrap .radio-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e0ded9;border-radius:8px;cursor:pointer;background:#fff}
.tatehoko-chuuoudai-wrap .radio-item:hover{background:#faf9f7}
.tatehoko-chuuoudai-wrap .radio-item.selected{border-color:#674598;background:rgba(103,69,152,.04)}
.tatehoko-chuuoudai-wrap .radio-item input[type=radio]{margin-top:3px;accent-color:#674598}
.tatehoko-chuuoudai-wrap .radio-label-title{font-size:14px;font-weight:600}
.tatehoko-chuuoudai-wrap .radio-label-sub{font-size:12px;color:#777;margin-top:2px}

.tatehoko-chuuoudai-wrap .person-card{background:#fdfcf9;border:1px solid #e6e2d8;border-radius:10px;padding:1.1rem;margin-bottom:1rem;position:relative}
.tatehoko-chuuoudai-wrap .person-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;padding-bottom:.4rem;border-bottom:1px dashed #dcd8ce}
.tatehoko-chuuoudai-wrap .person-num{font-size:14px;font-weight:700;color:#674598}
.tatehoko-chuuoudai-wrap .remove-person-btn{background:none;border:none;color:#c0392b;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px}
.tatehoko-chuuoudai-wrap .remove-person-btn:hover{background:rgba(192,57,43,.1)}
.tatehoko-chuuoudai-wrap .add-person-btn{width:100%;padding:12px;background:#fff;border:2px dashed #674598;color:#674598;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}
.tatehoko-chuuoudai-wrap .add-person-btn:hover{background:rgba(103,69,152,.06)}

/* 願い事選択グループ */
.tatehoko-chuuoudai-wrap .negai-box{background:#fff;border:1px solid #e3e0d8;border-radius:8px;padding:.85rem;margin-bottom:.75rem}
.tatehoko-chuuoudai-wrap .negai-group-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:.5rem}
.tatehoko-chuuoudai-wrap .negai-group-title{font-size:13px;font-weight:700;color:#4a3270}
.tatehoko-chuuoudai-wrap .negai-group-badge{font-size:11px;padding:2px 8px;border-radius:12px;font-weight:600}
.tatehoko-chuuoudai-wrap .badge-single{background:#fde8e8;color:#c0392b}
.tatehoko-chuuoudai-wrap .badge-multi{background:#e8f4fd;color:#1d5b96}

.tatehoko-chuuoudai-wrap .negai-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}
.tatehoko-chuuoudai-wrap .negai-pill{padding:8px 10px;font-size:13px;border:1px solid #dcd8ce;border-radius:6px;background:#faf9f7;cursor:pointer;text-align:center;transition:all .15s;user-select:none}
.tatehoko-chuuoudai-wrap .negai-pill:hover{border-color:#a58ac2;background:#fff}
.tatehoko-chuuoudai-wrap .negai-pill.selected{background:#674598;color:#fff;border-color:#674598;font-weight:700;box-shadow:0 2px 4px rgba(103,69,152,.25)}

/* 動的入力フィールド（合格祈願・その他） */
.tatehoko-chuuoudai-wrap .negai-extra-wrap{margin-top:.6rem;padding:.6rem .75rem;background:#fbfbf9;border:1px dashed #c8c3b5;border-radius:6px}
.tatehoko-chuuoudai-wrap .negai-extra-label{font-size:12px;font-weight:600;color:#555;margin-bottom:.3rem;display:block}

.tatehoko-chuuoudai-wrap .bokushu-select-wrap{margin-top:.75rem;padding:.75rem;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.45);border-radius:8px}
.tatehoko-chuuoudai-wrap .bokushu-title{font-size:12px;font-weight:700;color:#8a6e1e;margin-bottom:.4rem}
.tatehoko-chuuoudai-wrap .yakudoke-note{margin-top:.6rem;padding:.65rem .85rem;background:#eef5ff;border:1px solid #b8d5ff;border-radius:6px;font-size:12px;color:#1d5b96;line-height:1.6}

.tatehoko-chuuoudai-wrap .summary-bar{background:#674598;color:#fff;border-radius:10px;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.tatehoko-chuuoudai-wrap .summary-label{font-size:14px;font-weight:600}
.tatehoko-chuuoudai-wrap .summary-price{font-size:24px;font-weight:700;letter-spacing:.02em}

.tatehoko-chuuoudai-wrap .submit-btn{width:100%;padding:15px;background:#674598;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .15s;letter-spacing:.05em}
.tatehoko-chuuoudai-wrap .submit-btn:hover{opacity:.9}
.tatehoko-chuuoudai-wrap .submit-btn:disabled{background:#aaa;cursor:not-allowed}
.tatehoko-chuuoudai-wrap .overlay{position:fixed;inset:0;background:rgba(255,255,255,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s}
.tatehoko-chuuoudai-wrap .overlay.show{opacity:1;pointer-events:auto}
.tatehoko-chuuoudai-wrap .spinner{width:46px;height:46px;border:4px solid rgba(103,69,152,.15);border-top-color:#674598;border-radius:50%;animation:tc-spin .9s linear infinite;margin-bottom:14px}
@keyframes tc-spin{to{transform:rotate(360deg)}}
.tatehoko-chuuoudai-wrap .thanks-card{display:none;text-align:center;padding:2.5rem 1.5rem}
.tatehoko-chuuoudai-wrap .thanks-badge{display:inline-block;background:#e8f5e9;color:#2e7d32;padding:6px 16px;border-radius:20px;font-size:14px;font-weight:700;margin-bottom:1rem}

/* 御札サイズ案内テーブル */
.tatehoko-chuuoudai-wrap .fuda-size-box{margin-top:.75rem;padding:.75rem;background:#f5f3ef;border:1px solid #e2ded5;border-radius:8px;font-size:12px}
.tatehoko-chuuoudai-wrap .fuda-size-title{font-weight:700;color:#674598;margin-bottom:.4rem;display:flex;align-items:center;gap:4px}
.tatehoko-chuuoudai-wrap .fuda-size-table{width:100%;border-collapse:collapse}
.tatehoko-chuuoudai-wrap .fuda-size-table th,
.tatehoko-chuuoudai-wrap .fuda-size-table td{padding:4px 6px;text-align:left;border-bottom:1px solid #e8e5dc;font-size:12px}
.tatehoko-chuuoudai-wrap .fuda-size-table th{color:#555;font-weight:600;width:28%}
.tatehoko-chuuoudai-wrap .fuda-size-table td{color:#222}

/* 初穂料お納めのご案内カード */
.tatehoko-chuuoudai-wrap .payment-notice-card{background:#fcf9f2;border:1px solid #dcd4c0;border-left:4px solid #c9a84c;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:12px}
.tatehoko-chuuoudai-wrap .payment-notice-icon{font-size:24px;line-height:1;flex-shrink:0}
.tatehoko-chuuoudai-wrap .payment-notice-text{font-size:14px;color:#5a4a28;line-height:1.6}
.tatehoko-chuuoudai-wrap .payment-notice-text strong{color:#3a2e14;font-size:15px}

/* 黒背景・ダークテーマ用ヘッダースタイル（立鉾正月限定） */
.tatehoko-newyear-wrap .header{border-bottom:2px solid rgba(255,255,255,.2);padding-bottom:1.5rem;margin-bottom:2rem}
.tatehoko-newyear-wrap .header h1{color:#ffffff;font-size:24px;letter-spacing:.06em;text-shadow:0 2px 4px rgba(0,0,0,.4)}
.tatehoko-newyear-wrap .header p{color:#d5d5d5;font-size:14px;letter-spacing:.04em}

/* SWELLの重複ページタイトルを自動非表示 */
body:has(.tatehoko-newyear-wrap) .c-pageTitle,
body:has(.tatehoko-chuuoudai-wrap) .c-pageTitle {
  display: none !important;
}
