
:root{--ink:#24323d;--muted:#5e6c76;--line:#d7e1e6;--soft:#f7fafb;--blue:#246f9c;--blue2:#164b69;--pale:#edf7fc;--gold:#7b5a1c;--goldp:#fff9e8;--orange:#d86718;--green:#27745b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;line-height:1.85}a{color:var(--blue2)}img{max-width:100%;height:auto}.wrap{width:min(1040px,calc(100% - 32px));margin:auto}.site-header{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#edf8fd,#fff)}.header-inner{padding:18px 0 0}.site-logo{display:block;width:min(690px,100%);margin:0 0 14px}.hero-image{overflow:hidden;border:1px solid #c7d9e3;border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(36,111,156,.1)}.hero-image img{display:block;width:100%}.global-nav{margin-top:18px;background:var(--blue2)}.global-nav ul{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none}.global-nav a{display:block;padding:12px 16px;color:#fff;text-decoration:none;font-weight:700}.global-nav a:hover,.global-nav a:focus{background:var(--blue)}main{padding:32px 0 10px}.breadcrumb{margin:0 0 22px;color:var(--muted);font-size:13px}.breadcrumb a{color:var(--muted)}h1{margin:0 0 12px;font-size:clamp(28px,5vw,42px);line-height:1.35}h2{margin:0 0 16px;padding-bottom:9px;border-bottom:2px solid var(--line);font-size:25px;line-height:1.45}h3{margin:20px 0 8px;font-size:19px}.lead{margin:0 0 18px;font-size:17px;color:#3e4b55}.signature{margin:0 0 28px;text-align:right;color:var(--muted);font-size:13px;line-height:1.7}section{margin:0 0 42px}p{margin:8px 0 14px}ul{padding-left:1.35em}.notice,.info-box,.trust-box,.note-box,.operator-box{padding:20px 22px;border:1px solid var(--line);border-radius:13px}.trust-box{background:#f1f9fd;border-color:#c7dce7}.info-box{background:#fffaf0;border-color:#ead9b2}.note-box{background:var(--goldp);border-color:#ead79e}.operator-box{background:#f7fafc}.label{display:inline-block;margin:0 0 9px;padding:3px 11px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:800}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:19px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.card h3{margin-top:0}.card .button{margin-top:10px}.button,.quick-links a{display:inline-block;padding:9px 14px;border-radius:8px;background:var(--blue);color:#fff;text-decoration:none;font-weight:800}.button:hover,.quick-links a:hover{background:var(--blue2)}.button.secondary{background:#fff;color:var(--blue2);border:1px solid var(--blue)}.quick-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.nap{padding:15px 18px;border-left:5px solid var(--blue);background:var(--pale);font-size:15px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.detail-table table{min-width:0}.detail-table th{width:32%;white-space:normal}table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}th,td{padding:12px 13px;border:1px solid var(--line);text-align:left;vertical-align:top}thead th{background:#e8f3f8;white-space:nowrap}tbody th{background:#f7fafb;white-space:nowrap}.service-number{font-size:22px;font-weight:900;color:var(--blue2);letter-spacing:.02em}.small{font-size:13px;color:var(--muted)}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px;margin:0;padding:0;list-style:none}.check-list li{position:relative;margin:0;padding:12px 14px 12px 43px;border:1px solid var(--line);border-radius:10px}.check-list li:before{content:"✓";position:absolute;left:14px;top:12px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;font-weight:900}.map-frame{width:100%;height:360px;border:1px solid var(--line);border-radius:13px}.route-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.office-nav{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.office-nav a{display:block;padding:7px 11px;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:#fff}.site-footer{margin-top:40px;padding:28px 0 35px;border-top:1px solid var(--line);background:#f8fafb;color:var(--muted);font-size:13px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 17px;margin:0 0 13px;padding:0;list-style:none}.footer-links a{color:var(--muted);text-decoration:none}.page-top{position:fixed;right:16px;bottom:16px;padding:9px 11px;border-radius:8px;background:var(--blue);color:#fff;text-decoration:none;font-size:12px}.legal-main{min-height:55vh}.operator-box dl{display:grid;grid-template-columns:160px 1fr;gap:8px 15px;margin:0}.operator-box dt{font-weight:800}.operator-box dd{margin:0}.callout{padding:24px;border-radius:14px;background:#fff5eb;border:1px solid #ebc59f;text-align:center}.callout .service-number{display:block;margin:5px 0}.tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#e5f4eb;color:#215e49;font-size:12px;font-weight:800}.updated{color:var(--muted);font-size:13px}
@media(max-width:780px){.detail-table th,.detail-table td{padding:10px 9px}.detail-table th{width:38%;}.grid,.grid.three,.check-list{grid-template-columns:1fr}.global-nav .wrap{width:100%}.global-nav ul{display:grid;grid-template-columns:repeat(3,1fr)}.global-nav a{text-align:center;padding:10px 5px;font-size:13px}.operator-box dl{grid-template-columns:1fr;gap:2px}.operator-box dd{margin-bottom:9px}.map-frame{height:300px}.signature{text-align:left}.hero-image{border-radius:8px}}

/* E-E-A-T共通表示：案内対象企業と運営会社を全ページで明示 */
.company-nap-box {
  margin: 24px 0 30px;
  padding: 18px 20px;
  border: 1px solid #d8dee6;
  border-left: 5px solid #355b85;
  border-radius: 6px;
  background: #f8fafc;
  line-height: 1.85;
}
.company-nap-box p { margin: 0; }
.company-nap-box p + p { margin-top: 8px; }
.company-nap-box a { text-decoration: underline; text-underline-offset: 2px; }
.taxi-osusume-footer-company-outer {
  margin: 22px 0 12px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.25);
}
.taxi-osusume-footer-company { line-height: 1.8; }
.taxi-osusume-footer-company p { margin: 0; }
.taxi-osusume-footer-company a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }



/* E-E-A-T配置最終調整：会社情報の位置とフッター運営表示 */
.taxi-osusume-footer-company-outer {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  text-align: left;
}
.taxi-osusume-footer-company {
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 1.8;
  text-align: left;
}
.taxi-osusume-footer-company p { margin: 0; }
.taxi-osusume-footer-company a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* yamanashi 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;
}
.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;
}
.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,
  .site-footer > .wrap,
  .site-footer .wrap {
    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;
  }
}

/* yamanashi company information lower placement */
.company-info-bottom {
  width: min(1080px, calc(100% - 36px)) !important;
  max-width: 1080px !important;
  margin: 40px auto 24px !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  background: #f6f8f8;
  border: 1px solid #d9e0e2;
}
.company-info-bottom h2 {
  margin-top: 0 !important;
}
.company-info-bottom dl {
  margin: 0;
}
.company-info-bottom dt {
  font-weight: 700;
  margin-top: 12px;
}
.company-info-bottom dd {
  margin-left: 0;
}
@media (max-width: 720px) {
  .company-info-bottom {
    width: calc(100% - 28px) !important;
    padding: 18px !important;
  }
}

/* yamanashi gaiyou h1 position fix */
.page-heading.wrap {
  width: min(1080px, calc(100% - 36px)) !important;
  max-width: 1080px !important;
  margin: 0 auto 24px !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}
.page-heading.wrap h1 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (max-width: 720px) {
  .page-heading.wrap {
    width: calc(100% - 28px) !important;
  }
}

/* yamanashi single company table */
.company-head-office-table {
  width: 100%;
  margin: 24px 0 40px;
}
.company-head-office-table .company-profile-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.company-head-office-table th,
.company-head-office-table td {
  padding: 14px 16px;
  border: 1px solid #d9e0e5;
  vertical-align: top;
  text-align: left;
  line-height: 1.7;
}
.company-head-office-table th {
  width: 28%;
  background: #f3f7f8;
  font-weight: 700;
}
@media (max-width: 720px) {
  .company-head-office-table table,
  .company-head-office-table tbody,
  .company-head-office-table tr,
  .company-head-office-table th,
  .company-head-office-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .company-head-office-table tr {
    margin-bottom: 12px;
  }
  .company-head-office-table th {
    border-bottom: 0;
  }
}
/* 採用情報・共通応募導線 */
.global-site-brand{max-width:1100px;margin:16px auto 6px;padding:0 18px;box-sizing:border-box}
.global-site-brand img{display:block;width:auto;max-width:100%;height:auto;max-height:70px}
.recruit-site-cta{clear:both;float:none;position:relative;box-sizing:border-box;width:calc(100% - 32px);max-width:520px;height:auto;margin:28px auto;padding:20px;border:2px solid #1769a0;border-radius:10px;background:#f5fbff;text-align:center;color:#222}
.recruit-site-cta strong{display:block;margin-bottom:8px;font-size:20px;color:#145c8b}
.recruit-site-cta p{margin:0 0 14px;line-height:1.7}
.recruit-site-cta-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.recruit-site-cta .button,.recruit-page .recruit-button{display:inline-block;box-sizing:border-box;padding:12px 20px;border:2px solid #1769a0;border-radius:7px;background:#1769a0;color:#fff!important;font-weight:bold;text-decoration:none!important;line-height:1.4}
.recruit-site-cta .button.secondary{background:#fff;color:#145c8b!important}
.recruit-page{line-height:1.8}
.recruit-page section{margin-top:28px}
.recruit-page h2{padding:10px 14px;border-left:6px solid #1769a0;background:#f1f7fb}
.recruit-table{width:100%;border-collapse:collapse}
.recruit-table th,.recruit-table td{padding:12px 14px;border:1px solid #ccd5db;text-align:left;vertical-align:top}
.recruit-table th{width:25%;background:#f4f7f9}
.recruit-note{font-size:13px;color:#555}
.application-form{margin-top:18px;padding:22px;border:1px solid #ccd7dd;border-radius:8px;background:#fafcfd}
.form-row{margin-bottom:18px}
.form-row>label{display:block;margin-bottom:6px;font-weight:bold}
.form-row label span{margin-left:7px;padding:2px 5px;border-radius:3px;background:#b51d2c;color:#fff;font-size:11px}
.form-row input[type=text],.form-row input[type=tel],.form-row input[type=email],.form-row select,.form-row textarea{box-sizing:border-box;width:100%;padding:11px;border:1px solid #999;border-radius:4px;background:#fff;font-size:16px}
.form-row textarea{min-height:130px;resize:vertical}
.privacy-check label{font-weight:normal}
.form-submit{width:100%;padding:15px;border:0;border-radius:6px;background:#1769a0;color:#fff;font-size:18px;font-weight:bold;cursor:pointer}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.recruit-contact{margin:28px 0;padding:18px;border:2px solid #b51d2c;border-radius:8px;text-align:center}
.recruit-contact strong,.recruit-contact span{display:block}.recruit-contact a{display:block;margin:4px 0;color:#b51d2c;font-size:28px;font-weight:bold;text-decoration:none}
.recruit-thanks{text-align:center;padding-top:30px;padding-bottom:40px}
@media(max-width:700px){.global-site-brand{text-align:center}.global-site-brand img{margin:auto;max-height:58px}.recruit-site-cta{width:calc(100% - 24px)}.recruit-site-cta-actions{display:block}.recruit-site-cta .button{display:block;margin:8px 0}.recruit-table th,.recruit-table td{display:block;box-sizing:border-box;width:100%}.recruit-table th{border-bottom:0}.application-form{padding:16px}}
