/* ============================================================
   subpages.css 追記分 — 以下を subpages.css の末尾に追記してください
   ============================================================ */

/* ── philosophy-label コンポーネント（新） ── */
.senjin-philosophy__block {
  padding: 0;
  width: 100%;
  position: relative;
  z-index: 1;
}
.senjin-philosophy__block + .senjin-philosophy__block {
  padding-top: 60px;
}
.senjin-philosophy__block:last-child {
  padding-bottom: 50px;
}
.senjin-philosophy-label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 0;
  width: 100%;
}
.senjin-philosophy-label__jp {
  font-size: 24px;
  font-weight: 400;
  color: #111827;
  line-height: 1.25;
  font-family: var(--senjin-font-sans);
  margin: 0;
}
.senjin-philosophy-label__en {
  font-size: 60px;
  font-weight: 700;
  color: #111827;
  line-height: 1.25;
  letter-spacing: 2.4px;
  font-family: var(--senjin-font-inter);
  margin: 0;
}
.senjin-philosophy-label__rule {
  display: block;
  width: 100%;
  height: 1px;
  background: #111827;
  margin-top: 8px;
}

/* ── VALUE ブロック（新） ── */
.senjin-philosophy__row--value {
  align-items: flex-start;
  gap: 100px;
}
.senjin-philosophy__value-left {
  width: 388px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.senjin-philosophy__img-wrap--value {
  width: 100%;
  height: 260px;
  overflow: hidden;
  border-radius: 10px;
  position: relative;
}
.senjin-philosophy__img-wrap--value img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.senjin-philosophy__value-summary {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 1.9;
  letter-spacing: 0.06em;
  font-family: var(--senjin-font-sans);
}
.senjin-philosophy__value-right {
  width: 380px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}
.senjin-philosophy__value-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 0;
  border-bottom: 1px solid #111827;
  width: 100%;
}
/* Figma: Inter 16px bold */
.senjin-philosophy__value-num {
  font-family: var(--senjin-font-inter), 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  letter-spacing: normal;
  line-height: 1.25;
  margin: 0;
}
/* Figma: Zen Kaku 14px / lg 16px / weight 500 / tracking 1.12px（title・desc 共通） */
.senjin-philosophy__value-copy {
  font-family: var(--senjin-font-sans);
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  letter-spacing: 1.12px;
  line-height: 1.6;
}
.senjin-philosophy__value-title,
.senjin-philosophy__value-desc {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin: 0;
}
@media (min-width: 1024px) {
  .senjin-philosophy__value-copy {
    font-size: 16px;
  }
}

/* ── プロフィール 新レイアウト ── */
.senjin-profile__new-heading {
  font-size: 24px;
  font-weight: 700;
  color: #111827;
  font-family: var(--senjin-font-sans);
  padding: 80px 80px 39px;
  margin: 0;
}
.senjin-profile__layout {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: flex-start;
  padding: 0 80px 120px;
}
.senjin-profile__table-wrap {
  width: 636px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}
.senjin-profile__table-wrap dl { margin: 0; padding: 0; }
.senjin-profile__new-row {
  display: flex;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}
.senjin-profile__new-row:last-child { border-bottom: none; }
.senjin-profile__new-row--odd { background: #f7f5f3; }
.senjin-profile__new-dt {
  width: 200px;
  flex-shrink: 0;
  padding: 20px;
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  font-family: var(--senjin-font-sans);
  border-right: 1px solid #d1d5db;
}
.senjin-profile__new-dd {
  flex: 1;
  padding: 20px;
  font-size: 16px;
  color: #111827;
  font-family: var(--senjin-font-sans);
  letter-spacing: 0.04em;
  white-space: pre-line;
  line-height: 1.8;
  margin: 0;
}
.senjin-profile__map {
  flex: 1;
  min-width: 0;
  height: 464px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}
.senjin-profile__map iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ── お問い合わせ（Figma準拠・additions 後勝ち） ── */
.senjin-contact-page {
  background: #fff;
}
.senjin-contact-page__inner {
  padding: 0 80px;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
}
.senjin-contact-page__inner .senjin-breadcrumb {
  display: none;
}
/* Figma: pt-[90px] pb-[30px]（パンくず非表示のため header + 70px で位置合わせ） */
.senjin-contact-page__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 8px;
  padding: calc(var(--senjin-header-h) + 40px) 0 30px;
  width: 100%;
  box-sizing: border-box;
}
.senjin-contact-page__en {
  font-family: var(--senjin-font-serif);
  font-size: 18px;
  font-weight: 500;
  color: var(--senjin-primary);
  text-transform: uppercase;
  line-height: 1.25;
  margin: 0;
}
.senjin-contact-page__ja {
  font-family: var(--senjin-font-serif);
  font-size: 40px;
  font-weight: 600;
  color: #111827;
  letter-spacing: 4.8px;
  line-height: 1.25;
  margin: 0;
}
.senjin-contact-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 0 120px;
}
.senjin-contact-success[hidden],
.senjin-contact-page__heading[hidden],
.senjin-contact-body[hidden] {
  display: none !important;
}
.senjin-contact-page.is-sent .senjin-contact-success {
  min-height: 420px;
  padding: 80px 0 120px;
}
@media (min-width: 1024px) {
  .senjin-contact-page.is-sent .senjin-contact-success {
    min-height: 480px;
    padding: 120px 0 160px;
  }
}
.senjin-contact-success__icon { margin-bottom: 24px; }
.senjin-contact-success__title {
  font-family: var(--senjin-font-serif);
  font-size: 24px;
  font-weight: 600;
  color: var(--senjin-text);
  margin: 0 0 16px;
}
.senjin-contact-success__body {
  font-family: var(--senjin-font-sans);
  font-size: 16px;
  color: #6b7280;
  margin: 0;
}
/* Figma: gap-10 / lg:gap-80 / pt-10 lg:pt-90 / pb-60 lg:pb-120 */
.senjin-contact-page .senjin-contact-body {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 40px 0 60px;
  align-items: flex-start;
  width: 100%;
  box-sizing: border-box;
}
.senjin-contact-page .senjin-contact-channels {
  display: flex;
  flex-direction: column;
  gap: 48px;
  width: 100%;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  max-width: none;
  background: transparent;
}
.senjin-contact-channel-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}
.senjin-contact-page .senjin-contact-channel-title {
  font-size: 24px;
  font-weight: 500;
  color: #111827;
  letter-spacing: 1.68px;
  font-family: var(--senjin-font-sans);
  line-height: 1.4;
  margin: 0;
}
.senjin-contact-page .senjin-contact-channel-number {
  font-size: 24px;
  font-weight: 700;
  color: #111827;
  letter-spacing: 3px;
  font-family: var(--senjin-font-sans);
  line-height: 1.3;
  margin: 0;
}
.senjin-contact-page .senjin-contact-channel-email {
  font-size: 18px;
  font-weight: 400;
  color: #111827;
  letter-spacing: 0.72px;
  font-family: var(--senjin-font-sans);
  line-height: 1.3;
  margin: 0;
}
.senjin-contact-page .senjin-contact-channel-note {
  font-size: 16px;
  color: #6b7280;
  letter-spacing: 1.12px;
  line-height: 1.6;
  font-family: var(--senjin-font-sans);
  margin: 0;
}
.senjin-contact-page .senjin-contact-form-wrap {
  flex: 1;
  min-width: 0;
  width: 100%;
  background: #f7f5f3;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-sizing: border-box;
}
.senjin-contact-page .senjin-contact-form,
.senjin-contact-page .senjin-contact-form-wrap form {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
  padding: 48px;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
.senjin-contact-form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.senjin-contact-page .senjin-contact-form-label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0;
  font-family: var(--senjin-font-sans);
}
.senjin-contact-page .senjin-contact-form-input,
.senjin-contact-page .senjin-contact-form-select,
.senjin-contact-page .senjin-contact-form-textarea,
.senjin-contact-page .senjin-cf7-wrap input[type="text"],
.senjin-contact-page .senjin-cf7-wrap input[type="email"],
.senjin-contact-page .senjin-cf7-wrap input[type="tel"],
.senjin-contact-page .senjin-cf7-wrap select,
.senjin-contact-page .senjin-cf7-wrap textarea {
  width: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0;
  padding: 12px;
  font-size: 14px;
  font-weight: 400;
  color: #111827;
  outline: none;
  font-family: 'Noto Sans JP', sans-serif;
  transition: border-color 0.2s;
  box-sizing: border-box;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.senjin-contact-page .senjin-contact-form-input::placeholder,
.senjin-contact-page .senjin-contact-form-textarea::placeholder,
.senjin-contact-page .senjin-cf7-wrap input::placeholder,
.senjin-contact-page .senjin-cf7-wrap textarea::placeholder {
  color: #9ca3af;
}
.senjin-contact-page .senjin-contact-form-input:focus,
.senjin-contact-page .senjin-contact-form-select:focus,
.senjin-contact-page .senjin-contact-form-textarea:focus,
.senjin-contact-page .senjin-cf7-wrap input:focus,
.senjin-contact-page .senjin-cf7-wrap select:focus,
.senjin-contact-page .senjin-cf7-wrap textarea:focus {
  border-color: var(--senjin-primary);
  box-shadow: none;
}
.senjin-contact-page .senjin-contact-form-input.is-error,
.senjin-contact-page .senjin-contact-form-select.is-error,
.senjin-contact-page .senjin-contact-form-textarea.is-error {
  border-color: var(--senjin-primary);
}
.senjin-contact-page .senjin-contact-form-select-wrap { position: relative; width: 100%; }
.senjin-contact-page .senjin-contact-form-select,
.senjin-contact-page .senjin-cf7-wrap select {
  appearance: none;
  padding-right: 36px;
  cursor: pointer;
}
.senjin-contact-page .senjin-contact-form-select:has(option[value=""]:checked),
.senjin-contact-page .senjin-cf7-wrap select:has(option[value=""]:checked) {
  color: #9ca3af;
}
.senjin-contact-page .senjin-contact-form-select-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.senjin-contact-page .senjin-contact-form-textarea,
.senjin-contact-page .senjin-cf7-wrap textarea {
  resize: none;
  min-height: 168px;
}
.senjin-contact-page .senjin-contact-form-agree-row,
.senjin-contact-page .senjin-cf7-wrap .senjin-contact-form-agree-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.senjin-contact-page .senjin-contact-form-checkbox,
.senjin-contact-page .senjin-cf7-wrap input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  accent-color: var(--senjin-primary);
  cursor: pointer;
  margin: 0;
}
.senjin-contact-page .senjin-contact-form-agree-label {
  font-size: 14px;
  color: #111827;
  cursor: pointer;
  font-family: var(--senjin-font-sans);
  margin: 0;
}
.senjin-contact-page .senjin-contact-form-agree-label a {
  color: var(--senjin-primary);
  text-decoration: underline;
}
.senjin-contact-page .senjin-contact-form-submit,
.senjin-contact-page .senjin-cf7-wrap input[type="submit"] {
  width: 100%;
  background: var(--senjin-primary);
  color: #fff;
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 500;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: opacity 0.2s;
  font-family: var(--senjin-font-sans);
  letter-spacing: 1.92px;
  box-sizing: border-box;
  line-height: 1.25;
}
.senjin-contact-page .senjin-contact-form-submit:hover:not(:disabled),
.senjin-contact-page .senjin-cf7-wrap input[type="submit"]:hover:not(:disabled) { opacity: 0.9; }
.senjin-contact-page .senjin-contact-form-submit:disabled,
.senjin-contact-page .senjin-cf7-wrap input[type="submit"]:disabled { opacity: 0.4; cursor: not-allowed; }

.senjin-contact-page .senjin-cf7-wrap {
  width: 100%;
}
.senjin-contact-page .senjin-cf7-wrap .wpcf7 {
  margin: 0;
  width: 100%;
}
.senjin-contact-page .senjin-cf7-wrap form.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
  padding: 48px;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
/* CF7の自動<p>余白を打ち消し（Figmaの gap-32 のみにする） */
.senjin-contact-page .senjin-cf7-wrap .wpcf7-form p {
  margin: 0;
  padding: 0;
  width: 100%;
}
.senjin-contact-page .senjin-cf7-wrap .wpcf7-form > p:empty {
  display: none;
}
.senjin-contact-page .senjin-cf7-wrap .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.senjin-contact-page .senjin-cf7-wrap .wpcf7-list-item {
  margin: 0;
}
.senjin-contact-page .senjin-cf7-wrap .wpcf7-acceptance {
  display: flex;
  align-items: center;
  gap: 12px;
}
.senjin-contact-page .senjin-cf7-wrap .wpcf7-not-valid-tip {
  font-size: 12px;
  color: #ef4444;
  margin-top: 4px;
}
.senjin-contact-page .senjin-cf7-wrap .wpcf7-response-output {
  margin: 0;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
}
.senjin-contact-page .senjin-cf7-wrap form.sent .wpcf7-response-output {
  display: none !important;
}
.senjin-contact-page .senjin-contact-form-fallback {
  padding: 48px;
  margin: 0;
  color: #6b7280;
  font-size: 15px;
}

@media (min-width: 1024px) {
  .senjin-contact-page .senjin-contact-body {
    flex-direction: row;
    gap: 80px;
    padding: 90px 0 120px;
  }
  .senjin-contact-page .senjin-contact-channels { width: 400px; }
  .senjin-contact-page .senjin-contact-channel-number { font-size: 30px; }
}
@media (max-width: 1023px) {
  .senjin-contact-page__inner { padding-inline: 32px; }
  .senjin-contact-page__heading {
    padding: calc(var(--senjin-header-h) + 70px) 0 30px;
  }
}
@media (max-width: 767px) {
  .senjin-contact-page__inner { padding-inline: 20px; }
  .senjin-contact-page__heading {
    padding: calc(var(--senjin-header-h) + 70px) 0 30px;
  }
  .senjin-contact-page .senjin-contact-body { padding: 40px 0 60px; gap: 40px; }
  .senjin-contact-page .senjin-contact-form,
  .senjin-contact-page .senjin-contact-form-wrap form,
  .senjin-contact-page .senjin-cf7-wrap form.wpcf7-form { padding: 32px 24px; }
}

/* ── お問い合わせ: タイトル typography 保護（SPも40px） ── */
.senjin-site .senjin-contact-page__en {
  font-size: 18px;
  font-weight: 500;
  font-family: var(--senjin-font-serif);
  line-height: 1.25;
  text-transform: uppercase;
}
.senjin-site .senjin-contact-page__ja {
  font-size: 40px;
  font-weight: 600;
  font-family: var(--senjin-font-serif);
  letter-spacing: 4.8px;
  line-height: 1.25;
}

/* ── サービス 区切り線（Figma準拠） ── */
.senjin-service-section__divider {
  width: 100%;
  height: 1px;
  background: #d6cfc5;
  margin-top: 12px;
}
@media (min-width: 640px) and (max-width: 1023px) {
  .senjin-service-section__items {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 業務内容ラベル: .senjin-site p { margin:0 } 上書き防止 */
.senjin-site .senjin-service-section__items-label {
  margin: 0 0 16px;
}
.senjin-service-section__items-wrap {
  gap: 0;
}

/* ── バナー object-position（ページ別） ── */
.senjin-about > .senjin-page-header__banner img {
  object-position: center 85%;
}
.senjin-service-page > .senjin-page-header__banner img {
  object-position: center 60%;
}

/* ── 下層ページ共通バナー（header外・Figma準拠） ── */
.senjin-about > .senjin-page-header__banner,
.senjin-service-page > .senjin-page-header__banner,
.senjin-works-page > .senjin-page-header__banner {
  width: 100%;
  height: 480px;
  margin: 0 0 120px;
  overflow: hidden;
  position: relative;
}
.senjin-about > .senjin-page-header__banner img,
.senjin-service-page > .senjin-page-header__banner img,
.senjin-works-page > .senjin-page-header__banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ── 会社概要ページ（Figma準拠） ── */
.senjin-about .senjin-philosophy {
  padding: 0 20px 40px;
}
.senjin-about .senjin-profile {
  padding: 0;
}
.senjin-about .senjin-profile__new-heading {
  padding: 80px 20px 39px;
}
.senjin-about .senjin-profile__layout {
  padding: 0 20px 120px;
}

@media (min-width: 640px) {
  .senjin-about .senjin-philosophy {
    padding-left: 32px;
    padding-right: 32px;
  }
  .senjin-about .senjin-profile__new-heading {
    padding-left: 32px;
    padding-right: 32px;
  }
  .senjin-about .senjin-profile__layout {
    padding-left: 32px;
    padding-right: 32px;
    padding-bottom: 120px;
  }
}

@media (min-width: 1024px) {
  .senjin-about .senjin-philosophy {
    padding: 0 80px 120px;
  }
  .senjin-about .senjin-profile__new-heading {
    padding: 80px 80px 39px;
  }
  .senjin-about .senjin-profile__layout {
    padding: 0 80px 120px;
  }
}

/* ── レスポンシブ ── */
@media (max-width: 1023px) {
  .senjin-philosophy__block + .senjin-philosophy__block { padding-top: 60px; }
  .senjin-philosophy__value-left,
  .senjin-philosophy__value-right { width: 100%; }
  .senjin-philosophy__row--value { flex-direction: column; gap: 32px; }
  .senjin-profile__new-heading { padding: 48px 32px 24px; }
  .senjin-profile__layout { flex-direction: column; padding: 0 32px 80px; }
  .senjin-profile__table-wrap { width: 100%; }
  .senjin-profile__map { width: 100%; height: 280px; flex: none; }
  .senjin-about .senjin-profile__new-heading { padding: 80px 32px 39px; }
  .senjin-about .senjin-profile__layout { padding: 0 32px 120px; }
  .senjin-about .senjin-philosophy__row-heading { font-size: 22px; }
  /* スマホ: セクション間をもう少し広く */
  .senjin-about .senjin-philosophy__block + .senjin-philosophy__block {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .senjin-profile__new-heading { padding: 40px 20px 20px; }
  .senjin-profile__layout { padding: 0 20px 60px; }
  .senjin-about .senjin-profile__new-heading { padding: 80px 20px 39px; }
  .senjin-about .senjin-profile__layout { padding: 0 20px 120px; }
  .senjin-about .senjin-philosophy__row-heading { font-size: 22px; }
}

@media (max-width: 1023px) {
  .senjin-service-page > .senjin-page-header__banner,
  .senjin-works-page > .senjin-page-header__banner,
  .senjin-about > .senjin-page-header__banner {
    height: 480px;
    margin-bottom: 120px;
  }
}
@media (max-width: 767px) {
  .senjin-service-page > .senjin-page-header__banner,
  .senjin-works-page > .senjin-page-header__banner,
  .senjin-about > .senjin-page-header__banner {
    height: 480px;
    margin-bottom: 120px;
  }
}

/* ── ページヘッダー heading-wrap（ヘッダー下＋Figmaタイトル余白・左寄せ） ── */
.senjin-site .senjin-page-header__heading-wrap {
  gap: 8px;
  align-items: flex-start;
  text-align: left;
  padding: calc(var(--senjin-header-h) + 40px) var(--senjin-px) 60px;
}

/* ── ページヘッダー: タイトル（Figma: 全幅で40px / tracking 4.8px） ── */
.senjin-site .senjin-page-header__en {
  font-size: 18px;
  font-weight: 500;
  font-family: var(--senjin-font-serif);
  line-height: 1.25;
  text-transform: uppercase;
  text-align: left;
  margin: 0;
}
.senjin-site .senjin-page-header__ja {
  font-size: 40px;
  font-weight: 600;
  font-family: var(--senjin-font-serif);
  letter-spacing: 4.8px;
  line-height: 1.25;
  text-align: left;
  margin: 0;
}
@media (max-width: 1023px) {
  .senjin-site .senjin-page-header__heading-wrap,
  .senjin-site .senjin-page-header__heading,
  .senjin-service-page .senjin-page-header__heading-wrap,
  .senjin-works-page .senjin-page-header__heading-wrap,
  .senjin-about .senjin-page-header__heading-wrap {
    padding: calc(var(--senjin-header-h) + 70px) 32px 60px;
  }
  .senjin-site .senjin-page-header__ja,
  .senjin-service-page .senjin-page-header__ja,
  .senjin-works-page .senjin-page-header__ja,
  .senjin-about .senjin-page-header__ja {
    font-size: 40px;
    letter-spacing: 4.8px;
    line-height: 1.25;
  }
}
@media (max-width: 639px) {
  .senjin-site .senjin-page-header__heading-wrap,
  .senjin-site .senjin-page-header__heading,
  .senjin-service-page .senjin-page-header__heading-wrap,
  .senjin-works-page .senjin-page-header__heading-wrap,
  .senjin-about .senjin-page-header__heading-wrap {
    padding: calc(var(--senjin-header-h) + 70px) 20px 60px;
  }
  .senjin-site .senjin-page-header__ja,
  .senjin-service-page .senjin-page-header__ja,
  .senjin-works-page .senjin-page-header__ja,
  .senjin-about .senjin-page-header__ja {
    font-size: 40px;
    letter-spacing: 4.8px;
    line-height: 1.25;
  }
}

/* ── 経営理念: ラベル文字サイズ（Figma固定・WP上書き防止） ── */
.senjin-site .senjin-philosophy-label__jp {
  font-size: 24px;
  font-weight: 400;
  font-family: var(--senjin-font-sans);
  line-height: 1.25;
  color: #111827;
}
.senjin-site .senjin-philosophy-label__en {
  font-size: 60px;
  font-weight: 700;
  font-family: var(--senjin-font-inter);
  line-height: 1.25;
  letter-spacing: 2.4px;
  color: #111827;
}

/* ── 経営理念: MISSION / VISION 中身（Figma準拠） ── */
.senjin-site .senjin-about .senjin-philosophy__row {
  justify-content: center;
  align-items: center;
  gap: 100px;
  padding: 60px 0;
  text-align: left;
}
.senjin-site .senjin-about .senjin-philosophy__text {
  align-items: flex-start;
  text-align: left;
  gap: 32px;
}
.senjin-site .senjin-about .senjin-philosophy__row-heading {
  font-family: var(--senjin-font-sans);
  font-size: 35px;
  font-weight: 500;
  color: #111827;
  letter-spacing: 2.45px;
  line-height: 55px;
  margin: 0;
  text-align: left;
}
.senjin-site .senjin-about .senjin-philosophy__body {
  font-family: var(--senjin-font-sans);
  font-size: 16px;
  font-weight: 400;
  color: #111827;
  line-height: 2.4;
  letter-spacing: 1.12px;
  margin: 0;
  text-align: left;
  width: 100%;
}
/* VISION 本文は Figma leading-[1.8] */
.senjin-site .senjin-about .senjin-philosophy__block:has(.senjin-philosophy__img-wrap--vision) .senjin-philosophy__body {
  line-height: 1.8;
}
.senjin-site .senjin-about .senjin-philosophy__img-wrap {
  width: 388px;
  height: 440px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.senjin-site .senjin-about .senjin-philosophy__img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  display: block;
}
.senjin-site .senjin-about .senjin-philosophy__img-wrap--vision {
  width: 363px;
  height: 450px;
  border-radius: 10px;
}
.senjin-site .senjin-about .senjin-philosophy__img-wrap--vision img {
  object-fit: cover;
}
.senjin-site .senjin-about .senjin-philosophy__row--value {
  justify-content: center;
  align-items: flex-start;
}
.senjin-site .senjin-about .senjin-philosophy__value-num {
  font-family: var(--senjin-font-inter), 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.25;
}
.senjin-site .senjin-about .senjin-philosophy__value-copy {
  font-family: var(--senjin-font-sans);
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  letter-spacing: 1.12px;
  line-height: 1.6;
}
.senjin-site .senjin-about .senjin-philosophy__value-title,
.senjin-site .senjin-about .senjin-philosophy__value-desc {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin: 0;
}
.senjin-site .senjin-about .senjin-philosophy__value-summary {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1.26px;
  line-height: 1.9;
  text-align: left;
}

@media (max-width: 1023px) {
  .senjin-site .senjin-about .senjin-philosophy__row {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
    padding: 60px 0;
  }
  .senjin-site .senjin-about .senjin-philosophy__text {
    width: 100%;
    gap: 20px;
  }
  .senjin-site .senjin-about .senjin-philosophy__row-heading {
    font-size: 22px;
    line-height: 1.375;
    letter-spacing: 2.45px;
  }
  .senjin-site .senjin-about .senjin-philosophy__body {
    font-size: 14px;
  }
  .senjin-site .senjin-about .senjin-philosophy__img-wrap {
    width: 100%;
    height: auto;
  }
  .senjin-site .senjin-about .senjin-philosophy__img-wrap img {
    position: static;
    width: 55%;
    height: auto;
    margin: 0 auto;
  }
  .senjin-site .senjin-about .senjin-philosophy__img-wrap--vision {
    width: 100%;
    height: 300px;
  }
  .senjin-site .senjin-about .senjin-philosophy__img-wrap--vision img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
  }
  .senjin-site .senjin-about .senjin-philosophy__value-summary {
    font-size: 16px;
  }
}

@media (min-width: 1024px) {
  .senjin-site .senjin-about .senjin-philosophy__value-copy {
    font-size: 16px;
  }
}

@media (max-width: 639px) {
  .senjin-site .senjin-about .senjin-philosophy__img-wrap--vision {
    height: 240px;
  }
}

/* ── 経営理念: SVG装飾（circle/line）表示修正 ── */
.senjin-about .senjin-philosophy {
  overflow: hidden;
  isolation: isolate;
}
.senjin-site .senjin-philosophy__deco-svg {
  display: block;
  position: absolute;
  pointer-events: none;
  user-select: none;
  max-width: none !important;
  max-height: none !important;
  height: auto;
  flex-shrink: 0;
  overflow: visible;
  z-index: 0;
}
.senjin-site .senjin-philosophy__deco-svg--tr-lg {
  width: 620px;
  height: 620px;
  top: -80px;
  right: -140px;
  opacity: 0.08;
}
.senjin-site .senjin-philosophy__deco-svg--ml {
  width: 260px;
  height: 260px;
  top: 30%;
  left: -50px;
  opacity: 0.065;
  transform: rotate(20deg);
}
.senjin-site .senjin-philosophy__deco-svg--mr {
  width: 200px;
  height: 200px;
  top: 56%;
  right: 40px;
  opacity: 0.06;
  transform: rotate(-10deg);
}
.senjin-site .senjin-philosophy__deco-svg--bl-lg {
  width: 460px;
  height: 460px;
  bottom: -60px;
  left: -100px;
  opacity: 0.065;
  transform: rotate(-18deg);
}
.senjin-site .senjin-philosophy__deco-svg--center-sm {
  width: 140px;
  height: 140px;
  top: 80px;
  left: 200px;
  opacity: 0.05;
}

/* ── 施工実績詳細: リード文（Figma text-[20px] lg:text-[24px] tracking-[1px]） ── */
.senjin-site .senjin-works-single__quote p {
  font-family: var(--senjin-font-serif);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 1px;
  color: var(--senjin-text);
}
@media (min-width: 1024px) {
  .senjin-site .senjin-works-single__quote p {
    font-size: 24px;
  }
}

/* ── 施工実績詳細: サムネ下〜リード文の余白（Figma mb-[80px] lg:mb-[120px]） ── */
.senjin-site .senjin-works-slider {
  margin-bottom: 80px !important;
  width: 100%;
}
@media (min-width: 1024px) {
  .senjin-site .senjin-works-slider {
    margin-bottom: 120px !important;
  }
}

/* Figma: stage h-260 / sm:380 / lg:520, side 22%, gap 3px */
.senjin-site .senjin-works-slider__stage {
  display: flex;
  width: 100%;
  height: 260px;
  gap: 3px;
}
.senjin-site .senjin-works-slider__side {
  width: 22%;
  flex-shrink: 0;
  overflow: hidden;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
.senjin-site .senjin-works-slider__side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.2s ease;
}
.senjin-site .senjin-works-slider__side:hover img {
  opacity: 0.9;
}
.senjin-site .senjin-works-slider__main {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.senjin-site .senjin-works-slider__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.senjin-site .senjin-works-slider__thumbs {
  display: flex;
  gap: 6px;
  justify-content: center;
  overflow-x: auto;
  margin-top: 12px;
  padding: 0 20px 4px;
}
.senjin-site .senjin-works-slider__thumb {
  flex-shrink: 0;
  width: 64px;
  height: 48px;
  overflow: hidden;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease, box-shadow 0.2s ease;
}
.senjin-site .senjin-works-slider__thumb.is-active {
  opacity: 1;
  box-shadow: 0 0 0 2px #c0222a;
}
.senjin-site .senjin-works-slider__thumb:hover {
  opacity: 0.9;
}
.senjin-site .senjin-works-slider__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Figma: 設備・仕様 */
.senjin-site .senjin-works-single__specs {
  margin-bottom: 80px;
  border-top: 1px solid #e5e7eb;
}
.senjin-site .senjin-works-single__specs-heading {
  font-family: var(--senjin-font-sans);
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  letter-spacing: 2px;
  text-align: center;
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px solid #e5e7eb;
}
.senjin-site .senjin-works-single__specs-list {
  display: flex;
  flex-direction: column;
}
.senjin-site .senjin-works-single__specs-row {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 16px 0;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}
.senjin-site .senjin-works-single__specs-row.is-alt {
  background: #f9f8f7;
}
.senjin-site .senjin-works-single__specs-label {
  width: 120px;
  flex-shrink: 0;
  font-family: var(--senjin-font-sans);
  font-size: 14px;
  color: #6b7280;
  letter-spacing: 0.5px;
  padding-left: 16px;
  box-sizing: border-box;
}
.senjin-site .senjin-works-single__specs-value {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 15px;
  color: #111827;
  letter-spacing: 0.5px;
}

@media (min-width: 640px) {
  .senjin-site .senjin-works-slider__stage {
    height: 380px;
  }
}
@media (min-width: 1024px) {
  .senjin-site .senjin-works-slider__stage {
    height: 520px;
  }
  .senjin-site .senjin-works-slider__thumb {
    width: 80px;
    height: 60px;
  }
  .senjin-site .senjin-works-single__specs {
    margin-bottom: 120px;
  }
  .senjin-site .senjin-works-single__specs-label {
    width: 160px;
  }
}

/* ── プライバシーポリシー ── */
.senjin-privacy-page {
  background: #fff;
}
.senjin-privacy-page__inner {
  padding: 0 80px 120px;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
}
.senjin-privacy-page__inner .senjin-breadcrumb {
  display: none;
}
.senjin-privacy-page__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 8px;
  padding: calc(var(--senjin-header-h) + 40px) 0 48px;
  width: 100%;
  box-sizing: border-box;
}
.senjin-privacy-page__en {
  font-family: var(--senjin-font-serif);
  font-size: 18px;
  font-weight: 500;
  color: var(--senjin-primary);
  text-transform: uppercase;
  line-height: 1.25;
  margin: 0;
}
.senjin-privacy-page__ja {
  font-family: var(--senjin-font-serif);
  font-size: 40px;
  font-weight: 600;
  color: #111827;
  letter-spacing: 4.8px;
  line-height: 1.25;
  margin: 0;
}
.senjin-privacy-page__body {
  max-width: 960px;
  color: #111827;
  font-family: var(--senjin-font-sans);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.9;
}
.senjin-privacy-page__body p {
  margin: 0 0 1em;
}
.senjin-privacy-page__lead {
  margin-bottom: 48px !important;
}
.senjin-privacy-section {
  margin-bottom: 48px;
}
.senjin-privacy-section:last-child {
  margin-bottom: 0;
}
.senjin-privacy-section__title {
  font-family: var(--senjin-font-sans);
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0 0 16px;
}
.senjin-privacy-list {
  margin: 0 0 0 1.25em;
  padding: 0;
  list-style: disc;
}
.senjin-privacy-list li {
  margin: 0 0 0.4em;
  padding-left: 0.25em;
}
.senjin-privacy-list li:last-child {
  margin-bottom: 0;
}
.senjin-privacy-contact {
  display: block;
  font-style: normal;
  margin: 0 0 1em;
  line-height: 1.9;
}
.senjin-privacy-page__body a {
  color: var(--senjin-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.senjin-privacy-page__body a:hover {
  opacity: 0.8;
}

@media (max-width: 1023px) {
  .senjin-privacy-page__inner {
    padding-inline: 32px;
    padding-bottom: 96px;
  }
  .senjin-privacy-page__heading {
    padding: calc(var(--senjin-header-h) + 70px) 0 40px;
  }
}
@media (max-width: 639px) {
  .senjin-privacy-page__inner {
    padding-inline: 20px;
    padding-bottom: 80px;
  }
  .senjin-privacy-page__ja {
    font-size: 40px;
    letter-spacing: 4.8px;
  }
  .senjin-privacy-page__body {
    font-size: 15px;
  }
  .senjin-privacy-section__title {
    font-size: 17px;
  }
  .senjin-privacy-section,
  .senjin-privacy-page__lead {
    margin-bottom: 40px !important;
  }
}
