@charset "UTF-8";
/* =======================================
   栄ビルサービス PC用スタイル（901px以上）全ページ統合
   （統合版：エムダブ制作マニュアル準拠）
======================================== */


/* ---------------------------------------
   ▼ pc_add_mv.css
--------------------------------------- */

/* =======================================
   栄ビルサービス TOP メインビジュアル（pc_contents.css 追記分）
======================================== */

/* ---- メインビジュアル ---- */
.mv{ position:relative; background:linear-gradient(180deg,#fff 0%,var(--bg-mint) 100%); overflow:hidden; padding:50px 0 40px; }
.whiteBreak{ background:#fff; height:50px; }
.mvInner{ max-width:1200px; margin:0 auto; padding:0 30px; z-index:2; }

/* 全幅コラージュ画像（写真・シェイプ・ドット・街並みイラストすべて内包）ページ全幅に配置 */
.mvFullImage{
  display:block; width:100%; height:auto;
  position:relative; z-index:1;
  opacity:0; animation:mvFadeIn 1s ease forwards; animation-delay:.1s;
}

/* テキストは画像の上に絶対配置（.mv基準・左寄せがデザインの意図）
   大画面では文字サイズだけ引き上げて、写真とのバランスを取る */
.mvCopy{
  position:absolute; top:4%; left:5%;
  width:min(520px, 40%); z-index:5;
}
.mvCopy h1, .mvCopy h2{ font-size:clamp(46px, 3.6vw, 72px); font-weight:700; line-height:1.45; letter-spacing:.04em; }
.mvCopy h1 .accent, .mvCopy h2 .accent{ color:var(--green); }
.mvCopy .lead{ margin-top:24px; font-size:clamp(15px, 1.15vw, 20px); color:var(--text); letter-spacing:.03em; }

/* 50周年バッジ */
.mvAnniv{ display:flex; align-items:center; gap:14px; margin-top:36px; }
.mvAnniv .num{ font-family:"Poppins",sans-serif; color:var(--green); line-height:1; }
.mvAnniv .num b{ font-size:54px; font-weight:700; }
.mvAnniv .num sup{ font-size:18px; }
.mvAnniv .num small{ display:block; font-size:11px; letter-spacing:.2em; }
.mvAnniv .annivTxt{ font-size:12px; color:var(--text-light); line-height:1.6; border-left:2px solid var(--green); padding-left:12px; }

@keyframes mvFadeIn{ from{ opacity:0; transform:translateY(20px); } to{ opacity:1; transform:translateY(0); } }

/* ---- お知らせ（MVの下のニュースバー） ---- */
.newsBar{ max-width:1100px; margin:-30px auto 0; background:#fff; border-radius:10px; box-shadow:0 4px 20px rgba(0,0,0,.06); position:relative; z-index:10; }
.newsBar a{ display:flex; align-items:center; gap:20px; padding:20px 30px; }
.newsBar .date{ font-family:"Poppins",sans-serif; color:var(--text-light); font-size:14px; }
.newsBar .cat{ background:var(--bg-mint); color:var(--green-dark); font-size:12px; padding:4px 14px; border-radius:20px; }
.newsBar .txt{ flex:1; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.newsBar .arrowCircle{ width:36px; height:36px; }



/* ---------------------------------------
   ▼ pc_add_sections.css
--------------------------------------- */

/* =======================================
   栄ビルサービス TOP セクション群（pc_contents.css 追記分）
======================================== */

.secInner{ max-width:1100px; margin:0 auto; padding:0 30px; }

/* ---- 私たちの想い ---- */
.philoSec{ padding:90px 0; background:#fff; position:relative; }
.philoSec .lead{ text-align:center; line-height:2.4; font-size:16px; }
.philoSec .btnWrap{ text-align:center; margin-top:40px; }

/* ---- 事業案内 ---- */
.serviceSec{ padding:90px 0; background:var(--bg-mint); }
.serviceList{ display:flex; flex-direction:column; gap:24px; max-width:900px; margin:0 auto; }
.serviceCard{ display:flex; align-items:center; gap:30px; background:#fff; border-radius:14px; padding:24px 36px 24px 24px; box-shadow:0 4px 16px rgba(0,0,0,.04); transition:transform .3s,box-shadow .3s; text-decoration:none; color:inherit; }
.serviceCard:hover{ transform:translateY(-3px); box-shadow:0 10px 26px rgba(0,0,0,.08); opacity:1; }
.serviceCard .thumb{ width:200px; height:130px; flex-shrink:0; border-radius:10px; background:#ccc center/cover; }
.serviceCard .body{ flex:1; }
.serviceCard .body h3{ font-size:21px; font-weight:700; margin-bottom:12px; position:relative; padding-bottom:12px; }
.serviceCard .body h3::after{ content:""; position:absolute; left:0; bottom:0; width:30px; height:2px; background:var(--green); }
.serviceCard .body p{ font-size:14px; color:var(--text-light); line-height:1.8; }
.serviceSec .btnWrap{ text-align:center; margin-top:44px; }

/* ---- 採用・協力会社募集 ---- */
.joinSec{ padding:90px 0; background:#fff center/cover; position:relative; overflow:hidden; }
.joinSec .secLead{ text-align:center; margin-bottom:40px; font-size:15px; color:var(--text-light); }
.joinSec .secTtl{ position:relative; z-index:3; } /* 見出しを左右写真より前面に */
.joinDotsTop{ width:50px; height:9px; margin:0 auto 18px; background-image:url(../img/deco_dots4.png); background-size:contain; background-repeat:no-repeat; }

/* 左右のブロブ写真 */
.joinPhoto{ position:absolute; top:60px; z-index:1; }
.joinPhoto img{ width:380px; height:auto; display:block; }

/* 中程度の画面幅（〜1200px）では左右写真を縮小し、中央テキストへの被りを防ぐ */
@media (max-width:1200px){
  .joinPhoto img{ width:300px; }
}
@media (max-width:1040px){
  .joinPhoto img{ width:240px; }
}
.joinPhoto.left{ left:0; }
.joinPhoto.right{ right:0; }
.joinPhoto .dotGrid{
  position:absolute; width:130px; height:110px;
  background-image:radial-gradient(var(--green) 3px,transparent 3px); background-size:16px 16px;
  opacity:.35; z-index:-1;
}
.joinPhoto.left .dotGrid{ top:-30px; left:20px; }
.joinPhoto.right .dotGrid{ bottom:-30px; right:20px; }
.joinCards{ display:flex; gap:30px; justify-content:center; max-width:840px; margin:0 auto; position:relative; z-index:2; }
.joinCard{ flex:1; background:#fff; border-radius:14px; box-shadow:0 6px 20px rgba(0,0,0,.06); padding:36px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.joinCard .ttl{ font-size:20px; font-weight:700; }
.joinCard .ico{ width:50px; height:50px; }

/* ---- 会社案内・ESG ---- */
.aboutSec{ padding:0 0 90px; background:#fff; }
.aboutCards{ display:flex; gap:30px; max-width:900px; margin:0 auto; }
.aboutCard{ flex:1; border-radius:14px; overflow:hidden; box-shadow:0 6px 20px rgba(0,0,0,.06); background:#fff; text-decoration:none; color:inherit; display:block; transition:transform .3s,box-shadow .3s; }
.aboutCard:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,.10); opacity:1; }
.aboutCard .cardHead{ display:flex; align-items:center; gap:14px; padding:24px 28px; }
.aboutCard .cardHead .ico{ width:40px; height:40px; }
.aboutCard .cardHead h3{ font-size:20px; font-weight:700; }
.aboutCard .cardImg{ height:150px; background:#ccc center/cover; }
.aboutCard .cardBody{ padding:22px 28px; }
.aboutCard .cardBody p{ font-size:14px; color:var(--text-light); }
.aboutCard .cardBody .arrowCircle{ margin-top:16px; }

/* ---- お問い合わせ ---- */
.contactSec{ background:var(--green-deep); color:#fff; padding:80px 0; position:relative; }
.contactSec .secTtl .jp{ color:#fff; }
.contactSec .secLead{ text-align:center; margin-bottom:44px; color:rgba(255,255,255,.85); font-size:15px; }
.contactBox{ background:#fff; border-radius:16px; max-width:980px; margin:0 auto; padding:44px 50px; display:flex; gap:50px; color:var(--text); }
.contactTel{ flex:1; border-right:1px solid var(--line); padding-right:40px; display:flex; flex-direction:column; }
.contactTel .label{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:17px; margin-bottom:10px; }
.contactTel .num{ font-family:"Poppins",sans-serif; font-size:38px; font-weight:700; color:var(--green-deep); }
.contactTel .time{ font-size:13px; color:var(--text-light); }
.contactTel .mail{ margin-top:auto; }
.contactArea{ flex:1; display:flex; flex-direction:column; }
.contactArea h3{ font-size:18px; font-weight:700; margin-bottom:12px; }
.contactArea p{ font-size:14px; color:var(--text-light); margin-bottom:auto; }
/* 統一ボタン（左右で同じ高さ・幅・位置に揃える） */
.contactBtn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; max-width:320px; height:58px; border-radius:40px; font-size:15px; margin-top:20px; }
.contactBtn.line{ background:#fff; color:var(--green); border:2px solid var(--green); }
.contactBtn.fill{ background:var(--green); color:#fff; }

/* =======================================
   背景装飾（ドット・四角のあしらい）
======================================== */
.serviceSec{ position:relative; overflow:hidden; }
.serviceSec::before{
  content:""; position:absolute; top:40px; right:0; width:300px; height:280px;
  background:url(../img/deco_dots_squares.png) no-repeat center/contain; opacity:1; pointer-events:none; z-index:0;
}
.serviceSec .secInner{ position:relative; z-index:1; }

.philoSec{ position:relative; overflow:hidden; }
.philoSec::before{
  content:""; position:absolute; bottom:20px; left:0; width:260px; height:240px;
  background:url(../img/deco_dots_squares.png) no-repeat center/contain; opacity:1; transform:scaleX(-1); pointer-events:none;
}
.philoSec .secInner{ position:relative; z-index:1; }

.contactSec{ position:relative; overflow:hidden; }
.contactDeco{ position:absolute; pointer-events:none; }
.contactDeco.dotGrid{ background-image:radial-gradient(rgba(255,255,255,.5) 2.5px,transparent 2.5px); background-size:15px 15px; }
.contactDeco.d1{ top:20px; left:20px; width:130px; height:110px; }
.contactDeco.d2{ bottom:30px; left:30px; width:150px; height:150px; }
.contactDeco.d3{ top:20px; right:30px; width:120px; height:90px; }
.contactDeco.sq1{ top:38%; left:60px; width:70px; height:70px; background:url(../img/contact_square1.png) no-repeat center/contain; opacity:.15; }
.contactDeco.sq2{ top:52%; left:110px; width:32px; height:32px; background:url(../img/contact_square2.png) no-repeat center/contain; opacity:.25; }
.contactDeco.sq3{ bottom:12%; left:190px; width:16px; height:16px; background:url(../img/contact_square3.png) no-repeat center/contain; opacity:.3; }
.contactSec .secInner{ position:relative; z-index:1; }

/* =======================================
   アイコン（採用・協力・会社案内・ESG）
======================================== */
.joinCard{ flex-direction:row; align-items:center; gap:20px; text-align:left; }
.joinIco{ width:70px; height:70px; border-radius:50%; background:var(--bg-mint); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.joinIco img{ width:38px; height:38px; }
.joinBody{ flex:1; }
.joinBody .ttl{ display:block; font-size:20px; font-weight:700; margin-bottom:8px; position:relative; padding-bottom:10px; }
.joinBody .ttl::after{ content:""; position:absolute; left:0; bottom:0; width:40px; height:2px; background:var(--green); }
.joinTxt{ font-size:13px; color:var(--text-light); }

.aboutCard .cardHead{ display:flex; align-items:center; gap:14px; padding:24px 28px; }
.aboutIco{ width:46px; height:46px; border-radius:50%; background:var(--bg-mint); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.aboutIco img{ width:26px; height:26px; }

/* 背景装飾を少し濃く・はっきり */
.serviceSec::before{ opacity:1 !important; }
.philoSec::before{ opacity:1 !important; }

/* =======================================
   お問い合わせ（カンプ準拠：上下2段＋アイコン＋地図）
======================================== */
.contactBox{ display:block; padding:50px 56px; }
.contactTop{ display:flex; gap:50px; }
.contactTel, .contactArea{ flex:1; position:relative; }
.contactTel{ padding-right:50px; }
.cHead{ display:flex; align-items:center; gap:14px; margin-bottom:6px; }
.cIco{ width:54px; height:54px; border-radius:50%; background:var(--bg-mint); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cHead h3{ font-size:19px; font-weight:700; position:relative; padding-bottom:12px; }
.cHead h3::after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:2px; background:var(--green); }
.contactTel .num{ font-family:"Poppins",sans-serif; font-size:44px; font-weight:700; color:var(--green); letter-spacing:.01em; margin:6px 0 10px; display:block; text-decoration:none; }
.contactTel .time{ font-size:15px; color:var(--text); display:flex; align-items:center; gap:10px; }
.timeLabel{ border:1px solid var(--line); border-radius:20px; padding:3px 14px; font-size:13px; color:var(--text-light); }
.contactArea h3{ font-size:19px; font-weight:700; position:relative; padding-bottom:12px; margin-bottom:16px; }
.contactArea h3::after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:2px; background:var(--green); }
.contactArea p{ font-size:14px; color:var(--text-light); line-height:1.9; }
.mapImg{ position:absolute; top:0; right:0; width:200px; height:200px; pointer-events:none; }
.mapImg img{ width:100%; height:100%; object-fit:contain; }
.contactArea h3, .contactArea p{ position:relative; z-index:1; padding-right:210px; }
.contactDivider{ border-top:1px solid var(--line); margin:36px 0; }
.contactBottom{ display:flex; align-items:center; justify-content:space-between; gap:40px; }
.contactMail{ display:flex; align-items:center; gap:16px; }
.contactMail .mailLabel{ font-size:19px; font-weight:700; }
.btnContactForm{ display:inline-flex; align-items:center; justify-content:center; gap:14px; background:var(--green); color:#fff; min-width:330px; height:74px; border-radius:10px; font-size:17px; font-weight:500; }
.btnContactForm .arrow{ font-size:20px; }
.btnContactForm:hover{ opacity:1; background:var(--green-dark); }

/* =======================================
   フッター（カンプ準拠）
======================================== */
.footInner{ align-items:flex-start; }
.footLeft address{ display:flex; align-items:flex-start; gap:8px; }
.footLeft .addrLines{ display:flex; flex-direction:column; }
.footLeft address::before{ content:""; width:16px; height:16px; margin-top:3px; flex-shrink:0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5c-1.4 0-2.5-1.1-2.5-2.5S10.6 6.5 12 6.5s2.5 1.1 2.5 2.5S13.4 11.5 12 11.5z'/%3E%3C/svg%3E") no-repeat center/contain; }
.footNav{ gap:60px; }
.footNav > ul > li > a{ position:relative; }
.footNav .navHead{ color:var(--green); font-weight:700; padding-bottom:8px; margin-bottom:14px; position:relative; display:inline-block; }
.footNav .navHead::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; background:var(--green); }



/* ---------------------------------------
   ▼ pc_company.css
--------------------------------------- */

.companyPage{ background:#fff; }
.companyPage .secInner{ max-width:1040px; margin:0 auto; padding:0 30px; }

.cpNav{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:46px 0 0; }
.cpNav a{ display:inline-block; background:#fff; border:1px solid var(--line); border-radius:30px; padding:9px 22px; font-size:13px; color:var(--text); transition:.25s; }
.cpNav a:hover{ background:var(--green); color:#fff; border-color:var(--green); }

.cpSec{ padding:60px 0; }
.cpSec.alt{ background:var(--bg-mint); }
.cpTtl{ text-align:center; margin-bottom:38px; }
.cpTtl .en{ display:block; font-family:"Poppins",sans-serif; color:var(--green); font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:6px; }
.cpTtl .en::before{ content:""; display:block; width:50px; height:9px; background-image:url(../img/deco_dots4.png); background-size:contain; background-repeat:no-repeat; margin:0 auto 8px; }
.cpTtl .jp{ font-size:24px; font-weight:700; letter-spacing:.06em; }

/* 会社概要 テーブル */
.cpTable{ width:100%; border-collapse:collapse; }
.cpTable th, .cpTable td{ border:1px solid var(--line); padding:18px 26px; text-align:left; font-size:14px; line-height:1.9; }
.cpTable th{ background:var(--bg-mint); width:180px; font-weight:700; color:var(--green-deep); white-space:nowrap; }
.cpTable td.pending{ color:#aaa; }

/* 沿革タイムライン */
.cpTimeline{ max-width:760px; margin:0 auto; }
.cpTlItem{ display:flex; gap:30px; padding:22px 0; border-bottom:1px solid var(--line); }
.cpTlItem:first-child{ padding-top:0; }
.cpTlItem .date{ flex-shrink:0; width:150px; font-weight:700; color:var(--green-deep); font-size:14.5px; }
.cpTlItem .date.pending{ color:#c0392b; }
.cpTlItem .detail{ font-size:14px; line-height:1.85; }
.cpPending{
  background:#F5F5F5; border:1px dashed #ccc; border-radius:10px;
  padding:50px 30px; text-align:center; color:#999; font-size:13.5px; line-height:2;
}
.cpPending .icon{ font-size:26px; margin-bottom:10px; }

/* 組織図（画像） */
.cpOrgImg{ max-width:820px; margin:0 auto; text-align:center; }
.cpOrgImg img{ width:100%; height:auto; display:block; }

/* アクセスマップ */
.cpAccessRow{ display:flex; gap:40px; align-items:flex-start; }
.cpAccessInfo{ flex-shrink:0; width:320px; }
.cpAccessInfo dt{ font-size:12px; color:var(--green); font-weight:700; margin-top:18px; }
.cpAccessInfo dt:first-child{ margin-top:0; }
.cpAccessInfo dd{ font-size:14.5px; line-height:1.8; margin-top:4px; }
.cpMapBox{ flex:1; border-radius:10px; overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,.08); }
.cpMapBox iframe{ width:100%; height:340px; display:block; border:0; }

.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_contact.css
--------------------------------------- */

.contactPage{ background:#fff; }
.contactPage .secInner{ max-width:760px; margin:0 auto; padding:50px 30px 100px; }

.ctLead{ text-align:center; margin-bottom:40px; }
.ctLead p{ font-size:14.5px; line-height:2; color:var(--text-light); }

/* 電話でのお問い合わせ */
.ctTelBox{
  display:flex; align-items:center; gap:20px; background:var(--bg-mint); border-radius:14px;
  padding:28px 40px; margin-bottom:34px;
}
.ctTelBox .cIco{ flex-shrink:0; width:50px; height:50px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; }
.ctTelBody{ display:flex; flex-direction:column; gap:4px; }
.ctTelBody .label{ font-size:13px; font-weight:700; color:var(--text); }
.ctTelBody .num{ font-family:"Poppins",sans-serif; font-size:28px; font-weight:700; color:var(--green-deep); }
.ctTelBody .time{ font-size:12.5px; color:var(--text-light); }

.ctFormNote{
  background:#FFF7E6; border:1px dashed #E0B84A; border-radius:8px;
  padding:16px 20px; font-size:12.5px; color:#8a6d1f; line-height:1.8; margin-bottom:34px;
}

.ctMailLabel{ font-size:16px; font-weight:700; margin-bottom:22px; }

/* お問い合わせ項目（チェックボックス群） */
.ctCheckGroup{ display:flex; flex-direction:column; gap:12px; }
.ctCheck{ display:flex; align-items:center; gap:10px; font-size:14px; font-weight:400; }
.ctCheck input{ width:17px; height:17px; accent-color:var(--green); flex-shrink:0; }

/* ファイル添付 */
.ctFile{ position:relative; display:inline-block; }
.ctFileBtn{
  display:inline-block; background:#fff; border:1px solid var(--line); border-radius:6px;
  padding:11px 26px; font-size:13.5px; color:var(--text);
}
.ctFile input[type="file"]{
  position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%;
}

/* フォーム */
.ctForm{ display:flex; flex-direction:column; gap:26px; }
.ctRow{ display:flex; flex-direction:column; gap:10px; }
.ctRow label{ font-size:14px; font-weight:700; display:flex; align-items:center; gap:10px; }
.ctRow .req{ background:#D9534F; color:#fff; font-size:10.5px; font-weight:500; padding:2px 8px; border-radius:3px; }
.ctRow input[type="text"], .ctRow input[type="tel"], .ctRow input[type="email"], .ctRow select, .ctRow textarea{
  border:1px solid var(--line); border-radius:6px; padding:13px 16px; font-size:14px; font-family:inherit; color:var(--text); width:100%;
}
.ctRow textarea{ resize:vertical; }
.ctRow input:focus, .ctRow select:focus, .ctRow textarea:focus{ outline:none; border-color:var(--green); }

.ctPrivacy{ text-align:center; font-size:13px; margin-top:6px; }
.ctPrivacy a{ color:var(--green); text-decoration:underline; }

.ctSubmit{ text-align:center; margin-top:10px; }
.ctSubmit button{
  display:inline-flex; align-items:center; gap:12px; background:var(--green); color:#fff;
  border:none; cursor:pointer; padding:16px 54px; border-radius:30px; font-size:15.5px; font-weight:500;
  font-family:inherit; transition:.25s;
}
.ctSubmit button:hover{ background:var(--green-dark); }

/* ============================================================
 * Contact Form 7 対応：CF7が出力する構造にデザインを当てる
 * .ctForm 直下の <label> が各項目、入力欄は .wpcf7-form-control
 * ============================================================ */
.ctForm .wpcf7-form > p,
.ctForm > label{ display:block; }

/* 各項目ラベル（お名前・電話番号など）を大きく・太く */
.ctForm label{
  display:block; font-size:15px; font-weight:700; color:var(--text);
  margin-bottom:10px; line-height:1.6;
}
/* 必須バッジを赤く */
.ctForm .req{
  display:inline-block; background:#D9534F; color:#fff;
  font-size:10.5px; font-weight:500; padding:3px 9px; border-radius:3px;
  margin-left:10px; vertical-align:middle;
}
/* 各項目のあいだの余白 */
.ctForm p{ margin:0 0 26px; }

/* 入力欄を大きく */
.ctForm input[type="text"],
.ctForm input[type="tel"],
.ctForm input[type="email"],
.ctForm textarea,
.ctForm select{
  width:100%; box-sizing:border-box;
  border:1px solid var(--line); border-radius:6px;
  padding:14px 16px; font-size:15px; font-family:inherit; color:var(--text);
  margin-top:8px;
}
.ctForm textarea{ resize:vertical; min-height:150px; }
.ctForm input:focus,
.ctForm textarea:focus,
.ctForm select:focus{ outline:none; border-color:var(--green); }

/* チェックボックス群（お問い合わせ項目）を縦積み・見やすく */
.ctForm .wpcf7-checkbox{ display:flex; flex-direction:column; gap:14px; margin-top:12px; }
.ctForm .wpcf7-checkbox .wpcf7-list-item{ margin:0; display:block; }
.ctForm .wpcf7-checkbox .wpcf7-list-item label{
  display:flex; align-items:center; gap:10px; font-weight:400; font-size:15px; margin:0; cursor:pointer;
}
.ctForm .wpcf7-checkbox input[type="checkbox"]{
  width:18px; height:18px; accent-color:var(--green); flex-shrink:0; margin:0;
}

/* ファイル選択ボタン */
.ctForm input[type="file"]{ margin-top:8px; font-size:14px; }

/* 送信ボタンを緑の大きめボタンに */
.ctForm .wpcf7-submit{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--green); color:#fff; border:none; cursor:pointer;
  padding:16px 54px; border-radius:30px; font-size:15.5px; font-weight:500;
  font-family:inherit; transition:.25s; margin-top:10px;
}
.ctForm .wpcf7-submit:hover{ background:var(--green-dark); }

/* プライバシー同意行を中央に */
.ctForm .ctPrivacy{ text-align:center; font-size:14px; margin:10px 0 4px; }
.ctForm .ctPrivacy .wpcf7-list-item{ margin:0; }
.ctForm .ctPrivacy a{ color:var(--green); text-decoration:underline; }

/* CF7のエラー・確認メッセージ */
.ctForm .wpcf7-not-valid-tip{ color:#D9534F; font-size:12.5px; margin-top:6px; }
.ctForm .wpcf7-response-output{
  border-radius:6px; padding:14px 18px; font-size:13.5px; margin:20px 0 0;
}

.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_esg.css
--------------------------------------- */

.esgPage{ background:#fff; }
.esgPage .secInner{ max-width:1040px; margin:0 auto; padding:0 30px; }

/* 上部：3本柱バッジ（三角形に重なる円配置） */
.esgPillars{
  position:relative; width:660px; height:580px; margin:50px auto 0;
}
.esgPillarBadge{
  position:absolute; width:320px; height:320px;
}
.esgPillarBadge .bgCircle{
  position:absolute; inset:0; border-radius:50%;
}
.esgPillarBadge .content{
  position:relative; z-index:2; width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:20px; box-sizing:border-box;
}
.esgPillarBadge.pb-env{ top:15px; left:170px; z-index:3; }
.esgPillarBadge.pb-social{ top:245px; left:35px; z-index:2; }
.esgPillarBadge.pb-gov{ top:245px; left:305px; z-index:1; }
.esgPillarBadge.pb-env .bgCircle{ background:rgba(61,168,158,0.7); }
.esgPillarBadge.pb-social .bgCircle{ background:rgba(31,58,68,0.55); }
.esgPillarBadge.pb-gov .bgCircle{ background:rgba(220,240,236,0.9); }
.esgPillarBadge .circle{ display:none; }
.esgPillarBadge .en{ display:block; font-family:"Poppins",sans-serif; font-size:22px; font-weight:700; margin-bottom:6px; }
.esgPillarBadge .en b{ font-size:26px; }
.esgPillarBadge .jp{ font-size:12px; margin-bottom:10px; }
.esgPillarBadge .tagline{ font-size:13.5px; }
.esgPillarBadge.pb-env .content, .esgPillarBadge.pb-social .content{ color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.25); }
.esgPillarBadge.pb-env .jp, .esgPillarBadge.pb-social .jp{ color:rgba(255,255,255,.85); }
.esgPillarBadge.pb-gov .content{ color:var(--green-deep); }
.esgPillarBadge.pb-gov .jp{ color:var(--text-light); }

/* ESGとSDGs 概要 */
.esgIntro{ text-align:center; padding:60px 0; }
.esgIntro h3{ font-size:22px; font-weight:700; margin-bottom:22px; }
.esgIntro p{ font-size:14.5px; line-height:2.1; color:var(--text-light); max-width:820px; margin:0 auto; }

/* 私たちが取り組んでいること：見出し */
.esgWorkTtl{ text-align:center; font-size:22px; font-weight:700; margin:0 0 10px; padding-top:56px; }

/* 各柱ブロック（環境／社会／ガバナンス） */
.esgPillarSec{ padding:50px 0; }
.esgPillarSec.alt{ background:var(--bg-mint); }
.esgPillarHead{ display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:34px; flex-wrap:wrap; }
.esgPillarHead .headTxt .en{ display:block; font-family:"Poppins",sans-serif; color:var(--green); font-size:12px; letter-spacing:.16em; text-transform:uppercase; margin-bottom:6px; }
.esgPillarHead .headTxt .jp{ font-size:23px; font-weight:700; }
.esgSdgsRow{ display:flex; gap:10px; flex-wrap:wrap; }
.esgSdgsRow img{ width:64px; height:64px; border-radius:6px; display:block; }

.esgItemGrid{ display:flex; gap:20px; align-items:stretch; }
.esgItemGrid .esgItem{ flex:1; min-width:0; }
.esgItem{ background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.05); display:flex; flex-direction:column; }
.esgPillarSec.alt .esgItem{ background:#fff; }
.esgItem .itemImg{ position:relative; width:100%; height:170px; overflow:hidden; flex-shrink:0; background:#eef1f0; }
.esgItem .itemImg img{ width:100%; height:100%; object-fit:cover; display:block; }
.esgItem .itemBody{ flex:1; }
.esgItem .itemImg .tag{
  position:absolute; top:12px; left:12px; background:#4FB4E8; color:#fff;
  font-weight:700; font-size:12px; padding:5px 12px; border-radius:4px;
}
.esgItem .itemBody{ padding:22px 24px 26px; }
.esgItem h4{ font-size:15.5px; font-weight:700; margin-bottom:10px; }
.esgItem p{ font-size:13.5px; line-height:1.9; color:var(--text-light); }

.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_event.css
--------------------------------------- */

.eventPage{ background:#fff; }
.eventPage .secInner{ max-width:1040px; margin:0 auto; padding:0 30px; }
.eventLead{ text-align:center; font-size:15px; line-height:2.1; padding:56px 30px 10px; }

.evtNav{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:26px 0 0; }
.evtNav a{ display:inline-block; background:#fff; border:1px solid var(--line); border-radius:30px; padding:9px 22px; font-size:13px; color:var(--text); transition:.25s; }
.evtNav a:hover{ background:var(--green); color:#fff; border-color:var(--green); }

.evtProvided{ position:relative; max-width:1040px; margin:40px auto 0; padding:0 30px; }
.evtProvided .provLabel{
  position:absolute; top:0; left:30px; z-index:2;
  background:#4FB4E8; color:#fff; font-weight:700; font-size:15px;
  padding:10px 22px; border-radius:6px 6px 0 0;
}
.evtProvidedRow{
  display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:4px 2px 10px; scrollbar-width:none;
}
.evtProvidedRow::-webkit-scrollbar{ display:none; }
.evtProvidedRow img{
  flex:0 0 auto; width:220px; height:220px; object-fit:cover;
  border-radius:6px; display:block; scroll-snap-align:start;
}
.evtProvArrow{
  position:absolute; top:50%; margin-top:-17px; width:34px; height:34px; border-radius:50%;
  background:#fff; border:1px solid var(--line); color:var(--text-light);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  font-size:14px; transition:.2s; z-index:2; box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.evtProvArrow:hover{ background:var(--green); color:#fff; border-color:var(--green); }
.evtProvArrow.prev{ left:0; }
.evtProvArrow.next{ right:0; }

.evtIntroTtl{ text-align:center; font-size:22px; font-weight:700; margin:60px 0 6px; letter-spacing:.05em; }

.evtSec{ padding:56px 0; }
.evtSec.alt{ background:var(--bg-mint); }
.evtTtl{ text-align:center; margin-bottom:30px; }
.evtTtl .en{ display:block; font-family:"Poppins",sans-serif; color:var(--green); font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:6px; }
.evtTtl .en::before{ content:""; display:block; width:50px; height:9px; background-image:url(../img/deco_dots4.png); background-size:contain; background-repeat:no-repeat; margin:0 auto 8px; }
.evtTtl .jp{ font-size:24px; font-weight:700; letter-spacing:.06em; }
.evtSec .secLead{ text-align:center; font-size:14.5px; line-height:2; color:var(--text-light); margin-bottom:34px; }

/* 大きめメイン画像＋詳細 */
.evtFeature{ display:flex; gap:40px; align-items:center; margin-bottom:8px; }
.evtFeature .mainImg{ flex-shrink:0; width:440px; }
.evtFeature .mainImg img{ width:100%; height:320px; object-fit:cover; border-radius:10px; display:block; box-shadow:0 6px 18px rgba(0,0,0,.08); }
.evtFeature .body{ flex:1; }
.evtFeature .body p{ font-size:14.5px; line-height:2; color:var(--text-light); }

/* 例：小さな丸写真（横スワイプ） */
.evtCircleWrap{ position:relative; margin-top:26px; }
.evtCircleRow{
  display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:6px 4px 10px; scrollbar-width:none;
}
.evtCircleRow::-webkit-scrollbar{ display:none; }
.evtCircleItem{ flex:0 0 auto; text-align:center; scroll-snap-align:start; width:132px; }
.evtCircleItem .circle{ position:relative; width:104px; height:104px; border-radius:50%; margin:10px auto 0; box-shadow:0 4px 12px rgba(0,0,0,.1); border:2px solid var(--green); }
.evtCircleItem .circle img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; }
/* 2本目の円：写真と同心円（中心を揃えて）少し大きく・わずかに傾ける */
.evtCircleItem .circle::after{ content:""; position:absolute; top:50%; left:50%; width:112%; height:108%; border-radius:50%; border:2px solid var(--green); transform:translate(-50%,-50%) rotate(-8deg); pointer-events:none; }
.evtCircleItem .circle.ph-img{ display:flex; }
.evtCircleItem .label{ font-size:12px; line-height:1.5; margin-top:12px; color:var(--text); }


.ph-img{ background:#EDEDED; display:flex; align-items:center; justify-content:center; color:#999; font-size:13px; text-align:center; line-height:1.6; }
.ph-img span{ display:block; }

.evtPoint{ background:#fff; border:2px solid var(--green); border-radius:14px; padding:44px 46px; margin-top:10px; }
.evtPoint .pointLabel{ display:inline-block; background:var(--green); color:#fff; font-family:"Poppins",sans-serif; font-size:12px; letter-spacing:.12em; padding:4px 16px; border-radius:20px; margin-bottom:14px; }
.evtPoint h4{ font-size:21px; font-weight:700; margin-bottom:14px; color:var(--green-deep); }
.evtPoint p{ font-size:14px; line-height:1.95; margin-bottom:22px; }
.evtPointTags{ display:flex; flex-wrap:wrap; gap:10px; }
.evtPointTags span{ background:#fff; border:1px solid var(--line); border-radius:30px; padding:8px 20px; font-size:13.5px; color:var(--text); }

.evtInsta{ text-align:center; padding:56px 0; background:var(--bg-mint); margin-top:20px; }
.evtInsta h4{ font-size:19px; font-weight:700; margin-bottom:18px; }
.evtInsta .iBtn a{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--green); color:var(--green); padding:12px 34px; border-radius:30px; font-size:14px; font-weight:500; transition:.25s; }
.evtInsta .iBtn a:hover{ background:var(--green); color:#fff; }

.evtFaq{ text-align:center; padding:20px 0 70px; }
.evtFaq h4{ font-size:20px; font-weight:700; margin-bottom:8px; }
.evtFaq p{ font-size:13.5px; color:var(--text-light); margin-bottom:22px; }
.evtFaq .fBtn a{ display:inline-flex; align-items:center; gap:10px; border:1px solid var(--green); color:var(--green); padding:13px 40px; border-radius:30px; font-size:14px; font-weight:500; transition:.25s; }
.evtFaq .fBtn a:hover{ background:var(--green); color:#fff; }

.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_finishing.css
--------------------------------------- */

.finishPage{ background:#fff; }
.finishPage .secInner{ max-width:1040px; margin:0 auto; padding:0 30px; }
.finishLead{ text-align:center; font-size:15px; line-height:2.1; padding:56px 30px 10px; }
.finTtl{ text-align:center; margin-bottom:38px; }
.finTtl .en{ display:block; font-family:"Poppins",sans-serif; color:var(--green); font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:6px; }
.finTtl .en::before{ content:""; display:block; width:50px; height:9px; background-image:url(../img/deco_dots4.png); background-size:contain; background-repeat:no-repeat; margin:0 auto 8px; }
.finTtl .jp{ font-size:26px; font-weight:700; letter-spacing:.06em; }
.finNav{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:26px 0 0; }
.finNav a{ display:inline-block; background:#fff; border:1px solid var(--line); border-radius:30px; padding:9px 22px; font-size:13px; color:var(--text); transition:.25s; }
.finNav a:hover{ background:var(--green); color:#fff; border-color:var(--green); }
.finSec{ padding:70px 0; }
.finSec.alt{ background:var(--bg-mint); }
.finSec .secLead{ text-align:center; font-size:14.5px; line-height:2; color:var(--text-light); margin-bottom:36px; }
.finPair{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.finPairItem{ background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.05); }
.finPairItem img{ width:100%; height:220px; object-fit:cover; display:block; }
.finPairItem .body{ padding:22px 24px; }
.finPairItem h4{ font-size:17px; font-weight:700; margin-bottom:12px; text-align:center; }
.finPairItem p{ font-size:13.5px; line-height:1.95; }
.finRow{ display:flex; gap:40px; align-items:stretch; }
.finRow.reverse{ flex-direction:row-reverse; }
.finRowImg{ flex-shrink:0; width:360px; }
.finRowImg img{ width:100%; height:100%; min-height:380px; object-fit:cover; border-radius:8px; display:block; }
.finRowBody{ flex:1; display:flex; flex-direction:column; justify-content:center; }
.finRowBody h4{ font-size:19px; font-weight:700; margin-bottom:14px; color:var(--green-deep); }
.finRowBody p{ font-size:14.5px; line-height:1.95; margin-bottom:14px; }
.finCheck{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:20px 24px; margin-top:6px; }
.finCheck .boxTtl{ text-align:center; font-size:14px; font-weight:700; margin-bottom:14px; color:var(--green-deep); }
.finCheckList{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px 18px; }
.finCheckList li{ list-style:none; font-size:13.5px; padding-left:24px; position:relative; min-height:17px; display:flex; align-items:center; }
.finCheckList li::before{ content:"✓"; position:absolute; left:0; top:50%; transform:translateY(-50%); color:#fff; background:var(--green); width:17px; height:17px; border-radius:3px; font-size:11px; text-align:center; line-height:17px; }
/* 住宅関連「主な清掃内容」：項目が長いので2列＋折り返し防止 */
.finCheckList--house{ grid-template-columns:repeat(2,auto); justify-content:center; gap:10px 40px; }
.finCheckList--house li{ white-space:nowrap; }
.finPartner{ background:#FCEEEE; padding:56px 0; margin-top:20px; }
.finPartner .inner{ max-width:900px; margin:0 auto; padding:0 30px; display:flex; gap:36px; align-items:center; }
.finPartner .pImg{ flex-shrink:0; width:260px; }
.finPartner .pImg img{ width:100%; border-radius:8px; display:block; }
.finPartner .pBody{ flex:1; }
.finPartner .pBody h4{ font-size:20px; font-weight:700; margin-bottom:12px; }
.finPartner .pBody p{ font-size:14px; line-height:1.9; margin-bottom:8px; }
.finPartner .pTag{ display:inline-block; background:#fff; border:1px solid var(--line); border-radius:4px; padding:5px 14px; font-size:12.5px; margin:6px 0 16px; }
.finPartner .pBtn a{ display:inline-flex; align-items:center; gap:8px; background:var(--green); color:#fff; padding:12px 30px; border-radius:30px; font-size:14px; font-weight:500; transition:.25s; }
.finPartner .pBtn a:hover{ background:var(--green-deep); }
.finFaq{ text-align:center; padding:56px 0 70px; }
.finFaq h4{ font-size:20px; font-weight:700; margin-bottom:8px; }
.finFaq p{ font-size:13.5px; color:var(--text-light); margin-bottom:22px; }
.finFaq .fBtn a{ display:inline-flex; align-items:center; gap:10px; border:1px solid var(--green); color:var(--green); padding:13px 40px; border-radius:30px; font-size:14px; font-weight:500; transition:.25s; }
.finFaq .fBtn a:hover{ background:var(--green); color:#fff; }
.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_maintenance.css
--------------------------------------- */

/* =======================================
   栄ビルサービス「メンテナンス清掃」専用スタイル（PC・901px以上）
======================================== */

.maintPage{ background:#fff; }
.maintPage .secInner{ max-width:1040px; margin:0 auto; padding:0 30px; }

/* ページ導入リード */
.maintLead{ text-align:center; font-size:15px; line-height:2.1; padding:56px 30px 10px; }

/* 共通の中央見出し（想いページと同じ体裁でTOP踏襲） */
.maintTtl{ text-align:center; margin-bottom:40px; }
.maintTtl .en{
  display:block; font-family:"Poppins",sans-serif; color:var(--green);
  font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:6px;
}
.maintTtl .en::before{ content:""; display:block; width:50px; height:9px; background-image:url(../img/deco_dots4.png); background-size:contain; background-repeat:no-repeat; margin:0 auto 8px; }
.maintTtl .jp{ font-size:27px; font-weight:700; letter-spacing:.06em; }

/* サブ見出し（セクション内の小見出し・波線下線） */
.subHead{ text-align:center; font-size:20px; font-weight:700; margin-bottom:26px; position:relative; padding-bottom:14px; }
.subHead::after{ content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:40px; height:3px; background:var(--green); }

/* ---- 主な対応施設（4枚グリッド） ---- */
.facilitySec{ padding:60px 0; background:var(--bg-mint); }
.facilityGrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.facilityCard{ background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.05); }
.facilityCard .ph{ height:130px; background-size:cover; background-position:center; }
.facilityCard p{ text-align:center; font-size:14px; font-weight:500; padding:12px 6px; }

/* ---- サービス大セクション共通 ---- */
.svcSec{ padding:72px 0; }
.svcSec.alt{ background:var(--bg-mint); }

/* 施設内アンカーメニュー */
.svcNav{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:28px 0 0; }
.svcNav a{
  display:inline-block; background:#fff; border:1px solid var(--line);
  border-radius:30px; padding:9px 22px; font-size:13px; color:var(--text);
  transition:.25s;
}
.svcNav a:hover{ background:var(--green); color:#fff; border-color:var(--green); }

/* 画像＋テキストの横並びブロック */
.svcRow{ display:flex; gap:40px; align-items:stretch; margin-top:38px; }
.svcRow.reverse{ flex-direction:row-reverse; }
.svcRowImg{ flex-shrink:0; width:340px; }
.svcRowImg img{ width:100%; height:100%; min-height:420px; object-fit:cover; border-radius:8px; display:block; }
.svcRowBody{ flex:1; }
.svcRowBody h4{ font-size:19px; font-weight:700; margin-bottom:14px; color:var(--green-deep); }
.svcRowBody p{ font-size:14.5px; line-height:1.95; margin-bottom:14px; }

/* チェックリスト（主な清掃内容など） */
.checkBox{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:20px 24px; margin-top:8px; }
.checkBox .boxTtl{ text-align:center; font-size:14px; font-weight:700; margin-bottom:14px; color:var(--green-deep); }
.checkList{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px 18px; }
.checkList li{ list-style:none; font-size:13.5px; padding-left:24px; position:relative; min-height:17px; display:flex; align-items:center; }
.checkList li::before{
  content:"✓"; position:absolute; left:0; top:50%; transform:translateY(-50%); color:#fff; background:var(--green);
  width:17px; height:17px; border-radius:3px; font-size:11px; text-align:center; line-height:17px;
}
.checkNote{ font-size:12px; color:var(--text-light); margin-top:14px; line-height:1.7; }

/* 小さめ2カラム（床メンテ・窓ガラスなど） */
.svcPair{ display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:34px; }
.svcPairItem{ background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.05); }
.svcPairItem img{ width:100%; height:190px; object-fit:cover; display:block; }
.svcPairItem .body{ padding:20px 22px; }
.svcPairItem h5{ font-size:16px; font-weight:700; margin-bottom:10px; text-align:center; }
.svcPairItem p{ font-size:13.5px; line-height:1.9; }

/* 巡回清掃などの帯 */
.infoBand{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:22px 26px; margin-top:26px; text-align:center; }
.infoBand h5{ font-size:16px; font-weight:700; margin-bottom:8px; }
.infoBand p{ font-size:13.5px; line-height:1.9; color:var(--text); }

/* コーティングとワックス比較表 */
.compareBox{ background:#fff; border-radius:12px; padding:30px 34px; margin-top:34px; box-shadow:0 4px 14px rgba(0,0,0,.05); }
.compareBox .cTtl{ text-align:center; margin-bottom:6px; }
.compareBox .cTtl .small{ font-size:12px; color:var(--green); display:block; margin-bottom:4px; }
.compareBox .cTtl .big{ font-size:18px; font-weight:700; }
.compareBox .cLead{ text-align:center; font-size:13px; color:var(--text-light); margin-bottom:22px; line-height:1.8; }
.compareTable{ width:100%; border-collapse:collapse; font-size:13.5px; }
.compareTable th,.compareTable td{ border:1px solid var(--line); padding:12px 14px; text-align:left; vertical-align:top; line-height:1.7; }
.compareTable thead th{ background:var(--green); color:#fff; text-align:center; font-weight:700; }
.compareTable tbody th{ background:var(--bg-mint); font-weight:700; white-space:nowrap; width:110px; }

/* 環境衛生・設備管理（3列＋2列） */
.envGrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:34px; }
.envItem{ background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.05); }
.envItem img{ width:100%; height:170px; object-fit:cover; display:block; }
.envItem .body{ padding:16px 20px 20px; }
.envItem h5{ font-size:15.5px; font-weight:700; margin-bottom:9px; text-align:center; }
.envItem p{ font-size:13px; line-height:1.85; }

/* ---- 協力会社募集（共通エリア・淡ピンク） ---- */
.partnerBand{ background:#FCEEEE; padding:56px 0; margin-top:20px; }
.partnerBand .inner{ max-width:900px; margin:0 auto; padding:0 30px; display:flex; gap:36px; align-items:center; }
.partnerBand .pImg{ flex-shrink:0; width:260px; }
.partnerBand .pImg img{ width:100%; border-radius:8px; display:block; }
.partnerBand .pBody{ flex:1; }
.partnerBand .pBody h4{ font-size:20px; font-weight:700; margin-bottom:12px; }
.partnerBand .pBody p{ font-size:14px; line-height:1.9; margin-bottom:8px; }
.partnerBand .pTag{ display:inline-block; background:#fff; border:1px solid var(--line); border-radius:4px; padding:5px 14px; font-size:12.5px; margin:6px 0 16px; }
.partnerBand .pBtn a{
  display:inline-flex; align-items:center; gap:8px; background:var(--green); color:#fff;
  padding:12px 30px; border-radius:30px; font-size:14px; font-weight:500; transition:.25s;
}
.partnerBand .pBtn a:hover{ background:var(--green-deep); }

/* ---- よくあるご質問リンク ---- */
.faqLink{ text-align:center; padding:56px 0 70px; }
.faqLink h4{ font-size:20px; font-weight:700; margin-bottom:8px; }
.faqLink p{ font-size:13.5px; color:var(--text-light); margin-bottom:22px; }
.faqLink .fBtn a{
  display:inline-flex; align-items:center; gap:10px; border:1px solid var(--green);
  color:var(--green); padding:13px 40px; border-radius:30px; font-size:14px; font-weight:500; transition:.25s;
}
.faqLink .fBtn a:hover{ background:var(--green); color:#fff; }

/* フェード表示の安全策（JSが効かない環境でも必ず表示） */
.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }

/* 天井カビ除去：実写真2枚並び */
.moldImgs{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.moldImgItem{ position:relative; }
.moldImgs img{ width:100%; height:230px; object-fit:cover; border-radius:8px; display:block; }
.moldBadge{
  position:absolute; top:10px; left:10px; z-index:1;
  font-family:"Poppins",sans-serif; font-size:12px; font-weight:700; letter-spacing:.05em;
  color:#fff; padding:5px 14px; border-radius:20px;
}
.moldBadge.before{ background:rgba(51,51,51,.75); }
.moldBadge.after{ background:var(--green); }



/* ---------------------------------------
   ▼ pc_news.css
--------------------------------------- */

.newsPage{ background:#fff; }
.newsPage .secInner{ max-width:900px; margin:0 auto; padding:50px 30px 90px; }

/* カテゴリタブ */
.nwTabs{ display:flex; justify-content:center; gap:14px; margin-bottom:40px; }
.nwTabs a{ display:inline-block; padding:10px 26px; border:1px solid var(--line); border-radius:30px; font-size:13.5px; color:var(--text); transition:.25s; }
.nwTabs a:hover{ background:var(--bg-mint); }
.nwTabs a.is-active{ background:var(--green); color:#fff; border-color:var(--green); }

/* 記事リスト */
.nwList{ display:flex; flex-direction:column; }
.nwItem{ display:block; padding:34px 4px; border-bottom:1px solid var(--line); }
.nwItem:first-child{ border-top:1px solid var(--line); }
.nwMeta{ display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.nwMeta .date{ font-family:"Poppins",sans-serif; font-size:14px; color:var(--text-light); letter-spacing:.03em; }
.nwMeta .cat{ font-size:11.5px; color:var(--green-deep); background:var(--bg-mint); border-radius:20px; padding:4px 14px; }
.nwTitle{ font-size:16.5px; font-weight:700; line-height:1.6; margin-bottom:10px; }
.nwExcerpt{ font-size:13.5px; line-height:1.9; color:var(--text-light); margin-bottom:14px; }
.nwMore{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--green); font-weight:500; }
.nwItem:hover .nwTitle{ color:var(--green); }
.nwItem:hover{ opacity:.9; }

/* ページネーション */
.nwPager{ display:flex; justify-content:center; align-items:center; gap:10px; margin-top:50px; }
.nwPager a, .nwPager span{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; font-size:13.5px; color:var(--text); }
.nwPager a{ border:1px solid var(--line); }
.nwPager a:hover{ background:var(--bg-mint); }
.nwPager a.is-current{ background:var(--green); color:#fff; border-color:var(--green); }
.nwPager span{ color:var(--text-light); }

/* 記事詳細 */
.nwArticle{ padding-top:10px; }
.nwArticleTitle{ font-size:22px; font-weight:700; line-height:1.6; margin:16px 0 26px; }
.nwFeatImg{ margin-bottom:30px; border-radius:10px; overflow:hidden; }
.nwFeatImg img{ width:100%; height:340px; object-fit:cover; display:block; }
.nwBodyImg{ margin:28px 0; border-radius:8px; overflow:hidden; }
.nwBodyImg img{ width:100%; height:auto; display:block; }
.nwBody{ font-size:14.5px; line-height:2.1; color:var(--text); }
.nwBody p{ margin-bottom:1.6em; }

.nwPrevNext{ display:flex; justify-content:space-between; padding:30px 0; margin-top:44px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:13.5px; }
.nwPrevNext a{ display:inline-flex; align-items:center; gap:8px; color:var(--text); transition:.25s; }
.nwPrevNext a:hover{ color:var(--green); }
.nwPrevNext .arrow{ font-size:16px; }

.nwBackList{ text-align:center; margin-top:44px; }
.nwBackList a{ display:inline-block; border:1px solid var(--line); border-radius:30px; padding:12px 40px; font-size:13.5px; color:var(--text); transition:.25s; }
.nwBackList a:hover{ background:var(--green); color:#fff; border-color:var(--green); }

.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_partner.css
--------------------------------------- */

.partnerPage{ background:#fff; }
.partnerPage .secInner{ max-width:1040px; margin:0 auto; padding:0 30px; }
.partnerLead{ text-align:center; padding:56px 30px 10px; }
.partnerLead h3{ font-size:22px; font-weight:700; margin-bottom:14px; }
.partnerLead p{ font-size:14.5px; line-height:2; color:var(--text-light); }

.ptnNav{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:30px 0 0; }
.ptnNav a{ display:inline-block; background:#fff; border:1px solid var(--line); border-radius:30px; padding:9px 22px; font-size:13px; color:var(--text); transition:.25s; }
.ptnNav a:hover{ background:var(--green); color:#fff; border-color:var(--green); }

.ptnSec{ padding:66px 0; }
.ptnSec.alt{ background:var(--bg-mint); }
.ptnTtl{ text-align:center; margin-bottom:44px; }
.ptnTtl .en{ display:block; font-family:"Poppins",sans-serif; color:var(--green); font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:6px; }
.ptnTtl .en::before{ content:""; display:block; width:50px; height:9px; background-image:url(../img/deco_dots4.png); background-size:contain; background-repeat:no-repeat; margin:0 auto 8px; }
.ptnTtl .jp{ font-size:24px; font-weight:700; letter-spacing:.06em; }

/* 選ばれる3つの理由 */
.ptnReasons{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.ptnReasonItem{ text-align:center; }
.ptnReasonItem .circle{
  width:120px; height:120px; border-radius:50%; margin:0 auto 22px;
  background:var(--bg-mint2); display:flex; align-items:center; justify-content:center;
}
.ptnReasonItem .circle svg{ width:46px; height:46px; }
.ptnReasonItem h4{ font-size:16.5px; font-weight:700; margin-bottom:12px; }
.ptnReasonItem p{ font-size:13.5px; line-height:1.9; color:var(--text-light); }

/* ご一緒したいパートナー像 */
.ptnPersonRow{ display:flex; gap:44px; align-items:center; }
.ptnPersonImg{ flex-shrink:0; width:420px; position:relative; }
.ptnPersonImg img{ width:100%; height:300px; object-fit:cover; border-radius:10px; display:block; box-shadow:0 6px 18px rgba(0,0,0,.08); }
.ptnPersonImg .shotTag{
  position:absolute; top:14px; left:14px; background:#4FB4E8; color:#fff;
  font-weight:700; font-size:13px; padding:6px 16px; border-radius:4px;
}
.ptnPersonBody{ flex:1; }
.ptnPersonBody p{ font-size:14.5px; line-height:2; }

.ptnWelcome{ background:var(--bg-mint2); border-radius:10px; padding:32px 38px; margin-top:42px; }
.ptnWelcome h5{ text-align:center; font-size:16px; font-weight:700; margin-bottom:18px; }
.ptnWelcome ul{ display:flex; flex-direction:column; gap:10px; width:fit-content; max-width:100%; margin:0 auto; }
.ptnWelcome li{ list-style:none; font-size:14px; display:flex; align-items:center; gap:10px; }
.ptnWelcome li::before{ content:"✓"; flex-shrink:0; color:#fff; background:var(--green); width:18px; height:18px; border-radius:50%; font-size:11px; text-align:center; line-height:18px; }

/* 募集要項 */
.ptnTable{ width:100%; border-collapse:collapse; }
.ptnTable th, .ptnTable td{ border:1px solid var(--line); padding:20px 26px; text-align:left; font-size:14px; line-height:1.9; }
.ptnTable th{ background:var(--bg-mint); width:220px; font-weight:700; color:var(--green-deep); }

.ptnCta{ text-align:center; padding:60px 0; }
.ptnCta .ctaBtn a{ display:inline-flex; align-items:center; gap:10px; background:var(--green); color:#fff; padding:15px 46px; border-radius:30px; font-size:15px; font-weight:500; transition:.25s; }
.ptnCta .ctaBtn a:hover{ background:var(--green-deep); }
.ptnCta .ctaNote{ font-size:12.5px; color:var(--text-light); margin-top:16px; }

.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_philosophy.css
--------------------------------------- */

/* =======================================
   栄ビルサービス「私たちの想い」専用スタイル
   （pc_contents.css 追記分）
======================================== */

.philoPage{ background:#fff; }
.philoPage .secInner{ max-width:1000px; margin:0 auto; padding:0 30px; }

/* セクション共通の英字＋日本語見出し（中央） */
.philoTtl{ text-align:center; margin-bottom:44px; }
.philoTtl .en{
  display:block; font-family:"Poppins",sans-serif; color:var(--green);
  font-size:13px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:8px;
}
.philoTtl .en::before{ content:""; display:block; width:50px; height:9px; background-image:url(../img/deco_dots4.png); background-size:contain; background-repeat:no-repeat; margin:0 auto 8px; }
.philoTtl .jp{ font-size:28px; font-weight:700; letter-spacing:.06em; }
.philoTtl .sub{ display:block; font-size:20px; font-weight:700; margin-top:14px; color:var(--green-deep); }

/* ---- 代表挨拶 ---- */
.greetingSec{ padding:80px 0; background:#fff; }
.greetingBox{ display:flex; gap:46px; align-items:flex-start; margin-top:10px; }
.greetingPhoto{ flex-shrink:0; width:280px; position:relative; }
.greetingPhoto .ph-img{ width:100%; height:360px; border-radius:6px; }
.greetingPhoto img{ width:100%; border-radius:6px; display:block; }
/* 左上のラベルタグ（ワイヤーの「撮影」） */
.photoTag{
  position:absolute; top:14px; left:-8px; z-index:3;
  background:var(--green); color:#fff; font-size:13px; font-weight:700;
  padding:6px 16px; letter-spacing:.08em; border-radius:3px;
  box-shadow:0 3px 8px rgba(0,0,0,.15);
}
.greetingBody{ flex:1; }
.greetingBody h3{
  font-size:24px; font-weight:700; line-height:1.6; margin-bottom:24px;
  position:relative; padding-bottom:18px;
}
.greetingBody h3::after{
  content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:var(--green);
}
.greetingBody p{ font-size:15px; line-height:2.1; margin-bottom:20px; }
.greetingSign{ text-align:right; font-size:15px; margin-top:30px; }
.greetingSign .role{ font-size:13px; color:var(--text-light); margin-right:10px; }
.greetingSign .name{ font-size:19px; font-weight:700; letter-spacing:.1em; }

/* ---- 経営理念 ---- */
.creedSec{ padding:84px 0; background:#fff; position:relative; overflow:hidden; }
/* セクション周りの四角・ドットあしらい（TOPと同じ deco） */
.creedSec::before{
  content:""; position:absolute; top:40px; left:-30px;
  width:200px; height:182px;
  background:url(../img/deco_dots_squares.png) no-repeat center/contain;
  opacity:1; pointer-events:none; z-index:0;
}
.creedSec::after{
  content:""; position:absolute; bottom:40px; right:-30px;
  width:200px; height:182px;
  background:url(../img/deco_dots_squares.png) no-repeat center/contain;
  opacity:1; transform:scaleX(-1); pointer-events:none; z-index:0;
}
.creedSec .secInner{ position:relative; z-index:1; }
/* 理念文を囲む淡いミントのパネル（白基調の中でほどよく区切る） */
.creedSec .creedPanel{
  background:var(--bg-mint); border-radius:14px; padding:50px 56px; margin-top:6px;
  position:relative; overflow:hidden;
}
.creedSec .creedPanel::before{
  content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:min(680px,88%); aspect-ratio:2000/1200;
  background:url(../img/creed_hands.png) no-repeat center/contain;
  opacity:1; pointer-events:none; z-index:0;
}
.creedSec .creedLead{
  text-align:center; line-height:2.4; font-size:15px; max-width:760px; margin:0 auto;
  position:relative; z-index:1;
}
.creedSec .creedLead .em{ color:var(--green-deep); font-weight:700; }
.creedSec .creedLead + .creedLead{ margin-top:28px; }

/* ---- 私たちが大切にしていること ---- */
.valuesSec{ padding:84px 0 90px; background:var(--bg-mint); }
.valuesSec .valuesLead{
  text-align:center; font-size:15px; line-height:2; color:var(--text-light); margin-bottom:54px;
}
.valueRow{ display:flex; gap:46px; align-items:center; margin-bottom:50px; }
.valueRow:last-child{ margin-bottom:0; }
.valueRow.reverse{ flex-direction:row-reverse; }
.valueRowImg{ flex-shrink:0; width:300px; position:relative; }
.valueRowImg .ph-img{ width:100%; height:200px; border-radius:6px; }
.valueRowImg img{ width:100%; height:auto; border-radius:6px; display:block; }
/* 画像左上のラベルタグ（周年ロゴ／フリー素材） */
.valueRowImg .photoTag{
  position:absolute; top:12px; left:-8px; z-index:3;
  background:var(--green); color:#fff; font-size:12px; font-weight:700;
  padding:5px 14px; letter-spacing:.06em; border-radius:3px;
  box-shadow:0 3px 8px rgba(0,0,0,.15);
}
.valueRowBody{ flex:1; }
/* 50周年ロゴ枠：写真と違いロゴなので中央配置・高さ自動 */
.valueRowImg--logo{ display:flex; align-items:center; justify-content:center; }
.valueRowImg--logo img{ width:200px; max-width:80%; }
.valueRowBody h3{
  font-size:21px; font-weight:700; margin-bottom:18px;
  position:relative; padding-bottom:14px;
}
.valueRowBody h3::after{
  content:""; position:absolute; left:0; bottom:0; width:34px; height:2px; background:var(--green);
}
.valueRowBody p{ font-size:14.5px; line-height:2; color:var(--text); }

/* ---- 下部CTA（TOPへ・お問い合わせへ誘導／任意） ---- */
.philoCta{ padding:0 0 90px; background:#fff; text-align:center; }

/* =======================================
   フェード表示の安全策（JSが効かない環境でも必ず表示）
   ※ .js-anim が付いた時だけ最初は透明にする
======================================== */
.fadeUp{ opacity:1; transform:none; }            /* 既定は表示 */
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_privacy.css
--------------------------------------- */

.privacyPage{ background:#fff; }
.privacyPage .secInner{ max-width:820px; margin:0 auto; padding:50px 30px 100px; }

.pvBlock{ margin-bottom:56px; }
.pvBlock:last-child{ margin-bottom:0; }
.pvBlock h3{ font-size:17px; font-weight:700; color:var(--green-deep); margin-bottom:20px; padding-bottom:12px; border-bottom:2px solid var(--bg-mint); }
.pvBlock h4{ font-size:14.5px; font-weight:700; margin:26px 0 10px; }
.pvBlock p{ font-size:13.5px; line-height:2; color:var(--text); margin-bottom:14px; }
.pvBlock ul{ padding-left:1.4em; margin-bottom:14px; }
.pvBlock li{ font-size:13.5px; line-height:2; color:var(--text); }
.pvLinks{ font-size:12.5px; line-height:1.9; }
.pvLinks a{ color:var(--green); word-break:break-all; }

.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_recruit.css
--------------------------------------- */

.recruitPage{ background:#fff; }
.recruitPage .secInner{ max-width:1040px; margin:0 auto; padding:0 30px; }
.rcLead{ text-align:center; padding:56px 30px 10px; }
.rcLead h3{ font-size:22px; font-weight:700; margin-bottom:14px; }
.rcLead p{ font-size:14.5px; line-height:2; color:var(--text-light); }

.rcNav{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:30px 0 0; }
.rcNav a{ display:inline-block; background:#fff; border:1px solid var(--line); border-radius:30px; padding:9px 22px; font-size:13px; color:var(--text); transition:.25s; }
.rcNav a:hover{ background:var(--green); color:#fff; border-color:var(--green); }

.rcSec{ padding:66px 0; }
.rcSec.alt{ background:var(--bg-mint); }
.rcTtl{ text-align:center; margin-bottom:44px; }
.rcTtl .en{ display:block; font-family:"Poppins",sans-serif; color:var(--green); font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:6px; }
.rcTtl .en::before{ content:""; display:block; width:50px; height:9px; background-image:url(../img/deco_dots4.png); background-size:contain; background-repeat:no-repeat; margin:0 auto 8px; }
.rcTtl .jp{ font-size:24px; font-weight:700; letter-spacing:.06em; }

/* 栄ビルサービスで働く魅力 */
.rcCharms{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.rcCharmItem{ text-align:center; }
.rcCharmItem .circle{
  width:120px; height:120px; border-radius:50%; margin:0 auto 22px;
  background:var(--bg-mint2); display:flex; align-items:center; justify-content:center;
}
.rcCharmItem .circle svg{ width:46px; height:46px; }
.rcCharmItem h4{ font-size:16.5px; font-weight:700; margin-bottom:12px; }
.rcCharmItem p{ font-size:13.5px; line-height:1.9; color:var(--text-light); }

/* 一緒に働きたい人物像 */
.rcPersonRow{ display:flex; gap:44px; align-items:center; }
.rcPersonImg{ flex-shrink:0; width:420px; position:relative; }
.rcPersonImg img{ width:100%; height:300px; object-fit:cover; border-radius:10px; display:block; box-shadow:0 6px 18px rgba(0,0,0,.08); }
.rcPersonBody{ flex:1; }
.rcPersonBody p{ font-size:14.5px; line-height:2; }

.rcWelcome{ background:var(--bg-mint2); border-radius:10px; padding:32px 38px; margin-top:42px; }
.rcWelcome h5{ text-align:center; font-size:16px; font-weight:700; margin-bottom:18px; }
.rcWelcome ul{ display:flex; flex-direction:column; gap:10px; width:fit-content; margin:0 auto; }
.rcWelcome li{ list-style:none; font-size:14px; display:flex; align-items:center; justify-content:flex-start; gap:10px; }
.rcWelcome li::before{ content:"✓"; flex-shrink:0; color:#fff; background:var(--green); width:18px; height:18px; border-radius:50%; font-size:11px; text-align:center; line-height:18px; }

/* 募集要項（データ未着手プレースホルダー） */
.rcPending{
  background:#F5F5F5; border:1px dashed #ccc; border-radius:10px;
  padding:50px 30px; text-align:center; color:#999; font-size:13.5px; line-height:2;
}
.rcPending .icon{ font-size:26px; margin-bottom:10px; }

.rcCta{ text-align:center; padding:60px 0 70px; }
.rcCta .ctaBtn a{ display:inline-flex; align-items:center; gap:10px; background:var(--green); color:#fff; padding:15px 46px; border-radius:30px; font-size:15px; font-weight:500; transition:.25s; }
.rcCta .ctaBtn a:hover{ background:var(--green-deep); }
.rcCta .ctaNote{ font-size:12.5px; color:var(--text-light); margin-top:16px; }

.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }



/* ---------------------------------------
   ▼ pc_thanks.css
--------------------------------------- */

.thanksPage{ background:#fff; padding:100px 30px 130px; }
.thanksWrap{ max-width:620px; margin:0 auto; text-align:center; }

.thanksIcon{
  width:88px; height:88px; border-radius:50%; background:var(--bg-mint);
  display:flex; align-items:center; justify-content:center; margin:0 auto 30px;
}

.thanksTtl{ font-size:26px; font-weight:700; line-height:1.6; margin-bottom:26px; }
.thanksLead{ font-size:14.5px; line-height:2.1; color:var(--text); margin-bottom:36px; }

.thanksNote{
  background:var(--bg-mint); border-radius:10px; padding:24px 30px; margin-bottom:44px;
}
.thanksNote p{ font-size:12.5px; line-height:1.9; color:var(--text-light); }

.thanksBtn{
  display:inline-flex; align-items:center; gap:10px; background:var(--green); color:#fff;
  padding:16px 54px; border-radius:30px; font-size:15px; font-weight:500; transition:.25s;
}
.thanksBtn:hover{ background:var(--green-dark); }

.spOnly{ display:none; }

.fadeUp{ opacity:1; transform:none; }
.fadeUp.js-anim{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fadeUp.js-anim.is-show{ opacity:1; transform:none; }

