/* =========================================================
   pages.css — 追加セクション（事業/保有ビル/価値/信頼/代表/グループ/アクセス）
   ＋サブページ共通（一覧/詳細/会社概要/代表挨拶/問い合わせ/資料請求）
   site.css のトークンを継承（墨/紙白/朱/暖灰/罫/濃墨/焦茶）
   ========================================================= */

/* 共通 section 見出し */
.section-wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(80px,12vh,150px) clamp(24px,5vw,52px);}
.sec-eyebrow{font-size:.74rem;letter-spacing:.22em;color:var(--shu);margin:0 0 16px;font-weight:500;}
.sec-title{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.4;letter-spacing:.05em;margin:0 0 22px;}
.sec-intro{max-width:48ch;color:#3a352f;font-size:.98rem;margin:0;}
.on-deep .sec-title,.on-deep h2,.on-deep h3{color:var(--washi);}
.on-deep .sec-intro,.on-deep p{color:rgba(247,243,236,.82);}

/* ===================== S5 事業（zigzag） ===================== */
.biz{background:var(--washi);}
.biz__list{max-width:var(--maxw);margin:48px auto 0;display:flex;flex-direction:column;gap:clamp(40px,7vh,86px);}
.biz__row{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,4vw,60px);align-items:center;}
.biz__row:nth-child(even) .biz__media{order:2;}
.biz__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--deep);}
.biz__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.95);transition:filter 1s var(--ease),transform 1.4s var(--ease);}
.biz__row:hover .biz__media img{filter:grayscale(.1) contrast(1.02);transform:scale(1.03);}
.biz__no{font-family:var(--serif);font-size:.9rem;color:var(--shu);letter-spacing:.1em;}
.biz__name{font-family:var(--serif);font-weight:600;font-size:clamp(1.3rem,2.8vw,1.9rem);margin:8px 0 14px;}
.biz__text p{margin:0;color:#3a352f;font-size:.96rem;}
@media (max-width:760px){
  .biz__row{grid-template-columns:1fr;gap:18px;}
  .biz__row:nth-child(even) .biz__media{order:0;}
}

/* ===================== S6 保有ビル抜粋（Bento非対称） ===================== */
.bldf{background:var(--washi);border-top:1px solid var(--hair);}
.bldf__grid{max-width:var(--maxw);margin:46px auto 0;display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(14px,2vw,22px);}
.bcard{position:relative;overflow:hidden;background:var(--deep);color:var(--washi);min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;}
.bcard--xl{grid-column:span 4;min-height:360px;}
.bcard--l{grid-column:span 2;min-height:360px;}
.bcard--m{grid-column:span 2;}
.bcard__media{position:absolute;inset:0;}
.bcard__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.62) contrast(1.05);transition:filter 1s var(--ease),transform 1.6s var(--ease);}
.bcard:hover .bcard__media img{filter:grayscale(.05) brightness(.7);transform:scale(1.04);}
.bcard__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#23201c,#161310);color:rgba(247,243,236,.34);font-size:.74rem;letter-spacing:.12em;}
.bcard__grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,12,10,.86) 0%,rgba(15,12,10,.15) 55%,transparent 100%);}
.bcard__body{position:relative;padding:clamp(16px,2vw,24px);}
.bcard__name{font-family:var(--serif);font-weight:600;font-size:clamp(1.05rem,2vw,1.4rem);margin:0 0 6px;}
.bcard__spec{font-size:.78rem;color:rgba(247,243,236,.78);margin:0;line-height:1.7;}
.bcard__owner{display:inline-block;margin-top:10px;font-size:.66rem;letter-spacing:.06em;color:rgba(247,243,236,.5);}
.bldf__more{max-width:var(--maxw);margin:34px auto 0;text-align:right;}
@media (max-width:760px){
  .bldf__grid{grid-template-columns:1fr 1fr;}
  .bcard--xl,.bcard--l,.bcard--m{grid-column:span 2;min-height:220px;}
}

/* リンク（テキスト矢印） */
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--sumi);border-bottom:1px solid var(--sumi);padding-bottom:3px;transition:gap .3s var(--ease);}
.link-arrow:hover{gap:14px;}
.on-deep .link-arrow{color:var(--washi);border-color:var(--washi);}

/* ===================== S7 届ける価値（番号リスト） ===================== */
.value{background:var(--deep);}
.value__list{max-width:var(--maxw);margin:50px auto 0;display:flex;flex-direction:column;}
.vrow{display:grid;grid-template-columns:120px 1fr;gap:clamp(20px,4vw,52px);padding:clamp(26px,4vh,44px) 0;border-top:1px solid rgba(247,243,236,.14);align-items:baseline;}
.vrow__no{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--shu);line-height:1;}
.vrow__t{font-family:var(--serif);font-weight:500;font-size:clamp(1.1rem,2.4vw,1.5rem);color:var(--washi);margin:0 0 10px;}
.vrow__d{margin:0;color:rgba(247,243,236,.8);font-size:.94rem;max-width:60ch;}
@media (max-width:680px){.vrow{grid-template-columns:1fr;gap:8px;}}

/* ===================== S8 信頼の証拠 ===================== */
.trust{background:var(--washi);}
.trust__stats{max-width:var(--maxw);margin:44px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,40px);}
.tstat{display:flex;flex-direction:column;gap:8px;}
.tstat__n{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1;color:var(--sumi);}
.tstat__l{font-size:.8rem;color:var(--gray);}
.trust__tenants{max-width:var(--maxw);margin:clamp(40px,6vh,68px) auto 0;padding-top:clamp(30px,4vh,48px);border-top:1px solid var(--hair);}
.trust__lead{font-size:.84rem;color:var(--gray);margin:0 0 22px;letter-spacing:.04em;}
.tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair);}
.tenant-grid span{background:var(--washi);padding:18px 14px;text-align:center;font-size:.84rem;color:#2b2722;letter-spacing:.02em;}
.trust__rows{max-width:var(--maxw);margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:24px 48px;}
.trow{font-size:.86rem;color:#3a352f;}
.trow b{font-family:var(--serif);font-weight:600;color:var(--sumi);display:block;margin-bottom:6px;font-size:.92rem;}
@media (max-width:760px){.trust__stats{grid-template-columns:1fr 1fr;gap:24px;}.trust__rows{grid-template-columns:1fr;}}

/* ===================== S9 代表メッセージ抜粋 ===================== */
.ceo{background:var(--brown);color:var(--washi);}
.ceo__wrap{max-width:880px;margin:0 auto;padding:clamp(80px,12vh,140px) clamp(24px,5vw,52px);text-align:center;}
.ceo__q{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,3.4vw,2.3rem);line-height:1.7;letter-spacing:.04em;margin:0 0 30px;}
.ceo__sign{font-size:.84rem;color:rgba(247,243,236,.7);margin:0 0 28px;}
.ceo__sign strong{font-family:var(--serif);font-size:1.15rem;color:var(--washi);font-weight:600;margin-left:8px;}

/* ===================== S10 グループ ===================== */
.group{background:var(--washi);}
.group__grid{max-width:var(--maxw);margin:44px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,28px);}
.gcard{display:block;padding:clamp(24px,3vw,36px);background:var(--washi);border:1px solid var(--hair);transition:border-color .3s var(--ease),transform .3s var(--ease);}
.gcard:hover{border-color:var(--sumi);transform:translateY(-3px);}
.gcard__k{font-size:.72rem;letter-spacing:.14em;color:var(--shu);margin:0 0 14px;}
.gcard__n{font-family:var(--serif);font-weight:600;font-size:1.15rem;margin:0 0 10px;}
.gcard__d{font-size:.84rem;color:var(--gray);margin:0 0 18px;line-height:1.8;}
.gcard__go{font-size:.82rem;color:var(--sumi);}
@media (max-width:760px){.group__grid{grid-template-columns:1fr;}}

/* ===================== S11 アクセス＋CTA ===================== */
.access{background:var(--deep);color:var(--washi);}
.access__grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:0;align-items:stretch;}
.access__map{min-height:420px;border:0;width:100%;filter:grayscale(1) contrast(1.05);}
.access__panel{padding:clamp(40px,6vw,72px);display:flex;flex-direction:column;justify-content:center;}
.access__panel h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,3.2vw,2.3rem);margin:0 0 22px;color:var(--washi);}
.access__addr{color:rgba(247,243,236,.85);font-size:.94rem;line-height:2;margin:0 0 28px;}
.access__cta{display:flex;flex-wrap:wrap;gap:14px;}
.btn-out{border:1px solid rgba(247,243,236,.5);color:var(--washi);padding:13px 26px;font-size:.86rem;letter-spacing:.04em;transition:background .3s var(--ease),color .3s var(--ease);}
.btn-out:hover{background:var(--washi);color:var(--deep);}
@media (max-width:860px){.access__grid{grid-template-columns:1fr;}.access__map{min-height:300px;}}

/* ===================== サブページ共通 ===================== */
.page-hero{background:var(--deep);color:var(--washi);padding:calc(86px + clamp(40px,8vh,80px)) clamp(24px,5vw,52px) clamp(40px,7vh,72px);}
.page-hero__wrap{max-width:var(--maxw);margin:0 auto;}
.page-hero__crumb{font-size:.76rem;color:rgba(247,243,236,.55);margin:0 0 16px;letter-spacing:.04em;}
.page-hero__crumb a{color:rgba(247,243,236,.7);}
.page-hero__title{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,5vw,3.2rem);margin:0;letter-spacing:.06em;}
.page-hero__en{font-size:.78rem;letter-spacing:.22em;color:var(--shu);margin:0 0 14px;}
.page-body{max-width:var(--maxw);margin:0 auto;padding:clamp(50px,8vh,90px) clamp(24px,5vw,52px);}

/* 会社概要テーブル */
.spec-table{width:100%;border-collapse:collapse;font-size:.92rem;}
.spec-table th,.spec-table td{text-align:left;vertical-align:top;padding:16px 18px;border-bottom:1px solid var(--hair);}
.spec-table th{width:30%;font-weight:600;color:var(--sumi);background:rgba(110,102,92,.05);font-family:var(--serif);}
.spec-table td{color:#3a352f;}
@media (max-width:640px){.spec-table th,.spec-table td{display:block;width:100%;}.spec-table th{border-bottom:0;padding-bottom:4px;}}

/* 保有ビル一覧 */
.filterbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
.chip{border:1px solid var(--hair);background:var(--washi);color:var(--sumi);padding:8px 18px;font-size:.82rem;cursor:pointer;transition:.25s var(--ease);}
.chip.active,.chip:hover{background:var(--sumi);color:var(--washi);border-color:var(--sumi);}
.bld-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(16px,2vw,24px);}
.blist{background:var(--washi);border:1px solid var(--hair);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.blist:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(28,26,23,.08);}
.blist__media{aspect-ratio:4/3;background:linear-gradient(150deg,#23201c,#161310);position:relative;overflow:hidden;}
.blist__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.9);transition:filter .8s var(--ease);}
.blist:hover .blist__media img{filter:grayscale(0);}
.blist__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(247,243,236,.32);font-size:.72rem;letter-spacing:.1em;}
.blist__vac{position:absolute;top:12px;left:12px;background:var(--shu);color:#fff;font-size:.68rem;padding:4px 10px;letter-spacing:.04em;}
.blist__body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.blist__name{font-family:var(--serif);font-weight:600;font-size:1.12rem;margin:0;}
.blist__spec{font-size:.8rem;color:var(--gray);margin:0;line-height:1.7;}
.blist__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:10px;}
.blist__owner{font-size:.68rem;color:var(--gray);letter-spacing:.04em;}
.blist__go{font-size:.78rem;color:var(--shu);}

/* フォーム */
.form{max-width:680px;}
.form__row{margin-bottom:24px;}
.form__row label{display:block;font-size:.86rem;font-weight:500;margin-bottom:8px;color:var(--sumi);}
.form__row .req{color:var(--shu);font-size:.74rem;margin-left:6px;}
.form input,.form select,.form textarea{
  width:100%;padding:13px 14px;border:1px solid var(--gray);background:var(--white);color:var(--sumi);
  font-family:var(--sans);font-size:.94rem;border-radius:2px;transition:border-color .25s var(--ease);
}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--shu);box-shadow:0 0 0 3px rgba(183,53,42,.12);}
.form textarea{min-height:140px;resize:vertical;}
.form__note{font-size:.78rem;color:var(--gray);margin:8px 0 0;}
.btn-submit{background:var(--shu);color:#fff;border:0;padding:15px 40px;font-size:.94rem;letter-spacing:.06em;cursor:pointer;transition:background .3s var(--ease);font-family:var(--sans);}
.btn-submit:hover{background:#9E2C22;}
.proto-banner{background:rgba(183,53,42,.08);border:1px solid rgba(183,53,42,.25);color:#7a241c;padding:14px 18px;font-size:.84rem;margin-bottom:34px;border-radius:2px;}

/* 資料請求 3部 */
.doc-parts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,22px);margin:0 0 44px;}
.doc-part{background:var(--washi);border:1px solid var(--hair);padding:26px 22px;}
.doc-part__n{font-family:var(--serif);font-weight:600;font-size:1.6rem;color:var(--shu);margin:0 0 12px;}
.doc-part__t{font-family:var(--serif);font-weight:600;font-size:1.02rem;margin:0 0 10px;}
.doc-part__d{font-size:.84rem;color:var(--gray);margin:0;line-height:1.8;}
@media (max-width:760px){.doc-parts{grid-template-columns:1fr;}}

/* 代表挨拶 */
.message-page{max-width:760px;margin:0 auto;}
.message-page p{font-size:1.02rem;line-height:2.05;color:#2b2722;margin:0 0 26px;}
.message-page h3{font-family:var(--serif);font-weight:600;color:var(--sumi);font-size:1.3rem;margin:48px 0 18px;}
.message-portrait{aspect-ratio:4/5;max-width:300px;background:linear-gradient(150deg,#efe9df,#e2dccf);display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:.78rem;letter-spacing:.08em;margin:0 0 36px;border:1px solid var(--hair);}
.message-sign{text-align:right;margin-top:40px;font-size:.9rem;color:var(--gray);}
.message-sign strong{font-family:var(--serif);font-size:1.3rem;color:var(--sumi);display:block;margin-top:6px;}

/* 空室 */
.vac-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.vac-table th,.vac-table td{padding:16px 16px;border-bottom:1px solid var(--hair);text-align:left;}
.vac-table th{font-family:var(--serif);font-weight:600;color:var(--sumi);background:rgba(110,102,92,.05);}
.vac-table td{color:#3a352f;}
.vac-empty{color:var(--gray);font-size:.9rem;}

/* 詳細ページ諸元 */
.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,4vw,56px);align-items:start;}
.detail-hero-img{aspect-ratio:4/3;background:linear-gradient(150deg,#23201c,#161310);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:rgba(247,243,236,.34);font-size:.78rem;letter-spacing:.1em;}
@media (max-width:820px){.detail-grid{grid-template-columns:1fr;}}

/* ===================== 実ビル写真（ToB・desaturate→hover color） ===================== */
.realimg{width:100%;height:100%;object-fit:cover;filter:grayscale(.9) contrast(1.04) brightness(.98);transition:filter .9s var(--ease),transform 1.3s var(--ease);}
.bcard:hover .realimg{filter:grayscale(0);transform:scale(1.04);}
.detail-hero-img{display:block;padding:0;}
.detail-hero-img .realimg{position:absolute;inset:0;}
/* Hero 縦組み内の算用数字を横に組む（縦中横） */
.tcy{text-combine-upright:all;-webkit-text-combine:horizontal;}
/* 代表ポートレート */
.ceo__portrait{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center 18%;margin:0 auto 24px;display:block;border:2px solid rgba(247,243,236,.4);}
.message-portrait.has-photo{background:none;border:1px solid var(--hair);padding:0;overflow:hidden;}
.message-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 16%;display:block;}
