@charset "utf-8";

/* ----------------------------------------------------------------------------
	コンセプト
	concept
---------------------------------------------------------------------------- */
body {
}

#content #h_ttl_area{
	height: calc(100vh - 190px);
	background: url( "../../concept/img/main_img.jpg") bottom center/cover no-repeat;
	z-index: 5;
}
#content #h_ttl_area::before{
	content: none;
	display: block;
	padding-top: 100vh;
}
#content #h_ttl_area .cover{
	background: rgba(0,0,0,0.40);
}

#content #top_img_area{
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0px;
	left: 0;
	background: url("../../concept/img/top_img.jpg") center/cover no-repeat;
}
#content #top_img_area::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.55);
}
#content #top_img_area figcaption{
	position: absolute;
	bottom: 10px;
	right: 10px;
}

#content #top_area{
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	transition: top 0.3s ease;
}
#content #top_area.scroll{
	position: relative;
	top: auto;
	left: auto;
	height: auto;
	padding: 100vh 0 0 0;
	transition: top 0.3s ease;
}
#content #top_area .copy_area{
	height: 50%;
	position: absolute;
	bottom: 50%;
	left: 0;
	align-items: flex-end;
	align-content: flex-end;
}
#content #top_area.scroll .copy_area{
	bottom: 90px;
}
#content #top_area h2{
	width: 100%;
	font-size: 2.75rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.6;
	color: #FFF;
	text-align: center;
	transition: all 1.0s;
}
#content #top_area h4{
	width: 100%;
	font-size: 1.375rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.6;
	padding: 0 0 0.2em 0;
	color: #FFF;
	text-align: center;
	transition: all 1.0s;
}
#content #top_area h2.color{
	color: #FFF;
	transition: all 1.0s;
}
#content #top_area .copy_area{
	padding: 0 0 0 0;
}

#content #top_under{
	width: 100%;
	height: auto;
	position: relative;
	padding: 100vh 0 0 0;
	transition: top 0.3s ease;
}
#content #top_under.scroll{
	height: auto;
	padding: 0px 0 0 0;
	transition: top 0.3s ease;
}
#content #top_under p{
	text-align: center;
	padding: 0 0 60px 0;
}


#content .copy_area{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 0 90px 0;
}
#content .copy_area p{
	text-align: center;
}

#content h3{
	width: 100%;
	text-align: center;
	font-size: 1.625rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.6;
	padding: 0 0 1.0em 0;
}

@media only screen and (max-width: 999px) {
	#content #top_img_area{
		top: 0px;
	}

	#content #top_area.scroll .copy_area{
		bottom: 90px;
	}
	#content #top_area h2{
		font-size: 2.500rem;
	}

	#content #top_under{
		padding: 100vh 0 0 0;
	}
	#content #top_under.scroll{
		height: auto;
		padding: 0 0 0 0;
	}


	#content .copy_area{
		padding: 0 0 70px 0;
	}

	#content h3{
		font-size: 1.412rem;
	}
}
@media only screen and (max-width: 768px) {
	#content #top_img_area{
	}

	#content #top_area{
		width: 100%;
		box-sizing: border-box;
		padding: 0 0;
	}
	#content #top_area.scroll{
		padding: 100vh 0 0;
	}
	#content #top_area .copy_area{
		width: 100%;
		box-sizing: border-box;
		padding: 0 5%;
		height: 50%;
		position: absolute;
		bottom: 50%;
		left: 0;
		align-items: flex-end;
		align-content: flex-end;
	}
	#content #top_area.scroll .copy_area{
		bottom: 90px;
	}
	
	#content #top_area h2{
		font-size: 6vw;
		letter-spacing: -0.05em;
		text-align: left;
	}

	#content .copy_area{
		padding: 0 0 60px 0;
	}
	#content .copy_area p{
		text-align: left;
	}
	#content #top_under p{
		text-align: left;
	}
	
	#content h3{
		font-size: 1.375rem;
		text-align: left;
	}
}
@media only screen and (max-width: 480px) {
	#content #top_area h2{
		font-size: 6.5vw;
		text-align: left;
	}

	#content .copy_area{
		padding: 0 0 50px 0;
	}

	#content h3{
		font-size: 1.250rem;
		text-align: left;
	}
}




/* ----------------------------------------------------------------------------
	デザイン
	design
---------------------------------------------------------------------------- */


#content #design{
	width: 100%;
	margin: 120px 0 70px 0;
}
#content #design #top_box{
	width: 100%;
	padding: 0px 0 0 0;
	margin: 0 0 120px 0;
	position: relative;
	background: #ddd9d1;
	color: #4d4a52;
	overflow: hidden;
}
#content #design #top_box figcaption{
	position: absolute;
	bottom: 10px;
    right: 10px;
	padding: 0 0 0 0;
}
#content #design #top_box figure{
	width: 50%;
    margin: 0 auto;
	padding: 60px 0 0 0;
}

#content #design #top_box .in-box{
	position: absolute;
	top: 0;
    left: 50%;
	margin: 0 0 0 -500px;
	padding: 5% 0 0 0;
	text-align: left;
	z-index: 5;
}
#content #design #top_box .in-box h4.ttl{
	margin: 0 auto 0 0;
}
#content #design #top_box .in-box p{
	text-align: left;
}

@media only screen and (max-width: 1200px) {	
	#content #design #top_box .in-box{
		width: 80%;
		margin: 0 0 0 -40%;
		padding: 8% 0 0 0;
		text-align: left;
	}
	#content #design #top_box .in-box h4.ttl{
		margin: 0 auto 0 0;
	}
	
	#content #design #top_box figure{
		width: 50%;
		margin: 0 0 0 auto;
		padding: 60px 0 0 0;
	}
}
@media only screen and (max-width: 999px) {
	#content #design{
		margin: 100px 0 60px 0;
	}
	#content #design #top_box{
		padding: 0px 0 0 0;
		margin: 0 0 90px 0;
	}
	#content #design #top_box .in-box{
		width: 86%;
		margin: 0 0 0 -43%;
		padding: 7% 0 0 0;
		text-align: left;
	}
	#content #design #top_box .in-box h4.ttl{
		margin: 0 auto 0 0;
	}
}
@media only screen and (max-width: 768px) {
	#content #design{
		margin: 80px 0 40px 0;
	}
	#content #design #top_box{
		padding: 0px 0 0 0;
		margin: 0 0 60px 0;
	}
	#content #design #top_box .in-box{
		position: relative;
		top: auto;
		left: auto;
		width: 90%;
		margin: 0 auto 0 auto;
		padding: 30px 0 0 0;
		text-align: left;
	}
	#content #design #top_box .in-box h4.ttl{
		margin: 0 auto 0 0;
	}
	
	#content #design #top_box figure{
		width: 80%;
		margin: 0 auto 0 auto;
		padding: 40px 0 0 0;
	}

}
@media only screen and (max-width: 480px) {
	#content #design{
		margin: 60px 0 20px 0;
	}

}


#content #design .w_image_wrap{
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	text-align: center;
}
#content #design .w_image{
	width: 100%;
	position: relative;
}
#content .w_image::before{
	content: "";
	display: block;
	padding-top: 43.75%;
}
#content #design .w_image figcaption{
	position: absolute;
	bottom: 10px;
	right: 10px;
}
#content #design .w_image figcaption.cap{
	width: auto;
	height: 15px;
	position: absolute;
	bottom: 10px;
	right: auto;
	left: 10px;
}
#content .w_image figcaption.cap img{
	width: auto;
	height: 100%;
}

#content .w_image.img01{
	margin: 90px 0 60px 0;
	background: url("../../concept/img/img02.jpg") center center/cover no-repeat;
}
#content #design .w_image.img01::before{
	padding-top: 33.125%;
}
#content #design .w_image.img02{
	margin: 0px 0 120px 0;
	background: url("../../concept/img/img03.jpg") center center/cover no-repeat;
}
#content #design .w_image.img03{
	margin: 90px 0 60px 0;
	background: url("../../concept/img/img04.jpg") center center/cover no-repeat;
}
#content #design .w_image.img04{
	margin: 0 0 120px 0;
	background: url("../../concept/img/img05.jpg") center center/cover no-repeat;
}
#content #design .w_image.img04::before{
	padding-top: 47.125%;
}
#content #design .w_image.img05{
	margin: 20px 0 0 0;
	background: url("../../concept/img/img06.jpg") center center/cover no-repeat;
}
#content #design .w_image.img05::before{
	padding-top: 80.125%;
}


#content #design .in-box{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
}
#content #design h2{
	width: 100%;
	text-align: left;
	font-size: 2.000rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.6;
	padding: 0.7em 0 1.4em 0;
}
#content #design h2 span{
	font-weight: 400;
}
#content #design h3{
	width: 100%;
	text-align: center;
	font-size: 1.650rem;
	font-weight: 400;
	letter-spacing: 0.4em;
	font-family: "Cinzel", serif;
	line-height: 1.6;
	padding: 1em 0 1em 0;
}
#content #design p{
	width: 100%;
	text-align: center;
}

#content #design h4.ttl{
	width: auto;
	height: 20px;
	display: block;
	margin: 0 auto 0 auto;
}
#content #design h4.ttl img{
	width: auto;
	height: 100%;
}
@media only screen and (max-width: 1400px) {
}
@media only screen and (max-width: 999px) {
	#content #design .w_image figcaption.cap{
		width: auto;
		height: 13px;
	}
	
	#content #design #design .w_image.img01{
		margin: 90px 0 60px 0;
	}
	#content #design .w_image.img01::before{
		padding-top: 33.125%;
	}
	#content #design .w_image.img02{
		margin: 0px 0 120px 0;
	}
	#content #design .w_image.img03{
		margin: 90px 0 60px 0;
	}
	#content #design .w_image.img04{
		margin: 0px 0 120px 0;
	}
	#content #design .w_image.img04::before{
		padding-top: 47.125%;
	}
	#content #design .w_image.img05{
		margin: 30px 0 60px 0;
	}
	#content #design .w_image.img05::before{
		padding-top: 80.125%;
	}

	#content #design h2{
		font-size: 1.875rem;
	}
	#content #design h3{
		font-size: 1.500rem;
	}
}
@media only screen and (max-width: 768px) {
	#content #design .w_image figcaption.cap{
		width: auto;
		height: 12px;
	}
	
	#content #design .w_image.img01{
		margin: 60px 0 40px 0;
	}
	#content #design .w_image.img01::before{
		padding-top: 33.125%;
	}
	#content #design .w_image.img02{
		margin: 0px 0 90px 0;
	}
	#content #design .w_image.img03{
		margin: 60px 0 40px 0;
	}
	#content #design .w_image.img04{
		margin: 0px 0 90px 0;
	}
	#content #design .w_image.img04::before{
		padding-top: 47.125%;
	}
	#content #design .w_image.img05{
		margin: 20px 0 0 0;
	}
	#content #design .w_image.img05::before{
		padding-top: 80.125%;
	}

	#content #design h2{
		font-size: 1.500rem;
		text-align: left;
	}
	#content #design h3{
		font-size: 1.375rem;
		text-align: left;
	}
	#content #design p{
		text-align: left;
	}
	
	#content #design h4.ttl{
		height: 18px;
		margin: 0 auto 0 0;
	}
	#content #design h4.ttl.spline{
		height: 44px;
	}
	
}
@media only screen and (max-width: 480px) {
	#content #design .w_image figcaption.cap{
		width: auto;
		height: 9px;
	}
	
	#content #design h2{
		font-size: 1.375rem;
	}
	#content #design h3{
		font-size: 1.125rem;
		letter-spacing: 0.05em;
	}
	
	#content #design h4.ttl{
		height: 12px;
	}
	#content #design h4.ttl.spline{
		height: 32px;
	}
}
