/* お問い合わせ・フッター専用。 */
.contact-section{background:linear-gradient(135deg,#fff6f8,#fff0f3);padding:var(--section-space,96px) 24px;text-align:center;color:var(--ink);font-family:var(--font);scroll-margin-top:calc(var(--header-height,100px) + 16px)}.contact-inner{max-width:900px;margin:auto}.contact-heading>p{margin:0 0 14px;color:var(--accent);font-size:14px;font-weight:800;letter-spacing:.2em}.contact-heading h2{font-size:clamp(28px,3vw,38px);font-weight:900;line-height:1.5;margin:0}.contact-heading:after{content:"";display:block;width:48px;height:3px;background:var(--accent);margin:22px auto 0}.contact-description{font-size:17px;font-weight:400;line-height:1.8;margin:28px 0 30px}.contact-email{min-height:68px;padding:18px 42px;font-size:20px;line-height:1.6}.contact-note{font-size:14px;line-height:1.8;font-weight:400;color:#666;margin:16px 0 28px}.contact-related{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 30px;margin-bottom:30px}.contact-related a{color:var(--accent);font-size:16px;line-height:1.8;font-weight:700;text-decoration:underline;text-underline-offset:5px;padding:8px}.contact-address{font-style:normal;font-size:15px;font-weight:400;line-height:1.9;overflow-wrap:anywhere}.contact-address p{margin:6px 0}.contact-address a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.site-footer{background:#fafafa;border-top:1px solid #eee5e4;padding:44px 24px 24px;color:var(--ink);font-family:var(--font)}.footer-inner{max-width:var(--content-width,1200px);margin:auto}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px}.footer-brand{font-size:26px;line-height:1.6;font-weight:900;white-space:nowrap}.footer-brand span{color:var(--accent)}.footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px 24px;max-width:780px}.footer-links a{color:var(--accent);font-size:14px;line-height:1.8;font-weight:700;padding:6px 0}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #e7dfdc;margin-top:30px;padding-top:22px}.footer-bottom small{font-size:12px;color:#666;font-weight:400}.footer-to-top{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.contact-section{padding:64px 24px}.contact-description{font-size:16px}.contact-email{width:100%;padding-inline:18px;font-size:18px}.contact-related{flex-direction:column;gap:8px}.site-footer{padding:36px 24px 24px}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-links{justify-content:flex-start;gap:10px 22px}.footer-links a{padding-block:10px}.footer-brand{font-size:24px}}
/* ロゴ削除後のフッターリンク領域を全幅にし、PCでは横一列に配置。 */
.footer-links{max-width:none;width:100%;justify-content:flex-start;gap:12px 20px}
@media(min-width:1051px){.footer-links{flex-wrap:nowrap;justify-content:space-between;gap:12px}.footer-links a{white-space:nowrap}}
@media(max-width:700px){.footer-links{gap:10px 22px}}
/* 制作クレジットのリンクを青字・下線で明示。 */
.footer-bottom small a{color:#0655c9;text-decoration:underline;text-underline-offset:3px}
.footer-bottom small a:hover{color:#003c91;text-decoration-thickness:2px}
/* 連絡先情報の可読性を高める。 */
.contact-address{font-size:20px}
@media(max-width:700px){.contact-address{font-size:18px}}
.contact-form-action{margin:30px 0}.contact-form-action .button{min-height:64px;padding:18px 36px;font-size:18px;line-height:1.6}@media(max-width:700px){.contact-form-action .button{width:100%;padding-inline:18px}}

