@charset "utf-8";
/* CSS Document */


/*--------------------------------------------------------------
	Base
--------------------------------------------------------------*/
html{
	scroll-behavior: smooth;
}
body{
	font-family: serif;
}
.container_925{
	width: 925px;
	margin: 0 auto;
}
.container_1000{
	width: 1000px;
	margin: 0 auto;
}
.mt20{
	margin-top: 20px;
}
.mt40{
	margin-top: 40px;
}
.mt60{
	margin-top: 60px;
}
.mt80{
	margin-top: 80px;
}
.mb20{
	margin-bottom: 20px;
}
.mb40{
	margin-bottom: 40px;
}
.mb60{
	margin-bottom: 60px;
}
.mb80{
	margin-bottom: 80px;
}


@media (min-width:769px) {
	.sp{
		display:none !important;
	}
}
@media (max-width:768px) {
	.pc{
		display:none !important;
	}
	.container_925,
	.container_1000{
		width: calc(100% - 4rem);
		padding: 0 2rem;
	}
	img{
		width: 100%;
	}
}



/*--------------------------------------------------------------
	FadeIn
--------------------------------------------------------------*/
.fadeUpTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
		opacity: 0;
}

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeLeftAnime{
	from {
		opacity: 0;
	transform: translateX(-100px);
	}
	to {
		opacity: 1;
	transform: translateX(0);
	}
}

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeRightAnime{
	from {
		opacity: 0;
	transform: translateX(100px);
	}
	to {
		opacity: 1;
	transform: translateX(0);
	}
}

/*--------------------------------------------------------------
	Header
--------------------------------------------------------------*/
header{
	height: 900px;
	position: relative;
}
h1{
	position: fixed;
	top: 20px;
	left: 20px;
	z-index: 5;
}

.video_area{
	width:100vw;
	position: fixed;
	z-index: -1;/*最背面に設定*/
	top: 0;
	right:0;
	left:0;
	bottom:0;
	overflow: hidden;	
}
.video_area .movie{
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-height: 100%;
	min-width: 100%;
}

.head_topics{
	color: #a77b1a;
	font-size: 18px;
	text-align: center;
	position: relative;
	top: 85vh;
}
.head_topics a{
	color: #a77b1a;
}
.head_topics span{
	margin-right: 1rem;
}

@media (max-width:768px) {
	h1{
		width: 20%;
	}
	h1 img{
		width: 100%;
	}
	.video_area .movie{
		max-width: auto;
		height: 70%;
	}
	.head_topics{
		text-align: left;
		font-size: 3.5vw;
		top: 90vh;
	}
	.head_topics span{
		margin-right: 0;
		display: block;
	}
	
}

	/*--------------------------------------------------------------
		Header - teams_of_service.html
	--------------------------------------------------------------*/
	header.subpage_header{
		position: relative;
		background-image: url(../images/bg_service.jpg);
		height: auto;
	}
	header.subpage_header h1{
		position: absolute;
	}
	.service_tt{
		position: relative;
		display: grid;
		place-content: center;
		place-items: center;
		height: 460px;
	}
	.service_tt p{
		font-size: 32px;
		color: #fff;
		margin-top: 20px;
	}

	.reserve_btn_header {
		position: fixed;
		top: 20px;
		right: 20px;
		z-index: 5;
	}
	@media (max-width:768px) {
		header.subpage_header{
			background-image: url(../images/bg_service_sp.jpg);
			background-size: cover;
			background-position: center;
		}
		header.subpage_header h1{
			width: 80%;
		}
		.service_tt{
			height: 18rem;
		}
		.service_tt h2 img{
			width: 100%;
		}
		.service_tt p{
			font-size: 1.2rem;
		}
		.reserve_btn_header{
			width: 40%;
		}
		.reserve_btn_header img{
			width: 100%;
		}
	}




/*--------------------------------------------------------------
	Main
--------------------------------------------------------------*/
main{
	position: relative;
	font-size: 16px;
}
.bg_black{
	background-image: url(../images/bg_pat_black.jpg);
	color: #fff;
}
.bg_white{
	background-image: url(../images/bg_pat_white.jpg);
}

h3{
	border-left: 5px solid #a77b1a;
	padding-left: 0.5rem;
}
.txt_bold{
	font-weight:bold;
}

@media (max-width:768px) {
	main{
		font-size: 0.8rem;
	}
	h2 img{
		width: 70%;
	}
}

	/*--------------------------------------------------------------
		Main - Concept
	--------------------------------------------------------------*/
	.concept_wrap{
		width: 1280px;
		height: 580px;
		background-image: url(../images/bg_concept.jpg);
		box-sizing: border-box;
		z-index: 1;
		position: relative;
		top: -3rem;
		text-align: center;
		padding: 5rem;
		margin:	0 auto 100px;
	}
	.concept_wrap h2{
		margin: 6rem auto;
	}
	.concept_wrap p:first-of-type{
		font-size: 24px;
	}

	@media (max-width:768px) {
	 	.concept_wrap{
	 		width: 90vw;
	 		height: fit-content;
			background-image: url(../images/bg_concept_sp.jpg);
	 		background-size: cover;
	 		padding: 3rem;
			margin:	0 auto 2rem;
		}
		.concept_wrap h2{
			margin: 1.5rem auto;
		}
		.concept_wrap p:first-of-type{
			font-size: 1.15rem;
		}
	}


	/*--------------------------------------------------------------
		Main - Facility
	--------------------------------------------------------------*/
	.facility_wrap{
		display: flex;
		width: 80vw;
		margin-bottom: 100px;
	}
	.facility_text{
		padding: 115px 0 0 10px;	}
	.facility_text img{
		margin-bottom: 3rem;
	}
	.facility_text h3{
		font-size: 32px;
		margin-bottom: 0.8rem;
	}

	.facility_content{
		display: flex;
		justify-content: space-between;
		padding-bottom: 200px;
	}
	.facility_content div{
		width: 440px;
	}
	.facility_content h3{
		font-size: 24px;
		margin: 1rem 0;
	}

	@media (max-width:768px) {
		.facility_wrap{
			width: 100%;
			display: block;
			position: relative;
		}
		.facility_wrap img{
			width: 80vw;
		}
		.facility_text{
			width: 65vw;
			position: absolute;
			top: -5rem;
			right: 1rem;
		}
		.facility_text img{
			width: 90%;
			margin-bottom: 1rem;
			padding-bottom: 1rem;
			border-bottom: 1px solid #a77b1a;
		}
		.facility_text h3{
			font-size: 1.15rem;
			margin-bottom: 0.8rem;
		}

		.facility_content{
			display: block;
			padding-bottom: 2rem;
		}
		.facility_content div{
			width: 100%;
		}
		.facility_content h3{
			font-size: 1.15rem;
		}
		.facility_content p{
			padding-bottom: 4rem;
		}

	}



	/*--------------------------------------------------------------
		Main - Point
	--------------------------------------------------------------*/
	.point_wrap{
		display: flex;
		justify-content: flex-end;
		margin-bottom: 100px;	
		position: relative;	
		top: -3rem;
	}
	.point_text{
		padding: 115px 0 0 10px;
		position:relative;
		top:70px;
		right:-14vw;
	}
	.point_text img{
		margin-bottom: 5rem;
	}
	.point_text h3{
		font-size: 24px;
		margin-bottom: 0.8rem;		
	}

	.point_content{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-bottom: 200px;
	}
	.point_content div{
		width: calc((100% - 8rem) / 2);
		margin-left: 8rem;
	}
	.point_content div:nth-child(2n+1){
		margin-left: 0;
	}
	.point_content div:nth-child(n+3){
		margin-top: 40px;
	}
	.point_content h3{
		width: 440px;
		border-left: none;
		padding: 0.8rem 0;
		border-bottom: 1px solid #a77b1a;
		font-size: 24px;
	}
	.point_content p{
		width: 440px;
		padding-top: 1rem;
	}

	@media (max-width:768px) {
		.point_wrap{
			display: block;
			margin-bottom: 4rem;	
			position: relative;	
			top: -2rem;
		}
		.point_wrap img{
			width: 80vw;
			z-index: 0;
			margin-left: 20%
		}
		.point_text{
			width: 60vw;
			display: block;
			padding: 3rem 0 0 1rem;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
		.point_text h2 img{
			width: 60%;
			margin-left: 0;
			margin-bottom: 1rem;
			padding-bottom: 1rem;
			border-bottom: 1px solid #a77b1a;

		}
		.point_text h3{
			font-size: 1.15rem;
			margin-bottom: 0.8rem;
		}

		.point_content{
			display: block;
			padding-bottom: 2rem;
		}
		.point_content div{
			width: 100%;
			margin: 0;
		}
		.point_content div:nth-child(2n+1){
			margin-left: 0;
		}
		.point_content div:nth-child(n+3){
			margin-top: 0;
		}
		.point_content h3{
			width: 100%;
			border-left: none;
			padding: 0.8rem 0;
			border-bottom: 1px solid #a77b1a;
			font-size: 1.15rem;
		}
		.point_content p{
			width: 100%;
			padding-top: 1rem;
			padding-bottom: 2rem;
		}
		.point_content div:last-of-type{
			padding-bottom: 2rem;
		}

	}



	/*--------------------------------------------------------------
		Main - Room
	--------------------------------------------------------------*/
	.room_wrap{
		display: flex;
		justify-content: flex-end;
		margin-bottom: 100px;	
		width: 80%;
		position: relative;	
		top: -3rem;
	}
	.room_text{
		padding: 115px 0 0 10px;
		position:relative;
		top:80px;
	}
	.room_text img{
		margin-bottom: 3rem;
	}
	.room_text h3{
		font-size: 32px;
		margin-bottom: 0.8rem;
	}
	.room_content_wrap{
		padding-bottom: 150px;
	}
	.room_content{
		background: #000;
		border: 1px solid;
		border-image: linear-gradient(to bottom right, #fdef98 0%, #3f2700 100%);
		border-image-slice: 1;
		padding: 2rem;
	}
	.room_content p:first-of-type{
		font-size: 24px;
		margin-bottom: 0.8rem;
	}

	@media (max-width:768px) {
		.room_wrap{
			width: 100%;
			display: block;
			position: relative;
			margin-bottom: 2rem;
		}
		.room_wrap img{
			width: 80vw;
		}
		.room_text{
			width: 65vw;
			position: absolute;
			top: -5rem;
			right: 1rem;
		}
		.room_text img{
			width: 60%;
			margin-bottom: 1rem;
			padding-bottom: 1rem;
			border-bottom: 1px solid #a77b1a;
		}
		.room_text h3{
			font-size: 1.15rem;
			margin-bottom: 0.8rem;
		}

		.room_content_wrap{
			padding-bottom: 4rem;
		}
		.room_content{
			padding: 1rem;
		}
		.room_content p:first-of-type{
			font-size: 1.15rem;
		}
	}


	/*--------------------------------------------------------------
		Main - Room Slider
	--------------------------------------------------------------*/
	.room_slide{
		margin-bottom: 100px;
	}
	.slider {
		 width:100%;
		 margin:0 auto;
	}
	.slider img {
			width:100%;
			height:auto;
	}

	.slider .slick-slide {
			margin:0 2rem;
	}
	.slick-prev, 
	.slick-next {
			position: absolute;/*絶対配置にする*/
			top: 50%;
			cursor: pointer;/*マウスカーソルを指マークに*/
			outline: none;/*クリックをしたら出てくる枠線を消す*/
			border-top: 4px solid #a77b1a;/*矢印の色*/
			border-right: 4px solid #a77b1a;/*矢印の色*/
			height: 20px;
			width: 20px;
			z-index: 3;
	}
	.slick-prev {/*戻る矢印の位置と形状*/
			left: 23.5vw;
			transform: rotate(-135deg);
	}
	.slick-next {/*次へ矢印の位置と形状*/
			right: 23.5vw;
			transform: rotate(45deg);
	}

	@media (max-width:768px) {
		.room_slide{
			margin-bottom: 2rem;
		}
		.slider img {
			width:80vw;
		}
		.slick-prev {/*戻る矢印の位置と形状*/
				left: 3vw;
				transform: rotate(-135deg);
		}
		.slick-next {/*次へ矢印の位置と形状*/
				right: 3vw;
				transform: rotate(45deg);
		}
	}


	/*--------------------------------------------------------------
		Main - Price
	--------------------------------------------------------------*/
	.price_wrap{
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 150px 0;
	}
	.price_wrap h2{
		position: relative;
	}
	.price_wrap h2::after{
		position: absolute;
		content: "";
		top: 50%;
		width: 100px;
		height: 1px;
		background-color: #000;
		margin-left: 2rem;
	}
	.price_wrap .price_text{
		width: 460px;
		border: 2px solid;
		border-image: linear-gradient(to bottom right, #3f2700 0%, #fdef98 100%);
		border-image-slice: 1;
		padding: 1.5rem;
	}
 .price_text li{
 		display: flex;
 		margin: 0.5rem;
 		padding: 0.5rem 0;
 		border-bottom: 1px solid;
		border-image: linear-gradient(to bottom right, #fdef98 0%, #3f2700 100%);
		border-image-slice: 1;
	}
 .price_text li:last-of-type{
 		border-bottom: none;
	}
 .price_text li p{
 		margin: 0.8rem;
	}
	.price_text li p span{
		font-size: 2rem;
		font-weight: bold;
	}

 .price_text li .price_list_tt{
 	background-color: #000;
 	color: #fff;
 	padding:0.8rem;
 }

	@media (max-width:768px) {
		.price_wrap{
			padding: 4rem 0;
		}
		.price_wrap h2 img{
			border-bottom: 1px solid #000;
			padding-bottom:1rem;
		}
		.price_wrap h2::after{
			width: 0;
			height: 0;
		}
		.price_wrap .price_text{
			padding: 0.5rem;
		}
		.price_text li p{
			margin: 0.3rem;
		}
		.price_text li p span{
			font-size: 1.2rem;
		}
		.price_text li .price_list_tt{
			padding:0.5rem;
		}
	}


	/*--------------------------------------------------------------
		Main - Flow
	--------------------------------------------------------------*/
	.flow_wrap{
		padding: 150px 0;
	}
	.flow_wrap h2{
		position: relative;
	}
	.flow_wrap h2::after{
		position: absolute;
		content: "";
		top: 50%;
		width: 100px;
		height: 1px;
		background-color: #a77b1a;
		margin-left: 2rem;
	}
	.flow_wrap li{
		display: flex;
		position: relative;
		margin-bottom: 80px;
	}
	.flow_wrap li::after{
		content:url(../images/arrow_down.png);
		position:absolute;
		top:8rem;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
	.flow_wrap li:first-of-type{
		margin-top: 80px;
	}
	.flow_wrap li:last-of-type{
		margin-bottom: 0;
	}
	.flow_wrap li:last-of-type::after{
		content:"";
	}

	.flow_wrap li p:first-of-type{
		width: 80px;
		height: 80px;
		margin: 0.8rem 0;
		padding: 20px 0;
		box-sizing: border-box;
		background-color: #fff;
		color: #a77b1a;
		border: 1px solid #a77b1a;
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		z-index: 3;
	}
	.flow_wrap li p:nth-of-type(2){
		width: calc(100% - 80px);
		padding: 2rem;
		box-sizing: border-box;
		position: absolute;
		left: 55%;
		transform: translateX(-55%);
		-webkit-transform: translateX(-55%);
		-ms-transform: translateX(-55%);
		border: 1px solid;
		border-image: linear-gradient(to bottom right, #fdef98 0%, #3f2700 100%);
		border-image-slice: 1;
		background-color: #000;
		z-index: 1;
	}
	.flow_wrap li p:nth-of-type(2) span{
		font-size: 24px;
		margin-left:3rem;
		margin-right: 1rem;
	}


	@media (max-width:768px) {
		.flow_wrap{
			padding: 4rem 0 6rem;
		}
		.flow_wrap h2{
			position: inherit;
		}
		.flow_wrap h2 img{
			width: 50%;
			padding-bottom: 1rem;
			border-bottom: 1px solid #a77b1a;
		}
		.flow_wrap h2::after{
			position: absolute;
			width: 0;
			height: 0;
		}
		.flow_wrap li{
			margin-bottom: 5rem;
		}
		.flow_wrap li::after{
			position:absolute;
			top: 6.5rem;
			left: 50%;
			transform: translateX(-50%);
			-webkit-transform: translateX(-50%);
			-ms-transform: translateX(-50%);
		}
		.flow_wrap li:first-of-type{
			margin-top: 2rem;
		}
		.flow_wrap li:last-of-type{
			margin-bottom: 0;
		}

		.flow_wrap li p:first-of-type{
			width: 3rem;
			height: 3rem;
			margin: 1rem 0;
			padding: 0.5rem 0;
			box-sizing: border-box;
			font-size: 1.15rem;
		}
		.flow_wrap li p:nth-of-type(2){
			width: 90%;
			height: 6rem;
			min-height: 5rem;
			padding: 0.5rem;
			padding-left: 3rem;
			position: absolute;
			left: 55%;
			transform: translateX(-55%);
			-webkit-transform: translateX(-55%);
			-ms-transform: translateX(-55%);			
		}
		.flow_wrap li p:nth-of-type(2) span{
			font-size: 1.15rem;
			margin-left: 0;
		}


	}


	/*--------------------------------------------------------------
		Main - Reserve
	--------------------------------------------------------------*/
	.reserve_wrap{
		padding: 150px 0;		
	}
	.reserve_wrap h2{
		position: relative;
	}
	.reserve_wrap h2::after{
		position: absolute;
		content: "";
		top: 50%;
		width: 100px;
		height: 1px;
		background-color: #000;
		margin-left: 2rem;
	}
	.reserve_btn{
		display: flex;
		justify-content: space-between;
		margin: 100px 0;
		font-weight: bold;
		font-size: 22px;
	}
	.reserve_btn p{
		margin-top: 2rem;
	}
	.reserve_btn a{
		border-radius: 40px;
		padding: 18px 0;
		margin-left: 50px;
		width: 440px;
		height: 80px;
		text-align: center;
		box-sizing: border-box;
		background-color: #000;
		text-decoration: none;
		color: #fff;
		font-size: 28px;
		border: 1px solid #a77b1a;
		transition: all 0.5s 0s ease
	}
	.reserve_btn a img{
		margin-right: 1rem;
	}
	.reserve_btn a:hover{
		background: #797979;
	}

	@media (max-width:768px) {
		.reserve_wrap{
			padding: 4rem 0;
		}
		.reserve_wrap h2{
			position: inherit;
		}
		.reserve_wrap h2 img{
			width: 70%;
			padding-bottom: 1rem;
			border-bottom: 1px solid #000;
		}
		.reserve_wrap h2::after{
			position: absolute;
			width: 0;
			height: 0;
		}
		.reserve_btn{
			margin: 3rem 0 0 0;
			font-weight: bold;
			font-size: 22px;
		}
		.reserve_btn p{
			margin-top: 0;
			font-size: 1rem;
			width: 40%;
		}
		.reserve_btn a{
			border-radius: 3rem;
			padding: 1.5rem 0;
			margin-left: 1.5rem;
			width: 100%;
			height: 5rem;
			font-size: 1.15rem;
		}
		.reserve_btn a img{
			width: 2rem;
			margin-right: 1rem;
		}

	}



	/*--------------------------------------------------------------
		Main - Q&A
	--------------------------------------------------------------*/
	.qa_wrap{
		padding: 150px 0;
	}
	.qa_wrap h2{
		position: relative;
		margin-bottom: 60px;
	}
	.qa_wrap h2::after{
		position: absolute;
		content: "";
		top: 50%;
		width: 100px;
		height: 1px;
		background-color: #a77b1a;
		margin-left: 2rem;
	}
	.qa_wrap ul{
		padding:2rem 4rem;
		box-sizing: border-box;
		margin-bottom: 40px;
	}
	.qa_wrap ul:last-of-type{
		margin-bottom: 0;
	}

	.qa_wrap li{
		display: flex;
	}

	.qa_wrap li:first-of-type{
		font-size: 20px;
		color: #a77b1a;
		font-weight: bold;
		margin-bottom: 1rem;
	}
	.qa_wrap li:first-of-type::before{
		content:url(../images/qa_q.png);
		display: block;
		padding-top: 0.2rem;
		padding-right: 1.5rem;
	}
	.qa_wrap li:last-of-type{
		color: #000;
	}
	.qa_wrap li:last-of-type::before{
		content:url(../images/qa_a.png);
		display: block;
		padding-top: 0.2rem;
		padding-right: 1.5rem;
	}

	@media (max-width:768px) {
		.qa_wrap{
			padding: 4rem 0 6rem;
		}
		.qa_wrap h2{
			position: inherit;
		}
		.qa_wrap h2 img{
			width: 50%;
			padding-bottom: 1rem;
			border-bottom: 1px solid #a77b1a;
		}
		.qa_wrap h2::after{
			position: absolute;
			width: 0;
			height: 0;
		}
		.qa_wrap ul{
			padding: 1.5rem;
			box-sizing: border-box;
			margin-bottom: 40px;
		}

	}



	/*--------------------------------------------------------------
		Main - access
	--------------------------------------------------------------*/
	.access_wrap{
		padding: 150px 0;		
	}
	.access_wrap h2{
		position: relative;
		margin-bottom: 60px;
}
	.access_wrap h2::after{
		position: absolute;
		content: "";
		top: 50%;
		width: 100px;
		height: 1px;
		background-color: #000;
		margin-left: 2rem;
	}
	.access_wrap iframe{
		width: 100%;
		aspect-ratio: 16/9; //アスペクト比（縦横比）を指定
	}

	@media (max-width:768px) {
		.access_wrap{
			padding: 4rem 0;
		}
		.access_wrap h2{
			position: inherit;
			margin-bottom: 2rem;
		}
		.access_wrap h2 img{
			width: 60%;
			padding-bottom: 1rem;
			border-bottom: 1px solid #000;
		}
		.access_wrap h2::after{
			position: absolute;
			width: 0;
			height: 0;
		}
	}

	/*--------------------------------------------------------------
		Main - teams_of_service.html
	--------------------------------------------------------------*/
	main.subpage_service{
		padding: 80px 0 120px;
	}
	.subpage_service h3{
		border-left: 0;
		padding-left: 0;
		font-size: 1.1rem;
		font-weight: bold;
	}
	.subpage_service p{
		font-weight: 100;
		margin-bottom: 1rem;
	}
	.subpage_service a{
		color: #a77b1a;
		font-weight: bold;
	}

	@media (max-width:768px) {
		main.subpage_service{
			padding: 3rem 0 6rem;
		}
		.subpage_service h3{
			font-size: 0.9rem;
		}
		.subpage_service p{
			font-size: 0.8rem;
		}
	}



/*--------------------------------------------------------------
	Footer
--------------------------------------------------------------*/
footer{
	padding: 20px;
}
footer .footer_wrap{
	display: flex;
	justify-content: space-between;
}
.footer_wrap a{
	color: #fff;
	font-weight: bold;
}
.footer_wrap a:first-of-type{
	margin-right: 2rem;
}
.footer_wrap p{
	font-weight: bold;
}

@media (max-width:768px) {
	footer{
		padding: 1rem;
	}
	.footer_wrap a:first-of-type{
		margin-right: 1rem;
	}
	.footer_wrap div:last-of-type{
		width: 30vw;
	}
}

/*--------------------------------------------------------------
	Footer - teams_of_service.html
--------------------------------------------------------------*/
footer.subpage_footer{
}
.subpage_footer .footer_wrap a{
	color: #000;
}

