/* Shared header/footer foundations, scoped to avoid changing page content. */
.hakkou-footer .footer-sitemap{width:calc(100% - 40px);max-width:900px;margin:0 auto;padding:38px 10px 32px;border-bottom:1px solid #c5e5fc;font:400 14px/1.8 "Noto Sans JP",sans-serif;letter-spacing:.025em}
.hakkou-footer .footer-sitemap__title{margin:0 0 24px;padding:0;background:none;border:0;color:#0059d0;font-size:23px;font-weight:700;line-height:1.5}
.hakkou-footer .footer-sitemap__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.hakkou-footer .footer-sitemap__group h3{margin:0 0 14px;padding:0 0 10px;border:0;border-bottom:2px solid #0059d0;background:none;color:#222;font-size:15px;font-weight:700;line-height:1.7}
.hakkou-footer .footer-sitemap__group ul{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}
.hakkou-footer .footer-sitemap__group li{margin:0;padding:0;min-width:0}
.hakkou-footer .footer-sitemap__group a{display:flex;align-items:baseline;gap:9px;padding:5px 0;color:#222;font-size:14px;line-height:1.8;text-decoration:none;box-shadow:none;overflow-wrap:anywhere}
.hakkou-footer .footer-sitemap__group a::before{content:'›';color:#ff8a00;font-size:18px;font-weight:700;flex-shrink:0;line-height:1}
.hakkou-footer .footer-sitemap__group a:hover{color:#0059d0;text-decoration:underline;text-underline-offset:4px}
.hakkou-footer .footer-sitemap__group a:focus-visible{outline:3px solid #ff8a00;outline-offset:3px}
@media(max-width:640px){.hakkou-footer .footer-sitemap{width:calc(100% - 32px);padding:30px 0}.hakkou-footer .footer-sitemap__groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.hakkou-footer .footer-sitemap__title{font-size:21px}.hakkou-footer .footer-sitemap__group:last-child{grid-column:1/-1}.hakkou-footer .footer-sitemap__group:last-child ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.hakkou-footer .footer-sitemap__group a{font-size:13px;min-height:38px}.hakkou-footer .footer-sitemap__group h3{font-size:14px}}
.hakkou-site-header, .hakkou-footer { margin:0; background:#fff; color:#222; font:600 20px/20px "Noto Sans JP",sans-serif; letter-spacing:.1rem; overflow-wrap:break-word; }
:where(.hakkou-site-header, .hakkou-footer) *, :where(.hakkou-site-header, .hakkou-footer) *::before, :where(.hakkou-site-header, .hakkou-footer) *::after { box-sizing:border-box; margin:0; padding:0; }
:where(.hakkou-site-header, .hakkou-footer) img { max-width:100%; height:auto; border:0; border-radius:0; box-shadow:none; }
:where(.hakkou-site-header, .hakkou-footer) .lp-layout { position:relative; width:100%; min-width:0; flex-shrink:1; }
.hakkou-footer > .lp-layout { margin-inline:auto; max-width:100%; }
:where(.hakkou-site-header, .hakkou-footer) .lp-box { min-width:30px; padding:10px; }
.hakkou-footer .lp-flex { display:flex; padding:10px; }
.hakkou-page .hero__image-1{width:22px;
  }
.hakkou-page .hero__text-1{font-family:"Noto Sans JP";
  font-weight:600;
  font-size:1.75rem;
  color:#ffffff;
  }
.hakkou-page .hero__text-2{font-family:"Noto Sans JP";
  font-weight:500;
  font-size:1.25rem;
  color:#ffffff;
  padding-block-start:10px;
  }
.hakkou-page .hero__area{margin:0px;
  background-image:linear-gradient(90deg, #0059d0 0%,#1491e8 100%);
  background-repeat:repeat;
  background-attachment:scroll;
  background-size:auto auto;
  background-position:0% 0%;
  display:flex;
  gap:10px;
  justify-content:center;
  align-items:center;
  }
@media(max-width:1024px){.hakkou-page .hero__image-1{width:15px;
  }}
@media(max-width:1024px){.hakkou-page .hero__text-1{font-size:1rem;
  }}
@media(max-width:1024px){.hakkou-page .hero__text-2{font-size:1rem;
  padding-block-start:0px;
  }}
.hakkou-page .site-footer__text-1{font-weight:500;
  font-size:1.25rem;
  color:#222222;
  }
.hakkou-page .site-footer__text-2{font-weight:400;
  font-size:1rem;
  color:#222222;
  }
.hakkou-page .site-footer__layout-2{display:flex;
  flex-direction:column;
  gap:20px;
  align-items:start;
  }
.hakkou-page .site-footer__image-1{width:200px;
  }
.hakkou-page .site-footer__layout-3{padding:0px;
  display:flex;
  justify-content:flex-end;
  }
.hakkou-page .site-footer__layout-1{width:900px;
  padding-block-start:30px;
  padding-block-end:30px;
  display:flex;
  flex-direction:row;
  }
.hakkou-page .site-footer__text-3{font-size:0.9rem;
  color:#ffffff;
  text-align:center;
  }
.hakkou-page .site-footer__layout-4{padding-block-end:110px;
  background-color:#0360d3;
  flex-direction:column;
  }
@media(max-width:1024px){.hakkou-page .site-footer__text-1{font-size:1rem;
  text-align:center;
  }}
@media(max-width:1024px){.hakkou-page .site-footer__text-2{font-size:0.9rem;
  letter-spacing:0px;
  text-align:start;
  }}
@media(max-width:1024px){.hakkou-page .site-footer__layout-2{padding-block-start:10px;
  padding-block-end:10px;
  padding-inline-start:20px;
  padding-inline-end:20px;
  margin-block-start:30px;
  gap:10px;
  align-items:start;
  order:99999;
  }}
@media(max-width:1024px){.hakkou-page .site-footer__image-1{width:200px;
  object-fit:contain;
  }}
@media(max-width:1024px){.hakkou-page .site-footer__layout-3{display:flex;
  justify-content:center;
  }}
@media(max-width:1024px){.hakkou-page .site-footer__layout-1{padding-block-start:30px;
  flex-direction:column;
  }}
@media(max-width:1024px){.hakkou-page .site-footer__layout-4{padding-block-end:100px;
  }}
