@charset 'UTF-8';

@media only screen and (max-width:1279px) and (min-width:992px){
    body{
        min-width:1280px;
    }

    /* HEADER */
    .main-header{
        width:100%;
    }
}

@media only screen and (max-width:991px){

    :root{
        --header-height:66px;
    }

    /* HEADER */
    .main-header__wrapper{
        padding:16px 16px 0;
    }
    .main-header__logo img{
        width:180px;
    }

    /* FOOTER */
    .main-footer{
        padding:60px 0 30px;
    }
    body.home .main-footer{
        padding-top:0;
    }
    .main-footer__flex,
    .main-footer__submenus{
        justify-content:center;
    }
    .main-footer__copyright{
        text-align:center;
    }

    /* TOP */
    body.home{
        padding-top:100px;
    }
    .top-main{
        position:relative;
        overflow:hidden;
    }
    .map-wrapper{
        width:128%;
        max-width:unset;
        position:relative;
        left:-14%;
    }
    .top-modal-content__head{
        flex-wrap: wrap;
        gap: 20px;
    }
    .top-modal-content__head__content{
        width:100%;
    }
    .top-modal-content__head__img{
        width:100%;
        justify-content:center;
    }


    /* PAGE COMMON */
    .mv-title__jp{
        font-size:32px;
    }


    /* RESIDENTS */
    .residents-mv__img{
        width:50%;
        right:70px;
    }
    .residents-main__title{
        font-size:32px;
    }
    .residents-main__text{
        font-size:20px;
    }
    .residents-linksec{
        padding:50px 0;
    }
    .residents-links{
        gap:20px;
    }
    .residents-link a{
        gap:20px;
        height:260px;
    }
    .residents-link__icon img{
        height:80px;
    }
    .residents-link__title{
        font-size:28px;
    }

    /* LEAVING */
    .residents-single-head__title__icon img{
        height:90px;
    }
    .residents-single-head__title__text{
        font-size:32px;
    }
    .leaving-flows{
        grid-template-columns:repeat(2,1fr);
        gap:60px;
    }
    .leaving-flow:not(:last-of-type)::after{
        right:-37px;
    }
    @media only screen and (min-width:768px){
        .leaving-flow:nth-of-type(2)::after{
            bottom:-55px;
            left:-46px;
            top:unset;
            right:unset;
            transform:rotate(135deg);
            transform-origin:center;
        }
    }
    .leaving-calsec__title{
        font-size:32px;
    }
    .leaving-calendar__wrapper{
        padding:0 15px;
    }
    .leaving-calendar__table table th, .leaving-calendar__table table td{
        font-size:16px;
        padding:10px 0;
    }

    /* Q AND A */
    .common-mv__img.qanda-mv{
        padding-right:100px;
        padding-left:50%;
    }

    .qanda-dls dl dt,
    .qanda-dls dl dd{
        padding:20px 100px;
    }
    
    .qanda-dls dl dt p{
        font-size:24px;
    }
    .qanda-dls dl dt::before,
    .qanda-dls dl dd::before{
        width:48px;
        height:48px;
        top:16px;
    }
    .qanda-dls dl dd p{
        font-size:20px;
    }


    /* ARCHIVES */
    .archive-slickarrow{
        top:calc(50% - 60px);
        width:60px;
        height:60px;
    }
    .archive-mainsec{
        padding-top:40px;
        overflow:hidden;
    }
    .archive-slider__wrapper:not(:last-child){
        margin-bottom:40px;
    }

}


@media only screen and (max-width:767px){

    :root{
        --px1:0.46875px;
        --header-height:37px;
    }

    /* COMMON */
    .wrap,
    body.home .wrap{
        overflow:visible;
    }

    body:not(.home){
        padding-top:calc(20px + var(--header-height));
    }

    /* HEADER */
    .main-header__wrapper {
        padding: 10px 10px 0;
    }
    .main-header__logo img{
        width:120px;
    }
    .menu-toggler{
        margin-top: 3px;
        height:36px;
    }


    /* DRAWER */
    .main-drawer{
        max-width:100%;
        padding-top:calc(20px + var(--header-height) + 20px);
    }
    .menu-toggler small{
        font-size:12px;
        line-height:1
    }
    .menu-toggler span{
        width:70%;
        left:15%;
    }
    .main-drawer__submenus{
        margin-left:16px;
    }
    .main-drawer__menus>li>a{
        padding:12px 0;
        font-size:16px;
    }
    .main-drawer__submenus>li>a{
        padding:12px 0;
        font-size:14px;
    }

    /* FOOTER */
    .main-footer__info{
        gap:16px;
    }
    .main-footer__sitemenu{
        display:none;
    }
    .main-footer__logo{
        margin:0 auto;
    }
    .main-footer__logo a{
        display:block;
        max-width:60%;
        margin:0 auto;
    }
    .main-footer__address{
        margin:0 auto;
    }
    .main-footer__copyright {
        margin-top: 30px;
        font-size: 10px;
    }


    /* TOP */
    .top-main{
        overflow-x:scroll;
    }
    .map-wrapper{
        width:900px;
        left:0;
    }

    .top-modal-window{
        padding:30px 20px;
    }
    .top-modal-content__title{
        font-size:20px;
    }
    .top-modal-content__main__vms{
        grid-template-columns:1fr;
        gap:16px;
        width:100%;
    }
    .view-more a{
        width:100%;
        max-width:280px;
        margin:0 auto;
        height:40px;
        font-size:14px;
    }


    /* MV */
    .mv-title{
        padding-bottom:12px;
    }
    .mv-title__en{
        margin-bottom:4px;
        font-size:12px;
    }
    .mv-title__jp{
        font-size:22px;
    }

    .common-mv{
        height:auto;
        padding-top:30px;
        padding-bottom:40px;
    }
    .common-mv__img{
        width:40%;
        top:5%;
        right:0;
        left:unset;
        transform:none;
        padding:0;
    }


    /* RESIDENTS */
    .residents-mv{
        padding-top:30px;
        height:auto;
    }
    .residents-mv__img {
        width: 40%;
        top: 5%;
        right: 0;
    }
    .residents-main{
        padding:50px 0 0;
    }
    .residents-main__title{
        font-size:22px;
    }
    .residents-main__text{
        font-size:16px;
    }
    .residents-links{
        grid-template-columns:1fr;
    }
    .residents-link a{
        height:180px;
        gap:8px;
    }
    .residents-link__icon img{
        height:50px;
    }
    .residents-link__title{
        font-size:20px;
    }


    /* LEAVING */
    .residents-single-head__title__icon img{
        height:60px;
    }
    .residents-single-head__title__text{
        font-size:22px;
    }
    .leaving-flowsec{
        padding:40px 0;
    }
    .leaving-flows {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .leaving-flow:not(:last-of-type)::after{
        right:calc(50% - 15px);
        top:unset;
        bottom:-30px;
        transform:rotate(90deg);
    }

    .leaving-calsec__title{
        font-size:22px;
        margin-bottom:30px;
    }
    .leaving-calendar__wrapper{
        padding:0;
    }
    .leaving-calendar__content{
        padding-bottom:40px;
    }
    .leaving-calendar__title{
        font-size:18px;
    }
    .leaving-calendar__table table th, .leaving-calendar__table table td{
        font-size:14px;
        letter-spacing:0;
    }
    .leaving-calbtn{
        width:40px;
        height:40px;
    }
    .leaving-calbtn.prev{
        left:calc(50% - 50px);
    }
    .leaving-calbtn.next{
        right:calc(50% - 50px);
    }


    /* LEAVE FORM */
    .leaveform-form{
        padding:40px 0;
    }

    .cform p {
        font-size: 14px;
        margin-bottom: 50px;
    }
    p.form-in-attention{
        margin:0;
    }
    .form-dls dl{
        flex-wrap:wrap;
    }
    .form-dls dl dt:empty{
        display:none;
    }
    .form-dls dl dt,
    .form-dls dl dd{
        width:100%;
        padding:14px 0;
        font-size:16px;
    }
    .form-dls dl dt{
        padding-bottom:0;
    }
    .form-dls dl dt span{
        top:15px;
        right:0;
        font-size:12px;
    }
    form input[type="text"], form input[type="email"], form input[type="url"], form input[type="tel"], form input[type="number"], form input[type="date"], form textarea, form select{
        padding:12px 16px;
        font-size:16px;
    }
    .wpcf7-list-item label{
        font-size:16px;
    }
    form input[type="submit"], form button{
        font-size:18px;
        padding:16px 50px;
        letter-spacing:0.2em;
    }



    /* Q AND A */
    .common-mv__img.qanda-mv{
        top:5%;
        padding:0;
    }
    .qanda-dls dl dt, .qanda-dls dl dd{
        padding:12px 40px;
        padding-left:50px;
    }
    .qanda-dls dl dd{
        padding-right:20px;
    }
    .qanda-dls dl dt::before, .qanda-dls dl dd::before{
        width:30px;
        height:30px;
        top:10px;
        left:10px;
    }
    .qanda-dt-toggler{
        width:30px;
        height:30px;
        right:6px;
        top:calc(50% - 15px);
    }
    .qanda-dt-toggler::before,
    .qanda-dt-toggler::after{
        top:14px;
    }
    .qanda-dls dl dt p{
        font-size:17px;
    }
    .qanda-dls dl dd p{
        font-size:16px;
    }



    /* ARCHIVE */
    .archive-slickarrow{
        width:40px;
        height:40px;
        top:calc(50% - 40px);
    }
    .archive-slide__image__bg{
        aspect-ratio:3/4;
    }
    .archive-slide__price, .archive-slide__title, .archive-slide__detail{
        font-size:16px;
    }

    .notfound{
        font-size:18px;
    }
    .main-footer__contact a{
        width:100%;
        max-width:425px;
    }


}