@font-face{font-family:RCJ;src:url("assets/NotoSansCJKjp-Regular-subset.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:RCJ;src:url("assets/NotoSansCJKjp-Bold-subset.woff") format("woff");font-weight:700;font-display:swap}
:root{--blue:#3d91cf;--blue-dark:#184c76;--ink:#1d1d1f;--pale:#f2f9ff;--line:#c8dce8;--orange:#f7a45f;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--pale);font-family:RCJ,"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.8}img{display:block;max-width:100%;height:auto}a{color:inherit}h1,h2,h3,p,figure,dl,dd{margin-top:0}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.wrap-wide{width:min(1280px,calc(100% - 64px));margin-inline:auto}.section{padding:72px 0}.section-heading h2{margin-bottom:10px;font-size:clamp(34px,3.2vw,48px);line-height:1.3}.section-heading>p{margin:0;font-size:18px}.section-label{margin-bottom:22px;color:var(--blue);font-size:20px;font-weight:700}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;height:75px;padding:0 48px;border-bottom:1px solid rgba(61,145,207,.13);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.site-logo{width:182px;margin-right:auto}.site-logo img{width:100%}.site-nav{display:flex;align-items:center;gap:25px;font-size:12px;white-space:nowrap}.site-nav a,.footer-inner nav a{text-decoration:none}.site-nav a:hover{color:var(--blue)}.header-cta{padding:12px 22px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 8px 18px rgba(61,145,207,.18)}
.hero{overflow:hidden;padding:40px 0 38px;background:var(--pale)}.breadcrumb{margin-bottom:0;color:#6e6e73;font-size:13px}.hero-kicker{margin:0;text-align:center;font-size:20px;font-weight:700}.hero h1{margin:38px 0 58px;text-align:center;font-size:clamp(54px,6vw,86px);line-height:1.35}.hero h1 span,.hero h1 em{display:block;font-style:normal}.hero h1 em{color:var(--blue)}.hero-photo-wrap{position:relative;width:min(1440px,100%);height:auto;aspect-ratio:1440/560;margin-inline:auto;overflow:hidden;border-radius:50% 50% 0 0/17% 17% 0 0}.hero-photo-wrap::before,.hero-photo-wrap::after{display:none}.hero-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:48px;padding-top:38px}.hero-bottom p{margin:0;font-size:18px;line-height:1.8}.primary-button,.apply-button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-width:260px;padding:16px 26px;border-radius:999px;background:var(--blue);color:#fff;font-weight:700;text-decoration:none}
.hero-photo-wrap svg,.work-item figure svg,.persona-photo svg{display:block;width:100%;height:100%}
.culture{background:var(--pale)}.culture-card{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;min-height:760px;padding:46px 60px;border-radius:34px;background:#fff}.culture-main{display:flex;flex-direction:column}.culture-main h2{margin-bottom:24px;font-size:clamp(32px,3vw,46px);line-height:1.5}.culture-intro{max-width:620px;margin:0;font-size:16px;line-height:1.9}.culture-main img{width:100%;margin-top:auto;mix-blend-mode:multiply}.culture-points{display:grid;align-content:center;gap:54px}.culture-points article{padding-left:0;border-left:0}.culture-points h3{margin-bottom:12px;color:var(--blue);font-size:24px}.culture-points p{margin:0;font-size:16px}
.work{position:relative;overflow:hidden;background:var(--pale)}.work-decor,.persona-decor{display:none}.work-list{display:grid;gap:40px;margin-top:42px}.work-item{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:68px;min-height:390px}.work-item-reverse figure{order:2}.work-item figure{position:relative;overflow:hidden;height:390px;border-radius:26% 38% 30% 42%/28% 34% 32% 38%;background:#dfeef6}.work-item:nth-child(2) figure{border-radius:38% 24% 40% 28%/32% 40% 25% 36%}.work-item:nth-child(3) figure{border-radius:20% 38% 28% 42%/32% 24% 40% 26%}.work-item:nth-child(4) figure{border-radius:42% 24% 36% 22%/26% 40% 22% 38%}.work-item figure::after{content:"";position:absolute;inset:0;border:3px solid rgba(61,145,207,.28);border-radius:inherit;pointer-events:none}.work-item img{width:100%;height:100%;object-fit:cover}.work-copy{position:relative;padding:30px 10px}.work-number{display:block;margin-bottom:10px;color:var(--orange);font-weight:700}.work-copy h3{margin-bottom:24px;color:var(--blue);font-size:clamp(26px,2.3vw,34px);line-height:1.5}.work-copy p{margin:0;font-size:17px}.work-copy::after{content:"";position:absolute;top:50%;right:100%;width:70px;height:64px;border-top:2px solid var(--blue);border-radius:50%;opacity:.55}.work-item-reverse .work-copy::after{right:auto;left:100%;transform:scaleX(-1)}
.persona{position:relative;overflow:hidden;background:var(--pale)}.persona-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:74px;align-items:center;margin-top:42px}.persona-photo{position:relative;height:700px;overflow:hidden;border:24px solid var(--blue);border-radius:48% 48% 44% 44%/28% 32% 42% 46%;box-shadow:-28px 22px 0 rgba(61,145,207,.1)}.persona-photo::before{content:"";position:absolute;z-index:2;left:14%;top:-40px;width:96px;height:96px;border-radius:50%;background:var(--orange);opacity:.9}.persona-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.persona-list{display:grid;gap:36px}.persona-list article{padding-bottom:28px;border-bottom:1px solid rgba(61,145,207,.18)}.persona-list article:last-child{border-bottom:0}.persona-list h3{margin-bottom:14px;font-size:25px;line-height:1.55}.persona-list p{margin:0;font-size:16px}
.persona-number{display:block;margin-bottom:4px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.12em}.persona-note{margin:0;color:var(--blue-dark);font-size:14px;font-weight:700;line-height:1.7}
.recruit-members{background:#fff}.recruit-members-heading{max-width:760px}.recruit-members-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;min-height:190px;margin-top:36px}.recruit-member-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.recruit-member-card:hover,.recruit-member-card:focus-visible{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 14px 30px rgba(24,76,118,.09)}.recruit-member-card:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.recruit-member-card__photo{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:14px;background:var(--pale)}.recruit-member-card__photo img{width:100%;height:100%;object-fit:cover}.recruit-member-card__photo .recruit-member-card__fallback{padding:18px;object-fit:contain}.recruit-member-card__body{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center}.recruit-member-card__position{color:var(--blue-dark);font-size:12px;font-weight:700;line-height:1.55}.recruit-member-card strong{margin-top:8px;font-size:21px;line-height:1.45}.recruit-member-card__more{margin-top:18px;color:var(--blue);font-size:13px;font-weight:700}.recruit-members-footer{display:flex;justify-content:flex-end;margin-top:24px}.recruit-members-footer a{color:var(--blue-dark);font-size:15px;font-weight:700;text-decoration:none}.recruit-members-footer a:hover,.recruit-members-footer a:focus-visible{text-decoration:underline}
.requirements{background:var(--pale)}.job-title{color:var(--blue);font-size:21px!important;font-weight:700}.requirements-list{margin-top:34px;border-top:1px solid var(--line)}.requirements-list>div{display:grid;grid-template-columns:280px 1fr;border-bottom:1px solid var(--line)}.requirements-list dt,.requirements-list dd{margin:0;padding:24px 0;font-size:16px}.requirements-list dt{color:var(--blue);font-weight:700}.requirements-list dd{padding-left:28px}.requirements-list ul{margin:0;padding-left:1.15em}.requirements-list small{font-size:14px}
.apply{padding:32px 0 74px;background:#fff}.apply-panel{overflow:hidden;border-radius:32px;background:linear-gradient(118deg,#103d62,#328bc9);color:#fff;box-shadow:0 12px 0 rgba(25,72,105,.09)}.apply-intro{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:58px 70px 36px}.apply-intro h2{margin-bottom:20px;font-size:clamp(34px,3.3vw,48px);line-height:1.6}.apply-intro>div>p{margin-bottom:22px}.apply-note{font-size:15px}.apply-button{flex:0 0 auto;background:#fff;color:var(--blue);white-space:nowrap}.selection{padding:24px 70px 30px;border-top:1px solid rgba(255,255,255,.2)}.selection h3{margin-bottom:22px}.selection ol{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;margin:0;padding:0;list-style:none}.selection li{display:grid;grid-template-columns:34px 1fr;gap:14px}.selection li>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-size:10px}.selection strong{font-size:18px;white-space:nowrap}.selection p{margin:4px 0 0;color:rgba(255,255,255,.76);font-size:14px;word-break:keep-all;overflow-wrap:normal}
.site-footer{min-height:600px;padding:76px 0 28px;background:#fff;color:#4e555a}.footer-inner{display:grid;grid-template-columns:340px 1fr;gap:86px}.footer-brand img{width:230px;margin-bottom:12px}.footer-brand p{margin-bottom:12px;font-size:13px;line-height:1.9}.footer-tagline{color:#697279}.footer-company{margin-top:30px!important;color:#1d1d1f;font-weight:700}.footer-columns{display:grid;grid-template-columns:1.45fr 1.15fr .85fr 1fr;gap:48px}.footer-columns nav{display:flex;flex-direction:column;align-items:flex-start;gap:15px;font-size:13px}.footer-columns strong{margin-bottom:8px;color:var(--blue)}.copyright{width:min(1344px,calc(100% - 96px));margin:74px auto 0;padding-top:22px;border-top:1px solid #e3e9ed;color:#7f888d;font-size:11px;letter-spacing:.12em}
@media(min-width:1366px){.hero{height:1160px}.culture{height:920px;padding:60px 0}.culture-card{height:800px;min-height:0}.work{height:2088px}.persona{height:1200px}.requirements{height:1340px;padding:70px 0}.requirements-list>div:nth-child(1){height:84px}.requirements-list>div:nth-child(2){height:148px}.requirements-list>div:nth-child(3){height:242px}.requirements-list>div:nth-child(4){height:180px}.requirements-list>div:nth-child(5){height:148px}.requirements-list>div:nth-child(6){height:242px}.requirements-list dt,.requirements-list dd{padding-top:23px;padding-bottom:23px}.apply{height:740px;padding:45px 0}.apply-panel{height:650px}.apply-intro{min-height:420px}.selection{min-height:230px}.site-footer{height:600px}}
@media(min-width:1366px){.section.recruit-members{padding:90px 0 84px}.recruit-members-grid{min-height:194px}}
@media(min-width:901px) and (max-width:1365px){
  .hero-photo-wrap{width:100%;height:auto;aspect-ratio:1440/560;border-radius:50% 50% 0 0/17% 17% 0 0}.hero-photo-wrap .hero-accent{display:none}
  .work{position:relative;height:145vw;min-height:1305px;max-height:1980px;padding:0}
  .work>.wrap-wide,.persona>.wrap-wide{position:static;width:100%;max-width:none}
  .work .section-heading h2,.persona .section-heading h2{position:absolute;z-index:3;top:3.1%;left:5.55%;margin:0;font-size:clamp(30px,3.2vw,42px);line-height:1.35}
  .work .section-heading>p,.persona .section-heading>p{position:absolute;z-index:3;top:6.55%;left:5.55%;margin:0;font-size:clamp(14px,1.35vw,18px)}
  .work-decor{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
  .work-list,.work-item,.work-item-reverse{position:static;display:block;margin:0;min-height:0}
  .work-item figure{position:absolute;z-index:1;height:auto;margin:0;overflow:visible;border-radius:0;background:transparent}
  .work-item figure::after{display:none}
  .work-item:nth-child(1) figure{top:9.48%;left:1.65%;width:45.7%}
  .work-item:nth-child(2) figure{top:26.45%;left:43.55%;width:47.7%}
  .work-item:nth-child(3) figure{top:45.65%;left:1.65%;width:45.7%}
  .work-item:nth-child(4) figure{top:67.9%;left:43.55%;width:47.7%}
  .work-item figure svg{display:block;width:100%;height:auto}
  .work-item .work-copy{position:absolute;z-index:3;width:39%;padding:0}
  .work-item:nth-child(1) .work-copy{top:13.25%;left:50%}
  .work-item:nth-child(2) .work-copy{top:31.2%;left:5.55%}
  .work-item:nth-child(3) .work-copy{top:50.8%;left:50%}
  .work-item:nth-child(4) .work-copy{top:74.6%;left:5.55%}
  .work-copy::after,.work-number{display:none}
  .work-copy h3{margin:0 0 clamp(14px,2vw,28px);font-size:clamp(19px,2.25vw,30px);line-height:1.55}
  .work-copy p{font-size:clamp(13px,1.35vw,17px);line-height:1.85}
  .persona{position:relative;height:79.86vw;min-height:720px;max-height:1090px;padding:0}
  .persona .section-heading h2{top:6.2%}
  .persona .section-heading>p{top:12.5%}
  .persona-decor{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
  .persona-grid{position:static;display:block;margin:0}
  .persona-photo{position:absolute;z-index:1;top:23.5%;left:calc(1.65% + 17px);width:52.5%;height:auto;margin:0;overflow:visible;border:0;border-radius:0;box-shadow:none}
  .persona-photo::before{display:none}.persona-photo svg{display:block;width:100%;height:auto}
  .persona-list{display:block}
  .persona-list article{position:absolute;z-index:3;left:57.3%;width:36%;padding:0 0 2%;border-bottom:1px solid rgba(61,145,207,.18)}
  .persona-list article:nth-child(1){top:18.8%}.persona-list article:nth-child(2){top:37.1%}.persona-list article:nth-child(3){top:55.5%}.persona-list article:nth-child(4){top:73.8%;border-bottom:0}
  .persona-list h3{margin:0 0 clamp(10px,1.5vw,20px);font-size:clamp(18px,2vw,27px);line-height:1.55}
  .persona-list p{font-size:clamp(12px,1.28vw,17px);line-height:1.8}
  .apply-intro{gap:28px;padding:48px 46px 32px}.apply-intro h2{font-size:38px}.apply-button{min-width:230px}.selection{padding:24px 46px 30px}.selection ol{gap:22px}.selection li{grid-template-columns:34px minmax(0,1fr)}.selection strong{font-size:17px}.selection p{font-size:13px}
}

/* 2.0.47: keep the desktop artwork in the same coordinate system as the
   photo; hide it below that layout so it cannot slip behind stacked content. */
@media(max-width:900px){
  .persona-decor{display:none}
  .persona-list article{background:transparent}
}
/* 901–934pxでは1件目の本文が2件目の写真へ届くため、
   中間レイアウトの基準高を935px時点にそろえる。 */
@media(min-width:901px) and (max-width:935px){.work{min-height:1360px}}
@media(min-width:901px) and (max-width:1023px){.work-item:nth-child(2) figure{top:27.7%}}
@media(min-width:901px) and (max-width:1100px){.site-header{padding-inline:28px}.site-nav{display:none}.site-logo{margin-right:auto}}
@media(max-width:900px){.site-nav{display:none}.site-header{padding:0 20px}.site-logo{width:138px}.header-cta{font-size:12px}.wrap,.wrap-wide{width:min(100% - 36px,720px)}.hero{padding-top:26px}.hero-kicker{text-align:left;margin-top:24px}.hero h1{text-align:left;font-size:52px}.hero-photo-wrap{width:100%;height:390px;border-radius:50% 50% 0 0/17% 17% 0 0}.hero-photo-wrap .hero-accent{display:none}.hero-bottom,.apply-intro{align-items:flex-start;flex-direction:column}.culture-card{grid-template-columns:1fr;min-height:0;padding:38px 30px}.culture-main img{max-width:580px;margin:20px auto 0}.culture-points{gap:28px}.work-item,.persona-grid{grid-template-columns:1fr}.work-item-reverse figure{order:0}.work-item{gap:18px}.work-item figure{height:420px}.work-copy::after{display:none}.work-copy{padding:10px 8px 34px}.persona-photo{height:580px}.persona-list{grid-template-columns:repeat(2,1fr)}.recruit-members-grid{grid-template-columns:1fr;min-height:528px}.recruit-member-card{grid-template-columns:104px minmax(0,1fr)}.requirements-list>div{grid-template-columns:190px 1fr}.selection ol{grid-template-columns:1fr;gap:20px}.site-footer{min-height:0;padding-top:54px}.footer-inner{grid-template-columns:1fr;gap:36px}.footer-columns{grid-template-columns:repeat(2,1fr);gap:34px}.copyright{width:calc(100% - 36px);margin-top:44px}}
@media(max-width:600px){.site-header{height:66px}.site-logo{width:120px}.header-cta{padding:9px 13px}.section{padding:54px 0}.hero h1{margin:24px 0 36px;font-size:42px}.hero-kicker{font-size:16px}.hero-photo-wrap{height:300px}.hero-bottom{padding-top:28px;gap:24px}.hero-bottom p{font-size:15px}.primary-button{width:100%}.culture-card{padding:30px 22px;border-radius:22px}.culture-main h2{font-size:30px}.culture-points h3{font-size:21px}.culture-points p br,.work-copy p br,.persona-list p br{display:none}.section-heading h2{font-size:34px}.section-heading>p{font-size:15px}.work-list{gap:16px}.work-item figure{height:300px}.work-copy h3{font-size:26px}.work-copy p{font-size:15px}.persona-grid{gap:36px}.persona-photo{height:410px;border-width:14px}.persona-list{grid-template-columns:1fr;gap:20px}.persona-list article{padding-bottom:20px}.persona-list h3{font-size:22px}.recruit-members-grid{min-height:492px;gap:16px;margin-top:28px}.recruit-member-card{grid-template-columns:92px minmax(0,1fr);gap:16px;padding:13px;border-radius:16px}.recruit-member-card__photo{border-radius:11px}.recruit-member-card strong{font-size:19px}.recruit-member-card__more{margin-top:10px}.recruit-members-footer{justify-content:flex-start}.requirements-list>div{grid-template-columns:1fr}.requirements-list dt{padding-bottom:4px}.requirements-list dd{padding:6px 0 22px}.apply{padding:20px 0 54px}.apply-intro{padding:38px 24px}.apply-intro h2{font-size:30px}.apply-button{width:100%}.selection{padding:28px 24px}.footer-inner nav{grid-template-columns:1fr 1fr}.copyright{width:calc(100% - 36px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 1440pxの支給ラフを基準にしたPCレイアウト。文章はHTMLのまま、支給フレームを装飾レイヤーとして使う。 */
@media(min-width:1366px){
  .section{padding:0}
  .hero{position:relative;height:calc(400px + clamp(560px,38.8889vw,680px) + 190px);padding:0}
  .hero-copy{width:100%;max-width:none}
  .breadcrumb{position:absolute;z-index:3;top:39px;left:max(80px,calc((100vw - 1280px)/2));font-size:14px;line-height:1.6}
  .hero-kicker{position:absolute;z-index:3;top:65px;left:0;width:100%;font-size:22px;line-height:1.5}
  .hero h1{position:absolute;z-index:3;top:137px;left:0;width:100%;margin:0;font-size:68px;line-height:1.54}
  .hero-photo-wrap{position:absolute;top:400px;left:50%;width:100vw;max-width:none;height:clamp(560px,38.8889vw,680px);aspect-ratio:auto;margin:0;overflow:visible;transform:translateX(-50%);border-radius:0}
  .hero-photo-wrap::before,.hero-photo-wrap::after{display:none}
  .hero-photo-wrap svg{display:block;width:100%;height:100%;aspect-ratio:auto}
  .hero-bottom{position:absolute;top:calc(400px + clamp(560px,38.8889vw,680px) + 38px);left:50%;width:min(1120px,calc(100% - 128px));padding:0;transform:translateX(-50%)}
  .hero-bottom p{font-size:19px;line-height:35px}
  .hero-bottom .primary-button{width:300px;min-width:300px;height:60px;padding:0;font-size:20px}

  .culture{position:relative}
  .culture-card{position:absolute;top:35px;left:50%;display:block;width:min(1350px,calc(100% - 90px));height:850px;padding:0;transform:translateX(-50%);border-radius:32px}
  .culture-main,.culture-points{display:block}
  .culture-main .section-label{position:absolute;top:42px;left:65px;margin:0;font-size:25px}
  .culture-main h2{position:absolute;top:108px;left:65px;margin:0;font-size:34px;line-height:54px}
  .culture-intro{position:absolute;top:228px;left:65px;width:600px;margin:0;font-size:16px;line-height:30px}
  .culture-main img{position:absolute;top:340px;left:50px;width:640px;height:410px;margin:0;object-fit:contain}
  .culture-points article{position:absolute;left:760px;width:min(510px,calc(100% - 784px));padding:0;border:0}
  .culture-points article:nth-child(1){top:130px}.culture-points article:nth-child(2){top:365px}.culture-points article:nth-child(3){top:600px}
  .culture-points h3{margin:0 0 22px;font-size:24px;line-height:36px}
  .culture-points p{font-size:16px;line-height:30px}

  .work{position:relative}
  .work>.wrap-wide{position:static;width:100%;max-width:none}
  .work .section-heading h2,.persona .section-heading h2{position:absolute;top:61px;left:max(80px,calc((100vw - 1280px)/2));margin:0;font-size:38px;line-height:1.4}
  .work .section-heading>p,.persona .section-heading>p{position:absolute;top:130px;left:max(80px,calc((100vw - 1280px)/2));font-size:18px}
  .work-decor{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
  .work-list{position:static;margin:0}
  .work-item,.work-item-reverse{position:static;display:block;width:auto;min-height:0}
  .work-item figure{position:absolute;z-index:1;display:block;margin:0;border-radius:0;background:transparent}
  .work-item figure::after{display:none}
  .work-item:nth-child(1) figure{top:198px;left:24px;width:calc(52.4306% - 24px);height:auto}
  .work-item:nth-child(2) figure{top:553px;left:47.2222%;width:52.7778%;height:auto}
  .work-item:nth-child(3) figure{top:953px;left:24px;width:calc(52.4306% - 24px);height:auto}
  .work-item:nth-child(4) figure{top:1418px;left:47.2222%;width:52.7778%;height:auto}
  .work-item figure svg{display:block;width:100%;height:auto}
  .work-item .work-copy{position:absolute;z-index:3;width:570px;padding:0}
  .work-item:nth-child(1) .work-copy{top:280px;left:calc(50% + 70px)}
  .work-item:nth-child(2) .work-copy{top:696px;left:max(80px,calc((100vw - 1280px)/2))}
  .work-item:nth-child(3) .work-copy{top:1112px;left:calc(50% + 70px)}
  .work-item:nth-child(4) .work-copy{top:1598px;left:max(80px,calc((100vw - 1280px)/2))}
  .work-copy::after,.work-number{display:none}
  .work-copy h3{margin:0 0 30px;font-size:28px;line-height:43px}
  .work-copy p{font-size:18px;line-height:33px}

  .persona{position:relative}
  .persona>.wrap-wide{position:static;width:100%;max-width:none}
  .persona-decor{position:absolute;z-index:2;inset:0;left:40px;right:auto;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
  .persona-grid{position:static;display:block;margin:0}
  .persona-photo{position:absolute;z-index:1;top:270px;left:64px;width:calc(54.8611% - 24px);height:auto;margin:0;overflow:visible;border:0;border-radius:0;box-shadow:none}
  .persona-photo::before{display:none}
  .persona-photo svg{display:block;width:100%;height:auto}
  .persona-list{position:absolute;z-index:3;top:275px;left:calc(50% + 105px);display:grid;width:520px;gap:17px}
  .persona-list article{position:static;width:auto;padding:0 0 16px;border-bottom:1px solid rgba(61,145,207,.18)}
  .persona-list article:last-child{padding-bottom:0;border-bottom:0}
  .persona-list h3{margin:0 0 8px;font-size:24px;line-height:1.42}
  .persona-list p{max-width:520px;font-size:16px;line-height:1.75}

  .requirements>.wrap-wide{width:1280px}
  .requirements .section-heading h2{margin:0 0 5px;font-size:38px;line-height:1.5}
  .requirements .section-heading>p{font-size:21px}
  .requirements-list{margin-top:39px}
  .requirements-list>div{grid-template-columns:310px 1fr}
  .requirements-list dt,.requirements-list dd{font-size:18px;line-height:32px}
  .requirements-list dt{font-size:19px}.requirements-list dd{padding-left:0}.requirements-list small{font-size:18px}

  .apply-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);width:min(1310px,calc(100% - 130px));max-width:none}
  .apply-intro{display:flex;min-height:0;padding:58px 72px;flex-direction:column;align-items:flex-start;justify-content:center;border-right:1px solid rgba(255,255,255,.2)}
  .apply-intro h2{margin:0 0 35px;font-size:44px;line-height:73px}
  .apply-intro>div>p{font-size:19px;line-height:34px}
  .apply-note{font-size:17px!important;line-height:42px!important}
  .apply-button{width:300px;min-width:300px;height:60px;padding:0;font-size:20px}
  .selection{display:flex;min-height:0;padding:58px 52px;border-top:0;flex-direction:column;justify-content:center}
  .selection h3{margin-bottom:34px;font-size:22px}
  .selection ol{grid-template-columns:1fr;gap:34px}.selection li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:18px}.selection li>span{display:grid;width:36px;height:36px;font-size:12px}
  .selection strong{font-size:21px}.selection p{font-size:16px;line-height:1.8}
}

@media(min-width:1440px){
  .work-decor{right:auto;left:50%;width:1440px;transform:translateX(-50%)}
  .persona-decor{right:auto;left:calc(50% + 40px);width:1440px;transform:translateX(-50%)}
  .work-item:nth-child(1) figure,.work-item:nth-child(3) figure{left:calc(50% - 696px);width:731px}
  .work-item:nth-child(2) figure,.work-item:nth-child(4) figure{left:calc(50% - 40px);width:760px}
  .persona-photo{left:calc(50% - 656px);width:766px}
}
@media(max-width:900px){.hero-photo-wrap{height:auto;aspect-ratio:1440/560}}
@media(max-width:600px){.hero-photo-wrap{height:auto}}

.hero h1 em,#apply-title{white-space:nowrap}
@media(min-width:1366px){
  .hero-bottom{width:min(1280px,calc(100% - 128px))}
  .culture-card{width:min(1280px,calc(100% - 128px))}
  .apply-panel{width:min(1280px,calc(100% - 128px))}
}
@media(max-width:600px){
  .hero h1{font-size:36px}
  #apply-title{font-size:25px}
}

/* Keep the approved persona photo and curved frame as one proportional group. */
@media(min-width:1366px){
  .persona-decor{
    top:28px;
    left:calc(50% - 640px);
    right:auto;
    width:1280px;
    height:auto;
    transform:none;
    object-fit:contain;
  }
  .persona-photo{
    top:268px;
    left:calc(50% - 619px);
    width:681px;
  }
}

/* 2.0.10: keep the persona photo and frame on the same 1440px coordinate system.
   The group starts at the viewport edge; it does not stretch into the text column. */
@media(min-width:1366px){
  .work-decor{
    left:0;
    right:auto;
    width:100%;
    transform:none;
  }
  .persona-decor{
    top:0;
    left:0;
    right:auto;
    width:1440px;
    max-width:none;
    height:1150px;
    transform:none;
    object-fit:contain;
  }
  .persona-photo{
    top:268px;
    left:39px;
    width:681px;
  }
  .persona-list{
    left:calc(50% + clamp(0px,calc(420px - 21.875vw),105px));
  }
}

@media(min-width:1366px){
  .work .section-heading .section-label{position:absolute;top:32px;left:max(80px,calc((100vw - 1280px)/2));margin:0;color:var(--blue);font-size:18px}
  .work .section-heading h2{top:61px;max-width:900px;font-size:34px;line-height:1.35}
  .work .section-heading>p:last-child{top:158px;font-size:16px;line-height:1.6}
  .persona .section-heading .section-label{position:absolute;top:45px;left:max(80px,calc((100vw - 1280px)/2));margin:0;color:var(--blue);font-size:18px}
  .persona .section-heading h2{top:83px;max-width:720px;font-size:34px;line-height:1.45}
  .persona .section-heading>p:last-child{top:191px;max-width:760px;font-size:16px}
  .persona-list{top:292px;gap:18px}
  .persona-list article{padding-bottom:16px}
  .persona-list h3{margin-bottom:6px;font-size:22px;line-height:1.35}
  .persona-list p{font-size:15px;line-height:1.65}
  .persona-note{font-size:13px;line-height:1.6}
}

@media(max-width:600px){
  .persona{padding-bottom:32px}
  .requirements{padding-top:48px}
  .work .section-heading .section-label,.persona .section-heading .section-label{margin-bottom:12px;font-size:15px}
  .persona-note{font-size:13px}
}

/* 2.0.44: preserve the approved desktop SVG proportions on phones. */
@media(max-width:600px){
  .work-item figure{
    height:auto;
    aspect-ratio:760/500;
    overflow:visible;
    border-radius:0;
    background:transparent;
  }
  .work-item figure::after{display:none}
  .work-item figure svg{
    width:100%;
    height:auto;
    aspect-ratio:760/500;
  }
  .persona-photo{
    height:auto;
    aspect-ratio:790/830;
    border-radius:0;
  }
  .persona-photo svg{
    width:100%;
    height:auto;
    aspect-ratio:790/830;
  }
  .requirements-list dd>ul{
    margin:0;
    padding:0;
    list-style:none;
  }
  .requirements-list dd>ul li{position:relative}
  .requirements-list dd>ul li::before{
    content:"・";
    position:absolute;
    right:100%;
    margin-right:.15em;
  }
}

@media(max-width:1023px){
  .persona-photo{overflow:visible;border:0;box-shadow:none}
  .persona-photo::before{display:none}
}
@media(max-width:600px){
  .persona-photo{height:auto}
}

/* 2.0.17: keep the approved composition while giving every work step the
   same typographic rhythm and the same optical offset from its image. */
.work-copy .work-step{
  margin:0 0 8px;
  color:var(--blue-dark);
  font-size:16px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.04em;
}
.work-copy>p:last-child{font-size:16px;line-height:1.9}

@media(min-width:1366px){
  .work .section-heading .section-label{top:24px}
  .work-item:nth-child(1) .work-copy{top:282px}
  .work-item:nth-child(2) .work-copy{top:637px}
  .work-item:nth-child(3) .work-copy{top:1037px}
  .work-item:nth-child(4) .work-copy{top:1502px}
  .work-copy h3{margin:0 0 20px;font-size:28px;line-height:43px}
  .work-copy>p:last-child{font-size:16px;line-height:30px}
}

@media(min-width:901px) and (max-width:1365px){
  .work .section-heading .section-label{top:1.2%}
  .work .section-heading h2{top:3.4%}
  .work .section-heading h2 br{display:none}
  .work .section-heading>p:last-child{top:7.2%}
  .persona .section-heading .section-label{top:2.5%}
  .persona .section-heading h2{top:6%}
  .persona .section-heading>p:last-child{top:18%}
  .work-item:nth-child(1) .work-copy{top:13.48%}
  .work-item:nth-child(2) .work-copy{top:30.45%}
  .work-item:nth-child(3) .work-copy{top:49.65%}
  .work-item:nth-child(4) .work-copy{top:71.9%}
  .work-copy h3{margin:0 0 20px}
  .work-copy>p:last-child{font-size:16px;line-height:1.9}
}

@media(max-width:900px){
  .work-copy h3{margin-bottom:18px}
  .work-copy>p:last-child{font-size:16px;line-height:1.85}
}

/* 2.0.21: center the desktop hero trail and tighten the approved culture card. */
@media(min-width:901px){
  .breadcrumb{text-align:center}
}

@media(min-width:1366px){
  .breadcrumb{left:0;width:100%}
  .culture{height:830px}
  .culture-card{height:760px}
  .culture-points article:nth-child(1){top:108px}
  .requirements{height:auto}
  .requirements-list>div{height:auto!important;min-height:84px}
}

/* 2.0.22: correct the requested targets without changing the approved content. */
@media(min-width:901px){
  .breadcrumb{text-align:left}
}

@media(min-width:901px) and (max-width:1365px){
  .culture-points{align-content:start;padding-top:58px}
}

@media(min-width:1366px){
  .breadcrumb{left:max(80px,calc((100vw - 1280px)/2));width:auto}
  .hero-kicker,.hero h1{left:50%;width:100vw;transform:translateX(-50%);text-align:center}

  .culture{height:760px}
  .culture-card{height:690px}
  .culture-main img{top:315px;left:90px;width:560px;height:350px}
  .culture-points article:nth-child(2){top:290px}
  .culture-points article:nth-child(3){top:472px}

  .apply{padding-top:40px}
}

/* 2.0.23: optically center the desktop hero copy and extend only the pale color field. */
.apply{background:linear-gradient(to bottom,var(--pale) 12px,#fff 12px)}

@media(min-width:1366px){
  .hero-kicker{transform:translateX(calc(-50% - 5px))}
  .hero h1{transform:translateX(calc(-50% + 15px))}
}

/* The carousel stays manual so member changes never compete with reading or keyboard focus. */
.recruit-members{overflow:hidden;background:linear-gradient(90deg,rgba(20,117,184,.045) 1px,transparent 1px) 0 0/80px 80px,#f6f9fb}
.recruit-members-heading{display:grid;grid-template-columns:1fr 560px;max-width:none;align-items:end;gap:80px}
.recruit-members-heading h2{margin:0;font-size:42px;line-height:1.22;letter-spacing:.02em;white-space:nowrap}
.recruit-members-heading p{margin:0;color:#5e7081;font-size:15px;line-height:1.9}
.recruit-members-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:28px 0 24px}
.recruit-members-controls[hidden]{display:none}
.recruit-members-counter{margin-right:12px;color:#07558f;font:800 18px/1 Arial,sans-serif;letter-spacing:.08em}
.recruit-members-counter strong{color:#07558f;font:inherit}
.recruit-members-counter small{color:#7890a1;font-size:12px}
.recruit-members-controls button{display:grid;width:46px;height:46px;padding:0;place-items:center;border:1px solid #9ebbd0;border-radius:50%;background:#fff;color:#07558f;font:700 21px/1 RCJ,"Noto Sans JP",sans-serif;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}
.recruit-members-controls button:last-child{border-color:#1475b8;background:#1475b8;color:#fff}
.recruit-members-controls button:hover{transform:translateY(-2px)}
.recruit-members-controls button:focus-visible{outline:2px solid #1475b8;outline-offset:3px}
.recruit-members-viewport{--recruit-members-gap:22px;position:relative;width:calc(100% + 128px);height:522px;margin-left:-64px;overflow:hidden}
.recruit-members-track{position:relative;height:100%}
.recruit-members .recruit-member-card{position:absolute;top:0;left:40%;display:block;width:294px;height:470px;min-width:0;padding:0;overflow:hidden;border:0;border-radius:0;background:#d8e4eb;color:#fff;box-shadow:none;transform:translateX(calc(-50% + var(--recruit-member-offset-x,0px))) translateY(var(--recruit-member-offset-y,52px));transition:transform .48s cubic-bezier(.22,.75,.18,1),box-shadow .25s ease;text-decoration:none;will-change:transform;isolation:isolate}
.recruit-members .recruit-member-card.is-repositioning{transition:none}
.recruit-members .recruit-member-card.is-active{z-index:2;box-shadow:0 18px 34px rgba(17,54,82,.14)}
.recruit-members .recruit-member-card:hover,.recruit-members .recruit-member-card:focus-visible{border-color:transparent;box-shadow:0 20px 38px rgba(17,54,82,.18)}
.recruit-members .recruit-member-card:focus-visible{outline:3px solid #1475b8;outline-offset:-3px}
.recruit-members .recruit-member-card__photo{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;overflow:hidden;border-radius:0;background:#d8e4eb}
.recruit-members .recruit-member-card__photo::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(to bottom,transparent,rgba(3,27,45,.88));pointer-events:none}
.recruit-members .recruit-member-card__photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.9) contrast(1.02)}
.recruit-members .recruit-member-card__photo .recruit-member-card__fallback{padding:72px;object-fit:contain;background:#eef7fc}
.recruit-members .recruit-member-card__body{position:absolute;z-index:1;inset:auto 20px 22px;display:block;color:#fff}
.recruit-members .recruit-member-card__position{display:block;min-height:34px;color:rgba(255,255,255,.88);font-size:11px;font-weight:700;line-height:1.5}
.recruit-members .recruit-member-card strong{display:block;margin-top:8px;font-size:22px;line-height:1.2;letter-spacing:.035em}
.recruit-members .recruit-member-card__more{position:absolute;right:0;bottom:-1px;margin:0;color:#fff;font-size:0}
.recruit-members .recruit-member-card__more span{font-size:24px}
.recruit-members-footer{justify-content:flex-end;margin-top:20px}
.recruit-members-footer a{display:inline-flex;align-items:center;gap:34px;padding:15px 2px 12px;border-bottom:1px solid #1475b8;color:#07558f;font-size:15px;font-weight:700;letter-spacing:.04em;text-decoration:none}

@media(min-width:1101px){
  .section.recruit-members{min-height:900px;padding:66px 0 48px}
  .recruit-members>.wrap-wide{width:100%;max-width:none;padding-inline:64px}
}

@media(min-width:601px) and (max-width:1100px){
  .section.recruit-members{padding:64px 0 52px}
  .recruit-members>.wrap-wide{width:100%;max-width:none;padding-inline:32px}
  .recruit-members-heading{grid-template-columns:1fr minmax(380px,48%);gap:40px;align-items:start}
  .recruit-members-heading h2{font-size:36px}
  .recruit-members-heading p{font-size:15px}
  .recruit-members-controls{margin:24px 0}
  .recruit-members-viewport{--recruit-members-gap:20px;width:calc(100% + 64px);height:490px;margin-left:-32px}
  .recruit-members .recruit-member-card{left:42%;width:270px;height:438px}
}

@media(max-width:600px){
  .section.recruit-members{padding:52px 0 40px;background-size:48px 48px}
  .recruit-members>.wrap-wide{width:100%;max-width:none;padding-inline:18px}
  .recruit-members-heading{display:block}
  .recruit-members-heading h2{font-size:30px}
  .recruit-members-heading p{margin-top:18px;font-size:14px;line-height:1.8}
  .recruit-members-controls{margin:22px 0 18px}
  .recruit-members-controls button{width:42px;height:42px}
  .recruit-members-viewport{--recruit-members-gap:16px;width:calc(100% + 36px);height:438px;margin-left:-18px}
  .recruit-members .recruit-member-card{left:50%;width:min(74vw,286px);height:400px}
  .recruit-members .recruit-member-card__body{inset:auto 18px 18px}
  .recruit-members .recruit-member-card strong{font-size:20px}
  .recruit-members-footer{justify-content:flex-end;margin-top:12px}
}

@media(prefers-reduced-motion:reduce){
  .recruit-members .recruit-member-card,.recruit-members-controls button{transition:none}
}

/* The theme also defines a generic .wrap on the recruit page. Keep the mobile
   hero within this plugin's own content width without changing other pages. */
body.rcj-recruit-production-page .hero{
  display:block;
}

/* Do not reset the theme's generic .wrap globally; only these hero containers
   must opt out of its two-column grid between 1081px and the desktop layout. */
body.rcj-recruit-production-page .hero-copy.wrap{display:block}
body.rcj-recruit-production-page .hero-bottom.wrap{display:flex}

@media(min-width:901px) and (max-width:1365px){
  body.rcj-recruit-production-page .persona-list article:nth-child(1){top:22.5%}
  body.rcj-recruit-production-page .persona-list article:nth-child(2){top:41%}
  body.rcj-recruit-production-page .persona-list article:nth-child(3){top:59.5%}
  body.rcj-recruit-production-page .persona-list article:nth-child(4){top:78%}
}

/* 2.0.46: restore complete navigation and keep illustrated sections legible on tablets and phones. */
.site-menu-toggle{display:none}

@media(max-width:1100px){
  .site-header{gap:12px}
  .site-menu-toggle{display:grid;width:46px;height:46px;padding:0;place-items:center;border:1px solid rgba(61,145,207,.35);border-radius:50%;background:#fff;color:var(--blue-dark);cursor:pointer;flex:0 0 auto}
  .site-menu-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
  .site-menu-toggle__label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .site-menu-toggle__bars{display:grid;gap:5px;width:20px}
  .site-menu-toggle__bars i{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .site-nav{position:absolute;z-index:30;top:calc(100% + 1px);right:20px;left:20px;display:flex;padding:14px 22px 18px;flex-direction:column;align-items:stretch;gap:0;border:1px solid rgba(61,145,207,.16);border-radius:0 0 20px 20px;background:rgba(255,255,255,.99);box-shadow:0 20px 42px rgba(24,76,118,.13);font-size:14px;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
  .site-nav a{padding:10px 4px;border-bottom:1px solid rgba(61,145,207,.12)}
  .site-nav a:last-child{border-bottom:0}
  .site-header.is-menu-open .site-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .site-header.is-menu-open .site-menu-toggle__bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header.is-menu-open .site-menu-toggle__bars i:nth-child(2){opacity:0}
  .site-header.is-menu-open .site-menu-toggle__bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

@media(min-width:601px) and (max-width:900px){
  .work-list{gap:56px}
  .work-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;min-height:0}
  .work-item-reverse figure{order:2}
  .work-item figure{height:auto;aspect-ratio:760/500;overflow:visible;border-radius:0;background:transparent}
  .work-item figure::after{display:none}
  .work-item figure svg{width:100%;height:auto;aspect-ratio:760/500}
  .work-copy{padding:0}
  .work-copy h3{font-size:clamp(23px,3.2vw,28px)}
  .work-copy>p:last-child{font-size:15px;line-height:1.8}
  .persona-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:34px;align-items:start}
  .persona-photo{height:auto;aspect-ratio:790/830}
  .persona-photo svg{width:100%;height:auto;aspect-ratio:790/830}
  .persona-list{grid-template-columns:1fr;gap:20px}
  .persona-list article{padding-bottom:18px}
  .persona-list h3{font-size:21px}
  .persona-list p{font-size:14px}
}

@media(max-width:900px){
  .persona>.wrap-wide{position:relative}
  .persona .section-heading,.persona-grid{position:relative;z-index:1}
  .persona-decor{position:absolute;z-index:0;top:0;left:50%;display:block;width:100%;height:100%;max-width:none;object-fit:fill;opacity:.95;pointer-events:none;transform:translateX(-50%)}
  .persona-list article{background:var(--pale)}
}

@media(max-width:600px){
  .site-header{padding-inline:14px;gap:8px}
  .site-logo{width:108px}
  .header-cta{padding:9px 11px;font-size:11px}
  .site-menu-toggle{width:40px;height:40px}
  .site-nav{right:12px;left:12px;padding-inline:18px}
  .persona-decor{width:100%}
}

@media(max-width:900px){
  body.rcj-recruit-production-page .hero-copy.wrap,
  body.rcj-recruit-production-page .hero-bottom.wrap{
    width:calc(100% - 36px)!important;
    max-width:720px!important;
    margin-inline:auto!important;
  }
  body.rcj-recruit-production-page .hero-bottom.wrap{
    display:flex;
    flex-direction:column;
  }
}

@media(max-width:900px){
  .persona-decor{display:none}
  .persona-list article{background:transparent}
}
