/*
Theme Name: CS Construction
Theme URI: https://k-cs.bz
Author: CS Website Project
Description: 株式会社シーエス専用WordPressテーマ（デザイン改良・テスト版）
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 8.1
Text Domain: cs-construction
*/
:root{--navy:#173856;--ink:#162739;--muted:#647487;--light:#f5f7f9;--border:#dce3e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(100% - 64px,1380px);margin:auto}.site-header{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 1px 10px #102c4612}.header-inner{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;font-size:23px;font-weight:800;white-space:nowrap}.brand img{width:51px;height:51px;object-fit:contain}.nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:700}.nav>a:not(.btn){padding:8px 0;white-space:nowrap}.nav>a:not(.btn):hover,.nav>a:not(.btn):focus{color:#a47c50}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;color:#fff!important;background:var(--navy);font-weight:700;border:1px solid var(--navy);border-radius:2px}.btn:hover{background:#285070}.hero{min-height:540px;position:relative;display:flex;align-items:center;color:#fff;background-image:linear-gradient(90deg,rgba(7,35,60,.91),rgba(17,54,84,.58) 36%,rgba(19,51,77,.03) 76%),url('assets/hero-concept.jpg');background-size:cover;background-position:center 48%;overflow:hidden}.hero-wrap{display:flex;align-items:center}.hero-copy{max-width:710px;padding:25px 0 46px}.hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(35px,4vw,60px);line-height:1.45;letter-spacing:.07em;font-weight:650;margin:0 0 19px;text-shadow:0 2px 12px #16273938}.hero p{font-size:18px;font-weight:600;line-height:1.8;margin:0 0 27px}.hero-link{display:inline-flex;align-items:center;gap:35px;padding:11px 30px;border:1px solid #fff;background:#102c4521;font-weight:700}.hero-link:hover{background:#ffffff25}.hero-image-note{position:absolute;bottom:9px;right:15px;color:#fff;background:#0d2c45a8;padding:2px 8px;font-size:10px}.section{padding:76px 0}.section-head{text-align:center;margin-bottom:33px}.section-head h2,.section-heading-row h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:34px;font-weight:700;letter-spacing:.04em;margin:0 0 2px}.section-head small,.section-heading-row small,.about-text small{color:var(--navy);font-size:12px;letter-spacing:.15em}.building-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.building-card{display:flex;flex-direction:column;background:#f5f6f7;overflow:hidden;border-radius:6px;transition:transform .2s,box-shadow .2s}.building-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #16334b24}.building-card-heading{min-height:59px;display:flex;align-items:center;gap:9px;padding:13px 13px;background:#f3f5f7;font-size:15px}.building-card:first-child .building-card-heading{background:var(--navy);color:#fff}.building-icon{font-family:serif;font-size:26px;line-height:1;color:var(--navy);min-width:27px;text-align:center}.building-card:first-child .building-icon{color:#fff}.building-card>img{width:100%;height:145px;object-fit:cover;display:block}.building-card-info{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;gap:7px;min-height:78px}.building-card-info p{font-size:12px;margin:0;line-height:1.65}.circle-arrow{flex:none;display:flex;justify-content:center;align-items:center;background:var(--navy);color:white;border-radius:50%;width:22px;height:22px;font-size:20px;line-height:1}.image-notice{font-size:11px;color:#687581;margin:10px 0 0}.projects-section{background:var(--light)}.section-heading-row{display:flex;align-items:center;gap:36px;margin-bottom:34px}.section-heading-row>div{flex:none}.section-heading-row>p{border-left:1px solid #acb6bf;padding-left:35px;font-size:14px;flex:1}.outline-link{border:1px solid var(--navy);display:inline-flex;align-items:center;gap:24px;padding:12px 20px;font-weight:700;font-size:13px;white-space:nowrap}.outline-link:hover{background:var(--navy);color:#fff}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-card{border:1px solid var(--border);background:white;overflow:hidden;height:100%}.project-card .thumb{height:228px;background:#dee8f0;display:flex;align-items:center;justify-content:center;color:#5e7281}.thumb img{width:100%;height:100%;object-fit:cover}.project-card .body{padding:17px 18px}.project-card h3{font-size:17px;margin:0 0 7px}.meta{color:var(--muted);font-size:12px}.filter{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px}.filter button{border:1px solid #bdcbd5;background:white;padding:8px 15px;cursor:pointer;border-radius:3px;color:var(--ink)}.filter button.active,.filter button:hover{background:var(--navy);color:#fff}.hidden,[hidden]{display:none!important}.about-section{background:#fff}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about-image{min-height:290px;background:url('assets/hero-concept.jpg') center/cover}.about-text h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:32px;margin:0}.about-text p{font-size:14px;margin:23px 0}.contact-strip{background:var(--navy);color:#fff;padding:55px 0;text-align:center}.contact-strip h2{margin:0 0 13px;font-size:25px}.contact-strip .btn{border-color:#fff;margin-top:9px}.footer{background:#14283a;color:#fff;padding:42px 0}.footer p{font-size:13px}.page-title{background:#eaf0f4;padding:50px 0}.page-title h1{margin:0;font-family:serif;font-size:34px}.prose{max-width:860px;margin:auto}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{border-bottom:1px solid var(--border);padding:14px 10px;text-align:left;vertical-align:top}.info-table th{width:29%;background:#f5f7f9}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.gallery img{width:100%;height:225px;object-fit:cover}.placeholder{padding:42px;text-align:center;background:#f2f5f7;color:#697885;border:1px dashed #c5d1d9}.entry-content{max-width:890px}input,select,textarea{max-width:100%}.nav-toggle{display:none;cursor:pointer;border:1px solid #becbd5;background:#fff;padding:8px 11px;font-size:22px;line-height:1}
@media(max-width:1150px){.wrap{width:min(100% - 40px,1380px)}.nav{gap:12px;font-size:12px}.brand{font-size:20px}.building-card-heading{font-size:13px}.building-card>img{height:118px}}
@media(max-width:900px){.header-inner{min-height:73px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:white;padding:12px 20px 22px;box-shadow:0 12px 20px #182a3e1c;gap:0}.nav.is-open{display:flex}.nav a{padding:12px 4px!important}.nav a.btn{margin-top:12px;text-align:center}.building-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:500px}.hero p{font-size:16px}}
@media(max-width:620px){.wrap{width:min(100% - 30px,1380px)}.brand{font-size:17px}.brand img{width:37px;height:37px}.hero{min-height:530px;background-position:61% center;background-image:linear-gradient(90deg,rgba(7,35,60,.94),rgba(12,42,70,.64) 72%,rgba(15,45,70,.4)),url('assets/hero-concept.jpg')}.hero h1{font-size:34px}.hero p{font-size:14px}.hero-copy{padding:35px 0}.section{padding:48px 0}.section-head h2,.section-heading-row h2{font-size:27px}.building-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.building-card-heading{font-size:12px;padding:9px;min-height:57px}.building-card>img{height:105px}.building-card-info{padding:9px;min-height:88px}.building-card-info p{font-size:11px}.section-heading-row{align-items:flex-start;flex-direction:column;gap:12px}.section-heading-row>p{border:0;padding:0;margin:0}.projects{grid-template-columns:1fr}.project-card .thumb{height:215px}.about-inner{grid-template-columns:1fr;gap:24px}.about-image{min-height:170px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.info-table th{width:34%}}

/* Detail, company, recruitment and contact pages (v0.3) */
.eyebrow{color:#42637a;font-size:12px;font-weight:700;letter-spacing:.17em;margin:0 0 10px}.page-title p:not(.eyebrow){margin:12px 0 0;color:#466075}.page-title h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif}.project-termline{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.project-termline span{background:#fff;border:1px solid #d1dfe8;padding:3px 11px;font-size:12px}.project-detail{max-width:1120px}.project-cover{margin:0 0 55px;background:#e6edf2}.project-cover img{display:block;width:100%;max-height:630px;object-fit:contain}.project-overview{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:50px;margin-bottom:38px}.project-overview h2,.company-intro h2,.contact-layout h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:30px;margin:0 0 14px}.overview-lead{font-size:14px;color:var(--muted)}.project-description{margin:20px 0 50px}.project-gallery-wrap{margin:56px 0}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-gallery a{background:#edf2f5;display:block;overflow:hidden}.project-gallery img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .2s}.project-gallery a:hover img{transform:scale(1.03)}.project-back{border-top:1px solid var(--border);padding-top:36px;margin-top:40px;text-align:center}.company-layout{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr);gap:60px}.company-intro p{font-size:14px}.info-table td{overflow-wrap:anywhere}.recruit-intro{text-align:center;margin:0 auto 50px}.recruit-intro h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:29px}.notice-panel{background:#f2f6f9;border-left:4px solid var(--navy);padding:24px 30px}.notice-panel h3{margin:0 0 5px}.notice-panel p{margin:0;font-size:14px}.job-cards{display:grid;gap:16px}.job-card{border:1px solid var(--border);padding:24px 28px}.job-card h3{margin:0 0 12px;font-size:22px}.recruit-contact{margin-top:35px}.recruit-contact a{color:var(--navy);text-decoration:underline}.contact-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:70px}.contact-info{margin-top:40px;border-top:1px solid var(--border)}.contact-info p{border-bottom:1px solid var(--border);padding:15px 0;display:flex;flex-wrap:wrap;gap:15px}.contact-info strong{min-width:75px}.contact-form-card{padding:35px;background:#f3f6f8}.cs-contact-form{display:grid;gap:20px}.cs-contact-form>label{font-size:14px;font-weight:700;display:grid;gap:7px}.cs-contact-form label>span{color:#9b3940;font-size:11px}.cs-contact-form input:not([type=checkbox]),.cs-contact-form select,.cs-contact-form textarea{width:100%;background:white;border:1px solid #b9c8d2;border-radius:2px;padding:11px;font:inherit;font-weight:400}.cs-contact-form .privacy-agree{display:flex;align-items:flex-start;font-weight:400;font-size:13px}.cs-contact-form .privacy-agree input{margin:6px 6px 0 0;flex:none}.cs-contact-form .btn{cursor:pointer;width:100%}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-success{background:#e6f6ec;padding:12px;color:#1b6538}.form-error{background:#fff1f0;padding:12px;color:#993b39}
@media(max-width:760px){.project-overview,.company-layout,.contact-layout{grid-template-columns:1fr;gap:22px}.project-cover{margin-bottom:25px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery img{height:160px}.contact-form-card{padding:23px}.page-title{padding:36px 0}}

/* Project gallery lightbox (v0.4) */
.project-gallery a{cursor:zoom-in}
.project-gallery a:focus-visible{outline:3px solid #25699b;outline-offset:3px}
.cs-lightbox{position:fixed;inset:0;margin:auto;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:0;background:transparent;color:#fff;overflow:hidden}
.cs-lightbox::backdrop{background:rgba(4,15,26,.92)}
.cs-lightbox[open]{display:grid;place-items:center}
.cs-lightbox-panel{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:60px 76px 56px}
.cs-lightbox-figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;max-width:100%;height:100%}
.cs-lightbox-figure img{display:block;max-width:100%;max-height:calc(100dvh - 140px);width:auto;height:auto;object-fit:contain;box-shadow:0 15px 45px #0005}
.cs-lightbox-count{margin-top:14px;font-size:14px;letter-spacing:.1em;color:#fff}
.cs-lightbox button{color:#fff;background:#142b42bb;border:1px solid #ffffff75;cursor:pointer;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:30px;line-height:1}
.cs-lightbox button:hover,.cs-lightbox button:focus-visible{background:#295a7c;outline:2px solid #fff;outline-offset:2px}
.cs-lightbox .cs-lightbox-close{position:absolute;right:20px;top:18px;z-index:2;font-size:30px}
.cs-lightbox .cs-lightbox-prev,.cs-lightbox .cs-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2}
.cs-lightbox .cs-lightbox-prev{left:18px}.cs-lightbox .cs-lightbox-next{right:18px}
.cs-lightbox-open{overflow:hidden}
@media(max-width:620px){.cs-lightbox-panel{padding:65px 15px 60px}.cs-lightbox-figure img{max-height:calc(100dvh - 150px)}.cs-lightbox .cs-lightbox-prev{left:7px}.cs-lightbox .cs-lightbox-next{right:7px}.cs-lightbox .cs-lightbox-prev,.cs-lightbox .cs-lightbox-next{width:36px;height:42px;background:#142b42dd}.cs-lightbox .cs-lightbox-close{right:12px;top:12px}}

/* Project detail overlay matching original project-filter HTML (v0.5). */
.cs-project-dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 28px));max-width:760px;max-height:min(92dvh,1000px);background:#fff;border:0;padding:0;color:var(--ink);box-shadow:0 24px 80px #0b243b55;overflow:auto}
.cs-project-dialog::backdrop{background:rgba(10,28,48,.74)}
.cs-project-dialog[open]{display:block}
.cs-project-dialog-inner{padding:32px 36px 28px}
.cs-project-dialog .cs-modal-close{position:sticky;float:right;top:12px;margin:-15px -18px 5px 10px;z-index:2;width:40px;height:40px;border:0;background:#eef2f6;font-size:26px;line-height:1;cursor:pointer;color:#142d41}
.cs-modal-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#47718c;margin:1px 0 9px}
.cs-project-dialog h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(23px,3vw,31px);line-height:1.45;margin:0 0 19px}
.cs-modal-photo{background:#edf2f6;display:grid;place-items:center;margin:0 0 19px;min-height:140px}
.cs-modal-photo img{width:100%;max-height:390px;object-fit:contain;display:block}
.cs-modal-info{width:100%;border-collapse:collapse;font-size:13px;margin:18px 0}
.cs-modal-info th,.cs-modal-info td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.cs-modal-info th{width:31%;background:#f6f8fa;white-space:nowrap}
.cs-modal-gallery-heading{font-size:17px;font-family:'Yu Mincho',serif;margin:25px 0 12px}
.cs-modal-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.cs-modal-gallery button{display:block;width:100%;border:0;padding:0;background:#edf2f6;cursor:zoom-in;overflow:hidden}
.cs-modal-gallery img{display:block;width:100%;height:115px;object-fit:cover}
.cs-modal-footer{display:flex;justify-content:flex-end;margin-top:24px}
.cs-modal-footer a{border:1px solid var(--navy);padding:9px 15px;color:var(--navy);font-size:13px;font-weight:700}
.cs-modal-footer a:hover{background:var(--navy);color:#fff}
.cs-modal-status{margin:15px 0;color:#49647b}
.cs-project-detail-cta{display:block;margin-top:12px;color:var(--navy);font-weight:800;text-decoration:underline;text-underline-offset:4px;font-size:13px}
.cs-modal-gallery button:focus-visible,.cs-modal-close:focus-visible{outline:3px solid #3581b8;outline-offset:2px}
.cs-project-modal-open{overflow:hidden}
@media(max-width:620px){.cs-project-dialog{width:calc(100vw - 20px);max-height:92dvh}.cs-project-dialog-inner{padding:24px 17px}.cs-project-dialog .cs-modal-close{margin:-10px -4px 4px 8px}.cs-modal-info th,.cs-modal-info td{padding:10px 8px;font-size:12px}.cs-modal-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-modal-gallery img{height:105px}}

/* v0.6: Top navigation uses in-page sections, with the sticky header offset. */
#about,#buildings,#projects{scroll-margin-top:105px}
@media(max-width:900px){#about,#buildings,#projects{scroll-margin-top:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v0.7 Single-page sections for company, recruitment and contact */
#about,#buildings,#projects,#company,#recruit,#contact {scroll-margin-top:112px}
.cs-home-company{background:#f6f8fa}.cs-home-recruit{background:#fff}.cs-home-contact{background:#f6f8fa}
.cs-home-company .section-head,.cs-home-recruit .section-head,.cs-home-contact .section-head{margin-bottom:32px}
.cs-home-company .info-table{background:#fff}
.cs-home-recruit .recruit-page,.cs-home-contact .contact-layout{margin-top:12px}
@media(max-width:900px){#about,#buildings,#projects,#company,#recruit,#contact{scroll-margin-top:88px}}

/* v0.8 – restore the original HTML reference layouts without changing CMS data. */
.cs-label-en{display:block;color:var(--navy);font:700 11px/1.5 Arial,sans-serif;letter-spacing:.23em;margin-top:0}
.cs-original-projects{background:#f1f5f8}.cs-original-projects-head{display:flex;align-items:center;gap:30px;margin-bottom:28px}
.cs-original-projects-head h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:34px;margin:0 0 0;line-height:1.6}
.cs-original-projects-head p{font-size:13px;font-weight:600;padding-left:36px;border-left:1px solid #a4b0ba;margin:0}
.cs-original-projects .cs-project-filter-wrap>.filter:first-child{margin-bottom:22px}
.cs-original-projects .filter{gap:8px}
.cs-original-projects .filter button{font-weight:700;font-size:13px;padding:9px 17px;border:1px solid #ced7df;border-radius:3px}
.cs-original-projects .projects{gap:22px}
.cs-original-projects .project-card{box-shadow:0 8px 22px #001d3810;border:1px solid #d8e1e8}
.cs-original-projects .project-card .thumb{height:225px}
.cs-original-projects .project-card .body{padding:19px 20px}
.cs-original-projects .project-card .body h3{font-size:18px;margin:7px 0 9px}
.cs-original-about{background:#fff}
.cs-original-about-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px}
.cs-original-about-copy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.65;font-size:31px;margin:18px 0 15px}
.cs-original-about-copy p{line-height:2.1;font-size:15px;margin:0 0 27px}
.cs-original-about-copy .btn{color:#fff}
.cs-original-about-art{min-height:250px;background:linear-gradient(135deg,#1e4763,#a7bac7);position:relative;overflow:hidden}
.cs-original-about-art:after{content:"";position:absolute;left:20%;top:30%;width:85%;height:70%;border:25px solid #ffffff4c;transform:skew(-14deg)}
.cs-original-features{padding-top:0;background:#fff}
.cs-original-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.cs-original-features-grid>div{background:#f5f7f9;padding:24px;border-top:3px solid var(--navy)}
.cs-original-features-grid h3{font-size:17px;margin:0 0 9px}.cs-original-features-grid p{font-size:13px;margin:0;color:#596978}
.cs-original-company{background:#f1f5f8}
.cs-original-center-head{text-align:center;margin-bottom:32px}
.cs-original-center-head h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:32px;margin:0 0 2px}
.cs-original-center-head:after{content:"";display:block;width:110px;height:1px;background:#b8c2cb;margin:14px auto 0}
.cs-original-company-table{border-top:2px solid var(--navy);width:100%;border-collapse:collapse;background:#fff;font-size:14px}
.cs-original-company-table th,.cs-original-company-table td{border-bottom:1px solid #dce3e9;text-align:left;vertical-align:top;padding:17px 19px}
.cs-original-company-table th{background:#f5f7fa;width:27%;font-weight:700;white-space:nowrap}
.cs-original-company-table td{line-height:1.9;overflow-wrap:anywhere}.cs-original-company-note{margin-top:13px}
@media(max-width:760px){.cs-original-about-grid{grid-template-columns:1fr;gap:26px}.cs-original-about-art{min-height:210px}.cs-original-features-grid{grid-template-columns:1fr}.cs-original-projects-head{flex-direction:column;align-items:flex-start;gap:8px}.cs-original-projects-head p{padding-left:0;border:0}}
@media(max-width:620px){.cs-original-company-table th,.cs-original-company-table td{padding:12px 9px;font-size:12px}.cs-original-company-table th{width:34%}.cs-original-about-copy h2{font-size:27px}}

/* v0.9: project list design aligned to requested mockup */
.cs-projects-ui{display:block}
.cs-projects-ui .filter{display:flex;flex-wrap:wrap;gap:10px}
.cs-projects-ui .filter button{appearance:none;border:1px solid #c9d3dc;background:#fff;color:var(--ink);padding:12px 22px;border-radius:3px;font-weight:700;font-size:15px;line-height:1.2;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.cs-projects-ui .filter button:hover,.cs-projects-ui .filter button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.cs-projects-ui .filter-primary{margin-bottom:16px}
.cs-projects-ui .cs-subfilter-panel{background:#dfe7ed;padding:18px 22px 20px;border-left:4px solid var(--navy);margin:0 0 24px}
.cs-projects-ui .cs-subfilter-title{margin:0 0 14px;font-size:15px;font-weight:800;color:var(--navy)}
.cs-projects-ui .filter-secondary{margin:0}
.cs-projects-ui .filter-secondary button{border-radius:999px;background:#fff;padding:10px 18px;font-size:14px}
.cs-projects-ui .projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.cs-projects-ui .project-slot{min-width:0}
.cs-projects-ui .project-card{height:100%;background:#fff;border:1px solid #d5dee6;box-shadow:none;overflow:hidden}
.cs-projects-ui .project-card a{display:block;height:100%}
.cs-projects-ui .project-card .thumb{height:320px;background:#e6edf3;display:flex;align-items:center;justify-content:center;color:#8594a1;font-size:15px;letter-spacing:.08em}
.cs-projects-ui .project-card .thumb img{display:block;width:100%;height:100%;object-fit:cover}
.cs-projects-ui .project-card .body{padding:20px 20px 22px}
.cs-projects-ui .project-card-terms{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.cs-projects-ui .project-card-terms .term-parent{font-size:14px;font-weight:800;color:#274561}
.cs-projects-ui .project-card-terms .term-child{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border:1px solid #cfdae3;border-radius:999px;background:#f6f8fa;font-size:12px;font-weight:700;color:#496378}
.cs-projects-ui .project-card h3{margin:0 0 11px;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:20px;line-height:1.55;font-weight:700;color:#132e48}
.cs-projects-ui .project-card-meta{display:flex;flex-wrap:wrap;gap:0;color:#5f7081;font-size:14px;line-height:1.75}
.cs-projects-ui .project-card-meta span{position:relative;padding-right:16px;margin-right:16px}
.cs-projects-ui .project-card-meta span:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;width:1px;height:12px;background:#b8c1ca;transform:translateY(-50%)}
.cs-projects-ui .project-card-meta span:last-child{padding-right:0;margin-right:0}
.cs-projects-ui .cs-project-detail-cta{display:inline-block;margin-top:16px;color:var(--navy);font-weight:800;text-decoration:underline;text-underline-offset:4px;font-size:16px}
.cs-projects-ui .placeholder{margin-top:10px}

.cs-original-projects{background:#f1f5f8}
.cs-original-projects .wrap{max-width:1400px}
.cs-original-projects-head{display:flex;align-items:flex-start;gap:34px;margin-bottom:28px}
.cs-original-projects-head>div{flex:none}
.cs-original-projects-head h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:54px;line-height:1.08;letter-spacing:.06em;margin:0 0 8px}
.cs-original-projects .cs-label-en{font-size:18px;letter-spacing:.25em;color:var(--navy)}
.cs-original-projects-head p{margin:14px 0 0;padding-left:28px;border-left:1px solid #adb7c0;font-size:16px;font-weight:700;color:#1e3347}
.cs-original-projects .projects{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:start}
.cs-original-projects .project-card{max-width:444px}

@media(max-width:1100px){
  .cs-projects-ui .projects{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .cs-original-projects-head{flex-direction:column;gap:8px}
  .cs-original-projects-head p{padding-left:0;border-left:0;margin-top:0}
  .cs-original-projects-head h2{font-size:38px}
  .cs-original-projects .cs-label-en{font-size:14px}
  .cs-projects-ui .projects,.cs-original-projects .projects{grid-template-columns:1fr}
  .cs-projects-ui .project-card{max-width:none}
  .cs-projects-ui .project-card .thumb{height:250px}
  .cs-projects-ui .filter button{font-size:14px;padding:10px 16px}
  .cs-projects-ui .cs-subfilter-panel{padding:16px}
}

/* v1.0: unify scale with the rest of the corporate site */
.cs-original-projects-head{gap:24px;margin-bottom:24px;align-items:center}
.cs-original-projects-head h2{font-size:34px;line-height:1.35;letter-spacing:.04em;margin-bottom:2px}
.cs-original-projects .cs-label-en{font-size:12px;letter-spacing:.16em}
.cs-original-projects-head p{font-size:13px;font-weight:600;line-height:1.8;margin:0;padding-left:24px}
.cs-projects-ui .filter{gap:8px}
.cs-projects-ui .filter button{font-size:12px;font-weight:700;line-height:1.4;padding:8px 14px;min-height:34px}
.cs-projects-ui .filter-primary{margin-bottom:13px}
.cs-projects-ui .cs-subfilter-panel{padding:14px 17px 15px;margin-bottom:20px}
.cs-projects-ui .cs-subfilter-title{font-size:12px;margin-bottom:9px}
.cs-projects-ui .filter-secondary button{font-size:12px;padding:7px 13px;min-height:32px}
.cs-projects-ui .projects{gap:20px}
.cs-projects-ui .project-card .thumb{height:235px;font-size:13px}
.cs-projects-ui .project-card .body{padding:15px 16px 18px}
.cs-projects-ui .project-card-terms{gap:6px;margin-bottom:8px}
.cs-projects-ui .project-card-terms .term-parent{font-size:12px}
.cs-projects-ui .project-card-terms .term-child{font-size:11px;min-height:23px;padding:3px 9px}
.cs-projects-ui .project-card h3{font-size:17px;line-height:1.55;margin-bottom:7px}
.cs-projects-ui .project-card-meta{font-size:12px;line-height:1.7}
.cs-projects-ui .project-card-meta span{padding-right:11px;margin-right:11px}
.cs-projects-ui .project-card-meta span:not(:last-child)::after{height:10px}
.cs-projects-ui .cs-project-detail-cta{font-size:13px;margin-top:12px}
@media(max-width:760px){
 .cs-original-projects-head{align-items:flex-start;gap:7px}
 .cs-original-projects-head h2{font-size:28px}
 .cs-original-projects-head p{font-size:12px;padding:0;border:0}
 .cs-projects-ui .filter button{font-size:12px;padding:8px 12px}
 .cs-projects-ui .filter-secondary button{font-size:11px;padding:7px 12px}
 .cs-projects-ui .project-card .thumb{height:220px}
}


/* v1.1: attachment title in the bottom-right of gallery images and full-screen viewer */
.project-gallery [data-cs-lightbox-item], .cs-modal-gallery button{position:relative}
.cs-gallery-photo-title{position:absolute;right:9px;bottom:9px;max-width:calc(100% - 18px);padding:5px 10px;border-radius:2px;background:rgba(12,31,48,.76);color:#fff;font-size:12px;font-weight:600;line-height:1.5;text-align:right;overflow-wrap:anywhere;pointer-events:none}
.cs-lightbox-imagebox{position:relative;display:inline-flex;max-width:100%;max-height:calc(100dvh - 140px);align-items:center;justify-content:center}
.cs-lightbox-imagebox img{display:block;max-width:100%;max-height:calc(100dvh - 140px);width:auto;height:auto;object-fit:contain}
.cs-lightbox-photo-title{position:absolute;right:12px;bottom:12px;max-width:min(85%,560px);padding:9px 14px;background:rgba(12,31,48,.78);color:#fff;font-size:clamp(13px,1.5vw,16px);line-height:1.5;font-weight:600;text-align:right;overflow-wrap:anywhere;pointer-events:none}
.cs-lightbox-photo-title[hidden]{display:none}
@media(max-width:620px){.cs-lightbox-imagebox,.cs-lightbox-imagebox img{max-height:calc(100dvh - 155px)}.cs-lightbox-photo-title{right:8px;bottom:8px;padding:6px 9px;font-size:12px}.cs-gallery-photo-title{right:6px;bottom:6px;font-size:11px;padding:4px 7px}}

/* Privacy page and form policy link (v1.2) */
.cs-contact-form .privacy-agree a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cs-footer-privacy{margin:12px 0;font-size:13px}
.cs-footer-privacy a{text-decoration:underline;text-underline-offset:3px}
.privacy-policy-content h2{font-size:21px;margin:35px 0 12px;border-left:3px solid var(--navy);padding-left:14px}
.privacy-policy-content p{margin:0 0 17px;line-height:1.95}
