.sectionTitlePage .wrapTitlePage .characterPageTitle {
    width: 211.5px;
    bottom: -22px;
    right: -150px;
}
.insuranceArea {
    background: white;
    padding: 80px 0 103px;
}
.insuranceArea .inner {
    max-width: 962px;
}
.insuranceBlockArea {
    background: white;
    padding-bottom: 82px;
}
.insuranceBlockArea .inner {
    max-width: 982px;
}
.insuranceArea .insuranceTitle {
    font-size: 42.76px;
    letter-spacing: 4px;
    line-height: 1.2;
    text-align: center;
    color: #0058aa;
    font-weight: 900;
    margin-bottom: 29px;
}
.insuranceArea .insuranceSubTitle {
    margin-bottom: 5px;
}
.insuranceArea .insuranceText {
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: 0.4px;
    text-align: center;
    font-weight: 900;
    margin-bottom: 1.2em;
}
.insuranceArea .insuranceImg {
    max-width: 740.2px;
    width: 100%;
    margin: 53px auto 100px;
    display: block;
    border-radius: 8px;
    overflow: hidden;
}
.insuranceArea .insuranceImg img {
    aspect-ratio: 740.2/467.1;
    object-fit: cover;
    height: auto;
    display: block;
}
.insuranceArea .insuranceBlockList {
    background: #0058aa;
    border-radius: 25px;
    padding: 44px 79px 44px;
    max-width: 922px;
    margin: 40px auto 0;
}
.insuranceArea .insuranceBlockList li {
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: 1.44px;
    text-align: justify;
    text-indent: -4px;
    margin-bottom: 22px;
}
.insuranceArea .insuranceBlockList li:last-child {
    margin-bottom: 0;
}
.insuranceBlockArea .insuranceWrap {
    margin-bottom: 106px;
}
.insuranceBlockArea .insuranceWrap.linkWrap {
    margin-bottom: 108px;
}
.insuranceBlockArea .insuranceWrap .wrapTitle {
    font-size: 42.8px;
    line-height: 1.2;
    letter-spacing: 3.4px;
    font-weight: 900;
    color: #fff;
    background: #0058aa;
    width: fit-content;
    margin: 0 auto;
    padding: 11px 67px 7px;
    min-width: 457px;
    text-align: center;
    border-radius: 34px 35px 0 0;
}
.insuranceBlockArea .insuranceWrap .wrapContent {
    border: 10px solid #0058aa;
    border-radius: 44px;
    overflow: hidden;
    background: #fcfcfc;
    padding: 19px 38px 28px;
}
.insuranceBlockArea .insuranceWrap .companyImg {
    max-width: 634px;
    width: 100%;
    margin: 0 auto 21px;
}
.insuranceBlockArea .insuranceWrap .characterTextWrap {
    width: 100%;
    position: relative;
    margin-bottom: 55px;
    padding: 0px 43px;
}
.insuranceBlockArea .insuranceWrap .characterText {
    font-size: 21.4px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 2px;
    background: #c5c6c6;
    width: 100%;
    margin:  0 auto;
    padding: 22px 30px 20px;
    border-radius: 34px;
    position: relative;
}
.insuranceBlockArea .insuranceWrap .characterWrapImg {
    display: block;
    position: absolute;
    width: 121.1px;
    top: 44%;
    right: 0px;
    transform: translateY(-50%);
    z-index: 1;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoList {
    width: 100%;
    padding: 0 1px;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoList li {
    display: flex;
    width: 100%;
    margin-bottom: 30px;
} 
.insuranceBlockArea .insuranceWrap .insuranceInfoList li:last-child {
    margin-bottom: 0;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoTitle {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 900;
    background: #0058aa;
    letter-spacing: 1.5px;
    border: 1px solid #0058aa;
    color: #fff;
    padding: 7px 10px;
    width: 50.5%;
    text-align: start;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px 0 0 6px;
    min-height: 39px;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoText {
    font-size: 21.4px;
    line-height: 1.2;
    padding: 2px 24px 5px;
    letter-spacing: 2.5px;
    font-weight: bold;
    color: #231815;
    border: 1px solid #0058aa;
    width: 51.3%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    border-radius: 0 6px 6px 0;
    min-height: 39px;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoText.textList {
    line-height: 30.1px;
    padding: 5px 16px 6.9px;
    letter-spacing: 2.7px;
    align-items: start;
 }
.insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoText .tel {
    display: inline;
}
.insuranceBlockArea .insuranceWrap.linkWrap .wrapContent{
    padding: 31px 53px 53px;
}
.insuranceBlockArea .insuranceWrap .wrapText {
    font-size: 19px;
    font-weight: bold;
    letter-spacing: 1.9px;
    line-height: 1.39;
    text-align: center;
    margin-bottom: 32px;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoBlock {
    background: #0058aa;
    padding: 23px 20px 34px;
    margin-bottom: 30px;
    border-radius: 28px;
    margin: 0 8px 40.8px;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoBlock:last-child {
    margin-bottom: 0px;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockTitle {
    font-size: 34.2px;
    font-weight: 900;
    letter-spacing: 2.7px;
    line-height: 1.59;
    text-align: center;
    color: #fff;
    margin-bottom: 10px;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockText {
    font-size: 20px;
    line-height: 1.59;
    letter-spacing: 2.4px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin-bottom: 21px;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn {
    width: fit-content;
    margin: 14px auto 0;
    min-width: 267px;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn a {
    border-radius: 60px;
    display: block;
    width: 100%;
    color: #fff;
    text-align: center;
    position: relative;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 2.5px;
    line-height: 1.1;
    padding: 10px 49px 12px 34px;
    background: #e50011;
    box-shadow: 5px 5px 5px rgba(0,0,0, 0.3);
    overflow: hidden;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn a span {
    position: relative;
    z-index: 1;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 0;
    height: 100%;
    background-color: #ffffff;
    transition: all 0.4s;
    z-index: 0;
}
.insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn a::before {
    content: "";
    display: block;
    position: absolute;
    width: 19.3px;
    aspect-ratio: 1/1;
    border-radius: 100%;
    background: url("../images/insurance/insurance-btn.png") no-repeat center / 100%;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.4s;
    z-index: 1;
} 
.wrapBtn .txtBtnSpecial {
    color: #231815;
}
.wrapBtnSpecial .wrapBtn .characterBtn {
    left: -70px;
}

@media (max-width: 900px) {
    .sectionTitlePage .wrapTitlePage .characterPageTitle {
        right: calc(-150px + (70 * (100vw - 900px) / -131));
    }
}
@media (min-width: 769px) {
    .insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoText .tel {
        pointer-events: none;
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn a:hover:after {
        width: 100%;
        left: 0;
        right: auto;
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn a:hover {
        color: #e50011;
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn a:hover::before {
        background: url("../images/insurance/insurance-btn-red.png") no-repeat center / 100%;
    }
}
@media (max-width: 768px) {
    .sectionTitlePage .wrapTitlePage .characterPageTitle {
        width: clamp(92.5px, 24.667vw, 185px);
        right: clamp(-22px, -2.933vw, -11px);
        bottom: clamp(-25px, -3.333vw, -12.5px);
    }
    .insuranceArea {
        padding: clamp(52px, 13.867vw, 104px) 0 clamp(57.5px, 15.333vw, 115px);
    }
    .insuranceArea .inner {
        padding: 0 5.3%;
    }
    .insuranceBlockArea .inner {
        padding: 0 4%;
    }
    .insuranceArea .insuranceTitle {
        font-size: clamp(24px, 6.4vw, 48px);
        letter-spacing: clamp(2.28px, 0.608vw, 4.56px);
        margin-bottom: clamp(23px, 6.133vw, 46px);
    }
        .insuranceArea .insuranceSubTitle {
        font-size: clamp(21px, 5.6vw, 42px);
        letter-spacing: clamp(0.7px, 0.187vw, 1.4px);
        padding: 0 clamp(17.5px, 4.667vw, 35px);
        margin-bottom: clamp(10.5px, 2.8vw, 21px);
    }
    .insuranceArea .insuranceText {
        font-size: clamp(14px, 3.733vw, 28px);
        line-height: 1.68;
        letter-spacing: clamp(0.57px, 0.152vw, 1.14px);
        margin-bottom: 1.68em;
    }
    .insuranceArea .insuranceSubText {
        font-size: clamp(12px, 3.2vw, 24px);
        line-height: 1.2;
        margin-bottom: clamp(15.5px, 4.133vw, 31px);
    }
    .insuranceArea .insuranceImg {
        margin-top: clamp(32px, 8.533vw, 64px);
        margin-bottom: clamp(70px, 18.667vw, 140px);
    }
    .insuranceArea .insuranceBlockList {
        margin-top: 0;
        border-radius: clamp(16.5px, 4.4vw, 33px);
        padding: clamp(19px, 5.067vw, 38px) clamp(18.5px, 4.933vw, 37px) clamp(24.5px, 6.533vw, 49px);
    }
    .insuranceArea .insuranceBlockList li {
        font-size: clamp(14px, 3.733vw, 28px);
        line-height: 1.54;
        letter-spacing: clamp(1.1px, 0.293vw, 2.2px);
        margin-bottom: 1.56em;
    }
        .insuranceBlockArea .insuranceWrap .wrapTitle {
        font-size: clamp(21.4px, 5.707vw, 42.8px);
        letter-spacing: clamp(1.7px, 0.453vw, 3.4px);
        padding: clamp(5.5px, 1.467vw, 11px) clamp(20px, 5.333vw, 40px) clamp(3.5px, 0.933vw, 7px);
        min-width: clamp(228.5px, 60.933vw, 457px);
        border-radius: clamp(17.5px, 4.667vw, 35px) clamp(17.5px, 4.667vw, 35px) 0 0;
    }
    .insuranceBlockArea .insuranceWrap .wrapContent {
        border-width: clamp(5px, 1.333vw, 10px);
        border-radius: clamp(26.5px, 7.067vw, 53px);
        padding: clamp(19.5px, 5.2vw, 39px) clamp(20px, 5.333vw, 40px) clamp(32px, 8.533vw, 64px);
        border-radius: clamp(26.5px, 7.067vw, 53px);
    }
    .insuranceBlockArea .insuranceWrap .companyImg {
        max-width: clamp(294.5px, 78.533vw, 589px);
        margin-bottom: 24px;
    }
    .insuranceBlockArea .insuranceWrap .companyImg img {
        aspect-ratio: 589 / 150;
    }
    .insuranceBlockArea .insuranceWrap .characterTextWrap {
        padding: 0;
        margin-bottom: clamp(35.5px, 9.467vw, 71px);
    }
    .insuranceBlockArea .insuranceWrap .characterText {
        font-size: clamp(14px, 3.733vw, 28px);
        letter-spacing: clamp(0.8px, 0.213vw, 1.6px);
        padding: clamp(8px, 2.133vw, 16px) clamp(34.5px, 9.2vw, 69px) clamp(9px, 2.4vw, 18px) clamp(21px, 5.6vw, 42px);
    }
        .insuranceBlockArea .insuranceWrap .characterWrapImg {
        width: clamp(63.7px, 16.987vw, 127.4px);
        right: -4vw;
        top: -4.6vw;
        transform: none;
    }
    .insuranceBlockArea .insuranceWrap .characterWrapImg img {
        aspect-ratio: 127.2 / 106.2;
        object-fit: cover;
        position: absolute;
        height: auto;
        display: block;
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoList li {
        flex-direction: column;
        margin-bottom: clamp(21.5px, 5.833vw, 43px);
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoTitle {
        width: 100%;
        font-size: clamp(14px, 3.733vw, 28px);
        padding: clamp(6px, 1.6vw, 12px) clamp(5px, 1.333vw, 10px) clamp(5.5px, 1.467vw, 11px);
        letter-spacing: clamp(0.4px, 0.107vw, 0.8px);
        border-radius: 0;
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoText {
        width: 100%;
        padding: clamp(6px, 1.6vw, 12px) clamp(25px, 6.667vw, 50px) clamp(5.5px, 1.467vw, 11px);
        letter-spacing: clamp(1.8px, 0.48vw, 3.6px);
        font-size: clamp(14px, 3.733vw, 28px);
        border-radius: 0;
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoText.textList {
        padding: clamp(6px, 1.6vw, 12px) clamp(24.5px, 6.533vw, 49px) clamp(8.5px, 2.567vw, 19px);
        line-height: 1.49;
    }
        .insuranceBlockArea .insuranceWrap.linkWrap .wrapContent {
        border-radius: clamp(40.5px, 10.8vw, 81px);
        padding: clamp(26px, 6.933vw, 52px) clamp(16.5px, 4.4vw, 33px) clamp(36px, 9.6vw, 72px);
    }
    .insuranceBlockArea .insuranceWrap.linkWrap .wrapTitle {
        padding-bottom: clamp(6.5px, 1.733vw, 13px);
        margin-bottom: clamp(-6px, -0.8vw, -3px);
    }
    .insuranceBlockArea .insuranceWrap .wrapText {
        font-size: clamp(12px, 3.2vw, 24px);
        letter-spacing: clamp(1px, 0.267vw, 2px);
        padding: 0 clamp(6px, 1.6vw, 12px);
        margin-bottom: clamp(27px, 7.2vw, 54px);
        line-height: 1.58;
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock {
        padding: clamp(24.5px, 6.533vw, 49px) clamp(15px, 4vw, 30px) clamp(23px, 6.033vw, 46px);
        border-radius: clamp(12.5px, 3.333vw, 25px);
        margin-bottom: clamp(26.5px, 7.067vw, 53px);
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockTitle {
        font-size: clamp(20px, 5.333vw, 40px);
        letter-spacing: clamp(1.4px, 0.373vw, 2.8px);
        line-height: 1.2;
        margin-bottom: clamp(7.5px, 2vw, 15px);
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockText {
        font-size: clamp(14px, 3.733vw, 28px);
        line-height: 1.54;
        text-align: justify;
        letter-spacing: clamp(0.35px, 0.093vw, 0.7px);
        margin-bottom: clamp(-2px, -0.533vw, -4px);
        padding: 0 clamp(14px, 3.733vw, 28px);
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn {
        max-width: clamp(252.5px, 67.333vw, 505px);
        width: 100%;
        margin-top: clamp(16.5px, 4.1vw, 31px);
        min-width: clamp(133.5px, 35.6vw, 267px);
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn a {
        font-size: clamp(15.3px, 4.08vw, 30.6px);
        padding: clamp(6.5px, 1.633vw, 13px) clamp(33px, 8.8vw, 66px) clamp(8.05px, 2.147vw, 16.1px) clamp(22px, 5.867vw, 44px);
        line-height: 1.27;
        letter-spacing: clamp(2.6px, 0.593vw, 5.2px);
        min-height: clamp(35px, 9.333vw, 70px);
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock .infoBlockBtn a::before {
        width: clamp(19px, 5.067vw, 37px);
        right: clamp(9px, 2.4vw, 16px);
        top: 50%;
    }
    .insuranceBlockArea .insuranceWrap {
        margin-bottom: 116px;
    } 
    .insuranceBlockArea .insuranceWrap.linkWrap {
        margin-bottom: clamp(55px, 14.867vw, 112px);
    }
    .wrapBtn .boxBtn {
        padding-left: clamp(72.5px, 19.333vw, 145px);
    }
    .wrapBtnSpecial .wrapBtn .characterBtn {
        left: clamp(4.5px, 1.2vw, 9px);
        bottom: clamp(-20px, -2.667vw, -10px);
        width: clamp(84.5px, 22.533vw, 169px);
    }
    .wrapBtnSpecial .wrapBtn .characterBtn img {
        aspect-ratio: 170/133.3;
    }
    .wrapBtn .txtBtnSpecial {
        margin-bottom: clamp(5px, 1.333vw, 10px);
    }
    .insuranceBlockArea {
        padding-bottom: clamp(73px, 19.467vw, 146px);
    }
}
@media (max-width: 450px) {
    .sectionTitlePage .wrapTitlePage .characterPageTitle {
        width: clamp(72px, 19.2vw, 144px);
        right: clamp(-25px, -6.667vw, -12.5px);
        bottom: clamp(-3px, -0.8vw, -1.5px);
    }
    .insuranceBlockArea .insuranceWrap .wrapContent {
        padding: clamp(19.5px, 5.2vw, 39px) 15px clamp(32px, 8.533vw, 64px);
    }
    .insuranceBlockArea .insuranceWrap.linkWrap .wrapContent {
        padding: clamp(26px, 6.933vw, 52px) 15px clamp(36px, 9.6vw, 72px);
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoBlock {
        margin: 0 0 20px;
    }
    .insuranceBlockArea .insuranceWrap.linkWrap {
        margin-bottom: 35px
    }
    .insuranceBlockArea {
        padding-bottom: 63px;
    }
    .insuranceBlockArea .insuranceWrap.linkWrap .wrapContent {
        padding: 26px 18px 26px;
    }
    .insuranceBlockArea .insuranceWrap .wrapContent {
        padding: 26px 18px 26px;
    }
    .insuranceBlockArea .insuranceWrap {
        margin-bottom: 55px;
    }
    .insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoText.textList,
    .insuranceBlockArea .insuranceWrap .insuranceInfoList li .insuranceInfoText {
        padding-left: 10px;
        padding-right: 10px;
    }
}   