:root {
  --ink: #111111;
  --text: #333333;
  --muted: #666666;
  --line: rgba(17, 17, 17, 0.10);
  --white: #ffffff;
  --bg: #ffffff;
  --bg-soft: #fff2e2;
  --orange: #ff8700;
  --orange-dark: #a64f00;
  --orange-action-start: #b25500;
  --orange-action-end: #8f4100;
  --orange-pale: #fff0dc;
  --shadow-card: 0 18px 45px rgba(17, 17, 17, 0.08);
  --shadow-card-hover: 0 26px 60px rgba(17, 17, 17, 0.12);
  --radius-lg: 30px;
  --radius-md: 22px;
  --radius-sm: 14px;
  --container: 1120px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: #fff;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3 { margin-top: 0; }
p { color: var(--muted); }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.narrow-container { max-width: 880px; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 9999; transform: translateY(-150%); padding: 10px 14px; border-radius: 2px; color: #fff; background: var(--ink); font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, 0.88); border-bottom: 1px solid rgba(17, 17, 17, 0.06); backdrop-filter: blur(16px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 78px; gap: 28px; }
.site-logo { display: inline-flex; align-items: center; flex: 0 0 auto; width: 190px; max-width: 42vw; }
.site-logo img { display: block; width: 100%; height: auto; }
.global-nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; color: var(--muted); font-size: 14px; font-weight: 700; }
.global-nav a { padding: 9px 12px; border-radius: 2px; transition: color .2s ease, background .2s ease, transform .2s ease; }
.global-nav a:hover { color: var(--orange-dark); background: rgba(255, 135, 0, .10); }
.global-nav .nav-contact { color: #fff; background: var(--ink); }
.global-nav .nav-contact:hover { color: #fff; background: var(--orange-action-start); transform: translateY(-1px); }
.hero-section { position: relative; overflow: hidden; padding: 104px 0 82px; }
.hero-section::before { position: absolute; right: -130px; top: 44px; width: 390px; height: 390px; content: ""; border-radius: 2px; background: rgba(255, 135, 0, .16); filter: blur(4px); }
.hero-section::after { position: absolute; left: -80px; bottom: -110px; width: 260px; height: 260px; content: ""; border-radius: 2px; background: rgba(255, 135, 0, .18); filter: blur(4px); }
.hero-inner { position: relative; z-index: 1; }
.hero-copy { max-width: 860px; }
.eyebrow, .section-label, .service-category { margin-bottom: 12px; color: var(--orange-dark); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3 { color: var(--ink); line-height: 1.28; }
.hero-section h1 { margin-bottom: 24px; font-size: clamp(38px, 5vw, 66px); font-weight: 850; letter-spacing: -.055em; line-height: 1.14; }
.hero-lead { max-width: 760px; margin-bottom: 32px; font-size: 18px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 22px; border: 1px solid transparent; border-radius: 2px; font-weight: 800; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button-primary { color: #fff; background: #fff; box-shadow: none; }
.button-primary:hover { transform: translateY(-2px); box-shadow: none; }
.button-outline { color: var(--orange-dark); background: rgba(255,255,255,.86); border-color: rgba(255,135,0,.26); }
.button-outline:hover { background: #fff; transform: translateY(-2px); }
.section { padding: 84px 0; }
.section-head { max-width: 780px; margin-bottom: 34px; }
.section-head h2, .split-layout h2, .contact-card h2 { margin-bottom: 16px; font-size: clamp(30px, 4vw, 46px); font-weight: 850; letter-spacing: -.045em; }
.split-layout { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 48px; align-items: start; }
.section-text { padding: 30px; border: 1px solid rgba(255,135,0,.16); border-radius: 2px; background: rgba(255,255,255,.78); box-shadow: none; }
.section-text p:last-child, .section-head p:last-child, .contact-card p:last-of-type { margin-bottom: 0; }
.business-section { background: #fff; }
.business-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.business-card { min-height: 250px; padding: 28px; border: 1px solid rgba(17,17,17,.08); border-radius: 2px; background: rgba(255,255,255,.84); box-shadow: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.business-card:hover { transform: translateY(-3px); border-color: rgba(255,135,0,.28); box-shadow: none; }
.business-number { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 22px; border-radius: 2px; color: var(--orange-dark); background: var(--orange-pale); font-size: 12px; font-weight: 850; }
.business-card h3 { margin-bottom: 14px; font-size: 21px; letter-spacing: -.025em; }
.business-card p { margin-bottom: 0; }
.business-card-accent { color: #fff; background: #fff; }
.business-card-accent h3, .business-card-accent p { color: #fff; }
.business-card-accent .business-number { color: #fff; background: var(--orange-action-start); }
.services-section { background: #f3f7f9; }
.services-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .82fr); gap: 30px; align-items: end; max-width: none; }
.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.service-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; align-items: start; padding: 26px; min-height: 264px; border: 1px solid rgba(17,17,17,.08); border-radius: 2px; background: var(--white); box-shadow: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.service-card:hover { transform: translateY(-3px); border-color: rgba(255,135,0,.28); box-shadow: none; }
.service-logo { display: flex; align-items: center; justify-content: center; width: 150px; height: 150px; overflow: hidden; border: 1px solid rgba(17,17,17,.06); border-radius: 2px; background: #fff; }
.service-logo img { display: block; width: 150px; height: 150px; object-fit: contain; }
.service-content { min-width: 0; }
.service-content h3 { margin-bottom: 12px; font-size: 24px; letter-spacing: -.03em; }
.service-content p { margin-bottom: 18px; }
.service-category { margin-bottom: 8px; letter-spacing: .08em; text-transform: none; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--orange-dark); font-weight: 850; }
.text-link::after { content: "→"; transform: translateX(0); transition: transform .2s ease; }
.text-link:hover::after { transform: translateX(4px); }
.service-links { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.contact-section { padding-bottom: 100px; }
.contact-card { padding: clamp(32px,5vw,58px); border-radius: 2px; color: #fff; background: #fff; box-shadow: none; }
.contact-card h2, .contact-card p { color: #fff; }
.contact-card .section-label { color: #ffb35b; }
.contact-card .button { margin-top: 24px; }
.site-footer { padding: 54px 0 24px; color: rgba(255,255,255,.82); background: #111; }
.footer-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); gap: 42px; align-items: start; }
.footer-logo { display: inline-flex; width: 190px; max-width: 70vw; padding: 10px 12px; border-radius: 2px; background: #fff; }
.footer-logo img { display: block; width: 100%; height: auto; }
.footer-about p { max-width: 460px; margin-top: 18px; color: rgba(255,255,255,.72); }
.footer-related { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 12px; margin-top: 18px; }
.footer-related-label { flex: 0 0 100%; color: rgba(255,255,255,.58); font-size: 11px; font-weight: 700; letter-spacing: 0; }
.footer-related-banner { display: inline-flex; width: 160px; max-width: 48vw; padding: 7px 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 2px; background: #fff; transition: opacity .2s ease; }
.footer-related-banner:hover { opacity: .86; }
.footer-related-banner img { display: block; width: 100%; height: auto; }
.footer-related-note { max-width: 260px; color: rgba(255,255,255,.64); font-size: 12px; line-height: 1.65; }
.footer-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 20px; font-size: 14px; font-weight: 700; }
.footer-nav a:hover { color: #ffb35b; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); }
.footer-bottom p { margin: 0; color: rgba(255,255,255,.58); font-size: 12px; }
/* Sub pages */
.subpage-hero { position: relative; overflow: hidden; padding: 84px 0 58px; background: #fff; }
.subpage-hero::after { position: absolute; right: -80px; bottom: -120px; width: 260px; height: 260px; content: ""; border-radius: 2px; background: rgba(255,135,0,.16); }
.breadcrumb { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 28px; color: var(--muted); font-size: 13px; font-weight: 700; }
.breadcrumb a { color: var(--orange-dark); }
.breadcrumb-separator { color: rgba(17,17,17,.25); }
.subpage-hero h1 { position: relative; z-index: 1; margin-bottom: 18px; font-size: clamp(38px,5vw,58px); font-weight: 850; letter-spacing: -.05em; }
.welfare-hero h1 { font-size: clamp(36px,4.4vw,54px); letter-spacing: -.04em; }
.welfare-hero .headline-tail { display: inline-block; }
.subpage-lead { position: relative; z-index: 1; max-width: 760px; margin-bottom: 0; font-size: 18px; }
.page-section { background: #f3f7f9; }
.page-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 34px; align-items: start; }
.page-side-nav { position: sticky; top: 104px; display: grid; gap: 8px; padding: 22px; border: 1px solid rgba(17,17,17,.08); border-radius: 2px; background: rgba(255,255,255,.9); box-shadow: none; }
.side-nav-title { margin: 0 0 8px; color: var(--orange-dark); font-size: 12px; font-weight: 850; letter-spacing: .14em; }
.page-side-nav a { padding: 9px 10px; border-radius: 2px; color: var(--muted); font-size: 14px; font-weight: 750; }
.page-side-nav a:hover { color: var(--orange-dark); background: var(--orange-pale); }
.page-content { display: grid; gap: 20px; min-width: 0; }
.content-card, .intro-card, .form-card, .link-card { min-width: 0; padding: clamp(24px,4vw,38px); border: 1px solid rgba(17,17,17,.08); border-radius: 2px; background: rgba(255,255,255,.94); box-shadow: none; }
.content-card h2, .form-card h2, .link-card h2 { display: flex; gap: 12px; align-items: center; margin-bottom: 18px; font-size: clamp(23px,3vw,32px); font-weight: 850; letter-spacing: -.035em; }
.content-card h2::before, .form-card h2::before, .link-card h2::before { flex: 0 0 auto; width: 12px; height: 12px; content: ""; border-radius: 2px; background: var(--orange); box-shadow: none; }
.content-card h3 { margin: 24px 0 10px; font-size: 22px; }
.content-card p:last-child, .intro-card p:last-child { margin-bottom: 0; }
.content-card a:not(.button), .intro-card a:not(.button) { color: var(--orange-dark); font-weight: 800; }
.info-list { display: grid; gap: 0; margin: 0; }
.info-list div { display: grid; grid-template-columns: 9em minmax(0,1fr); gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.info-list div:last-child { border-bottom: 0; }
.info-list dt { color: var(--ink); font-weight: 850; }
.info-list dd { margin: 0; color: var(--muted); }
.profile-table-wrap { width: 100%; max-width: 100%; min-width: 0; margin-top: 18px; overflow-x: auto; border: 1px solid var(--line); border-radius: 2px; background: #fff; }
.profile-table { width: 100%; border-collapse: collapse; min-width: 620px; }
.profile-table th, .profile-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.profile-table tr:last-child th, .profile-table tr:last-child td { border-bottom: 0; }
.profile-table th { width: 11em; color: var(--ink); background: #f3f7f9; font-weight: 850; }
.profile-table td { color: var(--muted); }
.profile-table a { color: var(--orange-dark); font-weight: 850; }
.check-list { display: grid; gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 30px; color: var(--muted); }
.check-list li::before { position: absolute; top: .68em; left: 4px; width: 9px; height: 9px; content: ""; border-radius: 2px; background: var(--orange); box-shadow: none; }
.pill-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.pill-list li { padding: 8px 13px; border-radius: 2px; color: var(--orange-dark); background: var(--orange-pale); font-weight: 750; }
.timeline { margin: 0; }
.timeline div { position: relative; display: grid; grid-template-columns: 9em minmax(0,1fr); gap: 20px; padding: 18px 0 18px 24px; border-left: 2px solid rgba(255,135,0,.22); }
.timeline div::before { position: absolute; left: -7px; top: 27px; width: 12px; height: 12px; content: ""; border-radius: 2px; background: var(--orange); }
.timeline dt { color: var(--ink); font-weight: 850; }
.timeline dd { margin: 0; color: var(--muted); }
.link-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 24px; }
.link-card { position: relative; min-height: 260px; transition: transform .2s ease, box-shadow .2s ease; }
.link-card:hover { transform: translateY(-3px); box-shadow: none; }
.link-card span { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; margin-bottom: 22px; border-radius: 2px; color: var(--orange-dark); background: var(--orange-pale); font-size: 12px; font-weight: 850; }
.shop-hero-card { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 24px; align-items: center; }
.notice-box { margin: 18px 0; padding: 18px 20px; border-radius: 2px; background: var(--orange-pale); color: var(--muted); }
.status-label { display: inline-flex; margin-bottom: 18px; padding: 6px 12px; border-radius: 2px; color: var(--orange-dark); background: var(--orange-pale); font-size: 12px; font-weight: 850; letter-spacing: .08em; }
.center-card { text-align: center; }
.center-actions { justify-content: center; }
.form-card { display: grid; gap: 20px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.form-card label, .form-card fieldset { display: grid; gap: 8px; margin: 0; color: var(--ink); font-weight: 850; }
.form-card label span { color: var(--orange-dark); font-size: 12px; }
.form-card input[type="text"], .form-card input[type="email"], .form-card input[type="tel"], .form-card input[type="url"], .form-card textarea { width: 100%; padding: 13px 15px; border: 1px solid rgba(17,17,17,.14); border-radius: 2px; color: var(--ink); background: #fff; font: inherit; font-weight: 500; }
.form-card textarea { resize: vertical; }
.form-card input:focus, .form-card textarea:focus { outline: 3px solid rgba(255,135,0,.20); border-color: var(--orange); }
.field-help { display: block; color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.6; }
.optional-form-details { border: 1px solid rgba(17,17,17,.10); border-radius: 2px; background: #f3f7f9; }
.optional-form-details summary { padding: 14px 16px; color: var(--ink); font-weight: 800; cursor: pointer; }
.optional-form-details[open] summary { border-bottom: 1px solid rgba(17,17,17,.08); }
.optional-form-details .form-grid { padding: 16px; }
.form-card fieldset { padding: 18px; border: 1px solid rgba(17,17,17,.10); border-radius: 2px; }
.form-card legend { padding: 0 8px; color: var(--ink); font-weight: 850; }
.birth-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.checkbox-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.checkbox-grid label { display: flex; align-items: center; gap: 9px; color: var(--muted); font-weight: 700; }
.form-actions { display: flex; justify-content: center; padding-top: 10px; }
@media (max-width: 920px) {
  .header-inner { min-height: auto; padding: 14px 0; align-items: flex-start; flex-direction: column; }
  .site-logo { width: 170px; }
  .global-nav { justify-content: flex-start; }
  .hero-section { padding: 72px 0 58px; }
  .section { padding: 64px 0; }
  .split-layout, .services-head, .footer-grid, .page-grid { grid-template-columns: 1fr; }
  .page-content { order: 1; }
  .page-side-nav { position: static; order: 2; }
  .business-grid, .service-grid, .link-card-grid { grid-template-columns: 1fr; }
  .footer-nav { justify-content: flex-start; }
  .footer-bottom { flex-direction: column; }
}
@media (max-width: 640px) {
  body { font-size: 15px; }
  .container { width: min(calc(100% - 28px), var(--container)); }
  .site-logo { width: 150px; }
  .global-nav { gap: 4px; font-size: 13px; }
  .global-nav a { padding: 7px 9px; }
  .hero-section h1 { font-size: 36px; }
  .hero-lead, .subpage-lead { font-size: 16px; }
  .business-card, .service-card, .section-text, .content-card, .form-card, .intro-card, .link-card { padding: 22px; border-radius: 2px; }
  .service-card, .shop-hero-card { grid-template-columns: 1fr; gap: 18px; }
  .service-logo { width: 150px; height: 150px; }
  .subpage-hero { padding: 58px 0 44px; }
  .welfare-hero .headline-tail { display: inline; }
  .welfare-hero .headline-tail span { display: inline-block; }
  .info-list div, .timeline div, .form-grid, .birth-grid, .checkbox-grid { grid-template-columns: 1fr; }
  .timeline div { padding-left: 20px; }
  .contact-section { padding-bottom: 72px; }
}


.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* Conversion-focused renewal additions */
.hero-conversion { padding: 108px 0 78px; background: #fff; }
.hero-rich-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: 52px; align-items: center; }
.hero-points { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.hero-points li { padding: 8px 13px; border: 1px solid rgba(255,135,0,.22); border-radius: 2px; color: var(--orange-dark); background: rgba(255,255,255,.82); font-size: 13px; font-weight: 800; }
.hero-visual { position: relative; display: grid; gap: 16px; }
.hero-visual::before { position: absolute; inset: -26px; z-index: -1; content: ""; border-radius: 2px; background: #fff; box-shadow: none; transform: rotate(-1deg); }
.visual-panel, .visual-stat { border: 1px solid rgba(17,17,17,.08); border-radius: 2px; background: rgba(255,255,255,.92); box-shadow: none; }
.visual-panel-main { padding: 34px; min-height: 210px; background: #fff; }
.visual-label { display: inline-flex; margin-bottom: 18px; padding: 7px 12px; border-radius: 2px; color: #fff; background: var(--ink); font-size: 12px; font-weight: 850; letter-spacing: .08em; }
.visual-panel strong { display: block; margin-bottom: 12px; color: var(--ink); font-size: clamp(24px,3vw,34px); line-height: 1.25; letter-spacing: -.04em; }
.visual-panel p { margin-bottom: 0; }
.visual-stat { display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 8px 16px; align-items: center; padding: 20px 22px; }
.visual-stat span { grid-row: span 2; display: inline-flex; align-items: center; justify-content: center; width: 70px; height: 70px; border-radius: 2px; color: #fff; background: #fff; font-size: 12px; font-weight: 850; line-height: 1.15; letter-spacing: .08em; text-align: center; }
.visual-stat strong { color: var(--ink); font-size: 24px; line-height: 1.2; letter-spacing: -.03em; }
.visual-stat small { color: var(--muted); font-weight: 700; }
.company-proof-band { position: relative; z-index: 2; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); }
.company-proof-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.company-proof-grid a { display: grid; gap: 2px; min-width: 0; padding: 22px 28px; border-right: 1px solid var(--line); transition: background .2s ease; }
.company-proof-grid a:first-child { padding-left: 0; }
.company-proof-grid a:last-child { padding-right: 0; border-right: 0; }
.company-proof-grid a:hover { background: #f3f7f9; }
.company-proof-grid span { color: var(--orange-dark); font-size: 12px; font-weight: 850; letter-spacing: .08em; }
.company-proof-grid strong { color: var(--ink); font-size: 17px; line-height: 1.45; }
.company-proof-grid small { color: var(--muted); font-size: 12px; line-height: 1.55; }
.quick-contact-band { position: relative; z-index: 2; padding: 24px 0; }
.quick-contact-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.quick-contact-grid a { display: flex; min-height: 72px; align-items: center; justify-content: center; padding: 14px; border: 1px solid rgba(255,135,0,.18); border-radius: 2px; color: var(--ink); background: rgba(255,255,255,.94); box-shadow: none; font-weight: 850; text-align: center; transition: transform .2s ease, box-shadow .2s ease; }
.quick-contact-grid a:hover { transform: translateY(-2px); box-shadow: none; }
.rich-text-card p + p { margin-top: 16px; }
.business-grid-wide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.business-grid-wide .business-card { min-height: 286px; }
.ai-section { overflow: hidden; background: #fff; }
.ai-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr); gap: 46px; align-items: center; }
.ai-copy h2, .ai-copy p { color: #fff; }
.ai-copy .section-label { color: #ffb35b; }
.ai-copy p { color: rgba(255,255,255,.78); }
.ai-card-stack { display: grid; gap: 16px; }
.ai-mini-card { padding: 24px; border: 1px solid rgba(255,255,255,.12); border-radius: 2px; background: rgba(255,255,255,.08); box-shadow: none; }
.ai-mini-card span { display: inline-flex; margin-bottom: 12px; color: #ffb35b; font-weight: 900; letter-spacing: .14em; }
.ai-mini-card h3, .ai-mini-card p { color: #fff; }
.ai-mini-card h3 { margin-bottom: 8px; }
.ai-mini-card p { margin-bottom: 0; color: rgba(255,255,255,.72); }
.brand-capability-grid .service-card { min-height: 360px; }
.capability-card { align-items: start; }
.mini-list { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.mini-list li { position: relative; padding-left: 20px; color: var(--muted); font-size: 14px; font-weight: 700; }
.mini-list li::before { position: absolute; left: 0; top: .65em; width: 7px; height: 7px; content: ""; border-radius: 2px; background: var(--orange); }
.process-section { background: #fff; }
.process-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.process-grid article { padding: 26px; border: 1px solid rgba(17,17,17,.08); border-radius: 2px; background: #fff; box-shadow: none; }
.process-grid span, .process-list span { display: inline-flex; margin-bottom: 12px; color: var(--orange-dark); font-weight: 900; letter-spacing: .14em; }
.process-grid h3 { margin-bottom: 10px; font-size: 22px; }
.process-grid p { margin-bottom: 0; }
.sdgs-preview-section { background: #fff; }
.sdgs-preview-card { padding: clamp(28px,5vw,52px); border: 1px solid rgba(255,135,0,.18); border-radius: 2px; background: #fff; box-shadow: none; }
.contact-card-rich .contact-card-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.light-outline { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); }
.light-outline:hover { background: rgba(255,255,255,.14); }
.footer-cta { margin-top: 22px; }
.footer-cta .button { min-height: 46px; padding: 0 18px; font-size: 14px; }
.side-nav-contact { margin-top: 8px; color: #fff !important; background: var(--ink) !important; text-align: center; }
.link-card-accent { background: #fff; }
.link-card-accent h2, .link-card-accent p { color: #fff; }
.link-card-accent span { color: #fff; background: var(--orange-action-start); }
.service-intro-card .hero-actions { margin-top: 22px; }
.service-trust-card { margin-top: 24px; }
.term-chip-grid { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.term-chip { display: inline-flex; min-height: 42px; align-items: center; padding: 8px 13px; border: 1px solid rgba(255,135,0,.22); border-radius: 2px; color: var(--orange-dark); background: var(--orange-pale); font-size: 14px; font-weight: 800; transition: transform .2s ease, background .2s ease; }
.term-chip:hover { transform: translateY(-1px); background: #fff; }
.dic-article h2 { margin-top: 30px; }
.dic-article h2:first-child { margin-top: 0; }
.dic-article p + h2, .dic-article ul + h2, .dic-article ol + h2 { margin-top: 34px; }
.dic-service-card { background: #fff; }
.process-list { display: grid; gap: 16px; }
.process-list div { padding: 20px; border: 1px solid rgba(17,17,17,.08); border-radius: 2px; background: #f3f7f9; }
.process-list h3 { margin-bottom: 6px; }
.process-list p { margin-bottom: 0; }
.sdgs-hero .hero-actions { margin-top: 26px; }
.sdgs-layout { display: grid; gap: 24px; }
.sdgs-statement { background: #fff; }
.sdgs-goal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.sdgs-goal-card { padding: 26px; border: 1px solid rgba(17,17,17,.08); border-radius: 2px; background: #fff; box-shadow: none; }
.sdgs-goal-card span { display: inline-flex; margin-bottom: 12px; color: var(--orange-dark); font-weight: 900; letter-spacing: .12em; }
.sdgs-goal-card h2 { margin-bottom: 12px; font-size: 22px; letter-spacing: -.03em; }
.sdgs-goal-card p { margin-bottom: 0; }
.initiative-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.initiative-grid article { padding: 22px; border-radius: 2px; background: #f3f7f9; }
.initiative-grid h3 { margin-top: 0; }
.contact-layout { display: grid; grid-template-columns: minmax(280px,.78fr) minmax(0,1.22fr); gap: 28px; align-items: start; }
.contact-intro { display: grid; gap: 20px; position: sticky; top: 104px; }
.contact-side-card { background: #fff; }
.form-card select { width: 100%; padding: 13px 15px; border: 1px solid rgba(17,17,17,.14); border-radius: 2px; color: var(--ink); background: #fff; font: inherit; font-weight: 500; }
.form-card select:focus { outline: 3px solid rgba(255,135,0,.20); border-color: var(--orange); }
.privacy-check { display: flex !important; grid-template-columns: none !important; flex-direction: row; align-items: center; gap: 10px !important; color: var(--muted) !important; font-weight: 700 !important; }
.privacy-check input { width: 18px; height: 18px; }
.privacy-check a { color: var(--orange-dark); font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.radio-grid label { cursor: pointer; }
.policy-content { display: grid; gap: 20px; }
.policy-date { margin-top: 18px; font-size: 14px; font-weight: 800; color: var(--ink); }
.notfound-hero { padding-bottom: 72px; }
.notfound-layout { display: grid; gap: 24px; }
.notfound-card { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 34px; align-items: center; overflow: hidden; background: #fff; }
.notfound-code { color: var(--orange); font-size: clamp(86px, 13vw, 156px); font-weight: 900; line-height: 1; letter-spacing: 0; text-align: center; text-shadow: none; }
.notfound-card h2 { margin-bottom: 14px; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.035em; }
.notfound-card .hero-actions { margin-top: 22px; }
.notfound-link-grid { margin-top: 0; }
.notfound-link-grid .link-card { min-height: 220px; }
@media (max-width: 1080px) {
  .business-grid-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-contact-grid, .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sdgs-goal-grid, .initiative-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 920px) {
  .hero-rich-layout, .ai-layout, .contact-layout { grid-template-columns: 1fr; }
  .contact-intro { position: static; }
  .hero-visual::before { inset: -12px; }
}
@media (max-width: 640px) {
  .quick-contact-grid, .business-grid-wide, .process-grid, .sdgs-goal-grid, .initiative-grid { grid-template-columns: 1fr; }
  .visual-stat { grid-template-columns: 72px minmax(0,1fr); }
  .visual-stat span { width: 58px; height: 58px; border-radius: 2px; }
  .visual-stat strong { font-size: 21px; }
  .notfound-card { grid-template-columns: 1fr; gap: 18px; }
  .notfound-code { text-align: left; }
}

/* Consultation paths, pricing guidance, and compact navigation */
.nav-toggle { display: none; }
.nowrap { white-space: nowrap; }
.hero-conversion h1 { font-size: clamp(42px, 4vw, 54px); }
.service-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 26px; }
.service-path-card { display: flex; min-width: 0; flex-direction: column; padding: 28px; border: 1px solid rgba(17,17,17,.08); border-radius: 2px; background: #fff; box-shadow: none; }
.service-path-card .status-label { align-self: flex-start; }
.service-path-card h2 { margin-bottom: 12px; font-size: clamp(23px,3vw,30px); }
.service-path-card p { margin-bottom: 14px; }
.service-path-card .check-list { margin-top: 0; margin-bottom: 22px; }
.service-path-links { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: auto; padding-top: 6px; }
.pricing-summary { margin-top: 26px; }
.pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.pricing-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pricing-item { padding: 22px; border-left: 4px solid var(--orange); border-radius: 2px; background: #f3f7f9; }
.pricing-item-recommended { border: 2px solid var(--orange); border-left-width: 4px; background: #fff; box-shadow: none; }
.pricing-item h3 { margin: 0 0 8px; font-size: 20px; }
.pricing-item p { margin-bottom: 8px; }
.pricing-item p:last-child { margin-bottom: 0; }
.pricing-item .check-list { margin: 16px 0; }
.plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px; color: var(--ink); }
.plan-price strong { font-size: clamp(27px, 3vw, 36px); line-height: 1.2; }
.plan-price small { font-size: 13px; color: var(--muted); }
.consultation-note { padding: 18px 20px; border: 1px solid rgba(255,135,0,.22); border-radius: 2px; background: var(--orange-pale); }
.consultation-note strong { color: var(--ink); }
.content-card[id], .page-section[id] { scroll-margin-top: 96px; }
.contact-form-intro { padding: 18px 20px; border-radius: 2px; background: #f3f7f9; }
.contact-form-intro h2 { margin-bottom: 8px; font-size: 21px; }
.contact-form-intro p { margin-bottom: 0; }
.contact-guide-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 16px; }

@media (max-width: 920px) {
  .nav-enhanced .header-inner { position: relative; min-height: 64px; padding: 10px 0; align-items: center; flex-direction: row; }
  .nav-enhanced .site-logo { width: 150px; }
  .nav-enhanced .nav-toggle { display: inline-flex; width: 44px; height: 44px; flex: 0 0 auto; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 0; border: 1px solid rgba(17,17,17,.12); border-radius: 2px; color: var(--ink); background: #fff; cursor: pointer; }
  .nav-enhanced .nav-toggle span { display: block; width: 18px; height: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
  .nav-enhanced .nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-enhanced .nav-toggle.is-open span:nth-child(2) { opacity: 0; }
  .nav-enhanced .nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav-enhanced .global-nav { position: absolute; top: calc(100% + 8px); right: 0; z-index: 60; display: none; width: min(340px, calc(100vw - 28px)); max-height: calc(100vh - 92px); overflow-y: auto; align-items: stretch; justify-content: flex-start; flex-direction: column; flex-wrap: nowrap; gap: 2px; padding: 10px; border: 1px solid rgba(17,17,17,.1); border-radius: 2px; background: #fff; box-shadow: none; }
  .nav-enhanced .global-nav.is-open { display: flex; }
  .nav-enhanced .global-nav a { width: 100%; padding: 11px 13px; border-radius: 2px; }
  .nav-enhanced .global-nav .nav-contact { margin-top: 4px; text-align: center; }
  .service-path-grid, .pricing-grid { grid-template-columns: 1fr; }
  .contact-layout > .form-card { order: 1; }
  .contact-layout > .contact-intro { order: 2; }
}

@media (max-width: 640px) {
  .hero-conversion { padding: 58px 0 42px; }
  .hero-conversion h1 { font-size: 31px; }
  .hero-rich-layout { gap: 28px; }
  .hero-points, .hero-visual, .quick-contact-band { display: none; }
  .company-proof-grid { grid-template-columns: 1fr; }
  .company-proof-grid a, .company-proof-grid a:first-child, .company-proof-grid a:last-child { padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .company-proof-grid a:last-child { border-bottom: 0; }
}


/* Selected motion homepage and shared branding */
:root {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  color: #11191b; background: #fff; font-synthesis: none; -webkit-font-smoothing: antialiased;
  --ink: #11191b; --blue: #064e8f; --orange: #ff8700; --line: #cbd1d6;
  --gutter: clamp(28px, 4.7vw, 84px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body { margin: 0; min-width: 0; font-size: 16px; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { font: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
a:focus-visible, button:focus-visible { outline: 3px solid #a94c00; outline-offset: 5px; }
p, h1, h2, h3 { margin: 0; }
.container { width: calc(100% - var(--gutter) * 2); max-width: 1600px; margin-inline: auto; }
.site { overflow-x: clip; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 12px 20px; background: #fff; border: 1px solid var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 30; background: #fff; }
.header-inner { padding-inline: var(--gutter); max-width: 1768px; margin: auto; height: clamp(66px, 6vw, 88px); display: flex; align-items: center; }
.brand { flex: 0 0 auto; display: block; width: clamp(178px, 19.3vw, 248px); }
.brand img { width: 100%; height: auto; }
.header-inner > .brand { margin-left: -20px; }
.header-company { font-size: clamp(13px, 1.4vw, 19px); font-weight: 700; border-left: 1px solid #cad0d5; margin-left: 12px; padding-left: 28px; white-space: nowrap; letter-spacing: .025em; }
.global-nav { display: flex; align-items: center; gap: clamp(26px, 4.3vw, 60px); margin-left: auto; padding-left: 32px; font-size: clamp(13px, 1.4vw, 18px); font-weight: 700; }
.global-nav a { position: relative; padding-block: 12px; }
.global-nav a::after { content: ""; position: absolute; left: 0; bottom: 6px; height: 2px; width: 100%; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.global-nav a:hover::after { transform: scaleX(1); }
.menu-toggle { display: none; }
.home-hero { position: relative; isolation: isolate; min-height: clamp(505px, 48.1vw, 740px); }
.home-content { position: relative; z-index: 2; padding-top: clamp(30px, 3vw, 54px); padding-bottom: 55px; pointer-events: none; }
.home-content a { pointer-events: auto; }
.home-company { font-size: clamp(17px, 2vw, 26px); font-weight: 700; letter-spacing: .025em; margin-bottom: 14px; }
.home-hero h1 { font-size: clamp(74px, 9.1vw, 132px); font-weight: 800; line-height: 1; letter-spacing: -.045em; }
.headline-mask { display: block; overflow: clip; padding-bottom: .035em; }
.headline-mask > span { display: block; animation: headlineEnter 1s cubic-bezier(.2,.7,.25,1) both; }
.headline-mask:nth-child(2) > span { animation-delay: .14s; }
.home-message { margin-top: 16px; font-size: clamp(16px, 1.75vw, 24px); font-weight: 700; line-height: 1.9; letter-spacing: -.015em; }
.home-sectors { display: flex; flex-wrap: wrap; gap: 12px 0; margin-top: 24px; font-size: clamp(15px, 1.65vw, 22px); font-weight: 700; line-height: 1.6; }
.home-sectors a { padding: 0 22px; border-right: 1px solid var(--blue); }
.home-sectors a:first-child { padding-left: 0; }
.home-sectors a:last-child { border-right: 0; }
.home-sectors a:hover { color: var(--blue); }
.home-actions { display: flex; align-items: center; gap: 36px; margin-top: 24px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: clamp(48px, 4.4vw, 62px); min-width: clamp(202px, 19vw, 270px); padding: 10px 30px; background: #20282b; color: #fff; font-weight: 700; font-size: clamp(16px, 1.65vw, 22px); border: 1px solid #20282b; border-radius: 2px; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.button:hover { background: #064e8f; border-color: #064e8f; transform: translateY(-2px); }
.button svg { transition: transform .25s ease; flex: 0 0 auto; }
.button:hover svg { transform: translateX(4px); }
.text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--blue); font-size: inherit; font-weight: 700; line-height: 1.65; width: fit-content; }
.text-link > span { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
.text-link svg { flex: 0 0 auto; transition: transform .25s ease; }
.text-link:hover svg { transform: translateX(4px); }
.text-link:hover { color: #923b00; }
.home-actions .text-link { font-size: clamp(16px, 1.7vw, 22px); }
.home-art-parallax { position: absolute; z-index: 0; inset: -10px -6% -22px 13%; pointer-events: none; transform: translate3d(var(--pointer-x, 0), var(--pointer-y, 0), 0); transition: transform 1s ease-out; }
.home-art { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; animation: flowing 13s ease-in-out infinite alternate; transform-origin: 75% 50%; }
.motion-control { position: absolute; z-index: 4; right: var(--gutter); bottom: 22px; display: flex; align-items: center; gap: 7px; border: 1px solid #dce0e2; background: #fff; color: #525c60; border-radius: 2px; padding: 8px 10px; font-size: 11px; cursor: pointer; }
.motion-control:hover { color: var(--blue); border-color: var(--blue); }
.motion-control:disabled { cursor: default; color: #525c60; }
.intro-enter { animation: introEnter .8s ease both; }
.home-company.intro-enter { animation-delay: .05s; }
.home-message.intro-enter { animation-delay: .32s; }
.home-sectors.intro-enter { animation-delay: .44s; }
.home-actions.intro-enter { animation-delay: .55s; }
.home-section-heading { padding-top: 5px; padding-bottom: 22px; }
.home-section-heading h2, .home-contact h2 { position: relative; font-size: clamp(32px, 4vw, 54px); letter-spacing: -.035em; font-weight: 800; line-height: 1.4; }
.home-section-heading h2::before, .home-contact h2::before { content: ""; display: block; width: 44px; height: 6px; background: var(--orange); border-radius: 1px; margin-bottom: 12px; }
.home-service-row { position: relative; border-bottom: 1px solid #d2d8dc; scroll-margin-top: 88px; }
.home-service-ai { background: #eff8fc; }
.home-service-inner { display: grid; grid-template-columns: 30.5% 34% 35.5%; align-items: center; min-height: clamp(160px, 14.6vw, 220px); }
.home-service-heading { padding-right: 18px; padding-block: 28px; }
.home-service-eyebrow { color: var(--blue); font-size: clamp(12px, 1.3vw, 17px); line-height: 1.5; letter-spacing: .015em; font-weight: 700; margin-bottom: 12px; }
.home-service-heading h3 { font-size: clamp(25px, 2.8vw, 39px); font-weight: 700; line-height: 1.45; letter-spacing: -.04em; white-space: nowrap; }
.home-service-description { padding: 0 26px; margin-block: 18px; border-left: 1px solid #bfc9d0; font-size: clamp(13px, 1.32vw, 18px); line-height: 1.8; }
.home-service-scope { font-size: .95em; margin-top: 10px; }
.home-service-links { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 14px; }
.home-service-links .text-link { gap: 8px; }
.home-service-links .text-link svg { width: 20px; }
.home-service-image-link { position: relative; height: 100%; min-height: inherit; align-self: stretch; display: block; overflow: hidden; clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%); margin-right: calc(var(--gutter) * -.65); }
.home-service-image-link img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.65,.25,1); }
.home-service-image-link:hover img { transform: scale(1.06); }
.home-service-welfare .home-service-inner { min-height: clamp(245px, 23.3vw, 360px); }
.home-service-welfare .home-service-image-link img { object-position: 50% 60%; }
.home-service-welfare .home-service-description { padding-right: 12px; }
.home-service-welfare .home-service-links { gap: 10px 14px; }
.home-contact { isolation: isolate; overflow: hidden; position: relative; border-bottom: 1px solid var(--line); }
.home-contact-inner { min-height: clamp(120px, 11vw, 170px); display: flex; align-items: center; gap: clamp(40px, 5.5vw, 80px); padding-block: 22px; }
.home-contact h2 { font-size: clamp(30px, 3.8vw, 52px); }
.home-contact h2::before { margin-bottom: 10px; }
.home-contact .button { margin-top: 10px; min-width: 245px; }
.home-contact-art { position: absolute; right: -20%; bottom: -150px; width: 65%; height: 370px; object-fit: contain; z-index: -1; animation: contactFlow 16s ease-in-out infinite alternate; }
.site-footer { background: #fff; }
.footer-inner { display: grid; grid-template-columns: 1.03fr 1fr; padding-block: 26px; gap: 48px; }
.footer-brand-line { display: flex; align-items: center; gap: 18px; }
.footer-brand { width: 174px; margin-left: -12px; }
.footer-brand-line > span { font-size: 14px; font-weight: 700; padding-left: 20px; border-left: 1px solid var(--line); white-space: nowrap; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; color: var(--blue); font-size: clamp(11px, 1.15vw, 15px); font-weight: 600; }
.footer-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.footer-partner { border-left: 1px solid var(--line); padding-left: 44px; align-self: center; }
.partner-label { font-size: 13px; font-weight: 700; margin-bottom: 12px; }
.partner-content { display: flex; align-items: center; gap: 22px; }
.partner-content a { flex: 0 0 155px; }
.partner-content img { width: 155px; height: auto; }
.partner-content p { font-size: clamp(10px, 1.13vw, 14px); line-height: 1.7; padding-left: 20px; border-left: 1px solid var(--line); }
[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.65,.25,1); }
[data-reveal].is-revealed { opacity: 1; transform: translateY(0); }
.home-service-description[data-reveal] { transition-delay: .08s; }
.home-service-image-link[data-reveal] { transition-delay: .16s; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused !important; }
.motion-paused .intro-enter, .motion-paused .headline-mask > span, .motion-paused [data-reveal] { animation: none; opacity: 1; transform: none; transition: none; }
@keyframes flowing { 0% { transform: translate3d(-1%, 1%, 0) scale(1.02) rotate(-.6deg); } 100% { transform: translate3d(1.3%, -1.4%, 0) scale(1.075) rotate(.7deg); } }
@keyframes contactFlow { from { transform: translateX(-10px) rotate(-2deg); } to { transform: translateX(20px) rotate(2deg); } }
@keyframes headlineEnter { from { transform: translateY(108%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes introEnter { from { transform: translateY(14px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@media (min-width: 1768px) { .home-art-parallax { right: calc((100vw - 1768px) / 2 - 80px); left: calc((100vw - 1768px) / 2 + 240px); } }
@media (max-width: 1150px) and (min-width: 761px) {
  .header-company { padding-left: 20px; margin-left: 2px; }
  .global-nav { gap: 28px; padding-left: 24px; }
  .home-service-heading h3 { font-size: 30px; }
  .home-service-description { padding-inline: 24px 8px; }
  .home-service-welfare .home-service-links .text-link { font-size: 12px; }
  .footer-inner { gap: 22px; }
  .footer-partner { padding-left: 28px; }
  .partner-content { gap: 14px; }
  .partner-content a { flex-basis: 130px; }
  .partner-content img { width: 130px; }
  .partner-content p { padding-left: 14px; }
  .footer-brand { width: 150px; }
  .footer-brand-line > span { font-size: 12px; padding-left: 16px; }
}
@media (max-width: 900px) and (min-width: 761px) {
  .header-company { display: none; }
  .home-sectors a { padding-inline: 16px; }
  .home-service-inner { grid-template-columns: 31% 39% 30%; }
  .home-service-heading h3 { font-size: 22px; }
  .home-service-description { padding-left: 18px; }
  .home-contact-inner { gap: 28px; }
  .home-contact h2 { font-size: 29px; }
  .home-contact .button { min-width: 215px; }
  .partner-content { flex-wrap: wrap; gap: 10px; }
  .partner-content p { border: 0; padding: 0; }
}
@media (max-width: 760px) {
  :root { --gutter: 24px; }
  html { scroll-padding-top: 80px; }
  .header-inner { height: 70px; }
  .header-inner > .brand { width: 178px; margin-left: -14px; }
  .header-company { display: none; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-left: auto; padding: 0; background: #fff; border: 0; color: var(--ink); cursor: pointer; }
  .global-nav { display: none; position: absolute; top: 70px; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--line); padding: 18px var(--gutter) 26px; margin: 0; font-size: 16px; }
  .global-nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
  .global-nav a { padding-block: 12px; }
  .home-hero { min-height: 610px; }
  .home-content { padding-top: 34px; padding-bottom: 135px; }
  .home-company { font-size: 15px; margin-bottom: 22px; }
  .home-hero h1 { font-size: clamp(52px, 15.9vw, 104px); line-height: 1.18; letter-spacing: -.05em; }
  .home-message { margin-top: 22px; font-size: 14px; line-height: 1.9; max-width: 360px; }
  .home-sectors { margin-top: 24px; font-size: 12px; gap: 10px 14px; line-height: 1.6; }
  .home-sectors a { padding: 0; border-right: 0; }
  .home-actions { margin-top: 26px; gap: 20px; }
  .button { min-width: 176px; min-height: 50px; font-size: 15px; padding-inline: 18px; gap: 12px; }
  .home-actions .text-link { font-size: 14px; gap: 4px; }
  .home-actions .text-link svg { width: 17px; }
  .home-art-parallax { inset: 135px -75% -5px 1%; z-index: -1; opacity: .66; }
  .home-art { object-fit: contain; object-position: 70% 100%; }
  .motion-control { font-size: 10px; bottom: 25px; min-height: 34px; }
  .home-section-heading { padding-top: 8px; padding-bottom: 25px; }
  .home-section-heading h2 { font-size: 32px; }
  .home-section-heading h2::before, .home-contact h2::before { height: 5px; width: 34px; margin-bottom: 12px; }
  .home-service-inner { grid-template-columns: 1fr; min-height: auto; padding-top: 32px; padding-bottom: 32px; }
  .home-service-heading { padding: 0; }
  .home-service-eyebrow { font-size: 11px; letter-spacing: .04em; margin-bottom: 8px; }
  .home-service-heading h3 { font-size: 28px; white-space: normal; line-height: 1.45; }
  .home-service-description { border-left: 0; padding: 0; margin: 18px 0 24px; font-size: 14px; line-height: 1.9; }
  .home-service-scope { font-size: 12px; margin-top: 10px; }
  .home-service-links { margin-top: 16px; gap: 14px; }
  .home-service-links .text-link { font-size: 13px; min-height: 34px; gap: 7px; }
  .home-service-links .text-link svg { width: 18px; }
  .home-service-image-link { aspect-ratio: 1.95; min-height: 0; height: auto; margin-right: calc(var(--gutter) * -1); clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%); }
  .home-service-image-link img { height: 100%; }
  .home-service-welfare .home-service-inner { min-height: 0; }
  .home-service-welfare .home-service-description { padding-right: 0; }
  .home-service-welfare .home-service-image-link { aspect-ratio: 1.65; }
  .home-service-welfare .home-service-image-link img { object-position: 50% 62%; }
  .home-contact-inner { min-height: 230px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 20px; padding-block: 36px; }
  .home-contact h2 { font-size: clamp(25px, 7.1vw, 37px); }
  .home-contact .button { margin-top: 0; min-width: 210px; }
  .home-contact-art { width: 115%; right: -45%; bottom: -95px; opacity: .7; height: 270px; }
  .footer-inner { grid-template-columns: 1fr; gap: 28px; padding-block: 24px 34px; }
  .footer-brand-line { gap: 14px; }
  .footer-brand { width: 150px; margin-left: -12px; }
  .footer-brand-line > span { font-size: 12px; padding-left: 14px; }
  .footer-nav { gap: 8px 20px; font-size: 11px; line-height: 1.9; }
  .footer-nav a { padding-block: 5px; }
  .footer-partner { border-left: 0; border-top: 1px solid var(--line); padding-top: 24px; padding-left: 0; }
  .partner-label { font-size: 12px; margin-bottom: 14px; }
  .partner-content { gap: 16px; }
  .partner-content a { flex-basis: 116px; }
  .partner-content img { width: 116px; }
  .partner-content p { padding-left: 14px; font-size: 10px; }
  .desktop-break { display: none; }
}
@media (max-width: 360px) {
  :root { --gutter: 20px; }
  .home-sectors { display: grid; grid-template-columns: 1fr; font-size: 13px; gap: 8px; }
  .home-sectors a { padding: 0; }
  .home-actions { gap: 18px; flex-wrap: wrap; }
  .home-actions .button { min-width: 164px; padding-inline: 14px; }
  .home-actions .text-link { font-size: 13px; }
  .home-service-heading h3 { font-size: 26px; }
  .footer-brand-line { flex-wrap: wrap; gap: 4px; }
  .footer-brand-line > span { padding-left: 0; border-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-reveal], .intro-enter, .headline-mask > span { transform: none; opacity: 1; }
  .home-art-parallax { transform: none; }
}

/* Shared production theme: the selected motion direction, applied to existing page components. */
:root { --ink:#11191b; --text:#27343b; --muted:#46535a; --line:#d7dee2; --white:#fff; --bg:#fff; --bg-soft:#f3f7f9; --orange:#ff8700; --orange-dark:#064e8f; --orange-action-start:#20282b; --orange-action-end:#20282b; --orange-pale:#eff6fa; --shadow-card:none; --shadow-card-hover:none; --radius-lg:2px; --radius-md:2px; --radius-sm:2px; --container:1280px; }
body.motion-site { margin:0; min-width:0; background:#fff; color:var(--text); font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; font-size:16px; line-height:1.9; letter-spacing:.01em; }
.motion-site h1,.motion-site h2,.motion-site h3 { color:var(--ink); }
.motion-site .container { width:calc(100% - var(--gutter)*2); max-width:var(--container); }
.home-body .container,.motion-site .footer-inner,.motion-site .footer-site-nav { max-width:1600px; }
.motion-site .site-header { background:#fff; border:0; backdrop-filter:none; }
.motion-site .header-inner { width:100%; min-height:0; height:clamp(66px,6vw,88px); max-width:1768px; margin:auto; padding:0 var(--gutter); display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:0; }
.motion-site .global-nav { position:static; display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:flex-end; width:auto; max-height:none; padding:0 0 0 32px; margin-left:auto; gap:clamp(26px,4vw,58px); overflow:visible; border:0; border-radius:0; background:#fff; box-shadow:none; font-weight:700; color:var(--ink); }
.motion-site .global-nav a { width:auto; padding:12px 0; border-radius:0; background:none; }
.motion-site .global-nav a:hover { background:none; color:var(--blue); transform:none; }
.motion-site .nav-toggle { display:none; }
.motion-site .hero-actions { gap:14px; margin-top:22px; }
.motion-site .button { min-width:0; min-height:48px; gap:16px; padding:11px 20px; border-radius:2px; font-size:15px; font-weight:700; justify-content:center; box-shadow:none; line-height:1.65; }
.motion-site .button-primary { color:#fff; background:#20282b; border-color:#20282b; }
.motion-site .button-primary:hover { background:var(--blue); border-color:var(--blue); box-shadow:none; }
.motion-site .button-outline { color:var(--blue); background:#fff; border-color:#aebcc6; }
.motion-site .button-outline:hover { background:#eff6fa; box-shadow:none; }
.motion-site .button::after { content:""; width:21px; height:21px; flex:0 0 auto; background:url('/images/ui/arrow-right-white.svg') center/contain no-repeat; transition:transform .25s ease; }
.motion-site .button-outline::after { background-image:url('/images/ui/arrow-right.svg'); }
.motion-site .button:hover::after { transform:translateX(4px); }
.motion-site .text-link { display:inline-flex; align-items:center; gap:9px; color:var(--blue); font-weight:700; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
.motion-site .text-link::after { content:""; width:20px; height:20px; flex:0 0 auto; background:url('/images/ui/arrow-right.svg') center/contain no-repeat; transition:transform .25s ease; }
.motion-site .text-link:hover { color:#923b00; }
.motion-site .text-link:hover::after { transform:translateX(4px); }
.motion-site .section-label,.motion-site .service-category,.motion-site .side-nav-title { color:var(--blue); font-weight:700; }
.motion-site .subpage-hero { position:relative; isolation:isolate; overflow:hidden; padding:54px 0 48px; background:#fff; border-bottom:1px solid var(--line); }
.motion-site .subpage-hero::after,.motion-site .hero-section::before,.motion-site .hero-section::after { display:none; }
.motion-site .subpage-hero>.container { position:relative; z-index:1; }
.motion-site .subpage-art { position:absolute; z-index:-1; width:760px; height:100%; top:0; right:-100px; object-fit:cover; object-position:right center; opacity:.20; pointer-events:none; animation:subpageFlow 18s ease-in-out infinite alternate; }
.motion-site .subpage-hero h1 { max-width:1000px; font-size:clamp(32px,3.6vw,50px); line-height:1.45; letter-spacing:-.035em; font-weight:750; margin-bottom:20px; overflow-wrap:anywhere; }
.motion-site .subpage-lead { max-width:880px; font-size:17px; line-height:1.95; color:#38464d; }
.motion-site .breadcrumb { gap:8px; font-size:12px; line-height:1.7; margin-bottom:28px; }
.motion-site .breadcrumb a { color:var(--blue); }
.motion-site .section { padding:64px 0; }
.motion-site .page-section { background:#fff; }
.motion-site .page-grid { grid-template-columns:220px minmax(0,1fr); gap:52px; }
.motion-site .page-content { gap:26px; }
.motion-site .page-side-nav { top:108px; gap:5px; padding:4px 22px 24px 0; border:0; border-right:1px solid var(--line); border-radius:0; box-shadow:none; background:#fff; }
.motion-site .page-side-nav a { padding:9px 0; border-radius:0; font-weight:650; color:#38464d; font-size:14px; line-height:1.7; }
.motion-site .page-side-nav a:hover { color:var(--blue); background:none; text-decoration:underline; text-underline-offset:5px; }
.motion-site .page-side-nav .side-nav-contact { padding:11px 12px; color:#fff; background:#20282b; border-radius:2px; }
.motion-site .content-card,.motion-site .intro-card,.motion-site .section-text { padding:26px 0 34px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; box-shadow:none; }
.motion-site .content-card:first-child,.motion-site .intro-card:first-child { padding-top:0; }
.motion-site .content-card h2,.motion-site .form-card h2,.motion-site .link-card h2 { display:block; margin:0 0 22px; font-size:clamp(23px,2.2vw,30px); line-height:1.6; font-weight:700; letter-spacing:-.025em; }
.motion-site .content-card h2::before,.motion-site .form-card h2::before,.motion-site .link-card h2::before { display:block; width:28px; height:3px; margin-bottom:12px; border-radius:0; box-shadow:none; background:var(--orange); }
.motion-site .content-card h3 { font-size:21px; font-weight:700; line-height:1.6; }
.motion-site .content-card p,.motion-site .intro-card p { color:#38464d; }
.motion-site .content-card a:not(.button),.motion-site .intro-card a:not(.button) { color:var(--blue); font-weight:650; }
.motion-site .dic-article h2 { margin-top:38px; }
.motion-site .dic-article h2:first-child { margin-top:0; }
.motion-site .center-card { text-align:left; }
.motion-site .center-actions { justify-content:flex-start; }
.motion-site .check-list { gap:10px; }
.motion-site .check-list li { padding-left:22px; }
.motion-site .check-list li::before { width:5px; height:5px; left:3px; top:.8em; border-radius:0; background:var(--orange); box-shadow:none; }
.motion-site .profile-table-wrap { border:1px solid var(--line); border-radius:2px; }
.motion-site .profile-table th { background:#f3f7f9; font-weight:700; }
.motion-site .profile-table td { color:#38464d; }
.motion-site .term-chip,.motion-site .pill-list li { border-radius:2px; background:#f3f7f9; border-color:var(--line); font-weight:600; }
.motion-site .notice-box,.motion-site .consultation-note { border-radius:2px; background:#f3f7f9; border-color:var(--line); }
.motion-site .status-label { padding:0; background:none; border-radius:0; color:var(--blue); font-size:12px; font-weight:700; }
.motion-site .link-card { border-radius:2px; border-color:var(--line); box-shadow:none; padding:26px; }
.motion-site .link-card-accent { background:#eff6fa; }
.motion-site .link-card-accent h2,.motion-site .link-card-accent p { color:var(--ink); }
.motion-site .service-path-card,.motion-site .process-grid article,.motion-site .sdgs-goal-card { border-radius:2px; box-shadow:none; border-color:var(--line); }
.motion-site .initiative-grid article,.motion-site .process-list div { border-radius:2px; background:#f3f7f9; }
.motion-site .pricing-item { border-radius:2px; background:#f3f7f9; border-left:3px solid #a5bac8; }
.motion-site .pricing-item-recommended { border-color:var(--orange); background:#fff; box-shadow:none; }
.motion-site .contact-card { background:#20282b; border-radius:2px; box-shadow:none; }
.motion-site .contact-card h2,.motion-site .contact-card p { color:#fff; }
.motion-site .form-card { border:1px solid var(--line); border-radius:2px; background:#fff; box-shadow:none; padding:30px; gap:24px; }
.motion-site .form-card input[type="text"],.motion-site .form-card input[type="email"],.motion-site .form-card input[type="tel"],.motion-site .form-card input[type="url"],.motion-site .form-card textarea,.motion-site .form-card select { font-size:16px; border-radius:2px; border-color:#aebcc6; }
.motion-site .form-card fieldset,.motion-site .optional-form-details { border-radius:2px; border-color:var(--line); }
.motion-site .contact-form-intro { padding:0 0 20px; background:none; border-radius:0; border-bottom:1px solid var(--line); }
.motion-site .contact-intro { top:108px; }
.motion-site .privacy-check { align-items:flex-start; }
.motion-site .privacy-check input { flex:0 0 auto; margin-top:5px; }
.motion-site .home-content { padding-top:clamp(30px,3vw,54px); }
.motion-site .home-company { margin-bottom:14px; color:var(--ink); }
.motion-site .home-hero h1 { margin-bottom:0; font-size:clamp(74px,9.1vw,132px); line-height:1; }
.motion-site .home-message { color:var(--ink); }
.motion-site .home-actions .button { min-width:clamp(202px,19vw,270px); min-height:clamp(48px,4.4vw,62px); justify-content:space-between; padding-inline:30px; font-size:clamp(16px,1.65vw,22px); }
.motion-site .home-contact .button { min-width:245px; justify-content:space-between; font-size:clamp(16px,1.65vw,22px); }
.motion-site .home-service-description p { margin-bottom:0; color:#27343b; }
.motion-site .home-service-heading h3 { color:var(--ink); }
.motion-site .home-service-image-link { transition-delay:.1s; }
.motion-site .home-service-links { font-size:clamp(13px,1.32vw,18px); }
.motion-site .home-contact-inner { padding-block:30px; align-items:center; }
.motion-site .home-contact h2 { margin:0; line-height:1.4; }
.motion-site .anchor-target { scroll-margin-top:100px; }
.motion-site .footer-inner { margin-top:0; gap:48px; }
.motion-site .site-footer { color:var(--ink); background:#fff; padding:0; border-top:1px solid var(--line); }
.motion-site .footer-nav { margin:0; padding:0; gap:10px 20px; justify-content:flex-start; color:var(--blue); font-size:12px; }
.motion-site .footer-phone { display:inline-block; margin-top:12px; color:#46535a; font-size:13px; letter-spacing:.02em; }
.motion-site .partner-content p { margin:0; color:var(--ink); }
.motion-site .footer-site-nav { display:flex; flex-wrap:wrap; gap:8px 24px; padding:18px 0 26px; border-top:1px solid var(--line); font-size:12px; color:#46535a; }
.motion-site .footer-site-nav a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:5px; }
.motion-site .footer-brand img { width:100%; height:auto; }
.motion-site .domain-list { display:grid; gap:64px; }
.motion-site .domain-section { padding-bottom:44px; border-bottom:1px solid var(--line); scroll-margin-top:112px; }
.motion-site .domain-intro { display:grid; grid-template-columns:1fr 42%; align-items:center; gap:64px; }
.motion-site .domain-intro h2 { font-size:clamp(28px,3.2vw,43px); line-height:1.5; letter-spacing:-.035em; }
.motion-site .domain-intro p { margin-bottom:22px; }
.motion-site .domain-intro>img { width:100%; aspect-ratio:1.8; object-fit:cover; clip-path:polygon(12% 0,100% 0,100% 100%,0 100%); }
.motion-site .capability-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 32px; list-style:none; padding:0; margin:32px 0 0; }
.motion-site .capability-list li { padding-top:18px; border-top:1px solid var(--line); }
.motion-site .capability-list p { margin:12px 0 0; color:#46535a; font-size:14px; }
.motion-site .capability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 32px; }
.motion-site .capability-grid article { padding-top:18px; border-top:1px solid var(--line); }
.motion-site .capability-grid h3 { margin-top:0; font-size:19px; }
.motion-site .capability-grid p { font-size:15px; }
.motion-site .shop-feature { display:grid; grid-template-columns:34% 1fr; align-items:center; gap:30px; }
.motion-site .shop-feature>img { width:100%; max-height:340px; object-fit:cover; }
.motion-site .motion-control { font-family:inherit; line-height:1.4; gap:6px; }
.motion-site .motion-control img { width:13px; height:13px; }
.motion-site .subpage-hero .motion-control { bottom:12px; right:var(--gutter); }
.motion-site [data-reveal] { opacity:1; transform:none; }
.motion-enhanced .motion-site [data-reveal]:not(.is-revealed) { opacity:0; transform:translateY(20px); }
.motion-enhanced .motion-paused [data-reveal] { opacity:1; transform:none; }
.motion-paused .subpage-art { animation-play-state:paused; }
@keyframes subpageFlow { from { transform:translateX(-10px) scale(1); } to { transform:translateX(10px) scale(1.04); } }
@media (max-width:1150px) { .motion-site .header-company { padding-left:20px; margin-left:2px; } .motion-site .global-nav { gap:28px; padding-left:24px; } }
@media (max-width:920px) {
 .motion-site .page-grid { grid-template-columns:1fr; gap:34px; }
 .motion-site .page-side-nav { display:flex; flex-wrap:wrap; position:static; order:0; gap:5px 20px; padding:0 0 22px; border-right:0; border-bottom:1px solid var(--line); }
 .motion-site .side-nav-title { flex-basis:100%; margin-bottom:5px; }
 .motion-site .page-side-nav a { padding:4px 0; font-size:13px; }
 .motion-site .page-side-nav .side-nav-contact { margin-top:0; padding:4px 12px; }
 .motion-site .page-content { order:1; }
 .motion-site .contact-layout { grid-template-columns:1fr; }
 .motion-site .contact-intro { position:static; }
 .motion-site .domain-intro { gap:32px; grid-template-columns:1fr 40%; }
 .motion-site .capability-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) and (min-width:761px) { .motion-site .header-company { display:none; } }
@media (max-width:760px) {
 :root { --gutter:24px; }
 .motion-site .header-inner { height:70px; padding-inline:var(--gutter); }
 .motion-site .header-company { display:none; }
 .motion-site .nav-toggle { display:none; }
 .nav-enhanced .motion-site .nav-toggle { display:inline-flex; margin-left:auto; flex:0 0 auto; width:46px; height:46px; border:0; padding:10px; border-radius:0; background:#fff; cursor:pointer; }
 .motion-site .nav-toggle img { width:26px; height:26px; }
 .motion-site .global-nav { display:flex; flex-wrap:wrap; gap:4px 16px; padding-left:12px; font-size:12px; }
 .nav-enhanced .motion-site .global-nav { display:none; position:absolute; top:70px; left:0; right:0; width:auto; padding:18px var(--gutter) 26px; margin:0; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; background:#fff; align-items:stretch; flex-direction:column; gap:6px; max-height:calc(100dvh - 70px); overflow-y:auto; }
 .nav-enhanced .motion-site .global-nav.is-open { display:flex; }
 .motion-site .global-nav a { padding:12px 0; font-size:15px; }
 .motion-site .subpage-hero { padding:32px 0 44px; }
 .motion-site .subpage-hero h1 { font-size:clamp(29px,7vw,40px); line-height:1.5; margin-bottom:18px; }
 .motion-site .subpage-lead { font-size:15px; line-height:1.9; }
 .motion-site .breadcrumb { font-size:11px; gap:6px; margin-bottom:24px; }
 .motion-site .subpage-art { width:100%; right:-45%; opacity:.15; }
 .motion-site .subpage-hero .motion-control { font-size:10px; bottom:8px; padding:6px 8px; }
 .motion-site .section { padding:42px 0; }
 .motion-site .content-card,.motion-site .intro-card,.motion-site .section-text { padding:22px 0 30px; border-radius:0; }
 .motion-site .content-card h2,.motion-site .form-card h2 { font-size:23px; }
 .motion-site .content-card h3 { font-size:20px; }
 .motion-site .form-card { padding:24px 18px; gap:22px; }
 .motion-site .form-card fieldset { padding:14px; }
 .motion-site .form-grid { grid-template-columns:1fr; }
 .motion-site .button { min-height:48px; padding:11px 16px; font-size:14px; gap:12px; }
 .motion-site .hero-actions { gap:12px; }
 .motion-site .home-hero h1 { font-size:clamp(52px,15.9vw,104px); line-height:1.18; }
 .motion-site .home-actions .button { min-width:176px; min-height:50px; padding-inline:18px; font-size:15px; }
 .motion-site .home-contact .button { min-width:210px; font-size:15px; }
 .motion-site .home-contact-inner { align-items:flex-start; }
 .motion-site .home-service-description { font-size:14px; }
 .motion-site .home-service-links { font-size:13px; }
 .motion-site .footer-inner { gap:26px; padding-block:24px; }
 .motion-site .footer-nav { font-size:11px; gap:8px 18px; }
 .motion-site .footer-site-nav { font-size:11px; gap:10px 18px; padding-bottom:28px; }
 .motion-site .domain-list { gap:42px; }
 .motion-site .domain-intro { grid-template-columns:1fr; gap:24px; }
 .motion-site .domain-intro>img { aspect-ratio:1.9; }
 .motion-site .domain-section { padding-bottom:34px; }
 .motion-site .capability-list { grid-template-columns:1fr; gap:20px; margin-top:24px; }
 .motion-site .capability-grid { grid-template-columns:1fr; gap:18px; }
 .motion-site .shop-feature { grid-template-columns:1fr; gap:24px; }
 .motion-site .profile-table { font-size:14px; }
}
@media (max-width:360px) {
 :root { --gutter:20px; }
 .motion-site .home-actions .button { min-width:164px; padding-inline:14px; }
 .motion-site .footer-brand-line { flex-wrap:wrap; gap:4px; }
 .motion-site .footer-brand-line>span { border:0; padding-left:0; }
}
@media (prefers-reduced-motion:reduce) {
 .motion-site *, .motion-site *::before,.motion-site *::after { animation:none!important; transition:none!important; }
 .motion-site [data-reveal],.motion-enhanced .motion-site [data-reveal]:not(.is-revealed) { opacity:1; transform:none; }
}

.motion-site .content-card>p,.motion-site .intro-card>p { margin-bottom:16px; }
.motion-site .content-card>p:last-child,.motion-site .intro-card>p:last-child { margin-bottom:0; }
.motion-site .capability-grid p { margin-bottom:14px; }
html { overflow-x:clip; }

.motion-site .consultation-domain { margin:42px 0; }
.motion-site .footer-partner { --partner-banner-width:155px; }
.motion-site .partner-content+.partner-content { border-top:1px solid var(--line); margin-top:18px; padding-top:18px; }
.motion-site .partner-content>.partner-banner { display:flex; flex:0 0 var(--partner-banner-width); width:var(--partner-banner-width); height:46px; align-items:center; justify-content:center; }
.motion-site .partner-banner img { width:100%; height:100%; object-fit:contain; }
.motion-site .partner-content>.partner-banner-feerie { gap:6px; border:1px solid var(--line); padding:3px; }
.motion-site .partner-banner-feerie img { width:42%; flex:0 0 42%; }
.motion-site .partner-banner-feerie span { font-size:10px; line-height:1.5; white-space:nowrap; color:var(--ink); }
.motion-site .partner-banner-feerie strong { font-size:14px; }
.motion-site .partner-content p .text-link { margin-top:5px; gap:7px; font-size:inherit; }
@media(max-width:1150px) and (min-width:761px) { .motion-site .footer-partner { --partner-banner-width:130px; } .motion-site .partner-banner-feerie span { font-size:9px; } .motion-site .partner-banner-feerie strong { font-size:12px; } }
@media(max-width:760px) { .motion-site .footer-partner { --partner-banner-width:116px; } .motion-site .partner-content>.partner-banner-feerie { gap:3px; } .motion-site .partner-banner-feerie span { font-size:9px; } .motion-site .partner-banner-feerie strong { font-size:12px; } }
.motion-site .consultation-domain>h2 { font-size:28px; margin-bottom:24px; }
.motion-site .service-path-card h3 { margin:16px 0; font-size:23px; line-height:1.5; }
@media(max-width:760px) { .motion-site .consultation-domain>h2 { font-size:25px; } .motion-site .service-path-card h3 { font-size:21px; } }
