@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	text-decoration: none;
	box-sizing: border-box;
}

html{
	/*デフォルトのフォントサイズ16pxの0.625をかけて10にした値。そのため、1rem=10pxとなる。
	*/
	/*font-size: .625vw;*/
	font-size: 62.5%;
	scroll-behavior: smooth;
}

a{
	color: #333;
}

body{
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
color: #333;
/*基本的にフォントサイズ16px*/
font-size: 1.6em;
background: #fafafa;
}

p{
	line-height: 1.5;
}

.block{
	display: block;
}

.en{
	font-family: 'Roboto', sans-serif;
}

.common_btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40rem;
	height: 10rem;
	background-color: #fafafa;
	font-size: 1.4rem;
	font-weight: 700;
	box-shadow: 0px 25px 17px 3px rgba(170, 170, 170, 0.3);
	position: relative;
	transition: .4s;
}

.common_btn::before{
	content: '';
	display: block;
	width: 0;
	height: 0;
	transition: .4s;
	background: #b34b4b;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left;
	transition: 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}

.common_btn:hover::before{
	transform: scaleX(1);
}

.common_btn .font{
	position: relative;
	z-index: 1;
	transition: .6s;
}

.common_btn .arrow{
	position: relative;
}

.common_btn .arrow::before{
	content: '';
	position: absolute;
	top: 0;
	left: 4.7rem;
	transition: 0.6s cubic-bezier(0.76, 0, 0.24, 1);
	z-index: 2;
	display: block;
	width: 7rem;
	height: .1rem;
	background: #333;
}

.common_btn .arrow::after{
	content: '';
	position: absolute;
	top: -0.7rem;
	left: 11rem;
	transition: 0.6s cubic-bezier(0.76, 0, 0.24, 1);
	z-index: 2;
	display: block;
	border-top: 4px solid transparent;
	border-right: 4px solid transparent;
	border-bottom: 4px solid #333;
	border-left: 4px solid #333;
}

.common_btn .arrow_on::before{
	transform: translateX(40px);
	background: #fafafa;
}

.common_btn .arrow_on::after{
	transform: translateX(40px);
	border-bottom: 4px solid #fafafa;
	border-left: 4px solid #fafafa;
}

.border_wrapper{
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1000;
	width: 100%;
	height: 100vh;
}

.border_wrapper .border_area{
	width: 120rem;
	height: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.border{
	display: block;
	width: 1px;
	height: 100%;
	background: #ddd;
}

.en_hd_block{
	display: inline-block;
	font-size: 12rem;
	font-weight: 900;
	color: #b34b4b;
	font-family: 'Roboto', sans-serif;
	margin-bottom: 4rem;
	position: relative;
}

.en_hd_block .en_hd_font{
	opacity: 0;
}

.en_hd_block::before{
	content: '';
	display: block;
	width: 0;
	height: 100%;
	background: #b34b4b;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}

.en_hd_block_on::before{
	width: 100%;
}

.en_hd_block_end::before{
	width: 0;
	left: auto;
	right: 0;
}

#top{
	position: absolute;
	top: 0;
	left: 0;
}

#service,
#price,
#scene,
#contact{
	position: absolute;
	top: -100px;
	left: 0;
}

.wrapper_all{
	max-width: 1920px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
 }

 header{
	 width: 100%;
	 position: fixed;
	 top: 0;
	 left: 0;
	 z-index: 1000;
	 transition: .4s;
	 transform: translateY(-4rem);
	 opacity: 0;
 }

 .header_on{
	 background: #fafafa;
	 height: 5rem;
 }

 .header_on a{
	font-size: 1.4rem;
 }

 .header_on .header_area{
	 padding: 1.7rem 2rem 0;
 }

 header .header_area{
	 width: 84%;
	 padding: 2.5rem 2rem 0;
	 margin: 0 auto;
 }

header nav ul{
	display: flex;
	justify-content: flex-end;
}

header nav li{
	margin-left: 6rem;
}

header nav a{
	transition: .4s;
	position: relative;
}

header nav a::before{
	content: '';
	display: block;
	width: 0;
	height: .2rem;
	background: #b34b4b;
	position: absolute;
	bottom: -.2rem;
	left: 0;
	transition: .4s;
}

header nav a:hover{
	color: #b34b4b;
}

header nav a:hover::before{
	width: 100%;
}

.firstview_wrapper .firstview_area{
	position: relative;
	width: 124rem;
	padding: 0 2rem;
	margin: 19.4rem auto 12rem;
}

.firstview_wrapper .top_hd_block{
	position: absolute;
	top: -9.4rem;
	left: 1.3rem;
	z-index: 1;
}

.firstview_wrapper .top_hd{
	font-family: 'Roboto', sans-serif;
	font-weight: 900;
	color: #b34b4b;
	letter-spacing: 0.025em;
	font-size: 16rem;
	position: relative;
}

.firstview_wrapper .top_hd::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	display: block;
	width: 0;
	height: 110%;
	background: #b34b4b;
	transition: 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}

.firstview_wrapper .firstview_area .top_hd_on::before{
	width: 100%;
}

.firstview_wrapper .firstview_area .top_hd_end::before{
	width: 0;
	left: auto;
	right: 0;
}

.firstview_wrapper .top_hd span,
.firstview_wrapper .h2_font{
	opacity: 0;
}

.firstview_wrapper .text_block{
	position: absolute;
	z-index: 1;
	top: 16rem;
	left: 7rem;
}

.firstview_wrapper h2{
	font-size: 6rem;
	font-weight: 700;
	color: #b34b4b;
	line-height: 1.2;
	margin-bottom: 5rem;
}

.firstview_wrapper h2 .block{
	position: relative;
	line-height: 1.1;
}

.firstview_wrapper h2 .block:nth-of-type(1){
	margin-bottom: 1.7rem;
}

.firstview_wrapper h2 .block::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	display: block;
	background: #b34b4b;
	width: 0;
	height: 100%;
	transition: 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}

.firstview_wrapper .mattterport_img{
	margin-left: 30rem;
	position: relative;
	width: 90rem;
	height: 45rem;
	margin-bottom: 12rem;
}

.firstview_wrapper .mattterport_img::before{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 5rem;
	left: 5rem;
	z-index: -1;
	background: #b34b4b;
}

.firstview_wrapper .mattterport_img img{
	max-width: 90rem;
}

.firstview_wrapper .explain{
	padding-left: 5.3rem;
}

.service_wrapper{
	position: relative;
}

.service_wrapper::before{
	content: '';
	position: absolute;
	top: 24rem;
	right: 0;
	z-index: -1;
	width: 81.5%;
	height: 58.6rem;
	background: #f1f1f1;
}

.service_wrapper .service_area{
	width: 124rem;
	padding: 0 2rem;
	margin: 0 auto 20rem;
}

.service_wrapper .service_inner{
	display: flex;
	margin: 0 0 8rem 8rem;
}

.service_wrapper .service_block{
	width: 30rem;
	margin-right: 6rem;
}

.service_wrapper .service_block p{
	text-align: justify;
}

.service_wrapper .service_block:nth-last-of-type(1){
	width: 30rem;
	margin-right: 0;
}

.service_wrapper .service_img{
	margin-bottom: 2rem;
}

.service_wrapper h3{
	font-size: 2.4rem;
	margin-bottom: 2rem;
	text-align: center;
}

.service_wrapper .common_btn{
	margin-left: 8rem;
}

.price_wrapper{
	position: relative;
}

.price_wrapper::before{
	content: '';
	position: absolute;
	top: 7.4rem;
	left: 0;
	z-index: -1;
	width: 81%;
	height: 54.7rem;
	background: #f1f1f1;
}

.price_wrapper::after{
	content: '';
	position: absolute;
	top: 18.5rem;
	right: 0;
	z-index: -2;
	width: 50%;
	height: 54.7rem;
	background: #b34b4b;
}

.price_wrapper .price_area{
	width: 124rem;
	padding: 0 2rem;
	margin: 0 auto 20rem;
}

.price_wrapper .price_inner{
	display: flex;
}

.price_wrapper .en_hd{
	margin-bottom: 8rem;
}

.price_wrapper h3{
	font-size: 1.8rem;
}

.price_wrapper .price_block_left{
	margin-right: 14rem;
}

.price_wrapper .price_block_left .price{
	font-size: 6rem;
	font-weight: 900;
	color: #b34b4b;
	line-height: 1;
}

.price_wrapper .before_1,
.price_wrapper .before_2,
.price_wrapper .before_3,
.price_wrapper .before_4{
	position: relative;
}

.price_wrapper .before_1::before,
.price_wrapper .before_2::before,
.price_wrapper .before_3::before,
.price_wrapper .before_4::before{
	content: '';
	display: block;
	width: 4.5rem;
	height: .1rem;
	background: #333;
	position: absolute;
	transform: rotate(-45deg);
}

.price_wrapper .before_1::before,
.price_wrapper .before_2::before{
	top: 2.2rem;
	left: 0.4rem;

}

.price_wrapper .before_3::before{
	top: 5.5rem;
	right: 17.5rem;
}

.price_wrapper .before_4::before{
	top: 5.5rem;
	right: 22.5rem;
}

.price_wrapper .before_1::after,
.price_wrapper .before_2::after,
.price_wrapper .before_3::after,
.price_wrapper .before_4::after{
	display: block;
	width: 5rem;
	position: absolute;
	font-size: 1.4rem;
	font-weight: 400;
}

.price_wrapper .before_1::after{
	content: '100㎡';
	top: 2.5rem;
	left: 3rem;
}

.price_wrapper .before_2::after{
	content: '１ヶ月';
	top: 2.5rem;
	left: 3rem;
}

.price_wrapper .before_3::after{
	content: '１ヶ所';
	top: 5.5rem;
	left: 35rem;
}

.price_wrapper .before_4::after{
	content: '10㎡';
	top: 6rem;
	left: 30rem;
}


.price_wrapper .plus{
	position: relative;
	height: 8rem;
}

.price_wrapper .plus::before,
.price_wrapper .plus::after{
	content: '';
	position: absolute;
	top: 4rem;
	left: 9rem;
	display: block;
	width: 3rem;
	height: .2rem;
	background: #333;
}
.price_wrapper .plus::after{
	transform: rotate(90deg);
}

.price_wrapper .price_block_left .supplement{
	margin-top: 3rem;
}

.price_wrapper .price_block_right .supplement{
	margin-left: 8.5rem;
}

.price_wrapper .supplement{
	font-size: 1.4rem;
	display: block;
}

.price_wrapper .number{
	font-size: 4.8rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 900;
	margin-right: 3rem;
}

.price_wrapper .option{
	font-size: 2.4rem;
	font-weight: 700;
}

.price_wrapper .option_block:nth-last-of-type(1){
	margin-bottom: 6rem;
}

.price_wrapper .option_block .price{
	margin-left: 2rem;
}

.scene_wrapper{
	position: relative;
}

.scene_wrapper::before{
	content: '';
	display: block;
	width: 81.4%;
	height: 33rem;
	background: #f1f1f1;
	position: absolute;
	top: 46rem;
	right: 0;
	z-index: -1;
}

.scene_wrapper .en_hd{
	margin-bottom: 8rem;
}

.scene_wrapper .scene_area{
	width: 124rem;
	padding: 0 2rem;
	margin: 0 auto 20rem;
 }

 .scene_wrapper .lead{
	 font-size: 2.4rem;
	 font-weight: 700;
	 line-height: 1.5;
	 margin-bottom: 6rem;
	 margin-left: 8rem;
 }

.scene_wrapper .scene_inner{
	display: flex;
	margin-left: 8rem;
}

.scene_wrapper .scene_block{
	width: 45rem;
}

.scene_wrapper .scene_img img{
	max-width: 45rem;
}

.scene_wrapper .scene_img{
	margin-bottom: 3rem;
}

.scene_wrapper h3{
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 1rem;
}

.scene_wrapper .scene_block:nth-of-type(1){
	margin-right: 8rem;
}

.scene_wrapper .scene_block p{
	text-align: justify;
}

.contact_wrapper{
	width: 124rem;
	padding: 0 2rem;
	margin: 0 auto 12rem;
	position: relative;
}

.contact_wrapper .en_hd{
	margin-bottom: 8rem;
}

.contact_wrapper .lead{
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 700;
	margin-bottom: 8rem;
}

.contact_wrapper .form{
	width: 100%;
	background: #f1f1f1;
	padding: 8rem;
}

.contact_wrapper .form_block{
	margin-bottom: 8rem;
}

.contact_wrapper .form_hd{
	font-size: 2.4rem;
	display: flex;
	align-items: center;
	padding-left: 3rem;
	margin-bottom: 1.5rem;
	position: relative;
}

.contact_wrapper .form_hd::before{
	content: '';
	display: block;
	width: 2rem;
	height: .4rem;
	background: #b34b4b;
	position: absolute;
	top: 1.1rem;
	left: 0;
}

.contact_wrapper .required{
	display: block;
	font-size: 1.4rem;
	color: #b34b4b;
	padding-left: 1rem;
}

.contact_wrapper input{
	outline: none;
	border: none;
	display: block;
	width: 100%;
	height: 8rem;
	background: #fafafa;
	font-size: 1.6rem;
	padding-left: 3rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.contact_wrapper textarea{
	border: none;
	outline: none;
	display: block;
	width: 100%;
	height: 30rem;
	margin-bottom: 8rem;
	background: #fafafa;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	text-indent: 3rem;
}

.contact_wrapper .btn_big{
	height: 10rem;
	background: #b34b4b;
	color: #fafafa;
}

.page_flag_1{
	margin: 12rem auto 12rem;
}

.page_flag_1 .form{
	padding: 8rem 12rem;
}

.page_flag_1 h2{
	font-size: 4.8rem;
	text-align: center;
	margin-bottom: 8rem;
}

.page_flag_1 .form_block{
	display: flex;
}

.page_flag_1 .form_hd{
	width: 32rem;
	display: block;
}

.page_flag_1 .form_data{
	font-size: 1.8rem;
	width: 100%;
}

.page_flag_1 .btn_flex{
	display: flex;
	justify-content: center;
}

.page_flag_1 .btn,
.page_flag_2 .btn,
.page_flag_1 .back_btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30rem;
	height: 8rem;
	color: #fafafa;
	font-size: 1.6rem;
	transition: .6s;
	padding-left: 0;
}

.page_flag_1 .btn,
.page_flag_2 .btn{
	background: #b34b4b;
	margin-right: 4rem;
	border: .2rem solid #b34b4b;
}

.page_flag_2 .btn{
	margin-right: 0;
	margin: 4rem auto 0;
}

.page_flag_1 .btn:hover,
.page_flag_2 .btn:hover{
	background: #fafafa;
	color: #b34b4b;
}

.page_flag_1 .back_btn{
	background: #333;
	border: .2rem solid #333;
}

.page_flag_1 .back_btn:hover{
	background: #fafafa;
	color: #333;
}

.page_flag_2{
	margin: 24rem auto 40rem;
}

.page_flag_2 h2{
	font-size: 4.8rem;
	text-align: center;
	margin-bottom: 4rem;
}

.error_ul{
	margin-bottom: 4rem;
}

.error{
	font-size: 2.4rem;
	font-weight: 400;
	color: red;
	padding-bottom: 2rem;
}

.footer{
	padding: 6rem 0 0;
	background: #333;
}

.footer .footer_inner{
	width: 124rem;
	padding: 0 2rem;
	margin: 0 auto;
}

.footer p,
.footer a,
.footer address{
		color: #fafafa;
}

.footer .search_img img{
	max-width: 32.6rem;
}

.footer .logo{
	text-align: center;
	margin-bottom: 4rem;
}

.footer .logo a{
	transition: .4s;
}

.footer .logo a:hover{
	opacity: .4;
}

.footer .logo img{
	max-width: 19.4rem;
}

.footer address{
	text-align: center;
	font-size: 1.4rem;
	font-family: 'Roboto', sans-serif;
}

.footer nav{
	margin-bottom: 5rem;
}

.footer nav ul{
	display: flex;
	justify-content: center;
}

.footer nav li{
	margin-right: 4rem;
}

.footer nav li:nth-last-of-type(1){
	margin-right: 0;
}

.footer .flex{
	display: flex;
	justify-content: center;
	margin-bottom: 8rem;
}

.footer .left_block{
	width: 38rem;
	margin-right: 8rem;
}

.footer .company{
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 1rem;
}

.footer .tel{
	font-size: 3.6rem;
	font-weight: 900;
	font-family: 'Roboto', sans-serif;
	padding-bottom: 1rem;
}
