/* 専用入口と意向確認の表示だけに適用。共通の夜の色・書体・ボタンを使う。 */
.flow70-hero .hero-inner { --maxw: 680px; }
.flow70-hero .hero-media { height: 560px; }
.flow70-hero .hero-body { padding-top: 180px; }
.flow70-hero .hero-lead { margin-top: 20px; }
.flow70-hero .btn { margin-top: 24px; width: 100%; }
.flow70-kicker { color: var(--amber-2); font-size: 13px; letter-spacing: .06em; margin-bottom: 12px; }
.flow70-count { margin-top: 8px; }
.flow70-disclosure { margin-top: 24px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--ink-veil); }
.flow70-disclosure p + p { margin-top: 12px; }
.flow70-notice { color: var(--paper); font-weight: 500; line-height: 1.8; }
.flow70-resume { display: block; margin-top: 18px; text-align: center; }
.flow70-resume[hidden] { display: none; }
.flow70-steps { --maxw: 680px; padding-block: 32px 64px; }
.flow70-steps ol { padding-left: 24px; margin-top: 24px; }
.flow70-steps li + li { margin-top: 24px; }
.flow70-steps li p { color: var(--paper-2); margin-top: 8px; }
.flow70-steps .btn { display: flex; margin-top: 32px; }
.flow70-footer { --maxw: 680px; display: flex; flex-wrap: wrap; gap: 20px; padding-bottom: 32px; font-size: 13px; }
.flow70-preparing { padding-top: 48px; }
.flow70-preparing > p { margin-top: 24px; }
.flow70-lantern { width: 120px; height: auto; margin-bottom: 24px; }
.flow70-offer { margin-top: 32px; padding: 24px 20px; border: 1px solid var(--amber-edge); border-radius: 16px; background: var(--ink-2); }
.flow70-offer h2 { font-family: var(--font-serif); font-size: 22px; }
.flow70-offer p { margin-top: 16px; }
.flow70-offer .screen-action { margin-top: 24px; }
.flow70-offer .flow70-price { font-size: 24px; color: var(--amber-2); }
.flow70-offer .flow70-notice { font-size: 14px; }
.flow70-purchase-status { padding: 16px; margin-bottom: 32px; border: 1px solid var(--line); border-radius: 12px; }
