@charset "UTF-8";

/* Cost comparison and cause-investigation section. */
.p-investigationV2 {
    --iv2-navy: #06356f;
    --iv2-blue: #075095;
    --iv2-red: #ef1616;
    box-sizing: border-box;
    padding: 38px 0 50px;
    border-top: 7px solid #0062a6;
    background:
        radial-gradient(circle at 50% 44%, rgba(255,255,255,.98) 0 44%, rgba(237,249,255,.86) 76%, rgba(220,240,252,.9) 100%),
        #eef9ff;
    color: var(--iv2-navy);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.p-investigationV2 *,
.p-investigationV2 *::before,
.p-investigationV2 *::after { box-sizing: border-box; }
.p-investigationV2__inner { width: min(calc(100% - 40px), 1120px); margin: 0 auto; }
.p-investigationV2__title { margin: 0; color: #061f4d; font-size: clamp(3rem, 3.45vw, 4.5rem); font-weight: 900; letter-spacing: .015em; line-height: 1.28; text-align: center; }
.p-investigationV2__title span { position: relative; z-index: 0; color: #1154c5; }
.p-investigationV2__title span::after { position: absolute; z-index: -1; right: 0; bottom: .02em; left: 0; height: .16em; background: #ffe34a; content: ""; }
.p-investigationV2 .u-spOnly { display: none; }
.p-investigationV2__comparisonLead { margin: 20px auto 0; color: #15254a; font-size: clamp(1.35rem, 1.55vw, 1.9rem); font-weight: 600; line-height: 1.65; text-align: center; }

.p-investigationV2__comparison { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; width: 100%; margin: 28px auto 0; }
.p-investigationV2__costCard { margin: 0; border-radius: 14px; background: rgba(255,255,255,.97); box-shadow: 0 8px 24px rgba(5,42,91,.13); overflow: hidden; color: #252932; text-align: center; }
.p-investigationV2__costCard h3 { display: grid; place-items: center; min-height: 62px; margin: 0; padding: 12px 16px; background: linear-gradient(135deg,#65686e,#414349); color: #fff; font-size: clamp(2rem,2.1vw,2.7rem); font-weight: 900; line-height: 1.2; }
.p-investigationV2__costCard--ours h3 { background: linear-gradient(135deg,#1262dc,#063da9); }
.p-investigationV2__costCardBody { display: grid; gap: 0; padding: 20px 28px 24px; }
.p-investigationV2__costDesc { min-height: 42px; margin: 0 0 14px; color: #363b45; font-size: clamp(1.45rem,1.55vw,1.9rem); font-weight: 800; line-height: 1.45; }
.p-investigationV2__costCard--ours .p-investigationV2__costDesc { color: #0648b7; }
.p-investigationV2__costAmount { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; min-height: 92px; padding: 10px 20px; border: 1px solid #d8e0e9; border-radius: 7px; background: linear-gradient(100deg,#fff,#f7f8fa); box-shadow: inset 0 0 18px rgba(19,53,95,.025); }
.p-investigationV2__costAmount > span { font-size: clamp(1.3rem,1.4vw,1.75rem); font-weight: 800; text-align: center; }
.p-investigationV2__costAmount p { display: flex; align-items: baseline; justify-content: center; margin: 0; white-space: nowrap; }
.p-investigationV2__costAmount strong { color: #3e4248; font: 900 clamp(4.5rem,5vw,6.4rem)/.9 Arial,sans-serif; letter-spacing: -.04em; }
.p-investigationV2__costAmount em { margin-left: .16em; color: #30343a; font-size: clamp(1.65rem,1.8vw,2.35rem); font-style: normal; font-weight: 900; }
.p-investigationV2__costCard--ours .p-investigationV2__costAmount strong,
.p-investigationV2__costCard--ours .p-investigationV2__costAmount em { color: #0649bd; }
.p-investigationV2__costResult { position: relative; display: grid; place-items: center; min-height: 50px; margin: 28px 0; padding: 8px 14px; border-radius: 7px; background: linear-gradient(90deg,#f3f4f6,#e9ebee,#f3f4f6); font-size: clamp(1.25rem,1.35vw,1.7rem); font-weight: 800; line-height: 1.4; }
.p-investigationV2__costResult::before,
.p-investigationV2__costResult::after { position: absolute; left: 50%; width: 0; height: 0; border-right: 11px solid transparent; border-left: 11px solid transparent; content: ""; transform: translateX(-50%); }
.p-investigationV2__costResult::before { top: -19px; border-top: 10px solid #aeb5bf; }
.p-investigationV2__costResult::after { bottom: -19px; border-top: 10px solid #aeb5bf; }
.p-investigationV2__costCard--ours .p-investigationV2__costResult { background: linear-gradient(90deg,#f3f8ff,#e3f0ff,#f3f8ff); color: #0747b4; }
.p-investigationV2__total { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: center; align-items: center; min-height: 88px; margin: 14px 0 0; padding: 8px 20px; border: 1px solid #d7dfe8; border-radius: 7px; background: linear-gradient(100deg,#fff,#f4f6f8); line-height: 1; }
.p-investigationV2__total > span { font-size: clamp(1.55rem,1.7vw,2.15rem); font-weight: 900; text-align: center; }
.p-investigationV2__total b { display: flex; align-items: baseline; justify-content: center; font-weight: inherit; white-space: nowrap; }
.p-investigationV2__total strong { color: #30343a; font: 900 clamp(5rem,5.7vw,7.2rem)/1 Arial,sans-serif; letter-spacing: -.05em; }
.p-investigationV2__total em { margin: 0 0 0 .15em; color: #30343a; font-size: clamp(1.8rem,2vw,2.6rem); font-style: normal; font-weight: 900; line-height: 1; }
.p-investigationV2__costCard--ours .p-investigationV2__total strong,
.p-investigationV2__costCard--ours .p-investigationV2__total em { position: relative; color: #0649bd; }
.p-investigationV2__costCard--ours .p-investigationV2__total strong::after { position: absolute; z-index: -1; right: -.06em; bottom: -.05em; left: -.06em; height: .18em; background: #ffe126; content: ""; }
.p-investigationV2__note { width: 100%; margin: 18px auto 0; color: #17284a; font-size: 1.2rem; font-weight: 500; text-align: center; }

.p-investigationV2__lead { margin: 34px 0 0; color: #06356f; font-size: clamp(2.65rem,3vw,3.85rem); font-weight: 900; letter-spacing: .02em; line-height: 1.35; text-align: center; }
.p-investigationV2__desc { margin: 20px auto 0; color: #101820; font-size: clamp(1.35rem,1.45vw,1.85rem); font-weight: 500; line-height: 1.75; text-align: center; }
.p-investigationV2__body { display: grid; grid-template-columns: minmax(330px, 39%) minmax(0, 61%); align-items: stretch; gap: 20px; margin-top: 28px; }

.p-investigationV2__steps { display: flex; flex-direction: column; justify-content: space-between; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: inspection-step; }
.p-investigationV2__steps li { position: relative; z-index: 1; display: grid; grid-template-columns: 56px 1fr; grid-template-rows: auto auto; column-gap: 14px; row-gap: 10px; align-items: start; min-height: 145px; padding: 18px 16px; border: 1px solid #cbd7e2; border-radius: 5px; background: rgba(255,255,255,.96); box-shadow: 0 4px 12px rgba(0,48,88,.12); }
.p-investigationV2__steps li:not(:last-child)::after { display: none; }
.p-investigationV2__stepNo { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 4px; background: linear-gradient(180deg,#07549b,#06386f); box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); color: #fff; font: 900 3.2rem/1 Arial,sans-serif; }
.p-investigationV2__steps li > div { display: contents; }
.p-investigationV2__steps h4 { display: flex; align-items: center; min-height: 50px; margin: 0; color: #050505; font-size: clamp(1.85rem,2vw,2.55rem); font-weight: 900; line-height: 1.3; }
.p-investigationV2__steps h4 span { color: var(--iv2-red); }
.p-investigationV2__steps p { grid-column: 1 / -1; margin: 0; color: #062f66; font-size: clamp(1.15rem,1.2vw,1.5rem); font-weight: 600; line-height: 1.55; }

.p-investigationV2__figure { position: relative; align-self: center; min-width: 0; margin: 0; border: 1px solid #cbd7e2; border-radius: 5px; background: #fff; box-shadow: 0 4px 14px rgba(0,48,88,.08); overflow: hidden; }
.p-investigationV2__figure > img { display: block; width: 100%; height: auto; }
.p-investigationV2__entry { position: absolute; top: 7%; left: 17%; margin: 0; color: var(--iv2-red); font-size: clamp(1rem,1.05vw,1.35rem); font-weight: 900; line-height: 1.25; text-align: center; }
.p-investigationV2__entry small,
.p-investigationV2__leak small { display: block; font-size: .72em; }
.p-investigationV2__notSame { position: absolute; top: 6%; right: 2.5%; margin: 0; padding: 12px 14px; border: 1px solid #777; border-radius: 5px; background: rgba(255,255,255,.95); color: #1b1b1b; font-size: clamp(1.2rem,1.35vw,1.7rem); font-weight: 900; line-height: 1.4; text-align: center; }
.p-investigationV2__notSame strong { color: var(--iv2-red); }
.p-investigationV2__moves { position: absolute; top: 42%; left: 1.5%; width: 27%; margin: 0; border: 1px solid #777; border-radius: 5px; background: rgba(255,255,255,.95); color: #111; font-size: clamp(.9rem,.92vw,1.2rem); line-height: 1.5; }
.p-investigationV2__moves strong { display: block; padding: 10px; border-radius: 4px 4px 0 0; background: #3b3b3b; color: #fff; font-size: 1.22em; }
.p-investigationV2__moves span { display: block; padding: 10px; }
.p-investigationV2__leak { position: absolute; top: 47%; right: 20%; margin: 0; color: var(--iv2-red); font-size: clamp(1rem,1.05vw,1.35rem); font-weight: 900; line-height: 1.25; text-align: center; }

@media (max-width: 767px) {
    .p-investigationV2 { padding: 24px 0 30px; border-top-width: 5px; }
    .p-investigationV2__inner { width: min(calc(100% - 20px), 680px); }
    .p-investigationV2 .u-spOnly { display: block; }
    .p-investigationV2 .u-pcOnly { display: none; }
    .p-investigationV2__title { font-size: clamp(2.55rem,7.8vw,3.1rem); line-height: 1.3; }
    .p-investigationV2__comparisonLead { margin-top: 14px; font-size: clamp(1.1rem,3.35vw,1.3rem); line-height: 1.6; }
    .p-investigationV2__comparison { display: flex; flex-direction: column; gap: 18px; margin-top: 20px; }
    .p-investigationV2__costCard h3 { min-height: 48px; padding: 9px 12px; font-size: clamp(1.7rem,5.3vw,2.05rem); }
    .p-investigationV2__costCardBody { gap: 0; padding: 14px 14px 17px; }
    .p-investigationV2__costDesc { min-height: 0; margin-bottom: 10px; font-size: clamp(1.18rem,3.65vw,1.45rem); }
    .p-investigationV2__costAmount { min-height: 68px; padding: 8px 10px; }
    .p-investigationV2__costAmount > span { font-size: clamp(1.05rem,3.2vw,1.25rem); }
    .p-investigationV2__costAmount strong { font-size: clamp(3.75rem,12vw,4.8rem); }
    .p-investigationV2__costAmount em { font-size: clamp(1.35rem,4.2vw,1.65rem); }
    .p-investigationV2__costResult { min-height: 42px; margin: 24px 0; padding: 7px 9px; font-size: clamp(1.05rem,3.2vw,1.25rem); }
    .p-investigationV2__costResult::before { top: -16px; border-top-width: 8px; }
    .p-investigationV2__costResult::after { bottom: -16px; border-top-width: 8px; }
    .p-investigationV2__total { min-height: 66px; margin-top: 10px; padding: 6px 10px; }
    .p-investigationV2__total > span { font-size: clamp(1.2rem,3.75vw,1.45rem); }
    .p-investigationV2__total strong { font-size: clamp(4rem,13vw,5.2rem); }
    .p-investigationV2__total em { font-size: clamp(1.4rem,4.35vw,1.75rem); }
    .p-investigationV2__note { margin-top: 12px; font-size: .9rem; line-height: 1.55; }
    .p-investigationV2__lead { margin-top: 23px; font-size: clamp(2rem,6.2vw,2.5rem); line-height: 1.35; }
    .p-investigationV2__desc { margin-top: 13px; font-size: clamp(1.15rem,3.4vw,1.35rem); line-height: 1.65; }
    .p-investigationV2__body { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; }
    .p-investigationV2__figure { order: -1; }
    .p-investigationV2__entry { top: 7%; left: 15%; font-size: clamp(.7rem,2.05vw,.9rem); }
    .p-investigationV2__notSame { top: 6%; right: 2%; padding: 5px 6px; font-size: clamp(.78rem,2.3vw,1rem); }
    .p-investigationV2__moves { top: 42%; left: 1%; width: 28%; font-size: clamp(.6rem,1.75vw,.75rem); }
    .p-investigationV2__moves strong,
    .p-investigationV2__moves span { padding: 5px; }
    .p-investigationV2__leak { top: 47%; right: 18%; font-size: clamp(.7rem,2.05vw,.9rem); }
    .p-investigationV2__steps { gap: 8px; }
    .p-investigationV2__steps li { grid-template-columns: 46px 1fr; column-gap: 12px; row-gap: 8px; min-height: 0; padding: 13px 14px; }
    .p-investigationV2__steps li:not(:last-child)::after { display: none; }
    .p-investigationV2__stepNo { width: 46px; height: 46px; border-radius: 4px; font-size: 2.8rem; }
    .p-investigationV2__steps h4 { min-height: 46px; margin: 0; font-size: clamp(1.65rem,5vw,2rem); }
    .p-investigationV2__steps p { font-size: clamp(1.05rem,3.2vw,1.25rem); line-height: 1.5; }
}

@media (max-width: 359px) {
    .p-investigationV2__costCard h3 { font-size: 1.35rem; }
    .p-investigationV2__costDesc { font-size: 1.05rem; }
    .p-investigationV2__notSame { font-size: .72rem; }
}
