@charset "utf-8";

/*-------------------------------
	メインビジュアル
-------------------------------*/

.mainvisual{
    position: relative;
}
.mainvisual-slider.slick-dotted.slick-slider{
    margin-bottom: 0;
}
.mainvisual-block{
    width: 100%;
    height: 100vh;
    padding: 5rem 10rem;
    z-index: 6000;
    position: relative;
}
.mainvisual-block::before{
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.1);
    z-index: 4000;
    position: absolute;
    display: block;
    content: "";
}
.mainvisual-block__inner{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    position: relative;
    z-index: 6000;
}
.mainvisual-block__title{
    font-size: 5.4rem;
    margin-bottom: 3rem;
    font-weight: 700;
    line-height: 1.296296;
    color: #fff;
}
.mainvisual-block__text{
    max-width: 38rem;
    font-size: 1.4rem;
    margin-bottom: 3.5rem;
    font-weight: 500;
    line-height: 1.428571;
    color: #fff;
}
.mainvisual-block .Button{
    width: 100%;
    max-width: 17rem;
    height: 4.8rem;
    margin-left: 0;
}
.mainvisual-block .Button a{
    font-size: 1.4rem;
    padding-right: 2rem;
    background: #fff;
    color: #000;
    border: 1px solid #fff;
}
.mainvisual-block .Button a::after{
    background-image: url(../images/common/icon_arrow-gray.svg);
}
.mainvisual-block .Button a:hover{
    background: #000;
    color: #fff;
    border: 1px solid #000;
}
.mainvisual-block .Button a:hover::after{
    background-image: url(../images/common/icon_arrow-white.svg);
}
.mainvisual-block__bg{
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.mainvisual-block--1 .mainvisual-block__bg{
    background-image: url(../images/index/bg_mainvisual1.jpg);
    background-image: image-set(url(../images/index/bg_mainvisual1.jpg) 1x, url(../images/index/bg_mainvisual1@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_mainvisual1.jpg) 1x, url(../images/index/bg_mainvisual1@2x.jpg) 2x);
}
.mainvisual-block--2 .mainvisual-block__bg{
    background-image: url(../images/index/bg_mainvisual2.jpg);
    background-image: image-set(url(../images/index/bg_mainvisual2.jpg) 1x, url(../images/index/bg_mainvisual2@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_mainvisual2.jpg) 1x, url(../images/index/bg_mainvisual2@2x.jpg) 2x);
}
.mainvisual-block--3 .mainvisual-block__bg{
    background-image: url(../images/index/bg_mainvisual3.jpg);
    background-image: image-set(url(../images/index/bg_mainvisual3.jpg) 1x, url(../images/index/bg_mainvisual3@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_mainvisual3.jpg) 1x, url(../images/index/bg_mainvisual3@2x.jpg) 2x);
}
@keyframes zoomUp {
    0% {
        transform: scale(1);
    }
    100% {
      transform: scale(1.15); /* 拡大率 */
    }
}
.add-animation .mainvisual-block__bg{
    animation: zoomUp 10s linear 0s normal both;
}

.mainvisual .slick-dots{
    right: 5rem;
    bottom: calc(50%);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}
.mainvisual .slick-dots li{
    width: 1rem;
    height: 1rem;
    margin: 1.3rem 0;
    border: 1px solid #fff;
    border-radius: 50%;
    position: relative;
}
.mainvisual .slick-dots .slick-active{
    background: #fff;
}
.mainvisual .slick-dots li button{
    display: none;
}

.mainvisual-bottom{
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 7.5rem;
    left: 0;
    bottom: 0;
    right: 0;
    position: absolute;
}
.mainvisual-bottom__inner{
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.mainvisual-news{
    width: calc(100% - 32.8rem - 13rem);
    padding-top: 1.4rem;
    padding-bottom: 2rem;
    border-top: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mainvisual-news-block{
    width: calc(100% - 10rem);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #fff;
}
.mainvisual-news-block__tag{
    width: 6.7rem;
    margin-right: 2.8rem;
    font-weight: 700;
}
.mainvisual-news-block__category{
    width: 8rem;
    height: 2.8rem;
    margin-right: 2rem;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mainvisual-news-block__title{
    width: calc(100% - 19.5rem);
    padding-right: 5rem;
}
.mainvisual-news-block__title a{
    font-size: 1.4rem;
    font-weight: 500;
    text-decoration: underline;
    color: #fff;
}
.mainvisual-news-more{
    width: 10rem;
}
.mainvisual-news-more a{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.mainvisual-news-more a::after{
    width: 2.1rem;
    height: 2.1rem;
    margin-left: .6rem;
    background-image: url(../images/index/icon_mainvisual-news-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.mainvisual-tip{
    width: 32.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mainvisual-tip__item{
    width: calc((100% - 1.2rem) / 2);
}
.mainvisual-tip__item img{
    width: 100%;
}


/******ワッペン2個→3個に修正*****/
.mainvisual-news.rowThree{
    width: calc(100% - 48rem - 6rem);
}
.mainvisual-tip.rowThree {
    width: 48rem;
}
.mainvisual-tip.rowThree .mainvisual-tip__item{
    width: calc((100% - 1.2rem) / 3);
}



@media screen and (min-width:769px) and (max-width:1200px) , print{

    .mainvisual-bottom{
        padding-left: 0;
        padding-right: 0;
    }
    .mainvisual-news{
        width: calc(100% - 33rem - 5rem);
    }
    .mainvisual-news-block{
        flex-wrap: wrap;
    }
    .mainvisual-news-block__tag{
        margin-right: 1.5rem;
    }
    .mainvisual-news-block__category{
        margin-right: 1rem;
    }
    .mainvisual-news-block__title{
        width: 100%;
        padding-right: 2.5rem;
    }

}
@media screen and (min-width:769px) and (max-width:1000px) , print{

    .mainvisual-block{
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
    .mainvisual-news{
        width: calc(100% - 25rem - 5rem);
    }
    .mainvisual-tip{
        width: 25rem;
    }

}
@media screen and (max-width:768px) , print{

    .mainvisual-slider.slick-dotted.slick-slider{
        margin-bottom: 0;
    }
    .mainvisual-block{
        height: 100vh;
        padding: 22rem 6rem 10rem;
    }
    .mainvisual-block--1{
        background-image: url(../images/index/sp_bg_mainvisual1.jpg);
        background-image: image-set(url(../images/index/sp_bg_mainvisual1.jpg) 1x, url(../images/index/sp_bg_mainvisual1@2x.jpg) 2x);
        background-image: -webkit-image-set(url(../images/index/sp_bg_mainvisual1.jpg) 1x, url(../images/index/sp_bg_mainvisual1@2x.jpg) 2x);
    }
    .mainvisual-block--2{
        background-image: url(../images/index/sp_bg_mainvisual2.jpg);
        background-image: image-set(url(../images/index/sp_bg_mainvisual2.jpg) 1x, url(../images/index/sp_bg_mainvisual2@2x.jpg) 2x);
        background-image: -webkit-image-set(url(../images/index/sp_bg_mainvisual2.jpg) 1x, url(../images/index/sp_bg_mainvisual2@2x.jpg) 2x);
    }
    .mainvisual-block--3{
        background-image: url(../images/index/sp_bg_mainvisual3.jpg);
        background-image: image-set(url(../images/index/sp_bg_mainvisual3.jpg) 1x, url(../images/index/sp_bg_mainvisual3@2x.jpg) 2x);
        background-image: -webkit-image-set(url(../images/index/sp_bg_mainvisual3.jpg) 1x, url(../images/index/sp_bg_mainvisual3@2x.jpg) 2x);
    }
    .mainvisual-block__inner{
        justify-content: flex-start;
    }
    .mainvisual-block__title{
        font-size: 4rem;
        margin-bottom: 2.4rem;
        line-height: 1.5;
    }
    .mainvisual-block__text{
        max-width: 32rem;
        font-size: 2.4rem;
        margin-bottom: 5rem;
        line-height: 1.666667;
    }
    .mainvisual-block .Button{
        max-width: 30rem;
        height: 7.5rem;
    }
    .mainvisual-block .Button a{
        font-size: 3rem;
    }
    
    .mainvisual .slick-dots{
        right: 7.7rem;
        bottom: 27.5rem;
    }
    .mainvisual .slick-dots li{
        width: 1.8rem;
        height: 1.8rem;
        margin: 2.5rem 0;
    }
    
    .mainvisual-bottom{
        padding-right: 0;
        padding-left: 0;
        position: static;
        background: #000;
    }
    .mainvisual-bottom__inner{
        display: block;
    }
    .mainvisual-news{
        width: 100%;
        padding-top: 3rem;
        padding-bottom: 3.5rem;
        border-top: none;
        display: block;
    }
    .mainvisual-news-block{
        width: 100%;
        flex-wrap: wrap;
    }
    .mainvisual-news-block__tag{
        width: 100%;
        margin-right: 0;
        font-size: 3.2rem;
        margin-bottom: .8rem;
    }
    .mainvisual-news-block__category{
        width: 12rem;
        height: 5.2rem;
        margin-right: 0;
        border: 1px solid #fff;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .mainvisual-news-block__title{
        width: calc(100% - 12rem);
        padding-right: 0;
        padding-left: 2rem;
    }
    .mainvisual-news-block__title a{
        font-size: 2.6rem;
        display: block;
        position: relative;
    }
    .mainvisual-news-block__title a::after{
        width: 1rem;
        height: 2.3rem;
        right: 0;
        top: calc(50% - 1.15rem);
        position: absolute;
        background-image: url(../images/common/sp-icon_arrow-white.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center center;
        display: block;
        content: "";
    }
    .mainvisual-news-more{
        width: 100%;
        margin-top: 4rem;
    }
    .mainvisual-news-more a{
        font-size: 3.2rem;
        justify-content: flex-end;
    }
    .mainvisual-news-more a::after{
        width: 4.8rem;
        height: 4.8rem;
        margin-left: 2rem;
    }
    .mainvisual-tip{
        width: calc(100% - 12rem);
        left: 0;
        right: 0;
        bottom: 30rem;
        position: absolute;
        margin-left: auto;
        margin-right: auto;
    }
    .mainvisual-tip__item{
        width: 100%;
    }
    
    /******ワッペン2個→3個に修正*****/
    .mainvisual-news.rowThree {
        width: 100%;
    }

}



/*-------------------------------
	専門サービス
-------------------------------*/

.Service{
    /* background: #F3F3F3; */
    background: #fff;
}
/* .Service__inner.slick-dotted.slick-slider{
    margin-bottom: 0;
} */
.Service__inner{
    margin-bottom: 4.8rem;
}
.Service__inner::before,
.Service__inner::after{
    width: calc((100% - (3rem * 3)) / 4);
    height: 0;
    display: block;
    content: "";
}
.Service__inner::before{
    order: 99;
}
.Service-title{
    font-size: 3rem;
    margin-bottom: 3.5rem;
    font-weight: 700;
    text-align: center;
}
.Service-title__text{
    font-size: 1.6rem;
    margin-bottom: .5rem;
    font-weight: 700;
    display: block;
}
.Service-block{
    width: calc((100% - (3rem * 3)) / 4);
    text-align: center;
    /* margin-left: 1.5rem;
    margin-right: 1.5rem; */
}
.Service-block__image{
    width: 100%;
    height: 20.5rem;
}
.Service-block__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.Service-block__title{
    margin-top: .6rem;
}
.Service .Button{
    max-width: 20rem;
}

/* .Service .slick-dots{
    width: 100%;
    margin-top: 4.5rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: static;
} 
.Service .slick-dots li{
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    margin-left: 1rem;
    margin-right: 1rem;
    background: #9B9B9B;
}
.Service .slick-dots li button{
    display: none;
}
.Service .slick-dots .slick-active{
    background: #009B4C;
}
.Service .slick-prev,
.Service .slick-next{
    width: 2.8rem;
    height: 1.6rem;
    top: calc(-1.4rem - 5.5rem);
    z-index: 6000;
}
.Service .slick-prev{
    left: calc(50% + (103rem / 2) + 6.5rem);
}
.Service .slick-next{
    left: calc(50% + (103rem / 2));
}
.Service .slick-prev::after,
.Service .slick-next::after{
    width: 2.8rem;
    height: 1.6rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.Service .slick-prev::after{
    transform: rotate(-90deg);
    background-image: url(../images/common/icon_arrow-gray.svg);
}
.Service .slick-next::after{
    transform: rotate(90deg);
    background-image: url(../images/common/icon_arrow-gray.svg);
}
.Service .slick-prev::before,
.Service .slick-next::before{
    display: none;
} */

/*----- 臨時バナー */
/* .Service-banner{
    width: 100%;
    max-width: 83rem;
    margin-left: auto;
    margin-right: auto;
}
.Service-banner a{
    width: 100%;
    height: 17.3rem;
    padding: 5rem 7rem;
    background-image: url(../images/index/bg_banner.jpg);
    background-image: image-set(url(../images/index/bg_bannerjpg) 1x, url(../images/index/bg_banner@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_banner.jpg) 1x, url(../images/index/bg_banner@2x.jpg) 2x);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    color: #fff;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
}
.Service-banner__title{
    font-size: 3.1rem;
    margin-bottom: .6rem;
    line-height: 1.48387;
    font-weight: 700;
}
.Service-banner__more{
    font-size: 1.8rem;
    padding-left: 3.2rem;
    font-weight: 700;
    position: relative;
}
.Service-banner__more::before{
    width: 2.4rem;
    height: 2.4rem;
    left: 0;
    top: calc(50% - 1.2rem);
    position: absolute;
    background-image: url(../images/index/icon_banner.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
} */

@media screen and (min-width:769px) and (max-width:1300px) , print{

    .Service .slick-prev{
        left: calc(100% - 10rem);
    }
    .Service .slick-next{
        left: calc(100% - 15rem);
    }

}
@media screen and (max-width:768px) , print{

    .Service-title{
        font-size: 4.2rem;
        margin-bottom: 5.5rem;
    }
    .Service-title__text{
        font-size: 2rem;
        margin-right: 1.5rem;
        display: block;
    }
    /* .Service .slick-list{
        padding-left: 6rem;
    } */
    .Service-block{
        /* width: 48rem;
        margin-left: 0;
        margin-right: 3rem; */
        width: calc((100% - 3rem) / 2);
    }
    .Service-block:not(:nth-last-of-type(-n+2)){
        margin-bottom: 7.5rem;
    }
    .Service-block__image{
        /* height: 36.5rem;
        margin-bottom: .8rem; */
        height: 25rem;
    }
    .Service-block__title{
        text-align: center;
    }
    .Service .Button{
        max-width: 36rem;
        height: 8.8rem;
    }
    /* .Service .slick-dots{
        margin-top: 10rem;
    } 
    .Service .slick-dots li{
        width: 2rem;
        height: 2rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
    }
    .Service .slick-prev,
    .Service .slick-next{
        width: 2.7rem;
        height: 5rem;
        top: calc(-2.5rem - 8.8rem);
    }
    .Service .slick-prev{
        left: unset;
        right: calc(6rem + 7.5rem);
    }
    .Service .slick-next{
        left: unset;
        right: 6rem;
    }
    .Service .slick-prev::after,
    .Service .slick-next::after{
        width: 2.7rem;
        height: 5rem;
    }
    .Service .slick-prev::after{
        background-image: url(../images/common/sp-icon_arrow-gray.svg);
        transform: rotate(0deg);
    }
    .Service .slick-next::after{
        background-image: url(../images/common/sp-icon_arrow-gray.svg);
        transform: rotate(180deg);
    } */

    /*----- 臨時バナー */
    /* .Service-banner{
        max-width: 100%;
    }
    .Service-banner a{
        height: 25rem;
        padding: 5rem;
    }
    .Service-banner__title{
        font-size: 4.2rem;
        margin-bottom: 1rem;
    }
    .Service-banner__more{
        font-size: 3rem;
        padding-left: 4rem;
    }
    .Service-banner__more::before{
        width: 3.2rem;
        height: 3.2rem;
        top: calc(50% - 1.6rem);
    } */

}



/*-------------------------------
	メディア出演情報
-------------------------------*/

.Movie{
    background: #F3F3F3;
}
.Movie__inner.slick-dotted.slick-slider{
    margin-bottom: 0;
}
.Movie-title{
    font-size: 3rem;
    margin-bottom: 3.5rem;
    font-weight: 700;
    text-align: center;
}
.Movie-title__text{
    font-size: 1.6rem;
    margin-right: 1.5rem;
    font-weight: 700;
}
.Movie-block{
    width: 27rem;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}
.Movie-block__image{
    width: 100%;
    /* height: 20.5rem; */
    height: 15rem;
}
.Movie-block__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.Movie .slick-dots{
    width: 100%;
    margin-top: 4.5rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: static;
} 
.Movie .slick-dots li{
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    margin-left: 1rem;
    margin-right: 1rem;
    background: #9B9B9B;
}
.Movie .slick-dots li button{
    display: none;
}
.Movie .slick-dots .slick-active{
    background: #009B4C;
}
.Movie .slick-prev,
.Movie .slick-next{
    width: 2.8rem;
    height: 1.6rem;
    top: calc(-1.4rem - 5.5rem);
    z-index: 6000;
}
.Movie .slick-prev{
    left: calc(50% + (103rem / 2) + 6.5rem);
}
.Movie .slick-next{
    left: calc(50% + (103rem / 2));
}
.Movie .slick-prev::after,
.Movie .slick-next::after{
    width: 2.8rem;
    height: 1.6rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.Movie .slick-prev::after{
    transform: rotate(-90deg);
    background-image: url(../images/common/icon_arrow-gray.svg);
}
.Movie .slick-next::after{
    transform: rotate(90deg);
    background-image: url(../images/common/icon_arrow-gray.svg);
}
.Movie .slick-prev::before,
.Movie .slick-next::before{
    display: none;
}

@media screen and (min-width:769px) and (max-width:1300px) , print{

    .Movie .slick-prev{
        left: calc(100% - 10rem);
    }
    .Movie .slick-next{
        left: calc(100% - 15rem);
    }

}
@media screen and (max-width:768px) , print{

    .Movie-title{
        font-size: 4.2rem;
        margin-bottom: 5.5rem;
    }
    .Movie-title__text{
        font-size: 2rem;
        margin-right: 1.5rem;
        display: block;
    }
    .Movie .slick-list{
        padding-left: 6rem;
    }
    .Movie-block{
        width: 48rem;
        margin-left: 0;
        margin-right: 3rem;
    }
    .Movie-block__image{
        height: 27.5rem;
        margin-bottom: .8rem;
    }
    .Movie-block__title{
        text-align: center;
    }
    .Movie .slick-dots{
        margin-top: 3.5rem;
    } 
    .Movie .slick-dots li{
        width: 2rem;
        height: 2rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
    }
    .Movie .slick-prev,
    .Movie .slick-next{
        width: 2.7rem;
        height: 5rem;
        top: -8.8rem;
    }
    .Movie .slick-prev{
        left: unset;
        right: calc(6rem + 7.5rem);
    }
    .Movie .slick-next{
        left: unset;
        right: 6rem;
    }
    .Movie .slick-prev::after,
    .Movie .slick-next::after{
        width: 2.7rem;
        height: 5rem;
    }
    .Movie .slick-prev::after{
        background-image: url(../images/common/sp-icon_arrow-gray.svg);
        transform: rotate(0deg);
    }
    .Movie .slick-next::after{
        background-image: url(../images/common/sp-icon_arrow-gray.svg);
        transform: rotate(180deg);
    }

}



/*-------------------------------
	本来の空調とは
-------------------------------*/

.About{
    padding-top: 15rem;
    padding-bottom: 19rem;
    background: #fff;
}
.About__inner{
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.About__image{
    width: 50%;
}
.About__image img{
    width: 70rem;
    transform: translate(-18.5rem,0);
}
.About__body{
    width: 50%;
    padding-left: 10rem;
}
.About__body .sec-en-title{
    text-align: left;
}
.About__body .sec-text:not(:last-child){
    margin-bottom: 5.5rem;
}
.About__body .Button{
    max-width: 20rem;
    height: 4.5rem;
    margin-left: 0;
}
.About__body .Button a{
    font-size: 1.6rem;
    font-weight: 500;
}

@media screen and (min-width:769px) and (max-width:1200px) , print{

    .About__image img{
        width: calc(100% + 2.5rem);
        transform: translate(-2.5rem,0);
    }
    .About__body{
        padding-left: 5rem;
    }

}
@media screen and (max-width:768px) , print{

    .About{
        padding-top: 7.5rem;
        padding-bottom: 13.2rem;
    }
    .About__inner{
        display: block;
    }
    .About__image{
        width: 100%;
        margin-bottom: 4.5rem;
    }
    .About__image img{
        width: 100%;
        transform: translate(0,0);
    }
    .About__body{
        width: 100%;
        padding-left: 0;
    }
    .About__body .sec-text:not(:last-child){
        margin-bottom: 5.5rem;
    }
    .About__body .Button{
        max-width: 36rem;
        height: 8.8rem;
    }
    .About__body .Button a{
        font-size: 3.6rem;
    }

}



/*-------------------------------
	エアリフグループの強み
-------------------------------*/

.Strengths{
    padding-bottom: 18.5rem;
    background: #fff;
}
.Strengths__inner{
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.Strengths__body{
    width: 50%;
    max-width: 45rem;
    padding-right: 5rem;
}
.Strengths__body .sec-en-title{
    text-align: left;
}
.Strengths-list{
    margin-bottom: 5rem;
}
.Strengths-list__item:not(:last-child){
    margin-bottom: .5em;
}
.Strengths-list__item{
    font-size: 1.4rem;
}
.Strengths__body .Button{
    max-width: 20rem;
    height: 4.5rem;
    margin-left: 0;
}
.Strengths__body .Button a{
    font-size: 1.6rem;
    font-weight: 500;
}
.Strengths-image{
    width: 50%;
    max-width: 40rem;
}
.Strengths-image__item{
    width: calc((100% - (2.2rem * 2)) / 3);
}
.Strengths-image__item:not(:nth-of-type(3n)){
    margin-right: 2.2rem;
}
.Strengths-image__item:not(:nth-last-of-type(-n+3)){
    margin-bottom: 2.2rem;
}
.Strengths-image__item a{
    display: block;
}
.Strengths-image__item img{
    width: 100%;
}
@media screen and (max-width:768px) , print{

    .Strengths{
        padding-bottom: 13.5rem;
    }
    .Strengths__inner{
        flex-direction: column-reverse;
    }
    .Strengths__body{
        width: 100%;
        max-width: 100%;
        padding-right: 0;
    }
    .Strengths__body .sec-en-title{
        text-align: center;
    }
    .Strengths-list{
        margin-bottom: 5rem;
    }
    .Strengths-list__item{
        font-size: 2.2rem;
    }
    .Strengths__body .Button{
        max-width: 36rem;
        height: 8.8rem;
        margin-left: auto;
        margin-right: auto;
    }
    .Strengths__body .Button a{
        font-size: 3.6rem;
    }
    .Strengths-image{
        width: 100%;
        max-width: 100%;
        margin-bottom: 5rem;
    }
    .Strengths-image__item{
        width: calc((100% - (2.5rem * 2)) / 3);
    }
    .Strengths-image__item:not(:nth-of-type(3n)){
        margin-right: 2.5rem;
    }
    .Strengths-image__item:not(:nth-last-of-type(-n+3)){
        margin-bottom: 2.5rem;
    }

}



/*-------------------------------
	技術・サービス
-------------------------------*/

.Ts{
    padding-top: 10rem;
    padding-bottom: 14rem;
    background-image: url(../images/index/bg_ts.jpg);
    background-image: image-set(url(../images/index/bg_ts.jpg) 1x, url(../images/index/bg_ts@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_ts.jpg) 1x, url(../images/index/bg_ts@2x.jpg) 2x);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.Ts__body{
    max-width: 40rem;
    color: #fff;
}
.Ts__body .sec-en-title{
    text-align: left;
}
.Ts__body .Button{
    max-width: 20rem;
    height: 4.5rem;
    margin-left: 0;
}
.Ts__body .Button a{
    font-size: 1.6rem;
    font-weight: 500;
}

@media screen and (min-width:769px) and (max-width:1000px) , print{

    .Ts{
        background-position: center right;
    }

}
@media screen and (max-width:768px) , print{

    .Ts{
        padding-top: 8rem;
        padding-bottom: 20rem;
        background-image: url(../images/index/sp_bg_ts.jpg);
        background-image: image-set(url(../images/index/sp_bg_ts.jpg) 1x, url(../images/index/sp_bg_ts@2x.jpg) 2x);
        background-image: -webkit-image-set(url(../images/index/sp_bg_ts.jpg) 1x, url(../images/index/sp_bg_ts@2x.jpg) 2x);
    }
    .Ts__body{
        max-width: 39rem;
    }
    .Ts__body .Button{
        max-width: 36rem;
        height: 8.8rem;
    }
    .Ts__body .Button a{
        font-size: 3.6rem;
    }

}



/*-------------------------------
	施工実績
-------------------------------*/

.Works{
    margin-bottom: 32rem;
    background: #fff;
}
.Works::after{
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    position: fixed;
    z-index: -1;
    background-image: url(../images/index/bg_parallax.jpg);
    background-image: image-set(url(../images/index/bg_parallax.jpg) 1x, url(../images/index/bg_parallax@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_parallax.jpg) 1x, url(../images/index/bg_parallax@2x.jpg) 2x);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    content: "";
}
.Works .sec-en-title{
    margin-bottom: 5.5rem;
}
.Works__inner{
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}
.Works-block{
    width: calc((100% - (2.6rem * 3)) / 4);
}
.Works-block:not(:nth-last-of-type(-n+4)){
    margin-bottom: 3rem;
}
.Works-block a{
    width: 100%;
    height: 12.8rem;
    border: 1px solid #707070;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    opacity: 1 !important;
}
.Works-block a::after{
    width: 1.3rem;
    height: .7rem;
    transform: rotate(-90deg);
    top: calc(50% - .35rem);
    right: 3.5rem;
    position: absolute;
    background-image: url(../images/common/icon_arrow-gray.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.Works-block__image{
    margin-bottom: 1.5rem;
    position: relative;
}
.Works-block__image img:nth-of-type(1){
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
}
.Works-block__image img:nth-of-type(2){
    opacity: 0;
}
.Works-block__title{
    font-weight: 700;
    line-height: 1;
}
.Works-block a:hover{
    background: #707070;
    color: #fff;
}
.Works-block a:hover::after{
    background-image: url(../images/common/icon_arrow-white.svg);
}
.Works-block a:hover .Works-block__image img:nth-of-type(1){
    opacity: 0;
}
.Works-block a:hover .Works-block__image img:nth-of-type(2){
    opacity: 1;
}

@media screen and (max-width:768px) , print{

    .Works{
        margin-bottom: 38rem;
    }
    .Works .sec-en-title{
        margin-bottom: 5rem;
    }
    .Works-block{
        width: calc((100% - (3rem * 1)) / 2);
    }
    .Works-block:not(:nth-last-of-type(-n+2)){
        margin-bottom: 3rem;
    }
    .Works-block a{
        height: 19rem;
    }
    .Works-block a::after{
        width: 3rem;
        height: 1.3rem;
        top: calc(50% - .65rem);
        right: 3rem;
    }
    .Works-block__title{
        font-size: 2.8rem;
    }
    .Works-block__image img{
        width: 100%;
    }
    .Works-block:nth-of-type(1) .Works-block__image{
        width: 6.3rem;
    }
    .Works-block:nth-of-type(2) .Works-block__image{
        width: 6.3rem;
    }
    .Works-block:nth-of-type(3) .Works-block__image{
        width: 6.6rem;
    }
    .Works-block:nth-of-type(4) .Works-block__image{
        width: 5rem;
    }

}



/*-------------------------------
	お知らせ
-------------------------------*/

.News{
    background: #fff;
}
.News__inner{
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.News__left{
    width: 20rem;
}
.News__left .sec-en-title{
    text-align: left;
}
.News-tab__item{
    width: 100%;
    height: 4.5rem;
    border: 1px solid #000;
    color: #000;
    cursor: pointer;
    transition: .3s all ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}
.News-tab__item:not(:last-child){
    margin-bottom: 1rem;
}
.News-tab__item:hover,
.News-tab__item--current{
    background: #000;
    color: #fff;
}

.News__right{
    width: calc(100% - 20rem);
    padding-left: 10rem;
    overflow: hidden;
}
.News-block-wrap{
    display: none;
}
.News-block-wrap--current{
    display: block;
}
.News-block a{
    width: 100%;
    padding-top: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #6F6F6F;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    position: relative;
}
.News-block a::after{
    width: 1.3rem;
    height: .7rem;
    transform: rotate(-90deg);
    top: calc(50% - .35rem);
    right: 1rem;
    position: absolute;
    background-image: url(../images/common/icon_arrow-gray.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.News-block-data{
    width: 100%;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.News-block-data__category{
    width: 15rem;
    height: 3.3rem;
    margin-right: 1.5rem;
    border: 1px solid #6F6F6F;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.News-block-data__time{
    font-weight: 700;
}
.News-block__title{
    width: calc(100% - 10rem);
    line-height: 1.875;
}
.News-more{
    margin-top: 2.5rem;
    float: right;
}
.News-more a{
    font-size: 2rem;
    font-weight: 700;
    color: #009B4C;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.News-more a::after{
    width: 3rem;
    height: 3rem;
    margin-left: 1.2rem;
    background-image: url(../images/index/icon_news-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}

@media screen and (min-width:769px) and (max-width:1000px) , print{

    .News__right{
        padding-left: 5rem;
    }

}
@media screen and (max-width:768px) , print{

    .News{
        padding-top: 5.5rem;
        padding-bottom: 13.5rem;
    }
    .News__inner{
        display: block;
    }
    .News__left{
        width: 100%;
    }
    .News-tab{
        width: 100%;
        margin-bottom: 3rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .News-tab__item{
        width: calc((100% - (1.8rem * 2)) / 3);
        height: 11rem;
    }
    .News-tab__item:not(:last-child){
        margin-bottom: 0;
    }
    .News-tab__item a{
        font-size: 3.2rem;
    }
    
    .News__right{
        width: 100%;
        padding-left: 0;
    }
    .News-block a{
        padding-bottom: 3rem;
    }
    .News-block a::after{
        width: 2.4rem;
        height: 1rem;
        top: calc(50% - .5rem);
    }
    .News-block-data{
        margin-bottom: .5rem;
        display: block;
    }
    .News-block-data__category{
        width: 18rem;
        height: 5.2rem;
        margin-right: 0;
        font-size: 2.6rem;
        margin-bottom: 2.5rem;
    }
    .News-block-data__time{
        font-size: 2.4rem;
    }
    .News-block__title{
        width: 100%;
        padding-right: 6rem;
    }
    .News-more{
        margin-top: 3rem;
    }
    .News-more a{
        font-size: 3.2rem;
    }
    .News-more a::after{
        width: 4.8rem;
        height: 4.8rem;
        margin-left: 2rem;
    }

}



/*-------------------------------
	会社案内／採用情報
-------------------------------*/

.CR{
    background: #F3F3F3;
}
.CR__inner{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.CR__inner > .sec{
    width: calc((100% - 3rem) / 2);
    padding-top: 0;
    padding-bottom: 0;
}
.CR__inner > .sec a{
    width: 100%;
    height: 20rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
    opacity: 1 !important;
}
.CR__inner > .sec a::before{
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 4000;
    position: absolute;
    transition: .3s all ease-in-out;
    display: block;
    content: "";
}
.CR__inner > .sec a:hover::before{
    background: rgba(0,0,0,.5);
}
.CR__inner > .sec a::after{
    width: 2.4rem;
    height: 1.4rem;
    transform: rotate(-90deg);
    top: calc(50% - .7rem);
    right: 8.5rem;
    z-index: 6000;
    position: absolute;
    background-image: url(../images/common/icon_arrow-white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    content: "";
}
.CR__inner .sec-en-title{
    margin-bottom: 0;
    z-index: 6000;
    position: relative;
    color: #fff;
}

/*----- 会社案内 */
.Company a{
    background-image: url(../images/index/bg_company.jpg);
    background-image: image-set(url(../images/index/bg_company.jpg) 1x, url(../images/index/bg_company@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_company.jpg) 1x, url(../images/index/bg_company@2x.jpg) 2x);
}

/*----- 採用情報 */
.Recruit a{
    background-image: url(../images/index/bg_recruit.jpg);
    background-image: image-set(url(../images/index/bg_recruit.jpg) 1x, url(../images/index/bg_recruit@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_recruit.jpg) 1x, url(../images/index/bg_recruit@2x.jpg) 2x);
}

@media screen and (max-width:768px) , print{

    .CR{
        padding-top: 7rem;
        padding-bottom: 7.5rem;
    }
    .CR__inner > .sec a{
        height: 31.8rem;
    }
    .CR__inner > .sec a::after{
        width: 1.7rem;
        height: .8rem;
        top: calc(50% - .4rem);
        right: 2.5rem;
    }
    .CR__inner .sec-en-title{
        line-height: 1;
    }

    /*----- 会社案内 */
    .Company a{
        background-image: url(../images/index/sp_bg_company.jpg);
        background-image: image-set(url(../images/index/sp_bg_company.jpg) 1x, url(../images/index/sp_bg_company@2x.jpg) 2x);
        background-image: -webkit-image-set(url(../images/index/sp_bg_company.jpg) 1x, url(../images/index/sp_bg_company@2x.jpg) 2x);
    }
    
    /*----- 採用情報 */
    .Recruit a{
        background-image: url(../images/index/sp_bg_recruit.jpg);
        background-image: image-set(url(../images/index/sp_bg_recruit.jpg) 1x, url(../images/index/sp_bg_recruit@2x.jpg) 2x);
        background-image: -webkit-image-set(url(../images/index/sp_bg_recruit.jpg) 1x, url(../images/index/sp_bg_recruit@2x.jpg) 2x);
    }

}



/*-------------------------------
	バナーエリア
-------------------------------*/

.Banner{
    background: #fff;
}
.Banner__inner{
    width: 100%;
    padding-left: 3rem;
    padding-right: 3rem;
    display: flex;
    align-items: flex-start;
    /*justify-content: space-between;*/
    flex-wrap: wrap;
    gap: 2.4rem;
}
.Banner-block{
    width: calc((100% - (2.4rem * 2)) / 3);
}
.Banner-block:not(:nth-last-of-type(-n+3)){
    margin-bottom: 2.4rem;
}
.Banner-block a{
    width: 100%;
    display: block;
}
.Banner-block img{
    width: 100%;
}

@media screen and (max-width:768px) , print{

    .Banner{
        padding-top: 7rem;
    }
    .Banner__inner{
        padding-left: 0;
        padding-right: 0;
    }
    .Banner-block{
        width: calc((100% - (2.4rem * 1)) / 2);
    }
    .Banner-block:not(:nth-last-of-type(-n+2)){
        margin-bottom: 2.8rem;
    }

}


/*-------------------------------
	キャラクター配置
-------------------------------*/

/* 共通スタイル */
.character-item{
    position: absolute;
    z-index: 10;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
}
.character-item--1,
.character-item--2{
    align-items: flex-end;
}
.character-item--3{
    align-items: flex-start;
}
.character-item:hover{
    transform: scale(1.1);
}
.character-item--3:hover{
    transform: translateY(50%) scale(1.1);
}
.character-item__bubble{
    width: 204px;
    height: 204px;
    margin-bottom: -30px;
}
.character-item--1 .character-item__bubble,
.character-item--2 .character-item__bubble{
    margin-right: -40px;
}
.character-item--3 .character-item__bubble{
    margin-left: -40px;
}
.character-item__icon{
    width: 270px;
    height: 270px;
}

/* キャラ+TAPの横並び */
.character-item__bottom{
    display: flex;
    align-items: flex-end;
    gap: 0;
    margin-top: -15px;
}
/* TAPアイコン */
.character-item__tap{
    width: 88px;
    height: auto;
    animation: tap-pulse 1.5s ease-in-out infinite;
}
.character-item--1 .character-item__tap,
.character-item--3 .character-item__tap{
    margin: 0 -45px;
}
.character-item--2 .character-item__tap{
    margin: 0 -15px;
}
@keyframes tap-pulse{
    0%, 100%{ transform: scale(1); }
    50%{ transform: scale(1.15); }
}

/* 配置1: 「本来の空調とは」(About) セクション右下 */
.About{
    position: relative;
}
.character-item--1{
    right: 5%;
    bottom: 0;
}

/* 配置2: 「エアリフグループの強み」(Strengths) セクション下部 */
.se.Strengths{
    position: relative;
}
.character-item--2{
    right: 50%;
    bottom: -50px;
}

/* 配置3: 「技術・サービス」(Ts) セクション下部 */
.Ts{
    position: relative;
}
.character-item--3{
    right: 5%;
    bottom: 0;
    transform: translateY(50%);
}
.character-item--3 .character-item__icon{
    width: 324px;
    height: 324px;
}

/* レスポンシブ（SP） */
@media (max-width: 768px){
    .character-item__bubble{
        width: 20vw;
        max-width: 100px;
        height: auto;
        margin-bottom: -3.2vw;
    }
    .character-item__icon{
        width: 26vw;
        max-width: 130px;
        height: auto;
    }
    .character-item__bottom{
        margin-top: -1.6vw;
    }
    .character-item__tap{
        width: 8.5vw;
        max-width: 42px;
    }
    .character-item--1 .character-item__bubble,
    .character-item--2 .character-item__bubble{
        margin-right: -4vw;
    }
    .character-item--3 .character-item__bubble{
        margin-left: -4vw;
    }
    .character-item--1 .character-item__tap,
    .character-item--3 .character-item__tap{
        margin: 0 -4.5vw;
    }
    .character-item--2 .character-item__tap{
        margin: 0 -1.5vw;
    }
    .character-item--3 .character-item__icon{
        width: 32vw;
        max-width: 156px;
        height: auto;
    }
    .character-item--1{
        right: 10%;
        left: auto;
        bottom: 30px;
    }
    .character-item--2{
        right: 10%;
        left: auto;
        bottom: -12px;
    }
    .character-item--3{
        right: 10%;
        left: auto;
    }
}


/*-------------------------------
	カスタムチャットボットアイコン
-------------------------------*/
.custom-chatbot-btn{
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 9999;
    cursor: pointer;
    transition: transform 0.3s ease;
}
.custom-chatbot-btn:hover{
    transform: scale(1.05);
}
.custom-chatbot-btn img{
    width: auto;
    height: 80px;
    display: block;
    animation: chatbot-shine 2s infinite;
}
@keyframes chatbot-shine{
    0%, 100%{ filter: brightness(1); }
    50%{ filter: brightness(1.3); }
}

@media (max-width: 768px){
    .custom-chatbot-btn{
        right: 10px;
        bottom: 10px;
        height: 64px;
    }
    .custom-chatbot-btn img{
        width: auto;
        height: 64px;
    }
}