
/*
Theme Name: WS/IT Corporate Suite
Description: 株式会社ワーク・サポート、カーサリーベラ、株式会社アイ・テック向けのレスポンシブ＋パララックス対応テーマ
Version: 1.2.2
Requires PHP: 8.1
Text Domain: wsit-corporate
*/
:root{--ink:#1d2c29;--accent:#1d725a;--accent2:#b88e4a;--line:#dde5e1;--soft:#f4f6f4;--bg:#ffffff;--dark:#12211d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Hiragino Sans','Noto Sans JP',sans-serif;line-height:1.8;font-size:16px}
a{color:var(--accent)}img{max-width:100%;height:auto;display:block}.screen-reader-text{position:absolute;left:-9999px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1180px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.branding{display:flex;align-items:center;gap:14px}.site-logo-wrap img{max-height:52px;width:auto}.site-title a{text-decoration:none;color:var(--ink);font-size:1.25rem;font-weight:800}.site-tagline{font-size:.78rem;color:#62716c;margin-top:2px}
.mobile-toggle{display:none;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--ink)}
.primary-nav ul,.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px;align-items:center;flex-wrap:wrap}.primary-nav a,.footer-nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.primary-nav a:hover,.footer-nav a:hover{color:var(--accent)}
.hero-banner,.page-hero,.parallax-band{position:relative;overflow:hidden}.hero-banner{min-height:72vh;display:flex;align-items:center;color:#fff;background:#1a2b26}.hero-media,.page-hero-media,.parallax-band-media{position:absolute;inset:0;background-position:center;background-size:cover;transform:translate3d(0,0,0);will-change:transform}.hero-overlay,.page-hero-overlay,.parallax-band-overlay{position:absolute;inset:0;background:linear-gradient(115deg,rgba(10,24,20,.78),rgba(10,24,20,.35))}
.hero-inner,.page-hero-inner{position:relative;z-index:2;max-width:1180px;margin:auto;width:100%;padding:clamp(90px,12vw,150px) 24px clamp(60px,9vw,100px)}
.hero-kicker{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:#b6dbc9;font-weight:800}.hero-banner h1,.page-hero h1{font-size:clamp(2rem,5vw,4.25rem);line-height:1.2;margin:.45rem 0 1rem;font-weight:800}.hero-banner p,.page-hero p{max-width:720px;font-size:clamp(1rem,1.7vw,1.15rem)}
.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.5rem}.btn,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;background:var(--accent);border:1px solid var(--accent);color:#fff!important;text-decoration:none!important;font-weight:700}.btn.alt{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.45)}.btn.ghost{background:#fff;color:var(--accent)!important;border-color:#fff}
.site-main{min-height:50vh}.section-wrap,.entry-content>.wp-block-group.alignfull>.wp-block-group__inner-container,.wp-block-group.is-layout-constrained{max-width:1120px;margin:auto;padding-left:24px;padding-right:24px}.content-section{padding:64px 0}.content-section.soft{background:var(--soft)}
.section-header{margin-bottom:26px}.section-kicker{display:block;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.section-title{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.3;margin:.35rem 0 0;font-weight:800}
.grid{display:grid;gap:24px}.grid.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 16px 40px rgba(24,43,36,.06)}.card-body{padding:22px}.card h3{margin:.1rem 0 .6rem;font-size:1.2rem}.card p{margin:0;color:#53625e}.meta{font-size:.86rem;color:#6c7b76}.thumb{aspect-ratio:16/10;background:#e7ece9}.thumb img{width:100%;height:100%;object-fit:cover}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}.stat strong{display:block;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--accent);line-height:1.2}
.parallax-band{min-height:42vh;display:flex;align-items:center;color:#fff}.parallax-band .parallax-band-media{background-attachment:fixed}.parallax-band .parallax-band-inner{position:relative;z-index:2;max-width:980px;padding:72px 24px;margin:auto;width:100%}
.page-shell{padding:42px 0 80px}.entry-content{max-width:1120px;margin:auto;padding:0 24px}.entry-content>:first-child{margin-top:0}.entry-content .wp-block-cover,.entry-content .wp-block-group.hero-like{border-radius:24px;overflow:hidden}
.site-footer{background:var(--dark);color:#dbe7e1;padding:56px 0 26px;margin-top:72px}.footer-inner{max-width:1180px;margin:auto;padding:0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start}.site-footer a{color:#eaf4ef}.copyright{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem;color:#b9c9c3}
.single-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px}.sidebar-box{background:#fff;border:1px solid var(--line);padding:22px;border-radius:18px}.archive-lead{max-width:760px;margin:0 auto 34px;padding:0 24px;text-align:center}
.form-embed,.listing-embed{padding:34px;border:1px solid var(--line);border-radius:20px;background:#fff}
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}.wp-block-button__link{padding:12px 22px}.wp-block-cover__inner-container,.wp-block-group__inner-container{width:100%}
.wsit-mobile-open .primary-nav{display:block}
@media (max-width:960px){.grid.cards-3,.stats,.single-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.parallax-band .parallax-band-media{background-attachment:scroll}}
@media (max-width:760px){.header-inner{padding:12px 16px}.mobile-toggle{display:block}.primary-nav{display:none;width:100%}.primary-nav ul{flex-direction:column;align-items:flex-start;padding:8px 0 4px;gap:12px}.grid.cards-2,.grid.cards-3,.stats,.single-grid{grid-template-columns:1fr}.hero-banner{min-height:64vh}.hero-inner,.page-hero-inner{padding:84px 16px 52px}.entry-content,.section-wrap{padding-left:16px;padding-right:16px}.content-section{padding:48px 0}.form-embed,.listing-embed{padding:22px}}

/* Design system 1.1 — image-forward editorial layout */
:root{--accent:#244f47;--ink:#182722;--muted:#697a73;--edge:#e8e9e4;--paper:#f8f8f5;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif}
.wsit-profile-work{--accent:#345e53;--ink:#1d2a26}
.wsit-profile-itech{--accent:#233c51;--ink:#192b37}
body{color:var(--ink);overflow-x:hidden;background:white}

/* Core cover fallback styles to keep hero images visible even if block library styles are not loaded as expected */
.wp-block-cover{position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}
.wp-block-cover.has-background-dim{background:#1a2b26}
.wp-block-cover__image-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wp-block-cover__background{position:absolute;inset:0}
.wp-block-cover__inner-container{position:relative;z-index:2}
.site-header{border-bottom:1px solid rgba(0,0,0,.04);box-shadow:0 4px 30px rgba(11,28,24,.035)}
.header-inner{max-width:1360px;min-height:82px;padding:14px clamp(20px,4vw,56px)}
.site-title a{font-size:1.08rem;letter-spacing:.07em;font-weight:780}
.site-tagline{letter-spacing:.13em;font-size:.66rem}
.primary-nav a{font-size:.82rem;letter-spacing:.07em}
.primary-nav li:last-child a{display:inline-flex;background:var(--accent);color:#fff;border-radius:100px;padding:11px 21px}
main .wp-block-cover.wsit-hero{min-height:min(790px,86svh)!important;position:relative;isolation:isolate;display:flex;align-items:center;padding:clamp(64px,7vw,118px) clamp(22px,7vw,106px)}
main .wp-block-cover.wsit-hero>.wp-block-cover__image-background{object-fit:cover;transform:scale(1.07);animation:wsit-hero-in 1.4s cubic-bezier(.2,.7,.2,1) both}
main .wsit-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(9,22,20,.79),rgba(9,22,20,.37) 65%,rgba(9,22,20,.1))!important}
main .wsit-hero .wp-block-cover__inner-container{width:100%;max-width:1260px;margin:0 auto;position:relative;z-index:2}
.wsit-hero-eyebrow{font-size:.78rem;letter-spacing:.25em;font-weight:700;margin:0 0 24px;color:#d4e6db}
main .wsit-hero h1{font-family:var(--serif);font-weight:600;max-width:850px;letter-spacing:.07em;font-size:clamp(2.1rem,5.6vw,5.3rem);line-height:1.42;text-wrap:balance;margin-bottom:24px}
main .wsit-hero-lead{font-size:clamp(.96rem,1.35vw,1.2rem);line-height:2;max-width:640px;color:#f2f5f0}
.wsit-hero .wsit-buttons{margin-top:32px}
main .wsit-section{padding:clamp(76px,9vw,140px) clamp(24px,6vw,60px);max-width:none!important}
.wsit-section>*{max-width:1180px;margin-left:auto;margin-right:auto}
.wsit-kicker{text-transform:uppercase;letter-spacing:.24em;font-size:.79rem;color:var(--accent);font-weight:800;margin-bottom:16px}
.wsit-heading{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.3vw,3.5rem);line-height:1.5;margin:.1em 0 .55em;letter-spacing:.035em}
.wsit-description{font-size:1.03rem;color:#52635d;line-height:2.05;max-width:800px;margin-left:auto;margin-right:auto}
.wsit-muted{background:var(--paper)}
.wsit-feature-columns{gap:24px;margin-top:48px!important}
.wsit-feature-card{min-height:254px;padding:clamp(23px,3vw,37px);border:1px solid var(--edge);background:#fff;box-shadow:0 18px 40px rgba(13,27,22,.04);height:100%}
.wsit-feature-num{color:var(--accent);letter-spacing:.14em;font-size:.8rem;font-weight:800;margin-bottom:23px}
.wsit-feature-card h3{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.5rem);margin:0 0 14px;font-weight:650}
.wsit-feature-card p:last-child{color:#687770;font-size:.93rem;line-height:1.95}
.wsit-brand-section{background:#efece5}
.wsit-contact-section{text-align:center}
main .wp-block-cover.wsit-parallax-panel{min-height:460px;display:flex;align-items:center;padding:90px 25px;overflow:hidden}
.wsit-parallax-panel .wp-block-cover__inner-container{max-width:1050px;margin:0 auto;position:relative;z-index:2}
.wsit-parallax-panel h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.9rem);font-weight:600;line-height:1.45}
.wsit-parallax-panel p{max-width:690px;line-height:2}
.wsit-parallax-panel .wp-block-cover__image-background{transform:scale(1.1);will-change:transform}
.wsit-buttons .wp-block-button__link{min-width:180px;min-height:52px;padding:13px 24px;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;background:var(--accent);border-radius:4px}
.wsit-buttons .is-style-outline .wp-block-button__link{background:transparent;border:1px solid currentColor;color:inherit!important}
.wsit-short-grid{margin:42px auto!important}.wsit-short-card{border:0;background:white;padding:0;border-radius:2px;box-shadow:0 14px 35px rgba(12,32,23,.07)}
.wsit-short-thumb{border-radius:0;aspect-ratio:1.35;margin:0}.wsit-short-card h3,.wsit-short-card p{padding:0 21px}.wsit-short-card h3{margin:20px 0 10px}.wsit-short-card p:last-child{padding-bottom:24px}
.wsit-cover-page{padding:0}.wsit-cover-page .entry-content{max-width:none;padding:0}.wsit-cover-page .wsit-section{max-width:none}
.page-hero{min-height:300px}.page-hero-inner{padding:85px 24px}.page-hero h1{font-family:var(--serif)}
.site-footer{margin-top:0}.copyright{font-size:.75rem}
@keyframes wsit-hero-in{from{transform:scale(1.16);opacity:.75}to{transform:scale(1.07);opacity:1}}
@media(max-width:960px){.wsit-feature-columns{gap:14px}.wsit-feature-card{padding:22px;min-height:210px}}
@media(max-width:760px){.header-inner{min-height:68px;flex-wrap:wrap;padding:12px 18px}.site-header .primary-nav{order:3}.site-title a{font-size:.96rem}.site-tagline{font-size:.6rem}.mobile-toggle{padding:6px 9px}.primary-nav{width:100%}.primary-nav ul{padding:14px 0 7px;gap:0;align-items:stretch}.primary-nav li{width:100%;border-bottom:1px solid #e8ece9}.primary-nav a,.primary-nav li:last-child a{display:block;width:100%;padding:12px 8px;background:transparent;color:var(--ink);border-radius:0}main .wp-block-cover.wsit-hero{min-height:620px!important;padding:86px 22px 70px}.wsit-hero .wp-block-cover__inner-container{width:100%}.wsit-hero-eyebrow{font-size:.7rem;letter-spacing:.18em}main .wsit-hero h1{font-size:clamp(2.05rem,8vw,3.1rem);line-height:1.48}main .wsit-hero-lead{line-height:1.9}.wsit-hero .wp-block-buttons{flex-direction:column;align-items:stretch}.wsit-hero .wp-block-button,.wsit-hero .wp-block-button__link{width:100%}.wsit-feature-columns{display:block}.wsit-feature-columns>.wp-block-column{margin-bottom:16px}.wsit-feature-card{min-height:0}main .wsit-section{padding:68px 20px}.wsit-heading{font-size:clamp(1.8rem,7vw,2.5rem)}main .wp-block-cover.wsit-parallax-panel{min-height:340px;padding:65px 22px}.wsit-parallax-panel .wp-block-cover__image-background{transform:scale(1.03)!important}.wsit-parallax-panel h2{font-size:2rem}.wsit-buttons{flex-direction:column}.wsit-buttons .wp-block-button,.wsit-buttons .wp-block-button__link{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.wsit-hero .wp-block-cover__image-background{transform:none!important}}

/* Improve legibility on photographic page titles and cover blocks. */
.page-hero h1,.page-hero p,.page-hero .hero-kicker{color:#fff!important;text-shadow:0 3px 18px rgba(0,0,0,.6)}
.page-hero-overlay{background:linear-gradient(105deg,rgba(8,24,22,.82),rgba(9,27,24,.54))!important}
.wsit-parallax-panel h2,.wsit-parallax-panel p{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.5)}

.wsit-privacy-cta{font-size:13px;line-height:1.75;color:#415950;max-width:700px;margin:20px auto}
