@charset "UTF-8";

.p-review {
    padding-bottom: 24px;
    background-color: #f8fbfd;
    background-image: radial-gradient(circle,rgba(18,110,173,.055) .7px,transparent .9px);
    background-size: 8px 8px;
}

.p-review__title::after {
    display: none;
}

.p-review__title span {
    display: inline-block;
}

.p-review__title span::after {
    display: none;
}
.p-review__avatar {
    border: 0;
    background-color: transparent;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: none;
}
.p-review__avatar--01 { background-image: url("../img/review-avatar-01.png"); }
.p-review__avatar--02 { background-image: url("../img/review-avatar-02.png"); }
.p-review__avatar span { display: none; }

.p-reviewSummaryV2 {
    position: relative;
    overflow: hidden;
    padding: 0 0 76px;
    background-color: #f8fbfd;
    background-image: radial-gradient(circle,rgba(18,110,173,.055) .7px,transparent .9px);
    background-size: 8px 8px;
    color: #06356f;
    font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
.p-reviewSummaryV2::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(180deg,#caecfc 0%,#c2e7fa 100%);
    clip-path: polygon(0 43%,100% 20%,100% 100%,0 100%);
    pointer-events: none;
    content: "";
}
.p-reviewSummaryV2 *,
.p-reviewSummaryV2 *::before,
.p-reviewSummaryV2 *::after { box-sizing: border-box; }
.p-reviewSummaryV2__inner { position: relative; z-index: 1; width: min(1120px,calc(100% - 40px)); margin: 0 auto; }
.p-reviewSummaryV2__graphic { display: block; width: 100%; margin: 0; overflow: hidden; line-height: 0; }
.p-reviewSummaryV2__graphic img { display: block; width: 100%; height: auto; margin: 0; vertical-align: top; }
.p-reviewSummaryV2__graphicLink { display: block; color: inherit; text-decoration: none; }
.p-reviewSummaryV2__graphicLink:focus-visible { outline: 4px solid #0877c7; outline-offset: 5px; }

.p-reviewSummaryV2__guarantee { display: grid; grid-template-columns: 1fr .9fr; gap: 32px; align-items: center; padding: 28px 38px; border: 1px solid #c7dce9; border-radius: 7px; background: rgba(255,255,255,.96); box-shadow: 0 5px 14px rgba(5,71,116,.13); }
.p-reviewSummaryV2__label { position: relative; display: inline-flex; align-items: center; min-height: 34px; margin: 0; padding: 5px 24px 5px 14px; background: #ee121a; color: #fff; font-size: 1.45rem; font-weight: 900; }
.p-reviewSummaryV2__label::after { position: absolute; top: 0; right: -17px; border-top: 17px solid #ee121a; border-right: 17px solid transparent; border-bottom: 17px solid #ee121a; content: ""; }
.p-reviewSummaryV2__sub { margin: 16px 0 0; font-size: 2.2rem; font-weight: 900; line-height: 1.2; }
.p-reviewSummaryV2__title { margin: 2px 0 0; color: #ef1518; font-size: clamp(3.4rem,3.7vw,4.6rem); font-weight: 900; line-height: 1.05; }
.p-reviewSummaryV2__title span { font-family: Inter,sans-serif; font-size: 1.35em; }
.p-reviewSummaryV2__note { margin: 12px 0 0; color: #111; font-size: 1.35rem; font-weight: 800; }
.p-reviewSummaryV2__text { margin: 13px 0 0; padding-top: 11px; border-top: 1px dotted #7fa3bf; font-size: 1.45rem; font-weight: 700; line-height: 1.65; }

.p-reviewSummaryV2__certificate { margin: 0; padding: 10px; border: 1px solid #d3d6d8; background: #f7f7f5; box-shadow: 0 3px 8px rgba(0,0,0,.13); }
.p-reviewSummaryV2__certificateInner { position: relative; min-height: 220px; padding: 30px 34px; border: 5px double #d9d3c8; background: #fff; color: #4b4b4b; font-family: serif; text-align: center; }
.p-reviewSummaryV2__certificateTitle { margin: 0; font-size: 2.25rem; letter-spacing: .3em; }
.p-reviewSummaryV2__certificateName { margin: 24px 0 0; font-size: 1.2rem; letter-spacing: .12em; text-align: left; }
.p-reviewSummaryV2__certificateRule { margin: 5px 0 0; border-top: 1px solid #999; }
.p-reviewSummaryV2__certificateText { margin: 25px 0 0; font-size: 1rem; line-height: 1.8; text-align: left; }
.p-reviewSummaryV2__certificateSeal { position: absolute; right: 22px; bottom: 18px; display: grid; place-items: center; width: 44px; height: 44px; margin: 0; border: 2px solid #d55; color: #d55; font-size: 1rem; }

.p-reviewSummaryV2__insurance { display: flex; align-items: center; justify-content: center; margin: 25px 0 20px; color: #164b88; text-align: center; }
.p-reviewSummaryV2__insurance p { margin: 0; font-size: 1.8rem; font-weight: 700; line-height: 1.55; }
.p-reviewSummaryV2__insurance span { color: #ed171b; font-weight: 900; }
.p-reviewSummaryV2__insurance strong { color: #063f88; font-weight: 900; }

.p-reviewSummaryV2__cta { position: relative; display: grid; grid-template-columns: 48% 18% 34%; min-height: 248px; border: 9px solid #fff; border-radius: 9px; background: #fff; box-shadow: 0 4px 14px rgba(5,71,116,.16); overflow: hidden; color: #06356f; text-decoration: none; }
.p-reviewSummaryV2__ctaBody { position: relative; z-index: 2; padding: 27px 20px 18px 28px; }
.p-reviewSummaryV2__ctaAlert { display: inline-block; margin: 0 0 13px; padding: 6px 10px; background: #fff000; color: #ce2020; font-size: 1.25rem; font-weight: 900; }
.p-reviewSummaryV2__ctaFree { margin: 0; color: #114280; font-size: clamp(2rem,2.25vw,2.8rem); font-weight: 800; white-space: nowrap; }
.p-reviewSummaryV2__ctaFree strong { color: #ef1518; font-size: 1.35em; }
.p-reviewSummaryV2__ctaPrice { margin: 11px 0 0; font-size: 1.55rem; font-weight: 800; line-height: 1.35; text-align: center; }
.p-reviewSummaryV2__ctaPrice strong { color: #ed1118; font-family: Inter,sans-serif; font-size: 2.4em; }
.p-reviewSummaryV2__ctaBody small { display: block; margin-top: 4px; color: #555; font-size: 1rem; text-align: center; }
.p-reviewSummaryV2__ctaRoof { align-self: end; position: relative; z-index: 2; margin: 0 0 3px; border: 3px solid #a5b5c4; transform: rotate(-2deg); }
.p-reviewSummaryV2__ctaRoof img { display: block; width: 100%; height: 105px; object-fit: cover; }
.p-reviewSummaryV2__ctaWorker { min-width: 0; background: url("../img/inspection-cta-generated-v2.png") 73% center / cover no-repeat; }

@media (max-width: 767px) {
    .p-reviewSummaryV2 { padding-bottom: 34px; }
    .p-reviewSummaryV2::before { clip-path: polygon(0 43%,100% 23%,100% 100%,0 100%); }
    .p-reviewSummaryV2__inner { width: min(calc(100% - 28px),680px); }
    .p-reviewSummaryV2__guarantee { grid-template-columns: 1fr .88fr; gap: 12px; padding: 18px 14px; }
    .p-reviewSummaryV2__label { min-height: 27px; padding: 3px 17px 3px 8px; font-size: 1rem; }
    .p-reviewSummaryV2__label::after { right: -13px; border-top-width: 13.5px; border-right-width: 13px; border-bottom-width: 13.5px; }
    .p-reviewSummaryV2__sub { margin-top: 10px; font-size: 1.35rem; }
    .p-reviewSummaryV2__title { font-size: clamp(1.55rem,4.6vw,1.8rem); white-space: nowrap; }
    .p-reviewSummaryV2__note { margin-top: 8px; font-size: .85rem; }
    .p-reviewSummaryV2__text { margin-top: 8px; padding-top: 7px; font-size: .95rem; line-height: 1.55; }
    .p-reviewSummaryV2__certificate { padding: 5px; }
    .p-reviewSummaryV2__certificateInner { min-height: 155px; padding: 18px 14px; border-width: 3px; }
    .p-reviewSummaryV2__certificateTitle { font-size: 1.4rem; }
    .p-reviewSummaryV2__certificateName { margin-top: 17px; font-size: .8rem; }
    .p-reviewSummaryV2__certificateText { margin-top: 15px; font-size: .65rem; }
    .p-reviewSummaryV2__certificateSeal { right: 10px; bottom: 10px; width: 30px; height: 30px; font-size: .7rem; }
    .p-reviewSummaryV2__insurance { margin: 18px 4px 15px; }
    .p-reviewSummaryV2__insurance p { font-size: clamp(1.3rem,4.5vw,1.55rem); line-height: 1.5; }
    .p-reviewSummaryV2__cta { grid-template-columns: 62% 38%; min-height: 190px; border-width: 5px; }
    .p-reviewSummaryV2__ctaBody { padding: 17px 10px 12px; }
    .p-reviewSummaryV2__ctaAlert { margin-bottom: 9px; padding: 4px 6px; font-size: .8rem; }
    .p-reviewSummaryV2__ctaFree { font-size: clamp(1.35rem,4.3vw,1.7rem); white-space: normal; }
    .p-reviewSummaryV2__ctaPrice { margin-top: 7px; font-size: 1.05rem; }
    .p-reviewSummaryV2__ctaPrice strong { font-size: 2.25em; }
    .p-reviewSummaryV2__ctaBody small { font-size: .72rem; }
    .p-reviewSummaryV2__ctaRoof { position: absolute; z-index: 3; bottom: 4px; left: 8px; width: 25%; margin: 0; }
    .p-reviewSummaryV2__ctaRoof img { height: 53px; }
    .p-reviewSummaryV2__ctaWorker { grid-column: 2; background-position: 72% center; }
}

@media (max-width: 359px) {
    .p-reviewSummaryV2__guarantee { grid-template-columns: 1fr; }
    .p-reviewSummaryV2__certificate { display: none; }
    .p-reviewSummaryV2__ctaAlert { font-size: .72rem; }
}
