.erika-contact-page { --erika-ink:#574b45; --erika-rose:#966d73; --erika-line:#e9deda; background:#faf7f5; padding:64px 24px 72px; color:var(--erika-ink); font:400 17px/1.8 "Noto Sans JP",sans-serif; letter-spacing:1.8px; }
.erika-contact-page * { box-sizing:border-box; }
.erika-contact-page p { font:inherit; letter-spacing:inherit; }
.erika-contact-intro { text-align:center; margin:0 auto 36px; }
.erika-contact-page .erika-contact-eyebrow { color:#896b65; font-size:14px; margin:0 0 12px; }
.erika-contact-page .erika-contact-title { font:400 32px/1.8 "Noto Serif JP",serif; letter-spacing:1.8px; color:var(--erika-ink); margin:0 0 20px; }
.erika-contact-intro>p:last-child { font-family:"Noto Serif JP",serif; margin:0; }
.erika-contact-intro span { display:inline-block; max-width:100%; text-wrap:balance; }
.erika-contact-card { background:#fff; border:1px solid #f0e8e4; border-radius:20px; padding:36px 40px 40px; max-width:680px; margin:auto; box-shadow:0 12px 35px #67504908; }
.erika-contact-steps { padding:0; margin:0 0 28px; list-style:none; display:flex; justify-content:center; gap:28px; font-size:14px; color:#877e79; }
.erika-contact-steps li { padding-bottom:6px; }
.erika-contact-steps [aria-current] { color:#79575e; border-bottom:2px solid #b6898e; }
.erika-contact-page .erika-contact-preview { padding:10px 14px; background:#faf7f5; border-radius:8px; font-size:13px; margin:0 0 26px; text-align:center; }
.erika-contact-form { margin:0; }
.erika-contact-page .erika-contact-field { border:0; padding:0; margin:0 0 28px; min-width:0; }
.erika-contact-field>label,.erika-contact-field>legend { display:block; float:none; width:auto; padding:0; margin:0 0 10px; font:500 16px/1.8 "Noto Sans JP",sans-serif; letter-spacing:1.8px; color:var(--erika-ink); }
.erika-field-required,.erika-field-optional { display:inline-block; vertical-align:middle; font-size:11px; line-height:1.6; letter-spacing:1px; padding:1px 7px; border-radius:4px; margin-left:6px; }
.erika-field-required { color:#fff; background:#966d73; }
.erika-field-optional { color:#6e6560; background:#f0edeb; }
.erika-contact-page input:not([type=hidden]):not([type=checkbox]),.erika-contact-page textarea { width:100%; max-width:100%; min-height:52px; border:1px solid #d9d1cd; border-radius:12px; padding:12px 14px; background:#fff; color:var(--erika-ink); font:400 16px/1.8 "Noto Sans JP",sans-serif; letter-spacing:1.8px; box-shadow:none; }
.erika-contact-page input[type=email] { letter-spacing:.5px!important; }
.erika-contact-page textarea { resize:vertical; min-height:138px; }
.erika-contact-page :is(input,textarea,button,a):focus-visible { outline:2px solid #966d73; outline-offset:3px; }
.erika-contact-page .erika-form-hint { font-size:13px; line-height:1.8; color:#796d67; margin:8px 0 0; letter-spacing:1px; }
.erika-contact-field>p.erika-form-hint { margin:0 0 12px; }
.erika-contact-field>input+p.erika-form-hint { margin:8px 0 0; }
.erika-contact-choices { background:#fcfaf9; border:1px solid #eee5e1; border-radius:12px; padding:6px 14px; }
.erika-contact-choices label { display:flex; align-items:flex-start; gap:12px; padding:12px 0; min-height:48px; cursor:pointer; margin:0; font:400 15px/1.8 "Noto Sans JP",sans-serif; letter-spacing:1.8px; }
.erika-contact-choices input { flex:0 0 20px; width:20px; height:20px; margin:4px 0 0; accent-color:#966d73; cursor:pointer; }
.erika-contact-choices span { min-width:0; text-wrap:balance; }
.erika-contact-choices .erika-contact-choice-phrase { display:inline-block; max-width:100%; }
.erika-contact-page .erika-contact-privacy { font-size:13px; letter-spacing:1px; color:#796d67; margin:0 0 24px; }
.erika-contact-actions { text-align:center; }
.erika-contact-actions .erika-form-hint { text-wrap:balance; }
.erika-contact-page .erika-contact-primary { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:14px 26px; max-width:100%; border:1px solid #966d73; border-radius:999px; background:#966d73; color:white; font:500 16px/1.8 "Noto Sans JP",sans-serif; letter-spacing:1.8px; text-decoration:none; cursor:pointer; }
.erika-contact-primary:hover { background:#805b61; border-color:#805b61; }
.erika-contact-page .erika-contact-back { display:block; margin:14px auto 0; min-height:44px; padding:8px 12px; border:0; background:none; color:#79575e; font:400 15px/1.8 "Noto Sans JP",sans-serif; letter-spacing:1.8px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.erika-contact-page .erika-contact-alternative { max-width:580px; margin:26px auto 0; text-align:center; font-size:14px; text-wrap:pretty; }
.erika-contact-alternative a,.erika-contact-errors a { color:#79575e; text-decoration:underline; text-underline-offset:4px; }
.erika-contact-page .erika-form-error { margin:8px 0 0; color:#984449; font-size:14px; letter-spacing:1px; }
.erika-contact-errors { background:#fff7f7; border:1px solid #cda5a8; border-radius:12px; padding:18px; margin-bottom:26px; font-size:14px; }
.erika-contact-errors p { margin:0 0 8px; font-weight:500; }
.erika-contact-errors ul { padding-left:1.4em; margin:0; }
.erika-contact-errors li+li { margin-top:6px; }
.erika-contact-page [aria-invalid=true]:is(input,textarea) { border-color:#984449; }
.erika-contact-page [data-contact-focus],.erika-contact-page [id^=contact-] { scroll-margin-top:120px; }
.erika-contact-page :is(h2,h3):not(.erika-contact-title) { color:var(--erika-ink); font:400 23px/1.8 "Noto Serif JP",serif; letter-spacing:1.8px; margin:0 0 16px; text-wrap:balance; }
.erika-contact-review-title { text-align:center; }
.erika-contact-review-title+.erika-form-hint { text-align:center; }
.erika-contact-review { margin:28px 0; font-size:16px; }
.erika-contact-review dt { color:#896b65; font-size:14px; margin-top:22px; }
.erika-contact-review dd { margin:6px 0 0; padding-bottom:18px; border-bottom:1px solid var(--erika-line); overflow-wrap:anywhere; }
.erika-contact-review ul { padding-left:1.2em; margin:0; }
.erika-contact-message { white-space:pre-wrap; }
.erika-contact-result { text-align:center; }
.erika-contact-result .erika-contact-primary { margin-top:24px; }
.erika-contact-trap,.erika-contact-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:767px) {
 .erika-contact-page { padding:40px 16px 48px; font-size:16px; }
 .erika-contact-page .erika-contact-title { font-size:25px; margin-bottom:18px; }
 .erika-contact-intro { margin-bottom:28px; }
 .erika-contact-intro>p:last-child { font-size:15px; }
 .erika-contact-card { padding:26px 20px 28px; border-radius:16px; }
 .erika-contact-steps { gap:24px; margin-bottom:24px; }
 .erika-contact-choices { padding:5px 12px; }
 .erika-contact-choices label { font-size:14px; gap:10px; }
 .erika-contact-page .erika-contact-primary { width:100%; padding-inline:14px; font-size:15px; }
 .erika-contact-page :is(h2,h3):not(.erika-contact-title) { font-size:21px; }
 .erika-contact-page [data-contact-focus],.erika-contact-page [id^=contact-] { scroll-margin-top:100px; }
}
.erika-contact-page#email-contact { scroll-margin-top:110px; }
.erika-contact-page#email-contact:focus { outline:none; }
.erika-contact-page#email-contact:focus-visible { outline:2px solid #966d73; outline-offset:-2px; }
.erika-contact-page [data-contact-focus]:focus { outline:2px solid #966d73; outline-offset:4px; }
@media(max-width:767px) { .erika-contact-page#email-contact { scroll-margin-top:100px; } }
