@charset "UTF-8";
/*
    Template: swell
    Theme Name: XEBALLER Inc.
    Theme URI: https://xeballer.co.jp/
    Author: BRIGHT COMMS
    Author URI: https://bright-comms.com/
*/

/* ============ 基本 ============ */
:root { --font-base: 'Noto Sans JP', sans-serif; --font-heading: 'Shippori Mincho', serif; --font-en: 'EB Garamond', serif; font-size: clamp(0.4rem, 1.13vw, 1rem); }
body { font-family: var(--font-base); }
h1, h2 { font-family: var(--font-heading); }
.font-en { font-family: var(--font-en); }
.pc-only { display: inline; }
.sp-only { display: none; }

/* ============ ヘッダー ============ */
.p-header { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; transition: background-color 0.3s, box-shadow 0.3s; }
.p-header__inner { display: flex; align-items: center; justify-content: space-between; height: 5.625rem; padding: 0 3.75rem; }
.p-header__left { display: flex; align-items: center; gap: 1.875rem; flex-shrink: 0; }
.p-header__logo { font-family: var(--font-en); font-size: 1.875rem; line-height: 1; color: #fff; text-decoration: none; white-space: nowrap; transition: color 0.3s; }
.p-header__tagline { font-family: var(--font-heading); font-size: 0.875rem; font-weight: 400; line-height: 1; color: #fff; white-space: nowrap; transition: color 0.3s; margin: 0; }
.p-header__right { display: flex; align-items: center; gap: 1.875rem; }
.p-header__nav-list { display: flex; align-items: center; gap: 1.875rem; list-style: none; margin: 0; padding: 0; }
.p-header__nav-item { position: relative; }
.p-header__nav-link { appearance: none; background: none; border: 0; padding: 0; cursor: pointer; font-family: var(--font-base); font-size: 0.9375rem; font-weight: 500; color: #fff; text-decoration: none; display: flex; align-items: center; gap: 0.3rem; white-space: nowrap; transition: color 0.3s, opacity 0.2s; }
.p-header__nav-link:hover { opacity: 0.75; }
.p-header__nav-icon { font-size: 0.75rem; transition: transform 0.3s; }
.p-header__nav-item.has-dropdown:hover .p-header__nav-icon { transform: rotate(180deg); }
.p-header__dropdown { position: absolute; top: calc(100% + 1.25rem); left: 50%; transform: translateX(-50%) translateY(-0.5rem); background: #fff; min-width: 14rem; padding: 0.5rem 0; list-style: none; margin: 0; opacity: 0; visibility: hidden; transition: opacity 0.2s, transform 0.2s, visibility 0.2s; box-shadow: 0 0.25rem 1.25rem rgba(0,0,0,0.12); }
.p-header__nav-item.has-dropdown:hover .p-header__dropdown { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.p-header__dropdown li { border-bottom: 1px solid #f0f0f0; }
.p-header__dropdown li:last-child { border-bottom: none; }
.p-header__dropdown a { display: block; padding: 0.875rem 1.25rem; font-family: var(--font-base); font-size: 0.875rem; font-weight: 400; color: #1a1a1a; text-decoration: none; white-space: nowrap; transition: background 0.15s; }
.p-header__dropdown a:hover { opacity: 0.75; }
.p-header__actions { display: flex; align-items: center; flex-shrink: 0; gap: 1.25rem; }
.p-header__contact { display: flex; align-items: center; justify-content: center; height: 3.125rem; padding: 0 1.4375rem; background: #eb1b1f; color: #fff; font-family: var(--font-base); font-size: 0.9375rem; font-weight: 500; text-decoration: none; white-space: nowrap; transition: opacity 0.2s; }
.p-header__contact:hover { color: #fff; opacity: 0.85; }
.p-header__search-form { display: flex; align-items: center; height: 3.125rem; width: 12.5rem; background: #fff; border: 1px solid transparent; transition: border-color 0.3s; flex-shrink: 0; }
.p-header__search-input { flex: 1; height: 100%; padding: 0 0.625rem; border: none; background: transparent; font-family: var(--font-base); font-size: 0.875rem; color: #1a1a1a; outline: none; min-width: 0; }
.p-header__search-input::placeholder { color: #666; }
.p-header__search-submit { width: 2.5rem; height: 100%; background: none; border: none; cursor: pointer; color: #1a1a1a; font-size: 0.9375rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.p-header__hamburger { display: none; }
.p-header.is-scrolled { background: #fff; box-shadow: 0 0.125rem 0.75rem rgba(0,0,0,0.08); }
.p-header.is-scrolled .p-header__logo { color: #1a1a1a; }
.p-header.is-scrolled .p-header__tagline { color: #1a1a1a; }
.p-header.is-scrolled .p-header__nav-link { color: #1a1a1a; }
.p-header.is-scrolled .p-header__search-form { border-color: #ddd; }
.p-header__sp-nav { display: none; }

/* ============ トップページ ============ */
.p-hero { position: relative; height: 60rem; overflow: hidden; }
.p-hero__bg { position: absolute; inset: 0; display: block; margin: 0; }
.p-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.p-hero__inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; padding-top: 18.25rem; }
.p-hero__title { font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #fff; text-align: center; text-shadow: 0 0 0.625rem rgba(26,26,26,1); margin: 0 0 3.125rem; }
.p-hero__desc { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #fff; text-align: center; text-shadow: 0 0 0.625rem rgba(26,26,26,1); margin: 0 0 4.375rem; }
.p-hero__cta { display: flex; gap: 1.875rem; }
.p-hero__btn { display: flex; align-items: center; justify-content: center; gap: 0.9375rem; width: 26.25rem; height: 5rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; color: #1a1a1a; text-decoration: none; transition: opacity 0.2s; }
.p-hero__btn:hover { color: #1a1a1a; opacity: 0.85; }
.p-hero__btn--yellow { background: #eded26; }
.p-hero__btn--white { background: #fff; }

/* ============ このようなお悩みはありませんか？ ============ */
.p-trouble { position: relative; height: 62.375rem; background: #f5f5f5; overflow: hidden; }
.p-trouble__bg-img { position: absolute; bottom: 0; display: block; width: 37.5rem; height: 19.25rem; }
.p-trouble__bg-img--left { left: 0; }
.p-trouble__bg-img--right { right: 0; }
.p-trouble__bg-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-trouble__inner { position: relative; z-index: 1; max-width: 75rem; margin: 0 auto; padding-top: 12.5rem; text-align: center; }
.p-trouble__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; margin: 0 0 3.75rem; }
.p-trouble__grid { display: grid; grid-template-columns: repeat(3, 23.75rem); column-gap: 1.875rem; row-gap: 2.375rem; justify-content: center; margin-bottom: 3.625rem; }
.p-trouble__card { position: relative; height: 10.875rem; background: #ddd; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 1.25rem; overflow: visible; }
.p-trouble__card::after { content: ''; position: absolute; bottom: -1.125rem; left: 50%; transform: translateX(-50%); width: 2rem; height: 1.125rem; background: #ddd; clip-path: polygon(0 0, 100% 0, 50% 100%); }
.p-trouble__card-text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; line-height: 1.8; color: #1a1a1a; margin: 0; text-align: center; }
.p-trouble__keyword { font-weight: 700; text-decoration: underline; text-decoration-color: #acbad8; text-decoration-thickness: 0.625rem; text-underline-offset: 0; }
.p-trouble__cta { width: fit-content; height: 3.125rem; background: linear-gradient(90deg, #c02425 0%, #f0cb35 100%); font-family: var(--font-base); font-size: 1.75rem; font-weight: 600; color: #fff; margin: 0 auto; display: flex; align-items: center; justify-content: center; white-space: nowrap; padding-left: .5rem;}

/* ============ コアサービス ============ */
.p-services { background: linear-gradient(90deg, #2b32b2 0%, #1488cc 100%); padding: 12.5rem 0; }
.p-services__inner { max-width: 75rem; margin: 0 auto; }
.p-services__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #fff; text-align: center; margin: 0 0 3.75rem; }
.p-services__cards { display: flex; flex-direction: column; gap: 3rem; }
.p-services__card { display: flex; background: #23299e; height: 24.875rem; overflow: hidden; }
.p-services__card--reverse { flex-direction: row-reverse; }
.p-services__card-img { width: 25rem; height: 100%; flex-shrink: 0; display: block; }
.p-services__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-services__card-body { flex: 1; display: flex; flex-direction: column; justify-content: flex-start; padding: 3.125rem 3.125rem; }
.p-services__card-title { font-family: var(--font-base); font-size: 1.75rem; font-weight: 600; color: #fff; margin: 0 0 1.25rem; }
.p-services__card-text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #fff; margin: 0 0 2.5rem; }
.p-services__card-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.9375rem; width: 26.25rem; height: 5rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; color: #1a1a1a; text-decoration: none; transition: opacity 0.2s; }
.p-services__card-btn:hover { color: #1a1a1a; opacity: 0.85; }
.p-services__card-btn--yellow { background: #eded26; }
.p-services__card-btn--white { background: #fff; }

/* ============ 改善事例（トップページ） ============ */
.p-cases { background: #F5F5F5; padding: 12.5rem 0; }
.p-cases__inner { max-width: 75rem; margin: 0 auto; }
.p-cases__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; text-align: center; margin: 0 0 3.75rem; }
.p-cases__grid { display: grid; grid-template-columns: repeat(3, 23.75rem); gap: 1.875rem; justify-content: center; margin-bottom: 3.75rem; }
.p-cases__card { display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: opacity 0.2s; }
.p-cases__card:hover { opacity: 0.8; }
.p-cases__card-img { position: relative; width: 100%; height: 13.375rem; overflow: hidden; background: #ddd; flex-shrink: 0; }
.p-cases__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-cases__card-noimg { display: block; width: 100%; height: 100%; background: #ddd; }
.p-cases__card-cat { position: absolute; top: 0.75rem; left: 0; background: #23299e; color: #fff; font-family: var(--font-base); font-size: 0.875rem; font-weight: 600; padding: 0.3125rem 0.875rem; border-radius: 0 1.125rem 1.125rem 0; }
.p-cases__card-body { padding: 0.625rem 0 0; }
.p-cases__card-title { font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; line-height: 1.8; color: #1a1a1a; margin: 0 0 0.9375rem; }
.p-cases__card-author { font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; color: #333; margin: 0; }
.p-cases__empty { font-family: var(--font-base); font-size: 1.25rem; color: #666; text-align: center; padding: 2.5rem 0; }
.p-cases__more { text-align: center; }
.p-cases__more-link { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; width: 26.25rem; height: 5rem; border: 1px solid #333; font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; color: #1a1a1a; text-decoration: none; transition: background 0.2s; }
.p-cases__more-link:hover { opacity: 0.7; color: #1a1a1a; }

/* ============ お知らせ（トップページ） ============ */
.p-news { background: #fff; padding: 12.5rem 0; }
.p-news__inner { max-width: 75rem; margin: 0 auto; display: flex; align-items: flex-start; }
.p-news__left { width: 21.25rem; flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 2.5rem; }
.p-news__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; margin: 0; }
.p-news__more-btn { display: inline-flex; align-items: center; gap: 0.625rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 500; color: #1a1a1a; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 0.25rem; transition: opacity 0.2s; }
.p-news__more-btn:hover { opacity: 0.7; color: #1a1a1a; }
.p-news__right { flex: 1; display: flex; flex-direction: column; gap: 1.25rem; }
.p-news__item { display: flex; align-items: center; height: 6.25rem; background: #fff; box-shadow: 0 0 0.625rem rgba(26,26,26,0.1); padding: 0 2.5rem; text-decoration: none; color: inherit; transition: opacity 0.2s; gap: 3rem; }
.p-news__item:hover { opacity: 0.8; }
.p-news__date { font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; color: #1a1a1a; flex-shrink: 0; white-space: nowrap; min-width: 5.3125rem; }
.p-news__cat { flex-shrink: 0; display: inline-flex; align-items: center; height: 1.875rem; padding: 0 0.75rem; background: #23299e; border-radius: 0.9375rem; font-family: var(--font-base); font-size: 1rem; font-weight: 400; color: #fff; white-space: nowrap; }
.p-news__item-title { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; color: #1a1a1a; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.p-news__item-icon { font-size: 1.5rem; color: #23299e; flex-shrink: 0; margin-left: auto; }

/* ============ ブログ アーカイブ / カテゴリ / 詳細 ============ */
body.home.blog,
body.category,
body.single-post,
body.search { background: #f5f5f5; }
body.home.blog #content.l-content,
body.category #content.l-content,
body.single-post #content.l-content,
body.search #content.l-content { padding: 0; max-width: 100%; width: 100%; background: #f5f5f5; }
.p-blog-archive { padding: 12.5rem 0; background: #f5f5f5; }
.p-blog-archive__inner { max-width: 75rem; margin: 0 auto; padding: 0; }
.p-blog-archive__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; margin-bottom: 3rem; flex-wrap: wrap; }
.p-blog-archive__breadcrumb a { color: #333; text-decoration: none; }
.p-blog-archive__breadcrumb a:hover { text-decoration: underline; }
.p-blog-archive__title { font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #1a1a1a; margin: 0 0 3rem; }
.p-blog-archive__lead { margin-bottom: 3rem; }
.p-blog-archive__content { margin-top: 0; }
.p-blog-single { padding: 0; background: #f5f5f5; }
.p-blog-single__inner { max-width: 75rem; margin: 0 auto; padding: 12.5rem 0; }
.p-blog-single__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; margin-bottom: 3rem; flex-wrap: wrap; }
.p-blog-single__breadcrumb a { color: #333; text-decoration: none; }
.p-blog-single__breadcrumb a:hover { text-decoration: underline; }
.p-blog-single__title { font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #1a1a1a; margin: 0 0 1.75rem; }

/* ============ ページヒーロー（改善事例） ============ */
.p-page-hero { background: #f5f5f5; padding: 12.5rem 0; }
.p-page-hero__inner { max-width: 75rem; margin: 0 auto; }
.p-page-hero__title { font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #1a1a1a; margin: 0; }

/* ============ 改善事例 アーカイブ ============ */
body.post-type-archive-case_study, body.tax-case_category { background: #f5f5f5; }
body.post-type-archive-case_study #content.l-content, body.tax-case_category #content.l-content { padding: 0; max-width: 100%; width: 100%; }
.p-archive-cases { padding: 12.5rem 0; background: #f5f5f5; }
.p-archive-cases__inner { max-width: 75rem; margin: 0 auto; padding: 0; }
.p-archive-cases__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; margin-bottom: 3rem; flex-wrap: wrap; }
.p-archive-cases__breadcrumb a { color: #333; text-decoration: none; }
.p-archive-cases__breadcrumb a:hover { text-decoration: underline; }
.p-archive-cases__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.6; color: #1a1a1a; margin: 0 0 1.875rem; text-align: left; }
.p-archive-cases__filter { display: flex; align-items: stretch; justify-content: flex-start; gap: 1.5rem; margin-bottom: 4.125rem; flex-wrap: nowrap; }
.p-archive-cases__filter-btn { position: relative; display: flex; align-items: center; justify-content: center; flex: 1 1 0; min-width: 0; height: 5rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; color: #333; text-decoration: none; border: 1px solid #333; transition: background 0.2s, color 0.2s; }
.p-archive-cases__filter-btn.is-active { background: #333; color: #fff; }
.p-archive-cases__filter-btn.is-active::after { content: ''; position: absolute; left: 50%; bottom: -0.75rem; transform: translateX(-50%); width: 0; height: 0; border-left: 0.625rem solid transparent; border-right: 0.625rem solid transparent; border-top: 0.75rem solid #333; }
.p-archive-cases__filter-btn:hover:not(.is-active) { opacity: 0.7; color: #333; }
.p-archive-cases__grid { display: grid; grid-template-columns: repeat(3, 23.75rem); gap: 1.875rem; justify-content: center; margin-bottom: 0; }
.p-archive-cases__empty { font-family: var(--font-base); font-size: 1.25rem; color: #666; text-align: center; padding: 3.75rem 0; }
.p-archive-cases__pagination { display: flex; justify-content: center; }
.p-archive-cases__pagination ul { display: flex; gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
.p-archive-cases__pagination li { display: contents; }
.p-archive-cases__pagination .page-numbers { display: flex; align-items: center; justify-content: center; width: 3.75rem; height: 3.75rem; border-radius: 50%; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; color: #333; text-decoration: none; background: #fff; border: 1px solid #333; transition: background 0.2s; }
.p-archive-cases__pagination .page-numbers.current { background: #ddd; color: #999; border-color: #ddd; }
.p-archive-cases__pagination .page-numbers:hover:not(.current) { opacity: 0.7; }
.p-archive-cases__pagination .prev, .p-archive-cases__pagination .next { font-size: 1rem; }

/* ============ 改善事例 詳細 ============ */
body.single-case_study { background: #f5f5f5; }
body.single-case_study #content.l-content { padding: 0; max-width: 100%; width: 100%; }
.p-single-case { margin: 0 auto; padding: 0; background: #f5f5f5; }
.p-single-case__inner { max-width: 75rem; margin: 0 auto; padding: 12.5rem 0; background: none; }
.p-single-case__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; margin-bottom: 3rem; flex-wrap: wrap; }
.p-single-case__breadcrumb a { color: #333; text-decoration: none; }
.p-single-case__breadcrumb a:hover { text-decoration: underline; }
.p-single-case__title { margin: 0 0 1.75rem; font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #1a1a1a; }
.p-single-case__meta { display: flex; align-items: center; gap: 1.25rem; margin-bottom: 2.5rem; }
.p-single-case__cat { display: inline-flex; align-items: center; height: 2.25rem; padding: 0 1rem; border: 1px solid #23299e; border-radius: 1.125rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; color: #23299e; }
.p-single-case__date { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; color: #333; }
.p-single-case__thumb { margin-bottom: 2.5rem; }
.p-single-case__thumb img { width: 100%; height: auto; display: block; }
.p-single-case__author { padding: 2.5rem; background: #fff; border-top: none; border-bottom: none; margin-bottom: 3.75rem; }
.p-single-case__author-info { display: grid; grid-template-columns: minmax(0, 1fr) 12.5rem; gap: 3.5rem; align-items: start; }
.p-single-case__author-copy { min-width: 0; }
.p-single-case__author-aside { display: flex; flex-direction: column; align-items: flex-start; }
.p-single-case__author-label { font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; color: #1a1a1a; margin: 0 0 1rem; }
.p-single-case__author-name { font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; color: #1a1a1a; margin: 0; }
.p-single-case__content { font-family: var(--font-base); font-size: 1.25rem; line-height: 2; color: #1a1a1a; margin-bottom: 3.75rem; }
.p-single-case__content p { font-weight: 400; }
.p-single-case__content h2,
.p-single-case__content h3,
.p-single-case__content h4,
.p-single-case__content h5 { scroll-margin-top: 7rem; }
.p-single-case__content h2 { font-family: var(--font-base); font-size: 1.625rem; font-weight: 600; line-height: 1; color: #1a1a1a; margin: 2.5rem 0 1.25rem; padding-bottom: 0.625rem; border-bottom: 2px solid #ddd; }
.p-single-case__content h3 { position: relative; font-family: var(--font-base); font-size: 1.375rem; font-weight: 600; color: #1a1a1a; margin: 2rem 0 1rem; padding-bottom: 0.875rem; }
.p-single-case__content h3::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, #333333 0, #333333 25rem, #dddddd 25rem, #dddddd 100%); }
.p-single-case__content .p-toc__list .p-toc__childList { margin-top: 0.35em; padding-left: 1.5em; }
.p-single-case__content .p-toc__list .p-toc__childList .p-toc__childList { padding-left: 1.35em; }
.p-single-case__content .p-toc__list > li[data-level="3"] { margin-left: 1.5em; }
.p-single-case__content .p-toc__list > li[data-level="4"] { margin-left: 2.85em; }
.p-single-case__content .p-toc__list > li[data-level="5"] { margin-left: 4.2em; }
.p-single-case__cta { text-align: center; padding: 3.75rem 0 0; }
.p-single-case__cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.9375rem; width: 26.25rem; height: 5rem; background: #eded26; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; color: #1a1a1a; text-decoration: none; transition: opacity 0.2s; }
.p-single-case__cta-btn:hover { color: #1a1a1a; opacity: 0.85; }
.p-single-case__share { margin-top: 6rem; padding-top: 3.75rem; border-top: 1px dashed #acbad8; }
.p-single-case__related { margin-top: 5rem; }
.p-single-case__related-title { font-family: var(--font-base); font-size: 2rem; font-weight: 500; line-height: 1.4; color: #1a1a1a; margin: 0 0 2rem; text-align: left; }
.p-single-case__related-grid { margin-bottom: 0; }

/* ============ お問い合わせ CTA ============ */
.p-cta { background: linear-gradient(90deg, #2b32b2 0%, #1488cc 100%); padding: 12.5rem 0; }
.p-cta__inner { max-width: 75rem; margin: 0 auto; text-align: center; }
.p-cta__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #fff; margin: 0 0 2.5rem; }
.p-cta__text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #fff; margin: 0 0 3.75rem; }
.p-cta__btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.9375rem; width: 26.25rem; height: 5rem; background: #eb1b1f; font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; color: #fff; text-decoration: none; transition: opacity 0.2s; }
.p-cta__btn:hover { color: #fff; opacity: 0.85; }

/* ============ 共通パーツ ============ */
#content.l-content { margin: 0; padding: 0; max-width: 100%; }
#body_wrap { padding-top: 0 !important; }

/* ============ お知らせ アーカイブ・カテゴリ・詳細 (SWELL オーバーライド) ============ */
body.blog, body.category { background: #f5f5f5; }
.blog .l-article, .category .l-article, .single-post .l-article, .search-results .l-article {max-width: unset;}
body.blog #content.l-content, body.category #content.l-content { background: #f5f5f5; }
body.blog .p-homeContent, body.category .p-homeContent { background: transparent; }
body.blog .p-homeContent.l-parent, body.category .p-homeContent.l-parent { padding-top: 3.75rem; padding-bottom: 6.25rem; }
.p-postList__cat { font-family: var(--font-base); font-size: 0.875rem; font-weight: 400; background: #23299e; color: #fff; border-radius: 0.9375rem; padding: 0.25rem 0.75rem; white-space: nowrap; border: none; }
.p-postList__cat::before { display: none; }
.p-postList__cat.icon-folder::before { display: none; }
.p-postList__title { font-family: var(--font-base); font-size: 1.125rem; font-weight: 500; color: #1a1a1a; }
.p-postList__link:hover { opacity: 0.8; }
.p-postList__times time { font-family: var(--font-base); font-size: 1rem; font-weight: 400; color: #333; }
body.single-post { background: #f5f5f5; }
body.single-post #content.l-content { background: #f5f5f5; }
body.single-post .l-article { font-family: var(--font-base); font-size: 1.0625rem; line-height: 2; color: #1a1a1a; }
body.single-post .l-article h2 { font-family: var(--font-base); font-size: 1.5rem; font-weight: 600; color: #1a1a1a; border-left: none; border-bottom: 2px solid #ddd; padding: 0 0 0.625rem; margin-top: 3rem; margin-bottom: 1.25rem; }
body.single-post .l-article h3 { font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; color: #1a1a1a; margin-top: 2rem; margin-bottom: 1rem; }
body.single-post .l-article a { color: #23299e; }
body.single-post .l-article a:hover { opacity: 0.8; }
body.single-post .wp-block-post-date, body.single-post .p-entryHd__meta { font-family: var(--font-base); font-size: 1rem; color: #333; }
body.single-post .p-entryHd__cat .cat-label { font-family: var(--font-base); font-size: 0.875rem; font-weight: 400; background: #23299e; color: #fff; border-radius: 0.9375rem; padding: 0.25rem 0.75rem; }
.p-articleMetas.-top{margin: 2rem 0 3rem;}

/* ============ 機械系エンジニア紹介（トップページ） ============ */
.p-engineers { background: linear-gradient(90deg, #eff5ff 0%, #d8e8ff 100%); padding: 12.5rem 0; }
.p-engineers__inner { max-width: 75rem; margin: 0 auto; }
.p-engineers__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; text-align: center; margin: 0 0 3.75rem; }
.p-engineers__grid { display: grid; grid-template-columns: repeat(4, 17.5rem); gap: 1.6875rem; justify-content: center; margin-bottom: 3.75rem; }
.p-engineers__card { display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: opacity 0.2s; }
.p-engineers__card:hover { opacity: 0.8; }
.p-engineers__card-img { width: 17.5rem; height: 17.5rem; overflow: hidden; background: #ddd; flex-shrink: 0; }
.p-engineers__card-img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.p-engineers__card-noimg { display: block; width: 100%; height: 100%; background: #ddd; }
.p-engineers__card-body { padding: 0.625rem 0 0; }
.p-engineers__card-name { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 500; line-height: 1.8; color: #1a1a1a; margin: 0; }
.p-engineers__card-specialty { font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; color: #333; margin: 0; }
.p-engineers__empty { font-family: var(--font-base); font-size: 1.25rem; color: #666; text-align: center; padding: 2.5rem 0; }
.p-engineers__more { text-align: center; }
.p-engineers__more-link { display: inline-flex; align-items: center; justify-content: center; gap: 0.625rem; width: 26.25rem; height: 5rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; color: #1a1a1a; border: 1px solid #333; text-decoration: none; transition: background 0.2s; }
.p-engineers__more-link:hover { opacity: 0.7; color: #1a1a1a; }

/* ============ エンジニア アーカイブ ============ */
body.post-type-archive-engineer { background: #f5f5f5; }
body.post-type-archive-engineer #content.l-content { padding: 0; max-width: 100%; width: 100%; }
body.post-type-archive-engineer { background: #f5f5f5; }
body.post-type-archive-engineer #content.l-content { padding: 0; max-width: 100%; width: 100%; background: #f5f5f5; }
.p-archive-engineers { padding: 12.5rem 0; background: #f5f5f5; }
.p-archive-engineers__inner { max-width: 75rem; margin: 0 auto; padding: 0; }
.p-archive-engineers__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; margin-bottom: 3rem; flex-wrap: wrap; }
.p-archive-engineers__breadcrumb a { color: #333; text-decoration: none; }
.p-archive-engineers__breadcrumb a:hover { text-decoration: underline; }
.p-archive-engineers__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.6; color: #1a1a1a; margin: 0 0 1.875rem; text-align: left; }
.p-archive-engineers__desc { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; margin: 0 0 5rem; text-align: left; }
.p-archive-engineers__filter { background: #fff; padding: 2.5rem; margin-bottom: 5rem; box-shadow: none; }
.p-archive-engineers__filter-title { font-family: var(--font-base); font-size: 1.75rem; font-weight: 600; line-height: 1.4; color: #1a1a1a; margin: 0 0 1.5rem; }
.p-archive-engineers__filter-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.p-archive-engineers__filter-group { min-width: 0; display: flex; align-items: flex-start; gap: 2.5rem; }
.p-archive-engineers__filter-label { flex: 0 0 10rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; line-height: 1.5; color: #1a1a1a; margin: 0; }
.p-archive-engineers__chips { display: flex; flex-wrap: wrap; gap: 0.875rem; }
.p-archive-engineers__chips,
.p-archive-engineers__selects { flex: 1; min-width: 0; }
.p-archive-engineers__filter-note { font-family: var(--font-base); font-size: 0.9375rem; line-height: 1.8; color: #666; margin: 0; }
.p-archive-engineers__chip { position: relative; display: inline-flex; }
.p-archive-engineers__chip input { position: absolute; opacity: 0; pointer-events: none; }
.p-archive-engineers__chip-label { display: inline-flex; align-items: center; gap: 0.75rem; font-family: var(--font-base); font-size: 1rem; font-weight: 400; line-height: 1.4; color: #1a1a1a; cursor: pointer; }
.p-archive-engineers__chip-label::before { content: ''; width: 1.5rem; height: 1.5rem; border: 1px solid #ddd; border-radius: 0.1875rem; background: transparent; box-sizing: border-box; flex-shrink: 0; }
.p-archive-engineers__chip input:checked + .p-archive-engineers__chip-label::before { content: '✓'; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 600; color: #1a1a1a; }
.p-archive-engineers__selects { display: flex; align-items: center; gap: 1rem; }
.p-archive-engineers__select-wrap { position: relative; width: 15rem; }
.p-archive-engineers__select { width: 100%; height: 3.75rem; padding: 0 2.75rem 0 1rem; border: 1px solid #cfcfcf; background: #fff; font-family: var(--font-base); font-size: 1rem; color: #1a1a1a; appearance: none; outline: none; }
.p-archive-engineers__select-wrap i { position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); font-size: 1rem; color: #1a1a1a; pointer-events: none; }
.p-archive-engineers__select-divider { font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; color: #666; }
.p-archive-engineers__group { margin-bottom: 5rem; }
.p-archive-engineers__group--specialist { margin-bottom: 0; }
.p-archive-engineers__group-title { font-family: var(--font-heading); font-size: 2.25rem; font-weight: 500; line-height: 1.6; color: #1a1a1a; margin: 0 0 1.5rem; text-align: left; }
.p-archive-engineers__group-title span { display: inline-block; margin-left: 0.5rem; font-size: 1.5rem; }
.p-archive-engineers__grid { display: grid; grid-template-columns: repeat(4, 17.5rem); gap: 2.5rem 1.5rem; justify-content: space-between; }
.p-archive-engineers__card { display: flex; flex-direction: column; min-width: 0; }
.p-archive-engineers__card-link { display: block; color: inherit; text-decoration: none; transition: opacity 0.2s; }
.p-archive-engineers__card-link:hover { opacity: 0.85; color: inherit; }
.p-archive-engineers__card-img { width: 17.5rem; height: 17.5rem; overflow: hidden; background: #ddd; }
.p-archive-engineers__card-img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.p-archive-engineers__card-noimg { display: block; width: 100%; height: 100%; background: #ddd; }
.p-archive-engineers__card-body { padding-top: 1rem; }
.p-archive-engineers__card-name { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 500; line-height: 1.6; color: #1a1a1a; margin: 0 0 0.375rem; }
.p-archive-engineers__card-specialty { font-family: var(--font-base); font-size: 1rem; font-weight: 400; line-height: 1.6; color: #1a1a1a; margin: 0; }
.p-archive-engineers__card-actions { margin-top: 1rem; border-top: 1px solid #d6d6d6; }
.p-archive-engineers__action { display: flex; align-items: center; justify-content: space-between; min-height: 3.5rem; border-bottom: 1px solid #d6d6d6; font-family: var(--font-base); font-size: 1rem; font-weight: 400; line-height: 1.5; color: #1a1a1a; text-decoration: none; transition: opacity 0.2s; }
.p-archive-engineers__action:hover { opacity: 0.75; color: #1a1a1a; }
.p-archive-engineers__action i { flex-shrink: 0; font-size: 1rem; color: #23299e; }
.p-archive-engineers__empty { font-family: var(--font-base); font-size: 1.125rem; font-weight: 400; line-height: 2; color: #666; text-align: center; padding: 3rem 0; }

/* ============ エンジニア 詳細 ============ */
.single-engineer .p-breadcrumb__item:last-child>span.p-breadcrumb__text{display: inline-block;}
body.single-engineer { background: #f5f5f5; }
body.single-engineer #content.l-content { padding: 0; max-width: 100%; width: 100%; }
.p-single-engineer { margin: 0 auto; padding: 0; background: #f5f5f5; }
.p-single-engineer__inner { max-width: 75rem; margin: 0 auto; padding: 12.5rem 0; background: none; }
.p-single-engineer__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; margin-bottom: 3rem; flex-wrap: wrap; }
.p-single-engineer__breadcrumb a { color: #333; text-decoration: none; }
.p-single-engineer__breadcrumb a:hover { text-decoration: underline; }
.p-single-engineer__header { display: flex; gap: 3.125rem; align-items: flex-start; margin-bottom: 2.5rem; }
.p-single-engineer__header-body { flex: 1; }
.p-single-engineer__name-row { display: flex; flex-wrap: wrap; align-items: flex-end; column-gap: 1rem; row-gap: 0.375rem; margin-bottom: 1.375rem; }
.p-single-engineer__name-ja { font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #1a1a1a; margin: 0; }
.p-single-engineer__name-en { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 400; color: #333; margin: 0; }
.p-single-engineer__specialty { font-family: var(--font-base); font-size: 1.75rem; font-weight: 500; color: #1a1a1a; margin: 0 0 1.875rem; }
.p-single-engineer__profile-info { margin: 0; }
.p-single-engineer__profile-row { display: flex; align-items: flex-start; gap: 0.5rem; margin-bottom: 0; }
.p-single-engineer__profile-row:last-child { margin-bottom: 0; }
.p-single-engineer__profile-label { flex: 0 0 6.25rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; line-height: 2; color: #1a1a1a; margin: 0; }
.p-single-engineer__profile-value { flex: 1; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; margin: 0; }
.p-single-engineer__header-photo { width: 25rem; height: 18.75rem; flex-shrink: 0; overflow: hidden; background: #ddd; }
.p-single-engineer__header-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.p-single-engineer__section { display: grid; grid-template-columns: 17.5rem 1fr; column-gap: 2.125rem; padding: 2.5rem 0; border-top: 1px solid #ddd; align-items: start; }
.p-single-engineer__section-title { font-family: var(--font-base); font-size: 1.5rem; font-weight: 500; line-height: 1.5; color: #1a1a1a; margin: 0; }
.p-single-engineer__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; }
.p-single-engineer__list-item { display: flex; align-items: center; gap: 0.75rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; }
.p-single-engineer__list-icon { flex-shrink: 0; font-size: 1.5rem; line-height: 1.6667; color: #23299e; margin-top: 0.125rem; }
.p-single-engineer__list-text { display: block; flex: 1; }
.p-single-engineer__achievements { display: grid; grid-template-columns: repeat(3, 23.75rem); gap: 1.875rem; margin-bottom: 1.875rem; }
.p-single-engineer__section--achievements { display: flex; flex-direction: column; align-items: center; }
.p-single-engineer__section--achievements .p-single-engineer__section-title { text-align: center; margin-bottom: 1.5rem; }
.p-single-engineer__section--achievements .p-single-engineer__achievements { width: 100%; margin-bottom: 0; }
.p-single-engineer__achievement { display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: opacity 0.2s; }
.p-single-engineer__achievement:hover { opacity: 0.8; }
.p-single-engineer__achievement-img { width: 100%; height: 13.375rem; overflow: hidden; background: #ddd; }
.p-single-engineer__achievement-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-single-engineer__achievement-noimg { display: block; width: 100%; height: 100%; background: #ddd; }
.p-single-engineer__achievement-title { font-family: var(--font-base); font-size: 1rem; font-weight: 500; line-height: 1.8; color: #1a1a1a; margin: 0.625rem 0 0; }
.p-single-engineer__cta { display: flex; gap: 1.875rem; justify-content: center; padding: 3.5rem 0 0; border-top: 1px dashed #acbad8; margin-top: 0; }
.p-single-engineer__cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.9375rem; width: 26.25rem; height: 5rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; text-decoration: none; transition: opacity 0.2s; }
.p-single-engineer__cta-btn:hover { opacity: 0.85; }
.p-single-engineer__cta-btn--yellow { background: #eded26; color: #1a1a1a; }
.p-single-engineer__cta-btn--white { background: #fff; color: #1a1a1a; border: 1px solid #333; }
.p-single-engineer__cta-btn--white:hover { color: #1a1a1a; }
.p-single-engineer__cta-btn[type="button"] { border: 0; cursor: pointer; }
.p-engineer-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.p-engineer-modal[hidden] { display: none; }
.p-engineer-modal__backdrop { position: absolute; inset: 0; background: rgba(17, 17, 17, 0.62); }
.p-engineer-modal__dialog { position: relative; z-index: 1; max-width: 75rem; width: 100%; max-height: calc(100vh - 14rem); overflow-y: auto; background: #fff; box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.22); }
.p-engineer-modal__close { position: absolute; top: 1.25rem; right: 1.25rem; width: 3rem; height: 3rem; border: 0; border-radius: 50%; background: #f0f0f0; color: #1a1a1a; font-size: 1.25rem; cursor: pointer; transition: opacity 0.2s; }
.p-engineer-modal__close:hover { opacity: 0.8; }
.p-engineer-modal__head { padding: 3.125rem 3.125rem 0; text-align: center; }
.p-engineer-modal__label { margin: 0 0 0.75rem; font-family: var(--font-en); font-size: 1.5rem; line-height: 1; color: #23299e; }
.p-engineer-modal__title { margin: 0 0 1rem; font-family: var(--font-heading); font-size: 2.5rem; font-weight: 500; line-height: 1.4; color: #1a1a1a; }
.p-engineer-modal__text { margin: 0; font-family: var(--font-base); font-size: 1.0625rem; line-height: 2; color: #474343; }
.p-engineer-modal__body { padding: 2.5rem 3.125rem 3.125rem; }
.p-engineer-modal__target { display: flex; gap: 1.875rem; padding: 0 0 2.5rem; margin-bottom: 2.5rem; border-bottom: 1px solid #d9d9d9; }
.p-engineer-modal__target-photo { width: 13rem; height: 13rem; flex-shrink: 0; overflow: hidden; background: #ddd; }
.p-engineer-modal__target-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-engineer-modal__target-body { flex: 1; min-width: 0; }
.p-engineer-modal__target-name { margin: 0; font-family: var(--font-base); font-size: 1.75rem; font-weight: 700; line-height: 1.5; color: #1a1a1a; }
.p-engineer-modal__target-specialty { margin: 0.375rem 0 0; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 500; line-height: 1.8; color: #23299e; }
.p-engineer-modal__target-meta { margin: 0.5rem 0 0; display: grid; gap: 0.25rem; }
.p-engineer-modal__target-row { display: grid; grid-template-columns: 6rem 1fr; column-gap: 1rem; align-items: start; }
.p-engineer-modal__target-row dt { margin: 0; font-family: var(--font-base); font-size: 1rem; font-weight: 700; line-height: 1.7; color: #474343; }
.p-engineer-modal__target-row dd { margin: 0; font-family: var(--font-base); font-size: 1rem; font-weight: 400; line-height: 1.7; color: #474343; }
.p-engineer-modal__form { width: 100%; }
.p-engineer-modal__form .wpcf7 { width: 100%; }
.p-engineer-modal__form .wpcf7-form { margin: 0; }
.p-engineer-modal__form .p-contact-form__row { display: grid; grid-template-columns: 15rem 1fr; column-gap: 3.125rem; align-items: center; margin-bottom: 1.25rem; }
.p-engineer-modal__form .p-contact-form__row--checkbox { margin-bottom: 2rem; }
.p-engineer-modal__form .p-contact-form__label { display: inline-flex; align-items: center; gap: 0.5rem; padding-top: 0; white-space: nowrap; flex-wrap: nowrap; }
.p-engineer-modal__form .p-contact-form__required { display: inline-flex; flex-shrink: 0; white-space: nowrap; }
.p-engineer-modal__setup { font-family: var(--font-base); font-size: 1rem; line-height: 1.8; color: #1a1a1a; }
.p-engineer-modal__setup p { margin: 0; }
body.is-engineer-modal-open { overflow: hidden; }

/* ============ 参画後も品質を担保します ============ */
.p-engineer-guarantee { padding: 12.5rem 0; }
.p-engineer-guarantee__inner { max-width: 75rem; margin: 0 auto; padding: 0; }
.p-engineer-guarantee__heading { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; text-align: center; margin: 0 0 3.75rem; }
.p-engineer-guarantee__card { display: flex; background: #fff; box-shadow: 0 0 0.625rem rgba(0,0,0,0.1); overflow: hidden; height: 19.375rem; }
.p-engineer-guarantee__card-img { width: 26.875rem; flex-shrink: 0; overflow: hidden; }
.p-engineer-guarantee__card-img picture { display: block; width: 100%; height: 100%; }
.p-engineer-guarantee__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-engineer-guarantee__card-body { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 3.125rem; }
.p-engineer-guarantee__card-title { font-family: var(--font-base); font-size: 1.75rem; font-weight: 600; line-height: 1.4; margin: 0 0 1rem; background: linear-gradient(90deg, #c02425 0%, #f0cb35 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.p-engineer-guarantee__card-text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; margin: 0; }

/* ============ 企業情報 ============ */
body.page-company { background: #f5f5f5; }
body.page-company #content.l-content { padding: 0; max-width: 100%; width: 100%; background: #f5f5f5; }
.p-company { padding: 12.5rem 0; background: #f5f5f5; }
.p-company__inner { max-width: 75rem; margin: 0 auto; padding: 0; }
.p-company__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; margin-bottom: 3rem; flex-wrap: wrap; }
.p-company__breadcrumb a { color: #333; text-decoration: none; }
.p-company__breadcrumb a:hover { text-decoration: underline; }
.p-company__title { font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #1a1a1a; margin: 0 0 1.875rem; }
.p-company__lead { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; margin-bottom: 5rem; }
.p-company__lead p { margin: 0; }
.page-staffing .p-company { padding: 12.5rem 0 8rem; }
.page-staffing .p-company__lead { margin-bottom: 0; }
.p-company__message { display: flex; flex-direction: column; gap: 3.125rem; margin-bottom: 6.25rem; }
.p-company__message-card { display: flex; justify-content: space-between; width: 75rem; height: 21.25rem; background: #fff; }
.p-company__message-card--reverse { flex-direction: row-reverse; }
.p-company__message-body { width: 45.625rem; padding: 3.125rem; }
.p-company__message-label { font-family: var(--font-base); font-size: 2.5rem; font-weight: 700; line-height: 1; color: #1a1a1a; margin: 0 0 1.5625rem; }
.p-company__message-title { margin: 0 0 1.5625rem; font-family: var(--font-base); font-size: 1.75rem; font-weight: 700; line-height: 1.5; background: linear-gradient(90deg, #c02425 0%, #f0cb35 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.p-company__message-text { margin: 0; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 2; color: #1a1a1a; }
.p-company__message-image { width: 29.375rem; height: 21.25rem; overflow: hidden; background: #ddd; }
.p-company__message-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-company__section-title { margin: 0 0 3.125rem; font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; text-align: center; }
.p-company__overview { margin-bottom: 6.25rem; }
.p-company__overview-table { background: #fff; padding: 3.125rem 3.125rem 2.5rem; }
.p-company__overview-row { display: grid; grid-template-columns: 10.5rem 1fr; column-gap: 1.875rem; align-items: start; margin-bottom: 2.3125rem; }
.p-company__overview-row:last-child { margin-bottom: 0; }
.p-company__overview-label { margin: 0; font-family: var(--font-base); font-size: 1.25rem; font-weight: 700; line-height: 1.4; color: #474343; }
.p-company__overview-value { margin: 0; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.7; color: #474343; }
.p-company__overview-value p { margin: 0; }
.p-company__overview-row--business .p-company__overview-value p + p { margin-top: 0.75rem; }
.p-company__team { margin-bottom: 6.25rem; }
.p-company__team-lead { margin-bottom: 3.75rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; text-align: center; }
.p-company__team-lead p { margin: 0; }
.p-company__team-grid { display: grid; grid-template-columns: repeat(3, 23.75rem); gap: 1.875rem; justify-content: center; }
.p-company__member-image { width: 23.75rem; height: 23.75rem; overflow: hidden; background: #ddd; margin-bottom: 0.3125rem; }
.p-company__member-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-company__member-name { margin: 0 0 0.625rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; line-height: 1.8; color: #1a1a1a; }
.p-company__member-meta { font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.65; color: #333; }
.p-company__member-meta p { margin: 0; }
.p-company__compliance { margin-bottom: 0; }
.p-company__compliance-lead { margin-bottom: 3.125rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; text-align: center; }
.p-company__compliance-lead p { margin: 0; }
.p-company__compliance-list { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; min-height: 3.75rem; background: #fff; padding: 0 1.875rem; }
.p-company__compliance-item { display: flex; align-items: center; gap: 0.625rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.4; color: #1a1a1a; }
.p-company__compliance-item i { flex-shrink: 0; font-size: 1.5rem; color: #23299e; }

/* ============ お問い合わせ ============ */
body.page-contact { background: #f5f5f5; }
body.page-contact #content.l-content { padding: 0; max-width: 100%; width: 100%; background: #f5f5f5; }
.p-contact { padding: 12.5rem 0; background: #f5f5f5; }
.p-contact__inner { max-width: 75rem; margin: 0 auto; padding: 0; }
.p-contact__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; margin-bottom: 3rem; flex-wrap: wrap; }
.p-contact__breadcrumb a { color: #333; text-decoration: none; }
.p-contact__breadcrumb a:hover { text-decoration: underline; }
.p-contact__title { font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #1a1a1a; margin: 0 0 3.875rem; }
.p-contact__panel { width: 75rem; min-height: 104.5rem; padding: 4.375rem 3.125rem 6.25rem; background: #fff; border: 1px solid #474343; border-radius: 0.25rem; }
.p-contact__context { margin-bottom: 2.5rem; }
.p-contact__context-label { margin: 0 0 0.75rem; font-family: var(--font-base); font-size: 1rem; font-weight: 700; line-height: 1.4; color: #666; letter-spacing: 0.04em; }
.p-contact__context-box { display: flex; gap: 1.5rem; padding: 1.5rem 1.75rem; background: #f5f5f5; border-left: 0.375rem solid #23299e; }
.p-contact__context-photo { width: 10rem; height: 10rem; flex-shrink: 0; overflow: hidden; background: #ddd; }
.p-contact__context-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-contact__context-body { flex: 1; min-width: 0; }
.p-contact__context-name { margin: 0; font-family: var(--font-base); font-size: 1.5rem; font-weight: 700; line-height: 1.5; color: #1a1a1a; }
.p-contact__context-specialty { margin: 0.375rem 0 0; font-family: var(--font-base); font-size: 1rem; font-weight: 500; line-height: 1.7; color: #23299e; }
.p-contact__context-text { margin: 0.75rem 0 0; font-family: var(--font-base); font-size: 1rem; line-height: 1.8; color: #474343; }
.p-contact__context-meta { margin-top: 1rem; display: grid; gap: 0.5rem; }
.p-contact__context-meta-row { display: grid; grid-template-columns: 6rem 1fr; column-gap: 1rem; align-items: start; }
.p-contact__context-meta-label { font-family: var(--font-base); font-size: 0.9375rem; font-weight: 700; line-height: 1.7; color: #474343; }
.p-contact__context-meta-value { font-family: var(--font-base); font-size: 0.9375rem; font-weight: 400; line-height: 1.7; color: #474343; }
.p-contact__setup-note { font-family: var(--font-base); font-size: 1rem; line-height: 1.8; color: #1a1a1a; }
.p-contact__setup-note p { margin: 0 0 0.75rem; }
.p-contact__setup-note code { font-family: monospace; }
.p-contact__form .wpcf7 { width: 100%; }
.p-contact__form .wpcf7-form { margin: 0; }
.p-contact__form .screen-reader-response,
.p-contact__form .wpcf7-response-output { margin: 1.25rem 0 0; font-family: var(--font-base); font-size: 1rem; line-height: 1.7; }
.p-contact-form__row { display: grid; grid-template-columns: 15rem 50rem; column-gap: 3.125rem; align-items: center; margin-bottom: 1.875rem; }
.p-contact-form__row--radio { margin: 2.5rem 0; }
.p-contact-form__row--checkbox { margin-bottom: 3.75rem; }
.p-contact-form__label { display: flex; align-items: center; gap: 0.5rem; padding-top: 0; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; line-height: 1; color: #474343; }
.p-contact-form__label p { display: flex; align-items: center; gap: 0.5rem; line-height: 1; }
.p-contact-form__required { display: inline-flex; align-items: center; gap: 0.375rem; font-family: var(--font-base); font-size: 1.125rem; font-weight: 400; line-height: 1; color: #c33; }
.p-contact-form__required::before { content: ''; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: #c33; }
.p-contact-form__field > p { margin: 0; }
.p-contact__form input[type="text"],
.p-contact__form input[type="email"],
.p-contact__form input[type="tel"],
.p-contact__form textarea { width: 100%; height: 5rem; padding: 0 1.875rem; border: 1px solid #ccc; border-radius: 0.25rem; background: #fff; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; color: #1a1a1a; outline: none; box-sizing: border-box; }
.p-contact__form textarea { height: 13.75rem; padding-top: 1.5rem; resize: vertical; }
.p-contact__form input::placeholder,
.p-contact__form textarea::placeholder { color: #aaa; }
.p-contact__form .wpcf7-not-valid-tip { margin-top: 0.5rem; font-size: 0.875rem; }
.p-contact__form .wpcf7-list-item { margin: 0; }
.p-contact__form .wpcf7-list-item.last { margin-right: 0; }
.p-contact__form .wpcf7-form-control-wrap[data-name="region"],
.p-contact__form .wpcf7-form-control-wrap[data-name="inquiry_type"] { display: block; }
.p-contact__form .wpcf7-form-control.wpcf7-radio,
.p-contact__form .wpcf7-form-control.wpcf7-checkbox { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; }
.p-contact__form .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 0.5rem; margin: 0; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.4; color: #1a1a1a; cursor: pointer; }
.p-contact__form input[type="radio"],
.p-contact__form input[type="checkbox"] { width: 1.25rem; height: 1.25rem; margin: 0; accent-color: #474343; }
.p-contact-form__privacy { width: 68.75rem; margin: 1.75rem auto 3.125rem; padding: 3.125rem 2rem; background: #f5f5f5; text-align: center; }
.p-contact-form__privacy-title { margin: 0 0 1rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; line-height: 1; color: #474343; }
.p-contact-form__privacy-text { margin: 0 0 1rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 2; color: #474343; }
.p-contact-form__privacy-text a { color: inherit; text-decoration: underline; }
.p-contact-form__privacy-check { display: inline-flex; align-items: center; justify-content: center; gap: 0.9375rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; line-height: 1.4; color: #474343; }
.p-contact-form__privacy-check .wpcf7-list-item { margin: 0; }
.p-contact-form__privacy-check .wpcf7-checkbox { display: inline-flex; }
.p-contact-form__submit { text-align: center; }
.p-contact__form .wpcf7-submit { width: 25rem; height: 5rem; border: none; border-radius: 0.25rem; background: #474343; font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; line-height: 1; color: #fff; cursor: pointer; transition: opacity 0.2s; }
.p-contact__form .wpcf7-submit:hover { opacity: 0.85; }
.p-contact-form__submit .wpcf7-spinner { display: block; margin: 0.75rem auto 0; }

/* ============ プライバシーポリシー ============ */
body.page-policy { background: #f5f5f5; }
body.page-policy #content.l-content { padding: 0; max-width: 100%; width: 100%; background: #f5f5f5; }
.p-policy { padding: 12.5rem 0; background: #f5f5f5; }
.p-policy__inner { max-width: 75rem; margin: 0 auto; padding: 0; }
.p-policy__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; margin-bottom: 3rem; flex-wrap: wrap; }
.p-policy__breadcrumb a { color: #333; text-decoration: none; }
.p-policy__breadcrumb a:hover { text-decoration: underline; }
.p-policy__title { font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #1a1a1a; margin: 0 0 1.875rem; }
.p-policy__lead { margin-bottom: 3.125rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; }
.p-policy__lead p { margin: 0; }
.p-policy__panel { width: 75rem; padding: 4.375rem 3.125rem 6.25rem; background: #fff; border: 1px solid #474343; border-radius: 0.25rem; }
.p-policy__section { padding-bottom: 2.5rem; margin-bottom: 2.5rem; border-bottom: 1px solid #ddd; }
.p-policy__section--last { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }
.p-policy__section-title { margin: 0 0 1.25rem; font-family: var(--font-base); font-size: 1.75rem; font-weight: 700; line-height: 1.5; color: #1a1a1a; }
.p-policy__body { font-family: var(--font-base); font-size: 1.125rem; font-weight: 400; line-height: 2; color: #1a1a1a; }
.p-policy__body p { margin: 0 0 1rem; }
.p-policy__body p:last-child { margin-bottom: 0; }
.p-policy__list { list-style: none; margin: 1rem 0 0; padding: 0; }
.p-policy__list li { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.5rem; }
.p-policy__list li:last-child { margin-bottom: 0; }
.p-policy__list li i { flex-shrink: 0; font-size: 1rem; color: #23299e; margin-top: 0.55rem; }
.p-policy__list li span { flex: 1; }
.p-policy__table { margin: 0; }
.p-policy__row { display: grid; grid-template-columns: 10rem 1fr; column-gap: 1.875rem; align-items: start; margin-bottom: 1.25rem; }
.p-policy__row:last-child { margin-bottom: 0; }
.p-policy__label { margin: 0; font-family: var(--font-base); font-size: 1.125rem; font-weight: 700; line-height: 1.7; color: #474343; }
.p-policy__value { margin: 0; font-family: var(--font-base); font-size: 1.125rem; font-weight: 400; line-height: 1.7; color: #474343; }
.p-policy__contact-link { display: inline-flex; align-items: center; gap: 0.5rem; color: #23299e; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 0.125rem; }
.p-policy__contact-link:hover { opacity: 0.7; color: #23299e; }
.p-searchArchiveLinks { margin-bottom: 3rem; }
.p-searchArchiveLinks__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.p-searchArchiveLinks__item { margin: 0; }
.p-searchArchiveLinks__link { display: block; padding: 1.5rem 1.75rem; background: #fff; color: #1a1a1a; text-decoration: none; border: 1px solid #ddd; transition: opacity 0.2s; }
.p-searchArchiveLinks__link:hover { color: #1a1a1a; opacity: 0.7; }
.p-searchArchiveLinks__title { font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; line-height: 1.4; color: #1a1a1a; }
.p-searchArchiveLinks__text { margin: 0.5rem 0 0; font-family: var(--font-base); font-size: 1rem; font-weight: 400; line-height: 1.8; color: #474343; }

body.single-engineer #breadcrumb .p-breadcrumb__list { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
body.single-engineer #breadcrumb .p-breadcrumb__item { align-items: center; display: inline-flex; gap: 0.5em; position: relative; color: #333; }
body.single-engineer #breadcrumb .p-breadcrumb__text { display: inline-block; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.6; color: #333; white-space: normal; }
body.single-engineer #breadcrumb .p-breadcrumb__text span { color: inherit; }
body.single-engineer.single #breadcrumb .p-breadcrumb__item:last-child > span.p-breadcrumb__text { display: inline-block; }
.single-case_study .p-breadcrumb__item:last-child>span.p-breadcrumb__text { display: inline-block; }

/* ============ 改善事例 詳細: 担当者（エンジニア連動） ============ */
.p-single-case__author-info { display: grid; grid-template-columns: minmax(0, 1fr) 12.5rem; gap: 3.5rem; align-items: start; }
.p-single-case__author-copy { min-width: 0; }
.p-single-case__author-aside { display: flex; flex-direction: column; align-items: flex-start; }
.p-single-case__author-photo { width: 12.5rem; height: 10.9375rem; overflow: hidden; flex-shrink: 0; background: #ddd; }
.p-single-case__author-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.p-single-case__author-detail { margin-top: 0.5rem; }
.p-single-case__author-excerpt { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; margin: 0; }
.p-single-case__author-profile-link { display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; color: #333; text-decoration: none; margin-top: 0.25rem; transition: opacity 0.2s; }
.p-single-case__author-profile-link:hover { opacity: 0.7; color: #23299e; }

/* ============ Staffing ヒーロー ============ */
body.page-staffing #content { --swl-pad_container: 0; --container_size: 100vw; padding: 0 !important; max-width: 100% !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
.p-staffing-hero { position: relative; width: 100%; height: 60rem; overflow: hidden; background: #f5f5f5; }
.p-staffing-hero__bg { position: absolute; inset: 0; }
.p-staffing-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.p-staffing-hero__inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; padding-top: 18.25rem; }
.p-staffing-hero__title { font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.433; color: #fff; text-align: center; text-shadow: 0 0 0.625rem rgba(26, 26, 26, 1); margin: 0 0 3.125rem; }
.p-staffing-hero__desc { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #fff; text-align: center; text-shadow: 0 0 0.625rem rgba(26, 26, 26, 1); margin: 0 0 4.375rem; }
.p-staffing-hero__cta { display: flex; gap: 1.875rem; }
.p-staffing-hero__btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; width: 26.25rem; height: 5rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; text-decoration: none; transition: opacity 0.2s; }
.p-staffing-hero__btn--yellow { background: rgba(237, 237, 38, 0.93); color: #1a1a1a; }
.p-staffing-hero__btn--white { background: #fff; color: #1a1a1a; }
.p-staffing-hero__btn:hover { opacity: 0.85; color: #1a1a1a; }
/* ============ Staffing こんな課題 ============ */
.p-staffing-problems { position: relative; width: 100%; min-height: 69.5625rem; background: #f5f5f5; overflow: hidden; }
.p-staffing-problems__img-tl { position: absolute; top: 0; left: 0; width: 37.5rem; height: 38.625rem; }
.p-staffing-problems__img-tl img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.p-staffing-problems__img-br { position: absolute; bottom: 0; right: 0; width: 37.5rem; height: 26.625rem; }
.p-staffing-problems__img-br img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.p-staffing-problems__inner { position: relative; z-index: 1; max-width: 75rem; margin: 0 auto; padding-top: 11.6875rem; padding-bottom: 11.8125rem; }
.p-staffing-problems__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.455; color: #1a1a1a; text-align: center; margin: 0 0 2rem; }
.p-staffing-problems__subtitle { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.8; color: #1a1a1a; text-align: center; margin: 0 0 3.375rem; }
.p-staffing-problems__grid { display: grid; grid-template-columns: repeat(3, 23.75rem); column-gap: 1.875rem; row-gap: 2.375rem; justify-content: center; }
.p-staffing-problems__card { position: relative; height: 10.875rem; background: #ddd; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 1.25rem; overflow: visible; }
.p-staffing-problems__card::after { content: ''; position: absolute; bottom: -1.125rem; left: 50%; transform: translateX(-50%); width: 2rem; height: 1.125rem; background: #ddd; clip-path: polygon(0 0, 100% 0, 50% 100%); }
.p-staffing-problems__card-text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; line-height: 1.8; text-align: center; color: #1a1a1a; margin: 0; }
.p-staffing-problems__desc { font-family: var(--font-base); font-size: 1.75rem; font-weight: 600; line-height: 1.5714; text-align: center; margin: 3rem 0 0; color: #1A1A1A; }
.p-staffing-problems__desc-plain { color: #1A1A1A; }
.p-staffing-problems__desc-accent { background: linear-gradient(90deg, rgba(192,36,37,1) 0%, rgba(240,203,53,1) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; }
/* ============ Staffing 募集している案件領域 ============ */
.p-staffing-areas { background: linear-gradient(270deg, rgba(216,232,255,1) 0%, rgba(239,245,255,1) 100%); padding-top: 12.5rem; padding-bottom: 12.5rem; }
.p-staffing-areas__inner { max-width: 75rem; margin: 0 auto; }
.p-staffing-areas__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.4545; color: #1a1a1a; text-align: center; margin: 0 0 3rem; }
.p-staffing-areas__list { display: flex; flex-direction: column; background: #fff; padding-top: 3.125rem; padding-bottom: 3.125rem; }
.p-staffing-areas__item { display: flex; align-items: stretch; gap: 2.5rem; padding: 0 3.125rem; }
.p-staffing-areas__item--reverse { flex-direction: row-reverse; }
.p-staffing-areas__item-img { flex: 0 0 16.75rem; width: 16.75rem; overflow: hidden; }
.p-staffing-areas__item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-staffing-areas__item-body { flex: 1; }
.p-staffing-areas__item-heading { font-family: var(--font-base); font-size: 1.5rem; font-weight: 600; line-height: 1.5; color: #23299e; margin: 0 0 1rem; }
.p-staffing-areas__bullets-wrap { display: flex; gap: 0.875rem; align-items: stretch; }
.p-staffing-areas__example { background: #23299e; color: #fff; flex-shrink: 0; width: 1.875rem; display: flex; align-items: center; justify-content: center; font-family: var(--font-base); font-size: 1rem; font-weight: 600; line-height: 1; writing-mode: vertical-rl; text-orientation: mixed; }
.p-staffing-areas__item-bullets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.p-staffing-areas__item-bullets li { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.5; color: #1a1a1a; display: flex; align-items: center; gap: 0.5rem; }
.p-staffing-areas__item-bullets li i { flex-shrink: 0; font-size: 1.25rem; color: #23299e; margin-top: 0.125rem; }
.p-staffing-areas__divider { border: none; border-top: 1px dashed #9195d9; margin: 2.5625rem 3.125rem; }
.p-staffing-areas__tech-wrap { width: auto; background: #f5f5f5; margin: 2.5625rem 3.125rem 0; padding: 0 0 0 3.125rem; }
.p-staffing-areas__tech { display: flex; align-items: stretch; gap: 2.5rem; }
.p-staffing-areas__tech-img { flex: 0 0 25rem; width: 25rem; overflow: hidden; align-self: stretch; }
.p-staffing-areas__tech-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-staffing-areas__tech-body { flex: 1; padding-top: 2.0625rem; padding-bottom: 2.0625rem; }
.p-staffing-areas__tech-heading { font-family: var(--font-base); font-size: 1.5rem; font-weight: 600; line-height: 1.5; color: #23299e; margin: 0 0 1.25rem; }
.p-staffing-areas__tech-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.p-staffing-areas__tech-list li { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.5; color: #1a1a1a; display: flex; align-items: center; gap: 0.5rem; }
.p-staffing-areas__tech-list li i { flex-shrink: 0; font-size: 1.25rem; color: #23299e; margin-top: 0.125rem; }
.p-staffing-areas__desc { font-family: var(--font-base); font-size: 1.75rem; font-weight: 600; line-height: 1.5714; text-align: center; margin: 2.5rem 0 0; background: linear-gradient(90deg, rgba(192,36,37,1) 0%, rgba(240,203,53,1) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
/* ============ Staffing 3つの理由 ============ */
.p-staffing-reasons { background: linear-gradient(90deg, rgba(43,50,178,1) 0%, rgba(20,136,204,1) 100%); padding-top: 12.5rem; padding-bottom: 12.5rem; }
.p-staffing-reasons__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.4545; color: #fff; text-align: center; margin: 0 0 3.1875rem; }
.p-staffing-reasons__list { width: 75rem; margin: 0 auto; display: flex; flex-direction: column; gap: 2.5rem; }
.p-staffing-reasons__card { display: flex; align-items: stretch; background: #23299e; overflow: hidden; }
.p-staffing-reasons__card--reverse { flex-direction: row-reverse; }
.p-staffing-reasons__card-img { flex: 0 0 26.875rem; width: 26.875rem; overflow: hidden; }
.p-staffing-reasons__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-staffing-reasons__card-body { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding: 0 0 0 3.125rem; }
.p-staffing-reasons__card-header { display: flex; align-items: center; gap: 1.25rem; }
.p-staffing-reasons__card-badge { flex-shrink: 0; width: 3.75rem; height: 3.75rem; background: linear-gradient(90deg, rgba(192,36,37,1) 0%, rgba(240,203,53,1) 100%); display: flex; align-items: center; justify-content: center; border-radius: 1.875rem; }
.p-staffing-reasons__card-badge > span { font-family: var(--font-base); font-size: 1.375rem; font-weight: 600; line-height: 1; color: #fff; text-align: center; padding-bottom: .5rem; }
.p-staffing-reasons__card-badge-label { font-size: 0.875rem; }
.p-staffing-reasons__card-heading { font-family: var(--font-base); font-size: 1.75rem; font-weight: 600; line-height: 1; color: #f0cb35; margin: 0; }
.p-staffing-reasons__card-text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #fff; margin: 0; }

/* ============ Staffing お問い合わせ ============ */
.p-staffing-contact { position: relative; width: 100%; overflow: hidden; }
.p-staffing-contact__bg { position: absolute; inset: 0; }
.p-staffing-contact__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.p-staffing-contact__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 12.5rem 2rem; }
.p-staffing-contact__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #fff; text-shadow: 0 0 0.625rem rgba(0,0,0,0.6); text-align: center; margin: 0 0 2.375rem; }
.p-staffing-contact__text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #fff; text-shadow: 0 0 0.625rem rgba(0,0,0,0.6); text-align: center; margin: 0 0 3.375rem; }
.p-staffing-contact__cta { display: flex; gap: 1.875rem; }
.p-staffing-contact__btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; width: 26.25rem; height: 5rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; text-decoration: none; transition: opacity 0.2s; }
.p-staffing-contact__btn--yellow { background: rgba(237,237,38,0.93); color: #1a1a1a; }
.p-staffing-contact__btn--white { background: #fff; color: #1a1a1a; }
.p-staffing-contact__btn:hover { opacity: 0.85; color: #1a1a1a; }
/* ============ Staffing 料金プラン ============ */
.p-staffing-pricing { background: #fff; padding-top: 12.5rem; padding-bottom: 12.5rem; }
.p-staffing-pricing__inner { max-width: 75rem; margin: 0 auto; padding: 0; }
.p-staffing-pricing__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; text-align: center; margin: 0 0 1.5rem; }
.p-staffing-pricing__subtitle { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.8; color: #1a1a1a; text-align: center; margin: 0 0 3.75rem; }
.p-staffing-pricing__box { background: linear-gradient(270deg, rgba(216,232,255,1) 0%, rgba(239,245,255,1) 100%); padding: 3.125rem; display: flex; flex-direction: column; gap: 1.875rem; }
.p-staffing-pricing__row { display: flex; align-items: flex-start; }
.p-staffing-pricing__divider-row { margin: 0.625rem 0; }
.p-staffing-pricing__row-label { flex: 0 0 15rem; padding-top: 1.125rem; }
.p-staffing-pricing__row-content { flex: 1; background: #fff; }
.p-staffing-pricing__row:first-child .p-staffing-pricing__row-content { background: transparent; }
.p-staffing-pricing__block-heading { font-family: var(--font-base); font-size: 1.5rem; font-weight: 600; line-height: 1; color: #23299e; margin: 0; }
.p-staffing-pricing__table { display: flex; flex-direction: column; gap: 2px; }
.p-staffing-pricing__table-head { display: flex; gap: 2px; }
.p-staffing-pricing__table-head span { font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; color: #1a1a1a; padding: 1rem 1.3125rem; background: #fff; }
.p-staffing-pricing__table-row { display: flex; gap: 2px; }
.p-staffing-pricing__table-row span { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; color: #1a1a1a; padding: 1rem 1.3125rem; background: #fff; }
.p-staffing-pricing__table-col1 { flex: 1; }
.p-staffing-pricing__table-col2 { flex: 1; }
.p-staffing-pricing__list { list-style: none; margin: 0; padding: 1.125rem 0 1.125rem 1.3125rem; display: flex; flex-direction: column; gap: 0.5rem; }
.p-staffing-pricing__list li { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.5; color: #1a1a1a; display: flex; align-items: center; gap: 0.5rem; }
.p-staffing-pricing__list li i { flex-shrink: 0; font-size: 1.25rem; color: #23299e; margin-top: 0.125rem; }
.p-staffing-pricing__list--plain li { display: block; }
.p-staffing-pricing__list--spot { padding-top: 0; }
.p-staffing-pricing__divider { border: none; border-top: 1px dashed #9195d9; width: 100%; margin: 0; display: block; }
.p-staffing-pricing__spot-main { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.5; color: #1a1a1a; padding: 1.125rem 1.3125rem 0; margin: 0; }
.p-staffing-pricing__spot-note { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 1.5; color: #1a1a1a; padding: 0.9375rem 1.3125rem 0; margin: 0; }
.p-staffing-pricing__spot-label { font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; color: #1a1a1a; padding: 1.5rem 1.3125rem 0.5rem; margin: 0; }
.p-staffing-pricing__term-label { font-weight: 600; }
/* ============ Staffing まずは相談から ============ */
.p-staffing-flow { position: relative; background: #f5f5f5; overflow: hidden; padding-top: 12.3125rem; padding-bottom: 14.4375rem; }
.p-staffing-flow__img-tr { position: absolute; top: 0; right: 0; width: 46rem; height: 37.5rem; }
.p-staffing-flow__img-tr img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.p-staffing-flow__img-bl { position: absolute; bottom: 0; left: 0; width: 43.75rem; height: 46.25rem; }
.p-staffing-flow__img-bl img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.p-staffing-flow__inner { position: relative; z-index: 1; max-width: 75rem; margin: 0 auto; }
.p-staffing-flow__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.4545; color: #1a1a1a; text-align: center; margin: 0 0 3.75rem; }
.p-staffing-flow__steps { display: flex; flex-direction: column; align-items: center; }
.p-staffing-flow__step { width: 75rem; background: #fff; padding: 2.5rem 3.125rem; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.p-staffing-flow__step-badge { display: inline-flex; align-items: center; justify-content: center; width: 7.9375rem; height: 2.625rem; background: #23299e; border-radius: .25rem; padding-bottom: .25rem; }
.p-staffing-flow__step-badge span { font-family: var(--font-heading); font-size: 1.875rem; font-weight: 600; color: #fff; line-height: 1; }
.p-staffing-flow__step-name { font-family: var(--font-base); font-size: 1.625rem; font-weight: 500; color: #23299e; margin: 0; line-height: 1.4; }
.p-staffing-flow__step-desc { font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.8; color: #1a1a1a; margin: 0; }
.p-staffing-flow__arrow { width: 75rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; margin: 1rem 0; }
.p-staffing-flow__arrow i { font-size: 2.5rem; color: #23299e; line-height: 1; }
/* ============ Staffing エンジニア紹介 ============ */
.p-staffing-engineers { background: linear-gradient(270deg, rgba(216,232,255,1) 0%, rgba(239,245,255,1) 100%); padding-top: 12.5rem; padding-bottom: 12.5rem; }
.p-staffing-engineers__inner { max-width: 75rem; margin: 0 auto; padding: 0; }
.p-staffing-engineers__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; text-align: center; margin: 0 0 3.75rem; }
.p-staffing-engineers__grid { display: grid; grid-template-columns: repeat(4, 17.5rem); gap: 1.6875rem; justify-content: center; margin-bottom: 3.75rem; }
.p-staffing-engineers__card { display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: opacity 0.2s; }
.p-staffing-engineers__card:hover { opacity: 0.8; }
.p-staffing-engineers__card-img { width: 17.5rem; height: 17.5rem; overflow: hidden; background: #ddd; flex-shrink: 0; }
.p-staffing-engineers__card-img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.p-staffing-engineers__card-noimg { display: block; width: 100%; height: 100%; background: #ddd; }
.p-staffing-engineers__card-body { padding: 0.625rem 0 0; }
.p-staffing-engineers__card-name { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 500; line-height: 1.8; color: #1a1a1a; margin: 0; }
.p-staffing-engineers__card-specialty { font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; color: #333; margin: 0; }
.p-staffing-engineers__empty { font-family: var(--font-base); font-size: 1.25rem; color: #666; text-align: center; padding: 2.5rem 0; }
.p-staffing-engineers__more { text-align: center; }
.p-staffing-engineers__more-link { display: inline-flex; align-items: center; justify-content: center; gap: 0.625rem; width: 26.25rem; height: 5rem; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; color: #1a1a1a; border: 1px solid #333; text-decoration: none; transition: background 0.2s; }
.p-staffing-engineers__more-link:hover { opacity: 0.7; color: #1a1a1a; }
/* ============ Staffing よくある質問 ============ */
.p-staffing-faq { background: #f5f5f5; padding-top: 12.5rem; padding-bottom: 12.5rem; }
.p-staffing-faq__inner { max-width: 75rem; margin: 0 auto; display: flex; align-items: flex-start; }
.p-staffing-faq__heading-col { flex: 0 0 25rem; }
.p-staffing-faq__list-col { flex: 1; }
.p-staffing-faq__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; text-align: left; margin: 0; }
.p-staffing-faq__list { display: flex; flex-direction: column; }
.p-staffing-faq__item { border-top: 1px solid #e5e5e5; }
.p-staffing-faq__item:last-child { border-bottom: 1px solid #e5e5e5; }
.p-staffing-faq__question { display: flex; align-items: center; gap: 1.25rem; width: 100%; padding: 1.875rem 0; background: none; border: none; cursor: pointer; text-align: left; }
.p-staffing-faq__q-badge { flex-shrink: 0; width: 2.125rem; height: 2.125rem; border-radius: 50%; background: #23299e; display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-size: 1.125rem; font-weight: 600; color: #fff; line-height: 1; }
.p-staffing-faq__q-text { flex: 1; font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; color: #1a1a1a; line-height: 1.5; }
.p-staffing-faq__icon { font-size: 1.25rem; color: #23299e; transition: transform 0.3s; flex-shrink: 0; }
.p-staffing-faq__question[aria-expanded="true"] .p-staffing-faq__icon { transform: rotate(180deg); }
.p-staffing-faq__answer { display: none; padding: 0 0 1.875rem 3.375rem; }
.p-staffing-faq__answer p { font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 2; color: #1a1a1a; margin: 0; }
.p-staffing-faq__answer.is-open { display: block; }
/* ============ Staffing 最終CTA ============ */
.p-staffing-cta-final { background: linear-gradient(90deg, rgba(43,50,178,1) 0%, rgba(20,136,204,1) 100%); padding-top: 12.5rem; padding-bottom: 12.5rem; }
.p-staffing-cta-final__inner { max-width: 75rem; margin: 0 auto; padding: 0 3.125rem; display: flex; flex-direction: column; align-items: center; }
.p-staffing-cta-final__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #fff; text-align: center; margin: 0 0 2.375rem; }
.p-staffing-cta-final__text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #fff; text-align: center; margin: 0 0 3.375rem; }
.p-staffing-cta-final__btn { display: inline-flex; align-items: center; gap: 0.75rem; height: 5rem; padding: 0 4.375rem; background: #eb1b1f; color: #fff; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; text-decoration: none; transition: opacity 0.2s; }
.p-staffing-cta-final__btn:hover { opacity: 0.85; color: #fff; }

/* ============ Solidworks ヒーロー ============ */
.p-solidworks-hero { position: relative; width: 100%; height: 60rem; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.p-solidworks-hero__bg { position: absolute; inset: 0; z-index: 0; }
.p-solidworks-hero__bg picture { display: block; width: 100%; height: 100%; }
.p-solidworks-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.p-solidworks-hero__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 7.5rem 3.125rem 0; width: 100%; max-width: 75rem; margin: 0 auto; }
.p-solidworks-hero__title { margin: 0 0 2.375rem; }
.p-solidworks-hero__title-line { display: block; font-family: var(--font-heading); font-size: 3.75rem; font-weight: 600; line-height: 1.4333; color: #1a1a1a; }
.p-solidworks-hero__title-line--accent { color: #eb1b1f; }
.p-solidworks-hero__message { width: 100%; margin-bottom: 2.375rem; }
.p-solidworks-hero__message-head { position: relative; display: flex; align-items: center; justify-content: center; width: 48.75rem; min-height: 3.125rem; margin: 0 auto; padding: 0.75rem 1.5rem; background: linear-gradient(90deg, #d8191d 0%, #ff2125 50%, #d8191d 100%); font-family: var(--font-base); font-size: 1.625rem; font-weight: 600; line-height: 1.4; color: #fff; }
.p-solidworks-hero__message-head::before,
.p-solidworks-hero__message-head::after { content: ""; position: absolute; bottom: -0.625rem; width: 1.25rem; height: 0.625rem; background: #b51518; }
.p-solidworks-hero__message-head::before { left: 0; clip-path: polygon(0 0, 100% 0, 100% 100%); }
.p-solidworks-hero__message-head::after { right: 0; clip-path: polygon(0 0, 100% 0, 0 100%); }
.p-solidworks-hero__message-body { display: grid; grid-template-columns: minmax(0, 1fr) 15.1875rem; align-items: stretch; gap: 0; max-width: 46.25rem; margin: 0 auto; background: #fff; box-shadow: 0 0.5rem 1.5rem rgba(26, 26, 26, 0.08); }
.p-solidworks-hero__points { list-style: none; margin: 0; padding: 1.5rem 1.75rem; display: flex; flex-direction: column; justify-content: center; gap: 1rem; text-align: left; }
.p-solidworks-hero__point { display: flex; align-items: center; gap: 0.75rem; font-family: var(--font-base); font-size: 1.375rem; font-weight: 500; line-height: 1.5; color: #1a1a1a; }
.p-solidworks-hero__point i { flex: 0 0 auto; color: #eb1b1f; font-size: 1.375rem; }
.p-solidworks-hero__point span { display: block; }
.p-solidworks-hero__message-image { overflow: hidden; }
.p-solidworks-hero__message-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.p-solidworks-hero__cta { display: flex; align-items: center; justify-content: center; width: 100%; }
.p-solidworks-hero__btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; width: 26.25rem; height: 5rem; background: rgba(237,237,38,0.93); color: #1a1a1a; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; text-decoration: none; transition: opacity 0.2s; }
.p-solidworks-hero__btn:hover { opacity: 0.85; color: #1a1a1a; }

/* ============ Solidworks 導入が進まない理由 ============ */
.p-solidworks-issues { position: relative; background: #fff; overflow: hidden; }
.p-solidworks-issues__img-tl { position: absolute; top: 0; left: 0; width: 37.5rem; height: 38.625rem; }
.p-solidworks-issues__img-tl picture,
.p-solidworks-issues__img-br picture { display: block; width: 100%; height: 100%; }
.p-solidworks-issues__img-tl img,
.p-solidworks-issues__img-br img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-solidworks-issues__img-br { position: absolute; right: 0; bottom: 0; width: 37.5rem; height: 26.625rem; }
.p-solidworks-issues__inner { position: relative; z-index: 1; width: 100%; max-width: 75rem; margin: 0 auto; padding-top: 12.5rem; padding-bottom: 12.5rem; }
.p-solidworks-issues__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.4545; color: #1a1a1a; text-align: center; margin: 0 0 3.75rem; }
.p-solidworks-issues__grid { display: grid; grid-template-columns: repeat(3, 23.75rem); column-gap: 1.875rem; row-gap: 2.375rem; justify-content: center; }
.p-solidworks-issues__card { position: relative; height: 10.875rem; background: #ddd; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 1.25rem; overflow: visible; }
.p-solidworks-issues__card::after { content: ''; position: absolute; bottom: -1.125rem; left: 50%; transform: translateX(-50%); width: 2rem; height: 1.125rem; background: #ddd; clip-path: polygon(0 0, 100% 0, 50% 100%); }
.p-solidworks-issues__card-text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; line-height: 1.8; text-align: center; color: #1a1a1a; margin: 0; }
.p-solidworks-issues__lead { margin-top: 3rem; text-align: center; font-family: var(--font-base); font-size: 1.75rem; line-height: 1.5714; }
.p-solidworks-issues__lead p { margin: 0; }
.p-solidworks-issues__lead p:first-child { color: #1a1a1a; font-weight: 500; }
.p-solidworks-issues__lead p:nth-child(2),
.p-solidworks-issues__lead p:nth-child(3) { font-weight: 700; background: linear-gradient(90deg, rgba(192,36,37,1) 0%, rgba(240,203,53,1) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

/* ============ Solidworks サービス内容 ============ */
.p-solidworks-services { background: linear-gradient(90deg, #fff9ed 0%, #fff1db 100%); padding: 12.5rem 0; }
.p-solidworks-services__inner { width: 100%; max-width: 75rem; margin: 0 auto; }
.p-solidworks-services__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.4545; color: #1a1a1a; text-align: center; margin: 0 0 3.6875rem; }
.p-solidworks-services__panel { background: #fff; padding: 3.125rem 3.125rem 4rem; }
.p-solidworks-services__block { padding-bottom: 2.625rem; margin-bottom: 2.125rem; border-bottom: 1px dashed #e3c8b0; }
.p-solidworks-services__block--last { margin-bottom: 0; border-bottom: none; }
.p-solidworks-services__heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.p-solidworks-services__badge { width: 3.75rem; height: 3.75rem; border-radius: 50%; background: linear-gradient(90deg, #c02425 0%, #f0cb35 100%); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-base); font-size: 1.375rem; font-weight: 700; line-height: 1; color: #fff; flex-shrink: 0; }
.p-solidworks-services__block-title { font-family: var(--font-base); font-size: 1.5rem; font-weight: 600; line-height: 1.4167; color: #1a1a1a; margin: 0; padding-top: 0; }
.p-solidworks-services__content { padding-left: 4.75rem; }
.p-solidworks-services__item { display: flex; align-items: flex-start; margin-bottom: 0.5625rem; }
.p-solidworks-services__item:last-child { margin-bottom: 0; }
.p-solidworks-services__label { width: 2.25rem; flex-shrink: 0; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; line-height: 2; color: #1a1a1a; }
.p-solidworks-services__body { flex: 1; }
.p-solidworks-services__body p { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; margin: 0; }
.p-solidworks-services__body-title { font-weight: 500 !important; }
.p-solidworks-services__body-title--plain { font-weight: 500 !important; }
.p-solidworks-services__list { list-style: disc; margin: 0; padding-left: 1.875rem; }
.p-solidworks-services__list li { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #1a1a1a; }
.p-solidworks-services__list--offset { padding-left: 2.5rem; }
.p-solidworks-services__lead { text-align: center; padding-top: 0.25rem; }
.p-solidworks-services__lead p { margin: 0; font-family: var(--font-base); font-size: 1.75rem; font-weight: 700; line-height: 1.5714; background: linear-gradient(90deg, #c02425 0%, #f0cb35 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

/* ============ Solidworks 3つの特徴 ============ */
.p-solidworks-features { background: linear-gradient(90deg, #2b32b2 0%, #1488cc 100%); padding: 12.5rem 0; }
.p-solidworks-features__inner { width: 100%; max-width: 75rem; margin: 0 auto; }
.p-solidworks-features__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.4545; color: #fff; text-align: center; margin: 0 0 3.1875rem; }
.p-solidworks-features__card { display: flex; align-items: stretch; width: 75rem; background: #23299e; overflow: hidden; margin-bottom: 3.125rem; }
.p-solidworks-features__card:last-child { margin-bottom: 0; }
.p-solidworks-features__card--reverse { flex-direction: row-reverse; background: #2b32b2; }
.p-solidworks-features__card-img { flex: 0 0 26.875rem; width: 26.875rem; overflow: hidden; }
.p-solidworks-features__card-img picture { display: block; width: 100%; height: 100%; }
.p-solidworks-features__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-solidworks-features__card-body { flex: 1; padding: 2.5rem 1rem 2.5rem 3.125rem; }
.p-solidworks-features__card-body--left { padding: 2.5rem 3.125rem 2.5rem 2.5rem; }
.p-solidworks-features__label { display: inline-flex; align-items: center; justify-content: center; width: 11.25rem; height: 2.5625rem; background: linear-gradient(90deg, #c02425 0%, #f0cb35 100%); font-family: var(--font-base); font-size: 1.75rem; font-weight: 700; line-height: 1; color: #fff; margin-bottom: 1.875rem; }
.p-solidworks-features__card-title { font-family: var(--font-base); font-size: 1.75rem; font-weight: 500; line-height: 1.5714; color: #f0cb35; margin: 0 0 1rem; }
.p-solidworks-features__card-text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #fff; margin: 0; }

/* ============ Solidworks お問い合わせ ============ */
.p-solidworks-contact { position: relative; overflow: hidden; }
.p-solidworks-contact__bg { position: absolute; inset: 0; }
.p-solidworks-contact__bg::after { content: ''; position: absolute; inset: 0; background: rgba(26,26,26,0.55); }
.p-solidworks-contact__bg picture { display: block; width: 100%; height: 100%; }
.p-solidworks-contact__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.p-solidworks-contact__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 12.5rem 1.25rem; }
.p-solidworks-contact__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #fff; text-align: center; margin: 0 0 2.5rem; text-shadow: 0 0 0.625rem rgba(26,26,26,0.8); }
.p-solidworks-contact__text { font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; line-height: 2; color: #fff; text-align: center; margin: 0 0 3.75rem; text-shadow: 0 0 0.625rem rgba(26,26,26,0.8); }
.p-solidworks-contact__btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; width: 26.25rem; height: 5rem; background: rgba(237,237,38,0.93); color: #1a1a1a; font-family: var(--font-base); font-size: 1.25rem; font-weight: 500; text-decoration: none; transition: opacity 0.2s; }
.p-solidworks-contact__btn:hover { opacity: 0.85; color: #1a1a1a; }

/* ============ Solidworks 進め方 ============ */
.p-solidworks-flow { position: relative; background: #f5f5f5; overflow: hidden; padding-top: 12.5rem; padding-bottom: 12.5rem; }
.p-solidworks-flow__img-tr { position: absolute; top: 0; right: 0; width: 32.5rem; height: 29.75rem; }
.p-solidworks-flow__img-tr picture,
.p-solidworks-flow__img-bl picture { display: block; width: 100%; height: 100%; }
.p-solidworks-flow__img-tr img,
.p-solidworks-flow__img-bl img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.p-solidworks-flow__img-bl { position: absolute; bottom: 0; left: 0; width: 43.75rem; height: 35.625rem; }
.p-solidworks-flow__inner { position: relative; z-index: 1; width: 100%; max-width: 75rem; margin: 0 auto; }
.p-solidworks-flow__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1.4545; color: #1a1a1a; text-align: center; margin: 0 0 3.75rem; }
.p-solidworks-flow__steps { display: flex; flex-direction: column; align-items: center; }
.p-solidworks-flow__step { width: 75rem; background: #fff; padding: 2.5rem 1rem; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.p-solidworks-flow__step-badge { display: inline-flex; align-items: center; justify-content: center; width: 7.9375rem; height: 2.625rem; background: #23299e; border-radius: .25rem; padding-bottom: .25rem; }
.p-solidworks-flow__step-badge span { font-family: var(--font-heading); font-size: 1.875rem; font-weight: 600; color: #fff; line-height: 1; }
.p-solidworks-flow__step-name { font-family: var(--font-base); font-size: 1.625rem; font-weight: 500; line-height: 1.4; color: #23299e; text-align: center; margin: 0; }
.p-solidworks-flow__step-desc { font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 2; color: #1a1a1a; text-align: center; margin: 0; }
.p-solidworks-flow__arrow { width: 75rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; margin: 1rem 0; }
.p-solidworks-flow__arrow i { font-size: 2.5rem; color: #23299e; line-height: 1; }

/* ============ Solidworks 解決できる課題 ============ */
.p-solidworks-solutions { background: #fff; padding: 12.5rem 0; }
.p-solidworks-solutions__inner { width: 100%; max-width: 75rem; margin: 0 auto; }
.p-solidworks-solutions__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; text-align: center; margin: 0 0 3.5rem; }
.p-solidworks-solutions__table-wrap { width: 100%; }
.p-solidworks-solutions__table { width: 75rem; border-collapse: separate; border-spacing: 2px; table-layout: fixed; }
.p-solidworks-solutions__col-service { width: 16.25rem; }
.p-solidworks-solutions__col-before,
.p-solidworks-solutions__col-after { width: 29.375rem; }
.p-solidworks-solutions__head { padding: 0.5rem 1.25rem; vertical-align: middle; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 600; line-height: 2; color: #1a1a1a; text-align: center; }
.p-solidworks-solutions__head--service,
.p-solidworks-solutions__head--before { background: #ddd; }
.p-solidworks-solutions__head--after { background: #f0cb35; }
.p-solidworks-solutions__cell { padding: 0.8125rem 1.25rem; vertical-align: top; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 2; color: #1a1a1a; }
.p-solidworks-solutions__cell--service,
.p-solidworks-solutions__cell--before { background: #f5f5f5; }
.p-solidworks-solutions__cell--after { background: #fff9ed; }
.p-solidworks-solutions__cell--service { font-weight: 600; text-align: center; }

/* ============ Solidworks 研修事例 ============ */
.p-solidworks-cases { background: #fff; padding: 0 0 12.5rem; }
.p-solidworks-cases__inner { width: 100%; max-width: 75rem; margin: 0 auto; }
.p-solidworks-cases__title { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 500; line-height: 1; color: #1a1a1a; text-align: center; margin: 0 0 3.75rem; }
.p-solidworks-cases__viewport { position: relative; }
.p-solidworks-cases__slide { width: 100%; }
.p-solidworks-cases__slide[hidden] { display: none; }
.p-solidworks-cases__card { width: 75rem; background: #fff9ed; padding: 3.125rem; }
.p-solidworks-cases__card--wide { padding: 2.5rem 2.25rem; }
.p-solidworks-cases__meta { display: flex; align-items: center; gap: 1.125rem; padding-bottom: 1rem; border-bottom: none; background-image: linear-gradient(90deg, #eb1b1f 0%, #f0cb35 100%); background-repeat: no-repeat; background-position: left bottom; background-size: 100% 1px; margin-bottom: 1.875rem; flex-wrap: wrap; }
.p-solidworks-cases__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 7.5rem; height: 2.5625rem; padding: 0 1rem; background: linear-gradient(90deg, #c02425 0%, #f0cb35 100%); font-family: var(--font-base); font-size: 1.75rem; font-weight: 700; line-height: 1; color: #fff; }
.p-solidworks-cases__company { font-family: var(--font-base); font-size: 1.625rem; font-weight: 700; line-height: 1.4; color: #1a1a1a; margin: 0; }
.p-solidworks-cases__tags { display: flex; align-items: center; gap: 0.9375rem; margin-left: auto; flex-wrap: wrap; }
.p-solidworks-cases__tags span { display: inline-flex; align-items: center; height: 2.25rem; padding: 0 0.875rem; background: #fff; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1; color: #1a1a1a; }
.p-solidworks-cases__section { margin: 0 0 1.375rem; }
.p-solidworks-cases__section:last-child { margin-bottom: 0; }
.p-solidworks-cases__section dt { font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; line-height: 1.4; color: #1a1a1a; margin-bottom: 0.5rem; }
.p-solidworks-cases__section dd { margin: 0; font-family: var(--font-base); font-size: 1.0625rem; font-weight: 400; line-height: 1.8; color: #1a1a1a; }
.p-solidworks-cases__case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem; }
.p-solidworks-cases__case-pane { min-width: 0; }
.p-solidworks-cases__nav { display: flex; justify-content: center; gap: 1.875rem; margin-top: 2rem; }
.p-solidworks-cases__nav-btn { width: 3.125rem; height: 3.125rem; border: none; border-radius: 50%; background: #666; color: #fff; font-family: var(--font-base); font-size: 1.375rem; font-weight: 600; line-height: 1; cursor: pointer; transition: opacity 0.2s, background 0.2s; }
.p-solidworks-cases__nav-btn.is-active { background: linear-gradient(90deg, #eb1b1f 0%, #f0cb35 100%); }
.p-solidworks-cases__nav-btn:hover { opacity: 0.85; }

/* ============ フッター ============ */
.p-footer { background: #fff; padding: 0; }
.p-footer__inner { display: flex; justify-content: space-between; align-items: flex-start; max-width: 75rem; margin: 0 auto; padding: 12.5rem 0 4.5rem; }
.p-footer__left { width: auto; flex-shrink: 0; }
.p-footer__logo { margin: 0 0 .25rem; }
.p-footer__logo-link { font-family: var(--font-en); font-size: 2.5rem; font-weight: 400; color: #111; text-decoration: none; line-height: 1; }
.p-footer__logo-link:hover { opacity: 0.75; }
.p-footer__tagline { font-family: var(--font-heading); font-size: 1.125rem; font-weight: 400; color: #111; line-height: 1.8; margin: 0 0 2.5rem; }
.p-footer__address { font-style: normal; font-family: var(--font-base); font-size: 1.25rem; font-weight: 400; color: #333; line-height: 2; margin: 0 0 2.5rem; }
.p-footer__contact-btn { display: flex; align-items: center; justify-content: center; gap: 0.75rem; width: 26.25rem; height: 5rem; background: #eb1b1f; color: #fff; font-family: var(--font-base); font-size: 1.125rem; font-weight: 700; text-decoration: none; margin-bottom: 1.25rem; transition: opacity 0.2s; }
.p-footer__contact-btn:hover { opacity: 0.85; color: #fff; }
.p-footer__search { display: flex; width: 26.25rem; height: 5rem; background: #f5f5f5; }
.p-footer__search-input { flex: 1; background: transparent; border: none; outline: none; padding: 0 1.25rem; font-family: var(--font-base); font-size: 1rem; color: #333; }
.p-footer__search-input::placeholder { color: #999; }
.p-footer__search-btn { width: 5rem; height: 5rem; background: transparent; border: none; cursor: pointer; color: #333; font-size: 1.25rem; display: flex; align-items: center; justify-content: center; transition: opacity 0.2s; }
.p-footer__search-btn:hover { opacity: 0.65; }
.p-footer__nav { display: flex; flex-direction: column; gap: 1.25rem; width: 25rem; }
.p-footer__nav-group { display: flex; flex-direction: column; gap: 0; }
.p-footer__nav-heading { font-family: var(--font-base); font-size: 1.25rem; font-weight: 600; color: #111; margin: 0 0 0.625rem; }
.p-footer__nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.25rem; }
.p-footer__nav-item a { font-family: var(--font-base); font-size: 1.125rem; font-weight: 400; color: #333; text-decoration: none; display: block; padding: 0.25rem 0; transition: opacity 0.2s; }
.p-footer__nav-item a:hover { opacity: 0.65; }
.p-footer__nav-item--bold a { font-size: 1.25rem; font-weight: 600; color: #111; }
.p-footer__nav-item--sub { display: flex; align-items: center; gap: 0.75rem; }
.p-footer__nav-item--sub::before { content: ''; display: inline-block; flex-shrink: 0; width: 0.5rem; height: 0.5rem; background: #acbad8; border-radius: 50%; }
.p-footer__nav-item--sub a { font-size: 1.125rem; font-weight: 400; }
.p-footer__bottom { max-width: 75rem; margin: 0 auto; padding: 1rem 0 12.5rem; display: flex; align-items: center; justify-content: space-between; }
.p-footer__copyright { font-family: var(--font-base); font-size: 1.125rem; font-weight: 400; color: #666; font-style: normal; }
.p-footer__pagetop { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-base); font-size: 1.125rem; font-weight: 400; color: #333; text-decoration: none; transition: opacity 0.2s; }
.p-footer__pagetop:hover { opacity: 0.65; }
.p-footer__pagetop i { font-size: 1.25rem; }
.l-footer .p-footer__contact-btn{color: #fff;}

/* ============ レスポンシブ ============ */
@media (max-width: 87.5rem) {
.p-header__inner{padding: 0 1.5rem;}
.p-header__left{gap: 1rem;}
.p-header__nav-list{gap: 1.25rem;}
}
@media (max-width: 50rem) {
:root { font-size: clamp(0.4rem, 3.6vw, 2rem); }
.pc-only { display: none; }
.sp-only { display: inline; }
.p-header__inner { height: 3.75rem; padding: 0 1.25rem; }
.p-header__left { gap: 0.625rem; }
.p-header__logo { font-size: 1.25rem; }
.p-header__tagline { display: none; }
.p-header__right { gap: 0.75rem; }
.p-header__nav { display: none; }
.p-header__contact { display: none; }
.p-header__search-form { display: none; }
.p-header__hamburger { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.3125rem; width: 2.5rem; height: 2.5rem; background: none; border: none; cursor: pointer; padding: 0; }
.p-header__hamburger span { display: block; width: 1.5rem; height: 2px; background: #fff; transition: transform 0.3s, opacity 0.3s; }
.p-header.is-scrolled .p-header__hamburger span { background: #1a1a1a; }
.p-header__hamburger.is-open span:nth-child(1) { transform: translateY(0.4375rem) rotate(45deg); }
.p-header__hamburger.is-open span:nth-child(2) { opacity: 0; }
.p-header__hamburger.is-open span:nth-child(3) { transform: translateY(-0.4375rem) rotate(-45deg); }
.p-header__sp-nav { display: block; position: fixed; top: 3.75rem; left: 0; width: 100%; height: calc(100vh - 3.75rem); background: #fff; z-index: 999; overflow-y: auto; transform: translateX(100%); transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
.p-header__sp-nav.is-open { transform: translateX(0); }
.p-header__sp-nav-list { list-style: none; margin: 0; padding: 0; }
.p-header__sp-nav-item { border-bottom: 1px solid #eee; }
.p-header__sp-nav-item a { display: block; padding: 1rem 1.25rem; font-family: var(--font-base); font-size: 0.9375rem; font-weight: 500; color: #1a1a1a; text-decoration: none; }
.p-header__sp-nav-btn { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 1rem 1.25rem; background: none; border: none; font-family: var(--font-base); font-size: 0.9375rem; font-weight: 500; color: #1a1a1a; cursor: pointer; text-align: left; }
.p-header__sp-nav-btn i { transition: transform 0.3s; }
.p-header__sp-nav-btn.is-open i { transform: rotate(180deg); }
.p-header__sp-dropdown { list-style: none; margin: 0; padding: 0; background: #f9f9f9; max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.p-header__sp-dropdown.is-open { max-height: 20rem; }
.p-header__sp-dropdown li { border-top: 1px solid #eee; }
.p-header__sp-dropdown a { display: block; padding: 0.875rem 1.875rem; font-family: var(--font-base); font-size: 0.875rem; color: #333; text-decoration: none; }
.p-header__sp-contact { background: #eb1b1f; color: #fff !important; text-align: center; }
.p-header__sp-search { display: flex; margin: 1.25rem; }
.p-header__sp-search input { flex: 1; height: 2.75rem; padding: 0 0.875rem; border: 2px solid #1a1a1a; border-right: none; font-size: 0.875rem; outline: none; }
.p-header__sp-search button { width: 2.75rem; height: 2.75rem; background: #1a1a1a; color: #fff; border: none; cursor: pointer; font-size: 1rem; }
.p-hero { height: 100vh; height: 100svh; }
.p-trouble { height: auto; }
.p-trouble__keyword{text-underline-offset: -.25rem;}
.p-trouble__bg-img { width: 50%; height: 10rem; }
.p-trouble__inner { padding-top: 3.75rem; padding-left: 1.25rem; padding-right: 1.25rem; padding-bottom: 11rem; }
.p-trouble__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-trouble__grid { grid-template-columns: repeat(2, 1fr); column-gap: 1rem; row-gap: 1.5rem; margin-bottom: 2rem; }
.p-trouble__card { height: auto; padding: 1rem; }
.p-trouble__card-text { font-size: 0.875rem; }
.p-trouble__cta { width: 100%; font-size: 1.125rem; height: auto; white-space: normal; padding: 0.875rem 1rem; }
.p-hero__inner { padding-top: 5.625rem; align-items: center; justify-content: center; gap: 1.5rem; padding-bottom: 2rem; }
.p-hero__title { font-size: 1.75rem; margin-bottom: 0; text-align: center; }
.p-hero__desc { font-size: 0.875rem; margin-bottom: 0; text-align: center; line-height: 1.8; padding: 0 1.25rem; }
.p-hero__cta { flex-direction: column; align-items: center; gap: 1rem; width: 100%; padding: 1rem 1.25rem 0; }
.p-hero__btn { width: 100%; height: 4rem; font-size: 1rem; }
.p-services { padding: 3.75rem 1.25rem; }
.p-services__title { font-size: 1.5rem; margin-bottom: 2rem; line-height: 1.4; }
.p-services__cards { gap: 1.5rem; }
.p-services__card { flex-direction: column; height: auto; }
.p-services__card--reverse { flex-direction: column; }
.p-services__card-img { width: 100%; height: 12rem; }
.p-services__card-body { padding: 1.5rem 1.25rem; }
.p-services__card-title { font-size: 1.125rem; margin-bottom: 1rem; }
.p-services__card-text { font-size: 0.875rem; margin-bottom: 1.5rem; }
.p-services__card-btn { width: 100%; max-width: 22rem; height: 4rem; font-size: 1rem; }
.p-news { padding: 3.75rem 0; }
.p-news__inner { flex-direction: column; gap: 2rem; padding: 0 1.25rem; }
.p-news__left { width: 100%; flex-direction: row; align-items: center; justify-content: space-between; gap: 1rem; }
.p-news__title { font-size: 1.5rem; }
.p-news__more-btn { width: auto; height: 2rem; padding: 0; font-size: 0.875rem; white-space: nowrap; }
.p-news__item { height: auto; min-height: 4.5rem; flex-wrap: wrap; padding: 1.25rem 1rem; gap: 0.5rem .75rem; }
.p-news__date { font-size: 0.875rem; min-width: auto; }
.p-news__cat { font-size: 0.8125rem; }
.p-news__item-title { font-size: 0.9375rem; white-space: normal; width: 100%; }
.p-news__item-icon{font-size: 1.25rem;}
.p-cases { padding: 3.75rem 0; }
.p-cases__card-title{font-size: 1rem;margin: 0 0 0.5rem;line-height: 1.5;}
.p-cases__more-link{font-size: 1rem;width: 100%;}
.p-cases__card-body{padding: 0.5rem 0 0;}
.p-cases__card-author{font-size: 0.875rem;}
.p-cases__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-cases__grid { grid-template-columns: 1fr; gap: 1.5rem; padding: 0 1.25rem; margin-bottom: 2.5rem; }
.p-cases__card-img { height: 12rem; }
.p-cases__more { padding: 0 1.25rem; }
.p-page-hero { padding: 7.5rem 0 2rem; }
.p-page-hero__inner { padding: 0 1.25rem; }
.p-page-hero__title { font-size: 2rem; }
.p-archive-cases { padding: 5.625rem 0 3.75rem; }
.p-archive-cases__inner { padding: 0 1.25rem; }
.p-archive-cases__title { font-size: 1.75rem; margin-bottom: 1rem; }
.p-archive-cases__filter { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 2.5rem; }
.p-archive-cases__filter-btn { height: 3.75rem; font-size: 1rem; }
.p-archive-cases__filter-btn.is-active::after { bottom: -0.625rem; border-left-width: 0.5rem; border-right-width: 0.5rem; border-top-width: 0.625rem; }
.p-archive-cases__grid { grid-template-columns: 1fr; gap: 1.5rem; }
.p-single-case { padding: 5.625rem 1.25rem 3.75rem; }
.p-single-case__inner { padding: 0; }
.p-single-case__title { font-size: 2rem; margin-bottom: 1rem; }
.p-single-case__cat { font-size: 0.875rem; }
.p-single-case__date { font-size: 0.875rem; }
.p-single-case__content { font-size: 1rem; }
.p-single-case__content h2,
.p-single-case__content h3,
.p-single-case__content h4,
.p-single-case__content h5 { scroll-margin-top: 6rem; }
.p-single-case__content h3 { font-size: 1.125rem; margin: 2rem 0 0.875rem; padding-bottom: 0.75rem; }
.p-single-case__cta { padding: 0; }
.p-single-case__cta-btn { width: 100%; max-width: 22rem; height: 4rem; font-size: 1rem; }
.p-single-case__share { margin-top: 2.5rem; padding-top: 2.5rem; }
.p-single-case__related { margin-top: 3.75rem; }
.p-single-case__related-title { font-size: 1.5rem; margin-bottom: 1.5rem; }
body.blog .p-homeContent.l-parent, body.category .p-homeContent.l-parent { padding-top: 0; padding-bottom: 3.75rem; }
.p-blog-archive { padding: 5.625rem 0 3.75rem; }
.p-blog-archive__inner { padding: 0 1.25rem; }
.p-blog-archive__breadcrumb { margin-bottom: 1.5rem; font-size: 0.8125rem; }
.p-blog-archive__title { font-size: 1.75rem; margin-bottom: 1rem; }
.p-blog-archive__lead { margin-bottom: 2rem; }
.p-blog-single { padding: 0; }
.p-blog-single__inner { padding: 5.625rem 1.25rem 3.75rem; }
.p-blog-single__breadcrumb { margin-bottom: 1.5rem; font-size: 0.8125rem; }
.p-blog-single__title { font-size: 1.75rem; margin-bottom: 1rem; }
.p-engineers { padding: 3.75rem 0; }
.p-engineers__card-body{padding: 0.5rem 0 0;}
.p-engineers__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-engineers__grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; padding: 0 1.25rem; margin-bottom: 2rem;}
.p-engineers__card-img { width: 100%; height: 10rem; }
.p-engineers__card-name { font-size: 1rem; }
.p-engineers__card-specialty { font-size: 0.875rem; }
.p-engineers__more { padding: 0 1.25rem; }
.p-engineers__more-link { width: 100%; height: 4rem; font-size: 1rem; }
.p-archive-engineers { padding: 5.625rem 0 3.75rem; }
.p-archive-engineers__inner { padding: 0 1.25rem; }
.p-archive-engineers__breadcrumb { margin-bottom: 1.5rem; font-size: 0.8125rem; }
.p-single-engineer__breadcrumb { margin-bottom: 1.5rem; font-size: 0.8125rem; }
.p-archive-cases__breadcrumb { margin-bottom: 1.5rem; font-size: 0.8125rem; }
.p-single-case__breadcrumb { margin-bottom: 1.5rem; font-size: 0.8125rem; }
.p-archive-engineers__title { font-size: 1.75rem; margin-bottom: 1rem; }
.p-archive-engineers__desc { font-size: 0.875rem; line-height: 1.8; margin-bottom: 2rem; text-align: left; }
.p-archive-engineers__desc br { display: none; }
.p-archive-engineers__filter { padding: 1.5rem 1.25rem; margin-bottom: 2.5rem; }
.p-archive-engineers__filter-title { font-size: 1.25rem; margin-bottom: 1.5rem; }
.p-archive-engineers__filter-grid { grid-template-columns: 1fr; gap: 1.5rem; }
.p-archive-engineers__filter-group { flex-direction: column; gap: 0.75rem; }
.p-archive-engineers__filter-label { flex: none; font-size: 1rem; margin-bottom: 0; }
.p-archive-engineers__chips { gap: 0.625rem; }
.p-archive-engineers__chip { width: calc(50% - 0.3125rem); }
.p-archive-engineers__chip-label { width: 100%; gap: 0.625rem; font-size: 0.875rem; line-height: 1.4; }
.p-archive-engineers__selects { gap: 0.625rem; flex-wrap: wrap; }
.p-archive-engineers__select-wrap { width: 100%; }
.p-archive-engineers__select { height: 3rem; font-size: 1.0625rem; }
.p-archive-engineers__select-divider { font-size: 1rem; }
.p-archive-engineers__group { margin-bottom: 3rem; }
.p-archive-engineers__group-title { font-size: 1.5rem; line-height: 1.5; margin-bottom: 1.5rem; }
.p-archive-engineers__group-title span { display: block; margin: 0.25rem 0 0; font-size: 0.875rem; }
.p-archive-engineers__grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; justify-content: initial; }
.p-archive-engineers__card-img { width: 100%; height: 10rem; }
.p-archive-engineers__card-body { padding-top: 0.5rem; }
.p-archive-engineers__card-name { font-size: 1rem; }
.p-archive-engineers__card-specialty { font-size: 0.875rem; }
.p-archive-engineers__card-actions { margin-top: 0.75rem; }
.p-archive-engineers__action { min-height: 2.75rem; font-size: 0.875rem; }
.p-archive-engineers__action i { font-size: 0.875rem; }
.p-single-engineer { padding: 5.625rem 1.25rem 3.75rem; }
.p-single-engineer__inner { padding: 0; }
.p-single-engineer__header { flex-direction: column-reverse; gap: 1.25rem; }
.p-single-engineer__header-photo { width: 100%; height: auto; }
.p-single-engineer__name-ja { font-size: 2rem; }
.p-single-engineer__specialty { font-size: 1.125rem; margin-bottom: 1.25rem; }
.p-single-engineer__profile-row { gap: 0.75rem; margin-bottom: 0; }
.p-single-engineer__profile-label { flex-basis: 4.75rem; font-size: 0.9375rem; line-height: 1.8; }
.p-single-engineer__profile-value { font-size: 0.9375rem; line-height: 1.8; }
.p-single-engineer__section { grid-template-columns: 1fr; gap: 1rem; padding: 1.5rem 0; }
.p-single-engineer__section-title { font-size: 1.125rem; }
.p-single-engineer__list-item { gap: 0.75rem; font-size: 0.9375rem; line-height: 1.8; }
.p-single-engineer__list-icon { font-size: 1rem; line-height: 1.8; margin-top: 0.15rem; }
.p-single-engineer__achievements { grid-template-columns: 1fr; gap: 1.5rem; }
.p-single-engineer__section--achievements .p-single-engineer__section-title { margin-bottom: 0; }
.p-single-engineer__cta { flex-direction: column; align-items: center; gap: 1rem; }
.p-single-engineer__cta-btn { width: 100%; max-width: 22rem; height: 4rem; font-size: 1rem; }
.p-engineer-modal { padding: 5.625rem 1rem 1rem; align-items: flex-start; }
.p-engineer-modal__dialog { width: 100%; max-height: calc(100vh - 6.625rem); }
.p-engineer-modal__close { top: 0.875rem; right: 0.875rem; width: 2.5rem; height: 2.5rem; font-size: 1rem; }
.p-engineer-modal__head { padding: 3.25rem 1rem 0; }
.p-engineer-modal__label { font-size: 1.125rem; margin-bottom: 0.5rem; }
.p-engineer-modal__title { font-size: 1.5rem; margin-bottom: 0.75rem; }
.p-engineer-modal__text { font-size: 0.875rem; line-height: 1.8; }
.p-engineer-modal__body { padding: 1.5rem 1rem 1.5rem; }
.p-engineer-modal__target { flex-direction: column; gap: 1rem; padding-bottom: 1.5rem; margin-bottom: 1.5rem; }
.p-engineer-modal__target-photo { width: 100%; height: auto; aspect-ratio: 4 / 3; }
.p-engineer-modal__target-name { font-size: 1.25rem; }
.p-engineer-modal__target-specialty { font-size: 0.875rem; }
.p-engineer-modal__target-meta { margin-top: 0.75rem; gap: 0.375rem; }
.p-engineer-modal__target-row { grid-template-columns: 1fr; row-gap: 0.125rem; }
.p-engineer-modal__target-row dt { font-size: 0.875rem; }
.p-engineer-modal__target-row dd { font-size: 0.875rem; line-height: 1.8; }
.p-engineer-modal__form .p-contact-form__row { grid-template-columns: 1fr; row-gap: 0.75rem; align-items: start; margin-bottom: 1.25rem; }
.p-engineer-modal__form .p-contact-form__label { white-space: normal; }
.p-engineer-guarantee { padding: 3.75rem 0; }
.p-engineer-guarantee__inner { padding: 0 1.25rem; }
.p-engineer-guarantee__heading { font-size: 1.5rem; margin-bottom: 2rem; }
.p-engineer-guarantee__card { flex-direction: column; height: auto; }
.p-engineer-guarantee__card-img { width: 100%; height: 14rem; }
.p-engineer-guarantee__card-body { padding: 1.5rem 1.25rem; }
.p-engineer-guarantee__card-title { font-size: 1.125rem; margin-bottom: 1.25rem; white-space: nowrap; }
.p-engineer-guarantee__card-text { font-size: 0.9375rem; }
.p-company { padding: 5.625rem 0 3.75rem; }
.p-company__inner { padding: 0 1.25rem; }
.p-company__breadcrumb { margin-bottom: 1.5rem; font-size: 0.8125rem; }
.p-company__title { font-size: 1.75rem; margin-bottom: 1rem; }
.p-company__lead { font-size: 0.875rem; line-height: 1.8; margin-bottom: 2.5rem; }
.p-company__lead br { display: none; }
.page-staffing .p-company__lead { margin-bottom: 0; }
.p-company__message { gap: 1.5rem; margin-bottom: 3rem; }
.p-company__message-card,
.p-company__message-card--reverse { width: 100%; height: auto; flex-direction: column-reverse; }
.p-company__message-body { width: 100%; padding: 1.5rem 1.25rem; }
.p-company__message-label { font-size: 1.5rem; margin-bottom: 1rem; }
.p-company__message-title { font-size: 1.25rem; margin-bottom: 1rem; line-height: 1.6; }
.p-company__message-text { font-size: 0.9375rem; line-height: 1.8; }
.p-company__message-text br { display: none; }
.p-company__message-image { width: 100%; height: 13rem; }
.p-company__section-title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-company__overview { margin-bottom: 3rem; }
.p-company__overview-table { padding: 1.5rem 1.25rem; }
.p-company__overview-row { grid-template-columns: 1fr; row-gap: 0.5rem; margin-bottom: 1.25rem; }
.p-company__overview-label { font-size: 1rem; }
.p-company__overview-value { font-size: 0.9375rem; line-height: 1.8; }
.p-company__team { margin-bottom: 3rem; }
.p-company__team-lead { font-size: 0.875rem; line-height: 1.8; margin-bottom: 2rem; text-align: left; }
.p-company__team-lead br { display: none; }
.p-company__team-grid { grid-template-columns: 1fr; gap: 1.5rem; }
.p-company__member-image { width: 100%; height: auto; aspect-ratio: 1 / 1; }
.p-company__member-name { font-size: 1rem; margin-bottom: 0.375rem; }
.p-company__member-meta { font-size: 0.875rem; }
.p-company__compliance-lead { font-size: 0.875rem; line-height: 1.8; margin-bottom: 1.5rem; text-align: left; }
.p-company__compliance-lead br { display: none; }
.p-company__compliance-list { grid-template-columns: 1fr; gap: 0.875rem; padding: 1rem 1.25rem; }
.p-company__compliance-item { font-size: 0.875rem; align-items: flex-start; }
.p-company__compliance-item i { font-size: 1rem; margin-top: 0.1rem; }
.p-contact { padding: 5.625rem 0 3.75rem; }
.p-contact__inner { padding: 0 1.25rem; }
.p-contact__breadcrumb { margin-bottom: 1.5rem; font-size: 0.8125rem; }
.p-contact__title { font-size: 1.75rem; margin-bottom: 1rem; }
.p-contact__panel { width: 100%; min-height: 0; padding: 1.5rem 1rem 2rem; }
.p-contact__context { margin-bottom: 1.5rem; }
.p-contact__context-label { font-size: 0.8125rem; margin-bottom: 0.5rem; }
.p-contact__context-box { flex-direction: column; gap: 1rem; padding: 1rem; border-left-width: 0.25rem; }
.p-contact__context-photo { width: 100%; height: auto; aspect-ratio: 4 / 3; }
.p-contact__context-name { font-size: 1.125rem; }
.p-contact__context-specialty { font-size: 0.875rem; }
.p-contact__context-text { font-size: 0.875rem; margin-top: 0.625rem; }
.p-contact__context-meta { margin-top: 0.875rem; gap: 0.375rem; }
.p-contact__context-meta-row { grid-template-columns: 1fr; row-gap: 0.125rem; }
.p-contact__context-meta-label { font-size: 0.8125rem; }
.p-contact__context-meta-value { font-size: 0.8125rem; line-height: 1.8; }
.p-policy { padding: 5.625rem 0 3.75rem; }
.p-policy__inner { padding: 0 1.25rem; }
.p-policy__breadcrumb { margin-bottom: 1.5rem; font-size: 0.8125rem; }
.p-policy__title { font-size: 1.75rem; margin-bottom: 1rem; }
.p-policy__lead { font-size: 0.875rem; line-height: 1.8; margin-bottom: 2rem; }
.p-policy__panel { width: 100%; padding: 1.5rem 1rem 2rem; }
.p-policy__section { padding-bottom: 1.5rem; margin-bottom: 1.5rem; }
.p-policy__section-title { font-size: 1.125rem; margin-bottom: 0.875rem; line-height: 1.6; }
.p-policy__body { font-size: 0.9375rem; line-height: 1.8; }
.p-policy__body p { margin-bottom: 0.75rem; }
.p-policy__list li { gap: 0.625rem; margin-bottom: 0.625rem; }
.p-policy__list li i { font-size: 0.875rem; margin-top: 0.45rem; }
.p-policy__row { grid-template-columns: 1fr; row-gap: 0.375rem; margin-bottom: 1rem; }
.p-policy__label { font-size: 0.9375rem; }
.p-policy__value { font-size: 0.9375rem; line-height: 1.8; }
.p-policy__contact-link { font-size: 0.9375rem; }
.p-searchArchiveLinks { margin-bottom: 2rem; }
.p-searchArchiveLinks__link { padding: 1rem; }
.p-searchArchiveLinks__title { font-size: 1rem; }
.p-searchArchiveLinks__text { font-size: 0.875rem; margin-top: 0.375rem; }
.p-contact-form__row { grid-template-columns: 1fr; row-gap: 0.75rem; margin-bottom: 1.25rem; }
.p-contact-form__row--checkbox { margin-bottom: 2rem; }
.p-contact-form__row--radio { margin: 2rem 0; }
.p-contact-form__label { padding-top: 0; font-size: 0.9375rem; }
.p-contact-form__required { font-size: 0.8125rem; }
.p-contact__form input[type="text"],
.p-contact__form input[type="email"],
.p-contact__form input[type="tel"],
.p-contact__form input[type="url"],
.p-contact__form input[type="number"],
.p-contact__form select,
.p-contact__form textarea { height: 3.5rem; padding: 0 1rem; font-size: 1.0625rem; }
.p-contact__form textarea { height: 10rem; padding-top: 0.875rem; }
.p-contact__form .wpcf7-form-control.wpcf7-radio,
.p-contact__form .wpcf7-form-control.wpcf7-checkbox { gap: 0.75rem 1rem; }
.p-contact__form .wpcf7-list-item { margin-right: 0.75rem; }
.p-contact__form .wpcf7-list-item label { gap: 0.5rem; font-size: 0.875rem; }
.p-contact__form input[type="radio"],
.p-contact__form input[type="checkbox"] { width: 1rem; height: 1rem; }
.p-contact-form__privacy { width: 100%; margin: 1rem 0 2rem; padding: 1.5rem 1rem; }
.p-contact-form__privacy-title { font-size: 0.9375rem; margin-bottom: 0.75rem; }
.p-contact-form__privacy-text { font-size: 0.8125rem; line-height: 1.8; margin-bottom: 0.75rem; }
.p-contact-form__privacy-check { gap: 0.625rem; font-size: 0.875rem; }
.p-contact__form .wpcf7-submit { width: 100%; max-width: 20rem; height: 3.75rem; font-size: 1rem; }
.p-single-case__author { padding: 1.5rem 1rem; margin-bottom: 2.5rem; }
.p-single-case__author-label { margin-bottom: 1rem; font-size: 1rem; }
.p-single-case__author-info { grid-template-columns: 1fr; gap: 1rem; }
.p-single-case__author-photo { width: 100%; height: auto; aspect-ratio: 4 / 3; }
.p-single-case__author-detail { margin-top: 0.375rem; }
.p-single-case__author-name { font-size: 1rem; }
.p-single-case__author-excerpt { font-size: 0.9375rem; line-height: 1.8; }
.p-single-case__author-profile-link { font-size: 0.9375rem; margin-top: 0.25rem; }
.p-cta { padding: 3.75rem 0; }
.p-cta__inner { padding: 0 1.25rem; }
.p-cta__title { font-size: 1.5rem; margin-bottom: 1.5rem; }
.p-cta__text { font-size: 0.875rem; margin-bottom: 2.5rem; }
.p-cta__btn { width: 100%; height: 4rem; font-size: 1rem; }
.p-staffing-hero { height: 100vh; height: 100svh; }
.p-staffing-hero__inner { padding-top: 5.625rem; align-items: center; justify-content: center; gap: 1.5rem; padding-bottom: 2rem; }
.p-staffing-hero__title { font-size: 1.75rem; margin: 0; }
.p-staffing-hero__desc { font-size: 0.875rem; line-height: 1.8; padding: 0 1.25rem; margin: 0; }
.p-staffing-hero__cta { flex-direction: column; align-items: center; gap: 1rem; width: 100%; padding: 1rem 1.25rem 0; }
.p-staffing-problems__img-tl{left: -10rem;width: 100%;height: 28rem;}
.p-staffing-hero__btn { width: 100%; height: 4rem; font-size: 1rem; max-width: none; }
.p-staffing-problems__inner { padding-top: 3.75rem; padding-bottom: 5rem; padding-left: 1.25rem; padding-right: 1.25rem; }
.p-staffing-problems__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-staffing-problems__subtitle { font-size: 0.875rem; line-height: 1.8; margin-bottom: 2rem; }
.p-staffing-problems__grid { grid-template-columns: repeat(2, 1fr); column-gap: 1rem; row-gap: 1.5rem; }
.p-staffing-problems{min-height: unset;}
.p-staffing-problems__img-br{right: -3rem;width: 100%;height: 18rem;}
.p-staffing-problems__card { height: auto; padding: 1rem; }
.p-staffing-problems__card-text { font-size: 0.875rem; }
.p-staffing-problems__desc { font-size: 1.125rem; line-height: 1.8; margin-top: 2rem; }
.p-staffing-areas { padding-top: 3.75rem; padding-bottom: 2.5rem; }
.p-staffing-areas__inner { padding: 0 1.5rem 1.5rem; }
.p-staffing-areas__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-staffing-areas__list { padding: 1.5rem; }
.p-staffing-areas__item { flex-direction: column; padding: 0; gap: .75rem; }
.p-staffing-areas__item--reverse { flex-direction: column; }
.p-staffing-areas__item-img { width: 100%; flex: 0 0 10rem; }
.p-staffing-areas__item-heading { font-size: 1.125rem; margin: 0 0 .75rem;}
.p-staffing-areas__bullets-wrap { gap: 0.625rem; flex-flow: column;}
.p-staffing-areas__example { width: 100%; font-size: 0.875rem; padding: .5rem 0;color: #23299e;background: linear-gradient(270deg, rgba(216, 232, 255, 1) 0%, rgba(239, 245, 255, 1) 100%);}
.p-staffing-areas__item-bullets li { font-size: 0.875rem; }
.p-staffing-areas__divider { margin: 2rem 0; }
.p-staffing-areas__tech-wrap { margin: 2rem 0 0; padding: 1.25rem; }
.p-staffing-areas__tech { flex-direction: column; padding: 0; gap: 1.25rem; }
.p-staffing-areas__tech-img { width: 100%; flex: 0 0 10rem; }
.p-staffing-areas__tech-body { padding: 0; }
.p-staffing-areas__tech-heading { font-size: 1.125rem; }
.p-staffing-areas__tech-list li { font-size: 0.9375rem; }
.p-staffing-areas__desc { font-size: 1.125rem; line-height: 1.6; margin-top: 0; }
.p-staffing-reasons { padding-top: 3.75rem; padding-bottom: 3.75rem; }
.p-staffing-reasons__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-staffing-reasons__list { width: 100%; padding: 0 1.25rem; gap: 1.5rem; }
.p-staffing-reasons__card { flex-direction: column; height: auto; }
.p-staffing-reasons__card--reverse { flex-direction: column; }
.p-staffing-reasons__card-img { width: 100%; flex: 0 0 14rem;}
.p-staffing-reasons__card-body { padding: 1.25rem; }
.p-staffing-reasons__card-header { gap: 1rem; }
.p-staffing-reasons__card-heading { font-size: 1.25rem; line-height: 1.4;}
.p-staffing-reasons__card-text { font-size: 0.9375rem; }
.p-staffing-contact { height: auto; min-height: unset; }
.p-staffing-contact__inner { position: relative; padding: 3.75rem 1.25rem; }
.p-staffing-contact__title { font-size: 1.5rem; margin-bottom: 1.5rem; }
.p-staffing-contact__text { font-size: 0.875rem; line-height: 1.8; margin-bottom: 1.5rem; }
.p-staffing-contact__cta { flex-direction: column; align-items: center; gap: 1rem; width: 100%; }
.p-staffing-contact__btn { width: 100%; height: 4rem; font-size: 1rem; max-width: none; }
.p-staffing-pricing { padding-top: 3.75rem; padding-bottom: 3.75rem; }
.p-staffing-pricing__inner { padding: 0 1.25rem; }
.p-staffing-pricing__title { font-size: 1.5rem; margin-bottom: 1.5rem; }
.p-staffing-pricing__subtitle { font-size: 0.875rem; line-height: 1.8; margin-bottom: 2rem; }
.p-staffing-pricing__box { padding: 1.5rem; gap: 1.5rem; }
.p-staffing-pricing__row { flex-direction: column; gap: 1rem; }
.p-staffing-pricing__row-label { flex: none; width: 100%; padding-top: 0; }
.p-staffing-pricing__block-heading { font-size: 1.125rem; }
.p-staffing-pricing__row-content { width: 100%; }
.p-staffing-pricing__table-head span,
.p-staffing-pricing__table-row span { font-size: 0.9375rem; padding: 0.875rem 0 0.875rem 1rem; }
.p-staffing-pricing__list { padding: 1rem 1rem 1.5rem 1rem; }
.p-staffing-pricing__list li { font-size: 0.9375rem; }
.p-staffing-pricing__list li i { font-size: 1rem; }
.p-staffing-pricing__spot-main,
.p-staffing-pricing__spot-note { font-size: 0.9375rem; padding-left: 1rem; padding-right: 1rem; }
.p-staffing-pricing__spot-label { font-size: 0.9375rem; padding: 1.25rem 1rem 0; }
.p-staffing-pricing__table-col2 { width: 8rem; }
.p-staffing-flow { padding-top: 3.75rem; padding-bottom: 3.75rem; }
.p-staffing-flow__inner { padding: 0 1.25rem; }
.p-staffing-flow__img-bl{height: 30rem;width: 100%;bottom: -1rem;}
.p-staffing-flow__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-staffing-flow__img-tr{right: -4rem;width: 100%;height: 22rem;top: -3rem;}
.p-staffing-flow__step { width: 100%; padding: 1.5rem 1.25rem; }
.p-staffing-flow__step-badge { width: 6.5rem; height: 2.25rem; }
.p-staffing-flow__step-badge span { font-size: 1.375rem; }
.p-staffing-flow__step-name { font-size: 1.125rem; }
.p-staffing-flow__step-desc { font-size: 0.9375rem;text-align: center; }
.p-staffing-flow__arrow { width: 100%; height: unset; margin: .5rem 0;}
.p-staffing-flow__arrow i { font-size: 2rem; }
.p-staffing-engineers { padding-top: 3.75rem; padding-bottom: 3.75rem; }
.p-staffing-engineers__inner { padding: 0 1.25rem; }
.p-staffing-engineers__title { font-size: 1.5rem; margin-bottom: 2rem;line-height: 1.5; }
.p-staffing-engineers__grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.p-staffing-engineers__card-body { padding: 0.5rem 0 0; }
.p-staffing-engineers__card-img { width: 100%; height: 10rem; }
.p-staffing-engineers__card-name { font-size: 1rem; }
.p-staffing-engineers__card-specialty { font-size: 0.875rem; }
.p-staffing-engineers__more { padding: 0; }
.p-staffing-engineers__more-link { width: 100%; height: 4rem; font-size: 1rem; max-width: none; }
.p-staffing-faq { padding-top: 3.75rem; padding-bottom: 3.75rem; }
.p-staffing-faq__inner { padding: 0 1.25rem; flex-direction: column; gap: 2rem; }
.p-staffing-faq__heading-col { flex: none; width: 100%; }
.p-staffing-faq__list-col { width: 100%; }
.p-staffing-faq__title { font-size: 1.5rem; }
.p-staffing-faq__question { gap: 1rem; padding: 1.25rem 0; }
.p-staffing-faq__q-text { font-size: 0.9375rem; }
.p-staffing-faq__answer { padding-left: 2.75rem; }
.p-staffing-faq__answer p { font-size: 0.9375rem; }
.p-staffing-cta-final { padding-top: 3.75rem; padding-bottom: 3.75rem; }
.p-staffing-cta-final__inner { padding: 0 1.25rem; }
.p-staffing-cta-final__title { font-size: 1.5rem; margin-bottom: 1.5rem; }
.p-staffing-cta-final__text { font-size: 0.875rem; line-height: 1.8; margin-bottom: 2.5rem; }
.p-staffing-cta-final__btn { width: 100%; height: 4rem; font-size: 1rem; justify-content: center; max-width: none; }
.p-solidworks-hero { height: 100vh; height: 100svh; }
.p-solidworks-hero__inner { align-items: center; justify-content: center; gap: 0; padding: 5.625rem 1.25rem 2rem; }
.p-solidworks-hero__title { margin: 0 0 1.25rem; }
.p-solidworks-hero__title-line { font-size: 1.75rem; line-height: 1.5; }
.p-solidworks-hero__message { max-width: 100%; margin-bottom: 1.25rem; }
.p-solidworks-hero__message-head { width: 100%; min-height: 2rem; padding: 0.5rem 1rem; font-size: 1rem; line-height: 1.5; }
.p-solidworks-hero__message-head::before,
.p-solidworks-hero__message-head::after { bottom: -0.5rem; width: 1rem; height: 0.5rem; }
.p-solidworks-hero__message-body { grid-template-columns: 1fr; margin: 0 1rem; }
.p-solidworks-hero__points { position: relative; z-index: 1; padding: 0.5rem 1rem 1.125rem; gap: 0.25rem; }
.p-solidworks-hero__point { align-items: flex-start; gap: 0.5rem; font-size: 0.9375rem; line-height: 1.7; }
.p-solidworks-hero__point i { font-size: 1rem; margin-top: 0.2rem; }
.p-solidworks-hero__message-image { height: 10rem; margin-top: -2rem; }
.p-solidworks-hero__message-image img { object-position: center top; }
.p-solidworks-hero__cta { width: 100%; }
.p-solidworks-hero__btn { width: 100%; max-width: none; height: 4rem; font-size: 1rem; }
.p-solidworks-issues__img-tl{top: -8rem;width: 100%;height: 30rem;}
.p-solidworks-issues__inner { padding: 5rem 1.25rem; }
.p-solidworks-issues__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-solidworks-issues__grid { grid-template-columns: repeat(2, 1fr); column-gap: 1rem; row-gap: 1.5rem; }
.p-solidworks-issues__card { min-height: auto; padding: 1rem; }
.p-solidworks-issues__card-text { font-size: 0.875rem; }
.p-solidworks-issues__card-bar { width: 85%; max-width: 19.5rem; height: 1rem; margin-top: -0.75rem; }
.p-solidworks-issues__lead { margin-top: 2rem; font-size: 1.125rem; line-height: 1.8; }
.p-solidworks-issues__img-br{right: -6rem;bottom: -2rem;width: 100%;height: 20rem;}
.p-solidworks-services { padding: 3.75rem 0; }
.p-solidworks-services__inner { padding: 0 1.25rem; }
.p-solidworks-services__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-solidworks-services__panel { padding: 1.5rem 1.25rem; }
.p-solidworks-services__block { padding-bottom: 1.5rem; margin-bottom: 1.5rem; }
.p-solidworks-services__block--last{margin-bottom: 0;}
.p-solidworks-services__heading { align-items: center; gap: 1rem; margin-bottom: 1rem; }
.p-solidworks-services__badge { width: 2.5rem; height: 2.5rem; font-size: 1rem; }
.p-solidworks-services__block-title { font-size: 1rem; line-height: 1.6; padding-top: 0; }
.p-solidworks-services__content { padding-left: 0; }
.p-solidworks-services__item { margin-bottom: 0.5rem; }
.p-solidworks-services__label { width: 2rem; font-size: 0.9375rem; line-height: 1.8; }
.p-solidworks-services__body p { font-size: 0.9375rem; line-height: 1.8; }
.p-solidworks-services__list { padding-left: 1.25rem; }
.p-solidworks-services__list li { font-size: 0.9375rem; line-height: 1.8; }
.p-solidworks-services__list--offset { padding-left: 1.25rem; }
.p-solidworks-services__lead { padding-top: 0; }
.p-solidworks-services__lead p { font-size: 1rem; line-height: 1.8; }
.p-solidworks-features { padding: 3.75rem 0; }
.p-solidworks-features__inner { padding: 0 1.25rem; }
.p-solidworks-features__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-solidworks-features__card { width: 100%; height: auto; flex-direction: column; margin-bottom: 1.5rem; }
.p-solidworks-features__card--reverse { flex-direction: column; }
.p-solidworks-features__card-img { width: 100%; flex: 0 0 14rem; }
.p-solidworks-features__card-body,
.p-solidworks-features__card-body--left { padding: 1.5rem 1.25rem; }
.p-solidworks-features__label { width: 8rem; height: 2rem; font-size: 1rem; margin-bottom: 1rem; }
.p-solidworks-features__card-title { font-size: 1.125rem; line-height: 1.8; margin-bottom: 0.75rem; }
.p-solidworks-features__card-text { font-size: 0.9375rem; line-height: 1.8; }
.p-solidworks-contact { min-height: unset; }
.p-solidworks-contact__inner { min-height: unset; padding: 3.75rem 1.25rem; }
.p-solidworks-contact__title { font-size: 1.5rem; margin-bottom: 1.5rem; }
.p-solidworks-contact__text { font-size: 0.875rem; line-height: 1.8; margin-bottom: 2.5rem; }
.p-solidworks-contact__btn { width: 100%; max-width: none; height: 4rem; font-size: 1rem; }
.p-solidworks-flow { padding-top: 3.75rem; padding-bottom: 3.75rem; }
.p-solidworks-flow__inner { padding: 0 1.25rem; }
.p-solidworks-flow__img-bl { width: 100%; height: 30rem; bottom: -1rem; }
.p-solidworks-flow__img-tr { right: -4rem; width: 100%; height: 22rem; top: -3rem; }
.p-solidworks-flow__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-solidworks-flow__step { width: 100%; padding: 1.5rem 1.25rem; align-items: center; gap: 1rem; }
.p-solidworks-flow__step-badge { width: 6.5rem; height: 2.25rem; }
.p-solidworks-flow__step-badge span { font-size: 1.375rem; }
.p-solidworks-flow__step-name { font-size: 1.125rem; line-height: 1.4; margin: 0; }
.p-solidworks-flow__step-desc { font-size: 0.9375rem; line-height: 1.8; text-align: center; }
.p-solidworks-flow__arrow { width: 100%; margin: 0.5rem 0; }
.p-solidworks-flow__arrow i { font-size: 2rem; }
.p-solidworks-solutions { padding: 3.75rem 0; }
.p-solidworks-solutions__inner { padding: 0 1.25rem; }
.p-solidworks-solutions__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-solidworks-solutions__table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.p-solidworks-solutions__table { width: 60rem; }
.p-solidworks-solutions__col-service { width: 12rem; }
.p-solidworks-solutions__col-before,
.p-solidworks-solutions__col-after { width: 24rem; }
.p-solidworks-solutions__head { padding: 0.75rem 1rem; font-size: 0.9375rem; line-height: 1.8; }
.p-solidworks-solutions__cell { padding: 0.75rem 1rem; font-size: 0.9375rem; line-height: 1.8; }
.p-solidworks-cases { padding: 0 0 3.75rem 0; }
.p-solidworks-cases__inner { padding: 0 1.25rem; }
.p-solidworks-cases__title { font-size: 1.5rem; margin-bottom: 2rem; }
.p-solidworks-cases__card,
.p-solidworks-cases__card--wide { width: 100%; padding: 1.5rem 1.25rem; }
.p-solidworks-cases__meta { align-items: flex-start; gap: 0.75rem; }
.p-solidworks-cases__badge { min-width: 5.5rem; height: 2rem; font-size: 1rem; }
.p-solidworks-cases__company { font-size: 1.125rem; }
.p-solidworks-cases__tags { margin-left: 0; gap: 0.5rem; }
.p-solidworks-cases__tags span { height: auto; padding: 0.375rem 0.625rem; font-size: 0.8125rem; }
.p-solidworks-cases__section { margin-bottom: 1rem; }
.p-solidworks-cases__section dt { font-size: 1rem; }
.p-solidworks-cases__section dd { font-size: 0.9375rem; line-height: 1.8; }
.p-solidworks-cases__case-grid { grid-template-columns: 1fr; gap: 1.5rem; }
.p-solidworks-cases__nav { gap: 1rem; margin-top: 2rem; }
.p-solidworks-cases__nav-btn { width: 2.75rem; height: 2.75rem; font-size: 1rem; }
.p-footer__inner { flex-direction: column; gap: 3rem; padding: 3.75rem 1.25rem 2rem; }
.p-footer__left { width: 100%; }
.p-footer__address{font-size: 0.875rem;margin: 0 0 2rem;}
.p-footer__contact-btn { width: 100%; }
.p-footer__tagline{margin: 0 0 1.5rem;line-height: 1.6;}
.p-footer__search { width: 100%; height: 4rem;justify-content: space-between;}
.p-footer__nav { width: 100%; }
.p-footer__contact-btn{height: 4rem;font-size: 1rem;}
.p-footer__bottom { padding: 1rem 1.25rem 3.75rem; flex-direction: column; gap: 1rem; align-items: flex-start; }
.p-footer__nav-item--bold a{font-size: 1rem;}
.p-footer__nav-item--sub a{font-size: 0.875rem;}
.p-footer__copyright{font-size: .875rem;}
.p-footer__pagetop{font-size: .875rem;}
.p-footer__pagetop i{font-size: 1rem;}
.p-footer__logo{ margin: 0 0 .5rem;}
.p-footer__search-input{font-size: 1.125rem;padding: 0 0 0 1.25rem;flex: unset;width: 20rem;}
.p-footer__search-btn{height: 4rem;width: 4rem;}
}
