/* Extracted from services.html <style> - unchanged */
:root{
  --bg:#f6f8fb;
  --card:#ffffff;
  --text:#0f1b2d;
  --muted:#5b6b82;
  --line:rgba(15,27,45,.10);
  --accent:#d9822b;
  --accent2:#f0a35a;
  --brand:#2F6FA3;
  --brand2:#8ECAD9;
  --shadow: 0 16px 40px rgba(15,27,45,.10);
  --shadow2: 0 10px 24px rgba(15,27,45,.10);
  --radius:18px;
  --radius2:24px;
  --max:1120px;
  --headerH:76px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family: var(--ycc-font, system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, Arial, sans-serif);color:var(--text);background: var(--bg);line-height:1.75}

/* Match Home's smoother typography on internal pages (Services/Company).
   Helps prevent Elementor/global CSS and Windows JP font fallbacks from looking "hard". */
body.page-template-page-services-php,
body.page-template-page-services,
body.page-template-page-recruit-php,
body.page-template-page-recruit,
body.page-template-page-company-php,
body.page-template-page-company,
body.page-template-page-posts-php,
body.page-template-page-posts,
body.single-post{
  font-family: var(--ycc-font, system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, Arial, sans-serif) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
}

/* Typography guardrail for editor-provided Services content.
   Keeps fonts/sizes consistent while letting component classes (e.g., .bizLead) control weights/sizes. */
body.page-template-page-services-php .yccServicesContent,
body.page-template-page-services .yccServicesContent{
  /* Keep Services page full-width like other internal pages.
     (Previously this selector was accidentally grouped with the Posts list width rule.) */
  width: 100%;
  max-width: none;
  margin: 0;
}

/* ===== 投稿一覧 (Posts list) ===== */
.yccPostsContent .yccPostsList{
  width: 100%;
  max-width: none;
  margin: 14px auto 8px;
}

.yccPostsContent .yccPostRow{
  border: 1px solid rgba(47,111,163,.35);
  background: rgba(255,255,255,.96);
  border-radius: 6px;
}

.yccPostsContent .yccPostRow + .yccPostRow{
  margin-top: 14px;
}

.yccPostsContent .yccPostRowLink{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap: 18px;
  padding: 16px 18px;
  text-decoration:none;
}

.yccPostsContent .yccPostRowLink:hover{
  background: linear-gradient(135deg, rgba(142,202,217,.10), rgba(47,111,163,.04));
}

.yccPostsContent .yccPostRowLink:focus-visible{
  outline: 3px solid rgba(47,111,163,.28);
  outline-offset: 4px;
}

.yccPostsContent .yccPostRowMain{
  min-width: 0;
}

.yccPostsContent .yccPostRowMeta{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  align-items:center;
  color: rgba(15,27,45,.62);
  font-weight: 800;
  font-size: 12.5px;
  letter-spacing: .02em;
}

.yccPostsContent .yccPostRowCat{
  position: relative;
  padding-left: 12px;
}

.yccPostsContent .yccPostRowCat::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: rgba(142,202,217,.95);
  border: 1px solid rgba(47,111,163,.20);
  position:absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.yccPostsContent .yccPostRowTitle{
  margin: 8px 0 10px;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 950;
  color: rgba(15,27,45,.94);
}

.yccPostsContent .yccPostRowExcerpt{
  margin: 0;
  color: rgba(15,27,45,.70);
  font-weight: 700;
  line-height: 1.85;
  font-size: 13.5px;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.yccPostsContent .yccPostRowMore{
  flex: 0 0 auto;
  display:flex;
  align-items:flex-end;
  gap: 6px;
  color: rgba(47,111,163,.90);
  font-weight: 900;
  font-size: 12.5px;
  letter-spacing: .04em;
  white-space: nowrap;
  padding-left: 10px;
}

.yccPostsContent .yccPostRowArrow{
  font-size: 18px;
  transform: translateY(1px);
}

.yccPostsContent .yccPagination{
  display:flex;
  gap: 8px;
  flex-wrap:wrap;
  justify-content:center;
  margin: 18px 0 6px;
}

.yccPostsContent .yccPagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(15,27,45,.12);
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 18px rgba(15,27,45,.08);
  font-weight: 900;
  color: rgba(15,27,45,.78);
  text-decoration:none;
}

.yccPostsContent .yccPagination .page-numbers.current{
  background: linear-gradient(135deg, rgba(142,202,217,.70), rgba(47,111,163,.18));
  border-color: rgba(47,111,163,.18);
  color: rgba(15,27,45,.92);
}

.yccPostsContent .yccPagination .page-numbers:hover{filter: brightness(1.03)}

@media (max-width: 560px){
  .yccPostsContent .yccPostRowLink{padding: 14px 14px; gap: 12px}
  .yccPostsContent .yccPostRowTitle{font-size: 16px}
}
@media (max-width: 980px){
  .yccPostsContent .yccPostsList{grid-template-columns: 1fr}
  .yccPostsContent .yccPostLink{grid-template-columns: 140px 1fr}
}

@media (max-width: 560px){
  .yccPostsContent .yccPostLink{grid-template-columns: 1fr}
  .yccPostsContent .yccPostThumb{min-height: 180px}
}

/* ===== 投稿詳細 (Single post) ===== */
body.single-post .yccSinglePostHeader{
  padding: 18px 18px 14px;
  border-bottom: 1px solid rgba(15,27,45,.08);
  background: linear-gradient(135deg, rgba(47,111,163,.06), rgba(217,130,43,.06));
}

body.single-post .yccBreadcrumb{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  color: rgba(15,27,45,.62);
  font-weight: 850;
  font-size: 12.5px;
}
body.single-post .yccBreadcrumb a{
  color: rgba(47,111,163,.95);
  text-decoration: none;
}
body.single-post .yccBreadcrumb a:hover{text-decoration: underline; text-underline-offset: 3px}
body.single-post .yccBreadcrumb .sep{opacity:.55}

body.single-post .yccSinglePostTitle{
  margin: 8px 0 6px;
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1.28;
  letter-spacing: .008em;
  font-weight: 950;
  color: rgba(15,27,45,.94);
}

body.single-post .yccSinglePostLead{
  margin: 10px 0 0;
  max-width: 860px;
  color: rgba(15,27,45,.72);
  font-weight: 650;
  font-size: 14px;
  line-height: 1.75;
}

body.single-post .yccPostMetaHeader{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top: 10px;
  color: rgba(15,27,45,.70);
  font-weight: 850;
  font-size: 13px;
  letter-spacing: .02em;
}
body.single-post .yccPostMetaCat{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding-left: 12px;
  position:relative;
  color: rgba(47,111,163,.95);
}
body.single-post .yccPostMetaCat::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: rgba(142,202,217,.95);
  border: 1px solid rgba(47,111,163,.20);
  position:absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

body.single-post .yccSinglePostMain{
  width: 100%;
  max-width: none;
  margin: 16px auto 0;
}

body.single-post .yccSinglePostCard{
  border: 1px solid rgba(47,111,163,.22);
  background: rgba(255,255,255,.96);
  border-radius: var(--radius2);
  box-shadow: var(--shadow2);
  overflow:hidden;
}

body.single-post .yccSinglePostThumb{
  width: 100%;
  height: auto;
  display:block;
}

body.single-post .yccEntryContent{
  padding: 18px 18px 22px;
}

body.single-post .yccEntryContent :is(h2,h3){
  margin: 22px 0 10px;
  line-height: 1.35;
  letter-spacing: .01em;
  color: rgba(15,27,45,.94);
}
body.single-post .yccEntryContent h2{font-size: 22px; font-weight: 950}
body.single-post .yccEntryContent h3{font-size: 18px; font-weight: 950}
body.single-post .yccEntryContent p{margin: 0 0 14px; color: rgba(15,27,45,.84); font-weight: 520}
body.single-post .yccEntryContent ul,
body.single-post .yccEntryContent ol{margin: 0 0 14px; padding-left: 1.2em; color: rgba(15,27,45,.84)}
body.single-post .yccEntryContent li{margin: 6px 0}

body.single-post .yccEntryContent a{
  color: rgba(47,111,163,.98);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 850;
}
body.single-post .yccEntryContent a:hover{filter: brightness(1.05)}

body.single-post .yccEntryContent blockquote{
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 4px solid rgba(217,130,43,.55);
  background: rgba(217,130,43,.06);
  border-radius: 14px;
}
body.single-post .yccEntryContent blockquote p{margin: 0; color: rgba(15,27,45,.82)}

body.single-post .yccEntryContent :is(img,figure,video,iframe){
  max-width: 100%;
}
body.single-post .yccEntryContent figure{margin: 16px 0}
body.single-post .yccEntryContent img{border-radius: 16px; border: 1px solid rgba(15,27,45,.08)}

body.single-post .yccEntryContent table{
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0;
  overflow:hidden;
  border-radius: 16px;
  border: 1px solid rgba(15,27,45,.10);
}
body.single-post .yccEntryContent th,
body.single-post .yccEntryContent td{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(15,27,45,.08);
  vertical-align: top;
}
body.single-post .yccEntryContent th{background: rgba(47,111,163,.06); font-weight: 900}

body.single-post .yccPageLinks{margin-top: 16px; font-weight: 850}

body.single-post .yccSinglePostNav{
  display:grid;
  grid-template-columns: 1fr auto auto 1fr;
  gap: 10px;
  align-items:center;
  margin: 14px 0 6px;
}
body.single-post .yccSinglePostNav :is(a, button){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(15,27,45,.12);
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 18px rgba(15,27,45,.08);
  font-weight: 900;
  color: rgba(15,27,45,.82);
  text-decoration:none;
  cursor:pointer;
  transition:
    transform .18s cubic-bezier(.2,.9,.2,1),
    box-shadow .18s cubic-bezier(.2,.9,.2,1),
    border-color .18s ease,
    background .18s ease,
    filter .18s ease;
  will-change: transform;
}
body.single-post .yccSinglePostNav :is(a, button):hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(15,27,45,.12);
  border-color: rgba(47,111,163,.22);
  background: linear-gradient(135deg, rgba(142,202,217,.12), rgba(47,111,163,.04));
}
body.single-post .yccSinglePostNav :is(a, button):active{
  transform: translateY(0);
  box-shadow: 0 10px 22px rgba(15,27,45,.10);
  filter: brightness(0.99);
}
body.single-post .yccSinglePostNav :is(a, button):focus-visible{
  outline: 3px solid rgba(47,111,163,.28);
  outline-offset: 3px;
}

/* Make the “一覧へ” button slightly more prominent */
body.single-post .yccSinglePostNavItem--all a{
  border-color: rgba(47,111,163,.22);
  background: linear-gradient(135deg, rgba(217,130,43,.10), rgba(47,111,163,.06));
}
body.single-post .yccSinglePostNavItem--all a:hover{
  border-color: rgba(217,130,43,.35);
  background: linear-gradient(135deg, rgba(217,130,43,.18), rgba(47,111,163,.08));
}
body.single-post .yccBackBtn{appearance:none; -webkit-appearance:none}
body.single-post .yccSinglePostNavItem--prev{justify-self:start}
body.single-post .yccSinglePostNavItem--next{justify-self:end}

@media (max-width: 560px){
  body.single-post .yccSinglePostNav{grid-template-columns: 1fr;}
  body.single-post .yccSinglePostNavItem--prev,
  body.single-post .yccSinglePostNavItem--next{justify-self:stretch}
}

/* Home-like reset: keep body text light and consistent.
   Specific components below (titles/buttons/lists) re-apply heavier weights where needed. */
body.page-template-page-services-php .yccServices :is(p,li,dt,dd,blockquote,figcaption,label),
body.page-template-page-services .yccServices :is(p,li,dt,dd,blockquote,figcaption,label){
  font-weight:400 !important;
  font-size:inherit;
  line-height:1.75;
}

/* Preserve intended emphasis for Services components. */
body.page-template-page-services-php .bizLead,
body.page-template-page-services .bizLead{font-weight:700 !important; font-size:14.5px; line-height:1.9}

body.page-template-page-services-php .bullets,
body.page-template-page-services .bullets{font-weight:700}

body.page-template-page-services-php .bullets li,
body.page-template-page-services .bullets li{font-weight:inherit !important}

body.page-template-page-services-php .serviceStats,
body.page-template-page-services .serviceStats{font-weight:700}

body.page-template-page-services-php .serviceStats li,
body.page-template-page-services .serviceStats li{font-weight:inherit !important}

body.page-template-page-services-php .yccServices :is(p,li,dt,dd,blockquote,figcaption,label):not([class]),
body.page-template-page-services .yccServices :is(p,li,dt,dd,blockquote,figcaption,label):not([class]){
  font-size: inherit;
  font-weight: 400;
  line-height: 1.75;
}

/* Smoother typography (avoid synthetic 950/1000 weights on some JP font stacks). */
body.page-template-page-services-php .pageTitle,
body.page-template-page-services .pageTitle{font-weight: 800; text-rendering: optimizeLegibility; font-synthesis: none}

body.page-template-page-services-php .qbtn,
body.page-template-page-services .qbtn{font-weight: 800; letter-spacing:.02em; font-synthesis:none}

body.page-template-page-services-php .sectionHead h2,
body.page-template-page-services .sectionHead h2{font-weight: 800; display:inline-block; transform: translateY(2px)}

/* Elementor Text Editor widgets sometimes force global "text" typography,
   which can make page headings (e.g. editor-made titles) look different from other pages.
   Keep Services typography consistent with the theme font stack. */
body.page-template-page-services-php .yccServicesContent .elementor-widget-text-editor,
body.page-template-page-services .yccServicesContent .elementor-widget-text-editor{
  font-family: var(--ycc-font, system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, Arial, sans-serif) !important;
}

/* Elementor section headers (icon + title): make the title text black only. */
body.page-template-page-services-php .yccServicesContent .elementor-icon-box-title,
body.page-template-page-services .yccServicesContent .elementor-icon-box-title,
body.page-template-page-services-php .yccServicesContent .elementor-icon-box-title a,
body.page-template-page-services .yccServicesContent .elementor-icon-box-title a{
  color:#000 !important;
}

body.page-template-page-services-php .yccServicesContent .elementor-widget-icon-box .elementor-icon-box-title,
body.page-template-page-services .yccServicesContent .elementor-widget-icon-box .elementor-icon-box-title,
body.page-template-page-services-php .yccServicesContent .elementor-widget-icon-box .elementor-icon-box-title *,
body.page-template-page-services .yccServicesContent .elementor-widget-icon-box .elementor-icon-box-title *{
  color:#000 !important;
}

body.page-template-page-services-php .bizTitle,
body.page-template-page-services .bizTitle{font-weight: 800; font-synthesis:none}

/* Services content section headers: the "bizTitle" (icon + title) should be black. */
body.page-template-page-services-php .yccServicesContent h3.bizTitle,
body.page-template-page-services .yccServicesContent h3.bizTitle,
body.page-template-page-services-php .yccServicesContent h3.bizTitle *,
body.page-template-page-services .yccServicesContent h3.bizTitle *{
  color:#000 !important;
}

body.page-template-page-services-php .btn,
body.page-template-page-services .btn{font-weight: 800; letter-spacing:.02em; font-synthesis:none}

body.page-template-page-services-php .bullets,
body.page-template-page-services .bullets{font-weight: 700}

body.page-template-page-services-php .serviceDetail h4,
body.page-template-page-services .serviceDetail h4{font-weight: 800}

body.page-template-page-services-php .serviceDetail p,
body.page-template-page-services .serviceDetail p{font-weight: 700}

body.page-template-page-services-php .kpiCard b,
body.page-template-page-services .kpiCard b{font-weight: 800}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:100%;width:100%;margin:0 auto;padding:0 20px}
.topline{height:8px;background: linear-gradient(90deg, var(--accent), var(--accent2))}
header.siteHeader{position:relative; top:auto; z-index:50;background: rgba(255,255,255,.82);backdrop-filter: blur(12px);border-bottom: 1px solid rgba(15,27,45,.08)}
.headerInner{height:var(--headerH);display:flex; align-items:center; justify-content:space-between;gap:16px}
.brand{display:flex; align-items:center; gap:12px; min-width:240px}
.brandLogo{flex:0 0 auto; width:56px; height:40px; border-radius:10px;background: #fff;border:1px solid rgba(15,27,45,.12);display:flex; align-items:center;justify-content:center;overflow:hidden; padding:3px 6px; box-shadow: 0 2px 10px rgba(15,27,45,.06);
  --logoScale: 1.25;
  --logoX: 0px;
  --logoY: 0px;
}
.brandLogo img{max-width:100%; max-height:100%; width:auto; height:auto; margin-top:0; object-fit:contain; object-position:center; display:block; transform: translate(var(--logoX), var(--logoY)) scale(var(--logoScale)); transform-origin: 50% 50%;}
.brandText{display:flex; flex-direction:column; gap:2px}
.brandName{font-weight:900; letter-spacing:.02em; font-size:18px; line-height:1.1}
.brandTag{color:rgba(15,27,45,.62); font-weight:800; font-size:12px; letter-spacing:.02em}
.menuToggle{display:none; width:46px; height:46px; border:1px solid rgba(15,27,45,.12); border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 10px 24px rgba(15,27,45,.10); padding:0; align-items:center; justify-content:center; flex-direction:column; gap:5px; cursor:pointer; flex:0 0 auto}
.menuToggleBar{display:block; width:20px; height:2px; border-radius:999px; background:rgba(15,27,45,.86); transition:transform .22s ease, opacity .22s ease}
nav.menu{display:flex; align-items:center; gap:8px}

/* Header menu supports parent/child (dropdown). */
.menu .menuItem{position:relative; display:inline-flex; align-items:center}
.menu .menuLink{padding:10px 14px;border-radius:12px;font-weight:800;color:rgba(15,27,45,.78);transition:.2s;white-space:nowrap; display:inline-flex; align-items:center}
.menu .menuLink:hover{background:rgba(15,27,45,.05); color:rgba(15,27,45,.95)}
.menu .menuLink.active{background:rgba(217,130,43,.14);color:#7a3f06;border:1px solid rgba(217,130,43,.25)}

.menu .menuCaret{
  width: 0;
  height: 0;
  margin-left: 8px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid rgba(15,27,45,.45);
  transform: translateY(1px);
}

.menu .subMenu{
  position:absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  padding: 10px;
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(15,27,45,.10);
  box-shadow: 0 18px 44px rgba(15,27,45,.12);
  display:none;
  z-index: 999;
}

.menu .menuItem:hover .subMenu,
.menu .menuItem:focus-within .subMenu{display:block}

.menu .subLink{
  display:flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 800;
  color: rgba(15,27,45,.82);
  white-space: nowrap;
  text-decoration:none;
}

.menu .subLink:hover{background: rgba(15,27,45,.05); color: rgba(15,27,45,.95)}
.menu .subLink.active{background: rgba(47,111,163,.10); border: 1px solid rgba(47,111,163,.16)}
body.mobile-menu-open{overflow:hidden}
body.mobile-menu-open .menuToggleBar:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.mobile-menu-open .menuToggleBar:nth-child(2){opacity:0}
body.mobile-menu-open .menuToggleBar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.pageHeroInner{position:relative; z-index:3;padding: 0}
.pageHeroCard{background: rgba(255,255,255,.10);border: 1px solid rgba(255,255,255,.18);border-radius: var(--radius2);backdrop-filter: blur(12px);box-shadow: 0 16px 46px rgba(0,0,0,.18);overflow:hidden}
.pageHeroCardInner{padding: 18px 24px 18px;background: #fff;border-radius: 20px;box-shadow: 0 4px 24px rgba(47,111,163,0.08)}
.breadcrumb{display:flex; gap:8px; align-items:center; flex-wrap:wrap;color:rgba(255,255,255,.86);font-weight:800;font-size:12.5px}
.breadcrumb a{color:rgba(255,255,255,.92)}
.breadcrumb .sep{opacity:.7}
.pageTitle{margin: 0 0 8px 0;font-size: clamp(26px, 3vw, 38px);line-height:1.22;letter-spacing:.01em;font-weight: 1000;color: #234B6A;text-shadow: none}
.pageLead{margin:0 0 10px 0;max-width: 860px;color: #28445C;background:transparent;height: auto;padding: 0;text-shadow: none;font-size: 15px;line-height:1.7}
.quickNav{display: flex;gap: 12px;flex-wrap: wrap;margin: 12px 0 0;justify-content: flex-start}

/* Services page: keep hero/content left-aligned even when pasted HTML or builder wrappers add centering. */
body.page-template-page-services-php .pageHeroInner,
body.page-template-page-services .pageHeroInner,
body.page-template-page-services-php .pageHeroCard,
body.page-template-page-services .pageHeroCard,
body.page-template-page-services-php .pageHeroCardInner,
body.page-template-page-services .pageHeroCardInner{
  text-align: left;
}

body.page-template-page-services-php .pageHeroInner,
body.page-template-page-services .pageHeroInner{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

body.page-template-page-services-php .breadcrumb,
body.page-template-page-services .breadcrumb,
body.page-template-page-services-php .pageTitle,
body.page-template-page-services .pageTitle,
body.page-template-page-services-php .pageLead,
body.page-template-page-services .pageLead{
  text-align: left;
}

body.page-template-page-services-php .quickNav,
body.page-template-page-services .quickNav{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
}

body.page-template-page-services-php .sectionHead,
body.page-template-page-services .sectionHead{
  justify-content: flex-start;
  text-align: left;
}

body.page-template-page-services-php .sectionHead h2,
body.page-template-page-services .sectionHead h2{
  margin-right: auto;
  text-align: left;
}

body.page-template-page-services-php .bizGrid,
body.page-template-page-services .bizGrid,
body.page-template-page-services-php .bizCard,
body.page-template-page-services .bizCard,
body.page-template-page-services-php .bizHead,
body.page-template-page-services .bizHead,
body.page-template-page-services-php .bizTitle,
body.page-template-page-services .bizTitle,
body.page-template-page-services-php .bizBody,
body.page-template-page-services .bizBody,
body.page-template-page-services-php .bizLead,
body.page-template-page-services .bizLead,
body.page-template-page-services-php .listBox,
body.page-template-page-services .listBox,
body.page-template-page-services-php .serviceDetail,
body.page-template-page-services .serviceDetail,
body.page-template-page-services-php .serviceDetailRow,
body.page-template-page-services .serviceDetailRow,
body.page-template-page-services-php .serviceStats,
body.page-template-page-services .serviceStats{
  text-align: left;
}

body.page-template-page-services-php .bizHead,
body.page-template-page-services .bizHead{
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
}

body.page-template-page-services-php .bizHead > .bizTitle,
body.page-template-page-services .bizHead > .bizTitle{
  margin-right: auto;
  justify-content: flex-start;
  text-align: left;
}

body.page-template-page-services-php .bizHead > .btn,
body.page-template-page-services .bizHead > .btn{
  margin-left: 16px;
}

body.page-template-page-services-php .bizBody :is(p,h4,ul,li,div,span,strong),
body.page-template-page-services .bizBody :is(p,h4,ul,li,div,span,strong){
  text-align: left;
}
.qbtn{display: inline-flex;align-items: center;gap: 8px;padding: 10px 22px;border-radius: 32px;font-weight: 900;font-size: 15px;transition: .18s;white-space: nowrap;box-shadow: 0 2px 8px rgba(47,111,163,0.06);cursor: pointer;position: relative;background: rgba(47,111,163,.10);border: 1.5px solid rgba(47,111,163,.18);color: #234B6A}
.qbtn:hover{transform: translateY(-2px) scale(1.04);filter: brightness(1.02)}
.qbtn:focus-visible{outline: 3px solid rgba(47,111,163,.28);outline-offset: 3px}
.qdot{width: 0;height: 0;display: none}
.qbtn-data{background: rgba(47,111,163,.12);border-color: rgba(47,111,163,.22);color: #234B6A}
.qbtn-data:hover{background: linear-gradient(135deg, rgba(47,111,163,.22), rgba(142,202,217,.22));border-color: rgba(47,111,163,.32)}
.qbtn-system{background: rgba(142,202,217,.18);border-color: rgba(142,202,217,.35);color: #1d4b5a}
.qbtn-system:hover{background: linear-gradient(135deg, rgba(142,202,217,.30), rgba(47,111,163,.18));border-color: rgba(142,202,217,.45)}
.qbtn-hr{background: rgba(125,106,197,.14);border-color: rgba(125,106,197,.26);color: #3d2f6b}
.qbtn-hr:hover{background: linear-gradient(135deg, rgba(125,106,197,.24), rgba(217,130,43,.10));border-color: rgba(125,106,197,.36)}
.qbtn-food{background: rgba(217,130,43,.14);border-color: rgba(217,130,43,.26);color: #7a3f06}
.qbtn-food:hover{background: linear-gradient(135deg, rgba(217,130,43,.26), rgba(240,163,90,.22));border-color: rgba(217,130,43,.36)}
.sectionHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 18px}
.sectionHead h2{margin:0;font-size:28px;letter-spacing:.01em;font-weight:950}
.sectionHead p{margin:0;color:var(--muted);font-weight:800;font-size:13px}
.bizGrid{display:grid; grid-template-columns: 1fr; gap:16px}
.bizCard{border-radius: var(--radius2);border: 1px solid var(--line);background: rgba(255,255,255,.92);box-shadow: var(--shadow2);overflow:hidden}
.bizHead{display:flex; align-items:center; justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(15,27,45,.08);background: linear-gradient(135deg, rgba(217,130,43,.16), rgba(47,111,163,.10))}
.bizTitle{display:flex; align-items:center; gap:12px;font-weight: 1000;letter-spacing:.01em;margin:0;font-size:17px}
.bizIcon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.70);border:1px solid rgba(15,27,45,.10);box-shadow: 0 10px 22px rgba(15,27,45,.10);flex-shrink:0;
  --bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2'/%3E%3Crect x='3' y='7' width='18' height='14' rx='2'/%3E%3Cpath d='M3 13h18'/%3E%3C/svg%3E");
}
.bizIcon::before{content:""; width:24px; height:24px; display:block; background-size:contain; background-repeat:no-repeat; background-position:center; background-image:var(--bizIconSvg)}

/* Icon variants (used by 会社案内 cards, optional elsewhere) */
.bizIcon.bizIcon--policy{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--message{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3Cpath d='M8 10h8'/%3E%3Cpath d='M8 14h5'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--profile{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--company{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v14'/%3E%3Cpath d='M9 9h1'/%3E%3Cpath d='M14 9h1'/%3E%3Cpath d='M9 13h1'/%3E%3Cpath d='M14 13h1'/%3E%3Cpath d='M9 17h1'/%3E%3Cpath d='M14 17h1'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--org{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='3' width='6' height='6' rx='1'/%3E%3Crect x='3' y='15' width='6' height='6' rx='1'/%3E%3Crect x='15' y='15' width='6' height='6' rx='1'/%3E%3Cpath d='M12 9v3'/%3E%3Cpath d='M6 15v-3h12v3'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--equipment{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8'/%3E%3Cpath d='M12 16v4'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--welfare{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");}

/* Recruit icons */
.bizIcon.bizIcon--recruit{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M17 8l2 2'/%3E%3Cpath d='M19 6l-2 2'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--money{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='20' height='12' rx='2'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3Cpath d='M6 10h0'/%3E%3Cpath d='M18 14h0'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--leaf{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 5c-4.5 0-8.5 2-11 5-3 3.5-3 8-3 9 1 0 5.5 0 9-3 3-2.5 5-6.5 5-11z'/%3E%3Cpath d='M9 16c1.5-2 4-4 7-5'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--search{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--values{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20l-3-3H6a2 2 0 0 1-2-2v-3l-3-3 11-11 3 3h3a2 2 0 0 1 2 2v3l3 3-11 11z'/%3E%3Cpath d='M7 13l4 4'/%3E%3Cpath d='M7 9h.01'/%3E%3C/svg%3E");}
.bizIcon.bizIcon--flag{--bizIconSvg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23234B6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22V3'/%3E%3Cpath d='M4 4h14l-2 4 2 4H4'/%3E%3C/svg%3E");}
.btn{display:inline-flex; align-items:center; justify-content:center;height:42px; padding:0 16px; border-radius:12px;font-weight:900; letter-spacing:.01em;border:1px solid rgba(15,27,45,.10);background:#fff;transition:.22s cubic-bezier(.4,1.2,.4,1);box-shadow: 0 8px 18px rgba(15,27,45,.08);white-space:nowrap;cursor:pointer}
.btn:hover{transform: translateY(-2px) scale(1.02);box-shadow: 0 16px 36px rgba(47,111,163,.14);filter: brightness(1.05);border-color: rgba(47,111,163,.22)}
.btnPrimary{background: linear-gradient(135deg, var(--accent), var(--accent2));border-color: rgba(217,130,43,.35);color:#fff;box-shadow: 0 14px 30px rgba(217,130,43,.25)}
.btnAccent{border-color: rgba(217,130,43,.35);color:#fff;box-shadow: 0 14px 30px rgba(217,130,43,.25);backdrop-filter: none;background: linear-gradient(135deg, #f0a35a 60%, #ffd8a8 100%)}
.bizBody{padding:18px 18px 20px}
.bizLead{margin:0 0 14px; color:rgba(15,27,45,.78); font-weight:750; font-size:14.5px; line-height:1.9}
.twoCol{display:grid; grid-template-columns: 1fr; gap:0; align-items:start}
.listBox{border:1px solid rgba(15,27,45,.10);background: rgba(47,111,163,.04);border-radius: var(--radius2);padding:16px 16px 14px}
.listBox h4{margin:0 0 10px; font-size:13.5px; letter-spacing:.02em; color:#28445C}
.bullets{margin:0; padding-left:18px; color:rgba(15,27,45,.85); font-weight:800}
.bullets li{margin:7px 0}
.muted{color:var(--muted); font-weight:750}
.kpiRow{display:grid; grid-template-columns:1fr; gap:10px}
.kpiCard{background: transparent;border:0;border-radius: 0;padding:10px 0 6px;box-shadow: none;border-top: 1px dashed rgba(15,27,45,.12)}
.kpiCard b{display:block; font-weight:1000; color:#234B6A; font-size:14.5px}
.kpiCard span{display:block; margin-top:6px; color:var(--muted); font-weight:800; font-size:12.8px; line-height:1.75}

/* Services: extra detail block (red-marked area in design) */
.page-template-page-services-php .serviceDetail{margin-top:14px; border-radius: var(--radius2); border:1px solid rgba(15,27,45,.10); background: rgba(15,27,45,.025); padding:14px 16px}
.page-template-page-services-php .serviceDetailRow + .serviceDetailRow{margin-top:14px; padding-top:14px; border-top:1px dashed rgba(15,27,45,.14)}
.page-template-page-services-php .serviceDetail h4{margin:0 0 8px; font-size:14px; font-weight:1000; letter-spacing:.02em; color:#28445C}
.page-template-page-services-php .serviceDetail p{margin:0; color:rgba(15,27,45,.78); font-weight:800; line-height:1.9; font-size:14.5px}
.page-template-page-services-php .serviceMath{font-weight:1000; color:#234B6A}
.page-template-page-services-php .serviceStrong{margin-top:6px; font-weight:1000; color:#234B6A}
.page-template-page-services-php .serviceStats{margin:0; padding-left:18px; color:rgba(15,27,45,.78); font-weight:800}
.page-template-page-services-php .serviceStats li{margin:6px 0}
footer{padding: 36px 0 24px;color: rgba(255,255,255,.82);background: #0b1320;border-top: 1px solid rgba(255,255,255,.08);margin-top: 10px}
.footGrid{display:grid;grid-template-columns: 1fr 1fr;gap: 18px;align-items:start}
.footerLogo{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.footerLogo img{height:40px;width:auto; background:#fff; border-radius:12px; padding:6px}
.footerBrand{font-weight:950;color:#fff;font-size:18px}
.footerCopyright{font-size:12px;color:rgba(255,255,255,.55);font-weight:700}
.footLinks{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end;font-weight:800}
.footLinks a{padding:8px 0;transition:color .2s; color:rgba(255,255,255,.86)}
.footLinks a:hover{color:rgba(240,163,90,.95)}

/* Home-style footer classes (used by footer.php and now footer-services.php) */
.footerGrid{display:grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; align-items:center}
.footerGrid{gap: 14px}
.badge{width:120px; height:120px; border-radius: 18px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10); display:grid; place-items:center; overflow:hidden; position:relative}
.badge::before{content:"YCC"; font-size:28px; font-weight:950; color:rgba(255,255,255,.4); position:absolute; z-index:0}
.badge img{width:100%; height:100%; object-fit:contain; background:#fff; position:relative; z-index:1}

/* Footer logo is a wide mark (logo_header.png) — give it a wide container. */
footer .badge{
  width: 108px;
  height: 64px;
  max-width: 72vw;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15,27,45,.12);
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;

  /* Match header logo treatment, just bigger. */
  --logoScale: 1.25;
  --logoX: 0px;
  --logoY: 0px;
}
footer .badge::before{content:""}
footer .badge img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  padding: 10px 0px;
  margin-top:0;
  object-fit:contain;
  object-position:center;
  display:block;
  transform: none;
  background: #fff;
  border-radius: 0;
}
.footerLinks{display:grid; gap:10px; justify-content:center}
.footerLinks{gap:8px}
.footerLinks a{color: rgba(255,255,255,.86); font-weight:800; display:inline-flex; gap:10px; align-items:center}
.copyright{margin-top: 16px; text-align:center; color: rgba(255,255,255,.55); font-weight:700; font-size: 11.5px}
@media (max-width: 980px){.headerInner{height:auto; min-height:var(--headerH); padding:14px 0; align-items:center} .menuToggle{display:inline-flex} nav.menu{display:none; position:absolute; top:calc(100% + 10px); left:20px; right:20px; z-index:60; flex-direction:column; align-items:stretch; gap:10px; padding:16px; border-radius:22px; background:rgba(255,255,255,.98); border:1px solid rgba(15,27,45,.10); box-shadow:0 22px 54px rgba(15,27,45,.18)} body.mobile-menu-open nav.menu{display:flex} .menu .menuItem{display:flex; width:100%; flex-direction:column; align-items:stretch} .menu .menuLink{width:100%; justify-content:space-between; padding:14px 16px; border:1px solid rgba(15,27,45,.08); background:rgba(247,249,252,.96)} .menu .subMenu{position:static; min-width:0; padding:8px 0 0; border:none; box-shadow:none; background:transparent; display:block} .menu .subLink{padding:10px 14px 10px 24px; white-space:normal} .twoCol{grid-template-columns:1fr} .footGrid{grid-template-columns:1fr} .footLinks{justify-content:flex-start} .footerGrid{grid-template-columns:1fr; text-align:center} .footerLinks{justify-content:center} .brand{min-width:auto} .brandLogo{--logoScale: 1.15; --logoY: 0px}}
@media (max-width: 560px){nav.menu{left:16px; right:16px} .brandName{font-size:16px} .brandTag{font-size:11px}}
