@charset 'utf-8';

@media screen and (max-width: 1400px){
    :root{
        --wrap: 900px;
    }
    #aside{
        left: 30px;
    }
    #aside li a{
        font-size: 12px;
    }
    #aside ul li::before{
        top: 9px;
    }
    #aside ul li::after{
        top: 12px;
    }
    .top-items__list{
        gap: 50px 60px;
    }
}
@media screen and (max-width: 1280px){
    :root{
        --wrap: 800px;
    }
    .top-contact__form{
        padding: 40px;
    }
}
@media screen and (max-width: 1199px){
    .wrap{
        padding: 0 20px;
    }
    #aside{
        display: none;
    }
}
@media screen and (max-width: 991px){
    :root{
        --header-h: 60px;
        --padding: 100px;
    }
    #body-wrap{
        min-width: 320px;
    }


    /* HEADER */
    #header{
        justify-content: space-between;
        padding: 0 20px;
    }
    #header img,
    #header.is-fixed img{
        width: 200px;
    }
    #header.is-fixed{
        height: var(--header-h);
    }
    .nav-toggle{
        display: block;
        position: relative;
        width: 30px;
        height: 8px;
    }
    .nav-toggle span{
        width: 100%;
        position: absolute;
        height: 2px;
        background-color: var(--base-color);
        left: 0;
        transition: .2s;
    }
    .nav-toggle span:first-child{
        top: 0;
    }
    .nav-toggle span:last-child{
        top: 6px;
    }
    .open .nav-toggle span:first-child{
        top: 3px;
        transform: rotate(45deg);
    }
    .open .nav-toggle span:last-child{
        top: 3px;
        transform: rotate(-45deg);
    }
    #overlay{
        position: fixed;
        z-index: 97;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        opacity: 0;
        transition: .2s;
        pointer-events: none;
        display: block;
    }
    #overlay.open {
        opacity: 1;
        pointer-events: auto;
    }
    .header-menu{
        display: block;
        position: fixed;
        top: var(--header-h);
        right: 0;
        width: 300px;
        height: calc(100vh - var(--header-h));
        background-color: #fff;
        padding: 30px;
        overflow-y: scroll;
        opacity: 0;
        transition: .2s;
        pointer-events: none;
        transform: translateX(100%);
    }
    .open .header-menu{
        opacity: 1;
        pointer-events: auto;
        transform: translateX(0);
    }
    .header-menu li,
    .header-menu li a{
        font-size: 11px;
        text-align: left;
    }
    .header-menu li a{
        display: inline-block;
        font-weight: 500;
    }
    .header-menu li{
        margin-bottom: 25px;
    }
    .header-menu li:last-child{
        margin-bottom: 0;
    }
    .header-menu li a span{
        color: var(--brand-color);
        line-height: 1.3;
        font-size: 16px;
        font-weight: bold;
        font-family: var(--montserrat);
        letter-spacing: 0.1em;
        display: block;
    }


    /* FOOTER */
    #footer{
        padding: 100px 0 30px;
    }


    /* INDEX */
    .mv .wrap{
        padding: 0;
    }
    .mv img{
        width: 100%;
    }
    .top-items__list{
        gap: 30px;
    }
    .title-en{
        font-size: 32px;
    }
    .title-text{
        font-size: 14px;
    }
    .top-concept__text{
        font-size: 16px;
    }
    .top-concept__text span{
        font-size: 20px;
    }
    .top-items__title{
        font-size: 22px;
    }
}
@media screen and (max-width: 767px){
    :root{
        --padding: 80px;
        --header-h: 55px;
    }
    p{
        font-size: 14px;
    }


    /* HEADER */
    #header img, #header.is-fixed img{
        width: 180px;
    }
    .nav-toggle{
        width: 24px;
    }

    /* FOOTER */
    #footer{
        padding: 80px 0 25px;
    }
    #footer img{
        width: 160px;
    }


    /* INDEX */
    .title-en{
        font-size: 24px;
    }
    .title-text{
        font-size: 12px;
    }
    .top-concept__text{
        font-size: 14px;
    }
    .top-concept__text span{
        font-size: 16px;
    }
    .top-items__title{
        font-size: 16px;
        margin-bottom: 30px;
    }
    .top-items__item-label{
        font-size: 16px;
        margin-bottom: 10px;
    }
    .top-items__item + .top-items__item{
        margin-top: 60px;
    }
    .top-items__title{
        padding-top: 60px;
        font-size: 16px;
        margin-bottom: 20px;
    }
    .top-items__list{
        grid-template-columns: repeat(2,1fr);
        gap: 20px;
    }
    .top-items__list-item__label{
        font-size: 13px;
        margin-top: 10px;
    }
    .top-items__subtitle{
        font-size: 15px;
        margin-bottom: 15px;
        margin-top: 30px;
        padding-top: 30px;
    }
    .top-contact__form{
        padding: 0;
        box-shadow: none;
        background-color: transparent;
        border-radius: 0;
    }
    .top-contact__form-cont dt{
        width: 100%;
        font-size: 14px;
    }
    .top-contact__form-cont dd{
        width: 100%;
        margin-top: 5px;
    }
    .top-contact__form-cont dd{
        padding-left: 0;
        font-size: 14px;
    }
    .top-contact__form-submit input[type="submit"]{
        font-size: 14px;
    }
    .top-contact__form-cont dd input[type="radio"], .top-contact__form-cont dd input[type="checkbox"]{
        top: -1px;
    }
    .top-contact__form-cont dd textarea{
        height: 100px;
    }
}