.page{padding:0 0 calc(var(--u)*10)}
.page__panel{background:var(--panel);border-radius:calc(var(--u)*2.4);padding:calc(var(--u)*11) 0 calc(var(--u)*8);position:relative;overflow:hidden;margin-bottom:calc(var(--u)*1.6)}
.page__panel>.wrap{position:relative;z-index:2;width:min(100% - var(--u)*13,calc(var(--u)*128))}
.page__title{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:clamp(28px,4.2vw,54px);letter-spacing:.02em;margin-bottom:calc(var(--u)*2.4)}
.back{display:inline-flex;align-items:center;gap:.7em;margin-top:calc(var(--u)*5);font-family:Inter,sans-serif;font-weight:700;font-size:clamp(11px,1.2vw,13px);letter-spacing:.08em;background:var(--sumi);color:#fff;border-radius:999em;padding:calc(var(--u)*2) calc(var(--u)*4)}
.back::before{content:"";width:.5em;height:.5em;border-radius:999em;background:var(--hi)}
.back:hover{background:var(--hi)}.back:hover::before{background:#fff}
.hero,.peekRail,.sec,.band,.contact{position:static!important;min-height:0!important}

/* お知らせ：カテゴリの絞り込み＋記事カード（参考元の p-news-sort / p-news-article） */
.nsort{position:relative;display:inline-block;margin-top:calc(var(--u)*3)}
.nsort__btn{display:flex;align-items:center;gap:.9em;background:var(--paper2);border:0;border-radius:999em;
  padding:calc(var(--u)*1.6) calc(var(--u)*3.2);font-family:Inter,sans-serif;font-weight:700;
  font-size:clamp(11px,1.2vw,13px);letter-spacing:.08em;cursor:pointer;color:inherit}
.nsort__btn::after{content:"";width:.42em;height:.42em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-.12em);transition:transform .25s var(--e)}
.nsort[data-open="true"] .nsort__btn::after{transform:rotate(-135deg) translateY(-.12em)}
.nsort__list{position:absolute;top:calc(100% + .6em);left:0;min-width:100%;background:var(--sumi);border-radius:calc(var(--u)*1.4);
  padding:.6em 0;list-style:none;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.22s var(--e);z-index:9}
.nsort[data-open="true"] .nsort__list{opacity:1;visibility:visible;transform:none}
.nsort__list button{display:block;width:100%;text-align:left;background:none;border:0;color:#fff;cursor:pointer;
  padding:.7em 1.6em;font-size:13px;white-space:nowrap;font-family:inherit}
.nsort__list button:hover{background:var(--hi)}

.nlist{list-style:none;margin-top:calc(var(--u)*4);border-top:1px solid #E6E3DE}
.na{border-bottom:1px solid #E6E3DE}
.na[hidden]{display:none}
.na>a{display:grid;grid-template-columns:auto 1fr;gap:calc(var(--u)*3.4);align-items:center;padding:calc(var(--u)*2.6) 0;transition:opacity .2s var(--e)}
.na>a:hover{opacity:.6}
.na__thumb{width:calc(var(--u)*16);aspect-ratio:16/10;border-radius:calc(var(--u)*1.2);display:grid;place-content:center}
.na__thumb span{font-family:Inter,sans-serif;font-weight:700;font-size:clamp(10px,1.1vw,12px);letter-spacing:.1em;color:#fff}
.na__thumb--in{background:var(--sumi)}
.na__thumb--br{background:var(--hi)}
.na__thumb--co{background:#9A948C}
.na__info{display:flex;align-items:center;gap:calc(var(--u)*1.6);margin-bottom:calc(var(--u)*1)}
.na__info time{font-family:Inter,sans-serif;font-weight:700;font-size:clamp(11px,1.2vw,14px);color:#8B8681;font-variant-numeric:tabular-nums}
.na__cat{font-size:clamp(10.5px,1.1vw,12.5px);letter-spacing:.06em;border:1px solid #DCD7CF;border-radius:999em;padding:.35em 1em}
.na__copy{font-size:clamp(14px,1.6vw,19px);line-height:1.75;font-weight:500}

/* 会社概要ページ */
.cul{margin-top:calc(var(--u)*5)}
.cul__item{display:grid;grid-template-columns:minmax(90px,.42fr) 1fr;gap:0 calc(var(--u)*4);padding:calc(var(--u)*4) 0;border-top:1px solid #E6E3DE}
.cul__item:last-child{border-bottom:1px solid #E6E3DE}
.cul__n{font-family:Inter,sans-serif;font-weight:700;font-size:clamp(28px,3.6vw,46px);line-height:1;color:var(--hi)}
.cul__item h3{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:clamp(18px,2.2vw,26px);margin-bottom:calc(var(--u)*1.4)}
.cul__item p{font-size:clamp(13.5px,1.5vw,17px);line-height:2.05;color:#3E3A37;max-width:38em}
.ofc{display:flex;gap:calc(var(--u)*1.6);margin-top:calc(var(--u)*5)}
.ofc__item{width:33.3333%;background:var(--paper2);border-radius:calc(var(--u)*2.4);padding:calc(var(--u)*5) calc(var(--u)*4)}
@media(max-width:900px){
  .ofc{flex-direction:column}.ofc__item{width:100%}
  .na>a{grid-template-columns:1fr}.na__thumb{width:100%;max-width:calc(var(--u)*22)}
  .cul__item{grid-template-columns:1fr;gap:calc(var(--u)*1.4)}
}

/* 下層ページ：余白を詰めて、内容が早く目に入るようにする */
main{padding-bottom:calc(var(--u)*2.4)}
.page{padding:0 0 calc(var(--u)*2.4)}
.page__panel{padding:calc(var(--u)*7.5) 0 calc(var(--u)*6)}
.page__title{margin-bottom:calc(var(--u)*2)}
.page__panel .leaf--b,.page__panel .leaf--c{display:none}   /* 本文に重なるので下層では右上の一枚だけ */
.page__panel .leaf--a{top:9%;right:5%}
.pj__visual{aspect-ratio:16/9}
.list{margin-top:calc(var(--u)*3.4)}
.item{padding:calc(var(--u)*3.4) 0}
.back{margin-top:calc(var(--u)*4)}
.btn{margin-top:calc(var(--u)*3.4)}
.cul{margin-top:calc(var(--u)*3.4)}
.cul__item{padding:calc(var(--u)*3.2) 0}
.nlist{margin-top:calc(var(--u)*3)}
.na>a{padding:calc(var(--u)*2.2) 0}
