/* index.html 専用：ヘッダー・FV（v2を統合しレスポンシブ化）・仕事内容・研修。lp.css の後に読み込む */

/* ---------- header（SP：通常／PC：追従） ---------- */
.site-hd{position:relative;z-index:40;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 14px}
.site-hd .logo img{height:32px;display:block}
.site-hd .tag{background:var(--navy);color:#fff;font-weight:900;font-size:11px;padding:5px 9px;border-radius:6px;line-height:1.25;text-align:center}
.site-hd .hright{display:none}

/* ---------- FV ---------- */
.fv{position:relative;overflow:hidden;background:var(--y);--bx:72%;--by:40%}
.fv .bg{position:absolute;inset:0;background:url(assets/bg_site.jpg) center/cover;filter:blur(3px) saturate(1.1);transform:scale(1.05);opacity:.35}
.fv .tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,214,10,.88) 0%,rgba(255,200,0,.92) 55%,rgba(255,150,0,.96) 100%)}
.fv .burst{position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at var(--bx) var(--by),rgba(255,255,255,.22) 0 6deg,rgba(255,255,255,0) 6deg 14deg)}
.fv-in{position:relative;z-index:2;padding:12px 15px 0}
.fv .area{display:inline-block;background:var(--navy);color:#fff;font-weight:900;font-size:13px;padding:5px 11px;border-radius:4px;transform:skewX(-8deg);white-space:nowrap}
.fv .area span{display:inline-block;transform:skewX(8deg)}
.fv .area em{color:var(--y)}
.fv .area .pc{display:none}
.fv .hook{margin-top:9px;font-weight:900;font-size:15px;color:var(--navy);line-height:1.4}
.fv .hook .hl{background:linear-gradient(transparent 58%,#fff 58%);padding:0 2px}
.fv .catch{position:relative;z-index:3;margin-top:6px;font-weight:900;color:var(--navy);line-height:1.02;letter-spacing:-.02em;font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif}
.fv .stroke{paint-order:stroke fill}
.fv .catch .l1{font-size:min(12vw,58px);-webkit-text-stroke:7px #fff;white-space:nowrap}
.fv .catch .l2{display:flex;align-items:baseline;font-size:min(8.8vw,42px);-webkit-text-stroke:8px #fff;white-space:nowrap;margin-top:2px;transform:rotate(-3deg);transform-origin:left center}
.fv .catch .l2 .num{font-size:min(17vw,82px);letter-spacing:-.045em;line-height:1}
.fv .catch .l2 .yen{font-size:min(10vw,48px);margin-left:2px}
.fv .catch .em{color:var(--red)}
.fv .note{position:relative;z-index:3;display:inline-block;margin-top:8px;font-size:11px;font-weight:900;color:#fff;background:var(--navy);padding:3px 8px;border-radius:4px}
.fv .mascot{position:absolute;right:12px;top:10px;width:52px;z-index:3;transform:rotate(8deg);filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}
.fv-mid{position:relative;margin-top:10px;min-height:160px}
.fv .guard{position:absolute;right:-44px;top:-112px;width:62%;max-width:300px;z-index:1;filter:drop-shadow(0 8px 14px rgba(0,0,0,.25))}
.fv .pay{position:relative;z-index:3;width:58%;min-width:205px;max-width:280px;background:#fff;border-radius:12px;padding:8px 10px 6px;box-shadow:0 4px 0 var(--o);border:3px solid var(--navy);color:var(--navy);font-weight:900}
.fv .pay .t{display:inline-block;background:var(--navy);color:#fff;font-size:11px;padding:2px 7px;border-radius:4px}
.fv .pay .row{margin-top:4px}
.fv .pay .hd{display:flex;align-items:center;gap:5px}
.fv .pay .k{font-size:12px;background:var(--y);padding:1px 6px;border-radius:4px}
.fv .pay .tm{font-size:11px}
.fv .pay .amt{display:flex;align-items:baseline;gap:3px;line-height:1.1;white-space:nowrap}
.fv .pay .u{font-size:13px}
.fv .pay .v{font-size:25px;color:var(--red);letter-spacing:-.01em;font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif}
.fv .pay .v.s{font-size:21px}
.fv .pay .plus{margin-top:5px;font-size:10px;border-top:2px dashed #c9c9c9;padding-top:5px;line-height:1.4}
.fv .badges{position:relative;z-index:3;display:flex;justify-content:center;gap:10px;margin-top:14px}
.fv .badge{width:min(28vw,108px);aspect-ratio:1;border-radius:50%;background:#fff;border:3px solid var(--o);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:900;color:var(--navy);line-height:1.15;box-shadow:0 3px 0 rgba(19,35,91,.25);font-size:13.5px}
.fv .badge b{color:var(--red);display:block;font-size:20px}
.fv .badge small{font-size:10px;font-weight:700;margin-top:2px}
.fv .trust{position:relative;z-index:3;text-align:center;margin-top:12px;font-size:10.5px;font-weight:700;color:var(--navy)}
.fv .trust span{background:rgba(255,255,255,.85);padding:3px 9px;border-radius:999px;display:inline-block}
.fv-cta{position:relative;z-index:4;margin-top:14px;background:var(--navy);padding:14px 17px 16px;display:flex;flex-direction:column;gap:9px}
.fv-cta .lead{text-align:center;color:var(--y);font-weight:900;font-size:12.5px;letter-spacing:.06em}
.fv-cta .lead .line-hours{display:block;margin-top:4px;font-size:10px;font-weight:700;letter-spacing:0;line-height:1.4;opacity:.85}
.fv .cta{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;background:linear-gradient(180deg,#22d36b,#06C755 55%,#05b04b);color:#fff;font-weight:900;font-size:20px;border-radius:999px;border:3px solid #fff;box-shadow:0 5px 0 #03893a,0 9px 16px rgba(0,0,0,.25);letter-spacing:.04em;white-space:nowrap}
.fv .cta svg{width:32px;height:32px;flex:none}
.fv .cta .arrow{width:24px;height:24px;background:#fff;color:#06C755;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.fv .ftel{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-weight:900;margin-top:4px}
.fv .ftel .lab{font-size:10.5px;background:#fff;color:var(--navy);padding:2px 6px;border-radius:4px;white-space:nowrap}
.fv .ftel .num{font-size:23px;letter-spacing:.02em;white-space:nowrap}
.fv .ftel .time{font-size:9px;font-weight:700;line-height:1.3;opacity:.9;white-space:nowrap}

/* ---------- 仕事内容 ---------- */
.jobs{display:grid;gap:16px}
.job{background:#fff;border:3px solid var(--navy);border-radius:18px;padding:18px 16px 16px;position:relative;box-shadow:0 6px 0 var(--y2)}
.job--main{border-width:4px;box-shadow:0 7px 0 var(--o)}
.job .main-tag{position:absolute;top:-13px;left:16px;background:var(--red);color:#fff;font-weight:900;font-size:12px;padding:3px 12px;border-radius:999px}
.job-hd{display:flex;align-items:center;gap:12px}
.job-hd .ic{flex:none;width:56px;height:56px;border-radius:14px;background:var(--y);display:flex;align-items:center;justify-content:center}
.job-hd .ic svg{width:40px;height:40px}
.job-hd h3{font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-weight:900;font-size:20px;color:var(--navy);line-height:1.3}
.job-hd h3 small{display:block;font-family:'Noto Sans JP',sans-serif;font-size:12px;color:var(--o);letter-spacing:.06em}
.job > p{margin-top:12px;font-size:14.5px;font-weight:500}
.job ul{margin-top:10px;list-style:none;display:grid;gap:6px}
.job li{position:relative;padding-left:20px;font-size:13.5px;line-height:1.6}
.job li::before{content:"";position:absolute;left:3px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--o)}
.job li b{color:var(--navy)}
.job-other{margin-top:16px;background:var(--cream);border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.65;color:#333}
.job-other b{color:var(--navy)}
.job-facts{margin-top:18px;display:grid;grid-template-columns:1fr;gap:8px}
.job-facts div{background:var(--navy);color:#fff;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700;display:flex;gap:10px;align-items:baseline}
.job-facts dt{flex:none;color:var(--y);font-weight:900;font-size:12px;min-width:5.2em}

/* ---------- 研修 ---------- */
.train-steps{list-style:none;display:grid;gap:12px;counter-reset:d}
.train-steps li{background:#fff;border:3px solid var(--navy);border-radius:16px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start;position:relative}
.train-steps .day{flex:none;width:62px;height:62px;border-radius:50%;background:var(--navy);color:var(--y);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;line-height:1;font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif}
.train-steps .day small{font-size:10px;color:#fff;margin-bottom:3px;font-family:'Noto Sans JP',sans-serif}
.train-steps .day b{font-size:24px}
.train-steps .day.go{background:var(--red);color:#fff;font-size:13px}
.train-steps .tx b{display:block;color:var(--navy);font-weight:900;font-size:16px;line-height:1.4}
.train-steps .tx b .h{display:inline-block;margin-left:6px;font-size:11px;background:var(--y);color:var(--navy);padding:1px 7px;border-radius:999px;vertical-align:2px}
.train-steps .tx span{display:block;font-size:13.5px;margin-top:3px;line-height:1.6}
.train-steps li:not(:last-child)::after{content:"";position:absolute;left:42px;bottom:-15px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:9px solid var(--navy);z-index:2}
.train-pts{margin-top:20px;display:grid;gap:10px}
.train-pts div{background:var(--y);border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.6;font-weight:700;color:var(--navy)}
.train-pts div b{display:block;font-size:16px;font-weight:900}
.train-pts div b em{color:var(--red)}
.mini-cta{margin-top:24px;text-align:center}
.mini-cta p{font-weight:900;color:var(--navy);font-size:14px;margin-bottom:10px}
.mini-cta .btn-line{max-width:340px;margin:0 auto;height:56px;font-size:18px}
.mini-cta .btn-line svg{width:30px;height:30px}

/* ---------- PC ---------- */
@media (min-width:768px){
  .site-hd{position:sticky;top:0;height:76px;padding:0 max(32px,calc(50% - 648px))}
  .site-hd .logo img{height:50px}
  .site-hd .tag{display:none}
  .site-hd .hright{display:flex;align-items:center;gap:18px}
  .site-hd .htel{color:var(--navy);font-weight:900;font-size:28px;line-height:1;text-align:right}
  .site-hd .htel small{display:block;font-size:12px;font-weight:700;margin-top:4px}
  .site-hd .hbtn{background:#06C755;color:#fff;font-weight:900;font-size:18px;padding:9px 22px 9px 14px;border-radius:999px;box-shadow:0 4px 0 #03893a;display:flex;align-items:center;gap:8px;white-space:nowrap}
  .site-hd .hbtn svg{width:30px;height:30px}

  .fv{--bx:78%;--by:45%}
  .fv .bg{opacity:.4}
  .fv .tint{background:linear-gradient(100deg,rgba(255,214,10,.95) 0%,rgba(255,205,0,.9) 55%,rgba(255,160,0,.85) 100%)}
  .fv-in{max-width:1296px;margin:0 auto;padding:28px 32px 30px;min-height:720px}
  .fv .area{font-size:22px;padding:7px 18px}
  .fv .area .pc{display:inline}
  .fv .hook{font-size:27px;margin-top:12px}
  .fv .catch{margin-top:10px}
  .fv .catch .l1{font-size:min(7.2vw,80px);-webkit-text-stroke:14px #fff}
  .fv .catch .l2{font-size:min(6.2vw,70px);-webkit-text-stroke:14px #fff;transform:rotate(-2deg)}
  .fv .catch .l2 .num{font-size:min(13vw,150px);letter-spacing:-.04em}
  .fv .catch .l2 .yen{font-size:min(7.8vw,90px)}
  .fv .note{font-size:18px;padding:4px 12px;margin-top:14px}
  .fv .mascot{display:none}
  .fv .guard{position:absolute;right:-40px;top:20px;width:min(38vw,540px);max-width:none;z-index:1}
  .fv-mid{display:contents}
  .fv-row{display:flex;gap:26px;align-items:flex-start;margin-top:14px;position:relative;z-index:3}
  .fv .pay{width:520px;max-width:none;min-width:0;flex:none;border-radius:20px;border-width:4px;padding:10px 20px 8px;box-shadow:0 7px 0 var(--o)}
  .fv .pay .t{font-size:18px;padding:3px 12px}
  .fv .pay .row{display:flex;align-items:baseline;gap:8px;margin-top:4px;white-space:nowrap}
  .fv .pay .hd{display:contents}
  .fv .pay .k{font-size:20px;padding:2px 10px;order:0}
  .fv .pay .amt{gap:8px;order:1}
  .fv .pay .tm{font-size:15px;order:2;align-self:center}
  .fv .pay .u{font-size:20px}
  .fv .pay .v{font-size:42px}
  .fv .pay .v.s{font-size:32px}
  .fv .pay .plus{font-size:15px;margin-top:4px;padding-top:6px}
  .fv .side{display:flex;flex-direction:column;gap:18px}
  .fv .badges{margin-top:6px;justify-content:flex-start;gap:12px}
  .fv .badge{width:140px;font-size:19px;border-width:5px;box-shadow:0 5px 0 rgba(19,35,91,.25)}
  .fv .badge b{font-size:26px}
  .fv .badge small{font-size:13px}
  .fv .trust{text-align:left;margin-top:0;font-size:15px}
  .fv .trust span{padding:6px 16px;white-space:nowrap}
  .fv-cta{background:none;padding:0;margin-top:22px;display:grid;grid-template-columns:520px auto;column-gap:26px;align-items:end;justify-content:start}
  .fv-cta .lead{grid-column:1;color:var(--navy);font-size:16px;margin-bottom:-2px}
  .fv-cta .lead .line-hours{font-size:12px;margin-bottom:2px}
  .fv .cta{grid-column:1;height:76px;font-size:31px;border-width:4px;box-shadow:0 7px 0 #03893a,0 12px 20px rgba(0,0,0,.25)}
  .fv .cta svg{width:50px;height:50px}
  .fv .cta .arrow{width:38px;height:38px;font-size:18px}
  .fv .ftel{grid-column:2;grid-row:1 / span 2;align-self:end;margin:0;gap:12px;background:var(--navy);border-radius:999px;padding:12px 28px;border:4px solid #fff;box-shadow:0 6px 0 rgba(19,35,91,.35)}
  .fv .ftel .lab{font-size:16px;padding:3px 10px}
  .fv .ftel .num{font-size:36px;line-height:1}
  .fv .ftel .time{font-size:13px}

  .jobs{grid-template-columns:1.25fr 1fr;gap:22px;align-items:start}
  .job--main{grid-row:span 2}
  .job{padding:26px 26px 22px}
  .job-hd h3{font-size:24px}
  .job > p{font-size:16px}
  .job li{font-size:15px}
  .job-other{font-size:14px;margin-top:0}
  .job-facts{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
  .job-facts div{font-size:14px;flex-direction:column;gap:2px;padding:14px 18px}
  .train-steps{grid-template-columns:repeat(4,1fr);gap:22px}
  .train-steps li{flex-direction:column;align-items:center;text-align:center;padding:20px 16px}
  .train-steps .day{width:76px;height:76px}
  .train-steps .day b{font-size:30px}
  .train-steps .tx b{font-size:18px}
  .train-steps .tx b .h{display:block;width:max-content;margin:6px auto 0}
  .train-steps .tx span{font-size:14px}
  .train-steps li:not(:last-child)::after{left:auto;right:-17px;top:50%;bottom:auto;transform:translateY(-50%);border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:9px solid var(--navy);border-right:0}
  .train-pts{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
  .train-pts div{font-size:14px;padding:16px 18px}
  .mini-cta{margin-top:34px}
  .mini-cta p{font-size:16px}
  .mini-cta .btn-line{max-width:420px;height:64px;font-size:22px}
}
html.shot .site-hd{position:relative}
.note-s{margin-top:12px;font-size:12px;color:#555;text-align:center}
/* fixes r1 */
.nw{white-space:nowrap}
.fv .pay{width:63%;max-width:300px;padding:8px 9px 6px}
.fv .pay .v.s{font-size:19.5px}
.fv .pay .plus{font-size:9.5px;white-space:nowrap;letter-spacing:-.02em}
.fv .guard{right:-52px}
.fv-cta{margin:14px -15px 0}
.fv .ftel .num{font-size:22px}
.train-steps .day.go{font-size:11.5px;text-align:center;line-height:1.15}
.train-pts div{padding:10px 14px}
.mini-cta .btn-line{max-width:300px;height:50px;font-size:17px}
.mini-cta .btn-line svg{width:28px;height:28px}
@media (min-width:768px){
 .fv .pay{width:520px;max-width:none;padding:10px 20px 8px}
 .fv .pay .v.s{font-size:32px}
 .fv .pay .plus{font-size:15px;letter-spacing:0}
 .fv .guard{right:-40px}
 .fv-cta{margin:22px 0 0}
 .fv .ftel .num{font-size:36px}
 .train-steps .day.go{font-size:15px}
 .train-pts div{padding:16px 18px}
 .mini-cta .btn-line{max-width:420px;height:64px;font-size:22px}
}
/* fixes r2 */
.job > p,.job li,.job-other,.train-steps .tx span,.train-pts div{text-wrap:pretty}
@media (min-width:768px){
 .fv .guard{width:min(34vw,480px);right:-60px;top:40px}
 .fv .badge{width:132px}
 .fv .pay .v.s{font-size:30px}
 .jobs{grid-template-columns:1.4fr 1fr}
 .job li{font-size:14.5px}
 .train-steps .tx span{font-size:13.5px}
}
@media (min-width:768px){ .job > p{font-size:15px} }
