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

/* ---------------------------
contents
------------------------------ */
article {
  /*fadein*/
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  -webkit-text-size-adjust: 100%;
}
#contents a {
  font-weight: normal !important;
　text-decoration: none;
}

article {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-style: normal;
  font-size: 16px;
  line-height: 2;
  color: #333333;
}

article img {
	max-width: 100%;
	height: auto;
}
#gFooter {
	margin-top: 0;
}


#wrapper{
	margin-bottom: 0;
	padding-bottom: 0;
}

article h2{
	margin-bottom: 40px;
	font-size: clamp(1.786rem, 2vw + 2.8rem, 4.5rem);
	text-align: center;
	font-family: mina,serif;
	font-weight: 400;
	font-style: normal;
}

article p{
	margin-bottom: 40px;
}
article a{
	text-decoration: none;
}
.contents{
	max-width: 960px;
	margin: 0 auto;
}

.none-pc {
		display: none!important;
	}	
@media screen and (max-width:768px){
	.none-d-lg {
		display: none;
	}
	.none-pc {
		display: block;
	}
}

/* ---------------------------
アニメーション
------------------------------ */

.fadein {
  opacity: 0;
  transform : translate(0, 5%);
  transition : all 1500ms;
}

.fadein.scrollin{
  opacity: 1;
  transform: translate(0, 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);
  }
}


.fadeDown{
animation-name:fadeDownAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}
/*---------------------------
top
------------------------------ */

#top {
	max-width: 960px;
  margin: 0 auto;
}

#top h1 img {
  width: 100%;
  height: auto;
}
/*スマホ表示*/
@media screen and (max-width: 768px) {
  #top h1 img {
    height: 100vh;
    width: 100%;
    min-height: 100%;
  }
}


/* ---------------------------
about
------------------------------ */
#about{
	max-width: 700px;
	margin: 5vw auto 15vw;
}

@media screen and (max-width:768px){
	#about{
		width: 80%;
		margin-top: 25vw;
	}
	#about h2::before{
		top: 140%;
	}
}

/* ---------------------------
area
------------------------------ */
#area {
	margin: 0 auto;
	padding-bottom: 15vw;
	text-align: center;
	background-color: #FFFFFF;
}
#area p {
	text-align: start;
}
#area .contents{
	max-width: 700px;
	padding-bottom: 50px;
}


@media screen and (max-width:768px){
	#area {
		width: 100%;
	}
	#area p {
		margin: 0 auto;
		width: 80%;
	}
}


/* ---------------------------
plan
------------------------------ */

#plan {
	width: 100%;
	margin: 0 auto 15vw;
}
#plan p {
	max-width: 700px;
	margin: 0 auto 40px;
}
#plan .img{
	text-align: center;
}

@media screen and (max-width:768px){
	#plan .img{
		width: 95%;
		margin: 0 auto;
	}
	#plan p {
		width: 80%;
	}
}
/* ---------------------------
photos
------------------------------ */
#photos {
	width: 100%;
	margin: 0 auto;
	padding-bottom: 15vw;
	background-color: #FFFFFF;
}
#photos div{
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
}

.fancybox_area {
    column-count: 4;
    column-gap: 10px;
}
.fancybox_area li a{
	transition: all .5s ease;
}
.fancybox_area img{
	 width: 100% !important;
  height: auto !important;
}
@media screen and (max-width:768px){
	#photos div{
		width: 95%;
	}
	.fancybox_area {
		column-count: 3;
	}
	#photos div {
		text-align: left;
	}
	#photos div p {
		margin: 0 auto 2em;
		width: 80%;
	}
}





/* ---------------------------
tour
------------------------------ */

#tour {
	padding-bottom: 150px;
}
#tour p{
	max-width: 700px;
	margin: 0 auto 20px;
}
.nodal{
	max-width: 960px;
	margin: 0 auto ;
	 height: 500px;
}
.nodal iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width:768px){
	#tour {
		padding-bottom: 200px;
	}
	.nodal {
		width: 95%;
	}
	#tour p{
		width: 80%;
	}
}
/* ---------------------------
details
------------------------------ */
#wrap_details {
	width: 100%;
	margin: 15vw auto 10vw;
	background-color: #FFFFFF;
}
#wrap_details h2{
	margin-bottom: 30px;
}
#wrap_details table {
	max-width: 700px;
	box-sizing: border-box;
	border-collapse: collapse;
	margin: 0 auto;
	padding-top: 25px;
	font-size: 1.6rem;
}
#wrap_details table th, #wrap_details table td {
	border-block-end: 1px solid #333;
	padding-inline-start: 8px;
	margin-block-start: 5px;
	vertical-align: middle;
	font-style: normal;
	height: 2.8em;
	text-align: left;
}
#wrap_details table th {
	width: 20%;
	white-space: nowrap;
}
@media (max-width:768px) {
	#wrap_details table { 
		width: 95%;
	}
	#wrap_details table th, #wrap_details table td {
		display: block;
		height: auto;
		border-block-end: 0px;
	}
	#wrap_details table th {
		width: 100%;
		background-color: #33333312;
	}
}


/* ---------------------------
form box
------------------------------ */


#form_box {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 10vw;
	text-align: center;
}
#form_box a{
  background: #fff;
	border: 2px solid #333;
  width: 200px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  transition: .3s;
	color: #333;
}

#form_box a:hover {
	background:transparent;
	transform:scale(1.1);
	color: #fff;
	background-color: #333;
}

#form_box a .material-icons{
	padding-right: .4em;
	position: relative;
	top: 5px;
	font-size: 130%;
}



/* ---------------------------
.Google Map
------------------------------ */

#gmap {
  position: relative;
  width: 100%;
  height: 600px;
  margin: 0 auto;
}
#gmap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
/* ---------------------------
.toform
------------------------------ */
#toform {
    height: 90px;
    width: 90px;
    position: fixed;
    bottom: 3%;
    right: 1.5%;
    z-index: 99;
	line-height: 90px;
    background: transparent;
	border: 2px solid #333;
    border-radius: 50%;
	transition:all 0.3s;
	opacity: 0;
}
#toform:hover {
	background: #333;
}
#toform a{
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
    position: absolute;
    top: 22%;
    left: 22%;
}
#toform span {
	align-self: center;
	color: #333;
	font-size: 50px;
}
#toform:hover span {
	color: #fff;
}

.bl_backToTop{
	z-index: 98;
}

#toform.UpMove{
  animation: UpAnime 0.5s forwards;
}


@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

#toform.DownMove{
  animation: DownAnime 1s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(200px);
  }
}

@media screen and (max-width:768px){
	#toform {
		height: 70px;
    	width: 70px;
	}
	#toform span {
		font-size: 40px;
	}
}


