/* recruit-top.html 由来。body.lsu-recruit-top 配下へ閉じてある（他ページと干渉しない） */
body.lsu-recruit-top{
      --ilife-green:#4CAF50;
      --deep-green:#2E7D32;
      --light-green:#C8E6C9;
      --pale-green:#E8F5E9;
      --su-pink:#EC407A;
      --su-pink-deep:#C2185B;
      --su-pink-soft:#FCE4EC;
      --su-yellow:#FFC107;
      --su-yellow-soft:#FFF8E1;
      --su-blue:#1E88E5;
      --su-blue-soft:#E3F2FD;
      --su-red:#E53935;
      --su-red-soft:#FFEBEE;
      --ink:#212121;
      --ink-soft:#424242;
      --ink-mute:#666666;
      --line:#E0E0E0;
      --white:#FFFFFF;
      --off:#FAFAFA;
      --beige-1:#FBF8F1;
      --beige-2:#F6F1E5;
      --font-jp:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;
      --font-en:'Inter',-apple-system,sans-serif;
      --max:1120px;
    }body.lsu-recruit-top,body.lsu-recruit-top *{box-sizing:border-box}body.lsu-recruit-top,body.lsu-recruit-top{margin:0;padding:0}body.lsu-recruit-top{
      font-family:var(--font-jp);color:var(--ink);background:var(--white);
      line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden;
    }body.lsu-recruit-top img{display:block;max-width:100%}body.lsu-recruit-top a{color:inherit;text-decoration:none}body.lsu-recruit-top button{font-family:inherit}body.lsu-recruit-top .btn{
      display:inline-flex;align-items:center;gap:10px;
      padding:16px 30px;border-radius:999px;font-weight:700;
      font-size:16px;line-height:1;cursor:pointer;border:none;
      transition:transform .15s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap;
    }body.lsu-recruit-top .btn:hover{transform:translateY(-2px)}body.lsu-recruit-top .btn-pink{background:var(--su-pink);color:#fff;box-shadow:0 6px 0 var(--su-pink-deep),0 10px 24px rgba(236,64,122,.25)}body.lsu-recruit-top .btn-pink:hover{background:#E91E63;box-shadow:0 4px 0 var(--su-pink-deep),0 8px 22px rgba(236,64,122,.3)}body.lsu-recruit-top .btn-outline{background:#fff;color:var(--deep-green);border:2px solid var(--ilife-green);padding:14px 28px}body.lsu-recruit-top .btn-outline:hover{background:var(--pale-green)}body.lsu-recruit-top .btn-outline-white{background:transparent;color:#fff;border:2px solid #fff;padding:14px 28px}body.lsu-recruit-top .btn-outline-white:hover{background:rgba(255,255,255,.12)}body.lsu-recruit-top .btn .arr{width:18px;height:18px;display:inline-block}body.lsu-recruit-top .nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px dashed var(--light-green)}body.lsu-recruit-top .nav-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:24px}body.lsu-recruit-top .nav-logos{display:flex;align-items:center;gap:14px}body.lsu-recruit-top .nav-logos .su{height:42px;width:auto}body.lsu-recruit-top .nav-logos .il{height:22px;width:auto;opacity:.85}body.lsu-recruit-top .nav-logos .divider{width:1px;height:30px;background:var(--line)}body.lsu-recruit-top .nav-menu{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:14px;font-weight:500;color:var(--ink-soft)}body.lsu-recruit-top .nav-menu a{position:relative;padding:6px 0}body.lsu-recruit-top .nav-menu a:hover{color:var(--deep-green)}body.lsu-recruit-top .nav-menu a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--su-yellow);border-radius:3px}body.lsu-recruit-top .nav-menu a.active{color:var(--deep-green);font-weight:700}body.lsu-recruit-top .nav-menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--su-yellow);border-radius:3px}body.lsu-recruit-top .nav-cta{padding:12px 22px;border-radius:999px;background:var(--su-pink);color:#fff;font-weight:700;font-size:14px;box-shadow:0 4px 0 var(--su-pink-deep);transition:transform .15s ease}body.lsu-recruit-top .nav-cta:hover{transform:translateY(-1px);background:#E91E63}
    @media(max-width:880px){body.lsu-recruit-top .nav-menu{display:none}}body.lsu-recruit-top[data-english="off"] .en-deco{display:none}body.lsu-recruit-top .en-bubble{
      position:absolute;background:#fff;border:2.5px solid var(--ink);border-radius:18px;
      padding:8px 18px;font-family:var(--font-hand);font-size:18px;color:var(--ink);
      box-shadow:3px 3px 0 var(--ink);white-space:nowrap;
    }body.lsu-recruit-top .en-bubble::after{content:"";position:absolute;width:14px;height:14px;background:#fff;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);bottom:-8px;left:18px;transform:rotate(45deg)}body.lsu-recruit-top .en-bubble.pink{background:var(--su-pink);color:#fff}body.lsu-recruit-top .en-bubble.pink::after{background:var(--su-pink)}body.lsu-recruit-top .abc-block{position:absolute;display:inline-flex}body.lsu-recruit-top .abc-block .blk{
      width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
      font-family:'Yusei Magic',sans-serif;font-size:28px;font-weight:400;
      border:2.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:5px;margin-right:-2px;
    }body.lsu-recruit-top .abc-block .blk.b1{background:var(--su-pink);color:#fff;transform:rotate(-6deg)}body.lsu-recruit-top .abc-block .blk.b2{background:var(--su-yellow);color:var(--ink);transform:rotate(3deg)}body.lsu-recruit-top .abc-block .blk.b3{background:var(--su-blue);color:#fff;transform:rotate(-2deg)}body.lsu-recruit-top .abc-block .blk.b4{background:var(--ilife-green);color:#fff;transform:rotate(5deg)}body.lsu-recruit-top .tape-vertical{
      /* ★2026-09-08 有璽氏指摘①の横展開（画面端直値配置→コンテナ基準）。 */
      position:absolute;top:50px;right:calc(0px + max(38px, (100% - var(--max)) / 2));z-index:6;writing-mode:vertical-rl;
      background:var(--su-yellow);color:var(--ink);
      font-family:var(--font-hand);font-size:17px;letter-spacing:.14em;
      padding:20px 12px;transform:rotate(3deg);box-shadow:2px 4px 0 rgba(0,0,0,.1);
      background-image:linear-gradient(90deg,rgba(255,255,255,.18) 50%,transparent 50%);
      background-size:6px 100%;border-radius:2px;white-space:nowrap;
    }body.lsu-recruit-top .tape-vertical::before,body.lsu-recruit-top .tape-vertical::after{content:"";position:absolute;left:-6px;width:14px;height:8px;background:rgba(255,255,255,.4);transform:rotate(-12deg)}body.lsu-recruit-top .tape-vertical::before{top:6px}body.lsu-recruit-top .tape-vertical::after{bottom:6px}body.lsu-recruit-top .container{max-width:var(--max);margin:0 auto;padding:0 24px}body.lsu-recruit-top .container-narrow{max-width:760px;margin:0 auto;padding:0 24px}body.lsu-recruit-top .sec-eyebrow{
      display:flex;align-items:center;gap:14px;justify-content:center;
      font-family:var(--font-en);font-size:12px;letter-spacing:.22em;
      color:var(--ilife-green);font-weight:700;text-transform:uppercase;margin-bottom:12px;
    }body.lsu-recruit-top .sec-eyebrow::before,body.lsu-recruit-top .sec-eyebrow::after{content:"";width:28px;height:2px;background:var(--ilife-green);border-radius:2px}body.lsu-recruit-top .sec-title{text-align:center;font-family:var(--font-hand);font-size:34px;line-height:1.45;color:var(--ink);margin:0 0 12px;font-weight:400}body.lsu-recruit-top .sec-title .hl{background:linear-gradient(transparent 62%,var(--su-yellow) 62%);padding:0 5px}body.lsu-recruit-top .sec-lead{text-align:center;font-size:15.5px;color:var(--ink-soft);margin:0 auto 48px;max-width:640px;line-height:1.9}body.lsu-recruit-top .breadcrumb{font-family:var(--font-en);font-size:12px;letter-spacing:.05em;color:var(--ink-mute);margin-bottom:16px}body.lsu-recruit-top .breadcrumb a{color:var(--deep-green);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(76,175,80,.4)}body.lsu-recruit-top .breadcrumb a:hover{color:var(--ilife-green)}body.lsu-recruit-top .breadcrumb .bc-sep{margin:0 8px;color:var(--ink-mute)}body.lsu-recruit-top .breadcrumb .bc-current{color:var(--ink-soft);font-weight:600}body.lsu-recruit-top .fv-recruit{--sp-t:44px;--sp-b:72px;
      position:relative;
      background:
        radial-gradient(900px 500px at 88% 14%, rgba(165,214,167,.28) 0%, transparent 60%),
        linear-gradient(180deg,var(--beige-1) 0%,var(--beige-2) 100%);
      padding:60px 48px 96px;overflow:hidden;min-height:540px;display:flex;align-items:center;
    }body.lsu-recruit-top .fv-recruit-inner{
      max-width:var(--max);margin:0 auto;width:100%;position:relative;z-index:2;
      display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;
    }body.lsu-recruit-top .fv-dot{position:absolute;border-radius:50%;z-index:1}body.lsu-recruit-top .fv-eyebrow{
      display:inline-flex;align-items:center;gap:10px;
      background:#fff;border:2px solid var(--ink);padding:7px 16px;border-radius:999px;
      font-family:var(--font-hand);font-size:13px;color:var(--ink);
      transform:rotate(-1.5deg);box-shadow:3px 3px 0 var(--ink);white-space:nowrap;margin-bottom:22px;
    }body.lsu-recruit-top .fv-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--ilife-green)}body.lsu-recruit-top .fv-headline{
      font-family:var(--font-hand);font-size:46px;line-height:1.3;color:var(--ink);font-weight:400;margin:0 0 18px;
    }body.lsu-recruit-top .fv-headline .word{position:relative;display:inline-block}body.lsu-recruit-top .fv-headline .word::after{
      content:"";position:absolute;left:-2%;right:-2%;bottom:-6px;height:9px;
      background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10' preserveAspectRatio='none'><path d='M2 6 Q 50 -2, 100 5 T 198 5' stroke='%234CAF50' stroke-width='4' fill='none' stroke-linecap='round'/></svg>") center/100% 100% no-repeat;
    }body.lsu-recruit-top .fv-sub{font-size:16px;line-height:1.9;color:var(--ink-soft);max-width:460px;margin:0 0 28px}body.lsu-recruit-top .fv-cta-row{display:flex;flex-wrap:wrap;gap:12px}body.lsu-recruit-top .fv-photo-block{position:relative;width:100%;aspect-ratio:1/1;max-width:430px;margin:0 auto;
      /* 2026-09-09 有璽氏指摘010②: Join us!吹き出しの真下で写真円と重なる位置に
         あったため左へ寄せた（テープ=tape-verticalは無変更） */
      transform:translateX(-61px);}body.lsu-recruit-top .fv-photo-ring{position:absolute;inset:0;border:8px solid var(--deep-green);border-radius:50%;z-index:1}body.lsu-recruit-top .fv-photo-inner{position:absolute;inset:18px;border-radius:50%;overflow:hidden;z-index:2}body.lsu-recruit-top .fv-photo-inner image-slot{width:100%;height:100%;display:block}body.lsu-recruit-top .fp-accent{
      position:absolute;width:92px;height:92px;border-radius:50%;
      background:var(--su-yellow);border:3px solid var(--ink);
      display:flex;flex-direction:column;align-items:center;justify-content:center;
      font-family:var(--font-hand);font-size:14px;color:var(--ink);
      box-shadow:3px 3px 0 var(--ink);z-index:4;
    }body.lsu-recruit-top .fp-accent.b1{top:-6px;left:-10px;transform:rotate(-8deg)}body.lsu-recruit-top .fp-accent.b1 .big{font-size:30px;line-height:1}body.lsu-recruit-top .fp-accent.b2{bottom:24px;left:-22px;background:var(--su-pink);color:#fff;transform:rotate(6deg);width:90px;height:90px}body.lsu-recruit-top .fv-join-block{position:absolute;bottom:-12px;right:-10px;z-index:4;transform:rotate(-4deg)}body.lsu-recruit-top .fv-wave-bottom{position:absolute;left:0;bottom:-1px;width:100%;height:70px;display:block}

    /* ★2026-09-07 有璽氏指摘①。パンくずだけ左寄せにして他を中央のままにしていた
   （9/7の前回対応の不備）。実測で数えた「揃っていない要素」は4つ：
   fv-text(見出し+リード文の親)のtext-align:center／fv-eyebrow(バッジ)のmargin auto／
   fv-cta-row(ボタン列)のjustify-content:center／fv-sub(本文)のmargin auto。
   ★front-page(style.css)・stand-up-top.css は同種のFVで元々これらを
   centerへ上書きしていない（＝サイト標準は左寄せ）。recruit-topだけが
   浮いていたので、この4つを削除して標準（左寄せ）へ揃えた。
   ★fv-photo-block（丸い写真）は文字要素ではないため対象外のまま維持
   （中央寄せの円形ビジュアルは他ページの視覚要素の扱いと矛盾しない）。 */
@media(max-width:880px){body.lsu-recruit-top .fv-recruit-inner{grid-template-columns:1fr;gap:40px}body.lsu-recruit-top .breadcrumb{text-align:left}body.lsu-recruit-top .fv-photo-block{max-width:320px}
      /* ★上の左寄せ化で新たに踏んだ副作用（機械の重なり検査で発見・実測）。
         fv-eyebrow(バッジ)が左寄せに動いた結果、背景の装飾ドット(.fv-dot・
         top:90px;left:8%のピンク色14px円)とわずかに触れる(cover2%)。
         意匠に影響が少ない小さな背景装飾のため、他ページのtape-vertical等と
         同じ判断で、この幅だけ非表示にした（PC幅は不変のまま）。 */
      body.lsu-recruit-top .fv-dot{display:none}
      /* 2026-09-10 型2（有璽氏「タブレット同じルールで崩れ」への対応）:
         fp-accent(10YEARS/Welcome!)はfv-photo-block(430px→320pxに縮小)基準の
         固定pxオフセットのままで、円が縮むとWelcome!が写真本体に重なっていた
         (実測cover55-73%)。円のサイズに対する%へ変更し追従させる。 */
      body.lsu-recruit-top .fp-accent.b1{top:-1.4%;left:-2.3%;width:68px;height:68px;font-size:11px}
      body.lsu-recruit-top .fp-accent.b2{bottom:5.6%;left:-5.1%;width:67px;height:67px;font-size:11px}
    }body.lsu-recruit-top .sec-msg{--sp-t:64px;--sp-b:72px;background:var(--off);padding:64px 24px 72px}body.lsu-recruit-top .sec-msg p{font-size:16px;line-height:2;color:var(--ink-soft);margin:0 0 20px;text-align:justify;text-justify:inter-character}body.lsu-recruit-top .sec-msg p:last-child{margin-bottom:0}body.lsu-recruit-top .sec-msg strong{color:var(--deep-green);font-weight:700}body.lsu-recruit-top .sec-positions{--sp-t:72px;--sp-b:88px;background:#fff;padding:72px 24px 88px}body.lsu-recruit-top .positions-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:960px;margin:0 auto}body.lsu-recruit-top .position-card{
      background:#fff;border:1px solid var(--line);border-radius:16px;
      padding:28px 26px;display:flex;flex-direction:column;gap:14px;position:relative;
      box-shadow:0 4px 14px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease;
    }body.lsu-recruit-top .position-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.10)}body.lsu-recruit-top .position-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;border-radius:16px 16px 0 0;background:var(--pc-accent,var(--su-pink))}body.lsu-recruit-top .pc-badge{
      display:inline-flex;align-items:center;align-self:flex-start;
      font-size:12px;font-weight:700;padding:5px 14px;border-radius:999px;
    }body.lsu-recruit-top .position-card.p-pink .pc-badge{background:var(--su-pink-soft);color:var(--su-pink-deep)}body.lsu-recruit-top .position-card.p-yellow .pc-badge{background:var(--su-yellow-soft);color:#7A5000}body.lsu-recruit-top .position-card.p-blue .pc-badge{background:var(--su-blue-soft);color:#0D47A1}body.lsu-recruit-top .position-card.p-green .pc-badge{background:var(--pale-green);color:var(--deep-green)}body.lsu-recruit-top .pc-title{font-family:var(--font-hand);font-size:21px;font-weight:400;color:var(--ink);margin:0;line-height:1.4}body.lsu-recruit-top .pc-row{font-size:13.5px;line-height:1.8;color:var(--ink-soft)}body.lsu-recruit-top .pc-row dt{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--ink-mute);font-family:var(--font-en);text-transform:uppercase;margin-bottom:3px}body.lsu-recruit-top .pc-row dd{margin:0 0 12px}body.lsu-recruit-top .pc-row dd:last-child{margin-bottom:0}body.lsu-recruit-top .pc-link{
      display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:auto;
      font-size:13.5px;font-weight:700;padding:11px 22px;border-radius:999px;
      border:2px solid currentColor;transition:gap .15s ease,background .15s ease;
    }body.lsu-recruit-top .position-card.p-pink .pc-link{color:var(--su-pink)}body.lsu-recruit-top .position-card.p-pink .pc-link:hover{background:var(--su-pink-soft);gap:12px}body.lsu-recruit-top .position-card.p-yellow .pc-link{color:#B07800}body.lsu-recruit-top .position-card.p-yellow .pc-link:hover{background:var(--su-yellow-soft);gap:12px}body.lsu-recruit-top .position-card.p-blue .pc-link{color:var(--su-blue)}body.lsu-recruit-top .position-card.p-blue .pc-link:hover{background:var(--su-blue-soft);gap:12px}body.lsu-recruit-top .position-card.p-green .pc-link{color:var(--deep-green)}body.lsu-recruit-top .position-card.p-green .pc-link:hover{background:var(--pale-green);gap:12px}
    @media(max-width:760px){body.lsu-recruit-top .positions-grid{grid-template-columns:1fr}}body.lsu-recruit-top .sec-env{--sp-t:72px;--sp-b:88px;background:var(--off);padding:72px 24px 88px}body.lsu-recruit-top .env-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:920px;margin:0 auto}body.lsu-recruit-top .env-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 24px;display:flex;gap:16px;align-items:flex-start}body.lsu-recruit-top .env-icon{width:48px;height:48px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}body.lsu-recruit-top .env-card:nth-child(1) .env-icon{background:var(--pale-green)}body.lsu-recruit-top .env-card:nth-child(2) .env-icon{background:var(--su-blue-soft)}body.lsu-recruit-top .env-card:nth-child(3) .env-icon{background:var(--su-yellow-soft)}body.lsu-recruit-top .env-card:nth-child(4) .env-icon{background:var(--su-pink-soft)}body.lsu-recruit-top .env-body h4{font-size:15.5px;font-weight:700;color:var(--ink);margin:0 0 6px}body.lsu-recruit-top .env-body p{font-size:13.5px;line-height:1.85;color:var(--ink-soft);margin:0}
    @media(max-width:760px){body.lsu-recruit-top .env-grid{grid-template-columns:1fr}}body.lsu-recruit-top .sec-values{--sp-t:72px;--sp-b:80px;background:#fff;padding:72px 24px 80px}body.lsu-recruit-top .values-foundation{
      max-width:760px;margin:0 auto 14px;text-align:center;
      background:var(--pale-green);border:2px solid var(--light-green);border-radius:16px;padding:24px 28px;
    }body.lsu-recruit-top .values-foundation .vf-tag{font-family:var(--font-en);font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--deep-green);text-transform:uppercase;display:block;margin-bottom:8px}body.lsu-recruit-top .values-foundation h3{font-family:var(--font-hand);font-size:20px;font-weight:400;color:var(--ink);margin:0 0 8px;line-height:1.4}body.lsu-recruit-top .values-foundation h3 .accent{color:var(--deep-green)}body.lsu-recruit-top .values-foundation p{font-size:13.5px;line-height:1.8;color:var(--ink-soft);margin:0}body.lsu-recruit-top .values-arrow{text-align:center;margin:6px 0}body.lsu-recruit-top .values-arrow svg{width:30px;height:30px}body.lsu-recruit-top .values-circ{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:760px;margin:0 auto}body.lsu-recruit-top .vc-card{border-radius:14px;padding:22px 20px;text-align:center;border:1.5px solid;background:#fff}body.lsu-recruit-top .vc-card.c-pink{border-color:var(--su-pink-soft)}body.lsu-recruit-top .vc-card.c-yellow{border-color:#FFE082}body.lsu-recruit-top .vc-card.c-blue{border-color:#BBDEFB}body.lsu-recruit-top .vc-ic{width:48px;height:48px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center}body.lsu-recruit-top .vc-card.c-pink .vc-ic{background:var(--su-pink-soft)}body.lsu-recruit-top .vc-card.c-yellow .vc-ic{background:var(--su-yellow-soft)}body.lsu-recruit-top .vc-card.c-blue .vc-ic{background:var(--su-blue-soft)}body.lsu-recruit-top .vc-en{font-family:var(--font-en);font-size:10.5px;letter-spacing:.14em;font-weight:700;color:var(--ink-mute);margin:0 0 4px}body.lsu-recruit-top .vc-card h4{font-family:var(--font-hand);font-size:18px;font-weight:400;color:var(--ink);margin:0 0 8px}body.lsu-recruit-top .vc-card p{font-size:12.5px;line-height:1.75;color:var(--ink-soft);margin:0}body.lsu-recruit-top .values-more{text-align:center;margin-top:36px}body.lsu-recruit-top .values-more a{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:var(--deep-green);border-bottom:2px solid var(--ilife-green);padding-bottom:2px;transition:gap .15s ease}body.lsu-recruit-top .values-more a:hover{gap:12px}
    @media(max-width:680px){body.lsu-recruit-top .values-circ{grid-template-columns:1fr}}body.lsu-recruit-top .sec-flow{--sp-t:72px;--sp-b:88px;background:var(--off);padding:72px 24px 88px}body.lsu-recruit-top .step-flow{display:flex;flex-direction:column;max-width:760px;margin:0 auto}body.lsu-recruit-top .step-item{
      display:grid;grid-template-columns:72px 1fr;gap:0 24px;
      background:#fff;border:1px solid var(--line);border-radius:16px;
      padding:26px 28px 26px 0;box-shadow:0 4px 12px rgba(0,0,0,.06);
    }body.lsu-recruit-top .step-connector{display:flex;justify-content:center;height:30px;position:relative}body.lsu-recruit-top .step-connector::before{content:"";position:absolute;top:0;bottom:0;left:36px;width:2px;background:linear-gradient(180deg,var(--light-green),var(--ilife-green))}body.lsu-recruit-top .step-connector-arrow{position:absolute;bottom:0;left:31px;width:12px;height:12px;border-right:2px solid var(--ilife-green);border-bottom:2px solid var(--ilife-green);transform:rotate(45deg) translateY(-4px)}body.lsu-recruit-top .step-num-col{display:flex;justify-content:center;padding-left:28px}body.lsu-recruit-top .step-num{
      width:56px;height:56px;border-radius:50%;color:#fff;
      font-family:var(--font-hand);display:flex;flex-direction:column;align-items:center;justify-content:center;
      line-height:1;flex-shrink:0;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);gap:1px;
    }body.lsu-recruit-top .step-num .n-label{font-size:9px;letter-spacing:.1em;opacity:.85;font-family:var(--font-en)}body.lsu-recruit-top .step-num .n-val{font-size:24px}body.lsu-recruit-top .step-item:nth-child(1) .step-num{background:var(--ilife-green)}body.lsu-recruit-top .step-item:nth-child(3) .step-num{background:var(--su-blue)}body.lsu-recruit-top .step-item:nth-child(5) .step-num{background:var(--su-yellow);color:var(--ink)}body.lsu-recruit-top .step-item:nth-child(7) .step-num{background:var(--su-pink)}body.lsu-recruit-top .step-item:nth-child(9) .step-num{background:var(--deep-green)}body.lsu-recruit-top .step-body{padding:4px 0}body.lsu-recruit-top .step-tag{display:inline-block;font-family:var(--font-en);font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--ink-mute);text-transform:uppercase;margin-bottom:6px}body.lsu-recruit-top .step-title{font-size:18px;font-weight:700;color:var(--ink);margin:0 0 8px;line-height:1.4}body.lsu-recruit-top .step-desc{font-size:14px;line-height:1.85;color:var(--ink-soft);margin:0}body.lsu-recruit-top .step-chip{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:500;background:var(--pale-green);color:var(--deep-green);border:1px solid var(--light-green)}
    @media(max-width:640px){body.lsu-recruit-top .step-item{grid-template-columns:60px 1fr;padding:20px 18px 20px 0}body.lsu-recruit-top .step-num-col{padding-left:14px}body.lsu-recruit-top .step-connector::before{left:28px}body.lsu-recruit-top .step-connector-arrow{left:23px}body.lsu-recruit-top .step-num{width:46px;height:46px}body.lsu-recruit-top .step-num .n-val{font-size:20px}
    }body.lsu-recruit-top .sec-faq{--sp-t:72px;--sp-b:80px;background:#fff;padding:72px 24px 80px}body.lsu-recruit-top .faq-wrap{max-width:760px;margin:0 auto}body.lsu-recruit-top .faq-item{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden;background:#fff;transition:box-shadow .2s ease}body.lsu-recruit-top .faq-item[open]{box-shadow:0 4px 14px rgba(0,0,0,.08)}body.lsu-recruit-top .faq-q{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;cursor:pointer;list-style:none;font-weight:600;font-size:15px;color:var(--ink);line-height:1.6}body.lsu-recruit-top .faq-q::-webkit-details-marker{display:none}body.lsu-recruit-top .faq-q-marker{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-hand);font-size:14px;flex-shrink:0;margin-top:1px;color:#fff;background:var(--ilife-green)}body.lsu-recruit-top .faq-q-text{flex:1}body.lsu-recruit-top .faq-q-arrow{width:22px;height:22px;flex-shrink:0;margin-top:3px;display:flex;align-items:center;justify-content:center;color:var(--ink-mute);transition:transform .25s ease}body.lsu-recruit-top .faq-item[open] .faq-q-arrow{transform:rotate(180deg)}body.lsu-recruit-top .faq-a{display:flex;align-items:flex-start;gap:12px;padding:0 20px 20px}body.lsu-recruit-top .faq-a-marker{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-hand);font-size:14px;flex-shrink:0;margin-top:1px;background:var(--off);color:var(--ink-soft);border:1.5px solid var(--line)}body.lsu-recruit-top .faq-a-text{flex:1;font-size:14.5px;line-height:1.9;color:var(--ink-soft)}body.lsu-recruit-top .faq-a-text strong{color:var(--ink);font-weight:700}body.lsu-recruit-top .sec-related{--sp-t:64px;--sp-b:80px;background:var(--off);padding:64px 24px 80px}body.lsu-recruit-top .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:960px;margin:0 auto}body.lsu-recruit-top .related-card{background:#fff;border-radius:14px;padding:24px 22px;border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;gap:12px}body.lsu-recruit-top .related-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.09)}body.lsu-recruit-top .related-card.r-green:hover{border-color:var(--ilife-green)}body.lsu-recruit-top .related-card.r-pink:hover{border-color:var(--su-pink)}body.lsu-recruit-top .related-card.r-blue:hover{border-color:var(--su-blue)}body.lsu-recruit-top .related-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center}body.lsu-recruit-top .r-green .related-icon{background:var(--pale-green)}body.lsu-recruit-top .r-pink .related-icon{background:var(--su-pink-soft)}body.lsu-recruit-top .r-blue .related-icon{background:var(--su-blue-soft)}body.lsu-recruit-top .related-tag{font-family:var(--font-en);font-size:10px;letter-spacing:.16em;color:var(--ink-mute);font-weight:700;text-transform:uppercase}body.lsu-recruit-top .related-title{font-size:16px;font-weight:700;color:var(--ink);margin:0;line-height:1.4}body.lsu-recruit-top .related-desc{font-size:13px;color:var(--ink-mute);margin:0;line-height:1.7}body.lsu-recruit-top .related-go{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--deep-green);margin-top:auto}body.lsu-recruit-top .related-card:hover .related-go{gap:11px}
    @media(max-width:760px){body.lsu-recruit-top .related-grid{grid-template-columns:1fr}}body.lsu-recruit-top .sec-cta{--sp-t:96px;--sp-b:104px;position:relative;background:linear-gradient(135deg,var(--ilife-green) 0%,var(--deep-green) 100%);padding:96px 24px 104px;color:#fff;overflow:hidden}body.lsu-recruit-top .sec-cta .container{position:relative;z-index:2;text-align:center}body.lsu-recruit-top .cta-en{font-family:var(--font-en);font-size:12px;letter-spacing:.22em;color:rgba(255,255,255,.8);font-weight:700;text-transform:uppercase;margin:0 0 14px}body.lsu-recruit-top .cta-title{font-family:var(--font-hand);font-size:34px;font-weight:400;line-height:1.45;margin:0 0 14px;color:#fff}body.lsu-recruit-top .cta-title .hl{background:linear-gradient(transparent 62%,rgba(255,193,7,.5) 62%);padding:0 5px}body.lsu-recruit-top .cta-body{font-size:15.5px;line-height:1.9;color:rgba(255,255,255,.9);max-width:580px;margin:0 auto 36px}body.lsu-recruit-top .cta-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}body.lsu-recruit-top .cta-deco{position:absolute;pointer-events:none;opacity:.6}body.lsu-recruit-top .cta-deco-1{top:40px;left:6%;width:70px}body.lsu-recruit-top .cta-deco-2{bottom:44px;right:6%;width:82px}body.lsu-recruit-top .footer{background:var(--deep-green);color:rgba(255,255,255,.9);padding:64px 24px 30px}body.lsu-recruit-top .footer .container{max-width:var(--max);margin:0 auto}body.lsu-recruit-top .footer-grid{--sp-b:40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.18)}body.lsu-recruit-top .footer-brand .ft-logos{display:flex;align-items:center;gap:14px;background:#fff;padding:14px 18px;border-radius:14px;width:fit-content}body.lsu-recruit-top .footer-brand .ft-logos .su{height:36px;width:auto}body.lsu-recruit-top .footer-brand .ft-logos .il{height:18px;width:auto}body.lsu-recruit-top .footer-brand .ft-logos .divider{width:1px;height:24px;background:var(--line)}body.lsu-recruit-top .footer-brand p{font-size:13px;line-height:1.85;color:rgba(255,255,255,.78);margin:18px 0 0}body.lsu-recruit-top .footer-brand .ft-tel{font-family:var(--font-hand);font-size:22px;color:#fff;margin-top:18px;display:inline-block;white-space:nowrap}body.lsu-recruit-top .footer h5{font-family:var(--font-en);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--su-yellow);margin:0 0 14px}body.lsu-recruit-top .footer ul{list-style:none;padding:0;margin:0}body.lsu-recruit-top .footer ul li{padding:5px 0;font-size:13.5px}body.lsu-recruit-top .footer ul li a{color:rgba(255,255,255,.78);transition:color .15s}body.lsu-recruit-top .footer ul li a:hover{color:#fff}body.lsu-recruit-top .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:24px;font-size:12px;color:rgba(255,255,255,.6)}body.lsu-recruit-top .footer-bottom .sns{display:flex;gap:10px}body.lsu-recruit-top .footer-bottom .sns a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff}body.lsu-recruit-top .footer-bottom .sns a:hover{background:var(--su-pink)}body.lsu-recruit-top .footer .ilife-tag{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);padding:6px 14px;border-radius:999px;font-size:11px;color:rgba(255,255,255,.7)}body.lsu-recruit-top .footer .ilife-tag img{height:14px}

    @media(max-width:900px){body.lsu-recruit-top .footer-grid{grid-template-columns:1fr 1fr;gap:28px}}
    @media(max-width:640px){body.lsu-recruit-top .fv-recruit{padding:44px 20px 72px;min-height:auto}body.lsu-recruit-top .fv-headline{font-size:34px}body.lsu-recruit-top .tape-vertical{display:none}body.lsu-recruit-top .sec-title{font-size:26px}body.lsu-recruit-top .env-grid,body.lsu-recruit-top .related-grid{grid-template-columns:1fr}body.lsu-recruit-top .footer-grid{grid-template-columns:1fr}body.lsu-recruit-top .cta-title{font-size:24px}
    }

/* ============================================================
   ★2026-09-03 スマホ幅の見切れ対策（有璽氏の指摘）
   ------------------------------------------------------------
   PC幅は承認済みなので1pxも変えない。すべて 540px 以下だけに効かせる。
   原因は「折り返せない英字1行」と「grid/flexの子が min-content で膨らむこと」。
   ============================================================ */
@media (max-width:540px){
  /* ★2026-09-10 有璽氏④確定で本要素(Join us!)も②の対象に。インラインstyle
     基本値top:70pxは実測で320/390pxとも30px上に超過。+35pxしてtop:105pxへ */
  body.lsu-recruit-top .en-bubble.pink.en-deco{top:105px !important}
  body.lsu-recruit-top .programs-en{font-size:22px;line-height:1.5;overflow-wrap:anywhere;word-break:normal}
  body.lsu-recruit-top .programs-en .amp{margin:0 4px}

  /* 折り返せない英字に改行の機会を与える */
  body.lsu-recruit-top .fv-en-tag,  body.lsu-recruit-top .en-text,  body.lsu-recruit-top .en-line,  body.lsu-recruit-top .fv-headline,
  body.lsu-recruit-top .fv-sub,  body.lsu-recruit-top .sec-eyebrow,  body.lsu-recruit-top .final-en,  body.lsu-recruit-top .rb-en{
    overflow-wrap:anywhere;
  }

  /* grid / flex の子が min-content で膨らむのを止める（これが本命） */
  body.lsu-recruit-top .fv-inner,  body.lsu-recruit-top .fv-text,  body.lsu-recruit-top .fv-visual,
  body.lsu-recruit-top .container,  body.lsu-recruit-top .blog-grid,  body.lsu-recruit-top .programs-grid{
    min-width:0;
    max-width:100%;
  }
  body.lsu-recruit-top .fv-inner > *,  body.lsu-recruit-top .container > *{min-width:0}

  /* ★これは原本ではなく、私が採用バナーで入れた 420px の flex-basis。
     狭い幅では折り返しても420pxを要求してしまう */
  body.lsu-recruit-top .recruit-band .rb-text{flex:1 1 100%;min-width:0}

  /* ============================================================
     ★2026-09-04 対象③④：フッターのロゴの箱／電話番号（stand-up-top.cssと同じ対処）
     ------------------------------------------------------------
     width:fit-content のままだと中央に小さくまとまり左右に余白が余る。
     箱自体を横幅いっぱいへ広げ、中のロゴ・文字も大きくする。
     ============================================================ */
  body.lsu-recruit-top .footer-brand .ft-logos{
    width:100%;
    justify-content:center;
    box-sizing:border-box;
    padding:18px 20px;
  }
  body.lsu-recruit-top .footer-brand .ft-logos .su{height:44px}
  body.lsu-recruit-top .footer-brand .ft-logos .il{height:22px}
  body.lsu-recruit-top .footer-brand .ft-tel{font-size:26px}
}


/* ============================================================
   ★2026-09-03 重なりの対処（案1：重ね順＋位置）
   ------------------------------------------------------------
   有璽氏の決定＝案1（重ね順を変え、残る装飾を少し動かす。★消さない）。
   ★PC幅は承認済みなので1pxも変えない。すべて540px以下だけに効かせる。
   ★同じ形はグループごとに1回書く（1ページずつ直すと同じ原因を何度も直す）。
   ============================================================ */
@media (max-width:540px){
  /* ①重ね順（★これだけで53組が「読める」側へ移る見込み・実測で確かめる） */
  body.lsu-recruit-top .tape-vertical,
  body.lsu-recruit-top .en-bubble,
  body.lsu-recruit-top .prog-poly,
  body.lsu-recruit-top .city-badge,
  body.lsu-recruit-top .polaroid,
  body.lsu-recruit-top .fvp-growth,
  body.lsu-recruit-top .prog-bubble,
  body.lsu-recruit-top .deco-star-1,
  body.lsu-recruit-top .deco-char-1{z-index:0 !important}
  body.lsu-recruit-top .breadcrumb,
  body.lsu-recruit-top .bc-current,
  body.lsu-recruit-top .fv-eyebrow,
  body.lsu-recruit-top .fv-headline,
  body.lsu-recruit-top .fv-text,
  body.lsu-recruit-top .fv-inner,
  body.lsu-recruit-top .sec-title,
  body.lsu-recruit-top .word,
  body.lsu-recruit-top .line,
  body.lsu-recruit-top .pp-no,
  body.lsu-recruit-top .pp-en,
  body.lsu-recruit-top .city-num,
  body.lsu-recruit-top .dc-num,
  body.lsu-recruit-top .ig-ph{position:relative;z-index:3}

  /* ②位置（★消さない。見える量を残したまま、文字の上から外す） */
  body.lsu-recruit-top .tape-vertical{left:-64px !important;right:auto !important}
  /* ★en-bubble の移動も取り消した ── 実測で新しい重なりを増やしたため
     （recruit-interview で 移動あり6件 vs 移動なし0件）。prog-poly と同じ型。
     ★『まとめて動かす』は、まとめて壊す力も同じだけある。重ね順だけ残す。2026-09-03 */
  /* ★prog-poly の移動は取り消した ── 実測で新しい重なりを19件作ったため
     （p-pink がカード内の「主に小学生」等を覆100%で隠した）。
     重ね順（z-index:0）だけ残す。位置は元のまま。2026-09-03 */
  body.lsu-recruit-top .city-badge{transform:translateY(30px) !important}
  body.lsu-recruit-top .polaroid-b{left:auto !important;right:0 !important}

  /* ============================================================
     ★2026-09-04 ヘッダー：ロゴが「見学・お問い合わせ」ボタンに隠れる（有璽氏の指摘）
     stand-up-top.css の同名ブロックと同じ内容（nav は共通コンポーネント）。
     ============================================================ */
  body.lsu-recruit-top .nav-inner{padding:12px 14px;gap:10px}
}

@media (max-width:980px){
  body.lsu-recruit-top .tape-vertical{display:none}
}

/* ============================================================
   ★2026-09-07 タブレット幅への拡張（有璽氏指摘・②A）
   ------------------------------------------------------------
   上の「2026-09-03 重なりの対処」は540px以下にしか効いていなかった。
   有璽氏「タブレットとかパソコンとスマホの間ぐらいのサイズの時だと、
   すごい変な形になる」を受け、①重ね順（z-index対策）だけを
   541〜980px（タブレット帯）にも拡張する。
   ★②位置の調整（tape-verticalのleft:-64px等）はここでは当てない。
     位置をタブレット幅にまで動かすと新しい重なりを作る可能性があり、
     実測してから判断する（2026-09-03と同じ理由で②は都度確認する）。
   ============================================================ */
@media (min-width:541px) and (max-width:980px){
  /* ★ヘッダー・パンくずとの重なり実測(2026-09-07)を踏まえ、吹き出しを引き上げる */
  /* ★2026-09-10 有璽氏④確定で本要素も②の対象に。旧top:7pxは実測でパンくずより
     35px上(768px)。+40pxしてtop:47pxへ */
  body.lsu-recruit-top .en-bubble.en-deco{top:47px !important;left:auto !important;right:28px !important}
  body.lsu-recruit-top .tape-vertical,
  body.lsu-recruit-top .en-bubble,
  body.lsu-recruit-top .prog-poly,
  body.lsu-recruit-top .city-badge,
  body.lsu-recruit-top .polaroid,
  body.lsu-recruit-top .fvp-growth,
  body.lsu-recruit-top .prog-bubble,
  body.lsu-recruit-top .deco-star-1,
  body.lsu-recruit-top .deco-char-1{z-index:0 !important}
  body.lsu-recruit-top .breadcrumb,
  body.lsu-recruit-top .bc-current,
  body.lsu-recruit-top .fv-eyebrow,
  body.lsu-recruit-top .fv-headline,
  body.lsu-recruit-top .fv-text,
  body.lsu-recruit-top .fv-inner,
  body.lsu-recruit-top .sec-title,
  body.lsu-recruit-top .word,
  body.lsu-recruit-top .line,
  body.lsu-recruit-top .pp-no,
  body.lsu-recruit-top .pp-en,
  body.lsu-recruit-top .city-num,
  body.lsu-recruit-top .dc-num,
  body.lsu-recruit-top .ig-ph{position:relative;z-index:3}
}

@media (max-width:540px){
  body.lsu-recruit-top .nav-logos{gap:8px}
  body.lsu-recruit-top .nav-logos .su{height:32px}
  body.lsu-recruit-top .nav-logos .il{height:17px}
  body.lsu-recruit-top .nav-cta{padding:9px 14px;font-size:12.5px}

  /* ============================================================
     ★2026-09-04 FVバッジの重なり（有璽氏の指摘・②→訂正で「まず残す」方針）
     stand-up-top.css の同名ブロックと同じ理由・同じ対処（消さずに縮小して
     header直下〜breadcrumb手前の隙間へ移動）。
     ============================================================ */
  body.lsu-recruit-top .en-bubble{
    top:0px !important;
    left:auto !important;right:26px !important;
    font-size:13px !important;
    padding:4px 10px !important;
  }

  /* ============================================================
     ★2026-09-04 .step-item（採用ステップ）── 有璽氏の判断で実装
     ------------------------------------------------------------
     指摘：「左側に余白があるので、左右の余白を同じぐらいにして文字を詰める」
     実測で判明した真因：style.css（bodyスコープ無しのグローバル）に
     トップページの.step-card用の `.step-num{position:absolute;top:-22px;
     left:50%;transform:translateX(-50%) rotate(-4deg)}` が定義されており、
     recruit-top.css側の `.step-num` にはposition/transformの上書きが
     無かったため、この番号バッジがPC幅・SP幅とも画面外（bodyタグ基準の
     絶対配置）へ飛んで**表示されていなかった**（実測：rect top=-24px前後）。
     「左に余白がある」は、番号が消えていた結果だった可能性が高い。
     ★PC幅は承認済みなので1pxも変えないという制約があるため、position指定の
     打ち消しはこの540px以下ブロックに限定する（PC幅側の同バグは今回は
     直さず、別途報告する）。
     ============================================================ */
  body.lsu-recruit-top .step-num{
    position:static;
    top:auto;
    left:auto;
    transform:none;
  }
  /* 左右の余白を揃える：step-itemの左右paddingを同じ18pxにし、
     step-num-col側の個別の左paddingは外す（重複させない）。
     ★実測で7px差が残った原因：グリッド列幅60pxの中でstep-num(46px)を
     centerしているため。列幅を46pxへ絞り、centerの余りを無くす。 */
  body.lsu-recruit-top .step-item{grid-template-columns:46px 1fr;padding:20px 18px}
  body.lsu-recruit-top .step-num-col{padding-left:0}
  /* 番号の中心位置が変わった分、接続線・矢印も番号の真下へ合わせ直す
     （実測：新しい番号中心=step-item基準42px。差5pxは元の線28px/矢印23pxと同じ比） */
  body.lsu-recruit-top .step-connector::before{left:42px}
  body.lsu-recruit-top .step-connector-arrow{left:37px}
}

/* ============================================================
   ★2026-09-04 フッター「ロゴの箱」の余白偏り（有璽氏の指摘・お手本＝ここ）
   ------------------------------------------------------------
   /recruit/ 自身が既に .footer-grid{grid-template-columns:1fr}（640px以下）を
   持っており、これがバランスの良い配置の実装だった。/stand-up/ 側へこの実装を写した
   （stand-up-top.css を参照）。recruit 側は変更不要。
   ============================================================ */


/* ============================================================
   ★2026-09-07 有璽氏指摘④。全ページでパンくず⇄バッジの間隔を統一。
   実測の最小値と最大値の中間へ揃える（目標=17px。バッジを持つ12ページが対象。
   バッジ自体が無いページ9本は対象外＝該当する要素が無いため統一しようがない）。
   実測（幅非依存）: 13.7px → margin-bottomへ3.3pxを補正
   ============================================================ */
body.lsu-recruit-top .breadcrumb{margin-bottom:var(--bc-gap-badge) !important}

/* ============================================================
   ★2026-09-08 有璽氏指摘「パンくずの位置がページによって異なる。なんで
   そうなってんの？」への対応。目標値は共通CSS変数(style.css :root の
   --bc-gap-*)の1か所だけで決める。ここではページごとに違う値
   （このページの自然なgap＝fvのpadding-top等に起因、実測: mobile=44px /
   tablet=60px / desktop=60px）を差し引くだけ。
   目標を変えたければ :root の3行だけ直せば全ページに伝播する。
   ============================================================ */
body.lsu-recruit-top .breadcrumb{margin-top:calc(var(--bc-gap-desktop) - 60px) !important}
@media (max-width:980px){
  body.lsu-recruit-top .breadcrumb{margin-top:calc(var(--bc-gap-tablet) - 60px) !important}
}
@media (max-width:540px){
  body.lsu-recruit-top .breadcrumb{margin-top:calc(var(--bc-gap-mobile) - 44px) !important}
}

/* ============================================================
   2026-09-09 3周目 有璽氏差し戻し「赤枠(写真)がまだ動いていない」対応010
   ------------------------------------------------------------
   円形写真+10YEARS+Welcome!+JOIN(全て.fv-photo-blockの子要素)を一括で
   左へ大きく寄せる。Join us!吹き出しはインラインstyle(left:calc(560px+...))
   なので同じ量だけ左へ(560→465px)。
   ============================================================ */
@media (min-width:981px){
  body.lsu-recruit-top .fv-photo-block{transform:translateX(-150px) !important}
  body.lsu-recruit-top .en-bubble.pink.en-deco{left:calc(465px + max(0px, (100% - var(--max) - 96px) / 2)) !important}

  /* ============================================================
     ★2026-09-10 有璽氏指摘003（画像20260910_003.png）:
     丸加工写真のサイズのみ90%に小さく(max-width 430→387px)。
     [Join us!]を35px左に移動(left計算値 465→430px)。
     fp-accent(10YEARS/Welcome!)・fv-join-block(JOIN)は写真基準の相対配置
     のため、写真サイズ変更に伴い相対位置は自動追従。個別サイズは指示に
     無いため変更していない。
     ============================================================ */
  body.lsu-recruit-top .fv-photo-block{max-width:387px !important}
  body.lsu-recruit-top .en-bubble.pink.en-deco{left:calc(430px + max(0px, (100% - var(--max) - 96px) / 2)) !important}

  /* ============================================================
     ★2026-09-10 有璽氏指摘004B（画像20260910_v2_004.png）:
     [Join us!]を380px右に移動。直前のleft:430px基準から+380pxで810pxへ。
     ============================================================ */
  body.lsu-recruit-top .en-bubble.pink.en-deco{left:calc(810px + max(0px, (100% - var(--max) - 96px) / 2)) !important}
}

/* ============================================================
   2026-09-10 恒久ルール⑥: JOINブロックを写真基準からセクション基準へ。
   HTML側でfv-join-block-sec6として.fv-recruit直下(position:relative)へ移動済み。
   right値はstyle.cssの統一式(body共通)を適用。ここではbottom/transformのみ指定。
   ============================================================ */
body.lsu-recruit-top .fv-join-block-sec6{
  position:absolute;bottom:30px;z-index:4;transform:rotate(-4deg);
}

/* ★2026-09-13 チョッパー：セクション間マージンをPC値の比率で縮小(有璽氏指摘・恒久ルール⑤と同じ比率) */
@media (max-width:980px){
  body.lsu-recruit-top .fv-recruit,
  body.lsu-recruit-top .sec-msg,
  body.lsu-recruit-top .sec-positions,
  body.lsu-recruit-top .sec-env,
  body.lsu-recruit-top .sec-values,
  body.lsu-recruit-top .sec-flow,
  body.lsu-recruit-top .sec-faq,
  body.lsu-recruit-top .sec-related,
  body.lsu-recruit-top .sec-cta{
    padding-top:max(var(--sp-floor),calc(var(--sp-t) * var(--sp-scale-tablet)));
  }
  body.lsu-recruit-top .fv-recruit,
  body.lsu-recruit-top .sec-msg,
  body.lsu-recruit-top .sec-positions,
  body.lsu-recruit-top .sec-env,
  body.lsu-recruit-top .sec-values,
  body.lsu-recruit-top .sec-flow,
  body.lsu-recruit-top .sec-faq,
  body.lsu-recruit-top .sec-related,
  body.lsu-recruit-top .sec-cta{
    padding-bottom:max(var(--sp-floor),calc(var(--sp-b) * var(--sp-scale-tablet)));
  }
}
@media (max-width:540px){
  body.lsu-recruit-top .fv-recruit,
  body.lsu-recruit-top .sec-msg,
  body.lsu-recruit-top .sec-positions,
  body.lsu-recruit-top .sec-env,
  body.lsu-recruit-top .sec-values,
  body.lsu-recruit-top .sec-flow,
  body.lsu-recruit-top .sec-faq,
  body.lsu-recruit-top .sec-related,
  body.lsu-recruit-top .sec-cta{
    padding-top:max(var(--sp-floor),calc(var(--sp-t) * var(--sp-scale-mobile)));
  }
  body.lsu-recruit-top .fv-recruit,
  body.lsu-recruit-top .sec-msg,
  body.lsu-recruit-top .sec-positions,
  body.lsu-recruit-top .sec-env,
  body.lsu-recruit-top .sec-values,
  body.lsu-recruit-top .sec-flow,
  body.lsu-recruit-top .sec-faq,
  body.lsu-recruit-top .sec-related,
  body.lsu-recruit-top .sec-cta{
    padding-bottom:max(var(--sp-floor),calc(var(--sp-b) * var(--sp-scale-mobile)));
  }
}

/* ★2026-09-14 チョッパー→ピタゴラス：全体マージン調整(有璽氏指摘)。セクション/ブロック間の縦マージン(margin-top/margin-bottom/padding-bottom)を比率化 */
@media (max-width:980px){
  body.lsu-recruit-top .footer-grid{
    padding-bottom:max(var(--sp-floor),calc(var(--sp-b) * var(--sp-scale-tablet)));
  }
}
@media (max-width:540px){
  body.lsu-recruit-top .footer-grid{
    padding-bottom:max(var(--sp-floor),calc(var(--sp-b) * var(--sp-scale-mobile)));
  }
}
