@charset "UTF-8";

main{
  max-width: 100%;
  position: relative;
}

.back_img{
    width: auto;
    height: 100px;
    mask-image: url(../img/main/back1.svg);
    mask-repeat: repeat-x;
    mask-size: contain;
    mask-position: left bottom;
    background-color: var(--background1);
    position: relative;
    bottom: -1px;
}

.background__color{
    background-color: var(--background1);
}

@media screen and (min-width: 0px) {
    main{
        margin-right: 0em;
    }
}

@media screen and (min-width: 768px) {

}

@media screen and (min-width: 1024px) {

}

/*====================================
メインビジュアル
=====================================*/
.mainv{
    padding: 0 1.5rem;
    max-width: 100%;
    width: 100%;
    height: auto;
    position: relative;
}

.catchcopy_area{
    display: inline-block;
    position: absolute;
    left: 60px;
}

.catchcopy_area img{
    object-fit: contain;
}

.catchcopy_area p{
    letter-spacing: 2.5px;
    font-weight: 500;
    text-shadow:
        1px 0px 0px var(--white),
        -1px 0px 0px var(--white),
        0px -1px 0 var(--white),
        0px 1px 0 var(--white);
}

.mainv_img{
    margin-left: auto;
    margin-right: 0;
    max-width: 1000px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.mainv .sns_icon{
    width: 60px;
}

@media screen and (min-width: 0px) {
    .mainv{
        margin-top: 1.25rem;
        height: 55vh;
    }

    .mainv_area{
        margin-top: 1em;
        margin-bottom: 0;
    }

    .mainv_img{
        margin: 0 calc(50% - 50vw);
    }

    .catchcopy_area{
        padding: 0 1rem;
        max-width: 100%;
        width: 100%;
        left: 0rem;
        bottom: 0px;
    }

    .catchcopy_area p{
        margin-top: 1rem;
        font-size: 0.85em;
        line-height: 1.5;
    }

    .catchcopy_area img{
        width: 100%;
    }

    .mainv .sns_icon{
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .mainv{
        margin-top: 2rem;
        height: 90vh;
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
    }

    .mainv_img{
        margin: unset;
        aspect-ratio: 16 /9;
    }
    
    .catchcopy_area{
        padding: 0rem;
        width: auto;
        left: 2rem;
        bottom: 90px;
    }

    .catchcopy_area p{
        margin-top: 2rem;
        font-size: 1.2em;
    }

    .catchcopy_area p br{
        display: none;
    }

    .mainv_img{
        border-radius: 4.5rem;
    }

}

@media screen and (min-width: 1024px) {
    .mainv{
        height: auto;
        align-items: center;
    }

    .catchcopy_area{
        left: 60px;
        bottom: unset;
    }

    .catchcopy_area img{
        width: auto;
    }
    
    .mainv .sns_icon{
        display: flex;
        justify-content: flex-end;
        gap: 1.9rem;
    }
}

/*////////////////// バナー //////////////////*/
.banner{
    padding: 0;
}

.banner_content__area{
    margin: 0 auto;
    padding: 1rem 0;
    max-width: 570px;
    min-width: 250px;
    height: auto;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.banner_content{
    margin: 0 auto;
    padding: 1rem 0;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    object-fit: contain;
    opacity: .3; /* 左右のスライドを薄くする */
    transform: scale(.8); /* 左右のスライドを小さくする */
    transition: .7s; /* ゆっくり小さくさせる */
}

.banner_content img{
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: var(--shadow);
}

.banner_content__area.is-active .banner_content{
     pointer-events: painted;
    opacity: 1; /* 中央のスライドは薄くしない */
    transform: scale(1); /* 中央のスライドは小さくしない */
    z-index: 1; /* 中央のスライドを一番上にする */
}

.banner_area .splide__arrows {
  margin: 0 auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  position: absolute;
  top: calc(50% - 25px);
}

@media screen and (min-width: 0px) {
    .banner_area .splide__arrows {
        left: 0rem;
    }
}

@media screen and (min-width: 768px) {
    .banner_area .splide__arrows {
        max-width: 620px;
        left: calc(50% - 310px);
    }
}

/*////////////////// お知らせ //////////////////*/
.news_top__layout{
    display: flex;
}

.news_area__left{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    align-content: space-between;
    align-content: center;
}

.news_area__left .top_tit{
    align-content: flex-start;
}

.news_area{
    padding: 2.5rem;
    background-color: var(--white);
    border-radius: 20px;
    box-shadow: 0px 0px 35px -6px rgb(255 123 202 / 20%);
}

@media screen and (min-width: 0px) {
    .news_top__layout{
        flex-wrap: wrap;
        justify-content: center;
    }

    .news_area__left,
    .news_area__right{
        width: 100%;
    }
    
    .news_area__left .top_tit,
    .news_area__left h2.top_tit span{
        justify-content: center;
    }

}

@media screen and (min-width: 768px) {

    .news_area__left,
    .news_area__right{
        width: calc(100% - 1.5rem);
    }
}

@media screen and (min-width: 1024px) {
    .news_top__layout{
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    .news_area__left{
        /* margin-bottom: unset; */
        width: calc(25% - 1.5rem);
    }
    
    .news_area__left .top_tit,
    .news_area__left h2.top_tit span{
        justify-content: left;
    }

    .news_area__right{
        width: calc(75% - 1.5rem);
    }

}

/*////////////////// リフォームをお考えの方へ //////////////////*/
.renovation{
    padding-top: 7rem;
}

.renovation_menu{
    margin-left: auto;
    margin-right: auto;
    width: max-content;
    display: grid;
    justify-items: center;
}

.renovation_menu li{
    height: 100%;
    transform: translateY(0);
    transition: var(--transition);
}

.renovation_menu li:hover{
    transform: translateY(-5px);
}

.renovation_menu li a{
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}

.renovation_menu li .renobaation_icon{
    border-radius: 50%;
    background-color: var(--white);
    box-shadow: var(--shadow);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-wrap: wrap;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center;
}

.renobaation_icon__tit{
    margin-top: 1.25rem;
    font-weight: 600;
}

.renovation_bt__area{
    margin-top: 5rem;
    display: flex;
    justify-content: space-between;
}

.renobation_bt{
    height: 210px;
    border-radius: 20px;
    display: flex;
    justify-content: flex-end;
    background-repeat: no-repeat;
    background-position: center 30%;
    background-size: cover;
    border: solid 3px var(--white);
    background-color: var(--white);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.renobation_bt.riyu{
    background-image: url(../img/main/riyu.jpg);
}

.renobation_bt.nagare{
    background-image: url(../img/main/nagare.jpg);
}

.renobation_bt a{
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: flex-end;
    align-items: flex-end;
}

.renobation_bt__tit{
    padding: 1.25rem;
    width: 50%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    border-radius: 10px 0 0 0;
    background-color: var(--white);
    font-size: 1.25em;
    font-weight: 500;
}

.renobation_bt a:hover .renobation_bt__tit .circlearrow.arrow{
    background-color: var(--blue);
}

.renobation_bt a:hover .renobation_bt__tit .circlearrow.arrow::before{
    background-color: var(--white);
}

.renobation_bt a:hover .renobation_bt__tit .circlearrow.arrow::after{
    border-color: var(--white);
}

.kitchen{
    background-image: url(../img/icon/kitchen.png);
}

.bath{
    background-image: url(../img/icon/bathtub.png);
}

.toilet{
    background-image: url(../img/icon/toilet.png);
}

.shower{
    background-image: url(../img/icon/shower.png);
}

.living{
    background-image: url(../img/icon/livingroom.png);
}

.garage{
    background-image: url(../img/icon/garage.png);
}

.wall{
    background-image: url(../img/icon/house.png);
}

.barrierfree{
    background-image: url(../img/icon/wheelchair.png);
}

@media screen and (min-width: 0px) {
    .renovation_menu{
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 1fr);
        gap: 2rem;
    }

    .renovation_menu li{
        width: 140px;
    }

    .renovation_menu li .renobaation_icon{
        width: 140px;
        height: 140px;
    }
    
    .renovation_bt__area{
        flex-wrap: wrap;
        gap: 2rem;
    }
    
    .renobation_bt{
        width: 100%; 
    }

    .renobation_bt__tit{
        width: 80%;
    }

}

@media screen and (min-width: 425px) {

    .renovation_menu li{
        width: 170px;
    }

    .renovation_menu li .renobaation_icon{
        width: 170px;
        height: 170px;
    }
    
    .renobaation_icon__tit{
        text-wrap: nowrap;
    }
}

@media screen and (min-width: 768px) {
    .renovation_menu{
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, 1fr);
        gap: 3rem;
    }

    .renovation_bt__area{
        flex-wrap: nowrap;     
    }
    
    .renobation_bt{
        width: calc(50% - 1rem); 
    }
}

@media screen and (min-width: 1024px) {
    .renovation_menu{
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }

    .renobation_bt__tit{
        width: 50%;
    }

}

/*//////////////////// 施工事例 ////////////////////*/
.works{
    padding: 0 0 10rem 0;
}

.works_area .splide__track{
    padding: 1.5rem 0;
}

.works_area .splide__arrows{
    margin-top: 3.5rem;
    width: auto;
    justify-content: center;
    position: unset;
    top: unset;
    left: unset;
    gap: 1em;
}

.works_item{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border: solid 3px var(--white);
    border-radius: 10px;
    background-color: var(--white);
    overflow: hidden;
    box-shadow: var(--shadow);
}

.works_img{
    width: 100%;
    height: auto;
    overflow: hidden;
}

.works_img img{
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
    transition: var(--transition);
}

.works_img:hover img{
    transform: scale(1.1);
}

.works_tit{
    width: 100%;
    font-weight: 600;
}

.works_tit:hover{
    text-decoration: underline;
    color: var(--blue);
}

.works_tx{
    width: 100%;
    padding: 1.75rem 1.5rem;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1.05rem;
    background-color: var(--white);
}

.works_category{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
}

.works_category a{
    padding: 2px 1rem;
    width: 100%;
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    border-radius: 2px;
    color: var(--blue);
    background-color: var(--blue3);
}

/*////////////////// 愛和商事について //////////////////*/
.about{
    margin-bottom: 136px;
}

.about h2.top_tit{
    margin-left: auto;
    margin-right: auto;
}

.about_tx p{
    margin-bottom: 1.5em;
    line-height: 1.5;
}

.about_img{
    border-radius: 20px;
    overflow: hidden;
}

.about_bt__area{
    margin-top: 5.35rem;
    display: flex;
    justify-content: space-between;
}

.about_bt {
    height: 220px;
    border-radius: 10px;
    display: flex;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.about_bt a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
}

.about_bt a:hover .about_bt__tit .circlearrow.arrow{
    background-color: var(--blue);
}

.about_bt a:hover .about_bt__tit .circlearrow.arrow::before{
    background-color: var(--white);
}

.about_bt a:hover .about_bt__tit .circlearrow.arrow::after{
    border-color: var(--white);
}

 .about_bt__img{
    width: 100%;
    height: calc(100% - 80px);
    background-repeat: no-repeat;
 }

.about_bt__tit{
    width: 100%;
    height: 80px;
    padding: 1.25rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    background-color: var(--white);
    font-size: 1.25em;
    font-weight: 500;
}

.about_bt.aisatsu .about_bt__img{
    background-image: url(../img/main/aisatsu.jpg);
    background-position: center 0%;
    background-size: cover;
}

.about_bt.gaiyo .about_bt__img{
    background-image: url(../img/main/gaiyo.jpg);
    background-position: center;
    background-size: cover;
}

.about_bt.jyusyo .about_bt__img{
    background-image: url(../img/main/jusyo.jpg);
    background-position: 60% 0%;
    background-size: cover;
}

@media screen and (min-width: 0px) {
    .about_bt__area{
        flex-wrap: wrap;
        gap: 2rem;
    }

    .about_bt{
        width: 100%;
    }

    .about_tx p{
        
    }
}
@media screen and (min-width: 768px) {
    .about_bt__area{
        flex-wrap: nowrap;
        gap: 1rem;
    }

    
    .about_area{
        display: flex;
        justify-content: space-around;
        gap: 1.5rem;
    }

    .about_bt{
        width: calc(33.33% - 1rem);
    }
}
@media screen and (min-width: 1024px) {
    .about_bt__area{
        flex-wrap: nowrap;
        gap: 2rem;
    }

    .about_area{
        display: flex;
        justify-content: space-around;
        align-items: center;
        gap: unset;
    }

    .about_bt{
        width: calc(33.33% - 1.5rem);
    }

    .about_tx,
    .about_img{
        width: calc(50% - 4.75rem);
    }

    .about_tx{
        text-align: center;
    }

}

/*////////////////// お問い合わせ //////////////////*/
.contact_back{
    margin-bottom: 0px;
    overflow: hidden;
}

.back_img2{
    margin: 0 calc(50% - 50vw);
	width: 100vw;
    background-image: url(../img/main/back2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 10%;
    filter: opacity(0.5);
}

.contact_area{
    padding: 2rem;
    width: calc(100% - 3rem);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 20px;
    background-color: var(--white);
    box-shadow: var(--shadow);
}

.contact_area .contact_tx{
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 3px;
    text-align: center;
}

.contact_tel__area,
.contact_mail__area{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    gap: 1.05em;
}

.contact_tel__area p,
.contact_mail__area p{
    width: 100%;
}

.contact_tel__area .tel_icon__back,
.contact_mail__area .mail_icon__back{
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--blue);
    border-radius: 50%;
}

.contact_tel__area .tel_icon,
.contact_mail__area .mail_icon{
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--white);
}

.contact_tel__area a{
    font-weight: 900;
    letter-spacing: 2px;
    line-height: 1;
    color: var(--blue);
}

.contact_tel__area .contact_tel__tx{
    width: 100%;
}

.contact_mail__area .mail_bt{
    width: 220px;
    border-radius: 10px;
    background-color: var(--blue);
    color: var(--white);
}

.contact_mail__area .mail_bt a{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
}

.contact_mail__area .mail_bt a:hover{
    text-decoration: underline;
}

.contact_mail__area .mail_bt .arrow::before{
    background-color: var(--white);
}

.contact_mail__area .mail_bt .arrow::after{
    border-top: 2px solid var(--white);
    border-right: 2px solid var(--white);
}

@media screen and (min-width: 0px) {
    .back_img2{
        height: 300px;
    }

    .contact_tx,
    .contact_tel__area,
    .contact_mail__area{
        width: 100%;
    }

    .contact_area .contact_tx{
        font-size: 1.35em;
    }

    .contact_tel__area a{
        font-size: 1.35em;
    }

    .contact_area{
        flex-wrap: wrap;
        gap: 2rem;
    }
    
    .contact_area{
        position: absolute;
        bottom: -25rem;
        left: 0;
        right: 0;
        z-index: 1;
    }
    
    .contact_mail__area .mail_bt a{
        padding: 1.25rem;
    }
}
@media screen and (min-width: 768px) {
    .contact_tx,
    .contact_tel__area,
    .contact_mail__area{
        width: calc(33.33% - 1rem);
    }

    .contact_area{
        flex-wrap: nowrap;
        bottom: -8rem;
    }

    .contact_mail__area{
        padding-left: 1.25rem;
        border-left: solid 1px var(--gray);
    }

}
@media screen and (min-width: 1024px) {

    .contact_area{
        gap: unset;
    }

    .contact_area .contact_tx{
        font-size: 2em;
    }

    .contact_tel__area a{
        font-size: 2em;
    }
    
    .contact_mail__area .mail_bt a{
        padding: 1.5rem;
    }
}

@media screen and (min-width: 1439px) {
    .back_img2{
        height: 530px;
    }
}

@media screen and (min-width: 1440px) {
    
}
