@charset "UTF-8";
/* サービス詳細ページ共通（service-*.html） */
.svc em { color: #1048a8; }
.svc strong { color: #ba0900; font-weight: 700; }

/* ===== 見出し ===== */
.svcTtl { color: #010101; font-family: var(--min); font-size: calc(36 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.53; text-align: center; }
.svcTtl span { display: block; margin-bottom: calc(10 / var(--screen-w) * 100vw); color: var(--btn); font-family: var(--en); font-size: calc(26 / var(--fs-w) * 100vw); line-height: 1.3; }

/* ===== ページヘッダー ===== */
.svcHead { position: relative; padding: calc(313 / var(--screen-w) * 100vw) 0 0; background: radial-gradient(calc(700 / var(--screen-w) * 100vw) calc(560 / var(--screen-w) * 100vw) at 100% 100%, #d9e4f9, rgba(217, 228, 249, 0)), linear-gradient(160deg, #e3eafb 5%, #eef3fd 35%, #fbfcfe 60%, #f6f8fd); }
.svcHead .breadcrumb { position: absolute; top: calc(174 / var(--screen-w) * 100vw); left: 0; width: calc(482 / var(--screen-w) * 100vw); margin: 0; padding-left: calc(113 / var(--screen-w) * 100vw); border-radius: 0 calc(23 / var(--screen-w) * 100vw) 0 0; background: linear-gradient(92.6deg, #fff 2.8%, #e5edfc 95.7%); font-size: calc(12 / var(--fs-w) * 100vw); line-height: calc(55 / var(--screen-w) * 100vw); }
.svcHead .breadcrumb li + li::before { width: calc(13 / var(--screen-w) * 100vw); margin: 0 calc(4 / var(--screen-w) * 100vw) 0 calc(5 / var(--screen-w) * 100vw); background: #818181; }
.svcHead .breadcrumb li:last-child { color: #202224; font-weight: 600; }
@media (max-width: 1600px) {
  /* 文字が大きくなって固定幅の白帯の中で2行になるので、帯を文字に合わせて伸ばす */
  .svcHead .breadcrumb { width: auto; min-width: calc(482 / var(--screen-w) * 100vw); padding-right: calc(40 / var(--screen-w) * 100vw); white-space: nowrap; }
}
.svcHead-txt { text-align: center; }
.svcHead-en { color: var(--btn); font-family: var(--en); font-size: calc(20 / var(--fs-w) * 100vw); line-height: 1.2; }
.svcHead-en span { display: inline-block; margin-left: calc(8 / var(--screen-w) * 100vw); font-family: var(--ff); font-size: calc(16 / var(--fs-w) * 100vw); font-weight: 500; vertical-align: 0; }
.svcHead h1 { margin-top: calc(8 / var(--screen-w) * 100vw); color: #010101; font-family: var(--min); font-size: calc(50 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.72; }
.svcHead-tags { justify-content: center; gap: calc(5 / var(--screen-w) * 100vw); margin-top: calc(30 / var(--screen-w) * 100vw); }
.svcHead-tags li { padding: calc(3 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw); border-radius: calc(12 / var(--screen-w) * 100vw); background: #fff; color: var(--btn); font-size: calc(16 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.5; }
.svcToc { position: absolute; top: calc(605 / var(--screen-w) * 100vw); right: calc(39 / var(--screen-w) * 100vw); z-index: 5; width: calc(160 / var(--screen-w) * 100vw); }
.svcToc-btn { position: relative; display: block; width: 100%; padding: calc(10 / var(--screen-w) * 100vw) calc(21 / var(--screen-w) * 100vw) calc(11 / var(--screen-w) * 100vw); border-radius: calc(6 / var(--screen-w) * 100vw) calc(6 / var(--screen-w) * 100vw) 0 0; background: var(--btn); color: #fff; font-size: calc(16 / var(--fs-w) * 100vw); font-weight: 600; line-height: 1.6; text-align: left; }
.svcToc-btn::after { content: ""; position: absolute; top: 50%; right: calc(19 / var(--screen-w) * 100vw); width: calc(14 / var(--screen-w) * 100vw); height: 1px; background: #fff; }
.svcToc-btn[aria-expanded="false"]::before { content: ""; position: absolute; top: calc(50% - calc(7 / var(--screen-w) * 100vw)); right: calc(25.5 / var(--screen-w) * 100vw); width: 1px; height: calc(14 / var(--screen-w) * 100vw); background: #fff; }
.svcToc ul { margin-top: calc(-5 / var(--screen-w) * 100vw); padding: calc(16 / var(--screen-w) * 100vw) 0 calc(18 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); border: 1px solid #e5e5e5; border-radius: calc(6 / var(--screen-w) * 100vw); background: #fff; font-size: calc(16 / var(--fs-w) * 100vw); font-weight: 500; line-height: calc(34 / var(--screen-w) * 100vw); }
.svcToc a { display: block; }
.svcToc a[aria-current] { position: relative; color: var(--btn); }
.svcToc a[aria-current]::before { content: ""; position: absolute; top: 50%; left: calc(-14 / var(--screen-w) * 100vw); width: calc(5 / var(--screen-w) * 100vw); height: calc(5 / var(--screen-w) * 100vw); border-radius: 50%; background: var(--btn); transform: translateY(-50%); }
.svcToc.is-close ul { display: none; }
/* 追従: 上から160pxまで来たら固定（service-detail.js が is-fixed）、CTAに近づいたら消す（is-end） */
.svcToc { transition: opacity .3s, visibility .3s; }
.svcToc.is-fixed { position: fixed; top: calc(160 / var(--screen-w) * 100vw); }
.svcToc.is-end { opacity: 0; visibility: hidden; }
.svcIntro { width: calc(1500 / var(--screen-w) * 100vw); margin: calc(186 / var(--screen-w) * 100vw) auto 0; padding: calc(113 / var(--screen-w) * 100vw) calc(112 / var(--screen-w) * 100vw) calc(99.4 / var(--screen-w) * 100vw) calc(113 / var(--screen-w) * 100vw); border-radius: calc(175 / var(--screen-w) * 100vw) calc(175 / var(--screen-w) * 100vw) 0 0; background: #fff; }
.svcIntro h2 { font-family: var(--min); font-size: calc(36 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.72; }
.svcIntro p { width: calc(646 / var(--screen-w) * 100vw); color: #58595b; font-size: calc(17 / var(--fs-w) * 100vw); letter-spacing: .02em; line-height: 2.31; }

/* ===== お悩み ===== */
.svcWorry { padding: calc(124 / var(--screen-w) * 100vw) 0 calc(108 / var(--screen-w) * 100vw); background: var(--btn); }
.svcWorry-label { display: table !important; margin: 0 auto calc(8 / var(--screen-w) * 100vw) !important; padding: calc(4 / var(--screen-w) * 100vw) calc(27 / var(--screen-w) * 100vw) calc(5 / var(--screen-w) * 100vw); border-radius: calc(21 / var(--screen-w) * 100vw); background: #fff; color: var(--btn) !important; font-family: var(--ff) !important; font-size: calc(20 / var(--fs-w) * 100vw) !important; font-weight: 600; line-height: 1.65 !important; }
.svcWorry .svcTtl { color: #fff; font-size: calc(46 / var(--fs-w) * 100vw); line-height: 1.2; }
.svcWorry-body { grid-template-columns: calc(447 / var(--screen-w) * 100vw) calc(903 / var(--screen-w) * 100vw); column-gap: calc(18 / var(--screen-w) * 100vw); justify-content: center; margin-top: calc(72 / var(--screen-w) * 100vw); }
.svcWorry-col { position: relative; }
.svcWorry h3 { position: relative; z-index: 1; color: #fff; font-size: calc(22 / var(--fs-w) * 100vw); font-weight: 600; line-height: 1.64; text-align: center; }
.svcWorry-col img { position: absolute; top: calc(-35 / var(--screen-w) * 100vw); left: calc(34 / var(--screen-w) * 100vw); width: calc(340 / var(--screen-w) * 100vw); }
.svcWorry-col.-wide img { top: calc(-30 / var(--screen-w) * 100vw); left: calc(369 / var(--screen-w) * 100vw); width: calc(265 / var(--screen-w) * 100vw); }
.svcWorry-box { position: relative; margin-top: calc(235 / var(--screen-w) * 100vw); padding: calc(24 / var(--screen-w) * 100vw) calc(21.5 / var(--screen-w) * 100vw) calc(34 / var(--screen-w) * 100vw); border-radius: calc(10 / var(--screen-w) * 100vw); background: #dce6f9; }
.svcWorry-box::before { content: ""; position: absolute; top: calc(-18 / var(--screen-w) * 100vw); left: calc(50% - calc(20 / var(--screen-w) * 100vw)); border: solid transparent; border-width: 0 calc(20 / var(--screen-w) * 100vw) calc(18 / var(--screen-w) * 100vw); border-bottom-color: #dce6f9; }
.svcWorry-col.-wide .svcWorry-box { padding-inline: calc(35 / var(--screen-w) * 100vw); }
.svcWorry-box > div { width: calc(404 / var(--screen-w) * 100vw); }
.svcWorry h4 { margin-bottom: calc(7 / var(--screen-w) * 100vw); color: var(--btn); font-size: calc(18 / var(--fs-w) * 100vw); font-weight: 600; line-height: 2; text-align: center; }
.svcWorry li { display: flex; flex-direction: column; justify-content: center; min-height: calc(70 / var(--screen-w) * 100vw); padding: calc(6 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw); border-radius: calc(20 / var(--screen-w) * 100vw); background: #fff; box-shadow: calc(2 / var(--screen-w) * 100vw) calc(3 / var(--screen-w) * 100vw) 0 #c3c4c8; font-size: calc(14 / var(--fs-w) * 100vw); line-height: 1.45; text-align: center; }
.svcWorry li + li { margin-top: calc(8.5 / var(--screen-w) * 100vw); }
.svcWorry li strong { color: var(--txt); font-size: calc(18 / var(--fs-w) * 100vw); font-weight: 600; }

/* ===== 経営リスク ===== */
.svcRisk { padding: calc(121 / var(--screen-w) * 100vw) 0 calc(95 / var(--screen-w) * 100vw); }
.svcRisk-list { grid-template-columns: calc(375 / var(--screen-w) * 100vw) calc(417 / var(--screen-w) * 100vw) calc(417 / var(--screen-w) * 100vw) calc(375 / var(--screen-w) * 100vw); width: calc(1704 / var(--screen-w) * 100vw); margin: calc(62 / var(--screen-w) * 100vw) auto 0; padding: calc(40 / var(--screen-w) * 100vw) calc(56 / var(--screen-w) * 100vw) calc(35 / var(--screen-w) * 100vw); border-radius: calc(20 / var(--screen-w) * 100vw); background: #ecf2fd; }
.svcRisk-list > li { display: flex; flex-direction: column; align-items: center; padding: calc(36 / var(--screen-w) * 100vw) calc(42 / var(--screen-w) * 100vw) 0; }
.svcRisk-list > li + li { border-left: 1px dashed #b2b2b3; }
.svcRisk-list > li:first-child { padding-left: 0; }
.svcRisk-list > li:last-child { padding-right: 0; }
.svcRisk h3 { display: flex; align-items: center; min-height: calc(60 / var(--screen-w) * 100vw); color: #010101; font-size: calc(20 / var(--fs-w) * 100vw); font-weight: 600; line-height: 1.5; text-align: center; }
.svcRisk img { width: calc(160 / var(--screen-w) * 100vw); margin-top: calc(33 / var(--screen-w) * 100vw); }
.svcRisk-list ul { width: 100%; min-height: calc(155 / var(--screen-w) * 100vw); margin-top: calc(30 / var(--screen-w) * 100vw); padding: calc(14 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw) calc(14 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); border-radius: calc(8 / var(--screen-w) * 100vw); background: #fff; }
.svcRisk-list ul li { position: relative; padding-left: calc(21 / var(--screen-w) * 100vw); color: #58595b; font-size: calc(17 / var(--fs-w) * 100vw); line-height: 1.53; }
.svcRisk-list ul li::before { content: ""; position: absolute; top: calc(7 / var(--screen-w) * 100vw); left: 0; width: calc(11 / var(--screen-w) * 100vw); height: calc(11 / var(--screen-w) * 100vw); border: 1px solid #8c8d8e; }
.svcRisk li strong { color: var(--txt); font-weight: 600; }
.svcRisk p { display: flex; align-items: center; justify-content: center; position: relative; width: calc(287 / var(--screen-w) * 100vw); height: calc(287 / var(--screen-w) * 100vw); margin-top: calc(91 / var(--screen-w) * 100vw); border: 1px dashed #1048a8; border-radius: 50%; background: #fff; color: #1048a8; font-family: var(--min); font-size: calc(24 / var(--fs-w) * 100vw); line-height: 1.7; text-align: center; }
.svcRisk p::before { content: ""; position: absolute; top: calc(-55 / var(--screen-w) * 100vw); left: 50%; width: calc(16 / var(--screen-w) * 100vw); height: calc(32 / var(--screen-w) * 100vw); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 32' fill='none' stroke='%23202224' stroke-width='1.5'%3E%3Cpath d='M8 0v31M1 24l7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat; transform: translateX(-50%); }

/* ===== 選ばれる理由 ===== */
.svcStrength { padding: calc(136 / var(--screen-w) * 100vw) 0 calc(96 / var(--screen-w) * 100vw); background: #ebebeb; text-align: center; }
.svcStrength .svcTtl span { margin-bottom: calc(17 / var(--screen-w) * 100vw); }
.svcStrength-list { margin-top: calc(90 / var(--screen-w) * 100vw); counter-reset: num; text-align: left; }
.svcStrength-list li { position: relative; display: flex; align-items: center; gap: calc(61 / var(--screen-w) * 100vw); min-height: calc(447 / var(--screen-w) * 100vw); padding-left: calc(350 / var(--screen-w) * 100vw); counter-increment: num; }
.svcStrength-list li + li { margin-top: calc(56 / var(--screen-w) * 100vw); }
.svcStrength-list li:nth-child(4) { margin-top: calc(62 / var(--screen-w) * 100vw); }
.svcStrength-list li::before { content: ""; position: absolute; inset: 0 0 0 calc(423 / var(--screen-w) * 100vw); z-index: 0; border-radius: calc(224 / var(--screen-w) * 100vw) 0 0 calc(224 / var(--screen-w) * 100vw); background: #f8f8f8; }
.svcStrength-list li::after { content: counter(num, decimal-leading-zero); position: absolute; top: calc(-18 / var(--screen-w) * 100vw); left: calc(392 / var(--screen-w) * 100vw); color: #3160b1; font-family: var(--en); font-size: calc(96 / var(--fs-w) * 100vw); line-height: 1.19; z-index: 2; }
.svcStrength-list li > * { position: relative; z-index: 1; }
.svcStrength-list li:nth-child(even) { flex-direction: row-reverse; justify-content: flex-end; padding-left: calc(350 / var(--screen-w) * 100vw); }
.svcStrength-list li:nth-child(even)::before { inset: 0 calc(482 / var(--screen-w) * 100vw) 0 0; border-radius: 0 calc(224 / var(--screen-w) * 100vw) calc(224 / var(--screen-w) * 100vw) 0; }
.svcStrength-list li:nth-child(even)::after { left: calc(1417 / var(--screen-w) * 100vw); }
.svcStrength-list img { flex-shrink: 0; width: calc(515 / var(--screen-w) * 100vw); }
.svcStrength-list div { width: calc(646 / var(--screen-w) * 100vw); }
.svcStrength h3 { font-family: var(--min); font-size: calc(33 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.72; white-space: nowrap; }
.svcStrength h3 em { color: var(--blue); }
.svcStrength-list p { margin-top: calc(20 / var(--screen-w) * 100vw); color: #3b3d3e; font-size: calc(17 / var(--fs-w) * 100vw); line-height: 2.375; }
.svcStrength .btn { margin-top: calc(76 / var(--screen-w) * 100vw); text-align: left; }

/* ===== 解決事例 ===== */
.svcCase { width: calc(1416 / var(--screen-w) * 100vw); margin: 0 auto; padding: calc(128 / var(--screen-w) * 100vw) 0 calc(2 / var(--screen-w) * 100vw); }
.svcCase-head { align-items: flex-end; padding: 0 calc(42 / var(--screen-w) * 100vw) 0 calc(27 / var(--screen-w) * 100vw); }
.svcCase-head .svcTtl { display: flex; align-items: baseline; gap: calc(16 / var(--screen-w) * 100vw); }
.svcCase-head .svcTtl span { margin: 0; }
.svcCase-tab { gap: calc(42 / var(--screen-w) * 100vw); font-family: var(--en); font-size: calc(20 / var(--fs-w) * 100vw); line-height: 1.2; color: var(--btn); }
.svcCase-tab a { display: block; padding-bottom: calc(8 / var(--screen-w) * 100vw); border-bottom: calc(3 / var(--screen-w) * 100vw) solid transparent; }
.svcCase-tab a[aria-current] { border-color: var(--btn); }
.svcCase-item { display: grid; grid-template-columns: calc(408 / var(--screen-w) * 100vw) calc(374 / var(--screen-w) * 100vw) calc(374 / var(--screen-w) * 100vw); grid-template-rows: auto 1fr; column-gap: calc(66 / var(--screen-w) * 100vw); position: relative; min-height: calc(553 / var(--screen-w) * 100vw); margin-top: calc(33 / var(--screen-w) * 100vw); padding: calc(55 / var(--screen-w) * 100vw) calc(65 / var(--screen-w) * 100vw) calc(54 / var(--screen-w) * 100vw) calc(63 / var(--screen-w) * 100vw); border-radius: calc(10 / var(--screen-w) * 100vw); background: #3c6ab5 url(../img/service-it-capability/case01-bg.webp) left top / 100% auto no-repeat; color: #fff; scroll-margin-top: calc(40 / var(--screen-w) * 100vw); }
.svcCase-head + .svcCase-item { margin-top: calc(50 / var(--screen-w) * 100vw); }
#case02 { background-image: url(../img/service-it-capability/case02-bg.webp); }
#case03 { background-image: url(../img/service-it-capability/case03-bg.webp); }
#case04 { background-image: url(../img/service-it-capability/case04-bg.webp); }
/* 解決事例: スクロールすると次のカードが前のカードの上に重なっていく（PCのみ。少しずつずらして前のカードの上端を残す） */
.svcCase-item { position: sticky; top: calc(var(--stack, 0) * 18 / var(--screen-w) * 100vw + 120 / var(--screen-w) * 100vw); box-shadow: 0 calc(-8 / var(--screen-w) * 100vw) calc(30 / var(--screen-w) * 100vw) rgba(7, 14, 97, .18); }
.svcCase-item:nth-of-type(2) { --stack: 1; }
.svcCase-item:nth-of-type(3) { --stack: 2; }
.svcCase-item:nth-of-type(4) { --stack: 3; }
.svcCase-item h3 { font-family: var(--min); font-size: calc(30 / var(--fs-w) * 100vw); font-weight: 300; line-height: 1.83; }
.svcCase-item h3 span { display: block; margin-bottom: calc(4 / var(--screen-w) * 100vw); font-size: calc(44 / var(--fs-w) * 100vw); line-height: 1.2; }
.svcCase-client { align-self: start; justify-self: start; margin-top: calc(26 / var(--screen-w) * 100vw); padding: 0 calc(12 / var(--screen-w) * 100vw); border-radius: calc(14 / var(--screen-w) * 100vw); background: #f7f8fa; color: var(--btn); font-size: calc(16 / var(--fs-w) * 100vw); font-weight: 600; line-height: calc(28 / var(--screen-w) * 100vw); grid-column: 1; }
.svcCase-card { position: relative; grid-row: 1 / 3; padding: calc(29 / var(--screen-w) * 100vw) calc(38 / var(--screen-w) * 100vw) calc(23 / var(--screen-w) * 100vw) calc(39 / var(--screen-w) * 100vw); border-radius: calc(10 / var(--screen-w) * 100vw); background: #fff; color: var(--txt); }
.svcCase-card { grid-column: 2; }
.svcCase-card + .svcCase-card { grid-column: 3; }
.svcCase-card + .svcCase-card::before { content: ""; position: absolute; top: 50%; left: calc(-43 / var(--screen-w) * 100vw); width: calc(19 / var(--screen-w) * 100vw); height: calc(38 / var(--screen-w) * 100vw); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 38' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M1 1l17 18L1 37'/%3E%3C/svg%3E") center / contain no-repeat; transform: translateY(-50%); }
.svcCase-item .svcNw { display: inline-block; margin: 0; font-size: inherit; line-height: inherit; text-decoration: inherit; }
.svcCase-card img { width: calc(297 / var(--screen-w) * 100vw); }
.svcCase-card h4 { margin-top: calc(25 / var(--screen-w) * 100vw); color: var(--btn); font-size: calc(13 / var(--fs-w) * 100vw); font-weight: 600; line-height: 1.6; }
.svcCase-card p { margin-top: calc(6 / var(--screen-w) * 100vw); font-size: calc(17 / var(--fs-w) * 100vw); line-height: 1.69; }
.svcCase-card + .svcCase-card h4 { margin: calc(24 / var(--screen-w) * 100vw) 0 0 calc(-9 / var(--screen-w) * 100vw); color: var(--txt); font-size: calc(20 / var(--fs-w) * 100vw); text-decoration: underline; text-underline-offset: calc(5 / var(--screen-w) * 100vw); }
.svcCase-card + .svcCase-card p { margin-top: calc(7 / var(--screen-w) * 100vw); padding-left: calc(3 / var(--screen-w) * 100vw); line-height: 1.5; }

/* ===== サービス内容 ===== */
.svcMenu { width: calc(1704 / var(--screen-w) * 100vw); margin: calc(150 / var(--screen-w) * 100vw) auto 0; padding: calc(79 / var(--screen-w) * 100vw) calc(168 / var(--screen-w) * 100vw) calc(100 / var(--screen-w) * 100vw); border-radius: calc(20 / var(--screen-w) * 100vw); background: #eaeff8; }
.svcMenu-list { grid-template-columns: 1fr 1fr; gap: calc(19 / var(--screen-w) * 100vw) calc(33 / var(--screen-w) * 100vw); margin-top: calc(60 / var(--screen-w) * 100vw); }
.svcMenu-list li { position: relative; min-height: calc(280 / var(--screen-w) * 100vw); padding: calc(30 / var(--screen-w) * 100vw) calc(34 / var(--screen-w) * 100vw) calc(30 / var(--screen-w) * 100vw) calc(33 / var(--screen-w) * 100vw); background: #fff; }
.svcMenu-list li::before { content: ""; position: absolute; top: 0; left: 0; border-style: solid; border-width: calc(28 / var(--screen-w) * 100vw) calc(28 / var(--screen-w) * 100vw) 0 0; border-color: #1048a8 transparent transparent; }
.svcMenu h3 { padding: 0 calc(80 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) 0; border-bottom: 1px solid #ccc; color: #010101; font-family: var(--min); font-size: calc(22 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.5; }
.svcMenu-term { position: absolute; top: calc(35 / var(--screen-w) * 100vw); right: calc(34 / var(--screen-w) * 100vw); padding-left: calc(22 / var(--screen-w) * 100vw); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%233160b1' stroke-width='1.2'%3E%3Ccircle cx='8' cy='8' r='6.4'/%3E%3Cpath d='M8 4.2V8l2.6 1.8'/%3E%3C/svg%3E") left center / calc(15 / var(--screen-w) * 100vw) no-repeat; color: var(--btn); font-size: calc(16 / var(--fs-w) * 100vw); font-weight: 600; line-height: 1.6; }
.svcMenu dl { gap: calc(32 / var(--screen-w) * 100vw); margin-top: calc(26 / var(--screen-w) * 100vw); }
.svcMenu dt { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: calc(50 / var(--screen-w) * 100vw); height: calc(50 / var(--screen-w) * 100vw); background: #747474; color: #fff; font-size: calc(13 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.4; text-align: center; }
.svcMenu dd { margin-top: calc(-4 / var(--screen-w) * 100vw); color: #393b3e; font-size: calc(17 / var(--fs-w) * 100vw); line-height: 1.69; }
.svcMenu small { font-size: calc(13 / var(--fs-w) * 100vw); }

/* ===== 費用・支援の流れ ===== */
.svcGrad { padding: calc(171 / var(--screen-w) * 100vw) 0 0; background: url(../img/service-it-capability/flow-bg.webp) center bottom / 100% auto no-repeat, linear-gradient(#fff calc(300 / var(--screen-w) * 100vw), #8ea8c3 calc(1748 / var(--screen-w) * 100vw)); }
.svcPrice-list { grid-template-columns: repeat(3, calc(405 / var(--screen-w) * 100vw)); gap: calc(42 / var(--screen-w) * 100vw); justify-content: center; margin-top: calc(66 / var(--screen-w) * 100vw); }
.svcPrice-list li { position: relative; padding: calc(50 / var(--screen-w) * 100vw) calc(19 / var(--screen-w) * 100vw) calc(30 / var(--screen-w) * 100vw); border-radius: calc(6 / var(--screen-w) * 100vw); background: #fff; box-shadow: 0 0 calc(10 / var(--screen-w) * 100vw) rgba(0, 0, 0, .04); }
.svcPrice h3 { position: absolute; top: calc(-12 / var(--screen-w) * 100vw); left: 50%; width: calc(246 / var(--screen-w) * 100vw); border-radius: calc(20 / var(--screen-w) * 100vw); background: var(--btn); color: #fff; font-size: calc(18 / var(--fs-w) * 100vw); font-weight: 600; line-height: calc(40 / var(--screen-w) * 100vw); text-align: center; transform: translateX(-50%); }
.svcPrice h3::after { content: ""; position: absolute; top: 100%; left: calc(50% - calc(10 / var(--screen-w) * 100vw)); border: solid transparent; border-width: calc(10 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw) 0; border-top-color: var(--btn); }
.svcPrice-num { padding-bottom: calc(22 / var(--screen-w) * 100vw); border-bottom: 1px dashed #777; color: var(--txt); font-size: calc(22 / var(--fs-w) * 100vw); font-weight: 600; line-height: 1.6; text-align: center; }
.svcPrice-num b { font-size: calc(34 / var(--fs-w) * 100vw); font-weight: 600; }
.svcPrice-list p:last-child { margin-top: calc(16 / var(--screen-w) * 100vw); padding: 0 calc(19 / var(--screen-w) * 100vw); color: #6b6b6b; font-size: calc(17 / var(--fs-w) * 100vw); line-height: 1.71; }
.svcFlow { width: calc(1514 / var(--screen-w) * 100vw); margin: calc(205 / var(--screen-w) * 100vw) 0 0 calc(323 / var(--screen-w) * 100vw); padding-bottom: calc(142 / var(--screen-w) * 100vw); }
.svcFlow .svcTtl { width: calc(513 / var(--screen-w) * 100vw); font-size: calc(36 / var(--fs-w) * 100vw); text-align: left; }
.svcFlow-list { flex: 1; padding: calc(30 / var(--screen-w) * 100vw) calc(30 / var(--screen-w) * 100vw) calc(10 / var(--screen-w) * 100vw); background: #fff; counter-reset: step; }
.svcFlow-list li { position: relative; padding: calc(34 / var(--screen-w) * 100vw) calc(66 / var(--screen-w) * 100vw) calc(44 / var(--screen-w) * 100vw) calc(131 / var(--screen-w) * 100vw); counter-increment: step; }
.svcFlow-list li + li { border-top: 1px dashed #bcbcbc; }
.svcFlow-list li::before, .svcFlow-list li::after { content: "step"; position: absolute; top: calc(22 / var(--screen-w) * 100vw); left: calc(26 / var(--screen-w) * 100vw); width: calc(78 / var(--screen-w) * 100vw); color: var(--btn); font-family: var(--en); font-size: calc(20 / var(--fs-w) * 100vw); line-height: 1.2; text-align: center; }
.svcFlow-list li::after { content: counter(step, decimal-leading-zero); top: calc(44 / var(--screen-w) * 100vw); font-size: calc(44 / var(--fs-w) * 100vw); }
.svcFlow h3 { color: var(--txt); font-size: calc(22 / var(--fs-w) * 100vw); font-weight: 600; line-height: 1.45; }
.svcFlow-list p { margin-top: calc(8 / var(--screen-w) * 100vw); color: #58595b; font-size: calc(17 / var(--fs-w) * 100vw); line-height: 1.76; }

/* ===== よくあるご質問 ===== */
.svcFaq { padding: calc(106 / var(--screen-w) * 100vw) 0 calc(168 / var(--screen-w) * 100vw); }
.svcFaq-list { width: calc(1193 / var(--screen-w) * 100vw); margin: calc(76 / var(--screen-w) * 100vw) auto 0; border-bottom: 1px dashed #a5a5a5; }
.svcFaq details { overflow: hidden; border-top: 1px dashed #a5a5a5; }
.svcFaq summary { position: relative; display: block; padding: calc(36.7 / var(--screen-w) * 100vw) calc(60 / var(--screen-w) * 100vw) calc(36.7 / var(--screen-w) * 100vw) calc(25 / var(--screen-w) * 100vw); font-size: calc(18 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.42; cursor: pointer; list-style: none; }
.svcFaq summary::-webkit-details-marker { display: none; }
.svcFaq summary::before { content: "Q"; position: absolute; top: calc(33 / var(--screen-w) * 100vw); left: 0; color: var(--btn); font-family: var(--en); font-size: calc(20 / var(--fs-w) * 100vw); }
.svcFaq summary::after { content: ""; position: absolute; top: 50%; right: calc(12 / var(--screen-w) * 100vw); width: calc(24 / var(--screen-w) * 100vw); height: calc(24 / var(--screen-w) * 100vw); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%233160b1' stroke-width='1.2'%3E%3Cpath d='M12 0v24M0 12h24'/%3E%3C/svg%3E") center / contain no-repeat; transform: translateY(-50%); transition: transform .3s; }
.svcFaq details[open]:not(.is-closing) summary::after { transform: translateY(-50%) rotate(45deg); }
.svcFaq details p { padding: 0 calc(60 / var(--screen-w) * 100vw) calc(28 / var(--screen-w) * 100vw) calc(25 / var(--screen-w) * 100vw); color: #58595b; font-size: calc(15 / var(--fs-w) * 100vw); line-height: 1.9; }

/* ===== コンサルタント紹介 ===== */
.svcConsultant { display: flex; align-items: flex-start; gap: calc(122 / var(--screen-w) * 100vw); padding: calc(107 / var(--screen-w) * 100vw) calc(80 / var(--screen-w) * 100vw) calc(109 / var(--screen-w) * 100vw); background: #434343 url(../img/service-it-capability/consultant-bg.webp) center / cover; color: #fff; }
.svcConsultant img { width: calc(857 / var(--screen-w) * 100vw); border-radius: calc(4 / var(--screen-w) * 100vw); }
.svcConsultant div { position: relative; flex: 1; padding-top: calc(48 / var(--screen-w) * 100vw); }
.svcConsultant h2 { font-family: var(--min); font-size: calc(48 / var(--fs-w) * 100vw); font-weight: 300; line-height: 1.46; }
.svcConsultant h2 span { display: block; margin-bottom: calc(25 / var(--screen-w) * 100vw); font-family: var(--en); font-size: calc(26 / var(--fs-w) * 100vw); line-height: 1.3; }
.svcConsultant p { width: calc(560 / var(--screen-w) * 100vw); margin-top: calc(54 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); line-height: 2.3; }
.svcConsultant-btn { position: absolute; top: calc(350 / var(--screen-w) * 100vw); right: calc(123 / var(--screen-w) * 100vw); width: calc(195 / var(--screen-w) * 100vw); height: calc(195 / var(--screen-w) * 100vw); border-radius: 50%; background: rgba(255, 255, 255, .3) url(../img/common/chev-w.svg) center / calc(17 / var(--screen-w) * 100vw) auto no-repeat; }

/* ===== ナレッジ・お客様の声 ===== */
.svcPost { width: calc(1274 / var(--screen-w) * 100vw); margin: 0 auto; padding-top: calc(154 / var(--screen-w) * 100vw); }
.svcPost + .svcPost { padding: calc(144 / var(--screen-w) * 100vw) 0 calc(218 / var(--screen-w) * 100vw); }
.svcPost-head { position: relative; }
.svcPost-head .btn { position: absolute; top: calc(24 / var(--screen-w) * 100vw); right: calc(5 / var(--screen-w) * 100vw); min-width: calc(247 / var(--screen-w) * 100vw); }
.svcPost .svcTtl span { margin-bottom: calc(3 / var(--screen-w) * 100vw); }
.svcPost-list { grid-template-columns: repeat(3, 1fr); gap: calc(17 / var(--screen-w) * 100vw); margin-top: calc(49 / var(--screen-w) * 100vw); }
.svcPost-list img { width: 100%; aspect-ratio: 413 / 251; object-fit: cover; border-radius: calc(5 / var(--screen-w) * 100vw); }
.svcPost-list img + h3 { margin-top: calc(20 / var(--screen-w) * 100vw); }
.svcPost h3 span { display: inline-block; }
.svcPost .tagList { margin-top: calc(20 / var(--screen-w) * 100vw); }
.svcPost h3 { margin-top: calc(14 / var(--screen-w) * 100vw); font-size: calc(22 / var(--fs-w) * 100vw); line-height: 1.45; }
.svcPost-list p { margin-top: calc(16 / var(--screen-w) * 100vw); color: #5d5d5d; font-size: calc(16 / var(--fs-w) * 100vw); font-weight: 500; }

/* ===== ITケイパだけ（2026-11 デザイン。:where で詳細度を上げずSPの指定が勝つように） ===== */
:where(.itcap) .svcWorry-label { font-size: calc(22 / var(--fs-w) * 100vw) !important; }
:where(.itcap) .svcWorry h3 { font-size: calc(24 / var(--fs-w) * 100vw); }
:where(.itcap) .svcWorry li { font-size: calc(17 / var(--fs-w) * 100vw); line-height: 1.41; }
:where(.itcap) .svcWorry li strong { font-weight: 500; }
:where(.itcap) .svcWorry li strong span { display: inline-block; }
:where(.itcap) .svcWorry li { padding-inline: 0; border-radius: calc(20 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) 0 calc(20 / var(--screen-w) * 100vw); }
:where(.itcap) .svcWorry li:nth-child(even), :where(.itcap) .svcWorry-box > div + div li:nth-child(odd) { border-radius: calc(20 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) 0; }
:where(.itcap) .svcWorry-box > div + div li:nth-child(even) { border-radius: calc(20 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) 0 calc(20 / var(--screen-w) * 100vw); }

@media (max-width: 1600px) {
  /* 目次: 文字（16px）に合わせて幅も文字の比率で広げる */
  .svcToc { width: calc(160 / var(--fs-w) * 100vw); }
  /* 事例カードが文字で縦に伸びると背景写真が途中で切れるので、カード全体を覆う */
  .svcCase-item { background-size: cover; }
  /* 長いタイトルで列が広がって画面の右にはみ出さないようにする */
  .svcPost-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .svcRisk p { font-size: calc(20 / var(--fs-w) * 100vw); }
  /* 経営リスク4列: 見出しの行数が列ごとに変わっても、イラスト・箱・円の高さをそろえる */
  .svcRisk-list { grid-template-rows: repeat(4, auto); }
  .svcRisk-list > li { display: grid; grid-row: span 4; grid-template-rows: subgrid; justify-items: center; }
  .svcRisk h3 { align-self: stretch; justify-content: center; }
  .svcRisk-list ul { align-self: stretch; }
  /* 「成果物例」の四角は文字と一緒に大きくする */
  .svcMenu dt { width: calc(50 / var(--fs-w) * 100vw); height: calc(50 / var(--fs-w) * 100vw); }
  /* コンサルタント紹介: 文章が長くなって丸ボタンと重なるので、ボタンは文章の下（右寄せ）に置く */
  .svcConsultant-btn { position: relative; top: auto; right: auto; display: block; margin: calc(24 / var(--screen-w) * 100vw) calc(60 / var(--screen-w) * 100vw) 0 auto; }
  /* ITケイパのお悩み吹き出し: 文字が相対的に大きくなるので左右に余白を戻し、太字の語句は途中で切らない */
  :where(.itcap) .svcWorry li { padding-inline: calc(14 / var(--screen-w) * 100vw); }
  :where(.itcap) .svcWorry li strong { display: inline-block; }
  :where(.itcap) .svcWorry h4 { line-height: 1.6; }
  /* 費用ラベルは1行のまま幅を文字に合わせる（2行になると金額に重なる） */
  :where(.itcap) .svcPrice h3 { width: auto; min-width: calc(246 / var(--screen-w) * 100vw); padding-inline: calc(16 / var(--screen-w) * 100vw); white-space: nowrap; }
  /* フローの番号（01〜07）が2行に割れないように */
  .svcFlow-list li::after { white-space: nowrap; }
}
@media (max-width: 1080px) {
  :where(.itcap) .svcWorry li { padding-inline: calc(20 / var(--screen-w) * 100vw); }
}
/* ===== 1280以下（文字が相対的に大きくなる幅） ===== */
@media (max-width: 1280px) {
  /* 見出し右のボタンが見出しに重なるので、見出しの下に置く */
  .svcPost-head { display: flex; flex-direction: column; align-items: center; gap: calc(24 / var(--screen-w) * 100vw); }
  .svcPost-head .btn { position: relative; top: auto; right: auto; }
  .svcHead h1 { font-size: calc(40 / var(--fs-w) * 100vw); }
  .svcStrength h3 { white-space: normal; }
  .svcRisk p { font-size: calc(16 / var(--fs-w) * 100vw); line-height: 1.6; }
  .svcMenu h3 { padding-right: 0; }
  .svcMenu-term { position: static; margin-top: calc(10 / var(--screen-w) * 100vw); }
  .svcMenu dl { margin-top: calc(16 / var(--screen-w) * 100vw); }
  .svcPrice-num { font-size: calc(18 / var(--fs-w) * 100vw); }
  .svcPrice-num b { font-size: calc(26 / var(--fs-w) * 100vw); }
}
@media (max-width: 1080px) {
  .svcToc { display: none; }
  .svcRisk p { width: calc(330 / var(--screen-w) * 100vw); height: calc(330 / var(--screen-w) * 100vw); }
}

/* ===== SP ===== */
@media (max-width: 900px) {
  .svcTtl { font-size: calc(22 / var(--fs-w) * 100vw); }
  .svcTtl span { margin-bottom: calc(4 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); }
  .svcHead { padding: calc(64 / var(--screen-w) * 100vw) 0 0; }
  .svcHead .breadcrumb { position: static; width: auto; min-width: 0; white-space: normal; padding: 0 calc(16 / var(--screen-w) * 100vw); border-radius: 0; background: none; line-height: 2; }
  .svcHead-txt { padding: calc(20 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; }
  .svcHead-en { font-size: calc(14 / var(--fs-w) * 100vw); }
  .svcHead h1 { margin-top: calc(4 / var(--screen-w) * 100vw); font-size: calc(30 / var(--fs-w) * 100vw); line-height: 1.4; }
  .svcHead-tags { gap: calc(6 / var(--screen-w) * 100vw); margin-top: calc(16 / var(--screen-w) * 100vw); }
  .svcHead-en span { font-size: calc(11 / var(--fs-w) * 100vw); }
  .svcHead-tags li { padding: calc(4 / var(--screen-w) * 100vw) calc(8 / var(--screen-w) * 100vw); font-size: calc(11 / var(--fs-w) * 100vw); line-height: 1.4; }
  .svcIntro { display: block; width: auto; margin: calc(32 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; padding: calc(40 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) calc(40 / var(--screen-w) * 100vw); border-radius: calc(60 / var(--screen-w) * 100vw) calc(60 / var(--screen-w) * 100vw) 0 0; }
  .svcIntro h2 { font-size: calc(22 / var(--fs-w) * 100vw); line-height: 1.6; }
  .svcIntro p { width: auto; margin-top: calc(20 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); letter-spacing: 0; line-height: 2; }
  .svcWorry { padding: calc(56 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .svcWorry .svcTtl { font-size: calc(24 / var(--fs-w) * 100vw); line-height: 1.5; }
  .svcWorry-label { font-size: calc(14 / var(--fs-w) * 100vw) !important; padding: calc(2 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); }
  .svcWorry-body { grid-template-columns: 1fr; row-gap: calc(40 / var(--screen-w) * 100vw); margin-top: calc(32 / var(--screen-w) * 100vw); }
  .svcWorry-col img, .svcWorry-col.-wide img { position: static; display: block; width: calc(200 / var(--screen-w) * 100vw); margin: calc(-8 / var(--screen-w) * 100vw) auto 0; }
  .svcWorry h3 { font-size: calc(18 / var(--fs-w) * 100vw); }
  .svcWorry-box { margin-top: calc(16 / var(--screen-w) * 100vw); padding: calc(16 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); }
  .svcWorry-col.-wide .svcWorry-box { display: block; padding-inline: calc(12 / var(--screen-w) * 100vw); }
  .svcWorry-box > div { width: auto; }
  .svcWorry-box > div + div { margin-top: calc(16 / var(--screen-w) * 100vw); }
  .svcWorry h4 { font-size: calc(15 / var(--fs-w) * 100vw); line-height: 2.2; }
  .svcWorry li { min-height: calc(60 / var(--screen-w) * 100vw); font-size: calc(12 / var(--fs-w) * 100vw); }
  .svcWorry li strong { font-size: calc(14 / var(--fs-w) * 100vw); }
  .svcRisk { padding: calc(56 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .svcRisk-list { grid-template-columns: 1fr; width: auto; margin-top: calc(32 / var(--screen-w) * 100vw); padding: calc(8 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .svcRisk-list > li, .svcRisk-list > li:first-child, .svcRisk-list > li:last-child { padding: calc(28 / var(--screen-w) * 100vw) 0; }
  .svcRisk-list > li + li { border-left: 0; border-top: 1px dashed #b2b2b3; }
  .svcRisk-list { grid-template-rows: none; }
  .svcRisk-list > li { display: flex; grid-row: auto; }
  .svcRisk h3 { min-height: 0; font-size: calc(17 / var(--fs-w) * 100vw); }
  .svcRisk img { width: calc(120 / var(--screen-w) * 100vw); margin-top: calc(16 / var(--screen-w) * 100vw); }
  .svcRisk-list ul { min-height: 0; margin-top: calc(16 / var(--screen-w) * 100vw); }
  .svcRisk-list ul li { font-size: calc(13 / var(--fs-w) * 100vw); }
  .svcRisk-list ul li::before { top: calc(6 / var(--screen-w) * 100vw); width: calc(10 / var(--screen-w) * 100vw); height: calc(10 / var(--screen-w) * 100vw); }
  .svcRisk p { width: calc(200 / var(--screen-w) * 100vw); height: calc(200 / var(--screen-w) * 100vw); margin-top: calc(64 / var(--screen-w) * 100vw); font-size: calc(17 / var(--fs-w) * 100vw); }
  .svcRisk p::before { top: calc(-48 / var(--screen-w) * 100vw); }
  .svcStrength { padding: calc(56 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(64 / var(--screen-w) * 100vw); }
  .svcStrength-list { margin-top: calc(40 / var(--screen-w) * 100vw); }
  .svcStrength-list li, .svcStrength-list li:nth-child(even) { flex-direction: column; align-items: stretch; gap: calc(20 / var(--screen-w) * 100vw); min-height: 0; padding: calc(40 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) calc(32 / var(--screen-w) * 100vw); }
  .svcStrength-list li + li { margin-top: calc(24 / var(--screen-w) * 100vw); }
  .svcStrength-list li::before, .svcStrength-list li:nth-child(even)::before { inset: 0; border-radius: calc(12 / var(--screen-w) * 100vw); }
  .svcStrength-list li::after, .svcStrength-list li:nth-child(even)::after { top: calc(-14 / var(--screen-w) * 100vw); left: calc(16 / var(--screen-w) * 100vw); font-size: calc(48 / var(--fs-w) * 100vw); z-index: 2; }
  .svcStrength-list img, .svcStrength-list div { width: 100%; }
  .svcStrength h3 { font-size: calc(20 / var(--fs-w) * 100vw); line-height: 1.6; }
  .svcStrength h3 br { display: none; }
  .svcStrength-list p { margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); line-height: 2; }
  .svcStrength .btn { margin-top: calc(40 / var(--screen-w) * 100vw); }
  .svcCase { width: auto; padding: calc(56 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; }
  .svcCase-head { flex-direction: column; align-items: flex-start; gap: calc(16 / var(--screen-w) * 100vw); padding: 0; }
  .svcCase-tab { gap: calc(24 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); }
  .svcCase-item { position: relative; top: auto; box-shadow: none; display: block; min-height: 0; margin-top: calc(20 / var(--screen-w) * 100vw); padding: calc(28 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); }
  .svcCase-head + .svcCase-item { margin-top: calc(24 / var(--screen-w) * 100vw); }
  .svcCase-item h3 { font-size: calc(20 / var(--fs-w) * 100vw); line-height: 1.6; }
  .svcCase-item h3 span { font-size: calc(30 / var(--fs-w) * 100vw); }
  .svcCase-client { display: inline-block; margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(12 / var(--fs-w) * 100vw); }
  .svcCase-card { margin-top: calc(20 / var(--screen-w) * 100vw); padding: calc(16 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); }
  .svcCase-card + .svcCase-card { margin-top: calc(40 / var(--screen-w) * 100vw); }
  .svcCase-card + .svcCase-card::before { top: calc(-30 / var(--screen-w) * 100vw); left: 50%; transform: translateX(-50%) rotate(90deg); width: calc(12 / var(--screen-w) * 100vw); height: calc(24 / var(--screen-w) * 100vw); }
  .svcCase-card img { width: 100%; aspect-ratio: 297 / 185; object-fit: cover; }
  .svcCase-card h4 { margin-top: calc(14 / var(--screen-w) * 100vw); font-size: calc(12 / var(--fs-w) * 100vw); }
  .svcCase-card p { font-size: calc(14 / var(--fs-w) * 100vw); }
  .svcCase-card + .svcCase-card h4 { margin: calc(14 / var(--screen-w) * 100vw) 0 0; font-size: calc(16 / var(--fs-w) * 100vw); }
  .svcCase-card + .svcCase-card p { margin-top: calc(10 / var(--screen-w) * 100vw); padding: 0; }
  .svcMenu { width: auto; margin: calc(64 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; padding: calc(40 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .svcMenu-list { grid-template-columns: 1fr; gap: calc(12 / var(--screen-w) * 100vw); margin-top: calc(28 / var(--screen-w) * 100vw); }
  .svcMenu-list li { min-height: 0; padding: calc(20 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .svcMenu-list li::before { border-width: calc(18 / var(--screen-w) * 100vw) calc(18 / var(--screen-w) * 100vw) 0 0; }
  .svcMenu h3 { padding: 0 0 calc(12 / var(--screen-w) * 100vw); font-size: calc(17 / var(--fs-w) * 100vw); }
  .svcMenu-term { position: static; display: inline-block; margin-top: calc(10 / var(--screen-w) * 100vw); padding-left: calc(20 / var(--screen-w) * 100vw); background-size: calc(14 / var(--screen-w) * 100vw); font-size: calc(13 / var(--fs-w) * 100vw); }
  .svcMenu dl { gap: calc(16 / var(--screen-w) * 100vw); margin-top: calc(12 / var(--screen-w) * 100vw); }
  .svcMenu dt { width: calc(44 / var(--screen-w) * 100vw); height: calc(44 / var(--screen-w) * 100vw); font-size: calc(11 / var(--fs-w) * 100vw); }
  .svcMenu dd { margin: 0; font-size: calc(13 / var(--fs-w) * 100vw); line-height: 1.8; }
  .svcMenu small { font-size: calc(11 / var(--fs-w) * 100vw); }
  .svcGrad { padding-top: calc(64 / var(--screen-w) * 100vw); background-size: 200% auto, auto; background-image: url(../img/service-it-capability/flow-bg.webp), linear-gradient(#fff calc(40 / var(--screen-w) * 100vw), #e1e8ef calc(300 / var(--screen-w) * 100vw), #8ea8c3 calc(1600 / var(--screen-w) * 100vw)); }
  .svcPrice { padding: 0 calc(16 / var(--screen-w) * 100vw); }
  .svcPrice-list { grid-template-columns: 1fr; gap: calc(40 / var(--screen-w) * 100vw); margin-top: calc(44 / var(--screen-w) * 100vw); }
  .svcPrice-list li { padding: calc(44 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw); }
  .svcPrice h3 { top: calc(-14 / var(--screen-w) * 100vw); width: calc(220 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); line-height: calc(36 / var(--screen-w) * 100vw); }
  .svcPrice-num { padding-bottom: calc(14 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); }
  .svcPrice-num b { font-size: calc(26 / var(--fs-w) * 100vw); }
  .svcPrice-list p:last-child { padding: 0; font-size: calc(13 / var(--fs-w) * 100vw); }
  .svcFlow { display: block; width: auto; margin: calc(64 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; padding-bottom: calc(64 / var(--screen-w) * 100vw); }
  .svcFlow .svcTtl { width: auto; font-size: calc(22 / var(--fs-w) * 100vw); text-align: center; }
  .svcFlow-list { margin-top: calc(28 / var(--screen-w) * 100vw); padding: calc(8 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .svcFlow-list li { padding: calc(24 / var(--screen-w) * 100vw) 0 calc(20 / var(--screen-w) * 100vw) calc(64 / var(--screen-w) * 100vw); }
  .svcFlow-list li::before { top: calc(22 / var(--screen-w) * 100vw); left: 0; width: calc(48 / var(--screen-w) * 100vw); font-size: calc(13 / var(--fs-w) * 100vw); }
  .svcFlow-list li::after { top: calc(38 / var(--screen-w) * 100vw); left: 0; width: calc(48 / var(--screen-w) * 100vw); font-size: calc(28 / var(--fs-w) * 100vw); }
  .svcFlow h3 { font-size: calc(16 / var(--fs-w) * 100vw); }
  .svcFlow-list p { margin-top: calc(6 / var(--screen-w) * 100vw); font-size: calc(13 / var(--fs-w) * 100vw); line-height: 1.85; }
  .svcFaq { padding: calc(56 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(64 / var(--screen-w) * 100vw); }
  .svcFaq-list { width: auto; margin-top: calc(28 / var(--screen-w) * 100vw); }
  .svcFaq summary { padding: calc(18 / var(--screen-w) * 100vw) calc(40 / var(--screen-w) * 100vw) calc(18 / var(--screen-w) * 100vw) calc(22 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); }
  .svcFaq summary::before { top: calc(15 / var(--screen-w) * 100vw); font-size: calc(17 / var(--fs-w) * 100vw); }
  .svcFaq summary::after { right: calc(4 / var(--screen-w) * 100vw); width: calc(16 / var(--screen-w) * 100vw); height: calc(16 / var(--screen-w) * 100vw); }
  .svcFaq details p { padding: 0 calc(8 / var(--screen-w) * 100vw) calc(18 / var(--screen-w) * 100vw) calc(22 / var(--screen-w) * 100vw); font-size: calc(13 / var(--fs-w) * 100vw); }
  .svcConsultant { display: block; padding: calc(48 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .svcConsultant img { width: 100%; }
  .svcConsultant div { padding: calc(28 / var(--screen-w) * 100vw) 0 calc(110 / var(--screen-w) * 100vw); }
  .svcConsultant h2 { font-size: calc(28 / var(--fs-w) * 100vw); }
  .svcConsultant h2 span { margin-bottom: calc(10 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); }
  .svcConsultant p { width: auto; margin-top: calc(16 / var(--screen-w) * 100vw); font-size: calc(13 / var(--fs-w) * 100vw); line-height: 2; }
  .svcConsultant-btn { position: absolute; margin: 0; top: auto; bottom: 0; right: 0; width: calc(88 / var(--screen-w) * 100vw); height: calc(88 / var(--screen-w) * 100vw); background-size: calc(9 / var(--screen-w) * 100vw) auto; }
  .svcPost { width: auto; padding: calc(56 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; }
  .svcPost + .svcPost { padding: calc(56 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(64 / var(--screen-w) * 100vw); }
  .svcPost-head { display: flex; flex-direction: column; align-items: center; gap: calc(16 / var(--screen-w) * 100vw); }
  .svcPost-head .btn { position: relative; top: auto; right: auto; min-width: calc(240 / var(--screen-w) * 100vw); }
  .svcPost-list { grid-template-columns: 1fr; gap: calc(28 / var(--screen-w) * 100vw); margin-top: calc(28 / var(--screen-w) * 100vw); }
  .svcPost .tagList { margin-top: calc(10 / var(--screen-w) * 100vw); }
  .svcPost h3 { margin-top: calc(8 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); }
  .svcPost-list p { margin-top: calc(6 / var(--screen-w) * 100vw); font-size: calc(11 / var(--fs-w) * 100vw); }
}
