.contact-page{background:var(--ivory)}.contact-page .header{background:rgba(17,19,21,.96)}
.contact-hero{background:var(--ink);color:#fff;padding:170px 8vw 82px;position:relative;overflow:hidden}.contact-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #b79a6345;border-radius:50%;right:-90px;top:40px;box-shadow:inset 0 0 0 82px #ffffff04,inset 0 0 0 83px #b79a6325}.contact-hero-inner{position:relative;z-index:1;max-width:920px}.contact-hero h1{font-size:clamp(2.6rem,5vw,5rem);margin-bottom:20px}.contact-hero .lead{max-width:700px;margin-bottom:0}
.contact-form-section{padding:95px 7vw 120px}.contact-form-layout{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:8vw;align-items:start}.contact-form-intro{position:sticky;top:130px}.contact-form-intro h2{font:400 clamp(1.9rem,3vw,3rem)/1.45 Georgia,"Yu Mincho",serif;margin:10px 0 24px}.contact-form-intro p{color:#66625c;font-size:.92rem}.sales-route{display:block;margin-top:35px;padding:22px;border:1px solid #c9c1b2;background:#eee9df;transition:.2s}.sales-route:hover{background:var(--ink);color:#fff}.sales-route small{display:block;color:var(--gold);font:600 .62rem Arial;letter-spacing:.14em;margin-bottom:6px}.sales-route span{font-weight:700;font-size:.85rem}.back-link{display:inline-flex;margin-top:28px;color:var(--gold);font-size:.8rem;font-weight:700;letter-spacing:.07em}
.form-card{background:#fff;border:1px solid #d1cbc0;padding:clamp(28px,5vw,58px);box-shadow:0 24px 60px rgba(17,19,21,.07)}.form-notice{margin:0 0 35px;padding:16px 18px;border-left:3px solid var(--gold);background:#f5f2ec;color:#5d5953;font-size:.85rem}.field{margin-bottom:28px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field label,.fieldset-label{display:block;font-weight:700;font-size:.88rem;margin-bottom:9px;letter-spacing:.03em}.required{color:#8b382f;font-size:.72rem;margin-left:7px}.optional{color:#888;font-size:.72rem;margin-left:7px;font-weight:400}.field input,.field select,.field textarea{width:100%;border:1px solid #bdb8ae;background:#fff;color:var(--ink);padding:14px 15px;font:inherit;font-size:1rem;border-radius:0;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:190px}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px #b79a6327}.field-help{display:block;margin-top:7px;color:#77736d;font-size:.75rem}.radio-group{display:flex;flex-wrap:wrap;gap:10px}.radio-option{position:relative}.radio-option input{position:absolute;opacity:0;pointer-events:none}.radio-option span{display:block;border:1px solid #bdb8ae;padding:10px 18px;cursor:pointer;font-size:.88rem;transition:.2s}.radio-option input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}.consent{display:flex!important;align-items:flex-start;gap:11px;font-size:.82rem!important;color:#55514b;cursor:pointer}.consent input{width:18px!important;height:18px;margin-top:4px;accent-color:var(--gold);flex:0 0 auto}.form-submit{width:100%;border:0;background:var(--ink);color:#fff;padding:19px 24px;font:700 .88rem/1 "Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.1em;cursor:pointer;transition:background .2s,color .2s}.form-submit:hover{background:var(--gold);color:var(--ink)}.form-submit:disabled{background:#777;cursor:wait;color:#fff}.form-status{display:none;margin:22px 0 0;padding:18px;font-size:.9rem}.form-status.success{display:block;background:#edf4ef;border:1px solid #9db5a2;color:#264d31}.form-status.error{display:block;background:#f8eeee;border:1px solid #c9a5a1;color:#7b2823}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.contact-form-layout{grid-template-columns:1fr;gap:45px}.contact-form-intro{position:static}.sales-route{max-width:500px}}
@media(max-width:680px){.contact-hero{padding:125px 24px 62px}.contact-hero:after{width:300px;height:300px;right:-170px}.contact-form-section{padding:62px 20px 85px}.form-card{padding:28px 20px}.field-row{grid-template-columns:1fr;gap:0}.radio-group{display:grid;grid-template-columns:1fr 1fr}.radio-option span{text-align:center;padding:10px 8px}.contact-page .brand-name{display:none}}
