#home-content .hr-button {display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--brand);border-radius:32px;padding:12px 28px;color:var(--brand-dark);font-size:16px;line-height:1.6;background:#fff;max-width:100%;text-align:center}
#home-content .hm-access>.hm-width {display:grid;grid-template-columns:1fr auto;gap:24px}
#home-content .hm-access-map {display:block;grid-column:1/-1;width:100%;height:380px;border:0;background:var(--soft)}
@media(max-width:720px){#home-content .hm-access-map {height:300px;grid-row:3}}
#home-content .hr-button svg {width:20px;height:20px;flex:none}
#home-content .hr-button:hover {background:var(--soft)}
#home-content .hr-about {position:relative;isolation:isolate;min-height:480px;overflow:hidden}
#home-content .hr-about>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:-1}
#home-content .hr-about-inner {padding-block:64px}
#home-content .hr-about h2 {font-family:var(--serif);color:var(--brand-dark);font-size:40px;line-height:1.65;letter-spacing:0;margin-bottom:28px}
#home-content .hr-about p {max-width:550px;width:48%;font-size:15px;line-height:2.1;margin-bottom:28px}
#home-content .hr-services {padding-block:80px}
#home-content .hr-services header {text-align:center;margin-bottom:40px}
#home-content .hr-services h2,#home-content .hr-recruit h2 {color:var(--brand-dark);font-family:var(--serif);font-size:36px;letter-spacing:0;line-height:1.5}
#home-content .hr-service-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#home-content .hr-service {min-width:0;border:1px solid #a8cfcb;background:white;display:flex;flex-direction:column}
#home-content .hr-service-heading {height:158px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:18px 8px}
#home-content .hr-service-icon {width:54px;height:54px;flex:none;background:var(--brand-dark);mask:var(--service-icon) center/contain no-repeat;-webkit-mask:var(--service-icon) center/contain no-repeat}
#home-content .hr-service h3 {font-family:var(--sans);font-size:18px;letter-spacing:0;text-align:center;line-height:1.5;color:var(--brand-dark);margin:0;min-height:54px;display:flex;align-items:center}
#home-content .hr-service>img {width:100%;aspect-ratio:1.6;height:auto;object-fit:cover}
#home-content .hr-service>p {padding:18px 14px;margin:0;font-size:14px;line-height:1.9;width:100%;max-width:none;box-sizing:border-box;word-break:normal;overflow-wrap:normal;line-break:strict;white-space:normal;text-wrap:wrap}
#home-content .hr-service-link {text-align:center;margin-top:36px}
#home-content .hr-recruit {position:relative;isolation:isolate;overflow:hidden;border:1px solid #a8cfcb;border-radius:8px;margin-bottom:72px;min-height:420px}
#home-content .hr-recruit>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right top;z-index:-1}
#home-content .hr-recruit-copy {padding:44px;max-width:55%;min-height:420px;display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(90deg,#fffffff0,#ffffff00)}
#home-content .hr-recruit-copy>p:not(.hm-kicker) {font-size:17px;line-height:1.9;margin:28px 0}
#home-content .hr-recruit-copy .hr-button {margin-top:auto}
@media(max-width:600px){#home-content .hr-about {padding-bottom:270px!important}}
@media(max-width:1050px){#home-content .hr-service-grid {grid-template-columns:repeat(2,minmax(0,1fr))}#home-content .hr-about p {width:54%}#home-content .hr-about h2 {font-size:34px}#home-content .hr-recruit-copy {padding:32px}}
@media(max-width:600px){#home-content .hr-about {padding-bottom:230px;background:#fff}#home-content .hr-about>img {top:auto;bottom:0;height:260px;object-position:right bottom}#home-content .hr-about-inner {padding-block:36px 0}#home-content .hr-about h2 {font-size:29px;margin-bottom:20px}#home-content .hr-about p {width:100%;font-size:14px}#home-content .hr-services {padding-block:48px}#home-content .hr-service-grid {grid-template-columns:1fr;gap:20px}#home-content .hr-service-heading {height:132px}#home-content .hr-service h3 {min-height:0;font-size:20px}#home-content .hr-service>p {padding:20px;font-size:15px}#home-content .hr-service-icon {width:44px;height:44px}#home-content .hr-services h2,#home-content .hr-recruit h2 {font-size:29px}#home-content .hr-recruit {padding-bottom:240px;min-height:0;margin-bottom:48px}#home-content .hr-recruit>img {top:auto;bottom:0;height:250px;object-position:right bottom}#home-content .hr-recruit-copy {min-height:0;max-width:100%;padding:26px 22px;background:#fff}#home-content .hr-recruit-copy>p:not(.hm-kicker) {font-size:15px;margin:20px 0}#home-content .hr-button {font-size:15px;gap:16px;padding:10px 22px}}

@media (max-width:600px) {
  #home-content .hr-about {padding-bottom:250px!important}
  #home-content .hr-about>img {height:320px;mask-image:linear-gradient(to bottom,transparent,#000 32%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 32%)}
  #home-content .hr-about-inner {position:relative;z-index:1}
  #home-content .hr-service-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #home-content .hr-service-heading {height:110px;padding:12px 6px;gap:8px}
  #home-content .hr-service-icon {width:34px;height:34px}
  #home-content .hr-service h3 {font-size:15px;line-height:1.5;min-height:45px;letter-spacing:0;overflow-wrap:anywhere}
  #home-content .hr-service>p {padding:12px 10px;font-size:12px;line-height:1.8;letter-spacing:0}
  #home-content .hr-service>img {aspect-ratio:1.4;object-fit:cover}
  .site-footer.footer-with-photo {grid-template-columns:minmax(0,1fr) 88px;gap:20px 16px;padding:32px 20px}
  .footer-with-photo .footer-brand {grid-column:1;grid-row:1}
  .footer-with-photo .footer-logo {gap:8px}
  .site-footer.footer-with-photo .footer-mark {width:32px;height:32px}
  .site-footer.footer-with-photo .brand-ja {font-size:18px;white-space:nowrap;letter-spacing:0}
  .site-footer.footer-with-photo .brand-en {font-size:9px;letter-spacing:0}
  .footer-with-photo .footer-brand p {font-size:12px;line-height:1.8}
  .footer-with-photo .footer-building {grid-column:2;grid-row:1 / 3;align-self:start}
  .footer-with-photo .footer-building img {width:88px;height:auto}
  .footer-with-photo .footer-contact {grid-column:1;grid-row:2;gap:12px}
  .footer-with-photo .footer-contact a[href^="tel:"] {font-size:22px}
  .footer-with-photo .footer-contact span {font-size:10px}
  .footer-with-photo .footer-nav {grid-column:1 / 3;grid-row:3;padding-top:0;gap:0 20px;border-top:1px solid var(--line)}
  .footer-with-photo .footer-nav a {display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);font-size:13px}
}
@media(max-width:350px) {
  .site-footer.footer-with-photo {grid-template-columns:minmax(0,1fr) 68px;column-gap:12px;padding-inline:16px}
  .footer-with-photo .footer-building img {width:68px}
  .site-footer.footer-with-photo .brand-ja {font-size:16px}
  .site-footer.footer-with-photo .footer-mark {width:26px;height:26px}
}
