/*
Theme Name: Rightway Renewal
Description: Rightway Security corporate and recruitment website.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.3
Text Domain: rightway-renewal
*/

:root{--navy:#103967;--deep:#0b2b50;--yellow:#f6e42c;--ink:#16334e;--line:#dce3e9;--pale:#f1f5f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #008eb4;outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:99;background:white}header{height:100px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:white;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px}.brand img{width:250px;height:auto}.brand span{font-size:13px;border-left:1px solid var(--line);padding-left:20px;white-space:nowrap}nav{display:flex;gap:32px;align-items:center;font-weight:700;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--yellow);color:var(--deep);font-weight:700;padding:19px 27px;min-height:60px;border:1px solid var(--yellow);transition:background .2s,transform .2s}.button:hover{background:#fff165;transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.button.small{padding:12px 20px;min-height:48px}.hero{display:grid;grid-template-columns:54% 46%;position:relative;background:var(--navy);color:white;overflow:hidden}.hero-copy{padding:54px 8% 45px 9.3%;z-index:1}.eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;margin:0 0 26px}.hero .eyebrow{color:var(--yellow)}.location{font-size:15px;letter-spacing:.06em;margin-bottom:18px}h1{font-size:clamp(38px,4.6vw,70px);line-height:1.4;letter-spacing:.025em;margin:0 0 24px;font-weight:800}.underline{border-bottom:5px solid var(--yellow);padding-bottom:5px}.intro{font-size:15px;line-height:2.1;color:#e5edf5;margin:28px 0 23px}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.hero-tags span{font-size:13px;border:1px solid #69829e;padding:3px 13px}.subtle{font-size:12px;color:#dce6f0;margin:14px 0 0}.hero-visual{position:relative;min-height:570px;overflow:hidden;background:#285480}.hero-visual>img{position:absolute;width:240%;max-width:none;height:100%;object-fit:cover;object-position:left center;left:0;top:0}.photo-label{position:absolute;bottom:42px;left:30px;font-weight:700;letter-spacing:.12em;font-size:18px;background:var(--navy);padding:9px 15px}.vertical{writing-mode:vertical-rl;position:absolute;right:18px;top:30px;font-size:12px;letter-spacing:.2em}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:16px 5%;font-size:13px;background:var(--deep);letter-spacing:.08em}.hero-bottom a span{padding-left:30px}.section{padding:90px 7%;max-width:1600px;margin:auto}.section-heading h2{font-size:36px;line-height:1.6;letter-spacing:.02em;margin:0 0 18px}.section-heading .eyebrow{color:#58728a;margin-bottom:15px}.section-heading p:not(.eyebrow){font-size:15px;color:#536a7c}.benefits .section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:center}.benefits .eyebrow{grid-column:1/-1}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:40px}.benefit-grid article{padding-top:22px;border-top:2px solid var(--navy)}.number{font-family:Arial,sans-serif;font-size:40px;color:#8c9eb0;line-height:1.2}.benefit-grid h3{font-size:21px;margin:18px 0 12px}.benefit-grid p{font-size:15px;color:#536a7c}.pill{display:inline-block;background:var(--pale);padding:6px 12px;font-size:12px;font-weight:700}.requirements{background:var(--pale);display:grid;grid-template-columns:1fr 1.7fr;gap:60px;max-width:none}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding:8px 0;margin-top:15px;font-size:14px}.pay{padding:25px 32px;background:var(--navy);color:white;border-left:5px solid var(--yellow)}.pay>span{font-size:14px}.pay p{margin:0;font-size:19px}.pay strong{font-family:Arial,sans-serif;font-size:58px;letter-spacing:.025em;font-weight:700}.pay small{font-size:12px;color:#d8e4ef}dl{margin:12px 0}dl>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid #cbd6df;font-size:14px}dt{font-weight:700}dd{margin:0}.note{font-size:12px;color:#536a7c}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}.steps article{border-left:3px solid var(--yellow);padding-left:24px}.steps span{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.1em;font-weight:700}.steps h3{font-size:19px;margin:10px 0}.steps p{font-size:14px;color:#536a7c}.entry{max-width:none;background:var(--navy);color:white;text-align:center;padding-top:75px;padding-bottom:80px}.entry>.eyebrow{color:var(--yellow)}.entry h2{font-size:42px;line-height:1.55;margin:20px 0}.entry>p:not(.eyebrow){font-size:15px}.entry-actions{display:flex;justify-content:center;align-items:center;gap:50px;margin-top:36px}.entry-actions .button{width:330px}.phone{display:flex;flex-direction:column;text-align:left;line-height:1.6}.phone span,.phone small{font-size:12px}.phone strong{font-size:29px;letter-spacing:.04em;font-family:Arial,sans-serif}.business{padding:40px 7%;display:flex;justify-content:space-between;align-items:center;background:var(--pale)}.business span{font-size:12px}.business h2{font-size:21px;margin:0}.business>a{font-size:14px;border-bottom:1px solid;padding:8px}footer{padding:45px 7%;display:flex;align-items:center;gap:45px;flex-wrap:wrap}footer strong{font-size:18px}footer p{font-size:12px;margin:0}.footer-links{display:flex;gap:25px;font-size:13px}footer small{font-size:11px;margin-left:auto;color:#526b80}.mobile-entry{display:none}@media(min-width:1500px){.hero-copy{padding-left:13%}.hero-visual>img{width:230%}}@media(max-width:1050px){header{height:84px}.brand img{width:200px}.brand span{display:none}nav{gap:20px}.hero-copy{padding-top:42px;padding-right:6%}.intro br{display:none}.hero-visual{min-height:550px}.section{padding:65px 6%}.requirements{gap:35px}.benefit-grid{gap:22px}.benefit-grid h3{font-size:18px}.pill{font-size:12px}footer{gap:25px}}@media(max-width:700px){body{padding-bottom:66px}header{height:72px;padding:0 5%}.brand img{width:185px}nav>a:not(.button){display:none}.button.small{font-size:12px;padding:9px 12px;gap:12px;min-height:40px}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 6% 34px}.hero .eyebrow{font-size:10px;margin-bottom:20px}.location{font-size:13px}h1{font-size:43px;line-height:1.42}.intro{font-size:14px;margin-top:25px}.hero-tags{gap:8px}.hero-tags span{font-size:12px}.hero-copy>.button{width:100%;font-size:14px}.subtle{font-size:11px}.hero-visual{min-height:260px}.hero-visual>img{width:150%;height:auto;top:-80px}.vertical{font-size:10px}.photo-label{font-size:14px;bottom:18px;left:6%}.hero-bottom{padding:14px 6%;font-size:11px}.hero-bottom>a span{padding-left:8px}.section{padding:52px 6%}.section-heading h2{font-size:28px}.benefits .section-heading{display:block}.benefit-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.benefit-grid article{position:relative;padding-left:58px;padding-top:20px}.number{position:absolute;left:0;top:22px;font-size:30px}.benefit-grid h3{font-size:20px;margin:0 0 8px}.benefit-grid p{font-size:14px}.requirements{grid-template-columns:1fr;gap:20px}.pay{padding:20px}.pay strong{font-size:49px}dl>div{grid-template-columns:80px 1fr;gap:12px;font-size:13px}.steps{grid-template-columns:1fr;gap:25px}.steps h3{margin:6px 0}.steps p{margin:0}.entry h2{font-size:32px}.entry .eyebrow{font-size:10px}.entry-actions{flex-direction:column;gap:25px}.entry-actions .button{width:100%}.phone{text-align:center}.business{gap:20px;align-items:flex-start;flex-direction:column;padding:30px 6%}.business h2{font-size:19px}footer{padding:30px 6%;gap:24px}.footer-links{gap:20px}footer small{width:100%;margin:0}.mobile-entry{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr 1.5fr;background:white;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-entry a{text-align:center;padding:17px 8px;font-size:14px;font-weight:700}.mobile-entry a:last-child{background:var(--yellow)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.jobs{padding-bottom:65px}.job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:36px}.job-card{border:1px solid var(--line);border-top:5px solid var(--navy);padding:32px;display:flex;flex-direction:column}.job-card.half-day{border-top-color:var(--yellow);background:var(--pale)}.job-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-area{font-size:.875rem;font-weight:700}.job-index{font:32px Arial,sans-serif;color:#7e90a2}.job-card h3{font-size:1.75rem;line-height:1.6;margin:18px 0}.job-card>p{margin:0 0 16px}.check-list{list-style:none;margin:0 0 25px;padding:0}.check-list li{position:relative;padding:5px 0 5px 26px}.check-list li:before{content:'✓';position:absolute;left:0;font-weight:bold;color:var(--navy)}.job-highlight{margin-top:auto;padding:20px;background:var(--navy);color:white}.job-highlight strong{display:block;font-size:1.125rem;color:var(--yellow)}.job-highlight span{display:block;font-size:.875rem;margin-top:6px}.job-card .text-link{align-self:flex-start}.job-footnote{font-size:.875rem;color:#536a7c;margin:20px 0 0}.benefits{background:var(--pale);max-width:none}.branch{display:grid;grid-template-columns:1fr 1.7fr;gap:60px}.branch-label{display:inline-block;background:var(--yellow);padding:5px 12px;font-size:.875rem;font-weight:700}.branch-copy h3{font-size:1.5rem;line-height:1.6}.branch-copy p{margin-bottom:0}.recruit-banner{padding:25px 30px;background:var(--navy);border-left:5px solid var(--yellow);color:white}.recruit-banner strong{font-size:1.5rem}.recruit-banner p{margin:8px 0 0}.intro,.section-heading p:not(.eyebrow),.benefit-grid p,.steps p,.entry>p:not(.eyebrow),dl>div{font-size:1rem}.hero-tags span,.pill,.text-link,.phone span,.phone small{font-size:.875rem}.subtle,.eyebrow,.note,footer small,.hero .eyebrow,.vertical,.entry .eyebrow{font-size:.75rem}.hero-bottom{gap:20px;flex-wrap:wrap}.hero-bottom a{white-space:nowrap}.hero-visual>img{width:240%;height:100%;object-fit:cover;object-position:left center}.hero-copy{min-width:0}.job-detail{min-width:0}
@media(max-width:1050px){.job-card{padding:24px}.job-card h3{font-size:1.5rem}.branch{gap:35px}}
@media(max-width:700px){.job-grid,.branch{grid-template-columns:1fr;gap:24px}.job-card{padding:24px 20px}.job-card h3{font-size:1.5rem}.hero-bottom{font-size:.75rem;gap:8px}.hero-copy{padding-left:6%;padding-right:6%}.hero-tags{gap:8px}.hero-tags span{padding:3px 9px}.hero-visual>img{width:150%;height:auto;top:-80px}.benefit-grid h3{font-size:1.25rem}.benefit-grid p{font-size:1rem}.pill{font-size:.875rem}.recruit-banner{padding:22px 20px}.recruit-banner strong{font-size:1.25rem}dl>div{grid-template-columns:1fr;gap:6px}.branch-copy h3{font-size:1.25rem}.brand img{width:165px}.button.small{font-size:.875rem;gap:6px}.hero-copy>.button{padding-left:18px;padding-right:18px;gap:12px}.hero-tags span{font-size:.875rem}.job-highlight strong{font-size:1.05rem}.location{font-size:.875rem}.mobile-entry a{font-size:.875rem}}

/* Detailed recruitment and company information */
.job-salary{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;color:var(--navy);line-height:1.5;margin:0 0 8px}.job-salary strong{font-family:Arial,sans-serif;font-size:clamp(1.5rem,2.35vw,2.125rem);white-space:nowrap}.job-salary strong span{font-size:1.125rem;margin:0 4px}.job-salary>span{font-size:.875rem}.job-card .salary-caption{font-size:.875rem;color:#536a7c;margin-bottom:20px}.recruit-banner>span{font-size:.875rem;display:block;margin-bottom:6px}.recruit-banner>strong{display:block;font-size:clamp(1.375rem,2.4vw,2rem)}.experience{border-bottom:1px solid var(--line);padding:18px 0}.experience summary{font-weight:700;cursor:pointer;padding:5px 0}.experience p{font-size:1rem}.selection-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.selection-steps h3{font-size:1.125rem}.interview{max-width:none;background:var(--pale);display:grid;grid-template-columns:1fr 1.3fr;gap:60px}.interview h2{font-size:2rem}.interview-detail h3{font-size:1.125rem;margin:18px 0 10px}.interview-detail address{font-style:normal}.interview-detail>p{font-size:.875rem;color:#536a7c}.company{display:grid;grid-template-columns:1fr 1.7fr;gap:60px}.company dl{margin:0}.company dl>div:first-child{padding-top:0}.email-contact{margin:26px 0 0;font-size:.875rem!important;overflow-wrap:anywhere}.email-contact a,.company dd a{text-decoration:underline;text-underline-offset:4px}.company dd{overflow-wrap:anywhere}
@media(max-width:1050px){.selection-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.interview,.company{gap:35px}.interview h2{font-size:1.75rem}}
@media(max-width:700px){.selection-steps,.interview,.company{grid-template-columns:1fr}.job-salary strong{font-size:1.75rem}.interview h2{font-size:1.6rem}.company{gap:15px}.company dl>div:first-child{padding-top:16px}}

.rw-header .brand img{width:240px}.rw-header .desktop-nav{gap:24px}.mobile-nav{display:none}.rw-footer{background:var(--deep);color:white;align-items:flex-start}.rw-footer .footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 30px;margin-left:auto;font-weight:400}.rw-footer p,.rw-footer nav{font-size:.875rem}.rw-footer p span{font-size:.75rem;margin-left:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #4b627d;padding-top:20px;width:100%;gap:20px}.footer-bottom small{margin:0;color:#d7e0e9}.site-search{font-size:.875rem;max-width:340px}.site-search summary{cursor:pointer}.site-search form{display:flex;align-items:flex-end;gap:10px;margin-top:10px}.site-search input{max-width:100%;width:220px}.site-search button{padding:10px;background:var(--yellow);border:0}.page-hero{background:var(--navy);color:white;padding:24px 7% 65px}.breadcrumb{font-size:.8125rem;margin-bottom:32px;color:#cfdaea}.breadcrumb a{text-decoration:underline}.page-hero .eyebrow{color:var(--yellow);margin-bottom:16px}.page-hero h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.4;margin-bottom:22px}.page-hero>p:last-child{max-width:760px}.story-grid,.service-intro,.request-intro,.location-block,.form-layout,.company-profile,.certificate{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}.story-grid>img{width:100%;height:340px;object-fit:cover}.section h2{font-size:clamp(1.5rem,2.8vw,2.25rem);line-height:1.6}.story-grid h2{margin-top:0}.philosophy{background:var(--pale);max-width:none}.philosophy h2{font-size:clamp(1.4rem,2.6vw,2.1rem)}.values{display:flex;flex-wrap:wrap;gap:24px;margin-top:35px}.values span{padding-left:18px;border-left:4px solid var(--yellow);font-weight:bold}.president{margin:30px 0 0;max-width:350px}.president img{width:100%;height:auto}.president figcaption{font-size:.875rem;margin-top:12px}.company-profile dl{margin:0}.company-profile dl>div{grid-template-columns:95px 1fr}.company-profile dd a{overflow-wrap:anywhere;text-decoration:underline}.certificate{background:var(--pale);max-width:none}.certificate>a{display:flex;flex-direction:column;align-items:center;font-size:.875rem;text-decoration:underline}.certificate img{width:min(100%,360px);height:auto;margin-bottom:15px}.contact-band{display:flex;justify-content:space-between;align-items:center;gap:35px;background:var(--navy);color:white;max-width:none}.contact-band .eyebrow{color:var(--yellow)}.contact-band h2{margin:0 0 16px}.contact-band .button{flex-shrink:0}.service-intro{grid-template-columns:1.1fr 1fr;align-items:center}.service-intro>img{width:100%;height:460px;object-fit:cover}.service-list{padding-top:0}.service-list article{display:grid;grid-template-columns:90px 1fr;gap:30px;border-top:1px solid var(--line);padding:40px 0}.service-list h2{margin:0 0 10px}.service-list h3{font-size:1.125rem;margin:0}.service-list p{max-width:850px}.service-tags{font-size:.875rem;color:#526b80}.area-panel{background:var(--pale);padding:30px}.area-panel h3{margin:0;font-size:1.25rem}.area-panel ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.area-panel li{padding:5px 14px;background:white;border:1px solid var(--line)}.area-panel p{font-size:.875rem}.request-check{background:var(--pale);max-width:none}.request-contacts{display:flex;flex-wrap:wrap;gap:25px 55px;align-items:center}.request-contacts h2{width:100%;margin:0}.location-block{grid-template-columns:1fr 1fr;align-items:center}.location-block address{font-style:normal;margin:22px 0}.location-map iframe{border:0;width:100%;height:400px}.kanayama{background:var(--pale);max-width:none}.form-layout{grid-template-columns:1fr 1.6fr}.form-layout aside h2{margin-top:0}.form-surface{padding:35px;background:var(--pale)}.form-phone{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:flex;flex-direction:column}.form-phone>a{font-family:Arial,sans-serif;font-size:1.75rem;font-weight:bold}.form-phone span,.form-phone small{font-size:.875rem}.form-help{margin-top:0;font-size:.875rem}.wpcf7-form p{margin:0 0 24px}.wpcf7-form label{display:block;font-size:1rem;font-weight:700}.wpcf7-form font{font-size:.75rem;margin-left:6px;color:#ad2525}.wpcf7-form input:not([type=submit]):not([type=hidden]),.wpcf7-form textarea,.wpcf7-form select,.post-password-form input,.site-search input,.search-form input{display:block;width:100%;max-width:100%;border:1px solid #b8c7d3;background:white;border-radius:0;padding:12px;font:inherit;color:var(--ink);margin-top:8px}.wpcf7-form textarea{min-height:170px;resize:vertical}.wpcf7-form input[type=submit],.post-password-form input[type=submit],.search-submit{background:var(--yellow);color:var(--deep);font-size:1rem;font-weight:bold;padding:17px 30px;border:0;cursor:pointer;min-width:160px}.wpcf7-form .wpcf7-not-valid-tip{font-size:.875rem}.wpcf7-form .wpcf7-response-output{margin:16px 0;padding:14px}.privacy{font-size:.875rem;border-top:1px solid var(--line);padding-top:20px}.privacy summary{font-weight:bold;cursor:pointer}.fallback-content{min-height:45vh}.fallback-content img{max-width:100%;height:auto}.fallback-content h1{color:var(--navy);font-size:2rem}.post-password-form{max-width:550px}.search-result{border-bottom:1px solid var(--line);padding:20px 0}.search-result h2{font-size:1.25rem}body.admin-bar .rw-header{top:32px}.mobile-nav nav a:hover,.footer-links a:hover{text-decoration:underline}.rw-header .brand{flex-shrink:0}.rw-header .desktop-nav a{white-space:nowrap}
@media(max-width:1100px){.rw-header .brand img{width:210px}.rw-header .desktop-nav{gap:18px}.rw-header{padding:0 4%}.story-grid,.service-intro,.request-intro,.location-block,.form-layout,.company-profile,.certificate{gap:32px}.form-surface{padding:25px}}
@media(max-width:850px){.rw-header .desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;font-weight:bold;padding:10px 14px;border:1px solid var(--line);font-size:.875rem}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:white;padding:20px 6%;display:flex;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 10px 20px #10243a20}.mobile-nav nav a{padding:10px 0;border-bottom:1px solid var(--line)}.contact-band{flex-direction:column;align-items:flex-start}.story-grid,.company-profile,.form-layout{grid-template-columns:1fr}.story-grid>img{max-width:700px}.president{max-width:260px}.form-layout aside h2 br{display:none}.rw-footer .footer-links{margin-left:0}}
@media(max-width:700px){.rw-header .brand img{width:195px}.page-hero{padding:20px 6% 40px}.page-hero h1{font-size:1.9rem}.breadcrumb{margin-bottom:25px}.story-grid,.service-intro,.request-intro,.location-block,.certificate{grid-template-columns:1fr}.story-grid>img{height:240px}.service-intro>img{height:340px}.service-list article{grid-template-columns:40px 1fr;gap:18px}.service-list .number{position:static;font-size:1.7rem}.service-list h2{font-size:1.5rem}.company-profile dl>div{grid-template-columns:1fr;gap:4px}.location-map iframe{height:300px}.form-surface{padding:24px 18px}.values{gap:18px}.contact-band .button{font-size:.875rem;padding:16px 20px}.rw-footer .footer-links{width:100%;gap:8px 15px}.footer-bottom{flex-wrap:wrap}.rw-footer{gap:28px}.rw-footer p{font-size:.8125rem}.mobile-entry{z-index:30}.certificate img{max-width:300px}.site-search input{width:180px}.form-layout .button{width:100%}body.admin-bar .rw-header{top:46px}}
.mobile-nav nav a,.rw-footer .footer-links a{display:block}
