*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;background:#f3f3f1;color:#171717}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#111;color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #2a2a2a}.brand{width:165px;height:60px;overflow:hidden;display:flex;align-items:center}.brand img{filter:invert(1);mix-blend-mode:screen;transform:scale(1.22)}nav{display:flex;align-items:center;gap:30px;font-weight:700;font-size:14px}nav a{opacity:.9}nav a:hover{color:#f7c600}.nav-cta{background:#f7c600;color:#111!important;padding:31px 28px;margin-right:-5vw}.menu{display:none;background:none;border:0;color:white;font-size:28px}.hero{height:min(720px,78vh);min-height:560px;background:url("assets/hero.jpeg") center 48%/cover no-repeat;position:relative;color:white}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,7,.90) 0%,rgba(7,7,7,.70) 38%,rgba(7,7,7,.08) 78%)}.hero-content{position:relative;z-index:2;padding:11vh 6vw 0;max-width:760px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:900;text-transform:uppercase;margin-bottom:14px}.hero h1{font-size:clamp(48px,6.2vw,88px);line-height:1.06;margin:0 0 26px;letter-spacing:-.035em}.hero h1 span,.yellow-text{color:#f7c600}.hero p{font-size:17px;line-height:1.9;max-width:620px;margin-bottom:34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;font-weight:900;border:1px solid transparent}.yellow{background:#f7c600;color:#111}.ghost{border-color:#777;background:rgba(0,0,0,.25);color:#fff}.hero-tag{position:absolute;right:3vw;bottom:24px;background:#f7c600;color:#111;padding:11px 18px;font-weight:900;transform:rotate(-2deg)}.section{padding:90px 6vw}.intro{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw;align-items:end}.intro h2,.section h2{font-size:clamp(34px,4vw,58px);margin:0}.intro p{font-size:17px;line-height:2;margin:0}.dark{background:#171717;color:#fff}.section-head{text-align:center;max-width:760px;margin:0 auto 48px}.section-head p{color:#aaa}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1240px;margin:auto}.service-card{background:#0d0d0d;border:1px solid #292929}.service-card img{height:245px;object-fit:cover;filter:saturate(.75)}.service-card div{padding:26px}.service-card span{color:#f7c600;font-size:12px;font-weight:900}.service-card h3{font-size:22px;margin:8px 0 12px}.service-card p{color:#bdbdbd;line-height:1.8;font-size:14px}.works{background:#ededeb}.section-head.inline{max-width:1240px;display:flex;justify-content:space-between;align-items:end;text-align:left}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1240px;margin:auto}.gallery figure{margin:0;background:#fff;overflow:hidden}.gallery img{height:310px;object-fit:cover;transition:.35s}.gallery figcaption{display:flex;justify-content:space-between;gap:16px;padding:16px 14px;font-size:13px}.gallery figcaption span{color:#777}.strength-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#363636;max-width:1240px;margin:auto}.strength-grid>div{background:#171717;padding:34px}.strength-grid strong{color:#f7c600;font-size:38px}.strength-grid p{color:#aaa;line-height:1.8;font-size:14px}.company{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;max-width:1400px;margin:auto}.company dl div{display:grid;grid-template-columns:140px 1fr;border-top:1px solid #ccc;padding:18px 0}.company dt{font-weight:900}.company dd{margin:0}.company-photo{background:#111;display:flex;align-items:center;overflow:hidden;min-height:420px}.company-photo img{filter:invert(1);mix-blend-mode:screen;transform:scale(1.15)}.map-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.black{background:#111;color:#fff}.outline{border-color:#111}.contact{background:#f7c600;display:flex;align-items:center;justify-content:space-between;padding:54px 6vw;gap:30px}.contact h2{margin:8px 0;font-size:clamp(28px,3vw,44px)}.contact>a{background:#111;color:#fff;padding:20px 30px;font-size:30px;font-weight:900}footer{background:#111;color:#aaa;display:grid;grid-template-columns:180px 1fr auto;gap:28px;align-items:center;padding:35px 6vw;font-size:12px}.footer-logo{height:70px;overflow:hidden}.footer-logo img{filter:invert(1);mix-blend-mode:screen;transform:scale(1.15)}@media(max-width:980px){nav{display:none}.menu{display:block}.service-grid,.gallery,.strength-grid{grid-template-columns:1fr 1fr}.company{grid-template-columns:1fr}.contact{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.hero{min-height:640px;height:84vh;background-position:43% center}.hero h1{font-size:48px}.section{padding:70px 5vw}.intro,.service-grid,.gallery,.strength-grid{grid-template-columns:1fr}.company dl div{grid-template-columns:1fr;gap:6px}.contact>a{width:100%;text-align:center}footer{grid-template-columns:1fr}}
/* Japanese-inspired accents */
.hero-content::before{
  content:"鳶";
  position:absolute;
  left:5.2vw;
  top:4.3vh;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:52px;
  font-weight:800;
  color:rgba(247,198,0,.22);
  writing-mode:vertical-rl;
  letter-spacing:.12em;
}
.section-head h2,.intro h2,.company h2{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.03em;
}
.section-head::after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin:20px auto 0;
  background:#f7c600;
}
.works .section-head.inline::after{display:none}
.works,.company,.inquiry{
  background-image:linear-gradient(rgba(0,0,0,.018) 1px,transparent 1px);
  background-size:100% 7px;
}

/* Contact form */
.inquiry{background-color:#f3f3f1}
.inquiry-form{max-width:920px;margin:0 auto;background:#fff;border-top:5px solid #f7c600;padding:38px;box-shadow:0 14px 40px rgba(0,0,0,.06)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.inquiry-form label{display:block;font-weight:900;margin-bottom:20px}
.inquiry-form em{font-style:normal;font-size:10px;background:#f7c600;color:#111;padding:3px 7px;margin-left:8px}
.inquiry-form input,.inquiry-form textarea{width:100%;margin-top:9px;border:1px solid #cfcfcf;background:#fafafa;padding:15px 14px;font:inherit;outline:none}
.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:#f7c600;background:#fff}
.form-submit{display:block;width:100%;max-width:360px;margin:10px auto 0;border:0;background:#111;color:#fff;padding:18px 24px;font-size:16px;font-weight:900;cursor:pointer;position:relative}
.form-submit::after{content:"→";color:#f7c600;margin-left:14px}
.form-note{text-align:center;color:#777;font-size:12px;margin:14px 0 0}

/* Footer right logo inverted */
.footer-right{display:flex;align-items:center;gap:18px}
.footer-mark{width:92px;height:48px;overflow:hidden;background:#f7c600;padding:4px}
.footer-mark img{filter:invert(1);mix-blend-mode:multiply;transform:scale(1.2)}

@media(max-width:640px){
  .hero-content::before{font-size:36px;left:4vw;top:5vh}
  .form-row{grid-template-columns:1fr}
  .inquiry-form{padding:24px 18px}
  .footer-right{justify-content:space-between}
}

/* v5: clean company logo */
.company-photo{
  background:#fff !important;
  min-height:300px !important;
  padding:44px !important;
  border:1px solid #d8d8d8;
}
.company-photo img{
  filter:none !important;
  mix-blend-mode:multiply !important;
  transform:none !important;
  max-width:340px;
  margin:auto;
}

/* Recruitment */
.recruit{
  background:#111;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.recruit::after{
  content:"鳶";
  position:absolute;
  right:-20px;
  bottom:-100px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:300px;
  font-weight:900;
  color:rgba(255,255,255,.025);
  pointer-events:none;
}
.recruit-wrap{
  max-width:1240px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  position:relative;
  z-index:1;
}
.recruit-copy h2{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(38px,4.6vw,66px);
  line-height:1.25;
  margin:0 0 24px;
}
.recruit-lead{color:#bbb;line-height:1.9;max-width:570px}
.recruit-tags{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}
.recruit-tags span{border:1px solid #555;padding:9px 13px;font-size:13px;font-weight:800}
.recruit-tags span:nth-child(3){background:#f7c600;color:#111;border-color:#f7c600}
.recruit-info{background:#1c1c1c;border-top:5px solid #f7c600;padding:34px}
.recruit-highlight{padding-bottom:25px;border-bottom:1px solid #444}
.recruit-highlight small{display:block;color:#f7c600;font-weight:900;margin-bottom:8px}
.recruit-highlight strong{display:block;font-size:34px}
.recruit-highlight span{display:block;color:#aaa;margin-top:8px;font-size:13px}
.recruit-info dl{margin:10px 0 0}
.recruit-info dl div{display:grid;grid-template-columns:110px 1fr;gap:15px;padding:16px 0;border-bottom:1px solid #333}
.recruit-info dt{font-weight:900;color:#f7c600}
.recruit-info dd{margin:0}

/* Footer: simple black logo only, no yellow box */
.footer-mark{background:transparent !important;padding:0 !important;width:110px !important;height:55px !important}
.footer-mark img{filter:invert(1) !important;mix-blend-mode:screen !important;transform:scale(1.1) !important}

@media(max-width:980px){
  .recruit-wrap{grid-template-columns:1fr;gap:38px}
}
@media(max-width:640px){
  .recruit-info{padding:24px 18px}
  .recruit-info dl div{grid-template-columns:1fr;gap:5px}
  .recruit-highlight strong{font-size:28px}
}
.hero-logo{min-height:min(68vw,760px)!important;height:auto!important;background:url("assets/hero_wagara.png") center/cover no-repeat!important}.hero-logo::before,.hero-logo::after{display:none!important}.hero-logo .hero-inner,.hero-logo .hero-content,.hero-logo .hero-copy{visibility:hidden!important}.recruit-entry{background:#f5f5f3;padding:42px 6%;border-block:1px solid #e5e5e2}.recruit-entry-inner{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.recruit-entry .eyebrow{color:#777;font-size:11px;letter-spacing:.22em;font-weight:800}.recruit-entry h2{margin:4px 0 6px;font-size:28px}.recruit-entry p{margin:0;color:#777}.recruit-link{color:#111;text-decoration:none;font-weight:800;border-bottom:1px solid #111;padding:10px 0;white-space:nowrap}@media(max-width:700px){.hero-logo{min-height:62vw!important}.recruit-entry-inner{align-items:flex-start;flex-direction:column}}
/* FINAL polish */
.site-header .brand{width:150px}
.header-badge{width:54px;flex:0 0 54px;margin-left:auto;margin-right:22px}
.header-badge img{width:100%;height:auto;object-fit:contain}
.company-badge{
  background:#fff;
  border:1px solid #ddd;
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:34px;
}
.company-badge img{max-width:230px;height:auto}
.company-badge p{font-weight:900;margin:18px 0 0;color:#333}
.company-photo{display:none!important}

.privacy-check{display:flex!important;align-items:center;gap:10px;font-weight:700!important;font-size:13px}
.privacy-check input{width:auto!important;margin:0!important}

.contact-actions{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
.contact-tel,.contact-mail{background:#111;color:#fff;padding:18px 26px;font-weight:900;display:flex;flex-direction:column;justify-content:center}
.contact-tel{font-size:28px}
.contact-tel small{color:#f7c600;font-size:10px;letter-spacing:.15em}
.contact-mail{font-size:15px}

footer{
  grid-template-columns:1fr auto!important;
  align-items:end!important;
}
footer strong{color:#fff;font-size:15px}

@media(max-width:980px){
  .header-badge{margin-left:auto;margin-right:10px;width:46px;flex-basis:46px}
}
@media(max-width:640px){
  .header-badge{width:40px;flex-basis:40px}
  .contact-actions{width:100%}
  .contact-tel,.contact-mail{width:100%}
  footer{grid-template-columns:1fr!important}
}

.service-card-link{display:block;color:inherit;text-decoration:none}
.service-card-link .service-card{height:100%}
.service-card-link:hover .service-card{transform:translateY(-3px);transition:.2s}
.detail-page{background:#f3f3f1;color:#171717;min-height:100vh}
.detail-header{background:#111;color:#fff;padding:22px 6vw;display:flex;justify-content:space-between;align-items:center}
.detail-header a{color:#fff;text-decoration:none;font-weight:800}
.detail-main{max-width:1200px;margin:auto;padding:70px 6vw}
.detail-main h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(38px,5vw,64px);margin:0 0 14px}
.detail-main .lead{color:#666;line-height:1.9;margin-bottom:35px}
.detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.detail-gallery figure{margin:0;background:#fff}
.detail-gallery img{width:100%;height:310px;object-fit:cover}
.detail-gallery figcaption{padding:14px 16px;font-weight:800}
@media(max-width:800px){.detail-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.detail-gallery{grid-template-columns:1fr}.detail-gallery img{height:280px}}

/* header logo crop fix */
.site-header .brand{
  height:70px !important;
  overflow:visible !important;
}
.site-header .brand img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  transform:none !important;
}

/* Header logo - official mark only, white, transparent */
.site-header .brand{
  width:165px !important;
  height:70px !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
  background:transparent !important;
}
.site-header .brand img{
  width:155px !important;
  height:auto !important;
  max-height:58px !important;
  object-fit:contain !important;
  transform:none !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  background:transparent !important;
}

/* Clickable service cards */
.service-card-link{display:block;color:inherit;text-decoration:none}
.service-card-link .service-card{height:100%}
.service-card-link:hover .service-card{transform:translateY(-3px);transition:.2s}

/* Service detail pages */
.detail-page{background:#f3f3f1;color:#171717;min-height:100vh}
.detail-header{background:#111;color:#fff;padding:22px 6vw;display:flex;justify-content:space-between;align-items:center}
.detail-header a{color:#fff;text-decoration:none;font-weight:800}
.detail-main{max-width:1200px;margin:auto;padding:70px 6vw}
.detail-main h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(38px,5vw,64px);margin:0 0 14px}
.detail-main .lead{color:#666;line-height:1.9;margin-bottom:35px}
.detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.detail-gallery figure{margin:0;background:#fff}
.detail-gallery img{width:100%;height:330px;object-fit:cover}
.detail-gallery figcaption{padding:14px 16px;font-weight:800}
@media(max-width:800px){.detail-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.detail-gallery{grid-template-columns:1fr}.detail-gallery img{height:290px}}

/* 05 資材リース */
.lease-visual{height:245px;background:#202020;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.lease-visual .lease-num{color:#f7c600;font-size:18px;font-weight:900;margin-bottom:8px}
.lease-visual strong{font-size:36px;letter-spacing:.12em}
.lease-visual small{margin-top:8px;color:#aaa;font-weight:800}
.rental-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:35px 0}
.rental-list>div{background:#fff;padding:25px;border-left:4px solid #f7c600}
.rental-list span{font-size:12px;font-weight:900;color:#888}
.rental-list h2{font-size:21px;margin:5px 0}
.rental-delivery{margin-top:25px;background:#171717;color:#fff;padding:32px}
.rental-delivery h2{font-size:30px;margin:6px 0 10px}
.rental-delivery p{margin:0;color:#bbb}
.rental-contact{margin-top:18px;background:#f7c600;padding:35px;color:#111}
.rental-contact h2{font-size:27px;margin:0 0 8px}
.rental-contact p{margin:0 0 20px}
.rental-contact a{display:inline-block;background:#111;color:#fff;text-decoration:none;padding:14px 22px;font-weight:900}
@media(max-width:650px){.rental-list{grid-template-columns:1fr}}

/* pinpoint fixes: keep original design */
.strength-photo{grid-column:span 2;padding:0!important;overflow:hidden;min-height:250px}
.strength-photo img{width:100%;height:100%;min-height:250px;object-fit:cover}
@media(max-width:980px){.strength-photo{grid-column:span 2}}
@media(max-width:640px){.strength-photo{grid-column:span 1}}
\n/* Approved hero accent: keep the existing background/logo exactly, add only a subtle horizontal pine */
.hero-logo{position:relative!important;overflow:hidden!important}
.hero-pine{
  position:absolute!important;
  z-index:3!important;
  width:min(37vw,710px)!important;
  height:auto!important;
  right:-1.2vw!important;
  top:4.5%!important;
  pointer-events:none!important;
  opacity:.94!important;
}
@media(max-width:800px){
  .hero-pine{width:52vw!important;right:-8vw!important;top:5.5%!important;opacity:.9!important}
}

/* 2026-08-29 supplied hero image: use exactly as provided */
.hero-logo{
  background:url("assets/hero_wagara.png") center top/cover no-repeat!important;
  aspect-ratio:1536/1024!important;
  min-height:0!important;
  height:auto!important;
}
.hero-logo .hero-pine,
.hero-logo .hero-shade,
.hero-logo .hero-content,
.hero-logo .hero-tag{display:none!important}

/* 2026-08-29: hero overall scale reduced — keep artwork, show it smaller with more breathing room */
.hero-logo{
  height:clamp(430px,48vw,620px)!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  background-color:#f4f3ef!important;
  background-size:92% auto!important;
  background-position:center 18%!important;
  background-repeat:no-repeat!important;
}
@media(max-width:800px){
  .hero-logo{
    height:58vw!important;
    min-height:390px!important;
    background-size:100% auto!important;
    background-position:center top!important;
  }
}

/* 2026-08-29 FIX: show the supplied hero artwork in full, without cropping */
.hero-logo{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:3 / 2!important;
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#f4f3ef!important;
}
@media(max-width:700px){
  .hero-logo{
    height:auto!important;
    min-height:0!important;
    aspect-ratio:3 / 2!important;
    background-size:contain!important;
    background-position:center center!important;
  }
}


/* 2026-08-29 final hero adjustment:
   Top-photo full-view base + slightly larger visual, no logo/pine clipping */
.hero-logo{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:3 / 2 !important;
  background-image:url("assets/hero_wagara.png") !important;
  background-size:108% auto !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-color:#f4f3ef !important;
  overflow:hidden !important;
}
@media(max-width:700px){
  .hero-logo{
    aspect-ratio:3 / 2 !important;
    background-size:104% auto !important;
    background-position:center center !important;
  }
}@media (min-width:701px){

  .hero-logo{

    height:calc(100vh - 70px) !important;

    min-height:0 !important;

    aspect-ratio:auto !important;

    background-size:contain !important;

    background-position:center center !important;

    background-repeat:no-repeat !important;
　　｝
｝