@charset "UTF-8";
/* Isolated contact styles; the existing PHP form, CSRF and CAPTCHA stay intact. */
.contact-page{background:#f5f0e6;color:#252b27;font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.9;margin:0}
.contact-page *{box-sizing:border-box}
.contact-page>header{display:flex;justify-content:space-between;align-items:center;gap:20px;height:auto;width:auto;padding:22px max(24px,5vw);border-bottom:1px solid #cfc8bb;background:#f5f0e6}
.contact-brand{font:600 25px/1.6 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.04em;color:#252b27;text-decoration:none}
.contact-brand span{font:400 10px/1.6 sans-serif;display:block;letter-spacing:.05em}
.contact-back{font-size:12px;color:#66675f;text-decoration:underline;text-underline-offset:4px}
.contact-page main{width:auto;margin:0;padding:0}
.contact-page main>section{padding:50px 24px 64px;background:transparent}
.contact-page .inner{width:100%;max-width:820px;margin:auto;padding:0}
.contact-kicker{color:#a83f2d;font-size:10px;letter-spacing:.16em;margin-bottom:12px}
.contact-page h1{font:500 clamp(28px,5vw,42px)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif;margin:0 0 20px;color:#252b27}
.contact-lead{font-size:14px;max-width:48em;margin-bottom:28px}
.contact-privacy,.contact-note-help{font-size:12px;color:#66675f;line-height:1.9}
.contact-page a{color:inherit}
.contact-page form{padding-top:28px;margin-top:26px;border-top:1px solid #cfc8bb}
.contact-page form dl{display:grid;grid-template-columns:165px minmax(0,1fr);gap:22px 28px;margin:0}
.contact-page form dt,.contact-page form dd{margin:0;padding:0;float:none;width:auto;min-width:0;border:0}
.contact-page form dt{font-size:13px;padding-top:9px;color:#252b27}
.contact-page form dt em{display:inline-block;font-size:10px;font-style:normal;color:#a83f2d;margin-left:8px}
.contact-page form input[type="text"],.contact-page form input[type="email"],.contact-page form textarea{font:400 16px/1.8 "Hiragino Sans","Yu Gothic",sans-serif;width:100%;max-width:100%;padding:11px 14px;border:1px solid #aaa699;border-radius:2px;background:#fffdf8;color:#252b27}
.contact-page form textarea{min-height:260px;height:auto;resize:vertical}
.contact-page form input[type="radio"]{width:18px;height:18px;margin:0 7px 0 0;accent-color:#a83f2d;vertical-align:middle}
.contact-kinds{display:flex;flex-wrap:wrap;gap:10px 20px;padding-top:6px}
.contact-kinds label{display:inline-flex;align-items:center;min-height:36px;font-size:13px;margin:0}
.contact-page .field-error,.contact-page .errors{font-size:13px;color:#963b2a;margin-top:8px}
.contact-page .submit{margin-top:32px;padding:0;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.contact-page .submit button{min-height:52px;border:0;background:#a83f2d;color:#fffdf8;padding:13px 28px;border-radius:2px;font:500 14px/1.8 sans-serif;cursor:pointer}
.contact-page .submit button:hover{background:#873122}
.contact-note-help{margin-top:10px}.contact-note-count{display:block;text-align:right;color:#66675f;font-size:11px;font-variant-numeric:tabular-nums}
.contact-page>footer{width:auto;height:auto;background:#f5f0e6;border-top:1px solid #cfc8bb;padding:24px;text-align:center;font-size:11px;color:#66675f}
.contact-footer-links{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;margin-bottom:14px}
.contact-footer-links button{font:inherit;padding:0;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}
.contact-page :focus-visible{outline:3px solid #a83f2d;outline-offset:4px}
.contact-page [hidden]{display:none!important}
.contact-page .analytics-notice{position:fixed;z-index:200;bottom:16px;left:16px;right:16px;max-width:720px;margin:auto;background:#fffdf8;border:1px solid #cfc8bb;padding:20px 24px;box-shadow:0 8px 32px #26352f22;font-size:13px;max-height:50vh;overflow:auto}
.contact-page .analytics-notice p{margin:0 0 14px}.contact-page .analytics-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-page .analytics-actions button{border:1px solid #252b27;background:transparent;color:#252b27;padding:9px 18px;min-height:44px;cursor:pointer}
.contact-page .confirm-content{white-space:normal;overflow-wrap:anywhere;font-size:14px}
@media(max-width:600px){.contact-page>header{padding:18px 24px}.contact-brand{font-size:22px}.contact-back{font-size:10px}.contact-page main>section{padding-top:34px}.contact-page form dl{grid-template-columns:1fr;gap:9px}.contact-page form dd{margin-bottom:15px}.contact-page form dt{padding-top:0}.contact-page .submit button{width:100%}.contact-lead{font-size:13px}}
@media(prefers-reduced-motion:reduce){.contact-page{scroll-behavior:auto}}
@media print{.contact-page .analytics-notice,.contact-page [data-analytics-settings]{display:none!important}}
