/* マモル 採用情報ページ 専用スタイル（top-styles.css の補完） */
.rec-hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;border-bottom:1px solid var(--ink);padding:170px 0 120px;min-height:80vh;display:flex;align-items:center;}
.rec-hero-bg{position:absolute;inset:-30px;z-index:0;background-size:cover;background-position:center 35%;opacity:0.92;animation:recKen 26s ease-in-out infinite;}
@keyframes recKen{0%{transform:scale(1.04)}50%{transform:scale(1.16) translate(-1.5%,1%)}100%{transform:scale(1.04)}}
.rec-hero-grade{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(8,12,24,0.85) 0%,rgba(8,12,24,0.55) 34%,rgba(8,12,24,0.18) 60%,rgba(8,12,24,0.32) 100%),linear-gradient(180deg,rgba(8,12,24,0.15),transparent 32%,rgba(8,12,24,0.55));}
.rec-hero-scroll{display:inline-flex;align-items:center;gap:10px;margin-top:40px;font-family:"Inter",monospace;font-size:11px;letter-spacing:0.3em;color:rgba(255,255,255,0.6);font-weight:700;}
.rec-hero-scroll span{width:36px;height:1px;background:rgba(255,255,255,0.4);position:relative;overflow:hidden;}
.rec-hero-scroll span::after{content:"";position:absolute;left:0;top:0;width:12px;height:100%;background:var(--blue2);animation:recScroll 2s ease-in-out infinite;}
@keyframes recScroll{0%{transform:translateX(-12px)}100%{transform:translateX(36px)}}

/* photo band */
.pband{display:grid;grid-template-columns:1.5fr 1fr;gap:0;background:var(--ink);}
.pband-big{position:relative;min-height:520px;background-size:cover;background-position:center;}
.pband-big::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,12,24,0.85));}
.pband-cap{position:absolute;left:40px;bottom:36px;z-index:2;}
.pband-cap .t{display:block;font-family:"Noto Serif JP",serif;font-size:clamp(26px,2.6vw,40px);font-weight:900;color:#fff;letter-spacing:-0.01em;}
.pband-cap .s{display:block;font-size:15px;color:var(--blue2);margin-top:10px;font-weight:700;}
.pband-col{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
.pband-sm{background-size:cover;background-position:center;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);min-height:259px;}

@media (max-width:760px){
  .rec-hero{min-height:auto;padding:120px 0 80px;}
  .rec-hero-bg{background-position:74% 30%;}
  .rec-hero h1{font-size:31px;line-height:1.2;letter-spacing:-0.02em;}
  .rsec h2{font-size:28px;line-height:1.25;}
  .pband{grid-template-columns:1fr;}
  .pband-big{min-height:300px;}
  .pband-col{grid-template-columns:1fr 1fr;grid-template-rows:none;}
  .pband-sm{min-height:150px;border-left:none;border-top:2px solid var(--ink);}
  .pband-sm:nth-child(even){border-left:2px solid var(--ink);}
}
.rec-hero .wrap{position:relative;z-index:2;}
/* 写真トーン統一 */
.rec-hero-bg,.pband-big,.pband-sm,.ppl-img{filter:saturate(0.82) contrast(1.08) brightness(0.97);}
.rec-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:"Inter",monospace;font-size:12px;letter-spacing:0.3em;font-weight:700;color:var(--blue2);margin-bottom:26px;}
.rec-eyebrow .dash{width:30px;height:1px;background:var(--blue2);}
.rec-hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(48px,7vw,116px);font-weight:900;line-height:1.0;margin:0;letter-spacing:-0.03em;}
.rec-hero h1 .y{color:var(--blue2);font-style:italic;}
.rec-hero p{font-size:17px;line-height:1.9;color:rgba(255,255,255,0.72);max-width:640px;margin:28px 0 0;}

/* section base */
.rsec{padding:clamp(64px,8vw,120px) 0;}
.rsec-tag{font-family:"Inter",monospace;font-size:clamp(12px,1vw,14px);color:var(--blue);letter-spacing:0.3em;font-weight:700;margin-bottom:26px;}
.rsec-tag.on-dark{color:var(--blue2);}
.rsec h2{font-family:"Noto Serif JP",serif;font-size:clamp(40px,5.4vw,84px);font-weight:900;line-height:1.05;margin:0 0 18px;letter-spacing:-0.03em;}
.rsec h2 .y{color:var(--blue);font-style:italic;}
.rsec-lead{font-size:16px;line-height:1.95;color:#3a3a3a;max-width:760px;margin:0 0 48px;}
.on-dark .rsec-lead,.rsec.dark .rsec-lead{color:rgba(255,255,255,0.7);}

/* reasons (3 cards) */
.reason{background:var(--paper);}
.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ink);}
.reason-card{padding:36px 30px;border-right:1px solid var(--ink);background:#fff;}
.reason-card:last-child{border-right:none;}
.reason-no{font-family:"Inter",monospace;font-size:12px;color:var(--blue);letter-spacing:0.3em;font-weight:700;margin-bottom:20px;}
.reason-icon{font-size:40px;margin-bottom:16px;}
.reason-t{font-family:"Noto Serif JP",serif;font-size:26px;font-weight:900;margin-bottom:14px;line-height:1.3;}
.reason-d{font-size:14px;line-height:1.9;color:#3a3a3a;}
.reason-d b{color:var(--ink);background:linear-gradient(transparent 60%,var(--yellow) 60%);}

/* day flow timeline */
.day{background:var(--ink);color:#fff;}
.day-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid rgba(255,255,255,0.15);}
.day-flow-7{grid-template-columns:repeat(7,1fr);}
.day-ai{background:rgba(37,99,235,0.18);}
.day-ai .day-d b{color:var(--blue2);}
.day-step{padding:26px 18px;border-right:1px solid rgba(255,255,255,0.15);position:relative;}
.day-step:last-child{border-right:none;}
.day-time{font-family:"Noto Serif JP",serif;font-size:34px;font-weight:900;font-style:italic;color:var(--blue2);line-height:1;}
.day-ttl{font-size:15px;font-weight:900;margin:14px 0 8px;}
.day-d{font-size:12px;line-height:1.7;color:rgba(255,255,255,0.55);}

/* requirements table */
.req{background:var(--paper);}
.req-table{border-top:2px solid var(--ink);}
.req-row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 8px;border-bottom:1px solid #d8d8d3;}
.req-k{font-weight:900;font-size:15px;display:flex;align-items:center;gap:10px;}
.req-k::before{content:"";width:8px;height:8px;background:var(--blue);}
.req-v{font-size:15px;line-height:1.8;color:#2a2a2a;}
.req-v b{color:var(--ink);}
.req-note{font-size:12px;color:#888;margin-top:18px;}

/* benefits reuse simple grid */
.rben{background:var(--ink);color:#fff;}
.rben-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid rgba(255,255,255,0.15);}
.rben-card{padding:26px 22px;border-right:1px solid rgba(255,255,255,0.15);border-bottom:1px solid rgba(255,255,255,0.15);}
.rben-tag{font-family:"Inter",monospace;font-size:11px;color:var(--blue2);letter-spacing:0.18em;font-weight:700;margin-bottom:12px;}
.rben-t{font-family:"Noto Serif JP",serif;font-size:20px;font-weight:900;margin-bottom:10px;}
.rben-d{font-size:12px;line-height:1.7;color:rgba(255,255,255,0.55);}
.rben-feat{grid-column:span 2;background:#141414;border-left:4px solid var(--yellow);display:flex;flex-direction:column;justify-content:center;}
.rben-feat .rben-num{font-family:"Noto Serif JP",serif;font-size:88px;font-weight:900;font-style:italic;color:var(--yellow);line-height:0.85;}
.rben-feat .rben-num span{font-size:38px;}

/* voices */
.voice{background:#fff;}
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.voice-card{background:#fff;border:1px solid #e5e5e2;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.06);transition:transform .18s,box-shadow .18s;}
.voice-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(37,99,235,0.16);}
.voice-photo{aspect-ratio:4/3;background-size:cover;background-position:center;position:relative;}
.voice-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(10,10,10,0.6));}
.voice-photo .lab{position:absolute;bottom:14px;left:14px;z-index:2;background:var(--blue);color:#fff;font-family:"Noto Sans JP",sans-serif;font-size:15px;letter-spacing:0.04em;padding:9px 16px;font-weight:900;box-shadow:0 4px 14px rgba(0,0,0,0.3);}
.voice-body{padding:24px;}
.voice-meta{display:flex;align-items:center;gap:8px;font-family:"Inter",monospace;font-size:12px;font-weight:700;letter-spacing:0.1em;margin-bottom:16px;}
.voice-meta .age{color:var(--blue);}
.voice-meta .sep{color:#aaa;}
.voice-q{font-family:"Noto Serif JP",serif;font-size:16px;line-height:1.9;color:#1a1a1a;margin:0 0 16px;}
.voice-name{font-size:14px;font-weight:700;padding-top:14px;border-top:1px solid #e5e5e2;display:flex;justify-content:space-between;}
.voice-name .tn{font-size:11px;color:#888;font-weight:500;}

/* steps to entry */
.flow2{background:var(--ink);color:#fff;}
.flow2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.flow2-card{border:1px solid rgba(255,255,255,0.15);padding:34px 22px 28px;position:relative;}
.flow2-card::after{content:"";position:absolute;top:50%;right:-19px;width:12px;height:12px;border-top:2px solid var(--blue2);border-right:2px solid var(--blue2);transform:translateY(-50%) rotate(45deg);z-index:2;}
.flow2-card:last-child::after{display:none;}
.flow2-circle{position:absolute;top:-18px;left:22px;width:36px;height:36px;border-radius:50%;background:var(--blue2);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:"Inter",sans-serif;font-weight:900;font-size:17px;box-shadow:0 4px 14px rgba(0,0,0,0.4);}
.flow2-no{font-family:"Inter",monospace;font-size:11px;color:var(--blue2);letter-spacing:0.25em;font-weight:700;margin-bottom:12px;}
.flow2-t{font-family:"Noto Serif JP",serif;font-size:22px;font-weight:900;margin-bottom:8px;}
.flow2-dur{display:inline-block;font-family:"Inter",sans-serif;font-size:11.5px;font-weight:800;letter-spacing:0.04em;color:#fff;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);padding:4px 10px;border-radius:100px;margin-bottom:14px;}
.flow2-d{font-size:13px;line-height:1.8;color:rgba(255,255,255,0.6);}

@media (max-width:1100px){
  .reason-grid{grid-template-columns:1fr;}
  .reason-card{border-right:none;border-bottom:1px solid var(--ink);}
  .day-flow{grid-template-columns:repeat(3,1fr);}
  .day-flow-7{grid-template-columns:repeat(3,1fr);}
  .day-step:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,0.15);}
  .rben-grid{grid-template-columns:repeat(2,1fr);}
  .rben-feat{grid-column:span 2;}
  .voice-grid{grid-template-columns:1fr 1fr;}
  .flow2-grid{grid-template-columns:repeat(2,1fr);row-gap:44px;}
  .flow2-card::after{top:auto;right:auto;bottom:-24px;left:50%;transform:translateX(-50%) rotate(135deg);}
  .flow2-card:nth-child(3)::after,.flow2-card:nth-child(4)::after{display:none;}
}
@media (max-width:760px){
  .day-flow{grid-template-columns:1fr;}
  .day-step{border-right:none;border-bottom:1px solid rgba(255,255,255,0.15);}
  .rben-grid{grid-template-columns:1fr;}
  .rben-feat{grid-column:span 1;}
  .voice-grid{grid-template-columns:1fr;}
  .flow2-grid{grid-template-columns:1fr;row-gap:40px;}
  .flow2-card::after{bottom:-26px;left:50%;top:auto;right:auto;transform:translateX(-50%) rotate(135deg);}
  .flow2-card:nth-child(3)::after{display:block;}
  .req-row{grid-template-columns:1fr;gap:8px;}
}

/* ===== HOOKS band (3 big drivers) ===== */
.hooks{background:var(--blue);color:#fff;border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);}
.hooks-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.hook{padding:48px 36px;border-right:1px solid rgba(255,255,255,0.25);}
.hook:last-child{border-right:none;}
.hook-tag{font-family:"Inter",monospace;font-size:12px;letter-spacing:0.2em;font-weight:700;opacity:0.85;margin-bottom:14px;}
.hook-num{font-family:"Noto Serif JP",serif;font-size:clamp(64px,7vw,108px);font-weight:900;font-style:italic;line-height:0.85;letter-spacing:-0.04em;}
.hook-num .u{font-size:36px;margin-left:4px;}
.hook-num .y{color:var(--yellow);}
.hook-d{font-size:14px;line-height:1.8;margin-top:18px;font-weight:600;}
.hook-d b{color:var(--yellow);}

/* ===== 5 features ===== */
.feat5{background:var(--paper);}
.feat-list{display:grid;gap:0;border-top:2px solid var(--ink);}
.feat-row{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:32px 8px;border-bottom:1px solid #d8d8d3;align-items:start;transition:padding .15s,background .15s;}
.feat-row:hover{background:#fff;padding-left:18px;padding-right:18px;}
.feat-n{font-family:"Noto Serif JP",serif;font-size:56px;font-weight:900;font-style:italic;color:var(--blue);line-height:0.9;}
.feat-main .ft{font-family:"Noto Serif JP",serif;font-size:26px;font-weight:900;margin-bottom:10px;line-height:1.3;}
.feat-main .ft .y{background:linear-gradient(transparent 60%,var(--yellow) 60%);}
.feat-main .fd{font-size:14px;line-height:1.9;color:#3a3a3a;}

/* ===== work content ===== */
.work{background:var(--ink);color:#fff;}
.work-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
.work-img{aspect-ratio:4/3;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,0.2);}
.work-body .wt{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:900;line-height:1.4;margin-bottom:20px;}
.work-body .wt .y{color:var(--blue2);}
.work-body p{font-size:15px;line-height:1.95;color:rgba(255,255,255,0.72);margin:0 0 16px;}
.work-body p b{color:#fff;background:linear-gradient(transparent 60%,rgba(37,99,235,0.5) 60%);}

/* ===== Q&A ===== */
.qa{background:var(--paper);}
.qa-list{display:grid;gap:14px;}
.qa-item{background:#fff;border:1px solid var(--ink);}
.qa-q{display:flex;gap:14px;align-items:flex-start;padding:22px 24px;font-size:16px;font-weight:700;}
.qa-q .mk{font-family:"Noto Serif JP",serif;font-size:24px;font-weight:900;font-style:italic;color:var(--blue);line-height:1;flex:0 0 auto;}
.qa-a{display:flex;gap:14px;align-items:flex-start;padding:0 24px 22px 24px;font-size:14px;line-height:1.9;color:#3a3a3a;}
.qa-a .mk{font-family:"Noto Serif JP",serif;font-size:24px;font-weight:900;font-style:italic;color:#bbb;line-height:1;flex:0 0 auto;}
.qa-a b{color:var(--ink);}

@media (max-width:1100px){
  .hooks-grid{grid-template-columns:1fr;}
  .hook{border-right:none;border-bottom:1px solid rgba(255,255,255,0.25);}
  .work-grid{grid-template-columns:1fr;gap:28px;}
}
@media (max-width:760px){
  .feat-row{grid-template-columns:1fr;gap:8px;}
  .feat-n{font-size:42px;}
}
