/* ひまわり警備 求人LP｜給与・待遇〜最終CTA（FV v2 の common.css と同じ色・フォント） */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@800;900&family=Noto+Sans+JP:wght@500;700;900&display=block');
:root{--y:#FFD60A;--y2:#FFB800;--o:#FF7700;--red:#F2400F;--navy:#13235B;--ink:#1d1d1f;--line:#06C755;--cream:#FFF8D6;--sticky-h:68px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans JP','Noto Sans CJK JP',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.7;font-size:15px;background:#fff}
a{color:inherit;text-decoration:none}
.r{font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
em{font-style:normal}

/* ---------- section common ---------- */
.sec{padding:52px 0 56px;position:relative}
.sec--y{background:var(--y) linear-gradient(180deg,rgba(255,214,10,1),rgba(255,200,0,1))}
.sec--cream{background:var(--cream)}
.sec--navy{background:var(--navy);color:#fff}
.sec-hd{text-align:center;margin-bottom:26px}
.sec-hd .en{display:inline-block;font-weight:900;font-size:12px;letter-spacing:.2em;color:var(--o);margin-bottom:4px}
.sec-hd h2{font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-weight:900;font-size:28px;line-height:1.3;color:var(--navy);display:inline-block;position:relative;padding:0 6px}
.sec-hd h2::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:10px;background:var(--y);z-index:-1;border-radius:4px}
.sec--y .sec-hd h2::after{background:#fff}
.sec-hd .lead{margin-top:12px;font-weight:700;font-size:15px;color:var(--navy)}
.sec-hd .lead b{color:var(--red);font-weight:900}
.note{font-size:12px;color:#555;line-height:1.6}

/* ---------- salary ---------- */
.paygrid{display:grid;gap:16px}
.paycard{background:#fff;border:4px solid var(--navy);border-radius:20px;box-shadow:0 7px 0 var(--o);padding:18px 18px 14px;position:relative}
.paycard .tag{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:#fff;background:var(--navy);border-radius:8px;padding:3px 12px;font-size:17px}
.paycard .tag .tm{font-size:14px;color:var(--y)}
.paycard .amt{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin-top:8px;font-weight:900;color:var(--navy);line-height:1.1}
.paycard .amt .u{font-size:18px}
.paycard .amt .v{font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-size:40px;color:var(--red);letter-spacing:-.01em;white-space:nowrap}
.paycard .sub{margin-top:6px;font-size:13px;font-weight:700;color:var(--navy)}
.paycard .ribbon{position:absolute;right:-6px;top:-14px;background:var(--red);color:#fff;font-weight:900;font-size:13px;padding:4px 12px;border-radius:999px;box-shadow:0 3px 0 rgba(0,0,0,.15);transform:rotate(4deg)}
.paycard dl{margin-top:10px;border-top:2px dashed #d5d5d5;padding-top:8px;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:13px}
.paycard dt{font-weight:900;color:var(--navy);white-space:nowrap}
.paycard dd{color:#333}
.payinfo{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.payinfo div{background:#fff;border-radius:14px;text-align:center;padding:12px 6px;font-weight:900;color:var(--navy);font-size:13px;line-height:1.4;box-shadow:0 4px 0 rgba(19,35,91,.18)}
.payinfo b{display:block;color:var(--red);font-size:17px;margin-top:2px}
.benefit-hd{margin:34px 0 14px;text-align:center;font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-weight:900;font-size:20px;color:var(--navy)}
.benefit-hd span{background:#fff;border-radius:999px;padding:4px 18px}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none}
.benefits li{background:#fff;border:3px solid var(--navy);border-radius:14px;padding:10px 10px 10px 12px;display:flex;gap:9px;align-items:flex-start;font-weight:700;font-size:13px;line-height:1.45;color:var(--ink)}
.benefits li .ic{flex:none;width:30px;height:30px;border-radius:50%;background:var(--y);display:flex;align-items:center;justify-content:center;color:var(--navy);font-weight:900;font-size:15px;margin-top:1px}
.benefits li b{display:block;color:var(--navy);font-weight:900;font-size:14px}

/* ---------- CTA block ---------- */
.ctablock{margin-top:34px;background:var(--navy);border-radius:22px;padding:22px 16px 18px;text-align:center;color:#fff;box-shadow:0 8px 0 rgba(19,35,91,.25)}
.ctablock .bubble{font-weight:900;color:var(--y);font-size:15px;letter-spacing:.04em;margin-bottom:12px}
.line-hours{display:block;margin-top:4px;font-size:10px;font-weight:700;letter-spacing:0;line-height:1.45;opacity:.85}
.ctablock .time .line-hours,.ctablock .bubble .line-hours{opacity:.8}
.final .sublead .line-hours{font-size:11px;opacity:.8}
.btn-line{display:flex;align-items:center;justify-content:center;gap:10px;height:64px;border-radius:999px;background:linear-gradient(180deg,#22d36b,#06C755 55%,#05b04b);color:#fff;font-weight:900;font-size:20px;letter-spacing:.04em;border:3px solid #fff;box-shadow:0 5px 0 #03893a,0 9px 16px rgba(0,0,0,.25);white-space:nowrap}
.btn-line svg{width:36px;height:36px;flex:none}
.btn-line .arrow{width:28px;height:28px;border-radius:50%;background:#fff;color:#06C755;display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.btn-tel{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:10px;height:60px;border-radius:999px;background:#fff;color:var(--navy);font-weight:900;border:3px solid var(--navy);box-shadow:0 5px 0 rgba(255,255,255,.25);white-space:nowrap}
.btn-tel .lab{background:var(--navy);color:#fff;font-size:12px;padding:3px 8px;border-radius:6px}
.btn-tel .num{font-size:25px;letter-spacing:.02em}
.ctablock .time{margin-top:10px;font-size:12px;font-weight:700;opacity:.9}
.ctablock .qr{display:none}

/* ---------- flow ---------- */
.flows{display:grid;gap:22px}
.flow{background:#fff;border-radius:20px;border:4px solid var(--navy);overflow:hidden;box-shadow:0 7px 0 var(--o)}
.flow-hd{display:flex;align-items:center;gap:10px;padding:12px 16px;font-weight:900;color:#fff;background:var(--navy)}
.flow-hd .k{background:var(--y);color:var(--navy);border-radius:8px;padding:2px 12px;font-size:18px}
.flow-hd .tm{font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-size:20px}
.flow-hd .tm small{font-size:12px;font-weight:700;opacity:.85;margin-left:6px}
.flow--night .flow-hd{background:#0b1638}
.flow--night .flow-hd .k{background:#3d4f8f;color:#fff}
.tl{list-style:none;padding:16px 16px 6px 16px}
.tl li{display:grid;grid-template-columns:72px 1fr;gap:12px;position:relative;padding-bottom:16px}
.tl li::before{content:"";position:absolute;left:35px;top:28px;bottom:0;width:3px;background:repeating-linear-gradient(180deg,var(--y2) 0 6px,transparent 6px 11px)}
.tl li:last-child::before{display:none}
.tl .t{height:28px;border-radius:999px;background:var(--y);color:var(--navy);font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;white-space:nowrap;position:relative;z-index:1}
.tl .t.soft{background:#fff;border:2px solid var(--y2);font-size:12px}
.tl .d b{display:block;color:var(--navy);font-weight:900;font-size:15px;line-height:1.5}
.tl .d span{font-size:13px;color:#444;line-height:1.55;display:block}
.flow .foot{margin:0 16px 16px;background:var(--cream);border-radius:12px;padding:10px 12px;font-weight:900;color:var(--navy);font-size:14px;line-height:1.5}
.flow .foot b{color:var(--red)}
.flows-note{margin-top:14px;text-align:center}

/* ---------- voices ---------- */
.dummy-banner{display:block;margin:0 auto 18px;max-width:560px;text-align:center;background:repeating-linear-gradient(-45deg,#fff 0 10px,#fff1a8 10px 20px);border:2px dashed var(--red);color:var(--red);font-weight:900;border-radius:12px;padding:8px 10px;font-size:13px;line-height:1.5}
.voices{display:grid;gap:18px}
.voice{background:#fff;border-radius:20px;padding:18px 16px 16px;position:relative;box-shadow:0 6px 0 rgba(19,35,91,.18);border:3px solid var(--navy)}
.voice .dummy{position:absolute;top:-12px;left:14px;background:var(--red);color:#fff;font-weight:900;font-size:12px;padding:3px 10px;border-radius:6px;letter-spacing:.05em}
.voice .who{display:flex;align-items:center;gap:12px}
.voice .av{flex:none;width:64px;height:64px;border-radius:50%;background:var(--y);border:3px solid var(--navy);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.voice .av svg{width:52px;height:52px}
.voice .meta{font-weight:900;color:var(--navy);line-height:1.45}
.voice .meta small{display:block;font-size:12px;font-weight:700;color:#555}
.voice .meta .chip{display:inline-block;font-size:11px;background:var(--navy);color:#fff;border-radius:999px;padding:1px 8px;margin-right:4px;vertical-align:2px}
.voice .ttl{margin-top:12px;font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-weight:900;color:var(--red);font-size:18px;line-height:1.45}
.voice p{margin-top:6px;font-size:14px;line-height:1.8}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:10px;max-width:820px;margin:0 auto}
.faq details{background:#fff;border:3px solid var(--navy);border-radius:14px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:flex-start;padding:13px 44px 13px 14px;font-weight:900;color:var(--navy);font-size:15px;line-height:1.5;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q,.faq .a .m{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-weight:900;font-size:15px}
.faq summary .q{background:var(--navy);color:var(--y)}
.faq summary::after{content:"";position:absolute;right:16px;top:50%;width:10px;height:10px;border-right:3px solid var(--o);border-bottom:3px solid var(--o);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .a{display:flex;gap:10px;padding:0 14px 14px;font-size:14px;line-height:1.8}
.faq .a .m{background:var(--y);color:var(--navy)}
.faq .a p{padding-top:1px}

/* ---------- requirements ---------- */
.req{max-width:820px;margin:0 auto;background:#fff;border:4px solid var(--navy);border-radius:18px;overflow:hidden}
.req dl{display:grid;grid-template-columns:96px 1fr}
.req dt,.req dd{padding:12px 12px;border-bottom:1px solid #e2e2e2;font-size:14px;line-height:1.65}
.req dt{background:var(--cream);font-weight:900;color:var(--navy)}
.req dl > :nth-last-child(-n+2){border-bottom:0}

/* ---------- final CTA ---------- */
.final{background:var(--y) linear-gradient(180deg,#FFD60A,#FFB800);padding:52px 0 40px;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 0%,rgba(255,255,255,.22) 0 6deg,rgba(255,255,255,0) 6deg 14deg);pointer-events:none}
.final .wrap{position:relative}
.final h2{text-align:center;font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-weight:900;color:var(--navy);font-size:30px;line-height:1.3;paint-order:stroke fill;-webkit-text-stroke:8px #fff}
.final h2 em{color:var(--red)}
.final .sublead{text-align:center;margin-top:10px;font-weight:900;color:var(--navy);font-size:15px}
.steps{list-style:none;display:grid;gap:10px;margin:22px auto 0;max-width:820px;counter-reset:s}
.steps li{background:#fff;border-radius:16px;padding:12px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 5px 0 rgba(19,35,91,.2);position:relative}
.steps .n{flex:none;width:48px;height:48px;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-size:10px}
.steps .n b{font-size:20px;font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif}
.steps .s b{display:block;color:var(--navy);font-weight:900;font-size:16px;line-height:1.4}
.steps .s span{font-size:13px;color:#333;line-height:1.55;display:block}
.final .ctablock{max-width:820px;margin-left:auto;margin-right:auto}
.site-foot{background:var(--navy);color:#fff;text-align:center;padding:22px 16px 26px;font-size:12px;line-height:1.7}
.site-foot b{font-size:14px}

/* ---------- sticky footer (SP) ---------- */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(19,35,91,.96);box-shadow:0 -4px 14px rgba(0,0,0,.2);transform:translateY(110%);transition:transform .25s ease}
.sticky.is-show{transform:none}
.sticky .s-line{flex:0 0 63%;display:flex;align-items:center;justify-content:center;gap:6px;height:52px;border-radius:999px;background:linear-gradient(180deg,#22d36b,#06C755 55%,#05b04b);color:#fff;font-weight:900;font-size:16px;border:2px solid #fff;white-space:nowrap}
.sticky .s-line svg{width:28px;height:28px}
.sticky .s-tel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:52px;border-radius:999px;background:#fff;color:var(--navy);border:3px solid var(--navy);font-weight:900;font-size:15px;line-height:1.1;white-space:nowrap}
.sticky .s-tel small{font-size:9px;font-weight:700;margin-top:2px}
body.has-sticky{padding-bottom:var(--sticky-h)}

/* ---------- PC ---------- */
@media (min-width:768px){
  body{font-size:16px}
  .wrap{padding:0 40px}
  .sec{padding:84px 0 88px}
  .sec-hd{margin-bottom:40px}
  .sec-hd .en{font-size:14px}
  .sec-hd h2{font-size:40px}
  .sec-hd h2::after{height:14px}
  .sec-hd .lead{font-size:18px}
  .paygrid{grid-template-columns:1fr 1fr;gap:28px}
  .paycard{padding:26px 28px 20px}
  .paycard .tag{font-size:20px}
  .paycard .tag .tm{font-size:16px}
  .paycard .amt .v{font-size:56px}
  .paycard .amt .u{font-size:22px}
  .paycard .sub{font-size:14px}
  .paycard dl{font-size:14px}
  .payinfo{max-width:820px;margin:30px auto 0;gap:16px}
  .payinfo div{font-size:15px;padding:16px 8px}
  .payinfo b{font-size:22px}
  .benefit-hd{font-size:26px;margin-top:52px}
  .benefits{grid-template-columns:repeat(3,1fr);gap:14px}
  .benefits li{font-size:14px;padding:14px}
  .benefits li b{font-size:16px}
  .ctablock{margin-top:56px;display:grid;grid-template-columns:1fr 1fr auto;grid-template-areas:"bubble bubble qr" "line tel qr" "time time qr";gap:0 22px;align-items:center;padding:28px 36px;text-align:left}
  .ctablock .bubble{grid-area:bubble;text-align:center;font-size:18px}
  .line-hours{font-size:12px}
  .ctablock .btn-line{grid-area:line;height:76px;font-size:24px}
  .ctablock .btn-tel{grid-area:tel;margin-top:0;height:76px}
  .ctablock .btn-tel .num{font-size:30px}
  .ctablock .time{grid-area:time;text-align:right;padding-right:6px}
  .ctablock .qr{grid-area:qr;display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:14px;padding:10px 10px 6px;color:var(--navy);font-weight:900;font-size:12px}
  .ctablock .qr img{width:112px;height:112px;display:block}
  .flows{grid-template-columns:1fr 1fr;gap:32px}
  .tl{padding:22px 24px 8px}
  .tl li{grid-template-columns:84px 1fr;gap:16px}
  .tl li::before{left:41px}
  .tl .d b{font-size:17px}
  .tl .d span{font-size:14px}
  .flow .foot{margin:0 24px 22px;font-size:15px}
  .voices{grid-template-columns:repeat(3,1fr);gap:24px}
  .voice{padding:24px 22px 22px}
  .voice .ttl{font-size:19px}
  .faq summary{font-size:17px;padding:16px 52px 16px 18px}
  .faq .a{font-size:15px;padding:0 18px 18px}
  .req dl{grid-template-columns:180px 1fr}
  .req dt,.req dd{padding:16px 22px;font-size:15px}
  .final{padding:80px 0 64px}
  .final h2{font-size:48px;-webkit-text-stroke:10px #fff}
  .final .sublead{font-size:19px}
  .steps{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
  .steps li{flex-direction:column;text-align:center;padding:20px 16px}
  .steps .s b{font-size:18px}
  .sticky{display:none}
  body.has-sticky{padding-bottom:0}
}
/* 書き出し用：固定フッターを消したフルページ */
html.shot .sticky{display:none}
html.shot body.has-sticky{padding-bottom:0}

/* --- 改行調整 --- */
.sec-hd .en{display:block}
.paycard .amt .nw{white-space:nowrap;display:inline-flex;align-items:baseline;gap:4px}
.paycard .amt .v{font-size:36px}
.benefits li{padding:9px 8px 9px 10px;gap:7px}
.benefits li .ic{width:26px;height:26px;font-size:13px}
.req dl{grid-template-columns:94px 1fr}
.req dt{padding-right:6px}
.final .ctablock{max-width:1000px}
@media (min-width:768px){
 br.sp{display:none}
 .paycard .amt .v{font-size:52px}
 .benefits li{padding:14px;gap:9px}
 .benefits li .ic{width:30px;height:30px;font-size:15px}
 .req dl{grid-template-columns:180px 1fr}
}
@media (min-width:768px){ .dummy-banner{max-width:760px} }
/* 最終CTAが見えると固定フッターは消えるため、末尾の余白は不要。フッター内の住所だけ念のため確保 */
body.has-sticky{padding-bottom:0}
