/* Recruit page. Navy / white / gold, following output/recruit-design/pc.png and sp.png. */
.nr{--navy:#132270;--blue:#0057c0;--gold:#b39660;--gold-l:#e7cb93;--ice:#f4f8fc;--ink:#33507a;--line:#d9e2ee;--green:#06c755;color:var(--ink);background:#fff;font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:1.9;letter-spacing:.04em;overflow:clip}
.nr *{box-sizing:border-box}
.nr :is(h1,h2,h3,p,ul,ol,dl,dd,figure){margin:0}
.nr :is(ul,ol){padding:0;list-style:none}
.nr :is(h1,h2,h3){font-family:inherit;color:var(--navy);font-weight:700;letter-spacing:.04em}
.nr :is(h1,h2) em{font-style:normal}
.nr a{text-decoration:none}
.nr a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.nr img{display:block;max-width:100%;height:auto}
.nr :is(p,dd,h2,h3){text-wrap:pretty}.nr li{text-wrap:balance}
.nr section[id]{scroll-margin-top:150px}
.nr-wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}
.nr-pc{display:inline}.nr-sp{display:none}
.nr-hand{font-family:"Klee One","Zen Maru Gothic",cursive;font-weight:600;letter-spacing:.06em;line-height:1.7}

.nr-breadcrumb{padding-block:22px 0;display:flex;align-items:center;gap:14px;font-size:12px;color:#6d7f99}
.nr-breadcrumb a{color:inherit;display:inline-flex;align-items:center;min-height:44px}

/* Buttons */
.nr-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:12px 30px;border-radius:8px;font-size:15px;font-weight:700;line-height:1.4;transition:opacity .2s,transform .2s}
.nr-btn:hover{opacity:.88;transform:translateY(-1px)}
.nr-btn-line{background:var(--green);color:#fff!important;box-shadow:0 8px 20px #06c75533}
.nr-btn-line svg{width:26px;height:26px}
.nr-btn-line:after{content:"›";font-size:22px;line-height:1;margin-left:4px}
.nr-btn-outline{background:#fff;color:var(--navy)!important;border:1.5px solid var(--navy)}
.nr-btn-outline:after{content:"›";font-size:20px;line-height:1}
.nr-btn-lg{min-height:66px;padding-inline:56px;font-size:17px}

/* Section heads */
.nr-en{font-family:Jost,sans-serif;font-size:12px;font-weight:500;letter-spacing:.24em;color:var(--gold)}
.nr h2{font-size:32px;line-height:1.6;margin-top:6px}
.nr-sub{font-size:14px;margin-top:10px!important;color:var(--ink)}
.nr-center{text-align:center}
.nr-sec-head{margin-bottom:40px}

/* Hero */
.nr-hero{padding-block:24px 70px}
.nr-hero-inner{display:grid;grid-template-columns:.92fr 1.08fr;gap:40px;align-items:center}
.nr-eyebrow{font-family:Jost,sans-serif;font-size:11px;letter-spacing:.2em;color:var(--gold);padding-left:18px;border-left:2px solid var(--gold)}
.nr-recruit{font-family:Jost,sans-serif;font-weight:700;font-size:76px;line-height:1;letter-spacing:.02em;color:var(--navy);padding-left:18px;border-left:2px solid var(--gold);padding-top:4px}
.nr-school{font-size:15px;font-weight:700;color:var(--navy);padding:8px 0 0 18px;border-left:2px solid var(--gold)}
.nr h1{font-size:44px;line-height:1.5;margin-block:30px 20px;letter-spacing:.06em}
.nr h1 em{background:linear-gradient(transparent 70%,var(--gold-l) 70%,var(--gold-l) 90%,transparent 90%)}
.nr-lead{font-size:15px;line-height:2}
.nr-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px!important}
.nr-chips li{padding:4px 12px;border:1px solid var(--gold);border-radius:30px;font-size:12.5px;font-weight:700;color:var(--navy);background:#fff}
.nr-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.nr-hero-photo{position:relative;margin-right:calc((100vw - min(1180px,100vw - 80px)) / -2)!important}
.nr-hero-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:35% center;border-radius:260px 0 0 0}
.nr-hero-photo:before{content:"";position:absolute;inset:-14px auto auto -14px;width:calc(100% + 14px);height:100%;border:1px solid var(--gold);border-right:0;border-bottom:0;border-radius:272px 0 0 0;pointer-events:none}
.nr-hero-hand{position:absolute;bottom:13%;left:9%;font-size:24px;color:#fff;text-shadow:0 2px 12px #000a,0 0 2px #0008;text-align:left}
.nr-hero-tag{position:absolute;bottom:12%;right:5%;font-family:Jost,sans-serif;font-size:11px;letter-spacing:.24em;line-height:1.9;color:#fff;padding-left:14px;border-left:1px solid var(--gold-l);text-shadow:0 1px 6px #0008}
.nr-hero-photo figcaption,.nr-terms-photo figcaption{position:absolute;left:10px;bottom:8px;font-size:11px;color:#fff;text-shadow:0 1px 4px #000a;letter-spacing:.02em}

/* Message */
.nr-message{background:linear-gradient(180deg,var(--ice),#fff);padding-block:80px}
.nr-message-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}
.nr-portrait{position:relative}
.nr-portrait img{width:100%;aspect-ratio:4/3.4;object-fit:cover;object-position:30% 30%;border-radius:4px 160px 4px 4px;box-shadow:0 22px 44px #13227022}
.nr-portrait .nr-hand{position:absolute;left:-26px;bottom:-26px;background:#fff;color:var(--navy);font-size:17px;padding:14px 22px;border-left:3px solid var(--gold);box-shadow:0 10px 26px #13227018}
.nr-message .nr-sec-head{margin-bottom:22px}
.nr-message h2{font-size:30px}
.nr-message-body p{font-size:15px;line-height:2.05}
.nr-message-body p+p{margin-top:14px}
.nr-sign{margin-top:24px!important;text-align:right;font-size:22px!important;font-weight:700;color:var(--navy);letter-spacing:.14em}
.nr-sign span{font-size:12px;font-weight:500;letter-spacing:.06em;margin-right:16px;color:var(--ink)}

/* Work */
.nr-work{background:var(--ice);padding-block:84px}
.nr-work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.nr-card{position:relative;background:#fff;border-radius:12px;padding:30px 22px 30px;text-align:center;box-shadow:0 10px 30px #13227012;border:1px solid #e6edf6}
.nr-card img{width:120px;height:120px;margin:0 auto 10px}
.nr-card h3{font-size:20px}
.nr-card p{font-size:14px;line-height:1.85;margin-top:10px;text-align:left}
.nr-num{position:absolute;top:16px;left:18px;font-family:Jost,sans-serif;font-size:14px;font-weight:600;color:var(--gold);letter-spacing:.08em}

/* People */
.nr-people{position:relative;background:var(--navy);color:#fff;padding-block:84px;isolation:isolate}
.nr-people-photo{position:absolute;inset:0 auto 0 0;width:38%;z-index:-1}
.nr-people-photo img{width:100%;height:100%;object-fit:cover;object-position:40% 30%}
.nr-people-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#13227022 0%,#13227066 55%,var(--navy) 100%)}
.nr-people-photo .nr-hand{position:absolute;left:8%;bottom:12%;z-index:1;font-size:24px;color:#fff;text-shadow:0 2px 10px #000a}
.nr-people-inner{display:grid;grid-template-columns:1fr;padding-left:30%}
.nr-people h2{font-family:"Shippori Mincho B1",serif;color:var(--gold-l);font-size:42px;line-height:1.5}
@media(min-width:601px){.nr-people h2 br{display:none}}
.nr-people .nr-en{color:var(--gold-l)}
.nr-people .nr-sub{color:#e3e8f6}
.nr-people .nr-sec-head{margin-bottom:28px}
.nr-people-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nr-people-list li{display:flex;align-items:center;gap:12px;background:#fff;color:var(--navy);border-radius:6px;padding:15px 16px;font-size:14.5px;letter-spacing:.02em;font-weight:700;line-height:1.6}
.nr-people-list li>span{flex-shrink:0;width:22px;height:22px;border-radius:4px;background:var(--gold);position:relative}
.nr-people-list li>span:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.nr-people-list li:last-child:nth-child(odd){grid-column:1 / -1}

/* Career */
.nr-career{padding-block:84px}
.nr-career-steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:56px;position:relative}
.nr-career-steps li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;border:1.5px solid var(--gold);border-radius:12px;padding:34px 20px 26px;background:#fff}
.nr-career-steps li+li:before{content:"";position:absolute;left:-42px;top:50%;width:26px;height:26px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:translateY(-50%) rotate(45deg) scale(.6)}
.nr-career-no{position:absolute;top:-18px;left:18px;background:var(--gold);color:#fff;font-family:Jost,sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;padding:6px 14px;border-radius:30px}
.nr-career-steps strong{font-size:23px;color:var(--navy)}
.nr-career-steps span:last-child{font-size:14px}
.nr-career-note{text-align:center;font-size:14px;margin-top:30px!important}

/* Terms */
.nr-terms{background:var(--ice);padding-block:84px}
.nr-terms .nr-sec-head{text-align:left}
.nr-terms-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:stretch}
.nr-terms-main{box-shadow:0 10px 30px #13227010}.nr-table{border-top:1px solid var(--line);background:#fff}
.nr-table>div{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--line)}
.nr-table dt{background:var(--navy);color:#fff;font-weight:700;font-size:14px;padding:16px 22px;display:flex;align-items:center;border-bottom:1px solid #2b3a85}
.nr-table dd{padding:16px 24px;font-size:15px;line-height:1.85}
.nr-table dd strong{font-size:19px;color:var(--navy)}
.nr-table dd small{display:block;width:auto;margin:2px 0 0;font-size:12px;line-height:1.7;color:#6d7f99;text-align:left}.nr-table dd small:before{content:none}
.nr-flow-note{text-align:center;font-size:14px;margin-top:28px!important}
.nr-table-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:18px 22px;font-size:14px;font-weight:700;color:var(--navy);background:#fbf8f1;border-top:2px solid var(--gold)}
.nr-btn-sm{min-height:46px;padding:8px 20px;font-size:14px;box-shadow:none}.nr-btn-sm svg{width:22px;height:22px}
.nr-terms-photo{position:relative}
.nr-terms-photo img{width:100%;height:100%;object-fit:cover;object-position:60% center;border-radius:4px 120px 4px 4px}
.nr-terms-photo .nr-hand{position:absolute;right:-12px;top:30px;background:#fffffff0;color:var(--navy);font-size:17px;padding:14px 20px;border-right:3px solid var(--gold);box-shadow:0 10px 26px #13227018}

/* Flow */
.nr-flow{padding-block:84px}
.nr-flow-steps{display:grid;grid-template-columns:repeat(4,1fr) .9fr;gap:34px}
.nr-flow-steps>li{position:relative;background:var(--ice);border-radius:12px;padding:32px 18px 24px;text-align:center}
.nr-flow-steps>li+li:before{content:"›";position:absolute;left:-26px;top:50%;transform:translateY(-50%);font-size:30px;color:var(--gold);line-height:1}
.nr-flow-no{position:absolute;top:-16px;left:16px;width:36px;height:36px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font-family:Jost,sans-serif;font-weight:600;font-size:15px}
.nr-flow-steps h3{font-size:19px}
.nr-flow-steps p{font-size:13px;line-height:1.8;margin-top:8px;text-align:center;word-break:keep-all;overflow-wrap:anywhere}
.nr-flow-goal{background:linear-gradient(140deg,#c8ac74,var(--gold))!important;color:#fff;border-radius:50%!important;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px!important}
.nr-flow-goal strong{font-size:24px;letter-spacing:.2em}
.nr-flow-goal p{text-align:center!important;font-size:12px!important}

/* Entry */
.nr-entry{position:relative;background:var(--navy) url("assets/hero.webp") right 30% / cover no-repeat;color:#fff;text-align:center;padding-block:90px;isolation:isolate}
.nr-entry:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,#132270ee 45%,#132270b0 100%);z-index:-1}
.nr-entry-inner{position:relative}
.nr-entry .nr-en{color:var(--gold-l)}
.nr-entry h2{color:#fff;font-size:34px;margin-block:8px 14px}
.nr-entry p:not(.nr-en):not(.nr-hand){font-size:15px;margin-bottom:34px;color:#e6ebf7}
.nr-entry-hand{position:absolute;left:0;bottom:-34px;transform:rotate(-6deg);font-size:22px;color:#fff;text-align:left;opacity:.95}

/* Header offset, mirroring the other renewal pages */
@media(min-width:994px){body:has(.nr) .site-header{position:relative}body:has(.nr){padding-top:0}}

@media(max-width:1180px){
.nr-wrap{width:calc(100% - 56px)}
.nr-recruit{font-size:64px}.nr h1{font-size:min(38px,3.3vw)}
.nr-hero-photo{margin-right:-28px!important}
.nr-work-grid{grid-template-columns:repeat(2,1fr)}
.nr-flow-steps{grid-template-columns:repeat(3,1fr);row-gap:44px}
.nr-flow-steps>li:nth-child(4):before{display:none}
.nr-flow-goal{aspect-ratio:auto;border-radius:12px!important}
.nr-entry-hand{display:none}
}
@media(max-width:993px){
.nr{padding-top:72px}
.nr-hero-inner{grid-template-columns:1fr;gap:34px}.nr h1{font-size:38px}
.nr-hero-photo{margin-left:20px!important}
.nr-message-inner{grid-template-columns:1fr;gap:50px}
.nr-portrait{max-width:520px;margin-inline:auto}
.nr-people-photo{width:100%;height:300px;position:relative;inset:auto}
.nr-people-photo:after{background:linear-gradient(180deg,#13227022 30%,var(--navy) 100%)}
.nr-people{padding-top:0}
.nr-people-inner{padding-left:0;margin-top:-30px}
.nr-terms-grid{grid-template-columns:1fr}
.nr-terms-photo{position:relative;top:auto;max-width:520px}
.nr-terms-photo img{aspect-ratio:3/2;height:auto}
.nr-career-steps{gap:40px}
.nr-career-steps li+li:before{left:-32px}
}
@media(max-width:600px){
.nr{font-size:14px;padding-top:65px;letter-spacing:.03em}
.nr-wrap{width:calc(100% - 40px)}
.nr-pc{display:none}.nr-sp{display:inline}
.nr h2{font-size:24px;line-height:1.6}
.nr-sec-head{margin-bottom:28px}
.nr-hero{padding-bottom:50px}
.nr-recruit{font-size:52px}
.nr-school{font-size:14px}
.nr h1{font-size:30px;margin-block:22px 16px}
.nr-lead{font-size:14px}
.nr-chips li{font-size:12px;padding:4px 11px}
.nr-actions{display:grid;gap:10px}
.nr-btn{width:100%;font-size:15px}
.nr-hero-photo{margin-inline:0 -20px!important}
.nr-hero-photo img{border-radius:140px 0 0 0}
.nr-hero-photo:before{border-radius:150px 0 0 0;inset:-10px auto auto -10px;width:calc(100% + 10px)}
.nr-hero-hand{font-size:15px;bottom:14%;left:7%}
.nr-hero-tag{display:none}
.nr-message,.nr-work,.nr-career,.nr-terms,.nr-flow{padding-block:56px}
.nr-message h2{font-size:22px}
.nr-message-body p{font-size:14px;line-height:2}
.nr-portrait .nr-hand{left:-6px;bottom:-22px;font-size:14px;padding:10px 16px}
.nr-sign{font-size:19px!important}
.nr-work-grid{grid-template-columns:1fr;gap:12px}
.nr-card{display:grid;grid-template-columns:76px 1fr;column-gap:16px;text-align:left;padding:18px 18px 18px 14px;align-items:center}
.nr-card img{grid-row:1 / 3;width:76px;height:76px;margin:0}
.nr-card h3{font-size:17px}
.nr-card p{font-size:13px;margin-top:4px}
.nr-num{top:10px;left:auto;right:14px;font-size:12px}
.nr-people-photo{height:240px}
.nr-people-photo .nr-hand{font-size:19px;bottom:22%}
.nr-people{padding-bottom:56px}
.nr-people h2{font-size:31px}
.nr-people-list{grid-template-columns:1fr;gap:9px}
.nr-people-list li{font-size:14px;padding:13px 15px}
.nr-career-steps{grid-template-columns:1fr;gap:34px}
.nr-career-steps li{padding:26px 16px 18px}
.nr-career-steps li+li:before{left:50%;top:-30px;transform:translateX(-50%) rotate(135deg) scale(.5)}
.nr-career-steps strong{font-size:20px}
.nr-career-note{text-align:left;font-size:13px}
.nr-table>div{grid-template-columns:108px 1fr}
.nr-table dt{font-size:12px;padding:13px 10px;letter-spacing:0}
.nr-table dd{padding:13px 14px;font-size:13px}
.nr-table dd strong{font-size:16px}
.nr-table-note{padding:16px 14px;font-size:13px}.nr-btn-sm{width:100%}
.nr-terms-photo .nr-hand{font-size:14px;right:-6px;top:16px;padding:10px 14px}
.nr-flow-steps{grid-template-columns:1fr;gap:12px}
.nr-flow-steps>li{display:grid;grid-template-columns:44px 1fr;align-items:center;text-align:left;padding:14px 16px;gap:2px 8px}.nr-flow-steps>li>.nr-flow-no{grid-row:1 / 3}.nr-flow-steps>li>p{grid-column:2}
.nr-flow-steps>li+li:before{display:none}
.nr-flow-no{position:static;width:32px;height:32px;font-size:14px}
.nr-flow-steps h3{font-size:15px}
.nr-flow-steps p{margin-top:0;font-size:12px;text-align:left;word-break:normal}
.nr-flow-goal{grid-template-columns:44px 1fr!important;display:grid!important;justify-items:start}
.nr-flow-goal strong{font-size:17px;letter-spacing:.1em}
.nr-flow-goal p{text-align:left!important}
.nr-flow-goal p br{display:none}
.nr-entry{padding-block:60px;background-position:70% 30%}
.nr-entry:before{background:linear-gradient(180deg,#132270f2,#132270cc)}
.nr-entry h2{font-size:24px}
.nr-entry p:not(.nr-en):not(.nr-hand){font-size:13px;text-align:left}
.nr-btn-lg{padding-inline:20px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){.nr *{transition:none!important}}
