/* Continue the approved photo-led navy art direction from section 03. */
.work{position:relative;background:#101f35;color:var(--fg);overflow:hidden;border-top:1px solid var(--line)}
.work .section-index,.work .section-top>p{color:var(--muted)}
.work .section-top,.jobs .section-top{position:relative;z-index:1}
.work .section-top h2,.jobs .section-top h2{font-size:clamp(40px,5.8vw,82px);line-height:1.4}
.work-grid{border:0;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;margin-top:80px}
.work-grid article{position:relative;padding:40px 0}
.work-grid article+article{padding:36px 0 36px 32px;border-left:1px solid #ffffff30}
.holiday:before{content:'TIME FOR LIFE';position:absolute;top:0;left:0;font:700 clamp(24px,4vw,55px)/1 Arial;letter-spacing:-.04em;color:#ffffff12;white-space:nowrap}
.holiday small{display:block;margin-top:20px;letter-spacing:.15em}
.holiday strong{font-size:clamp(135px,19vw,270px);font-weight:500;line-height:1.15;letter-spacing:-.085em;color:#d6e6e9}
.holiday>p{white-space:nowrap}.holiday>span{display:block;margin-top:12px;letter-spacing:.08em}
.reward h3{font-size:clamp(26px,3vw,40px);line-height:1.6}.reward small{color:#b6cbd6}
.reward dl{display:block}.reward dt{margin-top:18px;color:var(--muted)}.reward dd{font-size:24px;letter-spacing:.04em;margin-top:3px}.reward p{color:var(--muted)}
.tech{position:relative;grid-template-columns:.85fr 1.3fr;gap:5%;margin-top:110px;padding:70px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tech h3{font-size:clamp(30px,3.3vw,46px)}.tech small{color:#a8c9d5}.tech p{color:var(--muted);max-width:30em}.tech img{border:0;box-shadow:0 28px 60px #0004;transform:rotate(-3deg);width:100%}
.life-gallery{margin-top:110px}.life-heading{display:flex;align-items:start;justify-content:space-between;gap:24px}.life-heading>span{margin-top:15px;color:var(--muted)}.life-heading h3{font-size:clamp(30px,3.8vw,54px);margin:0 0 45px}.life-photos{background:transparent;padding-left:0;padding-right:0}
.business{position:relative;background:#0b192d;border-top:1px solid var(--line);grid-template-columns:.9fr 1.1fr;gap:0 8%}.business h2{font-size:clamp(38px,5.2vw,72px);position:sticky;top:140px;align-self:start}.business ol{border-top:0}.business li{display:flex;align-items:center;gap:24px;padding:30px 0;font-size:clamp(15px,1.8vw,24px)}.business li:before{font-size:clamp(36px,5vw,68px);font-weight:400;letter-spacing:-.06em;margin:0;color:#587080;line-height:1}
.jobs{position:relative;background:#182c44;color:var(--fg);overflow:hidden}.jobs:before{content:'YOUR NEXT';position:absolute;right:-.02em;top:28px;font:900 clamp(72px,14vw,210px)/1 Arial;letter-spacing:-.06em;color:#ffffff04;pointer-events:none}.jobs .section-index,.jobs .section-top>p{color:var(--muted)}.jobs-list{border-color:#ffffff30;counter-reset:roles}.role-card{grid-template-columns:48px 70px 1fr auto;gap:20px;padding:28px 0;border-color:#ffffff30;counter-increment:roles}.role-card:before{content:'0'counter(roles);font-size:12px;color:#91aab9}.role-card h4{font-size:clamp(21px,2.5vw,35px);font-weight:500}.employment-label{border:1px solid #ffffff40;padding:3px 8px;text-align:center;font-size:10px}.role-card>span:last-child{color:#c4d6df}.role-card b{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff35;border-radius:50%;transition:transform .3s,background .3s}.role-card:hover{background:#ffffff06;padding-left:12px}.role-card:hover b{background:#d5e3e7;color:#14263b;transform:rotate(-35deg)}
.selection{background:#101f35}.selection>h2{font-size:clamp(38px,5vw,70px)}.selection ol{gap:0}.selection li{padding:30px 30px 20px 0}.selection li+li{padding-left:30px;border-left:1px solid var(--line)}.selection li>span{font-size:60px;line-height:1;color:#728e9f;letter-spacing:-.06em}.selection li h3{font-size:24px;margin-top:30px}.selection li p{max-width:25em}
.faq{margin-top:120px;padding-top:70px;border-top:1px solid var(--line)}.faq>h3{font-size:clamp(80px,12vw,160px);line-height:1;letter-spacing:-.07em;color:#d3e3e7}.faq-intro{margin-top:24px}.faq-categories{gap:0;border-bottom:1px solid var(--line);margin:35px 0 60px}.faq-categories a{flex:1;border:0;border-radius:0;padding:18px 12px;text-align:center;border-bottom:2px solid transparent}.faq-categories a:hover{background:#ffffff06;border-bottom-color:#c5d9df}.faq-group{grid-template-columns:25% 1fr;gap:0 5%;margin-top:60px}.faq-group h4{font-size:22px;font-weight:500;color:#a8c5d3}.faq-group summary{font-size:15px;padding-top:27px;padding-bottom:27px}.faq-group details[open]{background:#ffffff04}.faq-group details p{padding-left:16px}.faq-group details[open] summary{padding-left:16px}.closing{position:relative;background:#d4e1e4;color:#12263d;padding-top:100px;padding-bottom:110px;overflow:hidden}.closing>a{font-size:clamp(48px,8vw,112px)}.closing>p{color:#405c6c}.closing>a span{font-weight:400}.closing:hover{background:#e0e9ea}
@media(max-width:700px){
.work .section-top h2,.jobs .section-top h2{font-size:40px}.work-grid{display:block;margin-top:45px}.work-grid article{padding:36px 0}.work-grid article+article{padding:34px 0 0;border-left:0;border-top:1px solid var(--line)}.holiday strong{font-size:48vw}.holiday:before{font-size:30px}.reward h3{font-size:29px}.reward dd{font-size:22px}.tech{margin-top:60px;padding:45px 0;gap:36px}.tech>div{width:100%}.tech h3{font-size:30px}.tech img{width:96%;align-self:center;transform:rotate(-2deg)}.life-gallery{margin-top:60px}.life-heading{display:block}.life-heading h3{font-size:30px;margin:20px 0 30px}.business h2{position:static;font-size:40px}.business li{gap:20px;padding:24px 0;font-size:15px}.business li:before{font-size:42px}.jobs:before{top:35px;font-size:22vw}.role-card{grid-template-columns:28px 1fr 38px;gap:8px;padding:24px 0}.role-card:before{grid-column:1;grid-row:1/3}.role-card .employment-label{grid-column:2;grid-row:1;justify-self:start;font-size:9px}.role-card h4{grid-column:2;grid-row:2;font-size:20px}.role-card>span:last-child{grid-column:3;grid-row:1/3}.role-card b{width:34px;height:34px;font-size:22px}.selection>h2{font-size:36px}.selection li,.selection li+li{display:grid;grid-template-columns:48px 1fr;padding:26px 0;border-left:0;gap:0 18px}.selection li>span{font-size:42px;grid-row:1/3}.selection li h3{font-size:21px;margin:0 0 12px}.selection li p{grid-column:2}.faq{margin-top:55px;padding-top:45px}.faq>h3{font-size:90px}.faq-categories{display:grid;grid-template-columns:1fr 1fr;margin-bottom:35px}.faq-categories a{padding:15px 5px;border-bottom:1px solid var(--line)}.faq-group{display:block;margin-top:40px}.faq-group h4{font-size:19px}.faq-group summary{font-size:13px}.closing{padding:60px 24px 75px}.closing>a{font-size:45px}
}

/* Average age: 228 / 8, supplied by user. */
.holiday .average-age{margin-top:32px;padding-top:26px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}
.holiday .average-age small{margin:0;white-space:nowrap}
.holiday .average-age p{margin:0;display:flex;align-items:baseline;gap:12px}
.holiday .average-age strong{font-size:clamp(60px,7vw,100px);line-height:1;letter-spacing:-.06em;margin:0}
.holiday .average-age p>span{font-size:14px}
@media(max-width:700px){.holiday .average-age{margin-top:26px;padding-top:24px}.holiday .average-age strong{font-size:76px}}

/* Whole staff: male 5 / female 8; full-time: male 4 / female 3. User-confirmed 2026-10-26. */
.holiday .gender-ratio{--gender-male:#7f9faf;--gender-female:#d4bea0;margin-top:30px;padding-top:26px;border-top:1px solid var(--line);min-width:0}
.holiday .gender-ratio>small{margin:0 0 24px}
.gender-overall{display:grid;grid-template-columns:minmax(112px,1.1fr) minmax(118px,1fr);align-items:center;gap:clamp(16px,2.5vw,36px);min-width:0}
.gender-donut{position:relative;max-width:230px;width:100%;aspect-ratio:1;justify-self:center}
.gender-donut svg{display:block;width:100%;height:100%;fill:none;stroke-width:24}
.gender-donut-female{stroke:var(--gender-female)}
.gender-donut-male{stroke:var(--gender-male)}
.holiday .gender-donut-label{position:absolute;inset:0;display:grid;align-content:center;text-align:center;font:11px/1.6 Arial,sans-serif;letter-spacing:.12em;color:#c4cdd2}
.gender-ratio dl{margin:0;min-width:0}
.gender-legend{display:grid;gap:22px}
.gender-legend>div{min-width:0}
.gender-legend dt{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--muted);margin-bottom:6px}
.gender-legend dt:before{content:"";display:block;width:8px;height:8px;border-radius:50%;background:var(--gender-male)}
.gender-legend .gender-female dt:before{background:var(--gender-female)}
.gender-ratio dd{display:flex;align-items:baseline;gap:6px;margin:0;white-space:nowrap}
.holiday .gender-legend strong{font-size:clamp(38px,4.3vw,62px);font-weight:500;line-height:1;letter-spacing:-.05em;margin:0;color:var(--fg);font-variant-numeric:tabular-nums}
.holiday .gender-ratio dd>span{font-size:14px}
.gender-fulltime{margin-top:26px;padding-top:22px;border-top:1px solid #ffffff18}
.holiday .gender-fulltime>small{margin:0 0 16px;font-size:12px;letter-spacing:.08em;color:var(--muted)}
.gender-bar{display:grid;grid-template-columns:4fr 3fr;gap:3px;height:12px;overflow:hidden;border-radius:2px}
.gender-bar>span:first-child{background:var(--gender-male)}
.gender-bar>span:last-child{background:var(--gender-female)}
.gender-ratio .gender-split-labels{display:flex;justify-content:space-between;gap:16px;margin-top:12px}
.gender-split-labels>div{display:flex;align-items:baseline;gap:10px}
.gender-split-labels dt{font-size:13px;color:var(--muted)}
.holiday .gender-split-labels strong{margin:0;font-size:26px;font-weight:500;line-height:1;letter-spacing:-.04em;color:var(--fg)}
@media(max-width:700px){.gender-donut{max-width:200px}.holiday .gender-legend strong{font-size:clamp(38px,10.5vw,58px)}.gender-legend{gap:20px}}

/* Work style confirmed by the user: hair, nails and clothing are unrestricted. */
.reward .own-style{margin-top:36px;padding-top:32px;border-top:1px solid var(--line)}
.reward .own-style>small{font-size:12px;letter-spacing:.15em;color:#b6cbd6}
.reward .own-style h3{font-size:clamp(26px,2.5vw,36px);margin:16px 0 22px;line-height:1.5}
.own-style ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;margin:0;padding:0;font-size:15px;color:#d6e6e9}
.own-style li{padding-bottom:6px;border-bottom:1px solid #ffffff45;white-space:nowrap}
.reward .own-style p{max-width:30em;font-size:16px;line-height:1.9;margin:20px 0 0}
@media(max-width:700px){.reward .own-style h3{font-size:29px}.reward .own-style p{font-size:14px}.own-style ul{gap:10px 18px;font-size:14px}}

/* Office meal service: one item from 100 yen, not a whole meal for 100 yen. */
.reward .meal-support{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:20px 22px;margin-top:32px;padding-top:30px;border-top:1px solid var(--line)}
.meal-support-icon{width:64px;height:64px;display:grid;place-items:center;border:1px solid #d4bea050;border-radius:50%;color:#d4bea0}
.meal-support-icon svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reward .meal-support small{display:block;font-size:11px;letter-spacing:.1em;color:#b6cbd6}
.reward .meal-support h3{font-size:24px;line-height:1.6;letter-spacing:0;margin:6px 0 0}
.meal-body{grid-column:1/-1;min-width:0}
.reward .meal-support p{margin:0;font-size:15px;line-height:1.9;max-width:30em}
.reward .meal-support .meal-price{display:flex;align-items:baseline;gap:10px;white-space:nowrap;color:#d4bea0;line-height:1.1;margin:0 0 22px}
.meal-price>span{font-size:22px;font-weight:500}
.meal-price strong{font-size:clamp(64px,8vw,104px);font-weight:500;line-height:1;letter-spacing:-.05em}
.reward .meal-support .meal-lead{color:var(--fg);font-size:19px;line-height:1.65;font-weight:500;margin:0 0 12px}
.meal-support a{display:inline-block;font-size:12px;line-height:1.8;margin-top:18px;padding-bottom:4px;border-bottom:1px solid #b6cbd680;color:#d6e6e9;transition:border-color .2s}
.meal-support a:hover{border-color:#d4bea0}
@media(max-width:700px){.reward .meal-support{grid-template-columns:48px minmax(0,1fr);gap:20px 16px;padding-top:26px}.meal-support-icon{width:48px;height:48px}.meal-support-icon svg{width:40px;height:40px}.reward .meal-support small{font-size:10px;letter-spacing:.06em}.reward .meal-support h3{font-size:22px}.reward .meal-support p{font-size:14px}.meal-price strong{font-size:clamp(68px,22vw,88px)}.meal-price>span{font-size:20px}.reward .meal-support .meal-lead{font-size:18px}}
