@charset "utf-8";
/* =========================================================
   PERFA RECRUITING SITE
   ========================================================= */
:root{
  
  --violet-990:#1D0D2C; --violet-950:#2A133F;
  --violet-900:#3A1C56; --violet-800:#522978; --violet-600:#5C2F86;
  --violet-400:#8554B3; --violet-300:#D5AAFE; --violet-200:#D2C1E2; --violet-100:#E4DEEA; --violet-050:#F8F5FB;
  
  --violet-990-rgb:29,13,44; --violet-950-rgb:42,19,63; --violet-900-rgb:58,28,86;
  --violet-600-rgb:92,47,134; --violet-400-rgb:133,84,179;
  --white-rgb:255,255,255; --line-green-rgb:6,199,85; --black-rgb:0,0,0;
  --white:#fff; --ink:#2B2733; --ink-sub:#6A6577;
  
  --ink-mute:#736E82;
  --line-green:#06C755; --line-green-dark:#05A648;
  --line-green-text:#05873B; 
  --danger:#C0322B;
  --focus-ring:var(--violet-600); 
  --font-mincho:"Yu Mincho",YuMincho,"游明朝","Hiragino Mincho ProN","Noto Serif JP",serif;
  --font-sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
  --font-en:"Noto Sans JP","Helvetica Neue",Arial,sans-serif;
  --fs-hero:clamp(30px,4.8vw,62px); --fs-h2:clamp(26px,4vw,54px);
  --fs-h3:clamp(17px,2.1vw,23px); --fs-lead:clamp(15px,1.6vw,18px);
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:88px;--s10:120px;
  --r-sm:6px;--r-md:12px;--r-lg:20px;--r-pill:999px;
  --sh-1:0 1px 3px rgba(var(--violet-900-rgb),.05);
  --sh-2:0 6px 20px rgba(var(--violet-900-rgb),.09);
  --sh-3:0 14px 40px rgba(var(--violet-900-rgb),.14);
  --wrap:1180px; --wrap-narrow:760px; --hd:74px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 20px);}
body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.75;color:var(--ink);
  background:var(--white);font-feature-settings:"palt";overflow-x:hidden;
  
  word-break:auto-phrase;}
h1,h2,h3,h4{font-family:var(--font-mincho);font-weight:600;line-height:1.4;margin:0;text-wrap:balance;}

a,button,summary,[role="button"]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(var(--violet-600-rgb),.18);}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;border:0;}
p{margin:0;} img{max-width:100%;height:auto;display:block;} ul,ol,dl,dd{margin:0;padding:0;} li{list-style:none;}
a{color:var(--violet-600);}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;}

.hero,.promise,.closing,.path__c,.val__hero,.con__ans,.fk__hd,.shikaku__badge,.float,.spfix{--focus-ring:var(--white);}
.skip{position:fixed;left:var(--s4);top:-120px;z-index:1000;background:var(--violet-600);color:var(--white);
  padding:12px 22px;border-radius:var(--r-sm);font-weight:700;text-decoration:none;transition:top .15s;}
.skip:focus{top:var(--s4);}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--s5);}
.narrow{max-width:var(--wrap-narrow);margin-inline:auto;}
.section{padding-block:var(--s10);}
.section--alt{background:var(--violet-050);}
.accent{color:var(--violet-600);}
.block{margin-top:var(--s10);}
.block:first-of-type{margin-top:0;}

/* ---------- header（横幅100%） ---------- */
.hd{position:sticky;top:0;z-index:900;background:rgba(var(--white-rgb),.94);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--violet-100);}
.hd__in{width:100%;height:var(--hd);display:flex;align-items:center;gap:var(--s5);padding-inline:clamp(16px,2.5vw,40px);}
.hd__logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.hd__logo img{height:44px;width:auto;max-width:none;}
.hd__logo .lg-sp{display:none;}
@media(max-width:720px){.hd__logo .lg-pc{display:none;} .hd__logo .lg-sp{display:inline;}}
.hd__nav{margin-left:auto;display:flex;align-items:center;gap:clamp(16px,1.8vw,26px);}
.hd__links{display:flex;gap:clamp(14px,1.5vw,24px);}
.hd__links a{font-size:13.5px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;
  padding-block:4px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
.hd__links a:hover{color:var(--violet-600);border-bottom-color:var(--violet-600);}
.hd__cta{display:flex;gap:10px;align-items:center;flex-shrink:0;}
.hd__cta .btn{color:var(--white) !important;}
.burger{display:none;align-items:center;gap:9px;height:46px;padding:0 16px 0 14px;
  border:1px solid var(--violet-100);border-radius:var(--r-sm);
  background:var(--white);cursor:pointer;position:relative;flex-shrink:0;font-family:var(--font-en);
  font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--violet-600);}
.burger__b{position:relative;width:20px;height:14px;flex-shrink:0;}
.burger__b span{position:absolute;left:0;right:0;height:2px;background:var(--violet-600);
  transition:transform .25s,opacity .2s;}
.burger__b span:nth-child(1){top:0;} .burger__b span:nth-child(2){top:6px;} .burger__b span:nth-child(3){top:12px;}
.burger[aria-expanded="true"] .burger__b span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.burger[aria-expanded="true"] .burger__b span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] .burger__b span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.drawer{position:fixed;inset:var(--hd) 0 0;z-index:880;background:var(--white);padding:var(--s6) var(--s5) var(--s9);
  overflow-y:auto;overscroll-behavior:contain;display:none;}
.drawer.open{display:block;}
.drawer a.dn{display:flex;align-items:center;justify-content:space-between;padding:17px 6px;
  font-size:16px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--violet-100);}

.drawer a.dn > span{margin-right:auto;margin-left:.2em;}
.drawer a.dn::after{content:"";width:8px;height:8px;border-right:2px solid var(--violet-400);
  border-bottom:2px solid var(--violet-400);transform:rotate(-45deg);}
.drawer__cta{display:grid;gap:12px;margin-top:var(--s6);}
@media(max-width:1400px){
  .hd__links{display:none;}
  .burger{display:inline-flex;order:3;}
}
@media(max-width:560px){.burger{padding:0 12px;font-size:0;gap:0;width:46px;justify-content:center;}}
@media(max-width:720px){
  .hd__logo img{height:36px;}
  .hd__cta .btn{padding:9px 15px;font-size:12.5px;min-height:40px;}
  .hd__in{gap:12px;}
}
@media(max-width:440px){.hd__cta .btn--sm{padding:9px 12px;}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;
  font-family:var(--font-sans);font-weight:700;font-size:16px;border:2px solid transparent;
  border-radius:var(--r-pill);cursor:pointer;padding:16px 36px;line-height:1.5;min-height:56px;text-align:center;
  transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;}
.btn--stack{flex-direction:column;gap:0;padding-block:12px;}
.btn__sub{display:block;font-size:11.5px;font-weight:400;opacity:.9;}
.btn--primary{background:var(--violet-600);color:var(--white);box-shadow:var(--sh-2);}
.btn--primary:hover{background:var(--violet-800);color:var(--white);box-shadow:var(--sh-3);}
.btn--outline{background:var(--white);color:var(--ink);border-color:var(--ink);}
.btn--outline:hover{background:var(--ink);color:var(--white);}
.btn--outline-violet{background:var(--white);color:var(--violet-600);border-color:var(--violet-600);}
.btn--outline-violet:hover{background:var(--violet-600);color:var(--white);}
.btn--line{background:var(--line-green);color:var(--white);box-shadow:0 6px 20px rgba(var(--line-green-rgb),.28);}
.btn--line:hover{background:var(--line-green-dark);color:var(--white);}
.btn--ghost-white{background:transparent;color:var(--white);border-color:rgba(var(--white-rgb),.75);}
.btn--ghost-white:hover{background:var(--white);color:var(--violet-600);border-color:var(--white);}
.btn--sm{padding:11px 22px;font-size:14px;min-height:44px;}
.btn--block{display:flex;width:100%;}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:center;
  background:var(--violet-900) url(../../img/recruit-mv-bg-pc.webp) center/cover no-repeat;}
.hero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(var(--violet-990-rgb),.87) 0%,rgba(var(--violet-950-rgb),.72) 42%,rgba(var(--violet-900-rgb),.24) 78%,rgba(var(--violet-900-rgb),.06) 100%);}
.hero__in{position:relative;z-index:2;width:100%;padding-block:var(--s9);}
.hero__label{font-family:var(--font-en);font-size:13px;font-weight:700;letter-spacing:.24em;color:var(--violet-200);margin-bottom:var(--s5);}
.hero__ttl{font-size:var(--fs-hero);color:var(--white);line-height:1.35;text-shadow:0 2px 24px rgba(var(--black-rgb),.35);}
.hero__ttl .accent{color:var(--violet-300);}
.hero__lead{color:rgba(var(--white-rgb),.92);font-size:var(--fs-lead);margin-top:var(--s5);max-width:34em;
  text-shadow:0 1px 12px rgba(var(--black-rgb),.4);}
.hero__tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--s6);}
.hero__tags span{background:rgba(var(--white-rgb),.14);border:1px solid rgba(var(--white-rgb),.35);color:var(--white);
  font-size:13px;font-weight:500;padding:6px 15px;border-radius:var(--r-pill);backdrop-filter:blur(4px);}
.hero__tags .on{background:var(--violet-600);border-color:var(--violet-600);font-weight:700;}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:var(--s7);}
@media(max-width:768px){
  .hero{background-image:url(../../img/recruit-mv-bg-sp.webp);min-height:auto;}
  .hero::before{background:linear-gradient(180deg,rgba(var(--violet-990-rgb),.82),rgba(var(--violet-900-rgb),.66));}
  .hero__in{padding-block:var(--s8);}
}

/* ---------- section head ---------- */

.sh{text-align:left;margin-bottom:var(--s8);}
.sh__en{display:block;font-family:var(--font-mincho);font-size:13px;font-weight:600;letter-spacing:.08em;
  color:var(--violet-400);margin-bottom:var(--s2);}
.sh__ttl{font-size:var(--fs-h2);}
.sh__lead{font-size:15px;color:var(--ink-sub);margin-top:var(--s4);max-width:38em;text-wrap:balance;}

.bh{text-align:left;margin-bottom:var(--s7);}
.bh__ttl{font-size:clamp(21px,2.8vw,30px);}
.bh__lead{font-size:14.5px;color:var(--ink-sub);margin-top:var(--s4);max-width:40em;text-wrap:balance;}

/* ---------- grid ---------- */
.grid{display:grid;gap:var(--s5);}
.g3{grid-template-columns:repeat(3,1fr);} .g4{grid-template-columns:repeat(4,1fr);}

/* ---------- message ---------- */
.msg{display:grid;grid-template-columns:300px 1fr;gap:var(--s8);align-items:start;max-width:920px;margin-inline:auto;}
.msg__ph img{border-radius:var(--r-md);width:100%;}

.msg__lead{max-width:920px;margin:0 auto var(--s8);font-family:var(--font-mincho);font-weight:600;
  font-size:clamp(25px,3.4vw,40px);line-height:1.6;letter-spacing:.01em;color:var(--ink);}
.msg__lead .accent{color:var(--violet-600);}
.msg__lead b{font-weight:600;color:var(--violet-800);
  background:linear-gradient(transparent 56%, var(--violet-200) 56%);padding:0 .08em;}
.msg__body p{font-size:15.5px;color:var(--ink-sub);margin-bottom:var(--s4);}
.msg__sign{text-align:right;font-size:14px;margin-top:var(--s5);}
.msg__sign b{font-family:var(--font-mincho);font-size:19px;font-weight:600;color:var(--ink);}

/* ---------- AI PROMISE band ---------- */
.promise{position:relative;background:var(--violet-900);color:var(--white);padding-block:var(--s10);overflow:hidden;}
.promise__in{position:relative;z-index:2;}
.promise__ttl{font-size:clamp(26px,4.2vw,54px);color:var(--white);text-align:center;line-height:1.45;}
.promise__ttl .accent{color:var(--violet-300);}
.promise__lead{max-width:44em;margin:var(--s6) auto 0;text-align:center;font-size:var(--fs-lead);
  color:rgba(var(--white-rgb),.9);line-height:2;}
.promise__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);margin-top:var(--s9);}
.promise__c{background:rgba(var(--white-rgb),.07);border:1px solid rgba(var(--white-rgb),.16);
  border-radius:var(--r-lg);padding:var(--s7) var(--s6);}
.promise__i{width:46px;height:46px;margin-bottom:var(--s4);}
.promise__i svg{width:100%;height:100%;stroke:var(--violet-300);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.promise__t{font-size:20px;color:var(--white);margin-bottom:var(--s3);}
.promise__x{font-size:14px;color:rgba(var(--white-rgb),.86);line-height:1.95;}
.promise__foot{margin-top:var(--s8);background:rgba(var(--white-rgb),.09);border-radius:var(--r-lg);
  padding:var(--s7);text-align:center;}
.promise__foot b{display:block;font-family:var(--font-mincho);font-size:clamp(19px,2.6vw,26px);
  font-weight:600;margin-bottom:var(--s4);}
.promise__foot p{font-size:14.5px;color:rgba(var(--white-rgb),.88);line-height:1.95;max-width:52em;margin-inline:auto;}
@media(max-width:900px){.promise__grid{grid-template-columns:1fr;}}

/* ---------- stat ---------- */
.stat{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-md);
  padding:var(--s6) var(--s4);text-align:center;}
.stat__lbl{font-size:13px;font-weight:700;color:var(--ink-sub);}
.stat__num{font-family:var(--font-mincho);font-size:38px;font-weight:600;color:var(--violet-600);line-height:1.15;margin:var(--s2) 0 var(--s1);font-variant-numeric:tabular-nums;}
.stat__num small{font-family:var(--font-sans);font-size:15px;font-weight:700;}
.stat__sub{font-size:12px;color:var(--ink-mute);line-height:1.65;}

/* ---------- card ---------- */
.card{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-md);padding:var(--s6);}
.card__ttl{font-size:var(--fs-h3);margin-bottom:var(--s3);}
.card__txt{font-size:14px;color:var(--ink-sub);line-height:1.85;}
.pcard{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-md);overflow:hidden;}
.pcard img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.pcard__b{padding:var(--s5);}
.pcard__t{font-size:18px;margin-bottom:var(--s2);}
.pcard__x{font-size:13.5px;color:var(--ink-sub);line-height:1.8;}
.tagrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s4);}
.tagrow li{font-size:11.5px;font-weight:700;color:var(--violet-600);background:var(--violet-050);
  border-radius:var(--r-pill);padding:3px 11px;}
.worklist{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);margin-top:var(--s6);}
.worklist__c{background:var(--violet-050);border-radius:var(--r-md);padding:var(--s6);}
.worklist__t{font-size:18px;margin-bottom:var(--s3);}
.worklist__x{font-size:13.5px;color:var(--ink-sub);line-height:1.85;}
.worklist__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:var(--s4);}
.worklist__tags span{font-size:12.5px;background:var(--white);border:1px solid var(--violet-100);
  border-radius:var(--r-pill);padding:5px 14px;color:var(--ink);}
@media(max-width:820px){.worklist{grid-template-columns:1fr;}}
.icard{text-align:center;padding:var(--s5) var(--s3);}
.icard__i{width:58px;height:58px;margin:0 auto var(--s4);color:var(--violet-600);}
.icard__i svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.3;}
.icard__t{font-size:16.5px;margin-bottom:var(--s2);}
.icard__x{font-size:13px;color:var(--ink-sub);line-height:1.8;}

/* ---------- values ---------- */
.val__hero{background:var(--violet-900);color:var(--white);border-radius:var(--r-lg);padding:var(--s8) var(--s7);text-align:center;margin-bottom:var(--s7);}
.val__catch{font-family:var(--font-mincho);font-size:clamp(21px,3.2vw,36px);font-weight:600;line-height:1.6;}
.val__sub{font-size:14.5px;opacity:.9;margin-top:var(--s5);line-height:2;}
.val__word{display:inline-block;background:rgba(var(--white-rgb),.16);border-radius:var(--r-sm);padding:2px 13px;margin:0 3px;font-weight:700;}
.val__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);}
.val__i{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-md);padding:var(--s5);}
.val__t{font-size:16px;margin-bottom:var(--s1);}
.val__x{font-size:13px;color:var(--ink-sub);line-height:1.8;}
.val__i.wide{grid-column:1/-1;background:var(--violet-050);}

/* ---------- concerns ---------- */
.con__lead{text-align:center;font-family:var(--font-mincho);font-size:clamp(18px,2.4vw,26px);}
.con__chips{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:var(--s6) 0 var(--s7);}
.con__chips span{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-pill);
  font-size:14px;color:var(--ink-sub);padding:9px 19px;}
.con__ans{background:var(--violet-600);color:var(--white);border-radius:var(--r-lg);padding:var(--s7);text-align:center;max-width:820px;margin-inline:auto;}
.con__ans b{display:block;font-family:var(--font-mincho);font-size:clamp(22px,3vw,32px);font-weight:600;margin-bottom:var(--s4);}
.con__ans p{font-size:15px;opacity:.95;}
.con__ans em{font-style:normal;display:inline-block;max-width:100%;border-bottom:2px solid rgba(var(--white-rgb),.6);padding-bottom:2px;font-weight:700;}

/* ---------- roadmap ---------- */
.rm{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);}
.rm__s img{width:100%;aspect-ratio:5/3;object-fit:cover;border-radius:var(--r-sm);margin-bottom:var(--s4);}
.rm__t{font-size:18px;margin-bottom:var(--s2);display:flex;align-items:center;gap:10px;}
.rm__n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;
  background:var(--violet-600);color:var(--white);font-family:var(--font-en);font-size:13px;font-weight:700;flex-shrink:0;}
.rm__x{font-size:13.5px;color:var(--ink-sub);line-height:1.85;}
.rm__goal{display:block;margin-top:var(--s3);background:var(--violet-600);border-radius:var(--r-sm);
  font-size:12.5px;color:var(--white);font-weight:700;text-align:center;padding:9px 10px;letter-spacing:.02em;}

.shikaku{margin-top:var(--s8);background:var(--white);border:1px solid var(--violet-100);
  border-radius:var(--r-lg);overflow:hidden;}
.shikaku__hd{display:flex;gap:var(--s6);align-items:center;flex-wrap:wrap;
  background:var(--violet-050);padding:var(--s6) var(--s7);}
.shikaku__badge{background:var(--violet-600);color:var(--white);border-radius:var(--r-md);padding:var(--s4) var(--s5);
  text-align:center;font-family:var(--font-mincho);font-size:18px;font-weight:600;line-height:1.5;white-space:nowrap;}
.shikaku__badge small{display:block;font-family:var(--font-sans);font-size:11.5px;font-weight:400;opacity:.9;}
.shikaku__x{flex:1;min-width:260px;font-size:14.5px;}
.shikaku__body{display:grid;grid-template-columns:1fr 1fr;}
.shikaku__body>div{padding:var(--s6) var(--s7);}
.shikaku__body>div+div{border-left:1px solid var(--violet-100);}
.shikaku__body h4{font-size:17px;margin-bottom:var(--s3);}
.shikaku__body p{font-size:14px;color:var(--ink-sub);line-height:1.85;}
@media(max-width:820px){
  .shikaku__body{grid-template-columns:1fr;}
  .shikaku__body>div+div{border-left:none;border-top:1px solid var(--violet-100);}
}
.path{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5);}
.path__c{border-radius:var(--r-lg);color:var(--white);overflow:hidden;display:flex;flex-direction:column;}
.path__c:first-child{background:var(--violet-600);} .path__c:last-child{background:var(--violet-900);}
.path__ph{display:block;width:100%;aspect-ratio:16/9;}
.path__ph img{width:100%;height:100%;object-fit:cover;display:block;}
.path__in{padding:var(--s7);}
.path__t{font-size:24px;margin:0 0 var(--s4);color:var(--white);}
.path__x{font-size:14px;opacity:.94;}
.path__l{margin-top:var(--s4);display:grid;gap:7px;}
.path__l li{font-size:13px;background:rgba(var(--white-rgb),.13);border-radius:var(--r-sm);padding:7px 14px;text-wrap:balance;}

/* ---------- LINE banner ---------- */
.lbn{max-width:900px;margin-inline:auto;background:var(--white);border:2px solid var(--line-green);
  border-radius:var(--r-lg);display:flex;align-items:center;gap:var(--s5);padding:var(--s5) var(--s6);flex-wrap:wrap;}
.lbn__t{flex:1;min-width:240px;}
.lbn__t b{display:block;font-family:var(--font-mincho);font-size:19px;}
.lbn__t span{font-size:13.5px;color:var(--ink-sub);}

/* ---------- area ---------- */
.area{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--s7);align-items:center;}
.area__map{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-lg);padding:var(--s6);}
.area__map img{width:100%;height:auto;border-radius:var(--r-md);}
.area__l{display:grid;gap:var(--s4);}
.area__l li{display:flex;gap:var(--s4);align-items:flex-start;}
.area__ic{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--violet-600);
  display:flex;align-items:center;justify-content:center;margin-top:3px;}
.area__ic svg{width:14px;height:14px;stroke:var(--white);fill:none;stroke-width:2.6;}
.area__l b{display:block;font-family:var(--font-mincho);font-size:17px;}
.area__l span{font-size:13.5px;color:var(--ink-sub);}

/* ---------- flow ---------- */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);}
.flow__c{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-md);overflow:hidden;}
.flow__c.flow--line{border:2px solid var(--line-green);}
.flow__n--line{color:var(--line-green-text);}
.flow__c img{width:100%;aspect-ratio:21/8;object-fit:cover;}
.flow__b{padding:var(--s6);}
.flow__n{font-family:var(--font-en);font-size:13px;font-weight:700;letter-spacing:.18em;color:var(--violet-600);}
.flow__t{font-size:20px;margin:var(--s2) 0 var(--s3);}
.flow__x{font-size:14px;color:var(--ink-sub);line-height:1.85;}

/* ---------- benefits ---------- */
.ben{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);}
.ben__c{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-md);padding:var(--s5);}
.ben__t{font-size:16px;margin-bottom:var(--s3);color:var(--violet-800);display:flex;align-items:center;gap:11px;}
.ben__i{flex-shrink:0;width:38px;height:38px;border-radius:var(--r-sm);background:var(--violet-050);
  display:flex;align-items:center;justify-content:center;}
.ben__i svg{width:21px;height:21px;stroke:var(--violet-600);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.ben__x{font-size:12.5px;color:var(--ink-sub);line-height:1.8;}
.ev{margin-top:var(--s8);background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-lg);padding:var(--s7);}
.ev__hd{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s3);}
.ev__hd h3{font-size:23px;}
.ev__tag{background:var(--violet-600);color:var(--white);font-size:12px;font-weight:700;border-radius:var(--r-pill);padding:4px 15px;}
.ev__lead{font-size:14.5px;color:var(--ink-sub);margin-bottom:var(--s5);}
.ev__ph{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);}
.ev__ph figure{margin:0;border-radius:var(--r-sm);overflow:hidden;}
.ev__ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--violet-050);}
.fk{margin-top:var(--s7);background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-lg);overflow:hidden;}
.fk__hd{background:var(--violet-600);color:var(--white);padding:var(--s5) var(--s6);display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap;}
.fk__logo{background:var(--white);color:var(--violet-600);font-family:var(--font-en);font-size:24px;font-weight:700;
  letter-spacing:.04em;padding:6px 18px;border-radius:var(--r-sm);}
.fk__t{flex:1;min-width:250px;}
.fk__t b{display:block;font-family:var(--font-mincho);font-size:19px;}
.fk__t span{font-size:13px;opacity:.92;}
.fk__num{text-align:center;white-space:nowrap;}
.fk__num b{font-family:var(--font-mincho);font-size:32px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;}
.fk__num small{display:block;font-size:11px;opacity:.9;}
.fk__b{padding:var(--s6);}
.fk__cats{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:var(--s4);}
.fk__cats span{background:var(--violet-050);color:var(--violet-600);font-size:12.5px;font-weight:700;
  border-radius:var(--r-pill);padding:5px 14px;}
.fk__shops{background:var(--violet-050);border-radius:var(--r-sm);padding:var(--s4) var(--s5);
  font-size:13px;color:var(--ink-sub);line-height:1.95;}
.fk__shops b{color:var(--ink);}
.fk__sub{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-top:var(--s5);}
.fk__sub>div{border:1px solid var(--violet-100);border-radius:var(--r-sm);padding:var(--s5);}
.fk__sub h4{font-size:14.5px;margin-bottom:var(--s2);display:flex;align-items:center;gap:10px;}
.fk__sub p{font-size:12px;color:var(--ink-sub);line-height:1.75;}
.fk__i{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--violet-050);
  display:flex;align-items:center;justify-content:center;}
.fk__i svg{width:19px;height:19px;stroke:var(--violet-600);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

/* ---------- table ---------- */
.jd{width:100%;border-collapse:collapse;background:var(--white);font-size:14.5px;}
.jd th,.jd td{border:1px solid var(--violet-100);padding:16px 20px;text-align:left;vertical-align:top;}
.jd th{background:var(--violet-050);color:var(--violet-800);font-weight:700;width:180px;white-space:nowrap;}
.cond{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-bottom:var(--s6);}
.cond__c{background:var(--violet-050);border-radius:var(--r-md);padding:var(--s5) var(--s6);}
.cond__l{font-size:13px;font-weight:700;color:var(--violet-600);}
.cond__v{font-family:var(--font-mincho);font-size:23px;font-weight:600;margin:var(--s2) 0 var(--s1);font-variant-numeric:tabular-nums;}
.cond__x{font-size:12.5px;color:var(--ink-sub);line-height:1.75;}

/* ---------- member ---------- */
.mem{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s4);}
.mem__c{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-md);overflow:hidden;
  cursor:pointer;text-align:left;padding:0;font:inherit;color:inherit;width:100%;
  display:flex;flex-direction:column;align-items:stretch;
  transition:transform .18s,box-shadow .18s;}
.mem__c:hover{transform:translateY(-4px);box-shadow:var(--sh-2);}
.mem__c img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.mem__b{padding:var(--s4);}
.mem__n{font-family:var(--font-en);font-size:14px;font-weight:700;letter-spacing:.02em;}
.mem__f{display:inline-block;margin-top:var(--s2);font-size:11.5px;font-weight:700;background:var(--violet-050);
  color:var(--violet-600);border-radius:var(--r-pill);padding:4px 12px;line-height:1.6;}

.mem__more{display:inline-flex;align-items:center;gap:7px;margin-top:var(--s3);
  font-size:12px;font-weight:700;color:var(--violet-600);}
.mem__more::after{content:"";width:6px;height:6px;flex-shrink:0;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(-45deg);transition:transform .18s;}
.mem__c:hover .mem__more::after,.mem__c:focus-visible .mem__more::after{transform:translateX(3px) rotate(-45deg);}

dialog.mm{border:none;border-radius:var(--r-lg);padding:0;max-width:880px;width:calc(100% - 32px);
  box-shadow:var(--sh-3);background:var(--white);color:var(--ink);}
dialog.mm::backdrop{background:rgba(var(--violet-900-rgb),.65);backdrop-filter:blur(3px);}
.mm__in{display:grid;grid-template-columns:340px 1fr;}
.mm__in img{width:100%;height:100%;object-fit:cover;object-position:center 22%;min-height:380px;}
.mm__b{padding:var(--s7);position:relative;max-height:80vh;overflow-y:auto;overscroll-behavior:contain;}
.mm__x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--violet-100);
  background:var(--white);cursor:pointer;font-size:19px;color:var(--ink-sub);line-height:1;}
.mm__x:hover{background:var(--violet-050);}
.mm__n{font-family:var(--font-en);font-size:26px;font-weight:700;}
.mm__meta{display:flex;flex-wrap:wrap;gap:7px;margin:var(--s3) 0 var(--s5);}
.mm__meta span{font-size:12px;font-weight:700;background:var(--violet-050);color:var(--violet-600);
  border-radius:var(--r-pill);padding:4px 13px;}
.mm__b p{font-size:14.5px;margin-bottom:var(--s4);line-height:1.95;}
@media(max-width:760px){
  .mm__in{grid-template-columns:1fr;}
  .mm__in img{min-height:0;aspect-ratio:4/3;}
  .mm__b{padding:var(--s5);}
}

/* ---------- note / sns ---------- */
.na{display:flex;align-items:center;gap:var(--s5);background:var(--white);border:1px solid var(--violet-100);
  border-radius:var(--r-md);padding:var(--s5) var(--s6);margin-bottom:var(--s6);flex-wrap:wrap;}
.na__av{width:72px;height:72px;border-radius:50%;flex-shrink:0;object-fit:cover;object-position:center 18%;}
.na__t{flex:1;min-width:220px;}
.na__t b{display:block;font-family:var(--font-mincho);font-size:18px;}
.na__t span{font-size:13.5px;color:var(--ink-sub);}
.nc{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-md);overflow:hidden;
  text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:border-color .18s;}
.nc:hover{border-color:var(--violet-600);}
.nc:hover .nc__t{text-decoration:underline;text-underline-offset:3px;}
.nc__b{padding:var(--s4) var(--s5) var(--s5);flex:1;display:flex;flex-direction:column;}
.nc__d{font-family:var(--font-en);font-size:11.5px;color:var(--ink-mute);font-weight:700;letter-spacing:.06em;}
.nc__t{font-size:16px;line-height:1.65;margin:var(--s2) 0;flex:1;}
.nc__x{font-size:12.5px;color:var(--ink-sub);line-height:1.75;}
.nc__img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--violet-050);display:block;}
.rss-empty{grid-column:1/-1;text-align:center;color:var(--ink-sub);padding:var(--s7) 0;}
.sns{display:flex;gap:var(--s3);flex-wrap:wrap;justify-content:center;}
.sns a{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:700;font-size:14px;
  border-radius:var(--r-pill);padding:12px 24px;border:1px solid var(--violet-100);background:var(--white);color:var(--ink);
  transition:background .18s,color .18s,border-color .18s;}
.sns a:hover{background:var(--violet-600);color:var(--white);border-color:var(--violet-600);}
.sns svg{width:20px;height:20px;}

/* ---------- faq ---------- */
.tabs{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-bottom:var(--s6);}
.tabs button{border:1px solid var(--violet-100);background:var(--white);color:var(--ink-sub);border-radius:var(--r-pill);
  padding:9px 22px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;
  transition:background-color .18s,color .18s,border-color .18s;}
.tabs button.on{background:var(--violet-600);color:var(--white);border-color:var(--violet-600);}
.faq{background:var(--white);border:1px solid var(--violet-100);border-radius:var(--r-sm);margin-bottom:var(--s2);overflow:hidden;}
.faq>summary{padding:18px 52px 18px 20px;font-weight:700;font-size:15px;cursor:pointer;list-style:none;position:relative;}
.faq>summary::-webkit-details-marker{display:none;}
.faq>summary::before{content:"Q";font-family:var(--font-en);font-weight:700;color:var(--violet-600);margin-right:12px;}
.faq>summary::after{content:"";position:absolute;right:22px;top:50%;width:10px;height:10px;
  border-right:2px solid var(--violet-600);border-bottom:2px solid var(--violet-600);
  transform:translateY(-70%) rotate(45deg);transition:transform .25s;}
.faq[open]>summary::after{transform:translateY(-30%) rotate(-135deg);}
.faq__a{padding:0 20px 20px;font-size:14.5px;color:var(--ink-sub);}

/* ---------- closing / contact ---------- */
.closing{position:relative;background:var(--violet-900) url(../../img/recruit-faq-closing-image-pc.webp) center/cover no-repeat;
  padding-block:var(--s10);text-align:center;color:var(--white);}
@media(max-width:768px){.closing{background-image:url(../../img/recruit-faq-closing-image-sp.webp);}}
.closing::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(var(--violet-950-rgb),.84),rgba(var(--violet-900-rgb),.84));}
.closing__in{position:relative;z-index:2;}
.closing h2{font-size:var(--fs-h2);color:var(--white);}
.closing p{margin-top:var(--s5);font-size:var(--fs-lead);opacity:.92;}
.cc{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);max-width:860px;margin-inline:auto;}
.cc__b{background:var(--white);border-radius:var(--r-lg);padding:var(--s7) var(--s6);text-align:center;position:relative;}
.cc__b.rec{outline:3px solid var(--line-green);}
.cc__b.rec::before{content:"いちばん気軽";position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--line-green);color:var(--white);font-size:12px;font-weight:700;padding:4px 16px;border-radius:var(--r-pill);}
.cc__b h3{font-size:20px;margin-bottom:var(--s2);}
.cc__b p{font-size:13.5px;color:var(--ink-sub);margin-bottom:var(--s5);line-height:1.8;}
.form{background:var(--white);border-radius:var(--r-lg);padding:var(--s8);max-width:var(--wrap-narrow);margin:var(--s7) auto 0;}
.fld{margin-bottom:var(--s5);}
.fld label{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;margin-bottom:var(--s2);}
.req,.opt{font-size:11px;font-weight:700;border-radius:4px;padding:3px 11px;}
.req{background:var(--danger);color:var(--white);} .opt{background:var(--violet-100);color:var(--violet-800);}
.fld input,.fld textarea{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--white);
  border:1px solid var(--violet-100);border-radius:var(--r-sm);padding:15px 16px;transition:border-color .15s,box-shadow .15s;}
.fld textarea{min-height:150px;resize:vertical;line-height:1.8;}
.fld input::placeholder,.fld textarea::placeholder{color:var(--ink-mute);}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--violet-600);box-shadow:0 0 0 3px rgba(var(--violet-600-rgb),.16);}
.fld small{display:block;font-size:12.5px;color:var(--ink-sub);margin-top:6px;}
.priv{background:var(--violet-050);border-radius:var(--r-sm);padding:var(--s4) var(--s5);font-size:12.5px;
  color:var(--ink-sub);line-height:1.85;margin-bottom:var(--s5);}

/* ---------- footer ---------- */
.ft{background:var(--violet-050);padding:var(--s8) var(--s5) var(--s7);}
.ft__in{max-width:var(--wrap);margin-inline:auto;display:grid;grid-template-columns:1fr auto;gap:var(--s7);align-items:start;}
.ft__logo img{height:38px;width:auto;max-width:100%;margin-bottom:var(--s4);}
.ft__ad{font-size:13px;color:var(--ink-sub);line-height:1.9;}
.ft__nav{display:grid;grid-template-columns:repeat(2,auto);gap:var(--s2) var(--s7);}
.ft__nav a{font-size:13.5px;color:var(--ink);text-decoration:none;}
.ft__nav a:hover{color:var(--violet-600);}
.ft__cp{text-align:center;font-size:12px;color:var(--ink-mute);margin-top:var(--s7);padding-top:var(--s5);
  border-top:1px solid var(--violet-100);}

/* ---------- floating ---------- */
.float{position:fixed;right:20px;bottom:20px;z-index:800;display:flex;align-items:center;gap:11px;
  background:var(--line-green);color:var(--white);text-decoration:none;border-radius:var(--r-pill);
  padding:12px 24px 12px 14px;box-shadow:0 8px 26px rgba(var(--black-rgb),.24);font-weight:700;font-size:14px;line-height:1.35;}
.float__b{width:38px;height:38px;background:var(--white);color:var(--line-green);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-size:10.5px;font-weight:700;}
.float small{display:block;font-weight:400;font-size:11px;}
.spfix{display:none;}

/* ---------- note（本文に添える注記） ---------- */
.note{font-size:12.5px;line-height:1.75;color:var(--ink-sub);margin-top:var(--s5);}
.note--center{text-align:center;}
.note--mute{color:var(--ink-mute);}
.note--fine{font-size:11.5px;color:var(--ink-mute);margin-top:var(--s4);}

/* ---------- 中央寄せの導線 ---------- */
.ctarow{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:var(--s7);}
.more{text-align:center;margin-top:var(--s7);}

/* ---------- QRコード ---------- */
.qrrow{display:flex;align-items:center;justify-content:center;gap:var(--s7);
  flex-wrap:wrap;margin-top:var(--s7);}
.qr{margin:0;text-align:center;}
.qr__img{width:150px;height:150px;padding:8px;background:#fff;
  border:1px solid var(--violet-100);border-radius:var(--r-md);}
.qr__cap{font-size:11.5px;color:var(--ink-sub);margin-top:8px;}

/* ---------- フォーム見出し ---------- */
.form__ttl{text-align:center;font-family:var(--font-mincho);font-size:21px;margin-bottom:var(--s2);}
.form__lead{text-align:center;font-size:13px;color:var(--ink-sub);margin-bottom:var(--s6);}

/* ---------- 調整子 ---------- */
.btn--lg{font-size:18px;padding:18px 44px;}
.linelink{color:var(--line-green-text);font-weight:700;}
.card--center{text-align:center;}
.wrap--tight{padding-block:var(--s9);}
.narrow--wide{max-width:880px;}
.worklist__area{margin-top:var(--s4);}
.fk__sub--single{grid-template-columns:1fr;}
.sns--spaced{margin-top:var(--s7);}
.flow__b .btn{margin-top:var(--s5);}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .mem{grid-template-columns:repeat(3,1fr);}
  .ben{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:900px){
  .msg{grid-template-columns:1fr;gap:var(--s5);} .msg__ph{max-width:250px;margin-inline:auto;}
  .rm{grid-template-columns:repeat(2,1fr);}
  .area{grid-template-columns:1fr;}
  .g4,.g3,.cond{grid-template-columns:repeat(2,1fr);}
  .fk__sub{grid-template-columns:1fr;}
  .float{display:none;}
  .spfix{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:800;
    padding-bottom:env(safe-area-inset-bottom);}
  .spfix a{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:11px 4px;
    color:var(--white);text-decoration:none;font-weight:700;font-size:14px;line-height:1.3;}
  .spfix small{font-size:10px;font-weight:400;}
  .spfix .l{background:var(--line-green);} .spfix .e{background:var(--violet-600);}
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom));}
  .block{margin-top:var(--s9);}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;}
  .mem__c:hover{transform:none;}
}
@media(max-width:680px){
  :root{--s7:36px;--s8:44px;--s9:52px;--s10:60px;}
  .section{padding-block:var(--s8);}
  .g3,.g4,.ben,.cond,.val__grid,.path,.flow,.cc{grid-template-columns:1fr;}
  .mem{grid-template-columns:repeat(2,1fr);}
  .rm{grid-template-columns:1fr;}
  .ev__ph{grid-template-columns:1fr 1fr;}
  .jd,.jd tbody,.jd tr,.jd th,.jd td{display:block;width:auto;}
  .jd th{border-bottom:none;white-space:normal;} .jd td{border-top:none;}
  .ft__in{grid-template-columns:1fr;}
  .form,.ev,.fk__b,.val__hero,.con__ans{padding:var(--s5);}
  
  .shikaku,.path__c{padding:0;}
  .path__in{padding:var(--s5);}
  
  .shikaku__hd{display:block;padding:0;}
  .shikaku__badge{width:100%;border-radius:0;white-space:normal;padding:var(--s5) var(--s4);font-size:19px;}
  .shikaku__badge small{margin-top:4px;}
  .shikaku__x{padding:var(--s5);min-width:0;}
  .shikaku__body>div{padding:var(--s5);}
  
  .drawer{padding:var(--s5) var(--s5) var(--s9);}
  .drawer__nav{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--s4);}
  .drawer a.dn{font-size:14.5px;padding:14px 2px;}
  .drawer a.dn::after{width:7px;height:7px;}
  
  .mem__f{font-size:11px;padding:4px 9px;}
  .mem__b{padding:var(--s3);}
  .mem__more{font-size:11.5px;gap:5px;}
  
  .hd__cta{display:none;}
  
  .lbn__t,.fk__t,.na__t{min-width:0;flex-basis:100%;}
  .lbn{padding:var(--s5);}
}

/* =========================================================
   スマホの可読性（max-width:768px）
   読ませる文は15〜16px、ラベル・バッジ・注記のみ小さく残す
   ========================================================= */
@media(max-width:768px){
  :root{
    --fs-h3:20px;          /* 既定だと17pxまで落ち、本文16pxとの差がなくなる */
    --fs-lead:17px;
  }
  /* 主要本文 */
  .bh__lead,.promise__foot p,.val__sub,.shikaku__x,.ev__lead,.jd,.mm__b p,.faq__a,
  .sh__lead,.con__ans p,.fld label,.msg__body p,.ben__x{font-size:16px;}
  .faq>summary{font-size:16.5px;}
  /* カード本文・説明文 */
  .promise__x,.card__txt,.con__chips span,.shikaku__body p,.path__x,.flow__x,
  .mem__n,.sns a,.msg__sign,.pcard__x,.worklist__x,.rm__x,.lbn__t span,
  .area__l span,.na__t span,.cc__b p,.ft__nav a,.icard__x,.val__x,.path__l li,
  .fk__t span,.fk__shops,.ft__ad,.cond__x,.nc__x,.fk__sub p,.note,
  .form__lead{font-size:15px;}
  /* 小見出し */
  .val__t,.ben__t,.nc__t,.icard__t,.shikaku__body h4,.area__l b,.fk__sub h4{font-size:18px;}
  /* 補足 */
  .stat__sub,.fld small,.priv,.rm__goal,.tabs button,.btn--sm,
  .note--fine,.qr__cap{font-size:14px;}
  /* ラベル・タグ・バッジ */
  .stat__lbl,.cond__l,.worklist__tags span,.fk__cats span,.mem__f,.mem__more,
  .tagrow li,.hero__tags span,.sh__en,.hero__label{font-size:13.5px;}
  .shikaku__badge small,.mm__meta span,.ev__tag,.nc__d,.btn__sub,.ft__cp,
  .req,.opt{font-size:12.5px;}
  /* 拡大した本文が詰まらないよう内寸を広げる */
  .faq>summary{padding:17px 48px 17px 18px;}
  .faq__a{padding:0 18px 20px;}
  .jd th,.jd td{padding:14px 16px;}
}
@media(max-width:480px){
  .sns a,.con__chips span{font-size:14.5px;}
}
/* 狭い端末：拡大した文字が収まらない箇所だけ戻す
   （フッターの2列ナビ・メンバー名・優待カードが 320px で枠を超えるため） */
@media(max-width:420px){
  .ft__nav{grid-template-columns:1fr;gap:var(--s2);}
  .ft__ad{font-size:14px;}
  .mem__n{font-size:14px;}
  .mem__f{font-size:11.5px;}
  .fk__sub h4{font-size:16px;}
  .fk__sub p{font-size:14px;}
}

/* メンバー紹介のダイアログ：スクロール領域の入れ子を解消する
   従来は dialog 自身と .mm__b の両方がスクロール面になっており、
   .mm__b の overscroll-behavior:contain が外側への連鎖を止めるため、
   本文を下まで送った時点でそれ以上スクロールできなくなっていた。
   縦画面ではスクロール面を dialog の1つに統一する。 */
@media(max-width:760px){
  /* iOS Safari の vh はツールバーを除かない高さを返すため、
     dvh を併記して「実際に見えている高さ」に合わせる */
  dialog.mm{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);
            overscroll-behavior:contain;}
  .mm__b{max-height:none;overflow:visible;overscroll-behavior:auto;}
  /* スクロールしても閉じるボタンが画面外へ流れないよう固定する */
  .mm__x{position:fixed;top:30px;right:30px;z-index:2;}
}
