@charset "UTF-8";
:root {
    --icn06: url(../svg/icn_ob.svg) no-repeat center / 100% auto;
    --icn06_wh: url(../svg/icn_ob_wh.svg) no-repeat center / 100% auto;
}
.menuLst_wrap li:nth-child(2) a .menuLst-txt::before {
    background: var(--icn05);
    width: 27px;
    height: 25px;
}
.menuLst_wrap li:nth-child(5) a .menuLst-txt::before {
    background: var(--icn06);
    width: 23px;
    height: 27px;
}
.seikyu_in.is-ver2 {
    padding: 35px 40px;
}
.keiyaku-txt {
    font-size: 16px;
    line-height: 1.875;
}
.keiyakuCar-ttl {
    font-size: 24px;
    font-weight: bold;
    color: #005BAC;
    background: #EDF7FD;
    text-align: center;
    margin-bottom: 25px;
    padding: 16px 20px;
}
.c-compLogo_btn.is-ver2 {
    margin-top: 20px;
    height: 68px;
}
.c-compLogo_btn.is-ver2 a {
    color: #005BAC;
    background: #fff;
    border: 1px solid #005BAC;
    line-height: 1.5;
    text-align: center;
}
.c-compLogo_btn.is-ver2 a::before {
    background: url(../svg/arrow_bl.svg) no-repeat center / 12px auto;
}
.c-compLogo_btn.is-ver3 {
    height: 68px;
}
.c-compLogo_btn.is-ver3 a {
    text-align: center;
}
.keiyakuDtl_wrap .txt {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}
.keiyakuDtl_in {
    display: flex;
    justify-content: center;
    align-items: center;
}
.cont-btn {
    max-width: 470px;
    width: 44%;
    height: 70px;
    margin-right: 50px;
}
.cont-btn.is-ver2 {
    margin: 0 auto;
}
.cont-btn a {
    font-size: 20px;
    font-weight: bold;
    color: #005BAC;
    border: 1px solid #005BAC;
    border-radius: 6px;
}
.cont-btn.is-ver2 a {
    color: #fff;
    background: #005BAC;
}
.cont-btn a:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -4px;
    transform: rotate(-90deg);
    background: url(../svg/corp_arrow_bl.svg) no-repeat center / 100% auto;
    width: 15px;
    height: 8px;
}
.cont-btn.is-ver2 a::before {
    background: url(../svg/act_arw_top.svg) no-repeat center / 100% auto;
    transform: rotate(90deg);
}
.keiyakuDtl_in .tell-lnk {
    margin-bottom: 5px;
}
.keiyakuDtl_in .tell-lnk a {
    font-size: 30px;
    font-family: "Lato Bold", serif;
}
.keiyakuDtl_in .tell-lnk a span {
    padding-left: 40px;
}
.keiyakuDtl_in .tell-date {
    font-size: 14px;
    color: #005BAC;
}
.keiyaku_label {
    position: fixed;
    top: 65%;
    right: 0;
    width: 40px;
    height: 200px;
    background: #fff;
}
.keiyaku_label.is-active {
    opacity: 1;
    pointer-events: all;
}
.keiyaku_label a {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background: #EA1D4D;
    writing-mode: vertical-rl;
    text-orientation: upright;
}
.keiyaku-ssp {
    display: none;
}
.menulnk_btnbox {
    display: flex;
    justify-content: center;
    gap: 22px 20px;
    flex-wrap: wrap;
}
.menulnk_btnbox .menulnk_btn {
    margin: 0;
}
.keiyaku .mv-ttl {
    line-height: 1;
}
.keiyaku .mv-ttl .main {
    display: inline-block;
    margin-bottom: 16px;
}
.keiyaku .mv-ttl .fs-s {
    font-size: 28px;
}
#ob .menu-ttl span::before {
    background: var(--icn06);
    background-size: 56px auto;
}
.c-compLogo_in .tell_wrap.is-ver3 .tell-lnk {
    margin-bottom: 10px;
}
@media only screen and (min-width: 1181px) {
    #health .c-compLogo_in:nth-of-type(n+4) .tell_wrap {
        min-height: 92px;
    }
}
@media only screen and (min-width: 896px){
    .cont-btn a:hover,
    .c-compLogo_btn.is-ver2 a:hover {
        opacity: 1;
        background: #005BAC;
        color: #fff;
    }
    .cont-btn.is-ver2 a:hover {
        background: #fff;
        color: #005BAC;
    }
    .cont-btn a:hover:before {
        background: url(../svg/act_arw_top.svg) no-repeat center / 100% auto;
        transform: rotate(90deg);
    }
    .cont-btn.is-ver2 a:hover:before {
        background: url(../svg/corp_arrow_bl.svg) no-repeat center / 100% auto;
        transform: rotate(-90deg);
    }
    .c-compLogo_btn.is-ver2 a:hover::before {
        background: url(../svg/arrow_wh.svg) no-repeat center / 12px auto;
    }
    #car .c-compLogo_in .tell_wrap {
        min-height: 92px;
    }
    .c-compLogo_in .tell_wrap.is-ver2 {
        margin-bottom: 2px;
    }
    #car .c-compLogo_in:nth-of-type(-n+3) .tell_wrap {
        min-height: 190px;
    }
    .keiyaku_label a:hover {
        opacity: .8;
    }
    #car .seikyu_in {
        padding-top: 80px;
    }
    .keiyakuDtl_in .tell-lnk a span::before {
        width: 30px;
        height: 30px;
    }
    #group .seikyu_in,
    #ob .seikyu_in {
        padding: 50px 60px;
    }
    .menuLst_wrap li:nth-child(2) a:hover .menuLst-txt::before {
        background: var(--icn05_wh);
    }
    .menuLst_wrap li:nth-child(5) a:hover .menuLst-txt::before {
        background: var(--icn06_wh);
    }
}
@media only screen and (max-width: 896px) {
    .seikyu_in.is-ver2 {
        padding: 30px 15px;
    }
    .keiyaku-txt {
        line-height: 1.6;
    }
    .keiyakuCar-ttl {
        font-size: 16px;
        padding: 14px 10px 11px;
    }
    .keiyakuDtl_wrap .txt {
        font-size: min(4.9vw,18px);
        margin-bottom: 20px;
    }
    .keiyakuDtl_in {
        flex-direction: column;
        gap: 20px 0;
    }
    .keiyakuDtl_in .tell-lnk a span {
        padding-left: 32px;
        font-size: min(8.3vw,32px);
    }
    .cont-btn {
        width: 100%;
        height: 60px;
        margin: 0;
    }
    .cont-btn a {
        font-size: min(4.9vw,18px);
    }
    .keiyaku_label {
        top: auto;
        bottom: 20px;
        width: 30px;
        height: 150px;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s;
    }
    .keiyaku_label a {
        font-size: 12px;
    }
    .menulnk_btnbox {
        gap: 10px;
    }
    .keiyaku .mv-ttl {
        font-size: min(24px, 6.154vw);
        width: 100%;
        line-height: 1;
        padding: 0 min(20px, 5.128vw);
    }
    .keiyaku .mv-ttl .main {
        margin-bottom: min(6px, 1.538vw);
    }
    .keiyaku .mv-ttl .fs-s {
        font-size: min(18px, 4.615vw);
    }
    #ob .menu-ttl span::before {
        background-size: 28px auto;
    }
}
@media only screen and (min-width: 375px) and (max-width: 550px) {
    .menuLst_wrap li a {
        min-height: 58px;
    }
}