/* ============================================================
   MOVEZ デザインカンプ v2  /  白ベース × 温かいオレンジ
   参考: logiquest.co.jp（フルブリード写真背景・英語ラベル・余白）
   ※背景画像は assets/ に実写真を入れると自動反映されます
============================================================ */
:root{
  --orange:#EE7800;        /* メインの温かいオレンジ */
  --orange-d:#D86A00;
  --orange-l:#FF9F45;
  --pale:#FFF4E9;          /* 淡いウォームベージュ背景 */
  --pale2:#FFFAF4;
  --cream:#FFFFFF;
  --ink:#3A332E;           /* ウォームチャコール（本文） */
  --ink-sub:#857669;
  --brown:#2E2620;         /* フッター等のダークブラウン */
  --line:#EFE7DD;
  --white:#fff;
  --radius:10px;
  --radius-s:6px;
  --shadow:0 14px 40px rgba(58,40,20,.12);
  --shadow-s:0 6px 18px rgba(58,40,20,.08);
  --maxw:1140px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:var(--white);
  line-height:1.85;-webkit-font-smoothing:antialiased;
  word-break:auto-phrase;overflow-wrap:break-word; /* 日本語改行最適化（実装時BudouX併用） */
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.en{font-family:"Oswald",sans-serif;letter-spacing:.04em}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:22px}
.sec{padding:96px 0}

/* セクション見出し（英語ラベル＋日本語：logiquest風バイリンガル） */
.sec-head{text-align:center;margin-bottom:56px}
.sec-head .en-label{display:block;font-family:"Oswald";color:var(--orange);font-size:15px;font-weight:600;letter-spacing:.22em;margin-bottom:10px}
.sec-head h2{font-size:clamp(27px,4vw,40px);font-weight:900;color:var(--ink);line-height:1.4}
.sec-head h2 .bar{display:inline-block;width:46px;height:4px;background:var(--orange);border-radius:2px;margin-top:18px}
.sec-head p{margin-top:16px;color:var(--ink-sub);font-size:15px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;
  border-radius:999px;padding:16px 32px;transition:.25s var(--ease);border:2px solid transparent;font-size:15px;cursor:pointer;white-space:nowrap}
.btn-orange{background:var(--orange);color:#fff;box-shadow:0 8px 20px rgba(238,120,0,.28)}
.btn-orange:hover{background:var(--orange-d);transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--orange);border-color:var(--orange)}
.btn-ghost:hover{background:var(--orange);color:#fff}
.btn-white{background:#fff;color:var(--orange)}
.btn-white:hover{background:var(--pale);transform:translateY(-2px)}
.btn-outline-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-outline-w:hover{background:#fff;color:var(--orange);border-color:#fff}
.btn-line{background:#06C755;color:#fff}
.btn-line:hover{filter:brightness(.96);transform:translateY(-2px)}

/* ============================================================ Header（半透明の黒・画像にオーバーレイ） */
header{position:fixed;top:0;left:0;right:0;z-index:100;color:#fff;background:rgba(15,15,15,.55);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.12)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{display:flex;align-items:center;gap:11px;font-weight:900;color:#fff;font-size:23px;letter-spacing:.02em}
.logo .mark{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--orange),var(--orange-l));display:grid;place-items:center;color:#fff;font-family:"Oswald";font-weight:700;box-shadow:var(--shadow-s)}
.nav-menu{display:flex;align-items:center;gap:30px}
.nav-menu .links{display:flex;gap:26px;font-size:15px;font-weight:500}
.nav-menu .links a{position:relative;padding:6px 0;color:#fff}
.nav-menu .links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--orange);transition:.25s}
.nav-menu .links a:hover::after{width:100%}
.nav-cta{display:flex;gap:10px}
.nav-cta .btn{padding:11px 20px;font-size:13px}
.nav-cta .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.nav-cta .btn-ghost:hover{background:#fff;color:var(--orange);border-color:#fff}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{width:26px;height:2px;background:#fff;transition:.3s}

/* ============================================================ Hero（フルブリード写真背景・ズームイン） */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;background:#1a1410}
/* 背景画像レイヤー（ゆっくりズームインするKen Burns） */
.hero-zoom{position:absolute;inset:0;z-index:0;
  background-image:url('hero-van.jpg');
  background-size:cover;background-position:center;
  animation:heroZoom 18s ease-in-out infinite alternate;will-change:transform}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.14)}}
/* 視認性確保のための暗オーバーレイ */
.hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(20,14,8,.45) 0%,rgba(20,14,8,.2) 40%,rgba(20,14,8,.55) 100%)}
.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin-inline:auto;padding:120px 22px;display:flex;flex-direction:column;align-items:center}
/* ロゴ仮置き */
.hero-logo{width:clamp(180px,26vw,260px);aspect-ratio:5/2;border:2px dashed rgba(255,255,255,.6);border-radius:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-bottom:34px;background:rgba(0,0,0,.18);backdrop-filter:blur(2px)}
.hero-logo .lp-main{font-family:"Oswald";font-weight:700;font-size:clamp(30px,5vw,46px);letter-spacing:.06em;line-height:1}
.hero-logo .lp-note{font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.8)}
.hero h1{font-size:clamp(30px,5.6vw,58px);font-weight:900;line-height:1.32;letter-spacing:.02em;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.hero h1 .accent{color:var(--orange-l)}
.hero p.lead{margin-top:18px;font-family:"Oswald";font-size:clamp(14px,2vw,18px);letter-spacing:.12em;color:rgba(255,255,255,.92);font-weight:500}
.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-family:"Oswald";font-size:11px;letter-spacing:.2em;writing-mode:vertical-rl;opacity:.85}
.scroll-hint::after{content:"";display:block;width:1px;height:46px;background:#fff;margin:10px auto 0;animation:scroll 1.8s infinite}
@keyframes scroll{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ============================================================ 2つの入口 */
.gateway{margin-top:-64px;position:relative;z-index:5}
.gateway .grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.gw-card{position:relative;border-radius:var(--radius);padding:38px;box-shadow:var(--shadow);overflow:hidden;color:#fff;min-height:210px;display:flex;flex-direction:column;justify-content:flex-end}
.gw-card .gw-bg{position:absolute;inset:0;z-index:0}
.gw-card.client .gw-bg{background:linear-gradient(120deg,rgba(46,38,32,.82),rgba(46,38,32,.45)),linear-gradient(135deg,#5a4a3c,#7a6552)}
.gw-card.driver .gw-bg{background:linear-gradient(120deg,rgba(180,86,0,.86),rgba(238,120,0,.6)),linear-gradient(135deg,#d86a00,#ff9f45)}
.gw-card>*{position:relative;z-index:1}
.gw-card .ico{font-size:30px;margin-bottom:10px}
.gw-card h3{font-size:22px;font-weight:900;margin-bottom:8px}
.gw-card p{font-size:14px;opacity:.92;margin-bottom:20px}
.gw-card .btn{align-self:flex-start}

/* ============================================================ About（写真＋テキストの分割） */
.about{background:var(--pale2)}
.about .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.about-photo{position:relative;aspect-ratio:5/4;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  background:linear-gradient(135deg,#f3e4d2,#e7cfb4);display:grid;place-items:center;color:#a8907a;font-size:14px}
.about-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about-photo .badge{position:absolute;right:-14px;bottom:-14px;z-index:2;background:var(--orange);color:#fff;border-radius:14px;padding:18px 22px;text-align:center;box-shadow:var(--shadow-s)}
.about-photo .badge .y{font-family:"Oswald";font-size:30px;font-weight:700;line-height:1}
.about-photo .badge .t{font-size:11px;letter-spacing:.05em}
.about-txt .en-label{font-family:"Oswald";color:var(--orange);font-weight:600;letter-spacing:.22em;font-size:15px}
.about-txt h2{font-size:clamp(25px,3.6vw,36px);font-weight:900;color:var(--ink);margin:12px 0 24px;line-height:1.45}
.about-txt p{color:var(--ink-sub);margin-bottom:18px}
.about-txt .sign{font-weight:700;color:var(--ink)}

/* ============================================================ Services（logiquest風・写真背景＋カードレイアウト） */
.services{position:relative;color:#fff;background:#241a10;
  background-image:linear-gradient(rgba(22,15,9,.84),rgba(22,15,9,.9)),url('hero-van.jpg');
  background-size:cover;background-position:center;background-attachment:fixed}
.services .sec-head h2{color:#fff}
.svc-groups{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.svc-tab{position:relative;background:var(--orange);color:#fff;text-align:center;font-weight:700;
  font-size:19px;letter-spacing:.08em;padding:15px 12px;border-radius:6px;margin-bottom:28px;box-shadow:0 6px 18px rgba(238,120,0,.3)}
.svc-tab::after{content:"";position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);
  width:0;height:0;border:10px solid transparent;border-top-color:var(--orange);border-bottom:0}
.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.svc-col{background:#fff;color:var(--ink);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.col-head{background:#3a322c;color:#fff;text-align:center;font-weight:700;font-size:16px;padding:15px 10px;letter-spacing:.03em}
.col-body{padding:24px 20px;flex:1;display:flex;flex-direction:column}
.col-body p{font-size:13.5px;color:var(--ink-sub);line-height:1.85;margin-bottom:20px}
.icon-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:auto}
.icon-cell{width:68px;text-align:center;color:var(--orange)}
.icon-cell svg{width:30px;height:30px;margin:0 auto 7px;display:block}
.icon-cell span{display:block;font-size:11px;color:var(--ink);line-height:1.4;font-weight:500}
.col-foot{background:var(--orange);color:#fff;text-align:center;font-weight:700;font-size:14px;padding:13px;letter-spacing:.04em}
/* 対応できる荷物バンド */
.svc-cargo{max-width:760px;margin:44px auto 0}
.cargo-title{text-align:center;color:#fff;font-weight:700;letter-spacing:.12em;margin-bottom:18px;font-size:15px}
.cargo-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:5px 5px 0 0;overflow:hidden}
.cargo-cell{padding:26px 10px;text-align:center;color:var(--ink);border-right:1px solid var(--line)}
.cargo-cell:last-child{border-right:0}
.cargo-cell svg{width:36px;height:36px;color:var(--orange);margin:0 auto 12px;display:block}
.cargo-cell .nm{font-size:13px;font-weight:700}
.cargo-foot{background:var(--orange);color:#fff;text-align:center;font-weight:700;font-size:13px;padding:11px;border-radius:0 0 5px 5px;letter-spacing:.04em}
.svc-btn-wrap{text-align:center;margin-top:46px}

/* ============================================================ Why（添付参考：斜めカット写真＋ダークバナー＋斜め差し色） */
.why{background:var(--white)}
.reason-list{display:flex;flex-direction:column;gap:34px}
.reason-row{position:relative}
.reason-banner{position:relative;background:#1b1b1b;color:#fff;min-height:280px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;padding:46px 64px 46px 330px}
.reason-banner::after{content:"";position:absolute;top:0;right:0;width:300px;height:100%;
  background:linear-gradient(135deg,var(--orange),var(--orange-l));clip-path:polygon(45% 0,100% 0,100% 100%,0 100%);z-index:1}
.reason-banner>*{position:relative;z-index:2}
.reason-photo{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:320px;height:240px;z-index:3;
  clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);box-shadow:0 12px 30px rgba(0,0,0,.3)}
.reason-photo img{width:100%;height:100%;object-fit:cover}
.reason-photo .ph{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#d8c4ac,#bfa385);color:#7a6552;font-size:13px;text-align:center}
.reason-no{align-self:flex-start;color:var(--orange);font-family:"Oswald";font-weight:700;letter-spacing:.14em;font-size:17px;margin-bottom:16px}
.reason-banner h3{font-size:clamp(23px,3.1vw,34px);font-weight:900;line-height:1.42;color:#fff}
.reason-banner p{margin-top:14px;color:rgba(255,255,255,.82);font-size:14.5px;max-width:540px;line-height:1.85}
/* 追従LINEボタン（PC・添付参考） */
.float-line{position:fixed;right:22px;bottom:26px;z-index:80;width:86px;height:86px;border-radius:50%;
  background:#06C755;color:#fff;display:grid;place-items:center;text-align:center;font-weight:700;font-size:12px;line-height:1.35;
  box-shadow:0 10px 24px rgba(6,199,85,.45);transition:.25s var(--ease)}
.float-line:hover{transform:scale(1.07)}

/* ============================================================ Recruit（添付参考：働き方ストーリーカード） */
.recruit{position:relative;color:#fff;background:#1c1714;
  background-image:linear-gradient(rgba(20,15,11,.86),rgba(20,15,11,.92)),url('hero-van.jpg');
  background-size:cover;background-position:center;background-attachment:fixed}
.rec-head{text-align:center;max-width:760px;margin:0 auto 52px}
.rec-head .en-label{display:block;font-family:"Oswald";color:var(--orange-l);font-weight:600;letter-spacing:.22em;font-size:15px;margin-bottom:16px}
.rec-head h2{font-size:clamp(27px,4.2vw,44px);font-weight:900;line-height:1.4}
.rec-head p{margin-top:18px;color:rgba(255,255,255,.85);font-size:15px}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.story-card{background:#fff;color:var(--ink);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:.3s var(--ease)}
.story-card:hover{transform:translateY(-6px)}
.story-photo{position:relative;aspect-ratio:5/3;overflow:hidden}
.story-photo img{width:100%;height:100%;object-fit:cover}
.story-badge{position:absolute;top:16px;left:0;color:#fff;font-weight:700;font-size:14px;padding:8px 20px 8px 16px;border-radius:0 999px 999px 0;box-shadow:var(--shadow-s)}
.story-badge.t1{background:var(--orange)}
.story-badge.t2{background:#6b4ec7}
.story-badge.t3{background:#2aa36b}
.story-body{padding:24px 22px;display:flex;flex-direction:column;flex:1}
.story-body h3{font-size:18px;font-weight:900;line-height:1.55;color:var(--ink);margin-bottom:14px}
.story-body .quote{font-size:13.5px;color:var(--ink-sub);line-height:1.85;flex:1}
.story-meta{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.story-meta .nm{font-weight:700;font-size:15px;color:var(--ink)}
.story-meta .pre{font-size:12px;color:var(--ink-sub);margin-top:2px}
.story-body .btn{margin-top:18px;width:100%}
.rec-more{text-align:center;margin-top:46px}

/* ============================================================ News */
.news{background:var(--white)}
.news .wrap{max-width:900px}
.news-list{border-top:2px solid var(--orange)}
.news-item{display:flex;gap:26px;align-items:center;padding:22px 6px;border-bottom:1px solid var(--line);transition:.2s}
.news-item:hover{background:var(--pale2)}
.news-item time{font-family:"Oswald";color:var(--ink-sub);font-size:15px;min-width:98px}
.news-item .cat{font-size:12px;font-weight:700;color:#fff;background:var(--orange);border-radius:4px;padding:4px 12px}
.news-item .cat.rec{background:var(--ink)}
.news-item .ttl{font-size:15px;font-weight:500}
.news-more{text-align:center;margin-top:38px}

/* ============================================================ FAQ */
.faq{background:var(--pale2)}
.faq .wrap{max-width:840px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:14px;overflow:hidden}
.faq-q{display:flex;gap:16px;align-items:center;padding:22px 24px;cursor:pointer;font-weight:700;color:var(--ink)}
.faq-q .q{color:var(--orange);font-family:"Oswald";font-size:22px;font-weight:700}
.faq-q .toggle{margin-left:auto;transition:.3s;color:var(--orange);font-size:22px}
.faq-item.open .faq-q .toggle{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-a .inner{padding:0 24px 24px 60px;color:var(--ink-sub);font-size:14.5px}

/* ============================================================ Contact（オレンジ帯） */
.cta{position:relative;color:#fff;overflow:hidden;
  background:linear-gradient(120deg,var(--orange-d),var(--orange) 55%,var(--orange-l))}
.cta::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 120%,rgba(255,255,255,.18),transparent 45%)}
.cta .wrap{position:relative;z-index:2;text-align:center;padding-block:84px}
.cta h2{font-size:clamp(26px,3.8vw,38px);font-weight:900;margin-bottom:16px}
.cta p{color:rgba(255,255,255,.92);margin-bottom:34px;font-weight:500}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================ Footer */
footer{background:var(--brown);color:rgba(255,255,255,.78);padding:64px 0 30px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px;margin-bottom:42px}
.foot-brand .logo{color:#fff;margin-bottom:16px}
.foot-brand p{max-width:330px;color:rgba(255,255,255,.6);font-size:13.5px}
.foot-col h4{color:#fff;font-size:14px;margin-bottom:16px;font-weight:700}
.foot-col a{display:block;padding:6px 0;color:rgba(255,255,255,.7)}
.foot-col a:hover{color:var(--orange-l)}
.foot-sns{display:flex;gap:12px;margin-top:20px}
.foot-sns a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;font-family:"Oswald";font-size:12px;transition:.25s}
.foot-sns a:hover{background:var(--orange)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;text-align:center;font-size:12.5px;color:rgba(255,255,255,.5)}

/* ============================================================ Sticky mobile CTA */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:90;display:none;background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.12)}
.sticky-cta a{flex:1;text-align:center;padding:15px 6px;font-weight:700;font-size:13px;color:#fff}
.sticky-cta a.c1{background:var(--ink)}
.sticky-cta a.c2{background:var(--orange)}
.sticky-cta a.c3{background:#06C755}

/* ============================================================ Responsive */
@media(max-width:900px){
  .nav-menu .links,.nav-cta{display:none}
  .hamburger{display:flex}
  .about .wrap,.svc-groups,.story-grid{grid-template-columns:1fr}
  .about .wrap{gap:50px}.svc-groups{gap:40px}.story-grid{gap:30px;max-width:440px;margin-inline:auto}
  .recruit{background-attachment:scroll}
  .services{background-attachment:scroll}
  .cargo-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr;gap:30px}
  .sticky-cta{display:flex}
  .float-line{display:none}
  body{padding-bottom:54px}
  .sec{padding:66px 0}
  .hero{min-height:80vh}
  /* 選ばれる理由：スマホは写真を上に積む */
  .reason-banner{padding:228px 26px 40px;min-height:auto}
  .reason-banner::after{display:none}
  .reason-photo{position:absolute;left:0;right:0;top:0;transform:none;width:100%;height:200px;
    clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}
}
@media(max-width:520px){.svc-cols{grid-template-columns:1fr}}
/* Mobile drawer */
.drawer{position:fixed;inset:0;background:var(--brown);z-index:200;display:flex;flex-direction:column;padding:80px 30px 30px;transform:translateX(100%);transition:.35s var(--ease)}
.drawer.open{transform:translateX(0)}
.drawer a{color:#fff;font-size:20px;font-weight:700;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.drawer .btn{margin-top:20px}
.drawer-close{position:absolute;top:24px;right:24px;background:none;border:none;color:#fff;font-size:34px;cursor:pointer}

/* ============================================================ 下層ページ共通（page hero / breadcrumb） */
.page-hero{position:relative;color:#fff;padding:90px 0 30px;text-align:center;overflow:hidden;background:#1c1714;
  background-image:linear-gradient(rgba(20,15,11,.6),rgba(20,15,11,.76)),url('hero-pc.jpg');
  background-size:cover;background-position:center}
.page-hero .en-label{display:block;font-family:"Oswald";color:var(--orange-l);letter-spacing:.24em;font-weight:600;font-size:14px;margin-bottom:12px}
.page-hero h1{font-size:clamp(28px,4.4vw,44px);font-weight:900;letter-spacing:.04em}
@media(max-width:768px){.page-hero{background-image:linear-gradient(rgba(20,15,11,.6),rgba(20,15,11,.76)),url('hero-sp.jpg');padding:80px 0 26px}}
.breadcrumb{background:var(--pale2);border-bottom:1px solid var(--line)}
.breadcrumb .wrap{display:flex;gap:9px;align-items:center;padding-block:14px;font-size:12.5px;color:var(--ink-sub)}
.breadcrumb a:hover{color:var(--orange)}
.breadcrumb .sep{opacity:.5}

/* ============================================================ 会社概要ページ */
.profile{background:var(--white)}
.profile .wrap{max-width:880px}
.info-table{width:100%;border-collapse:collapse;border-top:2px solid var(--orange)}
.info-table th,.info-table td{text-align:left;padding:20px 18px;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px;line-height:1.8}
.info-table th{width:30%;color:var(--ink);font-weight:700;background:var(--pale2);white-space:nowrap}
.info-table td{color:var(--ink-sub)}
@media(max-width:600px){.info-table th,.info-table td{display:block;width:100%}.info-table th{border-bottom:0;padding-bottom:6px}.info-table td{padding-top:6px}}
.message{background:var(--pale2)}
.message .wrap{display:grid;grid-template-columns:1fr 1.45fr;gap:56px;align-items:center}
.message-photo{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(135deg,#e7d6c0,#cdb293)}
.message-photo img{width:100%;height:100%;object-fit:cover}
.message-body .en-label{font-family:"Oswald";color:var(--orange);letter-spacing:.2em;font-weight:600;font-size:14px}
.message-body h2{font-size:clamp(22px,3.2vw,32px);font-weight:900;margin:12px 0 22px;line-height:1.55;color:var(--ink)}
.message-body p{color:var(--ink-sub);margin-bottom:16px}
.message-body .sign{margin-top:10px;color:var(--ink-sub);font-size:14px}
.message-body .sign b{font-size:20px;color:var(--ink);margin-left:8px}
@media(max-width:760px){.message .wrap{grid-template-columns:1fr;gap:30px}.message-photo{max-width:320px;margin-inline:auto}}
.access{background:var(--white)}
.access .map{aspect-ratio:16/6;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  background:repeating-linear-gradient(45deg,#f3eee7,#f3eee7 12px,#ece4d8 12px,#ece4d8 24px);display:grid;place-items:center;color:var(--ink-sub);font-size:14px;text-align:center}

/* ============================================================ 事業内容ページ（詳細ブロック / 流れ） */
.svc-detail{background:var(--white)}
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;margin-bottom:72px}
.svc-block:last-child{margin-bottom:0}
.svc-block:nth-child(even) .svc-block-img{order:2}
.svc-block-img{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(135deg,#e7d6c0,#cdb293)}
.svc-block-img img{width:100%;height:100%;object-fit:cover}
.svc-block-txt .num{font-family:"Oswald";font-size:46px;font-weight:700;color:var(--orange-l);line-height:1}
.svc-block-txt .en-s{font-family:"Oswald";color:var(--orange);letter-spacing:.14em;font-size:13px;display:block;margin:6px 0 8px}
.svc-block-txt h3{font-size:clamp(22px,3vw,30px);font-weight:900;color:var(--ink);margin-bottom:14px}
.svc-block-txt p{color:var(--ink-sub);margin-bottom:18px}
.svc-block-txt .feats{display:flex;flex-wrap:wrap;gap:8px}
.svc-block-txt .feats span{background:var(--pale);color:var(--orange-d);font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px}
@media(max-width:820px){.svc-block{grid-template-columns:1fr;gap:24px}.svc-block:nth-child(even) .svc-block-img{order:0}}
.flow{background:var(--pale2)}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.flow-step{background:#fff;border-radius:var(--radius);padding:32px 22px;text-align:center;position:relative;box-shadow:var(--shadow-s)}
.flow-step .st{font-family:"Oswald";font-size:13px;font-weight:700;color:var(--orange);letter-spacing:.12em}
.flow-step .ic{font-size:30px;margin:10px 0}
.flow-step h4{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:8px}
.flow-step p{font-size:13px;color:var(--ink-sub)}
.flow-step:not(:last-child)::after{content:"\203A";position:absolute;right:-15px;top:50%;transform:translateY(-50%);color:var(--orange);font-size:28px;font-weight:700;z-index:2}
@media(max-width:820px){.flow-grid{grid-template-columns:1fr 1fr}.flow-step:not(:last-child)::after{display:none}}
/* ============================================================ お問い合わせフォーム（contactセクション内設置） */
.contact-sec{position:relative;color:#fff;overflow:hidden;background:linear-gradient(120deg,var(--orange-d),var(--orange) 55%,var(--orange-l))}
.contact-sec::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 120%,rgba(255,255,255,.18),transparent 45%)}
.contact-sec .wrap{position:relative;z-index:2;padding-block:84px}
.contact-sec .sec-head{margin-bottom:40px}
.contact-sec .sec-head .en-label,.contact-sec .sec-head h2{color:#fff}
.contact-sec .sec-head h2 .bar{background:#fff}
.contact-sec .sec-head p{color:rgba(255,255,255,.94)}
.contact-card{background:#fff;border-radius:16px;box-shadow:var(--shadow);max-width:800px;margin:0 auto;padding:44px}
.form-row{margin-bottom:20px}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:0}
.form-row.two>div{margin-bottom:20px}
.form-row label{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px;text-align:left}
.form-row label .req{color:#fff;background:#e0492f;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle}
.form-row label .opt-tag{color:var(--ink-sub);background:var(--line);font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle}
.form-row input,.form-row select,.form-row textarea{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:13px 14px;font-size:15px;font-family:inherit;color:var(--ink);background:var(--pale2);transition:.2s}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px rgba(238,120,0,.15)}
.form-row textarea{min-height:130px;resize:vertical}
.form-submit{text-align:center;margin-top:10px}
.form-submit .btn{min-width:260px}
.form-note{text-align:center;font-size:12px;color:var(--ink-sub);margin-top:14px;line-height:1.7}
.contact-alt{text-align:center;margin-top:30px;color:#fff}
.contact-alt .or{font-size:13px;opacity:.92;margin-bottom:14px;letter-spacing:.04em}
.contact-alt .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:600px){.form-row.two{grid-template-columns:1fr;gap:0}.contact-card{padding:28px 20px}}
/* ============================================================ 日本語改行最適化（CSS / スマホ最適化） */
/* 文節（フレーズ）単位での改行＋禁則処理。
   Chrome/Edge は word-break:auto-phrase が有効。
   非対応ブラウザ(iOS Safari等)でも line-break:strict / overflow-wrap が効きます。
   ※全ブラウザで文節改行を効かせるには BudouX(JS) を併用（2段構え）。 */
h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,blockquote,
.lead,.quote,.hero h1,.sec-head h2,.about-txt h2,.reason-banner h3,
.story-body h3,.rec-head h2,.col-head,.col-foot,.svc-tab,.cargo-foot,.faq-q{
  word-break:auto-phrase;
  line-break:strict;
}
/* スマホ最適化：文節改行を維持しつつ、はみ出す長い英数字・URL等も安全に折り返す */
@media (max-width:768px){
  h1,h2,h3,h4,h5,h6,p,li,
  .lead,.quote,.hero h1,.sec-head h2,.about-txt h2,.about-txt p,
  .reason-banner h3,.reason-banner p,.story-body h3,.story-body .quote,
  .rec-head h2,.rec-head p,.col-body p,.faq-q,.faq-a .inner,
  .message-body p,.svc-block-txt p,.info-table th,.info-table td{
    word-break:auto-phrase;
    overflow-wrap:anywhere;
    line-break:strict;
  }
}
/* スマホ：選ばれる理由の見出しを2行に収める（リード文が1行に収まるよう自動縮小） */
@media (max-width:768px){
  .reason-banner h3{font-size:clamp(17px,4.8vw,22px);line-height:1.55}
}
/* スマホ：採用見出しを2行に収める（「あなたに合った働き方が、」が1行に） */
@media (max-width:768px){
  .rec-head h2{font-size:clamp(19px,6vw,30px);line-height:1.55}
}
/* ============================================================ ご利用の流れ：縦レイアウト（タイムライン型） */
.flow-grid{display:flex;flex-direction:column;gap:24px;max-width:680px;margin-inline:auto;grid-template-columns:none}
.flow-step{display:grid;grid-template-columns:74px 1fr;column-gap:24px;align-items:center;text-align:left;padding:26px 30px;position:relative}
.flow-step{grid-template-areas:"ic head" "ic title" "ic desc"}
.flow-step .ic{grid-area:ic;width:74px;height:74px;border-radius:50%;background:var(--pale);display:grid;place-items:center;font-size:32px;margin:0;align-self:center}
.flow-step .st{grid-area:head}
.flow-step h4{grid-area:title;margin:3px 0 6px}
.flow-step p{grid-area:desc}
/* ステップ間の下向き矢印 */
.flow-step:not(:last-child)::after{content:"";display:block;position:absolute;left:50%;right:auto;top:auto;bottom:-20px;transform:translateX(-50%);width:0;height:0;border:11px solid transparent;border-top-color:var(--orange);border-bottom:0}
@media(max-width:820px){
  .flow-grid{grid-template-columns:none}
  .flow-step{grid-template-columns:58px 1fr;column-gap:16px;padding:22px 20px}
  .flow-step .ic{width:58px;height:58px;font-size:27px}
  .flow-step:not(:last-child)::after{display:block;bottom:-18px}
}
/* FVロゴ（正式ロゴ画像） */
.hero-logo-img{width:clamp(190px,30vw,300px);height:auto;display:block;margin:0 auto 30px;filter:drop-shadow(0 4px 18px rgba(0,0,0,.35))}
@media (max-width:768px){ .hero-logo-img{width:clamp(160px,52vw,240px);margin-bottom:24px} }
/* ============================================================ ロゴ調整（FV拡大／ヘッダー・フッター画像化） */
.hero-logo-img{width:clamp(260px,40vw,440px);margin-bottom:34px}
.logo-img{height:54px;width:auto;display:block}
.foot-logo-img{height:64px;width:auto;display:block}
@media(max-width:768px){
  .hero-logo-img{width:clamp(210px,66vw,340px);margin-bottom:26px}
  .logo-img{height:44px}
  .foot-logo-img{height:56px}
}
/* FV：ロゴ＋コピー全体を少し下げてバランス調整 */
.hero-inner{transform:translateY(6vh)}
@media(max-width:768px){ .hero-inner{transform:translateY(4vh)} }
/* FV：ロゴとテキストの距離を詰める（テキストを少し上へ） */
.hero-logo-img{margin-bottom:-34px}
@media(max-width:768px){ .hero-logo-img{margin-bottom:-22px} }
/* ヒーロー背景を差し替え（hero-bg.jpg）※事業内容・採用の背景は据え置き */
.hero-zoom{background-image:url('hero-bg.jpg')}
/* ヒーロー背景の表示位置調整：車体を左へ寄せ、中央〜右の落ち着いた部分を見せる */
.hero-zoom{background-image:url('hero-bg.jpg');background-position:72% center}
@media(min-width:769px){
  .hero-zoom{background-size:150% auto;background-position:82% center}
}
/* アクセス：Googleマップiframeを枠いっぱいに */
.access .map{padding:0}
.access .map iframe{width:100%;height:100%;border:0;display:block}
/* ============================================================ 求人ページ：年収診断シミュレーター */
.diag{position:relative;color:#fff;overflow:hidden;background:#16110c;
  background-image:linear-gradient(rgba(18,13,8,.82),rgba(18,13,8,.9)),url('hero-bg.jpg');
  background-size:cover;background-position:center;padding:130px 0 90px}
.diag .wrap{position:relative;z-index:2;max-width:680px;text-align:center}
.diag .lead-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.diag .lead-badges span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700;backdrop-filter:blur(4px)}
.diag h1{font-size:clamp(28px,5.4vw,46px);font-weight:900;line-height:1.35}
.diag h1 .accent{color:var(--orange-l)}
.diag .sub{font-family:"Oswald";letter-spacing:.18em;color:var(--orange-l);font-weight:600;margin-top:14px;font-size:clamp(15px,2.4vw,20px)}
.quiz-wrap{max-width:620px;margin:-56px auto 0;position:relative;z-index:5;padding:0 22px 90px}
.quiz{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:38px 34px;color:var(--ink)}
.quiz-progress{display:flex;gap:8px;margin-bottom:28px}
.quiz-progress .bar{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.quiz-progress .bar.active{background:var(--orange)}
.quiz-progress .bar.done{background:var(--orange-l)}
.step{display:none}
.step.show{display:block;animation:qfade .3s var(--ease)}
@keyframes qfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step .st-label{font-family:"Oswald";color:var(--orange);font-weight:700;letter-spacing:.12em;font-size:14px}
.step h2{font-size:clamp(19px,3.4vw,24px);font-weight:900;color:var(--ink);margin:6px 0 22px;line-height:1.5}
.opts{display:grid;gap:12px}
.opt{display:flex;align-items:center;gap:12px;border:2px solid var(--line);border-radius:12px;padding:16px 18px;cursor:pointer;transition:.2s var(--ease);font-weight:700;font-size:16px}
.opt:hover{border-color:var(--orange-l);background:var(--pale2)}
.opt.sel{border-color:var(--orange);background:var(--pale)}
.opt .sub2{font-weight:500;font-size:12px;color:var(--ink-sub);margin-left:auto;text-align:right}
.opt .check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;display:grid;place-items:center;transition:.2s}
.opt.sel .check{border-color:var(--orange);background:var(--orange)}
.opt.sel .check::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.quiz-nav{display:flex;justify-content:space-between;margin-top:26px}
.quiz-nav button{background:none;border:none;cursor:pointer;font-weight:700;font-size:14px;color:var(--ink-sub)}
.quiz-nav .back{visibility:hidden}
.quiz-nav .back.show{visibility:visible}
.result{display:none}
.result.show{display:block;animation:qfade .4s var(--ease)}
.result .r-label{text-align:center;font-family:"Oswald";color:var(--orange);letter-spacing:.14em;font-weight:700;font-size:14px}
.result .r-title{text-align:center;font-size:20px;font-weight:900;color:var(--ink);margin:6px 0 18px}
.result .r-amount{text-align:center;background:linear-gradient(135deg,var(--orange-d),var(--orange-l));color:#fff;border-radius:14px;padding:30px 20px;margin-bottom:18px}
.result .r-amount .cap{font-size:13px;opacity:.92}
.result .r-amount .num{font-family:"Oswald";font-size:clamp(40px,9vw,64px);font-weight:700;line-height:1.05;margin:4px 0}
.result .r-amount .yen{font-size:24px}
.result .r-plan{background:var(--pale2);border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center;font-size:14px;color:var(--ink-sub);margin-bottom:8px}
.result .r-plan b{color:var(--ink);font-size:16px}
.result .r-note{text-align:center;font-size:12px;color:var(--ink-sub);margin:12px 0 22px}
.result .r-btns{display:grid;gap:12px}
.result .r-btns .btn{width:100%}
.result .redo{display:block;margin:18px auto 0;background:none;border:none;color:var(--ink-sub);font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline}
/* 案件詳細 */
.cases{background:var(--pale2)}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case-card{background:#fff;border-radius:14px;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.case-card .ch{background:var(--ink);color:#fff;padding:16px 20px;font-weight:900;font-size:17px;display:flex;align-items:center;gap:10px}
.case-card .ch .no{font-family:"Oswald";color:var(--orange-l)}
.case-card .cb{padding:22px 20px;flex:1}
.case-card .row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14px}
.case-card .row:last-child{border-bottom:0}
.case-card .row .k{color:var(--ink-sub);white-space:nowrap}
.case-card .row .v{font-weight:700;text-align:right}
.case-card .pay{font-family:"Oswald";color:var(--orange-d);font-size:18px;font-weight:700}
/* 事例 */
.voices{background:#fff}
.voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:920px;margin-inline:auto}
.voice{border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px;transition:.25s}
.voice:hover{box-shadow:var(--shadow-s);transform:translateY(-4px)}
.voice .vtop{display:flex;align-items:center;justify-content:space-between;gap:12px}
.voice .age{font-family:"Oswald";font-size:30px;font-weight:700;color:var(--ink)}
.voice .age small{font-size:12px;color:var(--ink-sub);font-family:"Noto Sans JP";margin-left:6px}
.voice .sales{text-align:right}
.voice .sales .s{font-family:"Oswald";font-size:26px;font-weight:700;color:var(--orange-d);line-height:1}
.voice .sales .sc{font-size:11px;color:var(--ink-sub)}
.voice .meta{display:flex;flex-wrap:wrap;gap:6px}
.voice .meta span{background:var(--pale);color:var(--orange-d);font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.voice .cmt{font-size:14px;color:var(--ink-sub);line-height:1.85;border-left:3px solid var(--orange-l);padding-left:14px}
@media(max-width:820px){ .case-grid{grid-template-columns:1fr}.voice-grid{grid-template-columns:1fr} }
/* TOPのRECRUITセクション：ドライバー事例カードを白背景＋3カラムで */
.recruit .voice-grid{grid-template-columns:repeat(3,1fr);max-width:none;margin-top:8px}
.recruit .voice{background:#fff}
@media(max-width:820px){ .recruit .voice-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto} }
/* ============================================================ FV：焼き込みテキスト入り画像（PC=横/SP=縦） */
.hero.hero-image{min-height:0;display:block;text-align:left;overflow:hidden;background:#15110d;padding-top:74px}
.hero.hero-image::after{display:none}
.hero-pic{display:block;line-height:0}
.hero-pic img{display:block;width:100%;height:auto}
/* FV画像：ゆっくりズーム（左上アンカーで焼き込みテキストを維持） */
.hero-image .hero-pic{overflow:hidden}
.hero-image .hero-pic img{transform-origin:top left;animation:heroKen2 17s ease-in-out infinite alternate;will-change:transform}
@keyframes heroKen2{from{transform:scale(1)}to{transform:scale(1.06)}}
@media(prefers-reduced-motion:reduce){ .hero-image .hero-pic img{animation:none} }
/* ============================================================ FV：画像＋テキストオーバーレイ（テキストはHTMLで重ねる） */
.hero.hero-image{padding-top:0;background:#0e1722;position:relative}
.hero-copy{position:absolute;z-index:3;left:clamp(22px,5vw,96px);top:clamp(98px,15%,210px);color:#16232f}
.hero-copy h1{font-size:clamp(30px,4.6vw,60px);font-weight:900;line-height:1.32;letter-spacing:.01em;text-shadow:0 2px 18px rgba(255,255,255,.5)}
.hero-copy h1 .hc-accent{color:var(--orange)}
.hero-copy p{margin-top:clamp(12px,1.4vw,22px);font-size:clamp(13px,1.5vw,20px);font-weight:700;line-height:1.75;color:#2f3e4c;text-shadow:0 2px 14px rgba(255,255,255,.5)}
@media(max-width:768px){
  .hero-copy{top:96px;left:24px}
  .hero-copy h1{font-size:clamp(26px,7.6vw,40px)}
  .hero-copy p{font-size:clamp(12px,3.5vw,15px);margin-top:12px}
}
/* FVテキスト：スマホは人物にかぶらないよう縮小＆上寄せ */
@media(max-width:768px){
  .hero-copy{top:84px;left:22px;max-width:62%}
  .hero-copy h1{font-size:clamp(20px,5.8vw,30px);line-height:1.32}
  .hero-copy p{font-size:clamp(11px,3vw,13px);margin-top:9px;line-height:1.7}
}
@media(max-width:380px){
  .hero-copy h1{font-size:19px}
  .hero-copy p{font-size:10.5px}
}
/* FVテキスト：スマホはさらに縮小し人物左の余白へ */
@media(max-width:768px){
  .hero-copy{top:80px;left:20px}
  .hero-copy h1{font-size:18px;line-height:1.3}
  .hero-copy p{font-size:10.5px;margin-top:7px;line-height:1.65}
}
@media(max-width:380px){
  .hero-copy{top:78px}
  .hero-copy h1{font-size:17px}
  .hero-copy p{font-size:10px}
}
/* フッターSNS：公式アイコン（Instagram / LINE） */
.foot-sns a svg{width:20px;height:20px;display:block}
.foot-sns a.sns-ig:hover{background:linear-gradient(45deg,#feda75 0%,#fa7e1e 28%,#d62976 60%,#962fbf 85%,#4f5bd5 100%)}
.foot-sns a.sns-line:hover{background:#06C755}

/* ===== 理念 PHILOSOPHY（シンプル） ===== */
.philosophy{background:var(--pale)}
.philosophy .wrap{max-width:760px}
.phil-lead-simple{text-align:center;margin-bottom:40px}
.phil-lead-simple h3{font-size:clamp(24px,4vw,38px);font-weight:900;color:var(--brown);line-height:1.55}
.phil-lead-simple h3 .qm{color:var(--orange-d)}
.phil-body{font-size:16px;line-height:2.05;color:var(--ink)}
.phil-body p{margin-bottom:22px}
.phil-body b{color:var(--orange-d);font-weight:700}
.phil-bullets{margin:0 0 22px;padding-left:26px}
.phil-bullets li{margin-bottom:8px;font-weight:700;color:var(--brown);line-height:1.8}
.phil-bullets li::marker{color:var(--orange)}
@media(max-width:768px){.phil-body{font-size:15px;line-height:2}}

/* ===== お問い合わせフォーム 送信機能 ===== */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-alert{max-width:760px;margin:0 auto 28px;padding:16px 22px;border-radius:var(--radius-s);font-weight:700;line-height:1.7;font-size:15px}
.form-alert.ok{background:#eafaf0;border:1px solid #43c06a;color:#1f7d42}
.form-alert.ng{background:#fdeeee;border:1px solid #e3756f;color:#b23b34}
