
:root{--red:#a92828;--red2:#c34235;--red-dark:#7d1e1e;--navy:#24384b;--ink:#27313b;--muted:#5d6873;--soft:#f7f8fa;--line:#dce2e7;--pink:#fff4f2;--blue:#f0f6fa;--gold:#fff8e8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.82;background:#fff}
a{color:var(--red-dark)}a:hover{text-decoration:none}img{max-width:100%;height:auto}.inner{width:min(1080px,calc(100% - 32px));margin:0 auto}
.site-header-new{background:#fff;border-bottom:3px solid var(--red);box-shadow:0 2px 7px rgba(0,0,0,.07);position:relative;z-index:5}.site-header-new .inner{padding:12px 0}.brand-new img{display:block;width:min(650px,100%)}.global-nav-new{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.global-nav-new a{display:block;padding:9px 13px;background:var(--red);color:#fff;text-decoration:none;border-radius:5px;font-size:14px;font-weight:700}.global-nav-new a:hover{background:var(--red-dark)}
.hero-new{background:linear-gradient(135deg,#fff5f2,#f4f8fb);border-bottom:1px solid var(--line)}.hero-new .inner{padding:26px 0 32px}.hero-photo-new{overflow:hidden;border:1px solid #dfc9c4;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(169,40,40,.08);margin-bottom:24px}.hero-photo-new img{display:block;width:100%}.hero-new h1{margin:0 0 10px;color:var(--red-dark);font-size:clamp(27px,4.5vw,42px);line-height:1.35}.hero-new p{margin:0;max-width:900px;font-size:17px}.breadcrumb-new{width:min(1080px,calc(100% - 32px));margin:13px auto 0;font-size:13px;color:var(--muted)}
.main-new{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:18px 0 55px}.main-new h2{margin:38px 0 15px;padding:7px 12px;border-left:6px solid var(--red);border-bottom:1px solid var(--line);color:var(--navy);font-size:25px}.main-new h3{margin:23px 0 8px;color:var(--navy);font-size:19px}.lead-new{font-size:17px}.updated-new{text-align:right;color:var(--muted);font-size:13px}.notice-new,.info-new,.trust-new{padding:16px 18px;border-radius:8px;margin:16px 0}.notice-new{background:var(--gold);border:1px solid #e7d39e}.info-new{background:var(--blue);border:1px solid #c7dae7}.trust-new{background:var(--pink);border:1px solid #e6c6c0}
.cards-new{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px;margin:18px 0}.card-new{padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}.card-new h3{margin:0 0 8px}.card-new p{margin:6px 0}.service-icon{font-size:30px}.btn-new{display:inline-block;margin:8px 6px 0 0;padding:10px 15px;border-radius:5px;background:var(--red2);color:#fff!important;text-decoration:none!important;font-weight:700}.btn-new:hover{background:var(--red-dark)}.btn-new.outline{background:#fff;color:var(--red-dark)!important;border:1px solid var(--red)}.btn-new.navy{background:var(--navy)}
.table-wrap-new{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-new{width:100%;border-collapse:collapse;background:#fff;margin:18px 0}.table-new th,.table-new td{padding:12px;border:1px solid var(--line);vertical-align:top;text-align:left}.table-new thead th{background:#f5eae8;white-space:nowrap}.table-new tbody th{background:#faf7f6}.phone-new{font-size:20px;font-weight:800;color:var(--red-dark)}
.map-new iframe{width:100%;height:390px;border:0;border-radius:8px}.route-new{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.related-new{margin-top:34px;padding:18px;border-radius:9px;background:var(--soft)}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px;padding:0;list-style:none}.check-list li{position:relative;margin:0;padding:12px 13px 12px 42px;border:1px solid var(--line);border-radius:8px}.check-list li:before{content:"✓";position:absolute;left:13px;top:11px;width:20px;height:20px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.source-note{font-size:13px;color:var(--muted)}
.footer-new{background:#202c37;color:#fff}.footer-new .inner{padding:28px 0}.footer-new a{color:#fff}.footer-links-new{display:flex;flex-wrap:wrap;gap:10px 19px;margin-bottom:15px}.operator-new{padding-top:15px;border-top:1px solid rgba(255,255,255,.22);font-size:13px;line-height:1.75}.legal-main{min-height:55vh}
@media(max-width:720px){.global-nav-new{display:grid;grid-template-columns:repeat(2,1fr)}.global-nav-new a{text-align:center;padding:9px 5px;font-size:13px}.hero-new .inner{padding:20px 0 26px}.main-new h2{font-size:21px}.check-list{grid-template-columns:1fr}.table-new th,.table-new td{padding:9px;font-size:14px}.table-responsive-new th,.table-responsive-new td{display:block;width:100%}.table-responsive-new th{border-bottom:0}.map-new iframe{height:320px}}

/* tokyo nihonkotsu unified layout */
.site-header > .wrap.header-inner,
.site-header .wrap.header-inner,
.page-heading.wrap {
  width:min(1080px,calc(100% - 36px)) !important;
  max-width:1080px !important;
  margin-right:auto !important;
  margin-left:auto !important;
  box-sizing:border-box !important;
}
.bottom-site-navigation {
  width:100% !important;
  margin-top:48px;
}
.bottom-site-navigation-inner {
  display:block !important;
  width:min(1080px,calc(100% - 36px)) !important;
  max-width:1080px !important;
  margin-right:auto !important;
  margin-left:auto !important;
  padding-right:0 !important;
  padding-left:0 !important;
  box-sizing:border-box !important;
}
.bottom-site-navigation .site-logo,
.bottom-site-navigation .header-logo,
.bottom-site-navigation .site-brand-new,
.bottom-site-navigation a:has(img[src*="logo"]) {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 auto 16px !important;
  text-align:center !important;
}
.bottom-site-navigation img[src*="logo"],
.bottom-site-navigation .site-brand-new img {
  display:inline-block !important;
  width:auto !important;
  max-width:280px !important;
  max-height:72px !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
.bottom-site-navigation .global-nav,
.bottom-site-navigation .site-nav,
.bottom-site-navigation .global-nav-new {
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  max-width:none !important;
  gap:6px !important;
  margin:0 auto !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
.bottom-site-navigation .breadcrumb,
.bottom-site-navigation .breadcrumbs,
.bottom-site-navigation .breadcrumb-new {
  width:100% !important;
  max-width:none !important;
  margin:18px auto !important;
  padding-right:0 !important;
  padding-left:0 !important;
  box-sizing:border-box !important;
}
.company-profile-section { margin:28px 0 40px; }
.company-profile-table { width:100%; border-collapse:collapse; table-layout:fixed; background:#fff; }
.company-profile-table th,
.company-profile-table td {
  padding:14px 16px;
  border:1px solid #d9e0e5;
  vertical-align:top;
  text-align:left;
  line-height:1.7;
}
.company-profile-table th { width:28%; background:#f3f7f8; font-weight:700; }
@media (max-width:720px) {
  .site-header > .wrap.header-inner,
  .site-header .wrap.header-inner,
  .page-heading.wrap,
  .bottom-site-navigation-inner {
    width:calc(100% - 28px) !important;
  }
  .bottom-site-navigation img[src*="logo"],
  .bottom-site-navigation .site-brand-new img {
    max-width:220px !important;
    max-height:60px !important;
  }
  .bottom-site-navigation .global-nav,
  .bottom-site-navigation .site-nav,
  .bottom-site-navigation .global-nav-new {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .company-profile-table,
  .company-profile-table tbody,
  .company-profile-table tr,
  .company-profile-table th,
  .company-profile-table td {
    display:block;
    width:100%;
    box-sizing:border-box;
  }
  .company-profile-table tr { margin-bottom:12px; }
  .company-profile-table th { border-bottom:0; }
}

/* tokyo nihonkotsu footer alignment fix */
.site-footer {
  width: 100% !important;
}
.site-footer > .wrap,
.site-footer .wrap {
  width: min(1080px, calc(100% - 36px)) !important;
  max-width: 1080px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}
.site-footer .taxi-osusume-footer-company-outer,
.site-footer .footer-links,
.site-footer .footer-note,
.site-footer .copyright {
  width: 100% !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box !important;
}
.site-footer .taxi-osusume-footer-company,
.site-footer .footer-note,
.site-footer .copyright {
  text-align: left !important;
}
@media (max-width: 720px) {
  .site-footer > .wrap,
  .site-footer .wrap {
    width: calc(100% - 28px) !important;
  }
}

/* recruitment navigation and application form */
.global-site-brand{width:min(1080px,calc(100% - 36px));margin:16px auto;text-align:center}
.global-site-brand img{display:inline-block;width:auto;max-width:270px;max-height:72px;height:auto;object-fit:contain}
.site-recruit-cta,.recruit-hero-cta{clear:both;float:none;position:relative;width:min(100%,560px);height:auto;margin:32px auto;padding:22px;box-sizing:border-box;border:2px solid #176b9b;border-radius:10px;background:#f6fbfe;text-align:center;box-shadow:0 5px 18px rgba(23,107,155,.12)}
.site-recruit-cta strong,.recruit-hero-cta strong{display:block;font-size:1.15rem;color:#124f73}
.site-recruit-cta p,.recruit-hero-cta p{margin:9px 0 16px}
.recruit-primary-btn,.recruit-submit{display:inline-block;padding:13px 24px;border:0;border-radius:7px;background:#176b9b;color:#fff!important;font-weight:700;text-decoration:none;cursor:pointer}
.recruit-phone{display:block;margin-top:14px;color:#176b9b;font-weight:700;text-decoration:none}
.application-form{margin:38px 0;padding:26px;border:1px solid #d6e1e7;border-radius:10px;background:#fff}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.application-form label{display:block;margin:0 0 18px;font-weight:700}
.application-form label span{margin-left:7px;padding:2px 5px;border-radius:3px;background:#b82b2b;color:#fff;font-size:.75rem}
.application-form input:not([type=checkbox]),.application-form select,.application-form textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #aebdc6;border-radius:5px;box-sizing:border-box;font:inherit}
.application-form .consent{font-weight:400}.application-form .honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.recruit-submit{display:block;margin:10px auto 0;font-size:1rem}
@media(max-width:720px){.global-site-brand{width:calc(100% - 28px)}.global-site-brand img{max-width:220px;max-height:60px}.site-recruit-cta,.recruit-hero-cta{width:calc(100% - 8px);padding:18px 14px}.form-grid{grid-template-columns:1fr}.application-form{padding:20px 15px}}
