@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Bellefair&family=Cinzel&display=swap');

/*=======================================
	base
=======================================*/


/* wide */
.w1600 {
	max-width: 1600px;
	width: 90%;
	margin: auto;
}


/*=======================================
design_wrap
=======================================*/
/* page_title */
#design_wrap .page_title.design {
    background: url(../img/design/design_mv.jpg) no-repeat center center;
    background-size: cover;
    padding: 0;
    height: 390px;
    position: relative;
    margin: 0;
}
#design_wrap .page_title.design h2 {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 72px;
    text-shadow: 4px 4px 9px #000;
}
#design_wrap .page_title.design h2 span{
    font-size: 24px;
    margin-top: -5px;
}

#design_wrap .page_title.design .caption_mv {
	position: absolute;
	bottom: 7px;
	right: 16px;
  font-size: 16px;
  color: #fff;
  text-shadow: 0 0 15px #555555;
	letter-spacing: 0.05em;
}



@media screen and (max-width: 768px) {
#design_wrap .page_title.design {
    height: 200px;
    }
    #design_wrap .page_title.design h2 {
        font-size: 36px;
    }
    #design_wrap .page_title.design h2 span{
        font-size: 16px;
    }
    #design_wrap .page_title.design .caption_mv {
      font-size: 12px;
    }

}

/* design_main */
#design_wrap .design_main{
background: url(../img/design/bg.jpg);
    background-size: cover;
    padding: 91px 0 62px;
    margin-bottom: 111px;
}
#design_wrap .design_main .content{
  display: flex;
  align-items: flex-end;
  justify-content: center;
gap: 1%;
}

#design_wrap .design_main .content .main_txtbox{
  color: #fff;
	max-width: 720px;
}

#design_wrap .design_main .content .main_txtbox .main_catch{
font-size: 32px;
letter-spacing: 0.05em;
line-height: 1.5;
margin-bottom: 43px;
}
#design_wrap .design_main .content .main_txtbox .main_txt{
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.9;
	margin-bottom: 30px;
}

#design_wrap .design_main .content .main_txtbox .material{
	display: flex;
	gap: 15px;
	align-items: stretch;
}

#design_wrap .design_main .content .main_txtbox .material p.cap{
	font-size: 10px;
	color: #fff;
	text-align: right;
	display: block;
	width: 100%;
}
#design_wrap .design_main .content .main_txtbox .left{width: 53%;}
#design_wrap .design_main .content .main_txtbox .right{
	display: flex;
	justify-content: space-between;
	gap: 10px 2%;
	flex-wrap: wrap;
	width: 43%;
}
#design_wrap .design_main .content .main_txtbox .right .mat_item{
	width: calc((100% - 4%)/3);
}


#design_wrap .design_main .content .main_imgbox{
  position: relative;
	min-width: 550px;
}

#design_wrap .design_main .content .main_imgbox .img01{
  padding-left: 7%;
}
#design_wrap .design_main .content .main_imgbox .img02{
  position: absolute;
  top: 22%;
  width: 23%;
}

#design_wrap .design_main .content .main_imgbox .img03{
  position: absolute;
  top: 37%;
  right: 0;
  width: 63.5%;
}

#design_wrap .design_main .content .main_imgbox .img04{
  position: absolute;
  top: 62%;
  right: 0;
  width: 24%;
  text-align: end;
}


#design_wrap .design_main .content .main_imgbox .img01 img{
  max-width: 80%;
  }

@media screen and (max-width: 1100px) {
  #design_wrap .design_main .content{
		flex-direction: column;
		align-items: center;
		gap: 30px;
  }
	#design_wrap .design_main .content .main_imgbox{
		position: relative;
		min-width: 90%;
	}

}

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

  #design_wrap .design_main{
        padding: 45px 0 31px;
        margin-bottom: 55px;
    }


  #design_wrap .design_main .content .main_txtbox .main_catch{
    font-size: 20px;
    margin-bottom: 21px;
    }
    #design_wrap .design_main .content .main_txtbox .main_txt{
      font-size: 14px;
    }

		#design_wrap .design_main .content .main_txtbox .material{
			flex-direction: column;
		}

		#design_wrap .design_main .content .main_txtbox .left{
			width: 100%;
		}
		#design_wrap .design_main .content .main_txtbox .left img{
			width: 100%;
		}
		#design_wrap .design_main .content .main_txtbox .right{
			width: 100%;
			display: flex;
			justify-content: space-between;
			gap: 10px 4%;
			flex-wrap: wrap;
		}
		#design_wrap .design_main .content .main_txtbox .right .mat_item{
			width: calc((100% - 4%)/2);
		}
		#design_wrap .design_main .content .main_txtbox .right .mat_item img{
			width: 100%;
		}
    #design_wrap .design_main .content .main_imgbox .img01{
      padding-left: initial;
    }

    #design_wrap .design_main .content .main_imgbox .img01 img{
      max-width: 100%;
    }


#design_wrap .design_main .content .main_imgbox .img02{
display: none;
  }

  #design_wrap .design_main .content .main_imgbox .img03{
    display: none;

  }

  #design_wrap .design_main .content .main_imgbox .img04{
    display: none;
  }

  #design_wrap .design_main .content .sp_imgbox.sp .img{
margin-bottom: 10px;}

#design_wrap .design_main .content .sp_imgbox.sp .img img{
image-rendering:auto;
max-width: 280px;
  }

  }

/* faced_container */

#design_wrap .faced_container{
	margin-bottom: 106px;
	}

	#design_wrap .faced_container .title{
		margin: 0 auto 63px;
		width: 50%;
	}

	#design_wrap .faced_container p{
		font-size: 32px;
		text-align: center;
		margin-bottom: 74px;
	}
	#design_wrap .faced_container .img{
		position: relative;
	}
	#design_wrap .faced_container p.caption_mv {
		position: absolute;
		bottom: 7px;
		right: 16px;
		font-size: 16px;
		color: #fff;
		text-shadow: 0 0 15px #555555;
		margin-bottom: 0;
		letter-spacing: 0.05em;
	}

	@media screen and (max-width: 768px) {
		#design_wrap .faced_container{
			margin-bottom: 53px;
			}

			#design_wrap .faced_container .title{
				margin: 0 auto 31px;
				width: 100%;
			}

			#design_wrap .faced_container p{
				font-size: 20px;
				margin-bottom: 37px;
			}
			#design_wrap .faced_container p.caption_mv {
				font-size: 12px;
			}

	}


/* approach_container */

#design_wrap .approach_container{
margin-bottom: 106px;
}

#design_wrap .approach_container .title{
  margin: 0 auto 63px;
  width: 50%;
}

#design_wrap .approach_container p{
  font-size: 32px;
  text-align: center;
  margin-bottom: 74px;
}
#design_wrap .approach_container .img{
	position: relative;
}
#design_wrap .approach_container p.caption_mv {
	position: absolute;
	bottom: 7px;
	right: 16px;
	font-size: 16px;
	color: #fff;
	text-shadow: 0 0 15px #555555;
	margin-bottom: 0;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  #design_wrap .approach_container{
    margin-bottom: 53px;
    }

    #design_wrap .approach_container .title{
      margin: 0 auto 31px;
      width: 100%;
    }

    #design_wrap .approach_container p{
      font-size: 20px;
      margin-bottom: 37px;
    }
		#design_wrap .approach_container p.caption_mv {
			font-size: 12px;
		}

}


/* lounge_container */

#design_wrap .lounge_container{
  margin-bottom: 106px;
  }

  #design_wrap .lounge_container .title{
    margin: 0 auto 63px;
    width: 50%;
  }

  #design_wrap .lounge_container p{
    font-size: 32px;
    text-align: center;
    margin-bottom: 74px;
  }
  #design_wrap .lounge_container .img{
		position: relative;
  }
	#design_wrap .lounge_container p.caption_mv {
		position: absolute;
    bottom: 7px;
    right: 16px;
    font-size: 16px;
    color: #fff;
    text-shadow: 0 0 15px #555555;
		margin-bottom: 0;
		letter-spacing: 0.05em;
	}

  @media screen and (max-width: 768px) {
    #design_wrap .lounge_container{
      margin-bottom: 53px;
      }

      #design_wrap .lounge_container .title{
        margin: 0 auto 31px;
        width: 100%;
      }

      #design_wrap .lounge_container p{
        font-size: 20px;
        margin-bottom: 37px;
      }
			#design_wrap .lounge_container p.caption_mv {
				font-size: 12px;
			}

  }

	/* garden_container */

#design_wrap .garden_container{
  margin-bottom: 106px;
  }

  #design_wrap .garden_container .title{
    margin: 0 auto 63px;
    width: 50%;
  }

  #design_wrap .garden_container p{
    font-size: 32px;
    text-align: center;
    margin-bottom: 74px;
  }
  #design_wrap .garden_container .img{
		position: relative;
  }
	#design_wrap .garden_container p.caption_mv {
		position: absolute;
    bottom: 7px;
    right: 16px;
    font-size: 16px;
    color: #fff;
    text-shadow: 0 0 15px #555555;
		margin-bottom: 0;
		letter-spacing: 0.05em;
	}

  @media screen and (max-width: 768px) {
    #design_wrap .garden_container{
      margin-bottom: 53px;
      }

      #design_wrap .garden_container .title{
        margin: 0 auto 31px;
        width: 100%;
      }

      #design_wrap .garden_container p{
        font-size: 20px;
        margin-bottom: 37px;
      }
			#design_wrap .garden_container p.caption_mv {
				font-size: 12px;
			}

  }

		/* landplan_container */

#design_wrap .landplan_container{
  margin-bottom: 106px;
  }

  #design_wrap .landplan_container .title{
    margin: 0 auto 63px;
    width: 50%;
  }

  #design_wrap .landplan_container p{
    font-size: 32px;
    text-align: center;
    margin-bottom: 45px;
  }
  #design_wrap .landplan_container p.txt01{
    font-size: 18px;
    text-align: center;
    margin-bottom: 74px;
		letter-spacing: 0.075em;
		line-height: 2;
  }

	#design_wrap .landplan_container p.caption_mv {
		position: relative;
		text-align: right;
    font-size: 16px;
    color: #333;
    /* text-shadow: 0 0 15px #555555; */
		margin: 5px 0 0;
		letter-spacing: 0.05em;
	}

  @media screen and (max-width: 768px) {
    #design_wrap .landplan_container{
      margin-bottom: 53px;
      }

      #design_wrap .landplan_container .title{
        margin: 0 auto 31px;
        width: 100%;
      }

      #design_wrap .landplan_container p{
        font-size: 20px;
        margin-bottom: 20px;
      }
			#design_wrap .landplan_container p.txt01{
				font-size: 14px;
				margin-bottom: 37px;
			}
			#design_wrap .landplan_container p.caption_mv {
				font-size: 12px;
			}

  }

  
  #design_wrap .flex_area {
    max-width: 1600px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    gap: 3%;
  }
  #design_wrap .flex_area .item_left {
    width: 25%;
  }
  #design_wrap .flex_area .item_left .land_item li {
    counter-increment: land_item-counter; 
    background: #ddd4cc;
    padding: 20px;
    margin-bottom: 20px;
  }
  #design_wrap .flex_area .item_right .land_item {
    counter-reset: land_item-counter 5; 
  }
  #design_wrap .flex_area .item_right .land_item li {
    background: #ddd4cc;
    padding: 20px;
    margin-bottom: 20px;
  }
  #design_wrap .flex_area .land_item p.land_ttl {
    position: relative;
    padding: 5px 2.5em;
    border-top: solid 1px #652a25;
    border-bottom: solid 1px #652a25;
    font-weight: 600;
    font-size: 18px;
    text-align: left;
    margin-bottom: 10px;
  }
  #design_wrap .flex_area .item_left .land_item p.land_ttl:before {
    content: counter(land_item-counter) " ";
    position: absolute;
    top: 8px;
    left: 8px;
    background: #652a25;
    font-size: 15px;
    color: #fff;
    padding: 0 7px;
  }
  #design_wrap .flex_area .item_right .land_item p.land_ttl:before {
    counter-increment: land_item-counter; 
    content: counter(land_item-counter) " ";
    position: absolute;
    top: 8px;
    left: 8px;
    background: #652a25;
    font-size: 15px;
    color: #fff;
    padding: 0 7px;
  }
  #design_wrap .flex_area .land_item p {
    font-size: 14px;
    text-align: left;
    margin-bottom: 0;
  }
  #design_wrap .flex_area .item_left .land_item .land_ttl span.cap_txt {
    font-size: 12px;
  }
  .flex_area .img {
    width: 44%;
    text-align: center;
  }
  .flex_area .item_right {
    width: 25%;
  }
  
  @media screen and (max-width: 768px) {
    #design_wrap .flex_area {
      flex-wrap: wrap;
    }

    #design_wrap .flex_area .item_left {
      width: 100%;
      order: 1;
    }
    .flex_area .img {
      width: 100%;
      order: 0;
    }
    .flex_area .item_right {
      width: 100%;
      order: 2;
    }
    #design_wrap .flex_area .item_left .land_item li {
      margin-bottom: 10px;
    }
    #design_wrap .flex_area .right .land_item li {
      margin-bottom: 10px;
    }
    #design_wrap .flex_area .land_item p.land_ttl {
      font-size: 14px;
      padding: 5px 0 5px 2.5em;
    }
    #design_wrap .flex_area .land_item p {
      font-size: 12px;
    }
    
  #design_wrap .flex_area .item_right .land_item p.land_ttl:before,
  #design_wrap .flex_area .item_left .land_item p.land_ttl:before {
    font-size: 12px;
    top: 6px;
    left: 6px;
    padding: 0 6px;
  }
  }