/* Shared recruitment navigation and the recruitment-only lower-page theme. */
.recruit-menu-open{overflow:hidden}.rn-header{height:88px;position:sticky;top:0;z-index:40;background:#fff;color:#18201f;display:flex;align-items:center;gap:25px;padding:0 3.4vw;border-bottom:1px solid #18201f18;backdrop-filter:none;font-family:'DM Sans','Noto Sans JP',sans-serif}.rn-brand{display:flex;align-items:center;gap:13px;flex-shrink:0;margin-right:auto}.rn-brand img{width:191px;height:auto}.rn-brand>span{font:800 8px/1.5 'DM Sans',sans-serif;letter-spacing:.05em;border-left:1px solid #18201f55;padding-left:12px;color:#254be8}.rn-header .rn-desktop{display:flex;align-items:center;gap:27px;font-size:11px;font-weight:700}.rn-desktop>a{padding:30px 0;white-space:nowrap}.rn-header .rn-desktop>a::after{content:none}.rn-desktop a:hover,.rn-desktop a[aria-current]{color:#254be8}.rn-jobs{position:relative}.rn-jobs summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;white-space:nowrap;padding:30px 0}.rn-jobs summary::-webkit-details-marker{display:none}.rn-jobs-panel{position:absolute;top:calc(100% - 5px);left:50%;transform:translateX(-50%);width:345px;background:#edff70;padding:26px;box-shadow:0 18px 35px #112d6520;max-height:calc(100dvh - 110px);overflow:auto}.rn-jobs-panel p{font-size:10px;letter-spacing:.08em;margin-bottom:13px}.rn-jobs-panel>a{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid #18201f33;font-size:12px}.rn-entry{display:flex;align-items:center;gap:20px;background:#254be8;color:#fff;font:800 12px/1 'DM Sans',sans-serif;padding:18px 21px;border-radius:4px;transition:background .2s}.rn-entry:hover{background:#18201f}.rn-entry>span{font-size:20px;font-weight:400}.rn-header .rn-toggle{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;width:auto;height:42px;background:none;border:0;border-radius:0;color:#18201f;padding:0}.rn-toggle b{font:800 9px/1 'DM Sans',sans-serif}.rn-toggle i{width:20px;height:9px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}.rn-toggle:hover{color:#254be8!important}.rn-dialog,.rn-dialog#site-menu{border:0;padding:30px 5vw;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;background:#254be8;color:#fff;overflow:auto;font-family:'DM Sans','Noto Sans JP',sans-serif}.rn-dialog::backdrop{background:#254be8}.rn-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:25px}.rn-dialog-head .rn-brand{background:#fff;padding:16px 20px}.rn-dialog .rn-close{display:flex;align-items:center;gap:16px;width:auto;height:auto;background:none;border:0;color:#fff;font:700 10px 'DM Sans',sans-serif;border-radius:0}.rn-close span{font:300 40px/1 'DM Sans',sans-serif}.rn-dialog-body{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:70px auto 50px;max-width:1350px}.rn-menu-message>p{font:900 clamp(55px,8vw,120px)/.97 'DM Sans',sans-serif;letter-spacing:-.065em}.rn-menu-message em{font-style:normal;color:#edff70}.rn-menu-message>span{display:block;font-size:15px;font-weight:600;margin-top:25px}.rn-dialog .rn-menu-links,.rn-dialog#site-menu .rn-menu-links{display:flex;flex-direction:column;margin:0;gap:0;max-width:none}.rn-dialog .rn-menu-links>a,.rn-dialog#site-menu .rn-menu-links>a{display:flex;align-items:center;gap:24px;border-bottom:1px solid #ffffff55;font-size:clamp(18px,2vw,30px);line-height:1.5;font-weight:700;padding:17px 0}.rn-dialog .rn-menu-links small,.rn-dialog#site-menu .rn-menu-links small{font:700 10px 'DM Sans',sans-serif;color:#edff70}.rn-menu-links>a>span{margin-left:auto;font-weight:400}.rn-menu-links a:hover{color:#edff70}.rn-menu-roles{padding:25px 0;border-top:1px solid #ffffff55;display:grid;grid-template-columns:1fr 3fr;gap:30px}.rn-menu-roles>p{font-size:12px}.rn-menu-roles>div{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 30px}.rn-menu-roles a{font-size:12px;display:flex;gap:15px;justify-content:space-between}.rn-menu-roles a:hover{color:#edff70}.rn-dialog-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;gap:25px;padding:24px 0 12px;border-top:1px solid #ffffff55}.rn-footer{padding:65px 5.6vw 35px;background:#fff;color:#18201f;display:grid;grid-template-columns:1.2fr 1fr;gap:55px;font-family:'DM Sans','Noto Sans JP',sans-serif}.rn-footer-brand img{width:230px;height:auto}.rn-footer-brand a{display:flex;align-items:center;gap:18px}.rn-footer-brand a>span{font:800 9px 'DM Sans',sans-serif;letter-spacing:.05em;color:#254be8}.rn-footer-brand p{font-size:13px;font-weight:600;margin-top:24px}.rn-footer>nav{display:grid;grid-template-columns:1fr 1fr;gap:17px 25px;font-size:12px;font-weight:600}.rn-footer a:hover{color:#254be8}.rn-footer-bottom{grid-column:1/-1;display:flex;gap:25px;align-items:center;border-top:1px solid #18201f33;padding-top:25px;font-size:9px}.rn-footer-bottom>small{font-size:9px;margin-right:auto}.rn-footer-bottom>a:last-child{margin-left:20px}
/* Underlying recruitment information keeps its checked copy and gets this visual family. */
.recruit-page{--accent:#254be8;--serif:'DM Sans','Noto Sans JP',sans-serif;--sans:'DM Sans','Noto Sans JP',sans-serif;--pad:clamp(24px,5.6vw,96px);background:#fff}.recruit-page .lower-hero{background:#edff70;max-width:none;padding-top:70px;padding-bottom:95px;min-height:530px;grid-template-columns:1.05fr 1fr;gap:6vw}.recruit-page .lower-hero h1{font-family:var(--sans);font-size:clamp(32px,4.1vw,65px);font-weight:800;line-height:1.6;letter-spacing:-.055em}.recruit-page .eyebrow{font-weight:700;letter-spacing:.09em;color:#18201f}.recruit-page .hero-lead{font-size:14px;color:#18201f;line-height:2.1}.recruit-page .hero-bottom-label{color:#18201f;font-weight:700}.recruit-lower-photo{position:relative;transform:rotate(3deg);padding:9px;background:#fff;box-shadow:15px 15px 0 #254be8}.recruit-lower-photo img{width:100%;aspect-ratio:1.45;object-fit:cover}.recruit-lower-photo figcaption{font-size:8px;padding:8px 3px 0;text-align:right}.recruit-page .catalog-heading h2,.recruit-page .section-label h2{font-family:var(--sans);font-weight:800;letter-spacing:-.05em}.recruit-page .job-tile{background:#eef1ff;border-radius:5px;border-top:5px solid var(--accent)}.recruit-page .job-tile:nth-child(3n+2){background:#fff0f5}.recruit-page .job-tile:nth-child(3n+3){background:#eeffd8}.recruit-page .job-salary{background:#eef1ff;border-radius:5px}.recruit-page .job-salary strong{font-family:'DM Sans','Noto Sans JP',sans-serif}.recruit-page .section-nav{background:#254be8;color:#fff;border-radius:4px}.recruit-page .section-nav a span{color:#edff70}.recruit-page .section-label>span{background:#edff70;border-radius:0;font-weight:800}.recruit-page .phone-panel{background:#edff70;border-radius:5px}.recruit-page .online-panel{background:#eef1ff;border-radius:5px}.recruit-page .related-pages a{border-radius:4px;background:#edff70}.recruit-page .related-pages a:nth-child(2){background:#ffbbd0}.recruit-page .related-pages a:nth-child(3){background:#b0efd5}.recruit-page .related-pages p{font-family:var(--sans);font-weight:700}.recruit-page .fact-grid>div{border-radius:5px;background:#edff70}.recruit-page .fact-grid>div:nth-child(2){background:#b0efd5}.recruit-page .fact-grid>div:nth-child(3){background:#c5d6ff}.recruit-page .prose{font-size:15px;line-height:2.25}.recruit-page .lower-motion{z-index:20;background:#fff;color:#18201f;border:1px solid #18201f33}.recruit-page .rn-footer{border-top:8px solid #254be8}.recruit-page .rn-footer-brand p{margin:24px 0 0}
@media(max-width:1180px){.rn-header{gap:20px}.rn-brand img{width:173px}.rn-header .rn-desktop{gap:18px;font-size:10px}.rn-brand>span{font-size:7px;padding-left:9px}.rn-entry{padding:17px;gap:12px}.rn-header{padding:0 25px}}
@media(max-width:980px){.rn-header .rn-desktop{display:none}.rn-brand{margin-right:auto}.rn-header{gap:22px}.rn-menu-roles>div{grid-template-columns:1fr 1fr}.rn-footer{gap:35px}.rn-footer-brand a{display:block}.rn-footer-brand a>span{display:block;margin-top:14px}}
@media(max-width:767px){.rn-header{height:72px;padding:0 18px;gap:16px}.rn-brand{display:block}.rn-brand img{width:145px}.rn-brand>span{border:0;padding:0;display:block;margin-top:5px;font-size:7px;line-height:1;letter-spacing:.16em}.rn-entry{font-size:10px;padding:14px 13px;gap:12px}.rn-entry>span{font-size:17px}.rn-header .rn-toggle{flex-direction:column;gap:7px;width:28px;min-width:28px;height:38px}.rn-toggle b{font-size:7px}.rn-toggle i{width:19px;height:8px}.rn-dialog,.rn-dialog#site-menu{padding:20px 24px}.rn-dialog-head .rn-brand{padding:10px 12px}.rn-dialog-head .rn-brand img{width:130px}.rn-dialog .rn-close{font-size:8px;gap:10px}.rn-close span{font-size:32px}.rn-dialog-body{display:block;margin:35px 0}.rn-menu-message{display:none}.rn-dialog .rn-menu-links>a,.rn-dialog#site-menu .rn-menu-links>a{font-size:20px;padding:15px 0;gap:18px}.rn-menu-roles{display:block;padding:25px 0}.rn-menu-roles>p{font-size:10px;margin-bottom:20px}.rn-menu-roles>div{grid-template-columns:1fr 1fr;gap:17px}.rn-menu-roles a{font-size:10px;line-height:1.8}.rn-dialog-bottom{font-size:8px;gap:10px}.rn-dialog-bottom small{font-size:7px}.rn-footer{padding:50px 24px 40px;display:block}.rn-footer-brand a{display:flex}.rn-footer-brand img{width:190px}.rn-footer-brand a>span{font-size:7px;margin:0}.rn-footer-brand p{font-size:12px;margin-top:20px}.rn-footer>nav{font-size:11px;margin:35px 0;gap:17px}.rn-footer-bottom{display:flex;flex-wrap:wrap;gap:15px;font-size:8px;padding-top:22px}.rn-footer-bottom small{width:100%;font-size:8px}.rn-footer-bottom>a:last-child{margin-left:0}.recruit-page .lower-hero{display:flex;flex-direction:column;gap:40px;padding:42px 24px 75px;align-items:stretch;min-height:0}.recruit-page .lower-hero h1{font-size:clamp(30px,8vw,45px);line-height:1.6}.recruit-page .eyebrow{margin-bottom:22px;font-size:9px}.recruit-page .hero-lead{font-size:12px;margin-top:18px}.recruit-lower-photo{width:91%;margin:0 auto;box-shadow:9px 9px 0 #254be8;padding:7px}.recruit-lower-photo img{aspect-ratio:1.7}.recruit-lower-photo figcaption{font-size:7px}.recruit-page .hero-bottom-label{font-size:7px;bottom:18px}.recruit-page .prose{font-size:13px}.recruit-page .job-salary strong{font-size:30px}.recruit-page .content-section .section-label h2{font-size:22px}}
@media(max-width:380px){.rn-header{padding:0 14px;gap:12px}.rn-brand img{width:130px}.rn-entry{padding:13px 11px;gap:8px}.rn-footer-brand img{width:173px}.rn-footer-brand a{gap:10px}}

.rn-header .rn-jobs{border:0;margin:0;padding:0;background:none}.rn-header .rn-jobs summary{font:inherit;border:0;position:relative}.rn-header .rn-jobs summary::after,.rn-header .rn-jobs summary::before{content:none}

.recruit-page .long-role-title{display:block;font-size:.77em;white-space:nowrap;letter-spacing:-.065em}

/* V80: identify the recruitment microsite clearly at every viewport. */
.rn-brand>.rn-recruit-label,.rn-footer-brand a>.rn-recruit-label{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:#254be8;color:#fff;padding:9px 12px;line-height:1;letter-spacing:.06em;border-radius:3px;flex-shrink:0}
.rn-recruit-label b{font:800 12px/1.1 'Noto Sans JP',sans-serif;white-space:nowrap}.rn-recruit-label small{font:700 7px/1 'DM Sans',sans-serif;letter-spacing:.11em}
.rn-header .rn-brand{gap:10px}.rn-footer-brand .rn-recruit-label b{font-size:12px}
@media(max-width:767px){.rn-header{gap:12px;padding-inline:18px}.rn-header .rn-brand{gap:8px}.rn-header .rn-brand img{width:128px}.rn-brand>.rn-recruit-label{display:flex;padding:8px}.rn-recruit-label b{font-size:10px}.rn-recruit-label small{font-size:6px}.rn-header .rn-entry{padding:12px 10px;gap:6px;font-size:10px}.rn-header .rn-toggle{gap:5px}.rn-header .rn-toggle b{font-size:8px}.rn-dialog-head .rn-brand{gap:6px;padding:8px}.rn-dialog-head .rn-brand img{width:115px}}
@media(max-width:359px){.rn-header{padding-inline:12px;gap:8px}.rn-header .rn-brand img{width:110px}.rn-header .rn-toggle b{display:none}}
/* A disabled form must not invite applicants to enter unsendable personal data. */
.ed-form-shell [hidden]{display:none!important}

/* V85: keep the footer's final links above the fixed motion control.
   On phones, also reserve the recruitment shortcut bar and safe area. */
.rn-footer{padding-bottom:80px}
@media(max-width:767px){.rn-footer{padding-bottom:calc(144px + env(safe-area-inset-bottom,0px))}}
@media(max-width:767px){.rn-header .rn-brand,.rn-dialog-head .rn-brand{display:flex;align-items:center}.rn-brand>.rn-recruit-label{margin-top:0}.rn-header{height:72px}}
