/*
Theme Name: 総合設備ニシモト Corporate
Author: Nishimoto Website Project
Description: 総合設備ニシモト専用コーポレートテーマ。施工事例管理プラグインと連携。
Version: 13.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: nishimoto
*/
:root{--navy:#10243a;--navy2:#19344f;--gold:#b79a63;--ink:#202d39;--muted:#687580;--light:#f4f6f7}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;line-height:1.85}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(1140px,92%);margin:auto}.site-header{background:white;position:sticky;top:0;z-index:100;box-shadow:0 2px 15px #00000012}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:18px}.brand{font-size:1.35rem;font-weight:800;letter-spacing:.08em;color:var(--navy);line-height:1.3}.brand small{display:block;font-size:.65rem;font-weight:500;letter-spacing:.18em;color:var(--gold)}.nav{display:flex;align-items:center;gap:20px;font-size:.86rem;font-weight:700}.nav a:hover{color:var(--gold)}.call{background:var(--navy);color:white;padding:10px 17px;border-radius:3px;white-space:nowrap}.hero{background:linear-gradient(110deg,#0d233de8,#0d233d9e),linear-gradient(135deg,#40566a,#192f42);color:white;min-height:510px;display:flex;align-items:center;position:relative}.hero:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 115px,#ffffff08 116px 117px)}.hero-content{position:relative;padding:90px 0}.eyebrow{letter-spacing:.2em;color:var(--gold);font-size:.78rem;font-weight:700}.hero h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.5;letter-spacing:.05em;margin:16px 0}.hero p{max-width:700px;font-size:1.04rem}.btn{display:inline-block;background:var(--gold);color:#101e2a;padding:12px 28px;font-weight:800;border-radius:3px;margin:12px 12px 0 0}.btn.outline{border:1px solid #ffffff80;background:transparent;color:white}.section{padding:85px 0}.section.alt{background:var(--light)}.section-heading{text-align:center;margin-bottom:35px}.section-heading span{color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.22em}.section-heading h2{font-size:clamp(1.65rem,3vw,2.3rem);margin:4px 0 8px;color:var(--navy)}.section-heading:after{content:'';display:block;width:42px;height:3px;background:var(--gold);margin:15px auto}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.panel{background:white;border:1px solid #e4e9ec;padding:26px;box-shadow:0 6px 25px #00000007}.panel h3{color:var(--navy);margin:0 0 10px;font-size:1.14rem}.panel p{color:var(--muted);font-size:.93rem;margin:0}.num{color:var(--gold);font-size:.8rem;letter-spacing:.12em;font-weight:800}.intro{max-width:800px;margin:0 auto;text-align:center}.features .panel{border-top:3px solid var(--gold)}.project-card{background:white;border:1px solid #e6e9ed;overflow:hidden}.project-image{width:100%;aspect-ratio:4/3;object-fit:cover;background:#dce3e8;display:block}.project-info{padding:18px}.project-info h3{font-size:1.05rem;margin:4px 0;color:var(--navy)}.meta{font-size:.8rem;color:var(--muted)}.cta{background:var(--navy);color:white;text-align:center;padding:70px 0}.cta h2{font-size:2rem}.cta .phone{font-size:2rem;font-weight:800;letter-spacing:.04em}.footer{background:#0b1929;color:#cbd5dd;padding:36px 0;font-size:.85rem}.footer strong{color:white}.page-head{background:var(--navy);color:white;padding:65px 0}.page-head h1{margin:0;font-size:2rem}.content{padding:60px 0;min-height:40vh}.article{max-width:850px;margin:auto}.beforeafter{display:grid;grid-template-columns:1fr 1fr;gap:16px}.beforeafter img{width:100%;aspect-ratio:4/3;object-fit:cover}.beforeafter figure{margin:0}.beforeafter figcaption{font-weight:800;color:var(--navy)}.pagination{text-align:center;margin-top:35px}.pagination .page-numbers{padding:7px 12px;border:1px solid #ddd;margin:3px}.notice{background:#f5f7f9;padding:16px;border-left:3px solid var(--gold)}.mobile-menu{display:none}@media(max-width:800px){.header-inner{min-height:68px}.brand{font-size:1rem}.nav{display:none}.mobile-menu{display:block;font-size:.8rem}.hero{min-height:450px}.hero-content{padding:65px 0}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:55px 0}}@media(max-width:550px){.grid,.beforeafter{grid-template-columns:1fr}.hero h1{font-size:1.9rem}.cta .phone{font-size:1.6rem}.section-heading h2{font-size:1.65rem}.panel{padding:20px}}
/* Version 2 enhancements */
.filterbar{display:flex;gap:16px;flex-wrap:wrap;align-items:end;background:#f2f5f8;padding:20px;border-radius:12px;margin:26px 0 32px}.filterbar label{display:flex;flex-direction:column;gap:8px;font-weight:600}.filterbar select,.filterbar input{border:1px solid #cdd5df;border-radius:6px;padding:12px;min-width:190px;background:white}.works-grid{margin-top:25px}.pagination{display:flex;gap:10px;justify-content:center;margin:35px auto}.pagination .page-numbers{padding:9px 14px;background:#edf1f6;border-radius:6px}.pagination .current{background:#163653;color:#fff}.work-detail{max-width:1100px;margin:auto}.work-facts{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0;padding:20px;background:#f2f5f8;border-radius:10px}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}.before-after figure{margin:0}.before-after img{width:100%;height:360px;object-fit:cover;border-radius:10px}.before-after figcaption{text-align:center;font-weight:700;margin:10px 0}.placeholder{min-height:240px;display:flex;align-items:center;justify-content:center;background:#e6ebf0;color:#637588}.article-body{line-height:1.95;max-width:850px;margin:32px auto}.work-cta{background:#102d49;color:white;padding:32px;border-radius:12px;margin:40px 0}.work-cta h2{color:white}.company-table{border-collapse:collapse;width:100%;margin:30px 0}.company-table th,.company-table td{border-bottom:1px solid #dbe2e9;padding:18px;text-align:left}.company-table th{width:30%;background:#f4f6f8}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}.big-phone{font-size:clamp(24px,4vw,36px);font-weight:800}.notice{line-height:1.8}@media(max-width:700px){.before-after,.contact-options{grid-template-columns:1fr}.before-after img{height:auto}.filterbar{display:block}.filterbar label{margin-bottom:12px}.company-table th{width:36%}}

/* 施工事例 v3 */
.nishi-comment{padding:24px;background:#f4f7fa;border-left:4px solid #b69b63;margin:24px 0}.nishi-tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;align-items:center}.nishi-tags span{border:1px solid #d4dae1;border-radius:20px;padding:5px 12px;font-size:14px}.nishi-gallery{margin:36px 0}.nishi-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.nishi-gallery-grid figure{margin:0}.nishi-gallery-grid img{width:100%;height:auto;display:block;border-radius:8px}

/* BEFORE / AFTER comparison */
.nishi-ba-head{text-align:center;margin:32px 0 16px}.nishi-ba-head h2{margin-bottom:6px}.nishi-ba-head p{color:#657181}.nishi-ba-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;margin:22px 0 32px}.nishi-ba-compare figure{position:relative;margin:0;background:#f2f5f8;border-radius:12px;overflow:hidden;min-width:0}.nishi-ba-compare figure img{display:block;width:100%;height:360px;object-fit:contain;background:#eef1f5}.nishi-ba-compare .placeholder{min-height:240px;display:flex;align-items:center;justify-content:center;padding:20px}.nishi-photo-label{position:absolute;z-index:1;top:12px;left:12px;padding:8px 12px;border-radius:6px;color:white;font-size:13px;font-weight:700;letter-spacing:.03em}.nishi-photo-label-before,.nishi-gallery-before{background:#596575;color:white}.nishi-photo-label-after,.nishi-gallery-after{background:#0b6682;color:white}.nishi-gallery-before,.nishi-gallery-after{display:inline-block;padding:3px 8px;border-radius:4px;font-size:13px;vertical-align:middle}.nishi-gallery-grid img{width:100%;height:auto;display:block}.nishi-gallery-grid figure{margin:0}@media(max-width:600px){.nishi-ba-compare{gap:8px}.nishi-ba-compare figure img{height:220px}.nishi-photo-label{font-size:10px;padding:6px 7px;top:7px;left:7px}}


/* v5 photo-forward home */
.hero-v5{min-height:650px;background-color:#18334b;background-size:cover;background-position:center;isolation:isolate}.hero-v5:before{pointer-events:none}.hero-v5 .hero-content{padding:140px 0 120px}.hero-v5 h1{font-size:clamp(2.3rem,4.7vw,4.4rem);letter-spacing:.07em;line-height:1.4}.hero-v5 p{max-width:680px}.hero-bottom{position:absolute;bottom:24px;right:4%;font-size:.67rem;letter-spacing:.23em;color:#ffffffa6}.home-kicker{font-size:.78rem;color:var(--gold);font-weight:800;letter-spacing:.24em}.intro-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center}.intro-layout h2{font-size:clamp(1.6rem,3vw,2.65rem);line-height:1.6;margin:15px 0}.intro-layout p{margin:0 0 16px}.home-inline-note{display:inline-block;border-bottom:2px solid var(--gold);font-weight:700;margin-top:10px}.service-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-photo-card{background:white;box-shadow:0 12px 30px #10243a0c;overflow:hidden}.service-photo{height:220px;background-position:center;background-size:cover;position:relative;background-color:#233e57}.service-photo.no-image{background-image:linear-gradient(135deg,#324f67,#112b44)}.service-photo-index{position:absolute;top:14px;left:17px;color:white;font-size:.75rem;letter-spacing:.2em;border-bottom:2px solid var(--gold);font-weight:700}.service-photo-body{padding:23px}.service-photo-body h3{font-size:1.13rem;margin:0 0 8px}.service-photo-body p{font-size:.88rem;margin:0;color:var(--muted)}.home-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.home-why-grid>div{padding:20px 28px;border-left:1px solid #d9dfe3}.home-why-grid span{font-size:2rem;color:var(--gold);font-family:Georgia,serif}.home-why-grid h3{margin:12px 0}.home-why-grid p{font-size:.91rem;color:var(--muted)}.home-works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-work-card{overflow:hidden;background:white;box-shadow:0 10px 24px #10243a0b}.home-work-card .project-image{width:100%;height:220px;object-fit:cover;display:block}.home-work-empty{display:flex!important;align-items:center;justify-content:center;background:#d9e1e7;color:#52677a}.home-work-card .project-info{padding:18px}.home-work-card h3{font-size:1.06rem}.work-view{font-size:.73rem;color:#a38550;font-weight:800;letter-spacing:.07em}.home-center{text-align:center;margin-top:35px}.home-dark-btn{background:var(--navy);color:white}.home-contact{background:#112c45;color:white;padding:85px 0}.home-contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.home-contact h2{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.5;margin:15px 0}.home-contact-tel{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:800;letter-spacing:.04em}.home-contact-links p{font-size:.83rem;color:#d7e0e7}.home-contact .btn{margin-top:5px}@media(max-width:800px){.service-photo-grid,.home-works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-layout,.home-contact-inner{grid-template-columns:1fr;gap:18px}.hero-v5{min-height:560px}.hero-v5 .hero-content{padding:110px 0 95px}}@media(max-width:540px){.service-photo-grid,.home-works-grid,.home-why-grid{grid-template-columns:1fr}.service-photo{height:200px}.home-why-grid>div{padding:12px 18px}.hero-v5 h1{font-size:2.05rem}.hero-v5 .hero-content{padding:90px 0}.home-contact{padding:65px 0}}

/* v6 supplied photo gallery */
.nishi-life-section{background:#fff}.nishi-life-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}.nishi-life-grid figure{margin:0;position:relative;overflow:hidden;background:#e6ebef;border-radius:4px}.nishi-life-grid img{display:block;width:100%;height:310px;object-fit:cover;transition:transform .35s}.nishi-life-grid figure:hover img{transform:scale(1.035)}.nishi-life-grid figcaption{position:absolute;bottom:0;left:0;right:0;color:#fff;padding:28px 15px 13px;background:linear-gradient(transparent,#071b2acc);font-size:.83rem;font-weight:700}.nishi-life-note{text-align:right;font-size:.72rem;color:#6c7780;margin-top:12px}.hero-v5{background-position:center 45%}@media(max-width:750px){.nishi-life-grid{grid-template-columns:1fr 1fr}.nishi-life-grid .wide{grid-column:span 2}.nishi-life-grid img{height:230px}.nishi-life-grid .wide img{height:290px}}

/* v7 slideshow */
.nishi-slider{height:min(740px,80vh);min-height:520px;position:relative;overflow:hidden;background:#10263b;color:#fff}
.nishi-slides,.nishi-slide{position:absolute;inset:0}.nishi-slide{display:flex;align-items:center;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease}.nishi-slide.is-active{opacity:1;visibility:visible;z-index:1}.nishi-slide-content{position:relative;z-index:2;width:100%;padding:60px 65px}.nishi-slide-content h1{font-size:clamp(30px,4.1vw,59px);line-height:1.45;color:#fff;max-width:800px;letter-spacing:.04em}.nishi-slide-content p{font-size:clamp(14px,1.45vw,19px);max-width:650px;color:#fff;margin:20px 0 32px}.nishi-slide-content .eyebrow{color:#e6c68a;font-size:12px;letter-spacing:.18em}.nishi-slide-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);border:1px solid #ffffff90;border-radius:50%;background:#10283b88;color:#fff;width:45px;height:45px;cursor:pointer;font-size:22px}.nishi-prev{left:14px}.nishi-next{right:14px}.nishi-slide-arrow:hover,.nishi-slide-arrow:focus-visible{background:#10283b}.nishi-slide-dots{position:absolute;z-index:4;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:10px}.nishi-slide-dots button{width:11px;height:11px;border:1px solid white;background:#ffffff60;border-radius:50%;padding:0;cursor:pointer}.nishi-slide-dots button.is-active{background:#d8b878;border-color:#d8b878}.nishi-slide-note{position:absolute;right:14px;bottom:10px;z-index:3;font-size:10px;color:#fff9;text-shadow:0 1px 3px #000}.nishi-slide a:focus-visible,.nishi-slide-arrow:focus-visible,.nishi-slide-dots button:focus-visible{outline:3px solid #e6c68a;outline-offset:3px}
@media(max-width:700px){.nishi-slider{height:72vh;min-height:500px;max-height:740px}.nishi-slide-content{padding:40px 42px}.nishi-slide-content h1{font-size:clamp(26px,7vw,38px)}.nishi-slide-content p{font-size:14px}.nishi-slide-arrow{width:32px;height:32px;font-size:16px}.nishi-prev{left:5px}.nishi-next{right:5px}.nishi-slide{background-position:center}}
@media(prefers-reduced-motion:reduce){.nishi-slide{transition:none}}

/* Turf landing page */
.turf-page{color:#183521;background:#fff}.turf-wrap{width:min(1100px,92%);margin:auto}.turf-hero{padding:110px 0 100px;background:linear-gradient(105deg,rgba(8,50,27,.95),rgba(10,81,38,.75)),url('assets/images/turf-flyer.jpg') center 42%/cover;color:#fff}.turf-kicker,.turf-head>span{font-size:.78rem;letter-spacing:.18em;font-weight:700;color:#b5d77b}.turf-hero h1{font-size:clamp(2.5rem,5.6vw,4.9rem);line-height:1.25;margin:20px 0}.turf-hero p{font-size:1.13rem;line-height:2}.turf-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.turf-btn{display:inline-block;background:#e7ad27;color:#183521!important;padding:15px 24px;border-radius:6px;font-weight:700;text-decoration:none}.turf-btn-light{background:#fff}.turf-section{padding:78px 0}.turf-muted{background:#f4f7f1}.turf-head{text-align:center;margin-bottom:38px}.turf-head>span{color:#498346}.turf-head h2{font-size:clamp(1.65rem,3vw,2.4rem);margin:10px 0 14px}.turf-head p{line-height:1.8}.turf-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.turf-benefits article{background:#f4f7f1;padding:30px;border-radius:12px}.turf-benefits strong{color:#6b9d50;font-size:1.5rem}.turf-benefits h3{font-size:1.2rem;margin:12px 0}.turf-benefits p,.turf-feature p{line-height:1.9}.turf-flyer{max-width:760px;margin:0 auto}.turf-flyer img{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 10px 36px #12361a1c}.turf-flyer figcaption{font-size:.8rem;color:#5c6b5e;margin-top:12px;text-align:center}.turf-feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.turf-feature small{color:#657369}.turf-feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.turf-feature-list span{background:#edf5e8;padding:20px 12px;border-radius:8px;text-align:center;font-weight:700;color:#25572b}.turf-price{max-width:850px;margin:auto;background:white;border:1px solid #dbe7d8;border-radius:14px;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.turf-price strong{font-size:clamp(2.3rem,5vw,3.5rem);color:#d96c22}.turf-price strong small{font-size:1.1rem}.turf-price p{line-height:1.8}.turf-contact{background:#10462b;color:white;text-align:center}.turf-contact .turf-head>span{color:#b5d77b}.turf-contact-tel{font-size:clamp(1.8rem,4vw,2.9rem);font-weight:800;color:#fff!important;text-decoration:none}.turf-contact .turf-btn{margin-top:18px}.turf-note{font-size:.8rem;opacity:.8;margin-top:28px}@media(max-width:700px){.turf-hero{padding:80px 0}.turf-section{padding:55px 0}.turf-benefits,.turf-feature,.turf-price{grid-template-columns:1fr}.turf-price{padding:24px}.turf-benefits article{padding:24px}}

/* Final audit: artificial turf card links to its dedicated page */
.nishi-turf-card-link{display:block;color:inherit;text-decoration:none;height:100%}.nishi-turf-card-link:hover .service-photo{filter:brightness(.92)}.nishi-turf-card-link:focus-visible{outline:3px solid #b89450;outline-offset:3px}
