/* 2026-10-15 追加: 全ページ共通の補修（company.css / silica.css の後に読み込む）。
   minify済みCSSを直接いじらずに済むよう、追加分はここへ集める。 */

/* 見出しの明朝体。company.css / silica.css の "serif" は var(--serif,serif) に置換済み。
   端末ごとに字形が変わらないよう Web フォント（Shippori Mincho）を先頭にする。 */
:root{--serif:"Shippori Mincho","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif}

/* スマホ幅のメニュー。width<=980px では nav の通常リンクが隠れるため、
   開閉ボタン（nav.js が挿入）でドロップダウン表示する。 */
.nav-toggle{display:none}
@media (width<=980px){
  .site-header nav{margin-left:auto}
  .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;flex:none;width:44px;height:44px;margin-left:10px;padding:0 12px;border:1px solid var(--line);background:transparent;cursor:pointer}
  .nav-toggle span{display:block;height:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}
  .site-header.nav-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .site-header.nav-open .nav-toggle span:nth-child(2){opacity:0}
  .site-header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .site-header.nav-open nav{position:absolute;top:100%;left:0;right:0;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 26px;background:#f5f1e8;border-bottom:1px solid var(--line);box-shadow:0 18px 32px #1c253018;max-height:calc(100vh - 76px);overflow-y:auto}
  .site-header.nav-open nav a{display:block!important;padding:16px 2px;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:.05em}
  .site-header.nav-open nav a.nav-lang{font:13px monospace;letter-spacing:.1em}
  .site-header.nav-open nav a.nav-cta{margin-top:18px;padding:15px;border:1px solid var(--ink);text-align:center}
}

/* 2026-10-15 追加: 画面の動き（motion.js と対） */
/* リップル */
.nav-cta,.hero-actions a,.contact-email-row a,.ripple{position:relative;overflow:hidden;isolation:isolate}
.ripple-ink{position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);pointer-events:none;z-index:-1;animation:tkg-ripple .7s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes tkg-ripple{to{transform:scale(1);opacity:0}}
.nav-cta,.hero-actions a{transition:background-color .25s,color .25s,border-color .25s}
nav .nav-cta:hover{background:var(--ink);color:var(--white)}

/* スライドイン（motion.js が .reveal を付けた要素だけ動く） */
.reveal{opacity:0;transform:translateX(var(--rx,-48px));transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0s)}
.reveal.is-in{opacity:1;transform:none}

/* ピン止め＋スクラブ（トップ「構想から立ち上げまで」）。--s は各段の立ち上がり 0→1 */
.cycle-pin.pin-on .cycle-sticky{position:sticky;top:var(--hh,92px);min-height:calc(100vh - var(--hh,92px));display:flex;flex-direction:column;justify-content:center;background:var(--white)}
/* sticky は重なりの単位になるため、背景色を持たせないと挿絵の乗算合成の相手が無くなり白い四角が出る */
.cycle-pin.pin-on .stairs{margin-bottom:24px}
.cycle-pin.pin-on .stair-tread{clip-path:inset(calc((1 - var(--s,1)) * (100% + 40px) - 40px) -4px 0 -4px)}
/* 親に transform/opacity を付けると乗算合成が親の中に閉じて白い四角が出るため、img 自体を動かす */
.cycle-pin.pin-on .stair-art img{opacity:var(--s,1);transform:translateY(calc((1 - var(--s,1)) * 36px))}

/* 2026-11-11 追加: フッターのサイト内リンク（全ページ共通）。どのページからも各サービスページへ1クリックで行けるようにする */
.footer{flex-wrap:wrap;row-gap:24px}
.footer-links{order:-1;width:100%;display:flex;flex-wrap:wrap;gap:8px 26px;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.8}
.footer-links a{color:var(--muted);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.footer-links a:hover{color:var(--ink);border-bottom-color:var(--gold)}
.footer-links a[aria-current="page"]{color:var(--ink)}

/* 2026-11-11 追加: よくあるご質問（details/summary。JSなしで開閉でき、閉じていても本文はHTMLに入っている） */
.faq-list{max-width:980px;border-top:2px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:grid;grid-template-columns:40px 1fr 20px;column-gap:14px;align-items:baseline;padding:22px 4px;cursor:pointer;list-style:none;transition:color .2s}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";width:9px;height:9px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);justify-self:end;align-self:center;margin-top:-4px;transition:transform .25s}
.faq-list details[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.faq-list summary:hover{color:var(--blue)}
.faq-list summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.faq-list .faq-q{font:12px monospace;letter-spacing:.1em;color:var(--gold)}
.faq-list summary h3{margin:0;font-size:16.5px;font-weight:600;line-height:1.7}
.faq-list .faq-a{padding:0 44px 26px 58px}
.faq-list .faq-a p{margin:0;font-size:14.5px;line-height:2.05;color:var(--muted)}
.faq-list .faq-a a{color:var(--ink);border-bottom:1px solid var(--gold)}
@media (max-width:700px){
  .faq-list summary{grid-template-columns:30px 1fr 16px;column-gap:10px;padding:18px 2px}
  .faq-list summary h3{font-size:15px}
  .faq-list .faq-a{padding:0 6px 22px 42px}
}

/* 2026-11-11 追加: サービスページ末尾の見出し「お問い合わせ」。PC幅では6字が列幅に収まらず「お問い合わ／せ」と折れていたため、1行に収まる大きさにして折り返さない */
@media (width>=981px){#contact .section-heading h2{white-space:nowrap;font-size:clamp(40px,4.4vw,62px)}}
