/* flow-popup.css - ご予約から使用開始までの流れ */
.fp-flow{color:#333;line-height:1.8;text-align:left}
.fp-h{font-size:18px;font-weight:700;margin:30px 0 16px;padding-bottom:6px;border-bottom:1px solid #ddd}
.fp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}
.fp-step img{display:block;width:100%;height:auto}
.fp-step-no{color:#e8833a;font-size:20px;font-weight:500;margin:10px 0 4px}
.fp-step-txt{font-size:15px;margin:0}
.fp-red{color:#e60012}
.fp-flow a.fp-link,.fp-flow a.fp-link:visited{color:#0066cc!important;text-decoration:underline!important}
/* button */
.fp-open-btn{display:block;max-width:440px;margin:20px auto;padding:14px 20px;background:#f7ad3f;color:#fff!important;font-size:18px;font-weight:700;text-align:center;text-decoration:none;border-radius:12px;cursor:pointer}
.fp-open-btn:hover{opacity:.85}
/* modal */
.fp-lock,.fp-lock body{overflow:hidden}
.fp-modal{position:fixed;inset:0;z-index:10000;display:none}
.fp-modal.is-open{display:block}
.fp-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.fp-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(1000px,94vw);max-height:90vh;background:#fff;border-radius:8px;display:flex;flex-direction:column}
.fp-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:30px 30px 24px}
.fp-title{font-size:22px;font-weight:700;color:#8a8a1f;text-align:center;margin:0;padding-bottom:10px;border-bottom:2px solid #a49e2c}
.fp-close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:0;background:#333;color:#fff;font-size:24px;line-height:36px;padding:0;cursor:pointer;z-index:1}
.fp-cta-wrap{text-align:center;margin:30px 0 0}
.fp-cta{display:inline-block;padding:16px 40px;background:#e05a5a;color:#fff!important;font-size:18px;font-weight:700;text-decoration:none;border-radius:40px}
.fp-cta:hover{opacity:.85}
@media (max-width:768px){
  .fp-steps{grid-template-columns:1fr;gap:24px}
  .fp-h{font-size:16px}
  .fp-step-txt{font-size:14px}
  .fp-step-no{margin:14px 0 8px}
  .fp-step img{margin-top:16px}
  .fp-dialog{width:94vw;max-height:86vh}
  .fp-scroll{padding:20px 16px}
  .fp-title{font-size:18px}
  .fp-close{top:-12px;right:-6px}
  .fp-cta{display:block;padding:14px 10px;font-size:16px}
  .fp-open-btn{font-size:15px;margin:16px 10px}
}
