.jm-contact-page{max-width:900px;margin:0 auto;padding:46px 22px 60px;color:#30221e;font:18px/1.85 -apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;overflow-wrap:anywhere}
.jm-contact-heading{margin-bottom:28px}.jm-contact-heading>p:first-child{color:#b32823;font-size:14px;font-weight:800;letter-spacing:.15em;margin:0}.jm-contact-heading h1{font-size:clamp(30px,5vw,42px);font-weight:900;line-height:1.4;margin:8px 0 18px}.jm-contact-heading>p:last-child{margin:0}
.jm-contact-card{border:1px solid #e3d6bd;border-top:5px solid #b32823;background:#fffdf9;border-radius:14px;padding:30px}.jm-contact-card h2{font-size:25px;line-height:1.5;margin:0 0 14px}.jm-contact-note{background:#fff5e2;border-radius:9px;padding:16px;font-size:16px}.jm-contact-fields{display:grid;gap:10px;margin-top:26px}.jm-contact-fields label{font-weight:800;margin-top:12px}.jm-contact-fields label span{font-weight:500;font-size:14px;color:#68554c;margin-left:10px}
.jm-contact-fields input,.jm-contact-fields textarea{font:inherit;line-height:1.6;width:100%;box-sizing:border-box;border:1px solid #b9a89d;border-radius:7px;padding:12px;background:#fff;color:#30221e}.jm-contact-fields textarea{resize:vertical;min-height:180px}.jm-contact-fields input:focus,.jm-contact-fields textarea:focus{outline:3px solid #dbaa58;outline-offset:2px}.jm-contact-page a{color:#a52623;text-decoration:underline;text-underline-offset:3px}.jm-contact-help{font-size:16px;color:#65524a;margin:12px 0}.jm-contact-consent{display:flex;gap:12px;align-items:flex-start;margin:22px 0}.jm-contact-consent input{width:21px;height:21px;flex:0 0 auto;margin-top:6px;accent-color:#a52623}.jm-contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.jm-contact-submit{background:#aa2522;border:0;border-radius:8px;color:#fff;font-family:inherit;font-weight:800;font-size:18px;line-height:1.5;padding:14px 26px;cursor:pointer}.jm-contact-submit:disabled{background:#8d8078;cursor:default}.jm-contact-submit:focus-visible{outline:3px solid #dbaa58;outline-offset:3px}.jm-contact-status{margin:18px 0 0;min-height:1.85em}.jm-contact-status.is-error{color:#a21f20;font-weight:700}.jm-contact-back{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px;font-size:16px}
@media(max-width:600px){.jm-contact-page{padding:30px 16px 42px;font-size:18px}.jm-contact-card{padding:20px 16px}.jm-contact-card h2{font-size:23px}.jm-contact-fields label span{display:block;margin:0}.jm-contact-submit{width:100%}.jm-contact-back{gap:10px 20px}}
