/* ハネヤスミ差し替え用の最小上書き。トレース本体には手を入れない */
:root{--font-jp:"Zen Kaku Gothic New",sans-serif;--font-disp:"Zen Kaku Gothic New",sans-serif}
body{font-family:"Zen Kaku Gothic New",sans-serif;color:#22262E}
/* KVメイン円の拡大（指示分だけ） */
.cover__photo--main{top:4.5vh;width:min(62vw,900px)}
@media (min-width:1600px){.cover__photo--main{width:62vw;max-width:960px}}
/* コピーはSVG差し替えで字数が違うため幅だけ調整 */
.cover__copy{width:auto;gap:0}
.cover__copy img{display:block;margin:0}
.cover__copy img:nth-child(1){width:302px}
.cover__copy img:nth-child(2){width:334px;margin-top:20px}
.cover__copy img:nth-child(3){width:222px;margin-top:26px}
@media (min-width:1600px){.cover__copy img:nth-child(1){width:356px}.cover__copy img:nth-child(2){width:394px;margin-top:24px}.cover__copy img:nth-child(3){width:262px;margin-top:30px}}
@media (max-width:900px){.cover__copy img:nth-child(1){width:250px}.cover__copy img:nth-child(2){width:277px;margin-top:14px}.cover__copy img:nth-child(3){width:184px;margin-top:18px}}
/* 副文字も#22262E・注釈だけ#5A5E66 */
.project-card p,.about__content>p,.project__lead{color:#22262E}
.project-card__text-loop,.privacy-button,.footer__copy{color:#5A5E66}
/* メニュー項目のウェイト増 */
.global-menu__nav small,.global-menu__project small{font-weight:700;color:#22262E}
.global-menu__children a{font-weight:600}
.global-menu__external a{font-weight:700}
/* コピーの可読性（円に重なる部分に淡い光暈） */
.cover__copy img{filter:drop-shadow(0 0 10px rgba(246,244,239,.9)) drop-shadow(0 0 26px rgba(246,244,239,.6))}
/* メイン円をわずかに右へ（コピーの余白確保） */
.cover__photo--main{left:53%}
@media (max-width:900px){.cover__photo--main{left:auto}}
/* 帰庫全景の構図: 小円は左右に分散 */
.cover__photo--small-left{left:6%;right:auto;top:56%}
.cover__photo--small-right{right:7%;top:48%}
@media (max-width:900px){.cover__photo--small-left{left:2%;top:59%}.cover__photo--small-right{right:2%;top:52%}}
/* 帰庫全景の大円: トラックの見切れ対策で少し上げる */
.cover__state--3 .cover__photo--main{top:1.8vh}

/* SCROLLリング: 文字だけ回転、鳥は固定 */
.cover__scroll-wrap{position:absolute;z-index:8;right:4.5vw;bottom:16%;width:138px;height:138px}
.cover__scroll{position:absolute;inset:0;right:auto;bottom:auto;width:100%}
.cover__scroll-bird{position:absolute;left:50%;top:50%;width:44px;transform:translate(-50%,-50%);animation:none}
@media (max-width:900px){.cover__scroll-wrap{right:5.3vw;bottom:17%;width:104px;height:104px}.cover__scroll-bird{width:34px}}
/* ヘッダー(自作仕様) */
.header{display:flex;align-items:center;gap:26px;left:0;right:0;padding:0 40px;justify-content:space-between}
.ts-lg{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.12em;font-size:16px;color:#22262E;text-decoration:none}
.ts-lg-tx{line-height:1.25}
.ts-lg-tx small{font-family:Archivo,sans-serif;font-weight:600;font-size:9px;letter-spacing:.26em;color:#5A5E66;display:block}
.ts-nav{display:flex;gap:22px;align-items:center;margin-left:auto;font-size:13.5px}
.ts-nav>a{color:#22262E;text-decoration:none;font-weight:700}
.ts-nav>a:not(.ts-btn):hover{color:#C65D21}
.ts-btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:11px 20px;font-weight:700;font-size:13px;letter-spacing:.05em;transition:background .3s,color .3s,opacity .3s}
.ts-btn .arw{position:relative;width:18px;height:14px;overflow:visible}
.ts-btn .arw svg{position:absolute;left:0;top:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s}
.ts-btn .arw .a2{transform:translate(-22px,15px) rotate(-24deg);opacity:0}
.ts-btn:hover .arw .a1{transform:translate(24px,-16px) rotate(-24deg);opacity:0}
.ts-btn:hover .arw .a2{transform:none;opacity:1}
.ts-btn-a{background:#C65D21;color:#fff}
.ts-btn-a:hover{background:#B45118}
.ts-btn-b{border:1.5px solid #22262E;color:#22262E}
.ts-btn-b:hover{background:#22262E;color:#F2EFE8}
@media (max-width:1100px){.ts-nav>a:not(.ts-btn){display:none}}
@media (max-width:640px){.ts-btn-b{display:none}.ts-btn{padding:8px 14px;font-size:12px}.ts-lg-tx small{display:none}}
/* 下セクションのボタン類は暫定でヘッダーと同仕様のトーンに */
.pill-link{background:#C65D21;color:#fff;font-weight:700}
.pill-link span{color:#fff}
.about__content .pill-link{background:#fff;color:#C65D21}
.project-card__arrow{background:#C65D21}
.page-top{background:#C65D21}

/* --- 修正: ヘッダーを最前面にしてボタンを操作可能に（カバーが被っていた） --- */
.header{z-index:40}
.cover__state,.cover__balls,.cover__arc,.cover__copy,.cover__scroll-wrap{pointer-events:none}
.ts-nav,.ts-btn,.menu-trigger{pointer-events:auto}
/* --- 修正: 採用エントリーは白文字（トレース側のa色に勝たせる） --- */
.header .ts-btn-a,.header .ts-btn-a:visited{color:#fff}
.header .ts-btn-a svg{color:#fff}
.header .ts-btn-b,.header .ts-btn-b:visited{color:#22262E}
.header .ts-btn-b:hover{color:#F2EFE8}
/* --- 修正: 構図2の左小円をコピーの上方へ退避 --- */
.cover__state--3 .cover__photo--small-left{left:4%;top:16%}
.cover__balls span:nth-child(1){top:52%;left:5%;width:52px;height:52px}
@media (max-width:900px){
  .cover__state--3 .cover__photo--small-left{left:2%;top:14%}
  .cover__balls span:nth-child(1){top:44%;left:6%;width:26px;height:26px}
}
/* 構図1の小円もコピーに触れないよう上げる */
.cover__state--2 .cover__photo--small{top:31%;left:22%}
@media (max-width:900px){.cover__state--2 .cover__photo--small{top:50%;left:3%}}

/* ================= Statement セクション ================= */
/* FV下端の白い楕円（ラフのarc）から続く白面 */
/* 継ぎ目＝参照サイト実測値そのまま（幅110%・高さ30%・下端-18%・扁平楕円）
   色は夕日グラデーションの上端色。Statementはこの色から下へ続く */
/* 楕円の下端をFVの下端に合わせる＝左右の端まで隙間なく埋まる */
.cover__arc{display:block;left:-9%;right:-9%;bottom:0;height:13%;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  background:linear-gradient(180deg,#EFA043 0%,var(--sun-top) 100%);z-index:3}
@media (max-width:900px){.cover__arc{left:-14%;right:-14%;height:8%}}
/* プライバシー歯車ボタンは使わない */
.privacy-button{display:none}
/* 夕日のグラデーション（FVのあしらいと同一） */
:root{--sun-top:#E08A2A;--sun-mid:#C2521B;--sun-btm:#A33417;
  --sunset:linear-gradient(180deg,var(--sun-top) 0%,var(--sun-mid) 52%,var(--sun-btm) 100%)}
.ts-st{position:relative;background:var(--sunset);color:#fff;
  padding:0 0 clamp(96px,11vw,180px);overflow:visible;margin-top:0}
.ts-st__field{display:block;position:absolute;z-index:0;top:clamp(76px,8vw,140px);right:-16%;width:clamp(520px,62vw,980px);height:clamp(300px,36vw,560px);
  border-radius:50%;background:#E8A05C;opacity:.22;transform:translate3d(0,var(--ts-st-field-y,0px),0) rotate(-8deg);
  will-change:transform;pointer-events:none}
.ts-st__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,48%) 1fr;gap:clamp(36px,6vw,96px);
  width:min(1160px,90vw);margin:0 auto;padding-top:clamp(64px,7vw,120px)}
.ts-eyebrow{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(15px,1.5vw,19px);letter-spacing:.14em;color:#fff;margin:0 0 clamp(24px,3vw,44px);display:flex;align-items:center;gap:12px}
.ts-eyebrow::before{content:"";width:11px;height:11px;border-radius:50%;background:#fff}
.ts-st__title{margin:0;font-size:clamp(28px,3.1vw,44px);font-weight:700;line-height:1.5;letter-spacing:.02em;color:#fff}
.ts-st__title .l{white-space:nowrap}
.ts-st__title .l{display:block}
.ts-st__sub{margin:20px 0 0;font-size:13.5px;font-weight:700;letter-spacing:.14em;color:#5A5E66}
.ts-st__body{padding-top:clamp(4px,1vw,14px)}
.ts-st__body p{margin:0 0 2.05em;font-size:clamp(16px,1.42vw,21px);font-weight:500;line-height:2.05;color:#FFFFFF}
.ts-st__body p b{font-weight:700;color:#C65D21}

.ts-st__link{margin-top:8px}
@media (max-width:900px){
  .ts-st__field{top:82px;right:-38%;width:126vw;height:72vw;opacity:.18}
  .ts-st__inner{grid-template-columns:1fr;gap:28px;padding-top:70px}
  .ts-st__body p{margin-bottom:1.7em}
  .ts-st__title{line-height:1.5}
}
/* 未実装の旧トレースセクションは一旦隠す（順に作り替える） */
.project,.about,.banner70{display:none}

/* Statement: 出現アニメ（トレースの.reveal に乗せる） */
.ts-st__head,.ts-st__body{opacity:0;transform:translateY(22px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.ts-st__head.is-inview,.ts-st__body.is-inview{opacity:1;transform:none}
.ts-st__body.is-inview{transition-delay:.15s}
@media (prefers-reduced-motion:reduce){.ts-st__head,.ts-st__body{opacity:1!important;transform:none!important}}
@media (prefers-reduced-motion:reduce){.ts-st__field{transform:rotate(-8deg)!important}}

/* ヘッダー: スクロール後は白地＋罫線（FVのコピーと重なっても読める） */
.header{transition:background .35s ease,box-shadow .35s ease,padding .35s ease}
.header.is-scrolled{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(34,38,46,.08)}
@media (max-width:900px){.header.is-scrolled{background:rgba(255,255,255,.96)}}
/* SPではスクロール後もメニューボタンだけを表示し、白帯とロゴは固定しない */
@media (max-width:900px){
  .header.is-scrolled{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}
  .header.is-scrolled .ts-lg{opacity:0;visibility:hidden;pointer-events:none}
  .header.is-scrolled .ts-nav{display:none}
  .header.is-scrolled .menu-trigger{pointer-events:auto}
}
/* SP: ロゴとボタンの折り返しを止める */
.ts-lg-tx,.ts-btn{white-space:nowrap}
@media (max-width:640px){
  .header{padding:0 18px;gap:10px}
  .ts-lg-tx{font-size:14px}
  .ts-btn{padding:8px 13px;font-size:11.5px;gap:7px}
  .ts-st__title{font-size:25px}
}
/* アンカー遷移時に固定ヘッダーへ潜り込まないように */
section[id],main [id]{scroll-margin-top:112px}
@media (max-width:900px){section[id],main [id]{scroll-margin-top:88px}}

/* Statement: 参考サイトに合わせた行送りの短文ブロック */
.ts-st__body p:last-of-type{margin-bottom:2.4em}
.ts-st__body p b{font-weight:700;color:#fff;box-shadow:inset 0 -.42em 0 rgba(255,255,255,.18)}

/* 大きめボタン（動き・意匠はヘッダーと共通、寸法だけ拡大） */
.ts-btn-lg{padding:19px 36px;font-size:clamp(14px,1.05vw,16px);gap:14px;border-width:2px}
.ts-btn-lg .arw{width:22px;height:16px}
.ts-btn-lg .arw svg{width:20px;height:16px}
.ts-st__link{margin-top:14px}
@media (max-width:900px){.ts-btn-lg{padding:16px 28px;font-size:14px}}
/* FVの丸: 夕日のグラデーション（トレースのベタ赤との差別化） */
.cover__balls span{background:linear-gradient(155deg,#EFA070 0%,#D9702E 46%,#B84E15 100%)}
.cover__balls span:nth-child(2){background:linear-gradient(200deg,#F0A87C 0%,#C65D21 100%)}
.cover__balls span:nth-child(3){background:linear-gradient(140deg,#E8905C 0%,#C65D21 55%,#A9450F 100%)}
.cover__balls span:nth-child(4){background:linear-gradient(180deg,#EFA070 0%,#C65D21 100%)}
/* 円写真の背面シャドウ円も同じ夕日グラデに */
.cover__shadow{background:linear-gradient(155deg,#E8905C 0%,#C65D21 52%,#AE4A12 100%)}

/* オレンジ面のボタン（動きはヘッダーと共通） */
.ts-st .ts-btn-b{border-color:#fff;color:#fff}
.ts-st .ts-btn-b:hover{background:#fff;color:#A64917}
/* FVのあしらいもStatementと同じ夕日グラデーション */
.cover__balls span,
.cover__balls span:nth-child(2),
.cover__balls span:nth-child(3),
.cover__balls span:nth-child(4){background:var(--sunset)}
.cover__shadow{background:var(--sunset)}

/* FVを下セクションより前面に。円写真は常に最前面（アーチにも被らない） */
.cover{position:relative;z-index:2}
.ts-st{z-index:1}
.cover__state{z-index:6}
.cover__copy{z-index:7}
.cover__scroll-wrap{z-index:8}
.header{z-index:60}
/* メイン円は高さでも上限をかけて正円のまま収める */
.cover__photo--main{top:6svh;width:min(62vw,900px,76svh)}
@media (min-width:1600px){.cover__photo--main{width:min(62vw,960px,76svh)}}
@media (max-width:900px){.cover__photo--main{top:9svh;width:min(96vw,52svh)}}

/* ================= 運ぶ仕事（カード意匠） ================= */
.ts-svc{position:relative;z-index:1;background:#F2EFE8;overflow:hidden;
  padding:clamp(96px,11vw,170px) 0 clamp(96px,12vw,180px)}
/* Statement（橙）からこの面へ楕円で継ぐ */
.ts-svc::before{content:"";position:absolute;left:-9%;right:-9%;top:calc(-1 * clamp(46px,5.2vw,86px));
  height:clamp(50px,5.6vw,92px);background:#F2EFE8;border-radius:50% 50% 0 0 / 100% 100% 0 0;z-index:2}
.ts-svc__ghost{display:none}
.ts-svc__dot{position:sticky;top:clamp(140px,18vh,180px);z-index:2;height:0;
  width:100%;pointer-events:none}
.ts-svc__dot::before{content:"";display:block;width:clamp(190px,24vw,340px);aspect-ratio:1;
  margin-left:auto;margin-right:clamp(18px,5vw,84px);transform:translateY(clamp(16px,2vw,32px));
  border-radius:50%;background:#C2521B;opacity:.12}
.ts-svc__inner{position:relative;z-index:3;width:min(1160px,90vw);margin:0 auto}
.ts-eyebrow--ink{color:#22262E}
.ts-eyebrow--ink::before{background:#C2521B}
.ts-svc__head{text-align:center;margin-bottom:clamp(40px,5vw,72px);display:flex;flex-direction:column;align-items:center}
.ts-svc__head h2{margin:0;font-size:clamp(27px,3.2vw,44px);font-weight:700;line-height:1.5;letter-spacing:.02em;color:#22262E}
.ts-svc__lead{margin:16px 0 0;font-size:clamp(14px,1.15vw,17px);font-weight:500;line-height:2;color:#22262E}
.ts-svc__list{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,34px)}
.ts-svc__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.4vw,34px)}
/* カード本体：白・角丸10px・影・clip-pathで開く */
.ts-card{display:block;overflow:hidden;background:#fff;border-radius:10px;
  box-shadow:0 5px 20px rgba(34,38,46,.10);clip-path:inset(50% round 10px);transform:translateY(10%);
  transition:clip-path 1.4s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}
.ts-card.is-inview{clip-path:inset(-5% round 10px);transform:none}
.ts-card:hover{box-shadow:0 12px 32px rgba(34,38,46,.18)}
.ts-card__visual{position:relative;overflow:hidden;aspect-ratio:2080/1122;background:#F2EFE8}
.ts-card__visual img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.ts-card:hover .ts-card__visual img{transform:scale(1.04)}
.ts-card__loop{position:absolute;right:2%;bottom:3%;color:#fff;font-size:11px;writing-mode:vertical-rl;opacity:.75;letter-spacing:.08em}
.ts-card__meta{position:relative;display:flex;align-items:center;gap:clamp(18px,2vw,30px);
  min-height:126px;padding:22px clamp(80px,7vw,110px) 22px clamp(20px,2.4vw,34px)}
.ts-card__idx{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(30px,2.6vw,38px);line-height:1;color:#C2521B;text-align:center;flex:none}
.ts-card__idx small{display:block;font-size:11px;letter-spacing:.12em;margin-top:5px}
.ts-card__tx h3{margin:0;font-size:clamp(19px,1.9vw,27px);font-weight:700;line-height:1.4;color:#22262E}
.ts-card__tx p{margin:7px 0 0;font-size:clamp(12.5px,1vw,14.5px);font-weight:500;line-height:1.85;color:#5A5E66}
.ts-card__arw{position:absolute;top:50%;right:clamp(20px,2.4vw,34px);transform:translateY(-50%);
  width:clamp(46px,4vw,58px);height:clamp(46px,4vw,58px);border-radius:50%;background:#C2521B;color:#fff;
  display:grid;place-items:center;transition:background .3s}
.ts-card:hover .ts-card__arw{background:#A33417}
/* 主役カード（上段）だけ大きく */
.ts-card.is-main .ts-card__visual{aspect-ratio:2080/860}
.ts-card.is-main .ts-card__meta{min-height:150px}
.ts-card.is-main .ts-card__idx{font-size:clamp(34px,3.2vw,46px)}
.ts-card.is-main .ts-card__tx h3{font-size:clamp(22px,2.4vw,34px)}
.ts-card.is-main .ts-card__tx p{font-size:clamp(13px,1.1vw,16px)}
@media (max-width:900px){
  .ts-svc__row{grid-template-columns:1fr}
  .ts-card__meta{min-height:0;padding:18px 68px 18px 16px;gap:14px}
  .ts-card__loop{display:none}
  .ts-svc__dot{top:108px}
  .ts-svc__dot::before{width:42vw;margin-right:-7vw;opacity:.10}
  .sp-none{display:none}
  .ts-card.is-main .ts-card__visual{aspect-ratio:2080/1122}
}
@media (prefers-reduced-motion:reduce){.ts-card{clip-path:none!important;transform:none!important}}
/* カードの矢印円（ヘッダーと同じ鳥の飛翔ホバー） */
.ts-card__arw .arw{position:relative;width:18px;height:14px;display:block}
.ts-card__arw .arw svg{position:absolute;left:0;top:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s}
.ts-card__arw .arw .a2{transform:translate(-22px,15px) rotate(-24deg);opacity:0}
.ts-card:hover .ts-card__arw .arw .a1{transform:translate(24px,-16px) rotate(-24deg);opacity:0}
.ts-card:hover .ts-card__arw .arw .a2{transform:none;opacity:1}

/* ================= 共通ルール ================= */
/* コンテンツ幅（〜1439は1080px上限、1440〜は75.7vw・最大1440px、SPは89.33vw） */
:root{--page:min(90vw,1080px)}
@media (min-width:1440px){:root{--page:min(75.7vw,1440px)}}
@media (max-width:900px){:root{--page:89.3333vw}}
.ts-st__inner,.ts-svc__inner{width:var(--page)}
/* セクション見出し：英字大＋和文小（Service以降の共通型） */
.ts-sh{text-align:center;margin-bottom:clamp(40px,5vw,72px)}
.ts-sh__en{margin:0;font-family:Archivo,sans-serif;font-weight:700;
  font-size:clamp(46px,6.2vw,96px);line-height:1;letter-spacing:.005em;color:#22262E}
.ts-sh__jp{margin:clamp(14px,1.6vw,22px) 0 0;font-size:clamp(15px,1.35vw,20px);font-weight:700;
  letter-spacing:.06em;color:#22262E;display:flex;align-items:center;justify-content:center;gap:11px}
.ts-sh__jp::before{content:"";width:10px;height:10px;border-radius:50%;background:#C2521B;flex:none}
/* 説明文は薄墨にしない（本文と同じ色） */
.ts-card__tx p,.ts-svc__lead{color:#22262E}


/* ================= 人（1人1画面の横送り） ================= */
.ts-mem{position:relative;z-index:1;background:#FFFFFF;overflow:hidden;
  padding:clamp(96px,11vw,170px) 0 clamp(90px,10vw,150px)}
.ts-mem::before{content:"";position:absolute;left:-9%;right:-9%;top:calc(-1 * clamp(46px,5.2vw,86px));
  height:clamp(50px,5.6vw,92px);background:#FFFFFF;border-radius:50% 50% 0 0 / 100% 100% 0 0;z-index:2}
/* 写真の背後を通る夕日の丸 */
.ts-mem__dot{position:absolute;z-index:0;right:-8%;top:34%;width:min(52vw,760px);aspect-ratio:1;
  border-radius:50%;background:var(--sunset);opacity:.10}
.ts-mem__inner{position:relative;z-index:3;width:var(--page);margin:0 auto}
.ts-mem__head{display:grid;grid-template-columns:minmax(280px,38%) 1fr auto;align-items:end;
  gap:clamp(24px,3vw,56px);margin-bottom:clamp(40px,4.6vw,70px)}
.ts-sh--left{text-align:left;margin-bottom:0}
.ts-sh--left .ts-sh__jp{justify-content:flex-start}
.ts-mem__lead{margin:0 0 6px;font-size:clamp(14px,1.05vw,16px);font-weight:500;line-height:2;color:#22262E}
.ts-mem__nav{display:flex;gap:10px;margin-bottom:6px}
.ts-nav-btn{width:54px;height:34px;border-radius:999px;border:1.5px solid #22262E;background:transparent;
  color:#22262E;font-size:15px;line-height:1;cursor:pointer;transition:background .3s,color .3s,opacity .3s}
.ts-nav-btn:hover{background:#22262E;color:#fff}
.ts-nav-btn[disabled]{opacity:.25;cursor:default}
.ts-nav-btn:hover[disabled]{background:transparent;color:#22262E}
/* スライド：1枚=画面いっぱい。左37%テキスト／右63%写真 */
.ts-mem__track{position:relative;z-index:3;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;
  scroll-snap-type:x mandatory}
.ts-mem__track::-webkit-scrollbar{display:none}
.ts-mem__rail{display:flex;width:max-content}
.ts-slide{width:100vw;flex:none;scroll-snap-align:start}
.ts-slide__link{display:grid;grid-template-columns:37% 63%;align-items:center;
  width:100%;text-decoration:none;color:#22262E}
.ts-slide__tx{position:relative;padding-left:calc((100vw - var(--page)) / 2);padding-right:clamp(24px,3vw,56px)}
.ts-slide__lb{margin:0;font-family:Archivo,sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;
  display:flex;align-items:center;gap:9px}
.ts-slide__lb::before{content:"";width:8px;height:8px;border-radius:50%;background:#C2521B}
.ts-slide__no{margin:10px 0 0;font-family:Archivo,sans-serif;font-weight:700;
  font-size:clamp(40px,4vw,60px);line-height:1;color:#C2521B}
.ts-slide__h{margin:clamp(12px,1.4vw,20px) 0 0;font-size:clamp(21px,2.3vw,34px);font-weight:700;
  line-height:1.55;letter-spacing:.01em;color:#22262E}
.ts-slide__role{margin:clamp(18px,2vw,28px) 0 0;font-size:clamp(12.5px,1vw,14px);font-weight:500;color:#22262E}
.ts-slide__name{margin:4px 0 0;font-size:clamp(16px,1.4vw,20px);font-weight:700;color:#22262E}
.ts-slide__arw{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:#C2521B;color:#fff;margin-top:clamp(18px,2vw,28px);transition:background .3s}
.ts-slide__link:hover .ts-slide__arw{background:#A33417}
.ts-slide__arw .arw{position:relative;width:18px;height:14px;display:block}
.ts-slide__arw .arw svg{position:absolute;left:0;top:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s}
.ts-slide__arw .arw .a2{transform:translate(-22px,15px) rotate(-24deg);opacity:0}
.ts-slide__link:hover .ts-slide__arw .arw .a1{transform:translate(24px,-16px) rotate(-24deg);opacity:0}
.ts-slide__link:hover .ts-slide__arw .arw .a2{transform:none;opacity:1}
.ts-slide__ph{overflow:hidden;aspect-ratio:1.52;background:#F2EFE8}
.ts-slide__ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.ts-slide__link:hover .ts-slide__ph img{transform:scale(1.03)}
@media (max-width:900px){
  .ts-mem__head{grid-template-columns:1fr;align-items:start;gap:18px}
  .ts-mem__nav{margin-bottom:0}
  .ts-slide__link{grid-template-columns:1fr;gap:22px}
  .ts-slide__tx{order:2;padding:0 5.33vw}
  .ts-slide__ph{order:1;aspect-ratio:1.3}
  .ts-mem__dot{width:86vw;right:-24%;top:10%}
}
/* Entryカード：英字大＋和文小 */
.ts-ecard{padding:clamp(26px,2.6vw,38px) clamp(64px,5vw,80px) clamp(26px,2.6vw,38px) clamp(24px,2.4vw,34px);gap:6px}
.ts-ecard__en{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(28px,2.8vw,42px);
  line-height:1.05;letter-spacing:.005em;color:#fff}
.ts-ecard.is-primary .ts-ecard__en{color:#fff}
.ts-ecard:hover .ts-ecard__en{color:#22262E}
.ts-ecard__t{font-size:clamp(13.5px,1.1vw,16px);font-weight:700;letter-spacing:.04em;color:#FFFFFF}
.ts-ecard:hover .ts-ecard__t{color:#22262E}

/* ================= 採用（全面背景＋ボタンカード：復元） ================= */
.ts-entry{position:relative;z-index:1;overflow:hidden;color:#fff;isolation:isolate;
  padding:clamp(100px,12vw,180px) 0 clamp(100px,12vw,180px)}
.ts-entry__bg{position:absolute;inset:0;z-index:-2;
  background:url(../assets/bg-0720a8.jpg) center 42%/cover no-repeat;transform:scale(1.02)}
.ts-entry__veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(34,38,46,.84) 0%,rgba(34,38,46,.66) 42%,rgba(163,52,23,.74) 100%)}
.ts-entry__inner{position:relative;width:var(--page);margin:0 auto}
.ts-entry__head{text-align:center;margin-bottom:clamp(40px,4.6vw,68px)}
.ts-entry__en{margin:0;font-family:Archivo,sans-serif;font-weight:700;
  font-size:clamp(46px,6.2vw,96px);line-height:1;color:#fff}
.ts-entry__jp{margin:clamp(14px,1.6vw,22px) 0 0;font-size:clamp(19px,1.9vw,28px);font-weight:700;
  letter-spacing:.04em;color:#fff;display:flex;align-items:center;justify-content:center;gap:11px}
.ts-entry__jp::before{content:"";width:10px;height:10px;border-radius:50%;background:#E08A2A;flex:none}
.ts-entry__lead{margin:18px 0 0;font-size:clamp(14px,1.1vw,17px);font-weight:500;line-height:2;color:#FFFFFF}
.ts-entry__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px)}
.ts-ecard{position:relative;display:flex;flex-direction:column;gap:6px;text-decoration:none;
  background:rgba(255,255,255,.10);border:1.5px solid rgba(255,255,255,.42);border-radius:14px;
  padding:clamp(26px,2.6vw,38px) clamp(64px,5vw,80px) clamp(26px,2.6vw,38px) clamp(24px,2.4vw,34px);
  color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .35s,border-color .35s,transform .35s}
.ts-ecard:hover{background:rgba(255,255,255,.94);border-color:#fff;color:#22262E;transform:translateY(-3px)}
.ts-ecard__en{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(28px,2.8vw,42px);
  line-height:1.05;letter-spacing:.005em;color:#fff}
.ts-ecard__t{font-size:clamp(13.5px,1.1vw,16px);font-weight:700;letter-spacing:.04em;color:#FFFFFF}
.ts-ecard:hover .ts-ecard__en,.ts-ecard:hover .ts-ecard__t{color:#22262E}
.ts-ecard.is-primary{background:#C2521B;border-color:#C2521B}
.ts-ecard.is-primary:hover{background:#fff;border-color:#fff}
.ts-ecard__arw{position:absolute;top:50%;right:clamp(20px,2vw,28px);transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;background:#fff;color:#C2521B;display:grid;place-items:center;
  transition:background .3s,color .3s}
.ts-ecard:hover .ts-ecard__arw{background:#C2521B;color:#fff}
.ts-ecard__arw .arw{position:relative;width:18px;height:14px;display:block}
.ts-ecard__arw .arw svg{position:absolute;left:0;top:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s}
.ts-ecard__arw .arw .a2{transform:translate(-22px,15px) rotate(-24deg);opacity:0}
.ts-ecard:hover .ts-ecard__arw .arw .a1{transform:translate(24px,-16px) rotate(-24deg);opacity:0}
.ts-ecard:hover .ts-ecard__arw .arw .a2{transform:none;opacity:1}
@media (max-width:900px){
  .ts-entry__cards{grid-template-columns:1fr}
  .ts-ecard{padding:22px 62px 22px 20px}
}
/* 夕日の丸：写真に被らず、左のテキスト側の余白に効かせる（見出しの下・スライドの背後） */
.ts-mem__dot{right:auto;left:-14%;top:auto;bottom:-16%;width:min(42vw,620px);opacity:.13}
@media (max-width:900px){.ts-mem__dot{left:-34%;bottom:-6%;width:86vw;opacity:.12}}

/* ================= フッター ================= */
.footer__inner{width:100%;padding-left:0;padding-right:0}
.footer__wrap{width:var(--page);margin:0 auto}
.footer__logo{width:min(300px,26vw)}
.footer__content{width:100%}
/* お知らせ3行 */
.ts-fnews{margin:0 0 clamp(34px,4vw,54px);padding-bottom:clamp(26px,3vw,40px);border-bottom:1px solid rgba(255,255,255,.16)}
.ts-fnews__t{margin:0 0 14px;font-family:Archivo,sans-serif;font-weight:700;font-size:15px;letter-spacing:.16em;color:#E8A05C}
.ts-fnews ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ts-fnews a{display:flex;align-items:baseline;gap:16px;padding:9px 0;color:#EFEBE4;text-decoration:none;
  font-size:clamp(13px,1.05vw,15px);font-weight:500;transition:color .3s}
.ts-fnews a:hover{color:#fff}
.ts-fnews time{font-family:Archivo,sans-serif;font-size:13px;color:#ABA79F;white-space:nowrap}
.ts-fnews__c{font-size:11.5px;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:2px 11px;white-space:nowrap;color:#EFEBE4}
/* ナビ4列 */
.footer__nav{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,44px)}
.footer__nav div{display:flex;flex-direction:column;gap:11px}
.footer__nav span{font-family:Archivo,sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;color:#E8A05C;margin-bottom:2px}
.footer__nav a{color:#EFEBE4;text-decoration:none;font-size:clamp(13px,1.05vw,15px);font-weight:500;transition:color .3s}
.footer__nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
/* 会社情報 */
.ts-fcorp{margin-top:clamp(34px,4vw,54px);padding-top:clamp(24px,2.6vw,36px);border-top:1px solid rgba(255,255,255,.16);color:#EFEBE4}
.ts-fcorp__name{margin:0;font-size:clamp(15px,1.2vw,18px);font-weight:700;letter-spacing:.08em}
.ts-fcorp__service{margin:3px 0 0;font-size:clamp(12px,.95vw,13px);font-weight:500;color:#C9C4B8}
.ts-fcorp__addr{margin:9px 0 0;font-size:clamp(12.5px,1vw,14px);font-weight:500;color:#C9C4B8}
.ts-fcorp__tel{margin:5px 0 0;font-size:clamp(12.5px,1vw,14px);font-weight:500}
.ts-fcorp__tel a{color:#fff;font-weight:700;text-decoration:none;font-family:Archivo,sans-serif;letter-spacing:.04em}
.ts-fcorp__tel span{color:#C9C4B8;margin-left:8px}
.footer__copy{width:var(--page);margin:clamp(40px,5vw,72px) auto 0;color:#ABA79F}
.page-top{background:#C2521B}
@media (max-width:900px){
  .footer__nav{grid-template-columns:1fr 1fr;gap:26px 20px}
  .ts-fnews a{flex-wrap:wrap;gap:6px 12px}
  .footer__logo{width:70vw;max-width:320px}
}
/* ページトップ円：ナビ列と重ならない位置へ（右下固定・小さめ） */
.page-top{position:absolute;top:auto;right:0;bottom:0;width:clamp(58px,5vw,72px);height:clamp(58px,5vw,72px);
  font-size:20px;background:#C2521B;color:#fff;border:none;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;transition:background .3s,transform .3s}
.page-top:hover{background:#A33417;transform:translateY(-3px)}
.footer__wrap{position:relative;padding-bottom:clamp(20px,2.4vw,34px)}
@media (max-width:900px){.page-top{width:56px;height:56px;font-size:18px;right:0;bottom:0}}


      /* Footer container: the section should meet the viewport with square corners. */
      .footer__inner {
        border-radius: 0;
      }

      /* New brand lockup and branded image replacements. */
      .ts-lg__logo {
        display: block;
        width: 108px;
        height: auto;
      }
      /* Footer uses the current supplied logo, recolored from its own RGBA pixels. */
      .footer__logo img {
        display: block;
        filter: none;
      }
      .page-top {
        background: #C65D21;
        transition: background .3s, color .3s, transform .45s var(--spring);
      }
      .page-top:hover,
      .page-top:focus-visible {
        background: #B45118;
        transform: translateY(-3px);
        outline: 0;
      }
      .page-top > span {
        display: block;
        transition: transform .45s cubic-bezier(.16,1,.3,1);
      }
      .page-top:hover > span,
      .page-top:focus-visible > span {
        transform: translateY(-5px);
      }
      @media (prefers-reduced-motion: reduce) {
        .page-top,
        .page-top > span {
          transition: none !important;
        }
      }
      @media (max-width: 640px) {
        .ts-lg__logo {
          width: 76px;
        }
      }

      /* Entry: the square source image is cover-cropped on desktop, so reveal more of the truck body. */
      @media (min-width: 901px) {
        .ts-entry__bg {
          background-position: center 66%;
        }
      }

      /* Let the Service ornament stick to the viewport while keeping the section clipped. */
      .ts-svc {
        overflow: clip;
      }

      /*
       * Section rhythm: 参考サイトと同様に、コンテンツのまとまりごとに
       * 大きな上下の呼吸を持たせる。背景面の継ぎ目は維持したいため、
       * セクション外のmarginではなく各面のpaddingで調整する。
       */
      :root {
        --ts-section-space: clamp(140px, 16.4vw, 240px);
      }
      .ts-st {
        padding-bottom: var(--ts-section-space);
      }
      .ts-st__inner {
        padding-top: var(--ts-section-space);
      }
      .ts-svc,
      .ts-mem,
      .ts-entry {
        padding-top: var(--ts-section-space);
        padding-bottom: var(--ts-section-space);
      }
      .ts-svc__head,
      .ts-mem__head,
      .ts-entry__head {
        margin-bottom: clamp(60px, 6vw, 90px);
      }
      @media (max-width: 900px) {
        :root {
          --ts-section-space: clamp(84px, 18vw, 120px);
        }
        .ts-svc__head,
        .ts-mem__head,
        .ts-entry__head {
          margin-bottom: clamp(44px, 10vw, 64px);
        }
      }

      /* Scroll-linked background surfaces: the colored seams rise and open toward the previous section. */
      .ts-st {
        isolation: isolate;
      }
      .ts-st__field {
        z-index: 1;
        top: clamp(96px, 10vw, 170px);
        transform: translate3d(0, var(--ts-st-field-y, 0px), 0) rotate(-8deg);
        transform-origin: 50% 100%;
        will-change: transform;
      }
      .ts-st__inner {
        z-index: 2;
      }
      .ts-svc,
      .ts-mem {
        overflow: visible;
      }
      .ts-svc::before,
      .ts-mem::before {
        transform: translateY(var(--ts-join-y, 0px))
          scaleY(var(--ts-join-scale, 1));
        transform-origin: 50% 100%;
        border-radius: 0;
        will-change: transform;
      }
      @media (max-width: 900px) {
        .ts-st__field {
          top: 96px;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .ts-st__field {
          transform: rotate(-8deg) !important;
        }
        .ts-svc::before,
        .ts-mem::before {
          transform: none !important;
        }
      }
    
/* ================= 数字の書体（下層と共通のルール） =================
   セクション見出しの英字は Archivo のまま。数字だけ Roboto Condensed に分ける。
   ※ FVのコピー「日帰り運行97%」は文字をアウトライン化したSVGなので、
     ここでは変わらない。差し替えるときは copy01.svg を作り直す。 */
:root{--num:Poppins,Archivo,"Helvetica Neue",Arial,sans-serif}
.ts-card__idx,.ts-slide__no,.ts-fnews time{font-family:var(--num)}
.ts-card__idx,.ts-fnews time,.ts-slide__no{font-weight:600;letter-spacing:0}

/* ================= フッターの高さ =================
   トレース側は幅から高さを固定していた（height:50.5vw / SPは1818px）。
   ページが増えてリンクが増えると下が切れるので、内容に合わせて伸ばす。 */
.footer__inner{height:auto;min-height:0}

/* 制作見本であることの注記（トップのフッター）。common.css の .ft__fic と対 */
.footer__fic{margin-top:clamp(40px,5vw,72px);font-family:var(--font);font-size:11.5px;line-height:1.8;letter-spacing:.02em}
.footer__copy.footer__fic + .footer__copy{margin-top:10px}

/* ============================================================
   FV（cover）のSPレイアウト ─ 2026-08-19 v3（参照サイトのSP実物に合わせる）
   参照サイトのSPは、円を「右上 → 左中 → 右下」のジグザグに置き、
   コピーは左下にまとめて、円とは重ねない組み方だった。
     ① 大円＝右上。右端からはみ出して切れる
     ② 中円＝左中。左端からはみ出して、大円の左下に少し食い込む
     ③ コピー＝左下。3行を大きく。**円には被せない**
     ④ Scroll Down ＝右下
   3枚目の小円は、うちのコピーが横に長い（「今夜も家で夕飯を。」9文字）ため
   右下に置くとコピーと衝突する。**SPでは3枚目を出さない。**
   ※ 適用は 560px 以下だけ。それより上は円が大きく、同じ配置だと破綻する。
   ============================================================ */
@media (max-width:560px){
  /* SPのヘッダーはロゴとハンバーガーだけにする。
     「採用情報」と「採用エントリー」はハンバーガーの中と、
     画面下の追従バーで受けるので、上には出さない。 */
  .header .hd__has,
  .header .hd__nav > a:not(.ts-btn),
  .header .ts-btn{display:none}

  /* ① 大円＝右上。ヘッダーが軽くなったぶん大きく、上へ寄せる */
  .cover__state--2 .cover__photo--main,
  .cover__state--3 .cover__photo--main{
    top:6%; right:-6vw; left:auto; width:min(84vw,43svh); transform:none}

  /* ② 中円＝左中 */
  .cover__state--2 .cover__photo--small,
  .cover__state--3 .cover__photo--small-left{
    top:33%; left:-8vw; right:auto; bottom:auto; width:min(48vw,24svh)}

  /* 3枚目はSPでは出さない */
  .cover__state--3 .cover__photo--small-right{display:none}

  /* ③ コピー＝左下。円に被らない位置に置く */
  .cover__copy{left:5.3vw; right:auto; top:60%; bottom:auto; width:auto}
  .cover__copy img:nth-child(1){width:min(74vw,290px)}
  .cover__copy img:nth-child(2){width:min(82vw,322px);margin-top:12px}
  .cover__copy img:nth-child(3){width:min(54vw,212px);margin-top:14px}

  /* ④ Scroll Down ＝右下 */
  .cover__scroll-wrap{left:auto; right:5.3vw; bottom:9%}

  /* 光の玉は円の外側に小さく散らす */
  .cover__balls span:nth-child(1){top:22%; left:5vw; right:auto; width:18px; height:18px}
  .cover__balls span:nth-child(4){bottom:auto; top:55%; left:auto; right:6vw; width:28px; height:28px}
}

/* ---- 実測（no-ai-look）の是正：トップ固有の部分 2026-08-21 ---- */
/* フッターの断り書きが11.5pxで、色も 3.3:1 だった（A2 / C3） */
.footer__fic{font-size:12.5px}
.ts-fnews__c{font-size:12px}
/* 先輩の横送りボタンのタップ領域（E3） */
.ts-nav-btn{height:44px}
/* トップのフッターの地色が #444444、下層は #3A3A3C で2つの黒が混在していた。
   下層に合わせる（色数 C1 が1つ減り、「News」の 4.24:1 も 5.2:1 になる） */
.footer__inner{background:#3A3A3C}
/* 画像の下地（読み込み前だけ見える）の #EEE を、面の色に寄せる */
.cover__photo-mask,.project-card__visual,.about__mask{background:#F2EFE8}
/* フッターのナビが「数字で見るハネヤスミ急／配」のように語の途中で折れていた（G1）。
   短いラベルは塊のまま扱い、列幅を少し広げる */
.footer__nav a{word-break:keep-all}
.footer__nav{column-gap:18px}

/* 100万円トップの構成更新を、60万円版にも反映（機能・プラン差は維持） */
.ts-st__route{grid-column:1/-1;margin-top:clamp(18px,2vw,30px);padding-top:clamp(36px,4.6vw,66px);opacity:0;transform:translateY(22px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);overflow:hidden}
.ts-st__route.is-inview{opacity:1;transform:none;transition-delay:.28s}
.ts-st__route-head{display:flex;align-items:flex-end;gap:24px}
.ts-st__route-en{margin:0 0 10px;font-family:Archivo,sans-serif;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#f8c48d}
.ts-st__route-title{margin:0;font-size:clamp(22px,2.3vw,32px);font-weight:700;line-height:1.4;color:#fff}
.ts-st__route-map{position:relative;height:clamp(150px,18vw,210px);margin-top:8px}
.ts-st__route-map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ts-st__route-base{fill:none;stroke:rgba(255,255,255,.26);stroke-width:2;stroke-dasharray:4 11}
.ts-st__route-active{fill:none;stroke:#f9cf9a;stroke-width:4;stroke-linecap:round;stroke-dasharray:11 17}
.ts-st__route-bird{overflow:visible;filter:brightness(0) invert(1) drop-shadow(0 2px 5px rgba(0,0,0,.25))}
.ts-st__route-pin{position:absolute;display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.86);font-size:12px;font-weight:500;white-space:nowrap}.ts-st__route-pin::before{content:"";width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--sun-top);box-shadow:0 0 0 4px rgba(255,255,255,.1)}.ts-st__route-pin b{font-family:Archivo,sans-serif;font-size:15px;color:#fff}.ts-st__route-pin--out{left:0;bottom:6px}.ts-st__route-pin--mid{left:45%;top:50px}.ts-st__route-pin--in{right:0;top:0}
.ts-st__route-active{animation:none}
.cover__arc{height:clamp(170px,18vw,260px);background:var(--sun-top)}
.ts-st{margin-top:-3px;z-index:3}
@media (max-width:900px){.ts-st__route-head{align-items:flex-start}.ts-st__route-title{font-size:21px}.ts-st__route-map{height:170px}.ts-st__route-pin--mid{left:38%}.cover__arc{height:clamp(130px,28vw,210px)}}
@media (prefers-reduced-motion:reduce){.ts-st__route{opacity:1!important;transform:none!important;transition:none!important}}
