.contact-page{background:#faf8f7;color:#29272b;font-family:AppJapanese,'Noto Sans JP','Yu Gothic',sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}.contact-page main{display:block;max-width:1040px;margin:0 auto;padding:32px 40px 24px}.contact-home{color:#b83b34;font-size:13px;text-decoration:none;margin-left:auto}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:16px;padding:24px 28px;background:linear-gradient(90deg,rgba(255,248,245,.97),rgba(255,248,245,.4)),url('/login-background.png') center bottom/cover;margin-bottom:24px;overflow:hidden}.contact-heading h1{font-size:32px;margin:8px 0 12px;letter-spacing:-.035em}.contact-heading>div>p:last-child{font-size:14px;color:#6f6c73;line-height:1.9;margin:0}.contact-heading img{width:170px;height:180px;object-fit:contain;margin-bottom:-24px}.contact-page .eyebrow{color:#b83b34}.contact-notice{font-size:12px;padding:12px 16px;border:1px solid #efdad5;border-radius:8px;color:#a33732;background:#fff0ed;margin-bottom:24px}.contact-card{padding:30px 32px;background:white;border:1px solid #e6e1df;border-radius:16px;box-shadow:0 3px 6px #34201c04,0 14px 32px #34201c07}.contact-row{display:grid;grid-template-columns:210px 1fr;gap:24px;margin-bottom:24px}.contact-row>label{font-size:13px;font-weight:600;line-height:1.8;display:flex;align-items:flex-start;gap:10px;padding-top:12px}.contact-required{display:inline-block;flex-shrink:0;font-size:10px;font-weight:500;padding:1px 6px;border:1px solid #f0d3cd;background:#fff4f1;color:#b83b34;border-radius:4px;margin-top:1px}.contact-page .contact-row input,.contact-page select,.contact-page textarea{width:100%;margin:0;padding:12px 14px;border:1px solid #d8d2ce;border-radius:8px;background:white;color:#29272b;font:inherit;font-size:13px;min-height:46px;line-height:1.8}.contact-page textarea{resize:vertical;min-height:170px}.contact-page ::placeholder{color:#99918c;font-weight:400}.contact-page :focus-visible{outline:3px solid #d92d2770;outline-offset:3px}.contact-message-meta{display:flex;gap:12px;justify-content:space-between;margin-top:8px}.contact-message-meta p,.contact-hint{font-size:11px;color:#817974;line-height:1.8;margin:0}.contact-message-meta span{font-size:10px;color:#99918c;white-space:nowrap}.contact-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #ece7e5;padding-top:24px}.contact-actions a{font-size:12px;color:#6f6c73}.contact-page .contact-actions .primary{margin:0;width:240px;background:linear-gradient(#e83b32,#cf2722);border:1px solid #c82922;border-radius:8px;padding:13px 20px;font-size:13px;box-shadow:0 3px 0 #b92520,0 7px 14px #d92d2720}.contact-page footer{text-align:center;margin-top:24px;font-size:11px;color:#99918c}.contact-page #confirm-title{font-size:24px;margin:10px 0}.contact-confirm-note{font-size:12px;color:#6f6c73}.contact-page #contact-confirm dl{margin:24px 0}.contact-page #contact-confirm dl>div{padding:18px 0;border-top:1px solid #ece7e5}.contact-page #contact-confirm dt{font-size:11px;color:#817974;margin-bottom:8px}.contact-page #contact-confirm dd{font-size:14px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.contact-actions #contact-edit{font:inherit;font-size:12px;padding:12px 18px;background:white;color:#49444a;border:1px solid #d8d0cb;border-radius:8px}.contact-pending{font-size:12px;color:#817974}#confirm-title:focus{outline:none}
@media(max-width:850px){.contact-page main{padding:24px}.contact-row{grid-template-columns:180px 1fr;gap:20px}.contact-heading h1{font-size:28px}}
@media(max-width:560px){.contact-page main{padding:20px 16px}.contact-heading{padding:22px 20px;gap:8px}.contact-heading h1{font-size:26px}.contact-heading img{width:88px;height:140px;margin-right:-14px;margin-bottom:-22px}.contact-heading>div>p:last-child{font-size:12px}.contact-card{padding:22px 20px}.contact-row{grid-template-columns:1fr;gap:10px;margin-bottom:20px}.contact-row>label{padding:0}.contact-message-meta{flex-wrap:wrap;gap:4px}.contact-actions{flex-direction:column-reverse;align-items:stretch;text-align:center}.contact-page .contact-actions .primary{width:100%}.contact-home{font-size:11px}}
/* Completed contact: deliberate typography and a clear return action. */
.contact-page #contact-success{text-align:center;padding:36px 16px 40px;font-family:AppJapanese,'Noto Sans JP','Yu Gothic',sans-serif}
.contact-page #contact-success::before{content:'✓';display:grid;place-items:center;width:56px;height:56px;margin:0 auto 24px;border-radius:50%;background:#fff0ec;color:#bd3028;font-size:26px;font-weight:600;border:1px solid #f2d9d2}
.contact-page #contact-success h2{margin:0 0 18px;font-family:inherit;font-size:clamp(21px,2.2vw,27px);font-weight:700;line-height:1.5;letter-spacing:.025em}
.contact-page #contact-success p{max-width:440px;margin:0 auto 30px;font-family:inherit;font-size:15px;font-weight:400;line-height:2;letter-spacing:.025em;color:#69636a;text-wrap:pretty}
.contact-page #contact-success a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;min-width:220px;box-sizing:border-box;padding:12px 28px;border-radius:10px;border:1px solid #c82922;background:linear-gradient(#e83b32,#cf2722);color:#fff;text-decoration:none;font:inherit;font-size:14px;font-weight:600;box-shadow:0 3px 0 #b92520,0 8px 18px #d92d2720;transition:box-shadow .15s,transform .15s}
.contact-page #contact-success a:hover{transform:translateY(-1px);box-shadow:0 4px 0 #b92520,0 10px 22px #d92d2728}
.contact-page #contact-success a:active{transform:translateY(2px);box-shadow:0 1px 0 #b92520}
@media(max-width:560px){.contact-page #contact-success{padding:24px 0 28px}.contact-page #contact-success a{width:100%;max-width:320px}}
.contact-input-note{margin:0 0 14px;font-size:12px;line-height:1.8;color:#6f6c73;text-align:right}@media(max-width:850px){.contact-input-note{text-align:left}}
