@charset 'utf-8';

#header .header-cont__link.sp{
    display: none;
}

@media screen and (max-width: 1600px) {
    /* HEADER */
    #header .header-cont__menu li a{
        font-size: 14px;
    }
    #header .header-cont__link li a img{
        width: 32px;
    }
    #header .header-logo{
        padding: 20px 120px 20px 20px;
    }
    #header .header-logo__img img{
        width: 140px;
    }
    #header .header-logo a span{
        font-size: 18px;
    }
    #header .header-cont{
        padding: 12px 40px 15px 120px;
        gap: 40px;
    }
    #header .header-cont__menu{
        gap: 15px;
    }


    /* TOP */
    .mv-topics__ttl{
        font-size: 18px;
        padding: 12px 0;
        width: 160px;
    }
    .mv-topics__cont{
        width: calc(100% - 160px);
        padding-left: 30px;
    }
    .mv-topics__cont-meta__date{
        font-size: 14px;
    }
    .mv-topics__cont-meta {
        width: 190px;
    }
    .mv-topics__cont-text{
        width: calc(100% - 190px);
        padding: 0 20px;
    }
    .mv-topics__cont-text a{
        font-size: 13px;
    }
}

@media screen and (max-width: 1199px) {
    body.home .wrap,
    .wrap,
    #footer .wrap{
        padding: 0 20px;
    }
}

@media screen and (max-width: 991px) {
    :root{
        --padding: 60px;
    }

    body{
        min-width: 320px;
        padding-top: 77px;
    }


    /* HEADER */
    #header{
        padding: 15px 20px;
        background-color: #fff;
        align-items: center;
    }
    #header .header-logo{
        background: none;
        position: relative;
        z-index: 1;
        padding: 0;
    }
    #header .header-logo__img img{
        width: 100px;
        display: block;
    }
    #header .header-logo a span{
        font-size: 16px;
    }
    #header .header-cont{
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100svh;
        padding: 100px 20px 40px;
        overflow-y: scroll;
        display: block;
        text-align: center;
        background: #fff;
        opacity: 0;
        visibility: hidden;
        transition: .3s;
        pointer-events: none;
    }
    #header.open .header-cont{
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    #header .header-cont__menu{
        display: block;
        margin-bottom: 25px;
    }
    #header .header-cont__link{
        display: inline-block;
        text-align: left;
    }
    #header .header-cont__menu li:not(:last-child),
    #header .header-cont__link li:not(:last-child){
        margin-bottom: 15px;
    }
    .nav-toggle{
        display: block;
        width: 32px;
        height: 16px;
        position: relative;
    }
    .nav-toggle span{
        height: 2px;
        width: 100%;
        background-color: var(--base-color);
        position: absolute;
        left: 0;
        transition: .3s;
    }
    .nav-toggle span:nth-of-type(1){
        top: 0;
    }
    .nav-toggle span:nth-of-type(2){
        top: 7px;
    }
    .nav-toggle span:nth-of-type(3){
        top: 14px;
    }
    .open .nav-toggle span:nth-of-type(1){
        top: 7px;
        transform: rotate(45deg);
    }
    .open .nav-toggle span:nth-of-type(2){
        opacity: 0;
    }
    .open .nav-toggle span:nth-of-type(3){
        top: 7px;
        transform: rotate(-45deg);
    }


    /* FOOTER */
    #footer .footer-flex{
        display: block;
        text-align: center;
    }
    #footer .footer-flex__box{
        margin-bottom: 40px;
    }
    #footer .footer-flex__box-logo img{
        width: 200px;
    }
    #footer .footer-flex__box-name{
        margin: 15px 0;
    }
    #footer .footer-flex__box-name span{
        font-size: 24px;
    }
    #footer .footer-flex-item img{
        width: 400px;
    }
    #footer .footer-contact{
        padding: 20px;
        border-radius: 15px;
    }
    #footer .footer-contact__inner{
        border-radius: 10px;
        padding: 0 30px 30px;
    }
    #footer .footer-contact__box-view-more{
        width: 300px;
    }
    #footer .footer-contact__box-view-more a{
        font-size: 16px;
    }
    #footer .footer-contact__box-tel__text a{
        font-size: 32px;
    }
    #footer .footer-contact__box-tel__icon img{
        width: 38px;
    }
    #footer .footer-contact__box-tel__text span{
        font-size: 11px;
    }

    /* MV CHANGE 250124 */
    .mv__flex__catchcopy{
        width:35%;
        padding: 70px 0;
    }
    .mv__flex__content{
        width:65%;
        padding:70px 0;
        padding-right:100px;
    }
    .mv__flex__sliders{
        width:100%;
    }
    .mv__flex__catchcopy__text{
        font-size:3vw;
    }
    .mv__flex__content__title__area{
        font-size:2.5vw;
    }
    .mv__flex__content__title__name{
        font-size:10vw;
    }
    .mv__flex__content__detail{
        font-size:3vw;
    }
    .mv__flex__content__entxt img{
        width:26vw;
    }
    .mv__flex__content__shoplogo {
        text-align: left;
        padding-left: 14%;
    }
    .mv__flex__content__shoplogo img{
        width:26vw;
    }



    /* TOP */
    .top-house__slider .slick-next{
        right: 20px;
    }
    .top-house__slider .slick-prev{
        left: 20px;
    }
    .mv-box__ttl{
        font-size: 2.1vw;
    }
    .mv-box__text-img img{
        width: 320px;
    }
    .mv-img img{
        margin-top: 0;
    }
    .mv-box__att{
        font-size: 14px;
        margin-top:20px;
    }
    .mv-box__att--img{
        width:17vw;
    }
    .mv-topics{
        max-width: 100%;
        position: initial;
        box-shadow: none;
        border-radius: 0px;
        margin-top: 30px;
        padding: 0 10px;
    }
    .mv-scroll{
        display: none;
    }
    .mv-topics__ttl{
        padding: 0;
    }
    .top-event__cont{
        grid-template-columns: repeat(2,1fr);
        gap: 50px 30px;
    }
    .top-house__slider-item{
        width: calc(100vw - 80px);
        margin: 0 10px;
    }
    .top-house__slider .slick-prev, .top-house__slider .slick-next{
        width: 40px;
        height: 40px;
    }
    .top-house__cat{
        display: block;
    }
    .top-house-cat-list{
        width: 100%;
        padding-right: 0;
        margin-bottom: 20px;
    }
    .top-house__cat-box__btn{
        margin-left: auto;
    }
    .top-house__cont{
        grid-template-columns: repeat(1,1fr);
    }


    /* PAGE */
    .page-mv{
        padding-top: 40px;
    }
    .page-mv__title-en{
        font-size: 42px;
    }
    .page-mv__title-text{
        font-size: 14px;
    }
    .event-archive__content{
        grid-template-columns: repeat(2,1fr);
    }


    /* 物件情報 */
    .property-single__info{
        grid-template-columns: repeat(1,1fr);
    }
    .property-single__data-table table th, .property-single__data-table table td{
        display: block;
        width: 100% !important;
        text-align: left;
    }

    .top-campaign-bnr__img{
        padding: 30px 20px 0;
    }
}


@media screen and (max-width: 767px) {
    body{
        padding-top: 65px;
    }

    /* COMMON */
    .wrap{
        overflow: initial;
    }
    .table-grad:after{
        display: none;
    }
    .table-wrap{
        white-space: normal;
        margin-bottom: 0;
    }


    /* HEADER */
    .nav-toggle{
        width: 26px;
    }
    #header .header-logo__img img{
        width: 75px;
    }
    #header .header-logo a span{
        font-size: 14px;
        padding: 0 10px;
        border-width: 2px;
    }
    #header .header-logo a{
        column-gap: 20px;
    }

    #header .header-cont__link.sp{
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        transition: var(--transition);
        box-shadow: 0 0 10px rgb(140 140 140 / .25);
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 0;
    }
    #header .header-cont__link.sp li a{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        color: #fff !important;
        padding: 6px 0;
    }
    #header.open .header-cont__link.sp{
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
    }
    #header.open .header-btn{
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    #header .header-cont__link.sp li a.color-mail{
        background-color: #FF4832;
    }
    #header .header-cont__link.sp li a.color-document{
        background-color: #0088CE;
    }
    #header .header-cont__link.sp li a.color-reserve{
        background-color: #008A44;
    }
    #header .header-cont__link.sp li:not(:last-child){
        margin-bottom: 0;
    }
    #header .header-cont__link.sp li a img{
        width: 32px;
        margin-left: -10px;
        margin-right: 0;
    }


    /* ASIDE */
    #aside{
        right: 5px;
        transform: initial;
        bottom: 50px;
        top: auto;
    }
    #aside img{
        width: 55px;
    }


    /* FOOTER */
    #footer .footer-flex__box-logo img{
        width: 140px;
    }
    #footer .footer-flex__box-name span{
        font-size: 16px;
        border-width: 2px;
    }
    #footer .footer-flex__box-text{
        font-size: 13px;
    }
    #footer .footer-map{
        border-radius: 10px;
        margin: 30px 0 40px;
    }
    #footer .footer-map iframe{
        height: 250px;
    }
    #footer .footer-contact{
        margin-top:50px !important;
    }
    #footer .footer-contact__title {
        transform: translateY(-15px);
        margin-bottom: -15px;
    }
    #footer .footer-contact__text{
        font-size: 12px;
        margin: 20px 0;
    }
    #footer .footer-contact__box-tel__text a{
        font-size: 24px;
    }
    #footer .footer-contact__box-tel__text{
        padding-left: 8px;
    }
    #footer .footer-contact__box-tel{
        gap: 0;
        align-items: flex-start;
        justify-content: center;
    }
    #footer .footer-contact__box-tel__icon img{
        width: 18px;
        display: block;
        position: relative;
        bottom: -2px;
    }
    #footer .footer-contact__box-view-more a{
        font-size: 14px;
    }
    #footer .footer-contact__box-view-more{
        width: 100%;
        margin-top: 20px;
    }
    #footer .footer-contact{
        border-radius: 8px;
        padding: 12px;
    }
    #footer .footer-contact__inner{
        border-radius: 8px;
        padding: 0 20px 20px;
    }
    #footer .footer-contact__box{
        display: block;
        text-align: center;
    }

    .footer-staff{
        padding:50px 0;
    }
    .footer-staff__title{
        margin-bottom:30px;
    }
    .footer-staff__title--jp{
        font-size:26px;
    }
    .footer-staff__staffs{
        grid-template-columns:1fr;
    }
    .footer-staff__staff--name {
        margin: 10px 0 8px !important;
        padding-bottom: 8px;
        font-size: 18px;
    }
    .footer-staff__staff--comment{
        font-size:14px;
    }


    /* MV CHANGE 250124 */
    .mv__flex__catchcopy{
        width:25%;
        padding: 30px 0;
    }
    .mv__flex__content{
        width:75%;
        padding:30px 0;
        padding-right:0;
    }
    .mv__flex__catchcopy__text{
        font-size:4vw;
    }
    .mv__flex__content__title__area{
        font-size:4vw;
    }
    .mv__flex__content__title__name{
        font-size:14vw;
    }
    .mv__flex__content__detail{
        font-size:4.7vw;
    }
    .mv__flex__content__entxt img{
        width:37vw;
    }
    .mv__flex__content__shoplogo {
        text-align: left;
        padding-left: 10%;
    }
    .mv__flex__content__shoplogo img{
        width:40vw;
    }
    .mv__slide{
        padding-bottom:6px;
        padding-right:6px;
    }


    /* TOP */
    .mv-img{
        position: relative;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
    }
    .mv-img img{
        /*
        height: 100%;
        border-radius: 8px;
        object-position: 84%;
        */
        max-width:unset;
        width:103%;
        height: auto;
        width: calc(100% + 10px);
        margin-right: -10px;
        border-radius: 0;
    }
    .mv-img::before{
        background: radial-gradient(rgb(0 0 0 / .1), transparent);
    }
    .mv-box{
        margin-top: 20px;
        padding: 0 20px 40px;
        position: initial;
        transform: initial;
    }
    .mv-box__ttl{
        font-size: 16px;
        margin-bottom: 15px;
        text-align: center;
    }
    .mv-box__text-img{
        text-align:center;
    }
    .mv-box__text-img img{
        width: 190px;
    }
    .mv-box__att{
        width:100%;
        font-size: 12px;
        margin-top: 20px;
        flex-wrap:wrap;
        justify-content:center;
        gap: 30px;
        text-align:center;
    }
    .mv-box__att--img{
        width:100%;
        text-align:center;
    }
    .mv-box__att--img img{
        max-width:240px;
    }
    .mv-topics__ttl{
        width: 100%;
        border-right: none;
        margin-bottom: 20px;
    }
    .mv-topics__cont{
        width: 100%;
        padding-left: 0;
    }
    .mv-topics__cont-meta{
        width: auto;
        gap: 20px;
    }
    .mv-topics__cont-text{
        width: 100%;
        padding: 0;
        margin-top: 6px;
    }
    .mv-topics__cont-text a {
        font-size: 14px;
        white-space: normal;
        overflow: initial;
    }
    .title-en::before{
        height: 40px;
        margin-bottom: 5px;
    }
    .title{
        margin-bottom: 30px;
    }
    .title-en{
        font-size: 14px;
        line-height: 1.3;
    }
    .title-text{
        font-size: 26px;
        line-height: 1.5;
    }
    .top-event .fadein{
        opacity: 1 !important;
        transform: translate(0, 0) !important;
    }
    .top-event__cont{
        grid-template-columns: repeat(1,1fr);
    }
    .event-card__thumb{
        border-radius: 10px;
    }
    .event-card__title{
        font-size: 18px;
    }
    .event-card__excerpt{
        font-size: 14px;
    }
    .view-more.mt{
        margin-top: 60px;
    }
    .top-bnr__cont-slider-wrap{
        width: 100%;
    }
    .top-bnr__cont-slider-wrap{
        padding: 0 4px;
        gap: 4px;
    }
    .top-bnr__cont-slider__item{
        margin: 2px 0;
    }
    .top-bnr__cont-box__ttl{
        font-size: 20px;
        margin-bottom: 10px;
    }
    .top-bnr__cont-box__inner{
        padding-right: 0;
        display: block;
    }
    .top-bnr__cont-box{
        width: 100%;
        text-align: center;
        padding: 30px 0;
    }
    .top-bnr__cont{
        display: block;
        border-radius: 10px;
    }
    .top-bnr__cont-box__inner{
        text-align: center;
    }
    .top-bnr__cont-box__text{
        font-size: 13px;
        margin-bottom: 15px;
    }
    .top-bnr__cont-box__count strong{
        font-size: 82px;
    }
    .top-bnr__cont-box__count small{
        font-size: 14px;
    }
    .top-bnr__cont-box__count img{
        width: 20px;
        position: relative;
        bottom: -4px;
    }
    .top-bnr__cont-box__att{
        font-size: 12px;
        text-align: center;
    }
    .top-house-cat-list-wrap{
        padding: 20px;
    }
    .top-house-cat-list-wrap__inner-text{
        font-size: 14px;
    }
    .house-area-list li{
        font-size: 13px;
    }
    .top-house-area-list:not(:last-child){
        margin-bottom: 8px;
    }
    .house-area-list{
        gap: 8px 5px;
    }
    .top-house::before {
        height: calc(var(--padding) + 20px);
    }
    .top-house__slider-item__box{
        position: initial;
        color: var(--base-color);
        transform: initial;
        margin-top: 15px;
    }
    .top-house__slider-item__box-meta__title{
        font-size: 18px;
    }
    .top-house__slider-item__box-meta{
        display: block;
        margin-bottom: 10px;
    }
    .top-house__slider-item__box-meta__cat span{
        border-color: var(--base-color);
        background-color: var(--base-color);
        color: #fff;
    }
    .top-house__slider-item__box-info dl,
    .top-house__slider-item__box-info dl:last-child{
        border-color: #9C9C9D;
    }
    .top-house__slider-item__img::before{
        display: none;
    }
    .top-house__slider-item__img{
        border-radius: 10px;
    }
    .top-house__slider .slick-prev, .top-house__slider .slick-next{
        width: 34px;
        height: 34px;
        transform: initial;
        top: 21vw;
    }
    .top-house__slider .slick-dots li, .top-house__slider .slick-dots li button, .top-house__slider .slick-dots li button:before{
        width: 10px;
        height: 10px;
    }
    .house-cat-list li{
        font-size: 13px;
    }
    .house-cat-list{
        gap: 8px 12px;
    }
    .house-cat-list li::before{
        display: none;
    }
    .top-house__cat-box__btn{
        max-width: 100%;
    }
    .house-card{
        border-radius: 8px;
        padding: 20px;
    }
    .house-card__meta-title{
        margin-top: 10px;
        font-size: 18px;
    }
    .house-card__info{
        grid-template-columns: repeat(1,1fr);
        gap: 20px;
    }
    .house-card__info-thumb img{
        border-radius: 8px;
    }
    .house-card__info-box__text{
        margin-bottom: 5px;
    }
    .house-card__detail-label__room{
        width: 100%;
        margin-bottom: 10px;
    }
    .house-card__detail-label__box{
        width: 100%;
        padding-left: 0;
    }
    .house-card__detail-label__box-item{
        margin-bottom: 0;
    }
    .house-card__btn{
        margin-top: 20px;
        text-align: center;
    }
    .house-card__btn-input{
        display: block;
        width: 100%;
        padding: 5px 0;
    }
    .top-house__favorite{
        margin-top: 30px;
        text-align: right;
    }
    .top-house__favorite span{
        font-size: 13px;
        padding: 8px 20px;
    }


    /* PAGE */
    .page-mv{
        padding-top: 20px;
        margin-bottom: 30px;
    }
    .page-mv__title-en{
        font-size: 30px;
        gap: 15px;
    }
    .page-mv__title-en::before, .page-mv__title-en::after{
        width: 22px;
    }


    /* EVENT */
    .event-archive__content {
        grid-template-columns: repeat(1,1fr);
    }
    .topics-single__header-date{
        font-size:13px;
    }
    .topics-single__header-title{
        font-size: 18px;
    }
    .topics-single__body{
        font-size: 14px;
    }


    /* 物件情報 */
    .property-single__title{
        font-size: 20px;
    }
    .property-single__price span{
        font-size: 12px;
        padding: 0 10px;
        height: 22px;
        line-height: 22px;
        margin-right: 10px;
    }
    .property-single__price{
        font-size: 32px;
    }
    .property-single__price small{
        font-size: 14px;
    }
    .property-single__img.grid{
        grid-template-columns: repeat(1,1fr);
    }
    .property-single__img-thumb{
        gap: 5px;
        margin-top: 5px;
    }
    .property-single__img-slider__item {
        aspect-ratio: 16 / 13;
    }
    .property-single__info{
        padding: 20px;
    }
    .property-single__info dl{
        display: block;
    }
    .property-single__info dl dt{
        text-align: center;
    }
    .property-single__info dl dd{
        font-size: 14px;
        padding-top: 2px;
    }


    /* フォーム */
    .form-wrap dl{
        display: block;
        padding: 20px 0;
    }
    .form-wrap dl dt,
    .form-wrap dl dd{
        width: 100%;
        font-size: 14px;
    }
    .form-wrap dl dt{
        margin-bottom: 10px;
    }
    .form-wrap dl dd{
        padding: 0;
    }
    .form-wrap dl dd input[type="text"], .form-wrap dl dd input[type="number"], .form-wrap dl dd input[type="email"], .form-wrap dl dd input[type="tel"], .form-wrap dl dd select{
        height: 45px;
    }
    .form-wrap__item-att{
        font-size: 12px;
    }
    .form-wrap dl dt span.must{
        top: 1px;
    }
    .form-wrap dl.longdl dt{
        display: flex;
        flex-direction: column;
    }
    .form-wrap dl.longdl dt span.must{
        margin-left:auto;
    }
    .contact-sec__text{
        font-size: 14px;
        text-align: left;
    }
    .contact-sec__text br{
        display: none;
    }
    .wpcf7-form-control.wpcf7-radio .wpcf7-list-item-label::before, .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label::before{
        top: 5px;
    }
    .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label::after{
        font-size: 18px;
        top: -7px;
    }
    .wpcf7-form-control.wpcf7-radio .wpcf7-list-item-label::after{
        top: 8px;
    }

    /* Lightbox */
    .lightbox{
        position:fixed;
        top:50% !important;
        transform:translateY(-50%);
    }
}