@charset "utf-8";
.p-pal-footer { background:#eef7ec; color:#183128; font-family:"Yu Gothic",Meiryo,sans-serif; line-height:1.7; }
.p-pal-footer *, .p-pal-footer *::before, .p-pal-footer *::after { box-sizing:border-box; }
.p-pal-footer .p-pal-footer__inner { width:min(1200px,100%); margin-inline:auto; padding-inline:clamp(24px,4vw,48px); }
.p-pal-footer .p-pal-footer__top { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.15fr); gap:32px; padding-block:56px; align-items:start; }
.p-pal-footer .p-pal-footer__logo { display:block; width:min(100%,230px); height:auto; margin:0 auto 20px; object-fit:contain; }
.p-pal-footer .p-pal-footer__description { margin:0; font-size:15px; text-align:center; }
.p-pal-footer .p-pal-footer__nav-title, .p-pal-footer .p-pal-footer__support-title { margin:0 0 12px; font:700 20px/1.5 "Yu Gothic",Meiryo,sans-serif; color:inherit; }
.p-pal-footer .p-pal-footer__nav-list { list-style:none; margin:0; padding:0; }
.p-pal-footer .p-pal-footer__nav-list a { display:flex; align-items:center; min-height:44px; padding:10px 0; color:#183128; font-size:15px; text-decoration:none; overflow-wrap:anywhere; }
.p-pal-footer .p-pal-footer__support { padding:24px; border-radius:16px; background:#078708; color:#fff; }
.p-pal-footer .p-pal-footer__support p { margin:10px 0 18px; font-size:14px; }
.p-pal-footer .p-pal-footer__phone { display:block; color:#fff; font-size:clamp(25px,2.25vw,32px); font-weight:800; line-height:1.3; white-space:nowrap; text-decoration:none; }
.p-pal-footer .p-pal-footer__actions { display:grid; gap:10px; }
.p-pal-footer .p-pal-footer__action { display:flex; justify-content:center; align-items:center; min-height:54px; padding:12px; border-radius:12px; background:#fff; color:#183128; text-align:center; font-size:14px; font-weight:700; text-decoration:none; }
.p-pal-footer .p-pal-footer__action--phone { background:#b65308; color:#fff; }
.p-pal-footer .p-pal-footer__action--line { background:#e4f6df; color:#185628; }
.p-pal-footer a:hover { text-decoration:underline; }
.p-pal-footer a:focus-visible { outline:3px solid #ef821d; outline-offset:4px; }
.p-pal-footer .p-pal-footer__bottom { background:#263d7c; color:#fff; padding-block:30px 24px; }
.p-pal-footer .p-pal-footer__company { display:flex; align-items:center; gap:24px; }
.p-pal-footer .p-pal-footer__company-logo { width:180px; flex-shrink:0; padding:12px; border-radius:8px; background:#fff; }
.p-pal-footer .p-pal-footer__company-logo img { display:block; width:100%; height:auto; }
.p-pal-footer .p-pal-footer__company-info p { margin:0 0 4px; font-size:14px; }
.p-pal-footer .p-pal-footer__legal { display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:16px; }
.p-pal-footer .p-pal-footer__legal a { display:flex; align-items:center; min-height:44px; color:#fff; font-size:14px; }
.p-pal-footer .p-pal-footer__copyright { margin:20px 0 0; font-size:12px; line-height:1.8; }
.p-pal-footer .p-pal-footer__copyright span { display:inline-block; }
@media (min-width:768px) and (max-width:1024px) {
 .p-pal-footer .p-pal-footer__top { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .p-pal-footer .p-pal-footer__support { grid-column:1/-1; }
 .p-pal-footer .p-pal-footer__actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .p-pal-footer .p-pal-footer__top { grid-template-columns:minmax(0,1fr); gap:32px; padding-block:36px; }
 .p-pal-footer .p-pal-footer__logo { width:200px; }
 .p-pal-footer .p-pal-footer__support { padding:24px 20px; }
 .p-pal-footer .p-pal-footer__phone { font-size:30px; }
 .p-pal-footer .p-pal-footer__company { flex-direction:column; align-items:flex-start; gap:16px; }
 .p-pal-footer .p-pal-footer__legal { flex-direction:column; gap:0; }
 .p-pal-footer .p-pal-footer__bottom { padding-bottom:calc(28px + env(safe-area-inset-bottom,0px)); }
}
