@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px), print {
/* mv
-------------------------------------*/
.mv {
    background: url(../images/maintenance/mv-bg.png)no-repeat center;
    background-size: cover;
    position: relative;
    margin-top: 17px;
}
.mv::after {
    position: absolute;
    content: "";
    background: url(../images/maintenance/mv-arrow.png)no-repeat;
    background-size: contain;
    width: 110px;
    height: 55px;
    bottom: -53px;
    left: 50%;
    transform: translateX(-50%);
}
.mv .inner {
    width: min(95%, 1203px);
    margin-inline: auto;
    padding: 100px 0 210px;
    position: relative;
}
.mv h2 {
    color: #FFF;
    text-align: center;
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: 2.66667; /* 266.667% */
    letter-spacing: -0.08em;
    margin-bottom: 140px;
}
.mv h2 span {
    color: #FFF;
    text-align: center;
    font-size: 64px;
    font-weight: 500;
    line-height: 1.25; /* 125% */
    letter-spacing: -0.08em;
    display: block;
}
.mv .photo {
    text-align: center;
}
.mv .fukidashi01 {
    position: absolute;
    top: 336px;
    left: 89px;
}
.mv .fukidashi02 {
    position: absolute;
    top: 491px;
    left: 189px;
}
.mv .fukidashi03 {
    position: absolute;
    top: 553px;
    left: -5px;
}
.mv .fukidashi04 {
    position: absolute;
    bottom: 295px;
    left: 49px;
}
.mv .fukidashi05 {
    position: absolute;
    bottom: 153px;
    left: -40px;
}
.mv .fukidashi06 {
    position: absolute;
    top: 346px;
    right: -47px;
}
.mv .fukidashi07 {
    position: absolute;
    top: 525px;
    right: 167px;
}
.mv .fukidashi08 {
    position: absolute;
    top: 693px;
    right: 0px;
}
.mv .fukidashi09 {
    position: absolute;
    bottom: 152px;
    right: 123px;
}

/* intro
-------------------------------------*/
.intro {
    text-align: center;
    padding: 139px 0 82px;
}
.intro h2 {
    text-align: center;
    font-size: 60px;
    font-weight: 600;
    line-height: 1.42944; /* 142.944% */
    letter-spacing: -0.08em;
    margin-bottom: 64px;
}
.intro h2 .subt {
    text-align: center;
    font-size: 32px;
    font-weight: 600;
    line-height:2.22573;
    letter-spacing: -0.08em;
    display: inline-block;
    border-bottom: 1px solid #C93801;
    margin-bottom: 35px;
}
.intro .photo img {
    width: 100%;
    height: auto;
}
.intro .list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 45px;
    width: min(95%, 1380px);
    margin-inline: auto;
    margin-top: -122px;
}
.intro .list li {
    background: #000000;
    border-radius: 50%;
    width: 244px;
    height: 244px;
    position: relative;
    padding: 39px 0 0;
    display: grid;
    grid-template-rows: 29% 51%;
}
.intro .list li::after {
    border: 2px solid #FFFFFF;
    border-radius: 50%;
    width: 224px;
    height: 224px;
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.intro .list li h3 {
    color: #FFF;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3333; /* 133.333% */
    letter-spacing: 0.0555em;
    position: relative;
}
.intro .list li h3::after {
    position: absolute;
    content: "";
    background:rgba(255, 255, 255, 0.50);
    width: 154px;
    height: 1px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.intro .list li p {
    color: #FFF;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.27273; /* 127.273% */
    letter-spacing: 0.045em;
    display: grid;
    place-content: center;
}


/* sec共通
-------------------------------------*/
.sec {
    position: relative;
    margin-bottom: 73px;
}
.sec::before {
    position: absolute;
    content: "";
    background: #F2F2F2;
    width: 25.36%;
    height: 605px;
}
.sec .enttl {
    color: rgba(245, 245, 245, 0.70);
    font-size: 240px;
    font-weight: 700;
    line-height: 1.11985; /* 111.985% */
    text-transform: uppercase;
    padding-left: 2.2%;
    margin-bottom: -63px;
}
.sec .subt {
    color: #FFF;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.5; /* 150% */
    letter-spacing: -0.05em;
    margin-bottom: 32px;
}
.sec .subt span {
    background: #1A1A1A;
    padding: 0 24px;
}
.sec .subt .span01 {
    margin-bottom: 13px;
    display: inline-block;
}
.sec h2 {
    font-size: 60px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -0.08em;
    margin-bottom: 71px;
}
.sec h3 {
    color: #C93800;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.88889; /* 188.889% */
    margin-bottom: 32px;
}
.sec .txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.875; /* 187.5% */
    margin-bottom: 32px;
}
.sec .txt:nth-last-of-type(1) {
    margin-bottom: 0
}
.sec .photo {
    position: relative;
}
    

/* stance
-------------------------------------*/
.stance::before {
    top: 46px;
    right: 0;
}
.stance::after {
    position: absolute;
    content: "";
    background: url(../images/maintenance/stance-photo02.jpg)no-repeat;
    bottom: 0;
    right: 0;
    width: 474px;
    height: 318px;
}
.stance .inner {
    width: min(95%, 1508px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 44.62%;
    gap: 101px;
    padding-bottom: 202px;
}
.stance .txt-box {
    padding-left: 47px;
    padding-right: 26px;
}
.stance .photo {
    position: relative;
    top: -42px;
    margin-bottom: -30px;
}

/* support
-------------------------------------*/
.support {
    margin-left: auto;
    margin-bottom: 245px;
}
.support::before {
    top: 0;
    left: 0;
    height: 739px;
    width: 31.92%;
}
.support::after {
    position: absolute;
    content: "";
    background: url(../images/maintenance/support-photo02.jpg)no-repeat;
    background-size: contain;
    width: 477px;
    height: 318px;
    top: 182px;
    right: 0;
}
.support .enttl {
    text-align: right;
    padding-left: 0;
    padding-right: 11.7%;
    margin-bottom: -71px;
    padding-top: 20px;
}
.support .inner {
    width: min(95%, 1716px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 47.43% 38.98%;
    gap: 146px;
}
.support h3 {margin-bottom: 47px;}
.support .txt {
    margin-bottom: 49px;
}
.support .txt:nth-last-of-type(2) {margin-bottom: 30px;}

/* contact
-------------------------------------*/
.contact {
    background: #F5F5F5;
    padding-bottom: 200px;
    padding-top: 78px;
}
.contact .enttl {
    color: #FFF;
    font-size: 285.318px;
    font-weight: 900;
    line-height: 0.80417; /* 80.417% */
    text-align: center;
    margin-bottom: -111px;
}
.contact h2 {
    text-align: center;
    font-size: 72px;
    font-weight: 500;
    line-height: 1.44444; /* 144.444% */
    letter-spacing: -0.08em;
    margin-bottom: 36px;
}
.contact .subt {
    text-align: center;
    margin-bottom: 64px;
}
.contact .photo img {
    width: 100%;
    height: auto;
}
.contact .list {
    width: min(95%, 1100px);
    margin-inline: auto;
    padding: 24px 64px 32px;
    border-radius: 10px;
    background: #FFF;
    margin-bottom: 64px;
    margin-top: -136px;
    position: relative;
}
.contact .list li {
    color: #000A02;
    font-size: 22px;
    font-weight: 500;
    line-height: 2.18182; /* 218.182% */
    letter-spacing: 0.045em;
    border-bottom: 1px dashed #8A8A8A;
    position: relative;
    padding: 17px 34px 10px;
}
.contact .list li::before {
    position: absolute;
    content: "";
    background: url(../images/maintenance/check-icon.svg)no-repeat;
    background-size: contain;
    width: 18px;
    height: 18px;
    left: 3px;
    top: 57%;
    transform: translateY(-50%);
}
.contact .lead {
    text-align: center;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.53846; /* 153.846% */
    margin-bottom: 32px;
}
.contact .btn {
    width: min(95%, 780px);
    margin-inline: auto;
}
.contact .btn a {
    border-radius: 180px;
    background: #1A1A1A;
    box-shadow: 0 20px 40px 0 rgba(26, 26, 26, 0.40);
    display: flex;
    color: #FFF;
    font-size: 28.667px;
    font-weight: 500;
    line-height: 1.875; /* 187.5% */
    gap: 14px;
    padding: 40px 0;
    justify-content: center;
    padding-right: 25px;
    position: relative;
}
.contact .btn a::after {
    position: absolute;
    content: "＞";
    color: #FFF;
    text-align: center;
    font-family: "Hanken Grotesk";
    font-size: 23.292px;
    font-weight: 900;
    line-height: 1.3333; /* 133.333% */
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
}

/* link-sec
-------------------------------------*/
.link-sec {
    padding: 160px 0 240px;
 }
 .link-sec .bnr-list {
    width: min(95%, 1180px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
 }
 .link-sec .bnr-list li {
    box-shadow: 0 10px 20px 0 rgba(26, 26, 26, 0.10);
 }
 .link-sec .bnr-list li img {
    width: 100%;
    height: auto;
 }

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1100px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1100px) {

/* mv
-------------------------------------*/
.mv {
    margin-top: 1.545vw;
}
.mv::after {
    width: 10vw;
    height: 5vw;
    bottom: -4.818vw;
    left: 50%;
    transform: translateX(-50%);
}
.mv .inner {
    padding: 9.091vw 0 19.091vw;
}
.mv h2 {
    font-size: 2.727vw;
    margin-bottom: 12.727vw;
}
.mv h2 span {
    font-size: 5.818vw;
}
.mv .fukidashi01 {
    top: 30.545vw;
    left: 8.091vw;
}
.mv .fukidashi01 img {
    width: 31.91vw;
}
.mv .fukidashi02 {
    top: 44.636vw;
    left: 17.182vw;
}
.mv .fukidashi02 img {
    width: 27.45vw;
}
.mv .fukidashi03 {
    top: 50.273vw;
    left: -0.455vw;
}
.mv .fukidashi03 img {
    width: 29.45vw;
}
.mv .fukidashi04 {
    bottom: 26.818vw;
    left: 4.455vw;
}
.mv .fukidashi04 img {
    width: 33.91vw;
}
.mv .fukidashi05 {
    bottom: 13.909vw;
    left: -3.636vw;
}
.mv .fukidashi05 img {
    width: 35.55vw;
}
.mv .fukidashi06 {
    top: 31.455vw;
    right: -4.273vw;
}
.mv .fukidashi06 img {
    width: 34.64vw;
}
.mv .fukidashi07 {
    top: 47.727vw;
    right: 15.182vw;
}
.mv .fukidashi07 img {
    width: 24.27vw;
}
.mv .fukidashi08 {
    top: 63vw;
    right: 0px;
}
.mv .fukidashi08 img {
    width: 29.09vw;
}
.mv .fukidashi09 {
    bottom: 13.818vw;
    right: 11.182vw;
}
.mv .fukidashi09 img {
    width: 32.18vw;
}
    
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
    .intro h2 {
        font-size: clamp(2.375rem, 0.313rem + 4.3vw, 3.75rem);
    }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
.intro .list {
    gap: 3.125vw;
    margin-top: -8.472vw;
}
.intro .list li {
    width: 16.944vw;
    height: 16.944vw;
    padding: 2.708vw 0 0;
    grid-template-rows: 29% 51%;
}
.intro .list li::after {
    width: 15.556vw;
    height: 15.556vw;
}
.intro .list li h3 {
    font-size: clamp(0.625rem, 0.054rem + 1.19vw, 1.125rem);
}
.intro .list li h3::after {
    width: 10.694vw;
    height: 0.069vw;
}
.intro .list li p {
    font-size: clamp(0.75rem, 0.036rem + 1.49vw, 1.375rem);
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1840px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1840px) {
/* sec共通
-------------------------------------*/
.sec {
    margin-bottom: 3.97vw;
}
.sec::before {
    width: 25.36%;
    height: 32.88vw;
}
.sec .enttl {
    font-size: 13.043vw;
    padding-left: 2.2%;
    margin-bottom: -3.424vw;
}
.sec .subt {
    font-size: 2.174vw;
    margin-bottom: 1.739vw;
}
.sec .subt span {
    padding: 0 1.304vw;
}
.sec .subt .span01 {
    margin-bottom: 0.71vw;
}
.sec h2 {
    font-size: 3.261vw;
    margin-bottom: 3.859vw;
}
.sec h3 {
    font-size: clamp(0.875rem, 0.696rem + 0.37vw, 1.125rem);
    margin-bottom: 1.739vw;
}
.sec .txt {
    font-size: clamp(0.75rem, 0.571rem + 0.37vw, 1rem);
    margin-bottom: 1.739vw;
}
.sec .photo img {
    width: 100%;
    height: auto;
}

/* stance
-------------------------------------*/
.stance::before {
    top: 2.5vw;
    right: 0;
}
.stance::after {
    width: 25.761vw;
    height: 17.283vw;
}
.stance .inner {
    width: 81.96vw;
    grid-template-columns: 1fr 44.62%;
    gap: 5.489vw;
    padding-bottom: 10.978vw;
}
.stance .txt-box {
    padding-left: 2.554vw;
    padding-right: 1.413vw;
}
.stance .photo {
    top: -2.283vw;
    margin-bottom: -1.63vw;
}

/* support
-------------------------------------*/
.support {
    margin-bottom: 13.315vw;
}
.support::before {
    height: 40.163vw;
    width: 31.92%;
}
.support::after {
    width: 25.924vw;
    height: 17.283vw;
    top: 9.891vw;
    right: 0;
}
.support .enttl {
    padding-right: 11.7%;
    margin-bottom: -3.859vw;
    padding-top: 1.087vw;
}
.support .inner {
    width: 93.26vw;
    grid-template-columns: 47.43% 1fr;
    gap: 7.935vw;
}
.support h3 {margin-bottom: 2.554vw;}
.support .txt {
    margin-bottom: 2.663vw;
}
.support .txt:nth-last-of-type(2) {margin-bottom: 1.63vw;}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width: 768px) and (max-width: 1440px) {
    .stance::after {
        bottom: 5vw;
    }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width: 768px) and (max-width: 1440px) {
    .contact .enttl {
        font-size: clamp(9.375rem, -0.268rem + 20.09vw, 17.813rem);
        margin-bottom: -7vw;
    }
    .contact h2 {
        font-size: clamp(2.875rem, 1.018rem + 3.87vw, 4.5rem);
    }
    .contact .subt img {
        width: 62.5vw;
    }
    .contact .list {
        padding: 1.667vw 4.444vw 2.222vw;
        margin-bottom: 4.444vw;
        margin-top: -9.44vw;
    }
    .contact .list li {
        font-size: clamp(1rem, 0.571rem + 0.89vw, 1.375rem);
    }
}

/* ========================================
@media screen and (max-width: 767px) 
======================================== */
@media screen and (max-width: 767px) {
/* mv
-------------------------------------*/
.mv {
    background: url(../images/maintenance/mv-bg_sp.png)no-repeat center;
    background-size: cover;
    position: relative;
    margin-top: 12vw;
}
.mv::after {
    position: absolute;
    content: "";
    background: url(../images/attractingc/mv-arrow.png)no-repeat;
    background-size: contain;
    width: 21.01vw;
    height: 12.08vw;
    bottom: -8.8vw;
    left: 50%;
    transform: translateX(-50%);
}
.mv .inner {
    width: 89.37vw;
    margin-inline: auto;
    padding: 15.46vw 0 18.97vw;
    position: relative;
}
.mv h2 {
    color: #FFF;
    text-align: center;
    font-size:4.106vw;
    font-weight: 500;
    line-height: 2.11765;
    letter-spacing: -0.08em;
    margin-bottom: 105vw;
}
.mv h2 span {
    color: #FFF;
    text-align: center;
    font-size:5.797vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.08em;
    display: block;
}
.mv .photo {
    text-align: center;
}
.mv .fukidashi01 {
    position: absolute;
    top: 39vw;
    left: -3vw;
}
.mv .fukidashi01 img {
    width: 42.63vw;
}
.mv .fukidashi02 {
    position: absolute;
    top: 40vw;
    right: -3.5vw;
}
.mv .fukidashi02 img {
    width: 60.27vw;
}
.mv .fukidashi03 {
    position: absolute;
    top: 61.5vw;
    left: 4vw;
}
.mv .fukidashi03 img {
    width: 44.08vw;
}
.mv .fukidashi04 {
    position: absolute;
    top: 62.5vw;
    right: -1vw;
}
.mv .fukidashi04 img {
    width: 41.79vw;
}
.mv .fukidashi05 {
    position: absolute;
    top: 77vw;
    left: -4vw;
}
.mv .fukidashi05 img {
    width: 64.73vw;
}
.mv .fukidashi06 {
    position: absolute;
    top: 91.2vw;
    right: -2.5vw;
}
.mv .fukidashi06 img {
    width: 47.95vw;
}
.mv .fukidashi07 {
    position: absolute;
    top: 99vw;
    left: 1vw;
}
.mv .fukidashi07 img {
    width: 41.18vw;
}
.mv .fukidashi08 {
    position: absolute;
    top: 111.5vw;
    right: 4vw;
}
.mv .fukidashi08 img {
    width: 46.74vw;
}
.mv .fukidashi09 {
    position: absolute;
    top: 123vw;
    left: 1.5vw;
}
.mv .fukidashi09 img {
    width: 59.3vw;
}

/* intro
-------------------------------------*/
.intro {
    text-align: center;
    padding: 17.4vw 0 8.77vw;
}
.intro h2 {
    text-align: center;
    font-size:7.246vw;
    font-weight: 600;
    line-height: 1.3333;
    letter-spacing: -0.08em;
    margin-bottom: 6vw;
    position: relative;
}
.intro h2 .subt {
    text-align: center;
    font-size:4.348vw;
    font-weight: 600;
    line-height:2.2222;
    letter-spacing: -0.08em;
    display: inline-block;
    border-bottom: 0.2vw solid #C93801;
    margin-bottom: 2.4vw;
    position: relative;
}
.intro .photo img {
    width: 100%;
    height: auto;
}
.intro .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 1.93vw;
    width: 91.06vw;
    margin-inline: auto;
    margin-top: -13.5vw;
}
.intro .list li {
    background: #000000;
    border-radius: 50%;
    width: 28.99vw;
    height: 28.99vw;
    position: relative;
    padding: 5.1vw 0 0;
    display: grid;
    grid-template-rows: 29% 51%;
}
.intro .list li::after {
    border: 0.2vw solid #FFFFFF;
    border-radius: 50%;
    width: 26.57vw;
    height: 26.57vw;
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.intro .list li h3 {
    color: #FFF;
    text-align: center;
    font-size: 2.42vw;
    font-weight: 500;
    line-height: 1.18227;
    letter-spacing: 0.0555em;
    position: relative;
}
.intro .list li h3::after {
    position: absolute;
    content: "";
    background:rgba(255, 255, 255, 0.50);
    width: 18.36vw;
    height: 0.2vw;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.intro .list li p {
    color: #FFF;
    text-align: center;
    font-size:2.898vw;
    font-weight: 700;
    line-height: 1.14943;
    letter-spacing: 0.045em;
    display: grid;
    place-content: center;
}

/* sec共通
-------------------------------------*/
.sec {
    position: relative;
    margin-bottom: 13.57vw;
}
.sec::before {
    position: absolute;
    content: "";
    background: #F2F2F2;
    width: 44.93vw;
    height: 94.69vw;
}
.sec .enttl {
    color: rgba(245, 245, 245, 0.70);
    font-size: 19.32vw;
    font-weight: 700;
    line-height: 0.875;
    text-transform: uppercase;
    margin-bottom: -4.1vw;
}
.sec .inner {
    display: grid;
    padding-bottom: 48.5vw;
}
.sec .txt-box {
    order: 2;
    width: 89.37vw;
    margin-inline: auto;
    position: relative;
    z-index: 2;
    margin-top: -2.7vw;
}
.sec .subt {
    color: #FFF;
    font-size:5.314vw;
    font-weight: 500;
    line-height: 1.36364;
    letter-spacing: -0.05em;
    margin-bottom: 4.9vw;
}
.sec .subt span {
    background: #1A1A1A;
    padding: 1.21vw 1.93vw;
}
.sec .subt .span01 {
    margin-bottom: 3.5vw;
    display: inline-block;
}
.sec h2 {
    font-size:9.662vw;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.08em;
    margin-bottom: 7.73vw;
}
.sec h3 {
    color: #C93800;
    font-size:3.865vw;
    font-weight: 700;
    line-height: 1.75;
    margin-bottom: 4.83vw;
}
.sec .txt {
    font-size:3.14vw;
    font-weight: 400;
    line-height: 1.84615;
    margin-bottom: 4.83vw;
}
.sec .txt:nth-last-of-type(1) {
    margin-bottom: 0
}
.sec .txt02 {
    font-size:3.865vw;
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 4.83vw;
}
.sec .photo {
    position: relative;
    order: 1;
    width: 85.51vw;
    margin-left: auto;
}

/* stance
-------------------------------------*/
.stance::before {
    top: 34vw;
    right: 0;
}
.stance::after {
    position: absolute;
    content: "";
    background: url(../images/maintenance/stance-photo02_sp.jpg)no-repeat;
    bottom: 0;
    left: 0;
    width: 59.18vw;
    height: 39.37vw;
}

/* support
-------------------------------------*/
.support::before {
    top: 36vw;
    left: 0;
    height: 86.71vw;
    width: 54.59vw;
}
.support .inner {
    padding-bottom: 11.19vw;
}

/* contact
-------------------------------------*/
.contact {
    background: #F5F5F5;
    padding-bottom: 25.12vw;
    padding-top: 18vw;
}
.contact .enttl {
    color: #FFF;
    font-size: 19.32vw;
    font-weight: 900;
    line-height: 0.625;
    text-align: center;
    margin-bottom: -6vw;
}
.contact h2 {
    text-align: center;
    font-size:7.246vw;
    font-weight: 500;
    line-height: 1.3333;
    letter-spacing: -0.08em;
    margin-bottom: 6.28vw;
}
.contact .subt {
    text-align: center;
    margin-bottom: 7.81vw;
}
.contact .subt img {
    width: 89.25vw;
}
.contact .photo img {
    width: 100%;
    height: auto;
}
.contact .list {
    width: 89.37vw;
    margin-inline: auto;
    padding: 2.90vw 4.83vw;
    border-radius: 2.42vw;
    background: #FFF;
    margin-bottom: 7.73vw;
    margin-top: -5vw;
    position: relative;
    display: grid;
    gap: 1.93vw;
}
.contact .list li {
    color: #000A02;
    font-size:2.898vw;
    font-weight: 400;
    line-height: 1.5833;
    letter-spacing: 0;
    border-bottom: 0.2vw dashed #8A8A8A;
    position: relative;
    padding: 2.42vw 0 2.3vw 7.25vw;
}
.contact .list li::before {
    position: absolute;
    content: "";
    background: url(../images/maintenance/check-icon.svg)no-repeat;
    background-size: contain;
    width: 3.62vw;
    height: 3.62vw;
    left: 0.5vw;
    top: 50%;
    transform: translateY(-50%);
}
.contact .lead {
    text-align: center;
    font-size:4.348vw;
    font-weight: 500;
    line-height: 1.6111;
    margin-bottom: 7.73vw;
}
.contact .btn {
    width: 89.37vw;
    margin-inline: auto;
}
.contact .btn a {
    border-radius: 43.48vw;
    background: #1A1A1A;
    box-shadow: 0 20px 40px 0 rgba(26, 26, 26, 0.40);
    display: flex;
    color: #FFF;
    font-size:4.348vw;
    font-weight: 500;
    line-height: 2.98611;
    gap: 3.38vw;
    padding: 2.42vw 0;
    justify-content: center;
    padding-right: 10vw;
    position: relative;
}
.contact .btn a::after {
    position: absolute;
    content: "＞";
    color: #FFF;
    text-align: center;
    font-family: "Hanken Grotesk";
    font-size: 3.52vw;
    font-weight: 900;
    line-height: 1.3333; /* 133.333% */
    right: 5.11vw;
    top: 50%;
    transform: translateY(-50%);
}
.contact .btn a img {
    width: 7.25vw;
}


/* link-sec
-------------------------------------*/
.link-sec {
    padding: 11.59vw 0 38.39vw;
 }
 .link-sec .bnr-list {
    width: 82.13vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 5.80vw;
 }
 .link-sec .bnr-list li {
    box-shadow: 0 10px 20px 0 rgba(26, 26, 26, 0.10);
 }
 .link-sec .bnr-list li img {
    width: 100%;
    height: auto;
 }
 
}