@charset "utf-8";

@media screen and (max-width: 1500px) {
    :root{
        --wrap: 1200px;
        --wrap-sm: 1200px;
        --wrap-md: 1200px;
        --padding: 100px;

        --font-md-text: 16px;
    }


    /* TOP */
    .top-concept__flex-ttl__text{
        font-size: 54px;
    }
    .top-concept__flex-ttl__en{
        font-size: 25px;
    }
    .top-modelhouse__flex-box{
        max-width: 680px;
    }
    .top-modelhouse__flex-box__item-name{
        font-size: var(--font-md-text);
    }
    .top-modelhouse__flex-box__item{
        padding-left: 40px;
    }
    .top-modelhouse__flex-box__item-btn a{
        font-size: 14px;
        padding: 8px 25px;
    }
    .top-modelhouse__flex-box__item-btn a span{
        right: 6px;
    }
    .top-modelhouse__flex-box__item-btn{
        margin-top: 10px;
    }
    .top-modelhouse__flex-text{
        font-size: 80px;
    }
}


@media screen and (max-width: 1199px) {
    :root{
        --wrap: 100%;
        --wrap-sm: 100%;
        --wrap-md: 100%;
        --space: 20px;
        --padding: 80px;
    }

    .wrap,
    #footer .wrap{
        padding: 0 20px;
    }
}

@media screen and (max-width: 991px) {
    body{
        min-width: 320px;
    }
    br.t-up{
        display: block;
    }


    #aside{
        transform: initial;
        top: 20px;
    }

    /* FOOTER */
    .footer-contact{
        padding: 40px 0;
    }
    .footer-contact__text{
        margin-bottom: 30px;
    }
    .footer-contact{
        background-attachment: initial;
    }


    /* TOP */
    .mv-box{
        padding-left: 0;
    }
    .top-concept__flex{
        grid-template-columns: repeat(1,1fr);
        gap: 40px;
    }
    .top-concept__flex-ttl__text{
        font-size: 34px;
        margin-bottom: 20px;
    }
    .top-concept__flex-ttl__text br:not(.t-up){
        display: none;
    }
    .top-concept__flex-ttl__en{
        font-size: 18px;
    }
    .top-concept__flex-ttl__en br{
        display: none;
    }
    .top-concept__flex-box__text{
        font-size: 14px;
    }
    .top-concept__title{
        font-size: 30px;
        margin-bottom: 30px;
    }
    .top-fixed{
        padding-right: 20px;
    }
    .top-fixed__bg{
        background-attachment: initial;
    }
    .top-strength__ttl br:not(.t-up){
        display: none;
    }
    .top-strength__ttl span{
        margin-bottom: 10px;
    }
    .top-strength__cont-box__grid{
        grid-template-columns: repeat(1,1fr);
        gap: 30px;
    }
    .top-modelhouse__flex{
        display: block;
        padding-bottom: 20px;
    }
    .top-modelhouse__flex-box{
        margin: 20px 0;
    }
    .top-modelhouse__flex-text{
        margin-bottom: 30px;
        position: initial;
        font-size: 66px;
    }
}


@media screen and (max-width: 767px) {
    :root{
        --font-md-text: 14px;
        --padding: 60px;
    }
    p{
        font-size: 14px;
    }


    /* HEADER */
    #fixed-logo{
        top: 12px;
        left: 12px;
    }
    #fixed-logo img{
        width: 140px;
        display: block;
    }


    /* ASIDE */
    #aside a{
        padding: 7px 14px;
        border-radius: 6px;
    }
    #aside{
        top: 10px;
        right: 10px;
    }
    .aside-text{
        font-size: 12px;
    }
    .aside-text span svg{
        width: 14px;
        height: 14px;
    }
    .aside-text span{
        margin-left: 5px;
    }


    /* FOOTER */
    .footer-contact__ttl{
        font-size: 24px;
        margin-bottom: 10px;
    }
    .footer-contact__tel{
        padding: 10px 0;
    }
    .footer-contact__tel-icon img{
        width: 20px;
    }
    .footer-contact__tel-text a{
        font-size: 24px;
    }
    .footer-logo{
        padding: 20px 0;
    }
    .footer-logo__copy{
        margin-top: 5px;
    }
    

    /* TOP */
    .mv{
        padding: 200px 0 100px 20px;
        height: auto;
    }
    .mv-box__label span{
        font-size: 12px;
        padding: 3px 22px;
    }
    .mv-box{
        transform: initial;
        position: initial;
    }
    .mv-box__text{
        font-size: 7vw;
        margin-bottom: 10px;
    }
    .mv-box__en{
        font-size: 3.8vw;
    }
    .top-concept__title{
        font-size: 20px;
    }
    .top-concept__flex-ttl__text{
        font-size: 20px;
        line-height: 1.6;
        margin-bottom: 10px;
    }
    .top-concept__flex-ttl__en{
        font-size: 12px;
    }
    .top-strength__ttl span{
        font-size: 22px;
    }
    .top-strength__ttl{
        font-size: 20px;
        margin-bottom: 20px;
    }
    .top-strength__cont-box{
        padding: 20px 0;
    }
    .top-strength__cont-box__grid{
        padding: 0 20px;
    }
    .top-strength__cont-box__grid-box__lead{
        font-size: 18px;
        margin-bottom: 15px;
    }
    .top-strength__cont-box__text{
        font-size: 10vw;
    }
    .top-possible__ttl span{
        font-size: 26px;
    }
    .top-possible__ttl{
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 30px;
    }
    .top-possible__grid{
        grid-template-columns: repeat(2,1fr);
        gap: 20px;
    }
    .top-possible__grid-item__text{
        font-size: 12px;
        margin-top: 5px;
    }
    .top-modelhouse__flex-ttl__text{
        font-size: 26px;
        margin-bottom: 10px;
    }
    .top-modelhouse__flex-ttl__en{
        font-size: 12px;
    }
    .top-modelhouse__flex-box{
        display: block;
    }
    .top-modelhouse__flex-box__img{
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }
    .top-modelhouse__flex-box__item{
        padding: 0;
        width: 100%;
        text-align: center;
    }
    .top-modelhouse__flex-box__item-btn{
        margin: 20px auto 0;
        text-align: left;
    }
    .top-modelhouse__flex-box__item-info{
        display: inline-block;
        text-align: left;
    }
    .top-modelhouse__flex-text{
        font-size: 32px;
        margin-bottom: 15px;
    }
    .top-modelhouse{
        margin-top: -50px;
    }
    .top-modelhouse__flex{
        padding: 20px 25px;
    }
}