/* Three-step component, scoped to this preview's existing contact form only. */
.sf02 .sf02-form .fpc-head,.sf02 .sf02-form .fpc-body,.sf02 .sf02-form .fpc-next{max-width:960px}
.sf02 .sf02-form .fpc-body{display:block}
.sf02 .sf02-form [hidden]{display:none!important}
.sf02 .sf02-form .sf02-form-step{margin:0 0 34px;min-width:0}
.sf02 .sf02-form .sf02-step-title{font-size:25px;line-height:1.6;margin:0 0 12px;scroll-margin-top:120px}
.sf02 .sf02-form .sf02-step-title:focus-visible{outline:3px solid #21677a;outline-offset:6px;border-radius:4px}
.sf02 .sf02-form .sf02-step-description{font-size:15px;color:var(--muted);margin:0 0 28px;line-height:1.9}
.sf02 .sf02-form .sf02-form-progress{padding-bottom:28px;margin-bottom:30px;border-bottom:1px solid #bdd4c6}
.sf02 .sf02-form .sf02-step-status{font-size:13px;font-weight:700;letter-spacing:.12em;color:#21677a;margin:0 0 16px}
.sf02 .sf02-form .sf02-form-progress ol{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;list-style:none;margin:0;padding:0}
.sf02 .sf02-form .sf02-form-progress li{display:flex;align-items:center;gap:10px;color:#49666d;font-size:15px;line-height:1.6;padding:12px 8px;border-bottom:3px solid #d5e3dc}
.sf02 .sf02-form .sf02-form-progress li>span{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:1px solid #b9cfc5;border-radius:50%;font-size:13px}
.sf02 .sf02-form .sf02-form-progress li[aria-current=step]{color:#21677a;font-weight:700;border-color:#21677a}
.sf02 .sf02-form .sf02-form-progress li[aria-current=step]>span{color:#fff;background:#21677a;border-color:#21677a}
.sf02 .sf02-form .sf02-step-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;padding-bottom:8px}
.sf02 .sf02-form .sf02-step-nav>.sf02-button{margin-left:auto;border:0;padding:0;background:transparent;cursor:pointer;font-family:inherit}
.sf02 .sf02-form .sf02-form-back,.sf02 .sf02-form .sf02-form-edit{min-height:44px;border:1px solid #a8c4b5;background:#e8f2eb;color:#193e48;border-radius:99px;padding:10px 22px;font:700 15px/1.6 "Zen Kaku Gothic New",sans-serif;cursor:pointer}
.sf02 .sf02-form .sf02-form-back:focus-visible,.sf02 .sf02-form .sf02-form-edit:focus-visible,.sf02 .sf02-form .sf02-photo-help summary:focus-visible{outline:3px solid #21677a;outline-offset:4px}
.sf02 .sf02-form .sf02-step-error{background:#fff4e8;color:#71421d;border-left:3px solid #a76d37;padding:14px 18px;margin-bottom:24px;font-size:15px;line-height:1.8}
.sf02 .sf02-form .sf02-step-attachment{margin-top:28px}
.sf02 .sf02-form .sf02-step-attachment .fpc-file-control{margin-top:0}
.sf02 .sf02-form .sf02-photo-help{border-block:1px solid #bdd4c6;margin-top:24px}
.sf02 .sf02-form .sf02-photo-help summary{cursor:pointer;padding:18px 4px;font-size:15px;font-weight:700;min-height:48px}
.sf02 .sf02-form .sf02-photo-help summary>span{font-size:12px;font-weight:500;color:var(--muted);margin-left:10px}
.sf02 .sf02-form .sf02-photo-help .fpc-guide{padding:18px 0 24px}
.sf02 .sf02-form .sf02-photo-help .fpc-guide-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sf02 .sf02-form .sf02-photo-help .fpc-guide-card{display:flex;flex-direction:column;align-items:stretch;gap:16px;border:0;padding:0}
.sf02 .sf02-form .sf02-photo-help .fpc-guide-photo{max-width:180px;margin:0}
.sf02 .sf02-form .sf02-review-group{margin-bottom:26px;border:1px solid #c5d9ce;border-radius:16px;padding:22px}
.sf02 .sf02-form .sf02-review-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.sf02 .sf02-form .sf02-review-head h4{font-size:18px;margin:0}
.sf02 .sf02-form .sf02-review-group dl{margin:0}
.sf02 .sf02-form .sf02-review-group dl>div{display:grid;grid-template-columns:155px minmax(0,1fr);gap:20px;padding:13px 0;border-top:1px solid #d5e3dc;font-size:15px;line-height:1.9}
.sf02 .sf02-form .sf02-review-group dt{color:var(--muted)}
.sf02 .sf02-form .sf02-review-group dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.sf02 .sf02-form .fpc-line{margin-top:28px}
@media(max-width:600px){
 .sf02 .sf02-form .sf02-form-progress li{flex-direction:column;align-items:flex-start;font-size:12px;gap:8px;padding:8px 2px}
 .sf02 .sf02-form .sf02-step-title{font-size:23px}
 .sf02 .sf02-form .sf02-step-nav{gap:14px;flex-wrap:wrap}
 .sf02 .sf02-form .sf02-step-nav>.sf02-button{width:100%;font-size:15px}
 .sf02 .sf02-form .sf02-step-nav .sf02-button-face{justify-content:space-between;padding-left:20px}
 .sf02 .sf02-form .sf02-photo-help .fpc-guide-list{grid-template-columns:1fr;gap:24px}
 .sf02 .sf02-form .sf02-photo-help .fpc-guide-card{display:grid;grid-template-columns:minmax(0,1fr) 115px}
 .sf02 .sf02-form .sf02-review-group{padding:18px 16px}
 .sf02 .sf02-form .sf02-review-group dl>div{grid-template-columns:1fr;gap:4px}
 .sf02 .sf02-form .sf02-form-edit{font-size:13px;padding:8px 14px}
}
