:root{
  --sec-subtitle-size: clamp(14px, 1.2vw, 16px);
}

/* base.css：基本スタイル */
*,*::before,*::after{ box-sizing:border-box; }

html,body{
  margin:0; padding:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  color:var(--color-text-base);
}

:root{
  --h1-size:28px; --h1-lh:1.4;
  --h2-size:24px; --h2-lh:1.5;
  --h3-size:20px; --h3-lh:1.6;
  --h4-size:18px; --h4-lh:1.6;
}

/* 見出し：余白のみ（サイズは typography.css で管理） */
h1,h2,h3,h4{ margin:0 0 .6em; font-weight:700; }

/* リンク */
a{
  color:inherit;
  text-decoration:underline;
  text-decoration-color:rgba(0,0,0,.2);
  text-underline-offset:.18em;
}
/* リンクホバー色（Customizerで変更可） */
a:hover,
a:focus-visible{
  /* 文字色は変えず、下線色のみ変更（Customizerで指定可） */
  text-decoration-color: var(--color-link-hover-underline);
}

/* a直下以外（子要素に下線を付ける実装）でも下線色を統一 */
a:hover *,
a:focus-visible *{
  text-decoration-color: var(--color-link-hover-underline);
}

/* =========================================================
   Fallback: Hamburger menu
   ---------------------------------------------------------
   既存の layout/utilities が読み込まれない・上書きされた場合でも
   最低限ハンバーガーが表示・開閉できるようにする保険。
   ========================================================= */
.nav-toggle{
  display:none;
  background:#fff;
  border:1px solid rgba(0,0,0,.15);
  border-radius:10px;
  width:44px;
  height:44px;
  padding:0;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-direction:column;
}

.nav-toggle__bar{
  width:22px;
  height:2px;
  border-radius:999px;
  background:#333;
  display:block;
}

@media (max-width: 1024px){
  .nav-toggle{ display:inline-flex; }
  .global-nav{ display:none; }
  .global-nav.is-open{ display:block; }
}

/* WordPress見出しの余白 */
.wp-block-heading{ margin-top:0; }



.c-secSubtitle,
.front-about__subtitle,
.front-service__subtitle,
.front-reasons__subtitle,
.front-voice__subtitle,
.front-cta__subtitle {
  font-size: var(--sec-subtitle-size);
  line-height: 1.6;
}

.front-about__role,
.front-about__shoulder {
}
