@charset "utf-8";

.firstview_wrapper{
	height: 100vh;
	max-height: 1080px;
	position: relative;
	margin-bottom: 80px;
}

.firstview_wrapper .firstivew_bg_wrapper{
	display: flex;
	height: 100%;
	max-height: 1080px;
	position: relative;
	z-index: -1;
}

.firstview_wrapper .green_bg{
	width: 100%;
	max-width: 380px;
	height: 100%;
	background: #2b5347;
}

.firstview_wrapper .room_bg{
	width: 100%;
	max-width: 1540px;
	height: 100%;
	background: url("../top_images/kaigo_mainvisual.jpg") no-repeat;
	background-position: top center;
}

.firstview_wrapper h1{
	font-size: 48px;
	line-height: 1.5;
	color: #fff;
	font-weight: 500;
	position: absolute;
	top: 24%;
	left: 65px;
}

.firstview_wrapper .journal_banner{
	position: absolute;
	top: 45%;
	left: 65px;
	transition: .6s;
}

.firstview_wrapper .journal_banner:hover{
	opacity: .8;
}

.firstview_wrapper .scroll_block{
	position: absolute;
	top: 85%;
	right: 65px;
	transform: rotate(90deg);
}

.firstview_wrapper .scroll_block span{
	position: relative;
	color: #fff;
	display: inline-block;
	font-size: 18px;
}

.firstview_wrapper .scroll_block span::before{
	content: '';
	display: block;
	width: 150px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 14px;
	right: 120px;
	animation: scroll 3s linear infinite;
	transition: .6s;
	overflow: hidden;
}

@keyframes scroll{
	0%{
		transform: translateX(0);
	}

	50%{
		transform: translateX(20px);
		opacity: 0;
	}

	80%{
		opacity: 0;
	}
}

.firstview_wrapper .info_block{
	position: absolute;
	bottom: 0;
	left: 286px;
	display: flex;
}

.firstview_wrapper .info_block .shushuru,
.firstview_wrapper .info_block .matterport{
	line-height: 0;
	transition: .4s;
}

.firstview_wrapper .info_block .shushuru:hover,
.firstview_wrapper .info_block .matterport:hover{
	opacity: .7;
}


.firstview_wrapper .new_topics_block{
	width: 100%;
	max-width: 670px;
	height: 100%;
	max-height: 85px;
	padding: 20px 50px 0 0;
	background: #2b5347;
	z-index: 1;
}

.firstview_wrapper .new_topics_block a{
	color: #fff;
	transition: .6s;
}

.firstview_wrapper .new_topics_block a:hover{
	color: #d49c16;
}

.firstview_wrapper .new_topics_block dl{
	font-size: 14px;
	display: flex;
}

.firstview_wrapper .new_topics_block dt{
	padding-right: 40px;
}

.firstview_wrapper .new_topics_block dd{
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	width: 670px;
}

.firstview_wrapper .topics_link{
	font-size: 14px;
	width: 160px;
	padding: 10px 50px 0 0;
	margin-left: auto;
}

.firstview_wrapper .topics_link a{
	color: #f5f3e2;
	position: relative;
	transition: .6s;
}

.firstview_wrapper .topics_link a:hover{
	color: #f5f3e2;
}

.firstview_wrapper .topics_link a::before{
	content: url("../common/images/topics_arrow.png");
	position: absolute;
	top: -6px;
	left: 110px;
	transition: .4s;
}

.firstview_wrapper .topics_link a:hover::before{
	transform: translateX(10px);
}
/*
.firstview_wrapper .shushuru_banner{
	position: absolute;
	top: 280px;
	left: 76%;
	transition: .6s;
}

.firstview_wrapper .shushuru_banner:hover{
	opacity: .7;
}*/

.branding_wrapper{
	background: url("../top_images/branding_bg.jpg") no-repeat;
	background-size: cover;
	width: 100%;
	height: 800px;
	margin: 80px 0 80px;
}

.branding_wrapper .branding_area{
	width: 1000px;
	padding: 80px 20px 0;
	margin: 0 auto;
}

.branding_inner{
	display: flex;
}

.branding_wrapper .branding_block,
.branding_wrapper .journal_block{
	width: 580px;
	height: 600px;
	position: relative;
}

.branding_wrapper .branding_block p,
.branding_wrapper .branding_block h2{
	color: #fffbf4;
}

.branding_wrapper .branding_block{
	background: url("../top_images/marble_block.jpg") no-repeat;
	background-size: cover;
}

.branding_wrapper .journal_block{
	background: #f5f3e2;
	margin-top: 80px;
}

.branding_wrapper .block_inner{
	padding: 80px 40px 0;
}

.branding_wrapper h2{
	font-size: 30px;
	text-align: center;
	padding-bottom: 40px;
}

.branding_wrapper .btn{
	margin-top: 30px;
}

.branding_wrapper .branding_block .btn{
	color: #fffbf4;
	border: 1px solid #fffbf4;
}

.branding_wrapper .branding_block .btn:hover{
	color: #d49c16;
	border: 1px solid #d49c16;
	background: transparent;
}

.service_wrapper{
	width: 1000px;
	padding: 0 20px;
	margin: 0 auto 300px;
}

.service_wrapper h2{
	font-size: 36px;
	font-weight: 500;
	text-align: center;
	padding-bottom: 80px;
}

.service_wrapper .hd_border{
	position: relative;
}

.service_wrapper .hd_border::before,
.service_wrapper .hd_border::after{
	content: '';
	position: absolute;
	top: 25px;
	display: block;
	width: 70px;
	height: 1px;
	background: #d49c16;
}

.service_wrapper .hd_border::before{
	left: -80px;
}


.service_wrapper .hd_border::after{
	right: -80px;
}

.service_wrapper .service_link{
	display: block;
	width: 100%;
	height: 330px;
	margin-bottom: 210px;
	position: relative;
}

.service_wrapper .service_link img{
	transition: .8s;
}

.service_wrapper .service_link:hover img{
	transform: scale(1.1);
	opacity: 0.8;
}

.service_wrapper .service_block{
	overflow: hidden;
	width: 100%;
	height: 330px;
}

.service_wrapper .service_block:nth-last-of-type(1){
	margin-bottom: 0;
}

.service_wrapper .service_link .service_text{
	width: 800px;
	height: 300px;
	background: #fffbf4;
	position: absolute;
	left: 0;
	bottom: -110px;
	padding: 30px 30px 0;
}

.service_wrapper .service_link:nth-of-type(even) .service_text{
	left: auto;
	right: 0;
}

.service_wrapper .service_text p{
	text-align: justify;
}

.service_wrapper .service_text h3{
	font-size: 30px;
	font-weight: 500;
	padding-bottom: 25px;
}

.service_wrapper .lead_text{
	font-size: 20px;
	font-weight: 500;
	padding-bottom: 5px;
}


.loading_wrapper{
	background: #2b5347;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	transition: .6s;
}

.loading_wrapper .loading_area{
	position: absolute;
	top: 40%;
	left: 40%;
}

.loading_wrapper .loading_logo{
	position: relative;
}

.business_wrapper .business_area{
	display: flex;
	justify-content: center;
}

.business_wrapper .btn{
	margin: 0;
}

.business_wrapper .btn:nth-of-type(1){
	margin-right: 40px;
}


@media screen and (max-width:1367px){

	.firstview_wrapper h1{
	left: 45px;
	top: 25%;
	font-size: 40px;
}

.firstview_wrapper .journal_banner{
	top: 50%;
	left: 45px;
}

.firstview_wrapper .journal_banner img{
	width: 100%;
	max-width: 350px;
}

	.firstview_wrapper .scroll_block{
	right: 30px;
	width: 160px;
}

	.branding_wrapper .branding_top_bg::before{
	background: url("../top_images/branding_img_1366.png") no-repeat;
	height: 320px;
	top: -2px;
}

	.branding_wrapper .branding_top_bg{
	background: url("../top_images/branding_bg_ipad.jpg") no-repeat;
	background-size: cover;
	height: 480px;
}


}

@media screen and (max-width:1025px){

	.firstview_wrapper h1{
		top: 25%;
		font-size: 24px;
	}
	
	.firstview_wrapper .journal_banner{
		top: 45%;
	}
	
	.firstview_wrapper .journal_banner img{
		max-width: 200px;
	}

	.branding_wrapper .branding_area{
	padding: 80px 12px 160px;
	width: 1024px;
	margin: 0 auto;
}

	.service_wrapper{
	width: 1024px;
	padding: 0 12px;
	margin: 0 auto 80px;
}

	.branding_wrapper .branding_top_bg::before{
	background: url("../top_images/branding_img_ipad.png") no-repeat;
	height: 260px;
}
	.branding_wrapper .branding_top_bg{
	background: url("../top_images/branding_bg_ipad.jpg") no-repeat;
	height: 390px;
}

	.service_wrapper .service_area{
	padding: 70px 40px 80px 80px;
	border: none;
}

	.firstview_wrapper .scroll_block span{
	position: relative;
	color: #fff;
	display: inline-block;
	font-size: 16px;
}
	.firstview_wrapper .scroll_block{
	right: 25px;
}

	.firstview_wrapper .new_topics_block{
	left: 66px;
}

.branding_wrapper .branding_block,
.branding_wrapper .journal_block{
	width: 50%;
}

}
