@charset "utf-8";
.menu_item.residence{
    background: #b7c9cb;
}


.des_img01{
    margin: 0 auto 80px;
}


.design_dtl_box{
    margin: 100px auto;
}



.resi_ttl{
    text-transform: uppercase;
    color: #005660;
    font-weight: 600;
    font-size: 24px;
    margin-bottom: 0.8em;
}
.resi_name{
    font-size: 18px;
    font-weight: 600;
}
.design_dtl_item .resi_name{
    text-align: center;
    margin: 1.2em auto;
}
.design_dtl_item:not(:last-child){
    margin-bottom: 60px;
}
.resi_lead{
    text-align: justify;
    line-height: 2;
    font-size: 14px;
}

.resi_cap{
    font-size: 10px;
}

.design_dtl_item .resi_lead{
    width: 80%;
    margin: 0 auto;
}

.design_mat_box{
    margin: 100px auto;
}

.col2_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.col2_item{
    /* width: 46%; */
    width: 49%;
}
.col2_item:nth-child(n + 3){
    /* margin-top: 6%; */
    margin-top: 20px;
}
.col2_item .resi_name{
    margin: 1em auto;
}



.vision_ttl{
    color: #b3927b;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 22px;
    line-height: 1;
    padding: 0.7em 0;
    border-top: solid 1px #000;
}
.vision_ttl span{
    font-size: 1.3em;
}

.vision_column{
    border: solid 1px #000;
    padding: 40px 20px;
}
.vision_heading{
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 2em;
    line-height: 1.5;
}
.vision_lead{
    text-align: justify;
    line-height: 2;
}

.vision_flex{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin: 10px auto 30px;
    flex-wrap: wrap;
}

.vision_logo{
    mix-blend-mode: multiply;
    margin: 0 auto;
}
.vision_logo{
    width: 55%;
    max-width: 416px;
}
.vision_profile{
    width: 30%;
    max-width: 227px;
}
.vision_cap{
    font-size: 14px;
    line-height: 1.5;
    text-align: justify;
    margin-top: 30px;
}


.entrance_box{
    margin: 100px auto;
}
.entrance_item:not(:last-child){
    margin-bottom: 80px;
}

.entrance_green{
    padding: 0 0 100px;
    background-image: url(../img/residence/entrance_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.entrance_green{
    color: #000;
}

.entrance_item .resi_name{
    margin: 1em auto;
}

.green02 .resi_name{
    text-align: center;
}
.green02 .resi_lead{
    width: 90%;
    margin: 0 auto;
}
.landscape_map{
    mix-blend-mode: multiply;
    /* max-width: 1100px; */
    margin: 60px auto;
}

.plant_item{
    margin: 60px auto;
}


.plant_item .resi_name{
    text-align: center;
    margin: 1.2em auto;
}
/* .plant_item .resi_lead{
    width: 90%;
    margin: 0 auto;
} */

.plant_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.plant_list li{
    width: 33%;
}
/* .plant_list li:nth-child(n + 4){
    margin-top: 0.5%;
} */

.plant_table_box{
    margin: 80px auto 0;
}

.plant_table_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px auto 0;
}
.plant_table_cap{
    width: 60%;
    font-size: 12px;
    line-height: 1.5;
    text-align: justify;
}
.plant_table_logo{
    width: 36%;
    mix-blend-mode: multiply;
}

.cs_illust_box{
    margin: 20px auto 120px;
}
.cs_illust{
    mix-blend-mode: multiply;
    max-width: 800px;
    margin: 0 auto;
}

.cs_illust_box .resi_name{
    margin: 1.2em auto;
}
.share_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.share_flex:first-of-type{
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: #000 1px solid;
}
.share_text{
    width: 48%;
}
.share_text .resi_name{
    margin: 0.5em auto 0.5em;
}
.share_img{
    width: 48%;
}

.share_logo{
    max-width: 330px;
    margin: 20px auto 0;
    mix-blend-mode: multiply;
}

.kitchen_item .resi_name{
    margin: 1.2em auto;
}

.kitchen_item{
    margin: 120px auto;
}

.floor_map{
    mix-blend-mode: multiply;
    margin: 0 auto 120px;
}

.service_box.col2_flex{
    margin-top: 20px;
}


/* 20250901 */
.img_cap.img_cap_blk{
    color: #000;
}
.design_mat_box .resi_name {
    text-align: center;
    margin: 1.2em auto;
}
.resi_lead.t_al_j {
    text-align: justify;
    margin: 0;
    width: 100%;
}


/* 20251008 */
/* .txt_pink {
    color: #c7abbd;
}
.season_kanji {
    color: #000;
    font-size: 22px;
} */
.season_ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.season_kanji {
    color: #000;
    position: relative;
    line-height: 0.8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
    font-size: 20px;
    margin-left: 1em;
}
.season_kanji::before {
    content: "";
    height: 1px;
    background: #000;
    width: 20px;
}
.season_kanji::after {
    content: "";
    height: 1px;
    background: #000;
    width: 20px;
}

.season_box:nth-child(n+2) {
    margin-top: 30px;
}
.sec_ttl_ja02 {
    font-size: 20px;
    line-height: 1;
    /* margin: 1.5em auto; */
    line-height: 1.5;
}
.residence_map {
    mix-blend-mode: multiply;
    margin: 0 auto 80px;
}

.img_cap_bg {
    color: #fff;
    font-size: 18px;
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 100%;
    text-align: center;
    letter-spacing: 0.05em;
    background: rgba(35, 24, 21, 0.75);
    padding: 6.5px 5px;
}

/* 20251017 */
.txt_name {
    font-size: 20px;
    text-align: center;
    font-weight: 600;
    margin-top: 15px;
    line-height: 0.85em;
    letter-spacing: 0.3em;
}
.txt_name span {
    font-size: 10px;
    letter-spacing: 0.2em;
}
.ttl_box_flex {
    display: flex;
    align-items: center;
    margin-bottom: 0.8em;
    white-space: nowrap;
}
.ttl_box_flex.border::after{
    content: "";
    height: 1px;
    width: 100%;
    display: block;
    background: #005660;
}

.mg_l {
    margin-left: 0em;
    font-size: 16px;
    color: #000;
}
.mb0 {
    margin-bottom: 0;
}

/* 20251203 */
.villa_box{
    background-color: #0d656c;
    color: #fff;
    padding: 120px 0 100px;
}
.villa_box .resi_ttl{
    color: #fff;
}
.villa_box .mg_l{
    color: #fff;
}

.villa_img{
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}
.villa_item .resi_name{
    margin: 1em auto;
}

.com_img{
    max-width: 1000px;
    width: 100%;
    margin: 0  auto;
}

.com_text .resi_name{
    margin: 1em auto;
}

.mb80{
    margin-bottom: 80px;
}
.mb60{
    margin-bottom: 60px;
}




@media screen and (max-width: 1200px) {
.resi_name {
    font-size: 14px;
}
.resi_lead {
    font-size: 12px;
}


.vision_ttl {
    font-size: 20px;
}
.vision_heading {
    font-size: 18px;
}
.vision_lead{
    font-size: 14px;
}
.vision_cap {
    font-size: 12px;
}
.resi_ttl {
    font-size: 22px;
}
.season_kanji {
    font-size: 18px;
}
.season_kanji::before {
    width: 18px;
}
.season_kanji::after {
    width: 18px;
}
.sec_ttl_ja02 {
    font-size: 18px;
}
.img_cap_bg {
    font-size: 16px;
    letter-spacing: -0.1em;
}

/* 20251017 */
.txt_name {
    font-size: 18px;
}
}


@media screen and (max-width: 1000px) {

}




@media screen and (max-width: 850px) {
.resi_ttl {
    font-size: 20px;
}
.season_kanji {
    font-size: 16px;
}
.season_kanji::before {
    width: 16px;
}
.season_kanji::after {
    width: 16px;
}
.sec_ttl_ja02 {
    font-size: 16px;
}
.img_cap_bg {
    font-size: 14px;
}
}



@media screen and (max-width: 768px) {
.vision_logo {
    width: 100%;
    order: 2;
    margin-top: 30px;
    max-width: unset;
}
.vision_profile {
    width: 100%;
    order: 1;
    margin: 0 auto;
}
.vision_flex {
    margin: 20px auto 0px;
}

}




@media screen and (max-width: 650px) {

.arrow_btn{
    flex-wrap: wrap;
}
.resi_lead {
    line-height: 1.5;
}
.green02 .resi_lead {
    width: 100%;
}
.green02 .resi_name{
    text-align: left;
}
.entrance_green {
    padding: 0 0 60px;
}
.season_box:nth-child(n+2) {
    margin-top: 20px;
}
.plant_table_box{
    margin: 60px auto 0;
}
.residence_map {
    margin: 0 auto 60px;
}
.img_cap_bg {
    font-size: 12px;
    /* letter-spacing: -0.18em; */
}
.txt_name {
    font-size: 16px;
}
.mg_l {
    font-size: 12px;
}

.cs_illust_box{
    margin: 20px auto 80px;
}

.villa_box{
    padding: 60px 0 80px;
}


}



@media screen and (max-width: 550px) {
.resi_name {
    font-size: 13px;
}
.vision_lead {
    font-size: 13px;
    line-height: 1.8;
}
.vision_profile {
    width: 40%;
}
.sec_ttl_ja.long{
    letter-spacing: 0;
}
.entrance_box {
    margin: 60px auto;
}
.entrance_item:not(:last-child) {
    margin-bottom: 40px;
}
.resi_ttl {
    font-size: 18px;
}
.design_dtl_box {
    margin: 60px auto;
}
.design_dtl_item:not(:last-child) {
    margin-bottom: 40px;
}
.design_mat_box {
    margin: 60px auto;
}
.vision_ttl {
    font-size: 18px;
}
.landscape_map {
    margin: 40px auto;
}

.plant_table_flex{
    flex-wrap: wrap;
}
.plant_table_cap{
    width: 100%;
    order: 2;
}
.plant_table_logo{
    order: 1;
    margin: 0 auto 20px;
    max-width: 200px;
    width: 80%;
}
.share_flex{
    flex-wrap: wrap;
}
.share_text{
    width: 100%;
}
.share_logo{
    max-width: 200px;
    margin: 0px auto 0;
    width: 80%;
}
.share_img{
    width: 100%;
    margin: 0 auto 10px;
}
.kitchen_item {
    margin: 80px auto 60px;
}
.floor_map {
    margin: 0 auto 60px;
}
.season_kanji {
    font-size: 14px;
}
.season_kanji::before {
    width: 14px;
}
.season_kanji::after {
    width: 14px;
}
.sec_ttl_ja02 {
    font-size: 14px;
}
.img_cap_bg {
    letter-spacing: -0.18em;
}
.resi_name.long{
    letter-spacing: 0;
}
}



/* -------------------- section -------------------- */

.sec_text_box > p{
    font-size: 16px;
    margin-top: 20px;
    
}

@media screen and (max-width: 650px) {
    .sec_text_box > p{
    font-size: 13px;
    
}
}

