/*============
common
=============*/
@media screen and (min-width: 769px){
    a[href^="tel"] {
        pointer-events: none;
    }
}
@media screen and (max-width: 768px){
    .section__title{
        font-size: 7vw;
    }
    .t-section__title{
        width: 58%;
        font-size: 5vw;
    }

}
/*============
header
=============*/
@media screen and (max-width: 1024px){
    .header{
        margin-top: 0;
        height: 80px;
    }
    .header__inner{
        max-width: 96%;
    }
    .header__nav{
        display: none;
    }
    .header__drawer-icon{
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        row-gap: 10px;
        width: 60px;
        aspect-ratio: 1/1;
        z-index: 101;
    }
    .header__drawer{
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        overflow: hidden;
        transform: translateX(105%);
        width: 100%;
        max-width: 500px;
        height: 100vh;
        padding-top: 120px;
        background: #ccc;
        transition: .3s;
    }
    .header__drawer.active{
        transform: translateX(0%);
    }
    .header__drawer-bar{
        width: 70%;
        height: 5px;
        background: #fff;
        transition: .3s;
    }
    .header:has(.header__drawer.active) .header__drawer-bar.bar01{
        transform: translateY(8px) rotate(45deg);
    }
    .header:has(.header__drawer.active) .header__drawer-bar.bar02{
        display: none;
    }
    .header:has(.header__drawer.active) .header__drawer-bar.bar03{
        transform: translateY(-6px) rotate(-45deg);
    }
    .header__drawer-menu a{
        margin: 0 auto;
        padding: max(0.3em,10px);
        width: 80%;
        text-align: center;
        font-size: clamp(20px,3.8vw,30px);
        font-weight: 700;
    }
    .header-sub .header__drawer-menu a{
        padding: 20px 10px;
    }
    .header__drawer-menu a p{
        font-size: 16px;
    }
    .header__drawer-menu a img{
        margin: 0 auto;
        width: 40%;
        min-width: 120px;
    }
    .header__logo-main{
        min-width: 100px;
        width: 20%;
    }
}
@media screen and (max-width: 768px){
    .header{
        height: 60px;
    }
}
/*============
top-mv
=============*/
@media screen and (max-width: 1600px){
    .top-mv__textarea .top-mv__title{
        width: 21%;
    }
    .top-mv__linkarea{
        width: 80%;
    }
    .top-mv__link-btn a p{
        font-size: 3vw;
    }
}
@media screen and (max-width: 768px){
    .top-mv{
        padding-top: calc(5vw + 60px);
    }
    .top-mv__textarea .top-mv__title{
        width: 50%;
        min-width: 200px;
    }
    .top-mv__text-wrapper{
        flex-direction: column;
        width: 50%;
        min-width: 200px;
    }
    .top-mv__linkarea{
        flex-direction: column;
        align-items: center;
        row-gap: 5vw;
        width: 90%;
    }
    .top-mv__link{
        width: 70%;
    }
    .top-mv__link-btn.unso a,
    .top-mv__link-btn.kanko a{
        padding: 5%;
    }
    .top-mv__link-btn::before{
        display: none;
    }
    .top-mv__link-btn a p{
        text-align: center;
        font-size: 5.8vw;
    }
}
/*============
sdgs
=============*/
@media screen and (max-width: 768px){
    .sdgs__title{
        margin-bottom: 2vw;
    }
    .sdgs__textarea{
        margin-bottom: 5vw;
        width: 70%;
    }
}
/*============
map
=============*/
@media screen and (max-width: 768px){
    .map__body{
        aspect-ratio: 5/3;
    }
    .map__title{
        margin-bottom: 3vw;
    }
    .map__add-text{
        font-size: max(16px,3.8vw);
    }
}
/*============
tel
=============*/
@media screen and (max-width: 768px){
    .tel__content{
        padding: 5vw;
    }
    .tel__box{
        flex-direction: column;
    }
    .tel__box:first-child{
        margin-bottom: 10vw;
    }
    .tel__box-number-wrapper{
        font-size: 5vw;
    }
    .tel__box-icon{
        border-width: 0.2em;
    }
}
/*--------------transportation--------------*/

/*============
header-unso
=============*/
@media screen and (max-width: 1024px){
    .header__logo-unso{
        width: 20%;
        min-width: 100px;
    }
    .header-unso__track-image{
        width: 16%;
        min-width: 90px;
    }

}
/*============
service
=============*/
@media screen and (max-width: 768px){
    .service{
        margin-top: -11vw;
    }
    .service__title{
        width: 60%;
        font-size: 5vw;
    }
    .service__lead{
        margin-top: -0.6em;
        width: 60%;
        font-size: 4vw;
    }
    .service__content{
        padding-top: 10vw;
    }
    .service__item,
    .service__item.item02{
        flex-direction: column-reverse;
        row-gap: 5vw;
    }
    .service__item.item01{
        margin-bottom: 10vw;
    }
    .service__item-imagearea,
    .service__textarea{
        width: 100%;
    }
    .service__textarea p{
        font-size: max(14px,3.8vw);
    }
}
/*============
overview
=============*/
@media screen and (max-width: 768px){
    .overview__content{
        padding-top: 10vw;
    }
    .overview__text,
    .overview__list-wrapper {
        font-size: 5vw;
    }
    .overview__text{
        margin-bottom: 5vw;
    }
    .overview__list{
        margin-bottom: 5vw;
    }
}
/*============
header-kanko
=============*/
@media screen and (max-width: 1024px){
    .header__logo-kanko{
        width: 20%;
        min-width: 100px;
        filter: drop-shadow(0 3px 3px var(--color-black));
    }
}
/*============
mv-kanko
=============*/
@media screen and (max-width: 768px){
    .kanko-mv__text{
        top: calc(60px + 3vw);
        width: 80%;
    }
}
/*============
h-kanko
=============*/
@media screen and (max-width: 768px){
    .h-kanko{
        padding: 8vw 0;
    }
    .h-kanko__top-text{
        margin-bottom: 3vw;
        width: 90%;
    }
    .h-kanko__bus{
        margin-bottom: 2vw;
        width: 30%;
    }
    .h-kanko__bottom-text{
        margin-bottom: 3vw;
    }
    .h-kanko__icon-wrapper{
        flex-wrap: wrap;
        column-gap: 7%;
    }
    .h-kanko__icon{
        width: calc(33.333% - 7% * 2 / 3);
    }

}
/*============
renatal
=============*/
@media screen and (max-width: 768px){
    .rental{
        padding-top: 3vw;
    }
    .rental__title{
        width: 40%;
        min-width: 130px;
    }
    .rental__text{
        padding: 3vw 0 2vw;
    }
    .rental__text img{
        width: 80%;
    }
}

