/* メールでのご相談 — 家と、暮らしに、恵みを。 */
.contact-page :is(input, textarea, a, button):focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.email-main{padding-bottom:90px}
.email-breadcrumbs{padding-top:24px;font-size:10px;color:var(--muted)}
.email-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:12px}
.email-breadcrumbs li+li::before{content:'/';color:var(--gold);margin-right:12px}
.email-breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.email-intro{padding:60px 0 42px}
.email-intro .section-label{font-size:18px;margin-bottom:20px}
.email-intro h1,.email-thanks h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.2vw,46px);line-height:1.8;letter-spacing:.07em}
.email-lead{font-size:13px;line-height:2.2;color:var(--muted);margin-top:23px}
.email-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:54px;align-items:start}
.email-form-panel{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:38px 40px 40px}
.email-form-panel h2{font-size:23px;line-height:1.8;letter-spacing:.05em}
.email-required-note{color:var(--muted);font-size:11px;margin-top:12px}
.email-required-note>span{color:#8b6035}
.email-form{margin-top:30px}
.email-honeypot[hidden]{display:none}
.email-field+.email-field{margin-top:27px}
.email-field>label{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:500;line-height:1.7;margin-bottom:10px}
.email-required{font-size:9px;font-weight:500;letter-spacing:.05em;padding:1px 7px;border:1px solid #cfc09d;border-radius:3px;color:#79602f;background:#f5f0e3}
.email-field :is(input,textarea){display:block;width:100%;max-width:100%;min-width:0;margin:0;border:1px solid #c9cdbf;border-radius:4px;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;letter-spacing:.02em;padding:12px 14px;box-shadow:none;appearance:none}
.email-field textarea{resize:vertical;min-height:190px}
.email-field :is(input,textarea):hover{border-color:#8d9b82}
.email-field :is(input,textarea):focus{border-color:var(--green)}
.email-field-help{font-size:11px;line-height:2;color:var(--muted);margin-top:9px}
.email-field>p+textarea{margin-top:11px}
.email-privacy{padding:22px 0 0;margin-top:30px;border-top:1px solid var(--line)}
.email-privacy h3{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.03em}
.email-privacy p{font-size:11px;line-height:2.1;color:var(--muted);margin-top:8px}
.email-submit{margin-top:26px;min-width:260px;font-size:13px;gap:35px}
.email-submit-note{font-size:10px;line-height:2;color:var(--muted);margin-top:12px}
.email-aside{padding:29px 0 0}
.email-aside>.section-label{font-size:14px;margin-bottom:18px;letter-spacing:.09em}
.email-aside h2{font-size:28px;line-height:1.9;letter-spacing:.06em}
.email-aside-lead{font-size:12px;line-height:2.2;color:var(--muted);margin:22px 0 26px}
.email-route{display:flex;align-items:center;gap:15px;padding:23px 0;border-top:1px solid var(--line)}
.email-route>svg{width:24px;height:24px;color:var(--gold)}
.email-route>span{min-width:0}
.email-route small{display:block;font-size:10px;line-height:1.8;color:var(--muted)}
.email-route strong{font-size:16px;font-weight:500;line-height:1.8;display:block;margin-top:3px}
.email-route-mail strong{font-family:var(--sans);font-size:15px;letter-spacing:.01em;overflow-wrap:anywhere}
.email-route>.arrow{margin-left:auto;width:19px}
.email-route .email-phone{font-family:var(--latin);font-size:30px;letter-spacing:.02em;line-height:1.5;margin-top:1px}
.email-route:hover strong{text-decoration:underline;text-underline-offset:4px}
.email-area-note{padding:25px 24px;background:var(--sand);border-radius:5px;margin-top:12px}
.email-area-note>p{font-size:10px;color:var(--muted);margin-bottom:6px}
.email-area-note>strong{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.9}
.email-area-note .text-link{display:flex;font-size:10px;margin-top:15px;width:max-content;gap:35px;padding-bottom:7px}
.email-thanks-main{padding:75px 0 90px;background:radial-gradient(ellipse at 50% 0%,#e8e0c348,transparent 65%)}
.email-thanks{max-width:900px;text-align:center}
.email-thanks-mark{display:grid;place-items:center;width:65px;height:65px;border:1px solid var(--gold-light);border-radius:50%;margin:0 auto 25px;color:var(--gold);background:var(--white)}
.email-thanks-mark svg{width:33px;height:33px;stroke-width:1.5}
.email-thanks>.section-label{justify-content:center;margin-bottom:24px;font-size:18px}
.email-thanks>.section-label::after{display:none}
.email-thanks h1{font-size:40px;line-height:1.8}
.email-thanks-lead{font-size:15px;margin-top:24px}
.email-thanks-note{font-size:12px;line-height:2.3;color:var(--muted);margin-top:15px}
.email-thanks-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:30px;margin-top:32px}
.email-thanks-actions .button{font-size:12px;min-width:220px;gap:35px}
.email-thanks-actions .text-link{font-size:11px}
.email-thanks-routes{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:25px;margin-top:58px;padding-top:30px;border-top:1px solid var(--line);text-align:left}
.email-thanks-routes>a{display:flex;gap:10px;align-items:center;justify-content:center;font-size:11px;letter-spacing:.01em;overflow-wrap:anywhere}
.email-thanks-routes svg{width:19px;height:19px;color:var(--gold)}
.email-thanks-routes small{display:block;color:var(--muted);font-size:9px;line-height:1.6;margin-top:2px}
.email-thanks-routes .arrow{width:15px}
@media(max-width:1000px){.email-layout{gap:30px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.email-form-panel{padding:30px 27px}.email-form-panel h2{font-size:20px}.email-aside h2{font-size:24px}.email-route{gap:11px}.email-route-mail strong{font-size:13px}.email-thanks-routes{gap:16px}}
@media(max-width:760px){
 .contact-page #nl-badge-frame{bottom:calc(12px + env(safe-area-inset-bottom)) !important}
 .email-main{padding-bottom:55px}
 .email-breadcrumbs{padding-top:19px;font-size:9px}
 .email-intro{padding:35px 0 28px}
 .email-intro .section-label{font-size:16px;gap:10px;margin-bottom:17px}
 .email-intro .section-label span{font-size:9px}
 .email-intro .section-label::after{display:none}
 .email-intro h1{font-size:29px;letter-spacing:.035em;line-height:1.8}
 .email-lead{font-size:12px;margin-top:20px;line-height:2.2}
 .email-layout{display:block}
 .email-form-panel{padding:25px 20px 28px}
 .email-form-panel h2{font-size:20px;letter-spacing:.025em}
 .email-required-note{font-size:10px;margin-top:10px}
 .email-form{margin-top:25px}
 .email-field>label{font-size:12px;gap:9px}
 .email-field+.email-field{margin-top:24px}
 .email-field :is(input,textarea){padding:11px 12px}
 .email-field textarea{min-height:210px}
 .email-field-help,.email-privacy p{font-size:11px}
 .email-privacy{margin-top:25px;padding-top:20px}
 .email-privacy h3{font-size:11px}
 .email-submit{width:100%;min-width:0;min-height:57px;font-size:12px;gap:22px;margin-top:24px}
 .email-submit-note{font-size:10px}
 .email-aside{padding:0;margin-top:42px}
 .email-aside>.section-label{font-size:14px;margin-bottom:15px}
 .email-aside h2{font-size:25px;line-height:1.8}
 .email-aside-lead{font-size:12px;margin:19px 0 22px}
 .email-route{padding:20px 0;gap:16px}
 .email-route-mail strong{font-size:15px}
 .email-area-note{margin-top:12px;padding:22px}
 .email-area-note>strong{font-size:20px}
 .email-thanks-main{padding:45px 0 55px}
 .email-thanks-mark{width:56px;height:56px;margin-bottom:22px}
 .email-thanks>.section-label{font-size:15px;gap:8px;margin-bottom:20px;flex-wrap:wrap}
 .email-thanks>.section-label span{font-size:9px;letter-spacing:.05em}
 .email-thanks h1{font-size:29px;letter-spacing:.035em}
 .email-thanks-lead{font-size:13px;margin-top:22px}
 .email-thanks-note{font-size:11px;margin-top:14px;line-height:2.2}
 .email-thanks-actions{flex-direction:column;gap:23px;margin-top:27px}
 .email-thanks-actions .button{min-width:220px;min-height:55px}
 .email-thanks-routes{grid-template-columns:1fr;gap:20px;margin-top:40px;padding-top:27px}
 .email-thanks-routes>a{justify-content:flex-start;width:max-content;max-width:100%;margin:auto;font-size:12px}
 .email-thanks-routes>a:nth-child(2){font-size:17px}
}
@media(max-width:370px){.email-intro h1,.email-thanks h1{font-size:26px}.email-form-panel{padding-inline:16px}.email-form-panel h2{font-size:18px}}
