/* Recruitment and people pages */
.recruit-hero{background:var(--yellow);padding-top:clamp(40px,6vw,100px);overflow:hidden}
.recruit-hero-heading h1{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(40px,6.8vw,92px);line-height:1.23;letter-spacing:-.055em;font-weight:900;margin:24px 0 38px}
.recruit-hero-heading h1 span{display:inline-block}
.recruit-hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:58px}
.recruit-hero-bottom p{font-size:clamp(16px,1.65vw,21px);line-height:1.9;font-weight:700;margin:0}
.recruit-scroll{display:inline-flex;align-items:center;gap:28px;font-size:14px;font-weight:800;text-decoration:none;border-bottom:1px solid var(--ink);padding:12px 0}
.recruit-scroll span{font-size:28px}
.recruit-hero-photo{position:relative;margin:0 3.5%;height:clamp(380px,48vw,670px);border-radius:32px 32px 0 0;overflow:hidden}
.recruit-hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.recruit-photo-caption{position:absolute;left:4%;bottom:9%;font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(30px,4.2vw,58px);line-height:1.5;font-weight:900;background:var(--yellow);box-shadow:12px 0 var(--yellow),-12px 0 var(--yellow);margin:0;padding:0 4px;transform:rotate(-3deg)}
.recruit-photo-sticker{position:absolute;right:4%;top:8%;width:155px;height:155px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--orange);color:var(--ink);font-size:18px;font-weight:900;line-height:1.8;transform:rotate(11deg)}
.recruit-local-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:36px!important;padding-bottom:36px!important}
.recruit-local-nav a{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid currentColor;text-decoration:none;font-size:15px;font-weight:700}
.recruit-local-nav a span{font-size:22px;transition:transform .25s}
.recruit-local-nav a:hover span{transform:translate(3px,3px)}
.recruit-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:start}
.recruit-intro .section-title{font-size:clamp(34px,4.5vw,62px);line-height:1.45}
.recruit-intro-copy{padding-top:12px;font-size:clamp(17px,1.6vw,21px);font-weight:600;line-height:2.05}
.recruit-intro-copy p{margin:0 0 27px}
.recruit-jobs{background:var(--cream)}
.recruit-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px}
.recruit-section-head .section-title{margin-bottom:0;max-width:840px}
.recruit-section-index{font-size:90px;line-height:1;font-weight:900;letter-spacing:-.07em;color:var(--orange);opacity:.7}
.recruit-job-question{display:inline-block}
.recruit-model-note{font-size:12px;line-height:1.9;opacity:.7;margin:0 0 26px}
.recruit-role-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.recruit-role-tabs button{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:84px;padding:24px 28px;border:1.5px solid var(--ink);border-radius:16px 16px 0 0;background:var(--white);font:inherit;font-size:24px;font-weight:900;cursor:pointer;transition:background .25s,color .25s}
.recruit-role-tabs button[aria-selected=true]{background:var(--ink);color:var(--white)}
.recruit-role-tabs button span{font-weight:500}
.recruit-role-tabs button:hover:not([aria-selected=true]){background:var(--yellow)}
.recruit-role-panel{background:var(--white);border:1.5px solid var(--ink);border-radius:0 0 22px 22px;padding:clamp(26px,5vw,64px)}
.recruit-role-intro{display:flex;justify-content:space-between;gap:48px;margin-bottom:36px}
.recruit-role-intro>div{max-width:580px}
.recruit-role-caption{font-size:13px;font-weight:800;color:#a33e00;margin:0 0 8px}
.recruit-role-intro h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:36px;margin:0 0 15px;font-weight:900}
.recruit-role-intro p:not(.recruit-role-caption){font-size:15px;line-height:1.9;margin:0}
.recruit-role-tags{list-style:none;padding:0;margin:0;align-self:center;flex-shrink:0;display:grid;gap:9px}
.recruit-role-tags li{border:1px solid var(--ink);border-radius:99px;padding:8px 18px;font-size:12px;font-weight:700;text-align:center;background:var(--yellow)}
.recruit-requirements-table{margin:0;border-top:1px solid #d9d4c8}
.recruit-requirements-table>div{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid #d9d4c8;font-size:14px;line-height:1.9}
.recruit-requirements-table dt{font-weight:800}
.recruit-requirements-table dd{margin:0}
.recruit-jobs-action{text-align:center;margin-top:36px}
.people-section{overflow:hidden;background:var(--yellow)}
.people-section-copy{font-size:15px;line-height:2;margin-top:24px;margin-bottom:0}
.people-section .recruit-section-index{color:var(--ink);opacity:.18}
.people-carousel{margin-top:50px}
.people-track{position:relative;display:flex;gap:clamp(20px,3.5vw,52px);overflow-x:auto;overflow-y:hidden;padding:66px max(24px,calc((100vw - 1200px)/2)) 18px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.people-track::-webkit-scrollbar{display:none}
.people-card{flex:0 0 min(31vw,390px);min-width:0;scroll-snap-align:center;scroll-snap-stop:always}
.people-card-link{display:block;color:var(--ink);text-decoration:none;outline-offset:6px}
.people-card-photo{position:relative;border:1px solid var(--ink);border-radius:17px;isolation:isolate;transition:transform .55s cubic-bezier(.22,.68,.2,1);transform-origin:center bottom;background:#eee5d4}
.people-card-photo>img{display:block;width:100%;height:clamp(310px,34vw,455px);object-fit:cover;border-radius:16px;transition:opacity .3s}
.people-card.is-active .people-card-photo{transform:translateY(-22px) scale(1.035)}
.people-card-number{position:absolute;top:-23px;right:-12px;display:grid;place-items:center;width:57px;height:57px;border:1px solid var(--ink);border-radius:50%;background:var(--cream);font-size:16px}
.people-card-role{position:absolute;bottom:17px;left:-10px;border:1px solid var(--ink);border-radius:40px;background:var(--ink);color:var(--white);padding:6px 18px;font-size:12px;font-weight:700;transition:background .3s,color .3s}
.people-card h3{font-size:clamp(16px,1.7vw,20px);line-height:1.65;font-weight:800;margin:21px 0 9px;transition:color .3s}
.people-card-meta{display:flex;gap:12px;align-items:center;font-size:12px;margin:0;line-height:1.8}
.people-card-link-arrow{margin-left:auto;border:1px solid var(--ink);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:17px}
.people-card-link:hover .people-card-photo>img,.people-card-link:focus-visible .people-card-photo>img{opacity:.65}
.people-card-link:hover .people-card-role,.people-card-link:focus-visible .people-card-role{background:var(--orange);color:var(--ink)}
.people-card-link:hover h3,.people-card-link:focus-visible h3{color:#923700}
.people-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:28px}
.people-counter{font-size:13px;letter-spacing:.15em;margin:0}
.people-counter [data-people-current]{font-weight:900;font-size:23px}
.people-control-buttons{display:flex;align-items:center;gap:10px}


.people-nav{width:52px;height:52px;border:1px solid var(--ink);border-radius:50%;background:var(--cream);color:var(--ink);font-size:24px;cursor:pointer;transition:background .25s,transform .25s}
.people-nav:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}
.people-fiction-note{font-size:11px;line-height:1.8;margin-top:22px;opacity:.75}
.recruit-growth{background:var(--cream)}
.recruit-growth-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.recruit-growth-photo{position:relative;margin-bottom:28px}
.recruit-growth-photo img{display:block;width:100%;height:470px;object-fit:cover;border-radius:20px;transform:rotate(-3deg)}
.recruit-growth-photo span{position:absolute;bottom:-25px;left:4%;font-family:"Zen Kaku Gothic New",sans-serif;background:var(--yellow);font-size:clamp(17px,1.9vw,25px);font-weight:900;padding:13px 20px;transform:rotate(-3deg)}
.recruit-growth-copy .section-title{font-size:clamp(26px,2.7vw,37px);line-height:1.6}
.recruit-growth-copy>p:not(.eyebrow){font-size:15px;line-height:2.1;margin:22px 0}
.recruit-text-link{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid var(--ink);color:var(--ink);text-decoration:none;padding:10px 0;font-size:14px;font-weight:800}
.recruit-text-link span{font-size:23px}
.recruit-process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;list-style:none;padding:25px 0 0;margin:0}
.recruit-process-list li{position:relative;border-top:2px solid var(--ink);padding-top:28px}
.recruit-step-number{display:inline-grid;place-items:center;width:60px;height:60px;background:var(--yellow);border-radius:50%;font-size:22px;font-weight:700;transform:rotate(-9deg)}
.recruit-process-list h3{font-size:20px;margin:23px 0 15px}
.recruit-process-list p{font-size:13px;line-height:1.9;margin:0;max-width:210px}
.recruit-step-arrow{position:absolute;right:-24px;top:42px;font-size:24px}
.recruit-process-note{font-size:12px;line-height:1.9;margin-top:35px;opacity:.7}
.entry-section{background:var(--orange);overflow:hidden;position:relative;padding:100px 0 150px}
.entry-section-inner{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:7%;position:relative;z-index:1}
.entry-section h2{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(36px,4.6vw,62px);font-weight:900;line-height:1.4;letter-spacing:-.04em;margin:20px 0 26px}
.entry-section-inner>div>p:not(.eyebrow){font-size:15px;line-height:2}
.entry-open-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--ink);color:var(--white);border:0;border-radius:99px;padding:25px 27px 25px 32px;font:inherit;font-size:clamp(18px,1.9vw,24px);font-weight:800;cursor:pointer;transition:transform .3s,background .3s}
.entry-open-arrow{display:grid;place-items:center;flex:0 0 60px;height:60px;font-size:35px;border-radius:50%;background:var(--yellow);color:var(--ink)}
.entry-open-button:hover{transform:translateY(-5px);background:#493824}
.entry-section-action>p{font-size:12px!important;text-align:center;margin-top:20px;line-height:1.9!important}
.entry-background-word{position:absolute;bottom:-40px;left:1%;font-family:"Zen Kaku Gothic New",sans-serif;white-space:nowrap;font-size:clamp(110px,19vw,270px);font-weight:900;line-height:1;color:rgba(255,249,237,.22);pointer-events:none}
.entry-dialog-open{overflow:hidden}
.entry-dialog{width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:1.5px solid var(--ink);border-radius:24px;padding:0;background:var(--cream);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.entry-dialog::backdrop{background:rgba(41,37,31,.6);backdrop-filter:blur(5px)}
.entry-dialog [hidden]{display:none!important}
.entry-dialog-inner{padding:45px 40px 38px}
.entry-close{position:absolute;right:15px;top:13px;display:grid;place-items:center;width:36px;height:36px;font-size:26px;border:1px solid var(--ink);border-radius:50%;background:var(--white);cursor:pointer;color:var(--ink);line-height:1}
.entry-dialog h2{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(25px,3vw,34px);font-weight:900;line-height:1.5;margin:10px 0 12px}
.entry-demo-note{font-size:12px;line-height:1.8;margin:0 0 24px}
.entry-steps{display:flex;list-style:none;padding:0;margin:0 0 30px;gap:12px}
.entry-steps li{flex:1;padding:9px 4px;font-size:12px;text-align:center;border-bottom:2px solid #cfc8ba;color:#776f61}
.entry-steps li[aria-current=step]{border-color:var(--ink);font-weight:900;color:var(--ink);background:var(--yellow);border-radius:7px 7px 0 0}
.entry-field{display:grid;gap:9px;margin-bottom:21px}
.entry-field label{font-size:14px;font-weight:800;display:flex;align-items:center;gap:9px}
.entry-field label span{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--orange);font-weight:700}
.entry-field label .entry-optional{background:#ded9cd}
.entry-field input,.entry-field select,.entry-field textarea{width:100%;min-width:0;box-sizing:border-box;background:var(--white);color:var(--ink);border:1px solid #b5ad9f;border-radius:8px;padding:13px 14px;font:inherit;font-size:16px;line-height:1.5}
.entry-field textarea{resize:vertical}
.entry-field input:focus,.entry-field select:focus,.entry-field textarea:focus{outline:3px solid var(--yellow);outline-offset:2px;border-color:var(--ink)}
.entry-consent{display:flex;gap:11px;align-items:flex-start;font-size:12px;line-height:1.9;margin:26px 0;cursor:pointer}
.entry-consent input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:var(--ink)}
.entry-consent small{font-size:11px;color:#686053}
.entry-submit{width:100%;justify-content:center}
.entry-dialog h3{font-size:21px;line-height:1.6}
.entry-summary{margin:20px 0 28px;border-top:1px solid #d4cdbe}
.entry-summary>div{padding:18px 0;border-bottom:1px solid #d4cdbe}
.entry-summary dt{font-size:12px;font-weight:800;margin-bottom:8px}
.entry-summary dd{font-size:15px;line-height:1.8;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.entry-confirm-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.entry-back{font:inherit;font-size:13px;font-weight:700;border:0;background:none;color:var(--ink);padding:13px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.entry-complete{text-align:center;padding:20px 0 8px}
.entry-done-icon{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 22px;border-radius:50%;font-size:38px;background:var(--yellow)}
.entry-complete p{font-size:14px;line-height:2;margin:20px 0 30px}
.person-hero{position:relative;padding-top:60px;background:linear-gradient(171deg,var(--yellow) 0 62%,#f4c534 62% 100%);overflow:hidden}
.person-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;align-items:center}
.person-profile{padding:45px 0}
.person-job{display:inline-block;border:1px solid var(--ink);border-radius:40px;padding:7px 21px;font-size:13px;font-weight:800;margin:18px 0 19px;background:var(--cream)}
.person-profile h1{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(38px,4.8vw,65px);font-weight:900;letter-spacing:.06em;margin:0 0 12px;line-height:1.3}
.person-year{font-size:13px;margin:0 0 34px}
.person-profile h2{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(22px,2.4vw,32px);line-height:1.7;font-weight:900;margin:0 0 22px}
.person-profile-note{font-size:13px;line-height:2;max-width:390px;margin:0}
.person-fiction-note{font-size:10px;opacity:.65;margin-top:23px}
.person-photo{position:relative;align-self:stretch;min-height:570px;margin-bottom:15px;padding:0 0 16px 16px}
.person-photo:before{content:"";position:absolute;inset:0 0 16px 16px;border:1px solid var(--ink);border-radius:22px;background:var(--orange);transform:translate(12px,-12px)}
.person-photo>img{position:relative;display:block;width:100%;height:100%;max-height:700px;object-fit:cover;object-position:center 32%;border:1px solid var(--ink);border-radius:22px}
.person-photo-tag{position:absolute;bottom:45px;left:-25px;background:var(--cream);padding:13px 23px;font-size:16px;font-weight:800;transform:rotate(-5deg);box-shadow:3px 3px 0 var(--ink)}
.person-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:10px;padding-top:28px!important;padding-bottom:28px!important}
.person-breadcrumb a{color:var(--ink);text-decoration:none}
.person-breadcrumb a:hover{text-decoration:underline}
.person-interview-heading{margin-bottom:58px}
.person-heading-phrase{display:inline-block}
.person-questions{display:grid;grid-template-columns:1fr 1fr;gap:48px 32px}
.person-question{position:relative;padding:42px 35px 35px;border:1px solid var(--ink);border-radius:20px;background:var(--white);box-shadow:5px 5px 0 #f6ead0}
.person-question-number{position:absolute;left:-12px;top:-22px;display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--ink);border-radius:50%;background:var(--orange);font-size:16px;font-weight:700}
.person-question h3{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(20px,2vw,26px);font-weight:800;line-height:1.6;margin:0 0 25px}
.person-question p{font-size:14px;line-height:2.15;margin:0}
.person-return{text-align:center;margin-top:60px}
.person-others{background:var(--cream)}
.person-other-cards{display:grid;grid-template-columns:1fr 1fr;gap:7%;max-width:850px;margin:75px auto 0}
.person-other-cards .people-card-photo>img{height:440px;object-position:center 30%}
.person-bottom-cta{text-align:center}
.person-bottom-cta>p{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(24px,3vw,36px);font-weight:900;margin:0 0 28px}
.recruit-hero a:focus-visible,.recruit-local-nav a:focus-visible,.recruit-role-tabs button:focus-visible,.people-control-buttons button:focus-visible,.entry-section button:focus-visible,.entry-dialog button:focus-visible,.recruit-text-link:focus-visible{outline:3px solid #366e80;outline-offset:5px}
@media(min-width:1500px){.people-track{padding-left:calc((100vw - 1200px)/2);padding-right:calc((100vw - 1200px)/2)}}
@media(max-width:900px){
  .recruit-hero-heading h1{font-size:clamp(40px,7.4vw,67px)}
  .recruit-hero-bottom{padding-bottom:40px}
  .recruit-photo-sticker{width:125px;height:125px;font-size:15px}
  .recruit-local-nav{gap:18px}
  .recruit-intro{gap:6%;grid-template-columns:1fr 1fr}
  .recruit-section-index{font-size:65px}
  .recruit-role-tabs button{padding:20px;font-size:20px;min-height:74px}
  .recruit-role-intro{gap:25px}
  .recruit-requirements-table>div{grid-template-columns:120px 1fr;gap:20px}
  .people-card{flex-basis:43vw}
  .people-card-photo>img{height:380px}
  .recruit-growth-grid{grid-template-columns:1fr;gap:50px;max-width:720px}
  .recruit-growth-photo img{height:410px}
  .recruit-growth-copy .section-title{font-size:34px}
  .recruit-process-list{gap:20px}
  .recruit-process-list h3{font-size:17px}
  .recruit-step-arrow{right:-18px}
  .entry-section-inner{gap:35px;grid-template-columns:1.1fr 1fr}
  .entry-open-button{padding:20px;font-size:17px}
  .entry-open-arrow{flex-basis:42px;height:42px;font-size:28px}
  .person-hero-grid{gap:5%}
  .person-photo{min-height:560px}
  .person-profile h2{font-size:22px}
  .person-question{padding:38px 27px 28px}
  .person-other-cards .people-card-photo>img{height:370px}
}
@media(max-width:600px){
  .recruit-hero{padding-top:28px}
  .recruit-hero-heading h1{font-size:clamp(32px,8.7vw,49px);line-height:1.4;letter-spacing:-.045em;margin:19px 0 22px}
  .recruit-hero-bottom{display:block;padding-bottom:35px}
  .recruit-hero-bottom p{font-size:14px;line-height:1.9}
  .recruit-scroll{font-size:12px;margin-top:18px;gap:35px;padding:6px 0}
  .recruit-scroll span{font-size:24px}
  .recruit-hero-photo{height:440px;margin:0 12px;border-radius:16px 16px 0 0}
  .recruit-hero-photo>img{object-position:50% center}
  .recruit-photo-caption{left:6%;bottom:8%;font-size:29px;line-height:1.55;box-shadow:7px 0 var(--yellow),-7px 0 var(--yellow)}
  .recruit-photo-sticker{right:5%;top:5%;width:95px;height:95px;font-size:12px}
  .recruit-local-nav{grid-template-columns:1fr 1fr;gap:0 22px;padding-top:13px!important;padding-bottom:13px!important}
  .recruit-local-nav a{font-size:13px;padding:19px 0}
  .recruit-intro{grid-template-columns:1fr;gap:30px}
  .recruit-intro .section-title{font-size:35px}
  .recruit-intro-copy{padding-top:0;font-size:16px;line-height:2}
  .recruit-section-head{gap:15px;margin-bottom:28px;align-items:flex-start}
  .recruit-section-head .section-title{font-size:29px;line-height:1.55}
  .recruit-section-index{font-size:44px;margin-top:5px}
  .recruit-jobs .recruit-section-head{position:relative;display:block}
  .recruit-jobs .recruit-section-index{position:absolute;right:0;top:0}
  .recruit-job-question{display:block}
  .recruit-model-note{font-size:11px;line-height:1.9;margin-bottom:20px}
  .recruit-role-tabs{gap:6px}
  .recruit-role-tabs button{justify-content:center;min-height:64px;border-radius:11px 11px 0 0;padding:13px 7px;font-size:16px;gap:6px}
  .recruit-role-tabs button span{font-size:13px}
  .recruit-role-panel{padding:25px 20px;border-radius:0 0 15px 15px}
  .recruit-role-intro{display:block;margin-bottom:25px}
  .recruit-role-caption{font-size:11px}
  .recruit-role-intro h3{font-size:29px;margin-bottom:12px}
  .recruit-role-intro p:not(.recruit-role-caption){font-size:14px;line-height:1.9}
  .recruit-role-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
  .recruit-role-tags li{padding:5px 10px;font-size:10px}
  .recruit-requirements-table>div{display:block;padding:18px 0;font-size:13px;line-height:1.95}
  .recruit-requirements-table dt{font-size:12px;margin-bottom:7px}
  .recruit-jobs-action .button{font-size:13px}
  .people-section-copy{font-size:13px;line-height:1.95;margin-top:18px}
  .people-carousel{margin-top:32px}
  .people-track{gap:24px;padding:50px 24px 12px}
  .people-card{flex-basis:76vw;max-width:355px}
  .people-card-photo{border-radius:14px}
  .people-card-photo>img{height:365px;border-radius:13px}
  .people-card.is-active .people-card-photo{transform:translateY(-16px) scale(1.02)}
  .people-card-number{width:47px;height:47px;font-size:13px;top:-20px;right:-10px}
  .people-card-role{font-size:11px;padding:5px 14px;bottom:15px;left:-8px}
  .people-card h3{font-size:17px;line-height:1.7;margin-top:19px}
  .people-card-meta{font-size:11px;gap:9px}
  .people-controls{margin-top:22px;gap:10px}
  .people-counter{font-size:11px;letter-spacing:.07em;white-space:nowrap}
  .people-counter [data-people-current]{font-size:20px}
  .people-control-buttons{gap:8px}

  .people-nav{width:40px;height:40px;font-size:21px}
  .people-fiction-note{font-size:10px;margin-top:20px}
  .recruit-growth-grid{gap:40px}
  .recruit-growth-photo img{height:290px;border-radius:15px;transform:rotate(-2deg)}
  .recruit-growth-photo span{font-size:16px;padding:12px;left:4%;bottom:-20px}
  .recruit-growth-copy .section-title{font-size:25px;line-height:1.6}
  .recruit-growth-copy>p:not(.eyebrow){font-size:14px}
  .recruit-text-link{font-size:12px;gap:19px}
  .recruit-process .recruit-section-head .section-title{font-size:28px}
  .recruit-process-list{grid-template-columns:1fr;gap:28px;padding-top:8px}
  .recruit-process-list li{padding:23px 0 20px 75px;min-height:100px;border-top-width:1px}
  .recruit-step-number{position:absolute;left:0;top:25px;width:53px;height:53px;font-size:19px}
  .recruit-process-list h3{font-size:20px;margin:3px 0 8px}
  .recruit-process-list p{max-width:none;font-size:13px;line-height:1.85}
  .recruit-step-arrow{left:22px;right:auto;top:auto;bottom:-20px;transform:rotate(90deg);font-size:22px}
  .recruit-process-note{font-size:11px;margin-top:24px}
  .entry-section{padding:65px 0 105px}
  .entry-section-inner{grid-template-columns:1fr;gap:30px}
  .entry-section h2{font-size:35px;line-height:1.45;margin:18px 0 20px}
  .entry-heading-phrase{display:block}
  .entry-section-inner>div>p:not(.eyebrow){font-size:13px;line-height:2}
  .entry-open-button{min-height:87px;padding:17px 22px;font-size:19px}
  .entry-open-arrow{flex-basis:49px;height:49px;font-size:30px}
  .entry-section-action>p{font-size:11px!important;margin-top:15px}
  .entry-background-word{bottom:-12px;font-size:102px;left:-4%}
  .entry-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:17px}
  .entry-dialog-inner{padding:48px 22px 27px}
  .entry-dialog h2{font-size:25px}
  .entry-dialog-title-phrase{display:block}
  .entry-demo-note{font-size:11px}
  .entry-steps{gap:8px;margin-bottom:24px}
  .entry-steps li{font-size:11px}
  .entry-field{margin-bottom:20px}
  .entry-consent{font-size:11px}
  .entry-confirm-actions{flex-direction:column-reverse;align-items:stretch}
  .entry-confirm-actions .button{justify-content:center}
  .entry-back{text-align:center}
  .person-hero{padding-top:24px;background:linear-gradient(172deg,var(--yellow) 0 34%,#f4c534 34% 100%)}
  .person-hero-grid{display:flex;flex-direction:column;gap:0}
  .person-photo{order:-1;min-height:0;width:100%;align-self:auto;height:430px;box-sizing:border-box;padding:0 8px 12px 0;margin:6px 0 0}
  .person-photo:before{inset:0 8px 12px 0;transform:translate(8px,-8px);border-radius:15px}
  .person-photo>img{height:100%;max-height:none;border-radius:15px;object-position:center 25%}
  .person-photo-tag{left:-8px;bottom:32px;font-size:13px;padding:9px 14px}
  .person-profile{padding:35px 0 18px;width:100%}
  .person-job{font-size:11px;padding:5px 17px;margin:13px 0 15px}
  .person-profile h1{font-size:41px;letter-spacing:.06em;margin-bottom:10px}
  .person-year{font-size:12px;margin-bottom:25px}
  .person-profile h2{font-size:22px;line-height:1.65;letter-spacing:0;margin-bottom:20px}
  .person-profile-note{font-size:13px;line-height:1.95}
  .person-fiction-note{font-size:10px;margin-top:20px}
  .person-breadcrumb{font-size:9px;gap:7px;padding-top:12px!important;padding-bottom:25px!important}
  .person-interview-heading{margin-bottom:43px}
  .person-interview-heading .section-title{font-size:29px;line-height:1.55}
  .person-heading-phrase{display:block}
  .person-questions{grid-template-columns:1fr;gap:36px}
  .person-question{padding:36px 24px 28px;border-radius:16px;box-shadow:3px 3px 0 #f6ead0}
  .person-question-number{width:48px;height:48px;left:-8px;top:-20px;font-size:14px}
  .person-question h3{font-size:22px;line-height:1.65;margin-bottom:17px}
  .person-question p{font-size:14px;line-height:2}
  .person-return{margin-top:42px}
  .person-return .button{font-size:13px}
  .person-others .recruit-section-head{display:block}
  .person-others .recruit-text-link{margin-top:17px}
  .person-other-cards{grid-template-columns:1fr;gap:53px;max-width:310px;margin-top:55px}
  .person-other-cards .people-card{max-width:none}
  .person-other-cards .people-card-photo>img{height:360px}
  .person-bottom-cta>p{font-size:24px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){
  .people-track{scroll-behavior:auto}
  .people-card-photo,.people-card-photo>img,.people-card-role,.people-card h3,.entry-open-button,.people-nav,.recruit-local-nav a span{transition:none}
  .people-card.is-active .people-card-photo{transform:none}
}

/* 写真の両側に送りボタン。文章とは重ねない */
.people-carousel{position:relative}
.people-control-buttons{position:absolute;inset:0;pointer-events:none}
.people-nav{position:absolute;top:calc(66px + clamp(310px,34vw,455px)/2 - 26px);z-index:2;pointer-events:auto;box-shadow:0 3px 12px #29251f26}
.people-nav[data-people-prev]{left:16px}
.people-nav[data-people-next]{right:16px}
/* 見出しの一文を一行に収め、背景文字にも専用の余白を確保 */
.entry-section{padding-bottom:clamp(180px,22vw,330px)}
.entry-section-inner{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:5%}
.entry-section-inner>div:first-child{container-type:inline-size}
.entry-section h2{font-size:clamp(24px,7.6cqi,52px);letter-spacing:-.04em}
.entry-heading-phrase{display:block;white-space:nowrap}
.entry-background-word{bottom:32px;left:2%;font-size:clamp(48px,13vw,208px);line-height:1.25;letter-spacing:-.04em}
@media(max-width:760px){
 .people-nav{width:46px;height:46px;top:calc(50px + 365px/2 - 23px)}
 .people-nav[data-people-prev]{left:8px}.people-nav[data-people-next]{right:8px}
 .entry-section-inner{grid-template-columns:minmax(0,1fr);gap:32px}
 .entry-section h2{font-size:clamp(20px,7.6cqi,46px)}
 .entry-section{padding-bottom:clamp(110px,22vw,180px)}
 .entry-background-word{bottom:24px}
}

.process-heading-phrase{display:inline-block}
@media(max-width:760px){.recruit-process .recruit-section-head .section-title{font-size:clamp(19px,6.2vw,25px)}.process-heading-phrase{display:block}}
