@font-face{font-family:Kidsleaf;src:url(fonts/ZenKakuGothicAntique-Regular.ttf);font-weight:400;font-display:swap}@font-face{font-family:Kidsleaf;src:url(fonts/ZenKakuGothicAntique-Bold.ttf);font-weight:700;font-display:swap}@font-face{font-family:KidsleafSerif;src:url(fonts/NotoSerifJP-Regular.ttf);font-display:swap}
:root{--forest:#3d7a4a;--leaf:#73b79d;--ivory:#f8f2e6;--mint:#eff6ef;--ink:#1e2a1e;--muted:#59645a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:145px;scrollbar-color:var(--leaf) var(--ivory)}body{margin:0;color:var(--ink);font-family:Kidsleaf,sans-serif;font-size:16px;line-height:1.9}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none;text-underline-offset:5px}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}::selection{background:#cde4d8;color:var(--ink)}:focus-visible{outline:3px solid var(--forest);outline-offset:5px}a:hover{text-decoration:underline}.skip{position:fixed;left:12px;top:-80px;z-index:99;padding:10px;background:white}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e1e7df}.header-main{display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:17px 4%;gap:24px}.brand{display:flex;align-items:center;gap:25px}.brand img{width:162px}.brand span{font-size:12px;line-height:1.6;letter-spacing:.08em}.brand b{font-size:15px}.header-actions{display:flex;gap:12px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--forest);border:1px solid var(--forest);border-radius:28px;padding:9px 28px;color:#fff;font-weight:700;font-size:14px;transition:background .2s}.button:hover{background:#2c6237;text-decoration:none}.button.outline{background:#fff;color:var(--forest)}.button.outline:hover{background:var(--mint)}.button:disabled{color:var(--muted);border-color:#a6b4a6;background:#f8faf7;cursor:not-allowed}.header nav{display:flex;justify-content:center;gap:30px;padding:7px 24px 16px;font-size:13px;font-weight:700}.header nav a{white-space:nowrap}.header nav span{color:var(--forest);margin-left:9px}.menu{display:none}.hero{position:relative;height:min(790px,calc(100svh - 135px));min-height:580px;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#173c285c,transparent 70%),linear-gradient(0deg,#183a2666,transparent 40%)}.hero h1{position:absolute;left:15%;top:14%;display:flex;flex-direction:row-reverse;gap:24px;color:white;font-size:clamp(26px,2.5vw,37px);line-height:1.8;letter-spacing:.13em;font-weight:700;text-shadow:0 2px 14px #102c2470}.hero h1 span{writing-mode:vertical-rl}.hero h1 span:nth-child(2){margin-top:30px}.hero h1 span:nth-child(3){margin-top:60px}.hero-bottom{position:absolute;left:5%;right:5%;bottom:32px;display:flex;align-items:end;justify-content:space-between;color:white}.hero-bottom p{margin:0;font-size:14px;letter-spacing:.08em}.hero-bottom a{font-size:11px;letter-spacing:.2em}.hero-bottom a span{display:block;text-align:center;font-size:25px}.section{padding:96px 30px}.wrap{max-width:1120px;margin:auto}.section-heading{text-align:center;margin-bottom:54px}.section h2,.photo-title h2{font-size:32px;letter-spacing:.09em;line-height:1.7;margin-bottom:8px;font-weight:700}.english{display:block;font-size:12px;font-weight:700;color:var(--forest);letter-spacing:.14em;margin-bottom:24px}.section-heading p{margin-bottom:0;color:var(--muted)}.message{position:relative;text-align:center;padding:115px 25px 120px;overflow:hidden}.message h2,.entry h2{font-family:KidsleafSerif,serif;font-size:34px;font-weight:400;color:var(--forest);line-height:1.9;margin-bottom:34px}.message p{line-height:2.3;margin-bottom:22px}.branch{position:absolute;width:145px;pointer-events:none}.branch.left{left:-18px;top:65px}.branch.right{right:-18px;bottom:45px}.mobile-only{display:none}.features{background:var(--mint);padding-bottom:80px}.photo-title{height:360px;position:relative;display:grid;place-items:center;color:#fff;text-align:center}.photo-title>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}.photo-title:after{content:'';position:absolute;inset:0;background:#16372485}.photo-title>div{position:relative;z-index:1}.photo-title .english{color:white}.photo-title p{margin:0;font-weight:700}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:55px 20px 0}.feature-grid article{text-align:center}.number{color:var(--forest);font-family:KidsleafSerif,serif;font-size:38px;line-height:1;display:block;margin-bottom:22px}.feature-grid h3{font-size:20px;color:var(--forest);line-height:1.8;margin-bottom:18px}.feature-grid p{text-align:left;font-size:14px;line-height:2}.day-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;align-items:start}.day-photo img{aspect-ratio:4/3;object-fit:cover}.day-photo p{font-family:KidsleafSerif,serif;color:var(--forest);font-size:22px;line-height:1.9;margin:30px 0}.timeline{list-style:none;padding:0;margin:0}.timeline li{position:relative;border-left:1px solid #b5cfbb;padding:0 0 30px 30px;margin-left:6px}.timeline li:before{content:'';position:absolute;top:10px;left:-6px;width:11px;height:11px;border-radius:50%;background:var(--forest)}.timeline li:last-child{padding-bottom:0;border-color:transparent}.timeline li>span{color:var(--forest);font-size:12px;font-weight:700;letter-spacing:.06em}.timeline h3{font-size:19px;margin:5px 0 7px}.timeline p{font-size:14px;color:var(--muted);margin:0}.note{font-size:12px;color:var(--muted);line-height:1.8}.center{text-align:center;margin:30px auto 0}.people{background:var(--ivory)}.people-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.people-layout>img{width:100%;aspect-ratio:1.25;object-fit:cover}.people-layout h3{font-family:KidsleafSerif,serif;color:var(--forest);font-size:27px;line-height:1.8;font-weight:400}.people-layout p{line-height:2.2}.editor-note{font-size:12px;color:var(--muted);border-top:1px solid #c9d0bf;padding-top:16px;margin-top:30px}.training-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.training-grid article{padding:30px 0;border-top:1px solid var(--leaf)}.training-grid article>span{display:inline-block;color:var(--forest);font-size:14px;margin-bottom:20px}.training-grid h3{font-size:24px}.training-grid p{font-size:15px;color:var(--muted);margin:0}.requirements{background:var(--mint)}.requirements-inner{max-width:900px;margin:auto}.draft-label{font-size:13px;color:var(--forest);text-align:center;margin-bottom:25px}.requirements dl{margin:0;background:white;padding:16px 36px}.requirements dl>div{display:grid;grid-template-columns:220px 1fr;padding:25px 0;border-bottom:1px solid #dce5da;gap:30px}.requirements dl>div:last-child{border:0}.requirements dt{font-weight:700;color:var(--forest)}.requirements dd{margin:0;font-size:15px}.requirements dd .note{display:block;margin-top:8px}.pending{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:26px}.steps li{border-top:1px solid var(--leaf);padding-top:24px}.steps span{font-family:KidsleafSerif,serif;color:var(--forest);font-size:32px}.steps h3{font-size:20px;margin:15px 0 12px}.steps p{font-size:14px;color:var(--muted)}.faq{background:var(--ivory)}.faq-list{max-width:900px;margin:auto}.faq details{border-bottom:1px solid #ccd4c8}.faq summary{position:relative;cursor:pointer;list-style:none;padding:25px 48px 25px 0;font-weight:700;display:flex;gap:22px}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:23px;color:var(--forest);line-height:1.4}.faq summary:after{content:'';width:12px;height:12px;background:linear-gradient(var(--forest),var(--forest)) center/12px 1px no-repeat,linear-gradient(var(--forest),var(--forest)) center/1px 12px no-repeat;top:33px;position:absolute;right:10px;color:var(--forest);font-size:22px;font-weight:400}.faq details[open] summary:after{content:'';background:linear-gradient(var(--forest),var(--forest)) center/12px 1px no-repeat}.faq details>p{padding:0 40px 25px 40px;margin:0;font-size:15px;color:var(--muted)}.entry{background:var(--mint);position:relative;overflow:hidden;text-align:center;padding:100px 25px}.entry h2{font-size:38px}.entry-actions{display:flex;justify-content:center;gap:20px;margin:32px 0 22px}.entry .button{min-width:245px;min-height:56px}.entry small{font-size:12px;color:var(--muted)}footer{padding:58px 25px 32px;text-align:center}footer img{width:175px;margin:0 auto 22px}.back-home{font-size:13px;color:var(--forest)}footer p{font-size:11px;margin:32px 0 12px;color:var(--muted)}footer small{font-size:11px;color:var(--muted)}.mobile-dock{display:none}
@media(min-width:1500px){.hero h1{left:20%}}
@media(max-width:1050px){.header nav{gap:17px;font-size:12px}.brand{gap:15px}.header-actions .button{padding:8px 20px;gap:14px}.feature-grid{gap:24px}.hero h1{left:11%}.people-layout{gap:40px}.requirements dl>div{grid-template-columns:190px 1fr}}
@media(max-width:760px){html{scroll-padding-top:90px}.header-main{padding:12px 20px;min-height:78px}.brand img{width:125px}.brand span{font-size:10px}.brand b{font-size:12px}.header-actions{display:none}.menu{display:block;background:none;border:0;color:var(--forest);font-size:12px;padding:10px 0}.header nav{display:none;padding:15px 25px 25px;max-height:calc(100svh - 80px);overflow:auto}.header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.header nav a{font-size:13px;padding:15px 0;border-bottom:1px solid #dce5da}.header nav span{float:right}.hero{min-height:580px;height:calc(100svh - 78px);max-height:760px}.hero>img{object-position:58% center}.hero h1{left:7%;top:16%;font-size:27px;gap:15px;letter-spacing:.12em}.hero-bottom{bottom:36px;left:7%;right:7%}.hero-bottom p{font-size:12px}.hero-bottom a{font-size:9px}.section{padding:66px 23px}.section h2,.photo-title h2{font-size:26px;letter-spacing:.04em}.section-heading{margin-bottom:35px}.section-heading p{font-size:14px}.english{font-size:10px;margin-bottom:20px}.message{padding:75px 23px}.message h2{font-size:25px}.message p{font-size:14px}.branch{width:80px;opacity:.75}.branch.left{left:-25px;top:15px}.branch.right{right:-25px;bottom:12px}.mobile-only{display:inline}.photo-title{height:300px}.photo-title p{font-size:14px}.feature-grid{grid-template-columns:1fr 1fr;gap:30px 25px;padding:38px 23px 0}.feature-grid h3{font-size:18px}.feature-grid p{font-size:13px}.features{padding-bottom:45px}.number{font-size:31px;margin-bottom:14px}.day-layout,.people-layout{grid-template-columns:1fr;gap:30px}.day-photo img{aspect-ratio:1.5}.day-photo p{font-size:20px;margin:22px 0 4px}.timeline li{padding-left:25px}.timeline p{font-size:14px}.people-layout>img{aspect-ratio:1.5}.people-layout h3{font-size:24px}.people-layout p{font-size:14px}.training-grid{grid-template-columns:1fr;gap:14px}.training-grid article{padding:22px 0}.training-grid h3{font-size:21px;margin-bottom:12px}.training-grid article>span{margin-bottom:8px}.requirements dl{padding:0 22px}.requirements dl>div{grid-template-columns:1fr;gap:8px;padding:22px 0}.requirements dt{font-size:14px}.requirements dd{font-size:14px}.steps{grid-template-columns:1fr 1fr;gap:25px}.steps h3{font-size:18px}.steps p{font-size:13px}.steps p br{display:none}.steps span{font-size:27px}.faq summary{font-size:14px;gap:15px;padding:22px 30px 22px 0}.faq summary:after{right:0}.faq details>p{font-size:14px;padding-left:30px;padding-right:10px}.entry h2{font-size:29px}.entry p{font-size:14px}.entry-actions{flex-direction:column;align-items:stretch;max-width:340px;margin:30px auto 20px;gap:12px}.entry .button{font-size:14px}footer{padding-bottom:110px}.mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:25;padding:10px 12px max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:9px;background:#fff;border-top:1px solid #dce5da}.mobile-dock a{border:1px solid var(--forest);border-radius:24px;text-align:center;color:var(--forest);font-size:13px;font-weight:700;padding:9px 5px}.mobile-dock a:last-child{background:var(--forest);color:white}}
@media(max-width:370px){.brand{gap:9px}.brand img{width:104px}.hero h1{font-size:24px}.feature-grid{gap:25px 18px}.feature-grid h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.icon{display:inline-block;width:18px;height:18px;vertical-align:middle;flex-shrink:0}.header nav .icon{width:12px;height:12px}.hero-bottom .icon{width:25px;height:25px}.menu .icon{width:13px;height:13px}.menu[aria-expanded="true"] .icon{transform:rotate(45deg)}

/* Pastel illustrations matching the homepage feature cards. */
.feature-grid{max-width:1240px;gap:24px}.feature-grid article{background:#fff;padding:26px 18px 24px}.recruit-feature-illustration{width:185px;height:172px;object-fit:contain;margin:0 auto 18px}.feature-grid h3{font-size:19px}.feature-grid p{margin-bottom:0}@media(max-width:1050px) and (min-width:761px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}}@media(max-width:760px){.feature-grid{gap:20px;padding:35px 23px 0}.feature-grid article{padding:20px 14px 24px}.recruit-feature-illustration{width:155px;height:145px;margin-bottom:15px}.feature-grid h3{font-size:18px}}@media(max-width:480px){.feature-grid{grid-template-columns:1fr}.feature-grid article{padding:24px}.recruit-feature-illustration{width:180px;height:165px}.feature-grid h3{font-size:21px}.feature-grid p{font-size:15px;text-align:center}}

/* Recruitment conversions: LINE video / application. */
.button.line-cta{background:#06c755;border-color:#06c755;color:#fff}.button.line-cta:hover{background:#05b34c}.button.apply-cta{background:var(--forest);border-color:var(--forest);color:white;min-width:140px}.header-actions{gap:12px}.header-actions .button{padding:10px 22px;gap:15px}.video-invite{padding:64px 30px;background:var(--ivory)}.video-invite-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:center}.video-thumbnail{display:block;text-decoration:none;overflow:hidden;border-radius:12px;background:#fff}.video-thumbnail img{display:block;width:100%;height:auto}.video-thumbnail>span{display:block;text-align:center;color:var(--forest);font-size:13px;font-weight:700;padding:10px 15px}.video-invite h2{font-size:28px;line-height:1.8;letter-spacing:.04em;margin-bottom:16px;color:var(--forest)}.video-invite-copy p{font-size:15px;line-height:2;margin-bottom:23px}.video-invite .button{min-height:54px}.conversion-status{display:block;color:var(--muted);font-size:12px;margin:12px 0 0;line-height:1.8}.requirements-conversion{background:var(--mint);text-align:center;padding:0 24px 70px}.requirements-conversion p{font-size:15px;margin-bottom:18px}.conversion-choices{display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:1050px;margin-top:42px}.conversion-choices article{background:white;padding:32px;min-width:0}.conversion-choices h3{font-size:20px;margin-bottom:24px}.conversion-choices .button{width:100%;margin-top:24px}.apply-choice{display:flex;flex-direction:column;align-items:center;scroll-margin-top:160px}.apply-choice .apply-message{font:26px/1.9 KidsleafSerif,serif;color:var(--forest);margin:18px 0}.apply-choice>p:not(.apply-message){font-size:14px;line-height:2;margin:auto 0 0}.requirements-text-link{font-size:13px;margin-top:20px;color:var(--forest);text-decoration:underline}.mobile-dock{grid-template-columns:1.9fr 1fr}.mobile-dock .button{padding:10px 8px;gap:4px;min-width:0;min-height:48px;white-space:normal;font-size:12px;line-height:1.5}.mobile-dock .line-cta{background:#06c755;color:white;border-color:#06c755}.mobile-dock .icon{width:14px;height:14px}
@media(max-width:1050px){.header-actions .button{font-size:12px;gap:10px;padding:9px 14px}.video-invite-inner{gap:30px}.video-invite h2{font-size:25px}}
@media(max-width:760px){.video-invite{padding:42px 23px}.video-invite-inner{grid-template-columns:1fr;gap:26px;max-width:490px}.video-invite-copy{text-align:center}.video-invite h2{font-size:24px}.video-invite-copy p{font-size:14px}.video-invite .button{width:100%;gap:12px;padding:12px 15px;font-size:14px}.conversion-choices{grid-template-columns:1fr;gap:24px}.conversion-choices article{padding:26px 22px}.conversion-choices h3{font-size:18px}.apply-choice .apply-message{font-size:25px;margin:15px 0 25px}.apply-choice{scroll-margin-top:90px}.entry .conversion-choices .button{min-width:0;font-size:13px;gap:10px}.requirements-conversion{padding-bottom:45px}}

/* User-supplied video thumbnail; decorative play indicator, LINE destination retained. */
.video-thumbnail>.video-preview-frame{display:block;position:relative;padding:0;line-height:0;overflow:hidden}.video-preview-frame>img{width:100%;height:auto;display:block}.video-preview-shade{position:absolute;inset:0;background:rgba(0,0,0,.28);pointer-events:none}.video-preview-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border:2px solid rgba(255,255,255,.95);border-radius:50%;background:rgba(255,255,255,.94);color:#3d7a4a;box-shadow:0 4px 18px #0003;pointer-events:none}.video-preview-play svg{width:34px;height:34px}.video-thumbnail:hover .video-preview-shade{background:rgba(0,0,0,.22)}@media(max-width:480px){.video-preview-play{width:56px;height:56px}.video-preview-play svg{width:29px;height:29px}}

/* Video introduction heading above its thumbnail and accompanying copy. */
#video-heading{grid-column:1/-1;text-align:center;margin:0 0 8px}#video .video-invite-inner{row-gap:26px}@media(max-width:760px){#video-heading{margin:0}#video .video-invite-inner{row-gap:24px}}

/* Recruitment day flow inherits the homepage's alternating photo timeline. */
.work-day{background:var(--ivory);padding:0 24px 80px}.work-day-heading{background:var(--mint);margin:0 -24px 60px;padding:46px 24px;text-align:center}.work-day-heading h2{margin:0 0 12px;color:var(--forest);font:400 clamp(27px,3vw,36px)/1.7 KidsleafSerif,serif;letter-spacing:.1em}.work-day-heading p{margin:0;color:var(--muted);font-size:14px}.work-day-intro{text-align:center;margin:0 auto 48px}.work-day-intro p{margin:0;color:var(--forest);font-size:19px;letter-spacing:.08em}.work-day-intro small{display:block;font-size:13px;margin-top:10px;color:var(--muted)}.work-timeline{position:relative;list-style:none;max-width:940px;margin:0 auto;padding:35px 0 50px;display:flex;flex-direction:column}.work-timeline:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:#cee4cc}.work-step{position:relative;width:calc(50% - 66px);align-self:flex-end;margin:0 0 35px}.work-step:nth-child(even){align-self:flex-start}.work-step+.work-step{margin-top:-45px}.work-step:before{content:'';position:absolute;left:-66px;top:145px;width:66px;border-top:2px dotted var(--leaf)}.work-step:after{content:'';position:absolute;left:-72px;top:140px;width:12px;height:12px;border-radius:50%;background:var(--leaf)}.work-step:nth-child(even):before{left:auto;right:-66px}.work-step:nth-child(even):after{left:auto;right:-72px}.work-time{text-align:right;font-size:12px;color:var(--forest);letter-spacing:.08em;margin:0 0 12px}.work-time:before,.work-time:after{content:'';display:inline-block;vertical-align:middle;width:1px;height:12px;background:var(--leaf);transform:rotate(35deg);margin:0 12px}.work-media{position:relative}.work-media img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:7px}.work-media.work-illustration{background:#fff;border-radius:7px}.work-media.work-illustration img{object-fit:contain;padding:10px}.work-number{position:absolute;top:-16px;left:-16px;width:34px;height:34px;display:grid;place-items:center;background:var(--forest);color:white;font:19px/1 KidsleafSerif,serif;border-radius:50%;z-index:1}.work-step h3{font:400 20px/1.8 KidsleafSerif,serif;color:var(--forest);text-align:center;letter-spacing:.04em;margin:20px 0 12px}.work-description{font-size:14px;line-height:2;color:var(--muted);margin:0}.work-day-closing{text-align:center;color:var(--forest);font:400 24px/1.8 KidsleafSerif,serif;letter-spacing:.12em;margin:36px auto 0}.work-day>.note{max-width:900px}
@media(max-width:700px){.work-day{padding:0 24px 60px}.work-day-heading{margin-bottom:38px;padding:35px 22px}.work-day-heading p{font-size:12px}.work-day-intro{margin-bottom:30px}.work-day-intro p{font-size:17px}.work-day-intro small{font-size:12px}.work-timeline{max-width:440px;padding:20px 0 25px 34px}.work-timeline:before{left:0;transform:none}.work-step,.work-step:nth-child(even){width:100%;align-self:auto;margin:0 0 50px}.work-step+.work-step{margin-top:0}.work-step:before,.work-step:nth-child(even):before{left:-34px;right:auto;top:115px;width:34px}.work-step:after,.work-step:nth-child(even):after{left:-39px;right:auto;top:110px}.work-number{width:30px;height:30px;left:-12px;top:-12px;font-size:17px}.work-step h3{font-size:19px}.work-day-closing{font-size:21px}.work-step:last-child{margin-bottom:0}}

/* Match the recruitment page typography in the day-flow section. */
.work-day-heading h2{font-family:Kidsleaf,sans-serif;font-weight:700;font-size:32px;letter-spacing:.09em}.work-step h3{font-family:Kidsleaf,sans-serif;font-weight:700}.work-number{font-family:Kidsleaf,sans-serif}.work-day-closing{font-family:Kidsleaf,sans-serif;font-weight:400}@media(max-width:760px){.work-day-heading h2{font-size:26px;letter-spacing:.04em}}

/* Training cards and connected recruitment process diagram. */
.training-grid{gap:28px;max-width:1050px}.training-grid article{background:var(--mint);border:0;border-radius:16px;padding:38px 36px}.training-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:white;color:var(--forest);margin:0 0 26px}.training-icon svg{width:43px;height:43px}.training-grid h3{font-size:23px;color:var(--forest);margin-bottom:18px}.training-grid p{line-height:2;font-size:15px}.steps{gap:34px;max-width:1120px;align-items:stretch}.steps li{position:relative;border:1px solid #cfe0ce;border-radius:16px;background:var(--mint);padding:28px 20px 26px;text-align:center;min-width:0}.steps li:last-child{background:var(--forest);border-color:var(--forest);color:white}.steps .step-count{display:block;font:700 12px/1.5 Kidsleaf,sans-serif;color:var(--forest);letter-spacing:.12em;margin-bottom:20px}.step-icon{width:70px;height:70px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--forest)}.step-icon svg{width:39px;height:39px}.steps h3{margin:0 0 14px;font-size:19px}.steps p{font-size:14px;line-height:1.9;margin:0}.steps p br{display:none}.steps li:last-child .step-count,.steps li:last-child p{color:white}.steps .step-arrow{position:absolute;left:calc(100% + 1px);top:50%;transform:translateY(-50%);width:32px;height:32px;color:var(--leaf);display:block;line-height:1}.step-arrow svg{display:block;width:32px;height:32px}
@media(max-width:1000px) and (min-width:761px){.steps{gap:28px}.steps li{padding:24px 12px}.steps h3{font-size:17px}.steps p{font-size:13px}.steps .step-arrow,.step-arrow svg{width:26px;height:26px}}
@media(max-width:760px){.training-grid{gap:22px}.training-grid article{padding:28px 25px}.training-icon{width:64px;height:64px;margin-bottom:20px}.training-icon svg{width:36px;height:36px}.training-grid h3{font-size:21px}.steps{grid-template-columns:1fr;gap:38px;max-width:480px}.steps li{padding:25px 24px 25px 108px;text-align:left;min-height:155px}.steps .step-count{margin-bottom:10px}.step-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:64px;height:64px;margin:0}.step-icon svg{width:36px;height:36px}.steps h3{font-size:20px;margin-bottom:9px}.steps p{font-size:14px}.steps .step-arrow{left:50%;top:calc(100% + 3px);transform:translateX(-50%) rotate(90deg);width:32px;height:32px}}
@media(max-width:370px){.steps li{padding-left:90px;padding-right:17px}.step-icon{left:16px;width:56px;height:56px}.steps h3{font-size:18px}}

/* Center the people message above its photograph. */
.people-layout{display:flex;flex-direction:column;gap:30px;text-align:center}.people-message{width:100%;max-width:760px}.people-message h3{margin:0 0 24px}.people-message p{margin:0;line-height:2.2}.people-layout>img{width:100%;max-width:760px;aspect-ratio:3/2;object-fit:cover}.people-layout>.editor-note{width:100%;max-width:760px;margin:0;padding-top:18px}@media(max-width:760px){.people-layout{gap:26px}.people-message h3{margin-bottom:20px}}

/* TOPと共通の水彩・枝葉を、本文の外側に配置 */
.people,.training,.requirements,.work-day,.video-invite,.entry,.process{position:relative;isolation:isolate;overflow:hidden}
.people::before,.people::after,.training::before,.requirements::after,.work-day::before,.work-day::after,.video-invite::after,.entry::before,.entry::after,.process::before{content:"";position:absolute;z-index:-1;pointer-events:none;background-repeat:no-repeat;background-size:contain}
.people::before{left:-28px;top:150px;width:clamp(105px,18vw,250px);height:340px;background-image:url("gajyumaru-branch-left.png")}
.people::after{right:-24px;bottom:80px;width:clamp(115px,19vw,270px);height:350px;background-image:url("gajyumaru-paint-leaves.png");background-position:right bottom}
.training::before{inset:0 0 auto;height:230px;background-image:url("gajyumaru-paint.png");background-size:100% auto;background-position:center top;opacity:.8}
.requirements::after{right:-25px;top:65px;width:clamp(90px,17vw,240px);height:340px;background-image:url("gajyumaru-paint-leaves.png");background-position:right top}
.work-day::before{left:-20px;top:22%;width:clamp(65px,13vw,190px);height:300px;background-image:url("gajyumaru-branch-left.png")}
.work-day::after{right:-22px;bottom:12%;width:clamp(65px,14vw,210px);height:310px;background-image:url("gajyumaru-branch-right.png");background-position:right center}
.video-invite::after{right:-32px;bottom:-30px;width:clamp(90px,14vw,190px);height:200px;background-image:url("gajyumaru-paint-leaves.png");opacity:.65}
.process::before{left:-25px;top:20px;width:clamp(90px,12vw,170px);height:220px;background-image:url("gajyumaru-branch-left.png")}
.entry{padding-bottom:170px}
.entry::before,.entry::after{bottom:0;width:clamp(140px,23vw,330px);height:430px;background-position:bottom}
.entry::before{left:-20px;background-image:url("gajyumaru-tree-left.png")}
.entry::after{right:-20px;background-image:url("gajyumaru-tree-right.png")}
@media(max-width:760px){
.people::before{left:-42px;top:150px;width:105px;height:210px;opacity:.7}
.people::after{right:-37px;bottom:40px;width:115px;height:190px;opacity:.75}
.training::before{height:150px;background-size:auto 150px;opacity:.6}
.requirements::after{right:-42px;top:45px;width:105px;height:170px;opacity:.65}
.work-day::before{left:-40px;top:19%;width:80px;height:150px;opacity:.65}
.work-day::after{right:-38px;bottom:15%;width:85px;height:160px;opacity:.65}
.video-invite::after{right:-45px;bottom:-10px;width:110px;height:150px;opacity:.55}
.process::before{left:-43px;top:8px;width:100px;height:170px;opacity:.6}
.entry{padding-bottom:130px}
.entry::before,.entry::after{width:155px;height:205px}
.entry::before{left:-28px}.entry::after{right:-28px}
}

/* 下スクロール中はヘッダーを隠し、上スクロールで戻す */
.header{transition:transform .22s ease}
.header.is-scroll-hidden:not(:focus-within){transform:translateY(-100%);pointer-events:none}
@media(prefers-reduced-motion:reduce){.header{transition:none}}

/* TOPと共通のテンポで、初回表示と操作への反応を整える */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--motion-fast:160ms;--motion-state:200ms}
@keyframes recruit-copy-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero h1 span{animation:recruit-copy-arrive 600ms var(--ease-out) both}
.hero h1 span:nth-child(2){animation-delay:80ms}.hero h1 span:nth-child(3){animation-delay:160ms}
.button{transition:transform var(--motion-fast) var(--ease-out),background-color var(--motion-fast) ease}
.button:active{transform:scale(.97)}
.button .icon{transition:transform var(--motion-fast) var(--ease-out)}
.video-preview-play{transition:transform var(--motion-state) var(--ease-out)}
.header{transition:transform var(--motion-state) var(--ease-out)}
@media(hover:hover) and (pointer:fine){.button:hover .icon{transform:translate(2px,-2px)}.video-thumbnail:hover .video-preview-play{transform:translate(-50%,-50%) scale(1.05)}}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.hero h1 span{animation:none}
.header{transition:none}
.button{transition:background-color var(--motion-fast) ease}
.button:active,.button:hover .icon{transform:none}
.button .icon,.video-preview-play{transition:none}
.video-thumbnail:hover .video-preview-play{transform:translate(-50%,-50%)}
}

/* スクロール案内を、小さく二度跳ねさせる */
@keyframes recruit-scroll-hop{
  0%,40%,100%{transform:translateY(0)}
  14%{transform:translateY(-9px)}
  28%{transform:translateY(-4px)}
  22%,36%{transform:translateY(0)}
}
.hero-bottom>a{animation:recruit-scroll-hop 2s ease-in-out infinite}
.hero-bottom>a:focus-visible{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.hero-bottom>a:hover{animation-play-state:paused}}
@media(prefers-reduced-motion:reduce){.hero-bottom>a{animation:none}}
