.contact-hero{background:linear-gradient(135deg,#0b2638,#164f68);color:#fff;padding:72px 24px}.contact-hero>div,.contact-section{max-width:900px;margin:auto}.contact-hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(2rem,5vw,3.25rem);margin:.35rem 0 1rem}.contact-hero p:last-child{font-size:1.05rem;line-height:1.9;max-width:680px}.contact-section{padding:64px 24px 80px}.contact-intro h2{font-family:"Noto Serif JP",serif;font-size:clamp(1.55rem,3vw,2.15rem);color:#0b2638}.contact-intro p{line-height:1.9}.mail-address{background:#eef6f7;border-left:4px solid #c69139;padding:14px 18px}.mail-address a,.form-note a{color:#0a5873;font-weight:700}.contact-form{margin-top:32px;padding:32px;background:#fff;border:1px solid #d8e1e5;border-radius:12px;box-shadow:0 12px 34px rgba(11,38,56,.08);display:grid;gap:24px}.contact-form label{display:grid;gap:8px;font-weight:700;color:#19394a}.contact-form label span{display:inline-block;width:max-content;background:#a83b36;color:#fff;border-radius:3px;padding:2px 7px;font-size:.75rem}.contact-form input,.contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #9cabb2;border-radius:6px;padding:13px 14px;font:inherit;color:#182b34;background:#fff}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(17,114,145,.2);border-color:#117291}.submit-button{border:0;cursor:pointer;font:inherit;font-weight:700;justify-self:start}.form-note{margin:0;color:#566b75;font-size:.9rem;line-height:1.7}@media(max-width:640px){.contact-hero{padding:52px 20px}.contact-section{padding:44px 18px 64px}.contact-form{padding:22px 18px}.submit-button{width:100%;justify-content:center}}
