@charset "utf-8";
#kuzu_wrap {
	display: none !important;
}

@media screen and (max-width:480px){
	.swipe_main img {
		width: 800px;
		max-width: 800px;
	}
}

.main_space .copy{
	color: #fff;
}
.txt01{
	margin: 0;
}

div#container{
	max-width: none;
	padding: 0;
}
.design_content sup{
	vertical-align: super;
	font-size: 10px;
}
@media screen and (max-width:480px){
	.design_content sup{
		vertical-align: super;
		font-size: 8px;
	}
}

.sec_ttl_wrap {
	display: flex;
}
.sec_ttl_wrap.rv {
	flex-direction: row-reverse;
}

.sec_ttl_wrap .img {
	width: calc(1100% / 16);
}
.sec_ttl_wrap .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sec_ttl_wrap .txt {
	width: calc(500% / 16);
	border-top: solid 1px #817f7f;
	border-bottom: solid 1px #817f7f;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: clamp(11px, calc(18vw / 16), 18px);
	font-feature-settings: "palt";
	gap: 4em;
	padding: 5px 10px;
	text-align: center;
	box-sizing: border-box;
}
.sec_ttl_wrap .txt.bk {
	background: #000;
	color: #fff;
}
.sec_ttl_wrap .txt .t3 {
	line-height: 2.2;
	
}
@media screen and (max-width:767px){
	.sec_ttl_wrap {
		display: block;
	}
	.sec_ttl_wrap .img {
		width: 100%;
	}
	.sec_ttl_wrap .txt {
		width: 100%;
		border-top: none;
		border-bottom: none;
		gap: 1.4em;
		padding: 40px 20px 35px;

	}
}
@media screen and (max-width:480px){
	.sec_ttl_wrap .txt {
		font-size: calc(14vw / 3.9);
	}
}

.sec {
	position: relative;
	overflow: hidden;
}
.sec1{
	background: #000008;
}
.sec02{
	max-width: calc(100% - 20px);
	margin-left: calc((100% - 1480px) / 2);
}
.sec02 .text_box{
	width: calc(740% / 15.4);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-top: 20px;
	padding-bottom: calc(80% / 15.4);
}
.sec02 .text_box .txt01{
	text-align: left;
	margin-bottom: 1em;
}
.sec02 .text_box .txt02{
	line-height: calc(48 / 18);
	margin-bottom: calc(60% / 7.4);
}
.sec02_list .item{
	display: flex;
	align-items: center;
	gap: 0 calc(25% / 7.4);
}
.sec02_list .item + .item{
	margin-top: calc(50% / 7.4);
}
.sec02_list .item .item_number{
	width: calc(111% / 7.4);
	line-height: 0;
	text-align: center;
}
.sec02_list .item .item_number img{
	/*display: block;*/
	margin-inline: auto;
}
.sec02_list .item01 .item_number img{
	width: calc(105% / 1.11);
}
.sec02_list .item02 .item_number img{
	width: calc(53% / 1.11);
}
.sec02_list .item03 .item_number img{
	width: calc(111% / 1.11);
}
.sec02_list .item04 .item_number img{
	width: calc(52% / 1.11);
}
.sec02_list .item .balloon{
	width: calc(17% / 7.4);
	line-height: 0;
}
.sec02_list .item .item_text_box{
	width: calc(560% / 7.4);
}
.sec02_list .item .item_text_box .item_head{
	font-size: clamp(16px, calc(21vw / 16), 21px);
	line-height: 1.6;
	margin-bottom: 0.8em;
	font-weight: 700;
}
.sec02_list .item .item_text_box .item_text{
	font-size: clamp(12px, calc(16vw / 16), 16px);
	line-height: calc(30 / 16);
	font-weight: 700;
}
.sec02 .image_box{
	width: calc(770% / 15.4);
	align-self: flex-end;
}
@media screen and (max-width:1520px){
	.sec02{
		margin-left: auto;
	}
}
@media screen and (max-width:1000px){
	.sec02{
		max-width: 100%;
		flex-direction: column;
		gap: 40px 0;
	}
	.sec02 .text_box{
		width: calc(100% - 40px);
		margin-inline: auto;
		align-items: center;
		padding-bottom: 0;
	}
	.sec02_list {
		max-width: 600px;
		width: 100%;
		margin-inline: auto;
	}
	.sec02 .image_box{
		width: 100%;
		align-self: flex-end;
	}
}
@media screen and (max-width:480px){
	.sec02 .text_box .txt01{
		text-align: center;
	}
	.sec02 .text_box .txt02{
		text-align: center;
		line-height: 2;
		margin-bottom: 30px;
		margin-bottom: 50px;
	}
	.sec02_list .item{
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}
	.sec02_list .item + .item{
		margin-top: 25px;
	}
	.sec02_list .item .item_number{
		width: calc(110% / 4.4);
		width: calc(70% / 4.4);
		margin-inline: auto;
	}
	.sec02_list .item .balloon{
		width: calc(200% / 4.4);
		line-height: 0;
	}
	.sec02_list .item .item_text_box{
		width: 100%;
	}
	.sec02_list .item .item_text_box .item_head{
		text-align: center;
		font-size: calc(18vw / 3.9);
	}
	.sec02_list .item .item_text_box .item_text{
		font-size: calc(13vw / 3.9);
	}
}


.sec03{
	position: relative;
}

.sec03 .txt01{
	position: absolute;
	top: calc(85% / 7.25);
	left: calc(85% / 16);
	line-height: 1;
	z-index: 2;
	color: #fff;
	text-shadow: 0 0 3px #000000, 2px 2px 3px #000000, -2px 2px 3px #000000, -2px -2px 3px #000000, 2px -2px 3px #000000;
	font-size: clamp(17px, calc(27vw / 9.6), 27px);
}
.sec03 .design_name{
	position: absolute;
	z-index: 2;
	line-height: 0;
	width: 269px;
	bottom: calc(15% / 7.25);
	left: calc(15% / 16);
}
@media screen and (max-width:1280px){
	.sec03 .design_name{
		width: calc(269% / 12.8);
	}
}
@media screen and (max-width:480px){
	.sec03_image .swipe_inn img{
		max-width: none;
		width: 1000px;
	}
	.sec03 .txt01{
		line-height: 1.6;
		top: 1.5em;
		left: 0.5em;
		right: 0.5em;
		text-align: center;
		font-size: calc(16vw / 3.9);
	}
	.sec03 .design_name{
		width: calc(182% / 4.4);
		bottom: 5px;
		left: 5px;
	}
}

.sec04{
	background: #000;
	padding-top: 90px;
	color: #fff;
}
.sec04 .inner{
	max-width: 1480px;
}
.sec04_lead_image_box{
	max-width: 1280px;
	margin-inline: auto;
	margin-bottom: 50px;
}
.sec04_lead_image_box .design_name{
	position: absolute;
	z-index: 2;
	line-height: 0;
	width: calc(355% / 12.8);
	bottom: calc(15% / 7.25);
	left: calc(15% / 16);
}
.sec04_lead_text{
	line-height: calc(48 / 18);
}
.sec04_b_head{
	width: calc(984% / 14.8);
	margin-inline: auto;
	margin-top: 100px;
}
.sec04_wrap{
	margin-top: 80px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.sec04_wrap .image_box{
	width: calc(700% / 14.8);
}
.sec04_wrap .image_box .t_cap{
	bottom: calc(160% / 9.82);
	right: 10px;
}
.sec04_wrap .sec04_right{
	width: calc(740% / 14.8);
}
.sec04_wrap .sec04_right .sec04_r_head{
	font-size: clamp(16px, calc(23vw / 16), 23px);
	font-size: clamp(16px, calc(25vw / 16), 25px);
	line-height: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	font-weight: 700;
	color: #96792c;
	gap: 0.5em;
	margin-bottom: 1em;
}
.sec04_wrap .sec04_right .sec04_r_head .text_jp{
	font-size: 0.8em;
}
.material_wrap{
	margin-bottom: calc(30% / 7.4);
}
.material_wrap .cap_r{
	color: #fff;
}
.material_image_wrap{
	display: grid;
	grid-auto-flow: dense;
	align-items: start;
	align-content: start;
	grid-template-columns: calc(280% / 7.4) repeat(4,1fr);
	margin-bottom: 5px;
	gap: clamp(10px,calc(30vw / 15.2),30px) calc(34% / 7.4);
}
.material_image_wrap .material_image_lg{
	grid-row: 1 / 3;
	margin-right: calc(10% / 2.8);
}
.concept_wrap{
	margin-top: calc(60% / 7.4);
	border-top: 1px solid #96792c;
	border-bottom: 1px solid #96792c;
	padding-top: calc(40% / 7.4);
	padding-bottom: calc(40% / 7.4);
	display: flex;
	justify-content: space-between;
	gap: 0 calc(10% / 7.4);
}
.concept_wrap .text_box_left{
	display: flex;
	flex-direction: column;
	gap: 15px 0;
	justify-content: space-between;
}
.concept_wrap .text_box_left .sec04_r_head{
	align-items: flex-start;
	text-align: left;
}
.concept_wrap .text_box_left .name_box{
	font-size: clamp(16px, calc(22vw / 16), 22px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.6em;
	line-height: 1;
}
.concept_wrap .text_box_left .name_box .position{
	font-size: calc(15em / 22);
	line-height: calc(24 / 15);
}
.concept_wrap .concept_text{
	font-size: clamp(12px, calc(15vw / 16), 15px);
	line-height: calc(26 / 15);
	width: calc(480% / 7.4);
	flex-shrink: 0;
}
@media screen and (max-width:1000px){
	.sec04_wrap{
		flex-direction: column-reverse;
		align-items: center;
		gap: 30px 0;
	}
	.sec04_wrap .image_box{
		max-width: 700px;
		width: 100%;
	}
	.sec04_wrap .sec04_right{
		position: relative;
		z-index: 2;
		max-width: 740px;
		width: 100%;
	}
}
@media screen and (max-width:480px){
	.sec04{
		padding-top: 50px;
	}
	.sec04_lead_image_box{
		margin-bottom: 40px;
	}
	.sec04_lead_image .swipe_inn img{
		max-width: none;
		width: 600px;
		/*width: 780px;*/
	}
	.sec04_lead_image_box .design_name{
		width: calc(240% / 4.4);
		left: 5px;
		bottom: 5px;
	}
	.sec04_lead_text{
		line-height: 2;
	}
	.sec04_b_head{
		width: 90%;
		margin-top: 40px;
		margin-top: 60px;
		margin-bottom: 28px;
	}
	.sec04_wrap{
		margin-top: 30px;
	}
	.sec04_wrap .image_box .t_cap{
		bottom: calc(140% / 9.82);
	}
	.sec04_wrap .sec04_right .sec04_r_head{
		font-size: calc(20vw / 3.9);
		font-size: calc(18vw / 3.9);
	}
	.material_wrap{
		margin-bottom: 20px;
	}
	.material_image_wrap{
		display: grid;
		grid-auto-flow: dense;
		grid-template-columns: calc(293% / 7.4) repeat(4,1fr);
		margin-bottom: 5px;
		gap: calc(15vw/7.4) calc(20% / 7.4);
	}
	.material_image_wrap .material_image_lg{
		margin-right: 0;
	}
	
	.concept_wrap{
		margin-top: 30px;
		flex-direction: column;
		gap: 20px 0;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.concept_wrap .text_box_left{
		gap: 10px;
	}
	.concept_wrap .text_box_left .sec04_r_head{
		align-items: center;
		text-align: center;
	}
	.concept_wrap .text_box_left .name_box{
		font-size: calc(18vw / 3.9);
		align-items: center;
		text-align: center;
	}
	.concept_wrap .concept_text{
		width: 100%;
		font-size: calc(13vw / 3.9);
		font-size: calc(12vw / 3.9);
	}
}

.sec05{
	padding-top: 80px;
	padding-bottom: 20px;
}
.sec05 .inner{
	max-width: 1480px;
}

.sec05_lead_wrap{
	margin-bottom: 5px;
}
.sec05_lead_wrap .text_head{
	line-height: 0;
}
.sec05_lead_wrap .txt01{
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
.sec05_lead_wrap .txt02{
	line-height: calc(45 / 18);
}
.sec05_wrap{
	display: flex;
	align-items: flex-start;
	align-items: center;
	justify-content: space-between;
}
.sec05_wrap .landplan_image{
	width: calc(788% / 14.8);
}
.sec05_wrap .landplan_image .landplan_cap{
	position: absolute;
	z-index: 1;
	width: calc(604% / 7.88);
	left: 0;
	right: 0;
	bottom: calc(83% / 10.43);
	margin-inline: auto;
}
.sec05_wrap .landplan_image .t_cap_b{
	bottom: calc(300% / 10.43);
	right: calc(45% / 7.88);
}
.sec05_wrap .sec05_list{
	width: calc(660% / 14.8);
	display: grid;
	align-items: start;
	align-content: start;
	grid-auto-flow: dense;
	grid-template-columns: repeat(3,1fr);
	gap: clamp(20px,calc(40vw / 14.8),40px) calc(29% / 6.6);
}
.sec05_wrap .sec05_list .item .text_box{
	margin-top: calc(15% / 2);
}
.sec05_wrap .sec05_list .item .text_box .item_head{
	font-size: clamp(13px, calc(18vw / 16), 18px);
	line-height: 1;
	display: flex;
	align-items: center;
	color: #846a24;
	gap: 0.25em;
	padding-bottom: 0.5em;
	margin-bottom: 0.7em;
	border-bottom: 1px solid;
	font-weight: 700;
}
.sec05_wrap .sec05_list .item .text_box .item_head .number{
	width: calc(19em / 18);
	line-height: 0;
}
.sec05_wrap .sec05_list .item .text_box .item_text{
	font-size: clamp(11px, calc(15vw / 16), 15px);
	line-height: calc(24 / 15);
	font-weight: 700;
}
.sec05_wrap .sec05_list .item .text_box .item_text.lh{
	letter-spacing: -0.05em;
}
@media screen and (max-width:1000px){
	.sec05_wrap{
		flex-direction: column;
		gap: 10px 0;
		align-items: center;
	}
	.sec05_wrap .landplan_image{
		max-width: 788px;
		width: 100%;
	}
	.sec05_wrap .sec05_list{
		max-width: 660px;
		width: 100%;
	}
}
@media screen and (max-width:480px){
	.sec05{
		padding-top: 50px;
		padding-bottom: 40px;
	}

	.sec05_lead_wrap{
		margin-bottom: 30px;
	}
	.sec05_lead_wrap .text_head{
		font-size: calc(16vw / 3.9);
		margin: 0.8em;
	}
	.sec05_lead_wrap .txt01{
		margin-top: 1em;
		margin-bottom: 1em;
	}
	.sec05_lead_wrap .txt02{
		line-height: 2;
	}
	.sec05_wrap{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.sec05_wrap .landplan_image .l_img{
		margin-left: -16%;
		margin-right: -9%;
		width: 125%;
		max-width: none;
	}
	.sec05_wrap .landplan_image .landplan_cap{
		width: 100%;
		bottom: calc(50% / 10.43);
	}
	.sec05_wrap .landplan_image .t_cap_b{
		bottom: 0;
		right: 0;
	}
	.sec05_wrap .sec05_list{
		grid-template-columns: repeat(2,1fr);
		gap: 28px 4%;
	}
	.sec05_wrap .sec05_list .item .text_box{
		margin-top: 10px;
	}
	.sec05_wrap .sec05_list .item .text_box .item_head{
		font-size: calc(15vw / 3.9);
	}
	.sec05_wrap .sec05_list .item .text_box .item_text{
		font-size: calc(12vw / 3.9);
	}
	.sec05_wrap .sec05_list .item_last{
		grid-column: span 2;
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
	}
	.sec05_wrap .sec05_list .item_last .image_box,
	.sec05_wrap .sec05_list .item_last .text_box{
		width: 48%;
		margin-top: 0;
	}
	
}

.s_box {
	display: inline-block;
	position: relative;
}
.s_box sup {
	display: inline-block;
	position: absolute;
	right: 0;
	top: 0.4em;
}


