@charset "UTF-8";
.diffMin { font-family: var(--min); font-weight: 400; color: #313131; letter-spacing: .1em; }
.diffMin em { color: var(--blue); }
.diff strong { color: #ba0900; font-weight: 700; }

/* ===== ページヘッダー ===== */
.diffTop { position: relative; overflow: hidden; background: url(../img/difference/bg.webp) left top / 100% 100% no-repeat; border-bottom-right-radius: calc(20 / var(--screen-w) * 100vw); }
.diffHead { position: relative; height: calc(979.5 / var(--screen-w) * 100vw); }
.diffHead-line { position: absolute; top: 0; opacity: .35; filter: brightness(0) invert(1); left: calc(578 / var(--screen-w) * 100vw); width: calc(470 / var(--screen-w) * 100vw); }
.diffHead-line.-btm { top: calc(796 / var(--screen-w) * 100vw); left: calc(1703 / var(--screen-w) * 100vw); width: calc(217 / var(--screen-w) * 100vw); }
.diffHead-img { position: absolute; top: calc(194 / var(--screen-w) * 100vw); left: calc(505 / var(--screen-w) * 100vw); width: calc(1415 / var(--screen-w) * 100vw); height: calc(600 / var(--screen-w) * 100vw); object-fit: cover; border-radius: calc(12 / var(--screen-w) * 100vw) 0 0 calc(12 / var(--screen-w) * 100vw); }
.diffHead-ttl { position: absolute; top: calc(455 / var(--screen-w) * 100vw); left: calc(108 / var(--screen-w) * 100vw); z-index: 1; color: transparent; font-family: var(--en); font-size: calc(97 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.2; background: linear-gradient(to right, #1e4c99 calc(397 / var(--screen-w) * 100vw), #3e70b0 calc(397 / var(--screen-w) * 100vw)); -webkit-background-clip: text; background-clip: text; }
.diffHead-ttl span { display: block; margin-bottom: calc(4 / var(--screen-w) * 100vw); font-family: var(--ff); font-size: calc(20 / var(--fs-w) * 100vw); font-weight: 700; line-height: 1.5; color: #393b3e; -webkit-text-fill-color: #393b3e; }
.diffHead .breadcrumb { position: absolute; top: calc(695 / var(--screen-w) * 100vw); left: calc(108 / var(--screen-w) * 100vw); margin: 0; }
.diffHead-en { position: absolute; top: calc(695.1 / var(--screen-w) * 100vw); left: 0; right: 0; overflow: hidden; color: rgba(255, 255, 255, .25); font-family: var(--en); font-size: calc(162.5 / var(--fs-w) * 100vw); line-height: 1.2; white-space: nowrap; }
.diffHead-en span { flex-shrink: 0; padding-right: .4em; animation: diffFlow 40s linear infinite; }
@keyframes diffFlow { to { translate: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .diffHead-en span { animation: none; } }

/* ===== 失敗の現状 ===== */
.diffIntro { align-items: flex-start; }
.diffIntro-txt { width: calc(754 / var(--screen-w) * 100vw); margin: calc(145 / var(--screen-w) * 100vw) 0 0 calc(215 / var(--screen-w) * 100vw); }
.diffIntro h2 { font-size: calc(36 / var(--screen-w) * 100vw); line-height: 1.75; }
.diffIntro h2 span, .diffBody-lead span, .diffSec h3 span { display: inline-block; }
.diffIntro-txt p { margin-top: calc(24 / var(--screen-w) * 100vw); font-size: calc(18 / var(--fs-w) * 100vw); line-height: 2.22; }
.diffIntro small { display: block; margin-top: calc(13 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); line-height: 1.5; }
.diffIntro-fig { position: relative; width: calc(935 / var(--screen-w) * 100vw); margin-left: auto; }
.diffPie { position: absolute; top: 7.87%; left: 12.41%; width: 29.84%; aspect-ratio: 1; border-radius: 50%; color: #fff; background: conic-gradient(from 14deg, #226deb 0 180deg, #1a4693 0); }
.diffPie span { position: absolute; top: 26.5%; left: 26.9%; font-size: calc(32 / var(--screen-w) * 100vw); line-height: 1.7; text-align: center; transform: translateX(-50%); }
.diffPie span + span { left: 75.3%; }
.diffPie b { display: block; font-size: calc(44 / var(--screen-w) * 100vw); font-weight: 400; line-height: 1.5; text-decoration: underline; text-decoration-thickness: calc(2 / var(--screen-w) * 100vw); text-underline-offset: calc(8 / var(--screen-w) * 100vw); }

/* ===== 失敗の原因 ===== */
.diffCause { align-items: flex-start; padding-bottom: calc(63 / var(--screen-w) * 100vw); }
.diffSpiral { position: relative; flex-shrink: 0; width: calc(631.8 / var(--screen-w) * 100vw); margin: calc(-30.4 / var(--screen-w) * 100vw) 0 calc(-47 / var(--screen-w) * 100vw) calc(247.5 / var(--screen-w) * 100vw); }
.diffSpiral svg { display: block; width: 100%; height: auto; }
.diffSpiral li { position: absolute; top: 34.44%; left: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 31.13%; aspect-ratio: 1; border-radius: 50%; color: #fff; font-size: calc(18 / var(--screen-w) * 100vw); font-weight: 700; line-height: 1.5; letter-spacing: .04em; text-align: center; background: #06ba9f; }
.diffSpiral li::before { content: ""; width: 23.95%; aspect-ratio: 48 / 43; margin-bottom: calc(14 / var(--screen-w) * 100vw); background: url(../img/difference/ic03.webp) center / contain no-repeat; }
.diffSpiral li:nth-child(1) { top: 0; left: 34.44%; background: #24b3d3; }
.diffSpiral li:nth-child(1)::before { width: 27.45%; aspect-ratio: 1; background-image: url(../img/difference/ic02.webp); }
.diffSpiral li:nth-child(2) { left: 68.87%; background: #0158cb; }
.diffSpiral li:nth-child(2)::before { width: 22.47%; aspect-ratio: 48 / 45; background-image: url(../img/difference/ic04.webp); }
.diffSpiral li:nth-child(3) { top: 68.87%; left: 34.44%; background: #4da5ed; }
.diffSpiral li:nth-child(3)::before { width: 25.83%; aspect-ratio: 54 / 52; background-image: url(../img/difference/ic01.webp); }
.diffSpiral figcaption { position: absolute; top: 50%; left: 0; width: 100%; color: #1364cf; font-size: calc(24 / var(--screen-w) * 100vw); font-weight: 700; line-height: 1.46; text-align: center; transform: translateY(-50%); }
.diffCause-txt { width: calc(754 / var(--screen-w) * 100vw); margin: calc(166 / var(--screen-w) * 100vw) 0 0 calc(133 / var(--screen-w) * 100vw); }
.diffCause-bubble { position: relative; display: inline-block; padding: calc(7 / var(--screen-w) * 100vw) calc(21 / var(--screen-w) * 100vw); border-radius: calc(21 / var(--screen-w) * 100vw); color: #fff; font-size: calc(18 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.556; background: var(--btn); }
.diffCause-bubble span { display: inline-block; }
.diffCause-bubble::after { content: ""; position: absolute; top: 100%; left: calc(291 / var(--screen-w) * 100vw); border-top: calc(14 / var(--screen-w) * 100vw) solid var(--btn); border-inline: calc(10.5 / var(--screen-w) * 100vw) solid transparent; }
.diffCause h2 { margin-top: calc(15 / var(--screen-w) * 100vw); font-size: calc(36 / var(--screen-w) * 100vw); line-height: 1.75; }
.diffCause-txt > p:last-child { margin-top: calc(22 / var(--screen-w) * 100vw); font-size: calc(18 / var(--fs-w) * 100vw); line-height: 2.22; }

/* ===== 成功の鍵 ===== */
.diffKey { padding-top: calc(106 / var(--screen-w) * 100vw); text-align: center; }
.diffKey h2 { font-size: calc(44 / var(--fs-w) * 100vw); line-height: 1.68; }
.diffKey svg { display: block; width: calc(78 / var(--screen-w) * 100vw); height: auto; margin: calc(40 / var(--screen-w) * 100vw) auto 0; }

/* ===== 他社との違い ===== */
.diffBody { position: relative; z-index: 0; margin: calc(62 / var(--screen-w) * 100vw) calc(25 / var(--screen-w) * 100vw) 0; padding: calc(132 / var(--screen-w) * 100vw) 0 calc(234 / var(--screen-w) * 100vw); }
.diffBody::before, .diffBody::after { content: ""; position: absolute; inset: 0 calc(27 / var(--screen-w) * 100vw) calc(40 / var(--screen-w) * 100vw) 0; z-index: -1; border-radius: calc(10 / var(--screen-w) * 100vw); background: rgba(111, 147, 207, .083); }
.diffBody::after { inset: calc(40 / var(--screen-w) * 100vw) 0 0 calc(27 / var(--screen-w) * 100vw); }
.diffBody-ttl { position: absolute; top: calc(-29 / var(--screen-w) * 100vw); right: calc(84 / var(--screen-w) * 100vw); color: var(--txt); font-family: var(--min); font-size: calc(48 / var(--screen-w) * 100vw); font-weight: 300; line-height: 1.04; letter-spacing: .2em; writing-mode: vertical-rl; }
.diffBody-ttl span { display: block; margin-left: calc(18 / var(--screen-w) * 100vw); color: #305fb1; font-family: var(--en); font-size: calc(18 / var(--screen-w) * 100vw); font-weight: 400; line-height: 1.33; letter-spacing: 0; }
.diffBody-lead { width: calc(1200 / var(--screen-w) * 100vw); margin: 0 auto; padding: calc(13 / var(--screen-w) * 100vw) 0 calc(11 / var(--screen-w) * 100vw); font-size: calc(44 / var(--screen-w) * 100vw); line-height: 1.66; text-align: center; background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .18) 13%, rgba(255, 255, 255, .6) 51.4%, rgba(255, 255, 255, .18) 84.6%, rgba(255, 255, 255, 0)); }
.diffSec { padding: 0 calc(190 / var(--screen-w) * 100vw); margin-top: calc(120 / var(--screen-w) * 100vw); }
#difference01 { margin-top: calc(148 / var(--screen-w) * 100vw); }
#difference02 { margin-top: calc(141 / var(--screen-w) * 100vw); }
#difference04 { margin-top: calc(133 / var(--screen-w) * 100vw); }
.diffSec-num { display: flex; align-items: center; gap: calc(15 / var(--screen-w) * 100vw); color: #305fb1; font-family: var(--en); font-size: calc(24 / var(--fs-w) * 100vw); line-height: 1.2; }
.diffSec-num::after { content: ""; flex: 1; height: 1px; background: #305fb1; }
.diffSec-body { align-items: flex-start; margin-top: calc(77 / var(--screen-w) * 100vw); }
.diffSec h3 { font-size: calc(36 / var(--screen-w) * 100vw); line-height: 1.74; }
.diffSec-txt { width: calc(698 / var(--screen-w) * 100vw); }
.diffSec-body p { margin-top: calc(30 / var(--screen-w) * 100vw); font-size: calc(18 / var(--fs-w) * 100vw); line-height: 2.22; }
.diffRel { position: relative; width: calc(684 / var(--screen-w) * 100vw); aspect-ratio: 684 / 316; margin: calc(-3 / var(--screen-w) * 100vw) calc(22 / var(--screen-w) * 100vw) 0 0; }
.diffRel::before { content: ""; position: absolute; top: 0; left: 0; width: 46.2%; aspect-ratio: 1; border-radius: 50%; background: linear-gradient(45deg, #93aac5, #edf1f9); }
.diffRel li { position: absolute; top: 24.68%; left: .73%; display: flex; align-items: center; justify-content: center; width: 23.54%; aspect-ratio: 1; border-radius: 50%; color: #fff; font-size: calc(16 / var(--screen-w) * 100vw); font-weight: 700; line-height: 1.6; background: #2652ab; }
.diffRel li:nth-child(2) { left: 21.93%; z-index: 0; overflow: hidden; background: #4141bd; }
.diffRel li:nth-child(2)::before { content: ""; position: absolute; top: 0; left: -90.06%; z-index: -1; width: 100%; aspect-ratio: 1; border-radius: 50%; background: #0d1a92; }
.diffRel li:nth-child(3) { top: 38.6%; left: 49.12%; display: block; width: 20.9%; aspect-ratio: auto; border-radius: 0; color: var(--txt); text-align: center; line-height: 1.9; background: none; }
.diffRel li:nth-child(3)::after { content: ""; display: block; height: calc(8 / var(--screen-w) * 100vw); margin-top: calc(10 / var(--screen-w) * 100vw); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 143 8' preserveAspectRatio='none'%3E%3Cpath d='M0 7.5h142L134 .5' fill='none' stroke='%23666' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
.diffRel li:nth-child(4) { top: 18.99%; left: 73.1%; width: 26.9%; background: #5ed58f; }
#difference02 .diffSec-body { margin-top: calc(70 / var(--screen-w) * 100vw); }
#difference02 h3 { width: calc(769 / var(--screen-w) * 100vw); }
#difference02 .diffSec-body p { width: calc(697 / var(--screen-w) * 100vw); margin: 0 calc(-6 / var(--screen-w) * 100vw) 0 0; line-height: 2.22; }
#difference03 .diffSec-body { margin-top: calc(100 / var(--screen-w) * 100vw); }
#difference04 .diffSec-body { margin-top: calc(88 / var(--screen-w) * 100vw); }
#difference03 .diffSec-txt, #difference04 .diffSec-txt { width: calc(698 / var(--screen-w) * 100vw); margin-left: calc(4 / var(--screen-w) * 100vw); }
#difference04 .diffSec-txt { width: calc(706 / var(--screen-w) * 100vw); }
.diffSec-img { width: calc(646 / var(--screen-w) * 100vw); margin: calc(15 / var(--screen-w) * 100vw) calc(4 / var(--screen-w) * 100vw) 0 0; }

/* 比較表 */
.diffComp { grid-template-columns: calc(215 / var(--screen-w) * 100vw) calc(591 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) calc(598 / var(--screen-w) * 100vw); grid-template-rows: calc(82 / var(--screen-w) * 100vw) minmax(calc(275 / var(--screen-w) * 100vw), auto) minmax(calc(193 / var(--screen-w) * 100vw), auto); margin: calc(59 / var(--screen-w) * 100vw) 0 0 calc(14 / var(--screen-w) * 100vw); }
.diffComp > * { position: relative; z-index: 1; }
.diffComp::before, .diffComp::after { content: ""; grid-column: 2; grid-row: 1 / -1; border-radius: calc(10 / var(--screen-w) * 100vw); background: #fff; }
.diffComp::after { grid-column: 4; }
.diffComp h4 { grid-column: 2; grid-row: 1; margin: calc(18 / var(--screen-w) * 100vw) calc(26 / var(--screen-w) * 100vw) 0; padding: calc(9 / var(--screen-w) * 100vw) 0; color: #fff; font-size: calc(24 / var(--fs-w) * 100vw); line-height: 1.917; text-align: center; background: #484b4f; }
.diffComp h4.-gp { grid-column: 4; margin: calc(18 / var(--screen-w) * 100vw) calc(29 / var(--screen-w) * 100vw) 0 calc(30 / var(--screen-w) * 100vw); background: var(--blue); }
.diffComp-lbl { grid-column: 1; grid-row: 2; margin: calc(114 / var(--screen-w) * 100vw) 0 0 calc(27 / var(--screen-w) * 100vw); color: var(--blue); font-size: calc(15 / var(--fs-w) * 100vw); font-weight: 700; line-height: 1.81; }
.diffComp-lbl.-row2 { grid-column: 1 / -1; grid-row: 3; margin: 0; padding: calc(70 / var(--screen-w) * 100vw) 0 0 calc(27 / var(--screen-w) * 100vw); border-top: 1px dashed #c8c8c8; }
.diffComp-cell { grid-column: 2; grid-row: 2; align-items: flex-start; padding: calc(29 / var(--screen-w) * 100vw) 0 calc(20 / var(--screen-w) * 100vw) calc(46 / var(--screen-w) * 100vw); }
.diffComp-cell + .diffComp-cell { grid-column: 4; padding: calc(34 / var(--screen-w) * 100vw) 0 calc(20 / var(--screen-w) * 100vw) calc(39 / var(--screen-w) * 100vw); }
.diffComp-cell.-row2 { grid-row: 3; padding: calc(13 / var(--screen-w) * 100vw) 0 calc(20 / var(--screen-w) * 100vw) calc(38 / var(--screen-w) * 100vw); }
.diffComp-cell.-row2 + .diffComp-cell { padding: calc(30 / var(--screen-w) * 100vw) 0 calc(20 / var(--screen-w) * 100vw) calc(30 / var(--screen-w) * 100vw); }
.diffComp img { flex-shrink: 0; width: calc(205 / var(--screen-w) * 100vw); }
.diffComp-cell + .diffComp-cell img { width: calc(198 / var(--screen-w) * 100vw); }
.diffComp-cell.-row2 img { width: calc(213 / var(--screen-w) * 100vw); }
.diffComp-cell.-row2 + .diffComp-cell img { width: calc(202 / var(--screen-w) * 100vw); }
.diffComp-cell div { margin: calc(33 / var(--screen-w) * 100vw) 0 0 calc(21 / var(--screen-w) * 100vw); }
.diffComp-cell + .diffComp-cell div { margin: calc(28 / var(--screen-w) * 100vw) 0 0 calc(27 / var(--screen-w) * 100vw); }
.diffComp-cell p { width: calc(295 / var(--screen-w) * 100vw); font-weight: 500; line-height: 1.875; }
.diffComp ul { margin-top: calc(23 / var(--screen-w) * 100vw); font-weight: 500; line-height: 1.875; }
.diffComp-cell.-row2 ul { margin: calc(26 / var(--screen-w) * 100vw) 0 0 calc(22 / var(--screen-w) * 100vw); }
.diffComp-cell.-row2 + .diffComp-cell ul { margin: calc(9 / var(--screen-w) * 100vw) 0 0 calc(33 / var(--screen-w) * 100vw); }
.diffComp li { padding-left: calc(26 / var(--screen-w) * 100vw); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='none' stroke='%23dd3c3c' stroke-width='2'/%3E%3C/svg%3E") left center / calc(16 / var(--screen-w) * 100vw) no-repeat; }
.diffComp .-ng li { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2l6.5 12h-13z' fill='none' stroke='%2329b029' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E"); background-size: calc(19 / var(--screen-w) * 100vw); }

/* Difference 04 */
.diffVenn { gap: calc(15.2 / var(--screen-w) * 100vw); margin: 0 calc(3.5 / var(--screen-w) * 100vw) 0 0; }
.diffVenn dl { --c: #4da5ed; --t: #4699e6; width: calc(324.9 / var(--screen-w) * 100vw); aspect-ratio: 1; padding-top: calc(37.9 / var(--screen-w) * 100vw); border-radius: 50%; color: #fff; text-align: center; background: var(--c); }
.diffVenn dl + dl { --c: #06ba9f; --t: #05ad9a; }
.diffVenn dt { width: fit-content; min-width: calc(158.3 / var(--screen-w) * 100vw); margin: 0 auto calc(31 / var(--screen-w) * 100vw); padding: calc(10.6 / var(--screen-w) * 100vw) .8em; border-radius: calc(29.7 / var(--screen-w) * 100vw); color: var(--t); font-size: calc(21 / var(--fs-w) * 100vw); font-weight: 600; line-height: 1.3; background: #fff; }
.diffVenn dl + dl dt { margin-bottom: calc(43 / var(--screen-w) * 100vw); }
.diffVenn dd { font-size: calc(21 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.3; }
.diffVenn dd + dd { margin-top: calc(21 / var(--screen-w) * 100vw); }

/* ===== 事例 ===== */
.diffCase { padding: calc(154 / var(--screen-w) * 100vw) calc(108 / var(--screen-w) * 100vw) calc(166 / var(--screen-w) * 100vw); }
.diffCase-head { align-items: flex-start; }
.diffCase-head .btn { margin-top: calc(42 / var(--screen-w) * 100vw); }
.diffCase-list { grid-template-columns: repeat(4, 1fr); column-gap: calc(16.5 / var(--screen-w) * 100vw); margin-top: calc(86 / var(--screen-w) * 100vw); }
.diffCase figure { position: relative; width: 100%; }
.diffCase figure::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(231.7 / var(--screen-w) * 100vw); border-radius: 0 0 calc(5 / var(--screen-w) * 100vw) calc(5 / var(--screen-w) * 100vw); background: linear-gradient(to top, rgba(0, 59, 119, .82) 5.77%, rgba(113, 143, 173, .41) 32.9%, rgba(226, 226, 226, 0) 60%); }
.diffCase figure img { width: 100%; height: calc(250.75 / var(--screen-w) * 100vw); object-fit: cover; border-radius: calc(5 / var(--screen-w) * 100vw); }
.diffCase .tagList { margin-top: calc(23.4 / var(--screen-w) * 100vw); }
.diffCase h3 { margin-top: calc(20 / var(--screen-w) * 100vw); font-size: calc(22 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.5; }
.diffCase-list p { margin-top: calc(20 / var(--screen-w) * 100vw); color: #5d5d5d; font-size: calc(14 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.3; }

/* ===== 関連リンク ===== */
.diffLinks { justify-content: center; gap: calc(18 / var(--screen-w) * 100vw); padding-bottom: calc(195 / var(--screen-w) * 100vw); }
.diffLinks a { position: relative; display: flex; align-items: center; width: calc(628 / var(--screen-w) * 100vw); min-height: calc(158 / var(--screen-w) * 100vw); padding: calc(18 / var(--screen-w) * 100vw) calc(40 / var(--screen-w) * 100vw); overflow: hidden; border-radius: calc(6 / var(--screen-w) * 100vw); background: #eaeff8; }
.diffLinks img { width: calc(167 / var(--screen-w) * 100vw); border-radius: calc(10 / var(--screen-w) * 100vw); }
.diffLinks a > span { margin: calc(-12 / var(--screen-w) * 100vw) 0 0 calc(49 / var(--screen-w) * 100vw); color: #313131; font-family: var(--min); font-size: calc(26 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.5; letter-spacing: .02em; }
.diffLinks a > span span { display: block; color: #2e5eb0; font-family: var(--en); font-size: calc(18 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.3; letter-spacing: 0; }
.diffLinks a::after { content: ""; position: absolute; right: 0; bottom: 0; width: calc(57 / var(--screen-w) * 100vw); height: calc(65 / var(--screen-w) * 100vw); border-top-left-radius: calc(57 / var(--screen-w) * 100vw) calc(65 / var(--screen-w) * 100vw); background: #2e5eb0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E") left calc(26 / var(--screen-w) * 100vw) top calc(36 / var(--screen-w) * 100vw) / calc(14 / var(--screen-w) * 100vw) auto no-repeat; }

@media (max-width: 1280px) {
  .diffSpiral { margin-top: calc(30 / var(--screen-w) * 100vw); }
  .diffComp-cell, .diffComp-cell + .diffComp-cell, .diffComp-cell.-row2, .diffComp-cell.-row2 + .diffComp-cell { flex-direction: column; padding: calc(24 / var(--screen-w) * 100vw) calc(30 / var(--screen-w) * 100vw) calc(30 / var(--screen-w) * 100vw); }
  .diffComp-cell div, .diffComp-cell + .diffComp-cell div, .diffComp-cell.-row2 ul, .diffComp-cell.-row2 + .diffComp-cell ul { margin: calc(16 / var(--screen-w) * 100vw) 0 0; }
  .diffComp-cell p { width: auto; }
  .diffRel li { font-size: calc(14 / var(--fs-w) * 100vw); }
  .diffSpiral li { font-size: calc(14 / var(--fs-w) * 100vw); letter-spacing: 0; white-space: nowrap; }
}

/* ===== SP ===== */
@media (max-width: 900px) {
  .diffMin { letter-spacing: .04em; }
  .diffHead { display: flex; flex-direction: column; height: auto; padding: calc(84 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw); }
  .diffHead-img, .diffHead-en { order: 1; }
  .diffHead-line { display: none; }
  .diffHead-ttl { position: static; color: #1e4c99; font-size: calc(44 / var(--fs-w) * 100vw); background: none; }
  .diffHead-ttl span { margin-bottom: 0; font-size: calc(14 / var(--fs-w) * 100vw); }
  .diffHead .breadcrumb { position: static; margin: calc(4 / var(--screen-w) * 100vw) 0 0; }
  .diffHead-img { position: static; display: block; width: 100%; height: calc(200 / var(--screen-w) * 100vw); margin-top: calc(12 / var(--screen-w) * 100vw); border-radius: calc(12 / var(--screen-w) * 100vw); object-position: 30% center; }
  .diffHead-en { position: static; margin-top: calc(16 / var(--screen-w) * 100vw); font-size: calc(44 / var(--fs-w) * 100vw); }
  .diffIntro, .diffCause, .diffSec-body { flex-direction: column; }
  .diffIntro-txt, .diffCause-txt { width: auto; margin: calc(16 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; }
  .diffIntro h2, .diffCause h2, .diffSec h3 { font-size: calc(22 / var(--fs-w) * 100vw); line-height: 1.6; }
  .diffIntro-txt p, .diffCause-txt > p:last-child, .diffSec-body p, #difference02 .diffSec-body p { margin-top: calc(16 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); line-height: 2; letter-spacing: .03em; }
  .diffIntro small { font-size: calc(11 / var(--fs-w) * 100vw); }
  .diffIntro-fig { width: 100%; margin-top: calc(24 / var(--screen-w) * 100vw); }
  .diffPie span { font-size: calc(13 / var(--fs-w) * 100vw); }
  .diffPie b { font-size: calc(19 / var(--fs-w) * 100vw); text-decoration-thickness: 1px; text-underline-offset: calc(3 / var(--screen-w) * 100vw); }
  .diffCause { padding-bottom: calc(56 / var(--screen-w) * 100vw); }
  .diffSpiral { width: calc(340 / var(--screen-w) * 100vw); margin: calc(32 / var(--screen-w) * 100vw) auto 0; }
  .diffSpiral li, .diffRel li { font-size: calc(11 / var(--fs-w) * 100vw); line-height: 1.4; }
  .diffSpiral li::before { margin-bottom: calc(6 / var(--screen-w) * 100vw); }
  .diffSpiral figcaption { font-size: calc(12 / var(--fs-w) * 100vw); line-height: 1.7; }
  .diffCause-txt { margin-top: calc(32 / var(--screen-w) * 100vw); }
  .diffCause-bubble { padding: calc(6 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); border-radius: calc(18 / var(--screen-w) * 100vw); font-size: calc(12 / var(--fs-w) * 100vw); }
  .diffCause-bubble::after { left: 50%; border-top-width: calc(10 / var(--screen-w) * 100vw); border-inline-width: calc(8 / var(--screen-w) * 100vw); transform: translateX(-50%); }
  .diffCause h2 { margin-top: calc(14 / var(--screen-w) * 100vw); }
  .diffKey { padding-top: calc(56 / var(--screen-w) * 100vw); }
  .diffKey h2 { font-size: calc(20 / var(--fs-w) * 100vw); line-height: 1.7; }
  .diffKey svg { width: calc(40 / var(--screen-w) * 100vw); margin-top: calc(20 / var(--screen-w) * 100vw); }
  .diffBody { margin: calc(32 / var(--screen-w) * 100vw) calc(8 / var(--screen-w) * 100vw) 0; padding: 0 0 calc(64 / var(--screen-w) * 100vw); }
  .diffBody::before { inset: 0 calc(8 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw) 0; }
  .diffBody::after { inset: calc(12 / var(--screen-w) * 100vw) 0 0 calc(8 / var(--screen-w) * 100vw); }
  .diffBody-ttl { position: static; padding-top: calc(40 / var(--screen-w) * 100vw); font-size: calc(26 / var(--fs-w) * 100vw); line-height: 1.4; text-align: center; writing-mode: horizontal-tb; }
  .diffBody-ttl span { margin: 0; font-size: calc(14 / var(--fs-w) * 100vw); }
  .diffBody-lead { width: auto; margin: calc(20 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; padding: calc(12 / var(--screen-w) * 100vw) calc(8 / var(--screen-w) * 100vw); font-size: calc(17 / var(--fs-w) * 100vw); line-height: 1.7; }
  .diffSec, #difference01, #difference04 { padding: 0 calc(16 / var(--screen-w) * 100vw); margin-top: calc(56 / var(--screen-w) * 100vw); }
  .diffSec-num { font-size: calc(16 / var(--fs-w) * 100vw); }
  .diffSec-body, #difference02 .diffSec-body, #difference03 .diffSec-body, #difference04 .diffSec-body { margin-top: calc(14 / var(--screen-w) * 100vw); }
  .diffSec-txt, #difference02 h3, #difference03 .diffSec-txt, #difference04 .diffSec-txt { width: auto; margin-left: 0; }
  #difference02 .diffSec-body p { width: auto; }
  .diffRel { width: 100%; margin: calc(24 / var(--screen-w) * 100vw) 0 0; }
  .diffRel li:nth-child(3)::after { height: calc(5 / var(--screen-w) * 100vw); margin-top: calc(4 / var(--screen-w) * 100vw); }
  .diffSec-img { width: 100%; margin: calc(24 / var(--screen-w) * 100vw) 0 0; }
  .diffComp { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(5, auto); column-gap: calc(8 / var(--screen-w) * 100vw); margin: calc(32 / var(--screen-w) * 100vw) 0 0; }
  .diffComp::before { grid-column: 1; }
  .diffComp::after { grid-column: 2; }
  .diffComp h4 { grid-column: 1; margin: calc(8 / var(--screen-w) * 100vw) calc(8 / var(--screen-w) * 100vw) 0; padding: calc(6 / var(--screen-w) * 100vw) 0; font-size: calc(15 / var(--fs-w) * 100vw); line-height: 1.6; }
  .diffComp h4.-gp { grid-column: 2; margin: calc(8 / var(--screen-w) * 100vw) calc(8 / var(--screen-w) * 100vw) 0; }
  .diffComp-lbl, .diffComp-lbl.-row2 { grid-column: 1 / -1; grid-row: 2; margin: calc(12 / var(--screen-w) * 100vw) 0 0; padding: calc(4 / var(--screen-w) * 100vw) 0; font-size: calc(13 / var(--fs-w) * 100vw); line-height: 1.5; text-align: center; background: #eef2fa; border: 0; }
  .diffComp-lbl.-row2 { grid-row: 4; margin-top: calc(4 / var(--screen-w) * 100vw); }
  .diffComp-cell, .diffComp-cell + .diffComp-cell, .diffComp-cell.-row2, .diffComp-cell.-row2 + .diffComp-cell { grid-column: 1; grid-row: 3; flex-direction: column; padding: calc(10 / var(--screen-w) * 100vw) calc(8 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); }
  .diffComp-cell + .diffComp-cell, .diffComp-cell.-row2 + .diffComp-cell { grid-column: 2; }
  .diffComp-cell.-row2, .diffComp-cell.-row2 + .diffComp-cell { grid-row: 5; }
  .diffComp img, .diffComp-cell + .diffComp-cell img, .diffComp-cell.-row2 img, .diffComp-cell.-row2 + .diffComp-cell img { width: 80%; margin: 0 auto; }
  .diffComp-cell div, .diffComp-cell + .diffComp-cell div { margin: calc(8 / var(--screen-w) * 100vw) 0 0; }
  .diffComp-cell p { width: auto; margin: 0; font-size: calc(12 / var(--fs-w) * 100vw); line-height: 1.6; letter-spacing: 0; }
  .diffComp ul, .diffComp-cell.-row2 ul, .diffComp-cell.-row2 + .diffComp-cell ul { margin: calc(8 / var(--screen-w) * 100vw) 0 0; font-size: calc(11 / var(--fs-w) * 100vw); line-height: 1.5; }
  .diffComp li { padding-left: calc(15 / var(--screen-w) * 100vw); background-size: calc(10 / var(--screen-w) * 100vw); background-position: left top calc(4 / var(--screen-w) * 100vw); }
  .diffComp li + li { margin-top: calc(4 / var(--screen-w) * 100vw); }
  .diffComp .-ng li { background-size: calc(11 / var(--screen-w) * 100vw); }
  .diffVenn { justify-content: center; margin: calc(24 / var(--screen-w) * 100vw) 0 0; }
  .diffVenn dl { width: calc(170 / var(--screen-w) * 100vw); padding-top: calc(22 / var(--screen-w) * 100vw); }
  .diffVenn { gap: calc(10 / var(--screen-w) * 100vw); }
  .diffVenn dt, .diffVenn dl + dl dt { min-width: calc(90 / var(--screen-w) * 100vw); margin-bottom: calc(14 / var(--screen-w) * 100vw); padding: calc(4 / var(--screen-w) * 100vw) 0; font-size: calc(12 / var(--fs-w) * 100vw); }
  .diffVenn dd { font-size: calc(12 / var(--fs-w) * 100vw); }
  .diffVenn dd + dd { margin-top: calc(8 / var(--screen-w) * 100vw); }
  .diffCase { padding: calc(64 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .diffCase-head { flex-direction: column; gap: calc(20 / var(--screen-w) * 100vw); }
  .diffCase-head .btn { margin: 0; }
  .diffCase-list { grid-template-columns: 1fr 1fr; gap: calc(28 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); margin-top: calc(32 / var(--screen-w) * 100vw); }
  .diffCase figure img { height: auto; aspect-ratio: 413 / 251; }
  .diffCase figure::after { height: 80%; }
  .diffCase .tagList { margin-top: calc(10 / var(--screen-w) * 100vw); gap: calc(4 / var(--screen-w) * 100vw); }
  .diffCase h3 { margin-top: calc(8 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); }
  .diffCase-list p { margin-top: calc(6 / var(--screen-w) * 100vw); font-size: calc(11 / var(--fs-w) * 100vw); line-height: 1.5; }
  .diffLinks { flex-direction: column; gap: calc(12 / var(--screen-w) * 100vw); padding: 0 calc(16 / var(--screen-w) * 100vw) calc(56 / var(--screen-w) * 100vw); }
  .diffLinks a { width: 100%; min-height: 0; padding: calc(12 / var(--screen-w) * 100vw); }
  .diffLinks img { width: calc(110 / var(--screen-w) * 100vw); }
  .diffLinks a > span { margin-left: calc(20 / var(--screen-w) * 100vw); font-size: calc(18 / var(--fs-w) * 100vw); }
  .diffLinks a > span span { font-size: calc(13 / var(--fs-w) * 100vw); }
  .diffLinks a::after { width: calc(40 / var(--screen-w) * 100vw); height: calc(46 / var(--screen-w) * 100vw); background-position: left calc(17 / var(--screen-w) * 100vw) top calc(24 / var(--screen-w) * 100vw); background-size: calc(11 / var(--screen-w) * 100vw) auto; }
}
@media (max-width: 600px) {
  .diffBody-lead .spNo { display: none; }
}

/* 改行位置: 語句の途中で切らない */
.diffComp-cell li span, .diffComp-cell p span, .diffMin em span { display: inline-block; }
