:root{
  --req:#e0453a;
}

/* ---------- layout ---------- */
.wrap{max-width:520px;margin:0 auto;padding:56px 0 80px;}
@media (max-width:560px){ .wrap{padding-left:16px;padding-right:16px;} }

.card{background:#fff;border:1px solid #e9eef4;border-radius:14px;
  padding:32px 28px 26px;box-shadow:0 1px 3px rgba(20,45,85,.05);}
.page-title{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700;margin:0 0 10px;}
.page-title .ico{flex:none;color:var(--blue);}
.page-sub{font-size:13px;color:#7c8894;line-height:1.85;margin:0 0 24px;}

.errorbox{border-radius:8px;color:#CC0000;background:#fff0f0 url(/common/images_app/pc/default/icon_error.svg) no-repeat 20px center;
  background-size:70px;padding:20px 20px 20px 100px;font-size:13.5px;line-height:1.8;margin:0 0 20px;}
.errorbox p{margin:0;}
@media (max-width:600px){
  .errorbox{background-position-x:14px;padding-left:90px;}
}

.successbox{border-radius:9px;color:#0f6b3c;background:#eefdf3;border:1px solid #b9e8cc;
  padding:16px 18px;font-size:13.5px;line-height:1.8;margin:0 0 20px;}
.successbox p{margin:0;}

/* ---------- fields ---------- */
.field{margin-bottom:20px;}
.field label{display:block;font-size:12px;font-weight:700;color:#3d4753;margin-bottom:8px;}
.field label .req{color:var(--req);margin-left:4px;}
.field input,.field select{width:100%;border:1px solid #e0e6ee;border-radius:7px;
  padding:11px 13px;font-size:13.5px;color:#26303c;font-family:inherit;background:#fff;}
.field input::placeholder{color:#b8c0cb;}
.field input:focus,.field select:focus{outline:none;border-color:var(--blue-border);
  box-shadow:0 0 0 3px rgba(26,95,208,.10);}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235d6a7a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}
.hint{font-size:11px;color:var(--muted);margin:7px 0 0;line-height:1.7;}

/* ---------- 生年月日 ---------- */
.dob{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);gap:10px;}
.dob-col{display:flex;align-items:center;gap:6px;min-width:0;}
.dob-col select{min-width:0;}
.dob-col .unit{flex:none;font-size:12px;color:#5f6b78;}

/* ---------- notice ---------- */
.notice{background:var(--blue-soft);border:1px solid var(--blue-border);border-radius:9px;
  padding:14px 16px;margin:4px 0 24px;}
.notice-t{font-size:12.5px;font-weight:700;color:#16202c;margin:0 0 8px;}
.notice ul{margin:0;padding:0;list-style:none;}
.notice li{position:relative;padding-left:13px;font-size:11.5px;color:#4a5768;
  line-height:1.85;}
.notice li::before{content:"・";position:absolute;left:0;color:#8fb0e0;}

/* ---------- buttons ---------- */
.cta{width:100%;border:none;border-radius:8px;background:var(--blue);color:#fff;
  font-size:15px;font-weight:700;font-family:inherit;padding:17px 20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;position:relative;}
.cta:hover{background:#1550b8;}
.cta .arrow{position:absolute;right:22px;font-weight:400;}
.back{display:block;width:100%;text-align:center;margin-top:16px;background:none;border:none;
  font-family:inherit;font-size:12.5px;color:#0f172a;cursor:pointer;text-decoration:none;}
.back:hover{color:var(--blue);}

/* ---------- responsive ---------- */
@media (max-width:560px){
  .card{padding:26px 18px 22px;}
  .page-title{font-size:17px;}
  .page-sub{font-size:12.5px;margin-bottom:20px;}
  .dob{gap:7px;}
  .dob-col{gap:4px;}
  .dob-col .unit{font-size:11px;}
  .field input,.field select{padding:10px 11px;font-size:13px;}
  .field select{padding-right:28px;background-position:right 9px center;}
  .cta{font-size:14px;padding:16px 18px;}
  .cta .arrow{right:16px;}
}
