body,
html {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}



.slider {
	position: relative;
	width: 300%;
	display: flex;
	transition: transform 0.5s ease-in-out;
}
.slide {
	width: 100vw;
	height: 100vh;
	position: relative;
	flex-shrink: 0;
}

.slide:nth-child(1) {
  background: url("../img/mainv.jpg") no-repeat center center/cover;
}
/*
.slide:nth-child(1) {
  background: url("../img/slider01.jpg") no-repeat center center/cover;
}
.slide:nth-child(2) {
  background: url("../img/slider2.avif") no-repeat center center/cover;
}
.slide:nth-child(3) {
  background: url("../img/slider3.avif") no-repeat center center/cover;
}
.slide:nth-child(4) {
  background: url("../img/slider1.avif") no-repeat center center/cover;
}
*/

.slide-content {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width:90%;
	margin:0 auto;
}


#mainv{
	padding:0;
	width: 100vw;
	height: 100vh;
	position: relative;
	background: url("../img/mainv.jpg") no-repeat center center / cover;

	display: flex;
	justify-content: center;
	align-items: center;
}
#mainv:before{
	content:"";
	width: 100%;
	height:100%;
	position: absolute;
	background:rgba(255,255,255,.6);
	z-index: 1;
}
#mainv div{
	z-index: 2;
	text-align: center;
	max-width: 85%;
}
#mainv div img{
	display: block;
	width: 100%;
}
#mainv div p{
	font-weight: bold;
	font-size: 2.0em;
	padding:0;
}
#mainv a{
	position: absolute;
	width: 90%;
	max-width: 700px;
	bottom:5%;
	left:0;
	right:0;
	margin:0 auto;
	z-index: 2;
}
@media screen and (max-width: 1024px) {
	#mainv div p{
		font-size: 1.8em;
	}
}
@media screen and (max-width: 768px) {
	#mainv div p{
		font-size: 1.5em;
	}
}
@media screen and (max-width: 640px) {
	#mainv div p{
		font-size: 1.3em;
	}
}
@media screen and (max-width: 480px) {
	#mainv div p{
		font-size: 1.1em;
	}
}




.section {
	background-size: cover;
	background-position: center;
	position: relative;
}
.section-content {
	max-width: 988px;
	margin: 0 auto;
	padding:1em;
}

a {
	text-decoration: none;
	cursor: default;
	display: block;
	margin:3em auto;
	max-width: 700px;
	cursor: pointer;
}
a:hover{
	opacity: .8;
}
button {
	display: block;
	width:100%;
	color: #fff;
	font-weight: bold;
	font-size: large;
	background-color: #333;
	border:0;
	padding: 1em;
	text-align: center;
}
.gallery button {
	background-color: #ac9781;
}




h1 {
  margin-left: 1.5rem;
}
h2 {
	font-size: 1.8rem;
	text-align: center;
	position: relative;
	line-height: 2.5em;
	margin:0 0 2em 0;
}
h2:after{
	content: "";
	position: absolute;
	width:2em;
	height:3px;
	background: #000;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;
}
.flex-content {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	
}

.what p{
	font-size: 1.1em;
}

.what .block {
	width: calc( (100% / 3) - 1em );
	margin:.5em;
	z-index: 2;
	padding: 1.5em 1em;
	background-color: #eee7dc;
	box-sizing: border-box;
}
@media screen and (max-width: 768px) {
	.what .block {
		width: 100%;
	}
}

.what .block h3 {
	text-align: center;
	font-size: 1.2em;
	margin:0 auto;
	line-height: 1.5em;
}
.what .block img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	/*border-radius: 50%;*/
	margin-bottom: 1rem;
	margin: 0 auto 1rem;
	display: block;
}
.what .block p {
	margin:0 auto;
}








.fade-up {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.flow {
	/** background-color: #e5e0df;**/
	background-color: #fff;
	/*padding-top: 6rem;*/
	/*padding-bottom: 3rem;*/
}
.flow-wrap {
	background-color: white;
	padding: 1rem 2rem 0;
	border-radius: 10px;
	justify-content: space-around;
	/*margin-bottom: 6rem;*/
}
@media (max-width: 1024px) {
	/*
	.flow-wrap {
		margin-left: 2rem;
		margin-right: 2rem;
	}
	*/
}
.flow h3 {
	color: #ac9781;
	font-size: 1.8rem;
	margin: 0 0 .5em 0;
}
.flow p {
	color: black;
	font-size: 1.1rem;
	margin: 0;
}
.flow .block {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 2;
	margin: 0;
	box-sizing: border-box;
	padding-bottom: 3em;
	border: 1px solid #ac9781;
	border-radius: 1em;
	margin:.5em 0;
	padding:1em;
}

.flow .block img {
	width: 30%;
	max-width: 150px;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0 auto;
	display: block;
}

.flow .flex-content {
	flex-wrap: wrap;
}


/**section4**/
.price {
	/*padding-top: 6rem;*/
	/*padding-bottom: 3rem;*/
}

.img-center {
	margin: 0 auto;
	text-align: center;
}
.img-center img {
	width: 100%;
	height: auto;
}
.text-box {
	text-align: center;
	padding-top:2em;
}
.text-box div {
	display: inline-block;
	width: auto;
}
.text-box div p{
	text-align: left;
}

@media (max-width: 768px) {
	.img-center img {
		width: 100%;
	}
}

.price h3{
	padding:.5em 1em;
	font-weight: normal;
	background: #999;
	color:#fff;
	box-sizing: border-box;
	margin:2em auto 0 auto;
}
.price .price_tbl{
	display: table;
	width:100%;
	border-collapse: collapse;
	table-layout: fixed;
	margin:0 auto;
}
.price .price_tbl dl{
	display: table-row;
}
.price .price_tbl dt{
	display: table-cell;
	border: 1px solid #000;
	border-width: 1px 0;
	padding:1em;
	background: #eee;
	vertical-align: middle;
}
.price .price_tbl dd{
	display: table-cell;
	border: 1px solid #000;
	border-width: 1px 0;
	padding:1em;
	vertical-align: middle;
}


.gallery,
.notes {
	/** background-color: #f9f7f7;**/
	background-color: #fff;
}
.gallery button {
	background-color: #ac9781;
}
@media (max-width: 768px) {
	.gallery button {
		width: 100%;
	}
}


.access {
	background-color: white;
}
.access iframe{
	display: block;
	width:100%;
}
.access table{
	width:100%;
	padding-bottom: 5em;
	border-collapse: collapse;
}
.access table th{
	text-align: left;
	padding:.6em 1em;
	border: 1px dashed #999;
	border-width: 1px 0;
	white-space: nowrap;
}
.access table td{
	padding:.6em 1em;
	border: 1px dashed #999;
	border-width: 1px 0;
}

.access h2 {
	margin-left: 0;
}
.access .text-box {
	padding:0;
}

.access .text-box ul {
	display: inline-block;
	padding:0;
}
.access .text-box li {
	list-style-type:none;
	text-align: left;
	padding:.8em 0 0 1em;
	position: relative;

}
.access .text-box li:before{
	content:"■ ";
	margin-left: -1em;
}




footer{
	background:#333;
	color:#fff;
	margin:10em 0 0 0;
}
footer img{
	width:35%;
	max-width: 250px;
	display: block;
	padding:5em 0;
	margin:0 auto;
}
footer p{
	text-align: center;
	margin:0;
	font-size: .8rem;
	padding:.5em 0;
}
