@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;900&display=swap');
:root{--accent:#f2f2f0;--accent-soft:#eeeeec;--navy:#1b1d20;--navy-2:#292c30;--ink:#222428;--muted:#72767b;--paper:#f5f5f3;--line:#d5d6d7;--white:#fff;--max:1240px;--header:88px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Noto Sans JP",sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.section{padding:120px 0}.section--dark{background:#11150f;color:#fff}.section--soft{background:#e9ece4}.eyebrow{margin:0 0 18px;font-size:12px;line-height:1;letter-spacing:.2em;font-weight:800;text-transform:uppercase;color:#75797e}.section--dark .eyebrow,.hero .eyebrow{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.22;letter-spacing:-.04em}h2{font-size:clamp(38px,5vw,72px);margin-bottom:32px}p{font-size:16px}.button{min-height:58px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;font-size:13px;font-weight:800;letter-spacing:.05em;transition:.25s ease}.button:hover{transform:translateY(-2px)}.button--accent{background:var(--accent);color:#111}.button--dark{background:#111;color:#fff}.button--outline{border-color:#84878a;color:#fff}.button--glass{border-color:rgba(255,255,255,.45);background:rgba(5,28,50,.25);color:#fff;backdrop-filter:blur(12px)}.text-link{display:inline-flex;gap:32px;align-items:center;padding-bottom:8px;border-bottom:1px solid currentColor;font-weight:700}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
.site-header{position:fixed;z-index:50;inset:0 0 auto;height:var(--header);color:#fff;transition:.3s}.site-header.is-scrolled{background:rgba(5,24,43,.94);backdrop-filter:blur(18px);box-shadow:0 1px rgba(255,255,255,.08)}.site-header__inner{height:100%;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:baseline;gap:12px;position:relative;z-index:52}.brand__en{font-size:26px;font-weight:900;letter-spacing:.1em}.brand__jp{font-size:11px;letter-spacing:.1em}.custom-logo{max-height:58px;width:auto}.site-nav{display:flex;align-items:center;gap:30px}.site-nav__list{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}.site-nav__list a{font-size:12px;font-weight:700;letter-spacing:.05em}.site-nav__contact{background:var(--accent);color:#111;padding:14px 22px;font-size:12px;font-weight:800}.nav-toggle{display:none;background:none;border:0;color:#fff;position:relative;z-index:52;width:48px;padding:0}.nav-toggle span{display:block;height:1px;background:currentColor;margin:7px 0}.nav-toggle b{font-size:8px;letter-spacing:.15em}
.hero{height:max(720px,100svh);position:relative;display:flex;align-items:center;overflow:hidden;background:#182018 var(--hero-image) center/cover no-repeat;color:#fff}.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,7,.82) 0%,rgba(7,10,7,.45) 55%,rgba(7,10,7,.18) 100%),linear-gradient(0deg,rgba(7,10,7,.4),transparent 50%)}.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,#000,transparent 80%)}.hero__content{position:relative;z-index:2;padding-top:80px}.hero__kicker{font-size:11px;letter-spacing:.28em;color:var(--accent);font-weight:800}.hero h1{font-size:clamp(52px,7vw,108px);max-width:1000px;margin:25px 0 30px}.hero__lead{max-width:620px;font-size:clamp(16px,1.6vw,21px);font-weight:500}.hero__actions{display:flex;gap:12px;margin-top:48px;flex-wrap:wrap}.hero__side{position:absolute;right:26px;top:50%;z-index:2;writing-mode:vertical-rl;letter-spacing:.28em;font-size:10px}.hero__scroll{position:absolute;z-index:2;bottom:32px;left:40px;font-size:9px;letter-spacing:.2em;display:flex;align-items:center;gap:12px}.hero__scroll span{width:90px;height:1px;background:var(--accent)}
.about__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}.about__visual{min-height:600px;position:relative}.shape-photo{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden}.shape-photo--main{inset:0 70px 30px 0;background:linear-gradient(135deg,#263323,#6e7c64);clip-path:polygon(0 0,100% 0,88% 100%,0 84%)}.shape-photo--main:before{content:"";position:absolute;inset:0;background:url('../images/scaffold-pattern.svg') center/cover;opacity:.7}.shape-photo--main span{position:relative;font-size:clamp(50px,8vw,110px);line-height:.88;font-weight:900;color:rgba(255,255,255,.13);letter-spacing:-.08em}.shape-photo--sub{right:0;bottom:0;width:260px;height:220px;background:var(--accent);flex-direction:column;align-items:flex-start;padding:32px;clip-path:polygon(10% 0,100% 12%,100% 100%,0 100%,0 20%)}.shape-photo--sub b{font-size:78px;line-height:1}.shape-photo--sub small{font-weight:800;letter-spacing:.12em}.about__copy p:not(.eyebrow){font-size:18px;color:#4f574d;margin-bottom:42px}
.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:70px}.section-heading>p{max-width:440px;color:#aeb6ac}.service-list{border-top:1px solid #394037}.service-row{min-height:160px;border-bottom:1px solid #394037;display:grid;grid-template-columns:100px 1.2fr 1fr 60px;gap:30px;align-items:center;transition:.25s}.service-row:hover{padding-left:18px;background:rgba(255,255,255,.025)}.service-row__number{color:var(--accent);font-weight:800}.service-row h3{font-size:clamp(24px,3vw,42px);margin:0}.service-row p{color:#aeb6ac;margin:0}.service-row>a{width:52px;height:52px;border:1px solid #555d53;border-radius:50%;display:grid;place-items:center}
.work-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:360px 280px;gap:20px}.work-card{position:relative;overflow:hidden;background:#20271e;min-height:260px}.work-card--1{grid-row:span 2}.work-card--4{grid-column:span 2}.work-card__image{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#292c30,#a7aaad);transition:.45s}.work-card__image img{width:100%;height:100%;object-fit:cover}.work-card__image>span{font-size:clamp(60px,9vw,150px);font-weight:900;color:rgba(255,255,255,.12)}.work-card:hover .work-card__image{transform:scale(1.03)}.work-card__meta{position:absolute;inset:auto 0 0;padding:70px 24px 22px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8))}.work-card__meta small{font-size:10px;letter-spacing:.12em;color:var(--accent)}.work-card__meta h3{margin:5px 0 0;font-size:20px}.recruit-banner{position:relative;background:var(--accent);padding:100px 0;overflow:hidden}.recruit-banner__pattern{position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 80px,rgba(0,0,0,.05) 80px 82px)}.recruit-banner__inner{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:end}.recruit-banner h2{margin:0}.recruit-banner p{font-size:18px}.recruit-banner .eyebrow{color:#111}.company-snapshot__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.company-mini{margin:0}.company-mini>div{display:grid;grid-template-columns:160px 1fr;padding:22px 0;border-bottom:1px solid var(--line)}.company-mini dt{font-size:12px;font-weight:800}.company-mini dd{margin:0}
.page-hero{padding:200px 0 90px;background:#151a14;color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;inset:0;background:url('../images/scaffold-pattern.svg') right center/55% auto no-repeat;opacity:.18}.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:clamp(58px,8vw,116px);margin:0 0 24px}.page-hero p:last-child{color:#bdc4bb}.page-hero--recruit{background:#293126}.business-stack{display:grid;gap:100px}.business-item{display:grid;grid-template-columns:80px 1fr 1fr;gap:56px;align-items:center}.business-item:nth-child(even) .business-item__visual{order:3}.business-item__num{font-weight:900;color:#8a9388;align-self:start}.business-item__visual{aspect-ratio:4/3;background:linear-gradient(135deg,#292c30,#899480);clip-path:polygon(0 0,100% 8%,92% 100%,8% 90%);display:grid;place-items:center;position:relative;overflow:hidden}.business-item__visual:before{content:"";position:absolute;inset:0;background:url('../images/scaffold-pattern.svg') center/cover;opacity:.5}.business-item__visual span{position:relative;font-size:130px;font-weight:900;color:rgba(255,255,255,.12)}.business-item__copy h2{font-size:clamp(30px,4vw,54px)}.business-item__copy p{color:#666a70;font-size:17px}.message-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.message-visual{min-height:570px;background:#222b20;clip-path:polygon(0 0,100% 0,90% 100%,0 88%);display:flex;align-items:flex-end;padding:50px;background-image:url('../images/scaffold-pattern.svg');background-size:cover}.message-visual span{font-size:76px;font-weight:900;line-height:.85;color:rgba(255,255,255,.2)}.signature{text-align:right;font-weight:700;margin-top:40px}.profile-table{margin-top:50px}.profile-table>div{display:grid;grid-template-columns:220px 1fr;border-top:1px solid #c7cdc2;padding:24px 0}.profile-table>div:last-child{border-bottom:1px solid #c7cdc2}.profile-table dt{font-size:13px;font-weight:800}.profile-table dd{margin:0}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.map-grid iframe{width:100%;height:420px;border:0;filter:grayscale(1) contrast(.9)}.recruit-intro{display:grid;grid-template-columns:1fr 1fr;gap:100px}.recruit-intro p{font-size:18px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px}.value-card{border:1px solid #3c4439;padding:40px;min-height:310px}.value-card b{font-size:68px;color:var(--accent)}.value-card h3{font-size:34px}.value-card p{color:#aeb6ac}.recruit-box{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:50px 0}.recruit-box>div:last-child{display:grid;gap:20px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.archive-card{background:#fff}.archive-card__image{aspect-ratio:4/3;background:#273125;display:grid;place-items:center;overflow:hidden}.archive-card__image img{width:100%;height:100%;object-fit:cover;transition:.4s}.archive-card:hover img{transform:scale(1.04)}.archive-card__image span{color:#fff;font-weight:800;letter-spacing:.2em}.archive-card__body{padding:24px}.archive-card__body small{color:#6e776c}.archive-card__body h2{font-size:24px;margin:8px 0 20px}.archive-card__body>span{font-size:11px;font-weight:800}.empty-state{grid-column:1/-1;background:#fff;padding:90px;text-align:center}.empty-state b{font-size:80px;color:#dfe3dc}.work-single__inner{padding-top:80px;padding-bottom:120px}.work-single__hero img{width:100%;max-height:760px;object-fit:cover}.work-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 70px}.work-facts>div{padding:24px;border-bottom:1px solid var(--line)}.work-facts dt{font-size:11px;font-weight:800;color:#687166}.work-facts dd{margin:8px 0 0}.entry-content{max-width:900px;margin-inline:auto}.entry-content h2{font-size:42px;margin-top:70px}.entry-content h3{font-size:28px;margin-top:50px}.entry-content p{font-size:17px}.entry-content img{margin:40px auto}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.phone-box{padding:24px 0;border-top:1px solid var(--line)}.phone-box:last-of-type{border-bottom:1px solid var(--line)}.phone-box small{display:block}.phone-box a{font-size:clamp(30px,4vw,50px);font-weight:800}.contact-form{display:grid;gap:22px}.contact-form label{display:grid;gap:8px;font-size:13px;font-weight:700}.contact-form em{font-style:normal;color:#e13b2f;font-size:10px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #c8cec4;background:#fff;padding:16px;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);border-color:#111}.hp-field{position:absolute!important;left:-9999px!important}.form-message{padding:16px 20px;margin-bottom:24px}.form-message--success{background:#e2f2d7}.form-message--error{background:#f8deda}.site-footer{background:#0d100c;color:#fff}.site-footer__cta{width:min(calc(100% - 48px),var(--max));margin:auto;padding:100px 0;border-bottom:1px solid #4b4e53}.site-footer__cta h2{font-size:clamp(38px,5vw,70px)}.site-footer__actions{display:flex;gap:12px;flex-wrap:wrap}.site-footer__bottom{padding:55px 40px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;color:#b9bbbd}.footer-brand{font-size:28px;font-weight:900;color:#fff}.footer-brand small{font-size:11px;font-weight:500;margin-left:10px}.site-footer__bottom p{font-size:12px;margin:5px 0}.site-footer__links{display:flex;gap:25px;font-size:12px}.copyright{grid-column:1/-1;text-align:right}.error-page{padding-top:200px;min-height:70vh}.error-page h1{font-size:70px}.post-list article{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);padding:24px 0}.post-list h2{font-size:24px;margin:0}
@media (max-width:980px){:root{--header:72px}.container{width:min(calc(100% - 32px),var(--max))}.section{padding:84px 0}.site-header__inner{padding:0 20px}.nav-toggle{display:block}.site-nav{position:fixed;inset:0;background:#10140f;display:flex;flex-direction:column;justify-content:center;transform:translateX(100%);transition:.35s;visibility:hidden}.site-nav.is-open{transform:none;visibility:visible}.site-nav__list{flex-direction:column;gap:20px}.site-nav__list a{font-size:22px}.hero{min-height:680px}.hero__video{display:none}.hero h1{font-size:clamp(46px,11vw,80px)}.hero__side{display:none}.about__grid,.recruit-banner__inner,.company-snapshot__grid,.message-grid,.recruit-intro,.contact-grid{grid-template-columns:1fr;gap:60px}.about__visual{min-height:480px}.section-heading{align-items:flex-start;flex-direction:column}.service-row{grid-template-columns:60px 1fr 50px;padding:28px 0}.service-row p{grid-column:2/4}.work-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.work-card{min-height:320px}.work-card--1,.work-card--4{grid-row:auto;grid-column:auto}.business-item{grid-template-columns:50px 1fr;gap:30px}.business-item__visual,.business-item:nth-child(even) .business-item__visual{grid-column:2;order:initial}.business-item__copy{grid-column:2}.profile-table>div{grid-template-columns:160px 1fr}.archive-grid{grid-template-columns:1fr 1fr}.value-grid{grid-template-columns:1fr}.map-grid{grid-template-columns:1fr}.recruit-box{grid-template-columns:1fr}.site-footer__bottom{grid-template-columns:1fr}.copyright{text-align:left}.work-facts{grid-template-columns:1fr}.work-facts>div{display:grid;grid-template-columns:120px 1fr}}
@media (max-width:640px){.container{width:min(calc(100% - 28px),var(--max))}.brand__jp{display:none}.hero__content{padding-top:60px}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .button{width:100%}.hero__scroll{left:18px}.about__visual{min-height:380px}.shape-photo--main{right:30px}.shape-photo--sub{width:190px;height:160px}.shape-photo--sub b{font-size:50px}.service-row{grid-template-columns:40px 1fr 40px;gap:10px}.work-grid,.archive-grid{grid-template-columns:1fr}.work-card{min-height:340px}.business-item{grid-template-columns:1fr}.business-item__num,.business-item__visual,.business-item:nth-child(even) .business-item__visual,.business-item__copy{grid-column:1}.business-item__visual{aspect-ratio:1/1}.profile-table>div{grid-template-columns:1fr;gap:8px}.page-hero{padding-top:150px}.map-grid iframe{height:330px}.site-footer__actions{flex-direction:column}.site-footer__bottom{padding:45px 20px}.site-footer__links{flex-direction:column;gap:8px}.empty-state{padding:50px 20px}.phone-box a{font-size:28px}.post-list article{grid-template-columns:1fr;gap:8px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.work-card__image,.archive-card__image img{transition:none}}

/* ==================== v3 START ==================== */

/* =========================================================
   v3 palette: sky blue + deep navy
========================================================= */
body{background:var(--paper);color:var(--ink)}
.section--dark{background:var(--navy);color:#fff}
.eyebrow{color:#75797e}
.section--dark .eyebrow,.hero .eyebrow{color:var(--accent)}
.button--accent{background:var(--accent);color:var(--navy)}
.button--dark{background:var(--navy);color:#fff}
.button--outline{border-color:rgba(255,255,255,.45);color:#fff}
.button--glass{background:rgba(5,28,50,.25)}
.site-header.is-scrolled{background:rgba(5,24,43,.94)}
.site-nav__contact{background:var(--accent);color:var(--navy)}
.hero{background:linear-gradient(135deg,#17191c 0%,#3a3d42 55%,#8d9196 100%)}
.hero:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.12)),repeating-linear-gradient(62deg,transparent 0 68px,rgba(255,255,255,.22) 70px 73px)}
.hero__overlay{background:linear-gradient(90deg,rgba(3,18,34,.88),rgba(3,18,34,.22))}
.hero__lead{color:#e1e2e3}
.about__copy p:not(.eyebrow){color:#666a70}
.section-heading>p,.service-row p,.business-card__body,.business-scope__head p,.business-policy__item small{color:#c9cbcd}
.service-list{border-color:#4b4e53}
.service-row{border-color:#4b4e53}
.service-row>a{border-color:#777b80}
.work-card{background:#303338}
.work-card__image{background:linear-gradient(135deg,#292c30,#a7aaad)}
.work-card:nth-child(2) .work-card__image{background:linear-gradient(135deg,#46494e,#1b1d20)}
.work-card:nth-child(3) .work-card__image{background:linear-gradient(135deg,#898d91,#292c30)}
.work-card:nth-child(4) .work-card__image{background:linear-gradient(135deg,#1b1d20,#74787d)}
.work-card:nth-child(5) .work-card__image{background:linear-gradient(135deg,#666a6f,#272a2e)}
.work-card__image:after{background:repeating-linear-gradient(52deg,transparent 0 55px,rgba(255,255,255,.15) 56px 58px)}
.business-card{background:#292c30;border-color:#56595e}
.business-card:before{border-color:rgba(255,255,255,.20)}
.business-card:after{background:repeating-linear-gradient(135deg,transparent 0 20px,rgba(255,255,255,.10) 21px 23px)}
.business-card__en{color:#aeb1b4}
.business-card__points span{border-color:#777b80;color:#d9dadd}
.business-scope{background:#24272b;border-color:#56595e}
.business-scope__list{border-color:#56595e}
.business-scope__item{border-color:#56595e}
.business-policy{background:#56595e;border-color:#56595e}
.business-policy__item{background:#292c30}
.demo-note{background:#eeeeec;border-color:#d1d3d5;color:#36393d}
.site-footer{background:#17191c}
.site-footer__cta{border-color:#4b4e53}
.site-footer__bottom{color:#b9bbbd}
.footer-brand{color:#fff}
.page-hero{background:#1b1d20}
.page-hero--recruit{background:linear-gradient(135deg,#1b1d20,#63676c)}
.value-card{border-color:#56595e}
.map-grid iframe{filter:grayscale(.2) saturate(.8) contrast(.95)}
@media(max-width:980px){
 .site-nav{background:#17191c}
}


/* =========================================================
   Expanded recruitment section
========================================================= */
.recruit-section{padding:120px 0;background:#f2f2f0;color:var(--navy);position:relative;overflow:hidden}
.recruit-section:before{content:"";position:absolute;right:-170px;top:-230px;width:520px;height:520px;border:90px solid rgba(255,255,255,.15);border-radius:50%}
.recruit-section__head{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:100px;align-items:end;margin-bottom:55px}
.recruit-section__head h2{margin-bottom:0}
.recruit-section__lead{font-size:18px;color:#64686d;margin:0}
.recruit-values{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:42px}
.recruit-value{background:#fff;border:1px solid #d7d8d9;padding:32px;min-height:230px;box-shadow:0 16px 45px rgba(25,27,30,.08)}
.recruit-value b{display:block;color:#4a4d51;font-size:12px;letter-spacing:.15em;margin-bottom:28px}
.recruit-value h3{font-size:25px;margin-bottom:12px}
.recruit-value p{color:#6b6f74;font-size:14px;margin:0}
.recruit-entry{position:relative;display:grid;grid-template-columns:1.35fr .65fr;gap:22px;align-items:stretch}
.recruit-requirements{background:#fff;border:1px solid #d7d8d9;padding:42px}
.recruit-requirements__title{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:24px;border-bottom:2px solid var(--navy)}
.recruit-requirements__title h3{font-size:32px;margin:0}
.recruit-requirements__title small{color:#777b80}
.requirement-list{margin:0}
.requirement-list>div{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:19px 0;border-bottom:1px solid #dededf}
.requirement-list dt{font-size:12px;font-weight:900;color:#5d6166}
.requirement-list dd{margin:0;font-size:15px}
.requirement-list dd strong{font-size:18px}
.recruit-contact{background:var(--navy);color:#fff;padding:42px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.recruit-contact:after{content:"RECRUIT";position:absolute;right:-10px;bottom:-34px;font-size:72px;font-weight:900;color:rgba(255,255,255,.045);letter-spacing:-.05em}
.recruit-contact .eyebrow{color:var(--accent)}
.recruit-contact h3{font-size:31px;margin-bottom:20px}
.recruit-contact p{color:#c9cbcd}
.recruit-contact__note{padding:18px 0;border-top:1px solid #56595e;border-bottom:1px solid #56595e;margin:12px 0 26px;font-size:13px;color:#d9dadd}
.recruit-contact__phone{position:relative;z-index:1;display:block;color:var(--accent);font-size:clamp(25px,3vw,38px);font-weight:900;line-height:1.2;margin-bottom:18px}
.recruit-contact .button{position:relative;z-index:1;margin-top:auto}
.recruit-caution{position:relative;margin:20px 0 0;color:#74787c;font-size:12px}
@media(max-width:980px){
 .recruit-section{padding:84px 0}
 .recruit-section__head,.recruit-entry{grid-template-columns:1fr;gap:42px}
 .recruit-values{grid-template-columns:1fr}
 .recruit-value{min-height:auto}
}
@media(max-width:640px){
 .recruit-requirements,.recruit-contact{padding:28px 22px}
 .requirement-list>div{grid-template-columns:1fr;gap:6px}
 .recruit-requirements__title{align-items:flex-start;flex-direction:column}
}

/* ===================== v3 END ===================== */

/* ==================== v4 START ==================== */

/* =========================================================
   v4: remove remaining olive/green colors
========================================================= */
.shape-photo{
  background:linear-gradient(135deg,#292c30 0%,#8d9196 55%,#f2f2f0 100%);
}
.shape-photo:after{
  background:repeating-linear-gradient(
    135deg,
    transparent 0 80px,
    rgba(255,255,255,.16) 81px 84px
  );
}
.shape-photo--sub{
  background:#f2f2f0;
  color:#1b1d20;
}
.shape-photo--sub:after{
  background:none;
}
.work-card{
  background:#292c30;
}
.work-card--1 .work-card__image,
.work-card:first-child .work-card__image{
  background:linear-gradient(135deg,#1b1d20 0%,#686c71 55%,#f2f2f0 100%);
}
.service-row>a{
  border-color:#777b80;
}
.site-footer__cta{
  border-color:#4b4e53;
}
.site-footer__bottom{
  color:#b9bbbd;
}

/* ===================== v4 END ===================== */

/* ==================== v5 START ==================== */

/* =========================================================
   v5: graphite / silver / white
========================================================= */
:root{
  --accent:#f2f2f0;
  --accent-soft:#e7e7e5;
  --navy:#1b1d20;
  --navy-2:#292c30;
  --ink:#222428;
  --muted:#72767b;
  --paper:#f5f5f3;
  --line:#d5d6d7;
  --metal:#bfc2c5;
  --graphite:#292c30;
}

/* 全体 */
body{
  background:
    linear-gradient(180deg,#ffffff 0,#f5f5f3 38%,#ececea 100%);
  color:var(--ink);
}
.eyebrow{color:#6f7378}
.section{
  position:relative;
}
.section:not(.section--dark){
  background:
    linear-gradient(135deg,#ffffff 0%,#f7f7f5 55%,#e8e9e9 100%);
}
.section--dark{
  background:
    radial-gradient(circle at 93% 4%,rgba(255,255,255,.16),transparent 28%),
    linear-gradient(125deg,#17191c 0%,#292c30 52%,#474a4f 100%);
  color:#fff;
}
.section--dark:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      118deg,
      transparent 0 110px,
      rgba(255,255,255,.025) 111px 113px
    );
}

/* ヘッダー */
.site-header.is-scrolled{
  background:rgba(25,27,30,.92);
  box-shadow:0 1px rgba(255,255,255,.14);
}
.site-nav__contact{
  background:linear-gradient(135deg,#fff,#cfd1d3);
  color:#1b1d20;
  border:1px solid rgba(255,255,255,.7);
}
.site-nav__contact:hover{background:#fff}

/* トップ：濃いグレーから白へ抜ける金属的グラデーション */
.hero{
  background:
    linear-gradient(
      112deg,
      #15171a 0%,
      #24272b 30%,
      #55595e 58%,
      #c8cacc 80%,
      #f8f8f7 100%
    );
}
.hero:before{
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 150px,
      rgba(255,255,255,.065) 151px 153px
    ),
    repeating-linear-gradient(
      0deg,
      transparent 0 130px,
      rgba(255,255,255,.045) 131px 133px
    );
}
.hero:after{
  right:0;
  top:0;
  width:55%;
  height:100%;
  opacity:.85;
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.36)),
    repeating-linear-gradient(
      62deg,
      transparent 0 68px,
      rgba(255,255,255,.30) 70px 73px
    );
}
.hero__overlay{
  background:
    linear-gradient(
      90deg,
      rgba(12,13,15,.92) 0%,
      rgba(24,26,29,.76) 46%,
      rgba(255,255,255,.08) 78%,
      rgba(255,255,255,.02) 100%
    );
}
.hero__kicker,
.section--dark .eyebrow,
.hero .eyebrow{
  color:#f0f0ee;
}
.hero__lead{color:#e1e2e3}
.button--accent{
  background:linear-gradient(135deg,#ffffff 0%,#d7d8d9 100%);
  color:#1b1d20;
  border-color:rgba(255,255,255,.75);
  box-shadow:0 10px 35px rgba(0,0,0,.16);
}
.button--accent:hover{
  background:#fff;
  box-shadow:0 14px 40px rgba(0,0,0,.22);
}
.button--dark{
  background:linear-gradient(135deg,#202226,#3d4045);
}
.button--glass{
  background:rgba(35,37,41,.28);
  border-color:rgba(255,255,255,.52);
}

/* ABOUT 01 */
.shape-photo{
  background:
    linear-gradient(135deg,#202226 0%,#55595e 46%,#d8d9da 100%);
  box-shadow:0 28px 70px rgba(24,26,29,.22);
}
.shape-photo:after{
  background:
    repeating-linear-gradient(
      135deg,
      transparent 0 80px,
      rgba(255,255,255,.19) 81px 84px
    );
}
.shape-photo--sub{
  background:
    linear-gradient(145deg,#ffffff 0%,#d4d5d6 58%,#989b9f 100%);
  color:#1b1d20;
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 18px 45px rgba(22,24,27,.22);
}
.shape-photo--sub b{
  text-shadow:0 1px rgba(255,255,255,.8);
}

/* 業務内容 */
.service-list{border-color:#5a5d62}
.service-row{border-color:#55585d}
.service-row__number{color:#fff}
.service-row>a{
  border-color:#8c8f93;
  background:rgba(255,255,255,.04);
}
.service-row>a:hover{background:rgba(255,255,255,.12)}
.business-card{
  background:
    linear-gradient(140deg,#24262a 0%,#33363a 58%,#4c4f54 100%);
  border-color:#5b5e63;
  box-shadow:0 20px 48px rgba(0,0,0,.14);
}
.business-card:before{
  border-color:rgba(255,255,255,.20);
}
.business-card:after{
  background:
    repeating-linear-gradient(
      135deg,
      transparent 0 20px,
      rgba(255,255,255,.085) 21px 23px
    );
}
.business-card__number{color:#fff}
.business-card__en{color:#bfc1c4}
.business-card__points span{
  border-color:#74777c;
  color:#dedfe0;
}
.business-scope{
  background:
    linear-gradient(135deg,#222428,#373a3f);
  border-color:#5b5e63;
}
.business-scope__list,
.business-scope__item{border-color:#5b5e63}
.business-scope__item b{color:#fff}
.business-policy{
  background:#5b5e63;
  border-color:#5b5e63;
}
.business-policy__item{
  background:linear-gradient(135deg,#292c30,#3c3f44);
}

/* 施工実績 */
.work-card{background:#2d3034}
.work-card__image{
  background:linear-gradient(135deg,#202226,#a7aaad);
}
.work-card:first-child .work-card__image{
  background:linear-gradient(135deg,#191b1e 0%,#55595e 58%,#d7d8d9 100%);
}
.work-card:nth-child(2) .work-card__image{
  background:linear-gradient(135deg,#393c41,#16181b);
}
.work-card:nth-child(3) .work-card__image{
  background:linear-gradient(135deg,#a6a8ab,#34373b);
}
.work-card:nth-child(4) .work-card__image{
  background:linear-gradient(135deg,#202226,#73777b);
}
.work-card:nth-child(5) .work-card__image{
  background:linear-gradient(135deg,#85888c,#292c30);
}
.work-card__image:after{
  background:
    repeating-linear-gradient(
      52deg,
      transparent 0 55px,
      rgba(255,255,255,.15) 56px 58px
    );
}
.work-card__meta small{color:#f0f0ee}

/* 求人：白・薄いグレーを基調に立体感 */
.recruit-section{
  background:
    radial-gradient(circle at 88% 8%,rgba(70,73,78,.12),transparent 25%),
    linear-gradient(135deg,#ffffff 0%,#f0f0ee 52%,#d8d9da 100%);
  color:#222428;
}
.recruit-section:before{
  border-color:rgba(70,73,78,.10);
}
.recruit-section__lead{color:#63676c}
.recruit-value,
.recruit-requirements{
  background:
    linear-gradient(145deg,#ffffff 0%,#f7f7f5 62%,#ececea 100%);
  border-color:#d0d1d2;
  box-shadow:0 20px 55px rgba(24,26,29,.09);
}
.recruit-value b{color:#4a4d51}
.recruit-value p{color:#696d72}
.recruit-requirements__title{border-color:#292c30}
.requirement-list>div{border-color:#dededf}
.requirement-list dt{color:#5d6166}
.recruit-contact{
  background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(145deg,#1c1e21,#3b3e43);
}
.recruit-contact .eyebrow,
.recruit-contact__phone{color:#fff}
.recruit-contact__note{
  border-color:#5a5d62;
  color:#dadbdd;
}

/* 会社概要・フッター */
.demo-note{
  background:linear-gradient(90deg,#fff,#e7e7e5,#fff);
  color:#34373b;
  border-color:#d0d1d2;
}
.site-footer{
  background:
    radial-gradient(circle at 86% 0%,rgba(255,255,255,.12),transparent 25%),
    linear-gradient(135deg,#15171a,#2f3236);
}
.site-footer__cta{border-color:#55585d}
.site-footer__bottom{color:#bfc1c4}

@media(max-width:980px){
  .site-nav{background:#1b1d20}
  .hero{
    background:
      linear-gradient(
        145deg,
        #15171a 0%,
        #33363a 58%,
        #a8aaad 100%
      );
  }
  .hero__overlay{
    background:linear-gradient(90deg,rgba(12,13,15,.90),rgba(30,32,35,.52));
  }
}

/* ===================== v5 END ===================== */

/* ==================== v6 START ==================== */

/* =========================================================
   v6: real project photography
========================================================= */
.hero{
  background-image:
    linear-gradient(
      90deg,
      rgba(16,18,21,.93) 0%,
      rgba(27,29,32,.80) 38%,
      rgba(46,49,53,.30) 68%,
      rgba(255,255,255,.08) 100%
    ),
    var(--hero-image, url("../images/tomiwa-hero.webp"));
  background-size:cover;
  background-position:center 55%;
}
.hero:before{
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 150px,
      rgba(255,255,255,.055) 151px 153px
    );
}
.hero:after{
  opacity:.48;
}
.hero__overlay{
  background:
    linear-gradient(
      90deg,
      rgba(12,13,15,.82) 0%,
      rgba(24,26,29,.52) 48%,
      rgba(255,255,255,.04) 100%
    );
}
.shape-photo--main{
  background-image:
    linear-gradient(0deg,rgba(18,20,23,.38),rgba(18,20,23,.04)),
    url("../images/tomiwa-work-03.webp");
  background-size:cover;
  background-position:center;
}
.shape-photo--main:after{
  background:
    linear-gradient(135deg,rgba(255,255,255,.04),transparent 52%),
    repeating-linear-gradient(
      135deg,
      transparent 0 80px,
      rgba(255,255,255,.12) 81px 83px
    );
}
.work-card__image{
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
.work-card--1 .work-card__image{
  background-image:url("../images/tomiwa-work-01.webp");
  background-position:center;
}
.work-card--2 .work-card__image{
  background-image:url("../images/tomiwa-work-02.webp");
  background-position:center;
}
.work-card--3 .work-card__image{
  background-image:url("../images/tomiwa-work-03.webp");
  background-position:center;
}
.work-card--4 .work-card__image{
  background-image:url("../images/tomiwa-work-04.webp");
  background-position:center;
}
.work-card--5 .work-card__image{
  background-image:url("../images/tomiwa-work-05.webp");
  background-position:center;
}
.work-card__image>span{
  display:none;
}
.work-card__image:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,11,13,.03) 35%,rgba(10,11,13,.25) 100%);
}
.work-card:hover .work-card__image{
  transform:scale(1.035);
}
@media(max-width:640px){
  .hero{
    background-position:58% center;
  }
}

/* ===================== v6 END ===================== */

.work-card__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}



/* v1.5
   - 現場写真をテーマ内に同梱
   - トップ画像はカスタマイザーの画像を優先
   - 施工実績未登録時は同梱写真をデモ表示
*/
