/* ============================================================
   全ページ共通の追加分。トップで確定した3点の調整をここに集約する。
   ============================================================ */

body{margin:0;background:#fff;}
.s-kagami,.s-laboro,.s-studio,.s-nanoc,.s-mcx,.s-barter{position:relative;}

/* ---- ヘッダー ----
   KAGAMI の header は自サイトのヒーローに重ねる前提で position:absolute。
   ここでは通常の流れに置いて白帯にする。 */
.s-kagami .hdr{position:relative;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06);}
.s-kagami .hdr-nav{align-items:center;}
.s-kagami .drop-parent{position:relative;padding:28px 0;}
.s-kagami .drop-parent > span{cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.s-kagami .drop-parent > span::after{
  content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);}
.s-kagami .drop{position:absolute;left:50%;top:100%;transform:translateX(-50%);
  visibility:hidden;opacity:0;transition:opacity .15s;z-index:60;}
.s-kagami .drop-parent:hover .drop,.s-kagami .drop-parent:focus-within .drop{visibility:visible;opacity:1;}
.s-kagami .drop ul{background:#fff;border-radius:12px;box-shadow:0 12px 34px rgba(0,60,110,.16);
  padding:14px 0;min-width:230px;}
.s-kagami .drop.wide ul{column-count:2;column-gap:0;min-width:440px;}
.s-kagami .drop a{display:block;padding:9px 24px;font-size:14px;font-weight:500;white-space:nowrap;}
.s-kagami .drop a:hover{background:var(--blue-pale);color:var(--blue);}

/* ---- フッター（3列に20リンク） ---- */
.s-kagami .ftr-links{grid-template-columns:repeat(3,1fr);gap:14px 24px;}
.s-kagami .ftr-brand p{font-size:16px;line-height:24px;font-weight:500;}
.s-kagami .ftr-brand .ftr-name{font-size:20px;line-height:30px;font-weight:700;}

/* ---- CTA（nanoc の Recruit を書き換えたもの） ---- */
.s-nanoc .sec-h2{font-size:min(52px,3.7vw);line-height:1.35;}
.s-nanoc .recruit .sec-h2{font-size:min(72px,5vw);}
.s-nanoc .cta-lead{margin-top:26px;font-size:20px;line-height:36px;font-weight:500;color:#fff;}
.s-nanoc .cta-btns{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:38px;}
.s-nanoc .cta-tel{color:#fff;font-size:18px;font-weight:700;letter-spacing:.04em;}

@media (max-width:900px){
  .s-kagami .hdr-nav,.s-kagami .hdr-cta{display:none;}
  .s-nanoc .sec-h2{font-size:30px;}
  .s-nanoc .recruit .sec-h2{font-size:34px;}
  .s-nanoc .cta-lead{font-size:16px;line-height:28px;}
  .s-nanoc .svc-h{font-size:20px;}
}
